//>>built
define("dojox/fx/ext-dojo/reverse",["dojo/_base/fx","dojo/fx","dojo/_base/lang","dojo/fx/easing","dojox/fx"],function(c,r,q,d,t){q.extend(c.Animation,{_reversed:!1,reverse:function(c,h){var e="playing"==this.status();this.pause();this._reversed=!this._reversed;var f=this.duration,k=f*this._percent,l=f-k,m=(new Date).valueOf(),n=this.curve._properties,b=this.properties,a;this._endTime=m+k;this._startTime=m-l;e&&this.gotoPercent(l/f);for(a in b)e=b[a].start,b[a].start=n[a].start=b[a].end,b[a].end=n[a].end=
e;if(this._reversed){if(!this.rEase)if(this.fEase=this.easing,h)this.rEase=h;else{var p,g;for(a in d)if(this.easing==d[a]){p=a;break}p?(/InOut/.test(a)||!/In|Out/i.test(a)?this.rEase=this.easing:g=/In/.test(a)?a.replace("In","Out"):a.replace("Out","In"),g&&(this.rEase=d[g])):(console.info("ease function to reverse not found"),this.rEase=this.easing)}this.easing=this.rEase}else this.easing=this.fEase;c||"playing"==this.status()||this.play();return this}});return c.Animation});