

/** Simplification Ajax ! **/
function AjaxQuery(_query, _func, _params,_forceText) {
	// Cr�e l'objet !
	var _XmlHttp = false;
	if(window.XMLHttpRequest) {
		try {
			_XmlHttp = new XMLHttpRequest();
		} catch(e) {
			_XmlHttp = false;
		}
	} else if(window.ActiveXObject) {
		try {
			_XmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				_XmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				_XmlHttp = false;
			}
		}
	}

	// Si y'a pas d'Ajax possible !
	if (!_XmlHttp) return false;

	// Cherche le Point d'interrogation puis ajoute la valeur al�atoire pour emp�cher le cache !
	var query_http = _query;

	if (query_http.indexOf("?") < 0) {
		query_http = query_http + "?";
	} else {
		query_http = query_http + "&";
	}
	query_http = query_http + "RNDVALUE=" + escape(Math.floor(Math.random()*1000000));

	_XmlHttp.open("GET",query_http,true);
	// Fonction execut�e quand l'�tat change.

	_XmlHttp.onreadystatechange = function() 	{
													if (_func) {
														if (_XmlHttp.readyState == 4 && _XmlHttp.status == 200) {
															// D'abord on envoie le XML si c'en est
															if (_XmlHttp.responseXML) {
																if (_forceText!=1)
																	_func(_XmlHttp.responseXML, _params);
																else _func(_XmlHttp.responseText, _params);
																delete _XmlHttp;
															} else
															if (_XmlHttp.responseText) {

																_func(_XmlHttp.responseText, _params);
																delete _XmlHttp;
															} else {
																_func("ERR NO RESPONSE", _params);
																delete _XmlHttp;
															}
														} else
														if (_XmlHttp.readyState == 4) {
															_func("ERR Status : " + _XmlHttp.status, _params);
															delete _XmlHttp;
														}
													}
												};

	// Envoie la demande !

	_XmlHttp.send(null);

	return true;
}
