event-flick-min.js revision 4d9092388342d3524e02c61180e49ea27d5e2425
YUI.add("event-flick",function(B){var F=("ontouchstart" in B.config.win&&!B.UA.chrome)?{start:"touchstart",end:"touchend"}:{start:"mousedown",end:"mouseup"},G="start",J="end",A="ownerDocument",H="minVelocity",D="minDistance",C="_fs",E="_fsh",K="_feh",I="nodeType";B.Event.define("flick",{on:function(M,L,O){var N=M.on(F[G],this._onStart,this,M,L,O);L[E]=N;},detach:function(N,M,P){var O=M[E],L=M[K];if(O){O.detach();M[E]=null;}if(L){L.detach();M[K]=null;}},processArgs:function(L){var M=(L.length>3)?B.merge(L.splice(3,1)[0]):{};if(!(H in M)){M.minVelocity=this.MIN_VELOCITY;}if(!(D in M)){M.minDistance=this.MIN_DISTANCE;}return M;},_onStart:function(R,N,M,Q){var S=true,L,P,O=R;if(R.touches){S=(R.touches.length===1);R=R.touches[0];}if(S){O.preventDefault();R.flick={time:new Date().getTime()};M[C]=R;L=M[K];if(!L){P=(N.get(I)===9)?N:N.get(A);L=P.on(F[J],B.bind(this._onEnd,this),null,N,M,Q);M[K]=L;}}},_onEnd:function(X,S,Y,P){var W=new Date().getTime(),N=Y[C],L=!!N,Z=X,O,R,U,V,M,T,Q;if(L){if(X.changedTouches){if(X.changedTouches.length===1&&X.touches.length===0){Z=X.changedTouches[0];}else{L=false;}}if(L){Z.preventDefault();O=N.flick.time;W=new Date().getTime();R=W-O;U=Y._extra;V=[Z.pageX-N.pageX,Z.pageY-N.pageY];Q=U.axis||(Math.abs(V[0])>=Math.abs(V[1]))?"x":"y";M=V[(Q==="x")?0:1];T=(R!==0)?M/R:0;if(isFinite(T)&&(Math.abs(M)>=U.minDistance)&&(Math.abs(T)>=U.minVelocity)){X.type="flick";X.flick={time:R,distance:M,velocity:T,axis:Q,start:N};P.fire(X);}Y[C]=null;}}},MIN_VELOCITY:0,MIN_DISTANCE:0});},"@VERSION@",{requires:["node-base","event-touch","event-synthetic"]});