idStyleSheet = 0; // Identifiant de la feuille css qui gere l'animation du menu.
hauteurMenu = 0;  // Hauteur totele initiale d'une page de menu
hauteurTitre = 0; // Hauteur du titre d'une page de menu. Il s'agit de la partie toujours visible du menu
largeurMenu = 0;  // Largeur d'une page de menu
topPosition = 0;	// Position par rapport au haut de la page HTML
leftPosition = 0;	// Position par rapport au bord gauche de la page HTML
intervale = 0;		// Intervale de déplacement d'un menu.
id=100;
meshauteurs = [];

function initMenu(idStyle, hautTitre, inter, idMenu) {

	hauteurTitre = hautTitre + "px";
	idStyleSheet = idStyle;
	intervale = inter;
	
	var regles = (document.styleSheets[idStyleSheet].cssRules) ? document.styleSheets[idStyleSheet].cssRules : document.styleSheets[idStyleSheet].rules;

//ferme les menus nécessaires l'affichage du menu designé dans idMenu
	for(i=0; i < regles.length; i++) {
		meshauteurs[i] = (regles[i].style.height).substring(0, regles[i].style.height.length-2);
		regles[i].style.height=hautTitre + "px";
		regles[i].style.backgroundImage='url("../images/menuClose.gif")';
		regles[i].style.color='#6f6e6e';
	}

//Ouvrir le menus choisi = idMenu
	if(idMenu < 100){
		regles[idMenu].style.height=meshauteurs[idMenu];
		regles[idMenu].style.backgroundImage='url("../images/menuOpen-copy.gif")';
		regles[idMenu].style.color='#3a3f87';
	}
}

function changeIdMenu(idMenu){
	id = idMenu;

	var regles = (document.styleSheets[idStyleSheet].cssRules) ? document.styleSheets[idStyleSheet].cssRules : document.styleSheets[idStyleSheet].rules;

	for(i=0; i<regles.length; i++) {
		if(regles[i].style.height != hauteurTitre && i!=id) {
			termine = 0;
			regles[i].style.backgroundImage='url("../images/menuClose.gif")';
			regles[i].style.color='#6f6e6e';
		}
	}

	// ouverture du menu choisi
	if (id < 100 && regles[id].style.height != (meshauteurs[id]+"px")){
			termine = 0;
			regles[id].style.color='#3a3f87';
			regles[id].style.backgroundImage='url("../images/menuOpen-copy.gif")';
	}

	showMenu();
}

// Détermine la prochaine position d'une page du menu lors de sa fermeture. 
function getTimeTopClose(topPx) {
	var top=topPx.substring(0, topPx.length-2);
	top = parseInt(top,10);
	return top + intervale;
}

// Détermine la prochaine hauteur d'une page du menu lors de sa fermeture. 
function getTimeHeightClose(heightPx) {
	var height=heightPx.substring(0, heightPx.length-2);
	var numHauteurMenuFerme = parseInt(hauteurTitre.substring(0, hauteurTitre.length-2));
	height = parseInt(height,10);
	return (height-intervale <= numHauteurMenuFerme ) ? numHauteurMenuFerme : height-intervale;
}


// Détermine la prochaine position d'une page du menu lors de son ouverture. 
function getTimeTopOpen(topPx) {
	var top=topPx.substring(0, topPx.length-2);
	top = parseInt(top,10);
	return top - intervale;
}

// Détermine la prochaine hauteur d'une page du menu lors de son ouverture. 
function getTimeHeightOpen(heightPx, id) {
	var height=heightPx.substring(0, heightPx.length-2);
	var numHauteurMenuOuvert = parseInt(meshauteurs[id]);
	height = parseInt(height,10);
	return (height+intervale >= numHauteurMenuOuvert) ? numHauteurMenuOuvert : height+intervale;
}


// Anime le menu pour afficher la page données en id.
function showMenu(){

	var termine = 1;
	var regles = (document.styleSheets[idStyleSheet].cssRules) ? document.styleSheets[idStyleSheet].cssRules : document.styleSheets[idStyleSheet].rules;

	// fermeture de tous les menus sauf le menu choisi
	for(i=0; i<regles.length; i++) {
		if(regles[i].style.height != hauteurTitre && i!=id) {
			termine = 0;
			regles[i].style.height=getTimeHeightClose(regles[i].style.height) + "px";
		}
	}

	// ouverture du menu choisi
	if (id < 100 && regles[id].style.height != (meshauteurs[id]+"px")){
			termine = 0;
			regles[id].style.height=getTimeHeightOpen(regles[id].style.height, id) + "px";
	}
	
	if(termine == 0){
		setTimeout("showMenu()",12);
	}
}

/**********************FONCTION POUR LES LIENS EXTERNES*****************************/
function open_ext_link()
{
	var liens = document.getElementsByTagName('a');
	// On récupère tous les liens (<a>) du document dans une variable (un array), ici liens.
	// Une boucle qui parcourt le tableau (array) liens du début à la fin.
	for (var i = 0 ; i < liens.length ; ++i)  {
		// Si les liens ont un nom de class égal à lien_ext, alors on agit.
		if (liens[i].className == 'lienExt')  {
			//liens[i].title = 'S\'ouvre dans une nouvelle fenêtre';
			// Au clique de la souris.
			liens[i].onclick = function()  {
				window.open(this.href);
				return false; // On ouvre une nouvelle page ayant pour URL le href du lien cliqué et on inhibe le lien réel.
			};
		}
	}
}
//window.onload = open_ext_link;
// Au chargement de la page, on appelle la fonction.