/**
* Permet d'envoyer des données en GET ou POST en utilisant les XmlHttpRequest
*/ 
function sendData(data, page, method, zone, callback)
{ 
		if(document.all) 
		{ 
				//Internet Explorer
				var XhrObj = new ActiveXObject(
						(navigator.userAgent.toLowerCase().indexOf('msie 5') >= 0) ? "Microsoft.XMLHTTP" : "Msxml2.XMLHTTP"
				);
				//var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
		}//fin if 
		else 
		{ 
				//Mozilla 
				var XhrObj = new XMLHttpRequest(); 
		}//fin else 


		//définition de l'endroit d'affichage: 
		if(zone != 'null')
		{
				var content = document.getElementById(zone);
		}

		//si on envoie par la méthode GET:
		if(method == "GET")
		{
				if(data == 'null')
				{
						//Ouverture du fichier sélectionné:
						//XhrObj.open("GET", page);
						XhrObj.open("GET", page, true);
				}//fin if
				else
				{
						//Ouverture du fichier en methode GET
						//XhrObj.open("GET", page+"?"+data);
						XhrObj.open("GET", page+"?"+data, true);
				}//fin else
		}//fin if
		else if(method == "POST")
		{
				//Ouverture du fichier en methode POST
				//XhrObj.open("POST", page);
				XhrObj.open("POST", page, true);
		}//fin elseif


		//Ok pour la page cible
		XhrObj.onreadystatechange = function()
		{
				if ((XhrObj.readyState == 4 || XhrObj.readyState == "complete") && XhrObj.status == 200)
				{
						if(callback == 'null')
						{
								content.innerHTML = XhrObj.responseText ;
								XhrObj.abort();
						}
						else
						{
								var rcontent = XhrObj.responseText;
								XhrObj.abort();
								return(eval(callback+'(rcontent);'));
						}
				}

		}


		if(method == "GET") 
		{ 
				XhrObj.send(null); 
		}//fin if 
		else if(method == "POST") 
		{ 
				XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); 
				XhrObj.send(data); 
		}//fin elseif 
}
//fin fonction SendData




/**
* Permet de remplacer le contenu d'une zone par le contenu d'une requête XmlHttpRequest:
*/
function loadFragmentInToElement(page, element_id, element_txt, method)
{
		if(method == undefined || method == '')
		{
				method = 'GET';
		}
		if(element_txt && method != undefined && method != '')
		{
				if (document.getElementById(element_id)) {
						document.getElementById(element_id).innerHTML = element_txt;
				}
		}
		sendData('null', page, method, element_id, 'null');
}




/**
* Permet de renvoyer à une fonction le résultat d'une requête XmlHttpRequest:
*/
function returnFragmentToFunction(page, return_function, element_id, element_txt, method)
{                         
		if(method == undefined || method == '')
		{
				method = 'GET';
		}
		if(element_txt && method != undefined && method != '')
		{
				if (document.getElementById(element_id)) {
						document.getElementById(element_id).innerHTML = element_txt;
				}
		}
		sendData('null', page, method, 'null', return_function);
}



/** 
* Permet de récupérer les données d'un fichier via les XmlHttpRequest: 
*/ 
function getFile(page) 
{ 
		sendData('null', page, 'GET');
}
//fin fonction getFile   

