 // variables :
var timeout = 1500;
var fade_time = 1000;
var fade_interval = 5;

var isNav, isIE, isFF;
var lesmenus = new Array();
var lesmenus_cpt = new Array();
var lesmenus_nom = new Array();
var lesmenus_titre = new Array();
var current_menu = "";
var waiting = false;
var fading = false;
var surMenu = false;
var surBouton = false;
var isSectionOpen = new Array();
var sectionContenu = new Array();
var closedSections = new Array();

/*
if(parseInt(navigator.appVersion) >=4){

    if(navigator.appName == 'Netscape'){
        isNav = true;
    }

    else{
        isNav = false;
    }
}
*/

if(parseInt(navigator.appVersion) >=4){

    if(navigator.appName == 'Netscape'){
        isFF = true;
    }

    else{
        isFF = false;
    }
}

isNav=false;

function getX(obj){ 
	if(obj)
	{ 
	    if(isNav){ 
    	    	return obj.offsetLeft + getX(obj.offsetParent); 
	    } 
    	else{ 
		
        	return obj.offsetLeft + getX(obj.offsetParent); 
	    } 
	}
	else
	{
		return 0;
	}
} 

function getY(obj){
	if(obj)
	{ 
	    if(isNav){ 
    	    return obj.offsetTop + getY(obj.offsetParent); 
	    } 
    	else{ 
        	return obj.offsetTop + getY(obj.offsetParent); 
	    } 
	}
	else
	{
		return 0;
	}
} 

function over_bouton(nom,obj)
{
	surBouton = true;
	waiting = false;
	afficher_menu(nom,obj);
}

function over_menu()
{
	surMenu = true;
	waiting = false;
	defade(current_menu);
}

function out_bouton()
{
	surBouton = false;
	effacer_menu();
}

function out_menu()
{
	surMenu = false;
	effacer_menu();
}


function afficher_menu(nom,obj)
{
	if(current_menu != nom)
	{
		forced_effacer_menu();
		
		x = getX(obj) - 1;
		y = getY(obj) - 1;
		h = obj.offsetHeight;
		lemenu = lesmenus[nom];
		letitre = lesmenus_titre[nom];
		if(lemenu)
		{
			lemenu.style.top = y + h;
			lemenu.style.left = x;
			lemenu.className = 'menu_visible';
		}
		current_menu = nom;
		letitre.style.top = y;
		letitre.style.left = x;
		letitre.className = 'menu_visible';
		waiting = false;
		defade(nom);
				
	}
	else
	{
		if(fading)
		{
			defade(nom);
			waiting = false;
			fading = false;
		}
	}
}

function forced_effacer_menu()
{
	if(current_menu != "")
	{
		if(lesmenus[current_menu])
		{
			lesmenus[current_menu].className = 'menu_invisible';
		}
		lesmenus_titre[current_menu].className = 'menu_invisible';
		current_menu = "";
	}
	waiting = false;
}

function defade(nom)
{
	if(!isNav)
	{
		obj1 = lesmenus[nom];
		obj2 = lesmenus_titre[nom];
			
		if(obj1)
		{
			if(isFF)
				obj1.style.MozOpacity = 1.0;
			else
				obj1.filters.alpha.opacity = 100;
			
		}
		if(isFF)
			obj2.style.MozOpacity = 1.0;
		else
			obj2.filters.alpha.opacity = 100;	
	
		fading = false;
	}
}

function fadeout(t)
{
	
	if(!isNav)
	{
		if(current_menu != "")
		{
			if(fading && waiting)
			{
				
				obj1 = lesmenus[current_menu];
				obj2 = lesmenus_titre[current_menu];
				
				
				d = new Date();
				
				t1 = d.getTime();
				
				f = 100 - ( (t1 - t) * 100 / fade_time );
				
				if(f>=0)
				{
					if(obj1)
					{
						if(isFF)
							obj1.style.MozOpacity = f/100;
						else
							obj1.filters.alpha.opacity = f;
					}
					if(isFF)
							obj2.style.MozOpacity = f/100;
					else
							obj2.filters.alpha.opacity = f;
							
					fct = "fadeout("+t+")";
					setTimeout(fct,fade_interval);
					
				}
				else
				{
					fading = false;
					n = current_menu;
					forced_effacer_menu();
					defade(n);
				}
			}
			else
			{
				waiting = false;
				fading = false;
				defade(current_menu);
			}	
		}
	}
	else
	{
		fading = false;
		forced_effacer_menu();
		deface(current_menu);
	}
}


