function getXMLHttpRequest() {
  var xhr;
  if (window.XMLHttpRequest) {
    xhr = new XMLHttpRequest();
    if (xhr.overrideMimeType) xhr.overrideMimeType("text/xml"); // Évite un bug du navigateur Safari
  } else {
    if (window.ActiveXObject) {
      try { // essaie de charger l'objet pour IE
        xhr = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) {
        try { // essaie de charger l'objet pour une autre version IE
          xhr = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {
          window.alert("Your browser doesn't support XMLHTTPRequest object.");
		  xhr = null;
        } // try-catch
      } // try-catch
    }
  } // if-else
  return xhr;
}

/**
  * Envoi des données à l'aide d'XmlHttpRequest?
  * @param object Objet XMLHttpRequest
  * @param string méthode d'envoi ['GET'|'POST']
  * @param string url
  * @param string données à envoyer sous la forme var1=value1&var2=value2...
  */
function sendData(xhr, method, url, data) {
	// alert('Appel de sendData, méthode = '+method+' '+url);
	if(method == "GET") {
		if(data == 'null')
			xhr.open("GET", url, true); //ouverture asynchrone
		else
			xhr.open("GET", url+"?"+data, true);
		xhr.send(null);
	} else if(method == "POST") {
		xhr.open("POST", url, true); //ouverture asynchrone
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		xhr.send(data);
	}
	//alert('requête envoyée');
	return true;
 }