// ** fonnction qui appelle le contenu du menu et de la carte relative **
function menu (aff_titre) {

var niveau = 0;
var indices = "";
var Arbo = new Array();
Arbo = arbo();

document.write ("<table width='530' border='0' cellspacing='0' cellpadding='0'><tr><td width='410' valign='top'>");

// appel génération du menu
gen_menu (Arbo,Arbo,niveau,indices,aff_titre);
document.write ("</td><td width='120' valign='top'>");

// appel génération de la carte
affich_carte ();
document.write ("</td></tr></table>");

}

// ** fonction qui cherche a localiser la page courante dans l'arbo **
function gen_menu (tab_origin,tab,niveau,ref,aff_titre) {

   if ( tab == null ) { 
     document.write("Problème : Le Menu est vide" ); 
	 return;
	 }

   if ( tab.length == undefined ) { 
     document.write("Problème : une donnée d\'un menu comporte un problème, ou un caractère interdit" );
     return; 
	 }

   var something = false;
   
   for ( var cle in tab )
   {
     something = true;
     var info = tab[cle];
     if ( ( typeof info == "object" ) && ( info.length != undefined  ) )
      { 
        if ( cle == 1 ) { niveau = niveau + 1; } 
	    gen_menu (tab_origin,info,niveau,ref+cle+",",aff_titre) ;      
	  }
     else
      {
       if ( cle == 0 && tab[0] != "" ) 
	     { 
		   if ( window.location.href.indexOf(tab[1]) != -1 ) 
		     { 
               var indices_brut = ref;
               var reg = new RegExp("," , "g");
               var tab_indices = new Array();
			   tab_indices = indices_brut.split(reg);

               // lancement de la fonction récursive qui parcours & affiche le menu relatif
               arbo_display (tab_origin,tab,tab_indices,aff_titre);
			 }
		 }
      }
   }

   if ( !something ) { document.writeln( "<BR> : Une rubrique n\'est pas renseignée" ); }
   niveau = niveau - 1;
}


