function trouve(idf) {
    if (document.getElementById) {
      return document.getElementById(idf);
    } else if (document.all) {
      return document.all[idf];
    } else if (document.layers) {
      return document.layers[idf];
    } else { return null }
  }



function trouvestyle(idf) { 
    if (document.getElementById) {
      return document.getElementById(idf).style;
    } else if (document.all) {
      return document.all[idf].style;
    } else if (document.layers) {
      return document.layers[idf];
    } else { return null }
  }

function hovermenu(idf) {

var i=0;
var autorise=true;
while (Selects[i]) {
  if (Selects[i+1] == idf) {
  autorise=false;
  }
 i=i+2;
 }
i=0;
if (autorise) {
 while (Interdits[i]) {
  if (Interdits[i+1] == idf) {
  autorise=false;
  }
 i=i+2;
 }
}

if (autorise) {
 var stylem=trouvestyle(idf);
 if(stylem)  stylem.backgroundImage= "url(../../Images/Data/"+FondOn+")";
}
}

function restauremenu(idf) {

var i=0;
var autorise=true;
while (Selects[i]) {
  if (Selects[i+1] == idf) {
  autorise=false;
  }
 i=i+2;
 }
i=0;
if (autorise) {
 while (Interdits[i]) {
  if (Interdits[i+1] == idf) {
  autorise=false;
  }
 i=i+2;
 }
}

if (autorise) {
 var stylem=trouvestyle(idf);
 if(stylem)  stylem.backgroundImage='url(../../Images/Data/' +FondOff +')';
}
}

          
function SelectBouton(a,niv) {
// Gestion de l'affichage de la ligne suivante de selection
if(niv > 0 && niv < 7){
  line = niv + 1;
  tab = trouvestyle("tab-" +line);
  tab.visibility = "visible";
  
  for(i=7; i > line; i--){
    tab = trouvestyle("tab-" +i);
    tab.visibility = "hidden";
	}
}
/***********************************************************/
if(niv < 6){
    getObjectById("search-result").style.display = "none";
}

if(niv == 6 && trouve("sound-niv6")){
    //document.getElementById("sound-niv6").style.visibility = "visible";
    sound = '<object type="application/x-mplayer2" data="../../Sound/SearchGuided2.mp3">';
    sound += '<param name="src" value="../../Sound/SearchGuided2.mp3" />';
    sound += '<param name="filename" value="../../Sound/SearchGuided2.mp3" />';
    sound += '<param name="type" value="application/x-mplayer2" />';
    sound += '<param name="showdisplay" value="false" />';
    sound += '<param name="showstatusbar" value="false" />';
    sound += '<param name="showcontrols" value="false" /></object>';
    document.getElementById("sound-niv6").innerHTML = sound;
}


var i=0;
var autorise=true;
while (Selects[i]) {
  if (Selects[i+1] == a) {
  autorise=false;
  }
 i=i+2;
 }
i=0;
if (autorise) {
 while (Interdits[i]) {
  if (Interdits[i+1] == a) {
  autorise=false;
  }
 i=i+2;
 }
}

if ((niv <= (niveau+1)) && (autorise)) {
niveau = niv;

// Lève les interdits venant d'un bouton de même niveau ou de niveau supérieur
 i=0;
 while (Interdits[i]) {

  if (Interdits[i] >= niv) {

// Vérifie qu'il n'y a pas d'autres interdits portant sur le même bouton
   var j=1;
   var autresint=0;
   while (Interdits[j]) {
    if ( Interdits[j] == Interdits[i+1] ) {
     if (j != i+1 ) {autresint = 1;}
    }
   j=j+2;
   }

   if (autresint == 0) {
    var stylem=trouvestyle(Interdits[i+1]);
    if (stylem)  {
     stylem.backgroundImage='url(../../Images/Data/' +FondOff+')';
     stylem.backgroundColor='';
    }
   }
  Interdits.splice(i,2);
  }
  else {i=i+2;}
 }


  // Restaure les boutons précédemment Sélectionnés de même niveau ou de niveau supérieur
 i=0;
 while (Selects[i]) {
  if (Selects[i] >= niv) {
   var stylem=trouvestyle(Selects[i+1]);
   if(stylem)  {
    stylem.backgroundImage='url(../../Images/Data/'+FondOff+')';
    stylem.backgroundColor='';
   }
  Selects.splice(i,2);
  }
 else {i=i+2;}
 }

 // Ajoute les nouveaux interdits

 i=2;
var j=0;
var cond=0;
var ii=0;
var debugchaine="";
while (arguments[i]) {

 e=arguments[i];
 Conditions = new Array;
 cond=0;
 ii=i;
 while (e.search(/-/) != -1 ) {
  e = e.replace("-","");
  Conditions[cond]=e;
  ii=ii+1;
  e=arguments[ii];
  cond=cond+1;
 }

 var rempli=0;
 var t=0;
 while (t < cond) {
 var k=1;
 while (Selects[k]) {
   if (Selects[k] == Conditions[t]) {rempli = rempli + 1; }
   k=k+2;
  }
 t++;
 }


 if (rempli == cond) {
  var f=arguments[ii];

  Interdits.push(niv,f);
  var stylem=trouvestyle(f);
  if(stylem)  {
   stylem.backgroundImage='';
   stylem.backgroundColor='#F80000';
  }
 }

if (ii != i) {i=ii+1;}
else {i=i+1;}

}

 // Ajoute le bouton aux boutons sélectionnés
 Selects.push(niv,a);
 var stylem=trouvestyle(a);
 if(stylem)  {
  stylem.backgroundImage='';
  stylem.backgroundColor='#00F800';
 }
 // Appel de la fonction d'informations
if (niv == 7) {Recherche();}
else {
 Informations(niv + 1);
 var BoutInterdits=new Array();
 var Val="";
 for (i=0;i<Interdits.length;i=i+2) {

   Chaine=Interdits[i+1];
   Debut=Chaine.substring(0,Chaine.length-1);
//   alert (Debut+" : "+Ordre[niv+1]);
   if (Debut == Ordre[niv+1]) {
//    Val="/"+Chaine+"/";

//var deb= BoutInterdits.join(",");
//alert ("Val :"+Val+" --- "+BoutInterdits.join(",").search(Val)+" ----"+BoutInterdits+" -- "+deb);

//    alert (Val);
//    if ( BoutInterdits.join(",").search(Val) == -1) {BoutInterdits.push(Interdits[i+1]);}

var ajouter=true;
for (j=0;j<BoutInterdits.length;j++) {
if (BoutInterdits[j] == Chaine) {var ajouter=false}
}
if (ajouter) {BoutInterdits.push(Interdits[i+1]);}


   }
 }
//alert (niv);
//var letableau=BoutInterdits.join(",");alert(letableau);

//alert ("nb de boutons interdits au niveau"+(niv+1)+" "+BoutInterdits.length+"éléments :"+BoutInterdits+" \n Interdits :"+Interdits);
//alert ("nb de boutons au niveau"+(niv+1)+" "+Boutons[niv+1]);
//Debut=Debut.substring(0,Debut.length-1);
 if (BoutInterdits.length ==  (Boutons[niv+1] - 1) ) {
   for (i=1;i<=Boutons[niv+1];i++) {
    var sel=trouve(Ordre[niv+1]+i);
    if (sel) {
     var noeud=sel.parentNode;
//     var c = noeud.onclick;
     setTimeout(noeud.onclick,1);
    }
   }
 }
 }

}
}


