/**
  * Envoie des données à l'aide d'XmlHttpRequest?
  * @param string methode d'envoi ['GET'|'POST']
  * @param string url
  * @param string données à envoyer sous la forme var1=value1&var2=value2...
  */
function setData (method, url, data) {
	var xmlhttp = getHTTPObject();
	
	if (!xmlhttp) {
		return false;
	}

	if(method == "GET") {
		if(data == 'null') {
			xmlhttp.open("GET", url, true); //ouverture asynchrone
		}
		else {
			xmlhttp.open("GET", url+"?"+data, true);
		}
		xmlhttp.send(null);
	}
	else if (method == "POST") {
		xmlhttp.open("POST", url, true); //ouverture asynchrone
		xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		xmlhttp.send(data);
	}
	
	return xmlhttp;
 }

function getHTTPObject () {
	var xmlhttp = false;
	/* Compilation conditionnelle d'IE */
	/*@cc_on
	@if (@_jscript_version >= 5)
		try {
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (E) {
				xmlhttp = false;
			}
		}
	@else
	xmlhttp = false;
	@end @*/

	/* on essaie de créer l'objet si ce n'est pas déjà fait */
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		}
		catch (e) {
			xmlhttp = false;
		}
	}
	
	return xmlhttp;
}

function returnDatas (page, chaine, fonctionDebut, fonctionFin) {
	var xmlhttp = setData("POST", page, chaine);
	var text = "";
	if (xmlhttp) {
				alert ("test 1");
		xmlhttp.onreadystatechange = function () {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) /* 4 : état "complete" ; 200 : code HTTP pour OK */ {
			/* Traitement de la réponse.*/
				text = xmlhttp.responseText;
				eval(fonctionDebut + text + fonctionFin);
			}
		}
	}
}