// Menu déroulant Javascript par Thomas Dumazet !!!



/*
----------- Variables de configuration rapide -------------
*/

// Définition des boutons de premier niveau
largeur_bouton = 150;
hauteur_bouton = 40;
partie_id_invariable = 'bouton';
nb_bt_nv_1 = 8;

// Définition des boutons de second niveau (tableau : juste besoin de donner le nombre de boutons pour chaque bouton de premier niveau)
nb_bt_nv_2 = new Array (0, 4, 11, 0, 0, 9, 0);

/*
----------   Fin des variables de configuration rapide ----------
*/






// Mise de l'alphabet dans un tableau
alphabet = new Array ('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z')






// Creation des différents noms d'ID de boutons mis dans un tableau
var tableau_boutons = new Array;
var compteur = 0;
for (i=0; i<nb_bt_nv_1; i++) {
	var nb = i + 1;
	var bouton = partie_id_invariable+nb;
	tableau_boutons [compteur] = bouton;
	/*alert (bouton);*/
	compteur++;
	for (j=0; j<nb_bt_nv_2[i]; j++){
		var alpha = alphabet [j];
		var sous_bouton = partie_id_invariable + nb + alpha;
		tableau_boutons [compteur] = sous_bouton;
		/*alert (sous_bouton);*/
		compteur++;
	}
}
/*alert (tableau_boutons);*/








// Creation des différents id
tableau_id_boutons = new Array;

longueur_tableau_boutons = tableau_boutons.length
//alert (longueur_tableau_boutons)
for (i=0; i<longueur_tableau_boutons; i++){
	var bt_actuel = tableau_boutons [i];
	tableau_id_boutons [i] = document.getElementById (bt_actuel);
}
//alert (tableau_boutons)
//alert (tableau_id_boutons);








// Fonction de récupération de coordonnées d'un objet

function getPosition (element) {
	var left = 0;
	var top = 0;
	/*On récupère l'élément*/
	var e = document.getElementById(element);
	/*Tant que l'on a un élément parent*/
	while (e.offsetParent != undefined && e.offsetParent != null) {
		/*On ajoute la position de l'élément parent*/
		left += e.offsetLeft + (e.clientLeft != null ? e.clientLeft : 0);
		top += e.offsetTop + (e.clientTop != null ? e.clientTop : 0);
		e = e.offsetParent;
	}
	return new Array(left,top);
}






// Fonctions de masquage des boutons






function display_none (numero_bouton_nv1){
	var bt_act = numero_bouton_nv1 - 1;
	var nbre_ss_boutons = nb_bt_nv_2 [bt_act];
	function nb_bt_inf () {
		var bts_inf = 0;
		for (i=0; i<bt_act; i++){
			bts_inf += nb_bt_nv_2 [i]
		}
		bts_inf += numero_bouton_nv1
		return bts_inf;
	}
	
	for (j=0; j<nbre_ss_boutons; j++) {
		var table_id_display_none = nb_bt_inf () + j;
		tableau_id_boutons [table_id_display_none].style.display = 'none';
	}
}


function display_block (numero_bouton_nv1){
	var bt_act = numero_bouton_nv1 - 1;
	var nbre_ss_boutons = nb_bt_nv_2 [bt_act];
	function nb_bt_inf () {
		var bts_inf = 0;
		for (i=0; i<bt_act; i++){
			bts_inf += nb_bt_nv_2 [i]
		}
		bts_inf += numero_bouton_nv1
		return bts_inf;
	}
	
	for (j=0; j<nbre_ss_boutons; j++) {
		var table_id_display_block = nb_bt_inf () + j;
		tableau_id_boutons [table_id_display_block].style.display = 'block';
		var id_position = "bouton" + numero_bouton_nv1;
		var position = getPosition (id_position);
		pos_x = position ['0'];
		pos_y = position ['1'];
		
		var decalage_vertical = hauteur_bouton * j;
		tableau_id_boutons [table_id_display_block].style.left = pos_x + largeur_bouton + 'px';
		tableau_id_boutons [table_id_display_block].style.top = pos_y + (decalage_vertical) + 'px';
	}
}


