var HTHnd=new Array;var OpenMenus=new Array;var nOM=0;var posPointeurX;var posPointeurY;var tempsAttente=100;var menuEstOuvert=false;var coulFond;var coulBord;var nomFont;var tailleFont;var coulFont;var repImage;var hauteurMenu;var largeurMenu;var hauteurTexte;var largeurTexte;var ancHauteur;var nbMenu = 0;var nbSousMenu = 0;var tabHauteur = new Array;var tabLargeur = new Array;var tabnomImg = new Array;var tabImgOff = new Array;var ancNomMenu="";var NSLargeurFen;var NSHauteurFen;var NStabSM = new Array;var NStabURL = new Array;var BV=parseFloat(navigator.appVersion.indexOf("MSIE")>0?navigator.appVersion.split(";")[1].substr(6):navigator.appVersion);var BN=navigator.appName;var IsWin=(navigator.userAgent.indexOf('Win')!=-1);var IsMac=(navigator.userAgent.indexOf('Mac')!=-1);var OP=(navigator.userAgent.indexOf('Opera')!=-1&&BV>=4)?true:false;var NS=(BN.indexOf('Netscape')!=-1&&(BV>=4&&BV<5)&&!OP)?true:false;var SM=(BN.indexOf('Netscape')!=-1&&(BV>=5)||OP)?true:false;var IE=(BN.indexOf('Explorer')!=-1&&(BV>=4)||SM)?true:false;

function ParametresMenu (couleurFond,couleurBord,nFont,tFont,couleurFont,rep)
{
  coulFond = couleurFond;
  coulBord = couleurBord;
  nomFont = nFont;
  tailleFont = tFont;
  coulFont = couleurFont;
  hauteurMenu = tFont + 8;
  repImage = rep;
}


function AjoutMenu(nomMenu,hMenu,lMenu,nomImage,imageOff)
{
  largeurMenu = lMenu
	
  largeurTexte = lMenu - 5
  if (OP) lMenu = lMenu + 2
  else if (SM) lMenu = lMenu + 4
  else lMenu = lMenu + 8
  with(document)
  {
    write('<DIV id="'+nomMenu+'" style="position:absolute;left:0px;top:0px;width:'+lMenu+'px;height:'+hMenu+'px;z-index:1000;visibility:hidden">')
    write('  <DIV style="position:absolute;left:0px;top:0px;width:12px;height:7px;">');
    if (SM) write('    <TABLE cellspacing="0" cellpadding="0" border="0" width="'+(lMenu+4)+'"><TR>');
    else write('    <TABLE cellspacing="0" cellpadding="0" border="0" width="'+lMenu+'"><TR>');
    write('      <TD width="10"><IMG src="'+repImage+'images/menuhg.gif"></TD>');
    write('      <TD width="100%" background="'+repImage+'images/menuh.gif"></TD>');
    write('      <TD width="10"><IMG src="'+repImage+'images/menuhd.gif"></TD>');
    write('    </TR></TABLE>');
    write('  </DIV>');
    write('<DIV id="'+nomMenu+'frmt" style="position:absolute;left:0px;top:6px;width:'+lMenu+'px;height:'+(hMenu-12)+'px;background-color:'+coulFond+';border-left:'+coulBord+' 2px solid;border-right:'+coulBord+' 2px solid;">')
  }
  ancHauteur = 2
  nbSousMenu = 0
  if (SM) tabHauteur[nomMenu] = hMenu - 5;
  else tabHauteur[nomMenu] = hMenu;
  tabLargeur[nomMenu] = lMenu;
  tabnomImg[nomMenu] = nomImage;
  tabImgOff[nomMenu] = imageOff;
}

function FinMenu()
{
  document.onmousemove=Deplacement;
  document.onmousemove=document.onmousemove;
  if(SM)
  {
    var i=0;
    var m;
    while(document.getElementById(i))
    {
      m=document.getElementById(i++);
      m.style.width=parseInt(m.style.width)-2*parseInt(m.style.paddingLeft)+"px";
      m.style.height=parseInt(m.style.height)-2*parseInt(m.style.paddingTop)+"px";
    }
  }
}


