function createXMLHttpRequest() {
    if (typeof XMLHttpRequest != "undefined") {
        return new XMLHttpRequest();
    } else if (typeof ActiveXObject != "undefined") {
        return new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        throw new Error("XMLHttpRequest not supported");
    }
}
function doRequest(url, callback, postAttributes) {
	var request = createXMLHttpRequest();
	//url = url + '/'+(Math.random()*1000);
	request.open(((postAttributes) ? 'POST' : 'GET'), url, true);
	if(postAttributes) {
		var postStr = '';
		if(typeof(postAttributes) != 'string') {
			for(var i in postAttributes) {
				postStr += '&' + i + '=' + postAttributes[i];
			}
		} else
			postStr = postAttributes;
		request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		request.setRequestHeader("Content-length", postStr.length);
		request.setRequestHeader("Connection", "close");
	}
	request.onreadystatechange = function() {
		if (request.readyState == 4) {
			if(request.status == 200) {
				if(request.responseText != '' && request.responseXML && request.responseXML.firstChild.tagName == 'sessionExpired') 
					window.location = 'http://www.collectionstation.com/signin';
				else if(request.responseText != '' && request.responseXML && request.responseXML.firstChild.tagName == 'sessionExpired') {
					alert('Permission Denied');
					return;
				} else
					callback(request);
			} else {
				//alert('An error has occurred');
			}
		}
	}
	if(postStr)
		request.send(postStr);
	else
		request.send(null);
}