function appelAjax() {
	var xhr = getXhr();

	if (xhr) {
		xhr.onreadystatechange = function() {
			
			if (xhr.readyState == 4 && xhr.status == 200) {
				var reponseHTML = xhr.responseText;
				if (reponseHTML != '') {

				}
			}
			else if (xhr.readyState == 4 && xhr.status >= 400) {
				/* ERREUR LORS DU RETOUR */
				alert('erreur :\n' + xhr.responseText);
			}
		}

		xhr.open("POST", "", true);
		xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		var params = "";
		xhr.send(params);
	}
}
function Magasinachat(pays,dpt,enseigne,prefixe) {
	var xhr = getXhr();

	if (xhr) {
		xhr.onreadystatechange = function() {
			
			if (xhr.readyState == 4 && xhr.status == 200) {
				var reponseHTML = xhr.responseText;
				if (reponseHTML != '') {
					document.getElementById("magasin"+prefixe).innerHTML = reponseHTML;
				}
			}
			else if (xhr.readyState == 4 && xhr.status >= 400) {
				/* ERREUR LORS DU RETOUR */
				alert('erreur :\n' + xhr.responseText);
			}
		}

		xhr.open("POST", "code_enseigne.php", true);
		xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		var params = "dpt="+dpt+"&ens="+enseigne+"&prefixe="+prefixe+"&pays="+pays;
		xhr.send(params);
	}
}
var captOk = false;
function VerifCapt(valeurCode, callbk) {
	var retour = false;
	var xhr = getXhr();

	if (xhr) {
		xhr.onreadystatechange = function() {
			
			if (xhr.readyState == 4 && xhr.status == 200) {
				var reponseHTML = xhr.responseText;
				if (reponseHTML != '') {
					captOk = (reponseHTML == 'ok');
				}
                                // Fonction de retour
                                if (callbk == "verif") verif();
                                else verif_();
			}
			else if (xhr.readyState == 4 && xhr.status >= 400) {
				/* ERREUR LORS DU RETOUR */
				alert('erreur :\n' + xhr.responseText);
				captOk = false;

                                // Fonction de retour
                                if (callbk == "verif") verif();
                                else verif_();
			}
		}

		xhr.open("POST", "verifcaptcha.php", true);
		xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		var params = "code="+valeurCode;
		xhr.send(params);
	}
}


function showtitre(pays,prefixe) {
	var xhr = getXhr();
	if (xhr) {
		xhr.onreadystatechange = function() {
			
			if (xhr.readyState == 4 && xhr.status == 200) {
				var reponseHTML = xhr.responseText;
				if (reponseHTML != '') {
					document.getElementById("dtitre"+prefixe).innerHTML = reponseHTML;
				}
			}
			else if (xhr.readyState == 4 && xhr.status >= 400) {
				/* ERREUR LORS DU RETOUR */
				alert('erreur :\n' + xhr.responseText);
			}
		}

		xhr.open("POST", "code_titre.php", true);
		xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		var params = "pays="+pays+"&prefixe="+prefixe;
		xhr.send(params);
	}
}

function Adresse(pays,prefixe) {
	
	showtitre(pays,prefixe);
	var xhr = getXhr();

	if (xhr) {
		xhr.onreadystatechange = function() {
			
			if (xhr.readyState == 4 && xhr.status == 200) {
				var reponseHTML = xhr.responseText;
				if (reponseHTML != '') {
					document.getElementById("adresse"+prefixe).innerHTML = reponseHTML;
				}
			}
			else if (xhr.readyState == 4 && xhr.status >= 400) {
				/* ERREUR LORS DU RETOUR */
				alert('erreur :\n' + xhr.responseText);
			}
		}

		xhr.open("POST", "code_pays.php", true);
		xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		var params = "pays="+pays+"&prefixe="+prefixe;
		xhr.send(params);
	}
}

function city(cp,pays,max,prefixe) {
	var xhr = getXhr();

	if (xhr) {
		xhr.onreadystatechange = function() {
			
			if (xhr.readyState == 4 && xhr.status == 200) {
				var reponseHTML = xhr.responseText;
				if (reponseHTML != '') {
					document.getElementById("maville"+prefixe).innerHTML = reponseHTML;
				}
			}
			else if (xhr.readyState == 4 && xhr.status >= 400) {
				/* ERREUR LORS DU RETOUR */
				alert('erreur :\n' + xhr.responseText);
			}
		}

		xhr.open("POST", "code_ville.php", true);
		xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		var params = "cp="+cp+"&prefixe="+prefixe+"&pays="+pays+"&max="+max;
		xhr.send(params);
	}
}

function libelle_cb(code) {
	var xhr = getXhr();

	if (xhr) {
		xhr.onreadystatechange = function() {
			
			if (xhr.readyState == 4 && xhr.status == 200) {
				var reponseHTML = xhr.responseText;
				if (reponseHTML != '') {
					document.getElementById("produitbarre").innerHTML = reponseHTML;
				}
			}
			else if (xhr.readyState == 4 && xhr.status >= 400) {
				/* ERREUR LORS DU RETOUR */
				alert('erreur :\n' + xhr.responseText);
			}
		}

		xhr.open("POST", "code_produit.php", true);
		xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		var params = "code="+code;
		xhr.send(params);
	}
}

// obtention d'un objet permettant d'emettre une requête ajax
function getXhr()
{
	var xhr;
	if(window.XMLHttpRequest)
	{
		// Firefox et autres
		xhr = new XMLHttpRequest();
	}
	else if(window.ActiveXObject)
	{
		// Internet Explorer 
		try
		{
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	else
	{
		xhr = false; 
	} 
	return xhr;
}

function URLEncode (texte)
{
	// The Javascript escape and unescape functions do not correspond
	// with what browsers actually do...
	var SAFECHARS = "0123456789" +					// Numeric
					"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	// Alphabetic
					"abcdefghijklmnopqrstuvwxyz" +
					"-_.!~*'()";					// RFC2396 Mark characters
	var HEX = "0123456789ABCDEF";

	var plaintext = texte;
	var encoded = "";
	for (var i = 0; i < plaintext.length; i++ ) {
		var ch = plaintext.charAt(i);
		if (ch == " ") {
			encoded += "+";				// x-www-urlencoded, rather than %20
		} else if (SAFECHARS.indexOf(ch) != -1) {
			encoded += ch;
		} else {
			var charCode = ch.charCodeAt(0);
			if (charCode <= 255) {
				encoded += "%";
				encoded += HEX.charAt((charCode >> 4) & 0xF);
				encoded += HEX.charAt(charCode & 0xF);
			}
		}
	} // for

	return encoded;
}

function trim(chaine) 
{
	var resultat = chaine;
	while (resultat.substring(0, 1) == ' ')
		resultat = resultat.substring(1, resultat.length);
	while (resultat.substring(resultat.length - 1, resultat.length) == ' ')
		resultat = resultat.substring(0, resultat.length - 1);
	return resultat;
}
