var obj = false;
var Host;

var Initialized = false;

function NewAjaxObj()
{
	var object = false;

	if (!window.XMLHttpRequest)
	{
		var ms_xhr_ver = false;

		window.XMLHttpRequest = function()
		{
			if (ms_xhr_ver) return new ActiveXObject(ms_xhr_ver);

			var xhr = false;

			var versions = [
			"Msxml2.XMLHTTP.7.0", 
			"Msxml2.XMLHTTP.6.0", 
			"Msxml2.XMLHTTP.5.0", 
			"Msxml2.XMLHTTP.4.0", 
			"MSXML2.XMLHTTP.3.0", 
			"MSXML2.XMLHTTP",
			"Microsoft.XMLHTTP"];

			var n = versions.length;

			for (var i = 0; i < n; i++)
			{
				try
				{
					if (xhr = new ActiveXObject(versions[i]))
					{
						ms_xhr_ver = versions[i];

						break;
					}
				}

				catch (e)
				{
					
				}
			}

			return xhr;
		};
	}

	if (window.XMLHttpRequest)
	{
		object = new XMLHttpRequest();
	}

	else if (window.ActiveXObject)
	{
		object = new ActiveXObject("Microsoft.XMLHTTP");
	}

	return object;
}

function InitAjax(Link)
{
	Initialized = true;

	obj = NewAjaxObj();

	if (obj == false)
	{
		Initialized = false;
	}

	Host = Link;
}

function OpenAjaxURL(URL, ID)
{
	OpenAjaxObjectURL(URL, ID, obj);
}

function OpenNewAjaxURL(URL, ID)
{
	OpenAjaxObjectURL(URL, ID, NewAjaxObj());
}

function OpenAjaxObjectURL(URL, ID, Object)
{
	if (Initialized && (Object != false))
	{
		try
		{
			Object.open("GET", "http://" + Host + "pages/" + URL, true);

			Object.onreadystatechange = function()
			{
				if (Object.readyState == 4)
				{
					if (Object.status == 200)
					{
						if (ID != false)
						{
							document.getElementById(ID).innerHTML = Object.responseText; 
						}
					}

					else
					{
						if (ID != false)
						{
							document.getElementById(ID).innerHTML = Object.statusText; 
						}
					}
				}    
			}

			Object.send(null);
		}

		catch (e)
		{
			if (ID != false)
			{
				document.getElementById(ID).innerHTML = e; 
			}
		}
	}
}