
/* - jquery.ui.sortable.ext.js - */
// http://www.metanet.ch/portal_javascripts/jquery.ui.sortable.ext.js?original=1
(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'),10)||0),top:cur.top-self.offsetParentOffset.top-(parseInt(self.currentItem.css('marginTop'),10)||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);