// ** fonction qui affiche le menu relatif a la page courante **
function arbo_display (tableau,choix_arbo,choix_indices,aff_titre)
{

var espace = "";
var chemin = recup_chemrel(choix_arbo[1]);

// en prévision, on pré-charge les images du menu carte

var liste_images = new Array('caq_mini_aquitaine.gif','caq_mini_dordogne.gif','caq_mini_drass.gif','caq_mini_gironde.gif','caq_mini_landes.gif','caq_mini_lotgaronne.gif','caq_mini_pyrenees.gif','minicarte_sub.gif');
document.image_chargee = new Array();
for ( i = 0; i < liste_images.length; i++ ) {
   document.image_chargee[i] = new Image;
   document.image_chargee[i].src = chemin +"images/minicarte01/" + liste_images[i];
}

// recupération de l'arbo père relatif au niveau courant

var arbo_pere = new Array();
var tab_tmp = new Array();
tab_tmp = tableau;

for (i=0; i<(choix_indices.length-1) ; i++)
 {
  arbo_pere[i] = tab_tmp[choix_indices[i]][0];
  tab_tmp = tab_tmp[choix_indices[i]];
 }

// récupération de la sous-arbo relative au niveau courant
 
var arbo_fils = new Array();
for (j=1; j<(tab_tmp.length) ; j++)
 {
  if (typeof tab_tmp[j][0] == "object") { arbo_fils[j-1] = tab_tmp[j][0]; }
  else { arbo_fils[j-1] = tab_tmp[j]; }
 }
 
document.write ("<table width='410' border='0' cellspacing='0' cellpadding='0'><tr>");
document.write ("<td><img src='" + chemin + "images/" + choix_arbo[2] + "_mini.gif'></td>");
document.write ("<td width='100%' class='txtmarine'>&nbsp;>&nbsp;<a href='" + chemin + arbo_pere[0][1] + "' class='lienmarine'><strong>" + arbo_pere[0][0] + "</strong></a></td>");
document.write ("</tr><tr><td colspan='2' class='txtmarine'><br>");

// affichage de l'arbo pere

for (k=1; k<arbo_pere.length ; k++)
 {
  if ( window.location.href.indexOf(arbo_pere[k][1]) == -1 )
    {
     document.write (espace + "<img src='" + chemin + "images/fleche_org_01.gif' width='14' height='11' align='absmiddle'>&nbsp;<a href='" + chemin + arbo_pere[k][1] + "' class='lienmarine'>" + arbo_pere[k][0] + "</a><br>" );
    }
  else
    {
     document.write (espace + "<img src='" + chemin + "images/fleche_orgclair_01.gif' width='14' height='11' align='absmiddle'>&nbsp;<span class='txtmarineclair'>" + arbo_pere[k][0] + "</span><br>" );
    }
  espace = espace + "&nbsp;&nbsp;";
 }

// affichage de la sous arbo

for (k=0; k<arbo_fils.length ; k++)
 {
  if ( window.location.href.indexOf(arbo_fils[k][1]) == -1 )
    {
     document.write (espace + "<img src='" + chemin + "images/fleche_org_01.gif' width='14' height='11' align='absmiddle'>&nbsp;<a href='" + chemin + arbo_fils[k][1] + "' class='lienmarine'>" + arbo_fils[k][0] + "</a><br>" );
    }
  else
    {
     document.write (espace + "<img src='" + chemin + "images/fleche_orgclair_01.gif' width='14' height='11' align='absmiddle'>&nbsp;<span class='txtmarineclair'>" + arbo_fils[k][0] + "</span><br>" );
    }
 }

document.write ("</td></tr>");

// si on a choisi d'afficher le titre du niveau choisi
if (aff_titre == 1) 
 {
 document.write ("<tr><td colspan='2' class='txtmarine'><br><font size='2'><strong>");
 document.write ("<img src='" + chemin + "images/puce_org_01.gif' width='14' height='11' align='absmiddle'>&nbsp;");
 document.write (choix_arbo[0] + "</strong></font></td></tr>");
 }
else
 {
 document.write ("<tr><td colspan='2' class='txtgrisclair'><br><font size='1'>");
 document.write (espace + "&nbsp;&nbsp;&nbsp;&nbsp;Choisissez une sous-rubrique");
 document.write ("</font></td></tr>"); 
 }
document.write ("</table>");

}

