(function($){$.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","revert",{stop:function(e,ui){var self=ui.instance;self.cancelHelperRemoval=true;var cur=self.currentItem.offset();if(ui.instance.options.zIndex)ui.helper.css('zIndex',ui.instance.options.zIndex);if(ui.instance.placeholder)ui.instance.placeholder.animate({opacity:'hide'},parseInt(ui.options.revert,10)||500);ui.helper.animate({left:cur.left-self.offsetParentOffset.left-(parseInt(self.currentItem.css('marginLeft'))||0),top:cur.top-self.offsetParentOffset.top-(parseInt(self.currentItem.css('marginTop'))||0)},parseInt(ui.options.revert,10)||500,function(){self.currentItem.css('visibility','visible');window.setTimeout(function(){if(self.placeholder)self.placeholder.remove();self.helper.remove();if(ui.options._zIndex)ui.helper.css('zIndex',ui.options._zIndex);},50);});}});$.ui.plugin.add("sortable","containment",{start:function(e,ui){var o=ui.options;if((o.containment.left!=undefined||o.containment.constructor==Array)&&!o._containment)return;if(!o._containment)o._containment=o.containment;if(o._containment=='parent')o._containment=this[0].parentNode;if(o._containment=='document'){o.containment=[0,0,$(document).width(),($(document).height()||document.body.parentNode.scrollHeight)];}else{var ce=$(o._containment)[0];var co=$(o._containment).offset();o.containment=[co.left,co.top,co.left+(ce.offsetWidth||ce.scrollWidth),co.top+(ce.offsetHeight||ce.scrollHeight)];}},sort:function(e,ui){var o=ui.options;var h=ui.helper;var c=o.containment;var self=ui.instance;if(c.constructor==Array){if((ui.absolutePosition.left<c[0]))self.position.left=c[0]-(self.offset.left-self.clickOffset.left);if((ui.absolutePosition.top<c[1]))self.position.top=c[1]-(self.offset.top-self.clickOffset.top);if(ui.absolutePosition.left-c[2]+self.helperProportions.width>=0)self.position.left=c[2]-(self.offset.left-self.clickOffset.left)-self.helperProportions.width;if(ui.absolutePosition.top-c[3]+self.helperProportions.height>=0)self.position.top=c[3]-(self.offset.top-self.clickOffset.top)-self.helperProportions.height;}else{if((ui.position.left<c.left))self.position.left=c.left;if((ui.position.top<c.top))self.position.top=c.top;if(ui.position.left-self.offsetParent.innerWidth()+self.helperProportions.width+c.right+(parseInt(self.offsetParent.css("borderLeftWidth"),10)||0)+(parseInt(self.offsetParent.css("borderRightWidth"),10)||0)>=0)self.position.left=self.offsetParent.innerWidth()-self.helperProportions.width-c.right-(parseInt(self.offsetParent.css("borderLeftWidth"),10)||0)-(parseInt(self.offsetParent.css("borderRightWidth"),10)||0);if(ui.position.top-self.offsetParent.innerHeight()+self.helperProportions.height+c.bottom+(parseInt(self.offsetParent.css("borderTopWidth"),10)||0)+(parseInt(self.offsetParent.css("borderBottomWidth"),10)||0)>=0)self.position.top=self.offsetParent.innerHeight()-self.helperProportions.height-c.bottom-(parseInt(self.offsetParent.css("borderTopWidth"),10)||0)-(parseInt(self.offsetParent.css("borderBottomWidth"),10)||0);}}});$.ui.plugin.add("sortable","axis",{sort:function(e,ui){var o=ui.options;if(o.constraint)o.axis=o.constraint;o.axis=='x'?ui.instance.position.top=ui.instance.originalPosition.top:ui.instance.position.left=ui.instance.originalPosition.left;}});$.ui.plugin.add("sortable","scroll",{start:function(e,ui){var o=ui.options;o.scrollSensitivity=o.scrollSensitivity||20;o.scrollSpeed=o.scrollSpeed||20;ui.instance.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);}(this);ui.instance.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);}(this);},sort:function(e,ui){var o=ui.options;var i=ui.instance;if(i.overflowY[0]!=document&&i.overflowY[0].tagName!='HTML'){if(i.overflowY[0].offsetHeight-(ui.position.top-i.overflowY[0].scrollTop+i.clickOffset.top)<o.scrollSensitivity)
i.overflowY[0].scrollTop=i.overflowY[0].scrollTop+o.scrollSpeed;if((ui.position.top-i.overflowY[0].scrollTop+i.clickOffset.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.overflowX[0].offsetWidth-(ui.position.left-i.overflowX[0].scrollLeft+i.clickOffset.left)<o.scrollSensitivity)
i.overflowX[0].scrollLeft=i.overflowX[0].scrollLeft+o.scrollSpeed;if((ui.position.top-i.overflowX[0].scrollLeft+i.clickOffset.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.instance.recallOffset(e);}});})(jQuery);