
//-----------------------------------------------------------------------------------------------------------------------------
//-- Globals
//-----------------------------------------------------------------------------------------------------------------------------

var objReceiver;

//-----------------------------------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------------------------------



//-----------------------------------------------------------------------------------------------------------------------------
//-- Initialise Connection
//-----------------------------------------------------------------------------------------------------------------------------

function JS_Ajax_Initialise ( objResultsTarget )
{
    try
    {
        objRequest=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e)
    {
        try
        {
            objRequest=new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(oc)
        {
            objRequest=null;
        }
    }

    if(!objRequest&&typeof XMLHttpRequest!="undefined")
    {
        objRequest=new XMLHttpRequest();
    }

	if ( typeof (objResultsTarget) == "function" ) objReceiver = objResultsTarget;
	else objReceiver = document.getElementById(objResultsTarget);
}

//-----------------------------------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------------------------------



//-----------------------------------------------------------------------------------------------------------------------------
//-- Initialise Connection
//-----------------------------------------------------------------------------------------------------------------------------

function JS_Ajax_SendQuery ( strCommand, strResultsTarget, strAdditionalData, strSiteRoot )
{
	//alert ( strCommand + ", " + strResultsTarget );
	
    JS_Ajax_Initialise ( strResultsTarget );
	
    var strURL = strSiteRoot + "Scripts/Ajax/API.php5?command=" + escape ( strCommand );
	if ( strAdditionalData ) strURL += "&data=" + escape ( strAdditionalData );
	
    if ( objRequest != null )
    {
        objRequest.onreadystatechange = JS_Ajax_Process;
        objRequest.open ( "GET", strURL, true );
        objRequest.send ( null );
    }
}

//-----------------------------------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------------------------------



//-----------------------------------------------------------------------------------------------------------------------------
//-- Initialise Connection
//-----------------------------------------------------------------------------------------------------------------------------

function JS_Ajax_Process ()
{
    if ( objRequest.readyState == 4 )
        {
       		// only if "OK"
            if ( objRequest.status == 200 )
            {				
				if ( typeof (objReceiver) == "function" )
				{
					objReceiver ( objRequest.responseText ); // call function
				}
				else
				{
					if ( objReceiver )
					{
						if ( objReceiver.tagName == "INPUT" ) objReceiver.value = objRequest.responseText;
						else objReceiver.innerHTML = objRequest.responseText;
					}
				}
            }
            else
            {
				if ( objReceiver )
				{				
					objReceiver.innerHTML = 0;
				}
            }
        }
}

//-----------------------------------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------------------------------

