var API;if(API&&API.attachListener&&Function.prototype.call){(function(){var C=API.attachListener,H=API.detachListener;var E,G,B={};var F=function(M,P,N,K,J){var L={touchstart:P,touchmove:N,touchend:K};var O=function(R){var T=R.changedTouches[0],S=[T.pageY,T.pageX],Q=R.type;if(Q=="touchmove"){B.previousMove=B.move}B[Q]=+(new Date());L[Q].call(J||M,R,M,S,B);if(Q=="touchend"){delete B.start;delete B.move}};C(M,"touchstart",O,J);C(M,"touchmove",O,J);C(M,"touchend",O,J)};var A=function(L,S,N,R,O,K){var Q=API.getElementDocument(L);var J=function(T){K=true;B.start=+(new Date());S.call(O||L,T,L,API.getMousePosition(T),B)};var M=function(T){if(K){B.previousMove=B.move;B.move=+(new Date());N.call(O||L,T,L,API.getMousePosition(T),B)}};var P=function(T){if(K){B.end=+(new Date());delete B.start;delete B.move;K=false;R.call(O||L,T,L,API.getMousePosition(T),B)}};C(L,"mousedown",J,O);C(Q,"mousemove",M,O);C(Q,"mouseup",P,O)};var D=function(L,O,M,K,J){var N;return(N=function(Q){var P=Q.type;H(L,"touchstart",N);H(L,"mousedown",N);O.call(J||L,Q,L,API.getMousePosition(Q),B);if(!P.indexOf("mouse")){E="mouse";F=A}else{E="touch"}F(L,O,M,K,J,true)})};API.attachTouchListeners=function(L,O,M,K,J){var N;if(typeof E=="undefined"){N=D(L,O,M,K,J);C(L,"touchstart",N,J);C(L,"mousedown",N,J)}else{F(L,O,M,K,J)}};var I=function(L,K,J){var M;return(M=function(O){var N=O.type;H(L,"tap",M);H(L,"click",M);K.call(J||L,O);if(!N.indexOf("tap")){G="tap"}else{G="click"}C(L,G,K)})};API.attachTapListener=function(L,K,J){var M;if(typeof G=="undefined"){M=I(L,K,J);C(L,"tap",M,J);C(L,"click",M,J)}else{C(L,G,K,J)}}})()}
