/**
 * makeRequest
 * fonction de base permettant de faire
 * une requete en AJAX
 * 
 * @param {Object} url a executer
 * @param {Object} func le nom de la fonction de traitement du resultat a executer
 * 
 * @version 1.2	19 Mars 2007	Correction Bug : mode synchrone mal géré
 */

var retourAjax = null;

function makeRequest( url )
{
    var httpRequest = false;

    if (window.XMLHttpRequest)
	{ // Mozilla, Safari,...
        httpRequest = new XMLHttpRequest();
        if (httpRequest.overrideMimeType)
		{
            //httpRequest.overrideMimeType('text/xml');
            // Voir la note ci-dessous à propos de cette ligne
        }
    }
    else if (window.ActiveXObject)
	{ // IE
        try
		{
            httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
		{
            try
			{
                httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e) {}
        }
    }

    if (!httpRequest)
	{
        alert('Abandon :( Impossible de créer une instance XMLHTTP');
        return false;
    }
    //httpRequest.onreadystatechange = function() { retourAjax = alertContents(httpRequest); };
    
	/**
	 * false => synchrone
	 * true => asynchrone
	 * on met le param a false pour la publication par case a cocher
	 */
	httpRequest.open('GET', url, false);
    httpRequest.send(null);
	
	retourAjax = alertContents(httpRequest);
	return retourAjax;

}

/**
 * cree une alerte et affiche le resultat texte
 * @param {Object} httpRequest
 */
function alertContents( httpRequest )
{
	if (httpRequest.readyState == 4)
	{
        if (httpRequest.status == 200)
		{
            rep = (httpRequest.responseText);
			return (rep);
        }
		else
		{
            alert('Un problème est survenu avec la requête.');
			return -1;
        }
    }
}