(function($){function contains(a,b){var safari2=$.browser.safari&&$.browser.version<522;if(a.contains&&!safari2){return a.contains(b)}if(a.compareDocumentPosition){return !!(a.compareDocumentPosition(b)&16)}while(b=b.parentNode){if(b==a){return true}}return false}$.widget("ui.sortable",$.extend({},$.ui.mouse,{init:function(){var o=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.mouseInit()},plugins:{},ui:function(inst){return{helper:(inst||this)["helper"],placeholder:(inst||this)["placeholder"]||$([]),position:(inst||this)["position"],absolutePosition:(inst||this)["positionAbs"],options:this.options,element:this.element,item:(inst||this)["currentItem"],sender:inst?inst.element:null}},propagate:function(n,e,inst,noPropagation){$.ui.plugin.call(this,n,[e,this.ui(inst)]);if(!noPropagation){this.element.triggerHandler(n=="sort"?n:"sort"+n,[e,this.ui(inst)],this.options[n])}},serialize:function(o){var items=($.isFunction(this.options.items)?this.options.items.call(this.element):$(this.options.items,this.element)).not(".ui-sortable-helper");var str=[];o=o||{};items.each(function(){var res=($(this).attr(o.attribute||"id")||"").match(o.expression||(/(.+)[-=_](.+)/));if(res){str.push((o.key||res[1])+"[]="+(o.key&&o.expression?res[1]:res[2]))}});return str.join("&")},toArray:function(attr){var items=($.isFunction(this.options.items)?this.options.items.call(this.element):$(this.options.items,this.element)).not(".ui-sortable-helper");var ret=[];items.each(function(){ret.push($(this).attr(attr||"id"))});return ret},intersectsWith:function(item){var x1=this.positionAbs.left,x2=x1+this.helperProportions.width,y1=this.positionAbs.top,y2=y1+this.helperProportions.height;var l=item.left,r=l+item.width,t=item.top,b=t+item.height;if(this.options.tolerance=="pointer"||this.options.forcePointerForContainers||(this.options.tolerance=="guess"&&this.helperProportions[this.floating?"width":"height"]>item[this.floating?"width":"height"])){return(y1+this.offset.click.top>t&&y1+this.offset.click.top<b&&x1+this.offset.click.left>l&&x1+this.offset.click.left<r)}else{return(l<x1+(this.helperProportions.width/2)&&x2-(this.helperProportions.width/2)<r&&t<y1+(this.helperProportions.height/2)&&y2-(this.helperProportions.height/2)<b)}},intersectsWithEdge:function(item){var x1=this.positionAbs.left,x2=x1+this.helperProportions.width,y1=this.positionAbs.top,y2=y1+this.helperProportions.height;var l=item.left,r=l+item.width,t=item.top,b=t+item.height;if(this.options.tolerance=="pointer"||(this.options.tolerance=="guess"&&this.helperProportions[this.floating?"width":"height"]>item[this.floating?"width":"height"])){if(!(y1+this.offset.click.top>t&&y1+this.offset.click.top<b&&x1+this.offset.click.left>l&&x1+this.offset.click.left<r)){return false}if(this.floating){if(x1+this.offset.click.left>l&&x1+this.offset.click.left<l+item.width/2){return 2}if(x1+this.offset.click.left>l+item.width/2&&x1+this.offset.click.left<r){return 1}}else{if(y1+this.offset.click.top>t&&y1+this.offset.click.top<t+item.height/2){return 2}if(y1+this.offset.click.top>t+item.height/2&&y1+this.offset.click.top<b){return 1}}}else{if(!(l<x1+(this.helperProportions.width/2)&&x2-(this.helperProportions.width/2)<r&&t<y1+(this.helperProportions.height/2)&&y2-(this.helperProportions.height/2)<b)){return false}if(this.floating){if(x2>l&&x1<l){return 2}if(x1<r&&x2>r){return 1}}else{if(y2>t&&y1<t){return 1}if(y1<b&&y2>b){return 2}}}return false},refresh:function(){this.refreshItems();this.refreshPositions()},refreshItems:function(){this.items=[];this.containers=[this];var items=this.items;var self=this;var queries=[[$.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):$(this.options.items,this.element),this]];if(this.options.connectWith){for(var i=this.options.connectWith.length-1;i>=0;i--){var cur=$(this.options.connectWith[i]);for(var j=cur.length-1;j>=0;j--){var inst=$.data(cur[j],"sortable");if(inst&&!inst.options.disabled){queries.push([$.isFunction(inst.options.items)?inst.options.items.call(inst.element):$(inst.options.items,inst.element),inst]);this.containers.push(inst)}}}}for(var i=queries.length-1;i>=0;i--){queries[i][0].each(function(){$.data(this,"sortable-item",queries[i][1]);items.push({item:$(this),instance:queries[i][1],width:0,height:0,left:0,top:0})})}},refreshPositions:function(fast){if(this.offsetParent){var po=this.offsetParent.offset();this.offset.parent={top:po.top+this.offsetParentBorders.top,left:po.left+this.offsetParentBorders.left}}for(var i=this.items.length-1;i>=0;i--){if(this.items[i].instance!=this.currentContainer&&this.currentContainer&&this.items[i].item[0]!=this.currentItem[0]){continue}var t=this.options.toleranceElement?$(this.options.toleranceElement,this.items[i].item):this.items[i].item;if(!fast){this.items[i].width=t[0].offsetWidth;this.items[i].height=t[0].offsetHeight}var p=t.offset();this.items[i].left=p.left;this.items[i].top=p.top}if(this.options.custom&&this.options.custom.refreshContainers){this.options.custom.refreshContainers.call(this)}else{for(var i=this.containers.length-1;i>=0;i--){var p=this.containers[i].element.offset();this.containers[i].containerCache.left=p.left;this.containers[i].containerCache.top=p.top;this.containers[i].containerCache.width=this.containers[i].element.outerWidth();this.containers[i].containerCache.height=this.containers[i].element.outerHeight()}}},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this.mouseDestroy();for(var i=this.items.length-1;i>=0;i--){this.items[i].item.removeData("sortable-item")}},createPlaceholder:function(that){var self=that||this,o=self.options;if(o.placeholder.constructor==String){var className=o.placeholder;o.placeholder={element:function(){return $("<div></div>").addClass(className)[0]},update:function(i,p){p.css(i.offset()).css({width:i.outerWidth(),height:i.outerHeight()})}}}self.placeholder=$(o.placeholder.element.call(self.element,self.currentItem)).appendTo("body").css({position:"absolute"});o.placeholder.update.call(self.element,self.currentItem,self.placeholder)},contactContainers:function(e){for(var i=this.containers.length-1;i>=0;i--){if(this.intersectsWith(this.containers[i].containerCache)){if(!this.containers[i].containerCache.over){if(this.currentContainer!=this.containers[i]){var dist=10000;var itemWithLeastDistance=null;var base=this.positionAbs[this.containers[i].floating?"left":"top"];for(var j=this.items.length-1;j>=0;j--){if(!contains(this.containers[i].element[0],this.items[j].item[0])){continue}var cur=this.items[j][this.containers[i].floating?"left":"top"];if(Math.abs(cur-base)<dist){dist=Math.abs(cur-base);itemWithLeastDistance=this.items[j]}}if(!itemWithLeastDistance&&!this.options.dropOnEmpty){continue}if(this.placeholder){this.placeholder.remove()}if(this.containers[i].options.placeholder){this.containers[i].createPlaceholder(this)}else{this.placeholder=null}this.currentContainer=this.containers[i];itemWithLeastDistance?this.rearrange(e,itemWithLeastDistance,null,true):this.rearrange(e,null,this.containers[i].element,true);this.propagate("change",e);this.containers[i].propagate("change",e,this)}this.containers[i].propagate("over",e,this);this.containers[i].containerCache.over=1}}else{if(this.containers[i].containerCache.over){this.containers[i].propagate("out",e,this);this.containers[i].containerCache.over=0}}}},mouseCapture:function(e,overrideHandle){if(this.options.disabled||this.options.type=="static"){return false}this.refreshItems();var currentItem=null,self=this,nodes=$(e.target).parents().each(function(){if($.data(this,"sortable-item")==self){currentItem=$(this);return false}});if($.data(e.target,"sortable-item")==self){currentItem=$(e.target)}if(!currentItem){return false}if(this.options.handle&&!overrideHandle){var validHandle=false;$(this.options.handle,currentItem).find("*").andSelf().each(function(){if(this==e.target){validHandle=true}});if(!validHandle){return false}}this.currentItem=currentItem;return true},mouseStart:function(e,overrideHandle,noActivation){var o=this.options;this.currentContainer=this;this.refreshPositions();this.helper=typeof o.helper=="function"?$(o.helper.apply(this.element[0],[e,this.currentItem])):this.currentItem.clone();if(!this.helper.parents("body").length){$(o.appendTo!="parent"?o.appendTo:this.currentItem[0].parentNode)[0].appendChild(this.helper[0])}this.helper.css({position:"absolute",clear:"both"}).addClass("ui-sortable-helper");this.margins={left:(parseInt(this.currentItem.css("marginLeft"),10)||0),top:(parseInt(this.currentItem.css("marginTop"),10)||0)};this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.offset.click={left:e.pageX-this.offset.left,top:e.pageY-this.offset.top};this.offsetParent=this.helper.offsetParent();var po=this.offsetParent.offset();this.offsetParentBorders={top:(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)};this.offset.parent={top:po.top+this.offsetParentBorders.top,left:po.left+this.offsetParentBorders.left};this.originalPosition=this.generatePosition(e);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()};if(o.placeholder){this.createPlaceholder()}this.propagate("start",e);this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()};if(o.cursorAt){if(o.cursorAt.left!=undefined){this.offset.click.left=o.cursorAt.left}if(o.cursorAt.right!=undefined){this.offset.click.left=this.helperProportions.width-o.cursorAt.right}if(o.cursorAt.top!=undefined){this.offset.click.top=o.cursorAt.top}if(o.cursorAt.bottom!=undefined){this.offset.click.top=this.helperProportions.height-o.cursorAt.bottom}}if(o.containment){if(o.containment=="parent"){o.containment=this.helper[0].parentNode}if(o.containment=="document"||o.containment=="window"){this.containment=[0-this.offset.parent.left,0-this.offset.parent.top,$(o.containment=="document"?document:window).width()-this.offset.parent.left-this.helperProportions.width-this.margins.left-(parseInt(this.element.css("marginRight"),10)||0),($(o.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.offset.parent.top-this.helperProportions.height-this.margins.top-(parseInt(this.element.css("marginBottom"),10)||0)]}if(!(/^(document|window|parent)$/).test(o.containment)){var ce=$(o.containment)[0];var co=$(o.containment).offset();this.containment=[co.left+(parseInt($(ce).css("borderLeftWidth"),10)||0)-this.offset.parent.left,co.top+(parseInt($(ce).css("borderTopWidth"),10)||0)-this.offset.parent.top,co.left+Math.max(ce.scrollWidth,ce.offsetWidth)-(parseInt($(ce).css("borderLeftWidth"),10)||0)-this.offset.parent.left-this.helperProportions.width-this.margins.left-(parseInt(this.currentItem.css("marginRight"),10)||0),co.top+Math.max(ce.scrollHeight,ce.offsetHeight)-(parseInt($(ce).css("borderTopWidth"),10)||0)-this.offset.parent.top-this.helperProportions.height-this.margins.top-(parseInt(this.currentItem.css("marginBottom"),10)||0)]}}if(this.options.placeholder!="clone"){this.currentItem.css("visibility","hidden")}if(!noActivation){for(var i=this.containers.length-1;i>=0;i--){this.containers[i].propagate("activate",e,this)}}if($.ui.ddmanager){$.ui.ddmanager.current=this}if($.ui.ddmanager&&!o.dropBehaviour){$.ui.ddmanager.prepareOffsets(this,e)}this.dragging=true;this.mouseDrag(e);return true},convertPositionTo:function(d,pos){if(!pos){pos=this.position}var mod=d=="absolute"?1:-1;return{top:(pos.top+this.offset.parent.top*mod-(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)*mod+this.margins.top*mod),left:(pos.left+this.offset.parent.left*mod-(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft)*mod+this.margins.left*mod)}},generatePosition:function(e){var o=this.options;var position={top:(e.pageY-this.offset.click.top-this.offset.parent.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)),left:(e.pageX-this.offset.click.left-this.offset.parent.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft))};if(!this.originalPosition){return position}if(this.containment){if(position.left<this.containment[0]){position.left=this.containment[0]}if(position.top<this.containment[1]){position.top=this.containment[1]}if(position.left>this.containment[2]){position.left=this.containment[2]}if(position.top>this.containment[3]){position.top=this.containment[3]}}if(o.grid){var top=this.originalPosition.top+Math.round((position.top-this.originalPosition.top)/o.grid[1])*o.grid[1];position.top=this.containment?(!(top<this.containment[1]||top>this.containment[3])?top:(!(top<this.containment[1])?top-o.grid[1]:top+o.grid[1])):top;var left=this.originalPosition.left+Math.round((position.left-this.originalPosition.left)/o.grid[0])*o.grid[0];position.left=this.containment?(!(left<this.containment[0]||left>this.containment[2])?left:(!(left<this.containment[0])?left-o.grid[0]:left+o.grid[0])):left}return position},mouseDrag:function(e){this.position=this.generatePosition(e);this.positionAbs=this.convertPositionTo("absolute");$.ui.plugin.call(this,"sort",[e,this.ui()]);this.positionAbs=this.convertPositionTo("absolute");this.helper[0].style.left=this.position.left+"px";this.helper[0].style.top=this.position.top+"px";for(var i=this.items.length-1;i>=0;i--){var intersection=this.intersectsWithEdge(this.items[i]);if(!intersection){continue}if(this.items[i].item[0]!=this.currentItem[0]&&this.currentItem[intersection==1?"next":"prev"]()[0]!=this.items[i].item[0]&&!contains(this.currentItem[0],this.items[i].item[0])&&(this.options.type=="semi-dynamic"?!contains(this.element[0],this.items[i].item[0]):true)){this.direction=intersection==1?"down":"up";this.rearrange(e,this.items[i]);this.propagate("change",e);break}}this.contactContainers(e);if($.ui.ddmanager){$.ui.ddmanager.drag(this,e)}this.element.triggerHandler("sort",[e,this.ui()],this.options.sort);return false},rearrange:function(e,i,a,hardRefresh){a?a[0].appendChild(this.currentItem[0]):i.item[0].parentNode.insertBefore(this.currentItem[0],(this.direction=="down"?i.item[0]:i.item[0].nextSibling));this.counter=this.counter?++this.counter:1;var self=this,counter=this.counter;window.setTimeout(function(){if(counter==self.counter){self.refreshPositions(!hardRefresh)}},0);if(this.options.placeholder){this.options.placeholder.update.call(this.element,this.currentItem,this.placeholder)}},mouseStop:function(e,noPropagation){if($.ui.ddmanager&&!this.options.dropBehaviour){$.ui.ddmanager.drop(this,e)}if(this.options.revert){var self=this;var cur=self.currentItem.offset();if(self.placeholder){self.placeholder.animate({opacity:"hide"},(parseInt(this.options.revert,10)||500)-50)}$(this.helper).animate({left:cur.left-this.offset.parent.left-self.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:cur.top-this.offset.parent.top-self.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){self.clear(e)})}else{this.clear(e,noPropagation)}return false},clear:function(e,noPropagation){if(this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0]){this.propagate("update",e,null,noPropagation)}if(!contains(this.element[0],this.currentItem[0])){this.propagate("remove",e,null,noPropagation);for(var i=this.containers.length-1;i>=0;i--){if(contains(this.containers[i].element[0],this.currentItem[0])){this.containers[i].propagate("update",e,this,noPropagation);this.containers[i].propagate("receive",e,this,noPropagation)}}}for(var i=this.containers.length-1;i>=0;i--){this.containers[i].propagate("deactivate",e,this,noPropagation);if(this.containers[i].containerCache.over){this.containers[i].propagate("out",e,this);this.containers[i].containerCache.over=0}}this.dragging=false;if(this.cancelHelperRemoval){this.propagate("stop",e,null,noPropagation);return false}$(this.currentItem).css("visibility","");if(this.placeholder){this.placeholder.remove()}this.helper.remove();this.helper=null;this.propagate("stop",e,null,noPropagation);return true}}));$.extend($.ui.sortable,{getter:"serialize toArray",defaults:{helper:"clone",tolerance:"guess",distance:1,delay:0,scroll:true,scrollSensitivity:20,scrollSpeed:20,cancel:":input",items:"> *",zIndex:1000,dropOnEmpty:true,appendTo:"parent"}});$.ui.plugin.add("sortable","cursor",{start:function(e,ui){var t=$("body");if(t.css("cursor")){ui.options._cursor=t.css("cursor")}t.css("cursor",ui.options.cursor)},stop:function(e,ui){if(ui.options._cursor){$("body").css("cursor",ui.options._cursor)}}});$.ui.plugin.add("sortable","zIndex",{start:function(e,ui){var t=ui.helper;if(t.css("zIndex")){ui.options._zIndex=t.css("zIndex")}t.css("zIndex",ui.options.zIndex)},stop:function(e,ui){if(ui.options._zIndex){$(ui.helper).css("zIndex",ui.options._zIndex)}}});$.ui.plugin.add("sortable","opacity",{start:function(e,ui){var t=ui.helper;if(t.css("opacity")){ui.options._opacity=t.css("opacity")}t.css("opacity",ui.options.opacity)},stop:function(e,ui){if(ui.options._opacity){$(ui.helper).css("opacity",ui.options._opacity)}}});$.ui.plugin.add("sortable","scroll",{start:function(e,ui){var o=ui.options;var i=$(this).data("sortable");i.overflowY=function(el){do{if(/auto|scroll/.test(el.css("overflow"))||(/auto|scroll/).test(el.css("overflow-y"))){return el}el=el.parent()}while(el[0].parentNode);return $(document)}(i.currentItem);i.overflowX=function(el){do{if(/auto|scroll/.test(el.css("overflow"))||(/auto|scroll/).test(el.css("overflow-x"))){return el}el=el.parent()}while(el[0].parentNode);return $(document)}(i.currentItem);if(i.overflowY[0]!=document&&i.overflowY[0].tagName!="HTML"){i.overflowYOffset=i.overflowY.offset()}if(i.overflowX[0]!=document&&i.overflowX[0].tagName!="HTML"){i.overflowXOffset=i.overflowX.offset()}},sort:function(e,ui){var o=ui.options;var i=$(this).data("sortable");if(i.overflowY[0]!=document&&i.overflowY[0].tagName!="HTML"){if((i.overflowYOffset.top+i.overflowY[0].offsetHeight)-e.pageY<o.scrollSensitivity){i.overflowY[0].scrollTop=i.overflowY[0].scrollTop+o.scrollSpeed}if(e.pageY-i.overflowYOffset.top<o.scrollSensitivity){i.overflowY[0].scrollTop=i.overflowY[0].scrollTop-o.scrollSpeed}}else{if(e.pageY-$(document).scrollTop()<o.scrollSensitivity){$(document).scrollTop($(document).scrollTop()-o.scrollSpeed)}if($(window).height()-(e.pageY-$(document).scrollTop())<o.scrollSensitivity){$(document).scrollTop($(document).scrollTop()+o.scrollSpeed)}}if(i.overflowX[0]!=document&&i.overflowX[0].tagName!="HTML"){if((i.overflowXOffset.left+i.overflowX[0].offsetWidth)-e.pageX<o.scrollSensitivity){i.overflowX[0].scrollLeft=i.overflowX[0].scrollLeft+o.scrollSpeed}if(e.pageX-i.overflowXOffset.left<o.scrollSensitivity){i.overflowX[0].scrollLeft=i.overflowX[0].scrollLeft-o.scrollSpeed}}else{if(e.pageX-$(document).scrollLeft()<o.scrollSensitivity){$(document).scrollLeft($(document).scrollLeft()-o.scrollSpeed)}if($(window).width()-(e.pageX-$(document).scrollLeft())<o.scrollSensitivity){$(document).scrollLeft($(document).scrollLeft()+o.scrollSpeed)}}}});$.ui.plugin.add("sortable","axis",{sort:function(e,ui){var i=$(this).data("sortable");if(ui.options.axis=="y"){i.position.left=i.originalPosition.left}if(ui.options.axis=="x"){i.position.top=i.originalPosition.top}}})})(jQuery);