﻿function createXmlHttpRequest()
{
    if( typeof XMLHttpRequest != "undefined" )
    {
        return new XMLHttpRequest();
    }
    else if( typeof ActiveXObject != "undefined" )
    {
        return new ActiveXObject( "Microsoft.XMLHTTP" );
    }
}

function getServerData( url, callback, additionalArguments )
{
    var request = createXmlHttpRequest();

    request.open( "GET", url, true );

    request.onreadystatechange = function()
    {
        if( request.readyState == 4 )
        {
            if( request.status == 200 )
            {
                if( callback )
                    callback( request.responseText, additionalArguments );
            }
        }
    }

    request.send( null );
}

function getServerDataSynchronous( url )
{
    var request = createXmlHttpRequest();

    request.open( "GET", url, false );

    request.send( null );
    
    return request.responseText;
}