/*
Implemented:
    mootools-1.1
    mootools-1.2
    jquery-1.2
*/

var ajaxVersion = 'jquery-1.2';

var ajaxOptionsClass = function() {};

function ajaxLayer(elID, ajaxOptions)
{
    var el = document.getElementById(elID);

    el.innerHTML = "<img src=\"im/loading.gif\" border=\"0\" />";

    if(ajaxVersion == 'mootools-1.1')
    {
        var opts = new ajaxOptionsClass();

        opts.method = ajaxOptions.method;
        if(ajaxOptions.postData)
            opts.postBody = ajaxOptions.postData;

        opts.onComplete = function(resp){
            el.innerHTML = resp.responseText;
        };

        var myAjax = new Ajax(
        ajaxOptions.url, opts).request();

    }
    else
    if(ajaxVersion == 'mootools-1.2')
    {
        var opts = new ajaxOptionsClass();
        opts.url = ajaxOptions.url;
        opts.method = ajaxOptions.method;
        if(ajaxOptions.postData)
            opts.data = ajaxOptions.postData;

        var myAjax = new Request({
            url: opts.url,
            method: opts.method
        });

        opts.onComplete = function(resp){
            el.innerHTML = resp.responseText;
        };

        myAjax.send();
    }
    else
    if(ajaxVersion == 'jquery-1.2')
    {
        var opts    = new ajaxOptionsClass();
        opts.url    = ajaxOptions.url;
        opts.type   = ajaxOptions.method;
        if(ajaxOptions.postData)
            opts.data = ajaxOptions.postData;
        opts.success = function(resp)
        {
            el.innerHTML = resp;
        };
        $.ajax(opts);
    }
}

function doAjax(ajaxOptions)
{
    /*
    ajaxOptions:
        Mandatory:
            url
            method
        Optional:
            postData
            responseFunction
    */

    if(ajaxVersion == 'mootools-1.1')
    {
        var opts = new ajaxOptionsClass();

        opts.method = ajaxOptions.method;
        if(ajaxOptions.postData)
            opts.postBody = ajaxOptions.postData;
        if(ajaxOptions.responseFunction)
            opts.onComplete = ajaxOptions.responseFunction;

        var myAjax = new Ajax(
        ajaxOptions.url, opts).request();

    }
    else
    if(ajaxVersion == 'mootools-1.2')
    {
        var opts = new ajaxOptionsClass();
        opts.url = ajaxOptions.url;
        opts.method = ajaxOptions.method;
        if(ajaxOptions.postData)
            opts.data = ajaxOptions.postData;

        var myAjax = new Request({
            url: opts.url,
            method: opts.method
        });

        if(ajaxOptions.responseFunction)
            myAjax.onSuccess = ajaxOptions.responseFunction;

        myAjax.send();
    }
    else
    if(ajaxVersion == 'jquery-1.2')
    {
        var opts    = new ajaxOptionsClass();
        opts.url    = ajaxOptions.url;
        opts.type   = ajaxOptions.method;
        if(ajaxOptions.postData)
            opts.data = ajaxOptions.postData;
        if(ajaxOptions.responseFunction)
            opts.success = ajaxOptions.responseFunction;
        $.ajax(opts);
    }
}

function ajax_url(location, url)
{
    if(location.substring(0,8)=='https://')
        url = url.replace('http://', 'https://');
    return url;
}
