


	// http://developer.mozilla.org/fr/docs/AJAX:Premiers_pas
	function alertContents(http_request) {
		alert(http_request)
		/*
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				alert('alertContents : ' + http_request.responseText);
			} else {
				alert('Un problème est survenu avec la requête.');
			}
		}
		*/
	}
		
	// ------------------------------------------------------------------------------------------------------------------------------------------
	// Initialise un objet de requete preablement construit
	// ------------------------------------------------------------------------------------------------------------------------------------------
	function initReq(reqType, url, asynch, func){
		var request;
		// Pour les navigateurs bases sur Mozilla
		if(window.XMLHttpRequest){
			request = new XMLHttpRequest();
		} else if(window.ActiveXObject){
			request = new ActiveXObject("Msxml2.XMLHTTP");
			if(!request){
				request = new ActiveXObject("Microsoft.XMLHTTP");
			}
		}		
		/*
		var str = '';
		for(var z in request){
			if( z != 'channel' ) str += "<b>" + z + "</b> " + request[z] + "\n"
		}
		document.write('<hr /><pre>' + request + "\n" + str);
		*/		
		// La requĂȘte pourrait toujours ĂȘtre nulle s'il ne s'agit pas d'ActiveXObject
		// L'initalisation a abouti
		if(!request){
			alert(msg_custom[gLang][1] );
		}
		// ---
		try{		
			// Specifie la fonction qui va traiter la reponse HTTP
			request.onreadystatechange = function(){ eval(func)(request); } // eval(func);  // new Function(eval(func));
			request.open(reqType, url, asynch);
			if(reqType.toLowerCase() == "post"){
				request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
				request.send(arguments[4]);
			} else {
				request.send(null);
			}
		} catch(errv){
			alert(msg_custom[gLang][0]);
		}
	};
	// ------------------------------------------------------------------------------------------------------------------------------------------
	//
	/* Fonction d'encapsulation pour construire l'objet de requete.
		Parametres : 
			reqType : ke tyoe de requĂȘte HTTP, comme GET ou POST.
			url : L'URL du programme cĂŽtĂ© serveur.
			asynch : PrĂ©cise si l'envoi de la requĂȘte est asynchrone ou non
	*/
	// ------------------------------------------------------------------------------------------------------------------------------------------
	function httpRequest(reqType, url, asynch, func){
		if(reqType.toLowerCase() != "post"){
			initReq(reqType, url, asynch, func);
		} else {
			var args = arguments[4];
			if(args != null && args.length > 0){
				initReq(reqType, url, asynch, func, args);
			}
		}
	};
	
