function initialise_menu(){
  // Déclarations des variables propres au niveau 2
  var sN2 = "niv2";
  var sN2_ouv = "niv2_ouvert"
  var sN2_sel = "niv2_select";
  
  // Récupération du paramètre np dans l'adresse
  sUrlNp = document.location.search;
  var pCherche_np = /np=(\w+)&?/;
  pCherche_np.exec(sUrlNp);
  sNpUrl = RegExp.$1;
  
  // Boucle sur les tLiensPage de la page
  tLiensPage = document.getElementsByTagName("a");
  for(i=0 ; i < tLiensPage.length ; i++){

    pCherche_np.exec(tLiensPage[i].href);
    
    // Quand on trouve le lien concernant cet élément on le met en évidence
    if((RegExp.$1 == sNpUrl) || (RegExp.$1 == sRubrique)){
      // noeud correspond au tr contenant le lien
      nTrOrigine = tLiensPage[i].parentNode.parentNode;

      // ---------------------------------------
      // Traitement d'un niveau 1
      // ---------------------------------------
      if(nTrOrigine.className.search(/^niv1_\w+/) != -1){
        nTrOrigine.className = nTrOrigine.className + "_select";
        
        // Changement de l'image
        if(nTrOrigine.getElementsByTagName("img").length > 0){
          // Isolation du nom de l'image présente dans l'attribut src de la balise
          var pCherche_img = /^(.+)\/(\w+)\.gif/;
          pCherche_img.exec(nTrOrigine.getElementsByTagName("img")[0].src);
          if(tImgCible[RegExp.$2] != null){
            nTrOrigine.getElementsByTagName("img")[0].src = RegExp.$1 + "/" + tImgCible[RegExp.$2] + ".gif";
          }
        }
        
        // Parcours des noeuds suivants pour savoir si ce sont des sous menus
        nTr = nTrOrigine.nextSibling;
        
        if(nTr == null) { break;}
        
        // Pour mozilla si le noeud est un #text entre des elements tr on passe au noeud suivant
        if(nTr.nodeType == 3) {nTr = nTr.nextSibling;}
       
        if(nTr.className == "ss_menu"){
          nTr.className = "ss_menu_ouv";
        }
        
        // On sort de la boucle for afin de ne pas parser les autres liens
        break;
      }
      
      // ---------------------------------------
      // Traitement d'un niveau 2
      // ---------------------------------------
      if(nTrOrigine.className == sN2){
        // On change sa classe
        nTrOrigine.className = sN2_sel;
        
        // Remontée au tr contenant le table parent pour l'afficher ne pas oublié que l'éditeur ajoute de lui meme un tbody!!
        nTable = nTrOrigine.parentNode.parentNode.parentNode.parentNode;

        // Affichage du tableau
        if(nTable.className == "ss_menu"){
          nTable.className = "ss_menu_ouv";
        }
        
        // Remontée au tr précedant
        nTr = nTable.previousSibling;
        
        if(nTr == null) break;
        
        // Pour mozilla si le noeuds est un #text entre des elements tr on passe au noeud precedant
        if(nTr.nodeType == 3) {nTr = nTr.previousSibling;}
        
        // On teste que ce soit bien un lien de n1 et on change sa classe
        if((nTr != null) && (nTr.className.search(/^niv1_\w+/) != -1)){
          nTr.className = nTr.className + "_select";
          
          // Isolation du nom de l'image présente dans l'attribut src de la balise
          var pCherche_img = /^(.+)\/(\w+)\.gif/;
          pCherche_img.exec(nTr.getElementsByTagName("img")[0].src);
          nTr.getElementsByTagName("img")[0].src = RegExp.$1 + "/" + tImgCible[RegExp.$2] + ".gif";
        }
        
        // Le lien est trouvé on sort de la boucle for
        break;
      } // Fin si niveau 2
    } // Fin si element trouvé
  } // Fin boucle for
}