/*
*** DaMenu Ver 0.13 au 07/03/2002 ***
Utilisation : 
exemple : onMouseOver="MM_callJS('daMenu('pomme',1,1)')" 

daMenu([le nom du calque à afficher dans l'ex ci dessus c pomme], [le niveau de votre calque dans l'arborscence : de 1 à n dans l'ex ci dessous c 1], [facultatif : si vous voulez que les sousrubriques s'affichent sur un clic de la rubrique puis qu'apres ce  clic les autres sous rubriques s'affichent sur un survol (comme le menu windows) il faut rajouter une virgule et inscrire 1 dans le onmouseover des liens des calques de niveau 1 comme dans l'ex ci dessus])

Note sur la parade du bug des menus déroulants :
daMenu cache automatiquement tous les calque portant la nom "déroulant
*/ 

// *** Délcaration des varaibles ***
var stock = new Array(); // Le tableau qui stock le nom des calques
var check = 0; // intialisation du check

// *** Mise en place du calque récepteur des cliques "en dehors" ***
// document.write('<div id="blank" style="position:absolute; left:0px; top:0px; width:760px; height:420px; z-index:0; visibility: hidden"><img src="script/blank.gif" width="760" height="420" onMouseDown="daMenu(\'blank\',1,0)"></div>');

// *** Utiliser la bonne instruction en fonction du navigateur ***
if (document.getElementById) {
  prefixe = "moncalque = document.getElementById(";
  suffixe = ")";
  show = "; moncalque.style.visibility = 'visible'";
  hide = "; moncalque.style.visibility = 'hidden'";  }

else if (document.all) { 
  prefixe = "document.all[";
  suffixe = "]";
  show = ".style.visibility = 'visible'"; 
  hide = ".style.visibility = 'hidden'"; }

else if (document.layers) {
  prefixe = "document.layers[";
  suffixe = "]";
  show = ".visibility = 'show'";
  hide = ".visibility = 'hidden'"; }

// *** Corps du script : le niveau à cacher, le calque à afficher, et si le mouseOver est en survol
function daMenu(afficher,niveau,survol) {
// * Détection du second mousOver
if ((survol == 1) && (stock[0] != null)) { check = 1; }
if (!survol) { check = 1; }
if (survol == 0) { check = 0; } // pour re-initialiser onClick

  // * Cacher les calques et destockage dans sotck
  if ((niveau) && (stock.length >= niveau)) {
	for(i = stock.length; i >= niveau; i--) {
	  showhide(stock[(i-1)],0);
	  stock = stock.slice(0,(i-1)); }
	  
	// * Afficher les calques "menu deroulant" deroulant1, deroulant2, etc... et cacher blank
    j=1; while (eval(prefixe+"'deroulant'+j"+suffixe)) { showhide('deroulant'+j,1); j++; }
    showhide('blank',0);
  }
   
  // * Afficher les claques et stockage dans stock
  if ((afficher) && (check == 1)) {
    showhide(afficher, 1);
	for(i = stock.length; i < niveau; i++) {
    if (stock[i] == null) { stock[i] = afficher; }
    
    // * Cacher les calques "menu deroulant" deroulant1, deroulant2, etc... et afficher blank
    j=1; while (eval(prefixe+"'deroulant'+j"+suffixe)) { showhide('deroulant'+j,0); j++; }
	showhide('blank', 1);
    }
  }
}

// Showhide pour afficher ou cacher un calque
function showhide (nom, visible) {
  if (visible == 1) { eval(prefixe+"nom"+suffixe+show); }
  else { eval(prefixe+"nom"+suffixe+hide); }
}

