// f  : Appeler le service web qui renvoie la liste des fichiers
// OBSOLETE //
function MakeRequestSynchrone(pe_sUrl, pe_functionToProcessResult) {
    return MakeRequestSynchroneParam(pe_sUrl, pe_functionToProcessResult, null);
}

//La même méthode, avec envoi de paramètres (null si aucun paramètre)
function MakeRequestSynchroneParam(pe_sUrl, pe_functionToProcessResult, pe_sParam) {
    var http_request = false;

    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
            // Voir la note ci-dessous à propos de cette ligne
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!http_request) {
        alert('Abandon :( Impossible de créer une instance XMLHTTP');
        return false;
    }
    //http_request.onreadystatechange = function() { ProcessRequestResult(http_request, pe_functionToProcessResult); };
    http_request.open('POST', pe_sUrl, false);
    http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");                  
    http_request.send(pe_sParam);

	var resultat = false;       
	if (http_request.status == 200)
	{
        if(pe_functionToProcessResult != null)
		  resultat = pe_functionToProcessResult(http_request);
	}
	else
	{
		alert('Un problème est survenu avec la requête.');
	}
	
	return(resultat);
}

// f  : Appeller le service web qui renvoie la liste des fichiers
// OBSOLETE
function MakeRequestAsynchrone(pe_sUrl, pe_functionToProcessResult)
{
    return MakeRequestAsynchroneParam(pe_sUrl, pe_functionToProcessResult, null);
}

//La même méthode, avec envoi de paramètres (null si aucun paramètre)
function MakeRequestAsynchroneParam(pe_sUrl, pe_functionToProcessResult, pe_sParam)
{
    var http_request = false;

    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
            // Voir la note ci-dessous à propos de cette ligne
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!http_request) {
        alert('Abandon :( Impossible de créer une instance XMLHTTP');
        return false;
    }
    http_request.onreadystatechange = function() { ProcessRequestResult(http_request, pe_functionToProcessResult); };
    //http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");                  
    http_request.open('POST', pe_sUrl, true);
    http_request.send(pe_sParam);
}

// f  : Gérer le retour de l'appel au service Web qui renvoie la liste des fichier
function ProcessRequestResult(pe_http_request, pe_functionToProcessResult)
{
  if (pe_http_request.readyState == 4)
  {
     if (pe_http_request.status == 200)
     {
         if(pe_functionToProcessResult != null)
           pe_functionToProcessResult(pe_http_request);
     }
     else
     {
         alert('Un problème est survenu avec la requête.');
     }
  }
}
