transition-timer-min.js revision 448834d88f7c2818b5a70125bba193051806ccf9
YUI.add("transition-timer",function(D){var E="transition:start",C="transition:end",A="transition:propertyEnd",B=D.Transition;D.mix(B.prototype,{_start:function(){if(B.useNative){this._runNative();}else{this._runTimer();}},_runTimer:function(){var F=this;F._initAttrs();B._running[D.stamp(F)]=F;F._startTime=new Date();B._startTimer();},_end:function(){delete B._running[D.stamp(this)];this._running=false;this._startTime=null;},_runFrame:function(){var F=new Date()-this._startTime;this._runAttrs(F);},_runAttrs:function(H){var Q=this,P=Q._node,I=D.stamp(P),O=B._nodeAttrs[I],K=B.behaviors,N=false,J=false,G=Q._callback,W,L,T,F,S,V,U,M,R;for(W in O){L=O[W];if(O.hasOwnProperty(W)&&(L.transition===Q)){U=L.duration;V=L.delay;F=H/1000;M=H;T=(R in K&&"set" in K[R])?K[R].set:B.DEFAULT_SETTER;N=(M>=U);if(M>U){M=U;}if(!V||H>=V){T(Q,W,L.from,L.to,M-V,U-V,L.easing,L.unit);if(N){delete O[W];Q._count--;if(!J&&Q._count<=0){J=true;Q._end();if(G){Q._callback=null;G.call(Q._node,{elapsedTime:(H-V)/1000});}}}}}}},_initAttrs:function(){var T={},U={},M=this,Q=M._easing,H=B.behaviors,O=D.stamp(this._node),V=B._nodeAttrs[O],G,L,N,J,F,S,I,K;for(F in V){G=V[F];if(V.hasOwnProperty(F)&&G.transition===M){L=G.duration*1000;N=G.delay*1000;Q=G.easing;J=G.value;I=(F in H&&"get" in H[F])?H[F].get(M,F):B.DEFAULT_GETTER(M,F);var R=B.RE_UNITS.exec(I);var P=B.RE_UNITS.exec(J);I=R?R[1]:I;K=P?P[1]:J;S=P?P[2]:R?R[2]:"";if(!S&&B.RE_DEFAULT_UNIT.test(F)){S=B.DEFAULT_UNIT;}if(!I||!K){return;}if(typeof Q==="string"){if(Q.indexOf("cubic-bezier")>-1){Q=Q.substring(13,Q.length-1).split(",");}else{if(B.easings[Q]){Q=B.easings[Q];}}}G.from=I;G.to=K;G.unit=S;G.easing=Q;G.duration=L;G.delay=N;}}},destroy:function(){this.detachAll();this._node=null;}},true);D.mix(D.Transition,{_runtimeAttrs:{},RE_DEFAULT_UNIT:/^width|height|top|right|bottom|left|margin.*|padding.*|border.*$/i,DEFAULT_UNIT:"px",intervalTime:20,behaviors:{left:{get:function(G,F){return D.DOM._getAttrOffset(G._node._node,F);}}},DEFAULT_SETTER:function(I,J,L,M,O,H,K,N){L=Number(L);M=Number(M);var G=I._node,F=B.cubicBezier(K,O/H);F=L+F[0]*(M-L);if(J in G._node.style||J in D.DOM.CUSTOM_STYLES){N=N||"";G.setStyle(J,F+N);}else{if(G._node.attributes[J]){G.setAttribute(J,F);}else{G.set(J,F);}}},DEFAULT_GETTER:function(H,F){var G=H._node,I="";if(F in G._node.style||F in D.DOM.CUSTOM_STYLES){I=G.getComputedStyle(F);}else{if(G._node.attributes[F]){I=G.getAttribute(F);}else{I=G.get(F);}}return I;},_startTimer:function(){if(!B._timer){B._timer=setInterval(B._runFrame,B.intervalTime);}},_stopTimer:function(){clearInterval(B._timer);B._timer=null;},_runFrame:function(){var F=true,G;for(G in B._running){if(B._running[G]._runFrame){F=false;B._running[G]._runFrame();}}if(F){B._stopTimer();}},cubicBezier:function(X,S){var b=0,L=0,a=X[0],K=X[1],Z=X[2],J=X[3],Y=1,I=0,W=Y-3*Z+3*a-b,V=3*Z-6*a+3*b,U=3*a-3*b,T=b,R=I-3*J+3*K-L,Q=3*J-6*K+3*L,P=3*K-3*L,O=L,N=(((W*S)+V)*S+U)*S+T,M=(((R*S)+Q)*S+P)*S+O;return[N,M];},easings:{ease:[0.25,0,1,0.25],linear:[0,0,1,1],"ease-in":[0.42,0,1,1],"ease-out":[0,0,0.58,1],"ease-in-out":[0.42,0,0.58,1]},_running:{},_timer:null,RE_UNITS:/^(-?\d*\.?\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)*$/},true);B.behaviors.top=B.behaviors.bottom=B.behaviors.right=B.behaviors.left;D.Transition=B;},"@VERSION@",{requires:["transition-native","node-style"]});