/************************************************
AJAX Handlers
************************************************/
var xmlHttpDivID = ""
var xmlHttp = ""
 
function GetXmlHttpObject(handler)
{ 
    var objXMLHttp=null
    if (window.XMLHttpRequest)
    {
        objXMLHttp=new XMLHttpRequest()
    }
    else if (window.ActiveXObject)
    {
        objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
    }
    
    if(objXMLHttp == null)
    {
    	alert("Your browser is not AJAX/Web 2.0 enabled");
    }

    return objXMLHttp;
}

function sendData(url)
{
	send(url, "");
}

function requestData(url, returnFunction)
{
	send(url, returnFunction);
}

var numRetry = 0;
function send(url, returnFunction)
{
	if(xmlHttp == "")
	{
		//alert("Return Function:" + returnFunction);
		xmlHttp=GetXmlHttpObject();

		if(returnFunction != "")
		{
			xmlHttp.onreadystatechange=returnFunction;
		}
		else
		{
			xmlHttp.onreadystatechange=ajaxDone;
		}
		xmlHttp.open("GET",url,true)
		xmlHttp.send(null);
	}
	else
	{
		//try again in 2 seconds
		numRetry++;
		if(numRetry < 100)
		{
			send(url, returnFunction);
		}
		else
		{
			debug("Warning!!! Overlapping AJAX");
			alert("Overlapping AJAX");
		}
	}
}

function ajaxDone()
{
	if (xmlHttp.readyState==4)
	{ 
		xmlHttp = "";
	}

}
