function ajax() {

//	var me = this;
	var ajaxitem = null;
	var callback = null;

	this.getXML = function(dataSource,caller)		//, divID, data)
	{
		if(ajaxitem)
		{
			callback = caller;
			ajaxitem.open("GET", dataSource,true);
			ajaxitem.onreadystatechange = function()
			{
				if (ajaxitem.readyState == 4 && ajaxitem.status == 200)
				{
					callback(ajaxitem);
				}
			}
			ajaxitem.send(null);
		}
	}
	this.load = function(page,caller)
	{
		if (!ajaxitem) this.getXMLObject();
		if (!ajaxitem) return;
		this.getXML(page,caller);
	}
	this.getXMLObject = function()
	{
		if (ajaxitem) return;
		try
		{
			ajaxitem = new ActiveXObject ("MSXML2.XMLHTTP");
		}
		catch (exception1)
		{
			try
			{
				ajaxitem = new ActiveXObject ("Microsoft.XMLHTTP");
			}
			catch (exception2) {
				ajaxitem	= null;
			}
		}
		if (ajaxitem) return ajaxitem;
		if (window.XMLHttpRequest)
		{
			ajaxitem = new XMLHttpRequest();
		}
		else if (window.ActiveXObject)
		{
			ajaxitem = new ActiveXObject("Microsoft.XMLHTTP");
		}
		return ajaxitem;
	}
}
