// VARIABLES GLOBALES ==========================================================

G_Racine_Pages  = "./pages/";
G_Racine_Logos  = "./images/";
G_Racine_Images = "./images/";


//------------------------------------------------------------------------------
function GererFenetre() {

    var dom = net = iex = false;
    if (document.getElementById) dom = true; // IE5+ ou Netscape6+/Mozilla
    if (document.layers) net = true; // Netscape4
    if (document.all) iex = true; // IE4+
    if (iex) {
      var haut_utile = "document.body.offsetHeight";
    } else {
       var haut_utile = "window.innerHeight"; 
    }
    var H = eval(haut_utile);
	if (H > 600) {
	    document.getElementById("A_iframe").style.height= (H-250);
	}
}


//============================================================================================================================================================
function Get_ijk() {
//------------------------------------------------------------------------------
// BMA | 070123 | ne sera plus utilisé (on passera le nom directement) 
// regarde si le nom du fichier est de la forme toto_i_j_k.titi où :
//    - toto et titi sont quelconques
//    - i, j, k doivent êtres 3 entiers
// retourne [i,j,k] ou [0,0,0] sinon  
//------------------------------------------------------------------------------
 
// recupère le chemin   
   var FileName = window.location.pathname; 
  
// récupère le nom sans l'extension   
   var Tranche = FileName.split('/'); FileName = Tranche[Tranche.length-1];
   FileName = FileName.split('.')[0]

// récupère i,j,k dans les 3 derniers

   Tranche = FileName.split("_");
   Tranche.shift();
   while(Tranche.length > 3) { Tranche.shift(); }

   if (Tranche.length != 3) {
       ijk=[0,0,0];
   } else if (isNaN(parseInt(Tranche[0])) || isNaN(parseInt(Tranche[0])) || isNaN(parseInt(Tranche[0]))) {
       ijk=[0,0,0];
   } else {
       ijk = [Tranche[0],Tranche[1],Tranche[2]]
   }
   return ijk;
}

//============================================================================================================================================================
function New_Get_ijk(chemin) {
//------------------------------------------------------------------------------
// BMA | 070123 | création 
//------------------------------------------------------------------------------
// Si un chemin est passé en paramètre, cherche s'il existe un triplet (i,j,k) 
// dont le lien correspond au NomDeFichier.
//    - si oui retourne [i,j,k] (premier triple renconté)
//    - si non retourne [0,0,0] 
// Si le nom du fichier (self) est de la forme index_NomDeFichier.htm, cherche 
// s'il existe un triplet (i,j,k) dont le lien coorespond au NomDeFichier.
//    - si oui retourne [i,j,k] (premier triple renconté)
//    - si non retourne [0,0,0] 
// Si (self) est de la forme index.htm (ou .html) retourne directement [0,0,0]
//------------------------------------------------------------------------------

// la variable de sortie
   var ijk=[0,0,0];
   var i=-1, j, k;
   var param_present = true;
   
// chemin passé en paramètre ou à chercher soi-même     
 if (chemin==undefined) { 
     chemin = window.location.pathname;
     param_present = false;
 }   
   
// recupère le nom du fichier sans l'extension    
   var FileName = chemin.split('/')[chemin.split('/').length-1].split('.')[0]; 
   
// sortie directe si index 
   if (FileName.toLowerCase() == "index") return ijk;  
   
// recherche s'il existe ijk ayant un lien du même nom
   var Fin = false;
   if (!param_present) { FileName = FileName.slice(6); } // on enlève index si pas de paramètre   
   while (!Fin && ++i<Menu.length) {
       j=-1;
       while (!Fin && ++j<SousMenu[i].length) {
           k=-1;
		   while (!Fin && ++k<Onglet[i][j].length) {
		       //alert(i+","+j+","+k+" | "+FileName+" | "+ Onglet[i][j][k][1].split('.')[0]);
		       if(FileName == Onglet[i][j][k][1].split('.')[0]) { Fin = true; }
           }   
       }
   } 
   if (Fin) { ijk=[i,j,k] }
   return ijk;
}


//============================================================================================================================================================
function Enlarge_if_IE() {
    if ( navigator.appName == 'Microsoft Internet Explorer' ) {
	    document.getElementById('A_bandeau').style.width = "1001px";    
	    document.getElementById('B_et_C').style.width = "1001px";    
	    document.getElementById('C_central').style.width = "816px"    
	    document.getElementById('id_iframe').style.width = "816px"    
	}
}