function AjoutSousMenu(nomMenu,titreMenu,nomUrl)
{
  with(document)
  {
    write('<div style="white-space=nowrap;position:absolute;left:2px;top:'+ancHauteur+'px;width:'+largeurMenu+'px;height:'+hauteurMenu+'px;font-family:'+nomFont+';font-size:'+tailleFont+'px;text-decoration:none;color:'+coulFont+';cursor:hand;background-color:'+coulFond+'" id="SM'+nbSousMenu+'" onMouseover="SelectionMenu(0,this);status=\''+titreMenu+'\'" onClick="document.location.href=\''+nomUrl+'\'">')
    write('<span style="position:absolute;left:3px;top:4px;width:'+largeurTexte+'px;height:'+tailleFont+'px">')
    write('<div style="position:absolute;left:0px;top:-1px;width:'+largeurTexte+'px" align=left>')
    write(nomMenu)
    write('</div></span></div>')
  }
  ancHauteur += tailleFont + 8;
  nbSousMenu =nbSousMenu + 1;
}


function FinSousMenu()
{
  with(document)
  {
    write('<div style="position:absolute;left:-2px;top:'+ancHauteur+'px;width:12px;height:10px;">');
    write('<TABLE cellspacing="0" cellpadding="0" width="'+(largeurMenu+8)+'"><TR>');
    write('<TD width="10"><IMG src="'+repImage+'images/menubg.gif"></TD>');
    write('<TD width="100%" background="'+repImage+'images/menub.gif"></TD>');
    write('<TD width="10"><IMG src="'+repImage+'images/menubd.gif"></TD>');
    write('</TR></TABLE>');
    write('</div>');
    write('</div></div>');
  }
}


function DonneCommandeCourante(e)
{
  if (SM) var cc=e;
  else
  {
    var cc=window.event;
    if(!cc) 
      cc=window.event;
    cc=cc.srcElement;
  }
  while(cc.id=="")
  {
    cc=cc.parentElement;
    if(cc==null) break;
  }
  return cc;
}


function SelectionMenu(mode,e)
{
  var mc;
  if(mode==0&&OpenMenus[nOM].SelCommand!=null)
  {
    SelectionMenu(1);
  }
  if(mode==0)
  {
    mc=DonneCommandeCourante(e);
    OpenMenus[nOM].SelCommand=mc;
    OpenMenus[nOM].SelCommandPar=[SM?mc.getAttribute("style"):mc.style.cssText];
    mc.style.color = coulFond;
    mc.style.background = coulFont;
    if (SM) mc.style.cursor = "pointer";
  }
  else
  {
    mc=OpenMenus[nOM].SelCommand;
    if(IsMac) mc.style.border="0px none";
    mc.style.color = coulFont;
    mc.style.background = coulFond;
    OpenMenus[nOM].SelCommand=null;
  }
  return true;
}


