var hexa = "0123456789ABCDEF";


//Conversion Decimal --> Hexadecimal
function decToHex(nb)
{
return hexa.charAt(Math.floor(nb/16)) + hexa.charAt(nb%16);
}

//Conversion Hexadécimal --> Decimal
function HexToDec(nb)
{
y=hexa.indexOf(nb.charAt(0))*16;
z=hexa.indexOf(nb.charAt(1));
return(y+z);
}



//----------------------------------------------------
//INIT
//----------------------------------------------------
pauseTime=2000

ampleur = new Array();
couleurFond = new Array();
couleurFond2 = new Array();
couleurFondSav = new Array();

couleurFond=[255,255,255]
couleurFond2=[255,255,255,10]

couleurFondSav=[255,255,255]


preset = new Array();
preset[0]=['FF','FF','FF','10']
preset[1]=['F4','DF','F3','10']
preset[2]=['E2','D2','E1','10']
preset[3]=['F8','EF','B4','10']
preset[4]=['FD','C1','E1','10']
preset[5]=['F7','CF','E5','10']
preset[6]=['E9','D2','E8','10']
preset[7]=['ED','A5','E9','10']
preset[8]=['FD','E1','FB','10']
preset[9]=['FD','E1','FB','10']
preset[10]=['FB','EA','FA','10']
preset[11]=['E9','F3','C6','10']
preset[12]=['EE','E8','A0','10']
preset[13]=['FA','DD','A0','10']
preset[14]=['F5','DC','B2','10']
preset[15]=['FF','EF','B0','10']
preset[16]=['DA','D9','D9','10']
preset[16]=['FF','FF','FF','10']
preset[17]=['FF','FF','FF','10']
preset[18]=['FF','FF','FF','10']
preset[19]=['FF','FF','FF','10']
preset[20]=['FF','FF','FF','10']
preset[21]=['FF','FF','FF','10']
preset[22]=['FF','FF','FF','10']
preset[23]=['FF','FF','FF','10']
preset[24]=['FF','FF','FF','10']
preset[25]=['FF','FF','FF','10']
preset[26]=['F9','EA','F8','10']
preset[27]=['EF','E7','FF','10']
preset[28]=['FF','D1','FC','10']
preset[29]=['FB','FA','DB','10']


presetAct=0

//----------------------------------------------------
//LANCEUR
//----------------------------------------------------



function newColor()
{
//alert()
//clearTimeout();
for(j=0;j<4;j++) couleurFondSav[j]=couleurFond[j]

rando = Math.floor(eval(Math.random() * preset.length))


rando2 = Math.floor(eval(Math.random() * 100))
rando2 = rando2+50

if(rando != presetAct) presetAct = rando
else presetAct = 1
//presetAct = rando

couleurFond2[0]=HexToDec(''+preset[presetAct][0])
couleurFond2[1]=HexToDec(''+preset[presetAct][1])
couleurFond2[2]=HexToDec(''+preset[presetAct][2])
//couleurFond2[3]=preset[presetAct][3]

couleurFond2[3]=rando2


//boucle()
}

//----------------------------------------------------
//BOUCLE
//----------------------------------------------------



function boucle()
{


//alert("changeColor");

changeColor();
setTimeout('boucle()',1000)
}

//----------------------------------------------------
//ECLAIRCIS/ASSOMBRIR LE FOND
//----------------------------------------------------

function changeColor()
{
finit=0;
passage=0;
nbrCycles=couleurFond2[3];
//PASSAGE EN REVUE DES 3 COULEURS
for(i=0;i<4;i++)
	{
	if(couleurFond2[i]>couleurFondSav[i])
		{
		//UP
		passage=1;
		ampleur[i]=Math.floor(couleurFond2[i]-couleurFondSav[i])/nbrCycles;
		if ((couleurFond[i]+ampleur[i])<couleurFond2[i])
			{

			if(couleurFond[i]+ampleur[i]<255) couleurFond[i] = couleurFond[i]+ampleur[i];
			else couleurFond[i] = 255;

			} else finit++;
		}
		else
		{
		//DOWN
		passage=1;
		ampleur[i]=Math.floor(couleurFondSav[i]-couleurFond2[i])/nbrCycles;
		if ((couleurFond[i]-ampleur[i])>couleurFond2[i])
			{
			if(couleurFond[i]+ampleur[i]>0) couleurFond[i] = couleurFond[i]-ampleur[i];
			else couleurFond[i]=0;

			} else finit++;
		//if(passage==0) finit++;
		}

	}

//COMMUN

finalColor = "#"+decToHex(couleurFond[0])+decToHex(couleurFond[1])+decToHex(couleurFond[2]);
document.body.style.backgroundColor = finalColor;
parent.frames[0].document.body.style.backgroundColor = finalColor;
//alert(finalColor);
//parent.frames[0].document.body.style.backgroundColor="#"+decToHex(couleurFond[0])+decToHex(couleurFond[1])+decToHex(couleurFond[2])
//parent.frames[0].document.body.style.backgroundColor=finalColor;


if(finit>=3) {
				//alert()
				//clearTimeout();
				//setTimeout('newColor()',3000)
				newColor()

			 }
}

//----------------------------------------------------

//----------------------IMAGES:

vitesse=15000

function afficherImages(preset)
{
for(iA=0;iA<presetImg[preset].length;iA++)
	{
	changeStyle(presetImg[preset][iA],1)
	}
}


function effacerImages(preset)
{
for(iB=0;iB<presetImg[preset].length;iB++)
	{
	changeStyle(presetImg[preset][iB],0)
	}
}


function goImages()
{
timeStart=0
for(j=0;j<presetImg.length;j++)
	{
	timeStart=timeStart+vitesse
	chn='setTimeout("afficherImages('+j+')",'+timeStart+')'
	eval(chn)
	}

delayStop = presetImg.length*vitesse+3000

//setTimeout('stopImages()',delayStop )

}


function stopImages()
{

for(k=0;k<presetImg.length;k++)
	{
	timeStart2=0

	timeStart2=timeStart2+vitesse
	chn='setTimeout("effacerImages('+k+')",'+timeStart2+')'
	eval(chn)
	}

delayStop = presetImg.length*vitesse+3000

setTimeout('goImages()',delayStop )

}


setTimeout('goImages()',1000)


