var mastertabvar=new Object()
var hide=new Object()
mastertabvar.baseopacity=0
mastertabvar.browserdetect=""

function showsubmenu(masterid, id){

if (typeof highlighting!="undefined")
clearInterval(highlighting)
if (typeof hide[masterid]!="undefined")
clearTimeout(hide[masterid])
submenuobject=document.getElementById(id)
if (submenuobject.style.display=="inline") {
  avoidFade=true;
}
else {
  avoidFade=false;
}
mastertabvar.browserdetect=submenuobject.filters? "ie" : typeof submenuobject.style.opacity=="string"? "mozilla" : ""
hidesubmenus(mastertabvar[masterid])
submenuobject.style.display="inline"
if (!avoidFade) {
  instantset(submenuobject,mastertabvar.baseopacity)
}
highlighting=setInterval("gradualfade(submenuobject)",50)
}

function hidesubmenus(submenuarray){
for (var i=0; i<submenuarray.length; i++)
document.getElementById(submenuarray[i]).style.display="none"
}

function hideafterdelay(num){
  hidesubmenus(mastertabvar[num])
}

function instantset(curentmenu,degree){
if (mastertabvar.browserdetect=="mozilla")
curentmenu.style.opacity=degree/100
else if (mastertabvar.browserdetect=="ie")
curentmenu.filters.alpha.opacity=degree
}


function gradualfade(cur2){
if (mastertabvar.browserdetect=="mozilla" && cur2.style.opacity<1)
cur2.style.opacity=Math.min(parseFloat(cur2.style.opacity)+0.1, 0.99)
else if (mastertabvar.browserdetect=="ie" && cur2.filters.alpha.opacity<100)
cur2.filters.alpha.opacity+=10
else if (typeof highlighting!="undefined") //fading animation over
clearInterval(highlighting)
}

function completeAncestor(tabid) {
 if (mastertabvar[tabid].parent!="ROOT"){
  parent=mastertabvar[tabid].parent
  for (var i=0; i<mastertabvar[tabid].length; i++){
   if (mastertabvar[tabid][i]!=mastertabvar[tabid].parent){
    mastertabvar[parent][mastertabvar[parent].length]=mastertabvar[tabid][i];
   }
  }
  completeAncestor(parent); //appel récursif
 }
}

function initalizetab(tabid,parentMenu){
 if (parentMenu==undefined){parentMenu="ROOT"}
 mastertabvar[tabid]=new Array()
 mastertabvar[tabid].parent=parentMenu;
 if (tabid=="maintab") {roottab=mastertabvar[tabid];}
 var menuitems=document.getElementById(tabid).getElementsByTagName("li")
 for (var i=0; i<menuitems.length; i++){
  if (menuitems[i].getAttribute("rel")){
   menuitems[i].setAttribute("rev", tabid) //associate this submenu with main tab
   mastertabvar[tabid][mastertabvar[tabid].length]=menuitems[i].getAttribute("rel") //store ids of submenus of tab menu
   if (menuitems[i].className=="selected") // cas d'un menu sélectionné déjà ouvert au chargement de la page
    showsubmenu(tabid, menuitems[i].getAttribute("rel"))
   menuitems[i].getElementsByTagName("a")[0].onmouseover=function(){
    showsubmenu(this.parentNode.getAttribute("rev"), this.parentNode.getAttribute("rel"))
   }

   // lance l'extinction à retardement d'un sous menu (après rollout du menu parent)
   menuitems[i].getElementsByTagName("a")[0].onmouseout=function(){
    hide[tabid]=setTimeout('hideafterdelay("'+tabid+'");',500)
   }
   
   // interrompt l'extinction à retardement d'un sous menu (en rollover dans le sous menu)
   document.getElementById(menuitems[i].getAttribute("rel")).onmouseover=function(){
    if (typeof hide[tabid]!="undefined"){
     clearTimeout(hide[tabid]) 
    }
    if (typeof hide["maintab"]!="undefined"){
     clearTimeout(hide["maintab"]) 
    }    
   }

   // lance l'extinction à retardement d'un sous menu (après rollout de celui-ci)
   document.getElementById(menuitems[i].getAttribute("rel")).onmouseout=function(){
    hide["maintab"]=setTimeout('hideafterdelay("maintab");',500)
    if (tabid!="maintab") {
     hide[tabid]=setTimeout('hideafterdelay("'+tabid+'");',500)    
    }
   }
  }
 }
 // on complète le menu ancètre avec les nouveaux sousMenu
 completeAncestor(tabid);
}
