var lastTarget, lastForm;
var lastURL;

function bodyLoad(params)
{
    refreshBody(params);
}

function refreshBody(params, form)
{
    lastURL = siteRoot + '/ajax/componentloader?name=' + params;
    ajaxPanel(lastURL, 'pagebody', form);
}

function reloadBody()
{
    ajaxPanel(lastURL, 'pagebody');
}

function ajaxPanel(url, clickItem, form)
{ 
    var loader, currentTarget, responseReturned;
    var target;

    if($(clickItem).className == "ajaxcontainer")
    {
        target = $(clickItem);
    }
    else
    {
        target = $(clickItem).up(".ajaxcontainer");
    }
    
    lastTarget = target;
    lastForm = form;
    
    if(target == null) alert("Warning...no ajax container defined");
    
    var formSerialized = "";
    
    if(form)
    {
        formSerialized = Form.serialize(form);
    }
    
    new Ajax.Updater(target, url, {
        onCreate: function(transport) 
        {
            loader = setTimeout(setLoading, 500);
        },
        onComplete: function(transport)
        {
            responseReturned = true;
            hideLoader();
        },
        onException: function(transport)
        {
            responseReturned = true;
            hideLoader();
        },
        onSuccess: function(transport)
        {
            responseReturned = true;
            hideLoader();
        },
        parameters: formSerialized,
        evalScripts:true
    });
        
    function setLoading()
    {
        if(!responseReturned)
            showLoader();
            //target.innerHTML = "<div style='width:inherit;text-align:center'><img src='" + siteRoot + "/content/images/spinner.gif'><br/>Loading, please wait...</div>";
        clearTimeout(loader);
    }
}

function ajaxMessage(url)
{
    new Ajax.Request(url);
}
