///////////////////////////////////////////////////////
//    MENUS JAVASCRIPT                               //
//    Copyright: Anaximandre 2002-2003               //
//    Auteur: Stephane PERECK                        //
//    Derniere modification: 11/02/2003              //
///////////////////////////////////////////////////////


///////////////////////////////////////////////////////
//    INSTALLATION                                   //
//    Placer le code suivant a la fin de votre       //
//    document HTML ( juste avant </body> ) :        //
//    <script src="menu.js"></script>                //
///////////////////////////////////////////////////////


///////////////////////////////////////////////////////
//--- Debut de saisie des parametres ------------------
//--- Proprietes et donnees des menus -----------------
//
//--- Temps de visibilite des menus en millisecondes (default = 500)
var MenuTemps = 500;
//--- Position initiale du menu d'origine en pixels
var MenuHaut = 106;
var MenuGauche = 240;
//--- Changements de propriete pour la page d'accueil
//--- Placer <a name="MenuAccueil"></a> dans la page HTML pour afficher le menu en position accueil
//--- Placer <a name="MenuIncomplet"></a> dans la page HTML pour le rendre incomplet
var MenuHautAccueil = 252;
var MenuGaucheAccueil = 125;
//--- Presence ou non des fleches dans les menus horizontaux
var MenuFlechesBas = false;
var MenuFlechesDroites = true;
//--- Couleur des fleches: Couleur ou false=couleur de texte normal
var MenuCouleurFleches = false;
//--- Chaque item peut prendre les couleurs de son sous menu (si celui-ci existe) (non disponible pour Netscape 4)
var MenuCouleurSousMenu = false;
//--- Chaque item peut prendre les couleurs de son sous menu lors du survol (si celui-ci existe) (non disponible pour Netscape 4)
var MenuCouleurSousMenuSurvol = false;
//--- Le texte de chaque item peut prendre les couleurs de son sous menu (si celui-ci existe) (non disponible pour Netscape 4)
var MenuCouleurTexteSousMenu = true;
//--- Decalage des sous menus en pixels
var MenuDecalageHaut = 8;
var MenuDecalageGauche = -18;
//--- Espacement entre les items en pixels
var MenuEspacement = 1;
//--- Marge interne des items en pixels (non disponible pour Netscape 4)
var MenuMarges = 2;
//--- Taille des bordures des menus en pixels (non disponible pour Netscape 4)
var MenuBordMenuTaille = 0;
//--- Type de bord des items: dashed, dotted, double, outset, inset, solid (non disponible pour Netscape 4)
var MenuBordMenuType = 'outset';
//--- Couleur de bord: couleur ou false=couleur de fond (non disponible pour Netscape 4)
var MenuBordMenuCouleur = '#FFFFFF';
//--- Taille des bordures de chaque item en pixels (non disponible pour Netscape 4)
var MenuBordItemTaille = 0;
//--- Type de bord des items: dashed, dotted, double, outset, inset, solid (non disponible pour Netscape 4)
//--- Exemple normal=outset et survol=inset pour effet 3d
var MenuBordItemTypeNormal = 'solid';
var MenuBordItemTypeSurvol = 'inset';
//--- Couleur de bord: true=couleur de texte, false=couleur de fond (non disponible pour Netscape 4)
var MenuBordItemCouleur = false;
//--- Proprietes du texte
var MenuPolice = 'Arial';
var MenuTailleTexte = '10'; //en points
var MenuGras = true;
var MenuItalique = false;
//--- Alignement du texte: left=gauche, center=centre right=droite
var MenuAlignement = 'Left';
//--- Dimension en pixels de chacune des cases du premier niveau (sous forme d'un tableau) ou false si toutes equivalentes
//--- Exemple pour 4 cases: MenuDimCases = [100,80,60,120];
var MenuDimCases = [110,110,110,110];
//
//--- Declaration des menus (numero de chaque menu), le menu d'origine doit etre nomme Menu0
var Menus = [0,1,2,3,4];
//--- Menu = Declaration dans l'ordre:
//    [0]  Orientation du menu: true=horizontal false=vertical
//    [1]  Reserve (Coordonnee haut)
//    [2]  Reserve (Coordonnee gauche)
//    [3]  Largeur Item
//    [4]  Hauteur Item
//    [5]  Couleur espacement
//    [6]  Couleur fond normal
//    [7]  Couleur fond survol
//    [8]  Couleur Texte normal
//    [9]  Couleur texte survol
//    [10] Nombre d'items dans ce menu
//    ---- Pour chaque item:
//         [*] Nom item
//         [*] Url item
//         [*] Numero du sous menu ou false
//         ...
//
var Menu0 = [true,0,0,150,17,"#FFFFFF","#8e0404","#696969","#FFFFFF","#FFFFFF",4,
	'Pr&eacute;sentation','present.html',1,
	'Nos offres','offres.html',2,
	'Actualit&eacute;s','actua.html',3,
	'Volontaires','volont.html',4];
