(function(e,t,n){typeof define=="function"&&define.amd?define(["jquery"],function(r){return n(r,e,t),r.mobile}):n(e.jQuery,e,t)})(this,document,function(e,t,n,r){(function(e,t){var r={touch:"ontouchend"in n};e.mobile=e.mobile||{},e.mobile.support=e.mobile.support||{},e.extend(e.support,r),e.extend(e.mobile.support,r)})(e),function(e,t,n,r){function i(e){while(e&&typeof e.originalEvent!="undefined")e=e.originalEvent;return e}function s(t,n){var s=t.type,o,u,a,f,l,c,h,p,d;t=e.Event(t),t.type=n,o=t.originalEvent,u=e.event.props,s.search(/^(mouse|click)/)>-1&&(u=L);if(o)for(h=u.length,f;h;)f=u[--h],t[f]=o[f];s.search(/mouse(down|up)|click/)>-1&&!t.which&&(t.which=1);if(s.search(/^touch/)!==-1){a=i(o),s=a.touches,l=a.changedTouches,c=s&&s.length?s[0]:l&&l.length?l[0]:r;if(c)for(p=0,d=C.length;ps||Math.abs(n.pageY-_)>s,D&&!r&&d("vmousecancel",t,u),d("vmousemove",t,u),h()}function b(e){if(B)return;f();var t=o(e.target),n;d("vmouseup",e,t);if(!D){var r=d("vclick",e,t);r&&r.isDefaultPrevented()&&(n=i(e).changedTouches[0],P.push({touchID:q,x:n.clientX,y:n.clientY}),H=!0)}d("vmouseout",e,t),D=!1,h()}function w(t){var n=e.data(t,x),r;if(n)for(r in n)if(n[r])return!0;return!1}function E(){}function S(t){var n=t.substr(1);return{setup:function(r,i){w(this)||e.data(this,x,{});var s=e.data(this,x);s[t]=!0,A[t]=(A[t]||0)+1,A[t]===1&&F.bind(n,v),e(this).bind(n,E),j&&(A.touchstart=(A.touchstart||0)+1,A.touchstart===1&&F.bind("touchstart",m).bind("touchend",b).bind("touchmove",y).bind("scroll",g))},teardown:function(r,i){--A[t],A[t]||F.unbind(n,v),j&&(--A.touchstart,A.touchstart||F.unbind("touchstart",m).unbind("touchmove",y).unbind("touchend",b).unbind("scroll",g));var s=e(this),o=e.data(this,x);o&&(o[t]=!1),s.unbind(n,E),w(this)||s.removeData(x)}}}var x="virtualMouseBindings",T="virtualTouchID",N="vmouseover vmousedown vmousemove vmouseup vclick vmouseout vmousecancel".split(" "),C="clientX clientY pageX pageY screenX screenY".split(" "),k=e.event.mouseHooks?e.event.mouseHooks.props:[],L=e.event.props.concat(k),A={},O=0,M=0,_=0,D=!1,P=[],H=!1,B=!1,j="addEventListener"in n,F=e(n),I=1,q=0,R;e.vmouse={moveDistanceThreshold:10,clickDistanceThreshold:10,resetTimerDuration:1500};for(var U=0;Ue.event.special.swipe.scrollSupressionThreshold&&t.preventDefault()}var s=t.originalEvent.touches?t.originalEvent.touches[0]:t,o={time:(new Date).getTime(),coords:[s.pageX,s.pageY],origin:e(t.target)},u;n.bind(f,i).one(a,function(t){n.unbind(f,i),o&&u&&u.time-o.timee.event.special.swipe.horizontalDistanceThreshold&&Math.abs(o.coords[1]-u.coords[1])u.coords[0]?"swipeleft":"swiperight"),o=u=r})})}},e.each({scrollstop:"scrollstart",taphold:"tap",swipeleft:"swipe",swiperight:"swipe"},function(t,n){e.event.special[t]={setup:function(){e(this).bind(n,e.noop)}}})}(e,this)})