var miniPromos1			= new Object();
var miniPromos2			= new Object();
var miniPromos;
var miniPromoSwitch		= 0;

var arraySwitch			= false;

function init(miniPromosFiles1, miniPromoFiles2)
{
	initMiniPromosObjects(miniPromosFiles1, miniPromoFiles2);
}

function initMiniPromosObjects(miniPromosFiles1, miniPromoFiles2)
{
	miniPromos1.files		= miniPromosFiles1;
	miniPromos1.directory	= 'miniPromos1/';
	miniPromos1.div			= 'miniPromos1Div';
	miniPromos1.iterator	= 0;
	miniPromos1.current		= createMiniPromo(miniPromos1, miniPromos1.iterator);
	
	miniPromos2.files	= miniPromoFiles2;
	miniPromos2.directory	= 'miniPromos2/';
	miniPromos2.div			= 'miniPromos2Div';
	miniPromos2.iterator	= 0;
	miniPromos2.current		= createMiniPromo(miniPromos2, miniPromos2.iterator);
	
	miniPromos			= new Array(miniPromos1, miniPromos2);
	
	switch(arraySwitch)
	{
		case true:
			flipMiniPromosArray();
			flipMiniPromosArray.periodical(19000);	
		break;
		
		default :
			flipMiniPromosSlow.periodical(8000);
	}
	
}

function createMiniPromo(miniPromo, iterator)
{
	var file	= miniPromo.files[iterator];
	var promo	= miniPromoImageElement(miniPromo.directory+file);
	
	var div		= document.getElementById(miniPromo.div);
		div.appendChild(promo);
		var myFx = new Fx.Tween(promo, {property:'opacity', duration:1000});
		if(arraySwitch)
		{
			myFx.addEvents({ 'complete':function() { arrayFlipNextHandler(); } });
		}
		myFx.start('0', '1');		
		
	return promo;
}

function arrayFlipNextHandler()
{
	miniPromoSwitch		= flipIterator(miniPromos, miniPromoSwitch);
	
	if(miniPromoSwitch>0)
	{
		flipMiniPromosArray();
	}
}

function flipMiniPromosArray()
{
	var length				= miniPromos.length;
	var miniPromo			= miniPromos[miniPromoSwitch];
	if(miniPromo.length > 1)
	{
		removeMiniPromo(miniPromo);
		createMiniPromo(miniPromo, miniPromo.iterator);
		miniPromo.iterator	= flipIterator(miniPromo.files, miniPromo.iterator);
	} else
	{
		miniPromo			= miniPromos[miniPromoSwitch];
		if(miniPromo.length > 1)
		{
			removeMiniPromo(miniPromo);
			createMiniPromo(miniPromo, miniPromo.iterator);
			miniPromo.iterator	= flipIterator(miniPromo.files, miniPromo.iterator);
		}
	}


}

function flipMiniPromosSlow()
{
	var length				= miniPromos.length;
	var miniPromo			= miniPromos[miniPromoSwitch];
	if(miniPromo.length > 1)
	{
		removeMiniPromo(miniPromo);
		miniPromo.iterator	= flipIterator(miniPromo.files, miniPromo.iterator);
		createMiniPromo(miniPromo, miniPromo.iterator);
		miniPromoSwitch		= flipIterator(miniPromos, miniPromoSwitch);
	} else
	{
		miniPromoSwitch		= flipIterator(miniPromos, miniPromoSwitch);	
		miniPromo			= miniPromos[miniPromoSwitch];
		if(miniPromo.length > 1)
		{
			removeMiniPromo(miniPromo);
			miniPromo.iterator	= flipIterator(miniPromo.files, miniPromo.iterator);
			createMiniPromo(miniPromo, miniPromo.iterator);
		}
	}
}

function removeMiniPromo(miniPromo)
{
	var div		= document.getElementById(miniPromo.div);
	if(div.hasChildNodes()) 
	{	
		var myFx = new Fx.Tween(div.firstChild, {property:'opacity', duration:900});
			myFx.addEvents({
				'complete': function()
				{
					div.removeChild(div.firstChild);
				}
			});
			myFx.start('1', '0');
	}
}

function flipIterator(arr, iterator)
{
	if(iterator>=arr.length-1)
	{
		iterator = 0;
	} else
	{
		iterator++;
	}
	return iterator;
}

function miniPromoImageElement(filename)
{
	var img	= document.createElement('img');
		img.setAttribute('src', 'splash/images/'+filename);
		img.className = 'miniPromoImg';
		img.style.position	= 'absolute';
		img.style.opacity	= '0';
		return img;
}