function Recherche() {
var navig=navigator.userAgent;

var chaine= Selects[1];
var i=3;
while (Selects[i]) {
chaine = chaine + "," + Selects[i];
i=i+2;
}

sendRequest(chaine);

}


function load_images() {

var image1 = new Image();
image1.src = '../../Images/Data/ButtonBg3.jpg';
}



////////////////////////////////////////////////////////////////////////////////
// Fonction instancie correctement HTTP en fonction des navigateurs
////////////////////////////////////////////////////////////////////////////////
function createXMLHttpRequest() {
var ua;

if(window.XMLHttpRequest) {
    try {
      ua = new XMLHttpRequest();
    } catch(e) {
      ua = false;
    }
  } else if(window.ActiveXObject) {
    try {
      ua = new ActiveXObject("Microsoft.XMLHTTP");
    } catch(e) {
      ua = false;
    }
  }
  return ua;
}


var req = createXMLHttpRequest();



function sendRequest(chaine) {
  req.open('post', 'Ajax_SearchGuided.php')
  req.onreadystatechange = handleResponse;
	req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset:UTF-8')
	req.send('le_req=' + chaine);   
}


function handleResponse() {
  box_result = getObjectById("search-result");
	box_result.style.display = "block";  
	 
  if(req.readyState == 4){
  		var response = req.responseText;
			box_result.innerHTML = response;
  }
  else{
	    box_result.innerHTML = "Chargement en cours...";
	}
}




