var xmlHttp;
var xmlActive = false;

function XRequest() {
	if (window.ActiveXObject) xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
	else xmlHttp = new XMLHttpRequest();
}

function AJAX(query, changestate, page, method) {
	if (!xmlActive) {
		xmlActive = true;
		xmlAttempt = 0;
		XRequest();
		if (changestate) xmlHttp.onreadystatechange = changestate;
		else xmlHttp.onreadystatechange = null;
		xmlHttp.open(method, page, true);
		if (method == "POST") xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;');
		xmlHttp.send(query);
		if (changestate == null) {
			xmlActive = false;
		}
	}
	else {
		setTimeout('AJAX(\''+query+'\', '+changestate+', \''+page+'\', \''+method+'\')', 100);
	}
}

function LoadPage(page) {
	AJAX('', LoadPageState, page, 'GET');
}

function LoadPageState() {
	if (xmlHttp.readyState == 4) {
		xmlActive = false;
		if (xmlHttp.status == 200) {
			document.getElementById('content').innerHTML = xmlHttp.responseText;	
		}
		if (xmlHttp.status == 404) {
			alert("Error 404: Page Not Found");
		}
	}
}