//>>built
define("dojox/gesture/tap",["dojo/_base/kernel","dojo/_base/declare","dojo/_base/lang","./Base","../main"],function(_1,_2,_3,_4,_5){_1.experimental("dojox.gesture.tap");var _6=_2(_4,{defaultEvent:"tap",subEvents:["hold","doubletap"],holdThreshold:500,doubleTapTimeout:250,tapRadius:10,press:function(_7,e){if(e.touches&&e.touches.length>=2){clearTimeout(_7.tapTimeOut);delete _7.context;return;}var _8=e.target;this._initTap(_7,e);_7.tapTimeOut=setTimeout(_3.hitch(this,function(){if(this._isTap(_7,e)){this.fire(_8,{type:"tap.hold"});}delete _7.context;}),this.holdThreshold);},release:function(_9,e){if(!_9.context){clearTimeout(_9.tapTimeOut);return;}if(this._isTap(_9,e)){switch(_9.context.c){case 1:this.fire(e.target,{type:"tap"});break;case 2:this.fire(e.target,{type:"tap.doubletap"});break;}}clearTimeout(_9.tapTimeOut);},_initTap:function(_a,e){if(!_a.context){_a.context={x:0,y:0,t:0,c:0};}var ct=new Date().getTime();if(ct-_a.context.t<=this.doubleTapTimeout){_a.context.c++;}else{_a.context.c=1;_a.context.x=e.screenX;_a.context.y=e.screenY;}_a.context.t=ct;},_isTap:function(_b,e){if(!_b.context){return false;}var dx=Math.abs(_b.context.x-e.screenX);var dy=Math.abs(_b.context.y-e.screenY);return dx<=this.tapRadius&&dy<=this.tapRadius;}});_5.gesture.tap=new _6();_5.gesture.tap.Tap=_6;return _5.gesture.tap;});