
/* Le principe des sous-menus multiples est d'utiliser des ID speciaux de 
   la forme suivante:
   - menu1, menu2, menu3... pour les entrees principales, puis
   - menu1.1, menu1.2, menu1.3 pour le sous-menu attache a 'menu1', puis
   - menu1.1.1, menu1.1.2, menu1.1.3... pour le sous-menu d'ordre 2 attache 
                                      au sous-menu menu1.1, etc...
   
   Quand on affiche un sous-menu, tous les sous-menus intermediaires 
   conduisant a ce sous-menus sont affiches et seulement ceux-la (c.a.d. on 
   ne peut pas ouvrir simultanement plusieurs branches de l'arborescence. 
   Si on sort de cette chaine de sous-menus, on retire tous les sous-menus 
   precedemment affiches.  
   Pour cela, on conserve les noms des sous-menus affiches dans un tableau 
   sousmenu[] qu'on met a jour au fil des demandes. */

   var sousmenu=new Array()

/* fonctions pour retirer ou montrer un bloc */

	 function retire() {  //le nombre d'arguments est variable
   var id=null;
   var element_style=null
   for(i=0;i<arguments.length;i++) {
      element_style=null;
      id=arguments[i];
		  if (document.getElementById) {
		    element_style=document.getElementById(id).style;
		  } else if (document.all) {
		    element_style=document.all[id].style;
		  } 

	    if(element_style)  element_style.display="none"
      }
    }
   

	 function montre(id) {
		var element_style=null
		if (document.getElementById) {
		  element_style=document.getElementById(id).style;
		} else if (document.all) {
		  element_style=document.all[id].style;
		} 

		if(element_style)  element_style.display="block"
    }


/* Affichage du sous-menu 'id' */

	 function affiche(id) {
				
    
	 /* Si on a reclique la derniere entree, on replie le sous-menu correspondant*/ 
   if (id == sousmenu[sousmenu.length-1]) { 
     retire(id); sousmenu.length --;
		 return;
		 }

   /* on retire les differents sous-menus qui ne sont pas dans la nouvelle 
   arborescence demandee.  Si on a ouvert menu1 :
    - l'ouverture de menu2 doit entrainer la fermeture de menu1
    - l'ouverture de menu1.1 ne doit pas entrainer cette fermeture 
	 Pour cela, on va enlever les deux derniers caracteres de 'id' et
	 comparer aux elements stockes dans le tableau des elements ouverts sousmenu[],
	 en retirant un par un tous les derniers blocs ouverts, jusqu'a ce qu'on 
	 ait la meme chose ou qu'il ne reste plus rien.*/
   
   var id1=id.substring(0,id.length-2);
   while (sousmenu.length != 0 && id1 != sousmenu[sousmenu.length-1]) {
     retire(sousmenu[sousmenu.length-1]);  sousmenu.length -- ;
   }


   /* On ouvre le bloc demande, sauf si id est vide */
   if (id) { montre(id); sousmenu[sousmenu.length]=id }  


    }
	 
	 
	 
	 

 function OpenLayer(id,id2){
   if(document.getElementById(id).style.display == "block") {
    document.getElementById(id).style.display = "none" ;
	document.getElementById(id2).style.display = "block"
   } else {
    document.getElementById(id).style.display = "block" ;
	document.getElementById(id2).style.display = "none"
   }
   window.status =  document.getElementById(id).style.display;
 }
