//\//////////////////////////////////////////////////////////////////////////////////
//\
//\  Drop-down Menu Functions
//\  This notice must remain untouched at all times.
//\  Copyright I.T. Lity. All rights reserved.
//\
//\  Author: Patrice MOUSSET
//\  Last modified 7 VIII 2003
//\
//\  This script is published under the open source license applicable to Luciol.
//\  Please read the license agreement online at: www.luciol.info
//\
//\//////////////////////////////////////////////////////////////////////////////////

<!-- Identification of Browser: IE6 & NS6 not done -->
var dom = (document.getElementById) ? true : false;
var ns5 = ((navigator.userAgent.indexOf("Gecko")>-1) && dom) ? true: false;
var ns4 = (document.layers && !dom) ? true : false;
var ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false;
var ie4 = (document.all && !dom) ? true : false;

<!-- Drop-down menu management -->
var StepDeroule = 3.5;
var TimerID = null;
var NewTimerIsRunning = false;
var OldTimerIsRunning = false;
var NumberOfLayers =1 ;
var HeightLayerStart = 262;
var HeightLayerCurrent = new Array(NumberOfLayers);
var DerouleEnBas = new Array(NumberOfLayers);
var OldLayerClicked = "";
var NewLayerClicked = "";
var CurrentLayerClicked = "";

<!-- flag for mouse trailer variable shall be defined your HTML page script area prior to call to this script -->

function proprietes(objet)
{
  var texte = " ";
  for (var i in objet) texte += " " + i +"="+ objet[i] ;
  alert(texte);
}

function CloseAllLayers() {}
<!-- DISABLE FUNCTION
function CloseAllLayers() {
  flag=1;
  for(i=1;i<=NumberOfLayers;i++){
    //alert("debut");//Au depart les menus sont tous fermes donc leur hauteur courante est nulle
    HeightLayerCurrent[i] = 0;
    //De plus des que l'on cliquera sur l'un des menus, il se deroulera vers le bas au depart
    DerouleEnBas[i] = 1;
    if(ns4 || ns5){
      document.layers["LayerDeroulant" + i].clip.bottom = HeightLayerCurrent[i];		
    }
    else{
      document.all["LayerDeroulant" + i].style.clip = "rect("+0+" "+3000+" "+HeightLayerCurrent[i]+" "+0+" )"; 	
    }
  }	
}
END OF DISABLE FUNCTION -->

function LaunchDeroule() {
  if(DerouleEnBas[NewLayerClicked] == 1) {
    flag=-1;
    HeightLayerCurrent[NewLayerClicked] = HeightLayerCurrent[NewLayerClicked] + StepDeroule
    if(HeightLayerCurrent[NewLayerClicked] > HeightLayerStart) {
      HeightLayerCurrent[NewLayerClicked] = HeightLayerStart;
      NewTimerIsRunning = false;
      OldTimerIsRunning = false;
      DerouleEnBas[NewLayerClicked] = 0;
    }
  }
  else {
    HeightLayerCurrent[NewLayerClicked] = HeightLayerCurrent[NewLayerClicked] - StepDeroule
    if(HeightLayerCurrent[NewLayerClicked] < 0) {
      HeightLayerCurrent[NewLayerClicked] = 0;
      NewTimerIsRunning = false;
      OldTimerIsRunning = false;
      DerouleEnBas[NewLayerClicked] = 1;
    }
    flag=1;
  }

  if(ns4 || ns5) {
    document.layers["LayerDeroulant" + NewLayerClicked].clip.bottom = HeightLayerCurrent[NewLayerClicked];
  }
  else {
    document.all["LayerDeroulant" + NewLayerClicked].style.clip = "rect("+0+" "+3000+" "+HeightLayerCurrent[NewLayerClicked]+" "+0+" )"; 		
  }
  //On aurait pu choisir independemment NewTimer ou OldTimer pour le test
  if(NewTimerIsRunning == true)	{
    TimerID = setTimeout("LaunchDeroule()",17);
  }	
}

function Deroule(LayerClickedNum) {
  if(NewTimerIsRunning == false) {
    NewTimerIsRunning = true;
  }
  if(OldTimerIsRunning == false) {
    OldTimerIsRunning = true;
  }
  CurrentLayerClicked = LayerClickedNum;	
  NewLayerClicked = CurrentLayerClicked;

  LaunchDeroule();
}
<!-- end of drop-down menu management -->