function EffacerMenu()
{
  if (HTHnd[nOM] != 0)
  {
    window.clearTimeout(HTHnd[nOM]);
    HTHnd[nOM]=0;
  }
  if(nOM)
  {
    if(OpenMenus[nOM].SelCommand!=null) SelectionMenu(1);
    if (ancNomMenu != "")
    {
      basculeImage(tabnomImg[ancNomMenu],tabImgOff[ancNomMenu]);
      ancNomMenu = nomMenu;
    }
    OpenMenus[nOM].visibility="hidden";
    nOM--;
  }
  if(!DansMenu() && (nOM != 0)) HTHnd[nOM]=window.setTimeout("EffacerMenu()",tempsAttente/4);
}

 
function EffacerMenu2()
{
  if (HTHnd[nOM] != 0)
  {
    window.clearTimeout(HTHnd[nOM]);
    HTHnd[nOM]=0;
  }
  if(nOM)
  {
    if(OpenMenus[nOM].SelCommand!=null) SelectionMenu(1);
    basculeImage(tabnomImg[nomMenu],tabImgOff[nomMenu]);
    OpenMenus[nOM].visibility="hidden";
    nOM--;
  }
  if(!DansMenu() && (nOM != 0)) HTHnd[nOM]=window.setTimeout("EffacerMenu()",tempsAttente/4);
}

 
function AfficheMenu(VNom,nomImage)
{
  nomMenu = VNom
  if (HTHnd[nOM] !=0)
  {
		window.clearTimeout(HTHnd[nOM]);
		HTHnd[nOM]=0;
  }

  var Menu=document.getElementById(VNom);	
  if(!Menu) return false;
  Menu=Menu.style;
  Menu.frmt=document.getElementById(VNom+"frmt").style;
  if(nOM>0) 
  if(OpenMenus[1].mName==VNom)
  {
    menuEstOuvert=true;
    return false;
  }
  if(Menu==OpenMenus[nOM]) return false;
	
  EffaceTous();
	
  Menu.mName=VNom;
  Menu.Opener=nOM>0?OpenMenus[nOM].SelCommand:null;
  Menu.OpenerPar=nOM>0?OpenMenus[nOM].SelCommandPar:null;
  Menu.SelCommand=null;

  if(nomImage)
  {
    var imgObj=document.images[nomImage];
    if(imgObj)
    {
      position = PositionMenu(Menu,imgObj);
      x=position[0];
      y=position[1];
    }
  }
	
  Menu.left=x+"px";
  Menu.top= y+"px";
  OpenMenus[++nOM]=Menu;

  if(SM) Menu.display="inline";
  Menu.visibility="visible";
  HTHnd[nOM]=0;
  return true;
}


function DansMenu()
{
  var m=OpenMenus[nOM];
  if(!m) return false;
  var gauche=parseInt(m.left);
  var droit=gauche+tabLargeur[nomMenu];
  var haut=parseInt(m.top)+2;
  var bas=haut+tabHauteur[nomMenu];
  return ((posPointeurX>=gauche&&posPointeurX<=droit)&&(posPointeurY>=haut&&posPointeurY<=bas))||menuEstOuvert;
}


function PositionPointeur(e)
{
  if ((document.all) || OP)
  {
    if(event==null) 
      if(window.event==null) 
        return;
      else 
        e=window.event;
    else e=event;
    posPointeurX=e.clientX+document.body.scrollLeft;
    posPointeurY=e.clientY+document.body.scrollTop;
  }
  else if(document.getElementById)
  {
    posPointeurX=e.clientX+window.scrollX;
    posPointeurY=e.clientY+window.scrollY;
  }
  else
  {
    posPointeurX=e.pageX;
    posPointeurY=e.pageY;
  }
}


function Deplacement(e)
{
  if(nOM>0)
  {
    PositionPointeur(e);
    if(OpenMenus[nOM].SelCommand!=null)
      if(!DansMenu()&&!HTHnd[nOM]) 
        HTHnd[nOM]=window.setTimeout("if(nOM>0)if(!DansMenu())EffacerMenu2()",tempsAttente);
  }
}


function EffaceTous()
{
  if(nOM) 
    while(nOM>0) 
      EffacerMenu();
  else
    EffacerMenu();
}


function BoutonOut()
{
  menuEstOuvert=false;
  HTHnd[nOM]=window.setTimeout("if(!DansMenu())EffaceTous();else HTHnd[nOM]=0;",tempsAttente);
}


function PositionMenu(Menu,imgObj)
{
  position=DonnePosImage(imgObj);
  x=position[0]+imgObj.width+2;
  y=position[1]-7;
  return[x,y];
}


function DonnePosImage(imgObj)
{
  x=imgObj.offsetLeft;
  y=imgObj.offsetTop;
  ce=imgObj.offsetParent;
  while (ce!=null)
  {
    y+=ce.offsetTop;
    x+=ce.offsetLeft;
    ce=ce.offsetParent;
  }
  return[x,y];
}

