//xmlhttp.js

//Function to create an XMLHttp Object.
function getxmlhttp (){
	//Create a boolean variable to check for a valid microsoft active X instance.
	var xmlhttp = false;
	
	//Check if we are using internet explorer.
	try {
		//If the javascript version is greater than 5.
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		//If not, then use the older active x object.
		try {
			//If we are using internet explorer.
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			//Else we must be using a non-internet explorer browser.
			xmlhttp = false;
		}
	}
	
	//If we are using a non-internet explorer browser, create a javascript instance of the object.
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		xmlhttp = new XMLHttpRequest();
	}
	
	return xmlhttp;
}

//Function to process an XMLHttpRequest.
function processajax (id,page,getOrPost, str){
	//Get an XMLHttpRequest object for use.
	xmlhttp = getxmlhttp ();
	
	
	//randomise url to prevent caching issues
	//check the url type
	if(page.indexOf('?') == -1) {
		//no match + ?rand=9090
		var serverPage = page;
	}
	else
	{
		//match + &rand=9090
		var serverPage = page + "&rand=" + Math.random();
	}
	
	
	//get page with wait
	if (getOrPost == "getwait"){
		xmlhttp.open("GET", serverPage);
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				id.innerHTML = xmlhttp.responseText;
				
			}
			else {
			}
		}
		xmlhttp.send(null);
	}
	//getpage no wait
	else if (getOrPost == "get"){
		xmlhttp.open("GET", serverPage);
		
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				if(id)
				{
					id.innerHTML = xmlhttp.responseText;
				}
			}
		}
		xmlhttp.send(null);
	} 
	//submit page without wait 
	else if (getOrPost == 'post') {
		xmlhttp.open("POST", serverPage, true);
		xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				id.innerHTML = xmlhttp.responseText;
			}
			//else
			//{
				//sleep(50);
				//showhide('submit', 'hide'); 
				//showhide('loading', 'show');
			//}
		}
		xmlhttp.send(str);
	}
	//submit page 
	else {
		xmlhttp.open("POST", serverPage, true);
		xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				obj.innerHTML = xmlhttp.responseText;
			}
			else {
				sleep(250);
				obj.innerHTML = "<div style='padding-left:25px;padding-top:15px;'><img src='img/nei-loader.gif' /></div>";
			}
		}
		xmlhttp.send(str);
	}
}


function sleep(milliSeconds) {
	var startTime = new Date().getTime(); // get the current time
	while (new Date().getTime() < startTime + milliSeconds); // hog cpu
}