function effacer_menu()
{

	if(current_menu != "")
	{
		if(!lesmenus[current_menu])
		{
			waiting = true;
		}
		
		if(waiting)
		{	
			if(!fading)
			{	
				if(!isNav)
				{
					fading = true;
					d = new Date();
					fadeout(d.getTime());
				}
				else
				{
					n = current_menu;
					forced_effacer_menu();	
					defade(n);
				}
			}
		}
		else
		{
			if(!surMenu && !surBouton)
			{
				setTimeout("effacer_menu()",timeout);
				waiting = true;
			}
		}
	}
}

function aller(url)
{
	window.location = url;
}

function write_entete(nom,url,isliste)
{
	if(isliste)
	{
		document.write('\<div  class=\'menu_invisible\' id=\'menu_bouton_');
		document.write(nom);
		document.write("\' onmouseover=\"over_menu(\'");
		document.write(nom);
		document.write("\');\" onmouseout=\"out_menu();\">\<table class=menu cellspacing=0 cellpadding=0 width=0 ><tr><td class=menu_border >\<img SRC=\'/interface/shim.gif\' width=\'1\'>\<\/td>\<td class=menu_border >\<img SRC=\"/interface/shim.gif\" width=1 >\<\/td>\<td class=menu_border >\<img SRC=\'/interface/shim.gif\' width=\'1\'>\<\/td>\<\/tr>\<td class=\'menu_border\'>\<\/td><td class=\'menu_inside_bouton\'>&nbsp;&nbsp;&nbsp;");
		document.write(nom + "&nbsp;&nbsp;&nbsp;\<\/td>\<td class=\'menu_border\'>\<\/td>\<tr>\<td class=\'menu_border\'>\<\/td>\<td class=\'menu_inside\'>\<\/td>\<td class=\'menu_border\'>\<\/td>\<\/tr>\<\/table>\<\/div>");
	}
	else
	{
		document.write("\<div  class=menu_invisible id=\'");
		document.write("menu_bouton_"+nom);
		document.write("\' onmouseout=\"out_bouton();\" onclick=\"aller(\'"+url+"\');\">\<table class=menu cellspacing=0 cellpadding=0 width=0>\<tr>\<td class=menu_border >\<img SRC=\'/interface/shim.gif\' width=1 >\<\/td>\<td class=menu_border >\<img SRC=\'/interface/shim.gif\' width=1 >\<\/td>\<td class=\'menu_border\'>\<img SRC=\'/interface/shim.gif\' width=\'1\'>\<\/td>\<\/tr>\<td class=\'menu_border\'>\<\/td>\<td class=\'menu_inside_bouton\'>&nbsp;&nbsp;&nbsp;");
		document.write(nom + "&nbsp;&nbsp;&nbsp;\<\/td>\<td class=\'menu_border\'>\<\/td>\<tr>\<td class=\'menu_border\'>\<\/td>\<td class=\'menu_border\'>\<\/td>\<td class=\'menu_border\'>\<\/td>\<\/tr>\<\/table>\<\/div>");
	}
	lesmenus_nom.push(nom);
}


function add_menu(nom,liste,urls,isliste)
{
	write_entete(nom,urls,isliste);
	write_corps(nom,liste,urls,isliste);
}

