<!--
// Michel Deboom février 2005, menu arborescent expansif sans image
// Adaptation KwsPHP par Otocinclus

// paramétrage :
//idMenu  = 'menu';
//idAncre = 'ancre_menu';
// mettre 0 pour désactiver une option :
mno = 1;				// un seul sous-menu ouvert par niveau
lien_ouvert = location; // lien ouvert par défaut

function initMenu(num)
{
  var pm;menuOuvert=[];// tableau des menus ouverts
  idMenu = 'menu'+num;
  objMenu=document.getElementById(idMenu);
  objMenu.className='menuD';
  liste=objMenu.getElementsByTagName('li');
  for(i=0;i<liste.length;i++){
    L=liste[i];
    lien=L.firstChild.href;
    if(lien){
      L.className="normal";
      // repère le lien de la page en cours
      if(lien == lien_ouvert){
        pm=L.parentNode;
        L.firstChild.className="lien_page";
      }
    }
    else {
		L.className="texte";
	}
    //ajoute un titre cliquable
    if(L.getElementsByTagName('ul')[0]){ // sous-menu éxistant
      titre=L.firstChild.data;
      L.removeChild(L.firstChild);
      L.innerHTML='<a href="#" title="développer" onkeydown="af(this)" onmousedown="af(this, 1);return false">'+titre+'<\/a>'+L.innerHTML;
      ef(L.firstChild) // réduit les sous_menus
    }
  }
  // montre le lien de la page et ouvre les menus parents
  gf=0;
  if(pm)
    while(pm.id!=idMenu && gf<30){
      af(pm.parentNode.firstChild);
      pm=pm.parentNode.parentNode
    }
//  ancreMenu();
}

// déplace le menu construit dans l'élément désigné.
function ancreMenu(){
  ancre=document.getElementById(idAncre);
  if(ancre){
    ancre.appendChild(objMenu);
    ancre.className='ancre_menu';
  }
}

// réduit.
function ef(el) {
  with (el){
    parentNode.getElementsByTagName('ul')[0].style.display="none";
    title="développer";
    parentNode.className="reduit";
  }
  return false;
}

// développe un sous-menu.
function af(el, mulot) {
  if(mulot)el.removeAttribute('href') // supprime le lien prévu pour la navigation clavier.
  with(el){
    sous_menu=parentNode.getElementsByTagName('ul')[0];
    if(sous_menu.style.display=="none"){
      sous_menu.style.display="block";
      title="réduire";
      parentNode.className="ouvert";
    }
    else {
      sous_menu.style.display="none";
      title="développer";parentNode.className="reduit";
    }
  }
  niveau=0;
  // un seul menu ouvert par niveau
  while(sous_menu.id!=idMenu&& niveau<30){
    niveau++;
    sous_menu=sous_menu.parentNode.parentNode;
  }
  if(menuOuvert[niveau] && el!=menuOuvert[niveau] && mno)
    ef(menuOuvert[niveau]);
  menuOuvert[niveau]=el;
}

// Fonction pour ajouter ou enlever un événement sans écraser l'éxistant.
function addEvent(obj,evType,fn,capt){
  if(obj.addEventListener){
    obj.addEventListener(evType,fn,capt);
    return true;
  } // DOM 2
  else if(obj.attachEvent)
    obj.attachEvent("on"+evType,fn); // IE 5+
  else {return false;}
}

//-->
