function createRequestObject(){
	var req = false;
  	
	if(window.XMLHttpRequest){
		req = new XMLHttpRequest();
		
		if(req.overrideMimeType){ req.overrideMimeType('text/xml'); }
	} 
	else if(window.ActiveXObject){
		try{ req = new ActiveXObject("Msxml2.XMLHTTP"); }
		catch(e){
			try{ req = new ActiveXObject("Microsoft.XMLHTTP"); }
			catch(e){}
		}
	}
	
	if(!req){
		document.getElementById('global').innerHTML = "Erreur : Votre navigateur ne supporte pas AJAX";
		return false;
	}
	else{ return req; }	
}
 
var _oldInputFieldValue=""; // valeur précédente du champ texte
var _currentInputFieldValue=""; // valeur actuelle du champ texte

function initAutoComplete(formulaire,input_texte){
	_documentForm=formulaire;
	_inputField=input_texte;
	_inputField.autocomplete="off";
	_currentInputFieldValue=_inputField.value;
	_oldInputFieldValue=_currentInputFieldValue;
	setTimeout("mainLoop()",200)
}

function mainLoop(){
  _currentInputFieldValue = _inputField.value;
  if(_oldInputFieldValue!=_currentInputFieldValue)
	{
    var valeur=_currentInputFieldValue;
    
	if(valeur.length > 2)
		{
		var req = createRequestObject();       //On lance une requete xmlhttprequest
		// Gestion des resultats de la requete
	    req.onreadystatechange = function() {             // On défini ce qu'on va faire quand on aura la réponse
		if(req.readyState == 4 && req.status == 200)   // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
	       	{
			affiche = req.responseText;                // On se sert de innerHTML pour rajouter les options a la liste
	       	document.getElementById('global').innerHTML= affiche;
			}
		}	
		// Création de la requete
		var URL='search.php'
		req.open("POST",URL,true); // Envoie de la requete en POST
		req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');	// ne pas oublier ça pour le post
		req.send("valeur="+valeur);	// envoie des variables = $_POST['valeur']=valeur
		}
	else
		{
		document.getElementById('global').innerHTML= '<p style="font-weight:bold; color:#FF0000;">Veuillez entrer au moins 3 caractères</p>';
		}
	_inputField.focus()
}
  _oldInputFieldValue=_currentInputFieldValue;
  setTimeout("mainLoop()",200); // la fonction se redéclenchera dans 200 ms
  return true
}
