/* @fileOverview TouchSwipe - jQuery Plugin @version 1.6.6 @author Matt Bryson http://www.github.com/mattbryson @see https://github.com/mattbryson/TouchSwipe-Jquery-Plugin @see http://labs.skinkers.com/touchSwipe/ @see http://plugins.jquery.com/project/touchSwipe Copyright (c) 2010 Matt Bryson Dual licensed under the MIT or GPL Version 2 licenses. */ (function(a){typeof define==="function"&&define.amd&&define.amd.jQuery?define(["jquery"],a):a(jQuery)})(function(a){function b(f){if(f&&f.allowPageScroll===void 0&&(f.swipe!==void 0||f.swipeStatus!==void 0))f.allowPageScroll=k;if(f.click!==void 0&&f.tap===void 0)f.tap=f.click;f||(f={});f=a.extend({},a.fn.swipe.defaults,f);return this.each(function(){var b=a(this),d=b.data(Q);d||(d=new c(this,f),b.data(Q,d))})}function c(c,b){function ha(f){if(v.data(Q+"_intouch")!==!0&&!(a(f.target).closest(b.excludedElements, v).length>0)){var c=f.originalEvent?f.originalEvent:f,d,g=r?c.touches[0]:c;A=w;r?B=c.touches.length:f.preventDefault();F=0;K=G=null;M=N=E=0;I=1;L=0;x=Ba();Y=Ca();Z=U=0;if(!r||B===b.fingers||b.fingers===y||V()){if(ia(0,g),aa=O(),B==2&&(ia(1,c.touches[1]),N=M=ja(x[0].start,x[1].start)),b.swipeStatus||b.pinchStatus)d=J(c,A)}else d=!1;if(d===!1)return A=z,J(c,A),d;else b.hold&&(ka=setTimeout(a.proxy(function(){v.trigger("hold",[c.target]);b.hold&&(d=b.hold.call(v,c,c.target))},this),b.longTapThreshold)), ba(!0);return null}}function la(c){var o=c.originalEvent?c.originalEvent:c;if(!(A===D||A===z||ta())){var q,p=ua(r?o.touches[0]:o);W=O();if(r)B=o.touches.length;b.hold&&clearTimeout(ka);A=s;B==2&&(N==0?(ia(1,o.touches[1]),N=M=ja(x[0].start,x[1].start)):(ua(o.touches[1]),M=ja(x[0].end,x[1].end),K=I<1?j:h),I=(M/N*1).toFixed(2),L=Math.abs(N-M));if(B===b.fingers||b.fingers===y||!r||V()){var n;n=p.start;var m=p.end;n=Math.round(Math.atan2(m.y-n.y,n.x-m.x)*180/Math.PI);n<0&&(n=360-Math.abs(n));n=G=n<=45&& n>=0?d:n<=360&&n>=315?d:n>=135&&n<=225?g:n>45&&n<135?i:f;if(b.allowPageScroll===k||V())c.preventDefault();else switch(m=b.allowPageScroll===l,n){case d:(b.swipeLeft&&m||!m&&b.allowPageScroll!=t)&&c.preventDefault();break;case g:(b.swipeRight&&m||!m&&b.allowPageScroll!=t)&&c.preventDefault();break;case f:(b.swipeUp&&m||!m&&b.allowPageScroll!=u)&&c.preventDefault();break;case i:(b.swipeDown&&m||!m&&b.allowPageScroll!=u)&&c.preventDefault()}F=Math.round(Math.sqrt(Math.pow(p.end.x-p.start.x,2)+Math.pow(p.end.y- p.start.y,2)));E=W-aa;c=G;n=F;n=Math.max(n,va(c));Y[c].distance=n;if(b.swipeStatus||b.pinchStatus)q=J(o,A);if(!b.triggerOnTouchEnd||b.triggerOnTouchLeave)c=!0,b.triggerOnTouchLeave&&(c=a(this),n=c.offset(),c={left:n.left,right:n.left+c.outerWidth(),top:n.top,bottom:n.top+c.outerHeight()},c=p.end.x>c.left&&p.end.xc.top&&p.end.y0)return U=O(),Z=event.touches.length+1,!0;ta()&&(B=Z);W=O();E=W-aa;oa()||!pa()?(A=z,J(c,A)):b.triggerOnTouchEnd||b.triggerOnTouchEnd==!1&&A===s?(a.preventDefault(),A=D,J(c,A)):!b.triggerOnTouchEnd&&b.tap?(A=D,R(c,A,q)):A===s&&(A=z,J(c,A));ba(!1);return null}function S(){M=N=aa=W=B=0;I=1;Z=U=0;ba(!1)}function qa(a){a=a.originalEvent;b.triggerOnTouchLeave&&(A=ma(D),J(a,A))}function wa(){v.unbind(ca,ha);v.unbind(da,S);v.unbind(ra,la);v.unbind(sa,na);T&&v.unbind(T, qa);ba(!1)}function ma(a){var c=a,f=b.maxTimeThreshold?E>=b.maxTimeThreshold?!1:!0:!0,d=pa(),g=oa();!f||g?c=z:d&&a==s&&(!b.triggerOnTouchEnd||b.triggerOnTouchLeave)?c=D:!d&&a==D&&b.triggerOnTouchLeave&&(c=z);return c}function J(a,c){var f=void 0;if(xa()&&ya()||ya())f=R(a,c,m);else if((za()&&V()||V())&&f!==!1)f=R(a,c,o);Aa()&&b.doubleTap&&f!==!1?f=R(a,c,p):E>b.longTapThreshold&&F=b.threshold);return a}function oa(){var a=!1;b.cancelThreshold!==null&&G!==null&&(a=va(G)-F>=b.cancelThreshold);return a}function za(){var a=B===b.fingers||b.fingers===y||!r,c=x[0].end.x!==0,f;f=b.pinchThreshold!==null?L>=b.pinchThreshold:!0;return a&&c&&f}function V(){return!(!b.pinchStatus&&!b.pinchIn&& !b.pinchOut)}function xa(){var a=b.maxTimeThreshold?E>=b.maxTimeThreshold?!1:!0:!0,c=pa(),f=B===b.fingers||b.fingers===y||!r,d=x[0].end.x!==0;return!oa()&&d&&f&&c&&a}function ya(){return!(!b.swipe&&!b.swipeStatus&&!b.swipeLeft&&!b.swipeRight&&!b.swipeUp&&!b.swipeDown)}function Aa(){if(P==null)return!1;var a=O();return!!b.doubleTap&&a-P<=b.doubleTapThreshold}function ta(){var a=!1;U&&O()-U<=b.fingerReleaseThreshold&&(a=!0);return a}function ba(a){a===!0?(v.bind(ra,la),v.bind(sa,na),T&&v.bind(T,qa)): (v.unbind(ra,la,!1),v.unbind(sa,na,!1),T&&v.unbind(T,qa,!1));v.data(Q+"_intouch",a===!0)}function ia(a,c){x[a].identifier=c.identifier!==void 0?c.identifier:0;x[a].start.x=x[a].end.x=c.pageX||c.clientX;x[a].start.y=x[a].end.y=c.pageY||c.clientY;return x[a]}function ua(a){var c;a:{for(c=0;c