//============================================================================================================================================================
function CreerMenu() {
 // Cette fonction crée le menu et les sous-menus déroulant à partir des tableaux Menu et SousMenu définis globalement
 	var z;
    var Chaine = "";
 // fabrication de la barre de menu
    Chaine += '<div>';
    for(ii=0;ii<Menu.length;ii++) {
        Chaine += '<a id="MENU_'+ii+'"class="menu_elt" href="javascript:AfficherOptions('+ii+',0,0)">'+Menu[ii]+'</a>';
    } 
    Chaine += '<div class="clrf"></div>';
    Chaine += '</div>';
 // Ecriture du menu   
    document.getElementById('id_PlaceMenu').innerHTML = Chaine;
}

//============================================================================================================================================================
function AfficherOptions (i,j,k) {

   var Heidi, ii; 
   
//----------------------------------------------------------- Met à jour le menu
//soulignement en rouge du menu sélectionné 
    for(ii=0;ii<Menu.length;ii++) {
	    Heidi = "MENU_"+ii; 
	    document.getElementById("MENU_"+ii).style.borderBottom="4px solid white";
	}
	Heidi = "MENU_"+i;
	document.getElementById("MENU_"+i).style.borderBottom="4px solid #CC0000";
	

//---------------------------------- Met à jour la barre de navigation intramenu
    Chaine = "";
    Chaine = Menu[i] +" > "+ SousMenu[i][j];
	if ( Onglet[i][j].length != 0 ) { 
		 Chaine += " > "+ Onglet[i][j][k][0];
    }
	document.getElementById('id_Navigation').innerHTML = Chaine;

//------------------------------------------------- Met a jour la barre de titre	
	
	document.getElementById('C_central_zone_titre').innerHTML = Titre[i][j];

//------------------------------------ Met a jour l'icone dans la barre de titre	
	
	document.getElementById('C_ico_1').innerHTML = "<img src='"+G_Racine_Images+Im_ico[i][j]+"' />";

//----------------------------------------------------------- Met a jour le logo	
	
	document.getElementById('B_lateral').style.backgroundImage = 'url('+G_Racine_Logos+Onglet[i][j][k][2]+')';
	
//---------------------------------------------------- Met a jour les Sous-Menus
    Chaine = "";
	for (jj=0;jj<SousMenu[i].length;jj++) {
		if ( (SousMenu[i][jj] != null) && (SousMenu[i][jj] != "") ) {	
	        Chaine += "<a class='option";
			if (j==jj){ Chaine += "_select'"; } else { Chaine += "'"; }  
			Chaine += " href=\"javascript:AfficherOptions("+i+","+jj+",0)\">"+SousMenu[i][jj]+"</a>"	 
		}
	}
    document.getElementById('B_options').innerHTML = Chaine;
	
 //------------------------------------------------------ Met à jour les onglets	
    Chaine = "";
	
	for (mm=0;mm<Onglet[i][j].length;mm++) { 
		if ( (Onglet[i][j][mm] != null) && (Onglet[i][j][mm][0] != "") ) {	
		    if (k==mm){
		        Chaine += "<div class='o_left_select'></div><a class='onglet_select'";
		    } else {
		        Chaine += "<div class='o_left'></div><a class='onglet'";
			}
		    Chaine += " href=\"javascript:AfficherOptions("+i+","+j+","+mm+")\">"+Onglet[i][j][mm][0]+"</a>"
		    if (k==mm){
		        Chaine += "<div class='o_right_select'></div>";
		    } else {
		        Chaine += "<div class='o_right'></div>";
			}
		} 
		else {
		    Chaine += "<div></div>" // rattrapage de hauteur dans le cas où il n'y a pas d'onglet
		}
	}
	
    document.getElementById('C_onglet').innerHTML = Chaine;

 //-------------------------------------------------------- Affichage de la page	
	document.getElementById('id_iframe').src= G_Racine_Pages + Onglet[i][j][k][1];
}


//============================================================================================================================================================
function AfficherPage(page) {
//------------------------------------------------------------------------------
// BMA | 070211 | création 
//------------------------------------------------------------------------------
// Affiche la page en paramètre dans l'IFRAME et met les contexte à jour.
// Si le nom de fichier n'est pas trouvé, la page d'accueil est affichée. 
// Si pas de paramètre, affichage de l'index
//------------------------------------------------------------------------------
    if (page==undefined) { AfficherOptions(0,0,0); }	 
    var A = New_Get_ijk(page);
    AfficherOptions (A[0],A[1],A[2])
}

//============================================================================================================================================================
function InitSite() {
//------------------------------------------------------------------------------
// réalise l'initialisation du site au chargement
//------------------------------------------------------------------------------
    Enlarge_if_IE(); 

	CreerMenu(); 

	var ijk = Get_ijk();
    
	if ( ijk[0]>=Menu.length || ijk[1]>=SousMenu.length && ijk[2]>=Onglet.length ) { 
       ijk = [0,0,0]; 
	}
    	
	AfficherOptions(ijk[0],ijk[1],ijk[2])
}


