

var AJAXRequest = function ()

{

	this.request = null;

	if (window.XMLHttpRequest)

	{

		this.request = new XMLHttpRequest ();

	}

	else if (window.ActiveXObject)

	{

		var versions = new Array ("Msxml2.XMLHTTP.5.0",

								  "Msxml2.XMLHTTP.4.0",

								  "Msxml2.XMLHTTP.3.0",

								  "Msxml2.XMLHTTP",

								  "Microsoft.XMLHTTP");

		var goOn = true;

		for (var i = 0; (i < versions.length) && goOn; i++)

		{

			try

			{

				this.request = new ActiveXObject (versions[i]);

				goOn = false;

			}

			catch (error)

			{

			}

		}

	}

}



AJAXRequest.prototype.Get = function (url)

{

	var ok;

	var thisObject;

	

	ok = false;

	if (this.request)

	{

		thisObject = this;

		this.request.open ("GET", url, true);

		this.request.onreadystatechange = function ()

		{

			switch (thisObject.request.readyState)

			{

				case 1:

					thisObject.Loading ();

					break;

				case 2:

					thisObject.Loaded ();

					break;

				case 3:

					thisObject.Interacting ();

					break;

				case 4:

					thisObject.Finished (thisObject.request.status,

										 thisObject.request.statusText,

										 thisObject.request.responseText,

										 thisObject.request.responseXML);

					break;

			}

		}

		this.request.send (null);

		ok = true;

	}

	

	return (ok);

}



AJAXRequest.prototype.Loading = function ()

{

}



AJAXRequest.prototype.Loaded = function ()

{

}



AJAXRequest.prototype.Interacting = function ()

{

}



AJAXRequest.prototype.Finished = function (status,

										   statusText,

										   responseText,

										   responseXML)

{

}


