﻿Type.registerNamespace('AjaxControlToolkit.Animation');var $AA=AjaxControlToolkit.Animation;$AA.registerAnimation=function(name,type){if(type&&((type===$AA.Animation)||(type.inheritsFrom&&type.inheritsFrom($AA.Animation)))){if(!$AA.__animations){$AA.__animations={};}
$AA.__animations[name.toLowerCase()]=type;type.play=function(){var animation=new type();type.apply(animation,arguments);animation.initialize();var handler=Function.createDelegate(animation,function(){animation.remove_ended(handler);handler=null;animation.dispose();});animation.add_ended(handler);animation.play();}}else{throw Error.argumentType('type',type,$AA.Animation,AjaxControlToolkit.Resources.Animation_InvalidBaseType);}}
$AA.buildAnimation=function(json,defaultTarget){if(!json||json===''){return null;}
var obj;json='('+json+')';if(!Sys.Debug.isDebug){try{obj=Sys.Serialization.JavaScriptSerializer.deserialize(json);}catch(ex){}}else{obj=Sys.Serialization.JavaScriptSerializer.deserialize(json);}
return $AA.createAnimation(obj,defaultTarget);}
$AA.createAnimation=function(obj,defaultTarget){if(!obj||!obj.AnimationName){throw Error.argument('obj',AjaxControlToolkit.Resources.Animation_MissingAnimationName);}
var type=$AA.__animations[obj.AnimationName.toLowerCase()];if(!type){throw Error.argument('type',String.format(AjaxControlToolkit.Resources.Animation_UknownAnimationName,obj.AnimationName));}
var animation=new type();if(defaultTarget){animation.set_target(defaultTarget);}
if(obj.AnimationChildren&&obj.AnimationChildren.length){if($AA.ParentAnimation.isInstanceOfType(animation)){for(var i=0;i<obj.AnimationChildren.length;i++){var child=$AA.createAnimation(obj.AnimationChildren[i]);if(child){animation.add(child);}}}else{throw Error.argument('obj',String.format(AjaxControlToolkit.Resources.Animation_ChildrenNotAllowed,type.getName()));}}
var properties=type.__animationProperties;if(!properties){type.__animationProperties={};type.resolveInheritance();for(var name in type.prototype){if(name.startsWith('set_')){type.__animationProperties[name.substr(4).toLowerCase()]=name;}}
delete type.__animationProperties['id'];properties=type.__animationProperties;}
for(var property in obj){var prop=property.toLowerCase();if(prop=='animationname'||prop=='animationchildren'){continue;}
var value=obj[property];var setter=properties[prop];if(setter&&String.isInstanceOfType(setter)&&animation[setter]){if(!Sys.Debug.isDebug){try{animation[setter](value);}catch(ex){}}else{animation[setter](value);}}else{if(prop.endsWith('script')){setter=properties[prop.substr(0,property.length-6)];if(setter&&String.isInstanceOfType(setter)&&animation[setter]){animation.DynamicProperties[setter]=value;}else if(Sys.Debug.isDebug){throw Error.argument('obj',String.format(AjaxControlToolkit.Resources.Animation_NoDynamicPropertyFound,property,property.substr(0,property.length-5)));}}else if(Sys.Debug.isDebug){throw Error.argument('obj',String.format(AjaxControlToolkit.Resources.Animation_NoPropertyFound,property));}}}
return animation;}
$AA.Animation=function(target,duration,fps){$AA.Animation.initializeBase(this);this._duration=1;this._fps=25;this._target=null;this._tickHandler=null;this._timer=null;this._percentComplete=0;this._percentDelta=null;this._owner=null;this._parentAnimation=null;this.DynamicProperties={};if(target){this.set_target(target);}
if(duration){this.set_duration(duration);}
if(fps){this.set_fps(fps);}}
$AA.Animation.prototype={dispose:function(){if(this._timer){this._timer.dispose();this._timer=null;}
this._tickHandler=null;this._target=null;$AA.Animation.callBaseMethod(this,'dispose');},play:function(){if(!this._owner){var resume=true;if(!this._timer){resume=false;if(!this._tickHandler){this._tickHandler=Function.createDelegate(this,this._onTimerTick);}
this._timer=new Sys.Timer();this._timer.add_tick(this._tickHandler);this.onStart();this._timer.set_interval(1000/this._fps);this._percentDelta=100/(this._duration*this._fps);this._updatePercentComplete(0,true);}
this._timer.set_enabled(true);this.raisePropertyChanged('isPlaying');if(!resume){this.raisePropertyChanged('isActive');}}},pause:function(){if(!this._owner){if(this._timer){this._timer.set_enabled(false);this.raisePropertyChanged('isPlaying');}}},stop:function(finish){if(!this._owner){var t=this._timer;this._timer=null;if(t){t.dispose();if(this._percentComplete!==100){this._percentComplete=100;this.raisePropertyChanged('percentComplete');if(finish||finish===undefined){this.onStep(100);}}
this.onEnd();this.raisePropertyChanged('isPlaying');this.raisePropertyChanged('isActive');}}},onStart:function(){this.raiseStarted();for(var property in this.DynamicProperties){try{this[property](eval(this.DynamicProperties[property]));}catch(ex){if(Sys.Debug.isDebug){throw ex;}}}},onStep:function(percentage){this.setValue(this.getAnimatedValue(percentage));},onEnd:function(){this.raiseEnded();},getAnimatedValue:function(percentage){throw Error.notImplemented();},setValue:function(value){throw Error.notImplemented();},interpolate:function(start,end,percentage){return start+(end-start)*(percentage/100);},_onTimerTick:function(){this._updatePercentComplete(this._percentComplete+this._percentDelta,true);},_updatePercentComplete:function(percentComplete,animate){if(percentComplete>100){percentComplete=100;}
this._percentComplete=percentComplete;this.raisePropertyChanged('percentComplete');if(animate){this.onStep(percentComplete);}
if(percentComplete===100){this.stop(false);}},setOwner:function(owner){this._owner=owner;},raiseStarted:function(){var handlers=this.get_events().getHandler('started');if(handlers){handlers(this,Sys.EventArgs.Empty);}},add_started:function(handler){this.get_events().addHandler("started",handler);},remove_started:function(handler){this.get_events().removeHandler("started",handler);},raiseEnded:function(){var handlers=this.get_events().getHandler('ended');if(handlers){handlers(this,Sys.EventArgs.Empty);}},add_ended:function(handler){this.get_events().addHandler("ended",handler);},remove_ended:function(handler){this.get_events().removeHandler("ended",handler);},get_target:function(){if(!this._target&&this._parentAnimation){return this._parentAnimation.get_target();}
return this._target;},set_target:function(value){if(this._target!=value){this._target=value;this.raisePropertyChanged('target');}},set_animationTarget:function(id){var target=null;var element=$get(id);if(element){target=element;}else{var ctrl=$find(id);if(ctrl){element=ctrl.get_element();if(element){target=element;}}}
if(target){this.set_target(target);}else{throw Error.argument('id',String.format(AjaxControlToolkit.Resources.Animation_TargetNotFound,id));}},get_duration:function(){return this._duration;},set_duration:function(value){value=this._getFloat(value);if(this._duration!=value){this._duration=value;this.raisePropertyChanged('duration');}},get_fps:function(){return this._fps;},set_fps:function(value){value=this._getInteger(value);if(this.fps!=value){this._fps=value;this.raisePropertyChanged('fps');}},get_isActive:function(){return(this._timer!==null);},get_isPlaying:function(){return(this._timer!==null)&&this._timer.get_enabled();},get_percentComplete:function(){return this._percentComplete;},_getBoolean:function(value){if(String.isInstanceOfType(value)){return Boolean.parse(value);}
return value;},_getInteger:function(value){if(String.isInstanceOfType(value)){return parseInt(value);}
return value;},_getFloat:function(value){if(String.isInstanceOfType(value)){return parseFloat(value);}
return value;},_getEnum:function(value,type){if(String.isInstanceOfType(value)&&type&&type.parse){return type.parse(value);}
return value;}}
$AA.Animation.registerClass('AjaxControlToolkit.Animation.Animation',Sys.Component);$AA.registerAnimation('animation',$AA.Animation);$AA.ParentAnimation=function(target,duration,fps,animations){$AA.ParentAnimation.initializeBase(this,[target,duration,fps]);this._animations=[];if(animations&&animations.length){for(var i=0;i<animations.length;i++){this.add(animations[i]);}}}
$AA.ParentAnimation.prototype={initialize:function(){$AA.ParentAnimation.callBaseMethod(this,'initialize');if(this._animations){for(var i=0;i<this._animations.length;i++){var animation=this._animations[i];if(animation&&!animation.get_isInitialized){animation.initialize();}}}},dispose:function(){this.clear();this._animations=null;$AA.ParentAnimation.callBaseMethod(this,'dispose');},get_animations:function(){return this._animations;},add:function(animation){if(this._animations){if(animation){animation._parentAnimation=this;}
Array.add(this._animations,animation);this.raisePropertyChanged('animations');}},remove:function(animation){if(this._animations){if(animation){animation.dispose();}
Array.remove(this._animations,animation);this.raisePropertyChanged('animations');}},removeAt:function(index){if(this._animations){var animation=this._animations[index];if(animation){animation.dispose();}
Array.removeAt(this._animations,index);this.raisePropertyChanged('animations');}},clear:function(){if(this._animations){for(var i=this._animations.length-1;i>=0;i--){this._animations[i].dispose();this._animations[i]=null;}
Array.clear(this._animations);this._animations=[];this.raisePropertyChanged('animations');}}}
$AA.ParentAnimation.registerClass('AjaxControlToolkit.Animation.ParentAnimation',$AA.Animation);$AA.registerAnimation('parent',$AA.ParentAnimation);$AA.ParallelAnimation=function(target,duration,fps,animations){$AA.ParallelAnimation.initializeBase(this,[target,duration,fps,animations]);}
$AA.ParallelAnimation.prototype={add:function(animation){$AA.ParallelAnimation.callBaseMethod(this,'add',[animation]);animation.setOwner(this);},onStart:function(){$AA.ParallelAnimation.callBaseMethod(this,'onStart');var animations=this.get_animations();for(var i=0;i<animations.length;i++){animations[i].onStart();}},onStep:function(percentage){var animations=this.get_animations();for(var i=0;i<animations.length;i++){animations[i].onStep(percentage);}},onEnd:function(){var animations=this.get_animations();for(var i=0;i<animations.length;i++){animations[i].onEnd();}
$AA.ParallelAnimation.callBaseMethod(this,'onEnd');}}
$AA.ParallelAnimation.registerClass('AjaxControlToolkit.Animation.ParallelAnimation',$AA.ParentAnimation);$AA.registerAnimation('parallel',$AA.ParallelAnimation);$AA.SequenceAnimation=function(target,duration,fps,animations,iterations){$AA.SequenceAnimation.initializeBase(this,[target,duration,fps,animations]);this._handler=null;this._paused=false;this._playing=false;this._index=0;this._remainingIterations=0;this._iterations=(iterations!==undefined)?iterations:1;}
$AA.SequenceAnimation.prototype={dispose:function(){this._handler=null;$AA.SequenceAnimation.callBaseMethod(this,'dispose');},stop:function(){if(this._playing){var animations=this.get_animations();if(this._index<animations.length){animations[this._index].remove_ended(this._handler);for(var i=this._index;i<animations.length;i++){animations[i].stop();}}
this._playing=false;this._paused=false;this.raisePropertyChanged('isPlaying');this.onEnd();}},pause:function(){if(this.get_isPlaying()){var current=this.get_animations()[this._index];if(current!=null){current.pause();}
this._paused=true;this.raisePropertyChanged('isPlaying');}},play:function(){var animations=this.get_animations();if(!this._playing){this._playing=true;if(this._paused){this._paused=false;var current=animations[this._index];if(current!=null){current.play();this.raisePropertyChanged('isPlaying');}}else{this.onStart();this._index=0;var first=animations[this._index];if(first){first.add_ended(this._handler);first.play();this.raisePropertyChanged('isPlaying');}else{this.stop();}}}},onStart:function(){$AA.SequenceAnimation.callBaseMethod(this,'onStart');this._remainingIterations=this._iterations-1;if(!this._handler){this._handler=Function.createDelegate(this,this._onEndAnimation);}},_onEndAnimation:function(){var animations=this.get_animations();var current=animations[this._index++];if(current){current.remove_ended(this._handler);}
if(this._index<animations.length){var next=animations[this._index];next.add_ended(this._handler);next.play();}else if(this._remainingIterations>=1||this._iterations<=0){this._remainingIterations--;this._index=0;var first=animations[0];first.add_ended(this._handler);first.play();}else{this.stop();}},onStep:function(percentage){throw Error.invalidOperation(AjaxControlToolkit.Resources.Animation_CannotNestSequence);},onEnd:function(){this._remainingIterations=0;$AA.SequenceAnimation.callBaseMethod(this,'onEnd');},get_isActive:function(){return true;},get_isPlaying:function(){return this._playing&&!this._paused;},get_iterations:function(){return this._iterations;},set_iterations:function(value){value=this._getInteger(value);if(this._iterations!=value){this._iterations=value;this.raisePropertyChanged('iterations');}},get_isInfinite:function(){return this._iterations<=0;}}
$AA.SequenceAnimation.registerClass('AjaxControlToolkit.Animation.SequenceAnimation',$AA.ParentAnimation);$AA.registerAnimation('sequence',$AA.SequenceAnimation);$AA.SelectionAnimation=function(target,duration,fps,animations){$AA.SelectionAnimation.initializeBase(this,[target,duration,fps,animations]);this._selectedIndex=-1;this._selected=null;}
$AA.SelectionAnimation.prototype={getSelectedIndex:function(){throw Error.notImplemented();},onStart:function(){$AA.SelectionAnimation.callBaseMethod(this,'onStart');var animations=this.get_animations();this._selectedIndex=this.getSelectedIndex();if(this._selectedIndex>=0&&this._selectedIndex<animations.length){this._selected=animations[this._selectedIndex];if(this._selected){this._selected.setOwner(this);this._selected.onStart();}}},onStep:function(percentage){if(this._selected){this._selected.onStep(percentage);}},onEnd:function(){if(this._selected){this._selected.onEnd();this._selected.setOwner(null);}
this._selected=null;this._selectedIndex=null;$AA.SelectionAnimation.callBaseMethod(this,'onEnd');}}
$AA.SelectionAnimation.registerClass('AjaxControlToolkit.Animation.SelectionAnimation',$AA.ParentAnimation);$AA.registerAnimation('selection',$AA.SelectionAnimation);$AA.ConditionAnimation=function(target,duration,fps,animations,conditionScript){$AA.ConditionAnimation.initializeBase(this,[target,duration,fps,animations]);this._conditionScript=conditionScript;}
$AA.ConditionAnimation.prototype={getSelectedIndex:function(){var selected=-1;if(this._conditionScript&&this._conditionScript.length>0){try{selected=eval(this._conditionScript)?0:1;}catch(ex){}}
return selected;},get_conditionScript:function(){return this._conditionScript;},set_conditionScript:function(value){if(this._conditionScript!=value){this._conditionScript=value;this.raisePropertyChanged('conditionScript');}}}
$AA.ConditionAnimation.registerClass('AjaxControlToolkit.Animation.ConditionAnimation',$AA.SelectionAnimation);$AA.registerAnimation('condition',$AA.ConditionAnimation);$AA.CaseAnimation=function(target,duration,fps,animations,selectScript){$AA.CaseAnimation.initializeBase(this,[target,duration,fps,animations]);this._selectScript=selectScript;}
$AA.CaseAnimation.prototype={getSelectedIndex:function(){var selected=-1;if(this._selectScript&&this._selectScript.length>0){try{var result=eval(this._selectScript)
if(result!==undefined)
selected=result;}catch(ex){}}
return selected;},get_selectScript:function(){return this._selectScript;},set_selectScript:function(value){if(this._selectScript!=value){this._selectScript=value;this.raisePropertyChanged('selectScript');}}}
$AA.CaseAnimation.registerClass('AjaxControlToolkit.Animation.CaseAnimation',$AA.SelectionAnimation);$AA.registerAnimation('case',$AA.CaseAnimation);$AA.FadeEffect=function(){throw Error.invalidOperation();}
$AA.FadeEffect.prototype={FadeIn:0,FadeOut:1}
$AA.FadeEffect.registerEnum("AjaxControlToolkit.Animation.FadeEffect",false);$AA.FadeAnimation=function(target,duration,fps,effect,minimumOpacity,maximumOpacity,forceLayoutInIE){$AA.FadeAnimation.initializeBase(this,[target,duration,fps]);this._effect=(effect!==undefined)?effect:$AA.FadeEffect.FadeIn;this._max=(maximumOpacity!==undefined)?maximumOpacity:1;this._min=(minimumOpacity!==undefined)?minimumOpacity:0;this._start=this._min;this._end=this._max;this._layoutCreated=false;this._forceLayoutInIE=(forceLayoutInIE===undefined||forceLayoutInIE===null)?true:forceLayoutInIE;this._currentTarget=null;this._resetOpacities();}
$AA.FadeAnimation.prototype={_resetOpacities:function(){if(this._effect==$AA.FadeEffect.FadeIn){this._start=this._min;this._end=this._max;}else{this._start=this._max;this._end=this._min;}},_createLayout:function(){var element=this._currentTarget;if(element){var originalWidth=$common.getCurrentStyle(element,'width');var originalHeight=$common.getCurrentStyle(element,'height');var originalBackColor=$common.getCurrentStyle(element,'backgroundColor');if((!originalWidth||originalWidth==''||originalWidth=='auto')&&(!originalHeight||originalHeight==''||originalHeight=='auto')){element.style.width=element.offsetWidth+'px';}
if(!originalBackColor||originalBackColor==''||originalBackColor=='transparent'||originalBackColor=='rgba(0, 0, 0, 0)'){element.style.backgroundColor=$common.getInheritedBackgroundColor(element);}
this._layoutCreated=true;}},onStart:function(){$AA.FadeAnimation.callBaseMethod(this,'onStart');this._currentTarget=this.get_target();this.setValue(this._start);if(this._forceLayoutInIE&&!this._layoutCreated&&Sys.Browser.agent==Sys.Browser.InternetExplorer){this._createLayout();}},getAnimatedValue:function(percentage){return this.interpolate(this._start,this._end,percentage);},setValue:function(value){if(this._currentTarget){$common.setElementOpacity(this._currentTarget,value);}},get_effect:function(){return this._effect;},set_effect:function(value){value=this._getEnum(value,$AA.FadeEffect);if(this._effect!=value){this._effect=value;this._resetOpacities();this.raisePropertyChanged('effect');}},get_minimumOpacity:function(){return this._min;},set_minimumOpacity:function(value){value=this._getFloat(value);if(this._min!=value){this._min=value;this._resetOpacities();this.raisePropertyChanged('minimumOpacity');}},get_maximumOpacity:function(){return this._max;},set_maximumOpacity:function(value){value=this._getFloat(value);if(this._max!=value){this._max=value;this._resetOpacities();this.raisePropertyChanged('maximumOpacity');}},get_forceLayoutInIE:function(){return this._forceLayoutInIE;},set_forceLayoutInIE:function(value){value=this._getBoolean(value);if(this._forceLayoutInIE!=value){this._forceLayoutInIE=value;this.raisePropertyChanged('forceLayoutInIE');}},set_startValue:function(value){value=this._getFloat(value);this._start=value;}}
$AA.FadeAnimation.registerClass('AjaxControlToolkit.Animation.FadeAnimation',$AA.Animation);$AA.registerAnimation('fade',$AA.FadeAnimation);$AA.FadeInAnimation=function(target,duration,fps,minimumOpacity,maximumOpacity,forceLayoutInIE){$AA.FadeInAnimation.initializeBase(this,[target,duration,fps,$AA.FadeEffect.FadeIn,minimumOpacity,maximumOpacity,forceLayoutInIE]);}
$AA.FadeInAnimation.prototype={onStart:function(){$AA.FadeInAnimation.callBaseMethod(this,'onStart');if(this._currentTarget){this.set_startValue($common.getElementOpacity(this._currentTarget));}}}
$AA.FadeInAnimation.registerClass('AjaxControlToolkit.Animation.FadeInAnimation',$AA.FadeAnimation);$AA.registerAnimation('fadeIn',$AA.FadeInAnimation);$AA.FadeOutAnimation=function(target,duration,fps,minimumOpacity,maximumOpacity,forceLayoutInIE){$AA.FadeOutAnimation.initializeBase(this,[target,duration,fps,$AA.FadeEffect.FadeOut,minimumOpacity,maximumOpacity,forceLayoutInIE]);}
$AA.FadeOutAnimation.prototype={onStart:function(){$AA.FadeOutAnimation.callBaseMethod(this,'onStart');if(this._currentTarget){this.set_startValue($common.getElementOpacity(this._currentTarget));}}}
$AA.FadeOutAnimation.registerClass('AjaxControlToolkit.Animation.FadeOutAnimation',$AA.FadeAnimation);$AA.registerAnimation('fadeOut',$AA.FadeOutAnimation);$AA.PulseAnimation=function(target,duration,fps,iterations,minimumOpacity,maximumOpacity,forceLayoutInIE){$AA.PulseAnimation.initializeBase(this,[target,duration,fps,null,((iterations!==undefined)?iterations:3)]);this._out=new $AA.FadeOutAnimation(target,duration,fps,minimumOpacity,maximumOpacity,forceLayoutInIE);this.add(this._out);this._in=new $AA.FadeInAnimation(target,duration,fps,minimumOpacity,maximumOpacity,forceLayoutInIE);this.add(this._in);}
$AA.PulseAnimation.prototype={get_minimumOpacity:function(){return this._out.get_minimumOpacity();},set_minimumOpacity:function(value){value=this._getFloat(value);this._out.set_minimumOpacity(value);this._in.set_minimumOpacity(value);this.raisePropertyChanged('minimumOpacity');},get_maximumOpacity:function(){return this._out.get_maximumOpacity();},set_maximumOpacity:function(value){value=this._getFloat(value);this._out.set_maximumOpacity(value);this._in.set_maximumOpacity(value);this.raisePropertyChanged('maximumOpacity');},get_forceLayoutInIE:function(){return this._out.get_forceLayoutInIE();},set_forceLayoutInIE:function(value){value=this._getBoolean(value);this._out.set_forceLayoutInIE(value);this._in.set_forceLayoutInIE(value);this.raisePropertyChanged('forceLayoutInIE');},set_duration:function(value){value=this._getFloat(value);$AA.PulseAnimation.callBaseMethod(this,'set_duration',[value]);this._in.set_duration(value);this._out.set_duration(value);},set_fps:function(value){value=this._getInteger(value);$AA.PulseAnimation.callBaseMethod(this,'set_fps',[value]);this._in.set_fps(value);this._out.set_fps(value);}}
$AA.PulseAnimation.registerClass('AjaxControlToolkit.Animation.PulseAnimation',$AA.SequenceAnimation);$AA.registerAnimation('pulse',$AA.PulseAnimation);$AA.PropertyAnimation=function(target,duration,fps,property,propertyKey){$AA.PropertyAnimation.initializeBase(this,[target,duration,fps]);this._property=property;this._propertyKey=propertyKey;this._currentTarget=null;}
$AA.PropertyAnimation.prototype={onStart:function(){$AA.PropertyAnimation.callBaseMethod(this,'onStart');this._currentTarget=this.get_target();},setValue:function(value){var element=this._currentTarget;if(element&&this._property&&this._property.length>0){if(this._propertyKey&&this._propertyKey.length>0&&element[this._property]){element[this._property][this._propertyKey]=value;}else{element[this._property]=value;}}},getValue:function(){var element=this.get_target();if(element&&this._property&&this._property.length>0){var property=element[this._property];if(property){if(this._propertyKey&&this._propertyKey.length>0){return property[this._propertyKey];}
return property;}}
return null;},get_property:function(){return this._property;},set_property:function(value){if(this._property!=value){this._property=value;this.raisePropertyChanged('property');}},get_propertyKey:function(){return this._propertyKey;},set_propertyKey:function(value){if(this._propertyKey!=value){this._propertyKey=value;this.raisePropertyChanged('propertyKey');}}}
$AA.PropertyAnimation.registerClass('AjaxControlToolkit.Animation.PropertyAnimation',$AA.Animation);$AA.registerAnimation('property',$AA.PropertyAnimation);$AA.DiscreteAnimation=function(target,duration,fps,property,propertyKey,values){$AA.DiscreteAnimation.initializeBase(this,[target,duration,fps,property,propertyKey]);this._values=(values&&values.length)?values:[];}
$AA.DiscreteAnimation.prototype={getAnimatedValue:function(percentage){var index=Math.floor(this.interpolate(0,this._values.length-1,percentage));return this._values[index];},get_values:function(){return this._values;},set_values:function(value){if(this._values!=value){this._values=value;this.raisePropertyChanged('values');}}}
$AA.DiscreteAnimation.registerClass('AjaxControlToolkit.Animation.DiscreteAnimation',$AA.PropertyAnimation);$AA.registerAnimation('discrete',$AA.DiscreteAnimation);$AA.InterpolatedAnimation=function(target,duration,fps,property,propertyKey,startValue,endValue){$AA.InterpolatedAnimation.initializeBase(this,[target,duration,fps,((property!==undefined)?property:'style'),propertyKey]);this._startValue=startValue;this._endValue=endValue;}
$AA.InterpolatedAnimation.prototype={get_startValue:function(){return this._startValue;},set_startValue:function(value){value=this._getFloat(value);if(this._startValue!=value){this._startValue=value;this.raisePropertyChanged('startValue');}},get_endValue:function(){return this._endValue;},set_endValue:function(value){value=this._getFloat(value);if(this._endValue!=value){this._endValue=value;this.raisePropertyChanged('endValue');}}}
$AA.InterpolatedAnimation.registerClass('AjaxControlToolkit.Animation.InterpolatedAnimation',$AA.PropertyAnimation);$AA.registerAnimation('interpolated',$AA.InterpolatedAnimation);$AA.ColorAnimation=function(target,duration,fps,property,propertyKey,startValue,endValue){$AA.ColorAnimation.initializeBase(this,[target,duration,fps,property,propertyKey,startValue,endValue]);this._start=null;this._end=null;this._interpolateRed=false;this._interpolateGreen=false;this._interpolateBlue=false;}
$AA.ColorAnimation.prototype={onStart:function(){$AA.ColorAnimation.callBaseMethod(this,'onStart');this._start=$AA.ColorAnimation.getRGB(this.get_startValue());this._end=$AA.ColorAnimation.getRGB(this.get_endValue());this._interpolateRed=(this._start.Red!=this._end.Red);this._interpolateGreen=(this._start.Green!=this._end.Green);this._interpolateBlue=(this._start.Blue!=this._end.Blue);},getAnimatedValue:function(percentage){var r=this._start.Red;var g=this._start.Green;var b=this._start.Blue;if(this._interpolateRed)
r=Math.round(this.interpolate(r,this._end.Red,percentage));if(this._interpolateGreen)
g=Math.round(this.interpolate(g,this._end.Green,percentage));if(this._interpolateBlue)
b=Math.round(this.interpolate(b,this._end.Blue,percentage));return $AA.ColorAnimation.toColor(r,g,b);},set_startValue:function(value){if(this._startValue!=value){this._startValue=value;this.raisePropertyChanged('startValue');}},set_endValue:function(value){if(this._endValue!=value){this._endValue=value;this.raisePropertyChanged('endValue');}}}
$AA.ColorAnimation.getRGB=function(color){if(!color||color.length!=7){throw String.format(AjaxControlToolkit.Resources.Animation_InvalidColor,color);}
return{'Red':parseInt(color.substr(1,2),16),'Green':parseInt(color.substr(3,2),16),'Blue':parseInt(color.substr(5,2),16)};}
$AA.ColorAnimation.toColor=function(red,green,blue){var r=red.toString(16);var g=green.toString(16);var b=blue.toString(16);if(r.length==1)r='0'+r;if(g.length==1)g='0'+g;if(b.length==1)b='0'+b;return'#'+r+g+b;}
$AA.ColorAnimation.registerClass('AjaxControlToolkit.Animation.ColorAnimation',$AA.InterpolatedAnimation);$AA.registerAnimation('color',$AA.ColorAnimation);$AA.LengthAnimation=function(target,duration,fps,property,propertyKey,startValue,endValue,unit){$AA.LengthAnimation.initializeBase(this,[target,duration,fps,property,propertyKey,startValue,endValue]);this._unit=(unit!=null)?unit:'px';}
$AA.LengthAnimation.prototype={getAnimatedValue:function(percentage){var value=this.interpolate(this.get_startValue(),this.get_endValue(),percentage);return Math.round(value)+this._unit;},get_unit:function(){return this._unit;},set_unit:function(value){if(this._unit!=value){this._unit=value;this.raisePropertyChanged('unit');}}}
$AA.LengthAnimation.registerClass('AjaxControlToolkit.Animation.LengthAnimation',$AA.InterpolatedAnimation);$AA.registerAnimation('length',$AA.LengthAnimation);$AA.MoveAnimation=function(target,duration,fps,horizontal,vertical,relative,unit){$AA.MoveAnimation.initializeBase(this,[target,duration,fps,null]);this._horizontal=horizontal?horizontal:0;this._vertical=vertical?vertical:0;this._relative=(relative===undefined)?true:relative;this._horizontalAnimation=new $AA.LengthAnimation(target,duration,fps,'style','left',null,null,unit);this._verticalAnimation=new $AA.LengthAnimation(target,duration,fps,'style','top',null,null,unit);this.add(this._verticalAnimation);this.add(this._horizontalAnimation);}
$AA.MoveAnimation.prototype={onStart:function(){$AA.MoveAnimation.callBaseMethod(this,'onStart');var element=this.get_target();this._horizontalAnimation.set_startValue(element.offsetLeft);this._horizontalAnimation.set_endValue(this._relative?element.offsetLeft+this._horizontal:this._horizontal);this._verticalAnimation.set_startValue(element.offsetTop);this._verticalAnimation.set_endValue(this._relative?element.offsetTop+this._vertical:this._vertical);},get_horizontal:function(){return this._horizontal;},set_horizontal:function(value){value=this._getFloat(value);if(this._horizontal!=value){this._horizontal=value;this.raisePropertyChanged('horizontal');}},get_vertical:function(){return this._vertical;},set_vertical:function(value){value=this._getFloat(value);if(this._vertical!=value){this._vertical=value;this.raisePropertyChanged('vertical');}},get_relative:function(){return this._relative;},set_relative:function(value){value=this._getBoolean(value);if(this._relative!=value){this._relative=value;this.raisePropertyChanged('relative');}},get_unit:function(){this._horizontalAnimation.get_unit();},set_unit:function(value){var unit=this._horizontalAnimation.get_unit();if(unit!=value){this._horizontalAnimation.set_unit(value);this._verticalAnimation.set_unit(value);this.raisePropertyChanged('unit');}}}
$AA.MoveAnimation.registerClass('AjaxControlToolkit.Animation.MoveAnimation',$AA.ParallelAnimation);$AA.registerAnimation('move',$AA.MoveAnimation);$AA.ResizeAnimation=function(target,duration,fps,width,height,unit){$AA.ResizeAnimation.initializeBase(this,[target,duration,fps,null]);this._width=width;this._height=height;this._horizontalAnimation=new $AA.LengthAnimation(target,duration,fps,'style','width',null,null,unit);this._verticalAnimation=new $AA.LengthAnimation(target,duration,fps,'style','height',null,null,unit);this.add(this._horizontalAnimation);this.add(this._verticalAnimation);}
$AA.ResizeAnimation.prototype={onStart:function(){$AA.ResizeAnimation.callBaseMethod(this,'onStart');var element=this.get_target();this._horizontalAnimation.set_startValue(element.offsetWidth);this._verticalAnimation.set_startValue(element.offsetHeight);this._horizontalAnimation.set_endValue((this._width!==null&&this._width!==undefined)?this._width:element.offsetWidth);this._verticalAnimation.set_endValue((this._height!==null&&this._height!==undefined)?this._height:element.offsetHeight);},get_width:function(){return this._width;},set_width:function(value){value=this._getFloat(value);if(this._width!=value){this._width=value;this.raisePropertyChanged('width');}},get_height:function(){return this._height;},set_height:function(value){value=this._getFloat(value);if(this._height!=value){this._height=value;this.raisePropertyChanged('height');}},get_unit:function(){this._horizontalAnimation.get_unit();},set_unit:function(value){var unit=this._horizontalAnimation.get_unit();if(unit!=value){this._horizontalAnimation.set_unit(value);this._verticalAnimation.set_unit(value);this.raisePropertyChanged('unit');}}}
$AA.ResizeAnimation.registerClass('AjaxControlToolkit.Animation.ResizeAnimation',$AA.ParallelAnimation);$AA.registerAnimation('resize',$AA.ResizeAnimation);$AA.ScaleAnimation=function(target,duration,fps,scaleFactor,unit,center,scaleFont,fontUnit){$AA.ScaleAnimation.initializeBase(this,[target,duration,fps]);this._scaleFactor=(scaleFactor!==undefined)?scaleFactor:1;this._unit=(unit!==undefined)?unit:'px';this._center=center;this._scaleFont=scaleFont;this._fontUnit=(fontUnit!==undefined)?fontUnit:'pt';this._element=null;this._initialHeight=null;this._initialWidth=null;this._initialTop=null;this._initialLeft=null;this._initialFontSize=null;}
$AA.ScaleAnimation.prototype={getAnimatedValue:function(percentage){return this.interpolate(1.0,this._scaleFactor,percentage);},onStart:function(){$AA.ScaleAnimation.callBaseMethod(this,'onStart');this._element=this.get_target();if(this._element){this._initialHeight=this._element.offsetHeight;this._initialWidth=this._element.offsetWidth;if(this._center){this._initialTop=this._element.offsetTop;this._initialLeft=this._element.offsetLeft;}
if(this._scaleFont){this._initialFontSize=parseFloat($common.getCurrentStyle(this._element,'fontSize'));}}},setValue:function(scale){if(this._element){var width=Math.round(this._initialWidth*scale);var height=Math.round(this._initialHeight*scale);this._element.style.width=width+this._unit;this._element.style.height=height+this._unit;if(this._center){this._element.style.top=(this._initialTop+
Math.round((this._initialHeight-height)/2))+this._unit;this._element.style.left=(this._initialLeft+
Math.round((this._initialWidth-width)/2))+this._unit;}
if(this._scaleFont){var size=this._initialFontSize*scale;if(this._fontUnit=='px'||this._fontUnit=='pt'){size=Math.round(size);}
this._element.style.fontSize=size+this._fontUnit;}}},onEnd:function(){this._element=null;this._initialHeight=null;this._initialWidth=null;this._initialTop=null;this._initialLeft=null;this._initialFontSize=null;$AA.ScaleAnimation.callBaseMethod(this,'onEnd');},get_scaleFactor:function(){return this._scaleFactor;},set_scaleFactor:function(value){value=this._getFloat(value);if(this._scaleFactor!=value){this._scaleFactor=value;this.raisePropertyChanged('scaleFactor');}},get_unit:function(){return this._unit;},set_unit:function(value){if(this._unit!=value){this._unit=value;this.raisePropertyChanged('unit');}},get_center:function(){return this._center;},set_center:function(value){value=this._getBoolean(value);if(this._center!=value){this._center=value;this.raisePropertyChanged('center');}},get_scaleFont:function(){return this._scaleFont;},set_scaleFont:function(value){value=this._getBoolean(value);if(this._scaleFont!=value){this._scaleFont=value;this.raisePropertyChanged('scaleFont');}},get_fontUnit:function(){return this._fontUnit;},set_fontUnit:function(value){if(this._fontUnit!=value){this._fontUnit=value;this.raisePropertyChanged('fontUnit');}}}
$AA.ScaleAnimation.registerClass('AjaxControlToolkit.Animation.ScaleAnimation',$AA.Animation);$AA.registerAnimation('scale',$AA.ScaleAnimation);$AA.Action=function(target,duration,fps){$AA.Action.initializeBase(this,[target,duration,fps]);if(duration===undefined){this.set_duration(0);}}
$AA.Action.prototype={onEnd:function(){this.doAction();$AA.Action.callBaseMethod(this,'onEnd');},doAction:function(){throw Error.notImplemented();},getAnimatedValue:function(){},setValue:function(){}}
$AA.Action.registerClass('AjaxControlToolkit.Animation.Action',$AA.Animation);$AA.registerAnimation('action',$AA.Action);$AA.EnableAction=function(target,duration,fps,enabled){$AA.EnableAction.initializeBase(this,[target,duration,fps]);this._enabled=(enabled!==undefined)?enabled:true;}
$AA.EnableAction.prototype={doAction:function(){var element=this.get_target();if(element){element.disabled=!this._enabled;}},get_enabled:function(){return this._enabled;},set_enabled:function(value){value=this._getBoolean(value);if(this._enabled!=value){this._enabled=value;this.raisePropertyChanged('enabled');}}}
$AA.EnableAction.registerClass('AjaxControlToolkit.Animation.EnableAction',$AA.Action);$AA.registerAnimation('enableAction',$AA.EnableAction);$AA.HideAction=function(target,duration,fps,visible){$AA.HideAction.initializeBase(this,[target,duration,fps]);this._visible=visible;}
$AA.HideAction.prototype={doAction:function(){var element=this.get_target();if(element){$common.setVisible(element,this._visible);}},get_visible:function(){return this._visible;},set_visible:function(value){if(this._visible!=value){this._visible=value;this.raisePropertyChanged('visible');}}}
$AA.HideAction.registerClass('AjaxControlToolkit.Animation.HideAction',$AA.Action);$AA.registerAnimation('hideAction',$AA.HideAction);$AA.StyleAction=function(target,duration,fps,attribute,value){$AA.StyleAction.initializeBase(this,[target,duration,fps]);this._attribute=attribute;this._value=value;}
$AA.StyleAction.prototype={doAction:function(){var element=this.get_target();if(element){element.style[this._attribute]=this._value;}},get_attribute:function(){return this._attribute;},set_attribute:function(value){if(this._attribute!=value){this._attribute=value;this.raisePropertyChanged('attribute');}},get_value:function(){return this._value;},set_value:function(value){if(this._value!=value){this._value=value;this.raisePropertyChanged('value');}}}
$AA.StyleAction.registerClass('AjaxControlToolkit.Animation.StyleAction',$AA.Action);$AA.registerAnimation('styleAction',$AA.StyleAction);$AA.OpacityAction=function(target,duration,fps,opacity){$AA.OpacityAction.initializeBase(this,[target,duration,fps]);this._opacity=opacity;}
$AA.OpacityAction.prototype={doAction:function(){var element=this.get_target();if(element){$common.setElementOpacity(element,this._opacity);}},get_opacity:function(){return this._opacity;},set_opacity:function(value){value=this._getFloat(value);if(this._opacity!=value){this._opacity=value;this.raisePropertyChanged('opacity');}}}
$AA.OpacityAction.registerClass('AjaxControlToolkit.Animation.OpacityAction',$AA.Action);$AA.registerAnimation('opacityAction',$AA.OpacityAction);$AA.ScriptAction=function(target,duration,fps,script){$AA.ScriptAction.initializeBase(this,[target,duration,fps]);this._script=script;}
$AA.ScriptAction.prototype={doAction:function(){try{eval(this._script);}catch(ex){}},get_script:function(){return this._script;},set_script:function(value){if(this._script!=value){this._script=value;this.raisePropertyChanged('script');}}}
$AA.ScriptAction.registerClass('AjaxControlToolkit.Animation.ScriptAction',$AA.Action);$AA.registerAnimation('scriptAction',$AA.ScriptAction);
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();