
var objXHR;
var objXHRreturnMode;
var objXHRreturnFunc;

function startRequest(url, retFunc, retMode)
{
	try
	{
		objXHR = new XMLHttpRequest();
	}
	catch(e)
	{
		objXHR = new ActiveXObject('Microsoft.XMLHTTP');
	}
	
	// Asynchronous state-change handler (to catch data when finished)
	objXHR.onreadystatechange = asyncHandler;
	
	objXHR.open('GET', url, true);
	objXHR.send(null);
	
	objXHRreturnFunc = retFunc;
	objXHRreturnMode = retMode;
}

function asyncHandler()
{
	switch( objXHR.readyState )
	{
	case 4:
		//alert(objXHR.responseText);
		if( objXHRreturnMode == 'text' )
		{
			objXHRreturnFunc(objXHR.responseText);
		}
		else
		{
			objXHRreturnFunc(objXHR.responseXML);
		}
	break;
	}
}