Type.registerNamespace('AjaxControlToolkit');AjaxControlToolkit.HorizontalSide = function() { throw Error.invalidOperation();} AjaxControlToolkit.HorizontalSide.prototype = { Left : 0, Center : 1, Right : 2 } AjaxControlToolkit.HorizontalSide.registerEnum("AjaxControlToolkit.HorizontalSide", false);AjaxControlToolkit.VerticalSide = function() { throw Error.invalidOperation();} AjaxControlToolkit.VerticalSide.prototype = { Top : 0, Middle : 1, Bottom : 2 } AjaxControlToolkit.VerticalSide.registerEnum("AjaxControlToolkit.VerticalSide", false);AjaxControlToolkit.AlwaysVisibleControlBehavior = function(element) { AjaxControlToolkit.AlwaysVisibleControlBehavior.initializeBase(this, [element]);this._horizontalOffset = 0;this._horizontalSide = AjaxControlToolkit.HorizontalSide.Left;this._verticalOffset = 0;this._verticalSide = AjaxControlToolkit.VerticalSide.Top;this._scrollEffectDuration = .1;this._repositionHandler = null;this._animate = false;this._animation = null;} AjaxControlToolkit.AlwaysVisibleControlBehavior.prototype = { initialize : function() { AjaxControlToolkit.AlwaysVisibleControlBehavior.callBaseMethod(this, 'initialize');var element = this.get_element();if (!element) throw Error.invalidOperation(AjaxControlToolkit.Resources.AlwaysVisible_ElementRequired);this._repositionHandler = Function.createDelegate(this, this._reposition);this._animate = (Sys.Browser.agent == Sys.Browser.InternetExplorer && Sys.Browser.version < 7);if (this._animate) { this._animation = new AjaxControlToolkit.Animation.MoveAnimation( element, this._scrollEffectDuration, 25, 0, 0, false, 'px');element.style.position = 'absolute';} else { element.style.position = 'fixed';} $addHandler(window, 'resize', this._repositionHandler);if (this._animate) { $addHandler(window, 'scroll', this._repositionHandler);} this._reposition();}, dispose : function() { if (this._repositionHandler) { if (this._animate) { $removeHandler(window, 'scroll', this._repositionHandler);} $removeHandler(window, 'resize', this._repositionHandler);this._repositionHandler = null;} if (this._animation) { this._animation.dispose();this._animation = null;} AjaxControlToolkit.AlwaysVisibleControlBehavior.callBaseMethod(this, 'dispose');}, _reposition : function(eventObject) { var element = this.get_element();if (!element) return;this.raiseRepositioning(Sys.EventArgs.Empty);var x = 0;var y = 0;if (this._animate) { if (document.documentElement && document.documentElement.scrollTop) { x = document.documentElement.scrollLeft;y = document.documentElement.scrollTop;} else { x = document.body.scrollLeft;y = document.body.scrollTop;} } var clientBounds = $common.getClientBounds();var width = clientBounds.width;var height = clientBounds.height;switch (this._horizontalSide) { case AjaxControlToolkit.HorizontalSide.Center : x = Math.max(0, Math.floor(x + width / 2.0 - element.offsetWidth / 2.0 - this._horizontalOffset));break;case AjaxControlToolkit.HorizontalSide.Right : x = Math.max(0, x + width - element.offsetWidth - this._horizontalOffset);break;case AjaxControlToolkit.HorizontalSide.Left : default : x += this._horizontalOffset;break;} switch (this._verticalSide) { case AjaxControlToolkit.VerticalSide.Middle : y = Math.max(0, Math.floor(y + height / 2.0 - element.offsetHeight / 2.0 - this._verticalOffset));break;case AjaxControlToolkit.VerticalSide.Bottom : y = Math.max(0, y + height - element.offsetHeight - this._verticalOffset);break;case AjaxControlToolkit.VerticalSide.Top : default : y += this._verticalOffset;break;} if (this._animate && this._animation) { this._animation.stop();this._animation.set_horizontal(x);this._animation.set_vertical(y);this._animation.play();} else { element.style.left = x + 'px';element.style.top = y + 'px';} this.raiseRepositioned(Sys.EventArgs.Empty);}, get_HorizontalOffset : function() { return this._horizontalOffset;}, set_HorizontalOffset : function(value) { if (this._horizontalOffset != value) { this._horizontalOffset = value;this._reposition();this.raisePropertyChanged('HorizontalOffset');} }, get_HorizontalSide : function() { return this._horizontalSide;}, set_HorizontalSide : function(value) { if (this._horizontalSide != value) { this._horizontalSide = value;this._reposition();this.raisePropertyChanged('HorizontalSide');} }, get_VerticalOffset : function() { return this._verticalOffset;}, set_VerticalOffset : function(value) { if (this._verticalOffset != value) { this._verticalOffset = value;this._reposition();this.raisePropertyChanged('VerticalOffset');} }, get_VerticalSide : function() { return this._verticalSide;}, set_VerticalSide : function(value) { if (this._verticalSide != value) { this._verticalSide = value;this._reposition();this.raisePropertyChanged('VerticalSide');} }, get_ScrollEffectDuration : function() { return this._scrollEffectDuration;}, set_ScrollEffectDuration : function(value) { if (this._scrollEffectDuration != value) { this._scrollEffectDuration = value;if (this._animation) { this._animation.set_duration(value);} this.raisePropertyChanged('ScrollEffectDuration');} }, add_repositioning : function(handler) { this.get_events().addHandler('repositioning', handler);}, remove_repositioning : function(handler) { this.get_events().removeHandler('repositioning', handler);}, raiseRepositioning : function(eventArgs) { var handler = this.get_events().getHandler('repositioning');if (handler) { handler(this, eventArgs);} }, add_repositioned : function(handler) { this.get_events().addHandler('repositioned', handler);}, remove_repositioned : function(handler) { this.get_events().removeHandler('repositioned', handler);}, raiseRepositioned : function(eventArgs) { var handler = this.get_events().getHandler('repositioned');if (handler) { handler(this, eventArgs);} } } AjaxControlToolkit.AlwaysVisibleControlBehavior.registerClass('AjaxControlToolkit.AlwaysVisibleControlBehavior', AjaxControlToolkit.BehaviorBase); if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();