

/* -- CONSTANT GLOBAL VARIABLES -- */

var READYSTATE_UNINITIALIZED = 0; //The request is not initialized
var READYSTATE_LOADING = 1;       //The request has been set up
var READYSTATE_LOADED = 2;        //The request has been sent
var READYSTATE_INTERACTIVE = 3;   //The request is in process
var READYSTATE_COMPLETE = 4;      //The request is complete
var CONTENT_TYPE_FORM = "application/x-www-form-urlencoded";
var CONTENT_TYPE_XML = "text/xml";
var WEB_DOMAIN = window.location.protocol + "//" + window.location.host;
var WEB_SERVICE_URL = '';
var DEFAULT_UPDATE_SECONDS = 2;

/* -- GLOBAL VARIABLES -- */

var xml = null;                  //Xml in string format
var asyncXmlHttp = null;         //Async Xml Http Request object	---
                                 //									 ----> Dual xml objects work best with pages that use both asyncronous and syncronous functions.
var syncXmlHttp = null;          //Sync Xml Http Request object     ---
var xmlDoc = null;               //Xml DOM (Document Object Model)
var regEx = null;                //JavaScript's Regular Expression object

/* -- INSTANTIATE VARIABLES -- */

asyncXmlHttp = CreateXMLHttpRequest();
syncXmlHttp = CreateXMLHttpRequest();
isIE = (navigator.userAgent.indexOf('MSIE') > -1) ? true : false; //isIE is in /scripts/common.js

/* -- METHODS -- */
/**/
function CreateXMLHttpRequest()
{
	if(window.ActiveXObject)
	{
		var msxmls = new Array("MSXML2.XMLHTTP.7.0","MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.5.0","MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP");

		for (var i=0; i < msxmls.length; i++)
		{
			try
			{
				return new ActiveXObject(msxmls[i]);
			}
			catch(e)
			{
				//do nothing, just move to the next MSXML version
			}
		}
	}
	else
	{	
		return new XMLHttpRequest();
	}
	
	throw new Error("Could not instantiate XML Http Request.");
}//CreateXMLHttpRequest
