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