	/****************************
	****** Menu horizontal ******
	****************************/
	var zDessus, zDehors, zTchm = new Array(), prem=new Array();
	var navimac = '', xnavimac = 0, ynavimac = 0;

	function getObjH(chn) {
		if (document.getElementById)
			return document.getElementById(chn);
		else if (document.all)
			return document.all[chn];
		else
			return null;
	}
	function menuHInit() {
		//--- Marquer le chemin
		if (zPage != -1) {
			niv = zTniv[zPage]; niv++;
			for (g = 0, k = zPage; k >= 0; k--)
				if (zTniv[k] < niv) {
					niv = zTniv[k];
					zTchm[g++] = k;
				}
		}
		//--- Prevoir les evenements
		obj = getObjH('zmenu');
		obj.onmouseout = menuEvent;
		obj.onmouseover = menuEvent;
		obj.onclick = menuEvent;

		//--- Detection navigateur
		chn = navigator.userAgent.toLowerCase();
		if (chn.indexOf('safari')!=-1)
			navimac = 'saf';
		else if (chn.indexOf('opera')!=-1)
			navimac = 'opr';
		else if (chn.indexOf('konqueror')==-1 && chn.indexOf('omniweb')==-1 && chn.indexOf('webtv')==-1 && chn.indexOf('icab')==-1)
			if (chn.indexOf('msie 5')!=-1 && chn.indexOf('mac')!=-1) {
				navimac = 'ie';
/*				for (obj = obj.firstChild; obj.offsetParent; obj = obj.offsetParent) {
					xnavimac += obj.offsetLeft;
					ynavimac += obj.offsetTop;
				}
				xnavimac -= 16; */
		}
		//--- Creer le premier niveau
		chn = '<table class="cmshmenu0tab" cellspacing="0"><tr>';
		for (g = 0, k = false; g < zNmenu; g++)
			if (zTniv[g] == 0) {
				if (k)
					chn += '<td class="cmshminter">|</td>';
				chn += '<td id="'+g+'menuopt" class="cmshmenu0"';
				chn += zTcnu[g] != 'Y' ? ' style="cursor:default">' : '>';
				chn += zTtxt[g]+'</td>';
				k = true;
			}
		chn += '</tr></table>';
		obj.innerHTML = chn;

		//--- Gauche ou droite ?
		niv = ((self.innerWidth ? self.innerWidth : document.body.clientWidth) >> 1) + 99;
		for (g = 0; g < zNmenu; g++)
			if (zTniv[g] == 0) {
				obj = getObjH(g+'menuopt');
				if (obj.offsetParent)
					for (x = 0; obj.offsetParent; obj = obj.offsetParent)
						x += obj.offsetLeft;
				else
					x = obj.x;
				k = x > niv ? 'G' : 'D';
			}
			else
				if (zTeta[g] != 'X')
					zTeta[g] = k;
	}
	function menuEvent(evt) {
		if (! evt)
			evt = window.event;
		obj = evt.target ? evt.target : evt.srcElement;
		while (! obj.id || obj.tagName != 'TR' && obj.tagName != 'TD' && obj.tagName != 'DIV')
			obj = obj.parentNode;
		if (obj.id == 'zmenu')
			return;
		k = parseInt(obj.id, 10);
		
		switch (evt.type) {
		case 'mouseover':
			window.clearTimeout(zDehors);
			window.clearTimeout(zDessus);
			obj.className = 'cmshmenui'+(zTniv[k] ? '1' : '0');
			zDessus = window.setTimeout('menuOuvrir('+k+')', 1);
			break;
		case 'mouseout':
			obj.className = 'cmshmenu'+(zTniv[k] ? '1' : '0');
			zDehors = window.setTimeout('menuFermer()', 200);
			break;
		case 'click':
			if (zTcnu[k] == 'Y')
				window.location.href = zTnom[k]+'.php';
			break;
		}
	}
	function menuOuvrir(k) {
		//--- Enlever les sous-menus de niveau superieur
		niv = zTniv[k];
		ozmenu = getObjH('zmenu');
		for (g = 0; g < zNmenu; g++)
			if (zTniv[g] >= niv && g != k)
				if (obj = getObjH(g+'menusous'))
					ozmenu.removeChild(obj);

		if (zTeta[k] == 'X' || getObjH(k+'menusous'))
			return;

		//--- Emplacement pour deplier (variable: y == -1, y += 21)
		x = 0; y = -1;
		obj = getObjH(k+'menuopt');
		if (niv)
			obj = obj.firstChild;	//--- toujours TD

		if (navimac == 'ie' && niv)
			y += obj.offsetTop;

		if (obj.offsetParent)
			for (g = obj; g.offsetParent; g = g.offsetParent) {
				x += g.offsetLeft;
				y += g.offsetTop;
			}
		else {
			x = obj.x;
			y = obj.y - 1;
		}
/*		if (navimac == 'ie') {
			x -= xnavimac;
			y -= ynavimac;
		} */
		if (zTeta[k] == 'G')
			chn = 'style="left:0px;top:-999px">';
		else {
			if (niv)
				x += obj.offsetWidth + obj.nextSibling.offsetWidth;
			else
				y += 21;
			chn = 'style="left:'+x+'px;top:'+y+'px">';
		}
		//--- Creer le sous-menu
		chn = '<table id="'+k+'menusous" class="cmshmenu1tab" cellspacing="0" '+chn;
		niv++;
		for (g = k, g++; g < zNmenu && zTniv[g] >= niv; g++)
			if (zTniv[g] == niv) {
				chn += '<tr id="'+g+'menuopt" class="cmshmenu1';
				if (zTcnu[g] != 'Y')
					chn += '" style="cursor:default';
				if (zTeta[g] == 'X')
					chn += '"><td colspan="2">'+zTtxt[g]+'</td>';
				else
					chn += '"><td>'+zTtxt[g]+'</td><td><img src="mat/hmenu'+zTeta[g]+'.gif" alt="" /></td>';
				chn += '</tr>';
			}
		chn += '</table>';
		chn = ozmenu.innerHTML + chn;
		ozmenu.innerHTML = chn;
		chn = '';

		//--- Replacer si a gauche
		if (zTeta[k] == 'G') {
			obj = getObjH(k+'menusous');
			x -= obj.offsetWidth;
			obj.style.left = x+'px';
			obj.style.top = y+'px';
		}
	}
	function menuFermer() {
		window.clearTimeout(zDessus);
		ozmenu = getObjH('zmenu');
		for (k = 0; k < zNmenu; k++)
			if (obj = getObjH(k+'menusous'))
				ozmenu.removeChild(obj);

		if (navimac == 'ie') {
			chn = ozmenu.innerHTML;
			ozmenu.innerHTML = chn;
		}
	}
	function menuChemin() {
		chn = "&nbsp;";
		if (zPage != -1)
			for (k = zTchm.length, k--; k >= 0; k--) {
				if (zTcnu[zTchm[k]] == "Y" && k)
					chn += "<a href='"+zTnom[zTchm[k]]+".php' class='cmsachem'>"+zTtxt[zTchm[k]]+"<\/a>";
				else
					chn += zTtxt[zTchm[k]];
				if (k != 0)
					chn += " &gt;&gt; ";
			}
		chn = chn.replace(/<br \/>/g, " ");

		if (k = obtenirLById("zchemin"))
			k.innerHTML = chn;
	}
