// Fonction qui affiche/cache un menu
function expand(li) {
	var node = li.firstChild;
	var img = li.firstChild;
	// parcours tous les fils pour trouver l'element UL
	while ( node.nodeName != "UL" )
		node = node.nextSibling;
	// parcours tous les fils pour trouver l'element IMG
	while ( img.nodeName != "IMG" )
		img = img.nextSibling;
	// affiche le menu
	if ( node.style.display == 'none' ) {
		node.style.display = 'block';
		img.src = 'img/minus.gif';
		img.alt = '[-]';
	}
	// cache le menu
	else {
		node.style.display = 'none';
		img.src = 'img/plus.gif';
		img.alt = '[+]';
	}
}

// Fonction qui affiche un menu ainsi que tous les menus supérieurs
function expandMultiple(id) {
	// recupere la source du clic
	a = document.getElementById(id);
	// recupere le menu a afficher
	var ul = a;
	/*
	while ( ul.nodeName != "LI" ) {
		ul = ul.nextSibling;
	}
	*/
	// affiche le menu et les menus supérieurs
	var parentUl=ul.parentNode;
	//while(parentUl.nodeName=="UL") {

		if(parentUl.id != 'racine') {
			expand(parentUl.parentNode);
		}
		//parentUl = parentUl.parentNode;
	//}
}

// Fonction qui cache tous les menus
function collapseMultiple() {
	// Recupere le menu de niveau 1
	niv1 = document.getElementById('niv1');
	// recupere tous les menus dépliants
	tab_ul = niv1.getElementsByTagName("UL");
	nb = tab_ul.length;
	// cache tous les menus
	for(var i=0; i<nb; i++) {
		expand(tab_ul[i].parentNode);
	}
	// Recupere le menu de niveau 1
	niv1 = document.getElementById('niv11');
	// recupere tous les menus dépliants
	tab_ul = niv1.getElementsByTagName("UL");
	nb = tab_ul.length;
	// cache tous les menus
	for(var i=0; i<nb; i++) {
		expand(tab_ul[i].parentNode);
	}
}

// Fonction qui initialise l'arborescence
function initArbo(menu, smenu) {
	// ferme tous les menus
	collapseMultiple();
	// ouvre le smenu courant (passé en GET) si il existe
	if(document.getElementById(smenu)) {
		expandMultiple(smenu);
	}
	else {
		// sinon ouvre le menu courant (passé en GET) si il existe
		if(document.getElementById(menu)) {
			expandMultiple(menu);
		}
	}
}

