﻿Type.registerNamespace("TitanTV");

// Constructor
TitanTV.AjaxBanner = function(element)
{

  TitanTV.AjaxBanner.initializeBase(this, [element]);

  // Private variables
  this._pageRequestManager = null;

  // UI Elements

  // Methods
  this.pageLoaded = null;

  // Private methods
}

TitanTV.AjaxBanner.prototype = {

  // property accessors.

  initialize: function()
  {
    var element = this.get_element();

    this._pageRequestManager = Sys.WebForms.PageRequestManager.getInstance();

    // create Delgates
    if (this.pageLoaded === null) this.pageLoaded = Function.createDelegate(this, this._pageLoaded);

    

    this._pageRequestManager.add_pageLoaded(this.pageLoaded);

    TitanTV.AjaxBanner.callBaseMethod(this, 'initialize');

    Sys.Debug.trace('Initialize: ' + element.id);
  },

  // Release resources before control is disposed.
  dispose: function()
  {
    var element = this.get_element();

    this._pageRequestManager.remove_pageLoaded(this.pageLoaded);

    if (this.pageLoaded) delete this.pageLoaded;

    TitanTV.AjaxBanner.callBaseMethod(this, 'dispose');

    Sys.Debug.trace('Dispose: ' + element.id);
  },

  _pageLoaded: function(sender, args)
  {
    if (!args) return;

    var element = this.get_element();
    var dataItems = args.get_dataItems();

    if (!dataItems) return;

    if (dataItems[element.id] == "refresh")
    {
      var content = element.innerHTML;
      element.innerHTML = content;
    }
  }
}

TitanTV.AjaxBanner.registerClass('TitanTV.AjaxBanner', Sys.UI.Control);


// Since this script is not loaded by System.Web.Handlers.ScriptResourceHandler
// invoke Sys.Application.notifyScriptLoaded to notify ScriptManager 
// that this is the end of the script.
if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();

