﻿(function(h){var i={linear:function(t,b,c,d){return c*t/d+b},easeIn:function(t,b,c,d){return c*(t/=d)*t+b},easeOut:function(t,b,c,d){return-c*(t/=d)*(t-2)+b},easeBoth:function(t,b,c,d){if((t/=d/2)<1){return c/2*t*t+b}return-c/2*((--t)*(t-2)-1)+b},easeInStrong:function(t,b,c,d){return c*(t/=d)*t*t*t+b},easeOutStrong:function(t,b,c,d){return-c*((t=t/d-1)*t*t*t-1)+b},easeBothStrong:function(t,b,c,d){if((t/=d/2)<1){return c/2*t*t*t*t+b}return-c/2*((t-=2)*t*t*t-2)+b},elasticIn:function(t,b,c,d,a,p){if(t===0){return b}if((t/=d)==1){return b+c}if(!p){p=d*0.3}if(!a||a<Math.abs(c)){a=c;var s=p/4}else{var s=p/(2*Math.PI)*Math.asin(c/a)}return-(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b},elasticOut:function(t,b,c,d,a,p){if(t===0){return b}if((t/=d)==1){return b+c}if(!p){p=d*0.3}if(!a||a<Math.abs(c)){a=c;var s=p/4}else{var s=p/(2*Math.PI)*Math.asin(c/a)}return a*Math.pow(2,-10*t)*Math.sin((t*d-s)*(2*Math.PI)/p)+c+b},elasticBoth:function(t,b,c,d,a,p){if(t===0){return b}if((t/=d/2)==2){return b+c}if(!p){p=d*(0.3*1.5)}if(!a||a<Math.abs(c)){a=c;var s=p/4}else{var s=p/(2*Math.PI)*Math.asin(c/a)}if(t<1){return-0.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b}return a*Math.pow(2,-10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p)*0.5+c+b},backIn:function(t,b,c,d,s){if(typeof s=='undefined'){s=1.70158}return c*(t/=d)*t*((s+1)*t-s)+b},backOut:function(t,b,c,d,s){if(typeof s=='undefined'){s=1.70158}return c*((t=t/d-1)*t*((s+1)*t+s)+1)+b},backBoth:function(t,b,c,d,s){if(typeof s=='undefined'){s=1.70158}if((t/=d/2)<1){return c/2*(t*t*(((s*=(1.525))+1)*t-s))+b}return c/2*((t-=2)*t*(((s*=(1.525))+1)*t+s)+2)+b},bounceIn:function(t,b,c,d){return c-i['bounceOut'](d-t,0,c,d)+b},bounceOut:function(t,b,c,d){if((t/=d)<(1/2.75)){return c*(7.5625*t*t)+b}else if(t<(2/2.75)){return c*(7.5625*(t-=(1.5/2.75))*t+0.75)+b}else if(t<(2.5/2.75)){return c*(7.5625*(t-=(2.25/2.75))*t+0.9375)+b}return c*(7.5625*(t-=(2.625/2.75))*t+0.984375)+b},bounceBoth:function(t,b,c,d){if(t<d/2){return i['bounceIn'](t*2,0,c,d)*0.5+b}return i['bounceOut'](t*2-d,0,c,d)*0.5+c*0.5+b}};h.Motion=function(a,b){this.duration=b||1000;this.tween=a||'linear'};h.Motion.getTweens=function(){return i};var j=50;h.Motion.prototype=(function(){var d=function(a,b){var c=Array.prototype.slice.call(arguments).slice(2);if(typeof a=='function'){try{return a.apply(b||this,c)}catch(e){b.errors=b.errors||[];b.errors.push(e)}}};var g=function(){d(this.onTweening,this);if(this.current>=this.frames){this.stop();return d(this.onComplete,this)||this}else{++this.current;var f=arguments.callee,_self=this;this.timer=setTimeout(function(){f.call(_self)},j)}};return{init:function(){this.fps=this.fps||35;this.frames=Math.ceil((this.duration/1000)*this.fps);if(this.frames<1)this.frames=1;var f=('function'==typeof this.tween)?this.tween:i[this.tween]||i['linear'];this.equation=function(a,b){return f((this.current/this.frames)*this.duration,a,b-a,this.duration)};j=this.duration/this.frames;d(this.onInit,this)},start:function(a){if(!this.paused){this.init();this.current=1;d(this.onStart,this)}var b=this;this.timer=setTimeout(function(){g.call(b)},j);return this},stop:function(){clearTimeout(this.timer)},sleep:function(){this.stop();this.paused=true;return d(this.onSleep,this)||this},wakeup:function(){this.start();this.paused=false;return d(this.onWakeup,this)||this}}})()})(window);
