﻿(function(){var b="ExtendedDropShadow";function a(){var b="absolute",a=null;Type.registerNamespace("Sys.Extended.UI");Sys.Extended.UI.DropShadowBehavior=function(c){var b=this;Sys.Extended.UI.DropShadowBehavior.initializeBase(b,[c]);b._opacity=1;b._width=5;b._shadowDiv=a;b._trackPosition=a;b._trackPositionDelay=50;b._timer=a;b._tickHandler=a;b._roundedBehavior=a;b._shadowRoundedBehavior=a;b._rounded=false;b._radius=5;b._lastX=a;b._lastY=a;b._lastW=a;b._lastH=a};Sys.Extended.UI.DropShadowBehavior.prototype={initialize:function(){var a=this;Sys.Extended.UI.DropShadowBehavior.callBaseMethod(a,"initialize");var c=a.get_element();if($common.getCurrentStyle(c,"position",c.style.position)!=b)c.style.position="relative";a._rounded&&a.setupRounded();a._trackPosition&&a.startTimer();a.setShadow()},dispose:function(){this.stopTimer();this.disposeShadowDiv();Sys.Extended.UI.DropShadowBehavior.callBaseMethod(this,"dispose")},buildShadowDiv:function(){var c=this,e=c.get_element();if(!c.get_isInitialized()||!e||!c._width)return;var d=document.createElement("DIV");d.style.backgroundColor="black";d.style.position=b;if(e.id)d.id=e.id+"_DropShadow";c._shadowDiv=d;e.parentNode.appendChild(d);if(c._rounded){c._shadowDiv.style.height=Math.max(0,e.offsetHeight-2*c._radius)+"px";if(!c._shadowRoundedBehavior)c._shadowRoundedBehavior=$create(Sys.Extended.UI.RoundedCornersBehavior,{Radius:c._radius},a,a,c._shadowDiv);else c._shadowRoundedBehavior.set_Radius(c._radius)}else c._shadowRoundedBehavior&&c._shadowRoundedBehavior.set_Radius(0);c._opacity!=1&&c.setupOpacity();c.setShadow(false,true);c.updateZIndex()},disposeShadowDiv:function(){var b=this;if(b._shadowDiv){b._shadowDiv.parentNode&&b._shadowDiv.parentNode.removeChild(b._shadowDiv);b._shadowDiv=a}if(b._shadowRoundedBehavior){b._shadowRoundedBehavior.dispose();b._shadowRoundedBehavior=a}},onTimerTick:function(){this.setShadow()},startTimer:function(){var a=this;if(!a._timer){if(!a._tickHandler)a._tickHandler=Function.createDelegate(a,a.onTimerTick);a._timer=new Sys.Timer;a._timer.set_interval(a._trackPositionDelay);a._timer.add_tick(a._tickHandler);a._timer.set_enabled(true)}},stopTimer:function(){var b=this;if(b._timer){b._timer.remove_tick(b._tickHandler);b._timer.set_enabled(false);b._timer.dispose();b._timer=a}},setShadow:function(f,h){var a=this,c=a.get_element();if(!a.get_isInitialized()||!c||!a._width&&!f)return;var e=a._shadowDiv;!e&&a.buildShadowDiv();var b={x:c.offsetLeft,y:c.offsetTop};if(f||a._lastX!=b.x||a._lastY!=b.y||!e){a._lastX=b.x;a._lastY=b.y;var d=a.get_Width();b.x+=d;b.y+=d;$common.setLocation(a._shadowDiv,b)}var g=c.offsetHeight,d=c.offsetWidth;if(f||g!=a._lastH||d!=a._lastW||!e){a._lastW=d;a._lastH=g;if(!a._rounded||!e||h){a._shadowDiv.style.width=d+"px";a._shadowDiv.style.height=g+"px"}else{a.disposeShadowDiv();a.setShadow()}}if(a._shadowDiv)a._shadowDiv.style.visibility=$common.getCurrentStyle(c,"visibility")},setupOpacity:function(){var a=this;a.get_isInitialized()&&a._shadowDiv&&$common.setElementOpacity(a._shadowDiv,a._opacity)},setupRounded:function(){var b=this;if(!b._roundedBehavior&&b._rounded)b._roundedBehavior=$create(Sys.Extended.UI.RoundedCornersBehavior,a,a,a,b.get_element());b._roundedBehavior&&b._roundedBehavior.set_Radius(b._rounded?b._radius:0)},updateZIndex:function(){var c=this;if(!c._shadowDiv)return;var d=c.get_element(),a=d.style.zIndex,b=c._shadowDiv.style.zIndex;if(b&&a&&a>b)return;else{a=Math.max(2,a);b=a-1}d.style.zIndex=a;c._shadowDiv.style.zIndex=b},updateRoundedCorners:function(){var a=this;if(a.get_isInitialized()){a.setupRounded();a.disposeShadowDiv();a.setShadow()}},get_Opacity:function(){return this._opacity},set_Opacity:function(b){var a=this;if(a._opacity!=b){a._opacity=b;a.setupOpacity();a.raisePropertyChanged("Opacity")}},get_Rounded:function(){return this._rounded},set_Rounded:function(b){var a=this;if(b!=a._rounded){a._rounded=b;a.updateRoundedCorners();a.raisePropertyChanged("Rounded")}},get_Radius:function(){return this._radius},set_Radius:function(b){var a=this;if(b!=a._radius){a._radius=b;a.updateRoundedCorners();a.raisePropertyChanged("Radius")}},get_Width:function(){return this._width},set_Width:function(b){var a=this;if(b!=a._width){a._width=b;a._shadowDiv&&$common.setVisible(a._shadowDiv,b>0);a.setShadow(true);a.raisePropertyChanged("Width")}},get_TrackPositionDelay:function(){return this._trackPositionDelay},set_TrackPositionDelay:function(b){var a=this;if(b!=a._trackPositionDelay){a._trackPositionDelay=b;if(a._trackPosition){a.stopTimer();a.startTimer()}a.raisePropertyChanged("TrackPositionDelay")}},get_TrackPosition:function(){return this._trackPosition},set_TrackPosition:function(b){var a=this;if(b!=a._trackPosition){a._trackPosition=b;if(a.get_element())if(b)a.startTimer();else a.stopTimer();a.raisePropertyChanged("TrackPosition")}}};Sys.Extended.UI.DropShadowBehavior.registerClass("Sys.Extended.UI.DropShadowBehavior",Sys.Extended.UI.BehaviorBase);Sys.registerComponent(Sys.Extended.UI.DropShadowBehavior,{name:"dropShadow"})}if(window.Sys&&Sys.loader)Sys.loader.registerScript(b,["ExtendedBase","ExtendedCommon","ExtendedTimer","ExtendedRoundedCorners"],a);else a()})();