(function(a){a.fn.draggable=function(c){function b(f){a.data(f.data.target,"draggable").options.onStartDrag(f);return false}function d(j){var i=j.data;var h=i.startLeft+j.pageX-i.startX;var g=i.startTop+j.pageY-i.startY;if(j.data.parnet!=document.body){if(a.boxModel==true){h+=a(j.data.parent).scrollLeft();g+=a(j.data.parent).scrollTop()}}var f=a.data(j.data.target,"draggable").options;if(f.axis=="h"){a(i.target).css("left",h)}else{if(f.axis=="v"){a(i.target).css("top",g)}else{a(i.target).css({left:h,top:g})}}a.data(j.data.target,"draggable").options.onDrag(j);return false}function e(f){a(document).unbind(".draggable");a.data(f.data.target,"draggable").options.onStopDrag(f);return false}return this.each(function(){a(this).css("position","absolute");var g;var i=a.data(this,"draggable");if(i){i.handle.unbind(".draggable");g=a.extend(i.options,c)}else{g=a.extend({},a.fn.draggable.defaults,c||{})}if(g.disabled==true){a(this).css("cursor","default");return}var h=null;if(typeof g.handle=="undefined"||g.handle==null){h=a(this)}else{h=(typeof g.handle=="string"?a(g.handle,this):h)}a.data(this,"draggable",{options:g,handle:h});h.bind("mousedown.draggable",{target:this},j);h.bind("mousemove.draggable",{target:this},k);function j(n){if(f(n)==false){return}var l=a(n.data.target).position();var m={startLeft:l.left,startTop:l.top,startX:n.pageX,startY:n.pageY,target:n.data.target,parent:a(n.data.target).parent()[0]};a(document).bind("mousedown.draggable",m,b);a(document).bind("mousemove.draggable",m,d);a(document).bind("mouseup.draggable",m,e)}function k(l){if(f(l)){a(this).css("cursor","move")}else{a(this).css("cursor","default")}}function f(u){var v=a(h).offset();var q=a(h).outerWidth();var n=a(h).outerHeight();var p=u.pageY-v.top;var s=v.left+q-u.pageX;var m=v.top+n-u.pageY;var o=u.pageX-v.left;return Math.min(p,s,m,o)>g.edge}})};a.fn.draggable.defaults={handle:null,disabled:false,edge:0,axis:null,onStartDrag:function(){},onDrag:function(){},onStopDrag:function(){}}})(jQuery);