/******************************************
# Auteur : Julien Theler - www.twiip.ch
# Contact : julien.theler@twiip.ch
# Licence : CC-by-nc
******************************************/

var over= [0,0,0,0,0,0,0,0,0]; //9 sous menu il est possible d'agrandir il suffit de changer ces variables dans le javascript de rajouter des classe sousmenu dans le css et d'implémenter les sous menu dans le html
var block= [0,0,0,0,0,0,0,0,0];


function deroulementOn(id, elementheight){
	//alert("Je déroule !");

	var reg=new RegExp("(smenu)", "g");
	var parseid= id.replace(reg,'');
	
	
	if(block[parseid]==1){
		//alert("GTbloké ..")
		block[parseid]=0;
		if (timeout){clearTimeout(timeout)}
	}

	
	if(over[parseid]==0){
		//alert("C parti on déroule !")
		var div = document.getElementById(id);

		div.style.display = 'block';
		div.style.height = '';
		var height = div.offsetHeight;
		div.style.height = '0px';
		//On lance l'ouverture du paragraphe
		
		over[parseid]=1;
		deroulementLoop(id, height);
	}
	else {
	over[parseid]=0;
	}
	

}

function AnnuleCache(id)
{ 


over[id]=1;
block[id]=1;

if (timeout){clearTimeout(timeout)}

} 

function CacheDelai1(id)
{ 
	
	for(x=1;x<=9;x++){ //adapté pour 9 sous menu peut changer
	over[x]=0;
	block[x]=0;
	
	}
	timeout=setTimeout("for(i=1;i<=3;i++){deroulementOff('smenu"+id+"')}",100);
	

}

function CacheDelai2(id)
{ 
	
	timeout=setTimeout("for(i=1;i<=3;i++){deroulementOff('smenu"+id+"')}",100);

}

function deroulementOff(id, elementheight){
	var reg=new RegExp("(smenu)", "g");
	var parseid= id.replace(reg,'');
	var div = document.getElementById(id);
	var height = 0;
	over[parseid]=0;
	deroulementLoop(id, height);
}

var first = 1;

function deroulementLoop(id, targetHeight){
	
	var div = document.getElementById(id);
	var height = parseInt(div.style.height.replace(/px/, ''));

	
	
	
	var sens = (height < targetHeight ? 1 : -1); //On compare la taille actuelle à la taille à atteindre pour savoir si on ouvre ou ferme un paragraphe
	if (navigator.appName=="Microsoft Internet Explorer"){
		height = height+(sens*10); //On fait varier la hauteur de 20px à chaque boucle (-20 pour refermer, +20 pour ouvrir)
	}else{
		height = height+(sens*5); //On fait varier la hauteur de 20px à chaque boucle (-20 pour refermer, +20 pour ouvrir)
	}
	
	if((sens == 1 && height > targetHeight) || sens == -1 && height < targetHeight){ //Pour ne pas dépasser la taille du paragraphe
		height = targetHeight;
	}
	div.style.height = height+'px';
	if(height != targetHeight){
		setTimeout('deroulementLoop(\''+id+'\', '+targetHeight+')', 5);
	}
	else if(targetHeight == 0 && sens == -1){
		//On masque le paragraphe refermé
		div.style.display = 'none';
	}
}
