var http_request=null;
var infos=null;
function envoi_ajax(datas,infos_retour,chemin_lib)
{
	infos=infos_retour;
	if(http_request!=null)
		http_request.abort();
	http_request = false;

    if (window.XMLHttpRequest)
    {
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType)
            http_request.overrideMimeType('text/xml');
    }
    else
    if (window.ActiveXObject)
    {
        try
        {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            try
            {
	            http_request = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e) {}
        }
    }

    if (!http_request)
    {
        alert("Une erreur Ajax à été detectée.");
        return false;
    }
	
	fichierlib = (chemin_lib!=null?chemin_lib:"") + "lib.php";
    http_request.open('POST',fichierlib, true);
    http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    http_request.onreadystatechange = retour_ajax;
    
 	http_request.send(datas);
}

function retour_ajax()
{
   	if (http_request.readyState == 4)
   		if (http_request.status == 200)
       	{
       		if(http_request.responseXML.getElementsByTagName("cible")[0]!=null && http_request.responseXML.getElementsByTagName("Contenu")[0]!=null)
       		{
       			if(document.getElementById(http_request.responseXML.getElementsByTagName("cible")[0].firstChild.data)==null)
       				alert("La cible ["+http_request.responseXML.getElementsByTagName("cible")[0].firstChild.data+"] n'existe pas !");
       			else
       			 	document.getElementById(http_request.responseXML.getElementsByTagName("cible")[0].firstChild.data).innerHTML=http_request.responseXML.getElementsByTagName("Contenu")[0].firstChild.data;
       		}
       		if(http_request.responseXML.getElementsByTagName("message")[0]!=null)
       		{
       			if(infos!=null)
       				alert(infos.message);
       			else
       				alert(http_request.responseXML.getElementsByTagName("message")[0].firstChild.data)
   				infos=null;
       		}
       		if(http_request.responseXML.getElementsByTagName("action")[0]!=null && http_request.responseXML.getElementsByTagName("action")[0].firstChild.data=="SUBMIT")
       		{
   				infos.formulaire.submit();
       		}
       		if(http_request.responseXML.getElementsByTagName("focus")[0]!=null)
       		{
       			document.getElementById(http_request.responseXML.getElementsByTagName("focus")[0].firstChild.data).focus();
       		}
       		if(http_request.responseXML.getElementsByTagName("devDiv")[0]!=null)
       		{
       			if (document.getElementById(http_request.responseXML.getElementsByTagName("devDiv")[0].firstChild.data).style.display == '')
       				document.getElementById(http_request.responseXML.getElementsByTagName("devDiv")[0].firstChild.data).style.display = 'none';
       			else
       				document.getElementById(http_request.responseXML.getElementsByTagName("devDiv")[0].firstChild.data).style.display = '';
       		}
       		if(http_request.responseXML.getElementsByTagName("fctRetourAjax")[0]!=null)
       		{
       			params = http_request.responseXML.getElementsByTagName("fctRetourAjax")[0];
       			param1 = params.getElementsByTagName("param1")[0].firstChild.data;
       			param2 = params.getElementsByTagName("param2")[0].firstChild.data;
       			param3 = params.getElementsByTagName("param3")[0].firstChild.data;
       			param4 = params.getElementsByTagName("param4")[0].firstChild.data;
       			param5 = params.getElementsByTagName("param5")[0].firstChild.data;

       			fctRetourAjax(param1,param2,param3,param4,param5);
       		}
       		/*if(http_request.responseXML.getElementsByTagName("action")[0]!=null && http_request.responseXML.getElementsByTagName("action")[0].firstChild.data=="infos_url")
       		{
   				window.location=infos.url;
       		}*/
       		http_request=null;
       		return true;
       	}
/*   		else
       		//if (http_request.status!=0)
           		alert("Le serveur Ajax ne épond pas !");*/
	return false;
}
