﻿Type.registerNamespace("AjaxControlToolkit");AjaxControlToolkit.DropShadowBehavior=function(A){AjaxControlToolkit.DropShadowBehavior.initializeBase(this,[A]);this._opacity=1;this._width=5;this._shadowDiv=null;this._trackPosition=null;this._trackPositionDelay=50;this._timer=null;this._tickHandler=null;this._roundedBehavior=null;this._shadowRoundedBehavior=null;this._rounded=false;this._radius=5;this._lastX=null;this._lastY=null;this._lastW=null;this._lastH=null};AjaxControlToolkit.DropShadowBehavior.prototype={initialize:function(){AjaxControlToolkit.DropShadowBehavior.callBaseMethod(this,"initialize");var A=this.get_element();if($common.getCurrentStyle(A,"position",A.style.position)!="absolute"){A.style.position="relative"}if(this._rounded){this.setupRounded()}if(this._trackPosition){this.startTimer()}this.setShadow()},dispose:function(){this.stopTimer();this.disposeShadowDiv();AjaxControlToolkit.DropShadowBehavior.callBaseMethod(this,"dispose")},buildShadowDiv:function(){var A=this.get_element();if(!this.get_isInitialized()||!A||!this._width){return }var B=document.createElement("DIV");B.style.backgroundColor="black";B.style.position="absolute";if(A.id){B.id=A.id+"_DropShadow"}this._shadowDiv=B;A.parentNode.appendChild(B);if(this._rounded){this._shadowDiv.style.height=Math.max(0,A.offsetHeight-(2*this._radius))+"px";if(!this._shadowRoundedBehavior){this._shadowRoundedBehavior=$create(AjaxControlToolkit.RoundedCornersBehavior,{Radius:this._radius},null,null,this._shadowDiv)}else{this._shadowRoundedBehavior.set_Radius(this._radius)}}else{if(this._shadowRoundedBehavior){this._shadowRoundedBehavior.set_Radius(0)}}if(this._opacity!=1){this.setupOpacity()}this.setShadow(false,true);this.updateZIndex()},disposeShadowDiv:function(){if(this._shadowDiv){if(this._shadowDiv.parentNode){this._shadowDiv.parentNode.removeChild(this._shadowDiv)}this._shadowDiv=null}if(this._shadowRoundedBehavior){this._shadowRoundedBehavior.dispose();this._shadowRoundedBehavior=null}},onTimerTick:function(){this.setShadow()},startTimer:function(){if(!this._timer){if(!this._tickHandler){this._tickHandler=Function.createDelegate(this,this.onTimerTick)}this._timer=new Sys.Timer();this._timer.set_interval(this._trackPositionDelay);this._timer.add_tick(this._tickHandler);this._timer.set_enabled(true)}},stopTimer:function(){if(this._timer){this._timer.remove_tick(this._tickHandler);this._timer.set_enabled(false);this._timer.dispose();this._timer=null}},setShadow:function(A,G){var D=this.get_element();if(!this.get_isInitialized()||!D||(!this._width&&!A)){return }var H=this._shadowDiv;if(!H){this.buildShadowDiv()}var E=$common.getLocation(D);if(A||this._lastX!=E.x||this._lastY!=E.y||!H){this._lastX=E.x;this._lastY=E.y;var F=this.get_Width();if((D.parentNode.style.position=="absolute")||(D.parentNode.style.position=="fixed")){E.x=F;E.y=F}else{if(D.parentNode.style.position=="relative"){E.x=F;var I=D.parentNode.style.paddingTop;I=I.replace("px","");var B=0;B=parseInt(I);E.y=F+B}else{E.x+=F;E.y+=F}}$common.setLocation(this._shadowDiv,E)}var C=D.offsetHeight;var F=D.offsetWidth;if(A||C!=this._lastH||F!=this._lastW||!H){this._lastW=F;this._lastH=C;if(!this._rounded||!H||G){this._shadowDiv.style.width=F+"px";this._shadowDiv.style.height=C+"px"}else{this.disposeShadowDiv();this.setShadow()}}if(this._shadowDiv){this._shadowDiv.style.visibility=$common.getCurrentStyle(D,"visibility")}},setupOpacity:function(){if(this.get_isInitialized()&&this._shadowDiv){$common.setElementOpacity(this._shadowDiv,this._opacity)}},setupRounded:function(){if(!this._roundedBehavior&&this._rounded){this._roundedBehavior=$create(AjaxControlToolkit.RoundedCornersBehavior,null,null,null,this.get_element())}if(this._roundedBehavior){this._roundedBehavior.set_Radius(this._rounded?this._radius:0)}},updateZIndex:function(){if(!this._shadowDiv){return }var B=this.get_element();var C=B.style.zIndex;var A=this._shadowDiv.style.zIndex;if(A&&C&&C>A){return }else{C=Math.max(2,C);A=C-1}B.style.zIndex=C;this._shadowDiv.style.zIndex=A},updateRoundedCorners:function(){if(this.get_isInitialized()){this.setupRounded();this.disposeShadowDiv();this.setShadow()}},get_Opacity:function(){return this._opacity},set_Opacity:function(A){if(this._opacity!=A){this._opacity=A;this.setupOpacity();this.raisePropertyChanged("Opacity")}},get_Rounded:function(){return this._rounded},set_Rounded:function(A){if(A!=this._rounded){this._rounded=A;this.updateRoundedCorners();this.raisePropertyChanged("Rounded")}},get_Radius:function(){return this._radius},set_Radius:function(A){if(A!=this._radius){this._radius=A;this.updateRoundedCorners();this.raisePropertyChanged("Radius")}},get_Width:function(){return this._width},set_Width:function(A){if(A!=this._width){this._width=A;if(this._shadowDiv){$common.setVisible(this._shadowDiv,A>0)}this.setShadow(true);this.raisePropertyChanged("Width")}},get_TrackPositionDelay:function(){return this._trackPositionDelay},set_TrackPositionDelay:function(A){if(A!=this._trackPositionDelay){this._trackPositionDelay=A;if(this._trackPosition){this.stopTimer();this.startTimer()}this.raisePropertyChanged("TrackPositionDelay")}},get_TrackPosition:function(){return this._trackPosition},set_TrackPosition:function(A){if(A!=this._trackPosition){this._trackPosition=A;if(this.get_element()){if(A){this.startTimer()}else{this.stopTimer()}}this.raisePropertyChanged("TrackPosition")}}};AjaxControlToolkit.DropShadowBehavior.registerClass("AjaxControlToolkit.DropShadowBehavior",AjaxControlToolkit.BehaviorBase);
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();