function ajax_request(url, id, errorText, postsVars, http_request) {
	if ((arguments.length < 5) || (http_request==null) ) {
		http_request = MVgetHttpRequestInstance();
	}
	if (!http_request) {
		// alert('Giving up: Cannot create an XMLHTTP instance');
		return false;
	}
	if(id) http_request.onreadystatechange = function() { MVreturnContents(http_request); };
	else http_request.onreadystatechange = function() { MValertContents(http_request); };
	if (postsVars == null) {
		http_request.open('GET', url, true);
		http_request.send(null);
	} else {
		http_request.open('POST', url, true);
		http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http_request.setRequestHeader("Content-length", postsVars.length);
		http_request.send(postsVars);
	}
	function MVreturnContents(http_request) {
		if (http_request.readyState == 4) {
			if ((http_request.status == 200) && (http_request.responseText.length > 0) ) {
				document.getElementById(id).innerHTML = http_request.responseText;
			} else if (errorText.length > 0) {
				document.getElementById(id).innerHTML = errorText;
			} else {
				document.getElementById(id).innerHTML = '';
			}
			http_request = null;
		}
	}
	function MValertContents(http_request) {
		if (http_request.readyState == 4) {
			if ((http_request.status == 200) && (http_request.responseText.length > 0) ) {
				alert(http_request.responseText);
			} else if (errorText.length > 0) {
				alert(errorText);
			} else {
				document.getElementById(id).innerHTML = '';
			}
			http_request = null;
		}
	}

	return true;
}
function MVgetHttpRequestInstance() {
	var http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	return http_request;
}


