
// fonction magique pour rajouter une fonction sur un évenement
// je l'ai pas inventée http://ejohn.org/projects/flexible-javascript-events/
function addEvent( obj, type, fn ) {
    if ( obj.attachEvent ) {
        obj['e'+type+fn] = fn;
        obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
        obj.attachEvent( 'on'+type, obj[type+fn] );
    } else {
        obj.addEventListener( type, fn, false );
    }
}
function removeEvent( obj, type, fn ) {
    if ( obj.detachEvent ) {
        obj.detachEvent( 'on'+type, obj[type+fn] );
        obj[type+fn] = null;
    } else {
        obj.removeEventListener( type, fn, false );
    }
}

// fonction qui récupère un élément par son id
function getId(id) {
    if(document.all) {
        return document.all[id];
    } else {
        return document.getElementById(id);
    }
}

// affiche ou cache la liste associée à un span
function afficheCache() {
    // on récupère la liste associée
    var ul = this.parentNode.getElementsByTagName("ul")[0];
    if(ul.style.display=='none') {
        ul.style.display='block';
    } else {
        ul.style.display='none';
    }
}

// fonction executée au chargement de la page
addEvent(window,"load",function() {
    // la liste principale
    var ul = getId("menu_colonne").getElementsByTagName("ul")[0];
    // on parcourt les sous-listes et on les cache toutes
    var uls = ul.getElementsByTagName("ul");
    for(i=0;anUl = uls[i]; ++i) {
        anUl.style.display='none';
    }
    // on parcourt les span et on leur attache la fonction afficheCache
    var spans = ul.getElementsByTagName("span");
    for(i=0;span=spans[i];++i) {
        addEvent(span,"click",afficheCache);
    }
    // on récupère l'élément avec l'id "current"
    var pere = getId("current");
if(pere != null){
    var currentUls = pere.getElementsByTagName("ul");
    if(currentUls.length != 0) {
        currentUls[0].style.display = "block";
    }
    // on remonte dans ses parents jusqu'à la liste principale
    // en affichant la liste à chaque niveau
    while(pere != ul) {
        if(pere.tagName=="UL") {
            pere.style.display = "block";
        }
        if(pere.tagName=="LI" && pere.firstChild.tagName=="SPAN") {
            removeEvent(pere.firstChild,"click",afficheCache);
        }
        pere = pere.parentNode;
    }
}
		}
	);


