/*Error Request Message. Modify when needed.*/
var RequestError = "Error Initializing HTTP Request!";

function CreateRequestObject(useAlert) 
{	var request; try { request = new XMLHttpRequest(); } 
  	catch (trymicrosoft) 
  	{  	try { request = new ActiveXObject("Msxml2.XMLHTTP"); } 
		catch (othermicrosoft) 
		{	try	{ request = new ActiveXObject("Microsoft.XMLHTTP");	} 
	  		catch (failed) { request = false;}
    	}
  	} if ( (!request) && (useAlert) ) alert(RequestError);
	return request;
}

function SendRequest(ajaxobj,destination,optionstring,respondfunction)
{	ajaxobj.open('get',destination + "?" + optionstring,true);
	ajaxobj.onreadystatechange = respondfunction;
	ajaxobj.send(null);
}

function AsyncHTMLResponse(req,elementID)
{	if ( (req.readyState == 4) && (req.status == 200) )
	{ document.getElementById(elementID).innerHTML = req.responseText; }
}

function AsyncHTMLRequest(destination,elementID,loadMessage)
{	document.getElementById(elementID).innerHTML = loadMessage;
	var req = CreateRequestObject(false);
	if (!req)
	{ document.getElementById(elementID).innerHTML = RequestError; }
	else
	{ 	req.onreadystatechange = function() { AsyncHTMLResponse(req,elementID); };
		req.open('get',destination,true); req.send(null); } 
}