

// Au chargement de la fenêtre, on associe l'événement cree_menu
addEvent(window, "load", cree_menu);
//addEvent(window, "load", ouvre_menu);


function cree_menu() {
     //Repère le début de la liste du menu et lance processULEL
     
    if (!document.createElement) return; //Cette ligne permet juste de tester le support du DOM par le navigateur
    
    uls = document.getElementsByTagName("ul");
    for (uli=0;uli<uls.length;uli++) {
        ul = uls[uli];
        if (ul.nodeName == "UL" && ul.className == "menu") {
            processULEL(ul);
            break;
        }
    }
}

function processULEL(ul) {
    if (!ul.childNodes || ul.childNodes.length == 0) return;
    // Iterate LIs
    for (var itemi=0;itemi<ul.childNodes.length;itemi++) {
        var item = ul.childNodes[itemi];
        if (item.nodeName == "LI") {
            // Iterate things in this LI
            var a;
            var subul;
	       subul = "";
            for (var sitemi=0;sitemi<item.childNodes.length;sitemi++) {
                var sitem = item.childNodes[sitemi];
                switch (sitem.nodeName) {
                    case "A": a = sitem; break;
                    case "UL": subul = sitem; 
                               subul.style.display = "none";
                               processULEL(subul);
                               break;
                }
            }
            if (subul) {
                associateEL(a,subul);
            }
        }
    }
}

function associateEL(a,ul) {
    a.onclick = function () {
        var display = ul.style.display;
        ferme_menu(ul);
        ul.style.display = (display == "block") ? "none" : "block";
        return false;
    }
}

/*              Utility functions                    */

function addEvent(obj, evType, fn){
  /* adds an eventListener for browsers which support it
     Written by Scott Andrew: nice one, Scott */
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, false);
    return true;
  } else if (obj.attachEvent){
	var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
	return false;
  }
}

function ferme_menu(ul) {
    var racine = ul.parentNode.parentNode;
    for (var itemi=0;itemi<racine.childNodes.length;itemi++) {
        var item = racine.childNodes[itemi];
        if (item.nodeName == "LI") {
            // Iterate things in this LI
            var a;
            var subul;
	       subul = "";
            for (var sitemi=0;sitemi<item.childNodes.length;sitemi++) {
                var sitem = item.childNodes[sitemi];
                switch (sitem.nodeName) {
                    case "A": a = sitem; break;
                    case "UL": subul = sitem; 
                               subul.style.display = "none";
                }
            }
        }
    }
}

function ouvre_menu(k) {
    var uls_test = document.getElementsByTagName("ul");
    for (uli=0;uli<uls_test.length;uli++) {
        ul = uls_test[uli];
        if (ul.nodeName == "UL" && ul.className == "menu") {
            var ul_to_open =ul.getElementsByTagName('li')[4].getElementsByTagName('ul')[0];
            //var ul_to_open = ul ;
            //var ul_to_open=ul.firstChild.nextSibling.firstChild.nextSibling;
            var display = ul_to_open.style.display;
            ul_to_open.style.display = "block";
            var test = ul.getElementsByTagName('li').length;
            print("LONGUEUR ");
            print(test);
            alert("LONGUEUR "+test+",");
            break;
        }
    }
}