(function(H){H.fn.drag=function(K,J,I){if(J){this.bind("dragstart",K)}if(I){this.bind("dragend",I)}return !K?this.trigger("drag"):this.bind("drag",J?J:K)};var E=H.event,D=E.special,B=D.drag={not:":input",distance:0,setup:function(I){I=H.extend({distance:B.distance,not:B.not},I||{});I.distance=G(I.distance);E.add(this,"mousedown",F,I)},teardown:function(){E.remove(this,"mousedown",F);if(this===B.dragging){B.dragging=B.proxy=null}C(this,true)}};function F(I){var L=this,K,J=I.data||{};if(L===document){I.dragTarget=L=J.elem;I.dragProxy=B.proxy||L;I.cursorOffsetX=J.pageX-J.left;I.cursorOffsetY=J.pageY-J.top;I.offsetX=I.pageX-I.cursorOffsetX;I.offsetY=I.pageY-I.cursorOffsetY}else{if(B.dragging||I.which!=1||H(I.target).is(J.not)){return }}switch(I.type){case"mousedown":H.extend(J,H(L).offset(),{elem:L,target:I.target,pageX:I.pageX,pageY:I.pageY});E.add(document,"mousemove mouseup",F,J);C(L,false);return false;case !B.dragging&&"mousemove":if(G(I.pageX-J.pageX)+G(I.pageY-J.pageY)<J.distance){break}I.target=J.target;K=A(I,"dragstart",L);if(K!==false){B.dragging=L;B.proxy=I.dragProxy=H(K)[0]||L}case"mousemove":if(B.dragging){K=A(I,"drag",L);if(D.drop){D.drop.allowed=(K!==false);D.drop.handler(I)}if(K!==false){break}I.type="mouseup"}case"mouseup":E.remove(document,"mousemove mouseup",F);if(B.dragging){if(D.drop){D.drop.handler(I)}A(I,"dragend",L)}C(L,true);B.dragging=B.proxy=null;break}}function A(J,I,K){J.type=I;return E.handle.call(K,J)}function G(I){return Math.pow(I,2)}function C(J,I){if(!J){return }J.unselectable=I?"off":"on";J.onselectstart=function(){return I};if(J.style){J.style.MozUserSelect=I?"":"none"}}})(jQuery);