// -------------------------------------------------------
//
// Déclarations générales pour la structure des sous-menus
//
// -------------------------------------------------------
var gi_largeur_espace=160;                                                                         // largeur allouée au menu
var gi_hauteur_espace=273;                                                                         // hauteur alloué au menu
var gi_offset_hauteur=5;                                                                           // espace vertical entre 2 sous-menus
var gi_offset_titre_ss_menu=5;                                                                     // espace à gauche du titre du sous-menu
var gi_offset_hauteur_options=2;                                                                   // espace vertical entre 2 options
var gi_largeur_fleches=30;                                                                         // largeur pour la fleche_bas et fleche_droite des menus
var gstr_fleche_bas="Images/fleche_bas.gif"                                                        // nom et chemin de la flèche bas du sous-menu
var gstr_no_fleche="Images/blank.gif"                                                              // nom et chemin de la flèche haut du sous-menu
var gi_hauteur_options=30;                                                                         // hauteur pour l'icône de chaque option
var gi_largeur_options=30;                                                                         // largeur pour l'icône de chaque option
var gstr_img_option="Images/bouleX.jpg";                                                           // nom de l'icône de chaque option avec x représentant le numéro de l'option
var gi_largeur_ss_menu=gi_largeur_espace;                                                          // largeur des sous_menus

//var gstr_style_menu="";                                                                          // style du menu
var gstr_style_menu="background-image:url(Images/fond_ssmenus.gif);";                              // style du menu

//var gstr_style_ss_menu="background-color:#333333;border: 1px outset white;color:White;font:bold 10pt verdana;";  // style des sous-menus (principaux sous-menus)
var gstr_style_ss_menu="background-color:#000000;border: 1px outset white;color:White;font:bold 10pt verdana;";  // style des sous-menus (principaux sous-menus)
//var gstr_style_opt_ss_menu="background-color:#666666;color:White;font:normal 8pt verdana";       // style des options pour chaque sous-menus

var gstr_style_opt_ss_menu="color:White;font:normal 8pt verdana";                                  // style des options pour chaque sous-menus
var gi_vitesse_mvt=10;                                                                             // vitesse d'enroulement ou de déroulement des options
var gi_pas_mvt=20;                                                                                 // pas (en pixels) de déroulement ou d'enroulement
var gi_ss_menu_courant;                                                                            // ss-menu courant
var gi_opt_ss_menu_courant;                                                                        // option du ss-menu courant
var gstr_window_menu='descriptif_menu';                                                            // window ( ou iframe) dans laquelle s'affichera la page liée à l'option choisie
var gstr_nom_menu;																			       // nom du sous-menu
var gstr_texte_menu;                                                                               // contenu du sous-menu

// Enroulement ou déroulement des options d'un sous-menu
function EnrouleDerouleOption(pstr_option, pi_hauteur_min,pi_hauteur_max) {
	var objet = document.getElementById(pstr_option); 
	if (objet.style.display == "none" || !objet.style.display) {
	    objet.style.display = "block";
		objet.style.overflow = "hidden"; 
		var hFinal  = pi_hauteur_max;  //Hauteur finale
		var hActuel = pi_hauteur_min;   //Hauteur initiale
		var timer;
		var fct_deroule = function () {
		     hActuel += gi_pas_mvt;
			 objet.style.height = hActuel +'px';			
		      if( hActuel > hFinal) {			  
		          clearInterval(timer);   //Arrête le timer
				  objet.style.height = hFinal;
		      }
	    };
	
		fct_deroule();
		timer = setInterval(fct_deroule,gi_vitesse_mvt);			
	}
	else if (objet.style.display == "block") {	
	    var hFinal  =  pi_hauteur_min;  //Hauteur finale
	    var hActuel =  pi_hauteur_max;	//Hauteur initiale 
	    var timer;
	    var fct_enroule = function (){
		        hActuel -= gi_pas_mvt;
		        objet.style.height = hActuel + 'px';					
		        if( hActuel <= gi_pas_mvt) {
		        	clearInterval(timer);   //Arrête le timer
					objet.style.display = "none";
					objet.style.height = hFinal;
		        }
		};
		fct_enroule();     
		timer = setInterval(fct_enroule,gi_vitesse_mvt);  		
	}
}
// Gestion du clic sur une option de menu
function RefreshOptSSMenu(pi_ss_menu, pi_opt_menus, pstr_weight, pstr_color) {
	document.getElementById("opt_txt_" + pi_ss_menu + "_" + pi_opt_menus).style.fontWeight=pstr_weight;
	document.getElementById("opt_txt_" + pi_ss_menu + "_" + pi_opt_menus).style.color=pstr_color;	
	document.getElementById("titre_page_menu").innerHTML = '<strong><font size="+1">' + lvect_menu[gstr_nom_menu][gi_ss_menu_courant].options[gi_opt_ss_menu_courant].entete + '</font></strong>'	
}
function SetOptionSSMenu(pi_ss_menu, pi_opt_menus) {
	if ((gi_ss_menu_courant != pi_ss_menu) || (gi_opt_ss_menu_courant != pi_opt_menus)) {
		RefreshOptSSMenu(gi_ss_menu_courant, gi_opt_ss_menu_courant, "normal","white");
		gi_opt_ss_menu_courant = pi_opt_menus;
		RefreshOptSSMenu(gi_ss_menu_courant, gi_opt_ss_menu_courant, "bold","Yellow");
		window.open(lvect_menu[gstr_nom_menu][gi_ss_menu_courant].options[gi_opt_ss_menu_courant].target,gstr_window_menu);
	}
}

