


function makeHttpRequest() {		
		if(window.XMLHttpRequest) { // Firefox et autres
	  	httpRequest = new XMLHttpRequest();
	  }else if(window.ActiveXObject){ // Internet Explorer
	    try {
	      httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
	    } catch (e) {
	      try {
	        httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
	      } catch (e1) {
	        httpRequest = null;
	      }
	    }
	  }else { // XMLHttpRequest non support?ar le navigateur
	    alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
	  }  			  		  
		return httpRequest;			
}	

function ajax_action(path, variable, fct_act, elem, wait_msg, finally_msg) {
		httpRequest = null
		fct_act(elem, wait_msg, httpRequest);
		httpRequest = makeHttpRequest(); // Make the HttpRequest														
        httpRequest.onreadystatechange = function() { fct_act(elem, wait_msg, httpRequest, finally_msg); };
  	    httpRequest.open('POST', path, true);
  	    httpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
		httpRequest.send(variable);
}

function updateEl(elem, wait_msg, httpRequest, finally_msg) {
if(httpRequest!=null) {
			if (httpRequest.readyState == 4) {
	        if (httpRequest.status == 200) {
	            document.getElementById(elem).innerHTML=httpRequest.responseText;
	        } else {	        		
	            document.getElementById(elem).innerHTML='/!\ An Error has occured';
	        }
	    }
    }else {
    	document.getElementById(elem).innerHTML= wait_msg;
    }	
}