<!-- // Michel Deboom septembre 2004 // -->
var men_delai;
var men_pause=300;
var men_ie = document.all ? 1 : 0;
var men_op = window.opera ? 1 : 0;
var men_menu = null;

/* Initialize menu from an ul / li elements list */
var men_init = function( id_menu, class_menu ) {
	men_menu = ID(id_menu);
	wul=[] // tableau des largeurs de sous-menus
	as=men_menu.getElementsByTagName('a');
	a_css=[];	
	for(i=0;i<as.length;i++) {
		if(as[i].className != '') {
			as[i].id = "a"+i;
			a_css.push(as[i]);
		}
	}
	sousMenu=men_menu.getElementsByTagName('ul');
	elem=document.getElementsByTagName('select');
	// ajoute un id aux sous-menus
	for(j=0;j<sousMenu.length;j++) {
		sousMenu[j].id="ul"+j;
		wul[j]=0;
	}
	// construction du menu :
	for(i=0;i<as.length;i++) 
	{
		lien=as[i];
		smenu=lien.parentNode.getElementsByTagName('ul')[0]?1:0;
		if(lien.parentNode.parentNode.id!=id_menu){
			n=eval(lien.parentNode.parentNode.id.substr(2,2));
			// ajoute les classes pour les niveaux inférieurs 
			if(smenu){
				if( lien.innerHTML.strip() != "" ) {
					lien.innerHTML = '<span class="plus">'+lien.innerHTML+'</span>';
				}
			}
		}
		// ajoute les évènements.
		lien.onmouseover=lien.onfocus=function(){
			ul_parent=this.parentNode.parentNode;
			ul=this.parentNode.getElementsByTagName('ul')[0]
			men_ef(ul_parent); // cache tout après l'ul parent
			if(ul){
				// Si il y a un sous menu
				ul.style.display="block";// montre l'ul enfant
				(ul_parent.id!=id_menu)?ul.style.left="100%":0;
				this.className="suivi"; // marquage du suivi de lien 
				men_cmb('hidden'); 
			}
		};
		lien.onmouseout=function(){
			men_delai=setTimeout(function(){ men_eftout(men_menu) },men_pause);
		};
	}
}

/* cache les uls qui suivent cet ul */
var men_ef = function( ul ) { 
	clearTimeout(men_delai);
	var li=ul.getElementsByTagName('li');
	for(i=0;i<li.length;i++) {
 		var ul=li[i].getElementsByTagName('ul')[0];
		if(ul){
			ul.style.display="none";
			li[i].firstChild.className = ""; //rétabli le marquage initial
		}
		// LL: also remove class of li's "a"
		var a=li[i].getElementsByTagName('a')[0];
		if(a){
			a.className = "";
		}
	}
}

/* affiche le menu et les combo */
var men_eftout = function(men_obj) {
	men_ef(men_obj);
	men_cmb('visible');
}

/* bug ie corrig : cache les <select> quand le menu est visible */
var men_cmb = function( v ) {
	if( men_ie & ! men_op ) {
		for(i=0;i<elem.length;i++) {
			elem[i].style.visibility=v;
		}
	}
}
