function AdfDragRecognizer(){this!=window&&this.Init()}AdfObject.createSubclass(AdfDragRecognizer);AdfDragRecognizer.prototype.prepDrag=function(a,b,c){AdfAssert.assertPrototype(b,AdfDragSource);AdfAssert.assertPrototype(c,AdfUIInputEvent);if(!AdfAgent.AGENT.isDragPrepEvent(c)||!b.isAvailable(a,c))return null;AdfLogger.LOGGER.finer("prep drag[ source:",b," event:",c,"]");return{triggerEvent:c.clone(),startPageX:c.getPageX(),startPageY:c.getPageY()}};
AdfDragRecognizer.prototype.abortPrep=function(a,b){AdfAssert.assertPrototype(b,AdfUIInputEvent);return b.getType()==AdfUIInputEvent.MOUSE_UP_EVENT_TYPE};
AdfDragRecognizer.prototype.recognizeDrag=function(a,b){var c=b.getPageX(),d=b.getPageY(),e=AdfAgent.AGENT.isTouchFirstDevice();if(b.getType()==AdfUIInputEvent.MOUSE_MOVE_EVENT_TYPE||b.getType()==AdfComponentTouchEvent.TOUCH_MOVE_EVENT_TYPE&&1==b.getTouchCount()){AdfLogger.LOGGER.finer("recognizeDrag curr:",c,",",d," ",a.startPageX,",",a.startPageY);var f=e?10:3;if(Math.abs(a.startPageX-c)>f||Math.abs(a.startPageY-d)>f)return AdfLogger.LOGGER.fine("Drag recognized for:",b),a.triggerEvent;e||AdfAgent.AGENT.preventDefault(b.getNativeEvent())}return null};