﻿Type.registerNamespace("ScriptLibrary");
ScriptLibrary.BackgroundAnimation = function(startColor, endColor, duration)
{
    this._startColor = startColor;
    this._endColor = endColor;
    this._duration = duration;
}
ScriptLibrary.BackgroundAnimation.prototype =
{
    animatePanel: function(panelElement)
    {
        var s = panelElement.style;
        var startColor = this._startColor;
        var endColor = this._endColor;
        var duration = this._duration;
        s.backgroundColor = startColor;
        window.setTimeout(function() { s.backgroundColor = endColor; }, duration);
    }
}
ScriptLibrary.BackgroundAnimation.registerClass('ScriptLibrary.BackgroundAnimation', null);

var panelUpdatedAnimation = new ScriptLibrary.BackgroundAnimation('#A99960','transparent',500);
var postbackElement;

Sys.Application.add_load(ApplicationLoadHandler);
function ApplicationLoadHandler()
{
    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequest);
    Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(pageLoaded);
}

function beginRequest(sender, args)
{
    postbackElement = args.get_postBackElement();
    // postbackElement.backgroundColor = '#FFA500';
    $get('workingPanel').style.visibility = 'visible';
}
function pageLoaded(sender, args)
{
    var updatedPanels = args.get_panelsUpdated();
    if (typeof(postbackElement) === "undefined")
    {
        return;
    }
    else
    {
        for (i=0; i<updatedPanels.length; i++)
        {
            panelUpdatedAnimation.animatePanel(updatedPanels[i]);
        }
    }
    $get('workingPanel').style.visibility = 'hidden';
}
if (typeof(Sys) !== "undefined") Sys.Application.notifyScriptLoaded();