//-----------------
var chrono=
	[
		//[offset, objets ciblés par querySelectorAll, class modifiées, add/del ajout ou suppression de la classe]
		//balayage horizontale
		[1,'.e01','on','+'],
		[2,'.e01','on','-'],
		[3,'.e02','on','+'],
		[4,'.e02','on','-'],
		[5,'.e03','on','+'],
		[6,'.e03','on','-'],
		[7,'.e04','on','+'],
		[8,'.e04','on','-'],
		[9,'.e05','on','+'],
		[10,'.e05','on','-'],
		[11,'.e06','on','+'],
		[12,'.e06','on','-'],
		[13,'.e07','on','+'],
		[14,'.e07','on','-'],
		[15,'.e08','on','+'],
		[16,'.e08','on','-'],
		[17,'.e09','on','+'],
		[18,'.e09','on','-'],
		[19,'.e10','on','+'],
		[20,'.e10','on','-'],
		[21,'.e11','on','+'],
		[22,'.e11','on','-'],
		//balayage verticale
		[25,'.e12','on','+'],
		[26,'.e12','on','-'],
		[27,'.e13','on','+'],
		[28,'.e13','on','-'],
		[29,'.e14','on','+'],
		[30,'.e14','on','-'],
		[31,'.e15','on','+'],
		[32,'.e15','on','-'],
		[33,'.e16','on','+'],
		[34,'.e16','on','-'],
		[35,'.e17','on','+'],
		[36,'.e17','on','-'],
		[37,'.e18','on','+'],
		[38,'.e18','on','-'],
		[39,'.e19','on','+'],
		[40,'.e19','on','-'],
		[41,'.e20','on','+'],
		[42,'.e20','on','-'],
		[43,'.e21','on','+'],
		[44,'.e21','on','-'],
		//montée
		[50,'.barre','long','+'],
		//message et fin
		[70,'#message','on','+'],
		[73,'#credits','on','+'],
		[74,'#rejouer','on','+']
	];
var i;
var step;
	
//-----------------
function $(id) {return document.getElementById(id);}
//-----------------
function db(m){console.debug(m);}
//-----------------
function removeClass(o,c) { //supprime la classe c de l'objet o
	var rep=o.className.match(' '+c)?' '+c:c; // condition ? ifTrue : ifFalse
	o.className=o.className.replace(rep,'');
}
//-----------------
function action()
{
	//modification des objets
	if(i==chrono[step][0])
	{
		var cible=document.querySelectorAll(chrono[step][1]);
		if(cible.length>0)
		{
			for (var j=0;j<cible.length;j++)
			{
				if(chrono[step][3]=='+')
				{	
					cible[j].className+=' '+chrono[step][2];
				}
				else if(chrono[step][3]=='-')
				{
					removeClass(cible[j],chrono[step][2])
				}
			}
		}
		
		//on prépare le pas suivant
		step++
		
		//dernière action ?
		if(step==chrono.length)
		{
			window.clearInterval(seq);
		}
	}
	else if(chrono[step][0]<i)
	{
		window.clearInterval(seq);
	}
	
	//incrémentation
	i++
}
//-----------------
function init(){
	i=0;
	if(chrono.length>0){step=0;}
	seq=window.setInterval(action,300);
}

window.onload=init;

