﻿function MakeRequest(sUrl)
{
	try
	{
		// branch for native XMLHttpRequest object
		if (window.XMLHttpRequest)
		{
			Req = new XMLHttpRequest();
			Req.onreadystatechange = OnReadyStateChange;
			Req.open("GET", sUrl, true);
			Req.send(null);
		}
		// branch for IE/Windows ActiveX version
		else if (window.ActiveXObject)
		{
			Req = new ActiveXObject("Microsoft.XMLHTTP");
			if (Req)
			{
				Req.onreadystatechange = OnReadyStateChange;
				Req.open("GET", sUrl, true);
				Req.send(null);
			}
		}
	}
	catch(e)
	{
		var msg = (typeof e == "string") ? e : ((e.message) ? e.message : "Unknown Error");
		DetailErrorString = "Ajax error in LoadData, XMLHttpRequest error message:\n" + msg;

		document.getElementById("Main").innerHTML = "Error while making a custom HTTP request.\n\nError details: \n" + DetailErrorString;
		return;
	}
}

function OnReadyStateChange()
{
	if (Req.readyState == 4)
	{
		if (Req.status == 200)
		{
			ProcessResponse(Req);
		}
		else
		{
			DetailErrorString = "Ajax error in OnReadyStateChange, HTTP request error message:\n" + Req.status + " - " + Req.statusText;
			document.getElementById("Main").innerHTML = "Error while making a custom HTTP request.\n\nError details: \n" + DetailErrorString;
		}
	}
}

function ProcessResponse(Req)
{
	document.getElementById("Main").innerHTML = Req.responseText;
}

