/*! formstone v1.3.0 [touch.js] 2016-10-23 | GPL-3.0 License | formstone.it */ !function(a){"function"==typeof define&&define.amd?define(["jquery","./core"],a):a(jQuery,Formstone)}(function(a,b){"use strict";function c(a){if(a.touches=[],a.touching=!1,this.on(q.dragStart,r.killEvent),a.swipe&&(a.pan=!0),a.scale&&(a.axis=!1),a.axisX="x"===a.axis,a.axisY="y"===a.axis,b.support.pointer){var c="";!a.axis||a.axisX&&a.axisY?c="none":(a.axisX&&(c+=" pan-y"),a.axisY&&(c+=" pan-x")),n(this,c),this.on(q.pointerDown,a,e)}else this.on(q.touchStart,a,e).on(q.mouseDown,a,f)}function d(a){this.off(q.namespace),n(this,"")}function e(a){a.preventManipulation&&a.preventManipulation();var b=a.data,c=a.originalEvent;if(c.type.match(/(up|end|cancel)$/i))return void h(a);if(c.pointerId){var d=!1;for(var e in b.touches)b.touches[e].id===c.pointerId&&(d=!0,b.touches[e].pageX=c.pageX,b.touches[e].pageY=c.pageY);d||b.touches.push({id:c.pointerId,pageX:c.pageX,pageY:c.pageY})}else b.touches=c.touches;c.type.match(/(down|start)$/i)?f(a):c.type.match(/move$/i)&&g(a)}function f(c){var d=c.data,f="undefined"!==a.type(d.touches)&&d.touches.length?d.touches[0]:null;f&&d.$el.off(q.mouseDown),d.touching||(d.startE=c.originalEvent,d.startX=f?f.pageX:c.pageX,d.startY=f?f.pageY:c.pageY,d.startT=(new Date).getTime(),d.scaleD=1,d.passed=!1),d.$links&&d.$links.off(q.click);var i=k(d.scale?q.scaleStart:q.panStart,c,d.startX,d.startY,d.scaleD,0,0,"","");if(d.scale&&d.touches&&d.touches.length>=2){var j=d.touches;d.pinch={startX:l(j[0].pageX,j[1].pageX),startY:l(j[0].pageY,j[1].pageY),startD:m(j[1].pageX-j[0].pageX,j[1].pageY-j[0].pageY)},i.pageX=d.startX=d.pinch.startX,i.pageY=d.startY=d.pinch.startY}d.touching||(d.touching=!0,d.pan&&!f&&s.on(q.mouseMove,d,g).on(q.mouseUp,d,h),b.support.pointer?s.on([q.pointerMove,q.pointerUp,q.pointerCancel].join(" "),d,e):s.on([q.touchMove,q.touchEnd,q.touchCancel].join(" "),d,e),d.$el.trigger(i))}function g(b){var c=b.data,d="undefined"!==a.type(c.touches)&&c.touches.length?c.touches[0]:null,e=d?d.pageX:b.pageX,f=d?d.pageY:b.pageY,g=e-c.startX,i=f-c.startY,j=g>0?"right":"left",n=i>0?"down":"up",o=Math.abs(g)>t,p=Math.abs(i)>t;if(!c.passed&&c.axis&&(c.axisX&&p||c.axisY&&o))h(b);else{!c.passed&&(!c.axis||c.axis&&c.axisX&&o||c.axisY&&p)&&(c.passed=!0),c.passed&&(r.killEvent(b),r.killEvent(c.startE));var s=!0,u=k(c.scale?q.scale:q.pan,b,e,f,c.scaleD,g,i,j,n);if(c.scale)if(c.touches&&c.touches.length>=2){var v=c.touches;c.pinch.endX=l(v[0].pageX,v[1].pageX),c.pinch.endY=l(v[0].pageY,v[1].pageY),c.pinch.endD=m(v[1].pageX-v[0].pageX,v[1].pageY-v[0].pageY),c.scaleD=c.pinch.endD/c.pinch.startD,u.pageX=c.pinch.endX,u.pageY=c.pinch.endY,u.scale=c.scaleD,u.deltaX=c.pinch.endX-c.pinch.startX,u.deltaY=c.pinch.endY-c.pinch.startY}else c.pan||(s=!1);s&&c.$el.trigger(u)}}function h(b){var c=b.data,d="undefined"!==a.type(c.touches)&&c.touches.length?c.touches[0]:null,e=d?d.pageX:b.pageX,g=d?d.pageY:b.pageY,h=e-c.startX,j=g-c.startY,l=(new Date).getTime(),m=c.scale?q.scaleEnd:q.panEnd,n=h>0?"right":"left",o=j>0?"down":"up",p=Math.abs(h)>1,v=Math.abs(j)>1;if(c.swipe&&Math.abs(h)>t&&l-c.startT