(function(B){function A(E,D){var C=B.browser.safari&&B.browser.version<522;if(E.contains&&!C){return E.contains(D)}if(E.compareDocumentPosition){return !!(E.compareDocumentPosition(D)&16)}while(D=D.parentNode){if(D==E){return true}}return false}B.widget("ui.sortable",{init:function(){var C=this.options;this.containerCache={};this.element.addClass("ui-sortable");this.refresh();this.floating=this.items.length?(/left|right/).test(this.items[0].item.css("float")):false;if(!(/(relative|absolute|fixed)/).test(this.element.css("position"))){this.element.css("position","relative")}this.offset=this.element.offset();this.element.mouse({executor:this,delay:C.delay,distance:C.distance||1,dragPrevention:C.prevention?C.prevention.toLowerCase().split(","):["input","textarea","button","select","option"],start:this.start,stop:this.stop,drag:this.drag,condition:function(F){if(this.options.disabled||this.options.type=="static"){return false}var E=null,D=B(F.target).parents().each(function(){if(B.data(this,"sortable-item")){E=B(this);return false}});if(B.data(F.target,"sortable-item")){E=B(F.target)}if(!E){return false}if(this.options.handle){var G=false;B(this.options.handle,E).each(function(){if(this==F.target){G=true}});if(!G){return false}}this.currentItem=E;return true}})},plugins:{},ui:function(C){return{helper:(C||this)["helper"],placeholder:(C||this)["placeholder"]||B([]),position:(C||this)["position"].current,absolutePosition:(C||this)["position"].absolute,instance:this,options:this.options,element:this.element,item:(C||this)["currentItem"],sender:C?C.element:null}},propagate:function(E,D,C){B.ui.plugin.call(this,E,[D,this.ui(C)]);this.element.triggerHandler(E=="sort"?E:"sort"+E,[D,this.ui(C)],this.options[E])},serialize:function(E){var C=B(this.options.items,this.element).not(".ui-sortable-helper");var D=[];E=E||{};C.each(function(){var F=(B(this).attr(E.attribute||"id")||"").match(E.expression||(/(.+)[-=_](.+)/));if(F){D.push((E.key||F[1])+"[]="+(E.key?F[1]:F[2]))}});return D.join("&")},toArray:function(C){var D=B(this.options.items,this.element).not(".ui-sortable-helper");var E=[];D.each(function(){E.push(B(this).attr(C||"id"))});return E},enable:function(){this.element.removeClass("ui-sortable-disabled");this.options.disabled=false},disable:function(){this.element.addClass("ui-sortable-disabled");this.options.disabled=true},intersectsWith:function(J){var E=this.position.absolute.left,D=E+this.helperProportions.width,I=this.position.absolute.top,H=I+this.helperProportions.height;var F=J.left,C=F+J.width,K=J.top,G=K+J.height;if(this.options.tolerance=="pointer"){return(I+this.clickOffset.top>K&&I+this.clickOffset.top<G&&E+this.clickOffset.left>F&&E+this.clickOffset.left<C)}else{return(F<E+(this.helperProportions.width/2)&&D-(this.helperProportions.width/2)<C&&K<I+(this.helperProportions.height/2)&&H-(this.helperProportions.height/2)<G)}},intersectsWithEdge:function(J){var E=this.position.absolute.left,D=E+this.helperProportions.width,I=this.position.absolute.top,H=I+this.helperProportions.height;var F=J.left,C=F+J.width,K=J.top,G=K+J.height;if(this.options.tolerance=="pointer"){if(!(I+this.clickOffset.top>K&&I+this.clickOffset.top<G&&E+this.clickOffset.left>F&&E+this.clickOffset.left<C)){return false}if(this.floating){if(E+this.clickOffset.left>F&&E+this.clickOffset.left<F+J.width/2){return 2}if(E+this.clickOffset.left>F+J.width/2&&E+this.clickOffset.left<C){return 1}}else{if(I+this.clickOffset.top>K&&I+this.clickOffset.top<K+J.height/2){return 2}if(I+this.clickOffset.top>K+J.height/2&&I+this.clickOffset.top<G){return 1}}}else{if(!(F<E+(this.helperProportions.width/2)&&D-(this.helperProportions.width/2)<C&&K<I+(this.helperProportions.height/2)&&H-(this.helperProportions.height/2)<G)){return false}if(this.floating){if(D>F&&E<F){return 2}if(E<C&&D>C){return 1}}else{if(H>K&&I<K){return 1}if(I<G&&H>G){return 2}}}return false},inEmptyZone:function(C){if(!B(C.options.items,C.element).length){return C.options.dropOnEmpty?true:false}var D=B(C.options.items,C.element).not(".ui-sortable-helper");D=B(D[D.length-1]);var E=D.offset()[this.floating?"left":"top"]+D[0][this.floating?"offsetWidth":"offsetHeight"];return(this.position.absolute[this.floating?"left":"top"]>E)},refresh:function(){this.refreshItems();this.refreshPositions()},refreshItems:function(){this.items=[];this.containers=[this];var C=this.items;var E=[B(this.options.items,this.element)];if(this.options.connectWith){for(var F=this.options.connectWith.length-1;F>=0;F--){var H=B(this.options.connectWith[F]);for(var D=H.length-1;D>=0;D--){var G=B.data(H[D],"sortable");if(G&&!G.options.disabled){E.push(B(G.options.items,G.element));this.containers.push(G)}}}}for(var F=E.length-1;F>=0;F--){E[F].each(function(){B.data(this,"sortable-item",true);C.push({item:B(this),width:0,height:0,left:0,top:0})})}},refreshPositions:function(C){for(var E=this.items.length-1;E>=0;E--){var D=this.items[E].item;if(!C){this.items[E].width=(this.options.toleranceElement?B(this.options.toleranceElement,D):D).outerWidth()}if(!C){this.items[E].height=(this.options.toleranceElement?B(this.options.toleranceElement,D):D).outerHeight()}var F=(this.options.toleranceElement?B(this.options.toleranceElement,D):D).offset();this.items[E].left=F.left;this.items[E].top=F.top}for(var E=this.containers.length-1;E>=0;E--){var F=this.containers[E].element.offset();this.containers[E].containerCache.left=F.left;this.containers[E].containerCache.top=F.top;this.containers[E].containerCache.width=this.containers[E].element.outerWidth();this.containers[E].containerCache.height=this.containers[E].element.outerHeight()}},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable").mouse("destroy");for(var C=this.items.length-1;C>=0;C--){this.items[C].item.removeData("sortable-item")}},createPlaceholder:function(C){(C||this).placeholderElement=this.options.placeholderElement?B(this.options.placeholderElement,(C||this).currentItem):(C||this).currentItem;(C||this).placeholder=B("<div></div>").addClass(this.options.placeholder).appendTo("body").css({position:"absolute"}).css((C||this).placeholderElement.offset()).css({width:(C||this).placeholderElement.outerWidth(),height:(C||this).placeholderElement.outerHeight()})},contactContainers:function(F){for(var D=this.containers.length-1;D>=0;D--){if(this.intersectsWith(this.containers[D].containerCache)){if(!this.containers[D].containerCache.over){if(this.currentContainer!=this.containers[D]){var I=10000;var H=null;var E=this.position.absolute[this.containers[D].floating?"left":"top"];for(var C=this.items.length-1;C>=0;C--){if(!A(this.containers[D].element[0],this.items[C].item[0])){continue}var G=this.items[C][this.containers[D].floating?"left":"top"];if(Math.abs(G-E)<I){I=Math.abs(G-E);H=this.items[C]}}if(this.placeholder){this.placeholder.remove()}if(this.containers[D].options.placeholder){this.containers[D].createPlaceholder(this)}else{this.placeholder=null;this.placeholderElement=null}H?this.rearrange(F,H):this.rearrange(F,null,this.containers[D].element);this.propagate("change",F);this.containers[D].propagate("change",F,this);this.currentContainer=this.containers[D]}this.containers[D].propagate("over",F,this);this.containers[D].containerCache.over=1}}else{if(this.containers[D].containerCache.over){this.containers[D].propagate("out",F,this);this.containers[D].containerCache.over=0}}}},start:function(E,D){var F=this.options;this.currentContainer=this;this.refresh();this.helper=typeof F.helper=="function"?B(F.helper.apply(this.element[0],[E,this.currentItem])):this.currentItem.clone();if(!this.helper.parents("body").length){this.helper.appendTo(F.appendTo||this.currentItem[0].parentNode)}this.helper.css({position:"absolute",clear:"both"}).addClass("ui-sortable-helper");B.extend(this,{offsetParent:this.helper.offsetParent(),offsets:{absolute:this.currentItem.offset()},mouse:{start:{top:E.pageY,left:E.pageX}},margins:{top:parseInt(this.currentItem.css("marginTop"))||0,left:parseInt(this.currentItem.css("marginLeft"))||0}});this.offsets.parent=this.offsetParent.offset();this.clickOffset={left:E.pageX-this.offsets.absolute.left,top:E.pageY-this.offsets.absolute.top};this.originalPosition={left:this.offsets.absolute.left-this.offsets.parent.left-this.margins.left,top:this.offsets.absolute.top-this.offsets.parent.top-this.margins.top};this.offset={left:E.pageX-this.originalPosition.left,top:E.pageY-this.originalPosition.top};B.extend(this,{position:{current:{top:E.pageY-this.offset.top,left:E.pageX-this.offset.left},absolute:{left:E.pageX-this.clickOffset.left,top:E.pageY-this.clickOffset.top},dom:this.currentItem.prev()[0]}});if(F.placeholder){this.createPlaceholder()}this.propagate("start",E);this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()};if(F.cursorAt){if(F.cursorAt.top!=undefined||F.cursorAt.bottom!=undefined){this.offset.top-=this.clickOffset.top-(F.cursorAt.top!=undefined?F.cursorAt.top:(this.helperProportions.height-F.cursorAt.bottom));this.clickOffset.top=(F.cursorAt.top!=undefined?F.cursorAt.top:(this.helperProportions.height-F.cursorAt.bottom))}if(F.cursorAt.left!=undefined||F.cursorAt.right!=undefined){this.offset.left-=this.clickOffset.left-(F.cursorAt.left!=undefined?F.cursorAt.left:(this.helperProportions.width-F.cursorAt.right));this.clickOffset.left=(F.cursorAt.left!=undefined?F.cursorAt.left:(this.helperProportions.width-F.cursorAt.right))}}if(this.options.placeholder!="clone"){B(this.currentItem).css("visibility","hidden")}for(var C=this.containers.length-1;C>=0;C--){this.containers[C].propagate("activate",E,this)}if(B.ui.ddmanager){B.ui.ddmanager.current=this}if(B.ui.ddmanager&&!F.dropBehaviour){B.ui.ddmanager.prepareOffsets(this,E)}this.dragging=true;return false},stop:function(D){this.propagate("stop",D);if(this.position.dom!=this.currentItem.prev()[0]){this.propagate("update",D)}if(!A(this.element[0],this.currentItem[0])){this.propagate("remove",D);for(var C=this.containers.length-1;C>=0;C--){if(A(this.containers[C].element[0],this.currentItem[0])){this.containers[C].propagate("update",D,this);this.containers[C].propagate("receive",D,this)}}}for(var C=this.containers.length-1;C>=0;C--){this.containers[C].propagate("deactivate",D,this);if(this.containers[C].containerCache.over){this.containers[C].propagate("out",D,this);this.containers[C].containerCache.over=0}}if(B.ui.ddmanager&&!this.options.dropBehaviour){B.ui.ddmanager.drop(this,D)}this.dragging=false;if(this.cancelHelperRemoval){return false}B(this.currentItem).css("visibility","");if(this.placeholder){this.placeholder.remove()}this.helper.remove();return false},drag:function(D){this.position.current={top:D.pageY-this.offset.top,left:D.pageX-this.offset.left};this.position.absolute={left:D.pageX-this.clickOffset.left,top:D.pageY-this.clickOffset.top};for(var C=this.items.length-1;C>=0;C--){var E=this.intersectsWithEdge(this.items[C]);if(!E){continue}if(this.items[C].item[0]!=this.currentItem[0]&&this.currentItem[E==1?"next":"prev"]()[0]!=this.items[C].item[0]&&!A(this.currentItem[0],this.items[C].item[0])&&(this.options.type=="semi-dynamic"?!A(this.element[0],this.items[C].item[0]):true)){this.direction=E==1?"down":"up";this.rearrange(D,this.items[C]);this.propagate("change",D);break}}this.contactContainers(D);if(B.ui.ddmanager){B.ui.ddmanager.drag(this,D)}this.propagate("sort",D);this.helper.css({left:this.position.current.left+"px",top:this.position.current.top+"px"});return false},rearrange:function(E,D,C){C?C.append(this.currentItem):D.item[this.direction=="down"?"before":"after"](this.currentItem);this.refreshPositions(true);if(this.placeholderElement){this.placeholder.css(this.placeholderElement.offset())}if(this.placeholderElement&&this.placeholderElement.is(":visible")){this.placeholder.css({width:this.placeholderElement.outerWidth(),height:this.placeholderElement.outerHeight()})}}});B.extend(B.ui.sortable,{getter:"serialize toArray",defaults:{items:"> *",zIndex:1000}});B.ui.plugin.add("sortable","cursor",{start:function(E,D){var C=B("body");if(C.css("cursor")){D.options._cursor=C.css("cursor")}C.css("cursor",D.options.cursor)},stop:function(D,C){if(C.options._cursor){B("body").css("cursor",C.options._cursor)}}});B.ui.plugin.add("sortable","zIndex",{start:function(E,D){var C=D.helper;if(C.css("zIndex")){D.options._zIndex=C.css("zIndex")}C.css("zIndex",D.options.zIndex)},stop:function(D,C){if(C.options._zIndex){B(C.helper).css("zIndex",C.options._zIndex)}}});B.ui.plugin.add("sortable","opacity",{start:function(E,D){var C=D.helper;if(C.css("opacity")){D.options._opacity=C.css("opacity")}C.css("opacity",D.options.opacity)},stop:function(D,C){if(C.options._opacity){B(C.helper).css("opacity",C.options._opacity)}}});B.ui.plugin.add("sortable","revert",{stop:function(E,D){var C=D.instance;C.cancelHelperRemoval=true;var F=C.currentItem.offset();var G=C.helper.offsetParent().offset();if(D.instance.options.zIndex){D.helper.css("zIndex",D.instance.options.zIndex)}if(D.instance.placeholder){D.instance.placeholder.animate({opacity:"hide"},parseInt(D.options.revert,10)||500)}D.helper.animate({left:F.left-G.left-C.margins.left,top:F.top-G.top-C.margins.top},parseInt(D.options.revert,10)||500,function(){C.currentItem.css("visibility","visible");window.setTimeout(function(){if(C.placeholder){C.placeholder.remove()}C.helper.remove();if(D.options._zIndex){D.helper.css("zIndex",D.options._zIndex)}},50)})}});B.ui.plugin.add("sortable","containment",{start:function(E,C){var G=C.options;if((G.containment.left!=undefined||G.containment.constructor==Array)&&!G._containment){return }if(!G._containment){G._containment=G.containment}if(G._containment=="parent"){G._containment=this[0].parentNode}if(G._containment=="sortable"){G._containment=this[0]}if(G._containment=="document"){G.containment=[0,0,B(document).width(),(B(document).height()||document.body.parentNode.scrollHeight)]}else{var D=B(G._containment);var F=D.offset();G.containment=[F.left,F.top,F.left+(D.outerWidth()||D[0].scrollWidth),F.top+(D.outerHeight()||D[0].scrollHeight)]}},sort:function(F,J){var C=J.options;var E=J.helper;var I=C.containment;var L=J.instance;var G=(parseInt(L.offsetParent.css("borderLeftWidth"),10)||0);var K=(parseInt(L.offsetParent.css("borderRightWidth"),10)||0);var D=(parseInt(L.offsetParent.css("borderTopWidth"),10)||0);var H=(parseInt(L.offsetParent.css("borderBottomWidth"),10)||0);if(I.constructor==Array){if((L.position.absolute.left<I[0])){L.position.current.left=I[0]-L.offsets.parent.left-L.margins.left}if((L.position.absolute.top<I[1])){L.position.current.top=I[1]-L.offsets.parent.top-L.margins.top}if(L.position.absolute.left-I[2]+L.helperProportions.width>=0){L.position.current.left=I[2]-L.offsets.parent.left-L.helperProportions.width-L.margins.left-G-K}if(L.position.absolute.top-I[3]+L.helperProportions.height>=0){L.position.current.top=I[3]-L.offsets.parent.top-L.helperProportions.height-L.margins.top-D-H}}else{if((J.position.left<I.left)){L.position.current.left=I.left}if((J.position.top<I.top)){L.position.current.top=I.top}if(J.position.left-L.offsetParent.innerWidth()+L.helperProportions.width+I.right+G+K>=0){L.position.current.left=L.offsetParent.innerWidth()-L.helperProportions.width-I.right-G-K}if(J.position.top-L.offsetParent.innerHeight()+L.helperProportions.height+I.bottom+D+H>=0){L.position.current.top=L.offsetParent.innerHeight()-L.helperProportions.height-I.bottom-D-H}}}});B.ui.plugin.add("sortable","axis",{sort:function(D,C){var E=C.options;if(E.constraint){E.axis=E.constraint}E.axis=="x"?C.instance.position.current.top=C.instance.originalPosition.top:C.instance.position.current.left=C.instance.originalPosition.left}});B.ui.plugin.add("sortable","scroll",{start:function(D,C){var E=C.options;E.scrollSensitivity=E.scrollSensitivity||20;E.scrollSpeed=E.scrollSpeed||20;C.instance.overflowY=function(F){do{if((/auto|scroll/).test(F.css("overflow"))||(/auto|scroll/).test(F.css("overflow-y"))){return F}F=F.parent()}while(F[0].parentNode);return B(document)}(this);C.instance.overflowX=function(F){do{if((/auto|scroll/).test(F.css("overflow"))||(/auto|scroll/).test(F.css("overflow-x"))){return F}F=F.parent()}while(F[0].parentNode);return B(document)}(this);if(C.instance.overflowY[0]!=document&&C.instance.overflowY[0].tagName!="HTML"){C.instance.overflowYstart=C.instance.overflowY[0].scrollTop}if(C.instance.overflowX[0]!=document&&C.instance.overflowX[0].tagName!="HTML"){C.instance.overflowXstart=C.instance.overflowX[0].scrollLeft}},sort:function(E,D){var F=D.options;var C=D.instance;if(C.overflowY[0]!=document&&C.overflowY[0].tagName!="HTML"){if(C.overflowY[0].offsetHeight-(D.position.top-C.overflowY[0].scrollTop+C.clickOffset.top)<F.scrollSensitivity){C.overflowY[0].scrollTop=C.overflowY[0].scrollTop+F.scrollSpeed}if((D.position.top-C.overflowY[0].scrollTop+C.clickOffset.top)<F.scrollSensitivity){C.overflowY[0].scrollTop=C.overflowY[0].scrollTop-F.scrollSpeed}}else{if(E.pageY-B(document).scrollTop()<F.scrollSensitivity){B(document).scrollTop(B(document).scrollTop()-F.scrollSpeed)}if(B(window).height()-(E.pageY-B(document).scrollTop())<F.scrollSensitivity){B(document).scrollTop(B(document).scrollTop()+F.scrollSpeed)}}if(C.overflowX[0]!=document&&C.overflowX[0].tagName!="HTML"){if(C.overflowX[0].offsetWidth-(D.position.left-C.overflowX[0].scrollLeft+C.clickOffset.left)<F.scrollSensitivity){C.overflowX[0].scrollLeft=C.overflowX[0].scrollLeft+F.scrollSpeed}if((D.position.top-C.overflowX[0].scrollLeft+C.clickOffset.left)<F.scrollSensitivity){C.overflowX[0].scrollLeft=C.overflowX[0].scrollLeft-F.scrollSpeed}}else{if(E.pageX-B(document).scrollLeft()<F.scrollSensitivity){B(document).scrollLeft(B(document).scrollLeft()-F.scrollSpeed)}if(B(window).width()-(E.pageX-B(document).scrollLeft())<F.scrollSensitivity){B(document).scrollLeft(B(document).scrollLeft()+F.scrollSpeed)}}C.offset={left:C.mouse.start.left-C.originalPosition.left+(C.overflowXstart!==undefined?C.overflowXstart-C.overflowX[0].scrollLeft:0),top:C.mouse.start.top-C.originalPosition.top+(C.overflowYstart!==undefined?C.overflowYstart-C.overflowX[0].scrollTop:0)}}})})(jQuery);