var req, callbackError, callbackSuccess

function rawAJAXCallback() {
	if (req.readyState == 4) {
		if (req.status == 200) {
			if (callbackSuccess) {
				callbackSuccess(req.responseText)
			}
		} else {
			if (callbackError) {
				callbackError(req.statusText)
			}
		}
	}
}

function loadPage(url, postData, callbackOnSuccess, callbackOnError) {
	callbackError = callbackOnError
	callbackSuccess = callbackOnSuccess
	req = false

	if (window.XMLHttpRequest && !(window.ActiveXObject)) {
		try {
			req = new XMLHttpRequest()
		} catch(e) {
			req = false
		}
	} else if (window.ActiveXObject) {
	   	try {
			req = new ActiveXObject("Msxml2.XMLHTTP")
	  	} catch(e) {
			try {
		  		req = new ActiveXObject("Microsoft.XMLHTTP")
			} catch(e) {
		  		req = false
			}
		}
	}

	if (req) {
		req.onreadystatechange = rawAJAXCallback

		if (postData) {
			req.open("POST", url, true)
			req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
			req.send(postData)
		} else {
			req.open("GET", url, true)
			req.send("")
		}
	}
}
