/**
 * @param functionToCall Le nom de la fonction a appeler une fois la requete terminee
 * @param paramType "DOM" pour passer l'objet DOM, "TEXT" pour passer le contenu texte de la reponse
 */
function getHTTPObject(functionToCall,paramType) {
  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;
     }
  }

  if (xmlhttp) {
     /* on définit ce qui doit se passer quand la page répondra */
     xmlhttp.onreadystatechange=function() {
        if (xmlhttp.readyState == 4) /* 4 : état "complete" */ {
          if (xmlhttp.status == 200 && functionToCall!=null) /* 200 : code HTTP pour OK */ {
			if(paramType=="DOM") {
				debug(functionToCall+'(xmlhttp.responseXML)');
				eval(functionToCall+'(xmlhttp.responseXML)');
				return;
	    	} else if(paramType=="TEXT") {
				debug(functionToCall+'(xmlhttp.responseText)');
	       		eval(functionToCall+'(xmlhttp.responseText)');
				return;
			}
          }
        }
     }
  }
  return xmlhttp;
}
