// Name: Compat.Timer.Timer.debug.js // Assembly: AjaxControlToolkit // Version: 4.1.51116.0 // FileVersion: 4.1.51116 // (c) 2010 CodePlex Foundation /// (function() { var scriptName = "ExtendedTimer"; function execute() { var version = Sys.version; if (!version && !Sys._versionChecked) { Sys._versionChecked = true; throw new Error("AjaxControlToolkit requires ASP.NET Ajax 4.0 scripts. Ensure the correct version of the scripts are referenced. If you are using an ASP.NET ScriptManager, switch to the ToolkitScriptManager in AjaxControlToolkit.dll."); } /////////////////////////////////////////////////////////////////////////////// Sys.Timer = function() { Sys.Timer.initializeBase(this); this._interval = 1000; this._enabled = false; this._timer = null; } Sys.Timer.prototype = { get_interval: function() { return this._interval; }, set_interval: function(value) { if (this._interval !== value) { this._interval = value; this.raisePropertyChanged('interval'); if (!this.get_isUpdating() && (this._timer !== null)) { this._stopTimer(); this._startTimer(); } } }, get_enabled: function() { return this._enabled; }, set_enabled: function(value) { if (value !== this.get_enabled()) { this._enabled = value; this.raisePropertyChanged('enabled'); if (!this.get_isUpdating()) { if (value) { this._startTimer(); } else { this._stopTimer(); } } } }, add_tick: function(handler) { this.get_events().addHandler("tick", handler); }, remove_tick: function(handler) { this.get_events().removeHandler("tick", handler); }, dispose: function() { this.set_enabled(false); this._stopTimer(); Sys.Timer.callBaseMethod(this, 'dispose'); }, updated: function() { Sys.Timer.callBaseMethod(this, 'updated'); if (this._enabled) { this._stopTimer(); this._startTimer(); } }, _timerCallback: function() { var handler = this.get_events().getHandler("tick"); if (handler) { handler(this, Sys.EventArgs.Empty); } }, _startTimer: function() { this._timer = window.setInterval(Function.createDelegate(this, this._timerCallback), this._interval); }, _stopTimer: function() { window.clearInterval(this._timer); this._timer = null; } } Sys.Timer.descriptor = { properties: [ {name: 'interval', type: Number}, {name: 'enabled', type: Boolean} ], events: [ {name: 'tick'} ] } Sys.Timer.registerClass('Sys.Timer', Sys.Component); } // execute if (window.Sys && Sys.loader) { Sys.loader.registerScript(scriptName, ["ComponentModel"], execute); } else { execute(); } })();