var g_idDelay = -1;
var g_nIndex = 0;
var g_arrBanners = [];
var g_arrNewBanners = [];

function StopAnimation()
{
	if(-1 != g_idDelay)
	{
		window.clearTimeout(g_idDelay);
	}
}

function ResetBanners(arr){

	g_arrNewBanners = arr;

	StopAnimation.defer();
	LoadNewBanner.defer(false);
}
	
function LoadBanners(arr){
	g_nIndex = 0;
	g_arrBanners = arr;

	// pré-charger l'ensemble des images

	img = new Image();

	g_arrBanners.each(function(banner){
		img.src = banner.picPath;
	});

	LoadBanner();
}

function LoadBanner(){
	g_idDelay = HideBanner.delay(10);	
}

function HideBanner(){
	new Effect.Parallel([
		new Effect.Opacity('sx-banner-img', { sync: true, from: 1.0, to: 0}),
		new Effect.Opacity($('sx-slogan').down('h1'), { sync: true, from: 1.0, to: 0}),
		new Effect.Opacity($('sx-slogan').down('p'), { sync: true, from: 1.0, to: 0}),
		new Effect.Opacity($('sx-slogan').down('a'), { sync: true, from: 1.0, to: 0})
   ], { duration: 0.5 });

   g_idDelay = LoadNewBanner.delay(0.5, true);
}

function LoadNewBanner(playAnimation){

	if(0 < g_arrNewBanners.size())
	{
		g_arrBanners = g_arrNewBanners;
		g_arrNewBanners = [];

		g_nIndex = 0;
	}
	else
	{
		g_nIndex++;
	}

	if(g_arrBanners.size() <= g_nIndex)
	{
		g_nIndex = 0;
	}

	SetAttributes();

	if(playAnimation)
	{
		ShowPicture();
		g_idDelay = ShowTitle.delay(0.5);
		g_idDelay =	ShowText.delay(0.75);
		g_idDelay = ShowLink.delay(1.25);
	}

	g_idDelay = HideBanner.delay(15);
}

function SetAttributes(){
	$('sx-banner-img').src = g_arrBanners[g_nIndex].picPath;
	$('sx-slogan').down('h1').update(g_arrBanners[g_nIndex].title);
	$('sx-slogan').down('p').update(g_arrBanners[g_nIndex].text);
	$('sx-slogan').down('a').href = g_arrBanners[g_nIndex].url;
}

function ShowPicture(){
	new Effect.Opacity('sx-banner-img', { duration: 0.5, from: 0, to: 1.0 });
}

function ShowTitle(){
	new Effect.Opacity($('sx-slogan').down('h1'), { duration: 0.25, from: 0, to: 1.0 });
}

function ShowText(){
	new Effect.Opacity($('sx-slogan').down('p'), { duration: 0.5, from: 0, to: 1.0 });
}

function ShowLink(){
	new Effect.Opacity($('sx-slogan').down('a'), { duration: 0.25, from: 0, to: 1.0 });
}
