function rsMarque(f,liste1,liste2) { 
	var l1    = f.elements[liste1];
	var l2    = f.elements[liste2];
	var index = l1.selectedIndex; // index=valeur de l'index séléctionné
	   var xhr_object = null; 
	
		// --- procédure permettant d'instancier l'objet xhr_object en fonction du navigateur
	   if(window.XMLHttpRequest) // Firefox
	      xhr_object = new XMLHttpRequest();
	   else if(window.ActiveXObject) // Internet Explorer
	      xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	   	else { // XMLHttpRequest non supporté par le navigateur
	      alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
	      return;
	   	}
		// ---
	if (index==2)
	  	xhr_object.open("POST", "requete_marque.php", true); // (methode de transmission, url, mode de transmission)
	else {
	  	xhr_object.open("POST", "requete_rubrique.php", true); // (methode de transmission, url, mode de transmission)
	}
   	xhr_object.onreadystatechange = function() {	// test asynchrone de l'etat de la requete
      	if(xhr_object.readyState == 4){			// 4=etat OK
		 eval(unescape(xhr_object.responseText));	// xhr_object.responseText = résultat de l'éxécution de la requete  - unescape ne sert que pour la conversion des caractères
 												// eval execute le code renvoyé par la requete qq soit son type
		 //alert(unescape(xhr_object.responseText));		// permet de visualiser le résultat de la requete
		}
	}												

	   xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); // preciser l'encodage pour la methode POST
	   var data = "cat="+escape(l1.options[index].value)+"&form="+f.name+"&select="+liste2;
	   //var data = "cat="+escape(l1.options[index].text)+"&form="+f.name+"&select=Marque";
	   xhr_object.send(data); // envoi des données
	
} <!-- fin rsMarque
function rsSecteur(f) { 
	var l1    = f.elements["dept"];
	var l2    = f.elements["secteur"];
	var index = l1.selectedIndex; // index=valeur de l'index séléctionné
	   var xhr_object = null; 
	
		// --- procédure permettant d'instancier l'objet xhr_object en fonction du navigateur
	   if(window.XMLHttpRequest) // Firefox
	      xhr_object = new XMLHttpRequest();
	   else if(window.ActiveXObject) // Internet Explorer
	      xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	   	else { // XMLHttpRequest non supporté par le navigateur
	      alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
	      return;
	   	}
		// ---
	  	xhr_object.open("POST", "requete_secteur.php", true); // (methode de transmission, url, mode de transmission)

	xhr_object.onreadystatechange = function() {	// test asynchrone de l'etat de la requete
      	if(xhr_object.readyState == 4){			// 4=etat OK
		 eval(unescape(xhr_object.responseText));	// xhr_object.responseText = résultat de l'éxécution de la requete  - unescape ne sert que pour la conversion des caractères
 												// eval execute le code renvoyé par la requete qq soit son type
		 //alert(unescape(xhr_object.responseText));		// permet de visualiser le résultat de la requete
		 request_nb(f);							// appel de la fonction qui donne le nbre d'annonces
		}
	}												

	   xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); // preciser l'encodage pour la methode POST
	   var data = "cat="+escape(l1.options[index].value)+"&form="+f.name+"&select=secteur";
	   //var data = "cat="+escape(l1.options[index].text)+"&form="+f.name+"&select=Secteur";
	   xhr_object.send(data); // envoi des données
	
} <!-- fin rsSecteur
function request_nb(f) { // permet de determiner le nbre d'annonces en fonction des criteres
	var l1    = f.nom.value;
	var l2    = f.elements["service"];
	var l3    = f.elements["marque"];
	var l4    = f.ville.value;
	var l5    = f.elements["dept"];
	var l6    = f.elements["secteur"];
	var index1 = l1.selectedIndex; // index=valeur de l'index séléctionné dans la liste 
	var index2 = l2.selectedIndex; 
	var index3 = l3.selectedIndex; 
	var index4 = l4.selectedIndex; 
	var index5 = l5.selectedIndex; 
	var index6 = l6.selectedIndex;
	   var xhr_object = null; 
	
		// --- procédure permettant d'instancier l'objet xhr_object en fonction du navigateur
	   if(window.XMLHttpRequest) // Firefox
	      xhr_object = new XMLHttpRequest();
	   else if(window.ActiveXObject) // Internet Explorer
	      xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	   	else { // XMLHttpRequest non supporté par le navigateur
	      alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
	      return;
	   	}
		// ---
	   xhr_object.open("POST", "requeteNb.php", true); // (methode de transmission, url, mode de transmission)
	
   	xhr_object.onreadystatechange = function() {	// test asynchrone de l'etat de la requete
      	if(xhr_object.readyState == 4)			// 4=etat OK
		 eval(unescape(xhr_object.responseText));	// xhr_object.responseText = résultat de l'éxécution de la requete  - unescape ne sert que pour la conversion des caractères
 												// eval execute le code renvoyé par la requete qq soit son type
		 //alert(unescape(xhr_object.responseText));		// permet de visualiser le résultat de la requete
	}												

	   xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); // preciser l'encodage pour la methode POST
	   var data = "nom="+escape(l1)+"&form="+f.name+"&service="+escape(l2.options[index2].value)+"&marque="+escape(l3.options[index3].value)
	   +"&ville="+escape(l4)+"&dept="+escape(l5.options[index5].value)+"&secteur="+escape(l6.options[index6].value);
	   xhr_object.send(data); // envoi des données
	
} <!-- fin request_nb