function create_http_handle(TYPE){
	var http_handle = false;
	if (window.XMLHttpRequest){
		http_handle = new XMLHttpRequest();
		if (http_handle.overrideMimeType){
			if (TYPE == "XML"){
				http_handle.overrideMimeType('text/xml');
			} else {
				http_handle.overrideMimeType('text/html');
			}
		}
	} else if (window.ActiveXObject){
		try {
			http_handle = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_handle = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_handle){
		alert("Votre navigateur est trop ancien. Il vous faut le mettre a jour");
		return false;
	} else {
		return http_handle;
	}
}

var AjaxOn = false;
function ajax(PAGE, obj, mess, REACT, FONC, METHOD, TYPE){
									AjaxOn = true;
									var myWidth = 0, myHeight = 0;
									  if( typeof( window.innerWidth ) == 'number' ) {
										//Non-IE
										myWidth = window.innerWidth;
										myHeight = window.innerHeight;
									  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
										//IE 6+ in 'standards compliant mode'
										myWidth = document.documentElement.clientWidth;
										myHeight = document.documentElement.clientHeight;
									  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
										//IE 4 compatible
										myWidth = document.body.clientWidth;
										myHeight = document.body.clientHeight;
									  }
					
					
						obj.innerHTML = '<div align=center><img src="images/ajax-loader.gif"><br>'+mess+' Téléchargement en cours, merci de patienter: <b>Initialisation...</b></div>';
						
						elem = PAGE.split('?');
						URL = elem[0];
						PARAMETERS = '?'+elem[1]+'&myWidth='+myWidth;
						if (TYPE == "")TYPE = "HTML";
						if (mess == "undefined")mess = "";
						http = create_http_handle(TYPE);
						
						
						//Kill the Cache problem in IE.
						var now = "upid=" + new Date().getTime();
						PARAMETERS += (PARAMETERS.indexOf("?")+1) ? "&" : "?";
						PARAMETERS += now;
						
						if (METHOD == "GET"){
							http.open('GET', URL + PARAMETERS, true);
							http.send(null);
							
						} else {
							dansconsole(URL + PARAMETERS);
							http.open('POST', URL + PARAMETERS , true);
							
							http.setRequestHeader("Content-type", "application/x-www-form-URLencoded");
							http.setRequestHeader("Content-length", PARAMETERS.length);
							http.setRequestHeader("Connection", "close");
							http.send(PARAMETERS);
						}
						
						var feed = '';
						if (REACT=='feed'){ 
						var now = new Date();   
						var outStr = now.getHours()+':'+now.getMinutes()+':'+now.getSeconds();
						var feed = '<br>' + outStr + '<br>---------<br>' + obj.innerHTML;
						} 
						
						http.onreadystatechange = function() {
						
							if(http.readyState == 1) {
								obj.innerHTML = '<div align=center><img src="images/ajax-loader.gif"><br>'+ mess +'Téléchargement en cours, merci de patienter: <b>ouverture...</b></div>';
							}
							if(http.readyState == 2) {
								obj.innerHTML = '<div align=center><img src="images/ajax-loader.gif"><br>'+ mess +'Téléchargement en cours, merci de patienter: <b>Envoyé...</b></div> ';
							}
							if(http.readyState == 3) {
								obj.innerHTML = '<div align=center><img src="images/ajax-loader.gif"><br>'+ mess +'Téléchargement en cours, merci de patienter: <b>Réception en cours...</b></div>';
							}
							if(http.readyState == 4) {
									
								if (REACT=='eval'){ 
								eval(http.responseText);
								} else {
								obj.innerHTML = http.responseText + feed ;
								}
								
								eval (FONC);
								SetCursor();
								AjaxOn = false;
							}
						
							if(http.readyState == 4 && http.status == 404) {
							obj.innerHTML =  'la page '+URL+' est introuvable';
							}
						}
	
}