var messages = new Array();
var isIE = false;
var http_request = false;
function makeHttpRequest(url, callback_function, return_xml){
    var http_request = createHttpRequest();
    var params = '';
	if (!http_request) {
		alert('Unfortunately you browser doesn\'t support this feature.');
		return false;
	}
	http_request.onreadystatechange = function() {
		if (http_request.readyState == 4) {
			if (http_request.status == 200 || http_request.status == undefined) {
				if (return_xml) {
					eval(callback_function + '(http_request.responseXML)');
				} else {
					eval(callback_function + '(http_request.responseText)');
				}
			} else {
				//alert('There was a problem with the request.(Code: ' + http_request.status + ')');
			}
		}
	}
	http_request.open('POST', url, true);//IE didn't seem to want to update cookies until we used POST rather than GET
	//http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
    http_request.setRequestHeader("Content-Length", params.length); 
	http_request.send(params);
}
function createHttpRequest() {
	var http_request;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) { // IE
		isIE = true;
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
			}
		}
	}
	if (!http_request) {
		return false;
	}
	return http_request;
}
function getElementTextNS(prefix,local,parentElem,index) {
	var result = '';
	if (prefix && isIE) {//IE method...
		result = parentElem.getElementsByTagName(prefix + ':' + local)[index];
	} else {
		result = parentElem.getElementsByTagName(local)[index];
	}
	if (result) {
		if (result.childNodes.length > 1 ){
			return result.childNodes[1].nodeValue;
		} else {
			return result.firstChild.nodeValue;
		}
	} else {
		return false; //'n/a';
	}
}
function getElementText(local,parentElem,index) {
	var result = '';
	result = parentElem.getElementsByTagName(local)[index];
	if (result && result.firstChild.nodeValue) {
		if (result.childNodes.length > 1 ){
			return result.childNodes[1].nodeValue;
		} else {
			return result.firstChild.nodeValue;
		}
	}
	//debugger;
	return false; //'n/a';

}