function HighlightSSMenu(pi_ss_menu, pi_opt_menus, pstr_weight) {
	if ((gi_ss_menu_courant != pi_ss_menu) || (gi_opt_ss_menu_courant != pi_opt_menus)) {
		document.getElementById("opt_txt_" + pi_ss_menu + "_" + pi_opt_menus).style.fontWeight=pstr_weight;
	}
}

// Gestion du clic sur un sous-menu
function RefreshSSMenu(pi_ss_menu,pstr_fleche){
	document.images["fleche_"+pi_ss_menu].src = pstr_fleche;
	EnrouleDerouleOption("opt_ss_menu_" + pi_ss_menu,0,(gi_hauteur_options*lvect_menu[gstr_nom_menu][pi_ss_menu].options.length) + gi_offset_hauteur*2 * (lvect_menu[gstr_nom_menu][pi_ss_menu].options.length + 1));	
}
function SetSSMenu(pi_ss_menu) {	
	if (gi_ss_menu_courant != pi_ss_menu) {		
		RefreshSSMenu(gi_ss_menu_courant,gstr_fleche_bas);
		RefreshOptSSMenu(gi_ss_menu_courant,gi_opt_ss_menu_courant,"normal","white");		
		gi_ss_menu_courant = pi_ss_menu;
		gi_opt_ss_menu_courant=0;
		RefreshSSMenu(gi_ss_menu_courant,gstr_no_fleche);
		RefreshOptSSMenu(gi_ss_menu_courant,gi_opt_ss_menu_courant,"bold","yellow");
		window.open(lvect_menu[gstr_nom_menu][gi_ss_menu_courant].options[gi_opt_ss_menu_courant].target,gstr_window_menu);
	}	
}

