function LoadBanners(token){
	jQuery.ajax({		
		type: "POST",
		url: "system/ajaxcontroller/ajax_request.php",
		data: "ajax=1&controller=get_banner&module=home_featurebox&security_token=" + token,
		success: function(result){
			var banners = result.split(';');
			var banner_array = new Array();
			jQuery.each(banners,function(){
				var banner_data = this.split("|");
				banner_array.push(banner_data);
			});
			
			if(banner_array.length > 1)
				StartRotation(banner_array,token);
		}
	});	
}

function BannerPreload(banners){
	jQuery.each(banners,function(){
		jQuery('<img />').attr('src', this[0]).load(function(){
			jQuery('#banner_preload').append( jQuery(this) );
		});
	});
}

function StartRotation(banners,token){
	BannerPreload(banners);
	BannerPE(banners);
}

var feature_handler = false;

function BannerPE(banners){
	new PeriodicalExecuter(function(featurePE){
		Rotate(banners);			
		feature_handler = featurePE;
	},5);
}

function Rotate(banners){
	jQuery('#home_featurebox').fadeOut();
	jQuery('#home_featurebox').queue(function(){
		SelectNextBanner(banners);
		jQuery(this).dequeue();
	});	
	
	jQuery('#home_featurebox').queue(function(){
		jQuery('#home_featurebox').fadeIn();
		jQuery(this).dequeue();
	});	
		
}

function SelectNextBanner(banners){
	var last_image = jQuery('#home_feature_picture').attr('src');
	var x = 0;
	var last_image_key;
	var next_image;
	var num_images = banners.length;	
	
	jQuery.each(banners,function(){
		if(this[0] == last_image){
			last_image_key = x;			
		}
		x++;		
	});
	
	if(last_image_key == (num_images - 1)){
		next_image = 0;
	}
	else{
		next_image = last_image_key + 1;
	}
	
	jQuery('#home_feature_picture').attr('src',banners[next_image][0]);
	jQuery('#home_feature_link').attr('href',banners[next_image][1]);
}
