// JavaScript Document
var banners = new Object();


/*status values 
 * -1: the first call
 * 1: fade out  current should be done
 * 2: fade out done and we should do the fade in
 * 3: fade  in done we should do the next step which is 1

*/

function defineBanner(name,time,bannerHolder,bannerItems) {
	var banner = new Object();
	banners[name] = banner;
	banner.name = name;
	banner.time = time;
	banner.bannerHolder = bannerHolder;
	banner.bannerItems= bannerItems;
	banner.started = false;
	//-1 means the first time call
	banner.status = -1;
}

function show(name) {
	var banner = banners[name];
	
	if(banner.status==-1) {
		//the first call
		window.setTimeout( function() {banner.status=1;show(name)},banner.time);
	}
	else if(banner.status==1) {
		//this should be fade out 
		new Rico.Effect.FadeTo(banner.bannerHolder.id,0,1000,10,{complete:function() {banner.status=2;show(name) } });	
	}
	else if(banner.status==2) {
		banner.current = (banner.current+1)%banner.bannerItems.length;	
		var bannerItem = banner.bannerItems[banner.current];
		banner.bannerHolder.innerHTML = bannerItem.innerHTML;	
		new Rico.Effect.FadeTo(banner.bannerHolder.id,1,1000,10,{complete:function() {banner.status=3;show(name) } });	
	}
	else if(banner.status==3) {
		window.setTimeout( function() {banner.status=1;show(name)},banner.time);
	}
}

function startBanner(name) {
	var banner = banners[name];
	if(banner.started==true)
		return ;
	banner.started = true;
	banner.current=0;
	banner.bannerHolder.innerHTML = banner.bannerItems[0].innerHTML;
	show(name);
}