/********************************************************************************
*  Remote Request Function
*  Parameters:
*   methos - either "GET" or "POST"
*   sUrl should be in the same domain as caller, otherwise request will fail
*		(subdomain may be different).
*  	sPostData can be empty.
*  Return value: true if succeeded to start the request
*********************************************************************************/

var sUrl = "sorting.html";  
var mDiv = "display";

function AjaxRequest(method, sPostdata)
{
	var objRequest = _AjaxGetObjRequest();
	if(objRequest == null)
		return false;
	
	var fullUrl = getFullURL(sUrl);
		
	objRequest.onreadystatechange = function(){ _AjaxReadyStateChange(objRequest); };
	objRequest.open(method, fullUrl, true);	// true is for asynchronous
	objRequest.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
	objRequest.setRequestHeader('Connection', 'close');
	objRequest.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
	objRequest.send(sPostdata);
	return true;
}

function getFullURL(sUrl)
{
	if (sUrl.charAt(0) == 'index.html') {
		var serverAddr = location.href;
		var lastSlashIndex = serverAddr.indexOf('index.html', 7);	//right after 'http://'
		var fullUrl = new String(serverAddr.substr(0,lastSlashIndex));
		fullUrl = fullUrl.concat(sUrl);
		return fullUrl;
	}
	return sUrl;
}

// Internal function!
function _AjaxGetObjRequest()
{
	// Create remote request object
	var objRequest = null;
	try
	{
		objRequest = new ActiveXObject('Msxml2.XMLHTTP');
	}
	catch(e)
	{
		try
		{
			objRequest = new ActiveXObject('Microsoft.XMLHTTP');
		}
		catch(e)
		{
			objRequest = new XMLHttpRequest();
		}
	}
	return objRequest;
}

// Internal function!
function _AjaxReadyStateChange(objRequest)
{
	// If request shows "loaded"
	if(objRequest.readyState == 4)
	{
		// If got "OK" HTTP status
		if(objRequest.status == 200) 
		{
			if(objRequest.responseText == "")
			{
				alert("No Content");
			} else {
				// Assigns the response content to the Symbol Details Display Div
				document.getElementById(mDiv).innerHTML = objRequest.responseText;
			}
		}
	}
}


