1 /*! jQuery UI - v1.9.0 - 2012-10-08
3 * Includes: jquery.ui.sortable.js
4 * Copyright 2012 jQuery Foundation and other contributors; Licensed MIT */
5 (function(e
,t
){e
.widget("ui.sortable",e
.ui
.mouse
,{version
:"1.9.0",widgetEventPrefix
:"sort",ready
:!1,options
:{appendTo
:"parent",axis
:!1,connectWith
:!1,containment
:!1,cursor
:"auto",cursorAt
:!1,dropOnEmpty
:!0,forcePlaceholderSize
:!1,forceHelperSize
:!1,grid
:!1,handle
:!1,helper
:"original",items
:"> *",opacity
:!1,placeholder
:!1,revert
:!1,scroll
:!0,scrollSensitivity
:20,scrollSpeed
:20,scope
:"default",tolerance
:"intersect",zIndex
:1e3
},_create:function(){var e
=this.options
;this.containerCache
={},this.element
.addClass("ui-sortable"),this.refresh(),this.floating
=this.items
.length
?e
.axis
==="x"||/left|right/.test(this.items
[0].item
.css("float"))||/inline|table-cell/.test(this.items
[0].item
.css("display")):!1,this.offset
=this.element
.offset(),this._mouseInit(),this.ready
=!0},_destroy:function(){this.element
.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var e
=this.items
.length
-1;e
>=0;e
--)this.items
[e
].item
.removeData(this.widgetName
+"-item");return this},_setOption:function(t
,n
){t
==="disabled"?(this.options
[t
]=n
,this.widget().toggleClass("ui-sortable-disabled",!!n
)):e
.Widget
.prototype._setOption
.apply(this,arguments
)},_mouseCapture:function(t
,n
){var r
=this;if(this.reverting
)return!1;if(this.options
.disabled
||this.options
.type
=="static")return!1;this._refreshItems(t
);var i
=null,s
=e(t
.target
).parents().each(function(){if(e
.data(this,r
.widgetName
+"-item")==r
)return i
=e(this),!1});e
.data(t
.target
,r
.widgetName
+"-item")==r
&&(i
=e(t
.target
));if(!i
)return!1;if(this.options
.handle
&&!n
){var o
=!1;e(this.options
.handle
,i
).find("*").andSelf().each(function(){this==t
.target
&&(o
=!0)});if(!o
)return!1}return this.currentItem
=i
,this._removeCurrentsFromItems(),!0},_mouseStart:function(t
,n
,r
){var i
=this.options
;this.currentContainer
=this,this.refreshPositions(),this.helper
=this._createHelper(t
),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent
=this.helper
.scrollParent(),this.offset
=this.currentItem
.offset(),this.offset
={top
:this.offset
.top
-this.margins
.top
,left
:this.offset
.left
-this.margins
.left
},e
.extend(this.offset
,{click
:{left
:t
.pageX
-this.offset
.left
,top
:t
.pageY
-this.offset
.top
},parent
:this._getParentOffset(),relative
:this._getRelativeOffset()}),this.helper
.css("position","absolute"),this.cssPosition
=this.helper
.css("position"),this.originalPosition
=this._generatePosition(t
),this.originalPageX
=t
.pageX
,this.originalPageY
=t
.pageY
,i
.cursorAt
&&this._adjustOffsetFromHelper(i
.cursorAt
),this.domPosition
={prev
:this.currentItem
.prev()[0],parent
:this.currentItem
.parent()[0]},this.helper
[0]!=this.currentItem
[0]&&this.currentItem
.hide(),this._createPlaceholder(),i
.containment
&&this._setContainment(),i
.cursor
&&(e("body").css("cursor")&&(this._storedCursor
=e("body").css("cursor")),e("body").css("cursor",i
.cursor
)),i
.opacity
&&(this.helper
.css("opacity")&&(this._storedOpacity
=this.helper
.css("opacity")),this.helper
.css("opacity",i
.opacity
)),i
.zIndex
&&(this.helper
.css("zIndex")&&(this._storedZIndex
=this.helper
.css("zIndex")),this.helper
.css("zIndex",i
.zIndex
)),this.scrollParent
[0]!=document
&&this.scrollParent
[0].tagName
!="HTML"&&(this.overflowOffset
=this.scrollParent
.offset()),this._trigger("start",t
,this._uiHash()),this._preserveHelperProportions
||this._cacheHelperProportions();if(!r
)for(var s
=this.containers
.length
-1;s
>=0;s
--)this.containers
[s
]._trigger("activate",t
,this._uiHash(this));return e
.ui
.ddmanager
&&(e
.ui
.ddmanager
.current
=this),e
.ui
.ddmanager
&&!i
.dropBehaviour
&&e
.ui
.ddmanager
.prepareOffsets(this,t
),this.dragging
=!0,this.helper
.addClass("ui-sortable-helper"),this._mouseDrag(t
),!0},_mouseDrag:function(t
){this.position
=this._generatePosition(t
),this.positionAbs
=this._convertPositionTo("absolute"),this.lastPositionAbs
||(this.lastPositionAbs
=this.positionAbs
);if(this.options
.scroll
){var n
=this.options
,r
=!1;this.scrollParent
[0]!=document
&&this.scrollParent
[0].tagName
!="HTML"?(this.overflowOffset
.top
+this.scrollParent
[0].offsetHeight
-t
.pageY
<n
.scrollSensitivity
?this.scrollParent
[0].scrollTop
=r
=this.scrollParent
[0].scrollTop
+n
.scrollSpeed
:t
.pageY
-this.overflowOffset
.top
<n
.scrollSensitivity
&&(this.scrollParent
[0].scrollTop
=r
=this.scrollParent
[0].scrollTop
-n
.scrollSpeed
),this.overflowOffset
.left
+this.scrollParent
[0].offsetWidth
-t
.pageX
<n
.scrollSensitivity
?this.scrollParent
[0].scrollLeft
=r
=this.scrollParent
[0].scrollLeft
+n
.scrollSpeed
:t
.pageX
-this.overflowOffset
.left
<n
.scrollSensitivity
&&(this.scrollParent
[0].scrollLeft
=r
=this.scrollParent
[0].scrollLeft
-n
.scrollSpeed
)):(t
.pageY
-e(document
).scrollTop()<n
.scrollSensitivity
?r
=e(document
).scrollTop(e(document
).scrollTop()-n
.scrollSpeed
):e(window
).height()-(t
.pageY
-e(document
).scrollTop())<n
.scrollSensitivity
&&(r
=e(document
).scrollTop(e(document
).scrollTop()+n
.scrollSpeed
)),t
.pageX
-e(document
).scrollLeft()<n
.scrollSensitivity
?r
=e(document
).scrollLeft(e(document
).scrollLeft()-n
.scrollSpeed
):e(window
).width()-(t
.pageX
-e(document
).scrollLeft())<n
.scrollSensitivity
&&(r
=e(document
).scrollLeft(e(document
).scrollLeft()+n
.scrollSpeed
))),r
!==!1&&e
.ui
.ddmanager
&&!n
.dropBehaviour
&&e
.ui
.ddmanager
.prepareOffsets(this,t
)}this.positionAbs
=this._convertPositionTo("absolute");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";for(var i
=this.items
.length
-1;i
>=0;i
--){var s
=this.items
[i
],o
=s
.item
[0],u
=this._intersectsWithPointer(s
);if(!u
)continue;if(s
.instance
!==this.currentContainer
)continue;if(o
!=this.currentItem
[0]&&this.placeholder
[u
==1?"next":"prev"]()[0]!=o
&&!e
.contains(this.placeholder
[0],o
)&&(this.options
.type
=="semi-dynamic"?!e
.contains(this.element
[0],o
):!0)){this.direction
=u
==1?"down":"up";if(this.options
.tolerance
!="pointer"&&!this._intersectsWithSides(s
))break;this._rearrange(t
,s
),this._trigger("change",t
,this._uiHash());break}}return this._contactContainers(t
),e
.ui
.ddmanager
&&e
.ui
.ddmanager
.drag(this,t
),this._trigger("sort",t
,this._uiHash()),this.lastPositionAbs
=this.positionAbs
,!1},_mouseStop:function(t
,n
){if(!t
)return;e
.ui
.ddmanager
&&!this.options
.dropBehaviour
&&e
.ui
.ddmanager
.drop(this,t
);if(this.options
.revert
){var r
=this,i
=this.placeholder
.offset();this.reverting
=!0,e(this.helper
).animate({left
:i
.left
-this.offset
.parent
.left
-this.margins
.left
+(this.offsetParent
[0]==document
.body
?0:this.offsetParent
[0].scrollLeft
),top
:i
.top
-this.offset
.parent
.top
-this.margins
.top
+(this.offsetParent
[0]==document
.body
?0:this.offsetParent
[0].scrollTop
)},parseInt(this.options
.revert
,10)||500,function(){r
._clear(t
)})}else this._clear(t
,n
);return!1},cancel:function(){if(this.dragging
){this._mouseUp({target
:null}),this.options
.helper
=="original"?this.currentItem
.css(this._storedCSS
).removeClass("ui-sortable-helper"):this.currentItem
.show();for(var t
=this.containers
.length
-1;t
>=0;t
--)this.containers
[t
]._trigger("deactivate",null,this._uiHash(this)),this.containers
[t
].containerCache
.over
&&(this.containers
[t
]._trigger("out",null,this._uiHash(this)),this.containers
[t
].containerCache
.over
=0)}return this.placeholder
&&(this.placeholder
[0].parentNode
&&this.placeholder
[0].parentNode
.removeChild(this.placeholder
[0]),this.options
.helper
!="original"&&this.helper
&&this.helper
[0].parentNode
&&this.helper
.remove(),e
.extend(this,{helper
:null,dragging
:!1,reverting
:!1,_noFinalSort
:null}),this.domPosition
.prev
?e(this.domPosition
.prev
).after(this.currentItem
):e(this.domPosition
.parent
).prepend(this.currentItem
)),this},serialize:function(t
){var n
=this._getItemsAsjQuery(t
&&t
.connected
),r
=[];return t
=t
||{},e(n
).each(function(){var n
=(e(t
.item
||this).attr(t
.attribute
||"id")||"").match(t
.expression
||/(.+)[-=_](.+)/);n
&&r
.push((t
.key
||n
[1]+"[]")+"="+(t
.key
&&t
.expression
?n
[1]:n
[2]))}),!r
.length
&&t
.key
&&r
.push(t
.key
+"="),r
.join("&")},toArray:function(t
){var n
=this._getItemsAsjQuery(t
&&t
.connected
),r
=[];return t
=t
||{},n
.each(function(){r
.push(e(t
.item
||this).attr(t
.attribute
||"id")||"")}),r
},_intersectsWith:function(e
){var t
=this.positionAbs
.left
,n
=t
+this.helperProportions
.width
,r
=this.positionAbs
.top
,i
=r
+this.helperProportions
.height
,s
=e
.left
,o
=s
+e
.width
,u
=e
.top
,a
=u
+e
.height
,f
=this.offset
.click
.top
,l
=this.offset
.click
.left
,c
=r
+f
>u
&&r
+f
<a
&&t
+l
>s
&&t
+l
<o
;return this.options
.tolerance
=="pointer"||this.options
.forcePointerForContainers
||this.options
.tolerance
!="pointer"&&this.helperProportions
[this.floating
?"width":"height"]>e
[this.floating
?"width":"height"]?c
:s
<t
+this.helperProportions
.width
/2&&n-this.helperProportions.width/2<o
&&u
<r
+this.helperProportions
.height
/2&&i-this.helperProportions.height/2<a
},_intersectsWithPointer:function(t
){var n
=this.options
.axis
==="x"||e
.ui
.isOverAxis(this.positionAbs
.top
+this.offset
.click
.top
,t
.top
,t
.height
),r
=this.options
.axis
==="y"||e
.ui
.isOverAxis(this.positionAbs
.left
+this.offset
.click
.left
,t
.left
,t
.width
),i
=n
&&r
,s
=this._getDragVerticalDirection(),o
=this._getDragHorizontalDirection();return i
?this.floating
?o
&&o
=="right"||s
=="down"?2:1:s
&&(s
=="down"?2:1):!1},_intersectsWithSides:function(t
){var n
=e
.ui
.isOverAxis(this.positionAbs
.top
+this.offset
.click
.top
,t
.top
+t
.height
/2,t.height),r=e.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t
.width
),i
=this._getDragVerticalDirection(),s
=this._getDragHorizontalDirection();return this.floating
&&s
?s
=="right"&&r
||s
=="left"&&!r
:i
&&(i
=="down"&&n
||i
=="up"&&!n
)},_getDragVerticalDirection:function(){var e
=this.positionAbs
.top
-this.lastPositionAbs
.top
;return e
!=0&&(e
>0?"down":"up")},_getDragHorizontalDirection:function(){var e
=this.positionAbs
.left
-this.lastPositionAbs
.left
;return e
!=0&&(e
>0?"right":"left")},refresh:function(e
){return this._refreshItems(e
),this.refreshPositions(),this},_connectWith:function(){var e
=this.options
;return e
.connectWith
.constructor==String
?[e
.connectWith
]:e
.connectWith
},_getItemsAsjQuery:function(t
){var n
=[],r
=[],i
=this._connectWith();if(i
&&t
)for(var s
=i
.length
-1;s
>=0;s
--){var o
=e(i
[s
]);for(var u
=o
.length
-1;u
>=0;u
--){var a
=e
.data(o
[u
],this.widgetName
);a
&&a
!=this&&!a
.options
.disabled
&&r
.push([e
.isFunction(a
.options
.items
)?a
.options
.items
.call(a
.element
):e(a
.options
.items
,a
.element
).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),a
])}}r
.push([e
.isFunction(this.options
.items
)?this.options
.items
.call(this.element
,null,{options
:this.options
,item
:this.currentItem
}):e(this.options
.items
,this.element
).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(var s
=r
.length
-1;s
>=0;s
--)r
[s
][0].each(function(){n
.push(this)});return e(n
)},_removeCurrentsFromItems:function(){var e
=this.currentItem
.find(":data("+this.widgetName
+"-item)");for(var t
=0;t
<this.items
.length
;t
++)for(var n
=0;n
<e
.length
;n
++)e
[n
]==this.items
[t
].item
[0]&&this.items
.splice(t
,1)},_refreshItems:function(t
){this.items
=[],this.containers
=[this];var n
=this.items
,r
=[[e
.isFunction(this.options
.items
)?this.options
.items
.call(this.element
[0],t
,{item
:this.currentItem
}):e(this.options
.items
,this.element
),this]],i
=this._connectWith();if(i
&&this.ready
)for(var s
=i
.length
-1;s
>=0;s
--){var o
=e(i
[s
]);for(var u
=o
.length
-1;u
>=0;u
--){var a
=e
.data(o
[u
],this.widgetName
);a
&&a
!=this&&!a
.options
.disabled
&&(r
.push([e
.isFunction(a
.options
.items
)?a
.options
.items
.call(a
.element
[0],t
,{item
:this.currentItem
}):e(a
.options
.items
,a
.element
),a
]),this.containers
.push(a
))}}for(var s
=r
.length
-1;s
>=0;s
--){var f
=r
[s
][1],l
=r
[s
][0];for(var u
=0,c
=l
.length
;u
<c
;u
++){var h
=e(l
[u
]);h
.data(this.widgetName
+"-item",f
),n
.push({item
:h
,instance
:f
,width
:0,height
:0,left
:0,top
:0})}}},refreshPositions:function(t
){this.offsetParent
&&this.helper
&&(this.offset
.parent
=this._getParentOffset());for(var n
=this.items
.length
-1;n
>=0;n
--){var r
=this.items
[n
];if(r
.instance
!=this.currentContainer
&&this.currentContainer
&&r
.item
[0]!=this.currentItem
[0])continue;var i
=this.options
.toleranceElement
?e(this.options
.toleranceElement
,r
.item
):r
.item
;t
||(r
.width
=i
.outerWidth(),r
.height
=i
.outerHeight());var s
=i
.offset();r
.left
=s
.left
,r
.top
=s
.top
}if(this.options
.custom
&&this.options
.custom
.refreshContainers
)this.options
.custom
.refreshContainers
.call(this);else for(var n
=this.containers
.length
-1;n
>=0;n
--){var s
=this.containers
[n
].element
.offset();this.containers
[n
].containerCache
.left
=s
.left
,this.containers
[n
].containerCache
.top
=s
.top
,this.containers
[n
].containerCache
.width
=this.containers
[n
].element
.outerWidth(),this.containers
[n
].containerCache
.height
=this.containers
[n
].element
.outerHeight()}return this},_createPlaceholder:function(t
){t
=t
||this;var n
=t
.options
;if(!n
.placeholder
||n
.placeholder
.constructor==String
){var r
=n
.placeholder
;n
.placeholder
={element:function(){var n
=e(document
.createElement(t
.currentItem
[0].nodeName
)).addClass(r
||t
.currentItem
[0].className
+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];return r
||(n
.style
.visibility
="hidden"),n
},update:function(e
,i
){if(r
&&!n
.forcePlaceholderSize
)return;i
.height()||i
.height(t
.currentItem
.innerHeight()-parseInt(t
.currentItem
.css("paddingTop")||0,10)-parseInt(t
.currentItem
.css("paddingBottom")||0,10)),i
.width()||i
.width(t
.currentItem
.innerWidth()-parseInt(t
.currentItem
.css("paddingLeft")||0,10)-parseInt(t
.currentItem
.css("paddingRight")||0,10))}}}t
.placeholder
=e(n
.placeholder
.element
.call(t
.element
,t
.currentItem
)),t
.currentItem
.after(t
.placeholder
),n
.placeholder
.update(t
,t
.placeholder
)},_contactContainers:function(t
){var n
=null,r
=null;for(var i
=this.containers
.length
-1;i
>=0;i
--){if(e
.contains(this.currentItem
[0],this.containers
[i
].element
[0]))continue;if(this._intersectsWith(this.containers
[i
].containerCache
)){if(n
&&e
.contains(this.containers
[i
].element
[0],n
.element
[0]))continue;n
=this.containers
[i
],r
=i
}else this.containers
[i
].containerCache
.over
&&(this.containers
[i
]._trigger("out",t
,this._uiHash(this)),this.containers
[i
].containerCache
.over
=0)}if(!n
)return;if(this.containers
.length
===1)this.containers
[r
]._trigger("over",t
,this._uiHash(this)),this.containers
[r
].containerCache
.over
=1;else if(this.currentContainer
!=this.containers
[r
]){var s
=1e4
,o
=null,u
=this.positionAbs
[this.containers
[r
].floating
?"left":"top"];for(var a
=this.items
.length
-1;a
>=0;a
--){if(!e
.contains(this.containers
[r
].element
[0],this.items
[a
].item
[0]))continue;var f
=this.containers
[r
].floating
?this.items
[a
].item
.offset().left
:this.items
[a
].item
.offset().top
;Math
.abs(f
-u
)<s
&&(s
=Math
.abs(f
-u
),o
=this.items
[a
],this.direction
=f
-u
>0?"down":"up")}if(!o
&&!this.options
.dropOnEmpty
)return;this.currentContainer
=this.containers
[r
],o
?this._rearrange(t
,o
,null,!0):this._rearrange(t
,null,this.containers
[r
].element
,!0),this._trigger("change",t
,this._uiHash()),this.containers
[r
]._trigger("change",t
,this._uiHash(this)),this.options
.placeholder
.update(this.currentContainer
,this.placeholder
),this.containers
[r
]._trigger("over",t
,this._uiHash(this)),this.containers
[r
].containerCache
.over
=1}},_createHelper:function(t
){var n
=this.options
,r
=e
.isFunction(n
.helper
)?e(n
.helper
.apply(this.element
[0],[t
,this.currentItem
])):n
.helper
=="clone"?this.currentItem
.clone():this.currentItem
;return r
.parents("body").length
||e(n
.appendTo
!="parent"?n
.appendTo
:this.currentItem
[0].parentNode
)[0].appendChild(r
[0]),r
[0]==this.currentItem
[0]&&(this._storedCSS
={width
:this.currentItem
[0].style
.width
,height
:this.currentItem
[0].style
.height
,position
:this.currentItem
.css("position"),top
:this.currentItem
.css("top"),left
:this.currentItem
.css("left")}),(r
[0].style
.width
==""||n
.forceHelperSize
)&&r
.width(this.currentItem
.width()),(r
[0].style
.height
==""||n
.forceHelperSize
)&&r
.height(this.currentItem
.height()),r
},_adjustOffsetFromHelper:function(t
){typeof t
=="string"&&(t
=t
.split(" ")),e
.isArray(t
)&&(t
={left
:+t
[0],top
:+t
[1]||0}),"left"in t
&&(this.offset
.click
.left
=t
.left
+this.margins
.left
),"right"in t
&&(this.offset
.click
.left
=this.helperProportions
.width
-t
.right
+this.margins
.left
),"top"in t
&&(this.offset
.click
.top
=t
.top
+this.margins
.top
),"bottom"in t
&&(this.offset
.click
.top
=this.helperProportions
.height
-t
.bottom
+this.margins
.top
)},_getParentOffset:function(){this.offsetParent
=this.helper
.offsetParent();var t
=this.offsetParent
.offset();this.cssPosition
=="absolute"&&this.scrollParent
[0]!=document
&&e
.contains(this.scrollParent
[0],this.offsetParent
[0])&&(t
.left
+=this.scrollParent
.scrollLeft(),t
.top
+=this.scrollParent
.scrollTop());if(this.offsetParent
[0]==document
.body
||this.offsetParent
[0].tagName
&&this.offsetParent
[0].tagName
.toLowerCase()=="html"&&e
.browser
.msie
)t
={top
:0,left
:0};return{top
:t
.top
+(parseInt(this.offsetParent
.css("borderTopWidth"),10)||0),left
:t
.left
+(parseInt(this.offsetParent
.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition
=="relative"){var e
=this.currentItem
.position();return{top
:e
.top
-(parseInt(this.helper
.css("top"),10)||0)+this.scrollParent
.scrollTop(),left
:e
.left
-(parseInt(this.helper
.css("left"),10)||0)+this.scrollParent
.scrollLeft()}}return{top
:0,left
:0}},_cacheMargins:function(){this.margins
={left
:parseInt(this.currentItem
.css("marginLeft"),10)||0,top
:parseInt(this.currentItem
.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions
={width
:this.helper
.outerWidth(),height
:this.helper
.outerHeight()}},_setContainment:function(){var t
=this.options
;t
.containment
=="parent"&&(t
.containment
=this.helper
[0].parentNode
);if(t
.containment
=="document"||t
.containment
=="window")this.containment
=[0-this.offset
.relative
.left
-this.offset
.parent
.left
,0-this.offset
.relative
.top
-this.offset
.parent
.top
,e(t
.containment
=="document"?document
:window
).width()-this.helperProportions
.width
-this.margins
.left
,(e(t
.containment
=="document"?document
:window
).height()||document
.body
.parentNode
.scrollHeight
)-this.helperProportions
.height
-this.margins
.top
];if(!/^(document|window|parent)$/.test(t
.containment
)){var n
=e(t
.containment
)[0],r
=e(t
.containment
).offset(),i
=e(n
).css("overflow")!="hidden";this.containment
=[r
.left
+(parseInt(e(n
).css("borderLeftWidth"),10)||0)+(parseInt(e(n
).css("paddingLeft"),10)||0)-this.margins
.left
,r
.top
+(parseInt(e(n
).css("borderTopWidth"),10)||0)+(parseInt(e(n
).css("paddingTop"),10)||0)-this.margins
.top
,r
.left
+(i
?Math
.max(n
.scrollWidth
,n
.offsetWidth
):n
.offsetWidth
)-(parseInt(e(n
).css("borderLeftWidth"),10)||0)-(parseInt(e(n
).css("paddingRight"),10)||0)-this.helperProportions
.width
-this.margins
.left
,r
.top
+(i
?Math
.max(n
.scrollHeight
,n
.offsetHeight
):n
.offsetHeight
)-(parseInt(e(n
).css("borderTopWidth"),10)||0)-(parseInt(e(n
).css("paddingBottom"),10)||0)-this.helperProportions
.height
-this.margins
.top
]}},_convertPositionTo:function(t
,n
){n
||(n
=this.position
);var r
=t
=="absolute"?1:-1,i
=this.options
,s
=this.cssPosition
!="absolute"||this.scrollParent
[0]!=document
&&!!e
.contains(this.scrollParent
[0],this.offsetParent
[0])?this.scrollParent
:this.offsetParent
,o
=/(html|body)/i.test(s
[0].tagName
);return{top
:n
.top
+this.offset
.relative
.top
*r
+this.offset
.parent
.top
*r
-(this.cssPosition
=="fixed"?-this.scrollParent
.scrollTop():o
?0:s
.scrollTop())*r
,left
:n
.left
+this.offset
.relative
.left
*r
+this.offset
.parent
.left
*r
-(this.cssPosition
=="fixed"?-this.scrollParent
.scrollLeft():o
?0:s
.scrollLeft())*r
}},_generatePosition:function(t
){var n
=this.options
,r
=this.cssPosition
!="absolute"||this.scrollParent
[0]!=document
&&!!e
.contains(this.scrollParent
[0],this.offsetParent
[0])?this.scrollParent
:this.offsetParent
,i
=/(html|body)/i.test(r
[0].tagName
);this.cssPosition
=="relative"&&(this.scrollParent
[0]==document
||this.scrollParent
[0]==this.offsetParent
[0])&&(this.offset
.relative
=this._getRelativeOffset());var s
=t
.pageX
,o
=t
.pageY
;if(this.originalPosition
){this.containment
&&(t
.pageX
-this.offset
.click
.left
<this.containment
[0]&&(s
=this.containment
[0]+this.offset
.click
.left
),t
.pageY
-this.offset
.click
.top
<this.containment
[1]&&(o
=this.containment
[1]+this.offset
.click
.top
),t
.pageX
-this.offset
.click
.left
>this.containment
[2]&&(s
=this.containment
[2]+this.offset
.click
.left
),t
.pageY
-this.offset
.click
.top
>this.containment
[3]&&(o
=this.containment
[3]+this.offset
.click
.top
));if(n
.grid
){var u
=this.originalPageY
+Math
.round((o
-this.originalPageY
)/n.grid[1])*n.grid[1];o=this.containment?u-this.offset.click.top<this.containment[1]||u-this.offset.click.top>this.containment[3]?u-this.offset.click.top<this.containment[1]?u+n.grid[1]:u-n.grid[1]:u:u;var a=this.originalPageX+Math.round((s-this.originalPageX)/n
.grid
[0])*n
.grid
[0];s
=this.containment
?a
-this.offset
.click
.left
<this.containment
[0]||a
-this.offset
.click
.left
>this.containment
[2]?a
-this.offset
.click
.left
<this.containment
[0]?a
+n
.grid
[0]:a
-n
.grid
[0]:a
:a
}}return{top
:o
-this.offset
.click
.top
-this.offset
.relative
.top
-this.offset
.parent
.top
+(this.cssPosition
=="fixed"?-this.scrollParent
.scrollTop():i
?0:r
.scrollTop()),left
:s
-this.offset
.click
.left
-this.offset
.relative
.left
-this.offset
.parent
.left
+(this.cssPosition
=="fixed"?-this.scrollParent
.scrollLeft():i
?0:r
.scrollLeft())}},_rearrange:function(e
,t
,n
,r
){n
?n
[0].appendChild(this.placeholder
[0]):t
.item
[0].parentNode
.insertBefore(this.placeholder
[0],this.direction
=="down"?t
.item
[0]:t
.item
[0].nextSibling
),this.counter
=this.counter
?++this.counter
:1;var i
=this.counter
;this._delay(function(){i
==this.counter
&&this.refreshPositions(!r
)})},_clear:function(t
,n
){this.reverting
=!1;var r
=[];!this._noFinalSort
&&this.currentItem
.parent().length
&&this.placeholder
.before(this.currentItem
),this._noFinalSort
=null;if(this.helper
[0]==this.currentItem
[0]){for(var i
in this._storedCSS
)if(this._storedCSS
[i
]=="auto"||this._storedCSS
[i
]=="static")this._storedCSS
[i
]="";this.currentItem
.css(this._storedCSS
).removeClass("ui-sortable-helper")}else this.currentItem
.show();this.fromOutside
&&!n
&&r
.push(function(e
){this._trigger("receive",e
,this._uiHash(this.fromOutside
))}),(this.fromOutside
||this.domPosition
.prev
!=this.currentItem
.prev().not(".ui-sortable-helper")[0]||this.domPosition
.parent
!=this.currentItem
.parent()[0])&&!n
&&r
.push(function(e
){this._trigger("update",e
,this._uiHash())}),this!==this.currentContainer
&&(n
||(r
.push(function(e
){this._trigger("remove",e
,this._uiHash())}),r
.push(function(e
){return function(t
){e
._trigger("receive",t
,this._uiHash(this))}}.call(this,this.currentContainer
)),r
.push(function(e
){return function(t
){e
._trigger("update",t
,this._uiHash(this))}}.call(this,this.currentContainer
))));for(var i
=this.containers
.length
-1;i
>=0;i
--)n
||r
.push(function(e
){return function(t
){e
._trigger("deactivate",t
,this._uiHash(this))}}.call(this,this.containers
[i
])),this.containers
[i
].containerCache
.over
&&(r
.push(function(e
){return function(t
){e
._trigger("out",t
,this._uiHash(this))}}.call(this,this.containers
[i
])),this.containers
[i
].containerCache
.over
=0);this._storedCursor
&&e("body").css("cursor",this._storedCursor
),this._storedOpacity
&&this.helper
.css("opacity",this._storedOpacity
),this._storedZIndex
&&this.helper
.css("zIndex",this._storedZIndex
=="auto"?"":this._storedZIndex
),this.dragging
=!1;if(this.cancelHelperRemoval
){if(!n
){this._trigger("beforeStop",t
,this._uiHash());for(var i
=0;i
<r
.length
;i
++)r
[i
].call(this,t
);this._trigger("stop",t
,this._uiHash())}return this.fromOutside
=!1,!1}n
||this._trigger("beforeStop",t
,this._uiHash()),this.placeholder
[0].parentNode
.removeChild(this.placeholder
[0]),this.helper
[0]!=this.currentItem
[0]&&this.helper
.remove(),this.helper
=null;if(!n
){for(var i
=0;i
<r
.length
;i
++)r
[i
].call(this,t
);this._trigger("stop",t
,this._uiHash())}return this.fromOutside
=!1,!0},_trigger:function(){e
.Widget
.prototype._trigger
.apply(this,arguments
)===!1&&this.cancel()},_uiHash:function(t
){var n
=t
||this;return{helper
:n
.helper
,placeholder
:n
.placeholder
||e([]),position
:n
.position
,originalPosition
:n
.originalPosition
,offset
:n
.positionAbs
,item
:n
.currentItem
,sender
:t
?t
.element
:null}}})})(jQuery
);