//============================================================================================================================================================
function GenererURL (i,j,k) {
    var Chaine = G_Racine;
	var Morceau = new Array;
	
	Morceau = Menu[i].split(" ");
	for (x=0;x<Morceau.length;x++) { Chaine += MettreEnForme(Morceau[x]); }
	
	Morceau = SousMenu[i][j].split(" ");
	if (Morceau[0]!="") { Chaine += "_"; }
	for (x=0;x<Morceau.length;x++) { Chaine += MettreEnForme(Morceau[x]); }
	
	if (k < Onglet[i][j].length) {
    	Morceau = Onglet[i][j][k].split(" ");
    	if (Morceau[0]!="") { Chaine += "_"; }
    	for (x=0;x<Morceau.length;x++) { Chaine += MettreEnForme(Morceau[x]); }
	}
	Chaine += ".htm";
 	return(Chaine);
}

//============================================================================================================================================================
function MettreEnForme (Chaine) {
	Taille = 5;
	Chaine = Chaine.slice(0,Taille);
	Chaine = DesaccentuerMinuscule(Chaine.toLowerCase());
	Chaine = Chaine.slice(0,1).toUpperCase()+Chaine.slice(1,Taille);
	return (Chaine);  
}
//------------------------------------------------------------------------------
function DesaccentuerMinuscule (Chaine) {
// 1) convertit les caractères accentués courants en caractères sans accents
// 2) supprime l'apostrophe
// Renvoie la chaine traitée 
    var Resultat ="";
	var Lettre;
	for (i=0;i<Chaine.length;i++) {
	    Lettre = Chaine.slice(i,i+1);
		switch(Lettre) {
		    case 'â' : Lettre = 'a'; break; 
		    case 'à' : Lettre = 'a'; break;
			case 'ä' : Lettre = 'a'; break; 
		    case 'é' : Lettre = 'e'; break; 
		    case 'è' : Lettre = 'e'; break; 
		    case 'ê' : Lettre = 'e'; break; 
		    case 'ë' : Lettre = 'e'; break;
		    case 'î' : Lettre = 'i'; break;
		    case 'ï' : Lettre = 'i'; break;
		    case 'ö' : Lettre = 'o'; break;
		    case 'ô' : Lettre = 'o'; break;
		    case 'ù' : Lettre = 'u'; break;
		    case 'ü' : Lettre = 'u'; break;
		    case 'û' : Lettre = 'u'; break;
		    case "'" : Lettre = ''; break;
		}
		Resultat += Lettre;
	}
	return (Resultat)  
}

//------------------------------------------------------------------------------
function Arborescence() {
    W = window.open("","","width=1000,scrollbars=yes");
	N=1;
	Chaine = "";
	W.document.write("<body style='font-family:courier;font-size:10pt;'><pre>") 
	for (ii=0;ii<Menu.length;ii++) {
	    for (jj=0;jj<SousMenu[ii].length;jj++) {
            for (mm=0;mm<Onglet[ii][jj].length;mm++) {
			    Chaine =""+N; if (N<100) {Chaine="0"+Chaine }; if (N<10) {Chaine="0"+Chaine }; N++;
				Chaine += " "+ Menu[ii]+" > "+SousMenu[ii][jj]+" > "+Onglet[ii][jj][mm];
				Chaine += "                                                                          ";
				Chaine = Chaine.slice(0,75);
				Chaine += GenererURL(ii,jj,mm)+"<br>"; 
				W.document.write(Chaine); 
    		}
	    }
	}
}

//------------------------------------------------------------------------------
function Imprime(Lien) {
// Affiche la page en cours pour impression.
// Rajoute une entête X9000 si la page a été prévue pour, c-à-d présence après
// <body> de <div id='entete_X9000'></div>

var Texte ="";   
    Texte += "<div><div style='float:left;'>"
	Texte += "<img src='../Styles/Images/_logo_x9k3_180x102_transp_bordure_4.gif'/></div>"
	Texte += "<div style='font-family:verdana; color:red;float:left;padding-top:20px'> Vous avez souhaité imprimer la page :<br>"+Lien+"<br><br></div>"
	Texte += "<div style='clear:both'></div>"
	Texte += "</div>"
	

    W = window.open(Lien,'','menubar=yes, width=800px');
	if ( W.document.getElementById('entete_X9000') != null ) {
	    W.document.getElementById('entete_X9000').innerHTML = Texte;
	}	
}



//------------------------------------------------------------------------------
function toto() {
   w=window.open();
   w.document.write(document.getElementById("Bdy").outerHTML);   
   //alert(document.getElementById("Bdy").outerHTML);   
}

function youpi() {
    for(ii=1;ii<Menu.length;ii++) { 
		Chaine = 'm'+ii;
		document.getElementById(Chaine).style.display='block';
		document.getElementById(Chaine).style.display='none';
    }
}



