function xmlHttpObject() {
	var xmlHttp=null;

	try {
// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e) {
// Internet Explorer
		try {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}

	return xmlHttp;
}

function updateDIVinnerHTML(divID, newContents) {
	if (divID.length > 0) {
		document.getElementById(divID).innerHTML = newContents;
	}
}

function showDivBusy(divID) {
	var busyImagePhrase;

	busyImagePhrase = '<div><img src="images/ajax-loader.gif" alt="loading..." width="16" height="16" /></div>';

	if (divID.length > 0) {
		updateDIVinnerHTML(divID, busyImagePhrase);
	}
}

function requestXmlHttp(targetDivID, requestPage, parameters) {
	var request;

	request = new xmlHttpObject();

	request.open('GET', requestPage, true);
	request.setRequestHeader("Content-Type", "application/x-javascript");
	request.setRequestHeader("charset", "UTF-8");

	request.onreadystatechange = function() {
		if (request.readyState == 4) {
			updateDIVinnerHTML(targetDivID, request.responseText);
		} else {
			showDivBusy(targetDivID);
		}
	}

	request.send(parameters);
}
