(function(d,c){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper=="original"&&!(/^(?:r|a|f)/).test(this.element.css("position"))){this.element[0].style.position="relative"}(this.options.addClasses&&this.element.addClass("ui-draggable"));(this.options.disabled&&this.element.addClass("ui-draggable-disabled"));this._mouseInit()},destroy:function(){if(!this.element.data("draggable")){return}this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this},_mouseCapture:function(b){var a=this.options;if(this.helper||a.disabled||d(b.target).is(".ui-resizable-handle")){return false}this.handle=this._getHandle(b);if(!this.handle){return false}return true},_mouseStart:function(b){var a=this.options;this.helper=this._createHelper(b);this._cacheHelperProportions();if(d.ui.ddmanager){d.ui.ddmanager.current=this}this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this.position=this._generatePosition(b);this.originalPageX=b.pageX;this.originalPageY=b.pageY;(a.cursorAt&&this._adjustOffsetFromHelper(a.cursorAt));if(a.containment){this._setContainment()}if(this._trigger("start",b)===false){this._clear();return false}this._cacheHelperProportions();if(d.ui.ddmanager&&!a.dropBehaviour){d.ui.ddmanager.prepareOffsets(this,b)}this.helper.addClass("ui-draggable-dragging");this._mouseDrag(b,true);return true},_mouseDrag:function(f,a){this.position=this._generatePosition(f);this.positionAbs=this._convertPositionTo("absolute");if(!a){var b=this._uiHash();if(this._trigger("drag",f,b)===false){this._mouseUp({});return false}this.position=b.position}if(!this.options.axis||this.options.axis!="y"){this.helper[0].style.left=this.position.left+"px"}if(!this.options.axis||this.options.axis!="x"){this.helper[0].style.top=this.position.top+"px"}if(d.ui.ddmanager){d.ui.ddmanager.drag(this,f)}return false},_mouseStop:function(b){var a=false;if(d.ui.ddmanager&&!this.options.dropBehaviour){a=d.ui.ddmanager.drop(this,b)}if(this.dropped){a=this.dropped;this.dropped=false}if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original"){return false}if((this.options.revert=="invalid"&&!a)||(this.options.revert=="valid"&&a)||this.options.revert===true||(d.isFunction(this.options.revert)&&this.options.revert.call(this.element,a))){var f=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){if(f._trigger("stop",b)!==false){f._clear()}})}else{if(this._trigger("stop",b)!==false){this._clear()}}return false},cancel:function(){if(this.helper.is(".ui-draggable-dragging")){this._mouseUp({})}else{this._clear()}return this},_getHandle:function(b){var a=!this.options.handle||!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==b.target){a=true}});return a},_createHelper:function(b){var a=this.options;var f=d.isFunction(a.helper)?d(a.helper.apply(this.element[0],[b])):(a.helper=="clone"?this.element.clone():this.element);if(!f.parents("body").length){f.appendTo((a.appendTo=="parent"?this.element[0].parentNode:a.appendTo))}if(f[0]!=this.element[0]&&!(/(fixed|absolute)/).test(f.css("position"))){f.css("position","absolute")}return f},_adjustOffsetFromHelper:function(a){if(typeof a=="string"){a=a.split(" ")}if(d.isArray(a)){a={left:+a[0],top:+a[1]||0}}if("left" in a){this.offset.click.left=a.left+this.margins.left}if("right" in a){this.offset.click.left=this.helperProportions.width-a.right+this.margins.left}if("top" in a){this.offset.click.top=a.top+this.margins.top}if("bottom" in a){this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top}},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)){a={top:0,left:0}}return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else{return{top:0,left:0}}},_cacheMargins:function(){this.margins={left:(parseInt(this.element.css("marginLeft"),10)||0),top:(parseInt(this.element.css("marginTop"),10)||0),right:(parseInt(this.element.css("marginRight"),10)||0),bottom:(parseInt(this.element.css("marginBottom"),10)||0)}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent"){a.containment=this.helper[0].parentNode}if(a.containment=="document"||a.containment=="window"){this.containment=[(a.containment=="document"?0:d(window).scrollLeft())-this.offset.relative.left-this.offset.parent.left,(a.containment=="document"?0:d(window).scrollTop())-this.offset.relative.top-this.offset.parent.top,(a.containment=="document"?0:d(window).scrollLeft())+d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a.containment=="document"?0:d(window).scrollTop())+(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]}if(!(/^(document|window|parent)$/).test(a.containment)&&a.containment.constructor!=Array){var g=d(a.containment)[0];if(!g){return}var b=d(a.containment).offset();var h=(d(g).css("overflow")!="hidden");this.containment=[b.left+(parseInt(d(g).css("borderLeftWidth"),10)||0)+(parseInt(d(g).css("paddingLeft"),10)||0),b.top+(parseInt(d(g).css("borderTopWidth"),10)||0)+(parseInt(d(g).css("paddingTop"),10)||0),b.left+(h?Math.max(g.scrollWidth,g.offsetWidth):g.offsetWidth)-(parseInt(d(g).css("borderLeftWidth"),10)||0)-(parseInt(d(g).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,b.top+(h?Math.max(g.scrollHeight,g.offsetHeight):g.offsetHeight)-(parseInt(d(g).css("borderTopWidth"),10)||0)-(parseInt(d(g).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom]}else{if(a.containment.constructor==Array){this.containment=a.containment}}},_convertPositionTo:function(j,a){if(!a){a=this.position}var l=j=="absolute"?1:-1;var k=this.options,m=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,b=(/(html|body)/i).test(m[0].tagName);return{top:(a.top+this.offset.relative.top*l+this.offset.parent.top*l-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(b?0:m.scrollTop()))*l)),left:(a.left+this.offset.relative.left*l+this.offset.parent.left*l-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():b?0:m.scrollLeft())*l))}},_generatePosition:function(m){var b=this.options,p=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,a=(/(html|body)/i).test(p[0].tagName);var n=m.pageX;var o=m.pageY;if(this.originalPosition){if(this.containment){if(m.pageX-this.offset.click.left<this.containment[0]){n=this.containment[0]+this.offset.click.left}if(m.pageY-this.offset.click.top<this.containment[1]){o=this.containment[1]+this.offset.click.top}if(m.pageX-this.offset.click.left>this.containment[2]){n=this.containment[2]+this.offset.click.left}if(m.pageY-this.offset.click.top>this.containment[3]){o=this.containment[3]+this.offset.click.top}}if(b.grid){var k=this.originalPageY+Math.round((o-this.originalPageY)/b.grid[1])*b.grid[1];o=this.containment?(!(k-this.offset.click.top<this.containment[1]||k-this.offset.click.top>this.containment[3])?k:(!(k-this.offset.click.top<this.containment[1])?k-b.grid[1]:k+b.grid[1])):k;var l=this.originalPageX+Math.round((n-this.originalPageX)/b.grid[0])*b.grid[0];n=this.containment?(!(l-this.offset.click.left<this.containment[0]||l-this.offset.click.left>this.containment[2])?l:(!(l-this.offset.click.left<this.containment[0])?l-b.grid[0]:l+b.grid[0])):l}}return{top:(o-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(a?0:p.scrollTop())))),left:(n-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():a?0:p.scrollLeft())))}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");if(this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval){this.helper.remove()}this.helper=null;this.cancelHelperRemoval=false},_trigger:function(f,b,a){a=a||this._uiHash();d.ui.plugin.call(this,f,[b,a]);if(f=="drag"){this.positionAbs=this._convertPositionTo("absolute")}return d.Widget.prototype._trigger.call(this,f,b,a)},plugins:{},_uiHash:function(a){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}});d.extend(d.ui.draggable,{version:"1.8.11"});d.ui.plugin.add("draggable","connectToSortable",{start:function(i,b){var h=d(this).data("draggable"),a=h.options,j=d.extend({},b,{item:h.element});h.sortables=[];d(a.connectToSortable).each(function(){var e=d.data(this,"sortable");if(e&&!e.options.disabled){h.sortables.push({instance:e,shouldRevert:e.options.revert});e.refreshPositions();e._trigger("activate",i,j)}})},stop:function(g,a){var b=d(this).data("draggable"),h=d.extend({},a,{item:b.element});d.each(b.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;b.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert){this.instance.options.revert=true}this.instance._mouseStop(g);this.instance.options.helper=this.instance.options._helper;if(b.options.helper=="original"){this.instance.currentItem.css({top:"auto",left:"auto"})}}else{this.instance.cancelHelperRemoval=false;this.instance._trigger("deactivate",g,h)}})},drag:function(i,a){var b=d(this).data("draggable"),j=this;var h=function(t){var f=this.offset.click.top,g=this.offset.click.left;var v=this.positionAbs.top,r=this.positionAbs.left;var s=t.height,o=t.width;var e=t.top,u=t.left;return d.ui.isOver(v+f,r+g,e,u,s,o)};d.each(b.sortables,function(e){this.instance.positionAbs=b.positionAbs;this.instance.helperProportions=b.helperProportions;this.instance.offset.click=b.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=d(j).clone().appendTo(this.instance.element).data("sortable-item",true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return a.helper[0]};i.target=this.instance.currentItem[0];this.instance._mouseCapture(i,true);this.instance._mouseStart(i,true,true);this.instance.offset.click.top=b.offset.click.top;this.instance.offset.click.left=b.offset.click.left;this.instance.offset.parent.left-=b.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=b.offset.parent.top-this.instance.offset.parent.top;b._trigger("toSortable",i);b.dropped=this.instance.element;b.currentItem=b.element;this.instance.fromOutside=b}if(this.instance.currentItem){this.instance._mouseDrag(i)}}else{if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",i,this.instance._uiHash(this.instance));this.instance._mouseStop(i,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();if(this.instance.placeholder){this.instance.placeholder.remove()}b._trigger("fromSortable",i);b.dropped=false}}})}});d.ui.plugin.add("draggable","cursor",{start:function(g,b){var h=d("body"),a=d(this).data("draggable").options;if(h.css("cursor")){a._cursor=h.css("cursor")}h.css("cursor",a.cursor)},stop:function(f,b){var a=d(this).data("draggable").options;if(a._cursor){d("body").css("cursor",a._cursor)}}});d.ui.plugin.add("draggable","iframeFix",{start:function(f,b){var a=d(this).data("draggable").options;d(a.iframeFix===true?"iframe":a.iframeFix).each(function(){d('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1000}).css(d(this).offset()).appendTo("body")})},stop:function(b,a){d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});d.ui.plugin.add("draggable","opacity",{start:function(g,b){var h=d(b.helper),a=d(this).data("draggable").options;if(h.css("opacity")){a._opacity=h.css("opacity")}h.css("opacity",a.opacity)},stop:function(f,b){var a=d(this).data("draggable").options;if(a._opacity){d(b.helper).css("opacity",a._opacity)}}});d.ui.plugin.add("draggable","scroll",{start:function(b,a){var f=d(this).data("draggable");if(f.scrollParent[0]!=document&&f.scrollParent[0].tagName!="HTML"){f.overflowOffset=f.scrollParent.offset()}},drag:function(h,b){var i=d(this).data("draggable"),a=i.options,j=false;if(i.scrollParent[0]!=document&&i.scrollParent[0].tagName!="HTML"){if(!a.axis||a.axis!="x"){if((i.overflowOffset.top+i.scrollParent[0].offsetHeight)-h.pageY<a.scrollSensitivity){i.scrollParent[0].scrollTop=j=i.scrollParent[0].scrollTop+a.scrollSpeed}else{if(h.pageY-i.overflowOffset.top<a.scrollSensitivity){i.scrollParent[0].scrollTop=j=i.scrollParent[0].scrollTop-a.scrollSpeed}}}if(!a.axis||a.axis!="y"){if((i.overflowOffset.left+i.scrollParent[0].offsetWidth)-h.pageX<a.scrollSensitivity){i.scrollParent[0].scrollLeft=j=i.scrollParent[0].scrollLeft+a.scrollSpeed}else{if(h.pageX-i.overflowOffset.left<a.scrollSensitivity){i.scrollParent[0].scrollLeft=j=i.scrollParent[0].scrollLeft-a.scrollSpeed}}}}else{if(!a.axis||a.axis!="x"){if(h.pageY-d(document).scrollTop()<a.scrollSensitivity){j=d(document).scrollTop(d(document).scrollTop()-a.scrollSpeed)}else{if(d(window).height()-(h.pageY-d(document).scrollTop())<a.scrollSensitivity){j=d(document).scrollTop(d(document).scrollTop()+a.scrollSpeed)}}}if(!a.axis||a.axis!="y"){if(h.pageX-d(document).scrollLeft()<a.scrollSensitivity){j=d(document).scrollLeft(d(document).scrollLeft()-a.scrollSpeed)}else{if(d(window).width()-(h.pageX-d(document).scrollLeft())<a.scrollSensitivity){j=d(document).scrollLeft(d(document).scrollLeft()+a.scrollSpeed)}}}}if(j!==false&&d.ui.ddmanager&&!a.dropBehaviour){d.ui.ddmanager.prepareOffsets(i,h)}}});d.ui.plugin.add("draggable","snap",{start:function(g,b){var h=d(this).data("draggable"),a=h.options;h.snapElements=[];d(a.snap.constructor!=String?(a.snap.items||":data(draggable)"):a.snap).each(function(){var e=d(this);var f=e.offset();if(this!=h.element[0]){h.snapElements.push({item:this,width:e.outerWidth(),height:e.outerHeight(),top:f.top,left:f.left})}})},drag:function(r,D){var J=d(this).data("draggable"),B=J.options;var b=B.snapTolerance;var i=D.offset.left,l=i+J.helperProportions.width,K=D.offset.top,L=K+J.helperProportions.height;for(var o=J.snapElements.length-1;o>=0;o--){var t=J.snapElements[o].left,E=t+J.snapElements[o].width,F=J.snapElements[o].top,C=F+J.snapElements[o].height;if(!((t-b<i&&i<E+b&&F-b<K&&K<C+b)||(t-b<i&&i<E+b&&F-b<L&&L<C+b)||(t-b<l&&l<E+b&&F-b<K&&K<C+b)||(t-b<l&&l<E+b&&F-b<L&&L<C+b))){if(J.snapElements[o].snapping){(J.options.snap.release&&J.options.snap.release.call(J.element,r,d.extend(J._uiHash(),{snapItem:J.snapElements[o].item})))}J.snapElements[o].snapping=false;continue}if(B.snapMode!="inner"){var M=Math.abs(F-L)<=b;var a=Math.abs(C-K)<=b;var H=Math.abs(t-l)<=b;var G=Math.abs(E-i)<=b;if(M){D.position.top=J._convertPositionTo("relative",{top:F-J.helperProportions.height,left:0}).top-J.margins.top}if(a){D.position.top=J._convertPositionTo("relative",{top:C,left:0}).top-J.margins.top}if(H){D.position.left=J._convertPositionTo("relative",{top:0,left:t-J.helperProportions.width}).left-J.margins.left}if(G){D.position.left=J._convertPositionTo("relative",{top:0,left:E}).left-J.margins.left}}var I=(M||a||H||G);if(B.snapMode!="outer"){var M=Math.abs(F-K)<=b;var a=Math.abs(C-L)<=b;var H=Math.abs(t-i)<=b;var G=Math.abs(E-l)<=b;if(M){D.position.top=J._convertPositionTo("relative",{top:F,left:0}).top-J.margins.top}if(a){D.position.top=J._convertPositionTo("relative",{top:C-J.helperProportions.height,left:0}).top-J.margins.top}if(H){D.position.left=J._convertPositionTo("relative",{top:0,left:t}).left-J.margins.left}if(G){D.position.left=J._convertPositionTo("relative",{top:0,left:E-J.helperProportions.width}).left-J.margins.left}}if(!J.snapElements[o].snapping&&(M||a||H||G||I)){(J.options.snap.snap&&J.options.snap.snap.call(J.element,r,d.extend(J._uiHash(),{snapItem:J.snapElements[o].item})))}J.snapElements[o].snapping=(M||a||H||G||I)}}});d.ui.plugin.add("draggable","stack",{start:function(i,h){var a=d(this).data("draggable").options;var b=d.makeArray(d(a.stack)).sort(function(e,f){return(parseInt(d(e).css("zIndex"),10)||0)-(parseInt(d(f).css("zIndex"),10)||0)});if(!b.length){return}var j=parseInt(b[0].style.zIndex)||0;d(b).each(function(e){this.style.zIndex=j+e});this[0].style.zIndex=j+b.length}});d.ui.plugin.add("draggable","zIndex",{start:function(g,b){var h=d(b.helper),a=d(this).data("draggable").options;if(h.css("zIndex")){a._zIndex=h.css("zIndex")}h.css("zIndex",a.zIndex)},stop:function(f,b){var a=d(this).data("draggable").options;if(a._zIndex){d(b.helper).css("zIndex",a._zIndex)}}})})(jQuery);
