<!-- Menu -->
ns4 = (document.layers) ? true:false
ie4 = (document.all) ? true:false 
ng5 = (document.getElementById) ? true:false 

function hideMenu() {
if (ng5) document.getElementById('menu1').style.visibility = "hidden"
else if (ns4) document.menu2.visibility = "hide"
else if (ie4) menu2.style.visibility ="hidden"

if (ng5) document.getElementById('menu2').style.visibility = "hidden"
else if (ns4) document.menu3.visibility = "hide"
else if (ie4) menu3.style.visibility ="hidden"

if (ng5) document.getElementById('menu3').style.visibility = "hidden"
else if (ns4) document.menu3.visibility = "hide"
else if (ie4) menu3.style.visibility ="hidden"

if (ng5) document.getElementById('menu4').style.visibility = "hidden"
else if (ns4) document.menu3.visibility = "hide"
else if (ie4) menu3.style.visibility ="hidden"

if (ng5) document.getElementById('menu5').style.visibility = "hidden"
else if (ns4) document.menu3.visibility = "hide"
else if (ie4) menu3.style.visibility ="hidden"

if (ng5) document.getElementById('menu6').style.visibility = "hidden"
else if (ns4) document.menu3.visibility = "hide"
else if (ie4) menu3.style.visibility ="hidden"

if (ng5) document.getElementById('menu7').style.visibility = "hidden"
else if (ns4) document.menu3.visibility = "hide"
else if (ie4) menu3.style.visibility ="hidden"

if (ng5) document.getElementById('menu8').style.visibility = "hidden"
else if (ns4) document.menu3.visibility = "hide"
else if (ie4) menu3.style.visibility ="hidden"

if (ng5) document.getElementById('menu9').style.visibility = "hidden"
else if (ns4) document.menu3.visibility = "hide"
else if (ie4) menu3.style.visibility ="hidden"

if (ng5) document.getElementById('menu10').style.visibility = "hidden"
else if (ns4) document.menu3.visibility = "hide"
else if (ie4) menu3.style.visibility ="hidden"
}

function showMenu(n) {
hideMenu();
if (ng5) document.getElementById('menu' + n).style.visibility = "visible";
else if (ns4) document.layers["menu" + n].visibility = "show";
else if (ie4) document.all["menu" + n].style.visibility = "visible";
}

function showAllMenu(n) {
if (ng5) document.getElementById('menu' + n).style.visibility = "visible";
else if (ns4) document.layers["menu" + n].visibility = "show";
else if (ie4) document.all["menu" + n].style.visibility = "visible";
}

// le script s'ajoute au chargement
addEvent(window,"load",daMenu_onload);

function daMenu_onload() {
	daMenu_init('daMenu');
}

/**
 * Masque toutes les entrées du menu.
 * Retire la classe "actif" à tous les LI si elle est présente
 * @param string id l'id du menu
 */
function daMenu_hideall(id)
{
	var navroot = document.getElementById(id);
	if ( ! navroot ) return; // erreur
	var li = navroot.getElementsByTagName("LI");
	for ( var i = 0; i < li.length; i++ ) {
		var actif = li[i].className.indexOf("actif");
		if ( actif >= 0 ) 
			li[i].className = li[i].className.substr(0,actif);
	}
}

/**
 * Affiche l'entrée "elt" du menu.
 * Ajoute la classe "actif".
 * @param elt l'élément.
 */
function daMenu_show(elt)
{
	if ( ! elt )
		return;

	if ( elt.className.indexOf("actif") < 0 )
		elt.className += " actif";
}

/**
 * Initialise le script.
 * Trouve le menu identifié par un id et l'active.
 * @param id l'id du menu
 */
function daMenu_init(id)
{
	var navroot = document.getElementById(id);
	if ( ! navroot ) return; // erreur
	
	var li = navroot.getElementsByTagName("LI");
	for ( var i = 0; i < li.length; i++ ) {
		var ul = li[i].getElementsByTagName("UL");
		if ( ul.length > 0 ) {
			li[i].onmouseover = function() {
				// ne pas refaire si c'est déjà l'élément actif
				// évite les problèmes de scintillement
				if ( this.className.indexOf("actif") < 0 ) {
					daMenu_hideall(id);
					daMenu_show(this);
				}
			}
		}
	}
	
}

/**
 * Permet d'ajouter des evenements
 * @param obj l'objet (en g�n�ral "window")
 * @param evType le type d'evenement (en g�n�ral "load")
 * @param fn la fonction � appeller
 * @see http://www.onlinetools.org/articles/unobtrusivejavascript/chapter4.html
 */
function addEvent(obj, evType, fn)
{
	if (obj.addEventListener) { 
		obj.addEventListener(evType, fn, false); 
		return true; 
	} else if (obj.attachEvent) { 
		var r = obj.attachEvent("on"+evType, fn); 
		return r; 
	} else { 
		return false; 
	} 
}

