function developper(tab_cles_par_niveaux)
{
//alert(tab_cles_par_niveaux);
	if (document.getElementsByTagName) {

		// Récupération des DD
		all_dd = document.getElementsByTagName('dd');

		// Filtrage des DD avec un ID commencant par 'menu'
		dd = Array();
		for (var i=0; i<all_dd.length; i++) {
			if (all_dd[i].id.indexOf('menu', 0) == 0) {
				dd.push(all_dd[i]);
			}
		} // for

		// Pour chaque niveau du tab_cles_par_niveaux
		tab_id = new Array();
		nb_niveau = tab_cles_par_niveaux.length
		for (var j=0; j<nb_niveau; j++) {
			tab_id[j] = 'menu'+ tab_cles_par_niveaux.join('_');
			tab_cles_par_niveaux.pop();
		}

		// Pour chaque DD du menu
		for (var i=0; i<dd.length; i++) {
		//for (i in dd) {
			identifiant_trouve = false;
			// Pour chaque identifiant (parents et self)
			for (var j=0; j<tab_id.length; j++) {
			//for (j in tab_id) {
				// Si l'identifiant du DD se trouve dans la liste des tab_id
				if (dd[i].id == tab_id[j]) {
					// Si menu développé, il le reste (seulement si j==0 donc dernier niveau)
					if (dd[i].style.display == 'block' && j==0) {
						dd[i].style.display = 'block';
					}
					// Sinon, on développe
					else {
						dd[i].style.display = 'block';
					}
					// On a trouvé l'identifiant
					identifiant_trouve = true;
				}
			} // for : identifiants
				
			// On cache les autres
			if (identifiant_trouve == false) {
				dd[i].style.display = 'none';
			}

		} // for : DD

	} // if : getElementsByTagName
}