
function ajaxrequest(url,callback,post){

        var httpRequest = false;

        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            httpRequest = new XMLHttpRequest();
            if (httpRequest.overrideMimeType) {
//                 httpRequest.overrideMimeType('text/xml');
                // Voir la note ci-dessous à propos de cette ligne
            }
        }
        else if (window.ActiveXObject) { // IE
            try {
                httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e) {
                try {
                    httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch (e) {}
            }
        }

        if (!httpRequest) {
            return false;
        }

        httpRequest.onreadystatechange = function() {

            if (httpRequest.readyState == 4) {
               if (httpRequest.status == 200) {
                  callback(httpRequest);
               }
            }
        };

	if(post==undefined){
	  httpRequest.open('GET', url, true);
	  httpRequest.send(null);
	}else{
	  var parameters="";
	  for(name in post)
	    parameters+="&"+name+"="+encodeURIComponent(post[name]);
	  
	  httpRequest.open('POST',url,true);
	  httpRequest.setRequestHeader('Content-type','application/x-www-form-urlencoded');
	  httpRequest.send(parameters.substr(1)
	  );
	}
}
