// JavaScript Document

/*
fonction ajax post asyncrone
utilisation: ajaxPostAsyncrone('url','pagex.php','fonction_loading','fonctiondechargement','fonction_retour','fonctionderetour','param1','val param 1',...)
*/
function ajaxPostAsyncrone()
{
   var req="";
   var argv = ajaxPostAsyncrone.arguments;
   var argc = argv.length;
   for (var i = 0; i < argc; i++)
   	 {
		 
		 if(argv[i]=="url")
		 {
			 var url=argv[i+1];
		 }
		 else if(argv[i]=="fonction_retour")
		 {
			 var fonction=argv[i+1];
		 }
		 else if(argv[i]=="fonction_loading")
		 {
			 eval(argv[i+1]+"()");
		 }
		 else
		 {
			if (req == "")
				req = argv[i]+"="+argv[i+1];
			else
				req += "&"+argv[i]+"="+argv[i+1];
				//alert(argv[i]+'='+argv[i+1])
		 }
		i++
     }
	var xhr; 
	
    try
	{
		w_browser = "IE";
		xhr = new ActiveXObject('Msxml2.XMLHTTP');
	}
    catch (e) 
    {
        try
		{
			w_browser = "not FireFox and not IE";
			xhr = new ActiveXObject('Microsoft.XMLHTTP');
		}
        catch (e2) 
        {
			try
			{
				w_browser = "Firefox";
				xhr = new XMLHttpRequest();
			}
			catch (e3)
			{
				alert("Votre navigateur ne supporte pas cette fonctionnalité"); 
				xhr = false;
			}
		}
	}

    xhr.onreadystatechange  = function()
    { 
		if(xhr.readyState  == 4)
		{
			if(xhr.status  == 200)
			{
				eval(fonction+"('"+xhr.responseText+"')");
			}
			else 
				eval(fonction+"('Error code " + xhr.status+"')");
		}
    };
	xhr.open( "POST", url,  true);
	xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xhr.send(req);
}
