var msg_01  = "1";
var msg_02  = "2";
var msg_03  = "3";


function doRequest(myURL, withAlert) {

    var xhr_object = null; 

    if(window.XMLHttpRequest) // Firefox 
        xhr_object = new XMLHttpRequest(); 
    else if(window.ActiveXObject) // Internet Explorer 
        xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
    else { // XMLHttpRequest non supporté par le navigateur 
        alert(msg_03); 
    }

    xhr_object.open("POST", myURL, false); // Use POST instead of GET to prevent caching problem.
	xhr_object.send(null); 
	if(  (xhr_object.readyState == 4)  && withAlert ) alert(msg_02);

    return;
}


// This is the callback functions that gets called
// for the response from the server with the XML data
function updateMsgOnBrowser(response, elementId) {
	var myDiv = document.getElementById(elementId);
//	alert("'"+response+"'");
	myDiv.innerHTML = response;
//	ad_display.innerHTML = "<table border=0 cellspacing=0 cellpadding=0><tr><td>"+response+"</td></tr></table>";

}


//the following two functions are helper infrastructure to 
//craete a XMLHTTPRequest and register a listner callback function
function newXMLHttpRequest() {
	var xmlreq = false;
	if (window.XMLHttpRequest) {
		xmlreq = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
    		// Try ActiveX
		try { 
			xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e1) { 
			// first method failed 
			try {
				xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e2) {
				 // both methods failed 
			} 
		}
 	}

   	return xmlreq;
} 


function getReadyStateHandler(req, responseHandler, elementId) {
	return function () {
	if (req.readyState == 4) {
		if (req.status == 200) {
        		responseHandler(req.responseText, elementId);
		} else {
			var errormsg = document.getElementById(elementId);
			errormsg.innerHTML = "ERROR: "+ req.status;
      		}
    	}
 	}
}
