
var loadstatustext="<b>Loading.....</b>"


function getXMLHTTPRequest() {
	var request = false
	
	
	// **** BEGIN BROWSER DETECTION
	//		-- Create XMLHTTP request object based on browser/platform
	// ===============================================================================================
		if (window.XMLHttpRequest) { // if Mozilla, Safari etc
			request = new XMLHttpRequest();
		} else if (window.ActiveXObject ) { // if IE
			try {
				request = new ActiveXObject("Msxml2.XMLHTTP");
			} 
				catch (e){
					try{
						request = new ActiveXObject("Microsoft.XMLHTTP");
					}
						catch (e){
							request = false;
						}
				}
		}
		else {
			request = false;
		}
	// ===============================================================================================
	
	return request;
}

myRequest = getXMLHTTPRequest();


/* ================================================
			*** BEGIN TEST FUNCTIONS ***
=================================================*/
function callAjax(url, querystring, method, action, containerid) {
	//alert(url);
	
	thisAction = action;
	thisContainer = containerid;
	
	if(document.getElementById(containerid)) {
		document.getElementById(containerid).innerHTML = loadstatustext;
	}
	
	switch (method) {
		case "GET":
			myRequest.open(method, url + '?' + querystring, true);
	
			myRequest.onreadystatechange = responseAjax;
			
			myRequest.send(null)
		break;
		
		case "POST":
			myRequest.open(method, url, true);
		
			myRequest.onreadystatechange = responseAjax;
			
			myRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
			myRequest.send(querystring)
		break;
	}
}


function responseAjax() {
	//alert(myRequest.readyState)
	
	switch (myRequest.readyState) {
		case 0:
			//alert("uninitialized");
			window.status = "uninitialized";
		break;
		
		case 1:
			//alert("loading");
			window.status = "loading";
		break;
		
		case 2:
			//alert("loaded");
			window.status = "loaded";
		break;
		
		case 3:
			//alert("interactive");
			window.status = "interactive";
		break;
		
		case 4:
			//alert("completed");
			window.status = "completed";
			
			if(myRequest.status == 200) {
				
				//alert("The serever said: " + myRequest.responseText);
				
				if(document.getElementById(thisContainer)) {
					document.getElementById(thisContainer).innerHTML = myRequest.responseText;
				}
				
				
				switch (thisAction) { 
					case "doLogin":
						eval(myRequest.responseText);
					break;
				}
				
			} else {
				
				//alert("An error has occured - Code: " + myRequest.status + " - " + myRequest.statusText);
				
				//document.getElementById("contentContainer").innerHTML = "An error has occured - Code: " + myRequest.status + " - " + myRequest.statusText;
				
				/*switch (thisAction) {
					case "getContent":
						
					break;
				}*/
				
				switch (myRequest.status) {
					case 404:
						document.getElementById(thisContainer).innerHTML = "<center>- COMING SOON -</center>";
					break;
				}
			}
			
		break;
	}
}

/* ================================================
			*** END TEST FUNCTIONS ***
=================================================*/

