﻿var lastTarget, lastForm;
var lastURL;
var ajaxUID = 1;

function bodyLoad(params)
{
    refreshBody(params);
}

// Legacy function...to be removed
function refreshBody(params, form)
{
    reloadPage();
}

// Legacy function...to be removed
function reloadBody()
{
    reloadPage();
}

function ajaxPanel(url, clickItem, form, waitMessage)
{ 
    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);
    }
    
    url += "&auid=a" + (++ajaxUID);
    
    new Ajax.Updater(target, url, {
        onCreate: function(transport) 
        {
            if(waitMessage)
                loader = setTimeout(setLoading, 500);
            else
                loader = setTimeout(setLoading, 2000);
        },
        onComplete: function(transport)
        {
            responseReturned = true;
            hideLoader();
        },
        onException: function(transport)
        {
            responseReturned = true;
            hideLoader();
        },
        onSuccess: function(transport)
        {
            try
            {
                pageTracker._trackPageview(siteRoot + url);
            }
            catch(ex){}
        
            responseReturned = true;
            hideLoader();
        },
        parameters: formSerialized,
        evalScripts:true
    });
        
    function setLoading()
    {
        if(!responseReturned)
        {
            if(waitMessage)
                target.innerHTML = renderWait(waitMessage);
            else
                showLoader();
            
        }
        clearTimeout(loader);
    }
}

function renderWait(waitMessage)
{
    return "<div style='width:inherit;text-align:center' class='titleText'><img src='" + siteRoot + "/content/images/ajax-loader.gif' style='margin:30px'><br/>" + waitMessage + "</div>";
}

function ajaxMessage(url)
{
    new Ajax.Request(url);
}
