",
options: {
disabled: !1,
create: null
},
_createWidget: function (e, s) {
s = t(s || this.defaultElement || this)[0], this.element = t(s), this.uuid = i++, this.eventNamespace =
"." + this.widgetName + this.uuid, this.options = t.widget.extend({}, this.options, this._getCreateOptions(),
e), this.bindings = t(), this.hoverable = t(), this.focusable = t(), s !== this && (t.data(
s, this.widgetFullName, this), this._on(!0, this.element, {
remove: function (t) {
t.target === s && this.destroy()
}
}), this.document = t(s.style ? s.ownerDocument : s.document || s), this.window = t(this.document[
0].defaultView || this.document[0].parentWindow)), this._create(), this._trigger("create",
null, this._getCreateEventData()), this._init()
},
_getCreateOptions: t.noop,
_getCreateEventData: t.noop,
_create: t.noop,
_init: t.noop,
destroy: function () {
this._destroy(), this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(
this.widgetFullName).removeData(t.camelCase(this.widgetFullName)), this.widget().unbind(
this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName +
"-disabled " + "ui-state-disabled"), this.bindings.unbind(this.eventNamespace), this.hoverable
.removeClass("ui-state-hover"), this.focusable.removeClass("ui-state-focus")
},
_destroy: t.noop,
widget: function () {
return this.element
},
option: function (i, s) {
var n, o, a, r = i;
if (0 === arguments.length) return t.widget.extend({}, this.options);
if ("string" == typeof i)
if (r = {}, n = i.split("."), i = n.shift(), n.length) {
for (o = r[i] = t.widget.extend({}, this.options[i]), a = 0; n.length - 1 > a; a++) o[n[a]] =
o[n[a]] || {}, o = o[n[a]];
if (i = n.pop(), s === e) return o[i] === e ? null : o[i];
o[i] = s
} else {
if (s === e) return this.options[i] === e ? null : this.options[i];
r[i] = s
} return this._setOptions(r), this
},
_setOptions: function (t) {
var e;
for (e in t) this._setOption(e, t[e]);
return this
},
_setOption: function (t, e) {
return this.options[t] = e, "disabled" === t && (this.widget().toggleClass(this.widgetFullName +
"-disabled ui-state-disabled", !!e).attr("aria-disabled", e), this.hoverable.removeClass(
"ui-state-hover"), this.focusable.removeClass("ui-state-focus")), this
},
enable: function () {
return this._setOption("disabled", !1)
},
disable: function () {
return this._setOption("disabled", !0)
},
_on: function (i, s, n) {
var o, a = this;
"boolean" != typeof i && (n = s, s = i, i = !1), n ? (s = o = t(s), this.bindings = this.bindings.add(
s)) : (n = s, s = this.element, o = this.widget()), t.each(n, function (n, r) {
function h() {
return i || a.options.disabled !== !0 && !t(this).hasClass("ui-state-disabled") ? (
"string" == typeof r ? a[r] : r).apply(a, arguments) : e
}
"string" != typeof r && (h.guid = r.guid = r.guid || h.guid || t.guid++);
var l = n.match(/^(\w+)\s*(.*)$/),
c = l[1] + a.eventNamespace,
u = l[2];
u ? o.delegate(u, c, h) : s.bind(c, h)
})
},
_off: function (t, e) {
e = (e || "").split(" ").join(this.eventNamespace + " ") + this.eventNamespace, t.unbind(e).undelegate(
e)
},
_delay: function (t, e) {
function i() {
return ("string" == typeof t ? s[t] : t).apply(s, arguments)
}
var s = this;
return setTimeout(i, e || 0)
},
_hoverable: function (e) {
this.hoverable = this.hoverable.add(e), this._on(e, {
mouseenter: function (e) {
t(e.currentTarget).addClass("ui-state-hover")
},
mouseleave: function (e) {
t(e.currentTarget).removeClass("ui-state-hover")
}
})
},
_focusable: function (e) {
this.focusable = this.focusable.add(e), this._on(e, {
focusin: function (e) {
t(e.currentTarget).addClass("ui-state-focus")
},
focusout: function (e) {
t(e.currentTarget).removeClass("ui-state-focus")
}
})
},
_trigger: function (e, i, s) {
var n, o, a = this.options[e];
if (s = s || {}, i = t.Event(i), i.type = (e === this.widgetEventPrefix ? e : this.widgetEventPrefix +
e).toLowerCase(), i.target = this.element[0], o = i.originalEvent)
for (n in o) n in i || (i[n] = o[n]);
return this.element.trigger(i, s), !(t.isFunction(a) && a.apply(this.element[0], [i].concat(s)) ===
!1 || i.isDefaultPrevented())
}
}, t.each({
show: "fadeIn",
hide: "fadeOut"
}, function (e, i) {
t.Widget.prototype["_" + e] = function (s, n, o) {
"string" == typeof n && (n = {
effect: n
});
var a, r = n ? n === !0 || "number" == typeof n ? i : n.effect || i : e;
n = n || {}, "number" == typeof n && (n = {
duration: n
}), a = !t.isEmptyObject(n), n.complete = o, n.delay && s.delay(n.delay), a && t.effects &&
t.effects.effect[r] ? s[e](n) : r !== e && s[r] ? s[r](n.duration, n.easing, o) : s.queue(
function (i) {
t(this)[e](), o && o.call(s[0]), i()
})
}
})
}(jQuery),
function (t) {
var e = !1;
t(document).mouseup(function () {
e = !1
}), t.widget("ui.mouse", {
version: "1.10.3",
options: {
cancel: "input,textarea,button,select,option",
distance: 1,
delay: 0
},
_mouseInit: function () {
var e = this;
this.element.bind("mousedown." + this.widgetName, function (t) {
return e._mouseDown(t)
}).bind("click." + this.widgetName, function (i) {
return !0 === t.data(i.target, e.widgetName + ".preventClickEvent") ? (t.removeData(
i.target, e.widgetName + ".preventClickEvent"), i.stopImmediatePropagation(),
!1) : undefined
}), this.started = !1
},
_mouseDestroy: function () {
this.element.unbind("." + this.widgetName), this._mouseMoveDelegate && t(document).unbind(
"mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName,
this._mouseUpDelegate)
},
_mouseDown: function (i) {
if (!e) {
this._mouseStarted && this._mouseUp(i), this._mouseDownEvent = i;
var s = this,
n = 1 === i.which,
o = "string" == typeof this.options.cancel && i.target.nodeName ? t(i.target).closest(
this.options.cancel).length : !1;
return n && !o && this._mouseCapture(i) ? (this.mouseDelayMet = !this.options.delay, this.mouseDelayMet ||
(this._mouseDelayTimer = setTimeout(function () {
s.mouseDelayMet = !0
}, this.options.delay)), this._mouseDistanceMet(i) && this._mouseDelayMet(i) && (
this._mouseStarted = this._mouseStart(i) !== !1, !this._mouseStarted) ? (i.preventDefault(),
!0) : (!0 === t.data(i.target, this.widgetName + ".preventClickEvent") && t.removeData(
i.target, this.widgetName + ".preventClickEvent"), this._mouseMoveDelegate =
function (t) {
return s._mouseMove(t)
}, this._mouseUpDelegate = function (t) {
return s._mouseUp(t)
}, t(document).bind("mousemove." + this.widgetName, this._mouseMoveDelegate).bind(
"mouseup." + this.widgetName, this._mouseUpDelegate), i.preventDefault(), e = !
0, !0)) : !0
}
},
_mouseMove: function (e) {
return t.ui.ie && (!document.documentMode || 9 > document.documentMode) && !e.button ? this._mouseUp(
e) : this._mouseStarted ? (this._mouseDrag(e), e.preventDefault()) : (this._mouseDistanceMet(
e) && this._mouseDelayMet(e) && (this._mouseStarted = this._mouseStart(this._mouseDownEvent,
e) !== !1, this._mouseStarted ? this._mouseDrag(e) : this._mouseUp(e)), !this._mouseStarted)
},
_mouseUp: function (e) {
return t(document).unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind(
"mouseup." + this.widgetName, this._mouseUpDelegate), this._mouseStarted && (this._mouseStarted = !
1, e.target === this._mouseDownEvent.target && t.data(e.target, this.widgetName +
".preventClickEvent", !0), this._mouseStop(e)), !1
},
_mouseDistanceMet: function (t) {
return Math.max(Math.abs(this._mouseDownEvent.pageX - t.pageX), Math.abs(this._mouseDownEvent.pageY -
t.pageY)) >= this.options.distance
},
_mouseDelayMet: function () {
return this.mouseDelayMet
},
_mouseStart: function () {},
_mouseDrag: function () {},
_mouseStop: function () {},
_mouseCapture: function () {
return !0
}
})
}(jQuery),
function (t) {
t.widget("ui.draggable", t.ui.mouse, {
version: "1.10.3",
widgetEventPrefix: "drag",
options: {
addClasses: !0,
appendTo: "parent",
axis: !1,
connectToSortable: !1,
containment: !1,
cursor: "auto",
cursorAt: !1,
grid: !1,
handle: !1,
helper: "original",
iframeFix: !1,
opacity: !1,
refreshPositions: !1,
revert: !1,
revertDuration: 500,
scope: "default",
scroll: !0,
scrollSensitivity: 20,
scrollSpeed: 20,
snap: !1,
snapMode: "both",
snapTolerance: 20,
stack: !1,
zIndex: !1,
drag: null,
start: null,
stop: null
},
_create: function () {
"original" !== this.options.helper || /^(?:r|a|f)/.test(this.element.css("position")) || (this.element[
0].style.position = "relative"), this.options.addClasses && this.element.addClass(
"ui-draggable"), this.options.disabled && this.element.addClass("ui-draggable-disabled"),
this._mouseInit()
},
_destroy: function () {
this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"), this._mouseDestroy()
},
_mouseCapture: function (e) {
var i = this.options;
return this.helper || i.disabled || t(e.target).closest(".ui-resizable-handle").length > 0 ? !1 :
(this.handle = this._getHandle(e), this.handle ? (t(i.iframeFix === !0 ? "iframe" : i.iframeFix)
.each(function () {
t("
").css({
width: this.offsetWidth + "px",
height: this.offsetHeight + "px",
position: "absolute",
opacity: "0.001",
zIndex: 1e3
}).css(t(this).offset()).appendTo("body")
}), !0) : !1)
},
_mouseStart: function (e) {
var i = this.options;
return this.helper = this._createHelper(e), this.helper.addClass("ui-draggable-dragging"), this
._cacheHelperProportions(), t.ui.ddmanager && (t.ui.ddmanager.current = this), this._cacheMargins(),
this.cssPosition = this.helper.css("position"), this.scrollParent = this.helper.scrollParent(),
this.offsetParent = this.helper.offsetParent(), this.offsetParentCssPosition = this.offsetParent
.css("position"), this.offset = this.positionAbs = this.element.offset(), this.offset = {
top: this.offset.top - this.margins.top,
left: this.offset.left - this.margins.left
}, this.offset.scroll = !1, t.extend(this.offset, {
click: {
left: e.pageX - this.offset.left,
top: e.pageY - this.offset.top
},
parent: this._getParentOffset(),
relative: this._getRelativeOffset()
}), this.originalPosition = this.position = this._generatePosition(e), this.originalPageX =
e.pageX, this.originalPageY = e.pageY, i.cursorAt && this._adjustOffsetFromHelper(i.cursorAt),
this._setContainment(), this._trigger("start", e) === !1 ? (this._clear(), !1) : (this._cacheHelperProportions(),
t.ui.ddmanager && !i.dropBehaviour && t.ui.ddmanager.prepareOffsets(this, e), this._mouseDrag(
e, !0), t.ui.ddmanager && t.ui.ddmanager.dragStart(this, e), !0)
},
_mouseDrag: function (e, i) {
if ("fixed" === this.offsetParentCssPosition && (this.offset.parent = this._getParentOffset()),
this.position = this._generatePosition(e), this.positionAbs = this._convertPositionTo(
"absolute"), !i) {
var s = this._uiHash();
if (this._trigger("drag", e, s) === !1) return this._mouseUp({}), !1;
this.position = s.position
}
return this.options.axis && "y" === this.options.axis || (this.helper[0].style.left = this.position
.left + "px"), this.options.axis && "x" === this.options.axis || (this.helper[0].style.top =
this.position.top + "px"), t.ui.ddmanager && t.ui.ddmanager.drag(this, e), !1
},
_mouseStop: function (e) {
var i = this,
s = !1;
return t.ui.ddmanager && !this.options.dropBehaviour && (s = t.ui.ddmanager.drop(this, e)),
this.dropped && (s = this.dropped, this.dropped = !1), "original" !== this.options.helper ||
t.contains(this.element[0].ownerDocument, this.element[0]) ? ("invalid" === this.options.revert &&
!s || "valid" === this.options.revert && s || this.options.revert === !0 || t.isFunction(
this.options.revert) && this.options.revert.call(this.element, s) ? t(this.helper).animate(
this.originalPosition, parseInt(this.options.revertDuration, 10),
function () {
i._trigger("stop", e) !== !1 && i._clear()
}) : this._trigger("stop", e) !== !1 && this._clear(), !1) : !1
},
_mouseUp: function (e) {
return t("div.ui-draggable-iframeFix").each(function () {
this.parentNode.removeChild(this)
}), t.ui.ddmanager && t.ui.ddmanager.dragStop(this, e), t.ui.mouse.prototype._mouseUp.call(
this, e)
},
cancel: function () {
return this.helper.is(".ui-draggable-dragging") ? this._mouseUp({}) : this._clear(), this
},
_getHandle: function (e) {
return this.options.handle ? !!t(e.target).closest(this.element.find(this.options.handle)).length :
!0
},
_createHelper: function (e) {
var i = this.options,
s = t.isFunction(i.helper) ? t(i.helper.apply(this.element[0], [e])) : "clone" === i.helper ?
this.element.clone().removeAttr("id") : this.element;
return s.parents("body").length || s.appendTo("parent" === i.appendTo ? this.element[0].parentNode :
i.appendTo), s[0] === this.element[0] || /(fixed|absolute)/.test(s.css("position")) ||
s.css("position", "absolute"), s
},
_adjustOffsetFromHelper: function (e) {
"string" == typeof e && (e = e.split(" ")), t.isArray(e) && (e = {
left: +e[0],
top: +e[1] || 0
}), "left" in e && (this.offset.click.left = e.left + this.margins.left), "right" in e && (
this.offset.click.left = this.helperProportions.width - e.right + this.margins.left),
"top" in e && (this.offset.click.top = e.top + this.margins.top), "bottom" in e && (this.offset
.click.top = this.helperProportions.height - e.bottom + this.margins.top)
},
_getParentOffset: function () {
var e = this.offsetParent.offset();
return "absolute" === this.cssPosition && this.scrollParent[0] !== document && t.contains(this.scrollParent[
0], this.offsetParent[0]) && (e.left += this.scrollParent.scrollLeft(), e.top += this.scrollParent
.scrollTop()), (this.offsetParent[0] === document.body || this.offsetParent[0].tagName &&
"html" === this.offsetParent[0].tagName.toLowerCase() && t.ui.ie) && (e = {
top: 0,
left: 0
}), {
top: e.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0),
left: e.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0)
}
},
_getRelativeOffset: function () {
if ("relative" === this.cssPosition) {
var t = this.element.position();
return {
top: t.top - (parseInt(this.helper.css("top"), 10) || 0) + this.scrollParent.scrollTop(),
left: t.left - (parseInt(this.helper.css("left"), 10) || 0) + this.scrollParent.scrollLeft()
}
}
return {
top: 0,
left: 0
}
},
_cacheMargins: function () {
this.margins = {
left: parseInt(this.element.css("marginLeft"), 10) || 0,
top: parseInt(this.element.css("marginTop"), 10) || 0,
right: parseInt(this.element.css("marginRight"), 10) || 0,
bottom: parseInt(this.element.css("marginBottom"), 10) || 0
}
},
_cacheHelperProportions: function () {
this.helperProportions = {
width: this.helper.outerWidth(),
height: this.helper.outerHeight()
}
},
_setContainment: function () {
var e, i, s, n = this.options;
return n.containment ? "window" === n.containment ? (this.containment = [t(window).scrollLeft() -
this.offset.relative.left - this.offset.parent.left, t(window).scrollTop() - this.offset
.relative.top - this.offset.parent.top, t(window).scrollLeft() + t(window).width() -
this.helperProportions.width - this.margins.left, t(window).scrollTop() + (t(window)
.height() || document.body.parentNode.scrollHeight) - this.helperProportions.height -
this.margins.top], undefined) : "document" === n.containment ? (this.containment = [0,
0, t(document).width() - this.helperProportions.width - this.margins.left, (t(
document).height() || document.body.parentNode.scrollHeight) - this.helperProportions
.height - this.margins.top], undefined) : n.containment.constructor === Array ? (this.containment =
n.containment, undefined) : ("parent" === n.containment && (n.containment = this.helper[
0].parentNode), i = t(n.containment), s = i[0], s && (e = "hidden" !== i.css(
"overflow"), this.containment = [(parseInt(i.css("borderLeftWidth"), 10) || 0) +
(parseInt(i.css("paddingLeft"), 10) || 0), (parseInt(i.css("borderTopWidth"),
10) || 0) + (parseInt(i.css("paddingTop"), 10) || 0), (e ? Math.max(s.scrollWidth,
s.offsetWidth) : s.offsetWidth) - (parseInt(i.css("borderRightWidth"), 10) ||
0) - (parseInt(i.css("paddingRight"), 10) || 0) - this.helperProportions.width -
this.margins.left - this.margins.right, (e ? Math.max(s.scrollHeight, s.offsetHeight) :
s.offsetHeight) - (parseInt(i.css("borderBottomWidth"), 10) || 0) - (
parseInt(i.css("paddingBottom"), 10) || 0) - this.helperProportions.height -
this.margins.top - this.margins.bottom], this.relative_container = i), undefined) : (
this.containment = null, undefined)
},
_convertPositionTo: function (e, i) {
i || (i = this.position);
var s = "absolute" === e ? 1 : -1,
n = "absolute" !== this.cssPosition || this.scrollParent[0] !== document && t.contains(this
.scrollParent[0], this.offsetParent[0]) ? this.scrollParent : this.offsetParent;
return this.offset.scroll || (this.offset.scroll = {
top: n.scrollTop(),
left: n.scrollLeft()
}), {
top: i.top + this.offset.relative.top * s + this.offset.parent.top * s - ("fixed" ===
this.cssPosition ? -this.scrollParent.scrollTop() : this.offset.scroll.top) * s,
left: i.left + this.offset.relative.left * s + this.offset.parent.left * s - ("fixed" ===
this.cssPosition ? -this.scrollParent.scrollLeft() : this.offset.scroll.left) *
s
}
},
_generatePosition: function (e) {
var i, s, n, o, a = this.options,
r = "absolute" !== this.cssPosition || this.scrollParent[0] !== document && t.contains(this
.scrollParent[0], this.offsetParent[0]) ? this.scrollParent : this.offsetParent,
h = e.pageX,
l = e.pageY;
return this.offset.scroll || (this.offset.scroll = {
top: r.scrollTop(),
left: r.scrollLeft()
}), this.originalPosition && (this.containment && (this.relative_container ? (s = this.relative_container
.offset(), i = [this.containment[0] + s.left, this.containment[1] + s.top, this
.containment[2] + s.left, this.containment[3] + s.top]) : i = this.containment,
e.pageX - this.offset.click.left < i[0] && (h = i[0] + this.offset.click.left), e.pageY -
this.offset.click.top < i[1] && (l = i[1] + this.offset.click.top), e.pageX - this.offset
.click.left > i[2] && (h = i[2] + this.offset.click.left), e.pageY - this.offset.click
.top > i[3] && (l = i[3] + this.offset.click.top)), a.grid && (n = a.grid[1] ? this
.originalPageY + Math.round((l - this.originalPageY) / a.grid[1]) * a.grid[1] :
this.originalPageY, l = i ? n - this.offset.click.top >= i[1] || n - this.offset.click
.top > i[3] ? n : n - this.offset.click.top >= i[1] ? n - a.grid[1] : n + a.grid[1] :
n, o = a.grid[0] ? this.originalPageX + Math.round((h - this.originalPageX) / a.grid[
0]) * a.grid[0] : this.originalPageX, h = i ? o - this.offset.click.left >= i[0] ||
o - this.offset.click.left > i[2] ? o : o - this.offset.click.left >= i[0] ? o - a.grid[
0] : o + a.grid[0] : o)), {
top: l - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + (
"fixed" === this.cssPosition ? -this.scrollParent.scrollTop() : this.offset.scroll
.top),
left: h - this.offset.click.left - this.offset.relative.left - this.offset.parent.left +
("fixed" === this.cssPosition ? -this.scrollParent.scrollLeft() : this.offset.scroll
.left)
}
},
_clear: function () {
this.helper.removeClass("ui-draggable-dragging"), this.helper[0] === this.element[0] || this.cancelHelperRemoval ||
this.helper.remove(), this.helper = null, this.cancelHelperRemoval = !1
},
_trigger: function (e, i, s) {
return s = s || this._uiHash(), t.ui.plugin.call(this, e, [i, s]), "drag" === e && (this.positionAbs =
this._convertPositionTo("absolute")), t.Widget.prototype._trigger.call(this, e, i, s)
},
plugins: {},
_uiHash: function () {
return {
helper: this.helper,
position: this.position,
originalPosition: this.originalPosition,
offset: this.positionAbs
}
}
}), t.ui.plugin.add("draggable", "connectToSortable", {
start: function (e, i) {
var s = t(this).data("ui-draggable"),
n = s.options,
o = t.extend({}, i, {
item: s.element
});
s.sortables = [], t(n.connectToSortable).each(function () {
var i = t.data(this, "ui-sortable");
i && !i.options.disabled && (s.sortables.push({
instance: i,
shouldRevert: i.options.revert
}), i.refreshPositions(), i._trigger("activate", e, o))
})
},
stop: function (e, i) {
var s = t(this).data("ui-draggable"),
n = t.extend({}, i, {
item: s.element
});
t.each(s.sortables, function () {
this.instance.isOver ? (this.instance.isOver = 0, s.cancelHelperRemoval = !0, this.instance
.cancelHelperRemoval = !1, this.shouldRevert && (this.instance.options.revert =
this.shouldRevert), this.instance._mouseStop(e), this.instance.options.helper =
this.instance.options._helper, "original" === s.options.helper && this.instance
.currentItem.css({
top: "auto",
left: "auto"
})) : (this.instance.cancelHelperRemoval = !1, this.instance._trigger(
"deactivate", e, n))
})
},
drag: function (e, i) {
var s = t(this).data("ui-draggable"),
n = this;
t.each(s.sortables, function () {
var o = !1,
a = this;
this.instance.positionAbs = s.positionAbs, this.instance.helperProportions = s.helperProportions,
this.instance.offset.click = s.offset.click, this.instance._intersectsWith(this
.instance.containerCache) && (o = !0, t.each(s.sortables, function () {
return this.instance.positionAbs = s.positionAbs, this.instance.helperProportions =
s.helperProportions, this.instance.offset.click = s.offset.click,
this !== a && this.instance._intersectsWith(this.instance.containerCache) &&
t.contains(a.instance.element[0], this.instance.element[0]) &&
(o = !1), o
})), o ? (this.instance.isOver || (this.instance.isOver = 1, this.instance.currentItem =
t(n).clone().removeAttr("id").appendTo(this.instance.element).data(
"ui-sortable-item", !0), this.instance.options._helper = this.instance
.options.helper, this.instance.options.helper = function () {
return i.helper[0]
}, e.target = this.instance.currentItem[0], this.instance._mouseCapture(
e, !0), this.instance._mouseStart(e, !0, !0), this.instance.offset.click
.top = s.offset.click.top, this.instance.offset.click.left = s.offset.click
.left, this.instance.offset.parent.left -= s.offset.parent.left - this.instance
.offset.parent.left, this.instance.offset.parent.top -= s.offset.parent
.top - this.instance.offset.parent.top, s._trigger("toSortable", e), s.dropped =
this.instance.element, s.currentItem = s.element, this.instance.fromOutside =
s), this.instance.currentItem && this.instance._mouseDrag(e)) : this.instance
.isOver && (this.instance.isOver = 0, this.instance.cancelHelperRemoval = !0,
this.instance.options.revert = !1, this.instance._trigger("out", e, this.instance
._uiHash(this.instance)), this.instance._mouseStop(e, !0), this.instance
.options.helper = this.instance.options._helper, this.instance.currentItem.remove(),
this.instance.placeholder && this.instance.placeholder.remove(), s._trigger(
"fromSortable", e), s.dropped = !1)
})
}
}), t.ui.plugin.add("draggable", "cursor", {
start: function () {
var e = t("body"),
i = t(this).data("ui-draggable").options;
e.css("cursor") && (i._cursor = e.css("cursor")), e.css("cursor", i.cursor)
},
stop: function () {
var e = t(this).data("ui-draggable").options;
e._cursor && t("body").css("cursor", e._cursor)
}
}), t.ui.plugin.add("draggable", "opacity", {
start: function (e, i) {
var s = t(i.helper),
n = t(this).data("ui-draggable").options;
s.css("opacity") && (n._opacity = s.css("opacity")), s.css("opacity", n.opacity)
},
stop: function (e, i) {
var s = t(this).data("ui-draggable").options;
s._opacity && t(i.helper).css("opacity", s._opacity)
}
}), t.ui.plugin.add("draggable", "scroll", {
start: function () {
var e = t(this).data("ui-draggable");
e.scrollParent[0] !== document && "HTML" !== e.scrollParent[0].tagName && (e.overflowOffset = e
.scrollParent.offset())
},
drag: function (e) {
var i = t(this).data("ui-draggable"),
s = i.options,
n = !1;
i.scrollParent[0] !== document && "HTML" !== i.scrollParent[0].tagName ? (s.axis && "x" === s.axis ||
(i.overflowOffset.top + i.scrollParent[0].offsetHeight - e.pageY < s.scrollSensitivity ?
i.scrollParent[0].scrollTop = n = i.scrollParent[0].scrollTop + s.scrollSpeed : e.pageY -
i.overflowOffset.top < s.scrollSensitivity && (i.scrollParent[0].scrollTop = n = i.scrollParent[
0].scrollTop - s.scrollSpeed)), s.axis && "y" === s.axis || (i.overflowOffset.left +
i.scrollParent[0].offsetWidth - e.pageX < s.scrollSensitivity ? i.scrollParent[0].scrollLeft =
n = i.scrollParent[0].scrollLeft + s.scrollSpeed : e.pageX - i.overflowOffset.left <
s.scrollSensitivity && (i.scrollParent[0].scrollLeft = n = i.scrollParent[0].scrollLeft -
s.scrollSpeed))) : (s.axis && "x" === s.axis || (e.pageY - t(document).scrollTop() <
s.scrollSensitivity ? n = t(document).scrollTop(t(document).scrollTop() - s.scrollSpeed) :
t(window).height() - (e.pageY - t(document).scrollTop()) < s.scrollSensitivity && (
n = t(document).scrollTop(t(document).scrollTop() + s.scrollSpeed))), s.axis &&
"y" === s.axis || (e.pageX - t(document).scrollLeft() < s.scrollSensitivity ? n = t(
document).scrollLeft(t(document).scrollLeft() - s.scrollSpeed) : t(window).width() -
(e.pageX - t(document).scrollLeft()) < s.scrollSensitivity && (n = t(document).scrollLeft(
t(document).scrollLeft() + s.scrollSpeed)))), n !== !1 && t.ui.ddmanager && !s.dropBehaviour &&
t.ui.ddmanager.prepareOffsets(i, e)
}
}), t.ui.plugin.add("draggable", "snap", {
start: function () {
var e = t(this).data("ui-draggable"),
i = e.options;
e.snapElements = [], t(i.snap.constructor !== String ? i.snap.items || ":data(ui-draggable)" :
i.snap).each(function () {
var i = t(this),
s = i.offset();
this !== e.element[0] && e.snapElements.push({
item: this,
width: i.outerWidth(),
height: i.outerHeight(),
top: s.top,
left: s.left
})
})
},
drag: function (e, i) {
var s, n, o, a, r, h, l, c, u, d, p = t(this).data("ui-draggable"),
f = p.options,
g = f.snapTolerance,
m = i.offset.left,
v = m + p.helperProportions.width,
_ = i.offset.top,
b = _ + p.helperProportions.height;
for (u = p.snapElements.length - 1; u >= 0; u--) r = p.snapElements[u].left, h = r + p.snapElements[
u].width, l = p.snapElements[u].top, c = l + p.snapElements[u].height, r - g > v || m >
h + g || l - g > b || _ > c + g || !t.contains(p.snapElements[u].item.ownerDocument, p.snapElements[
u].item) ? (p.snapElements[u].snapping && p.options.snap.release && p.options.snap.release
.call(p.element, e, t.extend(p._uiHash(), {
snapItem: p.snapElements[u].item
})), p.snapElements[u].snapping = !1) : ("inner" !== f.snapMode && (s = g >= Math.abs(l -
b), n = g >= Math.abs(c - _), o = g >= Math.abs(r - v), a = g >= Math.abs(h - m),
s && (i.position.top = p._convertPositionTo("relative", {
top: l - p.helperProportions.height,
left: 0
}).top - p.margins.top), n && (i.position.top = p._convertPositionTo("relative", {
top: c,
left: 0
}).top - p.margins.top), o && (i.position.left = p._convertPositionTo("relative", {
top: 0,
left: r - p.helperProportions.width
}).left - p.margins.left), a && (i.position.left = p._convertPositionTo("relative", {
top: 0,
left: h
}).left - p.margins.left)), d = s || n || o || a, "outer" !== f.snapMode && (s = g >=
Math.abs(l - _), n = g >= Math.abs(c - b), o = g >= Math.abs(r - m), a = g >= Math.abs(
h - v), s && (i.position.top = p._convertPositionTo("relative", {
top: l,
left: 0
}).top - p.margins.top), n && (i.position.top = p._convertPositionTo("relative", {
top: c - p.helperProportions.height,
left: 0
}).top - p.margins.top), o && (i.position.left = p._convertPositionTo("relative", {
top: 0,
left: r
}).left - p.margins.left), a && (i.position.left = p._convertPositionTo("relative", {
top: 0,
left: h - p.helperProportions.width
}).left - p.margins.left)), !p.snapElements[u].snapping && (s || n || o || a || d) &&
p.options.snap.snap && p.options.snap.snap.call(p.element, e, t.extend(p._uiHash(), {
snapItem: p.snapElements[u].item
})), p.snapElements[u].snapping = s || n || o || a || d)
}
}), t.ui.plugin.add("draggable", "stack", {
start: function () {
var e, i = this.data("ui-draggable").options,
s = t.makeArray(t(i.stack)).sort(function (e, i) {
return (parseInt(t(e).css("zIndex"), 10) || 0) - (parseInt(t(i).css("zIndex"), 10) ||
0)
});
s.length && (e = parseInt(t(s[0]).css("zIndex"), 10) || 0, t(s).each(function (i) {
t(this).css("zIndex", e + i)
}), this.css("zIndex", e + s.length))
}
}), t.ui.plugin.add("draggable", "zIndex", {
start: function (e, i) {
var s = t(i.helper),
n = t(this).data("ui-draggable").options;
s.css("zIndex") && (n._zIndex = s.css("zIndex")), s.css("zIndex", n.zIndex)
},
stop: function (e, i) {
var s = t(this).data("ui-draggable").options;
s._zIndex && t(i.helper).css("zIndex", s._zIndex)
}
})
}(jQuery),
function (t) {
function e(t, e, i) {
return t > e && e + i > t
}
t.widget("ui.droppable", {
version: "1.10.3",
widgetEventPrefix: "drop",
options: {
accept: "*",
activeClass: !1,
addClasses: !0,
greedy: !1,
hoverClass: !1,
scope: "default",
tolerance: "intersect",
activate: null,
deactivate: null,
drop: null,
out: null,
over: null
},
_create: function () {
var e = this.options,
i = e.accept;
this.isover = !1, this.isout = !0, this.accept = t.isFunction(i) ? i : function (t) {
return t.is(i)
}, this.proportions = {
width: this.element[0].offsetWidth,
height: this.element[0].offsetHeight
}, t.ui.ddmanager.droppables[e.scope] = t.ui.ddmanager.droppables[e.scope] || [], t.ui.ddmanager
.droppables[e.scope].push(this), e.addClasses && this.element.addClass("ui-droppable")
},
_destroy: function () {
for (var e = 0, i = t.ui.ddmanager.droppables[this.options.scope]; i.length > e; e++) i[e] ===
this && i.splice(e, 1);
this.element.removeClass("ui-droppable ui-droppable-disabled")
},
_setOption: function (e, i) {
"accept" === e && (this.accept = t.isFunction(i) ? i : function (t) {
return t.is(i)
}), t.Widget.prototype._setOption.apply(this, arguments)
},
_activate: function (e) {
var i = t.ui.ddmanager.current;
this.options.activeClass && this.element.addClass(this.options.activeClass), i && this._trigger(
"activate", e, this.ui(i))
},
_deactivate: function (e) {
var i = t.ui.ddmanager.current;
this.options.activeClass && this.element.removeClass(this.options.activeClass), i && this._trigger(
"deactivate", e, this.ui(i))
},
_over: function (e) {
var i = t.ui.ddmanager.current;
i && (i.currentItem || i.element)[0] !== this.element[0] && this.accept.call(this.element[0], i
.currentItem || i.element) && (this.options.hoverClass && this.element.addClass(this.options
.hoverClass), this._trigger("over", e, this.ui(i)))
},
_out: function (e) {
var i = t.ui.ddmanager.current;
i && (i.currentItem || i.element)[0] !== this.element[0] && this.accept.call(this.element[0], i
.currentItem || i.element) && (this.options.hoverClass && this.element.removeClass(this
.options.hoverClass), this._trigger("out", e, this.ui(i)))
},
_drop: function (e, i) {
var s = i || t.ui.ddmanager.current,
n = !1;
return s && (s.currentItem || s.element)[0] !== this.element[0] ? (this.element.find(
":data(ui-droppable)").not(".ui-draggable-dragging").each(function () {
var e = t.data(this, "ui-droppable");
return e.options.greedy && !e.options.disabled && e.options.scope === s.options
.scope && e.accept.call(e.element[0], s.currentItem || s.element) && t.ui.intersect(
s, t.extend(e, {
offset: e.element.offset()
}), e.options.tolerance) ? (n = !0, !1) : undefined
}), n ? !1 : this.accept.call(this.element[0], s.currentItem || s.element) ? (this.options
.activeClass && this.element.removeClass(this.options.activeClass), this.options.hoverClass &&
this.element.removeClass(this.options.hoverClass), this._trigger("drop", e, this.ui(
s)), this.element) : !1) : !1
},
ui: function (t) {
return {
draggable: t.currentItem || t.element,
helper: t.helper,
position: t.position,
offset: t.positionAbs
}
}
}), t.ui.intersect = function (t, i, s) {
if (!i.offset) return !1;
var n, o, a = (t.positionAbs || t.position.absolute).left,
r = a + t.helperProportions.width,
h = (t.positionAbs || t.position.absolute).top,
l = h + t.helperProportions.height,
c = i.offset.left,
u = c + i.proportions.width,
d = i.offset.top,
p = d + i.proportions.height;
switch (s) {
case "fit":
return a >= c && u >= r && h >= d && p >= l;
case "intersect":
return a + t.helperProportions.width / 2 > c && u > r - t.helperProportions.width / 2 && h + t.helperProportions
.height / 2 > d && p > l - t.helperProportions.height / 2;
case "pointer":
return n = (t.positionAbs || t.position.absolute).left + (t.clickOffset || t.offset.click).left, o =
(t.positionAbs || t.position.absolute).top + (t.clickOffset || t.offset.click).top, e(o, d, i.proportions
.height) && e(n, c, i.proportions.width);
case "touch":
return (h >= d && p >= h || l >= d && p >= l || d > h && l > p) && (a >= c && u >= a || r >= c && u >=
r || c > a && r > u);
default:
return !1
}
}, t.ui.ddmanager = {
current: null,
droppables: {
"default": []
},
prepareOffsets: function (e, i) {
var s, n, o = t.ui.ddmanager.droppables[e.options.scope] || [],
a = i ? i.type : null,
r = (e.currentItem || e.element).find(":data(ui-droppable)").addBack();
t: for (s = 0; o.length > s; s++)
if (!(o[s].options.disabled || e && !o[s].accept.call(o[s].element[0], e.currentItem || e.element))) {
for (n = 0; r.length > n; n++)
if (r[n] === o[s].element[0]) {
o[s].proportions.height = 0;
continue t
} o[s].visible = "none" !== o[s].element.css("display"), o[s].visible && (
"mousedown" === a && o[s]._activate.call(o[s], i), o[s].offset = o[s].element.offset(),
o[s].proportions = {
width: o[s].element[0].offsetWidth,
height: o[s].element[0].offsetHeight
})
}
},
drop: function (e, i) {
var s = !1;
return t.each((t.ui.ddmanager.droppables[e.options.scope] || []).slice(), function () {
this.options && (!this.options.disabled && this.visible && t.ui.intersect(e, this, this
.options.tolerance) && (s = this._drop.call(this, i) || s), !this.options.disabled &&
this.visible && this.accept.call(this.element[0], e.currentItem || e.element) &&
(this.isout = !0, this.isover = !1, this._deactivate.call(this, i)))
}), s
},
dragStart: function (e, i) {
e.element.parentsUntil("body").bind("scroll.droppable", function () {
e.options.refreshPositions || t.ui.ddmanager.prepareOffsets(e, i)
})
},
drag: function (e, i) {
e.options.refreshPositions && t.ui.ddmanager.prepareOffsets(e, i), t.each(t.ui.ddmanager.droppables[
e.options.scope] || [], function () {
if (!this.options.disabled && !this.greedyChild && this.visible) {
var s, n, o, a = t.ui.intersect(e, this, this.options.tolerance),
r = !a && this.isover ? "isout" : a && !this.isover ? "isover" : null;
r && (this.options.greedy && (n = this.options.scope, o = this.element.parents(
":data(ui-droppable)").filter(function () {
return t.data(this, "ui-droppable").options.scope === n
}), o.length && (s = t.data(o[0], "ui-droppable"), s.greedyChild =
"isover" === r)), s && "isover" === r && (s.isover = !1, s.isout = !0,
s._out.call(s, i)), this[r] = !0, this["isout" === r ? "isover" :
"isout"] = !1, this["isover" === r ? "_over" : "_out"].call(this, i), s &&
"isout" === r && (s.isout = !1, s.isover = !0, s._over.call(s, i)))
}
})
},
dragStop: function (e, i) {
e.element.parentsUntil("body").unbind("scroll.droppable"), e.options.refreshPositions || t.ui.ddmanager
.prepareOffsets(e, i)
}
}
}(jQuery),
function (t) {
function e(t) {
return parseInt(t, 10) || 0
}
function i(t) {
return !isNaN(parseInt(t, 10))
}
t.widget("ui.resizable", t.ui.mouse, {
version: "1.10.3",
widgetEventPrefix: "resize",
options: {
alsoResize: !1,
animate: !1,
animateDuration: "slow",
animateEasing: "swing",
aspectRatio: !1,
autoHide: !1,
containment: !1,
ghost: !1,
grid: !1,
handles: "e,s,se",
helper: !1,
maxHeight: null,
maxWidth: null,
minHeight: 10,
minWidth: 10,
zIndex: 90,
resize: null,
start: null,
stop: null
},
_create: function () {
var e, i, s, n, o, a = this,
r = this.options;
if (this.element.addClass("ui-resizable"), t.extend(this, {
_aspectRatio: !!r.aspectRatio,
aspectRatio: r.aspectRatio,
originalElement: this.element,
_proportionallyResizeElements: [],
_helper: r.helper || r.ghost || r.animate ? r.helper || "ui-resizable-helper" : null
}), this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i) && (this.element
.wrap(t("
").css({
position: this.element.css("position"),
width: this.element.outerWidth(),
height: this.element.outerHeight(),
top: this.element.css("top"),
left: this.element.css("left")
})), this.element = this.element.parent().data("ui-resizable", this.element.data(
"ui-resizable")), this.elementIsWrapper = !0, this.element.css({
marginLeft: this.originalElement.css("marginLeft"),
marginTop: this.originalElement.css("marginTop"),
marginRight: this.originalElement.css("marginRight"),
marginBottom: this.originalElement.css("marginBottom")
}), this.originalElement.css({
marginLeft: 0,
marginTop: 0,
marginRight: 0,
marginBottom: 0
}), this.originalResizeStyle = this.originalElement.css("resize"), this.originalElement
.css("resize", "none"), this._proportionallyResizeElements.push(this.originalElement.css({
position: "static",
zoom: 1,
display: "block"
})), this.originalElement.css({
margin: this.originalElement.css("margin")
}), this._proportionallyResize()), this.handles = r.handles || (t(
".ui-resizable-handle", this.element).length ? {
n: ".ui-resizable-n",
e: ".ui-resizable-e",
s: ".ui-resizable-s",
w: ".ui-resizable-w",
se: ".ui-resizable-se",
sw: ".ui-resizable-sw",
ne: ".ui-resizable-ne",
nw: ".ui-resizable-nw"
} : "e,s,se"), this.handles.constructor === String)
for ("all" === this.handles && (this.handles = "n,e,s,w,se,sw,ne,nw"), e = this.handles.split(
","), this.handles = {}, i = 0; e.length > i; i++) s = t.trim(e[i]), o =
"ui-resizable-" + s, n = t("
"), n.css({
zIndex: r.zIndex
}), "se" === s && n.addClass("ui-icon ui-icon-gripsmall-diagonal-se"), this.handles[s] =
".ui-resizable-" + s, this.element.append(n);
this._renderAxis = function (e) {
var i, s, n, o;
e = e || this.element;
for (i in this.handles) this.handles[i].constructor === String && (this.handles[i] = t(
this.handles[i], this.element).show()), this.elementIsWrapper && this.originalElement[
0].nodeName.match(/textarea|input|select|button/i) && (s = t(this.handles[i],
this.element), o = /sw|ne|nw|se|n|s/.test(i) ? s.outerHeight() : s.outerWidth(),
n = ["padding", /ne|nw|n/.test(i) ? "Top" : /se|sw|s/.test(i) ? "Bottom" :
/^e$/.test(i) ? "Right" : "Left"].join(""), e.css(n, o), this._proportionallyResize()
), t(this.handles[i]).length
}, this._renderAxis(this.element), this._handles = t(".ui-resizable-handle", this.element).disableSelection(),
this._handles.mouseover(function () {
a.resizing || (this.className && (n = this.className.match(
/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)), a.axis = n && n[1] ? n[1] :
"se")
}), r.autoHide && (this._handles.hide(), t(this.element).addClass("ui-resizable-autohide").mouseenter(
function () {
r.disabled || (t(this).removeClass("ui-resizable-autohide"), a._handles.show())
}).mouseleave(function () {
r.disabled || a.resizing || (t(this).addClass("ui-resizable-autohide"), a._handles
.hide())
})), this._mouseInit()
},
_destroy: function () {
this._mouseDestroy();
var e, i = function (e) {
t(e).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData(
"resizable").removeData("ui-resizable").unbind(".resizable").find(
".ui-resizable-handle").remove()
};
return this.elementIsWrapper && (i(this.element), e = this.element, this.originalElement.css({
position: e.css("position"),
width: e.outerWidth(),
height: e.outerHeight(),
top: e.css("top"),
left: e.css("left")
}).insertAfter(e), e.remove()), this.originalElement.css("resize", this.originalResizeStyle),
i(this.originalElement), this
},
_mouseCapture: function (e) {
var i, s, n = !1;
for (i in this.handles) s = t(this.handles[i])[0], (s === e.target || t.contains(s, e.target)) &&
(n = !0);
return !this.options.disabled && n
},
_mouseStart: function (i) {
var s, n, o, a = this.options,
r = this.element.position(),
h = this.element;
return this.resizing = !0, /absolute/.test(h.css("position")) ? h.css({
position: "absolute",
top: h.css("top"),
left: h.css("left")
}) : h.is(".ui-draggable") && h.css({
position: "absolute",
top: r.top,
left: r.left
}), this._renderProxy(), s = e(this.helper.css("left")), n = e(this.helper.css("top")), a.containment &&
(s += t(a.containment).scrollLeft() || 0, n += t(a.containment).scrollTop() || 0), this.offset =
this.helper.offset(), this.position = {
left: s,
top: n
}, this.size = this._helper ? {
width: h.outerWidth(),
height: h.outerHeight()
} : {
width: h.width(),
height: h.height()
}, this.originalSize = this._helper ? {
width: h.outerWidth(),
height: h.outerHeight()
} : {
width: h.width(),
height: h.height()
}, this.originalPosition = {
left: s,
top: n
}, this.sizeDiff = {
width: h.outerWidth() - h.width(),
height: h.outerHeight() - h.height()
}, this.originalMousePosition = {
left: i.pageX,
top: i.pageY
}, this.aspectRatio = "number" == typeof a.aspectRatio ? a.aspectRatio : this.originalSize.width /
this.originalSize.height || 1, o = t(".ui-resizable-" + this.axis).css("cursor"), t("body")
.css("cursor", "auto" === o ? this.axis + "-resize" : o), h.addClass(
"ui-resizable-resizing"), this._propagate("start", i), !0
},
_mouseDrag: function (e) {
var i, s = this.helper,
n = {},
o = this.originalMousePosition,
a = this.axis,
r = this.position.top,
h = this.position.left,
l = this.size.width,
c = this.size.height,
u = e.pageX - o.left || 0,
d = e.pageY - o.top || 0,
p = this._change[a];
return p ? (i = p.apply(this, [e, u, d]), this._updateVirtualBoundaries(e.shiftKey), (this._aspectRatio ||
e.shiftKey) && (i = this._updateRatio(i, e)), i = this._respectSize(i, e), this._updateCache(
i), this._propagate("resize", e), this.position.top !== r && (n.top = this.position
.top + "px"), this.position.left !== h && (n.left = this.position.left + "px"),
this.size.width !== l && (n.width = this.size.width + "px"), this.size.height !== c &&
(n.height = this.size.height + "px"), s.css(n), !this._helper && this._proportionallyResizeElements
.length && this._proportionallyResize(), t.isEmptyObject(n) || this._trigger("resize",
e, this.ui()), !1) : !1
},
_mouseStop: function (e) {
this.resizing = !1;
var i, s, n, o, a, r, h, l = this.options,
c = this;
return this._helper && (i = this._proportionallyResizeElements, s = i.length && /textarea/i.test(
i[0].nodeName), n = s && t.ui.hasScroll(i[0], "left") ? 0 : c.sizeDiff.height, o =
s ? 0 : c.sizeDiff.width, a = {
width: c.helper.width() - o,
height: c.helper.height() - n
}, r = parseInt(c.element.css("left"), 10) + (c.position.left - c.originalPosition.left) ||
null, h = parseInt(c.element.css("top"), 10) + (c.position.top - c.originalPosition.top) ||
null, l.animate || this.element.css(t.extend(a, {
top: h,
left: r
})), c.helper.height(c.size.height), c.helper.width(c.size.width), this._helper && !l.animate &&
this._proportionallyResize()), t("body").css("cursor", "auto"), this.element.removeClass(
"ui-resizable-resizing"), this._propagate("stop", e), this._helper && this.helper.remove(),
!1
},
_updateVirtualBoundaries: function (t) {
var e, s, n, o, a, r = this.options;
a = {
minWidth: i(r.minWidth) ? r.minWidth : 0,
maxWidth: i(r.maxWidth) ? r.maxWidth : 1 / 0,
minHeight: i(r.minHeight) ? r.minHeight : 0,
maxHeight: i(r.maxHeight) ? r.maxHeight : 1 / 0
}, (this._aspectRatio || t) && (e = a.minHeight * this.aspectRatio, n = a.minWidth / this.aspectRatio,
s = a.maxHeight * this.aspectRatio, o = a.maxWidth / this.aspectRatio, e > a.minWidth &&
(a.minWidth = e), n > a.minHeight && (a.minHeight = n), a.maxWidth > s && (a.maxWidth =
s), a.maxHeight > o && (a.maxHeight = o)), this._vBoundaries = a
},
_updateCache: function (t) {
this.offset = this.helper.offset(), i(t.left) && (this.position.left = t.left), i(t.top) && (
this.position.top = t.top), i(t.height) && (this.size.height = t.height), i(t.width) &&
(this.size.width = t.width)
},
_updateRatio: function (t) {
var e = this.position,
s = this.size,
n = this.axis;
return i(t.height) ? t.width = t.height * this.aspectRatio : i(t.width) && (t.height = t.width /
this.aspectRatio), "sw" === n && (t.left = e.left + (s.width - t.width), t.top = null),
"nw" === n && (t.top = e.top + (s.height - t.height), t.left = e.left + (s.width - t.width)),
t
},
_respectSize: function (t) {
var e = this._vBoundaries,
s = this.axis,
n = i(t.width) && e.maxWidth && e.maxWidth < t.width,
o = i(t.height) && e.maxHeight && e.maxHeight < t.height,
a = i(t.width) && e.minWidth && e.minWidth > t.width,
r = i(t.height) && e.minHeight && e.minHeight > t.height,
h = this.originalPosition.left + this.originalSize.width,
l = this.position.top + this.size.height,
c = /sw|nw|w/.test(s),
u = /nw|ne|n/.test(s);
return a && (t.width = e.minWidth), r && (t.height = e.minHeight), n && (t.width = e.maxWidth),
o && (t.height = e.maxHeight), a && c && (t.left = h - e.minWidth), n && c && (t.left = h -
e.maxWidth), r && u && (t.top = l - e.minHeight), o && u && (t.top = l - e.maxHeight),
t.width || t.height || t.left || !t.top ? t.width || t.height || t.top || !t.left || (t.left =
null) : t.top = null, t
},
_proportionallyResize: function () {
if (this._proportionallyResizeElements.length) {
var t, e, i, s, n, o = this.helper || this.element;
for (t = 0; this._proportionallyResizeElements.length > t; t++) {
if (n = this._proportionallyResizeElements[t], !this.borderDif)
for (this.borderDif = [], i = [n.css("borderTopWidth"), n.css("borderRightWidth"),
n.css("borderBottomWidth"), n.css("borderLeftWidth")], s = [n.css(
"paddingTop"), n.css("paddingRight"), n.css("paddingBottom"), n.css(
"paddingLeft")], e = 0; i.length > e; e++) this.borderDif[e] = (parseInt(i[
e], 10) || 0) + (parseInt(s[e], 10) || 0);
n.css({
height: o.height() - this.borderDif[0] - this.borderDif[2] || 0,
width: o.width() - this.borderDif[1] - this.borderDif[3] || 0
})
}
}
},
_renderProxy: function () {
var e = this.element,
i = this.options;
this.elementOffset = e.offset(), this._helper ? (this.helper = this.helper || t(
"
"), this.helper.addClass(this._helper).css({
width: this.element.outerWidth() - 1,
height: this.element.outerHeight() - 1,
position: "absolute",
left: this.elementOffset.left + "px",
top: this.elementOffset.top + "px",
zIndex: ++i.zIndex
}), this.helper.appendTo("body").disableSelection()) : this.helper = this.element
},
_change: {
e: function (t, e) {
return {
width: this.originalSize.width + e
}
},
w: function (t, e) {
var i = this.originalSize,
s = this.originalPosition;
return {
left: s.left + e,
width: i.width - e
}
},
n: function (t, e, i) {
var s = this.originalSize,
n = this.originalPosition;
return {
top: n.top + i,
height: s.height - i
}
},
s: function (t, e, i) {
return {
height: this.originalSize.height + i
}
},
se: function (e, i, s) {
return t.extend(this._change.s.apply(this, arguments), this._change.e.apply(this, [e, i, s]))
},
sw: function (e, i, s) {
return t.extend(this._change.s.apply(this, arguments), this._change.w.apply(this, [e, i, s]))
},
ne: function (e, i, s) {
return t.extend(this._change.n.apply(this, arguments), this._change.e.apply(this, [e, i, s]))
},
nw: function (e, i, s) {
return t.extend(this._change.n.apply(this, arguments), this._change.w.apply(this, [e, i, s]))
}
},
_propagate: function (e, i) {
t.ui.plugin.call(this, e, [i, this.ui()]), "resize" !== e && this._trigger(e, i, this.ui())
},
plugins: {},
ui: function () {
return {
originalElement: this.originalElement,
element: this.element,
helper: this.helper,
position: this.position,
size: this.size,
originalSize: this.originalSize,
originalPosition: this.originalPosition
}
}
}), t.ui.plugin.add("resizable", "animate", {
stop: function (e) {
var i = t(this).data("ui-resizable"),
s = i.options,
n = i._proportionallyResizeElements,
o = n.length && /textarea/i.test(n[0].nodeName),
a = o && t.ui.hasScroll(n[0], "left") ? 0 : i.sizeDiff.height,
r = o ? 0 : i.sizeDiff.width,
h = {
width: i.size.width - r,
height: i.size.height - a
},
l = parseInt(i.element.css("left"), 10) + (i.position.left - i.originalPosition.left) ||
null,
c = parseInt(i.element.css("top"), 10) + (i.position.top - i.originalPosition.top) || null;
i.element.animate(t.extend(h, c && l ? {
top: c,
left: l
} : {}), {
duration: s.animateDuration,
easing: s.animateEasing,
step: function () {
var s = {
width: parseInt(i.element.css("width"), 10),
height: parseInt(i.element.css("height"), 10),
top: parseInt(i.element.css("top"), 10),
left: parseInt(i.element.css("left"), 10)
};
n && n.length && t(n[0]).css({
width: s.width,
height: s.height
}), i._updateCache(s), i._propagate("resize", e)
}
})
}
}), t.ui.plugin.add("resizable", "containment", {
start: function () {
var i, s, n, o, a, r, h, l = t(this).data("ui-resizable"),
c = l.options,
u = l.element,
d = c.containment,
p = d instanceof t ? d.get(0) : /parent/.test(d) ? u.parent().get(0) : d;
p && (l.containerElement = t(p), /document/.test(d) || d === document ? (l.containerOffset = {
left: 0,
top: 0
}, l.containerPosition = {
left: 0,
top: 0
}, l.parentData = {
element: t(document),
left: 0,
top: 0,
width: t(document).width(),
height: t(document).height() || document.body.parentNode.scrollHeight
}) : (i = t(p), s = [], t(["Top", "Right", "Left", "Bottom"]).each(function (t, n) {
s[t] = e(i.css("padding" + n))
}), l.containerOffset = i.offset(), l.containerPosition = i.position(), l.containerSize = {
height: i.innerHeight() - s[3],
width: i.innerWidth() - s[1]
}, n = l.containerOffset, o = l.containerSize.height, a = l.containerSize.width, r =
t.ui.hasScroll(p, "left") ? p.scrollWidth : a, h = t.ui.hasScroll(p) ? p.scrollHeight :
o, l.parentData = {
element: p,
left: n.left,
top: n.top,
width: r,
height: h
}))
},
resize: function (e) {
var i, s, n, o, a = t(this).data("ui-resizable"),
r = a.options,
h = a.containerOffset,
l = a.position,
c = a._aspectRatio || e.shiftKey,
u = {
top: 0,
left: 0
},
d = a.containerElement;
d[0] !== document && /static/.test(d.css("position")) && (u = h), l.left < (a._helper ? h.left :
0) && (a.size.width = a.size.width + (a._helper ? a.position.left - h.left : a.position
.left - u.left), c && (a.size.height = a.size.width / a.aspectRatio), a.position.left =
r.helper ? h.left : 0), l.top < (a._helper ? h.top : 0) && (a.size.height = a.size.height +
(a._helper ? a.position.top - h.top : a.position.top), c && (a.size.width = a.size.height *
a.aspectRatio), a.position.top = a._helper ? h.top : 0), a.offset.left = a.parentData
.left + a.position.left, a.offset.top = a.parentData.top + a.position.top, i = Math.abs((a._helper ?
a.offset.left - u.left : a.offset.left - u.left) + a.sizeDiff.width), s = Math.abs((a._helper ?
a.offset.top - u.top : a.offset.top - h.top) + a.sizeDiff.height), n = a.containerElement
.get(0) === a.element.parent().get(0), o = /relative|absolute/.test(a.containerElement.css(
"position")), n && o && (i -= a.parentData.left), i + a.size.width >= a.parentData.width &&
(a.size.width = a.parentData.width - i, c && (a.size.height = a.size.width / a.aspectRatio)),
s + a.size.height >= a.parentData.height && (a.size.height = a.parentData.height - s, c &&
(a.size.width = a.size.height * a.aspectRatio))
},
stop: function () {
var e = t(this).data("ui-resizable"),
i = e.options,
s = e.containerOffset,
n = e.containerPosition,
o = e.containerElement,
a = t(e.helper),
r = a.offset(),
h = a.outerWidth() - e.sizeDiff.width,
l = a.outerHeight() - e.sizeDiff.height;
e._helper && !i.animate && /relative/.test(o.css("position")) && t(this).css({
left: r.left - n.left - s.left,
width: h,
height: l
}), e._helper && !i.animate && /static/.test(o.css("position")) && t(this).css({
left: r.left - n.left - s.left,
width: h,
height: l
})
}
}), t.ui.plugin.add("resizable", "alsoResize", {
start: function () {
var e = t(this).data("ui-resizable"),
i = e.options,
s = function (e) {
t(e).each(function () {
var e = t(this);
e.data("ui-resizable-alsoresize", {
width: parseInt(e.width(), 10),
height: parseInt(e.height(), 10),
left: parseInt(e.css("left"), 10),
top: parseInt(e.css("top"), 10)
})
})
};
"object" != typeof i.alsoResize || i.alsoResize.parentNode ? s(i.alsoResize) : i.alsoResize.length ?
(i.alsoResize = i.alsoResize[0], s(i.alsoResize)) : t.each(i.alsoResize, function (t) {
s(t)
})
},
resize: function (e, i) {
var s = t(this).data("ui-resizable"),
n = s.options,
o = s.originalSize,
a = s.originalPosition,
r = {
height: s.size.height - o.height || 0,
width: s.size.width - o.width || 0,
top: s.position.top - a.top || 0,
left: s.position.left - a.left || 0
},
h = function (e, s) {
t(e).each(function () {
var e = t(this),
n = t(this).data("ui-resizable-alsoresize"),
o = {},
a = s && s.length ? s : e.parents(i.originalElement[0]).length ? [
"width", "height"] : ["width", "height", "top", "left"];
t.each(a, function (t, e) {
var i = (n[e] || 0) + (r[e] || 0);
i && i >= 0 && (o[e] = i || null)
}), e.css(o)
})
};
"object" != typeof n.alsoResize || n.alsoResize.nodeType ? h(n.alsoResize) : t.each(n.alsoResize,
function (t, e) {
h(t, e)
})
},
stop: function () {
t(this).removeData("resizable-alsoresize")
}
}), t.ui.plugin.add("resizable", "ghost", {
start: function () {
var e = t(this).data("ui-resizable"),
i = e.options,
s = e.size;
e.ghost = e.originalElement.clone(), e.ghost.css({
opacity: .25,
display: "block",
position: "relative",
height: s.height,
width: s.width,
margin: 0,
left: 0,
top: 0
}).addClass("ui-resizable-ghost").addClass("string" == typeof i.ghost ? i.ghost : ""), e.ghost
.appendTo(e.helper)
},
resize: function () {
var e = t(this).data("ui-resizable");
e.ghost && e.ghost.css({
position: "relative",
height: e.size.height,
width: e.size.width
})
},
stop: function () {
var e = t(this).data("ui-resizable");
e.ghost && e.helper && e.helper.get(0).removeChild(e.ghost.get(0))
}
}), t.ui.plugin.add("resizable", "grid", {
resize: function () {
var e = t(this).data("ui-resizable"),
i = e.options,
s = e.size,
n = e.originalSize,
o = e.originalPosition,
a = e.axis,
r = "number" == typeof i.grid ? [i.grid, i.grid] : i.grid,
h = r[0] || 1,
l = r[1] || 1,
c = Math.round((s.width - n.width) / h) * h,
u = Math.round((s.height - n.height) / l) * l,
d = n.width + c,
p = n.height + u,
f = i.maxWidth && d > i.maxWidth,
g = i.maxHeight && p > i.maxHeight,
m = i.minWidth && i.minWidth > d,
v = i.minHeight && i.minHeight > p;
i.grid = r, m && (d += h), v && (p += l), f && (d -= h), g && (p -= l), /^(se|s|e)$/.test(a) ?
(e.size.width = d, e.size.height = p) : /^(ne)$/.test(a) ? (e.size.width = d, e.size.height =
p, e.position.top = o.top - u) : /^(sw)$/.test(a) ? (e.size.width = d, e.size.height =
p, e.position.left = o.left - c) : (e.size.width = d, e.size.height = p, e.position.top =
o.top - u, e.position.left = o.left - c)
}
})
}(jQuery),
function (t) {
t.widget("ui.selectable", t.ui.mouse, {
version: "1.10.3",
options: {
appendTo: "body",
autoRefresh: !0,
distance: 0,
filter: "*",
tolerance: "touch",
selected: null,
selecting: null,
start: null,
stop: null,
unselected: null,
unselecting: null
},
_create: function () {
var e, i = this;
this.element.addClass("ui-selectable"), this.dragged = !1, this.refresh = function () {
e = t(i.options.filter, i.element[0]), e.addClass("ui-selectee"), e.each(function () {
var e = t(this),
i = e.offset();
t.data(this, "selectable-item", {
element: this,
$element: e,
left: i.left,
top: i.top,
right: i.left + e.outerWidth(),
bottom: i.top + e.outerHeight(),
startselected: !1,
selected: e.hasClass("ui-selected"),
selecting: e.hasClass("ui-selecting"),
unselecting: e.hasClass("ui-unselecting")
})
})
}, this.refresh(), this.selectees = e.addClass("ui-selectee"), this._mouseInit(), this.helper =
t("
")
},
_destroy: function () {
this.selectees.removeClass("ui-selectee").removeData("selectable-item"), this.element.removeClass(
"ui-selectable ui-selectable-disabled"), this._mouseDestroy()
},
_mouseStart: function (e) {
var i = this,
s = this.options;
this.opos = [e.pageX, e.pageY], this.options.disabled || (this.selectees = t(s.filter, this.element[
0]), this._trigger("start", e), t(s.appendTo).append(this.helper), this.helper.css({
left: e.pageX,
top: e.pageY,
width: 0,
height: 0
}), s.autoRefresh && this.refresh(), this.selectees.filter(".ui-selected").each(
function () {
var s = t.data(this, "selectable-item");
s.startselected = !0, e.metaKey || e.ctrlKey || (s.$element.removeClass(
"ui-selected"), s.selected = !1, s.$element.addClass(
"ui-unselecting"), s.unselecting = !0, i._trigger("unselecting", e, {
unselecting: s.element
}))
}), t(e.target).parents().addBack().each(function () {
var s, n = t.data(this, "selectable-item");
return n ? (s = !e.metaKey && !e.ctrlKey || !n.$element.hasClass("ui-selected"),
n.$element.removeClass(s ? "ui-unselecting" : "ui-selected").addClass(s ?
"ui-selecting" : "ui-unselecting"), n.unselecting = !s, n.selecting =
s, n.selected = s, s ? i._trigger("selecting", e, {
selecting: n.element
}) : i._trigger("unselecting", e, {
unselecting: n.element
}), !1) : undefined
}))
},
_mouseDrag: function (e) {
if (this.dragged = !0, !this.options.disabled) {
var i, s = this,
n = this.options,
o = this.opos[0],
a = this.opos[1],
r = e.pageX,
h = e.pageY;
return o > r && (i = r, r = o, o = i), a > h && (i = h, h = a, a = i), this.helper.css({
left: o,
top: a,
width: r - o,
height: h - a
}), this.selectees.each(function () {
var i = t.data(this, "selectable-item"),
l = !1;
i && i.element !== s.element[0] && ("touch" === n.tolerance ? l = !(i.left > r ||
o > i.right || i.top > h || a > i.bottom) : "fit" === n.tolerance &&
(l = i.left > o && r > i.right && i.top > a && h > i.bottom), l ? (i.selected &&
(i.$element.removeClass("ui-selected"), i.selected = !1), i.unselecting &&
(i.$element.removeClass("ui-unselecting"), i.unselecting = !1), i.selecting ||
(i.$element.addClass("ui-selecting"), i.selecting = !0, s._trigger(
"selecting", e, {
selecting: i.element
}))) : (i.selecting && ((e.metaKey || e.ctrlKey) && i.startselected ?
(i.$element.removeClass("ui-selecting"), i.selecting = !1, i.$element
.addClass("ui-selected"), i.selected = !0) : (i.$element.removeClass(
"ui-selecting"), i.selecting = !1, i.startselected && (
i.$element.addClass("ui-unselecting"), i.unselecting = !
0), s._trigger("unselecting", e, {
unselecting: i.element
}))), i.selected && (e.metaKey || e.ctrlKey || i.startselected ||
(i.$element.removeClass("ui-selected"), i.selected = !1, i.$element
.addClass("ui-unselecting"), i.unselecting = !0, s._trigger(
"unselecting", e, {
unselecting: i.element
})))))
}), !1
}
},
_mouseStop: function (e) {
var i = this;
return this.dragged = !1, t(".ui-unselecting", this.element[0]).each(function () {
var s = t.data(this, "selectable-item");
s.$element.removeClass("ui-unselecting"), s.unselecting = !1, s.startselected = !1,
i._trigger("unselected", e, {
unselected: s.element
})
}), t(".ui-selecting", this.element[0]).each(function () {
var s = t.data(this, "selectable-item");
s.$element.removeClass("ui-selecting").addClass("ui-selected"), s.selecting = !1, s
.selected = !0, s.startselected = !0, i._trigger("selected", e, {
selected: s.element
})
}), this._trigger("stop", e), this.helper.remove(), !1
}
})
}(jQuery),
function (t) {
function e(t, e, i) {
return t > e && e + i > t
}
function i(t) {
return /left|right/.test(t.css("float")) || /inline|table-cell/.test(t.css("display"))
}
t.widget("ui.sortable", t.ui.mouse, {
version: "1.10.3",
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,
activate: null,
beforeStop: null,
change: null,
deactivate: null,
out: null,
over: null,
receive: null,
remove: null,
sort: null,
start: null,
stop: null,
update: null
},
_create: function () {
var t = this.options;
this.containerCache = {}, this.element.addClass("ui-sortable"), this.refresh(), this.floating =
this.items.length ? "x" === t.axis || i(this.items[0].item) : !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 t = this.items.length - 1; t >= 0; t--) this.items[t].item.removeData(this.widgetName +
"-item");
return this
},
_setOption: function (e, i) {
"disabled" === e ? (this.options[e] = i, this.widget().toggleClass("ui-sortable-disabled", !!i)) :
t.Widget.prototype._setOption.apply(this, arguments)
},
_mouseCapture: function (e, i) {
var s = null,
n = !1,
o = this;
return this.reverting ? !1 : this.options.disabled || "static" === this.options.type ? !1 : (
this._refreshItems(e), t(e.target).parents().each(function () {
return t.data(this, o.widgetName + "-item") === o ? (s = t(this), !1) :
undefined
}), t.data(e.target, o.widgetName + "-item") === o && (s = t(e.target)), s ? !this.options
.handle || i || (t(this.options.handle, s).find("*").addBack().each(function () {
this === e.target && (n = !0)
}), n) ? (this.currentItem = s, this._removeCurrentsFromItems(), !0) : !1 : !1)
},
_mouseStart: function (e, i, s) {
var n, o, a = this.options;
if (this.currentContainer = this, this.refreshPositions(), this.helper = this._createHelper(e),
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
}, t.extend(this.offset, {
click: {
left: e.pageX - this.offset.left,
top: e.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(e), this.originalPageX = e.pageX, this.originalPageY =
e.pageY, a.cursorAt && this._adjustOffsetFromHelper(a.cursorAt), this.domPosition = {
prev: this.currentItem.prev()[0],
parent: this.currentItem.parent()[0]
}, this.helper[0] !== this.currentItem[0] && this.currentItem.hide(), this._createPlaceholder(),
a.containment && this._setContainment(), a.cursor && "auto" !== a.cursor && (o = this.document
.find("body"), this.storedCursor = o.css("cursor"), o.css("cursor", a.cursor), this.storedStylesheet =
t("").appendTo(o)), a.opacity &&
(this.helper.css("opacity") && (this._storedOpacity = this.helper.css("opacity")), this.helper
.css("opacity", a.opacity)), a.zIndex && (this.helper.css("zIndex") && (this._storedZIndex =
this.helper.css("zIndex")), this.helper.css("zIndex", a.zIndex)), this.scrollParent[0] !==
document && "HTML" !== this.scrollParent[0].tagName && (this.overflowOffset = this.scrollParent
.offset()), this._trigger("start", e, this._uiHash()), this._preserveHelperProportions ||
this._cacheHelperProportions(), !s)
for (n = this.containers.length - 1; n >= 0; n--) this.containers[n]._trigger("activate", e,
this._uiHash(this));
return t.ui.ddmanager && (t.ui.ddmanager.current = this), t.ui.ddmanager && !a.dropBehaviour &&
t.ui.ddmanager.prepareOffsets(this, e), this.dragging = !0, this.helper.addClass(
"ui-sortable-helper"), this._mouseDrag(e), !0
},
_mouseDrag: function (e) {
var i, s, n, o, a = this.options,
r = !1;
for (this.position = this._generatePosition(e), this.positionAbs = this._convertPositionTo(
"absolute"), this.lastPositionAbs || (this.lastPositionAbs = this.positionAbs), this.options
.scroll && (this.scrollParent[0] !== document && "HTML" !== this.scrollParent[0].tagName ?
(this.overflowOffset.top + this.scrollParent[0].offsetHeight - e.pageY < a.scrollSensitivity ?
this.scrollParent[0].scrollTop = r = this.scrollParent[0].scrollTop + a.scrollSpeed :
e.pageY - this.overflowOffset.top < a.scrollSensitivity && (this.scrollParent[0].scrollTop =
r = this.scrollParent[0].scrollTop - a.scrollSpeed), this.overflowOffset.left +
this.scrollParent[0].offsetWidth - e.pageX < a.scrollSensitivity ? this.scrollParent[
0].scrollLeft = r = this.scrollParent[0].scrollLeft + a.scrollSpeed : e.pageX -
this.overflowOffset.left < a.scrollSensitivity && (this.scrollParent[0].scrollLeft =
r = this.scrollParent[0].scrollLeft - a.scrollSpeed)) : (e.pageY - t(document).scrollTop() <
a.scrollSensitivity ? r = t(document).scrollTop(t(document).scrollTop() - a.scrollSpeed) :
t(window).height() - (e.pageY - t(document).scrollTop()) < a.scrollSensitivity && (
r = t(document).scrollTop(t(document).scrollTop() + a.scrollSpeed)), e.pageX -
t(document).scrollLeft() < a.scrollSensitivity ? r = t(document).scrollLeft(t(
document).scrollLeft() - a.scrollSpeed) : t(window).width() - (e.pageX - t(
document).scrollLeft()) < a.scrollSensitivity && (r = t(document).scrollLeft(t(
document).scrollLeft() + a.scrollSpeed))), r !== !1 && t.ui.ddmanager && !a.dropBehaviour &&
t.ui.ddmanager.prepareOffsets(this, e)), this.positionAbs = this._convertPositionTo(
"absolute"), this.options.axis && "y" === this.options.axis || (this.helper[0].style.left =
this.position.left + "px"), this.options.axis && "x" === this.options.axis || (this.helper[
0].style.top = this.position.top + "px"), i = this.items.length - 1; i >= 0; i--)
if (s = this.items[i], n = s.item[0], o = this._intersectsWithPointer(s), o && s.instance ===
this.currentContainer && n !== this.currentItem[0] && this.placeholder[1 === o ? "next" :
"prev"]()[0] !== n && !t.contains(this.placeholder[0], n) && ("semi-dynamic" ===
this.options.type ? !t.contains(this.element[0], n) : !0)) {
if (this.direction = 1 === o ? "down" : "up", "pointer" !== this.options.tolerance && !
this._intersectsWithSides(s)) break;
this._rearrange(e, s), this._trigger("change", e, this._uiHash());
break
} return this._contactContainers(e), t.ui.ddmanager && t.ui.ddmanager.drag(this, e), this._trigger(
"sort", e, this._uiHash()), this.lastPositionAbs = this.positionAbs, !1
},
_mouseStop: function (e, i) {
if (e) {
if (t.ui.ddmanager && !this.options.dropBehaviour && t.ui.ddmanager.drop(this, e), this.options
.revert) {
var s = this,
n = this.placeholder.offset(),
o = this.options.axis,
a = {};
o && "x" !== o || (a.left = n.left - this.offset.parent.left - this.margins.left + (
this.offsetParent[0] === document.body ? 0 : this.offsetParent[0].scrollLeft
)), o && "y" !== o || (a.top = n.top - this.offset.parent.top - this.margins.top +
(this.offsetParent[0] === document.body ? 0 : this.offsetParent[0].scrollTop)),
this.reverting = !0, t(this.helper).animate(a, parseInt(this.options.revert, 10) ||
500,
function () {
s._clear(e)
})
} else this._clear(e, i);
return !1
}
},
cancel: function () {
if (this.dragging) {
this._mouseUp({
target: null
}), "original" === this.options.helper ? this.currentItem.css(this._storedCSS).removeClass(
"ui-sortable-helper") : this.currentItem.show();
for (var e = this.containers.length - 1; e >= 0; e--) this.containers[e]._trigger(
"deactivate", null, this._uiHash(this)), this.containers[e].containerCache.over &&
(this.containers[e]._trigger("out", null, this._uiHash(this)), this.containers[e].containerCache
.over = 0)
}
return this.placeholder && (this.placeholder[0].parentNode && this.placeholder[0].parentNode.removeChild(
this.placeholder[0]), "original" !== this.options.helper && this.helper && this.helper[
0].parentNode && this.helper.remove(), t.extend(this, {
helper: null,
dragging: !1,
reverting: !1,
_noFinalSort: null
}), this.domPosition.prev ? t(this.domPosition.prev).after(this.currentItem) : t(this.domPosition
.parent).prepend(this.currentItem)), this
},
serialize: function (e) {
var i = this._getItemsAsjQuery(e && e.connected),
s = [];
return e = e || {}, t(i).each(function () {
var i = (t(e.item || this).attr(e.attribute || "id") || "").match(e.expression ||
/(.+)[\-=_](.+)/);
i && s.push((e.key || i[1] + "[]") + "=" + (e.key && e.expression ? i[1] : i[2]))
}), !s.length && e.key && s.push(e.key + "="), s.join("&")
},
toArray: function (e) {
var i = this._getItemsAsjQuery(e && e.connected),
s = [];
return e = e || {}, i.each(function () {
s.push(t(e.item || this).attr(e.attribute || "id") || "")
}), s
},
_intersectsWith: function (t) {
var e = this.positionAbs.left,
i = e + this.helperProportions.width,
s = this.positionAbs.top,
n = s + this.helperProportions.height,
o = t.left,
a = o + t.width,
r = t.top,
h = r + t.height,
l = this.offset.click.top,
c = this.offset.click.left,
u = "x" === this.options.axis || s + l > r && h > s + l,
d = "y" === this.options.axis || e + c > o && a > e + c,
p = u && d;
return "pointer" === this.options.tolerance || this.options.forcePointerForContainers ||
"pointer" !== this.options.tolerance && this.helperProportions[this.floating ? "width" :
"height"] > t[this.floating ? "width" : "height"] ? p : e + this.helperProportions.width /
2 > o && a > i - this.helperProportions.width / 2 && s + this.helperProportions.height / 2 >
r && h > n - this.helperProportions.height / 2
},
_intersectsWithPointer: function (t) {
var i = "x" === this.options.axis || e(this.positionAbs.top + this.offset.click.top, t.top, t.height),
s = "y" === this.options.axis || e(this.positionAbs.left + this.offset.click.left, t.left,
t.width),
n = i && s,
o = this._getDragVerticalDirection(),
a = this._getDragHorizontalDirection();
return n ? this.floating ? a && "right" === a || "down" === o ? 2 : 1 : o && ("down" === o ? 2 :
1) : !1
},
_intersectsWithSides: function (t) {
var i = e(this.positionAbs.top + this.offset.click.top, t.top + t.height / 2, t.height),
s = e(this.positionAbs.left + this.offset.click.left, t.left + t.width / 2, t.width),
n = this._getDragVerticalDirection(),
o = this._getDragHorizontalDirection();
return this.floating && o ? "right" === o && s || "left" === o && !s : n && ("down" === n && i ||
"up" === n && !i)
},
_getDragVerticalDirection: function () {
var t = this.positionAbs.top - this.lastPositionAbs.top;
return 0 !== t && (t > 0 ? "down" : "up")
},
_getDragHorizontalDirection: function () {
var t = this.positionAbs.left - this.lastPositionAbs.left;
return 0 !== t && (t > 0 ? "right" : "left")
},
refresh: function (t) {
return this._refreshItems(t), this.refreshPositions(), this
},
_connectWith: function () {
var t = this.options;
return t.connectWith.constructor === String ? [t.connectWith] : t.connectWith
},
_getItemsAsjQuery: function (e) {
var i, s, n, o, a = [],
r = [],
h = this._connectWith();
if (h && e)
for (i = h.length - 1; i >= 0; i--)
for (n = t(h[i]), s = n.length - 1; s >= 0; s--) o = t.data(n[s], this.widgetFullName),
o && o !== this && !o.options.disabled && r.push([t.isFunction(o.options.items) ? o
.options.items.call(o.element) : t(o.options.items, o.element).not(
".ui-sortable-helper").not(".ui-sortable-placeholder"), o]);
for (r.push([t.isFunction(this.options.items) ? this.options.items.call(this.element, null, {
options: this.options,
item: this.currentItem
}) : t(this.options.items, this.element).not(".ui-sortable-helper").not(
".ui-sortable-placeholder"), this]), i = r.length - 1; i >= 0; i--) r[i][0].each(
function () {
a.push(this)
});
return t(a)
},
_removeCurrentsFromItems: function () {
var e = this.currentItem.find(":data(" + this.widgetName + "-item)");
this.items = t.grep(this.items, function (t) {
for (var i = 0; e.length > i; i++)
if (e[i] === t.item[0]) return !1;
return !0
})
},
_refreshItems: function (e) {
this.items = [], this.containers = [this];
var i, s, n, o, a, r, h, l, c = this.items,
u = [[t.isFunction(this.options.items) ? this.options.items.call(this.element[0], e, {
item: this.currentItem
}) : t(this.options.items, this.element), this]],
d = this._connectWith();
if (d && this.ready)
for (i = d.length - 1; i >= 0; i--)
for (n = t(d[i]), s = n.length - 1; s >= 0; s--) o = t.data(n[s], this.widgetFullName),
o && o !== this && !o.options.disabled && (u.push([t.isFunction(o.options.items) ?
o.options.items.call(o.element[0], e, {
item: this.currentItem
}) : t(o.options.items, o.element), o]), this.containers.push(o));
for (i = u.length - 1; i >= 0; i--)
for (a = u[i][1], r = u[i][0], s = 0, l = r.length; l > s; s++) h = t(r[s]), h.data(this.widgetName +
"-item", a), c.push({
item: h,
instance: a,
width: 0,
height: 0,
left: 0,
top: 0
})
},
refreshPositions: function (e) {
this.offsetParent && this.helper && (this.offset.parent = this._getParentOffset());
var i, s, n, o;
for (i = this.items.length - 1; i >= 0; i--) s = this.items[i], s.instance !== this.currentContainer &&
this.currentContainer && s.item[0] !== this.currentItem[0] || (n = this.options.toleranceElement ?
t(this.options.toleranceElement, s.item) : s.item, e || (s.width = n.outerWidth(), s.height =
n.outerHeight()), o = n.offset(), s.left = o.left, s.top = o.top);
if (this.options.custom && this.options.custom.refreshContainers) this.options.custom.refreshContainers
.call(this);
else
for (i = this.containers.length - 1; i >= 0; i--) o = this.containers[i].element.offset(),
this.containers[i].containerCache.left = o.left, this.containers[i].containerCache.top =
o.top, this.containers[i].containerCache.width = this.containers[i].element.outerWidth(),
this.containers[i].containerCache.height = this.containers[i].element.outerHeight();
return this
},
_createPlaceholder: function (e) {
e = e || this;
var i, s = e.options;
s.placeholder && s.placeholder.constructor !== String || (i = s.placeholder, s.placeholder = {
element: function () {
var s = e.currentItem[0].nodeName.toLowerCase(),
n = t("<" + s + ">", e.document[0]).addClass(i || e.currentItem[0].className +
" ui-sortable-placeholder").removeClass("ui-sortable-helper");
return "tr" === s ? e.currentItem.children().each(function () {
t("
| ", e.document[0]).attr("colspan", t(this).attr(
"colspan") || 1).appendTo(n)
}) : "img" === s && n.attr("src", e.currentItem.attr("src")), i || n.css(
"visibility", "hidden"), n
},
update: function (t, n) {
(!i || s.forcePlaceholderSize) && (n.height() || n.height(e.currentItem.innerHeight() -
parseInt(e.currentItem.css("paddingTop") || 0, 10) - parseInt(e.currentItem
.css("paddingBottom") || 0, 10)), n.width() || n.width(e.currentItem
.innerWidth() - parseInt(e.currentItem.css("paddingLeft") || 0, 10) -
parseInt(e.currentItem.css("paddingRight") || 0, 10)))
}
}), e.placeholder = t(s.placeholder.element.call(e.element, e.currentItem)), e.currentItem.after(
e.placeholder), s.placeholder.update(e, e.placeholder)
},
_contactContainers: function (s) {
var n, o, a, r, h, l, c, u, d, p, f = null,
g = null;
for (n = this.containers.length - 1; n >= 0; n--)
if (!t.contains(this.currentItem[0], this.containers[n].element[0]))
if (this._intersectsWith(this.containers[n].containerCache)) {
if (f && t.contains(this.containers[n].element[0], f.element[0])) continue;
f = this.containers[n], g = n
} else this.containers[n].containerCache.over && (this.containers[n]._trigger("out", s,
this._uiHash(this)), this.containers[n].containerCache.over = 0);
if (f)
if (1 === this.containers.length) this.containers[g].containerCache.over || (this.containers[
g]._trigger("over", s, this._uiHash(this)), this.containers[g].containerCache.over =
1);
else {
for (a = 1e4, r = null, p = f.floating || i(this.currentItem), h = p ? "left" : "top",
l = p ? "width" : "height", c = this.positionAbs[h] + this.offset.click[h], o =
this.items.length - 1; o >= 0; o--) t.contains(this.containers[g].element[0], this.items[
o].item[0]) && this.items[o].item[0] !== this.currentItem[0] && (!p || e(this.positionAbs
.top + this.offset.click.top, this.items[o].top, this.items[o].height)) && (u =
this.items[o].item.offset()[h], d = !1, Math.abs(u - c) > Math.abs(u + this.items[
o][l] - c) && (d = !0, u += this.items[o][l]), a > Math.abs(u - c) && (a =
Math.abs(u - c), r = this.items[o], this.direction = d ? "up" : "down"));
if (!r && !this.options.dropOnEmpty) return;
if (this.currentContainer === this.containers[g]) return;
r ? this._rearrange(s, r, null, !0) : this._rearrange(s, null, this.containers[g].element,
!0), this._trigger("change", s, this._uiHash()), this.containers[g]._trigger(
"change", s, this._uiHash(this)), this.currentContainer = this.containers[g],
this.options.placeholder.update(this.currentContainer, this.placeholder), this.containers[
g]._trigger("over", s, this._uiHash(this)), this.containers[g].containerCache.over =
1
}
},
_createHelper: function (e) {
var i = this.options,
s = t.isFunction(i.helper) ? t(i.helper.apply(this.element[0], [e, this.currentItem])) :
"clone" === i.helper ? this.currentItem.clone() : this.currentItem;
return s.parents("body").length || t("parent" !== i.appendTo ? i.appendTo : this.currentItem[0]
.parentNode)[0].appendChild(s[0]), s[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")
}), (!s[0].style.width || i.forceHelperSize) && s.width(this.currentItem.width()), (!s[0].style
.height || i.forceHelperSize) && s.height(this.currentItem.height()), s
},
_adjustOffsetFromHelper: function (e) {
"string" == typeof e && (e = e.split(" ")), t.isArray(e) && (e = {
left: +e[0],
top: +e[1] || 0
}), "left" in e && (this.offset.click.left = e.left + this.margins.left), "right" in e && (
this.offset.click.left = this.helperProportions.width - e.right + this.margins.left),
"top" in e && (this.offset.click.top = e.top + this.margins.top), "bottom" in e && (this.offset
.click.top = this.helperProportions.height - e.bottom + this.margins.top)
},
_getParentOffset: function () {
this.offsetParent = this.helper.offsetParent();
var e = this.offsetParent.offset();
return "absolute" === this.cssPosition && this.scrollParent[0] !== document && t.contains(this.scrollParent[
0], this.offsetParent[0]) && (e.left += this.scrollParent.scrollLeft(), e.top += this.scrollParent
.scrollTop()), (this.offsetParent[0] === document.body || this.offsetParent[0].tagName &&
"html" === this.offsetParent[0].tagName.toLowerCase() && t.ui.ie) && (e = {
top: 0,
left: 0
}), {
top: e.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0),
left: e.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0)
}
},
_getRelativeOffset: function () {
if ("relative" === this.cssPosition) {
var t = this.currentItem.position();
return {
top: t.top - (parseInt(this.helper.css("top"), 10) || 0) + this.scrollParent.scrollTop(),
left: t.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 e, i, s, n = this.options;
"parent" === n.containment && (n.containment = this.helper[0].parentNode), ("document" === n.containment ||
"window" === n.containment) && (this.containment = [0 - this.offset.relative.left -
this.offset.parent.left, 0 - this.offset.relative.top - this.offset.parent.top, t(
"document" === n.containment ? document : window).width() - this.helperProportions
.width - this.margins.left, (t("document" === n.containment ? document : window).height() ||
document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins
.top]), /^(document|window|parent)$/.test(n.containment) || (e = t(n.containment)[0], i =
t(n.containment).offset(), s = "hidden" !== t(e).css("overflow"), this.containment = [i
.left + (parseInt(t(e).css("borderLeftWidth"), 10) || 0) + (parseInt(t(e).css(
"paddingLeft"), 10) || 0) - this.margins.left, i.top + (parseInt(t(e).css(
"borderTopWidth"), 10) || 0) + (parseInt(t(e).css("paddingTop"), 10) || 0) -
this.margins.top, i.left + (s ? Math.max(e.scrollWidth, e.offsetWidth) : e.offsetWidth) -
(parseInt(t(e).css("borderLeftWidth"), 10) || 0) - (parseInt(t(e).css(
"paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left,
i.top + (s ? Math.max(e.scrollHeight, e.offsetHeight) : e.offsetHeight) - (parseInt(
t(e).css("borderTopWidth"), 10) || 0) - (parseInt(t(e).css("paddingBottom"), 10) ||
0) - this.helperProportions.height - this.margins.top])
},
_convertPositionTo: function (e, i) {
i || (i = this.position);
var s = "absolute" === e ? 1 : -1,
n = "absolute" !== this.cssPosition || this.scrollParent[0] !== document && t.contains(this
.scrollParent[0], this.offsetParent[0]) ? this.scrollParent : this.offsetParent,
o = /(html|body)/i.test(n[0].tagName);
return {
top: i.top + this.offset.relative.top * s + this.offset.parent.top * s - ("fixed" === this.cssPosition ?
-this.scrollParent.scrollTop() : o ? 0 : n.scrollTop()) * s,
left: i.left + this.offset.relative.left * s + this.offset.parent.left * s - ("fixed" ===
this.cssPosition ? -this.scrollParent.scrollLeft() : o ? 0 : n.scrollLeft()) * s
}
},
_generatePosition: function (e) {
var i, s, n = this.options,
o = e.pageX,
a = e.pageY,
r = "absolute" !== this.cssPosition || this.scrollParent[0] !== document && t.contains(this
.scrollParent[0], this.offsetParent[0]) ? this.scrollParent : this.offsetParent,
h = /(html|body)/i.test(r[0].tagName);
return "relative" !== this.cssPosition || this.scrollParent[0] !== document && this.scrollParent[
0] !== this.offsetParent[0] || (this.offset.relative = this._getRelativeOffset()), this
.originalPosition && (this.containment && (e.pageX - this.offset.click.left < this.containment[
0] && (o = this.containment[0] + this.offset.click.left), e.pageY - this.offset
.click.top < this.containment[1] && (a = this.containment[1] + this.offset.click.top),
e.pageX - this.offset.click.left > this.containment[2] && (o = this.containment[2] +
this.offset.click.left), e.pageY - this.offset.click.top > this.containment[3] &&
(a = this.containment[3] + this.offset.click.top)), n.grid && (i = this.originalPageY +
Math.round((a - this.originalPageY) / n.grid[1]) * n.grid[1], a = this.containment ?
i - this.offset.click.top >= this.containment[1] && i - this.offset.click.top <=
this.containment[3] ? i : i - this.offset.click.top >= this.containment[1] ? i - n.grid[
1] : i + n.grid[1] : i, s = this.originalPageX + Math.round((o - this.originalPageX) /
n.grid[0]) * n.grid[0], o = this.containment ? s - this.offset.click.left >=
this.containment[0] && s - this.offset.click.left <= this.containment[2] ? s : s -
this.offset.click.left >= this.containment[0] ? s - n.grid[0] : s + n.grid[0] : s)), {
top: a - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + (
"fixed" === this.cssPosition ? -this.scrollParent.scrollTop() : h ? 0 : r.scrollTop()
),
left: o - this.offset.click.left - this.offset.relative.left - this.offset.parent.left +
("fixed" === this.cssPosition ? -this.scrollParent.scrollLeft() : h ? 0 : r.scrollLeft())
}
},
_rearrange: function (t, e, i, s) {
i ? i[0].appendChild(this.placeholder[0]) : e.item[0].parentNode.insertBefore(this.placeholder[
0], "down" === this.direction ? e.item[0] : e.item[0].nextSibling), this.counter = this
.counter ? ++this.counter : 1;
var n = this.counter;
this._delay(function () {
n === this.counter && this.refreshPositions(!s)
})
},
_clear: function (t, e) {
this.reverting = !1;
var i, s = [];
if (!this._noFinalSort && this.currentItem.parent().length && this.placeholder.before(this.currentItem),
this._noFinalSort = null, this.helper[0] === this.currentItem[0]) {
for (i in this._storedCSS)("auto" === this._storedCSS[i] || "static" === this._storedCSS[i]) &&
(this._storedCSS[i] = "");
this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")
} else this.currentItem.show();
for (this.fromOutside && !e && s.push(function (t) {
this._trigger("receive", t, this._uiHash(this.fromOutside))
}), !this.fromOutside && this.domPosition.prev === this.currentItem.prev().not(
".ui-sortable-helper")[0] && this.domPosition.parent === this.currentItem.parent()[0] ||
e || s.push(function (t) {
this._trigger("update", t, this._uiHash())
}), this !== this.currentContainer && (e || (s.push(function (t) {
this._trigger("remove", t, this._uiHash())
}), s.push(function (t) {
return function (e) {
t._trigger("receive", e, this._uiHash(this))
}
}.call(this, this.currentContainer)), s.push(function (t) {
return function (e) {
t._trigger("update", e, this._uiHash(this))
}
}.call(this, this.currentContainer)))), i = this.containers.length - 1; i >= 0; i--) e || s
.push(function (t) {
return function (e) {
t._trigger("deactivate", e, this._uiHash(this))
}
}.call(this, this.containers[i])), this.containers[i].containerCache.over && (s.push(
function (t) {
return function (e) {
t._trigger("out", e, this._uiHash(this))
}
}.call(this, this.containers[i])), this.containers[i].containerCache.over = 0);
if (this.storedCursor && (this.document.find("body").css("cursor", this.storedCursor), this.storedStylesheet
.remove()), this._storedOpacity && this.helper.css("opacity", this._storedOpacity),
this._storedZIndex && this.helper.css("zIndex", "auto" === this._storedZIndex ? "" : this._storedZIndex),
this.dragging = !1, this.cancelHelperRemoval) {
if (!e) {
for (this._trigger("beforeStop", t, this._uiHash()), i = 0; s.length > i; i++) s[i].call(
this, t);
this._trigger("stop", t, this._uiHash())
}
return this.fromOutside = !1, !1
}
if (e || 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, !e) {
for (i = 0; s.length > i; i++) s[i].call(this, t);
this._trigger("stop", t, this._uiHash())
}
return this.fromOutside = !1, !0
},
_trigger: function () {
t.Widget.prototype._trigger.apply(this, arguments) === !1 && this.cancel()
},
_uiHash: function (e) {
var i = e || this;
return {
helper: i.helper,
placeholder: i.placeholder || t([]),
position: i.position,
originalPosition: i.originalPosition,
offset: i.positionAbs,
item: i.currentItem,
sender: e ? e.element : null
}
}
})
}(jQuery),
function (t, e) {
var i = "ui-effects-";
t.effects = {
effect: {}
},
function (t, e) {
function i(t, e, i) {
var s = u[e.type] || {};
return null == t ? i || !e.def ? null : e.def : (t = s.floor ? ~~t : parseFloat(t), isNaN(t) ? e.def :
s.mod ? (t + s.mod) % s.mod : 0 > t ? 0 : t > s.max ? s.max : t)
}
function s(i) {
var s = l(),
n = s._rgba = [];
return i = i.toLowerCase(), f(h, function (t, o) {
var a, r = o.re.exec(i),
h = r && o.parse(r),
l = o.space || "rgba";
return h ? (a = s[l](h), s[c[l].cache] = a[c[l].cache], n = s._rgba = a._rgba, !1) : e
}), n.length ? ("0,0,0,0" === n.join() && t.extend(n, o.transparent), s) : o[i]
}
function n(t, e, i) {
return i = (i + 1) % 1, 1 > 6 * i ? t + 6 * (e - t) * i : 1 > 2 * i ? e : 2 > 3 * i ? t + 6 * (e - t) *
(2 / 3 - i) : t
}
var o, a =
"backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",
r = /^([\-+])=\s*(\d+\.?\d*)/,
h = [{
re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
parse: function (t) {
return [t[1], t[2], t[3], t[4]]
}
}, {
re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
parse: function (t) {
return [2.55 * t[1], 2.55 * t[2], 2.55 * t[3], t[4]]
}
}, {
re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,
parse: function (t) {
return [parseInt(t[1], 16), parseInt(t[2], 16), parseInt(t[3], 16)]
}
}, {
re: /#([a-f0-9])([a-f0-9])([a-f0-9])/,
parse: function (t) {
return [parseInt(t[1] + t[1], 16), parseInt(t[2] + t[2], 16), parseInt(t[3] + t[3], 16)]
}
}, {
re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
space: "hsla",
parse: function (t) {
return [t[1], t[2] / 100, t[3] / 100, t[4]]
}
}],
l = t.Color = function (e, i, s, n) {
return new t.Color.fn.parse(e, i, s, n)
},
c = {
rgba: {
props: {
red: {
idx: 0,
type: "byte"
},
green: {
idx: 1,
type: "byte"
},
blue: {
idx: 2,
type: "byte"
}
}
},
hsla: {
props: {
hue: {
idx: 0,
type: "degrees"
},
saturation: {
idx: 1,
type: "percent"
},
lightness: {
idx: 2,
type: "percent"
}
}
}
},
u = {
"byte": {
floor: !0,
max: 255
},
percent: {
max: 1
},
degrees: {
mod: 360,
floor: !0
}
},
d = l.support = {},
p = t("
")[0],
f = t.each;
p.style.cssText = "background-color:rgba(1,1,1,.5)", d.rgba = p.style.backgroundColor.indexOf("rgba") > -1,
f(c, function (t, e) {
e.cache = "_" + t, e.props.alpha = {
idx: 3,
type: "percent",
def: 1
}
}), l.fn = t.extend(l.prototype, {
parse: function (n, a, r, h) {
if (n === e) return this._rgba = [null, null, null, null], this;
(n.jquery || n.nodeType) && (n = t(n).css(a), a = e);
var u = this,
d = t.type(n),
p = this._rgba = [];
return a !== e && (n = [n, a, r, h], d = "array"), "string" === d ? this.parse(s(n) ||
o._default) : "array" === d ? (f(c.rgba.props, function (t, e) {
p[e.idx] = i(n[e.idx], e)
}), this) : "object" === d ? (n instanceof l ? f(c, function (t, e) {
n[e.cache] && (u[e.cache] = n[e.cache].slice())
}) : f(c, function (e, s) {
var o = s.cache;
f(s.props, function (t, e) {
if (!u[o] && s.to) {
if ("alpha" === t || null == n[t]) return;
u[o] = s.to(u._rgba)
}
u[o][e.idx] = i(n[t], e, !0)
}), u[o] && 0 > t.inArray(null, u[o].slice(0, 3)) && (u[o][3] = 1,
s.from && (u._rgba = s.from(u[o])))
}), this) : e
},
is: function (t) {
var i = l(t),
s = !0,
n = this;
return f(c, function (t, o) {
var a, r = i[o.cache];
return r && (a = n[o.cache] || o.to && o.to(n._rgba) || [], f(o.props,
function (t, i) {
return null != r[i.idx] ? s = r[i.idx] === a[i.idx] : e
})), s
}), s
},
_space: function () {
var t = [],
e = this;
return f(c, function (i, s) {
e[s.cache] && t.push(i)
}), t.pop()
},
transition: function (t, e) {
var s = l(t),
n = s._space(),
o = c[n],
a = 0 === this.alpha() ? l("transparent") : this,
r = a[o.cache] || o.to(a._rgba),
h = r.slice();
return s = s[o.cache], f(o.props, function (t, n) {
var o = n.idx,
a = r[o],
l = s[o],
c = u[n.type] || {};
null !== l && (null === a ? h[o] = l : (c.mod && (l - a > c.mod / 2 ? a +=
c.mod : a - l > c.mod / 2 && (a -= c.mod)), h[o] = i((l - a) *
e + a, n)))
}), this[n](h)
},
blend: function (e) {
if (1 === this._rgba[3]) return this;
var i = this._rgba.slice(),
s = i.pop(),
n = l(e)._rgba;
return l(t.map(i, function (t, e) {
return (1 - s) * n[e] + s * t
}))
},
toRgbaString: function () {
var e = "rgba(",
i = t.map(this._rgba, function (t, e) {
return null == t ? e > 2 ? 1 : 0 : t
});
return 1 === i[3] && (i.pop(), e = "rgb("), e + i.join() + ")"
},
toHslaString: function () {
var e = "hsla(",
i = t.map(this.hsla(), function (t, e) {
return null == t && (t = e > 2 ? 1 : 0), e && 3 > e && (t = Math.round(100 *
t) + "%"), t
});
return 1 === i[3] && (i.pop(), e = "hsl("), e + i.join() + ")"
},
toHexString: function (e) {
var i = this._rgba.slice(),
s = i.pop();
return e && i.push(~~(255 * s)), "#" + t.map(i, function (t) {
return t = (t || 0).toString(16), 1 === t.length ? "0" + t : t
}).join("")
},
toString: function () {
return 0 === this._rgba[3] ? "transparent" : this.toRgbaString()
}
}), l.fn.parse.prototype = l.fn, c.hsla.to = function (t) {
if (null == t[0] || null == t[1] || null == t[2]) return [null, null, null, t[3]];
var e, i, s = t[0] / 255,
n = t[1] / 255,
o = t[2] / 255,
a = t[3],
r = Math.max(s, n, o),
h = Math.min(s, n, o),
l = r - h,
c = r + h,
u = .5 * c;
return e = h === r ? 0 : s === r ? 60 * (n - o) / l + 360 : n === r ? 60 * (o - s) / l + 120 : 60 *
(s - n) / l + 240, i = 0 === l ? 0 : .5 >= u ? l / c : l / (2 - c), [Math.round(e) % 360, i, u,
null == a ? 1 : a]
}, c.hsla.from = function (t) {
if (null == t[0] || null == t[1] || null == t[2]) return [null, null, null, t[3]];
var e = t[0] / 360,
i = t[1],
s = t[2],
o = t[3],
a = .5 >= s ? s * (1 + i) : s + i - s * i,
r = 2 * s - a;
return [Math.round(255 * n(r, a, e + 1 / 3)), Math.round(255 * n(r, a, e)), Math.round(255 * n(r, a,
e - 1 / 3)), o]
}, f(c, function (s, n) {
var o = n.props,
a = n.cache,
h = n.to,
c = n.from;
l.fn[s] = function (s) {
if (h && !this[a] && (this[a] = h(this._rgba)), s === e) return this[a].slice();
var n, r = t.type(s),
u = "array" === r || "object" === r ? s : arguments,
d = this[a].slice();
return f(o, function (t, e) {
var s = u["object" === r ? t : e.idx];
null == s && (s = d[e.idx]), d[e.idx] = i(s, e)
}), c ? (n = l(c(d)), n[a] = d, n) : l(d)
}, f(o, function (e, i) {
l.fn[e] || (l.fn[e] = function (n) {
var o, a = t.type(n),
h = "alpha" === e ? this._hsla ? "hsla" : "rgba" : s,
l = this[h](),
c = l[i.idx];
return "undefined" === a ? c : ("function" === a && (n = n.call(this, c),
a = t.type(n)), null == n && i.empty ? this : ("string" ===
a && (o = r.exec(n), o && (n = c + parseFloat(o[2]) * ("+" ===
o[1] ? 1 : -1))), l[i.idx] = n, this[h](l)))
})
})
}), l.hook = function (e) {
var i = e.split(" ");
f(i, function (e, i) {
t.cssHooks[i] = {
set: function (e, n) {
var o, a, r = "";
if ("transparent" !== n && ("string" !== t.type(n) || (o = s(n)))) {
if (n = l(o || n), !d.rgba && 1 !== n._rgba[3]) {
for (a = "backgroundColor" === i ? e.parentNode : e;
("" === r || "transparent" === r) && a && a.style;) try {
r = t.css(a, "backgroundColor"), a = a.parentNode
} catch (h) {}
n = n.blend(r && "transparent" !== r ? r : "_default")
}
n = n.toRgbaString()
}
try {
e.style[i] = n
} catch (h) {}
}
}, t.fx.step[i] = function (e) {
e.colorInit || (e.start = l(e.elem, i), e.end = l(e.end), e.colorInit = !0), t.cssHooks[
i].set(e.elem, e.start.transition(e.end, e.pos))
}
})
}, l.hook(a), t.cssHooks.borderColor = {
expand: function (t) {
var e = {};
return f(["Top", "Right", "Bottom", "Left"], function (i, s) {
e["border" + s + "Color"] = t
}), e
}
}, o = t.Color.names = {
aqua: "#00ffff",
black: "#000000",
blue: "#0000ff",
fuchsia: "#ff00ff",
gray: "#808080",
green: "#008000",
lime: "#00ff00",
maroon: "#800000",
navy: "#000080",
olive: "#808000",
purple: "#800080",
red: "#ff0000",
silver: "#c0c0c0",
teal: "#008080",
white: "#ffffff",
yellow: "#ffff00",
transparent: [null, null, null, 0],
_default: "#ffffff"
}
}(jQuery),
function () {
function i(e) {
var i, s, n = e.ownerDocument.defaultView ? e.ownerDocument.defaultView.getComputedStyle(e, null) : e.currentStyle,
o = {};
if (n && n.length && n[0] && n[n[0]])
for (s = n.length; s--;) i = n[s], "string" == typeof n[i] && (o[t.camelCase(i)] = n[i]);
else
for (i in n) "string" == typeof n[i] && (o[i] = n[i]);
return o
}
function s(e, i) {
var s, n, a = {};
for (s in i) n = i[s], e[s] !== n && (o[s] || (t.fx.step[s] || !isNaN(parseFloat(n))) && (a[s] = n));
return a
}
var n = ["add", "remove", "toggle"],
o = {
border: 1,
borderBottom: 1,
borderColor: 1,
borderLeft: 1,
borderRight: 1,
borderTop: 1,
borderWidth: 1,
margin: 1,
padding: 1
};
t.each(["borderLeftStyle", "borderRightStyle", "borderBottomStyle", "borderTopStyle"], function (e, i) {
t.fx.step[i] = function (t) {
("none" !== t.end && !t.setAttr || 1 === t.pos && !t.setAttr) && (jQuery.style(t.elem,
i, t.end), t.setAttr = !0)
}
}), t.fn.addBack || (t.fn.addBack = function (t) {
return this.add(null == t ? this.prevObject : this.prevObject.filter(t))
}), t.effects.animateClass = function (e, o, a, r) {
var h = t.speed(o, a, r);
return this.queue(function () {
var o, a = t(this),
r = a.attr("class") || "",
l = h.children ? a.find("*").addBack() : a;
l = l.map(function () {
var e = t(this);
return {
el: e,
start: i(this)
}
}), o = function () {
t.each(n, function (t, i) {
e[i] && a[i + "Class"](e[i])
})
}, o(), l = l.map(function () {
return this.end = i(this.el[0]), this.diff = s(this.start, this.end), this
}), a.attr("class", r), l = l.map(function () {
var e = this,
i = t.Deferred(),
s = t.extend({}, h, {
queue: !1,
complete: function () {
i.resolve(e)
}
});
return this.el.animate(this.diff, s), i.promise()
}), t.when.apply(t, l.get()).done(function () {
o(), t.each(arguments, function () {
var e = this.el;
t.each(this.diff, function (t) {
e.css(t, "")
})
}), h.complete.call(a[0])
})
})
}, t.fn.extend({
addClass: function (e) {
return function (i, s, n, o) {
return s ? t.effects.animateClass.call(this, {
add: i
}, s, n, o) : e.apply(this, arguments)
}
}(t.fn.addClass),
removeClass: function (e) {
return function (i, s, n, o) {
return arguments.length > 1 ? t.effects.animateClass.call(this, {
remove: i
}, s, n, o) : e.apply(this, arguments)
}
}(t.fn.removeClass),
toggleClass: function (i) {
return function (s, n, o, a, r) {
return "boolean" == typeof n || n === e ? o ? t.effects.animateClass.call(this,
n ? {
add: s
} : {
remove: s
}, o, a, r) : i.apply(this, arguments) : t.effects.animateClass.call(
this, {
toggle: s
}, n, o, a)
}
}(t.fn.toggleClass),
switchClass: function (e, i, s, n, o) {
return t.effects.animateClass.call(this, {
add: i,
remove: e
}, s, n, o)
}
})
}(),
function () {
function s(e, i, s, n) {
return t.isPlainObject(e) && (i = e, e = e.effect), e = {
effect: e
}, null == i && (i = {}), t.isFunction(i) && (n = i, s = null, i = {}), ("number" == typeof i || t.fx
.speeds[i]) && (n = s, s = i, i = {}), t.isFunction(s) && (n = s, s = null), i && t.extend(e, i),
s = s || i.duration, e.duration = t.fx.off ? 0 : "number" == typeof s ? s : s in t.fx.speeds ? t.fx
.speeds[s] : t.fx.speeds._default, e.complete = n || i.complete, e
}
function n(e) {
return !e || "number" == typeof e || t.fx.speeds[e] ? !0 : "string" != typeof e || t.effects.effect[e] ?
t.isFunction(e) ? !0 : "object" != typeof e || e.effect ? !1 : !0 : !0
}
t.extend(t.effects, {
version: "1.10.3",
save: function (t, e) {
for (var s = 0; e.length > s; s++) null !== e[s] && t.data(i + e[s], t[0].style[e[s]])
},
restore: function (t, s) {
var n, o;
for (o = 0; s.length > o; o++) null !== s[o] && (n = t.data(i + s[o]), n === e && (n =
""), t.css(s[o], n))
},
setMode: function (t, e) {
return "toggle" === e && (e = t.is(":hidden") ? "show" : "hide"), e
},
getBaseline: function (t, e) {
var i, s;
switch (t[0]) {
case "top":
i = 0;
break;
case "middle":
i = .5;
break;
case "bottom":
i = 1;
break;
default:
i = t[0] / e.height
}
switch (t[1]) {
case "left":
s = 0;
break;
case "center":
s = .5;
break;
case "right":
s = 1;
break;
default:
s = t[1] / e.width
}
return {
x: s,
y: i
}
},
createWrapper: function (e) {
if (e.parent().is(".ui-effects-wrapper")) return e.parent();
var i = {
width: e.outerWidth(!0),
height: e.outerHeight(!0),
"float": e.css("float")
},
s = t("
").addClass("ui-effects-wrapper").css({
fontSize: "100%",
background: "transparent",
border: "none",
margin: 0,
padding: 0
}),
n = {
width: e.width(),
height: e.height()
},
o = document.activeElement;
try {
o.id
} catch (a) {
o = document.body
}
return e.wrap(s), (e[0] === o || t.contains(e[0], o)) && t(o).focus(), s = e.parent(),
"static" === e.css("position") ? (s.css({
position: "relative"
}), e.css({
position: "relative"
})) : (t.extend(i, {
position: e.css("position"),
zIndex: e.css("z-index")
}), t.each(["top", "left", "bottom", "right"], function (t, s) {
i[s] = e.css(s), isNaN(parseInt(i[s], 10)) && (i[s] = "auto")
}), e.css({
position: "relative",
top: 0,
left: 0,
right: "auto",
bottom: "auto"
})), e.css(n), s.css(i).show()
},
removeWrapper: function (e) {
var i = document.activeElement;
return e.parent().is(".ui-effects-wrapper") && (e.parent().replaceWith(e), (e[0] === i ||
t.contains(e[0], i)) && t(i).focus()), e
},
setTransition: function (e, i, s, n) {
return n = n || {}, t.each(i, function (t, i) {
var o = e.cssUnit(i);
o[0] > 0 && (n[i] = o[0] * s + o[1])
}), n
}
}), t.fn.extend({
effect: function () {
function e(e) {
function s() {
t.isFunction(o) && o.call(n[0]), t.isFunction(e) && e()
}
var n = t(this),
o = i.complete,
r = i.mode;
(n.is(":hidden") ? "hide" === r : "show" === r) ? (n[r](), s()) : a.call(n[0], i, s)
}
var i = s.apply(this, arguments),
n = i.mode,
o = i.queue,
a = t.effects.effect[i.effect];
return t.fx.off || !a ? n ? this[n](i.duration, i.complete) : this.each(function () {
i.complete && i.complete.call(this)
}) : o === !1 ? this.each(e) : this.queue(o || "fx", e)
},
show: function (t) {
return function (e) {
if (n(e)) return t.apply(this, arguments);
var i = s.apply(this, arguments);
return i.mode = "show", this.effect.call(this, i)
}
}(t.fn.show),
hide: function (t) {
return function (e) {
if (n(e)) return t.apply(this, arguments);
var i = s.apply(this, arguments);
return i.mode = "hide", this.effect.call(this, i)
}
}(t.fn.hide),
toggle: function (t) {
return function (e) {
if (n(e) || "boolean" == typeof e) return t.apply(this, arguments);
var i = s.apply(this, arguments);
return i.mode = "toggle", this.effect.call(this, i)
}
}(t.fn.toggle),
cssUnit: function (e) {
var i = this.css(e),
s = [];
return t.each(["em", "px", "%", "pt"], function (t, e) {
i.indexOf(e) > 0 && (s = [parseFloat(i), e])
}), s
}
})
}(),
function () {
var e = {};
t.each(["Quad", "Cubic", "Quart", "Quint", "Expo"], function (t, i) {
e[i] = function (e) {
return Math.pow(e, t + 2)
}
}), t.extend(e, {
Sine: function (t) {
return 1 - Math.cos(t * Math.PI / 2)
},
Circ: function (t) {
return 1 - Math.sqrt(1 - t * t)
},
Elastic: function (t) {
return 0 === t || 1 === t ? t : -Math.pow(2, 8 * (t - 1)) * Math.sin((80 * (t - 1) -
7.5) * Math.PI / 15)
},
Back: function (t) {
return t * t * (3 * t - 2)
},
Bounce: function (t) {
for (var e, i = 4;
((e = Math.pow(2, --i)) - 1) / 11 > t;);
return 1 / Math.pow(4, 3 - i) - 7.5625 * Math.pow((3 * e - 2) / 22 - t, 2)
}
}), t.each(e, function (e, i) {
t.easing["easeIn" + e] = i, t.easing["easeOut" + e] = function (t) {
return 1 - i(1 - t)
}, t.easing["easeInOut" + e] = function (t) {
return .5 > t ? i(2 * t) / 2 : 1 - i(-2 * t + 2) / 2
}
})
}()
}(jQuery),
function (t) {
var e = 0,
i = {},
s = {};
i.height = i.paddingTop = i.paddingBottom = i.borderTopWidth = i.borderBottomWidth = "hide", s.height = s.paddingTop =
s.paddingBottom = s.borderTopWidth = s.borderBottomWidth = "show", t.widget("ui.accordion", {
version: "1.10.3",
options: {
active: 0,
animate: {},
collapsible: !1,
event: "click",
header: "> li > :first-child,> :not(li):even",
heightStyle: "auto",
icons: {
activeHeader: "ui-icon-triangle-1-s",
header: "ui-icon-triangle-1-e"
},
activate: null,
beforeActivate: null
},
_create: function () {
var e = this.options;
this.prevShow = this.prevHide = t(), this.element.addClass(
"ui-accordion ui-widget ui-helper-reset").attr("role", "tablist"), e.collapsible || e.active !==
!1 && null != e.active || (e.active = 0), this._processPanels(), 0 > e.active && (e.active +=
this.headers.length), this._refresh()
},
_getCreateEventData: function () {
return {
header: this.active,
panel: this.active.length ? this.active.next() : t(),
content: this.active.length ? this.active.next() : t()
}
},
_createIcons: function () {
var e = this.options.icons;
e && (t("
").addClass("ui-accordion-header-icon ui-icon " + e.header).prependTo(this.headers),
this.active.children(".ui-accordion-header-icon").removeClass(e.header).addClass(e.activeHeader),
this.headers.addClass("ui-accordion-icons"))
},
_destroyIcons: function () {
this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()
},
_destroy: function () {
var t;
this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"), this.headers
.removeClass(
"ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top"
).removeAttr("role").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr(
"tabIndex").each(function () {
/^ui-accordion/.test(this.id) && this.removeAttribute("id")
}), this._destroyIcons(), t = this.headers.next().css("display", "").removeAttr("role").removeAttr(
"aria-expanded").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeClass(
"ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled"
).each(function () {
/^ui-accordion/.test(this.id) && this.removeAttribute("id")
}), "content" !== this.options.heightStyle && t.css("height", "")
},
_setOption: function (t, e) {
return "active" === t ? (this._activate(e), undefined) : ("event" === t && (this.options.event &&
this._off(this.headers, this.options.event), this._setupEvents(e)), this._super(t,
e), "collapsible" !== t || e || this.options.active !== !1 || this._activate(0),
"icons" === t && (this._destroyIcons(), e && this._createIcons()), "disabled" === t &&
this.headers.add(this.headers.next()).toggleClass("ui-state-disabled", !!e), undefined)
},
_keydown: function (e) {
if (!e.altKey && !e.ctrlKey) {
var i = t.ui.keyCode,
s = this.headers.length,
n = this.headers.index(e.target),
o = !1;
switch (e.keyCode) {
case i.RIGHT:
case i.DOWN:
o = this.headers[(n + 1) % s];
break;
case i.LEFT:
case i.UP:
o = this.headers[(n - 1 + s) % s];
break;
case i.SPACE:
case i.ENTER:
this._eventHandler(e);
break;
case i.HOME:
o = this.headers[0];
break;
case i.END:
o = this.headers[s - 1]
}
o && (t(e.target).attr("tabIndex", -1), t(o).attr("tabIndex", 0), o.focus(), e.preventDefault())
}
},
_panelKeyDown: function (e) {
e.keyCode === t.ui.keyCode.UP && e.ctrlKey && t(e.currentTarget).prev().focus()
},
refresh: function () {
var e = this.options;
this._processPanels(), e.active === !1 && e.collapsible === !0 || !this.headers.length ? (e.active = !
1, this.active = t()) : e.active === !1 ? this._activate(0) : this.active.length && !t.contains(
this.element[0], this.active[0]) ? this.headers.length === this.headers.find(
".ui-state-disabled").length ? (e.active = !1, this.active = t()) : this._activate(Math
.max(0, e.active - 1)) : e.active = this.headers.index(this.active), this._destroyIcons(),
this._refresh()
},
_processPanels: function () {
this.headers = this.element.find(this.options.header).addClass(
"ui-accordion-header ui-helper-reset ui-state-default ui-corner-all"), this.headers.next()
.addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(
":not(.ui-accordion-content-active)").hide()
},
_refresh: function () {
var i, s = this.options,
n = s.heightStyle,
o = this.element.parent(),
a = this.accordionId = "ui-accordion-" + (this.element.attr("id") || ++e);
this.active = this._findActive(s.active).addClass(
"ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),
this.active.next().addClass("ui-accordion-content-active").show(), this.headers.attr("role",
"tab").each(function (e) {
var i = t(this),
s = i.attr("id"),
n = i.next(),
o = n.attr("id");
s || (s = a + "-header-" + e, i.attr("id", s)), o || (o = a + "-panel-" + e, n.attr(
"id", o)), i.attr("aria-controls", o), n.attr("aria-labelledby", s)
}).next().attr("role", "tabpanel"), this.headers.not(this.active).attr({
"aria-selected": "false",
tabIndex: -1
}).next().attr({
"aria-expanded": "false",
"aria-hidden": "true"
}).hide(), this.active.length ? this.active.attr({
"aria-selected": "true",
tabIndex: 0
}).next().attr({
"aria-expanded": "true",
"aria-hidden": "false"
}) : this.headers.eq(0).attr("tabIndex", 0), this._createIcons(), this._setupEvents(s.event),
"fill" === n ? (i = o.height(), this.element.siblings(":visible").each(function () {
var e = t(this),
s = e.css("position");
"absolute" !== s && "fixed" !== s && (i -= e.outerHeight(!0))
}), this.headers.each(function () {
i -= t(this).outerHeight(!0)
}), this.headers.next().each(function () {
t(this).height(Math.max(0, i - t(this).innerHeight() + t(this).height()))
}).css("overflow", "auto")) : "auto" === n && (i = 0, this.headers.next().each(function () {
i = Math.max(i, t(this).css("height", "").height())
}).height(i))
},
_activate: function (e) {
var i = this._findActive(e)[0];
i !== this.active[0] && (i = i || this.active[0], this._eventHandler({
target: i,
currentTarget: i,
preventDefault: t.noop
}))
},
_findActive: function (e) {
return "number" == typeof e ? this.headers.eq(e) : t()
},
_setupEvents: function (e) {
var i = {
keydown: "_keydown"
};
e && t.each(e.split(" "), function (t, e) {
i[e] = "_eventHandler"
}), this._off(this.headers.add(this.headers.next())), this._on(this.headers, i), this._on(
this.headers.next(), {
keydown: "_panelKeyDown"
}), this._hoverable(this.headers), this._focusable(this.headers)
},
_eventHandler: function (e) {
var i = this.options,
s = this.active,
n = t(e.currentTarget),
o = n[0] === s[0],
a = o && i.collapsible,
r = a ? t() : n.next(),
h = s.next(),
l = {
oldHeader: s,
oldPanel: h,
newHeader: a ? t() : n,
newPanel: r
};
e.preventDefault(), o && !i.collapsible || this._trigger("beforeActivate", e, l) === !1 || (i.active =
a ? !1 : this.headers.index(n), this.active = o ? t() : n, this._toggle(l), s.removeClass(
"ui-accordion-header-active ui-state-active"), i.icons && s.children(
".ui-accordion-header-icon").removeClass(i.icons.activeHeader).addClass(i.icons.header),
o || (n.removeClass("ui-corner-all").addClass(
"ui-accordion-header-active ui-state-active ui-corner-top"), i.icons && n.children(
".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader),
n.next().addClass("ui-accordion-content-active")))
},
_toggle: function (e) {
var i = e.newPanel,
s = this.prevShow.length ? this.prevShow : e.oldPanel;
this.prevShow.add(this.prevHide).stop(!0, !0), this.prevShow = i, this.prevHide = s, this.options
.animate ? this._animate(i, s, e) : (s.hide(), i.show(), this._toggleComplete(e)), s.attr({
"aria-expanded": "false",
"aria-hidden": "true"
}), s.prev().attr("aria-selected", "false"), i.length && s.length ? s.prev().attr(
"tabIndex", -1) : i.length && this.headers.filter(function () {
return 0 === t(this).attr("tabIndex")
}).attr("tabIndex", -1), i.attr({
"aria-expanded": "true",
"aria-hidden": "false"
}).prev().attr({
"aria-selected": "true",
tabIndex: 0
})
},
_animate: function (t, e, n) {
var o, a, r, h = this,
l = 0,
c = t.length && (!e.length || t.index() < e.index()),
u = this.options.animate || {},
d = c && u.down || u,
p = function () {
h._toggleComplete(n)
};
return "number" == typeof d && (r = d), "string" == typeof d && (a = d), a = a || d.easing || u
.easing, r = r || d.duration || u.duration, e.length ? t.length ? (o = t.show().outerHeight(),
e.animate(i, {
duration: r,
easing: a,
step: function (t, e) {
e.now = Math.round(t)
}
}), t.hide().animate(s, {
duration: r,
easing: a,
complete: p,
step: function (t, i) {
i.now = Math.round(t), "height" !== i.prop ? l += i.now : "content" !==
h.options.heightStyle && (i.now = Math.round(o - e.outerHeight() -
l), l = 0)
}
}), undefined) : e.animate(i, r, a, p) : t.animate(s, r, a, p)
},
_toggleComplete: function (t) {
var e = t.oldPanel;
e.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass(
"ui-corner-all"), e.length && (e.parent()[0].className = e.parent()[0].className), this
._trigger("activate", null, t)
}
})
}(jQuery),
function (t) {
var e = 0;
t.widget("ui.autocomplete", {
version: "1.10.3",
defaultElement: "",
options: {
appendTo: null,
autoFocus: !1,
delay: 300,
minLength: 1,
position: {
my: "left top",
at: "left bottom",
collision: "none"
},
source: null,
change: null,
close: null,
focus: null,
open: null,
response: null,
search: null,
select: null
},
pending: 0,
_create: function () {
var e, i, s, n = this.element[0].nodeName.toLowerCase(),
o = "textarea" === n,
a = "input" === n;
this.isMultiLine = o ? !0 : a ? !1 : this.element.prop("isContentEditable"), this.valueMethod =
this.element[o || a ? "val" : "text"], this.isNewMenu = !0, this.element.addClass(
"ui-autocomplete-input").attr("autocomplete", "off"), this._on(this.element, {
keydown: function (n) {
if (this.element.prop("readOnly")) return e = !0, s = !0, i = !0, undefined;
e = !1, s = !1, i = !1;
var o = t.ui.keyCode;
switch (n.keyCode) {
case o.PAGE_UP:
e = !0, this._move("previousPage", n);
break;
case o.PAGE_DOWN:
e = !0, this._move("nextPage", n);
break;
case o.UP:
e = !0, this._keyEvent("previous", n);
break;
case o.DOWN:
e = !0, this._keyEvent("next", n);
break;
case o.ENTER:
case o.NUMPAD_ENTER:
this.menu.active && (e = !0, n.preventDefault(), this.menu.select(n));
break;
case o.TAB:
this.menu.active && this.menu.select(n);
break;
case o.ESCAPE:
this.menu.element.is(":visible") && (this._value(this.term), this.close(
n), n.preventDefault());
break;
default:
i = !0, this._searchTimeout(n)
}
},
keypress: function (s) {
if (e) return e = !1, (!this.isMultiLine || this.menu.element.is(":visible")) &&
s.preventDefault(), undefined;
if (!i) {
var n = t.ui.keyCode;
switch (s.keyCode) {
case n.PAGE_UP:
this._move("previousPage", s);
break;
case n.PAGE_DOWN:
this._move("nextPage", s);
break;
case n.UP:
this._keyEvent("previous", s);
break;
case n.DOWN:
this._keyEvent("next", s)
}
}
},
input: function (t) {
return s ? (s = !1, t.preventDefault(), undefined) : (this._searchTimeout(t),
undefined)
},
focus: function () {
this.selectedItem = null, this.previous = this._value()
},
blur: function (t) {
return this.cancelBlur ? (delete this.cancelBlur, undefined) : (
clearTimeout(this.searching), this.close(t), this._change(t),
undefined)
}
}), this._initSource(), this.menu = t("").addClass("ui-autocomplete ui-front").appendTo(
this._appendTo()).menu({
role: null
}).hide().data("ui-menu"), this._on(this.menu.element, {
mousedown: function (e) {
e.preventDefault(), this.cancelBlur = !0, this._delay(function () {
delete this.cancelBlur
});
var i = this.menu.element[0];
t(e.target).closest(".ui-menu-item").length || this._delay(function () {
var e = this;
this.document.one("mousedown", function (s) {
s.target === e.element[0] || s.target === i || t.contains(
i, s.target) || e.close()
})
})
},
menufocus: function (e, i) {
if (this.isNewMenu && (this.isNewMenu = !1, e.originalEvent && /^mouse/.test(
e.originalEvent.type))) return this.menu.blur(), this.document.one(
"mousemove",
function () {
t(e.target).trigger(e.originalEvent)
}), undefined;
var s = i.item.data("ui-autocomplete-item");
!1 !== this._trigger("focus", e, {
item: s
}) ? e.originalEvent && /^key/.test(e.originalEvent.type) && this._value(
s.value) : this.liveRegion.text(s.value)
},
menuselect: function (t, e) {
var i = e.item.data("ui-autocomplete-item"),
s = this.previous;
this.element[0] !== this.document[0].activeElement && (this.element.focus(),
this.previous = s, this._delay(function () {
this.previous = s, this.selectedItem = i
})), !1 !== this._trigger("select", t, {
item: i
}) && this._value(i.value), this.term = this._value(), this.close(t),
this.selectedItem = i
}
}), this.liveRegion = t("", {
role: "status",
"aria-live": "polite"
}).addClass("ui-helper-hidden-accessible").insertBefore(this.element), this._on(this.window, {
beforeunload: function () {
this.element.removeAttr("autocomplete")
}
})
},
_destroy: function () {
clearTimeout(this.searching), this.element.removeClass("ui-autocomplete-input").removeAttr(
"autocomplete"), this.menu.element.remove(), this.liveRegion.remove()
},
_setOption: function (t, e) {
this._super(t, e), "source" === t && this._initSource(), "appendTo" === t && this.menu.element.appendTo(
this._appendTo()), "disabled" === t && e && this.xhr && this.xhr.abort()
},
_appendTo: function () {
var e = this.options.appendTo;
return e && (e = e.jquery || e.nodeType ? t(e) : this.document.find(e).eq(0)), e || (e = this.element
.closest(".ui-front")), e.length || (e = this.document[0].body), e
},
_initSource: function () {
var e, i, s = this;
t.isArray(this.options.source) ? (e = this.options.source, this.source = function (i, s) {
s(t.ui.autocomplete.filter(e, i.term))
}) : "string" == typeof this.options.source ? (i = this.options.source, this.source =
function (e, n) {
s.xhr && s.xhr.abort(), s.xhr = t.ajax({
url: i,
data: e,
dataType: "json",
success: function (t) {
n(t)
},
error: function () {
n([])
}
})
}) : this.source = this.options.source
},
_searchTimeout: function (t) {
clearTimeout(this.searching), this.searching = this._delay(function () {
this.term !== this._value() && (this.selectedItem = null, this.search(null, t))
}, this.options.delay)
},
search: function (t, e) {
return t = null != t ? t : this._value(), this.term = this._value(), t.length < this.options.minLength ?
this.close(e) : this._trigger("search", e) !== !1 ? this._search(t) : undefined
},
_search: function (t) {
this.pending++, this.element.addClass("ui-autocomplete-loading"), this.cancelSearch = !1, this.source({
term: t
}, this._response())
},
_response: function () {
var t = this,
i = ++e;
return function (s) {
i === e && t.__response(s), t.pending--, t.pending || t.element.removeClass(
"ui-autocomplete-loading")
}
},
__response: function (t) {
t && (t = this._normalize(t)), this._trigger("response", null, {
content: t
}), !this.options.disabled && t && t.length && !this.cancelSearch ? (this._suggest(t), this
._trigger("open")) : this._close()
},
close: function (t) {
this.cancelSearch = !0, this._close(t)
},
_close: function (t) {
this.menu.element.is(":visible") && (this.menu.element.hide(), this.menu.blur(), this.isNewMenu = !
0, this._trigger("close", t))
},
_change: function (t) {
this.previous !== this._value() && this._trigger("change", t, {
item: this.selectedItem
})
},
_normalize: function (e) {
return e.length && e[0].label && e[0].value ? e : t.map(e, function (e) {
return "string" == typeof e ? {
label: e,
value: e
} : t.extend({
label: e.label || e.value,
value: e.value || e.label
}, e)
})
},
_suggest: function (e) {
var i = this.menu.element.empty();
this._renderMenu(i, e), this.isNewMenu = !0, this.menu.refresh(), i.show(), this._resizeMenu(),
i.position(t.extend({
of: this.element
}, this.options.position)), this.options.autoFocus && this.menu.next()
},
_resizeMenu: function () {
var t = this.menu.element;
t.outerWidth(Math.max(t.width("").outerWidth() + 1, this.element.outerWidth()))
},
_renderMenu: function (e, i) {
var s = this;
t.each(i, function (t, i) {
s._renderItemData(e, i)
})
},
_renderItemData: function (t, e) {
return this._renderItem(t, e).data("ui-autocomplete-item", e)
},
_renderItem: function (e, i) {
return t("- ").append(t("").text(i.label)).appendTo(e)
},
_move: function (t, e) {
return this.menu.element.is(":visible") ? this.menu.isFirstItem() && /^previous/.test(t) ||
this.menu.isLastItem() && /^next/.test(t) ? (this._value(this.term), this.menu.blur(),
undefined) : (this.menu[t](e), undefined) : (this.search(null, e), undefined)
},
widget: function () {
return this.menu.element
},
_value: function () {
return this.valueMethod.apply(this.element, arguments)
},
_keyEvent: function (t, e) {
(!this.isMultiLine || this.menu.element.is(":visible")) && (this._move(t, e), e.preventDefault())
}
}), t.extend(t.ui.autocomplete, {
escapeRegex: function (t) {
return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&")
},
filter: function (e, i) {
var s = RegExp(t.ui.autocomplete.escapeRegex(i), "i");
return t.grep(e, function (t) {
return s.test(t.label || t.value || t)
})
}
}), t.widget("ui.autocomplete", t.ui.autocomplete, {
options: {
messages: {
noResults: "No search results.",
results: function (t) {
return t + (t > 1 ? " results are" : " result is") +
" available, use up and down arrow keys to navigate."
}
}
},
__response: function (t) {
var e;
this._superApply(arguments), this.options.disabled || this.cancelSearch || (e = t && t.length ?
this.options.messages.results(t.length) : this.options.messages.noResults, this.liveRegion
.text(e))
}
})
}(jQuery),
function (t) {
var e, i, s, n, o = "ui-button ui-widget ui-state-default ui-corner-all",
a = "ui-state-hover ui-state-active ",
r =
"ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",
h = function () {
var e = t(this);
setTimeout(function () {
e.find(":ui-button").button("refresh")
}, 1)
},
l = function (e) {
var i = e.name,
s = e.form,
n = t([]);
return i && (i = i.replace(/'/g, "\\'"), n = s ? t(s).find("[name='" + i + "']") : t("[name='" + i + "']",
e.ownerDocument).filter(function () {
return !this.form
})), n
};
t.widget("ui.button", {
version: "1.10.3",
defaultElement: "