var div = "";
function envoyerRequete(requete, url) {
	requete.onreadystatechange = AjaxFin;
	requete.open("GET", url, true);
	requete.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	//alert(url);
	requete.send(null);
}

function AjaxDebut(url, cible) {
	//alert(url);
	//alert(cible);
	cache_affiche_div (cible+"_loading", 70, "visible");
	cache_affiche_div (cible, 0, "hidden");
	//cache_affiche_div ("motdepasse_formulaire", 0, "hidden");
	div = cible;
	envoyerRequete(requete, url);
}

var regExpBeginning = /^\s+/;
var regExpEnd       = /\s+$/;
 
// Supprime les espaces inutiles en début et fin de la chaîne passée en paramètre.
function trim(aString) {
    return aString.replace(regExpBeginning, "").replace(regExpEnd, "");
}
 
 
function AjaxFin () {
	//alert(requete.readyState);
	if (requete.readyState == 4) {
		if (requete.status == 200) {
			var reponse = requete.responseText;
			
			Traitement_Retour(reponse);
			
			requete = creerRequete();
		}
		else {
    	  alert("Erreur! Statut de la requête = " + requete.status);
		}
    }
}

function Traitement_Retour (reponse) {
	//alert(reponse);
	var divTmp = document.getElementById(div);
	var reponse_trim = trim(reponse)
	//alert(reponse);
	var debut_reponse = reponse_trim.substr(0,7);
	switch (debut_reponse) {
		case "goodies" :
			divTmp.innerHTML = reponse_trim.substr(7,reponse_trim.length-7);
			cache_affiche_div (div+"_loading", 0, "hidden");
			cache_affiche_div (div, 400, "visible");
		break;
		default :
      		// DANS TOUS LES AUTRES CAS, ON AFFICHES LE RETOUR
			divTmp.innerHTML = reponse_trim;
			cache_affiche_div (div+"_loading", 0, "hidden");
			cache_affiche_div (div, 300, "visible");
	} 
}
