// JavaScript Document
/********************************************
	developed by : reginui
	date : 14 April 10 4:40 pm.
	update: 27 Oct 09 11:50 pm.
	description :
		load all banner from shop and display in rotator banner
********************************************/

function banner(obj,xml_file){
	var XML = this;
	var timer = 5; //default
	
	/*----------------------------------*/
	this.loadXML = function(cat,isText){
		var url = xml_file;
		
		$(obj).empty().text('loading...');
		$.ajax({
		  type: "GET",
		  url: url,
		  dataType: "xml",
		  success: function(data){
			XML.displayContent(data);
		  },
		  error: function(){
		  	$(obj).empty().append('<div class="error">load data fail: please try again</div>');
		  }

		});

	}
	
	/*----------------------------------*/
	this.displayContent = function(data){
		$(obj).empty();

		//random item
		/*
		var rand_no = Math.random();
		rand_no = rand_no * ($(data).find('item').length);
		rand_no = Math.floor(rand_no);

		var max_item = 4;
		var item_count = 0;

		begin = 0;
		$(data).find('item').each(function(begin){
			if(begin >= rand_no){
				var row = $('<div class="banner-row"></div>');
				$(row).append(XML.createItem(this,false));
				$(obj).append(row);
				begin++;
				item_count++;
			}
		});

		if(item_count < max_item){
			$(data).find('item').each(function(begin){
				if(item_count < max_item){
					var row = $('<div class="banner-row"></div>');
					$(row).append(XML.createItem(this,false));
					$(obj).append(row);
					item_count++;
				}
			});
		}
		*/
		
		$(data).find('item').each(function(){
			var row = $('<div class="banner-row"></div>');
			$(row).append(XML.createItem(this,false));
			$(obj).append(row);
		});
		XML.rotate();
	}
	
	/*----------------------------------*/
	this.createItem = function(data, isLast){
		var item = $('<div class="item"></div>');
		if(isLast) item = $('<div class="item last"></div>');
		
		var img = $('<div class="image"></div>').append(
					$('<a href="' + $(data).find('link').text() + '" target="_blank" title="' + $(data).find('title').text() + '"></a>').append($('<img src="' + $(data).find('description').text() + '"/>'))
		);
		$(item).append(img);
		
		return item;
	}
	
	/*----------------------------------*/
	this.rotate = function(){
		$(obj).cycle({
			fx: 'scrollUp',
			timeout: timer * 1000,
			delay: -2000,
			random: 1,
		})
		.mouseover(function(){
			$(this).cycle('pause');
		})
		.mouseout(function(){
			$(this).cycle('resume');
		});
	}
	
}

/* 
	getUrlVars()
	code from http://jquery-howto.blogspot.com/2009/09/get-url-parameters-values-with-jquery.html
*/
function getUrlVars(name)
{
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars[name];
}


