

var requestObj = null;

function initAjax() {
	if (window.ActiveXObject) {
		requestObj = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if (window.XMLHttpRequest) {
		requestObj = new XMLHttpRequest();
	}
	if (requestObj == null) return false;
	else return true;			
}

function terminateAjax() {
	if (requestObj != null) {
		delete requestObj;
	}
}


//requestString includes parameters
function sendAndReceiveAjax(requestString) {
    initAjax();
    requestObj.open("GET",requestString,false);
	var rtn = true;
	try {
 	 	requestObj.send(null);
	}
	catch (e) {
	    alert("No Internet connection or server down -- status is: " + requestObj.status);
	    terminateAjax();
 		return("0 No Internet connection or server down");

	}
	var irtn = requestObj.status;
	if (irtn != 200) {
		rtn	= "0   Error -- request returned with message: " + requestObj.statusText;
		//alert("Return from XMLHttpRequest was: " + rtn);
		terminateAjax();
		return rtn;
	}
	var result = requestObj.responseText;
	terminateAjax();
	return result;
}



//requestString includes parameters
function sendAndReceiveAjaxPost(requestString) {
    initAjax();
    requestObj.open("POST",requestString,false);
	var rtn = true;
	try {
 	 	requestObj.send(null);
	}
	catch (e) {
	    alert("No Internet connection or server down -- status is: " + requestObj.status);
	    terminateAjax();
 		return("0 No Internet connection or server down");

	}
	var irtn = requestObj.status;
	if (irtn != 200) {
	    if ((requestObj.statusText).indexOf("Too Large") != -1) {
	    	rtn = "0   Please reduce the number of users";
	    }
	    else {	
			rtn	= "0   Error -- request returned with message: " + requestObj.statusText;
		}
		//alert("Return from XMLHttpRequest was: " + rtn);
		terminateAjax();
		return rtn;
	}
	var result = requestObj.responseText;
	terminateAjax();
	return result;
}


