var xhr=null; //déclaration de la var qui sert à charger le contenu de la requête	
var typeRecherche= "nom";
		
		function autoCompOff(id){ //désactivation de l'auto complete pour ne pas géner les suggestions
			document.getElementById(id).setAttribute("autocomplete","off");
		}
				
		function firstDetect(str){
			if (str[0].checked) {
				typeRecherche=str[0].value;
			}
			else if (str[1].checked) {
				typeRecherche=str[1].value;
			}
		}
		//RECHERCHE DE PRODUIT OU DE REFERENCE ?
		function choix(str) {
			document.getElementById("suggestion").innerHTML="";//on réinitialise au cas ou l'utilisateur coche l'autre type de recherche alors qu'une suggestion est en cours
			document.getElementById('suggestion').style.display="none";
			//on attribue nom ou reference à la var selon le choix (0=nom 1=reference)
			if (str[0].checked) {
				document.getElementById("produit").value="";//on réninitalise le champ de texte
				typeRecherche=str[0].value;
			}
			else if (str[1].checked) {
				document.getElementById("produit").value="A";// on met A pour indiquer que les refs de produits commencent par A
				typeRecherche=str[1].value;
			}
		}
		
		//REQUÊTE 
		/* méthode callback  voir:   http://www.siteduzero.com/tutoriel-3-100294-l-objet-xmlhttprequest.html  */
		
		function init(str){ 
			if(str.length==0){
				document.getElementById("suggestion").innerHTML="";
			}
		
			if (document.getElementById('suggestion').innerHTML=="" || document.getElementById('suggestion').innerHTML==null){ //vérif que le champ n'est pas vide
				document.getElementById('suggestion').style.display="none"; //sinon on masque à nouveau la div
			}
			var reponseListe=""; //on remet la suggestion à vide à chaque entrée, sinon tout s'ajoute à la suite
			
			request(readData);//déclenchement de notre requête en callback
			
			//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------			
			function request(callback) {
				
				if (window.XMLHttpRequest || window.ActiveXObject) {
					if (window.ActiveXObject) {
						try { xhr = new ActiveXObject("Msxml2.XMLHTTP");} catch(e) {xhr = new ActiveXObject("Microsoft.XMLHTTP");}
					} else { xhr = new XMLHttpRequest(); }
				} else { alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest..."); return null;}
	
				xhr.onreadystatechange = function() {
					if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
						callback(xhr.responseText);
					}
				};//fin de readystatechange
	
				xhr.open("get", "requete_recherche.php?requete"+typeRecherche+"="+encodeURIComponent(str),true);//envoie soit ?requetenom= soit ?requetereference=
				xhr.send(null);
			}//fin function request(callback)
			//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------		
			function readData(sData) {
				document.getElementById('suggestion').style.display = (xhr.responseText == "")?"none":""; //condition ternaire
				//si on a pas de réponse on masque la div, si on en a on l'affiche
				var reponseSplit = xhr.responseText.split('/');// on récupère le echo de requete_recherche.php et on sépare à chaque / (reponseSplit est un tableau qui contient toutes les réponses) cependant on a encore le nom de page et le lien séparés par un :
				for (var i = 0; i < reponseSplit.length; i++){
					reponseListe+= '<a href="'+ 
					(reponseSplit[i]).substring(reponseSplit[i].indexOf(':')).replace(':','') /*  lien: on prend tout à partir du :, le replace permet de l'enlever  */
					+'">'+
					(reponseSplit[i]).substring(0,reponseSplit[i].indexOf(':')) /*  nom de page   */
					+"</a><br/>";
					}
					document.getElementById('suggestion').innerHTML = reponseListe; //on affiche les suggestions
			}//fin function readData(sData)
		}// fin function init