var Menu1  = [false,0,0,180,20,"#FFFFFF","#8e0404","#696969","#FFFFFF","#FFFFFF",4,
	'Qui sommes nous ?','qui.html',false,
	'Plan d&#39;acc&egrave;s','plan.html',false,
	'Partenaires','liens.html',false,
	'Contact','contact.html',false];
var Menu2  = [false,0,0,200,20,"#FFFFFF","#8e0404","#696969","#FFFFFF","#FFFFFF",3,
	'Dermocosm&eacute;tique & Beaut&eacute;','dermo.html',false,
	'Minceur & forme','minceur.html',false,
	'Bien &ecirc;tre & vitalit&eacute;','bien.html',false];
var Menu3  = [false,0,0,180,20,"#FFFFFF","#8e0404","#696969","#FFFFFF","#FFFFFF",4,
	'Test Minceur','ex1.html',false,
	'Test Solaire','ex2.html',false,
	'Nos nouveaux locaux','locaux.html',false,
	'Salons','stand.html',false];
var Menu4  = [false,0,0,180,20,"#FFFFFF","#8e0404","#696969","#FFFFFF","#FFFFFF",2,
	'Tester les produits','tester.html',false,
	'Inscription','inscri.html',false];
	

//
//--- Fin de saisie des parametres --------------------
//
///////////////////////////////////////////////////////




//*** NE RIEN CHANGER CI-DESSOUS ********************//




