//
//  AJAX interface library - Copyright (c) 2008-current //digital things
//

//  Ajax global variables.
var _ajaxDIVTarget = null;
var xmlHttp = null;

//  AJAX interface.
function AppGetXmlHttpObject(handler)
{
	var objXmlHttp = null;

	//  ActiveX browsers (IE).
	if (navigator.userAgent.indexOf("MSIE") >=0)
	{
		var objName = "Msxml2.XMLHTTP";

		if (navigator.appVersion.indexOf("MSIE 5.5") >=0)
			objName = "Microsoft.XMLHTTP";

		try
		{
			objXmlHttp = new ActiveXObject(objName);
			objXmlHttp.onreadystatechange = handler;
			return objXmlHttp;
		}
		catch(e)
		{
			alert("Scripting for ActiveX might be disabled in your browser settings.\nPlease adjust your browser settings.");
			return;
		}
	}

	//  Other browsers.
	if (navigator.userAgent.indexOf("Mozilla") >=0)
	{
		objXmlHttp = new XMLHttpRequest();
		objXmlHttp.onload = handler;
		objXmlHttp.onerror = handler;
		return objXmlHttp;
	}
}

//  AJAX event handler.
function AppStateChanged()
{
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete")
		document.getElementById(_ajaxDIVTarget).innerHTML = xmlHttp.responseText;
}

//  AJAX content loader. Assumes value of "_ajaxDIVTarget" is set to target DIV.
function AppLoadAjaxContent(div, url)
{
	//  Set target DIV.
	_ajaxDIVTarget = div;
	
	//  Load AJAX content.
	xmlHttp = AppGetXmlHttpObject(AppStateChanged);
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}