function write_corps(nom,liste,urls,isliste)
{

	titre = document.getElementById("menu_bouton_"+nom);
	lesmenus_titre[nom] = titre;

	if(isliste)
	{		
		largeur = titre.offsetWidth - 2;
		largeur_min =  largeur + 5;
	
		document.write("\<div onmouseover=\"over_menu(\'");
		document.write(nom);
		document.write("');\" onmouseout=\"out_menu('");
		document.write(nom);
		document.write("');\" class='menu_invisible' id='");
		document.write("submenu_"+nom);
		document.write("'><table class='menu' cellspacing=0 cellpadding=0 ><tr><td><table class=menu cellspacing=0 cellpadding=0 ><tr><td class='menu_border' ></td><td class='menu_border' align=left><div class='menu_inside'><img src='/interface/shim.gif' height=1 width='"+largeur+"'></div></td><td class='menu_border'></td></tr><tr><td class='menu_border'></td><td class='menu_inside'><table><tr><td><img src='/interface/shim.gif' width='5'></td><td><table>");
		
			for(i = 0 ; i < liste.length ; i++)
			{
				document.write("<tr "+/*onclick=\"aller('"+urls[i]+"')\"*/ " class='menu_ligne_out' onmouseover=\"this.className='menu_ligne_over';\" onmouseout=\"this.className='menu_ligne_out';\"><td ><a href=\""+urls[i]+"\" class=\"menu_lien\" >");
				document.write(liste[i]);
				document.write("</a></td></tr>");
			}
			
		document.write("<tr><td><img SRC=\"/interface/shim.gif\" width='"+largeur_min+"' height='5'></td></tr>");
		document.write("</table></td><td><img SRC='/interface/shim.gif' width='0'></td></tr></table></td><td class='menu_border'></td></tr><tr><td class='menu_border'></td><td class='menu_border'></td><td class='menu_border'></td></tr></table></td></tr></table>");
		document.write("</div>");
	}
	lesmenus[nom] = document.getElementById('submenu_'+nom);
}

function write_menu()
{
	boutons = document.getElementById('menu_boutons');
	texte = "";
	texte  = "<table cellspacing=0 cellpadding=0 ><tr><td><img SRC=\"/interface/shim.gif\" width=\"15\"></td>";
	for(i = 0; i < lesmenus_nom.length; i++)
	{
		if(lesmenus[lesmenus_nom[i]])
		{
			texte =texte  + "<td><div class=menu_bouton onmouseover=\"over_bouton('"+lesmenus_nom[i]+"',this);\" onmouseout=\"out_bouton();\">&nbsp;&nbsp;&nbsp;"+lesmenus_nom[i]+"&nbsp;&nbsp;&nbsp;</div></td><td><img SRC=\"/interface/shim.gif\" width=\"15\"></td>";
		}
		else
		{
			texte =texte  + "<td><div class=menu_bouton onmouseover=\"over_bouton('"+lesmenus_nom[i]+"',this);\" >&nbsp;&nbsp;&nbsp;"+lesmenus_nom[i]+"&nbsp;&nbsp;&nbsp;</div></td><td><img SRC=\"/interface/shim.gif\" width=\"15\"></td>";
		}
	}
	boutons.innerHTML = texte  + "</tr></table>";
}


function switch_section(nom)
{
	closeBulle();
	if(isSectionOpen[nom])
	{
		if(document.getElementById("contenu_"+nom))
			document.getElementById("contenu_"+nom).innerHTML = "";
			
		if(document.getElementById("bouton_switch_"+nom))	
			document.getElementById("bouton_switch_"+nom).className = 'image_agrandir';
	}
	else
	{
		if(document.getElementById("contenu_"+nom))
			document.getElementById("contenu_"+nom).innerHTML = sectionContenu[nom].innerHTML;
		if(document.getElementById("bouton_switch_"+nom))	
			document.getElementById("bouton_switch_"+nom).className = 'image_reduire';	
	}
	isSectionOpen[nom] = !isSectionOpen[nom];
	storeState(nom);
}

function switch_section2(nom)
{
	closeBulle();
	if(isSectionOpen[nom])
	{
		if(document.getElementById("contenu_"+nom))
			document.getElementById("contenu_"+nom).className = "closed";
			
		if(document.getElementById("bouton_switch_"+nom))	
			document.getElementById("bouton_switch_"+nom).className = 'image_agrandir';
	
		addSection(nom);
	}
	else
	{
		if(document.getElementById("contenu_"+nom))
			document.getElementById("contenu_"+nom).className = "openned	";
			
		if(document.getElementById("bouton_switch_"+nom))
			document.getElementById("bouton_switch_"+nom).className = 'image_reduire';
			
		removeSection(nom);
	}
	isSectionOpen[nom] = !isSectionOpen[nom];
	storeState(nom);
}

function set_state(nom_section,isOpen)
{
	var etat = retrieveState(nom_section);
	if(etat == null)
		isSectionOpen[nom_section] = !isOpen;
	else
		isSectionOpen[nom_section] = !etat;
		
	if(!isSectionOpen[nom_section])
		addSection(nom_section);
	
	switch_section2(nom_section);
	
}



