﻿/// <reference name="MicrosoftAjax.js" />
Type.registerNamespace("ServerTransformed");

ServerTransformed.IntroAnimModel = function() 
{
}

ServerTransformed.IntroAnimModel.prototype =
{
    set_pageURL: function(value)
    {
        this._raiseEvent("loadPage", {url:value});
    },
    
    set_pageXAML: function(value)
    {
        this._pageXAML = value;
        this._raiseEvent("pageLoaded");
    },
    
    get_pageXAML: function()
    {
        return this._pageXAML;
    },
    
    get_events: function()
    {
        if(!this._events)
        {
            this._events = new Sys.EventHandlerList();
        }
        return this._events;
    },
    
    get_closeCommand: function() { return "mainNavigation"; },
    
    add_exitHandler: function(handler) { this.get_events().addHandler("exit", handler); },
    remove_exitHandler: function(handler) { this.get_events().removeHandler("exit", handler); },
    
    add_exitEarlyHandler: function(handler) { this.get_events().addHandler("exitEarly", handler); },
    remove_exitEarlyHandler: function(handler) { this.get_events().removeHandler("exitEarly", handler); },
    
    add_pageLoadedHandler: function(handler) { this.get_events().addHandler("pageLoaded", handler); },
    remove_pageLoadedHandler: function(handler) { this.get_events().removeHandler("pageLoaded", handler); },
    
    add_loadPageHandler: function(handler) { this.get_events().addHandler("loadPage", handler); },
    remove_loadPageHandler: function(handler) { this.get_events().removeHandler("loadPage", handler); },
    
    add_loadFontsHandler: function(handler) { this.get_events().addHandler("loadFonts", handler); },
    remove_loadFontsHandler: function(handler) { this.get_events().removeHandler("loadFonts", handler); },
    
    add_fontsLoadedHandler: function(handler) { this.get_events().addHandler("fontsLoaded", handler); },
    remove_fontsLoadedHandler: function(handler) { this.get_events().removeHandler("fontsLoaded", handler); },
    
    add_showSkipHandler: function(handler) { this.get_events().addHandler("showSkip", handler); },
    remove_showSkipHandler: function(handler) { this.get_events().removeHandler("showSkip", handler); },
    
    set_fontsLoaded: function(value)
    {
        this._raiseEvent("fontsLoaded");
    },
    
    loadFonts: function()
    {
        this._raiseEvent("loadFonts");
    },
    
    exitEarly: function(sender, eventArgs)
    {
        dcsMultiTrack('DCS.dcsuri','/ws2008/skip','WT.ti','Skip Intro','WT.cg_n','Home','DCSext.ws2008','','WT.dl','6');
        this._raiseEvent("exitEarly");
    },
    
    showSkipIntro: function()
    {
        this._raiseEvent("showSkip");
    },
    
    _raiseEvent: function(eventName, eventArgs)
    {
        var handler = this.get_events().getHandler(eventName);
        
        if(handler)
        {
            if(!eventArgs) eventArgs = Sys.EventArgs.Empty;
            handler(this, eventArgs);
        }
    },
    
    exit: function()
    {
        dcsMultiTrack('DCS.dcsuri','/ws2008/home','WT.ti','Home','WT.cg_n','Home','DCSext.ws2008','','WT.dl','6');
        this._raiseEvent("exit");
    }
}

ServerTransformed.IntroAnimModel.registerClass("ServerTransformed.IntroAnimModel");