var xmlhttp;
var xmlhttp2; // added for concurrent connections
var output_div;
var fix_pound;
var br;

br = new RegExp(/\n/g); //convert new lines to html for disply
fix_pound = new RegExp(/#/g); // fix ajax calls not convert to HTML 

function create_xmlhttp_request(alternate_conn) {
	//handle IE or where ActiveX objects are not native
	if (window.ActiveXObject) {
		if (!alternate_conn) 	{ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } 
		else 					{ xmlhttp2 = new ActiveXObject("Microsoft.XMLHTTP"); }
	}

	//Handle other browsers where XMLHttpRequest function is native
	else if (window.XMLHttpRequest) {
		if (!alternate_conn) 	{ xmlhttp = new XMLHttpRequest() ; }
		else 					{ xmlhttp2 = new XMLHttpRequest() ; }
	}
}

function get_xml(data_source, obj) {
	output_div = obj;

	create_xmlhttp_request();

	xmlhttp.open("GET",data_source);
	xmlhttp.onreadystatechange=show_data;
	xmlhttp.send(null);
}

function show_data() {
	if (xmlhttp.readyState==4) {
		if (xmlhttp.status==200) {
			var error = xmlhttp.responseXML.getElementsByTagName('error')[0].firstChild.nodeValue;

			if (error == 0) {
				var d = document.getElementById(output_div);
				d.innerHTML=xmlhttp.responseXML.getElementsByTagName('content')[0].firstChild.data;
			}
			else {
				alert('Error processing ajax request.');
				return false;
			}
		}
		else {
			// alert('status: ' + xmlhttp.status);
		}
	}
}
