/*******************************************************************************
	AJAX core functions
*******************************************************************************/

function ajaxSendRequest(requestMethod, requestURL, requestData, callbackFunction) {

	if (window.XMLHttpRequest) {
		var request = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		var request = new ActiveXObject("Microsoft.XMLHTTP");
	}

	if (request) {

		request.onreadystatechange = function() {

			if (request.readyState == 4) {
				if (request.status == 200) {
					callbackFunction(request.responseText);
				} else {
					ajaxErrorHandler(request.status);
				}
			}

		}

		requestMethod = requestMethod.toUpperCase();
		if (requestMethod != "POST" && requestMethod != "GET") {
			requestMethod = "GET";
		}

		if (!requestData) {
			requestData = null;
		}

		request.open(requestMethod, requestURL, true);
		if (requestMethod == "POST") {
			request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		}
		request.send(requestData);

	}

}

