<!--// Michel Deboom septembre 2004 menu largeur auto,flèches txt
var delai,menu,dul,db,class_menu;
var pause=1500;
var D=document;
var wul1=0;
var ie=D.all?1:0;op=window.opera?1:0;dtd=D.compatMode=="CSS1Compat"?1:0;
var lesMenus = new Array ();
var menuCount = 0;

// parametrage :
// fleches pour niveau horizontal, vertical ou vertical a droite
flh='...'; flg='&#8250;'; fld='&#8249;';
flc=ie?4:8 ;// espace pour la flèche
//correction bug padding+border ie et opéra non dtd 
da=10 // des liens
dul=(ie&!dtd)?4:0; // des ul
danc=(ie&!dtd)?10:0;// hauteur du div "ancre_menu"

function initMenu(id_menu,class_menu)
{
  de=ie&!op&&dtd?D.documentElement:D.body; //exception IE6 dtd
  fx=ie&!op?de.clientWidth:innerWidth-20;  //l fenetre
  menu=D.getElementById(id_menu);
  wul=[]; // tableau des largeurs de sous-menus
  as=menu.getElementsByTagName('a');
  sousMenu=menu.getElementsByTagName('ul');
  elem=document.getElementsByTagName('select');
  
  // ajoute a href="#" dans les li sans lien .
  lis=menu.getElementsByTagName('li');
  for(i=0;i<lis.length;i++)
    {
      var L=lis[i];
      if(L.firstChild.tagName!="A")
	{
	  titre=L.firstChild.data;L.removeChild(L.firstChild);
	  L.innerHTML='<a href="#">'+titre+'<\/a>'+L.innerHTML;L.className="titre";
	}
      else L.className+=" lien"; // avec url 
    }
  //ajoute un id aux sous-menus
  for(j=0;j<sousMenu.length;j++)
    {
      // sousMenu[j].id="ul"+id_menu+j;
      sousMenu[j].id="ul"+j;
      wul[j]=0;
    }
  //construction du menu :
  for(i=0;i<as.length;i++)
    {
      var lien=as[i];
      wa=lien.offsetWidth;
      smenu=lien.parentNode.getElementsByTagName('ul')[0]?1:0;
      if (smenu) 
	wa+=flc;
      // 1er niveau horizontal 
      if(lien.parentNode.parentNode.id==id_menu)
	{
	  if(class_menu=="mh")
	    {
	      if(smenu&&lien.innerHTML!="")lien.innerHTML+=flh;
	      wa=lien.offsetWidth;wul1+=wa+da;     
	    }            
	  else 
	    { // vertical
	      if(wa>wul1)
		{wul1=wa+da;};
	      // ajoute les fleches 
	      if(smenu){
		lien.innerHTML=(class_menu=="vd")?'<span class="fl">'+fld+'</span>'+
		  lien.innerHTML:lien.innerHTML+'<span class="fl">'+flg+'</span>&nbsp;';}
	    }
	}
      //autres niveaux verticaux
      else {
	// n=eval(lien.parentNode.parentNode.id.substr(13,2));
	n=eval(lien.parentNode.parentNode.id.substr(2,2));
	if(wa>wul[n]){wul[n]=wa;};
	// ajoute les fleches 
	if(smenu)lien.innerHTML=(class_menu=="vd")?'<span class="fl">'+fld+'</span>'+
		   lien.innerHTML:lien.innerHTML+'<span class="fl">'+flg+'</span>&nbsp;';
      }
      //ajoute les evenements.
      lien.onmouseover=lien.onfocus=function()
	{
	  ul_parent=this.parentNode.parentNode;
	  ul=this.parentNode.getElementsByTagName('ul')[0]
	  eftoutsauf (id_menu);
	  ef(ul_parent); // cache tout apres l'ul parent
	  if(ul){
	    ul.style.visibility="visible";// montre l'ul enfant
	    (class_menu=="vd")?ul.style.right="100%":
	      (class_menu=="mh"&&ul_parent.id!=id_menu)||(class_menu=="vg")?ul.style.left="100%":0;
	    this.className="suivi"; // marquage du suivi de lien 
	    voirSelect('hidden'); 
	  }
	};
      lien.onmouseout=function(){delai=setTimeout('eftout()',pause)};
    }
  
  //fixe la largeur du 1er menu :
  if(wul1)menu.style.width=wul1+dul+"px";

  //largeur des sous-menu verticaux et de leurs liens :
  for(var x=0;x<wul.length;x++){
    ula=sousMenu[x].getElementsByTagName('a');dda=(ie&!dtd)?da:0;
    for(var i=0;i<ula.length;i++){ula[i].style.width=wul[x]+dda+"px";
    }
  sousMenu[x].style.width=wul[x]+da+dul+"px";
  }
  if (lien)
    lien.onblur=eftout; // pour navigation clavier IE
  menu.className=class_menu; //activation retardee de la feuille de style
  
  // replace les fleches des menus verticaux au bons endroits.
  span = menu.getElementsByTagName('span');
  for(i=0;i<span.length;i++)
    {
      A=span[i].parentNode;c=span[i].style;
      if(span[i].className=="fl")
	{
	  c.top=A.offsetTop+2+"px";c.left=(class_menu=="vd")?4+"px":A.offsetWidth-8+"px";
	}
    }
  lesMenus [menuCount] = id_menu;
  menuCount++;
  ancremenu(id_menu);
}

function ancremenu(id_menu){
  ancre=D.getElementById('ancre_'+id_menu);
  if(ancre){
  ancre.appendChild(menu);
  with(ancre.style){
    height=menu.offsetHeight+danc+'px';width=menu.offsetWidth+dul+'px';
    }
  }
}

function ef(lemenu) 
{
  //cache les uls qui suivent cet ul.
  clearTimeout(delai);
  var ul;
  var li=lemenu.getElementsByTagName('li');
  for(i=0;i<li.length;i++)
    {
      ul=li[i].getElementsByTagName('ul')[0];
      if(ul)
	{
	  ul.style.visibility="hidden";
	  li[i].firstChild.className=""; //retabli le marquage initial
	}
    }
}
/********
function eftout()
{
  var lemenu;
  for (im=0;im<menuCount;im++)
    {
      lemenu = D.getElementById (lesMenus [im]);
      ef(lemenu);
      lemenu.style.visibility="hidden";
      lemenu.style.visibility="visible";// bug ie
 }
  voirSelect('visible');
}

function eftoutsauf(menuid)
{
  var lemenu;
  for (im=0;im<menuCount;im++)
    {
      if (menuid != lesMenus [im])
	{
	  lemenu = D.getElementById (lesMenus [im]);
	  ef(lemenu);
	  voirSelect('visible');
	  lemenu.style.visibility="hidden";
	  lemenu.style.visibility="visible";// bug ie
	}
    }
}
***/

// bug ie corrige : cache les <select> quand le menu est visible
function voirSelect(v){
if(ie&!op){for(i=0;i<elem.length;i++)elem[i].style.visibility=v;}
}

// D.onclick=function () {eftout(); cacheAllMenu()} // pour navigation clavier IE


//-->

