/// <reference path="../Start.js"/>
/// <reference path="../MicrosoftAjax.js"/>

// aliases
Type.registerNamespace('Pacem');
Pacem.components = {};
Pacem.create = {};
Pacem.components.rollOver = "PacemRollOver";
Pacem.components.validationBroadcaster = "PacemValidationBroadcaster";
Pacem.components.tween = "PacemTween";
Pacem.components.collapsiblePanel = "PacemCollapsiblePanel";
Pacem.components.debugConsole = "PacemDebugConsole";

// override Sys.onReady to get rid of partial rendering
Sys.require("MicrosoftAjax");
Pacem.onReady = function(fn) {
    Sys.Application.add_load(
        function(s, a) {
            Sys.onReady(fn);
        }
    );
};


Sys.loader.defineScripts({
},
[

// tween
  {name: Pacem.components.tween,
  releaseUrl: "%/pacem/Tween/Tween.js",
  debugUrl: "%/pacem/Tween/Tween.debug.js",
  behaviors: [{ name: "pacemTween", typeName: "Pacem.UI.Tween"}],
  executionDependencies: ["ExtendedBase", "ExtendedTimer"]
},

// routedEventArgs
  {name: "PacemRoutedEventArgs",
  releaseUrl: "%/pacem/RoutedEventArgs/RoutedEventArgs.js",
  debugUrl: "%/pacem/RoutedEventArgs/RoutedEventArgs.debug.js",
  executionDependencies: ["ComponentModel"]
},

// validationEventArgs
  {name: "PacemValidationEventArgs",
  releaseUrl: "%/pacem/ValidationBroadcaster/ValidationEventArgs.js",
  debugUrl: "%/pacem/ValidationBroadcaster/ValidationEventArgs.debug.js",
  executionDependencies: ["ComponentModel"]
},

// collapsiblePanel
  {name: Pacem.components.collapsiblePanel,
  releaseUrl: "%/pacem/CollapsiblePanel/CollapsiblePanel.js",
  debugUrl: "%/pacem/CollapsiblePanel/CollapsiblePanel.debug.js",
  behaviors: [{ name: "pacemCollapsiblePanel", typeName: "Pacem.UI.CollapsiblePanelBehavior"}],
  executionDependencies: [Pacem.components.tween],
  isLoaded: !!(Pacem.UI && Pacem.UI.CollapsiblePanelBehavior)
},

// rollOver
  {name: Pacem.components.rollOver,
  releaseUrl: "%/pacem/RollOver/RollOver.js",
  debugUrl: "%/pacem/RollOver/RollOver.debug.js",
  behaviors: [{ name: "pacemRollOver", typeName: "Pacem.UI.RollOverBehavior"}],
  executionDependencies: ["ExtendedBase", "PacemRoutedEventArgs"]
},

// debugConsole
  {name: Pacem.components.debugConsole,
  releaseUrl: "%/pacem/DebugConsole/DebugConsole.js",
  debugUrl: "%/pacem/DebugConsole/DebugConsole.debug.js",
  behaviors: [{ name: "pacemDebugConsole", typeName: "Pacem.UI.DebugConsoleBehavior"}],
  executionDependencies: ["ExtendedBase", Pacem.components.collapsiblePanel],
  isLoaded: !!(Pacem.UI && Pacem.UI.CollapsiblePanelBehavior && Pacem.UI.DebugConsole)
},

// validationBroadcaster
  {name: Pacem.components.validationBroadcaster,
  releaseUrl: "%/pacem/ValidationBroadcaster/ValidationBroadcaster.js",
  debugUrl: "%/pacem/ValidationBroadcaster/ValidationBroadcaster.debug.js",
  behaviors: [{ name: "pacemValidationBroadcaster", typeName: "Pacem.UI.ValidationBroadcasterBehavior"}],
  executionDependencies: ["ExtendedBase", "PacemValidationEventArgs"]
}
]
);

