(function(b){function c(d){if(d&&d.allowpagescroll==void 0&&(d.swipe!=void 0||d.swipestatus!=void 0))d.allowpagescroll=h;d||(d={});d=b.extend({},b.fn.swipe.defaults,d);return this.each(function(){var f=b(this),g=f.data(e);g||(g=new a(this,d),f.data(e,g))})}function a(a,c){function i(a){var d=a,a=a.originalevent,b,f=q?a.touches[0]:a;r=l;q?z=a.touches.length:a.preventdefault();distance=0;direction=null;duration=0;a=null;!q||z==c.fingers?(v.x=t.x=f.pagex,v.y=t.y=f.pagey,f=(new date).gettime(),c.swipestatus&& (b=x(a,r))):c(a);if(b===!1)return r=p,x(a,r),b;else y.bind(b,j),y.bind(w,k),d.stopimmediatepropagation()}function j(a){a=a.originalevent;if(!(r==o||r==p)){var b,l=q?a.touches[0]:a;t.x=l.pagex;t.y=l.pagey;d=(new date).gettime();direction=n();if(q)z=a.touches.length;r=n;var l=a,s=direction;if(c.allowpagescroll==h)l.preventdefault();else{var w=c.allowpagescroll==m;switch(s){case d:(c.swipeleft&&w||!w&&c.allowpagescroll!=j)&&l.preventdefault();break;case f:(c.swiperight&&w||!w&&c.allowpagescroll!=j)&& l.preventdefault();break;case g:(c.swipeup&&w||!w&&c.allowpagescroll!=k)&&l.preventdefault();break;case i:(c.swipedown&&w||!w&&c.allowpagescroll!=k)&&l.preventdefault()}}z==c.fingers||!q?(distance=o(),duration=d-f,a===null&&r==n&&distance>4&&(a=direction==d||direction==f?l:m),c.swipestatus&&(b=x(a,r,direction,distance,duration)),c.triggerontouchend||(l=!(c.maxtimethreshold?!(duration>=c.maxtimethreshold):1),g()===!0?(r=o,b=x(a,r)):l&&(r=p,x(a,r)))):(r=p,x(a,r));b===!1&&(r=p,x(a,r))}}function k(a){a= a.originalevent;d=(new date).gettime();distance=o();direction=n();duration=d-f;if(c.triggerontouchend||c.triggerontouchend==!1&&r==n)if(r=o,(z==c.fingers||!q)&&t.x!=0){var d=!(c.maxtimethreshold?!(duration>=c.maxtimethreshold):1);if((g()===!0||g()===null)&&!d)x(a,r);else if(d||g()===!1)r=p,x(a,r)}else r=p,x(a,r);else r==n&&(r=p,x(a,r));y.unbind(b,j,!1);y.unbind(w,k,!1)}function c(){z=0;v.x=0;v.y=0;t.x=0;f=d=t.y=0}function x(a,b){var h;c.swipestatus&&(h=c.swipestatus.call(u,a,b,direction||null,distance|| 0,duration||0));if(b==p&&c.click&&(z==1||!q)&&(isnan(distance)||distance==0))h=c.click.call(u,a,a.target);if(b==o)switch(c.swipe&&(h=c.swipe.call(u,a,direction,distance,duration)),direction){case d:c.swipeleft&&(h=c.swipeleft.call(u,a,direction,distance,duration));break;case f:c.swiperight&&(h=c.swiperight.call(u,a,direction,distance,duration));break;case g:c.swipeup&&(h=c.swipeup.call(u,a,direction,distance,duration));break;case i:c.swipedown&&(h=c.swipedown.call(u,a,direction,distance,duration))}(b== p||b==o)&&c(a);if(h!==void 0)return h}function g(){return c.threshold!==null?distance>=c.threshold:null}function o(){return a==l?math.abs(t.x-v.x):a==m?math.abs(t.y-v.y):math.round(math.sqrt(math.pow(t.x-v.x,2)+math.pow(t.y-v.y,2)))}function n(){if(a==l)return t.x-v.x>0?f:d;else if(a==m)return t.y-v.y>0?i:g;var a;a=math.round(math.atan2(t.y-v.y,v.x-t.x)*180/math.pi);a<0&&(a=360-math.abs(a));return a<=45&&a>=0?d:a<=360&&a>=315?d:a>=135&&a<=225?f:a>45&&a<135?i:g}function p(){u.unbind(s,i);y.unbind(h, c);y.unbind(b,j);y.unbind(w,k)}var u=b(a),r="start",z=0,v={x:0,y:0},t={x:0,y:0},f=0,d=0,y=b(document),a=null,l="xaxis",m="yaxis";try{u.bind(s,i),y.bind(h,c)}catch(q){b.error("events not supported "+s+","+h+" on jquery.swipe")}this.enable=function(){u.bind(s,i);y.bind(h,c);return u};this.disable=function(){p();return u};this.destroy=function(){p();u.data(e,null);return u}}var d="left",f="right",g="up",i="down",h="none",j="horizontal",k="vertical",m="auto",l="start",n="move",o="end",p="cancel",q="ontouchstart"in window,s=q?"touchstart":"mousedown",b=q?"touchmove":"mousemove",w=q?"touchend":"mouseup",h="touchcancel",e="touchswipe";b.fn.swipe=function(a){$this=b(this);var d=$this.data(e);if(d&&typeof a==="string")if(d[a])return d[a].apply(this,array.prototype.slice.call(arguments,1));else b.error("method "+a+" does not exist on jquery.swipe");else if(!d&&(typeof a==="object"||!a))return c.apply(this,arguments)};b.fn.swipe.defaults={fingers:1,threshold:75,maxtimethreshold:null,swipe:null,swipeleft:null,swiperight:null, swipeup:null,swipedown:null,swipestatus:null,click:null,triggerontouchend:!0,allowpagescroll:"auto"};b.fn.swipe.phases={phase_start:l,phase_move:n,phase_end:o,phase_cancel:p};b.fn.swipe.directions={left:d,right:f,up:g,down:i};b.fn.swipe.pagescroll={none:h,horizontal:j,vertical:k,auto:m}})(jquery);