// stores the reference to the XMLHttpRequest object
var xmlHttp = createXmlHttpRequestObject();
// retrieves the XMLHttpRequest object


function createXmlHttpRequestObject(){
	// will store the reference to the XMLHttpRequest object
	var xmlHttp;
	// if running Internet Explorer
	if(window.ActiveXObject){
		try {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (e) {
			xmlHttp = false;
		}
	
	// if running Mozilla or other browsers
	} else {
		try {
			xmlHttp = new XMLHttpRequest();
		}
		catch (e) {
			xmlHttp = false;
		}
	}
	// return the created object or display an error message



	if (!xmlHttp){
		alert("Error creating the XMLHttpRequest object.");
	} else {
		return xmlHttp;
	}
	// make asynchronous HTTP request using the XMLHttpRequest object
	
}

function GetPage(PAGE, DIVID){
// proceed only if the xmlHttp object isn't busy
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0){
		document.getElementById(DIVID).innerHTML = '<i>Loading Goodness!..</i>';
		xmlHttp.open("GET", PAGE, true);
		// define the method to handle server responses
		xmlHttp.onreadystatechange = handleStandard;
		curDIVID = DIVID;
		// make the server request
		xmlHttp.send(null);
	} else {
		// if the connection is busy, try again after one second
		setTimeout('GetPage('+ PAGE +', ' + DIVID +')', 1000);
	}
// executed automatically when a message is received from the server
}
function handleStandard(){
	// move forward only if the transaction has completed
	if (xmlHttp.readyState == 4){
	// status of 200 indicates the transaction completed successfully
		if (xmlHttp.status == 200){
			
			// extract the XML retrieved from the server
			helloMessage = xmlHttp.responseText;
			document.getElementById(curDIVID).style.display = 'block';
			document.getElementById(curDIVID).innerHTML = helloMessage;
		
		// a HTTP status different than 200 signals an error
		} else {
			alert("There was a problem accessing the server: " + xmlHttp.statusText);
		}
	}
}