function getCurrentTexte(nom_section)
{
	if(isSectionOpen[nom_section])
		return "Reduire";
	else
		return "Agrandir";
}

function write_section(id_source,nom_section,isOpen,id_conteneur)
{
	isSectionOpen[nom_section] = isOpen;
	sectionContenu[nom_section] = document.getElementById(id_source);
	sectionContenu[nom_section].className = 'cache';
	
	obj = document.getElementById(id_conteneur);
	
	

	ct = "";
	ct += "			\<div class=\'conteneur_bloc\'>";
	ct += "				\<div class=\'conteneur_bloc_haut\'>";
	ct += "					\<div class=\'bloc_corner_haut_gauche\'>\<\/div>";
	ct += "					\<div class=\'titre_section\'>"+nom_section+"\<\/div>";
	ct += "					\<div class=\'bloc_corner_haut_droit\'>\<\/div>";
	ct += "				\<\/div>";
	ct += "				\<div class=\'conteneur_bloc_milieu\' id=\'contenu_"+nom_section+"\'>\<\/div>";
	ct += "				\<div class=\'conteneur_bloc_bas\'>";
	ct += "					\<div class=\'bloc_corner_bas_gauche\'>\<\/div>";
	ct += "					\<div class=\'bloc_corner_bas_droit\'>\<\/div>";
	ct += "					\<div class=\'image_agrandir\' onMouseOver=\"bulle(getCurrentTexte(\'"+nom_section+"\'),event)\" onMouseOut=\"closeBulle()\" id=\'bouton_switch_" + nom_section + "\' onClick=\"switch_section(\'" + nom_section + "\');\">\<\/div>";
	ct += "				\<\/div>";
	ct += "			\<\/div>";
	obj.innerHTML += ct;
	
	
	
	if(isOpen)
	{
		isSectionOpen[nom_section] = false;
		switch_section(nom_section);
	}
}

function storeState(nom_section)
{
	var aujourdhui = new Date();
	var expiration = new Date();

	// la date d'expiration du cookie : ici, 72 heures
	expiration.setTime(aujourdhui.getTime() + 100*1000*60*60*24*365);

	// on lance la fonction de création réelle du cookie
	var exp = ((expiration == null) ? "" : ("; expires=" + expiration.toGMTString()));
	document.cookie = "LSDTFenetres" + "=" + escape(closedSections.toString()) + exp + "; path=/; domain=www.taulard.net";
	
}            


function removeSection(nom)
{
	var tmp = new Array();
	var vue = false;
	var i = 0;
	// on parcours le tab :
	for (i=0;i<closedSections.length;i++)
	{
		if(closedSections[0] != nom)
		{
			tmp.push(closedSections.shift());
		}
	}	
	closedSections = tmp;
}

function addSection(nom)
{
	var vue = false;
	// on parcours le tab :
	var i = 0;
	for (i=0;i<closedSections.length;i++)
	{
		if(closedSections[i] == nom)
		{
			vue = true;
		}
	}	
	if(!vue)
		closedSections.push(nom);
}

function retrieveState(nom_section)
{
	
	
	var recherche = "LSDTFenetres";
	// s'il existe
	if (document.cookie.length > 0) {
	
	// on se cale sur le début du cookie (c'est un texte)
	debut = document.cookie.indexOf(recherche);
	if (debut != -1) 
	{
		// on se place la ou commence la donnée (après le 'nom' du cookie)
		debut += recherche.length;
	
		// on cherche la fin de la donnée
		fin = document.cookie.indexOf(";", debut);
		if (fin == -1) 
		{
			fin = document.cookie.length;
		}
	
		// on renvoie le contenu de la ligne du cookie entre la fin de son nom et la fin de la donnée
		msg = unescape(document.cookie.substring(debut+1, fin));
		
		
		var leretour = true;
		closedSections = msg.split(",");
		// on parcours le tab
		var i = 0;
		 for (i=0;i<closedSections.length;i++)
		{
			if(closedSections[i] == nom_section)
				leretour = false;
		}

		return leretour;
	}
	else
		return null;
	}
	else
		return null;
	
}