///////////////////////////////////////////////////////
//
//--- Initialisation ----------------------------------
//
//--- Variables globales
var StopMenus = setTimeout('MasqueTout()',MenuTemps)
var MenuDernier = false;
//--- Gestion de la page d'accueil
nombreMenus = Menus.length;
var MenuAccueil = false;
var MenuIncomplet = false;
for (i=0; i<document.anchors.length; i++) {
	if (document.anchors[i].name=="MenuAccueil") MenuAccueil = true;
	if (document.anchors[i].name=="MenuIncomplet") MenuIncomplet = true;
}
if (MenuAccueil) {
	MenuHaut = MenuHautAccueil;
	MenuGauche = MenuGaucheAccueil;
}
if (MenuIncomplet) nombreMenus = 1;
//--- Transfert des valeurs
Menu0[1] = MenuHaut;
Menu0[2] = MenuGauche;
//--- Test la version des navigateurs
TestVersion = parseFloat(window.navigator.userAgent.substr(8,3));
//--- Tests de compatibilites
var NN4 = (document.layers && TestVersion>4) ? true : false;
var IE4 = (document.all && !document.getElementById) ? true : false;
var OP5 = (window.navigator.userAgent.indexOf('opera 5')!=-1||window.navigator.userAgent.indexOf('opera/5')!=-1) ? true : false;
var NN6 = (!document.all && document.getElementById) ? true : false;
var IE5 = (document.all && document.getElementById) ? true : false;
var DOM = (IE5 || NN6) ? true : false;
//
//--- Calculs de la dimension du premier menu et de somme des cases precedentes
if (MenuDimCases) {
	var MenuTotalDimMenu = 0;
	var MenuTotalDimPrecedents = new Array(MenuDimCases.length);
	for (i=0;i<MenuDimCases.length;i++) {
		MenuTotalDimPrecedents[i] = MenuTotalDimMenu;
		MenuTotalDimMenu += MenuDimCases[i];
	}
}
//
//--- Construction des menus --------------------------
if (NN4) {
	var MenusNN4 = new Array();
	window.onload = IniNN4
} else if (IE4 || IE5 || NN6) {
	for (n=0; n<nombreMenus; n++) {
		ConstruMenu(Menus[n]);
	}
} else {
	alert('La navigation de ce site utilise un menu Javascript que votre navigateur ne reconnait pas.');
}
//--- Fonctions ---------------------------------------
//
//--- Construction d'un menu
function ConstruMenu(numMenu) {
	Menu = eval('Menu'+numMenu);
	var Texte = '<div id=M' + numMenu + '>';
	document.write(Texte);
	for (numItem=0;numItem<Menu[10];numItem++) {
		numSousMenu = Menu[3 * numItem + 13];
		Texte = '<div id=I' + numMenu + numItem + ' align=' + MenuAlignement + ' onmouseover=RollOver(' + numMenu + ',' + numItem + ',' + numSousMenu + ') onmouseout=RollOut(' + numMenu + ',' + numItem + ',' + numSousMenu + ') onclick=ItemClick(' + numMenu + ',' + numItem + ')>' + Menu[3*numItem+11] + '</div>';
		if (numSousMenu) {
			Texte += '<div id=F' + numSousMenu + ' align=right>' + (Menu[0] ? (MenuFlechesBas ? '6' : ' ') : (MenuFlechesDroites ? '4' : ' ')) + '</div>';
		}
		document.write(Texte);
		ProItem(numMenu,numItem,numSousMenu);
	}
	Texte = '</div>';
	document.write(Texte);
	ProMenu(numMenu);
}
//--- Fonction d'affectation des proprietes d'un calque de menu
function ProMenu(numMenu) {
	Menu = eval('Menu' + numMenu);
	if (Menu[0]) {
		if (MenuDimCases && numMenu == 0) {
			menuWidth = (MenuEspacement * (Menu[10] + 1)) + MenuTotalDimMenu;
		} else {
			menuWidth = ( Menu[3] + MenuEspacement ) * Menu[10] + MenuEspacement;
		}
		menuWidth += ((NN6) ? 0 : (2 * MenuBordMenuTaille));
		menuHeight = MenuEspacement * 2 + Menu[4] + ((NN6) ? 0 : (2 * MenuBordMenuTaille));
	} else {
		menuWidth = MenuEspacement * 2 + Menu[3] + ((NN6) ? 0 : (2 * MenuBordMenuTaille));
		menuHeight = ( Menu[4] + MenuEspacement ) * Menu[10] + MenuEspacement + ((NN6) ? 0 : (2 * MenuBordMenuTaille));
	}
	if (IE4) {idMenu = eval('M' + numMenu)} else {var idMenu = document.getElementById('M' + numMenu)}
	idMenu.style.position = 'absolute';
	idMenu.style.top = Menu[1] + 'px';
	idMenu.style.left = Menu[2] + 'px';
	idMenu.style.width = menuWidth + 'px';
	idMenu.style.height = menuHeight + 'px';
	idMenu.style.background = Menu[5];
	idMenu.style.border = MenuBordMenuTaille + 'px ' + MenuBordMenuType + ' ' + (MenuBordMenuCouleur ? MenuBordMenuCouleur : Menu[5]);
	if (numMenu>0) idMenu.style.visibility = 'hidden';
}
//--- Fonction d'affectation des proprietes d'un calque d'item
function ProItem(numMenu,numItem,numSousMenu) {
	Menu = eval('Menu' + numMenu);
	if (Menu[0]) {
		itemTop = MenuEspacement;
		if (MenuDimCases && numMenu == 0) {
			itemLeft = MenuTotalDimPrecedents[numItem] + ((numItem+1) * MenuEspacement);
			itemWidth = MenuDimCases[numItem];
		} else {
			itemLeft = (numItem * Menu[3]) + ((numItem+1) * MenuEspacement);
			itemWidth = Menu[3];
		}
		itemWidth =  itemWidth - ((NN6) ? (2 * (MenuBordItemTaille + MenuMarges)) : 0);
		sousMenuTop = Menu[1] + itemTop + Menu[4] + MenuEspacement;
		sousMenuLeft = Menu[2] + itemLeft - MenuEspacement;
	} else {
		itemTop = (numItem * Menu[4]) + ((numItem+1) * MenuEspacement);
		itemLeft = MenuEspacement;
		itemWidth = Menu[3] - ((NN6) ? (2 * (MenuBordItemTaille + MenuMarges)) : 0);
		sousMenuTop = Menu[1] + itemTop + MenuDecalageHaut - MenuEspacement;
		sousMenuLeft = Menu[2] + itemLeft + Menu[3] + MenuEspacement + MenuDecalageGauche;
	}
	if (IE4) {idItem = eval('I' + numMenu + numItem)} else {var idItem = document.getElementById('I' + numMenu + numItem)}
	idItem.style.position = 'absolute'
	idItem.style.top = itemTop + 'px';
	idItem.style.left = itemLeft + 'px';
	idItem.style.width = itemWidth + 'px';
	idItem.style.height = (Menu[4] - ((NN6) ? (2 * (MenuBordItemTaille + MenuMarges)) : 0)) + 'px';
	idItem.style.font = (MenuItalique ? 'italic ' : 'normal ') + (MenuGras ? 'bold ' : 'normal ') + MenuTailleTexte + 'pt ' + MenuPolice;
	idItem.style.color = Menu[8];
	idItem.style.background = Menu[6];
	idItem.style.padding = MenuMarges + 'px';
	idItem.style.cursor = 'hand';
	idItem.style.border = MenuBordItemTaille + 'px ' + MenuBordItemTypeNormal + ' ' + (MenuBordItemCouleur ? '' : Menu[6]);
	if (numSousMenu) {
		SousMenu = eval('Menu' + numSousMenu);
		SousMenu[1] = sousMenuTop;
		SousMenu[2] = sousMenuLeft;
		idItem.style.color = (MenuCouleurTexteSousMenu && (SousMenu[6] != Menu[6])) ? SousMenu[6] : Menu[8];
		idItem.style.background = (MenuCouleurSousMenu) ? SousMenu[6] : Menu[6];
		if (IE4) {idFlec = eval('F' + numSousMenu)} else {var idFlec = document.getElementById('F' + numSousMenu)}
		idFlec.style.position = 'absolute'
		idFlec.style.top = itemTop + 'px';
		if (MenuDimCases && numMenu == 0) {
			idFlec.style.left = (itemLeft + (Menu[0] ? MenuDimCases[numItem] : Menu[3]) - 20) + 'px';
		} else {
			idFlec.style.left = (itemLeft + Menu[3] - 20) + 'px';
		}
		idFlec.style.width = '20px';
		idFlec.style.height = '20px';
		idFlec.style.color = (MenuCouleurFleches ? MenuCouleurFleches : Menu[8]);
		idFlec.style.padding = MenuMarges + 'px';
		idFlec.style.font = '12pt Webdings';
		idFlec.style.cursor = 'hand';
	}
}
//--- Affiche ou masque le menu 'n' en fonction des navigateurs
function AffichageMenu(numMenu,valeurIE,valeurNN){
	if (MenuIncomplet) return void(0);
	var idMenu = 'M' + numMenu;
	if (NN4){
		MenusNN4[numMenu].visibility = valeurNN;
	} else if (IE4) {
		document.all[idMenu].style.visibility = valeurIE;
	} else if (DOM) {
		document.getElementById(idMenu).style.visibility = valeurIE;
	}
}
//--- Masque le menu numMenu
function Masque(numMenu){
	AffichageMenu(numMenu,'hidden','hide');
}
//--- Masques tous les menus
function MasqueTout(){
	for (n=1; n<Menus.length; n++) {Masque(Menus[n])}
}
//--- Declanche le decompte de fermeture des menus
function DebDecMenu(){
	StopMenus = setTimeout('MasqueTout()',MenuTemps)
}
//--- Annule le decompte de fermeture des menus si l'utilisateur passe sur un autre menu
function FinDecMenu(){
	clearTimeout(StopMenus);
}
//--- Fonction de survol d'un item
function RollOver(numMenu,numItem,numSousMenu) {
	Menu = eval('Menu' + numMenu);
	if (IE4) {idItem = eval('I' + numMenu + numItem)} else {var idItem = document.getElementById('I' + numMenu + numItem)}
	idItem.style.color = Menu[9];
	if (numSousMenu) {SousMenu = eval('Menu' + numSousMenu)}
	idItem.style.background = (numSousMenu && (MenuCouleurSousMenu || MenuCouleurSousMenuSurvol)) ? (MenuCouleurSousMenuSurvol ? SousMenu[6] : SousMenu[7]) : Menu[7];
	idItem.style.borderStyle = MenuBordItemTypeSurvol;
	itemUrl = Menu[3 * numItem + 12];
	window.status = itemUrl;
	FinDecMenu()
	if (numMenu<1) {MasqueTout()}
	if (MenuDernier != numMenu) {Masque(MenuDernier)}
	if (numSousMenu) {
		AffichageMenu(numSousMenu,'visible','show');
		MenuDernier = numSousMenu;	
	}
}
//--- Fonction de sortie du survol d'un item
function RollOut(numMenu,numItem,numSousMenu) {
	Menu = eval('Menu' + numMenu);
	if (IE4) {idItem = eval('I' + numMenu + numItem)} else {idItem = document.getElementById('I' + numMenu + numItem)}
	idItem.style.color = Menu[8];
	if (numSousMenu) {SousMenu = eval('Menu' + numSousMenu)}
	idItem.style.color = (numSousMenu && MenuCouleurTexteSousMenu && (SousMenu[6] != Menu[6])) ? SousMenu[6] : Menu[8];
	idItem.style.background = (numSousMenu && MenuCouleurSousMenu) ? SousMenu[6] : Menu[6];
	idItem.style.borderStyle = MenuBordItemTypeNormal;
	window.status = defaultStatus;
	DebDecMenu()
}
//--- Fonction de click d'un item
function ItemClick(numMenu,numItem) {
	Menu = eval('Menu' + numMenu);
	itemUrl = Menu[3 * numItem + 12];
	window.location.href = itemUrl;
}
//
///////////////////////////////////////////////////////