function display_none_final () {
	var numero_premier_tableau = nb_bt_nv_1;
	var bouton_primaire = 0;
	for (i=0; i<numero_premier_tableau; i++) {
		bouton_primaire++;
		var bt_actuel = bouton_primaire - 1;
			var bts_inf = 0;
			for (j=0; j<bt_actuel; j++){
				bts_inf += nb_bt_nv_2 [j]
				//alert (j);
				//alert (nb_bt_nv_2 [j])
			}
			bts_inf += bouton_primaire - 1;
			//alert (bts_inf);
		var bouton_final_id = tableau_id_boutons [bts_inf];
		var ss_bouton_nb = nb_bt_nv_2 [i];
		var ss_bouton_final_id
		//alert (i);
		if (bouton_primaire == 1) {
			bouton_final_id.onmouseout = function () { display_none (1);}
			bouton_final_id.onmouseover = function () { display_block (1);}
			for (k=0; k<ss_bouton_nb; k++) {
				var bt_act = bouton_primaire - 1;
				var nbre_ss_boutons = nb_bt_nv_2 [bt_act];
					var boutons_inf = 0;
					for (i=0; i<bt_act; i++){
						boutons_inf += nb_bt_nv_2 [i];
					}
				boutons_inf += bouton_primaire + k;
				ss_bouton_final_id = tableau_id_boutons [boutons_inf];
				ss_bouton_final_id.onmouseout = function () { display_none (1);}
				ss_bouton_final_id.onmouseover = function () { display_block (1);}
			}
		}
		else if (bouton_primaire == 2) {
			bouton_final_id.onmouseout = function () { display_none (2);}
			bouton_final_id.onmouseover = function () { display_block (2);}
			for (k=0; k<ss_bouton_nb; k++) {
				var bt_act = bouton_primaire - 1;
				var nbre_ss_boutons = nb_bt_nv_2 [bt_act];
					var boutons_inf = 0;
					for (i=0; i<bt_act; i++){
						boutons_inf += nb_bt_nv_2 [i];
					}
				boutons_inf += bouton_primaire + k;
				ss_bouton_final_id = tableau_id_boutons [boutons_inf];
				ss_bouton_final_id.onmouseout = function () { display_none (2);}
				ss_bouton_final_id.onmouseover = function () { display_block (2);}
			}
		}
		else if (bouton_primaire == 3) {
			bouton_final_id.onmouseout = function () { display_none (3);}
			bouton_final_id.onmouseover = function () { display_block (3);}
			for (k=0; k<ss_bouton_nb; k++) {
				var bt_act = bouton_primaire - 1;
				var nbre_ss_boutons = nb_bt_nv_2 [bt_act];
					var boutons_inf = 0;
					for (i=0; i<bt_act; i++){
						boutons_inf += nb_bt_nv_2 [i];
					}
				boutons_inf += bouton_primaire + k;
				ss_bouton_final_id = tableau_id_boutons [boutons_inf];
				ss_bouton_final_id.onmouseout = function () { display_none (3);}
				ss_bouton_final_id.onmouseover = function () { display_block (3);}
			}
		}
		else if (bouton_primaire == 4) {
			bouton_final_id.onmouseout = function () { display_none (4);}
			bouton_final_id.onmouseover = function () { display_block (4);}
			for (k=0; k<ss_bouton_nb; k++) {
				var bt_act = bouton_primaire - 1;
				var nbre_ss_boutons = nb_bt_nv_2 [bt_act];
					var boutons_inf = 0;
					for (i=0; i<bt_act; i++){
						boutons_inf += nb_bt_nv_2 [i];
					}
				boutons_inf += bouton_primaire + k;
				ss_bouton_final_id = tableau_id_boutons [boutons_inf];
				ss_bouton_final_id.onmouseout = function () { display_none (4);}
				ss_bouton_final_id.onmouseover = function () { display_block (4);}
			}
		}
		else if (bouton_primaire == 5) {
			bouton_final_id.onmouseout = function () { display_none (5);}
			bouton_final_id.onmouseover = function () { display_block (5);}
			for (k=0; k<ss_bouton_nb; k++) {
				var bt_act = bouton_primaire - 1;
				var nbre_ss_boutons = nb_bt_nv_2 [bt_act];
					var boutons_inf = 0;
					for (i=0; i<bt_act; i++){
						boutons_inf += nb_bt_nv_2 [i];
					}
				boutons_inf += bouton_primaire + k;
				ss_bouton_final_id = tableau_id_boutons [boutons_inf];
				ss_bouton_final_id.onmouseout = function () { display_none (5);}
				ss_bouton_final_id.onmouseover = function () { display_block (5);}
			}
		}
		else if (bouton_primaire == 6) {
			bouton_final_id.onmouseout = function () { display_none (6);}
			bouton_final_id.onmouseover = function () { display_block (6);}
			for (k=0; k<ss_bouton_nb; k++) {
				var bt_act = bouton_primaire - 1;
				var nbre_ss_boutons = nb_bt_nv_2 [bt_act];
					var boutons_inf = 0;
					for (i=0; i<bt_act; i++){
						boutons_inf += nb_bt_nv_2 [i];
					}
				boutons_inf += bouton_primaire + k;
				ss_bouton_final_id = tableau_id_boutons [boutons_inf];
				ss_bouton_final_id.onmouseout = function () { display_none (6);}
				ss_bouton_final_id.onmouseover = function () { display_block (6);}
			}
		}
		else if (bouton_primaire == 7) {
			bouton_final_id.onmouseout = function () { display_none (7);}
			bouton_final_id.onmouseover = function () { display_block (7);}
			for (k=0; k<ss_bouton_nb; k++) {
				var bt_act = bouton_primaire - 1;
				var nbre_ss_boutons = nb_bt_nv_2 [bt_act];
					var boutons_inf = 0;
					for (i=0; i<bt_act; i++){
						boutons_inf += nb_bt_nv_2 [i];
					}
				boutons_inf += bouton_primaire + k;
				ss_bouton_final_id = tableau_id_boutons [boutons_inf];
				ss_bouton_final_id.onmouseout = function () { display_none (7);}
				ss_bouton_final_id.onmouseover = function () { display_block (7);}
			}
		}
		else if (bouton_primaire == 8) {
			bouton_final_id.onmouseout = function () { display_none (8);}
			bouton_final_id.onmouseover = function () { display_block (8);}
			for (k=0; k<ss_bouton_nb; k++) {
				var bt_act = bouton_primaire - 1;
				var nbre_ss_boutons = nb_bt_nv_2 [bt_act];
					var boutons_inf = 0;
					for (i=0; i<bt_act; i++){
						boutons_inf += nb_bt_nv_2 [i];
					}
				boutons_inf += bouton_primaire + k;
				ss_bouton_final_id = tableau_id_boutons [boutons_inf];
				ss_bouton_final_id.onmouseout = function () { display_none (8);}
				ss_bouton_final_id.onmouseover = function () { display_block (8);}
			}
		}
		else if (bouton_primaire == 9) {
			bouton_final_id.onmouseout = function () { display_none (9);}
			bouton_final_id.onmouseover = function () { display_block (9);}
			for (k=0; k<ss_bouton_nb; k++) {
				var bt_act = bouton_primaire - 1;
				var nbre_ss_boutons = nb_bt_nv_2 [bt_act];
					var boutons_inf = 0;
					for (i=0; i<bt_act; i++){
						boutons_inf += nb_bt_nv_2 [i];
					}
				boutons_inf += bouton_primaire + k;
				ss_bouton_final_id = tableau_id_boutons [boutons_inf];
				ss_bouton_final_id.onmouseout = function () { display_none (9);}
				ss_bouton_final_id.onmouseover = function () { display_block (9);}
			}
		}
		else if (bouton_primaire == 10) {
			bouton_final_id.onmouseout = function () { display_none (10);}
			bouton_final_id.onmouseover = function () { display_block (10);}
			for (k=0; k<ss_bouton_nb; k++) {
				var bt_act = bouton_primaire - 1;
				var nbre_ss_boutons = nb_bt_nv_2 [bt_act];
					var boutons_inf = 0;
					for (i=0; i<bt_act; i++){
						boutons_inf += nb_bt_nv_2 [i];
					}
				boutons_inf += bouton_primaire + k;
				ss_bouton_final_id = tableau_id_boutons [boutons_inf];
				ss_bouton_final_id.onmouseout = function () { display_none (10);}
				ss_bouton_final_id.onmouseover = function () { display_block (10);}
			}
		}
		else {
			alert ('Trop de boutons de premier niveau !');
		}
	}
}

display_none_final ();