function Construction_Div() {
	gstr_texte_menu = '<div id="espace_menu" style="' + gstr_style_menu + 'position:absolute;top:0;left:0;width:' + gi_largeur_espace + ';height:' + gi_hauteur_espace + ';">';
	for (var li_idx=0;li_idx< lvect_menu[gstr_nom_menu].length;li_idx++) {
		gstr_texte_menu += '<div id="ss_menu_' + li_idx + '" ';
		gstr_texte_menu += '     style="';
		gstr_texte_menu += '            width:' + gi_largeur_ss_menu + 'px;';
		gstr_texte_menu += '            height:' + lvect_menu[gstr_nom_menu][li_idx].hauteur + 'px;';
		gstr_texte_menu += '     ">';
		gstr_texte_menu += '  <table cellspacing="0" cellpadding="0" border="0" width="' + gi_largeur_ss_menu + '" height="' + lvect_menu[gstr_nom_menu][li_idx].hauteur + '" style="' + gstr_style_ss_menu + '">';
        // Définition du titre des sous-menus
		//-----------------------------------
		gstr_texte_menu += '     <tr style="cursor:pointer;" onclick="SetSSMenu(' + li_idx + ');">';
		gstr_texte_menu += '        <td style="background:url(Images/fond_option_1_ligne gauche.jpg);" width="' + gi_offset_titre_ss_menu + '"><img src="' + gstr_no_fleche + '"></td>';		
		gstr_texte_menu += '        <td style="background:url(Images/fond_option_1_ligne droit.jpg);" valign="center" width="' + (gi_largeur_ss_menu-gi_largeur_fleches-gi_offset_titre_ss_menu) + '">';
		gstr_texte_menu +=               lvect_menu[gstr_nom_menu][li_idx].titre;
		gstr_texte_menu += '         </td>';				
		gstr_texte_menu += '        <td style="background:url(Images/fond_option_1_ligne milieu.jpg);" valign="center" width="' + gi_largeur_fleches + '">';
		gstr_texte_menu += '             <img id="fleche_' + li_idx + '" src="' + gstr_fleche_bas + '" border="0" hspace="0" vspace="0">';
		gstr_texte_menu += '        </td>';
		gstr_texte_menu += '     </tr>';
		
		gstr_texte_menu += '  </table>';
		gstr_texte_menu += '</div>';		
		gstr_texte_menu += '<div id="opt_ss_menu_' + li_idx + '" ';
		gstr_texte_menu += '     style="';
		gstr_texte_menu += '            display:none;';				
		gstr_texte_menu += '            width:' + gi_largeur_ss_menu + 'px;';		
		gstr_texte_menu += '     ">';
		gstr_texte_menu += '  <table cellspacing="' + gi_offset_hauteur + '" cellpadding="0" border="0" width="' + gi_largeur_ss_menu + '" style="' + gstr_style_opt_ss_menu + '">';
		// Définition des options des sous-menus
		//--------------------------------------
		for (var li_idx2=0;li_idx2<lvect_menu[gstr_nom_menu][li_idx].options.length;li_idx2++){			
			gstr_texte_menu += '     <tr id="opt_txt_' + li_idx + '_' + li_idx2 + '" style="cursor:pointer;" ';
			gstr_texte_menu += '          onclick="SetOptionSSMenu(' + li_idx + ',' + li_idx2 + ');"';
			gstr_texte_menu += '          onMouseOver="HighlightSSMenu(' + li_idx + ',' + li_idx2 + ',\'bold\')";';
			gstr_texte_menu += '          onMouseOut="HighlightSSMenu(' + li_idx + ',' + li_idx2 + ',\'normal\')";>';
			gstr_texte_menu += '        <td valign="center" width="' + gi_largeur_options + '">';
			gstr_texte_menu += '           <img src="' + gstr_img_option.replace("X",String(li_idx2+1)) + '" border="0" hspace="0" vspace="0">';
			gstr_texte_menu += '        </td>';
			gstr_texte_menu += '        <td valign="center" width="' + (gi_largeur_ss_menu-gi_largeur_options) + '">';
			gstr_texte_menu +=             lvect_menu[gstr_nom_menu][li_idx].options[li_idx2].titre;
			gstr_texte_menu += '        </td>';			
			gstr_texte_menu += '     </tr>';		
		}
		gstr_texte_menu += '</table>';
		gstr_texte_menu += '</div>';
	}
	gstr_texte_menu += '</div>';
}

//-----------------------------------------------
// Fonction qui affiche un sous-menu avec ses options
//-----------------------------------------------
function AfficheMenu(pi_menu) {
	
    gstr_nom_menu = lvect_menu_indices[pi_menu-1];
    Construction_Div();
	document.getElementById("sous-menu").innerHTML=gstr_texte_menu;
	gi_ss_menu_courant=0;
	gi_opt_ss_menu_courant = 0;
	RefreshSSMenu(gi_ss_menu_courant,gstr_no_fleche);	
	RefreshOptSSMenu(gi_ss_menu_courant, gi_opt_ss_menu_courant, "Bold","Yellow");
}

//-----------------------------------------------
// Fonction qui affiche directement une sous-option déterminée dans une option
//-----------------------------------------------
function AfficheOptionMenu(pi_menu, pi_opt, pi_ss_opt) {

	setOptionMenu(pi_menu);
	
	if ((pi_opt-1) != gi_ss_menu_courant) {
		RefreshSSMenu(gi_ss_menu_courant,gstr_fleche_bas);
		RefreshSSMenu((pi_opt-1),gstr_no_fleche);
		gi_ss_menu_courant = (pi_opt-1);
	}	
	RefreshOptSSMenu(gi_ss_menu_courant,gi_opt_ss_menu_courant,"normal","white");
	gi_opt_ss_menu_courant= (pi_ss_opt-1);
	RefreshOptSSMenu(gi_ss_menu_courant,gi_opt_ss_menu_courant,"bold","yellow");
	window.open(lvect_menu[gstr_nom_menu][gi_ss_menu_courant].options[gi_opt_ss_menu_courant].target,gstr_window_menu);	
}