//--- Fonctions Pour NN4 ------------------------------

///////////////////////////////////////////////////////
//
//--- Initialisation ----------------------------------
function IniNN4() {
	for (n=0; n<nombreMenus; n++) {
		ConstruMenuNN4(Menus[n]);
	}
}
//--- Construction d'un menu
function ConstruMenuNN4(numMenu){
	Menu = eval('Menu' + numMenu);
	ElMenu = new Layer(200,window);
	MenusNN4[numMenu] = ElMenu;
	ElMenu.visibility = 'show';
	if (numMenu>0) {ElMenu.visibility = 'hide';}
	ElMenu.bgColor = Menu[5];
	ElMenu.zIndex = numMenu;
	ElMenu.moveTo(Menu[2],Menu[1]);
	if (Menu[0]) {
		menuWidth = ( Menu[3] + MenuEspacement ) * Menu[10] + MenuEspacement;
		menuHeight = MenuEspacement * 2 + Menu[4];
	} else {
		menuWidth = MenuEspacement * 2 + Menu[3];
		menuHeight = ( Menu[4] + MenuEspacement ) * Menu[10] + MenuEspacement;
	}
	ElMenu.resizeTo(menuWidth,menuHeight);
	for (numItem=0;numItem<Menu[10];numItem++) {
		numSousMenu = Menu[3 * numItem + 13];
		if (Menu[0]) {
			itemTop = MenuEspacement;
			itemLeft = (numItem * Menu[3]) + ((numItem+1) * MenuEspacement);
			sousMenuTop = Menu[1] + itemTop + Menu[4] + MenuEspacement;
			sousMenuLeft = Menu[2] + itemLeft - MenuEspacement;
		} else {
			itemTop = (numItem * Menu[4]) + ((numItem+1) * MenuEspacement);
			itemLeft = MenuEspacement;
			sousMenuTop = Menu[1] + itemTop + MenuDecalageHaut - MenuEspacement;
			sousMenuLeft = Menu[2] + itemLeft + Menu[3] + MenuEspacement + MenuDecalageGauche; 
		}
		var Texte = '<div align=' + MenuAlignement + '><font face=' + MenuPolice + ' point-size=' + MenuTailleTexte + ' color=' + Menu[8] + '>' + Menu[3*numItem+11] + '</font></div>';
		if (MenuGras) {Texte = Texte.bold()}
		if (MenuItalique) {Texte = Texte.italics()}
		ElItem = new Layer(Menu[3],ElMenu);
		ElItem.zIndex = numItem;
		ElItem.visibility = 'inherit';
		ElItem.bgColor = Menu[6];
		ElItem.moveTo(itemLeft,itemTop);
		ElItem.resizeTo(Menu[3],Menu[4]);
		ElItem.document.write(Texte);
		ElItem.document.close();
		ElItem.captureEvents(Event.MOUSEOVER|Event.MOUSEOUT|Event.CLICK)
		ElItem.onmouseover = RollOverNN4;
		ElItem.onmouseout = RollOutNN4;
		ElItem.onclick = ItemClickNN4;
		if (numSousMenu) {
			SousMenu = eval('Menu' + numSousMenu);
			SousMenu[1] = sousMenuTop;
			SousMenu[2] = sousMenuLeft;
			ElFlec = new Layer(Menu[3],ElMenu);
			ElFlec.visibility = 'inherit';
			ElFlec.moveTo(itemLeft + Menu[3] - 20,itemTop);
			ElFlec.resizeTo(20,20);
			ElFlec.document.write('<font face=Webdings point-size=14 color=' + (MenuCouleurFleches ? MenuCouleurFleches : Menu[8]) + '>' +  (Menu[0] ? (MenuFlechesBas ? '6' : ' ') : (MenuFlechesDroites ? '4' : ' ')) + '</font>');
			ElFlec.document.close();
		}
	}
}
//--- Fonction de survol d'un item pour Netscape 4
function RollOverNN4(){
	numMenu = this.parentLayer.zIndex;
	numItem = this.zIndex;
	Menu = eval('Menu' + numMenu);
	numSousMenu = Menu[3 * numItem + 13];
	this.bgColor = Menu[7];
	FinDecMenu()
	if (numMenu<1) {MasqueTout()}
	if (MenuDernier != numMenu) {Masque(MenuDernier)}
	if (numSousMenu) {
		AffichageMenu(numSousMenu,'visible','show');
		MenuDernier = numSousMenu;	
	}
}
//--- Fonction de sortie du survol d'un item pour Netscape 4
function RollOutNN4(){
	numMenu = this.parentLayer.zIndex;
	numItem = this.zIndex;
	Menu = eval('Menu' + numMenu);
	this.bgColor = Menu[6];
	DebDecMenu()
}
//--- Fonction de click d'un item pour Netscape 4
function ItemClickNN4() {
	numMenu = this.parentLayer.zIndex;
	numItem = this.zIndex;
	Menu = eval('Menu' + numMenu);
	itemUrl = Menu[3 * numItem + 12];
	window.location.href = itemUrl;
}
//
//--- Fin de script -----------------------------------
///////////////////////////////////////////////////////
