/*javascript per menu espandibile*/

function buildMenu(curRef) {
    if(document.getElementsByTagName && document.getElementById && document.getElementById("mainMenu")){
        document.getElementById("mainMenu").className="jsenable";
        buildList();
        checkCurrent(curRef);
        }
}

function buildList(){
var hs=document.getElementById("mainMenu").getElementsByTagName("h3");
for(var i=0;i<hs.length;i++){
    hs[i].onclick=function(){
        this.parentNode.className=(this.parentNode.className=="show") ? "hide" : "show";
        }
    }
}

//
// questa funzioncina qui è una mia idea
// serve a evidenziare la voce corrente del menu dopo che la pagina è stata riletta
// notare che la selezione corrente è memorizzata nella session ('curRef')
//
function checkCurrent (curRef) {
var hs=document.getElementById("mainMenu-" + curRef).getElementsByTagName("a");
    for(var i=0;i<hs.length;i++){
      if (hs[i].parentNode.id == 'mainMenu-' + curRef){
         //
         // qui "accendo" l'elemento corrente (che è un tag A) assegnandogli un id particolare
         //
         hs[i].id = 'curMenu';
         var ref = hs[i].parentNode.parentNode.parentNode;
         //
         // se a questo livello trovo un div significa che mi trovo all'interno di un menu raggruppato e quindi
         // devo aprire il padre affinchè la voce sia visibile
         //
         if (ref.tagName != 'DIV'){
            //
            // significa che è un nodo figlio, prima di tutto accendo suo padre
            //
            ref.className = 'show';
         }
      }
    }
}