// ** fonction d'affichage de la carte (ou non) en fonction des infos locales existantes **
function affich_carte () {

var affich = 0;

// on prepare le debut du code de la carte interactive
Texte = "<table width='101' border='0' cellspacing='0' cellpadding='0'><tr><td>";
Texte = Texte + "<img name=\"carteaq\" src=\"../../images/minicarte01/caq_mini_aquitaine.gif\" width=\"101\" height=\"101\" border=\"0\" usemap=\"#Map\">\n";
Texte = Texte + "<map name=\"Map\">\n";

// on regarde si il y a des infos locales presentes pour la DDASS 24
for (k=0; k<infolocal24.length ; k++)
 {
  if ( window.location.href.indexOf(infolocal24[k][0]) != -1 )
    {
     Texte = Texte + "  <area alt=\"DDASS 24 " + infolocal24[k][1] + "\" shape=\"poly\" href=\"" + recup_chemrel(infolocal24[k][0]) + infolocal24[k][2] + "\" onmouseover=\"document.images['carteaq'].src='../../images/minicarte01/caq_mini_dordogne.gif';\" onmouseout=\"document.images['carteaq'].src='../../images/minicarte01/caq_mini_aquitaine.gif';\" coords=\"76,3,59,20,65,30,88,37,98,24,91,11\">\n";
     affich = 1;
    }
 }

// on regarde si il y a des infos locales presentes pour la DDASS 33
for (k=0; k<infolocal33.length ; k++)
 {
  if ( window.location.href.indexOf(infolocal33[k][0]) != -1  )
    {
     Texte = Texte + "  <area alt=\"DDASS 33" + infolocal33[k][1] + "\" shape=\"poly\" href=\"" + recup_chemrel(infolocal33[k][0]) + infolocal33[k][2] + "\" onmouseover=\"document.images['carteaq'].src='../../images/minicarte01/caq_mini_gironde.gif';\" onmouseout=\"document.images['carteaq'].src='../../images/minicarte01/caq_mini_aquitaine.gif';\" coords=\"56,21,62,34,53,51,19,40,25,7\">\n";
     affich = 1;
    }
 }

// on regarde si il y a des infos locales presentes pour la DDASS 40
for (k=0; k<infolocal40.length ; k++)
 {
  if ( window.location.href.indexOf(infolocal40[k][0]) != -1  )
    {
     Texte = Texte + "  <area alt=\"DDASS 40" + infolocal40[k][1] + "\" shape=\"poly\" href=\"" + recup_chemrel(infolocal40[k][0]) + infolocal40[k][2] + "\" onmouseover=\"document.images['carteaq'].src='../../images/minicarte01/caq_mini_landes.gif';\" onmouseout=\"document.images['carteaq'].src='../../images/minicarte01/caq_mini_aquitaine.gif';\" coords=\"56,59,48,62,45,71,12,71,19,40,53,52\">\n";
     affich = 1;
    }
 }

// on regarde si il y a des infos locales presentes pour la DDASS 47
for (k=0; k<infolocal47.length ; k++)
 {
  if ( window.location.href.indexOf(infolocal47[k][0]) != -1  )
    {
     Texte = Texte + "  <area alt=\"DDASS 47" + infolocal47[k][1] + "\" shape=\"poly\" href=\"" + recup_chemrel(infolocal47[k][0]) + infolocal47[k][2] + "\" onmouseover=\"document.images['carteaq'].src='../../images/minicarte01/caq_mini_lotgaronne.gif';\" onmouseout=\"document.images['carteaq'].src='../../images/minicarte01/caq_mini_aquitaine.gif';\" coords=\"59,58,77,55,86,40,65,32,55,51\">\n";
     affich = 1;
    }
 }

// on regarde si il y a des infos locales presentes pour la DDASS 64
for (k=0; k<infolocal64.length ; k++)
 {
  if ( window.location.href.indexOf(infolocal64[k][0]) != -1  )
    {
     Texte = Texte + "  <area alt=\"DDASS 64" + infolocal64[k][1] + "\" shape=\"poly\" href=\"" + recup_chemrel(infolocal64[k][0]) + infolocal64[k][2] + "\" onmouseover=\"document.images['carteaq'].src='../../images/minicarte01/caq_mini_pyrenees.gif';\" onmouseout=\"document.images['carteaq'].src='../../images/minicarte01/caq_mini_aquitaine.gif';\" coords=\"9,72,51,74,54,81,39,97,12,89,5,80\">\n";
     affich = 1;
    }
 }

// fin de code de la carte interactive
Texte = Texte + "</map>\n";
Texte = Texte + "</td></tr><tr><td class='txtmarine'><img src='../../images/minicarte01/minicarte_sub.gif'><br>";
Texte = Texte + "</td></tr></table>";

// cas particulier : si la page est DRASS, on affiche une carte fixe
var Texte2= "";
for (k=0; k<infolocalDR.length ; k++)
 {
  if ( window.location.href.indexOf(infolocalDR[k][0]) != -1  )
    {
     Texte2 = "<table width='101' border='0' cellspacing='0' cellpadding='0'><tr><td>";
     Texte2 = Texte2 + "<img src=\"../../images/minicarte01/caq_mini_drass.gif\" width=\"101\" height=\"101\" alt=\"Vous entrez dans un thème ou sous thème DRASS\" border=\"0\">\n";
     Texte2 = Texte2 + "</td></tr></table>";
     affich = 1;
    }
 }

if (affich == 1) {
  if (Texte2 == "") {document.write(Texte);}
  else {document.write(Texte2);}
  }
  
}

// ** fonction qui récupére le chemin relatif de la page html **
function recup_chemrel(page)
{

var chemin = "";
var chaine = page;
for (var i=0; i<chaine.length; i++) 
 {
  if (chaine.charCodeAt(i) == 47) { chemin = chemin + "../"; }
 }
return chemin;
}