function getXMLHttpRequest() {
	var request = undefined;

	try {
		request = new XMLHttpRequest();
	} catch (itty) {
		try {
			request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (bitty) {
			try {
				request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (teapot) {
				  request = false;
			}
		}
	}
	
	return request;
}

function dispatch_xmlreq(request, url, callback) {
	request.open("GET", url, true);
	request.onreadystatechange = callback;
	request.send(null);	
}

function parseInitialRequest(request) {
	if(request.readyState == 4) {
		if(request.status == 200) {
			if(request.responseText == "ERROR;Not logged in") {
				top.location.href=login_redirect;
			}
			else {
				return request.responseText;
			}
		}
		else {
			alert("Server communication failed. Server responded with: " + request.responseText);
		}
	}

	return false;
}

function wait_roller_set() {
	document.getElementById("waitroller").src = "http://static.ehgt.org/images/roller.gif"
}

function wait_roller_unset() {
	document.getElementById("waitroller").src = "http://static.ehgt.org/images/blank.gif";
}