/*************************
 * FONCTIONS PRINCIPALES *
 *************************/ 
					
/*
** Créé une connexion en ajax
*/ 
function getHTTPObject(onLoadFct, onErrFct) {

	var xmlhttp = false;
	
	/* on essaie de créer l\'objet si ce n\'est pas déjà fait */
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp = false;
		}
	}	

	if (xmlhttp) {
		
		/* on définit ce qui doit se passer quand la page répondra */
		xmlhttp.onreadystatechange=function() {
			if (xmlhttp.readyState == 4) /* 4 : état "complete" */ {

				if (xmlhttp.status == 200) /* 200 : code HTTP pour OK */ {

					// Exécution du résultat
					if (r = xmlhttp.responseXML) { // responseXML

						// Si l'exécution s'est bien passée
					//	onLoadFct(xmlhttp.responseXML);
							
					} else {

						// Si une erreur a été rencontrée
						onLoadFct(xmlhttp.responseText);
//						onErrFct(xmlhttp.responseText);
				 
					}

				} else {

					// Aucun résultat
					onErrFct();
			 
				}
			}
		}
	}

	return xmlhttp;

}

/*
** Envoie des données en asynchrone, créé un nouveau processus
** et exécute la fonction désignée une fois les données récupérées
*/
function sendData(url, args, method, onLoadFct, onErrFct)
{
	
	var xmlhttp = getHTTPObject(onLoadFct, onErrFct);

	if (!xmlhttp) {
		return false;
	}

	if(method == 'GET') {
	
		if(args == 'null') {
			xmlhttp.open("GET", url, true); //ouverture asynchrone
		} else{
			xmlhttp.open("GET", url+'?'+args, true);
		}
		xmlhttp.send(null);
		
	} else if(method == 'POST') {
	
		xmlhttp.open('POST', url, true); //ouverture asynchrone
		xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		xmlhttp.send(args);
		
	}
	return true;
	
}
