/*!
* jQuery UI 1.8.12
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI
*/
(function (b, d) {
    function e(f) { return !b(f).parents().andSelf().filter(function () { return b.curCSS(this, "visibility") === "hidden" || b.expr.filters.hidden(this) }).length } b.ui = b.ui || {}; if (!b.ui.version) {
        b.extend(b.ui, { version: "1.8.12", keyCode: { ALT: 18, BACKSPACE: 8, CAPS_LOCK: 20, COMMA: 188, COMMAND: 91, COMMAND_LEFT: 91, COMMAND_RIGHT: 93, CONTROL: 17, DELETE: 46, DOWN: 40, END: 35, ENTER: 13, ESCAPE: 27, HOME: 36, INSERT: 45, LEFT: 37, MENU: 93, NUMPAD_ADD: 107, NUMPAD_DECIMAL: 110, NUMPAD_DIVIDE: 111, NUMPAD_ENTER: 108, NUMPAD_MULTIPLY: 106,
            NUMPAD_SUBTRACT: 109, PAGE_DOWN: 34, PAGE_UP: 33, PERIOD: 190, RIGHT: 39, SHIFT: 16, SPACE: 32, TAB: 9, UP: 38, WINDOWS: 91
        }
        }); b.fn.extend({ _focus: b.fn.focus, focus: function (f, g) { return typeof f === "number" ? this.each(function () { var a = this; setTimeout(function () { b(a).focus(); g && g.call(a) }, f) }) : this._focus.apply(this, arguments) }, scrollParent: function () {
            var f; f = b.browser.msie && /(static|relative)/.test(this.css("position")) || /absolute/.test(this.css("position")) ? this.parents().filter(function () {
                return /(relative|absolute|fixed)/.test(b.curCSS(this,
"position", 1)) && /(auto|scroll)/.test(b.curCSS(this, "overflow", 1) + b.curCSS(this, "overflow-y", 1) + b.curCSS(this, "overflow-x", 1))
            }).eq(0) : this.parents().filter(function () { return /(auto|scroll)/.test(b.curCSS(this, "overflow", 1) + b.curCSS(this, "overflow-y", 1) + b.curCSS(this, "overflow-x", 1)) }).eq(0); return /fixed/.test(this.css("position")) || !f.length ? b(document) : f
        }, zIndex: function (f) {
            if (f !== d) return this.css("zIndex", f); if (this.length) {
                f = b(this[0]); for (var g; f.length && f[0] !== document; ) {
                    g = f.css("position");
                    if (g === "absolute" || g === "relative" || g === "fixed") { g = parseInt(f.css("zIndex"), 10); if (!isNaN(g) && g !== 0) return g } f = f.parent()
                } 
            } return 0
        }, disableSelection: function () { return this.bind((b.support.selectstart ? "selectstart" : "mousedown") + ".ui-disableSelection", function (f) { f.preventDefault() }) }, enableSelection: function () { return this.unbind(".ui-disableSelection") } 
        }); b.each(["Width", "Height"], function (f, g) {
            function a(j, n, o, l) {
                b.each(c, function () {
                    n -= parseFloat(b.curCSS(j, "padding" + this, true)) || 0; if (o) n -= parseFloat(b.curCSS(j,
"border" + this + "Width", true)) || 0; if (l) n -= parseFloat(b.curCSS(j, "margin" + this, true)) || 0
                }); return n
            } var c = g === "Width" ? ["Left", "Right"] : ["Top", "Bottom"], h = g.toLowerCase(), i = { innerWidth: b.fn.innerWidth, innerHeight: b.fn.innerHeight, outerWidth: b.fn.outerWidth, outerHeight: b.fn.outerHeight }; b.fn["inner" + g] = function (j) { if (j === d) return i["inner" + g].call(this); return this.each(function () { b(this).css(h, a(this, j) + "px") }) }; b.fn["outer" + g] = function (j, n) {
                if (typeof j !== "number") return i["outer" + g].call(this, j); return this.each(function () {
                    b(this).css(h,
a(this, j, true, n) + "px")
                })
            } 
        }); b.extend(b.expr[":"], { data: function (f, g, a) { return !!b.data(f, a[3]) }, focusable: function (f) { var g = f.nodeName.toLowerCase(), a = b.attr(f, "tabindex"); if ("area" === g) { g = f.parentNode; a = g.name; if (!f.href || !a || g.nodeName.toLowerCase() !== "map") return false; f = b("img[usemap=#" + a + "]")[0]; return !!f && e(f) } return (/input|select|textarea|button|object/.test(g) ? !f.disabled : "a" == g ? f.href || !isNaN(a) : !isNaN(a)) && e(f) }, tabbable: function (f) { var g = b.attr(f, "tabindex"); return (isNaN(g) || g >= 0) && b(f).is(":focusable") } });
        b(function () { var f = document.body, g = f.appendChild(g = document.createElement("div")); b.extend(g.style, { minHeight: "100px", height: "auto", padding: 0, borderWidth: 0 }); b.support.minHeight = g.offsetHeight === 100; b.support.selectstart = "onselectstart" in g; f.removeChild(g).style.display = "none" }); b.extend(b.ui, { plugin: { add: function (f, g, a) { f = b.ui[f].prototype; for (var c in a) { f.plugins[c] = f.plugins[c] || []; f.plugins[c].push([g, a[c]]) } }, call: function (f, g, a) {
            if ((g = f.plugins[g]) && f.element[0].parentNode) for (var c = 0; c < g.length; c++) f.options[g[c][0]] &&
g[c][1].apply(f.element, a)
        } 
        }, contains: function (f, g) { return document.compareDocumentPosition ? f.compareDocumentPosition(g) & 16 : f !== g && f.contains(g) }, hasScroll: function (f, g) { if (b(f).css("overflow") === "hidden") return false; g = g && g === "left" ? "scrollLeft" : "scrollTop"; var a = false; if (f[g] > 0) return true; f[g] = 1; a = f[g] > 0; f[g] = 0; return a }, isOverAxis: function (f, g, a) { return f > g && f < g + a }, isOver: function (f, g, a, c, h, i) { return b.ui.isOverAxis(f, a, h) && b.ui.isOverAxis(g, c, i) } 
        })
    } 
})(jQuery);
(function (b, d) {
    if (b.cleanData) { var e = b.cleanData; b.cleanData = function (g) { for (var a = 0, c; (c = g[a]) != null; a++) b(c).triggerHandler("remove"); e(g) } } else { var f = b.fn.remove; b.fn.remove = function (g, a) { return this.each(function () { if (!a) if (!g || b.filter(g, [this]).length) b("*", this).add([this]).each(function () { b(this).triggerHandler("remove") }); return f.call(b(this), g, a) }) } } b.widget = function (g, a, c) {
        var h = g.split(".")[0], i; g = g.split(".")[1]; i = h + "-" + g; if (!c) { c = a; a = b.Widget } b.expr[":"][i] = function (j) {
            return !!b.data(j,
g)
        }; b[h] = b[h] || {}; b[h][g] = function (j, n) { arguments.length && this._createWidget(j, n) }; a = new a; a.options = b.extend(true, {}, a.options); b[h][g].prototype = b.extend(true, a, { namespace: h, widgetName: g, widgetEventPrefix: b[h][g].prototype.widgetEventPrefix || g, widgetBaseClass: i }, c); b.widget.bridge(g, b[h][g])
    }; b.widget.bridge = function (g, a) {
        b.fn[g] = function (c) {
            var h = typeof c === "string", i = Array.prototype.slice.call(arguments, 1), j = this; c = !h && i.length ? b.extend.apply(null, [true, c].concat(i)) : c; if (h && c.charAt(0) === "_") return j;
            h ? this.each(function () { var n = b.data(this, g), o = n && b.isFunction(n[c]) ? n[c].apply(n, i) : n; if (o !== n && o !== d) { j = o; return false } }) : this.each(function () { var n = b.data(this, g); n ? n.option(c || {})._init() : b.data(this, g, new a(c, this)) }); return j
        } 
    }; b.Widget = function (g, a) { arguments.length && this._createWidget(g, a) }; b.Widget.prototype = { widgetName: "widget", widgetEventPrefix: "", options: { disabled: false }, _createWidget: function (g, a) {
        b.data(a, this.widgetName, this); this.element = b(a); this.options = b.extend(true, {}, this.options,
this._getCreateOptions(), g); var c = this; this.element.bind("remove." + this.widgetName, function () { c.destroy() }); this._create(); this._trigger("create"); this._init()
    }, _getCreateOptions: function () { return b.metadata && b.metadata.get(this.element[0])[this.widgetName] }, _create: function () { }, _init: function () { }, destroy: function () { this.element.unbind("." + this.widgetName).removeData(this.widgetName); this.widget().unbind("." + this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass + "-disabled ui-state-disabled") },
        widget: function () { return this.element }, option: function (g, a) { var c = g; if (arguments.length === 0) return b.extend({}, this.options); if (typeof g === "string") { if (a === d) return this.options[g]; c = {}; c[g] = a } this._setOptions(c); return this }, _setOptions: function (g) { var a = this; b.each(g, function (c, h) { a._setOption(c, h) }); return this }, _setOption: function (g, a) { this.options[g] = a; if (g === "disabled") this.widget()[a ? "addClass" : "removeClass"](this.widgetBaseClass + "-disabled ui-state-disabled").attr("aria-disabled", a); return this },
        enable: function () { return this._setOption("disabled", false) }, disable: function () { return this._setOption("disabled", true) }, _trigger: function (g, a, c) { var h = this.options[g]; a = b.Event(a); a.type = (g === this.widgetEventPrefix ? g : this.widgetEventPrefix + g).toLowerCase(); c = c || {}; if (a.originalEvent) { g = b.event.props.length; for (var i; g; ) { i = b.event.props[--g]; a[i] = a.originalEvent[i] } } this.element.trigger(a, c); return !(b.isFunction(h) && h.call(this.element[0], a, c) === false || a.isDefaultPrevented()) } 
    }
})(jQuery);
(function (b) {
    b.widget("ui.mouse", { options: { cancel: ":input,option", distance: 1, delay: 0 }, _mouseInit: function () { var d = this; this.element.bind("mousedown." + this.widgetName, function (e) { return d._mouseDown(e) }).bind("click." + this.widgetName, function (e) { if (true === b.data(e.target, d.widgetName + ".preventClickEvent")) { b.removeData(e.target, d.widgetName + ".preventClickEvent"); e.stopImmediatePropagation(); return false } }); this.started = false }, _mouseDestroy: function () { this.element.unbind("." + this.widgetName) }, _mouseDown: function (d) {
        d.originalEvent =
d.originalEvent || {}; if (!d.originalEvent.mouseHandled) {
            this._mouseStarted && this._mouseUp(d); this._mouseDownEvent = d; var e = this, f = d.which == 1, g = typeof this.options.cancel == "string" ? b(d.target).parents().add(d.target).filter(this.options.cancel).length : false; if (!f || g || !this._mouseCapture(d)) return true; this.mouseDelayMet = !this.options.delay; if (!this.mouseDelayMet) this._mouseDelayTimer = setTimeout(function () { e.mouseDelayMet = true }, this.options.delay); if (this._mouseDistanceMet(d) && this._mouseDelayMet(d)) {
                this._mouseStarted =
this._mouseStart(d) !== false; if (!this._mouseStarted) { d.preventDefault(); return true } 
            } true === b.data(d.target, this.widgetName + ".preventClickEvent") && b.removeData(d.target, this.widgetName + ".preventClickEvent"); this._mouseMoveDelegate = function (a) { return e._mouseMove(a) }; this._mouseUpDelegate = function (a) { return e._mouseUp(a) }; b(document).bind("mousemove." + this.widgetName, this._mouseMoveDelegate).bind("mouseup." + this.widgetName, this._mouseUpDelegate); d.preventDefault(); return d.originalEvent.mouseHandled =
true
        } 
    }, _mouseMove: function (d) { if (b.browser.msie && !(document.documentMode >= 9) && !d.button) return this._mouseUp(d); if (this._mouseStarted) { this._mouseDrag(d); return d.preventDefault() } if (this._mouseDistanceMet(d) && this._mouseDelayMet(d)) (this._mouseStarted = this._mouseStart(this._mouseDownEvent, d) !== false) ? this._mouseDrag(d) : this._mouseUp(d); return !this._mouseStarted }, _mouseUp: function (d) {
        b(document).unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate);
        if (this._mouseStarted) { this._mouseStarted = false; d.target == this._mouseDownEvent.target && b.data(d.target, this.widgetName + ".preventClickEvent", true); this._mouseStop(d) } return false
    }, _mouseDistanceMet: function (d) { return Math.max(Math.abs(this._mouseDownEvent.pageX - d.pageX), Math.abs(this._mouseDownEvent.pageY - d.pageY)) >= this.options.distance }, _mouseDelayMet: function () { return this.mouseDelayMet }, _mouseStart: function () { }, _mouseDrag: function () { }, _mouseStop: function () { }, _mouseCapture: function () { return true } 
    })
})(jQuery);
(function (b) {
    b.widget("ui.draggable", b.ui.mouse, { widgetEventPrefix: "drag", options: { addClasses: true, appendTo: "parent", axis: false, connectToSortable: false, containment: false, cursor: "auto", cursorAt: false, grid: false, handle: false, helper: "original", iframeFix: false, opacity: false, refreshPositions: false, revert: false, revertDuration: 500, scope: "default", scroll: true, scrollSensitivity: 20, scrollSpeed: 20, snap: false, snapMode: "both", snapTolerance: 20, stack: false, zIndex: false }, _create: function () {
        if (this.options.helper ==
"original" && !/^(?: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 () { if (this.element.data("draggable")) { this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"); this._mouseDestroy(); return this } }, _mouseCapture: function (d) {
        var e =
this.options; if (this.helper || e.disabled || b(d.target).is(".ui-resizable-handle")) return false; this.handle = this._getHandle(d); if (!this.handle) return false; return true
    }, _mouseStart: function (d) {
        var e = this.options; this.helper = this._createHelper(d); this._cacheHelperProportions(); if (b.ui.ddmanager) b.ui.ddmanager.current = this; this._cacheMargins(); this.cssPosition = this.helper.css("position"); this.scrollParent = this.helper.scrollParent(); this.offset = this.positionAbs = this.element.offset(); this.offset = { top: this.offset.top -
this.margins.top, left: this.offset.left - this.margins.left
        }; b.extend(this.offset, { click: { left: d.pageX - this.offset.left, top: d.pageY - this.offset.top }, parent: this._getParentOffset(), relative: this._getRelativeOffset() }); this.originalPosition = this.position = this._generatePosition(d); this.originalPageX = d.pageX; this.originalPageY = d.pageY; e.cursorAt && this._adjustOffsetFromHelper(e.cursorAt); e.containment && this._setContainment(); if (this._trigger("start", d) === false) { this._clear(); return false } this._cacheHelperProportions();
        b.ui.ddmanager && !e.dropBehaviour && b.ui.ddmanager.prepareOffsets(this, d); this.helper.addClass("ui-draggable-dragging"); this._mouseDrag(d, true); return true
    }, _mouseDrag: function (d, e) {
        this.position = this._generatePosition(d); this.positionAbs = this._convertPositionTo("absolute"); if (!e) { e = this._uiHash(); if (this._trigger("drag", d, e) === false) { this._mouseUp({}); return false } this.position = e.position } if (!this.options.axis || this.options.axis != "y") this.helper[0].style.left = this.position.left + "px"; if (!this.options.axis ||
this.options.axis != "x") this.helper[0].style.top = this.position.top + "px"; b.ui.ddmanager && b.ui.ddmanager.drag(this, d); return false
    }, _mouseStop: function (d) {
        var e = false; if (b.ui.ddmanager && !this.options.dropBehaviour) e = b.ui.ddmanager.drop(this, d); if (this.dropped) { e = this.dropped; this.dropped = false } if ((!this.element[0] || !this.element[0].parentNode) && this.options.helper == "original") return false; if (this.options.revert == "invalid" && !e || this.options.revert == "valid" && e || this.options.revert === true || b.isFunction(this.options.revert) &&
this.options.revert.call(this.element, e)) { var f = this; b(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function () { f._trigger("stop", d) !== false && f._clear() }) } else this._trigger("stop", d) !== false && this._clear(); return false
    }, cancel: function () { this.helper.is(".ui-draggable-dragging") ? this._mouseUp({}) : this._clear(); return this }, _getHandle: function (d) {
        var e = !this.options.handle || !b(this.options.handle, this.element).length ? true : false; b(this.options.handle, this.element).find("*").andSelf().each(function () {
            if (this ==
d.target) e = true
        }); return e
    }, _createHelper: function (d) { var e = this.options; d = b.isFunction(e.helper) ? b(e.helper.apply(this.element[0], [d])) : e.helper == "clone" ? this.element.clone() : this.element; d.parents("body").length || d.appendTo(e.appendTo == "parent" ? this.element[0].parentNode : e.appendTo); d[0] != this.element[0] && !/(fixed|absolute)/.test(d.css("position")) && d.css("position", "absolute"); return d }, _adjustOffsetFromHelper: function (d) {
        if (typeof d == "string") d = d.split(" "); if (b.isArray(d)) d = { left: +d[0], top: +d[1] ||
0
        }; if ("left" in d) this.offset.click.left = d.left + this.margins.left; if ("right" in d) this.offset.click.left = this.helperProportions.width - d.right + this.margins.left; if ("top" in d) this.offset.click.top = d.top + this.margins.top; if ("bottom" in d) this.offset.click.top = this.helperProportions.height - d.bottom + this.margins.top
    }, _getParentOffset: function () {
        this.offsetParent = this.helper.offsetParent(); var d = this.offsetParent.offset(); if (this.cssPosition == "absolute" && this.scrollParent[0] != document && b.ui.contains(this.scrollParent[0],
this.offsetParent[0])) { d.left += this.scrollParent.scrollLeft(); d.top += this.scrollParent.scrollTop() } if (this.offsetParent[0] == document.body || this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == "html" && b.browser.msie) d = { top: 0, left: 0 }; return { top: d.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0), left: d.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0)}
    }, _getRelativeOffset: function () {
        if (this.cssPosition == "relative") {
            var d = this.element.position(); return { top: d.top -
(parseInt(this.helper.css("top"), 10) || 0) + this.scrollParent.scrollTop(), left: d.left - (parseInt(this.helper.css("left"), 10) || 0) + this.scrollParent.scrollLeft()
            }
        } else 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 d = this.options; if (d.containment == "parent") d.containment = this.helper[0].parentNode; if (d.containment == "document" || d.containment == "window") this.containment = [(d.containment == "document" ? 0 : b(window).scrollLeft()) - this.offset.relative.left - this.offset.parent.left, (d.containment == "document" ? 0 : b(window).scrollTop()) - this.offset.relative.top - this.offset.parent.top, (d.containment == "document" ? 0 : b(window).scrollLeft()) + b(d.containment == "document" ?
document : window).width() - this.helperProportions.width - this.margins.left, (d.containment == "document" ? 0 : b(window).scrollTop()) + (b(d.containment == "document" ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top]; if (!/^(document|window|parent)$/.test(d.containment) && d.containment.constructor != Array) {
            var e = b(d.containment)[0]; if (e) {
                d = b(d.containment).offset(); var f = b(e).css("overflow") != "hidden"; this.containment = [d.left + (parseInt(b(e).css("borderLeftWidth"),
10) || 0) + (parseInt(b(e).css("paddingLeft"), 10) || 0), d.top + (parseInt(b(e).css("borderTopWidth"), 10) || 0) + (parseInt(b(e).css("paddingTop"), 10) || 0), d.left + (f ? Math.max(e.scrollWidth, e.offsetWidth) : e.offsetWidth) - (parseInt(b(e).css("borderLeftWidth"), 10) || 0) - (parseInt(b(e).css("paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left - this.margins.right, d.top + (f ? Math.max(e.scrollHeight, e.offsetHeight) : e.offsetHeight) - (parseInt(b(e).css("borderTopWidth"), 10) || 0) - (parseInt(b(e).css("paddingBottom"),
10) || 0) - this.helperProportions.height - this.margins.top - this.margins.bottom]
            } 
        } else if (d.containment.constructor == Array) this.containment = d.containment
    }, _convertPositionTo: function (d, e) {
        if (!e) e = this.position; d = d == "absolute" ? 1 : -1; var f = this.cssPosition == "absolute" && !(this.scrollParent[0] != document && b.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, g = /(html|body)/i.test(f[0].tagName); return { top: e.top + this.offset.relative.top * d + this.offset.parent.top * d - (b.browser.safari &&
b.browser.version < 526 && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : g ? 0 : f.scrollTop()) * d), left: e.left + this.offset.relative.left * d + this.offset.parent.left * d - (b.browser.safari && b.browser.version < 526 && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : g ? 0 : f.scrollLeft()) * d)
        }
    }, _generatePosition: function (d) {
        var e = this.options, f = this.cssPosition == "absolute" && !(this.scrollParent[0] != document && b.ui.contains(this.scrollParent[0],
this.offsetParent[0])) ? this.offsetParent : this.scrollParent, g = /(html|body)/i.test(f[0].tagName), a = d.pageX, c = d.pageY; if (this.originalPosition) {
            if (this.containment) {
                if (d.pageX - this.offset.click.left < this.containment[0]) a = this.containment[0] + this.offset.click.left; if (d.pageY - this.offset.click.top < this.containment[1]) c = this.containment[1] + this.offset.click.top; if (d.pageX - this.offset.click.left > this.containment[2]) a = this.containment[2] + this.offset.click.left; if (d.pageY - this.offset.click.top > this.containment[3]) c =
this.containment[3] + this.offset.click.top
            } if (e.grid) {
                c = this.originalPageY + Math.round((c - this.originalPageY) / e.grid[1]) * e.grid[1]; c = this.containment ? !(c - this.offset.click.top < this.containment[1] || c - this.offset.click.top > this.containment[3]) ? c : !(c - this.offset.click.top < this.containment[1]) ? c - e.grid[1] : c + e.grid[1] : c; a = this.originalPageX + Math.round((a - this.originalPageX) / e.grid[0]) * e.grid[0]; a = this.containment ? !(a - this.offset.click.left < this.containment[0] || a - this.offset.click.left > this.containment[2]) ?
a : !(a - this.offset.click.left < this.containment[0]) ? a - e.grid[0] : a + e.grid[0] : a
            } 
        } return { top: c - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + (b.browser.safari && b.browser.version < 526 && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : g ? 0 : f.scrollTop()), left: a - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + (b.browser.safari && b.browser.version < 526 && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() :
g ? 0 : f.scrollLeft())
        }
    }, _clear: function () { this.helper.removeClass("ui-draggable-dragging"); this.helper[0] != this.element[0] && !this.cancelHelperRemoval && this.helper.remove(); this.helper = null; this.cancelHelperRemoval = false }, _trigger: function (d, e, f) { f = f || this._uiHash(); b.ui.plugin.call(this, d, [e, f]); if (d == "drag") this.positionAbs = this._convertPositionTo("absolute"); return b.Widget.prototype._trigger.call(this, d, e, f) }, plugins: {}, _uiHash: function () {
        return { helper: this.helper, position: this.position, originalPosition: this.originalPosition,
            offset: this.positionAbs
        }
    } 
    }); b.extend(b.ui.draggable, { version: "1.8.12" }); b.ui.plugin.add("draggable", "connectToSortable", { start: function (d, e) { var f = b(this).data("draggable"), g = f.options, a = b.extend({}, e, { item: f.element }); f.sortables = []; b(g.connectToSortable).each(function () { var c = b.data(this, "sortable"); if (c && !c.options.disabled) { f.sortables.push({ instance: c, shouldRevert: c.options.revert }); c.refreshPositions(); c._trigger("activate", d, a) } }) }, stop: function (d, e) {
        var f = b(this).data("draggable"), g = b.extend({},
e, { item: f.element }); b.each(f.sortables, function () { if (this.instance.isOver) { this.instance.isOver = 0; f.cancelHelperRemoval = true; this.instance.cancelHelperRemoval = false; if (this.shouldRevert) this.instance.options.revert = true; this.instance._mouseStop(d); this.instance.options.helper = this.instance.options._helper; f.options.helper == "original" && this.instance.currentItem.css({ top: "auto", left: "auto" }) } else { this.instance.cancelHelperRemoval = false; this.instance._trigger("deactivate", d, g) } })
    }, drag: function (d, e) {
        var f =
b(this).data("draggable"), g = this; b.each(f.sortables, function () {
    this.instance.positionAbs = f.positionAbs; this.instance.helperProportions = f.helperProportions; this.instance.offset.click = f.offset.click; if (this.instance._intersectsWith(this.instance.containerCache)) {
        if (!this.instance.isOver) {
            this.instance.isOver = 1; this.instance.currentItem = b(g).clone().appendTo(this.instance.element).data("sortable-item", true); this.instance.options._helper = this.instance.options.helper; this.instance.options.helper = function () { return e.helper[0] };
            d.target = this.instance.currentItem[0]; this.instance._mouseCapture(d, true); this.instance._mouseStart(d, true, true); this.instance.offset.click.top = f.offset.click.top; this.instance.offset.click.left = f.offset.click.left; this.instance.offset.parent.left -= f.offset.parent.left - this.instance.offset.parent.left; this.instance.offset.parent.top -= f.offset.parent.top - this.instance.offset.parent.top; f._trigger("toSortable", d); f.dropped = this.instance.element; f.currentItem = f.element; this.instance.fromOutside = f
        } this.instance.currentItem &&
this.instance._mouseDrag(d)
    } else if (this.instance.isOver) { this.instance.isOver = 0; this.instance.cancelHelperRemoval = true; this.instance.options.revert = false; this.instance._trigger("out", d, this.instance._uiHash(this.instance)); this.instance._mouseStop(d, true); this.instance.options.helper = this.instance.options._helper; this.instance.currentItem.remove(); this.instance.placeholder && this.instance.placeholder.remove(); f._trigger("fromSortable", d); f.dropped = false } 
})
    } 
    }); b.ui.plugin.add("draggable", "cursor",
{ start: function () { var d = b("body"), e = b(this).data("draggable").options; if (d.css("cursor")) e._cursor = d.css("cursor"); d.css("cursor", e.cursor) }, stop: function () { var d = b(this).data("draggable").options; d._cursor && b("body").css("cursor", d._cursor) } }); b.ui.plugin.add("draggable", "iframeFix", { start: function () {
    var d = b(this).data("draggable").options; b(d.iframeFix === true ? "iframe" : d.iframeFix).each(function () {
        b('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({ width: this.offsetWidth +
"px", height: this.offsetHeight + "px", position: "absolute", opacity: "0.001", zIndex: 1E3
        }).css(b(this).offset()).appendTo("body")
    })
}, stop: function () { b("div.ui-draggable-iframeFix").each(function () { this.parentNode.removeChild(this) }) } 
}); b.ui.plugin.add("draggable", "opacity", { start: function (d, e) { d = b(e.helper); e = b(this).data("draggable").options; if (d.css("opacity")) e._opacity = d.css("opacity"); d.css("opacity", e.opacity) }, stop: function (d, e) {
    d = b(this).data("draggable").options; d._opacity && b(e.helper).css("opacity",
d._opacity)
} 
}); b.ui.plugin.add("draggable", "scroll", { start: function () { var d = b(this).data("draggable"); if (d.scrollParent[0] != document && d.scrollParent[0].tagName != "HTML") d.overflowOffset = d.scrollParent.offset() }, drag: function (d) {
    var e = b(this).data("draggable"), f = e.options, g = false; if (e.scrollParent[0] != document && e.scrollParent[0].tagName != "HTML") {
        if (!f.axis || f.axis != "x") if (e.overflowOffset.top + e.scrollParent[0].offsetHeight - d.pageY < f.scrollSensitivity) e.scrollParent[0].scrollTop = g = e.scrollParent[0].scrollTop +
f.scrollSpeed; else if (d.pageY - e.overflowOffset.top < f.scrollSensitivity) e.scrollParent[0].scrollTop = g = e.scrollParent[0].scrollTop - f.scrollSpeed; if (!f.axis || f.axis != "y") if (e.overflowOffset.left + e.scrollParent[0].offsetWidth - d.pageX < f.scrollSensitivity) e.scrollParent[0].scrollLeft = g = e.scrollParent[0].scrollLeft + f.scrollSpeed; else if (d.pageX - e.overflowOffset.left < f.scrollSensitivity) e.scrollParent[0].scrollLeft = g = e.scrollParent[0].scrollLeft - f.scrollSpeed
    } else {
        if (!f.axis || f.axis != "x") if (d.pageY - b(document).scrollTop() <
f.scrollSensitivity) g = b(document).scrollTop(b(document).scrollTop() - f.scrollSpeed); else if (b(window).height() - (d.pageY - b(document).scrollTop()) < f.scrollSensitivity) g = b(document).scrollTop(b(document).scrollTop() + f.scrollSpeed); if (!f.axis || f.axis != "y") if (d.pageX - b(document).scrollLeft() < f.scrollSensitivity) g = b(document).scrollLeft(b(document).scrollLeft() - f.scrollSpeed); else if (b(window).width() - (d.pageX - b(document).scrollLeft()) < f.scrollSensitivity) g = b(document).scrollLeft(b(document).scrollLeft() +
f.scrollSpeed)
    } g !== false && b.ui.ddmanager && !f.dropBehaviour && b.ui.ddmanager.prepareOffsets(e, d)
} 
}); b.ui.plugin.add("draggable", "snap", { start: function () { var d = b(this).data("draggable"), e = d.options; d.snapElements = []; b(e.snap.constructor != String ? e.snap.items || ":data(draggable)" : e.snap).each(function () { var f = b(this), g = f.offset(); this != d.element[0] && d.snapElements.push({ item: this, width: f.outerWidth(), height: f.outerHeight(), top: g.top, left: g.left }) }) }, drag: function (d, e) {
    for (var f = b(this).data("draggable"),
g = f.options, a = g.snapTolerance, c = e.offset.left, h = c + f.helperProportions.width, i = e.offset.top, j = i + f.helperProportions.height, n = f.snapElements.length - 1; n >= 0; n--) {
        var o = f.snapElements[n].left, l = o + f.snapElements[n].width, k = f.snapElements[n].top, m = k + f.snapElements[n].height; if (o - a < c && c < l + a && k - a < i && i < m + a || o - a < c && c < l + a && k - a < j && j < m + a || o - a < h && h < l + a && k - a < i && i < m + a || o - a < h && h < l + a && k - a < j && j < m + a) {
            if (g.snapMode != "inner") {
                var p = Math.abs(k - j) <= a, q = Math.abs(m - i) <= a, s = Math.abs(o - h) <= a, r = Math.abs(l - c) <= a; if (p) e.position.top =
f._convertPositionTo("relative", { top: k - f.helperProportions.height, left: 0 }).top - f.margins.top; if (q) e.position.top = f._convertPositionTo("relative", { top: m, left: 0 }).top - f.margins.top; if (s) e.position.left = f._convertPositionTo("relative", { top: 0, left: o - f.helperProportions.width }).left - f.margins.left; if (r) e.position.left = f._convertPositionTo("relative", { top: 0, left: l }).left - f.margins.left
            } var u = p || q || s || r; if (g.snapMode != "outer") {
                p = Math.abs(k - i) <= a; q = Math.abs(m - j) <= a; s = Math.abs(o - c) <= a; r = Math.abs(l - h) <= a; if (p) e.position.top =
f._convertPositionTo("relative", { top: k, left: 0 }).top - f.margins.top; if (q) e.position.top = f._convertPositionTo("relative", { top: m - f.helperProportions.height, left: 0 }).top - f.margins.top; if (s) e.position.left = f._convertPositionTo("relative", { top: 0, left: o }).left - f.margins.left; if (r) e.position.left = f._convertPositionTo("relative", { top: 0, left: l - f.helperProportions.width }).left - f.margins.left
            } if (!f.snapElements[n].snapping && (p || q || s || r || u)) f.options.snap.snap && f.options.snap.snap.call(f.element, d, b.extend(f._uiHash(),
{ snapItem: f.snapElements[n].item })); f.snapElements[n].snapping = p || q || s || r || u
        } else { f.snapElements[n].snapping && f.options.snap.release && f.options.snap.release.call(f.element, d, b.extend(f._uiHash(), { snapItem: f.snapElements[n].item })); f.snapElements[n].snapping = false } 
    } 
} 
}); b.ui.plugin.add("draggable", "stack", { start: function () {
    var d = b(this).data("draggable").options; d = b.makeArray(b(d.stack)).sort(function (f, g) { return (parseInt(b(f).css("zIndex"), 10) || 0) - (parseInt(b(g).css("zIndex"), 10) || 0) }); if (d.length) {
        var e =
parseInt(d[0].style.zIndex) || 0; b(d).each(function (f) { this.style.zIndex = e + f }); this[0].style.zIndex = e + d.length
    } 
} 
}); b.ui.plugin.add("draggable", "zIndex", { start: function (d, e) { d = b(e.helper); e = b(this).data("draggable").options; if (d.css("zIndex")) e._zIndex = d.css("zIndex"); d.css("zIndex", e.zIndex) }, stop: function (d, e) { d = b(this).data("draggable").options; d._zIndex && b(e.helper).css("zIndex", d._zIndex) } })
})(jQuery);
(function (b) {
    b.widget("ui.droppable", { widgetEventPrefix: "drop", options: { accept: "*", activeClass: false, addClasses: true, greedy: false, hoverClass: false, scope: "default", tolerance: "intersect" }, _create: function () {
        var d = this.options, e = d.accept; this.isover = 0; this.isout = 1; this.accept = b.isFunction(e) ? e : function (f) { return f.is(e) }; this.proportions = { width: this.element[0].offsetWidth, height: this.element[0].offsetHeight }; b.ui.ddmanager.droppables[d.scope] = b.ui.ddmanager.droppables[d.scope] || []; b.ui.ddmanager.droppables[d.scope].push(this);
        d.addClasses && this.element.addClass("ui-droppable")
    }, destroy: function () { for (var d = b.ui.ddmanager.droppables[this.options.scope], e = 0; e < d.length; e++) d[e] == this && d.splice(e, 1); this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable"); return this }, _setOption: function (d, e) { if (d == "accept") this.accept = b.isFunction(e) ? e : function (f) { return f.is(e) }; b.Widget.prototype._setOption.apply(this, arguments) }, _activate: function (d) {
        var e = b.ui.ddmanager.current; this.options.activeClass &&
this.element.addClass(this.options.activeClass); e && this._trigger("activate", d, this.ui(e))
    }, _deactivate: function (d) { var e = b.ui.ddmanager.current; this.options.activeClass && this.element.removeClass(this.options.activeClass); e && this._trigger("deactivate", d, this.ui(e)) }, _over: function (d) {
        var e = b.ui.ddmanager.current; if (!(!e || (e.currentItem || e.element)[0] == this.element[0])) if (this.accept.call(this.element[0], e.currentItem || e.element)) {
            this.options.hoverClass && this.element.addClass(this.options.hoverClass);
            this._trigger("over", d, this.ui(e))
        } 
    }, _out: function (d) { var e = b.ui.ddmanager.current; if (!(!e || (e.currentItem || e.element)[0] == this.element[0])) if (this.accept.call(this.element[0], e.currentItem || e.element)) { this.options.hoverClass && this.element.removeClass(this.options.hoverClass); this._trigger("out", d, this.ui(e)) } }, _drop: function (d, e) {
        var f = e || b.ui.ddmanager.current; if (!f || (f.currentItem || f.element)[0] == this.element[0]) return false; var g = false; this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function () {
            var a =
b.data(this, "droppable"); if (a.options.greedy && !a.options.disabled && a.options.scope == f.options.scope && a.accept.call(a.element[0], f.currentItem || f.element) && b.ui.intersect(f, b.extend(a, { offset: a.element.offset() }), a.options.tolerance)) { g = true; return false } 
        }); if (g) return false; if (this.accept.call(this.element[0], f.currentItem || f.element)) {
            this.options.activeClass && this.element.removeClass(this.options.activeClass); this.options.hoverClass && this.element.removeClass(this.options.hoverClass); this._trigger("drop",
d, this.ui(f)); return this.element
        } return false
    }, ui: function (d) { return { draggable: d.currentItem || d.element, helper: d.helper, position: d.position, offset: d.positionAbs} } 
    }); b.extend(b.ui.droppable, { version: "1.8.12" }); b.ui.intersect = function (d, e, f) {
        if (!e.offset) return false; var g = (d.positionAbs || d.position.absolute).left, a = g + d.helperProportions.width, c = (d.positionAbs || d.position.absolute).top, h = c + d.helperProportions.height, i = e.offset.left, j = i + e.proportions.width, n = e.offset.top, o = n + e.proportions.height;
        switch (f) {
            case "fit": return i <= g && a <= j && n <= c && h <= o; case "intersect": return i < g + d.helperProportions.width / 2 && a - d.helperProportions.width / 2 < j && n < c + d.helperProportions.height / 2 && h - d.helperProportions.height / 2 < o; case "pointer": return b.ui.isOver((d.positionAbs || d.position.absolute).top + (d.clickOffset || d.offset.click).top, (d.positionAbs || d.position.absolute).left + (d.clickOffset || d.offset.click).left, n, i, e.proportions.height, e.proportions.width); case "touch": return (c >= n && c <= o || h >= n && h <= o || c < n && h > o) && (g >=
i && g <= j || a >= i && a <= j || g < i && a > j); default: return false
        } 
    }; b.ui.ddmanager = { current: null, droppables: { "default": [] }, prepareOffsets: function (d, e) {
        var f = b.ui.ddmanager.droppables[d.options.scope] || [], g = e ? e.type : null, a = (d.currentItem || d.element).find(":data(droppable)").andSelf(), c = 0; a: for (; c < f.length; c++) if (!(f[c].options.disabled || d && !f[c].accept.call(f[c].element[0], d.currentItem || d.element))) {
            for (var h = 0; h < a.length; h++) if (a[h] == f[c].element[0]) { f[c].proportions.height = 0; continue a } f[c].visible = f[c].element.css("display") !=
"none"; if (f[c].visible) { g == "mousedown" && f[c]._activate.call(f[c], e); f[c].offset = f[c].element.offset(); f[c].proportions = { width: f[c].element[0].offsetWidth, height: f[c].element[0].offsetHeight} } 
        } 
    }, drop: function (d, e) {
        var f = false; b.each(b.ui.ddmanager.droppables[d.options.scope] || [], function () {
            if (this.options) {
                if (!this.options.disabled && this.visible && b.ui.intersect(d, this, this.options.tolerance)) f = f || this._drop.call(this, e); if (!this.options.disabled && this.visible && this.accept.call(this.element[0], d.currentItem ||
d.element)) { this.isout = 1; this.isover = 0; this._deactivate.call(this, e) } 
            } 
        }); return f
    }, drag: function (d, e) {
        d.options.refreshPositions && b.ui.ddmanager.prepareOffsets(d, e); b.each(b.ui.ddmanager.droppables[d.options.scope] || [], function () {
            if (!(this.options.disabled || this.greedyChild || !this.visible)) {
                var f = b.ui.intersect(d, this, this.options.tolerance); if (f = !f && this.isover == 1 ? "isout" : f && this.isover == 0 ? "isover" : null) {
                    var g; if (this.options.greedy) {
                        var a = this.element.parents(":data(droppable):eq(0)"); if (a.length) {
                            g =
b.data(a[0], "droppable"); g.greedyChild = f == "isover" ? 1 : 0
                        } 
                    } if (g && f == "isover") { g.isover = 0; g.isout = 1; g._out.call(g, e) } this[f] = 1; this[f == "isout" ? "isover" : "isout"] = 0; this[f == "isover" ? "_over" : "_out"].call(this, e); if (g && f == "isout") { g.isout = 0; g.isover = 1; g._over.call(g, e) } 
                } 
            } 
        })
    } 
    }
})(jQuery);
(function (b) {
    b.widget("ui.resizable", b.ui.mouse, { widgetEventPrefix: "resize", options: { alsoResize: false, animate: false, animateDuration: "slow", animateEasing: "swing", aspectRatio: false, autoHide: false, containment: false, ghost: false, grid: false, handles: "e,s,se", helper: false, maxHeight: null, maxWidth: null, minHeight: 10, minWidth: 10, zIndex: 1E3 }, _create: function () {
        var f = this, g = this.options; this.element.addClass("ui-resizable"); b.extend(this, { _aspectRatio: !!g.aspectRatio, aspectRatio: g.aspectRatio, originalElement: this.element,
            _proportionallyResizeElements: [], _helper: g.helper || g.ghost || g.animate ? g.helper || "ui-resizable-helper" : null
        }); if (this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)) {
            /relative/.test(this.element.css("position")) && b.browser.opera && this.element.css({ position: "relative", top: "auto", left: "auto" }); this.element.wrap(b('<div class="ui-wrapper" style="overflow: hidden;"></div>').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("resizable", this.element.data("resizable")); this.elementIsWrapper = true; 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 = g.handles || (!b(".ui-resizable-handle", this.element).length ? "e,s,se" : { 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"
        }); if (this.handles.constructor == String) { if (this.handles == "all") this.handles = "n,e,s,w,se,sw,ne,nw"; var a = this.handles.split(","); this.handles = {}; for (var c = 0; c < a.length; c++) { var h = b.trim(a[c]), i = b('<div class="ui-resizable-handle ' + ("ui-resizable-" + h) + '"></div>'); /sw|se|ne|nw/.test(h) && i.css({ zIndex: ++g.zIndex }); "se" == h && i.addClass("ui-icon ui-icon-gripsmall-diagonal-se"); this.handles[h] = ".ui-resizable-" + h; this.element.append(i) } } this._renderAxis = function (j) {
            j = j || this.element; for (var n in this.handles) {
                if (this.handles[n].constructor ==
String) this.handles[n] = b(this.handles[n], this.element).show(); if (this.elementIsWrapper && this.originalElement[0].nodeName.match(/textarea|input|select|button/i)) { var o = b(this.handles[n], this.element), l = 0; l = /sw|ne|nw|se|n|s/.test(n) ? o.outerHeight() : o.outerWidth(); o = ["padding", /ne|nw|n/.test(n) ? "Top" : /se|sw|s/.test(n) ? "Bottom" : /^e$/.test(n) ? "Right" : "Left"].join(""); j.css(o, l); this._proportionallyResize() } b(this.handles[n])
            } 
        }; this._renderAxis(this.element); this._handles = b(".ui-resizable-handle", this.element).disableSelection();
        this._handles.mouseover(function () { if (!f.resizing) { if (this.className) var j = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i); f.axis = j && j[1] ? j[1] : "se" } }); if (g.autoHide) { this._handles.hide(); b(this.element).addClass("ui-resizable-autohide").hover(function () { b(this).removeClass("ui-resizable-autohide"); f._handles.show() }, function () { if (!f.resizing) { b(this).addClass("ui-resizable-autohide"); f._handles.hide() } }) } this._mouseInit()
    }, destroy: function () {
        this._mouseDestroy(); var f = function (a) { b(a).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove() };
        if (this.elementIsWrapper) { f(this.element); var g = this.element; g.after(this.originalElement.css({ position: g.css("position"), width: g.outerWidth(), height: g.outerHeight(), top: g.css("top"), left: g.css("left") })).remove() } this.originalElement.css("resize", this.originalResizeStyle); f(this.originalElement); return this
    }, _mouseCapture: function (f) { var g = false; for (var a in this.handles) if (b(this.handles[a])[0] == f.target) g = true; return !this.options.disabled && g }, _mouseStart: function (f) {
        var g = this.options, a = this.element.position(),
c = this.element; this.resizing = true; this.documentScroll = { top: b(document).scrollTop(), left: b(document).scrollLeft() }; if (c.is(".ui-draggable") || /absolute/.test(c.css("position"))) c.css({ position: "absolute", top: a.top, left: a.left }); b.browser.opera && /relative/.test(c.css("position")) && c.css({ position: "relative", top: "auto", left: "auto" }); this._renderProxy(); a = d(this.helper.css("left")); var h = d(this.helper.css("top")); if (g.containment) { a += b(g.containment).scrollLeft() || 0; h += b(g.containment).scrollTop() || 0 } this.offset =
this.helper.offset(); this.position = { left: a, top: h }; this.size = this._helper ? { width: c.outerWidth(), height: c.outerHeight()} : { width: c.width(), height: c.height() }; this.originalSize = this._helper ? { width: c.outerWidth(), height: c.outerHeight()} : { width: c.width(), height: c.height() }; this.originalPosition = { left: a, top: h }; this.sizeDiff = { width: c.outerWidth() - c.width(), height: c.outerHeight() - c.height() }; this.originalMousePosition = { left: f.pageX, top: f.pageY }; this.aspectRatio = typeof g.aspectRatio == "number" ? g.aspectRatio :
this.originalSize.width / this.originalSize.height || 1; g = b(".ui-resizable-" + this.axis).css("cursor"); b("body").css("cursor", g == "auto" ? this.axis + "-resize" : g); c.addClass("ui-resizable-resizing"); this._propagate("start", f); return true
    }, _mouseDrag: function (f) {
        var g = this.helper, a = this.originalMousePosition, c = this._change[this.axis]; if (!c) return false; a = c.apply(this, [f, f.pageX - a.left || 0, f.pageY - a.top || 0]); if (this._aspectRatio || f.shiftKey) a = this._updateRatio(a, f); a = this._respectSize(a, f); this._propagate("resize",
f); g.css({ top: this.position.top + "px", left: this.position.left + "px", width: this.size.width + "px", height: this.size.height + "px" }); !this._helper && this._proportionallyResizeElements.length && this._proportionallyResize(); this._updateCache(a); this._trigger("resize", f, this.ui()); return false
    }, _mouseStop: function (f) {
        this.resizing = false; var g = this.options, a = this; if (this._helper) {
            var c = this._proportionallyResizeElements, h = c.length && /textarea/i.test(c[0].nodeName); c = h && b.ui.hasScroll(c[0], "left") ? 0 : a.sizeDiff.height;
            h = h ? 0 : a.sizeDiff.width; h = { width: a.helper.width() - h, height: a.helper.height() - c }; c = parseInt(a.element.css("left"), 10) + (a.position.left - a.originalPosition.left) || null; var i = parseInt(a.element.css("top"), 10) + (a.position.top - a.originalPosition.top) || null; g.animate || this.element.css(b.extend(h, { top: i, left: c })); a.helper.height(a.size.height); a.helper.width(a.size.width); this._helper && !g.animate && this._proportionallyResize()
        } b("body").css("cursor", "auto"); this.element.removeClass("ui-resizable-resizing");
        this._propagate("stop", f); this._helper && this.helper.remove(); return false
    }, _updateCache: function (f) { this.offset = this.helper.offset(); if (e(f.left)) this.position.left = f.left; if (e(f.top)) this.position.top = f.top; if (e(f.height)) this.size.height = f.height; if (e(f.width)) this.size.width = f.width }, _updateRatio: function (f) {
        var g = this.position, a = this.size, c = this.axis; if (f.height) f.width = a.height * this.aspectRatio; else if (f.width) f.height = a.width / this.aspectRatio; if (c == "sw") {
            f.left = g.left + (a.width - f.width); f.top =
null
        } if (c == "nw") { f.top = g.top + (a.height - f.height); f.left = g.left + (a.width - f.width) } return f
    }, _respectSize: function (f) {
        var g = this.options, a = this.axis, c = e(f.width) && g.maxWidth && g.maxWidth < f.width, h = e(f.height) && g.maxHeight && g.maxHeight < f.height, i = e(f.width) && g.minWidth && g.minWidth > f.width, j = e(f.height) && g.minHeight && g.minHeight > f.height; if (i) f.width = g.minWidth; if (j) f.height = g.minHeight; if (c) f.width = g.maxWidth; if (h) f.height = g.maxHeight; var n = this.originalPosition.left + this.originalSize.width, o = this.position.top +
this.size.height, l = /sw|nw|w/.test(a); a = /nw|ne|n/.test(a); if (i && l) f.left = n - g.minWidth; if (c && l) f.left = n - g.maxWidth; if (j && a) f.top = o - g.minHeight; if (h && a) f.top = o - g.maxHeight; if ((g = !f.width && !f.height) && !f.left && f.top) f.top = null; else if (g && !f.top && f.left) f.left = null; return f
    }, _proportionallyResize: function () {
        if (this._proportionallyResizeElements.length) for (var f = this.helper || this.element, g = 0; g < this._proportionallyResizeElements.length; g++) {
            var a = this._proportionallyResizeElements[g]; if (!this.borderDif) {
                var c =
[a.css("borderTopWidth"), a.css("borderRightWidth"), a.css("borderBottomWidth"), a.css("borderLeftWidth")], h = [a.css("paddingTop"), a.css("paddingRight"), a.css("paddingBottom"), a.css("paddingLeft")]; this.borderDif = b.map(c, function (i, j) { i = parseInt(i, 10) || 0; j = parseInt(h[j], 10) || 0; return i + j })
            } b.browser.msie && (b(f).is(":hidden") || b(f).parents(":hidden").length) || a.css({ height: f.height() - this.borderDif[0] - this.borderDif[2] || 0, width: f.width() - this.borderDif[1] - this.borderDif[3] || 0 })
        } 
    }, _renderProxy: function () {
        var f =
this.options; this.elementOffset = this.element.offset(); if (this._helper) { this.helper = this.helper || b('<div style="overflow:hidden;"></div>'); var g = b.browser.msie && b.browser.version < 7, a = g ? 1 : 0; g = g ? 2 : -1; this.helper.addClass(this._helper).css({ width: this.element.outerWidth() + g, height: this.element.outerHeight() + g, position: "absolute", left: this.elementOffset.left - a + "px", top: this.elementOffset.top - a + "px", zIndex: ++f.zIndex }); this.helper.appendTo("body").disableSelection() } else this.helper = this.element
    }, _change: { e: function (f,
g) { return { width: this.originalSize.width + g} }, w: function (f, g) { return { left: this.originalPosition.left + g, width: this.originalSize.width - g} }, n: function (f, g, a) { return { top: this.originalPosition.top + a, height: this.originalSize.height - a} }, s: function (f, g, a) { return { height: this.originalSize.height + a} }, se: function (f, g, a) { return b.extend(this._change.s.apply(this, arguments), this._change.e.apply(this, [f, g, a])) }, sw: function (f, g, a) {
    return b.extend(this._change.s.apply(this, arguments), this._change.w.apply(this, [f, g,
a]))
}, ne: function (f, g, a) { return b.extend(this._change.n.apply(this, arguments), this._change.e.apply(this, [f, g, a])) }, nw: function (f, g, a) { return b.extend(this._change.n.apply(this, arguments), this._change.w.apply(this, [f, g, a])) } 
    }, _propagate: function (f, g) { b.ui.plugin.call(this, f, [g, this.ui()]); f != "resize" && this._trigger(f, g, 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
        }
    } 
    }); b.extend(b.ui.resizable, { version: "1.8.12" }); b.ui.plugin.add("resizable", "alsoResize", { start: function () {
        var f = b(this).data("resizable").options, g = function (a) { b(a).each(function () { var c = b(this); c.data("resizable-alsoresize", { width: parseInt(c.width(), 10), height: parseInt(c.height(), 10), left: parseInt(c.css("left"), 10), top: parseInt(c.css("top"), 10), position: c.css("position") }) }) }; if (typeof f.alsoResize == "object" && !f.alsoResize.parentNode) if (f.alsoResize.length) {
            f.alsoResize =
f.alsoResize[0]; g(f.alsoResize)
        } else b.each(f.alsoResize, function (a) { g(a) }); else g(f.alsoResize)
    }, resize: function (f, g) {
        var a = b(this).data("resizable"); f = a.options; var c = a.originalSize, h = a.originalPosition, i = { height: a.size.height - c.height || 0, width: a.size.width - c.width || 0, top: a.position.top - h.top || 0, left: a.position.left - h.left || 0 }, j = function (n, o) {
            b(n).each(function () {
                var l = b(this), k = b(this).data("resizable-alsoresize"), m = {}, p = o && o.length ? o : l.parents(g.originalElement[0]).length ? ["width", "height"] : ["width",
"height", "top", "left"]; b.each(p, function (q, s) { if ((q = (k[s] || 0) + (i[s] || 0)) && q >= 0) m[s] = q || null }); if (b.browser.opera && /relative/.test(l.css("position"))) { a._revertToRelativePosition = true; l.css({ position: "absolute", top: "auto", left: "auto" }) } l.css(m)
            })
        }; typeof f.alsoResize == "object" && !f.alsoResize.nodeType ? b.each(f.alsoResize, function (n, o) { j(n, o) }) : j(f.alsoResize)
    }, stop: function () {
        var f = b(this).data("resizable"), g = f.options, a = function (c) { b(c).each(function () { var h = b(this); h.css({ position: h.data("resizable-alsoresize").position }) }) };
        if (f._revertToRelativePosition) { f._revertToRelativePosition = false; typeof g.alsoResize == "object" && !g.alsoResize.nodeType ? b.each(g.alsoResize, function (c) { a(c) }) : a(g.alsoResize) } b(this).removeData("resizable-alsoresize")
    } 
    }); b.ui.plugin.add("resizable", "animate", { stop: function (f) {
        var g = b(this).data("resizable"), a = g.options, c = g._proportionallyResizeElements, h = c.length && /textarea/i.test(c[0].nodeName), i = h && b.ui.hasScroll(c[0], "left") ? 0 : g.sizeDiff.height; h = { width: g.size.width - (h ? 0 : g.sizeDiff.width), height: g.size.height -
i
        }; i = parseInt(g.element.css("left"), 10) + (g.position.left - g.originalPosition.left) || null; var j = parseInt(g.element.css("top"), 10) + (g.position.top - g.originalPosition.top) || null; g.element.animate(b.extend(h, j && i ? { top: j, left: i} : {}), { duration: a.animateDuration, easing: a.animateEasing, step: function () {
            var n = { width: parseInt(g.element.css("width"), 10), height: parseInt(g.element.css("height"), 10), top: parseInt(g.element.css("top"), 10), left: parseInt(g.element.css("left"), 10) }; c && c.length && b(c[0]).css({ width: n.width,
                height: n.height
            }); g._updateCache(n); g._propagate("resize", f)
        } 
        })
    } 
    }); b.ui.plugin.add("resizable", "containment", { start: function () {
        var f = b(this).data("resizable"), g = f.element, a = f.options.containment; if (g = a instanceof b ? a.get(0) : /parent/.test(a) ? g.parent().get(0) : a) {
            f.containerElement = b(g); if (/document/.test(a) || a == document) { f.containerOffset = { left: 0, top: 0 }; f.containerPosition = { left: 0, top: 0 }; f.parentData = { element: b(document), left: 0, top: 0, width: b(document).width(), height: b(document).height() || document.body.parentNode.scrollHeight} } else {
                var c =
b(g), h = []; b(["Top", "Right", "Left", "Bottom"]).each(function (n, o) { h[n] = d(c.css("padding" + o)) }); f.containerOffset = c.offset(); f.containerPosition = c.position(); f.containerSize = { height: c.innerHeight() - h[3], width: c.innerWidth() - h[1] }; a = f.containerOffset; var i = f.containerSize.height, j = f.containerSize.width; j = b.ui.hasScroll(g, "left") ? g.scrollWidth : j; i = b.ui.hasScroll(g) ? g.scrollHeight : i; f.parentData = { element: g, left: a.left, top: a.top, width: j, height: i}
            } 
        } 
    }, resize: function (f) {
        var g = b(this).data("resizable"), a = g.options,
c = g.containerOffset, h = g.position; f = g._aspectRatio || f.shiftKey; var i = { top: 0, left: 0 }, j = g.containerElement; if (j[0] != document && /static/.test(j.css("position"))) i = c; if (h.left < (g._helper ? c.left : 0)) { g.size.width += g._helper ? g.position.left - c.left : g.position.left - i.left; if (f) g.size.height = g.size.width / a.aspectRatio; g.position.left = a.helper ? c.left : 0 } if (h.top < (g._helper ? c.top : 0)) {
            g.size.height += g._helper ? g.position.top - c.top : g.position.top; if (f) g.size.width = g.size.height * a.aspectRatio; g.position.top = g._helper ?
c.top : 0
        } g.offset.left = g.parentData.left + g.position.left; g.offset.top = g.parentData.top + g.position.top; a = Math.abs((g._helper ? g.offset.left - i.left : g.offset.left - i.left) + g.sizeDiff.width); c = Math.abs((g._helper ? g.offset.top - i.top : g.offset.top - c.top) + g.sizeDiff.height); h = g.containerElement.get(0) == g.element.parent().get(0); i = /relative|absolute/.test(g.containerElement.css("position")); if (h && i) a -= g.parentData.left; if (a + g.size.width >= g.parentData.width) {
            g.size.width = g.parentData.width - a; if (f) g.size.height =
g.size.width / g.aspectRatio
        } if (c + g.size.height >= g.parentData.height) { g.size.height = g.parentData.height - c; if (f) g.size.width = g.size.height * g.aspectRatio } 
    }, stop: function () {
        var f = b(this).data("resizable"), g = f.options, a = f.containerOffset, c = f.containerPosition, h = f.containerElement, i = b(f.helper), j = i.offset(), n = i.outerWidth() - f.sizeDiff.width; i = i.outerHeight() - f.sizeDiff.height; f._helper && !g.animate && /relative/.test(h.css("position")) && b(this).css({ left: j.left - c.left - a.left, width: n, height: i }); f._helper && !g.animate &&
/static/.test(h.css("position")) && b(this).css({ left: j.left - c.left - a.left, width: n, height: i })
    } 
    }); b.ui.plugin.add("resizable", "ghost", { start: function () { var f = b(this).data("resizable"), g = f.options, a = f.size; f.ghost = f.originalElement.clone(); f.ghost.css({ opacity: 0.25, display: "block", position: "relative", height: a.height, width: a.width, margin: 0, left: 0, top: 0 }).addClass("ui-resizable-ghost").addClass(typeof g.ghost == "string" ? g.ghost : ""); f.ghost.appendTo(f.helper) }, resize: function () {
        var f = b(this).data("resizable");
        f.ghost && f.ghost.css({ position: "relative", height: f.size.height, width: f.size.width })
    }, stop: function () { var f = b(this).data("resizable"); f.ghost && f.helper && f.helper.get(0).removeChild(f.ghost.get(0)) } 
    }); b.ui.plugin.add("resizable", "grid", { resize: function () {
        var f = b(this).data("resizable"), g = f.options, a = f.size, c = f.originalSize, h = f.originalPosition, i = f.axis; g.grid = typeof g.grid == "number" ? [g.grid, g.grid] : g.grid; var j = Math.round((a.width - c.width) / (g.grid[0] || 1)) * (g.grid[0] || 1); g = Math.round((a.height - c.height) /
(g.grid[1] || 1)) * (g.grid[1] || 1); if (/^(se|s|e)$/.test(i)) { f.size.width = c.width + j; f.size.height = c.height + g } else if (/^(ne)$/.test(i)) { f.size.width = c.width + j; f.size.height = c.height + g; f.position.top = h.top - g } else { if (/^(sw)$/.test(i)) { f.size.width = c.width + j; f.size.height = c.height + g } else { f.size.width = c.width + j; f.size.height = c.height + g; f.position.top = h.top - g } f.position.left = h.left - j } 
    } 
    }); var d = function (f) { return parseInt(f, 10) || 0 }, e = function (f) { return !isNaN(parseInt(f, 10)) } 
})(jQuery);
(function (b) {
    b.widget("ui.selectable", b.ui.mouse, { options: { appendTo: "body", autoRefresh: true, distance: 0, filter: "*", tolerance: "touch" }, _create: function () {
        var d = this; this.element.addClass("ui-selectable"); this.dragged = false; var e; this.refresh = function () {
            e = b(d.options.filter, d.element[0]); e.each(function () {
                var f = b(this), g = f.offset(); b.data(this, "selectable-item", { element: this, $element: f, left: g.left, top: g.top, right: g.left + f.outerWidth(), bottom: g.top + f.outerHeight(), startselected: false, selected: f.hasClass("ui-selected"),
                    selecting: f.hasClass("ui-selecting"), unselecting: f.hasClass("ui-unselecting")
                })
            })
        }; this.refresh(); this.selectees = e.addClass("ui-selectee"); this._mouseInit(); this.helper = b("<div class='ui-selectable-helper'></div>")
    }, destroy: function () { this.selectees.removeClass("ui-selectee").removeData("selectable-item"); this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable"); this._mouseDestroy(); return this }, _mouseStart: function (d) {
        var e = this; this.opos = [d.pageX,
d.pageY]; if (!this.options.disabled) {
            var f = this.options; this.selectees = b(f.filter, this.element[0]); this._trigger("start", d); b(f.appendTo).append(this.helper); this.helper.css({ left: d.clientX, top: d.clientY, width: 0, height: 0 }); f.autoRefresh && this.refresh(); this.selectees.filter(".ui-selected").each(function () {
                var g = b.data(this, "selectable-item"); g.startselected = true; if (!d.metaKey) {
                    g.$element.removeClass("ui-selected"); g.selected = false; g.$element.addClass("ui-unselecting"); g.unselecting = true; e._trigger("unselecting",
d, { unselecting: g.element })
                } 
            }); b(d.target).parents().andSelf().each(function () { var g = b.data(this, "selectable-item"); if (g) { var a = !d.metaKey || !g.$element.hasClass("ui-selected"); g.$element.removeClass(a ? "ui-unselecting" : "ui-selected").addClass(a ? "ui-selecting" : "ui-unselecting"); g.unselecting = !a; g.selecting = a; (g.selected = a) ? e._trigger("selecting", d, { selecting: g.element }) : e._trigger("unselecting", d, { unselecting: g.element }); return false } })
        } 
    }, _mouseDrag: function (d) {
        var e = this; this.dragged = true; if (!this.options.disabled) {
            var f =
this.options, g = this.opos[0], a = this.opos[1], c = d.pageX, h = d.pageY; if (g > c) { var i = c; c = g; g = i } if (a > h) { i = h; h = a; a = i } this.helper.css({ left: g, top: a, width: c - g, height: h - a }); this.selectees.each(function () {
    var j = b.data(this, "selectable-item"); if (!(!j || j.element == e.element[0])) {
        var n = false; if (f.tolerance == "touch") n = !(j.left > c || j.right < g || j.top > h || j.bottom < a); else if (f.tolerance == "fit") n = j.left > g && j.right < c && j.top > a && j.bottom < h; if (n) {
            if (j.selected) { j.$element.removeClass("ui-selected"); j.selected = false } if (j.unselecting) {
                j.$element.removeClass("ui-unselecting");
                j.unselecting = false
            } if (!j.selecting) { j.$element.addClass("ui-selecting"); j.selecting = true; e._trigger("selecting", d, { selecting: j.element }) } 
        } else {
            if (j.selecting) if (d.metaKey && j.startselected) { j.$element.removeClass("ui-selecting"); j.selecting = false; j.$element.addClass("ui-selected"); j.selected = true } else { j.$element.removeClass("ui-selecting"); j.selecting = false; if (j.startselected) { j.$element.addClass("ui-unselecting"); j.unselecting = true } e._trigger("unselecting", d, { unselecting: j.element }) } if (j.selected) if (!d.metaKey &&
!j.startselected) { j.$element.removeClass("ui-selected"); j.selected = false; j.$element.addClass("ui-unselecting"); j.unselecting = true; e._trigger("unselecting", d, { unselecting: j.element }) } 
        } 
    } 
}); return false
        } 
    }, _mouseStop: function (d) {
        var e = this; this.dragged = false; b(".ui-unselecting", this.element[0]).each(function () { var f = b.data(this, "selectable-item"); f.$element.removeClass("ui-unselecting"); f.unselecting = false; f.startselected = false; e._trigger("unselected", d, { unselected: f.element }) }); b(".ui-selecting", this.element[0]).each(function () {
            var f =
b.data(this, "selectable-item"); f.$element.removeClass("ui-selecting").addClass("ui-selected"); f.selecting = false; f.selected = true; f.startselected = true; e._trigger("selected", d, { selected: f.element })
        }); this._trigger("stop", d); this.helper.remove(); return false
    } 
    }); b.extend(b.ui.selectable, { version: "1.8.12" })
})(jQuery);
(function (b) {
    b.widget("ui.sortable", b.ui.mouse, { widgetEventPrefix: "sort", options: { appendTo: "parent", axis: false, connectWith: false, containment: false, cursor: "auto", cursorAt: false, dropOnEmpty: true, forcePlaceholderSize: false, forceHelperSize: false, grid: false, handle: false, helper: "original", items: "> *", opacity: false, placeholder: false, revert: false, scroll: true, scrollSensitivity: 20, scrollSpeed: 20, scope: "default", tolerance: "intersect", zIndex: 1E3 }, _create: function () {
        this.containerCache = {}; this.element.addClass("ui-sortable");
        this.refresh(); this.floating = this.items.length ? /left|right/.test(this.items[0].item.css("float")) || /inline|table-cell/.test(this.items[0].item.css("display")) : false; this.offset = this.element.offset(); this._mouseInit()
    }, destroy: function () { this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable"); this._mouseDestroy(); for (var d = this.items.length - 1; d >= 0; d--) this.items[d].item.removeData("sortable-item"); return this }, _setOption: function (d, e) {
        if (d === "disabled") {
            this.options[d] =
e; this.widget()[e ? "addClass" : "removeClass"]("ui-sortable-disabled")
        } else b.Widget.prototype._setOption.apply(this, arguments)
    }, _mouseCapture: function (d, e) {
        if (this.reverting) return false; if (this.options.disabled || this.options.type == "static") return false; this._refreshItems(d); var f = null, g = this; b(d.target).parents().each(function () { if (b.data(this, "sortable-item") == g) { f = b(this); return false } }); if (b.data(d.target, "sortable-item") == g) f = b(d.target); if (!f) return false; if (this.options.handle && !e) {
            var a = false;
            b(this.options.handle, f).find("*").andSelf().each(function () { if (this == d.target) a = true }); if (!a) return false
        } this.currentItem = f; this._removeCurrentsFromItems(); return true
    }, _mouseStart: function (d, e, f) {
        e = this.options; var g = this; this.currentContainer = this; this.refreshPositions(); this.helper = this._createHelper(d); 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
        }; this.helper.css("position", "absolute"); this.cssPosition = this.helper.css("position"); b.extend(this.offset, { click: { left: d.pageX - this.offset.left, top: d.pageY - this.offset.top }, parent: this._getParentOffset(), relative: this._getRelativeOffset() }); this.originalPosition = this._generatePosition(d); this.originalPageX = d.pageX; this.originalPageY = d.pageY; e.cursorAt && this._adjustOffsetFromHelper(e.cursorAt); this.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] };
        this.helper[0] != this.currentItem[0] && this.currentItem.hide(); this._createPlaceholder(); e.containment && this._setContainment(); if (e.cursor) { if (b("body").css("cursor")) this._storedCursor = b("body").css("cursor"); b("body").css("cursor", e.cursor) } if (e.opacity) { if (this.helper.css("opacity")) this._storedOpacity = this.helper.css("opacity"); this.helper.css("opacity", e.opacity) } if (e.zIndex) { if (this.helper.css("zIndex")) this._storedZIndex = this.helper.css("zIndex"); this.helper.css("zIndex", e.zIndex) } if (this.scrollParent[0] !=
document && this.scrollParent[0].tagName != "HTML") this.overflowOffset = this.scrollParent.offset(); this._trigger("start", d, this._uiHash()); this._preserveHelperProportions || this._cacheHelperProportions(); if (!f) for (f = this.containers.length - 1; f >= 0; f--) this.containers[f]._trigger("activate", d, g._uiHash(this)); if (b.ui.ddmanager) b.ui.ddmanager.current = this; b.ui.ddmanager && !e.dropBehaviour && b.ui.ddmanager.prepareOffsets(this, d); this.dragging = true; this.helper.addClass("ui-sortable-helper"); this._mouseDrag(d);
        return true
    }, _mouseDrag: function (d) {
        this.position = this._generatePosition(d); this.positionAbs = this._convertPositionTo("absolute"); if (!this.lastPositionAbs) this.lastPositionAbs = this.positionAbs; if (this.options.scroll) {
            var e = this.options, f = false; if (this.scrollParent[0] != document && this.scrollParent[0].tagName != "HTML") {
                if (this.overflowOffset.top + this.scrollParent[0].offsetHeight - d.pageY < e.scrollSensitivity) this.scrollParent[0].scrollTop = f = this.scrollParent[0].scrollTop + e.scrollSpeed; else if (d.pageY - this.overflowOffset.top <
e.scrollSensitivity) this.scrollParent[0].scrollTop = f = this.scrollParent[0].scrollTop - e.scrollSpeed; if (this.overflowOffset.left + this.scrollParent[0].offsetWidth - d.pageX < e.scrollSensitivity) this.scrollParent[0].scrollLeft = f = this.scrollParent[0].scrollLeft + e.scrollSpeed; else if (d.pageX - this.overflowOffset.left < e.scrollSensitivity) this.scrollParent[0].scrollLeft = f = this.scrollParent[0].scrollLeft - e.scrollSpeed
            } else {
                if (d.pageY - b(document).scrollTop() < e.scrollSensitivity) f = b(document).scrollTop(b(document).scrollTop() -
e.scrollSpeed); else if (b(window).height() - (d.pageY - b(document).scrollTop()) < e.scrollSensitivity) f = b(document).scrollTop(b(document).scrollTop() + e.scrollSpeed); if (d.pageX - b(document).scrollLeft() < e.scrollSensitivity) f = b(document).scrollLeft(b(document).scrollLeft() - e.scrollSpeed); else if (b(window).width() - (d.pageX - b(document).scrollLeft()) < e.scrollSensitivity) f = b(document).scrollLeft(b(document).scrollLeft() + e.scrollSpeed)
            } f !== false && b.ui.ddmanager && !e.dropBehaviour && b.ui.ddmanager.prepareOffsets(this,
d)
        } this.positionAbs = this._convertPositionTo("absolute"); if (!this.options.axis || this.options.axis != "y") this.helper[0].style.left = this.position.left + "px"; if (!this.options.axis || this.options.axis != "x") this.helper[0].style.top = this.position.top + "px"; for (e = this.items.length - 1; e >= 0; e--) {
            f = this.items[e]; var g = f.item[0], a = this._intersectsWithPointer(f); if (a) if (g != this.currentItem[0] && this.placeholder[a == 1 ? "next" : "prev"]()[0] != g && !b.ui.contains(this.placeholder[0], g) && (this.options.type == "semi-dynamic" ? !b.ui.contains(this.element[0],
g) : true)) { this.direction = a == 1 ? "down" : "up"; if (this.options.tolerance == "pointer" || this._intersectsWithSides(f)) this._rearrange(d, f); else break; this._trigger("change", d, this._uiHash()); break } 
        } this._contactContainers(d); b.ui.ddmanager && b.ui.ddmanager.drag(this, d); this._trigger("sort", d, this._uiHash()); this.lastPositionAbs = this.positionAbs; return false
    }, _mouseStop: function (d, e) {
        if (d) {
            b.ui.ddmanager && !this.options.dropBehaviour && b.ui.ddmanager.drop(this, d); if (this.options.revert) {
                var f = this; e = f.placeholder.offset();
                f.reverting = true; b(this.helper).animate({ left: e.left - this.offset.parent.left - f.margins.left + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollLeft), top: e.top - this.offset.parent.top - f.margins.top + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollTop) }, parseInt(this.options.revert, 10) || 500, function () { f._clear(d) })
            } else this._clear(d, e); return false
        } 
    }, cancel: function () {
        var d = this; if (this.dragging) {
            this._mouseUp({ target: null }); this.options.helper == "original" ? this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper") :
this.currentItem.show(); for (var e = this.containers.length - 1; e >= 0; e--) { this.containers[e]._trigger("deactivate", null, d._uiHash(this)); if (this.containers[e].containerCache.over) { this.containers[e]._trigger("out", null, d._uiHash(this)); this.containers[e].containerCache.over = 0 } } 
        } if (this.placeholder) {
            this.placeholder[0].parentNode && this.placeholder[0].parentNode.removeChild(this.placeholder[0]); this.options.helper != "original" && this.helper && this.helper[0].parentNode && this.helper.remove(); b.extend(this, { helper: null,
                dragging: false, reverting: false, _noFinalSort: null
            }); this.domPosition.prev ? b(this.domPosition.prev).after(this.currentItem) : b(this.domPosition.parent).prepend(this.currentItem)
        } return this
    }, serialize: function (d) { var e = this._getItemsAsjQuery(d && d.connected), f = []; d = d || {}; b(e).each(function () { var g = (b(d.item || this).attr(d.attribute || "id") || "").match(d.expression || /(.+)[-=_](.+)/); if (g) f.push((d.key || g[1] + "[]") + "=" + (d.key && d.expression ? g[1] : g[2])) }); !f.length && d.key && f.push(d.key + "="); return f.join("&") },
        toArray: function (d) { var e = this._getItemsAsjQuery(d && d.connected), f = []; d = d || {}; e.each(function () { f.push(b(d.item || this).attr(d.attribute || "id") || "") }); return f }, _intersectsWith: function (d) {
            var e = this.positionAbs.left, f = e + this.helperProportions.width, g = this.positionAbs.top, a = g + this.helperProportions.height, c = d.left, h = c + d.width, i = d.top, j = i + d.height, n = this.offset.click.top, o = this.offset.click.left; n = g + n > i && g + n < j && e + o > c && e + o < h; return this.options.tolerance == "pointer" || this.options.forcePointerForContainers ||
this.options.tolerance != "pointer" && this.helperProportions[this.floating ? "width" : "height"] > d[this.floating ? "width" : "height"] ? n : c < e + this.helperProportions.width / 2 && f - this.helperProportions.width / 2 < h && i < g + this.helperProportions.height / 2 && a - this.helperProportions.height / 2 < j
        }, _intersectsWithPointer: function (d) {
            var e = b.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, d.top, d.height); d = b.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, d.left, d.width); e = e && d; d = this._getDragVerticalDirection();
            var f = this._getDragHorizontalDirection(); if (!e) return false; return this.floating ? f && f == "right" || d == "down" ? 2 : 1 : d && (d == "down" ? 2 : 1)
        }, _intersectsWithSides: function (d) { var e = b.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, d.top + d.height / 2, d.height); d = b.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, d.left + d.width / 2, d.width); var f = this._getDragVerticalDirection(), g = this._getDragHorizontalDirection(); return this.floating && g ? g == "right" && d || g == "left" && !d : f && (f == "down" && e || f == "up" && !e) },
        _getDragVerticalDirection: function () { var d = this.positionAbs.top - this.lastPositionAbs.top; return d != 0 && (d > 0 ? "down" : "up") }, _getDragHorizontalDirection: function () { var d = this.positionAbs.left - this.lastPositionAbs.left; return d != 0 && (d > 0 ? "right" : "left") }, refresh: function (d) { this._refreshItems(d); this.refreshPositions(); return this }, _connectWith: function () { var d = this.options; return d.connectWith.constructor == String ? [d.connectWith] : d.connectWith }, _getItemsAsjQuery: function (d) {
            var e = [], f = [], g = this._connectWith();
            if (g && d) for (d = g.length - 1; d >= 0; d--) for (var a = b(g[d]), c = a.length - 1; c >= 0; c--) { var h = b.data(a[c], "sortable"); if (h && h != this && !h.options.disabled) f.push([b.isFunction(h.options.items) ? h.options.items.call(h.element) : b(h.options.items, h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), h]) } f.push([b.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : b(this.options.items, this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),
this]); for (d = f.length - 1; d >= 0; d--) f[d][0].each(function () { e.push(this) }); return b(e)
        }, _removeCurrentsFromItems: function () { for (var d = this.currentItem.find(":data(sortable-item)"), e = 0; e < this.items.length; e++) for (var f = 0; f < d.length; f++) d[f] == this.items[e].item[0] && this.items.splice(e, 1) }, _refreshItems: function (d) {
            this.items = []; this.containers = [this]; var e = this.items, f = [[b.isFunction(this.options.items) ? this.options.items.call(this.element[0], d, { item: this.currentItem }) : b(this.options.items, this.element),
this]], g = this._connectWith(); if (g) for (var a = g.length - 1; a >= 0; a--) for (var c = b(g[a]), h = c.length - 1; h >= 0; h--) { var i = b.data(c[h], "sortable"); if (i && i != this && !i.options.disabled) { f.push([b.isFunction(i.options.items) ? i.options.items.call(i.element[0], d, { item: this.currentItem }) : b(i.options.items, i.element), i]); this.containers.push(i) } } for (a = f.length - 1; a >= 0; a--) { d = f[a][1]; g = f[a][0]; h = 0; for (c = g.length; h < c; h++) { i = b(g[h]); i.data("sortable-item", d); e.push({ item: i, instance: d, width: 0, height: 0, left: 0, top: 0 }) } } 
        }, refreshPositions: function (d) {
            if (this.offsetParent &&
this.helper) this.offset.parent = this._getParentOffset(); for (var e = this.items.length - 1; e >= 0; e--) { var f = this.items[e]; if (!(f.instance != this.currentContainer && this.currentContainer && f.item[0] != this.currentItem[0])) { var g = this.options.toleranceElement ? b(this.options.toleranceElement, f.item) : f.item; if (!d) { f.width = g.outerWidth(); f.height = g.outerHeight() } g = g.offset(); f.left = g.left; f.top = g.top } } if (this.options.custom && this.options.custom.refreshContainers) this.options.custom.refreshContainers.call(this); else for (e =
this.containers.length - 1; e >= 0; e--) { g = this.containers[e].element.offset(); this.containers[e].containerCache.left = g.left; this.containers[e].containerCache.top = g.top; this.containers[e].containerCache.width = this.containers[e].element.outerWidth(); this.containers[e].containerCache.height = this.containers[e].element.outerHeight() } return this
        }, _createPlaceholder: function (d) {
            var e = d || this, f = e.options; if (!f.placeholder || f.placeholder.constructor == String) {
                var g = f.placeholder; f.placeholder = { element: function () {
                    var a =
b(document.createElement(e.currentItem[0].nodeName)).addClass(g || e.currentItem[0].className + " ui-sortable-placeholder").removeClass("ui-sortable-helper")[0]; if (!g) a.style.visibility = "hidden"; return a
                }, update: function (a, c) {
                    if (!(g && !f.forcePlaceholderSize)) {
                        c.height() || c.height(e.currentItem.innerHeight() - parseInt(e.currentItem.css("paddingTop") || 0, 10) - parseInt(e.currentItem.css("paddingBottom") || 0, 10)); c.width() || c.width(e.currentItem.innerWidth() - parseInt(e.currentItem.css("paddingLeft") || 0, 10) - parseInt(e.currentItem.css("paddingRight") ||
0, 10))
                    } 
                } 
                }
            } e.placeholder = b(f.placeholder.element.call(e.element, e.currentItem)); e.currentItem.after(e.placeholder); f.placeholder.update(e, e.placeholder)
        }, _contactContainers: function (d) {
            for (var e = null, f = null, g = this.containers.length - 1; g >= 0; g--) if (!b.ui.contains(this.currentItem[0], this.containers[g].element[0])) if (this._intersectsWith(this.containers[g].containerCache)) { if (!(e && b.ui.contains(this.containers[g].element[0], e.element[0]))) { e = this.containers[g]; f = g } } else if (this.containers[g].containerCache.over) {
                this.containers[g]._trigger("out",
d, this._uiHash(this)); this.containers[g].containerCache.over = 0
            } if (e) if (this.containers.length === 1) { this.containers[f]._trigger("over", d, this._uiHash(this)); this.containers[f].containerCache.over = 1 } else if (this.currentContainer != this.containers[f]) {
                e = 1E4; g = null; for (var a = this.positionAbs[this.containers[f].floating ? "left" : "top"], c = this.items.length - 1; c >= 0; c--) if (b.ui.contains(this.containers[f].element[0], this.items[c].item[0])) {
                    var h = this.items[c][this.containers[f].floating ? "left" : "top"]; if (Math.abs(h -
a) < e) { e = Math.abs(h - a); g = this.items[c] } 
                } if (g || this.options.dropOnEmpty) { this.currentContainer = this.containers[f]; g ? this._rearrange(d, g, null, true) : this._rearrange(d, null, this.containers[f].element, true); this._trigger("change", d, this._uiHash()); this.containers[f]._trigger("change", d, this._uiHash(this)); this.options.placeholder.update(this.currentContainer, this.placeholder); this.containers[f]._trigger("over", d, this._uiHash(this)); this.containers[f].containerCache.over = 1 } 
            } 
        }, _createHelper: function (d) {
            var e =
this.options; d = b.isFunction(e.helper) ? b(e.helper.apply(this.element[0], [d, this.currentItem])) : e.helper == "clone" ? this.currentItem.clone() : this.currentItem; d.parents("body").length || b(e.appendTo != "parent" ? e.appendTo : this.currentItem[0].parentNode)[0].appendChild(d[0]); if (d[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") }; if (d[0].style.width ==
"" || e.forceHelperSize) d.width(this.currentItem.width()); if (d[0].style.height == "" || e.forceHelperSize) d.height(this.currentItem.height()); return d
        }, _adjustOffsetFromHelper: function (d) {
            if (typeof d == "string") d = d.split(" "); if (b.isArray(d)) d = { left: +d[0], top: +d[1] || 0 }; if ("left" in d) this.offset.click.left = d.left + this.margins.left; if ("right" in d) this.offset.click.left = this.helperProportions.width - d.right + this.margins.left; if ("top" in d) this.offset.click.top = d.top + this.margins.top; if ("bottom" in d) this.offset.click.top =
this.helperProportions.height - d.bottom + this.margins.top
        }, _getParentOffset: function () {
            this.offsetParent = this.helper.offsetParent(); var d = this.offsetParent.offset(); if (this.cssPosition == "absolute" && this.scrollParent[0] != document && b.ui.contains(this.scrollParent[0], this.offsetParent[0])) { d.left += this.scrollParent.scrollLeft(); d.top += this.scrollParent.scrollTop() } if (this.offsetParent[0] == document.body || this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == "html" && b.browser.msie) d =
{ top: 0, left: 0 }; return { top: d.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0), left: d.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0)}
        }, _getRelativeOffset: function () { if (this.cssPosition == "relative") { var d = this.currentItem.position(); return { top: d.top - (parseInt(this.helper.css("top"), 10) || 0) + this.scrollParent.scrollTop(), left: d.left - (parseInt(this.helper.css("left"), 10) || 0) + this.scrollParent.scrollLeft()} } else 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 d = this.options; if (d.containment == "parent") d.containment = this.helper[0].parentNode; if (d.containment == "document" || d.containment == "window") this.containment = [0 - this.offset.relative.left - this.offset.parent.left, 0 - this.offset.relative.top - this.offset.parent.top, b(d.containment == "document" ?
document : window).width() - this.helperProportions.width - this.margins.left, (b(d.containment == "document" ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top]; if (!/^(document|window|parent)$/.test(d.containment)) {
                var e = b(d.containment)[0]; d = b(d.containment).offset(); var f = b(e).css("overflow") != "hidden"; this.containment = [d.left + (parseInt(b(e).css("borderLeftWidth"), 10) || 0) + (parseInt(b(e).css("paddingLeft"), 10) || 0) - this.margins.left, d.top + (parseInt(b(e).css("borderTopWidth"),
10) || 0) + (parseInt(b(e).css("paddingTop"), 10) || 0) - this.margins.top, d.left + (f ? Math.max(e.scrollWidth, e.offsetWidth) : e.offsetWidth) - (parseInt(b(e).css("borderLeftWidth"), 10) || 0) - (parseInt(b(e).css("paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left, d.top + (f ? Math.max(e.scrollHeight, e.offsetHeight) : e.offsetHeight) - (parseInt(b(e).css("borderTopWidth"), 10) || 0) - (parseInt(b(e).css("paddingBottom"), 10) || 0) - this.helperProportions.height - this.margins.top]
            } 
        }, _convertPositionTo: function (d, e) {
            if (!e) e =
this.position; d = d == "absolute" ? 1 : -1; var f = this.cssPosition == "absolute" && !(this.scrollParent[0] != document && b.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, g = /(html|body)/i.test(f[0].tagName); return { top: e.top + this.offset.relative.top * d + this.offset.parent.top * d - (b.browser.safari && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : g ? 0 : f.scrollTop()) * d), left: e.left + this.offset.relative.left * d + this.offset.parent.left * d - (b.browser.safari &&
this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : g ? 0 : f.scrollLeft()) * d)
}
        }, _generatePosition: function (d) {
            var e = this.options, f = this.cssPosition == "absolute" && !(this.scrollParent[0] != document && b.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, g = /(html|body)/i.test(f[0].tagName); if (this.cssPosition == "relative" && !(this.scrollParent[0] != document && this.scrollParent[0] != this.offsetParent[0])) this.offset.relative = this._getRelativeOffset();
            var a = d.pageX, c = d.pageY; if (this.originalPosition) {
                if (this.containment) { if (d.pageX - this.offset.click.left < this.containment[0]) a = this.containment[0] + this.offset.click.left; if (d.pageY - this.offset.click.top < this.containment[1]) c = this.containment[1] + this.offset.click.top; if (d.pageX - this.offset.click.left > this.containment[2]) a = this.containment[2] + this.offset.click.left; if (d.pageY - this.offset.click.top > this.containment[3]) c = this.containment[3] + this.offset.click.top } if (e.grid) {
                    c = this.originalPageY + Math.round((c -
this.originalPageY) / e.grid[1]) * e.grid[1]; c = this.containment ? !(c - this.offset.click.top < this.containment[1] || c - this.offset.click.top > this.containment[3]) ? c : !(c - this.offset.click.top < this.containment[1]) ? c - e.grid[1] : c + e.grid[1] : c; a = this.originalPageX + Math.round((a - this.originalPageX) / e.grid[0]) * e.grid[0]; a = this.containment ? !(a - this.offset.click.left < this.containment[0] || a - this.offset.click.left > this.containment[2]) ? a : !(a - this.offset.click.left < this.containment[0]) ? a - e.grid[0] : a + e.grid[0] : a
                } 
            } return { top: c -
this.offset.click.top - this.offset.relative.top - this.offset.parent.top + (b.browser.safari && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : g ? 0 : f.scrollTop()), left: a - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + (b.browser.safari && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : g ? 0 : f.scrollLeft())
            }
        }, _rearrange: function (d, e, f, g) {
            f ? f[0].appendChild(this.placeholder[0]) : e.item[0].parentNode.insertBefore(this.placeholder[0],
this.direction == "down" ? e.item[0] : e.item[0].nextSibling); this.counter = this.counter ? ++this.counter : 1; var a = this, c = this.counter; window.setTimeout(function () { c == a.counter && a.refreshPositions(!g) }, 0)
        }, _clear: function (d, e) {
            this.reverting = false; var f = []; !this._noFinalSort && this.currentItem[0].parentNode && this.placeholder.before(this.currentItem); this._noFinalSort = null; if (this.helper[0] == this.currentItem[0]) {
                for (var g in this._storedCSS) if (this._storedCSS[g] == "auto" || this._storedCSS[g] == "static") this._storedCSS[g] =
""; this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")
            } else this.currentItem.show(); this.fromOutside && !e && f.push(function (a) { this._trigger("receive", a, this._uiHash(this.fromOutside)) }); if ((this.fromOutside || this.domPosition.prev != this.currentItem.prev().not(".ui-sortable-helper")[0] || this.domPosition.parent != this.currentItem.parent()[0]) && !e) f.push(function (a) { this._trigger("update", a, this._uiHash()) }); if (!b.ui.contains(this.element[0], this.currentItem[0])) {
                e || f.push(function (a) {
                    this._trigger("remove",
a, this._uiHash())
                }); for (g = this.containers.length - 1; g >= 0; g--) if (b.ui.contains(this.containers[g].element[0], this.currentItem[0]) && !e) { f.push(function (a) { return function (c) { a._trigger("receive", c, this._uiHash(this)) } } .call(this, this.containers[g])); f.push(function (a) { return function (c) { a._trigger("update", c, this._uiHash(this)) } } .call(this, this.containers[g])) } 
            } for (g = this.containers.length - 1; g >= 0; g--) {
                e || f.push(function (a) { return function (c) { a._trigger("deactivate", c, this._uiHash(this)) } } .call(this,
this.containers[g])); if (this.containers[g].containerCache.over) { f.push(function (a) { return function (c) { a._trigger("out", c, this._uiHash(this)) } } .call(this, this.containers[g])); this.containers[g].containerCache.over = 0 } 
            } this._storedCursor && b("body").css("cursor", this._storedCursor); this._storedOpacity && this.helper.css("opacity", this._storedOpacity); if (this._storedZIndex) this.helper.css("zIndex", this._storedZIndex == "auto" ? "" : this._storedZIndex); this.dragging = false; if (this.cancelHelperRemoval) {
                if (!e) {
                    this._trigger("beforeStop",
d, this._uiHash()); for (g = 0; g < f.length; g++) f[g].call(this, d); this._trigger("stop", d, this._uiHash())
                } return false
            } e || this._trigger("beforeStop", d, this._uiHash()); this.placeholder[0].parentNode.removeChild(this.placeholder[0]); this.helper[0] != this.currentItem[0] && this.helper.remove(); this.helper = null; if (!e) { for (g = 0; g < f.length; g++) f[g].call(this, d); this._trigger("stop", d, this._uiHash()) } this.fromOutside = false; return true
        }, _trigger: function () { b.Widget.prototype._trigger.apply(this, arguments) === false && this.cancel() },
        _uiHash: function (d) { var e = d || this; return { helper: e.helper, placeholder: e.placeholder || b([]), position: e.position, originalPosition: e.originalPosition, offset: e.positionAbs, item: e.currentItem, sender: d ? d.element : null} } 
    }); b.extend(b.ui.sortable, { version: "1.8.12" })
})(jQuery);
jQuery.effects || function (b, d) {
    function e(l) {
        var k; if (l && l.constructor == Array && l.length == 3) return l; if (k = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(l)) return [parseInt(k[1], 10), parseInt(k[2], 10), parseInt(k[3], 10)]; if (k = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(l)) return [parseFloat(k[1]) * 2.55, parseFloat(k[2]) * 2.55, parseFloat(k[3]) * 2.55]; if (k = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(l)) return [parseInt(k[1],
16), parseInt(k[2], 16), parseInt(k[3], 16)]; if (k = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(l)) return [parseInt(k[1] + k[1], 16), parseInt(k[2] + k[2], 16), parseInt(k[3] + k[3], 16)]; if (/rgba\(0, 0, 0, 0\)/.exec(l)) return j.transparent; return j[b.trim(l).toLowerCase()]
    } function f(l, k) { var m; do { m = b.curCSS(l, k); if (m != "" && m != "transparent" || b.nodeName(l, "body")) break; k = "backgroundColor" } while (l = l.parentNode); return e(m) } function g() {
        var l = document.defaultView ? document.defaultView.getComputedStyle(this, null) : this.currentStyle,
k = {}, m, p; if (l && l.length && l[0] && l[l[0]]) for (var q = l.length; q--; ) { m = l[q]; if (typeof l[m] == "string") { p = m.replace(/\-(\w)/g, function (s, r) { return r.toUpperCase() }); k[p] = l[m] } } else for (m in l) if (typeof l[m] === "string") k[m] = l[m]; return k
    } function a(l) { var k, m; for (k in l) { m = l[k]; if (m == null || b.isFunction(m) || k in o || /scrollbar/.test(k) || !/color/i.test(k) && isNaN(parseFloat(m))) delete l[k] } return l } function c(l, k) { var m = { _: 0 }, p; for (p in k) if (l[p] != k[p]) m[p] = k[p]; return m } function h(l, k, m, p) {
        if (typeof l == "object") {
            p =
k; m = null; k = l; l = k.effect
        } if (b.isFunction(k)) { p = k; m = null; k = {} } if (typeof k == "number" || b.fx.speeds[k]) { p = m; m = k; k = {} } if (b.isFunction(m)) { p = m; m = null } k = k || {}; m = m || k.duration; m = b.fx.off ? 0 : typeof m == "number" ? m : m in b.fx.speeds ? b.fx.speeds[m] : b.fx.speeds._default; p = p || k.complete; return [l, k, m, p]
    } function i(l) { if (!l || typeof l === "number" || b.fx.speeds[l]) return true; if (typeof l === "string" && !b.effects[l]) return true; return false } b.effects = {}; b.each(["backgroundColor", "borderBottomColor", "borderLeftColor", "borderRightColor",
"borderTopColor", "borderColor", "color", "outlineColor"], function (l, k) { b.fx.step[k] = function (m) { if (!m.colorInit) { m.start = f(m.elem, k); m.end = e(m.end); m.colorInit = true } m.elem.style[k] = "rgb(" + Math.max(Math.min(parseInt(m.pos * (m.end[0] - m.start[0]) + m.start[0], 10), 255), 0) + "," + Math.max(Math.min(parseInt(m.pos * (m.end[1] - m.start[1]) + m.start[1], 10), 255), 0) + "," + Math.max(Math.min(parseInt(m.pos * (m.end[2] - m.start[2]) + m.start[2], 10), 255), 0) + ")" } }); var j = { aqua: [0, 255, 255], azure: [240, 255, 255], beige: [245, 245, 220], black: [0,
0, 0], blue: [0, 0, 255], brown: [165, 42, 42], cyan: [0, 255, 255], darkblue: [0, 0, 139], darkcyan: [0, 139, 139], darkgrey: [169, 169, 169], darkgreen: [0, 100, 0], darkkhaki: [189, 183, 107], darkmagenta: [139, 0, 139], darkolivegreen: [85, 107, 47], darkorange: [255, 140, 0], darkorchid: [153, 50, 204], darkred: [139, 0, 0], darksalmon: [233, 150, 122], darkviolet: [148, 0, 211], fuchsia: [255, 0, 255], gold: [255, 215, 0], green: [0, 128, 0], indigo: [75, 0, 130], khaki: [240, 230, 140], lightblue: [173, 216, 230], lightcyan: [224, 255, 255], lightgreen: [144, 238, 144], lightgrey: [211,
211, 211], lightpink: [255, 182, 193], lightyellow: [255, 255, 224], lime: [0, 255, 0], magenta: [255, 0, 255], maroon: [128, 0, 0], navy: [0, 0, 128], olive: [128, 128, 0], orange: [255, 165, 0], pink: [255, 192, 203], purple: [128, 0, 128], violet: [128, 0, 128], red: [255, 0, 0], silver: [192, 192, 192], white: [255, 255, 255], yellow: [255, 255, 0], transparent: [255, 255, 255]
}, n = ["add", "remove", "toggle"], o = { border: 1, borderBottom: 1, borderColor: 1, borderLeft: 1, borderRight: 1, borderTop: 1, borderWidth: 1, margin: 1, padding: 1 }; b.effects.animateClass = function (l, k, m,
p) {
    if (b.isFunction(m)) { p = m; m = null } return this.queue("fx", function () {
        var q = b(this), s = q.attr("style") || " ", r = a(g.call(this)), u, v = q.attr("className"); b.each(n, function (w, y) { l[y] && q[y + "Class"](l[y]) }); u = a(g.call(this)); q.attr("className", v); q.animate(c(r, u), k, m, function () { b.each(n, function (w, y) { l[y] && q[y + "Class"](l[y]) }); if (typeof q.attr("style") == "object") { q.attr("style").cssText = ""; q.attr("style").cssText = s } else q.attr("style", s); p && p.apply(this, arguments) }); r = b.queue(this); u = r.splice(r.length - 1, 1)[0];
        r.splice(1, 0, u); b.dequeue(this)
    })
}; b.fn.extend({ _addClass: b.fn.addClass, addClass: function (l, k, m, p) { return k ? b.effects.animateClass.apply(this, [{ add: l }, k, m, p]) : this._addClass(l) }, _removeClass: b.fn.removeClass, removeClass: function (l, k, m, p) { return k ? b.effects.animateClass.apply(this, [{ remove: l }, k, m, p]) : this._removeClass(l) }, _toggleClass: b.fn.toggleClass, toggleClass: function (l, k, m, p, q) {
    return typeof k == "boolean" || k === d ? m ? b.effects.animateClass.apply(this, [k ? { add: l} : { remove: l }, m, p, q]) : this._toggleClass(l,
k) : b.effects.animateClass.apply(this, [{ toggle: l }, k, m, p])
}, switchClass: function (l, k, m, p, q) { return b.effects.animateClass.apply(this, [{ add: k, remove: l }, m, p, q]) } 
}); b.extend(b.effects, { version: "1.8.12", save: function (l, k) { for (var m = 0; m < k.length; m++) k[m] !== null && l.data("ec.storage." + k[m], l[0].style[k[m]]) }, restore: function (l, k) { for (var m = 0; m < k.length; m++) k[m] !== null && l.css(k[m], l.data("ec.storage." + k[m])) }, setMode: function (l, k) { if (k == "toggle") k = l.is(":hidden") ? "show" : "hide"; return k }, getBaseline: function (l,
k) { var m; switch (l[0]) { case "top": m = 0; break; case "middle": m = 0.5; break; case "bottom": m = 1; break; default: m = l[0] / k.height } switch (l[1]) { case "left": l = 0; break; case "center": l = 0.5; break; case "right": l = 1; break; default: l = l[1] / k.width } return { x: l, y: m} }, createWrapper: function (l) {
    if (l.parent().is(".ui-effects-wrapper")) return l.parent(); var k = { width: l.outerWidth(true), height: l.outerHeight(true), "float": l.css("float") }, m = b("<div></div>").addClass("ui-effects-wrapper").css({ fontSize: "100%", background: "transparent",
        border: "none", margin: 0, padding: 0
    }); l.wrap(m); m = l.parent(); if (l.css("position") == "static") { m.css({ position: "relative" }); l.css({ position: "relative" }) } else { b.extend(k, { position: l.css("position"), zIndex: l.css("z-index") }); b.each(["top", "left", "bottom", "right"], function (p, q) { k[q] = l.css(q); if (isNaN(parseInt(k[q], 10))) k[q] = "auto" }); l.css({ position: "relative", top: 0, left: 0, right: "auto", bottom: "auto" }) } return m.css(k).show()
}, removeWrapper: function (l) {
    if (l.parent().is(".ui-effects-wrapper")) return l.parent().replaceWith(l);
    return l
}, setTransition: function (l, k, m, p) { p = p || {}; b.each(k, function (q, s) { unit = l.cssUnit(s); if (unit[0] > 0) p[s] = unit[0] * m + unit[1] }); return p } 
}); b.fn.extend({ effect: function (l) { var k = h.apply(this, arguments), m = { options: k[1], duration: k[2], callback: k[3] }; k = m.options.mode; var p = b.effects[l]; if (b.fx.off || !p) return k ? this[k](m.duration, m.callback) : this.each(function () { m.callback && m.callback.call(this) }); return p.call(this, m) }, _show: b.fn.show, show: function (l) {
    if (i(l)) return this._show.apply(this, arguments);
    else { var k = h.apply(this, arguments); k[1].mode = "show"; return this.effect.apply(this, k) } 
}, _hide: b.fn.hide, hide: function (l) { if (i(l)) return this._hide.apply(this, arguments); else { var k = h.apply(this, arguments); k[1].mode = "hide"; return this.effect.apply(this, k) } }, __toggle: b.fn.toggle, toggle: function (l) { if (i(l) || typeof l === "boolean" || b.isFunction(l)) return this.__toggle.apply(this, arguments); else { var k = h.apply(this, arguments); k[1].mode = "toggle"; return this.effect.apply(this, k) } }, cssUnit: function (l) {
    var k = this.css(l),
m = []; b.each(["em", "px", "%", "pt"], function (p, q) { if (k.indexOf(q) > 0) m = [parseFloat(k), q] }); return m
} 
}); b.easing.jswing = b.easing.swing; b.extend(b.easing, { def: "easeOutQuad", swing: function (l, k, m, p, q) { return b.easing[b.easing.def](l, k, m, p, q) }, easeInQuad: function (l, k, m, p, q) { return p * (k /= q) * k + m }, easeOutQuad: function (l, k, m, p, q) { return -p * (k /= q) * (k - 2) + m }, easeInOutQuad: function (l, k, m, p, q) { if ((k /= q / 2) < 1) return p / 2 * k * k + m; return -p / 2 * (--k * (k - 2) - 1) + m }, easeInCubic: function (l, k, m, p, q) { return p * (k /= q) * k * k + m }, easeOutCubic: function (l,
k, m, p, q) { return p * ((k = k / q - 1) * k * k + 1) + m }, easeInOutCubic: function (l, k, m, p, q) { if ((k /= q / 2) < 1) return p / 2 * k * k * k + m; return p / 2 * ((k -= 2) * k * k + 2) + m }, easeInQuart: function (l, k, m, p, q) { return p * (k /= q) * k * k * k + m }, easeOutQuart: function (l, k, m, p, q) { return -p * ((k = k / q - 1) * k * k * k - 1) + m }, easeInOutQuart: function (l, k, m, p, q) { if ((k /= q / 2) < 1) return p / 2 * k * k * k * k + m; return -p / 2 * ((k -= 2) * k * k * k - 2) + m }, easeInQuint: function (l, k, m, p, q) { return p * (k /= q) * k * k * k * k + m }, easeOutQuint: function (l, k, m, p, q) { return p * ((k = k / q - 1) * k * k * k * k + 1) + m }, easeInOutQuint: function (l,
k, m, p, q) { if ((k /= q / 2) < 1) return p / 2 * k * k * k * k * k + m; return p / 2 * ((k -= 2) * k * k * k * k + 2) + m }, easeInSine: function (l, k, m, p, q) { return -p * Math.cos(k / q * (Math.PI / 2)) + p + m }, easeOutSine: function (l, k, m, p, q) { return p * Math.sin(k / q * (Math.PI / 2)) + m }, easeInOutSine: function (l, k, m, p, q) { return -p / 2 * (Math.cos(Math.PI * k / q) - 1) + m }, easeInExpo: function (l, k, m, p, q) { return k == 0 ? m : p * Math.pow(2, 10 * (k / q - 1)) + m }, easeOutExpo: function (l, k, m, p, q) { return k == q ? m + p : p * (-Math.pow(2, -10 * k / q) + 1) + m }, easeInOutExpo: function (l, k, m, p, q) {
    if (k == 0) return m; if (k ==
q) return m + p; if ((k /= q / 2) < 1) return p / 2 * Math.pow(2, 10 * (k - 1)) + m; return p / 2 * (-Math.pow(2, -10 * --k) + 2) + m
}, easeInCirc: function (l, k, m, p, q) { return -p * (Math.sqrt(1 - (k /= q) * k) - 1) + m }, easeOutCirc: function (l, k, m, p, q) { return p * Math.sqrt(1 - (k = k / q - 1) * k) + m }, easeInOutCirc: function (l, k, m, p, q) { if ((k /= q / 2) < 1) return -p / 2 * (Math.sqrt(1 - k * k) - 1) + m; return p / 2 * (Math.sqrt(1 - (k -= 2) * k) + 1) + m }, easeInElastic: function (l, k, m, p, q) {
    l = 1.70158; var s = 0, r = p; if (k == 0) return m; if ((k /= q) == 1) return m + p; s || (s = q * 0.3); if (r < Math.abs(p)) { r = p; l = s / 4 } else l =
s / (2 * Math.PI) * Math.asin(p / r); return -(r * Math.pow(2, 10 * (k -= 1)) * Math.sin((k * q - l) * 2 * Math.PI / s)) + m
}, easeOutElastic: function (l, k, m, p, q) { l = 1.70158; var s = 0, r = p; if (k == 0) return m; if ((k /= q) == 1) return m + p; s || (s = q * 0.3); if (r < Math.abs(p)) { r = p; l = s / 4 } else l = s / (2 * Math.PI) * Math.asin(p / r); return r * Math.pow(2, -10 * k) * Math.sin((k * q - l) * 2 * Math.PI / s) + p + m }, easeInOutElastic: function (l, k, m, p, q) {
    l = 1.70158; var s = 0, r = p; if (k == 0) return m; if ((k /= q / 2) == 2) return m + p; s || (s = q * 0.3 * 1.5); if (r < Math.abs(p)) { r = p; l = s / 4 } else l = s / (2 * Math.PI) * Math.asin(p /
r); if (k < 1) return -0.5 * r * Math.pow(2, 10 * (k -= 1)) * Math.sin((k * q - l) * 2 * Math.PI / s) + m; return r * Math.pow(2, -10 * (k -= 1)) * Math.sin((k * q - l) * 2 * Math.PI / s) * 0.5 + p + m
}, easeInBack: function (l, k, m, p, q, s) { if (s == d) s = 1.70158; return p * (k /= q) * k * ((s + 1) * k - s) + m }, easeOutBack: function (l, k, m, p, q, s) { if (s == d) s = 1.70158; return p * ((k = k / q - 1) * k * ((s + 1) * k + s) + 1) + m }, easeInOutBack: function (l, k, m, p, q, s) { if (s == d) s = 1.70158; if ((k /= q / 2) < 1) return p / 2 * k * k * (((s *= 1.525) + 1) * k - s) + m; return p / 2 * ((k -= 2) * k * (((s *= 1.525) + 1) * k + s) + 2) + m }, easeInBounce: function (l,
k, m, p, q) { return p - b.easing.easeOutBounce(l, q - k, 0, p, q) + m }, easeOutBounce: function (l, k, m, p, q) { return (k /= q) < 1 / 2.75 ? p * 7.5625 * k * k + m : k < 2 / 2.75 ? p * (7.5625 * (k -= 1.5 / 2.75) * k + 0.75) + m : k < 2.5 / 2.75 ? p * (7.5625 * (k -= 2.25 / 2.75) * k + 0.9375) + m : p * (7.5625 * (k -= 2.625 / 2.75) * k + 0.984375) + m }, easeInOutBounce: function (l, k, m, p, q) { if (k < q / 2) return b.easing.easeInBounce(l, k * 2, 0, p, q) * 0.5 + m; return b.easing.easeOutBounce(l, k * 2 - q, 0, p, q) * 0.5 + p * 0.5 + m } 
})
} (jQuery);
(function (b) {
    b.effects.blind = function (d) {
        return this.queue(function () {
            var e = b(this), f = ["position", "top", "bottom", "left", "right"], g = b.effects.setMode(e, d.options.mode || "hide"), a = d.options.direction || "vertical"; b.effects.save(e, f); e.show(); var c = b.effects.createWrapper(e).css({ overflow: "hidden" }), h = a == "vertical" ? "height" : "width"; a = a == "vertical" ? c.height() : c.width(); g == "show" && c.css(h, 0); var i = {}; i[h] = g == "show" ? a : 0; c.animate(i, d.duration, d.options.easing, function () {
                g == "hide" && e.hide(); b.effects.restore(e,
f); b.effects.removeWrapper(e); d.callback && d.callback.apply(e[0], arguments); e.dequeue()
            })
        })
    } 
})(jQuery);
(function (b) {
    b.effects.bounce = function (d) {
        return this.queue(function () {
            var e = b(this), f = ["position", "top", "bottom", "left", "right"], g = b.effects.setMode(e, d.options.mode || "effect"), a = d.options.direction || "up", c = d.options.distance || 20, h = d.options.times || 5, i = d.duration || 250; /show|hide/.test(g) && f.push("opacity"); b.effects.save(e, f); e.show(); b.effects.createWrapper(e); var j = a == "up" || a == "down" ? "top" : "left"; a = a == "up" || a == "left" ? "pos" : "neg"; c = d.options.distance || (j == "top" ? e.outerHeight({ margin: true }) / 3 : e.outerWidth({ margin: true }) /
3); if (g == "show") e.css("opacity", 0).css(j, a == "pos" ? -c : c); if (g == "hide") c /= h * 2; g != "hide" && h--; if (g == "show") { var n = { opacity: 1 }; n[j] = (a == "pos" ? "+=" : "-=") + c; e.animate(n, i / 2, d.options.easing); c /= 2; h-- } for (n = 0; n < h; n++) { var o = {}, l = {}; o[j] = (a == "pos" ? "-=" : "+=") + c; l[j] = (a == "pos" ? "+=" : "-=") + c; e.animate(o, i / 2, d.options.easing).animate(l, i / 2, d.options.easing); c = g == "hide" ? c * 2 : c / 2 } if (g == "hide") {
                n = { opacity: 0 }; n[j] = (a == "pos" ? "-=" : "+=") + c; e.animate(n, i / 2, d.options.easing, function () {
                    e.hide(); b.effects.restore(e, f); b.effects.removeWrapper(e);
                    d.callback && d.callback.apply(this, arguments)
                })
            } else { o = {}; l = {}; o[j] = (a == "pos" ? "-=" : "+=") + c; l[j] = (a == "pos" ? "+=" : "-=") + c; e.animate(o, i / 2, d.options.easing).animate(l, i / 2, d.options.easing, function () { b.effects.restore(e, f); b.effects.removeWrapper(e); d.callback && d.callback.apply(this, arguments) }) } e.queue("fx", function () { e.dequeue() }); e.dequeue()
        })
    } 
})(jQuery);
(function (b) {
    b.effects.clip = function (d) {
        return this.queue(function () {
            var e = b(this), f = ["position", "top", "bottom", "left", "right", "height", "width"], g = b.effects.setMode(e, d.options.mode || "hide"), a = d.options.direction || "vertical"; b.effects.save(e, f); e.show(); var c = b.effects.createWrapper(e).css({ overflow: "hidden" }); c = e[0].tagName == "IMG" ? c : e; var h = { size: a == "vertical" ? "height" : "width", position: a == "vertical" ? "top" : "left" }; a = a == "vertical" ? c.height() : c.width(); if (g == "show") {
                c.css(h.size, 0); c.css(h.position,
a / 2)
            } var i = {}; i[h.size] = g == "show" ? a : 0; i[h.position] = g == "show" ? 0 : a / 2; c.animate(i, { queue: false, duration: d.duration, easing: d.options.easing, complete: function () { g == "hide" && e.hide(); b.effects.restore(e, f); b.effects.removeWrapper(e); d.callback && d.callback.apply(e[0], arguments); e.dequeue() } })
        })
    } 
})(jQuery);
(function (b) {
    b.effects.drop = function (d) {
        return this.queue(function () {
            var e = b(this), f = ["position", "top", "bottom", "left", "right", "opacity"], g = b.effects.setMode(e, d.options.mode || "hide"), a = d.options.direction || "left"; b.effects.save(e, f); e.show(); b.effects.createWrapper(e); var c = a == "up" || a == "down" ? "top" : "left"; a = a == "up" || a == "left" ? "pos" : "neg"; var h = d.options.distance || (c == "top" ? e.outerHeight({ margin: true }) / 2 : e.outerWidth({ margin: true }) / 2); if (g == "show") e.css("opacity", 0).css(c, a == "pos" ? -h : h); var i = { opacity: g ==
"show" ? 1 : 0
            }; i[c] = (g == "show" ? a == "pos" ? "+=" : "-=" : a == "pos" ? "-=" : "+=") + h; e.animate(i, { queue: false, duration: d.duration, easing: d.options.easing, complete: function () { g == "hide" && e.hide(); b.effects.restore(e, f); b.effects.removeWrapper(e); d.callback && d.callback.apply(this, arguments); e.dequeue() } })
        })
    } 
})(jQuery);
(function (b) {
    b.effects.explode = function (d) {
        return this.queue(function () {
            var e = d.options.pieces ? Math.round(Math.sqrt(d.options.pieces)) : 3, f = d.options.pieces ? Math.round(Math.sqrt(d.options.pieces)) : 3; d.options.mode = d.options.mode == "toggle" ? b(this).is(":visible") ? "hide" : "show" : d.options.mode; var g = b(this).show().css("visibility", "hidden"), a = g.offset(); a.top -= parseInt(g.css("marginTop"), 10) || 0; a.left -= parseInt(g.css("marginLeft"), 10) || 0; for (var c = g.outerWidth(true), h = g.outerHeight(true), i = 0; i < e; i++) for (var j =
0; j < f; j++) g.clone().appendTo("body").wrap("<div></div>").css({ position: "absolute", visibility: "visible", left: -j * (c / f), top: -i * (h / e) }).parent().addClass("ui-effects-explode").css({ position: "absolute", overflow: "hidden", width: c / f, height: h / e, left: a.left + j * (c / f) + (d.options.mode == "show" ? (j - Math.floor(f / 2)) * (c / f) : 0), top: a.top + i * (h / e) + (d.options.mode == "show" ? (i - Math.floor(e / 2)) * (h / e) : 0), opacity: d.options.mode == "show" ? 0 : 1 }).animate({ left: a.left + j * (c / f) + (d.options.mode == "show" ? 0 : (j - Math.floor(f / 2)) * (c / f)), top: a.top +
i * (h / e) + (d.options.mode == "show" ? 0 : (i - Math.floor(e / 2)) * (h / e)), opacity: d.options.mode == "show" ? 1 : 0
}, d.duration || 500); setTimeout(function () { d.options.mode == "show" ? g.css({ visibility: "visible" }) : g.css({ visibility: "visible" }).hide(); d.callback && d.callback.apply(g[0]); g.dequeue(); b("div.ui-effects-explode").remove() }, d.duration || 500)
        })
    } 
})(jQuery);
(function (b) { b.effects.fade = function (d) { return this.queue(function () { var e = b(this), f = b.effects.setMode(e, d.options.mode || "hide"); e.animate({ opacity: f }, { queue: false, duration: d.duration, easing: d.options.easing, complete: function () { d.callback && d.callback.apply(this, arguments); e.dequeue() } }) }) } })(jQuery);
(function (b) {
    b.effects.fold = function (d) {
        return this.queue(function () {
            var e = b(this), f = ["position", "top", "bottom", "left", "right"], g = b.effects.setMode(e, d.options.mode || "hide"), a = d.options.size || 15, c = !!d.options.horizFirst, h = d.duration ? d.duration / 2 : b.fx.speeds._default / 2; b.effects.save(e, f); e.show(); var i = b.effects.createWrapper(e).css({ overflow: "hidden" }), j = g == "show" != c, n = j ? ["width", "height"] : ["height", "width"]; j = j ? [i.width(), i.height()] : [i.height(), i.width()]; var o = /([0-9]+)%/.exec(a); if (o) a = parseInt(o[1],
10) / 100 * j[g == "hide" ? 0 : 1]; if (g == "show") i.css(c ? { height: 0, width: a} : { height: a, width: 0 }); c = {}; o = {}; c[n[0]] = g == "show" ? j[0] : a; o[n[1]] = g == "show" ? j[1] : 0; i.animate(c, h, d.options.easing).animate(o, h, d.options.easing, function () { g == "hide" && e.hide(); b.effects.restore(e, f); b.effects.removeWrapper(e); d.callback && d.callback.apply(e[0], arguments); e.dequeue() })
        })
    } 
})(jQuery);
(function (b) {
    b.effects.highlight = function (d) {
        return this.queue(function () {
            var e = b(this), f = ["backgroundImage", "backgroundColor", "opacity"], g = b.effects.setMode(e, d.options.mode || "show"), a = { backgroundColor: e.css("backgroundColor") }; if (g == "hide") a.opacity = 0; b.effects.save(e, f); e.show().css({ backgroundImage: "none", backgroundColor: d.options.color || "#ffff99" }).animate(a, { queue: false, duration: d.duration, easing: d.options.easing, complete: function () {
                g == "hide" && e.hide(); b.effects.restore(e, f); g == "show" && !b.support.opacity &&
this.style.removeAttribute("filter"); d.callback && d.callback.apply(this, arguments); e.dequeue()
            } 
            })
        })
    } 
})(jQuery);
(function (b) {
    b.effects.pulsate = function (d) {
        return this.queue(function () {
            var e = b(this), f = b.effects.setMode(e, d.options.mode || "show"); times = (d.options.times || 5) * 2 - 1; duration = d.duration ? d.duration / 2 : b.fx.speeds._default / 2; isVisible = e.is(":visible"); animateTo = 0; if (!isVisible) { e.css("opacity", 0).show(); animateTo = 1 } if (f == "hide" && isVisible || f == "show" && !isVisible) times--; for (f = 0; f < times; f++) { e.animate({ opacity: animateTo }, duration, d.options.easing); animateTo = (animateTo + 1) % 2 } e.animate({ opacity: animateTo }, duration,
d.options.easing, function () { animateTo == 0 && e.hide(); d.callback && d.callback.apply(this, arguments) }); e.queue("fx", function () { e.dequeue() }).dequeue()
        })
    } 
})(jQuery);
(function (b) {
    b.effects.puff = function (d) { return this.queue(function () { var e = b(this), f = b.effects.setMode(e, d.options.mode || "hide"), g = parseInt(d.options.percent, 10) || 150, a = g / 100, c = { height: e.height(), width: e.width() }; b.extend(d.options, { fade: true, mode: f, percent: f == "hide" ? g : 100, from: f == "hide" ? c : { height: c.height * a, width: c.width * a} }); e.effect("scale", d.options, d.duration, d.callback); e.dequeue() }) }; b.effects.scale = function (d) {
        return this.queue(function () {
            var e = b(this), f = b.extend(true, {}, d.options), g = b.effects.setMode(e,
d.options.mode || "effect"), a = parseInt(d.options.percent, 10) || (parseInt(d.options.percent, 10) == 0 ? 0 : g == "hide" ? 0 : 100), c = d.options.direction || "both", h = d.options.origin; if (g != "effect") { f.origin = h || ["middle", "center"]; f.restore = true } h = { height: e.height(), width: e.width() }; e.from = d.options.from || (g == "show" ? { height: 0, width: 0} : h); a = { y: c != "horizontal" ? a / 100 : 1, x: c != "vertical" ? a / 100 : 1 }; e.to = { height: h.height * a.y, width: h.width * a.x }; if (d.options.fade) {
                if (g == "show") { e.from.opacity = 0; e.to.opacity = 1 } if (g == "hide") {
                    e.from.opacity =
1; e.to.opacity = 0
                } 
            } f.from = e.from; f.to = e.to; f.mode = g; e.effect("size", f, d.duration, d.callback); e.dequeue()
        })
    }; b.effects.size = function (d) {
        return this.queue(function () {
            var e = b(this), f = ["position", "top", "bottom", "left", "right", "width", "height", "overflow", "opacity"], g = ["position", "top", "bottom", "left", "right", "overflow", "opacity"], a = ["width", "height", "overflow"], c = ["fontSize"], h = ["borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom"], i = ["borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight"],
j = b.effects.setMode(e, d.options.mode || "effect"), n = d.options.restore || false, o = d.options.scale || "both", l = d.options.origin, k = { height: e.height(), width: e.width() }; e.from = d.options.from || k; e.to = d.options.to || k; if (l) { l = b.effects.getBaseline(l, k); e.from.top = (k.height - e.from.height) * l.y; e.from.left = (k.width - e.from.width) * l.x; e.to.top = (k.height - e.to.height) * l.y; e.to.left = (k.width - e.to.width) * l.x } var m = { from: { y: e.from.height / k.height, x: e.from.width / k.width }, to: { y: e.to.height / k.height, x: e.to.width / k.width} };
            if (o == "box" || o == "both") { if (m.from.y != m.to.y) { f = f.concat(h); e.from = b.effects.setTransition(e, h, m.from.y, e.from); e.to = b.effects.setTransition(e, h, m.to.y, e.to) } if (m.from.x != m.to.x) { f = f.concat(i); e.from = b.effects.setTransition(e, i, m.from.x, e.from); e.to = b.effects.setTransition(e, i, m.to.x, e.to) } } if (o == "content" || o == "both") if (m.from.y != m.to.y) { f = f.concat(c); e.from = b.effects.setTransition(e, c, m.from.y, e.from); e.to = b.effects.setTransition(e, c, m.to.y, e.to) } b.effects.save(e, n ? f : g); e.show(); b.effects.createWrapper(e);
            e.css("overflow", "hidden").css(e.from); if (o == "content" || o == "both") {
                h = h.concat(["marginTop", "marginBottom"]).concat(c); i = i.concat(["marginLeft", "marginRight"]); a = f.concat(h).concat(i); e.find("*[width]").each(function () {
                    child = b(this); n && b.effects.save(child, a); var p = { height: child.height(), width: child.width() }; child.from = { height: p.height * m.from.y, width: p.width * m.from.x }; child.to = { height: p.height * m.to.y, width: p.width * m.to.x }; if (m.from.y != m.to.y) {
                        child.from = b.effects.setTransition(child, h, m.from.y, child.from);
                        child.to = b.effects.setTransition(child, h, m.to.y, child.to)
                    } if (m.from.x != m.to.x) { child.from = b.effects.setTransition(child, i, m.from.x, child.from); child.to = b.effects.setTransition(child, i, m.to.x, child.to) } child.css(child.from); child.animate(child.to, d.duration, d.options.easing, function () { n && b.effects.restore(child, a) })
                })
            } e.animate(e.to, { queue: false, duration: d.duration, easing: d.options.easing, complete: function () {
                e.to.opacity === 0 && e.css("opacity", e.from.opacity); j == "hide" && e.hide(); b.effects.restore(e,
n ? f : g); b.effects.removeWrapper(e); d.callback && d.callback.apply(this, arguments); e.dequeue()
            } 
            })
        })
    } 
})(jQuery);
(function (b) {
    b.effects.shake = function (d) {
        return this.queue(function () {
            var e = b(this), f = ["position", "top", "bottom", "left", "right"]; b.effects.setMode(e, d.options.mode || "effect"); var g = d.options.direction || "left", a = d.options.distance || 20, c = d.options.times || 3, h = d.duration || d.options.duration || 140; b.effects.save(e, f); e.show(); b.effects.createWrapper(e); var i = g == "up" || g == "down" ? "top" : "left", j = g == "up" || g == "left" ? "pos" : "neg"; g = {}; var n = {}, o = {}; g[i] = (j == "pos" ? "-=" : "+=") + a; n[i] = (j == "pos" ? "+=" : "-=") + a * 2; o[i] =
(j == "pos" ? "-=" : "+=") + a * 2; e.animate(g, h, d.options.easing); for (a = 1; a < c; a++) e.animate(n, h, d.options.easing).animate(o, h, d.options.easing); e.animate(n, h, d.options.easing).animate(g, h / 2, d.options.easing, function () { b.effects.restore(e, f); b.effects.removeWrapper(e); d.callback && d.callback.apply(this, arguments) }); e.queue("fx", function () { e.dequeue() }); e.dequeue()
        })
    } 
})(jQuery);
(function (b) {
    b.effects.slide = function (d) {
        return this.queue(function () {
            var e = b(this), f = ["position", "top", "bottom", "left", "right"], g = b.effects.setMode(e, d.options.mode || "show"), a = d.options.direction || "left"; b.effects.save(e, f); e.show(); b.effects.createWrapper(e).css({ overflow: "hidden" }); var c = a == "up" || a == "down" ? "top" : "left"; a = a == "up" || a == "left" ? "pos" : "neg"; var h = d.options.distance || (c == "top" ? e.outerHeight({ margin: true }) : e.outerWidth({ margin: true })); if (g == "show") e.css(c, a == "pos" ? isNaN(h) ? "-" + h : -h : h);
            var i = {}; i[c] = (g == "show" ? a == "pos" ? "+=" : "-=" : a == "pos" ? "-=" : "+=") + h; e.animate(i, { queue: false, duration: d.duration, easing: d.options.easing, complete: function () { g == "hide" && e.hide(); b.effects.restore(e, f); b.effects.removeWrapper(e); d.callback && d.callback.apply(this, arguments); e.dequeue() } })
        })
    } 
})(jQuery);
(function (b) {
    b.effects.transfer = function (d) {
        return this.queue(function () {
            var e = b(this), f = b(d.options.to), g = f.offset(); f = { top: g.top, left: g.left, height: f.innerHeight(), width: f.innerWidth() }; g = e.offset(); var a = b('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(d.options.className).css({ top: g.top, left: g.left, height: e.innerHeight(), width: e.innerWidth(), position: "absolute" }).animate(f, d.duration, d.options.easing, function () {
                a.remove(); d.callback && d.callback.apply(e[0], arguments);
                e.dequeue()
            })
        })
    } 
})(jQuery);
(function (b) {
    b.widget("ui.accordion", { options: { active: 0, animated: "slide", autoHeight: true, clearStyle: false, collapsible: false, event: "click", fillSpace: false, header: "> li > :first-child,> :not(li):even", icons: { header: "ui-icon-triangle-1-e", headerSelected: "ui-icon-triangle-1-s" }, navigation: false, navigationFilter: function () { return this.href.toLowerCase() === location.href.toLowerCase() } }, _create: function () {
        var d = this, e = d.options; d.running = 0; d.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix"); d.headers =
d.element.find(e.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion", function () { e.disabled || b(this).addClass("ui-state-hover") }).bind("mouseleave.accordion", function () { e.disabled || b(this).removeClass("ui-state-hover") }).bind("focus.accordion", function () { e.disabled || b(this).addClass("ui-state-focus") }).bind("blur.accordion", function () { e.disabled || b(this).removeClass("ui-state-focus") }); d.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");
        if (e.navigation) { var f = d.element.find("a").filter(e.navigationFilter).eq(0); if (f.length) { var g = f.closest(".ui-accordion-header"); d.active = g.length ? g : f.closest(".ui-accordion-content").prev() } } d.active = d._findActive(d.active || e.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top"); d.active.next().addClass("ui-accordion-content-active"); d._createIcons(); d.resize(); d.element.attr("role", "tablist"); d.headers.attr("role", "tab").bind("keydown.accordion",
function (a) { return d._keydown(a) }).next().attr("role", "tabpanel"); d.headers.not(d.active || "").attr({ "aria-expanded": "false", "aria-selected": "false", tabIndex: -1 }).next().hide(); d.active.length ? d.active.attr({ "aria-expanded": "true", "aria-selected": "true", tabIndex: 0 }) : d.headers.eq(0).attr("tabIndex", 0); b.browser.safari || d.headers.find("a").attr("tabIndex", -1); e.event && d.headers.bind(e.event.split(" ").join(".accordion ") + ".accordion", function (a) { d._clickHandler.call(d, a, this); a.preventDefault() })
    }, _createIcons: function () {
        var d =
this.options; if (d.icons) { b("<span></span>").addClass("ui-icon " + d.icons.header).prependTo(this.headers); this.active.children(".ui-icon").toggleClass(d.icons.header).toggleClass(d.icons.headerSelected); this.element.addClass("ui-accordion-icons") } 
    }, _destroyIcons: function () { this.headers.children(".ui-icon").remove(); this.element.removeClass("ui-accordion-icons") }, destroy: function () {
        var d = this.options; this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"); this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("tabIndex");
        this.headers.find("a").removeAttr("tabIndex"); this._destroyIcons(); var e = this.headers.next().css("display", "").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled"); if (d.autoHeight || d.fillHeight) e.css("height", ""); return b.Widget.prototype.destroy.call(this)
    }, _setOption: function (d, e) {
        b.Widget.prototype._setOption.apply(this, arguments); d == "active" && this.activate(e); if (d == "icons") {
            this._destroyIcons();
            e && this._createIcons()
        } if (d == "disabled") this.headers.add(this.headers.next())[e ? "addClass" : "removeClass"]("ui-accordion-disabled ui-state-disabled")
    }, _keydown: function (d) {
        if (!(this.options.disabled || d.altKey || d.ctrlKey)) {
            var e = b.ui.keyCode, f = this.headers.length, g = this.headers.index(d.target), a = false; switch (d.keyCode) {
                case e.RIGHT: case e.DOWN: a = this.headers[(g + 1) % f]; break; case e.LEFT: case e.UP: a = this.headers[(g - 1 + f) % f]; break; case e.SPACE: case e.ENTER: this._clickHandler({ target: d.target }, d.target);
                    d.preventDefault()
            } if (a) { b(d.target).attr("tabIndex", -1); b(a).attr("tabIndex", 0); a.focus(); return false } return true
        } 
    }, resize: function () {
        var d = this.options, e; if (d.fillSpace) {
            if (b.browser.msie) { var f = this.element.parent().css("overflow"); this.element.parent().css("overflow", "hidden") } e = this.element.parent().height(); b.browser.msie && this.element.parent().css("overflow", f); this.headers.each(function () { e -= b(this).outerHeight(true) }); this.headers.next().each(function () {
                b(this).height(Math.max(0, e - b(this).innerHeight() +
b(this).height()))
            }).css("overflow", "auto")
        } else if (d.autoHeight) { e = 0; this.headers.next().each(function () { e = Math.max(e, b(this).height("").height()) }).height(e) } return this
    }, activate: function (d) { this.options.active = d; d = this._findActive(d)[0]; this._clickHandler({ target: d }, d); return this }, _findActive: function (d) { return d ? typeof d === "number" ? this.headers.filter(":eq(" + d + ")") : this.headers.not(this.headers.not(d)) : d === false ? b([]) : this.headers.filter(":eq(0)") }, _clickHandler: function (d, e) {
        var f = this.options;
        if (!f.disabled) if (d.target) {
            d = b(d.currentTarget || e); e = d[0] === this.active[0]; f.active = f.collapsible && e ? false : this.headers.index(d); if (!(this.running || !f.collapsible && e)) {
                var g = this.active; i = d.next(); c = this.active.next(); h = { options: f, newHeader: e && f.collapsible ? b([]) : d, oldHeader: this.active, newContent: e && f.collapsible ? b([]) : i, oldContent: c }; var a = this.headers.index(this.active[0]) > this.headers.index(d[0]); this.active = e ? b([]) : d; this._toggle(i, c, h, e, a); g.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(f.icons.headerSelected).addClass(f.icons.header);
                if (!e) { d.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(f.icons.header).addClass(f.icons.headerSelected); d.next().addClass("ui-accordion-content-active") } 
            } 
        } else if (f.collapsible) {
            this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(f.icons.headerSelected).addClass(f.icons.header); this.active.next().addClass("ui-accordion-content-active"); var c = this.active.next(),
h = { options: f, newHeader: b([]), oldHeader: f.active, newContent: b([]), oldContent: c }, i = this.active = b([]); this._toggle(i, c, h)
        } 
    }, _toggle: function (d, e, f, g, a) {
        var c = this, h = c.options; c.toShow = d; c.toHide = e; c.data = f; var i = function () { if (c) return c._completed.apply(c, arguments) }; c._trigger("changestart", null, c.data); c.running = e.size() === 0 ? d.size() : e.size(); if (h.animated) {
            f = {}; f = h.collapsible && g ? { toShow: b([]), toHide: e, complete: i, down: a, autoHeight: h.autoHeight || h.fillSpace} : { toShow: d, toHide: e, complete: i, down: a, autoHeight: h.autoHeight ||
h.fillSpace
            }; if (!h.proxied) h.proxied = h.animated; if (!h.proxiedDuration) h.proxiedDuration = h.duration; h.animated = b.isFunction(h.proxied) ? h.proxied(f) : h.proxied; h.duration = b.isFunction(h.proxiedDuration) ? h.proxiedDuration(f) : h.proxiedDuration; g = b.ui.accordion.animations; var j = h.duration, n = h.animated; if (n && !g[n] && !b.easing[n]) n = "slide"; g[n] || (g[n] = function (o) { this.slide(o, { easing: n, duration: j || 700 }) }); g[n](f)
        } else { if (h.collapsible && g) d.toggle(); else { e.hide(); d.show() } i(true) } e.prev().attr({ "aria-expanded": "false",
            "aria-selected": "false", tabIndex: -1
        }).blur(); d.prev().attr({ "aria-expanded": "true", "aria-selected": "true", tabIndex: 0 }).focus()
    }, _completed: function (d) { this.running = d ? 0 : --this.running; if (!this.running) { this.options.clearStyle && this.toShow.add(this.toHide).css({ height: "", overflow: "" }); this.toHide.removeClass("ui-accordion-content-active"); if (this.toHide.length) this.toHide.parent()[0].className = this.toHide.parent()[0].className; this._trigger("change", null, this.data) } } 
    }); b.extend(b.ui.accordion, { version: "1.8.12",
        animations: { slide: function (d, e) {
            d = b.extend({ easing: "swing", duration: 300 }, d, e); if (d.toHide.size()) if (d.toShow.size()) {
                var f = d.toShow.css("overflow"), g = 0, a = {}, c = {}, h; e = d.toShow; h = e[0].style.width; e.width(parseInt(e.parent().width(), 10) - parseInt(e.css("paddingLeft"), 10) - parseInt(e.css("paddingRight"), 10) - (parseInt(e.css("borderLeftWidth"), 10) || 0) - (parseInt(e.css("borderRightWidth"), 10) || 0)); b.each(["height", "paddingTop", "paddingBottom"], function (i, j) {
                    c[j] = "hide"; i = ("" + b.css(d.toShow[0], j)).match(/^([\d+-.]+)(.*)$/);
                    a[j] = { value: i[1], unit: i[2] || "px"}
                }); d.toShow.css({ height: 0, overflow: "hidden" }).show(); d.toHide.filter(":hidden").each(d.complete).end().filter(":visible").animate(c, { step: function (i, j) { if (j.prop == "height") g = j.end - j.start === 0 ? 0 : (j.now - j.start) / (j.end - j.start); d.toShow[0].style[j.prop] = g * a[j.prop].value + a[j.prop].unit }, duration: d.duration, easing: d.easing, complete: function () { d.autoHeight || d.toShow.css("height", ""); d.toShow.css({ width: h, overflow: f }); d.complete() } })
            } else d.toHide.animate({ height: "hide",
                paddingTop: "hide", paddingBottom: "hide"
            }, d); else d.toShow.animate({ height: "show", paddingTop: "show", paddingBottom: "show" }, d)
        }, bounceslide: function (d) { this.slide(d, { easing: d.down ? "easeOutBounce" : "swing", duration: d.down ? 1E3 : 200 }) } 
        }
    })
})(jQuery);
(function (b) {
    var d = 0; b.widget("ui.autocomplete", { options: { appendTo: "body", autoFocus: false, delay: 300, minLength: 1, position: { my: "left top", at: "left bottom", collision: "none" }, source: null }, pending: 0, _create: function () {
        var e = this, f = this.element[0].ownerDocument, g; this.element.addClass("ui-autocomplete-input").attr("autocomplete", "off").attr({ role: "textbox", "aria-autocomplete": "list", "aria-haspopup": "true" }).bind("keydown.autocomplete", function (a) {
            if (!(e.options.disabled || e.element.attr("readonly"))) {
                g =
false; var c = b.ui.keyCode; switch (a.keyCode) {
                    case c.PAGE_UP: e._move("previousPage", a); break; case c.PAGE_DOWN: e._move("nextPage", a); break; case c.UP: e._move("previous", a); a.preventDefault(); break; case c.DOWN: e._move("next", a); a.preventDefault(); break; case c.ENTER: case c.NUMPAD_ENTER: if (e.menu.active) { g = true; a.preventDefault() } case c.TAB: if (!e.menu.active) return; e.menu.select(a); break; case c.ESCAPE: e.element.val(e.term); e.close(a); break; default: clearTimeout(e.searching); e.searching = setTimeout(function () {
                        if (e.term !=
e.element.val()) { e.selectedItem = null; e.search(null, a) } 
                    }, e.options.delay); break
                } 
            } 
        }).bind("keypress.autocomplete", function (a) { if (g) { g = false; a.preventDefault() } }).bind("focus.autocomplete", function () { if (!e.options.disabled) { e.selectedItem = null; e.previous = e.element.val() } }).bind("blur.autocomplete", function (a) { if (!e.options.disabled) { clearTimeout(e.searching); e.closing = setTimeout(function () { e.close(a); e._change(a) }, 150) } }); this._initSource(); this.response = function () { return e._response.apply(e, arguments) };
        this.menu = b("<ul></ul>").addClass("ui-autocomplete").appendTo(b(this.options.appendTo || "body", f)[0]).mousedown(function (a) { var c = e.menu.element[0]; b(a.target).closest(".ui-menu-item").length || setTimeout(function () { b(document).one("mousedown", function (h) { h.target !== e.element[0] && h.target !== c && !b.ui.contains(c, h.target) && e.close() }) }, 1); setTimeout(function () { clearTimeout(e.closing) }, 13) }).menu({ focus: function (a, c) {
            c = c.item.data("item.autocomplete"); false !== e._trigger("focus", a, { item: c }) && /^key/.test(a.originalEvent.type) &&
e.element.val(c.value)
        }, selected: function (a, c) { var h = c.item.data("item.autocomplete"), i = e.previous; if (e.element[0] !== f.activeElement) { e.element.focus(); e.previous = i; setTimeout(function () { e.previous = i; e.selectedItem = h }, 1) } false !== e._trigger("select", a, { item: h }) && e.element.val(h.value); e.term = e.element.val(); e.close(a); e.selectedItem = h }, blur: function () { e.menu.element.is(":visible") && e.element.val() !== e.term && e.element.val(e.term) } 
        }).zIndex(this.element.zIndex() + 1).css({ top: 0, left: 0 }).hide().data("menu");
        b.fn.bgiframe && this.menu.element.bgiframe()
    }, destroy: function () { this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup"); this.menu.element.remove(); b.Widget.prototype.destroy.call(this) }, _setOption: function (e, f) {
        b.Widget.prototype._setOption.apply(this, arguments); e === "source" && this._initSource(); if (e === "appendTo") this.menu.element.appendTo(b(f || "body", this.element[0].ownerDocument)[0]); e === "disabled" &&
f && this.xhr && this.xhr.abort()
    }, _initSource: function () {
        var e = this, f, g; if (b.isArray(this.options.source)) { f = this.options.source; this.source = function (a, c) { c(b.ui.autocomplete.filter(f, a.term)) } } else if (typeof this.options.source === "string") { g = this.options.source; this.source = function (a, c) { e.xhr && e.xhr.abort(); e.xhr = b.ajax({ url: g, data: a, dataType: "json", autocompleteRequest: ++d, success: function (h) { this.autocompleteRequest === d && c(h) }, error: function () { this.autocompleteRequest === d && c([]) } }) } } else this.source =
this.options.source
    }, search: function (e, f) { e = e != null ? e : this.element.val(); this.term = this.element.val(); if (e.length < this.options.minLength) return this.close(f); clearTimeout(this.closing); if (this._trigger("search", f) !== false) return this._search(e) }, _search: function (e) { this.pending++; this.element.addClass("ui-autocomplete-loading"); this.source({ term: e }, this.response) }, _response: function (e) {
        if (!this.options.disabled && e && e.length) { e = this._normalize(e); this._suggest(e); this._trigger("open") } else this.close();
        this.pending--; this.pending || this.element.removeClass("ui-autocomplete-loading")
    }, close: function (e) { clearTimeout(this.closing); if (this.menu.element.is(":visible")) { this.menu.element.hide(); this.menu.deactivate(); this._trigger("close", e) } }, _change: function (e) { this.previous !== this.element.val() && this._trigger("change", e, { item: this.selectedItem }) }, _normalize: function (e) {
        if (e.length && e[0].label && e[0].value) return e; return b.map(e, function (f) {
            if (typeof f === "string") return { label: f, value: f }; return b.extend({ label: f.label ||
f.value, value: f.value || f.label
            }, f)
        })
    }, _suggest: function (e) { var f = this.menu.element.empty().zIndex(this.element.zIndex() + 1); this._renderMenu(f, e); this.menu.deactivate(); this.menu.refresh(); f.show(); this._resizeMenu(); f.position(b.extend({ of: this.element }, this.options.position)); this.options.autoFocus && this.menu.next(new b.Event("mouseover")) }, _resizeMenu: function () { var e = this.menu.element; e.outerWidth(Math.max(e.width("").outerWidth(), this.element.outerWidth())) }, _renderMenu: function (e, f) {
        var g = this;
        b.each(f, function (a, c) { g._renderItem(e, c) })
    }, _renderItem: function (e, f) { return b("<li></li>").data("item.autocomplete", f).append(b("<a></a>").text(f.label)).appendTo(e) }, _move: function (e, f) { if (this.menu.element.is(":visible")) if (this.menu.first() && /^previous/.test(e) || this.menu.last() && /^next/.test(e)) { this.element.val(this.term); this.menu.deactivate() } else this.menu[e](f); else this.search(null, f) }, widget: function () { return this.menu.element } 
    }); b.extend(b.ui.autocomplete, { escapeRegex: function (e) {
        return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,
"\\$&")
    }, filter: function (e, f) { var g = new RegExp(b.ui.autocomplete.escapeRegex(f), "i"); return b.grep(e, function (a) { return g.test(a.label || a.value || a) }) } 
    })
})(jQuery);
(function (b) {
    b.widget("ui.menu", { _create: function () { var d = this; this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({ role: "listbox", "aria-activedescendant": "ui-active-menuitem" }).click(function (e) { if (b(e.target).closest(".ui-menu-item a").length) { e.preventDefault(); d.select(e) } }); this.refresh() }, refresh: function () {
        var d = this; this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role", "menuitem").children("a").addClass("ui-corner-all").attr("tabindex",
-1).mouseenter(function (e) { d.activate(e, b(this).parent()) }).mouseleave(function () { d.deactivate() })
    }, activate: function (d, e) { this.deactivate(); if (this.hasScroll()) { var f = e.offset().top - this.element.offset().top, g = this.element.attr("scrollTop"), a = this.element.height(); if (f < 0) this.element.attr("scrollTop", g + f); else f >= a && this.element.attr("scrollTop", g + f - a + e.height()) } this.active = e.eq(0).children("a").addClass("ui-state-hover").attr("id", "ui-active-menuitem").end(); this._trigger("focus", d, { item: e }) },
        deactivate: function () { if (this.active) { this.active.children("a").removeClass("ui-state-hover").removeAttr("id"); this._trigger("blur"); this.active = null } }, next: function (d) { this.move("next", ".ui-menu-item:first", d) }, previous: function (d) { this.move("prev", ".ui-menu-item:last", d) }, first: function () { return this.active && !this.active.prevAll(".ui-menu-item").length }, last: function () { return this.active && !this.active.nextAll(".ui-menu-item").length }, move: function (d, e, f) {
            if (this.active) {
                d = this.active[d + "All"](".ui-menu-item").eq(0);
                d.length ? this.activate(f, d) : this.activate(f, this.element.children(e))
            } else this.activate(f, this.element.children(e))
        }, nextPage: function (d) {
            if (this.hasScroll()) if (!this.active || this.last()) this.activate(d, this.element.children(".ui-menu-item:first")); else {
                var e = this.active.offset().top, f = this.element.height(), g = this.element.children(".ui-menu-item").filter(function () { var a = b(this).offset().top - e - f + b(this).height(); return a < 10 && a > -10 }); g.length || (g = this.element.children(".ui-menu-item:last")); this.activate(d,
g)
            } else this.activate(d, this.element.children(".ui-menu-item").filter(!this.active || this.last() ? ":first" : ":last"))
        }, previousPage: function (d) {
            if (this.hasScroll()) if (!this.active || this.first()) this.activate(d, this.element.children(".ui-menu-item:last")); else {
                var e = this.active.offset().top, f = this.element.height(); result = this.element.children(".ui-menu-item").filter(function () { var g = b(this).offset().top - e + f - b(this).height(); return g < 10 && g > -10 }); result.length || (result = this.element.children(".ui-menu-item:first"));
                this.activate(d, result)
            } else this.activate(d, this.element.children(".ui-menu-item").filter(!this.active || this.first() ? ":last" : ":first"))
        }, hasScroll: function () { return this.element.height() < this.element.attr("scrollHeight") }, select: function (d) { this._trigger("selected", d, { item: this.active }) } 
    })
})(jQuery);
(function (b) {
    var d, e = function (g) { b(":ui-button", g.target.form).each(function () { var a = b(this).data("button"); setTimeout(function () { a.refresh() }, 1) }) }, f = function (g) { var a = g.name, c = g.form, h = b([]); if (a) h = c ? b(c).find("[name='" + a + "']") : b("[name='" + a + "']", g.ownerDocument).filter(function () { return !this.form }); return h }; b.widget("ui.button", { options: { disabled: null, text: true, label: null, icons: { primary: null, secondary: null} }, _create: function () {
        this.element.closest("form").unbind("reset.button").bind("reset.button",
e); if (typeof this.options.disabled !== "boolean") this.options.disabled = this.element.attr("disabled"); this._determineButtonType(); this.hasTitle = !!this.buttonElement.attr("title"); var g = this, a = this.options, c = this.type === "checkbox" || this.type === "radio", h = "ui-state-hover" + (!c ? " ui-state-active" : ""); if (a.label === null) a.label = this.buttonElement.html(); if (this.element.is(":disabled")) a.disabled = true; this.buttonElement.addClass("ui-button ui-widget ui-state-default ui-corner-all").attr("role", "button").bind("mouseenter.button",
function () { if (!a.disabled) { b(this).addClass("ui-state-hover"); this === d && b(this).addClass("ui-state-active") } }).bind("mouseleave.button", function () { a.disabled || b(this).removeClass(h) }).bind("focus.button", function () { b(this).addClass("ui-state-focus") }).bind("blur.button", function () { b(this).removeClass("ui-state-focus") }); c && this.element.bind("change.button", function () { g.refresh() }); if (this.type === "checkbox") this.buttonElement.bind("click.button", function () {
    if (a.disabled) return false; b(this).toggleClass("ui-state-active");
    g.buttonElement.attr("aria-pressed", g.element[0].checked)
}); else if (this.type === "radio") this.buttonElement.bind("click.button", function () { if (a.disabled) return false; b(this).addClass("ui-state-active"); g.buttonElement.attr("aria-pressed", true); var i = g.element[0]; f(i).not(i).map(function () { return b(this).button("widget")[0] }).removeClass("ui-state-active").attr("aria-pressed", false) }); else {
            this.buttonElement.bind("mousedown.button", function () {
                if (a.disabled) return false; b(this).addClass("ui-state-active");
                d = this; b(document).one("mouseup", function () { d = null })
            }).bind("mouseup.button", function () { if (a.disabled) return false; b(this).removeClass("ui-state-active") }).bind("keydown.button", function (i) { if (a.disabled) return false; if (i.keyCode == b.ui.keyCode.SPACE || i.keyCode == b.ui.keyCode.ENTER) b(this).addClass("ui-state-active") }).bind("keyup.button", function () { b(this).removeClass("ui-state-active") }); this.buttonElement.is("a") && this.buttonElement.keyup(function (i) { i.keyCode === b.ui.keyCode.SPACE && b(this).click() })
        } this._setOption("disabled",
a.disabled)
    }, _determineButtonType: function () {
        this.type = this.element.is(":checkbox") ? "checkbox" : this.element.is(":radio") ? "radio" : this.element.is("input") ? "input" : "button"; if (this.type === "checkbox" || this.type === "radio") {
            var g = this.element.parents().filter(":last"), a = "label[for=" + this.element.attr("id") + "]"; this.buttonElement = g.find(a); if (!this.buttonElement.length) { g = g.length ? g.siblings() : this.element.siblings(); this.buttonElement = g.filter(a); if (!this.buttonElement.length) this.buttonElement = g.find(a) } this.element.addClass("ui-helper-hidden-accessible");
            (g = this.element.is(":checked")) && this.buttonElement.addClass("ui-state-active"); this.buttonElement.attr("aria-pressed", g)
        } else this.buttonElement = this.element
    }, widget: function () { return this.buttonElement }, destroy: function () {
        this.element.removeClass("ui-helper-hidden-accessible"); this.buttonElement.removeClass("ui-button ui-widget ui-state-default ui-corner-all ui-state-hover ui-state-active  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").removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html());
        this.hasTitle || this.buttonElement.removeAttr("title"); b.Widget.prototype.destroy.call(this)
    }, _setOption: function (g, a) { b.Widget.prototype._setOption.apply(this, arguments); if (g === "disabled") a ? this.element.attr("disabled", true) : this.element.removeAttr("disabled"); this._resetButton() }, refresh: function () {
        var g = this.element.is(":disabled"); g !== this.options.disabled && this._setOption("disabled", g); if (this.type === "radio") f(this.element[0]).each(function () {
            b(this).is(":checked") ? b(this).button("widget").addClass("ui-state-active").attr("aria-pressed",
true) : b(this).button("widget").removeClass("ui-state-active").attr("aria-pressed", false)
        }); else if (this.type === "checkbox") this.element.is(":checked") ? this.buttonElement.addClass("ui-state-active").attr("aria-pressed", true) : this.buttonElement.removeClass("ui-state-active").attr("aria-pressed", false)
    }, _resetButton: function () {
        if (this.type === "input") this.options.label && this.element.val(this.options.label); else {
            var g = this.buttonElement.removeClass("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"),
a = b("<span></span>").addClass("ui-button-text").html(this.options.label).appendTo(g.empty()).text(), c = this.options.icons, h = c.primary && c.secondary, i = []; if (c.primary || c.secondary) {
                if (this.options.text) i.push("ui-button-text-icon" + (h ? "s" : c.primary ? "-primary" : "-secondary")); c.primary && g.prepend("<span class='ui-button-icon-primary ui-icon " + c.primary + "'></span>"); c.secondary && g.append("<span class='ui-button-icon-secondary ui-icon " + c.secondary + "'></span>"); if (!this.options.text) {
                    i.push(h ? "ui-button-icons-only" :
"ui-button-icon-only"); this.hasTitle || g.attr("title", a)
                } 
            } else i.push("ui-button-text-only"); g.addClass(i.join(" "))
        } 
    } 
    }); b.widget("ui.buttonset", { options: { items: ":button, :submit, :reset, :checkbox, :radio, a, :data(button)" }, _create: function () { this.element.addClass("ui-buttonset") }, _init: function () { this.refresh() }, _setOption: function (g, a) { g === "disabled" && this.buttons.button("option", g, a); b.Widget.prototype._setOption.apply(this, arguments) }, refresh: function () { this.buttons = this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function () { return b(this).button("widget")[0] }).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass("ui-corner-left").end().filter(":last").addClass("ui-corner-right").end().end() },
        destroy: function () { this.element.removeClass("ui-buttonset"); this.buttons.map(function () { return b(this).button("widget")[0] }).removeClass("ui-corner-left ui-corner-right").end().button("destroy"); b.Widget.prototype.destroy.call(this) } 
    })
})(jQuery);
(function (b, d) {
    function e() {
        this.debug = false; this._curInst = null; this._keyEvent = false; this._disabledInputs = []; this._inDialog = this._datepickerShowing = false; this._mainDivId = "ui-datepicker-div"; this._inlineClass = "ui-datepicker-inline"; this._appendClass = "ui-datepicker-append"; this._triggerClass = "ui-datepicker-trigger"; this._dialogClass = "ui-datepicker-dialog"; this._disableClass = "ui-datepicker-disabled"; this._unselectableClass = "ui-datepicker-unselectable"; this._currentClass = "ui-datepicker-current-day"; this._dayOverClass =
"ui-datepicker-days-cell-over"; this.regional = []; this.regional[""] = { closeText: "Done", prevText: "Prev", nextText: "Next", currentText: "Today", monthNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], dayNamesMin: ["Su",
"Mo", "Tu", "We", "Th", "Fr", "Sa"], weekHeader: "Wk", dateFormat: "mm/dd/yy", firstDay: 0, isRTL: false, showMonthAfterYear: false, yearSuffix: ""
}; this._defaults = { showOn: "focus", showAnim: "fadeIn", showOptions: {}, defaultDate: null, appendText: "", buttonText: "...", buttonImage: "", buttonImageOnly: false, hideIfNoPrevNext: false, navigationAsDateFormat: false, gotoCurrent: false, changeMonth: false, changeYear: false, yearRange: "c-10:c+10", showOtherMonths: false, selectOtherMonths: false, showWeek: false, calculateWeek: this.iso8601Week, shortYearCutoff: "+10",
    minDate: null, maxDate: null, duration: "fast", beforeShowDay: null, beforeShow: null, onSelect: null, onChangeMonthYear: null, onClose: null, numberOfMonths: 1, showCurrentAtPos: 0, stepMonths: 1, stepBigMonths: 12, altField: "", altFormat: "", constrainInput: true, showButtonPanel: false, autoSize: false
}; b.extend(this._defaults, this.regional[""]); this.dpDiv = b('<div id="' + this._mainDivId + '" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')
    } function f(a, c) {
        b.extend(a, c); for (var h in c) if (c[h] ==
null || c[h] == d) a[h] = c[h]; return a
    } b.extend(b.ui, { datepicker: { version: "1.8.12"} }); var g = (new Date).getTime(); b.extend(e.prototype, { markerClassName: "hasDatepicker", log: function () { this.debug && console.log.apply("", arguments) }, _widgetDatepicker: function () { return this.dpDiv }, setDefaults: function (a) { f(this._defaults, a || {}); return this }, _attachDatepicker: function (a, c) {
        var h = null; for (var i in this._defaults) { var j = a.getAttribute("date:" + i); if (j) { h = h || {}; try { h[i] = eval(j) } catch (n) { h[i] = j } } } i = a.nodeName.toLowerCase();
        j = i == "div" || i == "span"; if (!a.id) { this.uuid += 1; a.id = "dp" + this.uuid } var o = this._newInst(b(a), j); o.settings = b.extend({}, c || {}, h || {}); if (i == "input") this._connectDatepicker(a, o); else j && this._inlineDatepicker(a, o)
    }, _newInst: function (a, c) { return { id: a[0].id.replace(/([^A-Za-z0-9_-])/g, "\\\\$1"), input: a, selectedDay: 0, selectedMonth: 0, selectedYear: 0, drawMonth: 0, drawYear: 0, inline: c, dpDiv: !c ? this.dpDiv : b('<div class="' + this._inlineClass + ' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')} },
        _connectDatepicker: function (a, c) { var h = b(a); c.append = b([]); c.trigger = b([]); if (!h.hasClass(this.markerClassName)) { this._attachments(h, c); h.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker", function (i, j, n) { c.settings[j] = n }).bind("getData.datepicker", function (i, j) { return this._get(c, j) }); this._autoSize(c); b.data(a, "datepicker", c) } }, _attachments: function (a, c) {
            var h = this._get(c, "appendText"), i = this._get(c, "isRTL"); c.append &&
c.append.remove(); if (h) { c.append = b('<span class="' + this._appendClass + '">' + h + "</span>"); a[i ? "before" : "after"](c.append) } a.unbind("focus", this._showDatepicker); c.trigger && c.trigger.remove(); h = this._get(c, "showOn"); if (h == "focus" || h == "both") a.focus(this._showDatepicker); if (h == "button" || h == "both") {
                h = this._get(c, "buttonText"); var j = this._get(c, "buttonImage"); c.trigger = b(this._get(c, "buttonImageOnly") ? b("<img/>").addClass(this._triggerClass).attr({ src: j, alt: h, title: h }) : b('<button type="button"></button>').addClass(this._triggerClass).html(j ==
"" ? h : b("<img/>").attr({ src: j, alt: h, title: h }))); a[i ? "before" : "after"](c.trigger); c.trigger.click(function () { b.datepicker._datepickerShowing && b.datepicker._lastInput == a[0] ? b.datepicker._hideDatepicker() : b.datepicker._showDatepicker(a[0]); return false })
            } 
        }, _autoSize: function (a) {
            if (this._get(a, "autoSize") && !a.inline) {
                var c = new Date(2009, 11, 20), h = this._get(a, "dateFormat"); if (h.match(/[DM]/)) {
                    var i = function (j) { for (var n = 0, o = 0, l = 0; l < j.length; l++) if (j[l].length > n) { n = j[l].length; o = l } return o }; c.setMonth(i(this._get(a,
h.match(/MM/) ? "monthNames" : "monthNamesShort"))); c.setDate(i(this._get(a, h.match(/DD/) ? "dayNames" : "dayNamesShort")) + 20 - c.getDay())
                } a.input.attr("size", this._formatDate(a, c).length)
            } 
        }, _inlineDatepicker: function (a, c) {
            var h = b(a); if (!h.hasClass(this.markerClassName)) {
                h.addClass(this.markerClassName).append(c.dpDiv).bind("setData.datepicker", function (i, j, n) { c.settings[j] = n }).bind("getData.datepicker", function (i, j) { return this._get(c, j) }); b.data(a, "datepicker", c); this._setDate(c, this._getDefaultDate(c),
true); this._updateDatepicker(c); this._updateAlternate(c); c.dpDiv.show()
            } 
        }, _dialogDatepicker: function (a, c, h, i, j) {
            a = this._dialogInst; if (!a) { this.uuid += 1; this._dialogInput = b('<input type="text" id="' + ("dp" + this.uuid) + '" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>'); this._dialogInput.keydown(this._doKeyDown); b("body").append(this._dialogInput); a = this._dialogInst = this._newInst(this._dialogInput, false); a.settings = {}; b.data(this._dialogInput[0], "datepicker", a) } f(a.settings, i || {});
            c = c && c.constructor == Date ? this._formatDate(a, c) : c; this._dialogInput.val(c); this._pos = j ? j.length ? j : [j.pageX, j.pageY] : null; if (!this._pos) this._pos = [document.documentElement.clientWidth / 2 - 100 + (document.documentElement.scrollLeft || document.body.scrollLeft), document.documentElement.clientHeight / 2 - 150 + (document.documentElement.scrollTop || document.body.scrollTop)]; this._dialogInput.css("left", this._pos[0] + 20 + "px").css("top", this._pos[1] + "px"); a.settings.onSelect = h; this._inDialog = true; this.dpDiv.addClass(this._dialogClass);
            this._showDatepicker(this._dialogInput[0]); b.blockUI && b.blockUI(this.dpDiv); b.data(this._dialogInput[0], "datepicker", a); return this
        }, _destroyDatepicker: function (a) {
            var c = b(a), h = b.data(a, "datepicker"); if (c.hasClass(this.markerClassName)) {
                var i = a.nodeName.toLowerCase(); b.removeData(a, "datepicker"); if (i == "input") {
                    h.append.remove(); h.trigger.remove(); c.removeClass(this.markerClassName).unbind("focus", this._showDatepicker).unbind("keydown", this._doKeyDown).unbind("keypress", this._doKeyPress).unbind("keyup",
this._doKeyUp)
                } else if (i == "div" || i == "span") c.removeClass(this.markerClassName).empty()
            } 
        }, _enableDatepicker: function (a) {
            var c = b(a), h = b.data(a, "datepicker"); if (c.hasClass(this.markerClassName)) {
                var i = a.nodeName.toLowerCase(); if (i == "input") { a.disabled = false; h.trigger.filter("button").each(function () { this.disabled = false }).end().filter("img").css({ opacity: "1.0", cursor: "" }) } else if (i == "div" || i == "span") c.children("." + this._inlineClass).children().removeClass("ui-state-disabled"); this._disabledInputs = b.map(this._disabledInputs,
function (j) { return j == a ? null : j })
            } 
        }, _disableDatepicker: function (a) {
            var c = b(a), h = b.data(a, "datepicker"); if (c.hasClass(this.markerClassName)) {
                var i = a.nodeName.toLowerCase(); if (i == "input") { a.disabled = true; h.trigger.filter("button").each(function () { this.disabled = true }).end().filter("img").css({ opacity: "0.5", cursor: "default" }) } else if (i == "div" || i == "span") c.children("." + this._inlineClass).children().addClass("ui-state-disabled"); this._disabledInputs = b.map(this._disabledInputs, function (j) {
                    return j == a ? null :
j
                }); this._disabledInputs[this._disabledInputs.length] = a
            } 
        }, _isDisabledDatepicker: function (a) { if (!a) return false; for (var c = 0; c < this._disabledInputs.length; c++) if (this._disabledInputs[c] == a) return true; return false }, _getInst: function (a) { try { return b.data(a, "datepicker") } catch (c) { throw "Missing instance data for this datepicker"; } }, _optionDatepicker: function (a, c, h) {
            var i = this._getInst(a); if (arguments.length == 2 && typeof c == "string") return c == "defaults" ? b.extend({}, b.datepicker._defaults) : i ? c == "all" ? b.extend({},
i.settings) : this._get(i, c) : null; var j = c || {}; if (typeof c == "string") { j = {}; j[c] = h } if (i) { this._curInst == i && this._hideDatepicker(); var n = this._getDateDatepicker(a, true), o = this._getMinMaxDate(i, "min"), l = this._getMinMaxDate(i, "max"); f(i.settings, j); if (o !== null && j.dateFormat !== d && j.minDate === d) i.settings.minDate = this._formatDate(i, o); if (l !== null && j.dateFormat !== d && j.maxDate === d) i.settings.maxDate = this._formatDate(i, l); this._attachments(b(a), i); this._autoSize(i); this._setDateDatepicker(a, n); this._updateDatepicker(i) } 
        },
        _changeDatepicker: function (a, c, h) { this._optionDatepicker(a, c, h) }, _refreshDatepicker: function (a) { (a = this._getInst(a)) && this._updateDatepicker(a) }, _setDateDatepicker: function (a, c) { if (a = this._getInst(a)) { this._setDate(a, c); this._updateDatepicker(a); this._updateAlternate(a) } }, _getDateDatepicker: function (a, c) { (a = this._getInst(a)) && !a.inline && this._setDateFromField(a, c); return a ? this._getDate(a) : null }, _doKeyDown: function (a) {
            var c = b.datepicker._getInst(a.target), h = true, i = c.dpDiv.is(".ui-datepicker-rtl");
            c._keyEvent = true; if (b.datepicker._datepickerShowing) switch (a.keyCode) {
                case 9: b.datepicker._hideDatepicker(); h = false; break; case 13: h = b("td." + b.datepicker._dayOverClass + ":not(." + b.datepicker._currentClass + ")", c.dpDiv); h[0] ? b.datepicker._selectDay(a.target, c.selectedMonth, c.selectedYear, h[0]) : b.datepicker._hideDatepicker(); return false; case 27: b.datepicker._hideDatepicker(); break; case 33: b.datepicker._adjustDate(a.target, a.ctrlKey ? -b.datepicker._get(c, "stepBigMonths") : -b.datepicker._get(c, "stepMonths"),
"M"); break; case 34: b.datepicker._adjustDate(a.target, a.ctrlKey ? +b.datepicker._get(c, "stepBigMonths") : +b.datepicker._get(c, "stepMonths"), "M"); break; case 35: if (a.ctrlKey || a.metaKey) b.datepicker._clearDate(a.target); h = a.ctrlKey || a.metaKey; break; case 36: if (a.ctrlKey || a.metaKey) b.datepicker._gotoToday(a.target); h = a.ctrlKey || a.metaKey; break; case 37: if (a.ctrlKey || a.metaKey) b.datepicker._adjustDate(a.target, i ? +1 : -1, "D"); h = a.ctrlKey || a.metaKey; if (a.originalEvent.altKey) b.datepicker._adjustDate(a.target, a.ctrlKey ?
-b.datepicker._get(c, "stepBigMonths") : -b.datepicker._get(c, "stepMonths"), "M"); break; case 38: if (a.ctrlKey || a.metaKey) b.datepicker._adjustDate(a.target, -7, "D"); h = a.ctrlKey || a.metaKey; break; case 39: if (a.ctrlKey || a.metaKey) b.datepicker._adjustDate(a.target, i ? -1 : +1, "D"); h = a.ctrlKey || a.metaKey; if (a.originalEvent.altKey) b.datepicker._adjustDate(a.target, a.ctrlKey ? +b.datepicker._get(c, "stepBigMonths") : +b.datepicker._get(c, "stepMonths"), "M"); break; case 40: if (a.ctrlKey || a.metaKey) b.datepicker._adjustDate(a.target,
+7, "D"); h = a.ctrlKey || a.metaKey; break; default: h = false
            } else if (a.keyCode == 36 && a.ctrlKey) b.datepicker._showDatepicker(this); else h = false; if (h) { a.preventDefault(); a.stopPropagation() } 
        }, _doKeyPress: function (a) { var c = b.datepicker._getInst(a.target); if (b.datepicker._get(c, "constrainInput")) { c = b.datepicker._possibleChars(b.datepicker._get(c, "dateFormat")); var h = String.fromCharCode(a.charCode == d ? a.keyCode : a.charCode); return a.ctrlKey || a.metaKey || h < " " || !c || c.indexOf(h) > -1 } }, _doKeyUp: function (a) {
            a = b.datepicker._getInst(a.target);
            if (a.input.val() != a.lastVal) try { if (b.datepicker.parseDate(b.datepicker._get(a, "dateFormat"), a.input ? a.input.val() : null, b.datepicker._getFormatConfig(a))) { b.datepicker._setDateFromField(a); b.datepicker._updateAlternate(a); b.datepicker._updateDatepicker(a) } } catch (c) { b.datepicker.log(c) } return true
        }, _showDatepicker: function (a) {
            a = a.target || a; if (a.nodeName.toLowerCase() != "input") a = b("input", a.parentNode)[0]; if (!(b.datepicker._isDisabledDatepicker(a) || b.datepicker._lastInput == a)) {
                var c = b.datepicker._getInst(a);
                b.datepicker._curInst && b.datepicker._curInst != c && b.datepicker._curInst.dpDiv.stop(true, true); var h = b.datepicker._get(c, "beforeShow"); f(c.settings, h ? h.apply(a, [a, c]) : {}); c.lastVal = null; b.datepicker._lastInput = a; b.datepicker._setDateFromField(c); if (b.datepicker._inDialog) a.value = ""; if (!b.datepicker._pos) { b.datepicker._pos = b.datepicker._findPos(a); b.datepicker._pos[1] += a.offsetHeight } var i = false; b(a).parents().each(function () { i |= b(this).css("position") == "fixed"; return !i }); if (i && b.browser.opera) {
                    b.datepicker._pos[0] -=
document.documentElement.scrollLeft; b.datepicker._pos[1] -= document.documentElement.scrollTop
                } h = { left: b.datepicker._pos[0], top: b.datepicker._pos[1] }; b.datepicker._pos = null; c.dpDiv.empty(); c.dpDiv.css({ position: "absolute", display: "block", top: "-1000px" }); b.datepicker._updateDatepicker(c); h = b.datepicker._checkOffset(c, h, i); c.dpDiv.css({ position: b.datepicker._inDialog && b.blockUI ? "static" : i ? "fixed" : "absolute", display: "none", left: h.left + "px", top: h.top + "px" }); if (!c.inline) {
                    h = b.datepicker._get(c, "showAnim");
                    var j = b.datepicker._get(c, "duration"), n = function () { b.datepicker._datepickerShowing = true; var o = c.dpDiv.find("iframe.ui-datepicker-cover"); if (o.length) { var l = b.datepicker._getBorders(c.dpDiv); o.css({ left: -l[0], top: -l[1], width: c.dpDiv.outerWidth(), height: c.dpDiv.outerHeight() }) } }; c.dpDiv.zIndex(b(a).zIndex() + 1); b.effects && b.effects[h] ? c.dpDiv.show(h, b.datepicker._get(c, "showOptions"), j, n) : c.dpDiv[h || "show"](h ? j : null, n); if (!h || !j) n(); c.input.is(":visible") && !c.input.is(":disabled") && c.input.focus(); b.datepicker._curInst =
c
                } 
            } 
        }, _updateDatepicker: function (a) {
            var c = this, h = b.datepicker._getBorders(a.dpDiv); a.dpDiv.empty().append(this._generateHTML(a)); var i = a.dpDiv.find("iframe.ui-datepicker-cover"); i.length && i.css({ left: -h[0], top: -h[1], width: a.dpDiv.outerWidth(), height: a.dpDiv.outerHeight() }); a.dpDiv.find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout", function () {
                b(this).removeClass("ui-state-hover"); this.className.indexOf("ui-datepicker-prev") != -1 && b(this).removeClass("ui-datepicker-prev-hover");
                this.className.indexOf("ui-datepicker-next") != -1 && b(this).removeClass("ui-datepicker-next-hover")
            }).bind("mouseover", function () { if (!c._isDisabledDatepicker(a.inline ? a.dpDiv.parent()[0] : a.input[0])) { b(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"); b(this).addClass("ui-state-hover"); this.className.indexOf("ui-datepicker-prev") != -1 && b(this).addClass("ui-datepicker-prev-hover"); this.className.indexOf("ui-datepicker-next") != -1 && b(this).addClass("ui-datepicker-next-hover") } }).end().find("." +
this._dayOverClass + " a").trigger("mouseover").end(); h = this._getNumberOfMonths(a); i = h[1]; i > 1 ? a.dpDiv.addClass("ui-datepicker-multi-" + i).css("width", 17 * i + "em") : a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""); a.dpDiv[(h[0] != 1 || h[1] != 1 ? "add" : "remove") + "Class"]("ui-datepicker-multi"); a.dpDiv[(this._get(a, "isRTL") ? "add" : "remove") + "Class"]("ui-datepicker-rtl"); a == b.datepicker._curInst && b.datepicker._datepickerShowing && a.input && a.input.is(":visible") && !a.input.is(":disabled") &&
a.input[0] != document.activeElement && a.input.focus(); if (a.yearshtml) { var j = a.yearshtml; setTimeout(function () { j === a.yearshtml && a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml); j = a.yearshtml = null }, 0) } 
        }, _getBorders: function (a) { var c = function (h) { return { thin: 1, medium: 2, thick: 3}[h] || h }; return [parseFloat(c(a.css("border-left-width"))), parseFloat(c(a.css("border-top-width")))] }, _checkOffset: function (a, c, h) {
            var i = a.dpDiv.outerWidth(), j = a.dpDiv.outerHeight(), n = a.input ? a.input.outerWidth() :
0, o = a.input ? a.input.outerHeight() : 0, l = document.documentElement.clientWidth + b(document).scrollLeft(), k = document.documentElement.clientHeight + b(document).scrollTop(); c.left -= this._get(a, "isRTL") ? i - n : 0; c.left -= h && c.left == a.input.offset().left ? b(document).scrollLeft() : 0; c.top -= h && c.top == a.input.offset().top + o ? b(document).scrollTop() : 0; c.left -= Math.min(c.left, c.left + i > l && l > i ? Math.abs(c.left + i - l) : 0); c.top -= Math.min(c.top, c.top + j > k && k > j ? Math.abs(j + o) : 0); return c
        }, _findPos: function (a) {
            for (var c = this._get(this._getInst(a),
"isRTL"); a && (a.type == "hidden" || a.nodeType != 1 || b.expr.filters.hidden(a)); ) a = a[c ? "previousSibling" : "nextSibling"]; a = b(a).offset(); return [a.left, a.top]
        }, _hideDatepicker: function (a) {
            var c = this._curInst; if (!(!c || a && c != b.data(a, "datepicker"))) if (this._datepickerShowing) {
                a = this._get(c, "showAnim"); var h = this._get(c, "duration"), i = function () { b.datepicker._tidyDialog(c); this._curInst = null }; b.effects && b.effects[a] ? c.dpDiv.hide(a, b.datepicker._get(c, "showOptions"), h, i) : c.dpDiv[a == "slideDown" ? "slideUp" : a == "fadeIn" ?
"fadeOut" : "hide"](a ? h : null, i); a || i(); if (a = this._get(c, "onClose")) a.apply(c.input ? c.input[0] : null, [c.input ? c.input.val() : "", c]); this._datepickerShowing = false; this._lastInput = null; if (this._inDialog) { this._dialogInput.css({ position: "absolute", left: "0", top: "-100px" }); if (b.blockUI) { b.unblockUI(); b("body").append(this.dpDiv) } } this._inDialog = false
            } 
        }, _tidyDialog: function (a) { a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar") }, _checkExternalClick: function (a) {
            if (b.datepicker._curInst) {
                a =
b(a.target); a[0].id != b.datepicker._mainDivId && a.parents("#" + b.datepicker._mainDivId).length == 0 && !a.hasClass(b.datepicker.markerClassName) && !a.hasClass(b.datepicker._triggerClass) && b.datepicker._datepickerShowing && !(b.datepicker._inDialog && b.blockUI) && b.datepicker._hideDatepicker()
            } 
        }, _adjustDate: function (a, c, h) { a = b(a); var i = this._getInst(a[0]); if (!this._isDisabledDatepicker(a[0])) { this._adjustInstDate(i, c + (h == "M" ? this._get(i, "showCurrentAtPos") : 0), h); this._updateDatepicker(i) } }, _gotoToday: function (a) {
            a =
b(a); var c = this._getInst(a[0]); if (this._get(c, "gotoCurrent") && c.currentDay) { c.selectedDay = c.currentDay; c.drawMonth = c.selectedMonth = c.currentMonth; c.drawYear = c.selectedYear = c.currentYear } else { var h = new Date; c.selectedDay = h.getDate(); c.drawMonth = c.selectedMonth = h.getMonth(); c.drawYear = c.selectedYear = h.getFullYear() } this._notifyChange(c); this._adjustDate(a)
        }, _selectMonthYear: function (a, c, h) {
            a = b(a); var i = this._getInst(a[0]); i._selectingMonthYear = false; i["selected" + (h == "M" ? "Month" : "Year")] = i["draw" + (h ==
"M" ? "Month" : "Year")] = parseInt(c.options[c.selectedIndex].value, 10); this._notifyChange(i); this._adjustDate(a)
        }, _clickMonthYear: function (a) { var c = this._getInst(b(a)[0]); c.input && c._selectingMonthYear && setTimeout(function () { c.input.focus() }, 0); c._selectingMonthYear = !c._selectingMonthYear }, _selectDay: function (a, c, h, i) {
            var j = b(a); if (!(b(i).hasClass(this._unselectableClass) || this._isDisabledDatepicker(j[0]))) {
                j = this._getInst(j[0]); j.selectedDay = j.currentDay = b("a", i).html(); j.selectedMonth = j.currentMonth =
c; j.selectedYear = j.currentYear = h; this._selectDate(a, this._formatDate(j, j.currentDay, j.currentMonth, j.currentYear))
            } 
        }, _clearDate: function (a) { a = b(a); this._getInst(a[0]); this._selectDate(a, "") }, _selectDate: function (a, c) {
            a = this._getInst(b(a)[0]); c = c != null ? c : this._formatDate(a); a.input && a.input.val(c); this._updateAlternate(a); var h = this._get(a, "onSelect"); if (h) h.apply(a.input ? a.input[0] : null, [c, a]); else a.input && a.input.trigger("change"); if (a.inline) this._updateDatepicker(a); else {
                this._hideDatepicker();
                this._lastInput = a.input[0]; typeof a.input[0] != "object" && a.input.focus(); this._lastInput = null
            } 
        }, _updateAlternate: function (a) { var c = this._get(a, "altField"); if (c) { var h = this._get(a, "altFormat") || this._get(a, "dateFormat"), i = this._getDate(a), j = this.formatDate(h, i, this._getFormatConfig(a)); b(c).each(function () { b(this).val(j) }) } }, noWeekends: function (a) { a = a.getDay(); return [a > 0 && a < 6, ""] }, iso8601Week: function (a) {
            a = new Date(a.getTime()); a.setDate(a.getDate() + 4 - (a.getDay() || 7)); var c = a.getTime(); a.setMonth(0);
            a.setDate(1); return Math.floor(Math.round((c - a) / 864E5) / 7) + 1
        }, parseDate: function (a, c, h) {
            if (a == null || c == null) throw "Invalid arguments"; c = typeof c == "object" ? c.toString() : c + ""; if (c == "") return null; var i = (h ? h.shortYearCutoff : null) || this._defaults.shortYearCutoff; i = typeof i != "string" ? i : (new Date).getFullYear() % 100 + parseInt(i, 10); for (var j = (h ? h.dayNamesShort : null) || this._defaults.dayNamesShort, n = (h ? h.dayNames : null) || this._defaults.dayNames, o = (h ? h.monthNamesShort : null) || this._defaults.monthNamesShort, l = (h ?
h.monthNames : null) || this._defaults.monthNames, k = h = -1, m = -1, p = -1, q = false, s = function (x) { (x = y + 1 < a.length && a.charAt(y + 1) == x) && y++; return x }, r = function (x) { var C = s(x); x = new RegExp("^\\d{1," + (x == "@" ? 14 : x == "!" ? 20 : x == "y" && C ? 4 : x == "o" ? 3 : 2) + "}"); x = c.substring(w).match(x); if (!x) throw "Missing number at position " + w; w += x[0].length; return parseInt(x[0], 10) }, u = function (x, C, J) {
    x = s(x) ? J : C; for (C = 0; C < x.length; C++) if (c.substr(w, x[C].length).toLowerCase() == x[C].toLowerCase()) { w += x[C].length; return C + 1 } throw "Unknown name at position " +
w;
}, v = function () { if (c.charAt(w) != a.charAt(y)) throw "Unexpected literal at position " + w; w++ }, w = 0, y = 0; y < a.length; y++) if (q) if (a.charAt(y) == "'" && !s("'")) q = false; else v(); else switch (a.charAt(y)) {
                case "d": m = r("d"); break; case "D": u("D", j, n); break; case "o": p = r("o"); break; case "m": k = r("m"); break; case "M": k = u("M", o, l); break; case "y": h = r("y"); break; case "@": var B = new Date(r("@")); h = B.getFullYear(); k = B.getMonth() + 1; m = B.getDate(); break; case "!": B = new Date((r("!") - this._ticksTo1970) / 1E4); h = B.getFullYear(); k = B.getMonth() +
1; m = B.getDate(); break; case "'": if (s("'")) v(); else q = true; break; default: v()
            } if (h == -1) h = (new Date).getFullYear(); else if (h < 100) h += (new Date).getFullYear() - (new Date).getFullYear() % 100 + (h <= i ? 0 : -100); if (p > -1) { k = 1; m = p; do { i = this._getDaysInMonth(h, k - 1); if (m <= i) break; k++; m -= i } while (1) } B = this._daylightSavingAdjust(new Date(h, k - 1, m)); if (B.getFullYear() != h || B.getMonth() + 1 != k || B.getDate() != m) throw "Invalid date"; return B
        }, ATOM: "yy-mm-dd", COOKIE: "D, dd M yy", ISO_8601: "yy-mm-dd", RFC_822: "D, d M y", RFC_850: "DD, dd-M-y",
        RFC_1036: "D, d M y", RFC_1123: "D, d M yy", RFC_2822: "D, d M yy", RSS: "D, d M y", TICKS: "!", TIMESTAMP: "@", W3C: "yy-mm-dd", _ticksTo1970: (718685 + Math.floor(492.5) - Math.floor(19.7) + Math.floor(4.925)) * 24 * 60 * 60 * 1E7, formatDate: function (a, c, h) {
            if (!c) return ""; var i = (h ? h.dayNamesShort : null) || this._defaults.dayNamesShort, j = (h ? h.dayNames : null) || this._defaults.dayNames, n = (h ? h.monthNamesShort : null) || this._defaults.monthNamesShort; h = (h ? h.monthNames : null) || this._defaults.monthNames; var o = function (s) {
                (s = q + 1 < a.length &&
a.charAt(q + 1) == s) && q++; return s
            }, l = function (s, r, u) { r = "" + r; if (o(s)) for (; r.length < u; ) r = "0" + r; return r }, k = function (s, r, u, v) { return o(s) ? v[r] : u[r] }, m = "", p = false; if (c) for (var q = 0; q < a.length; q++) if (p) if (a.charAt(q) == "'" && !o("'")) p = false; else m += a.charAt(q); else switch (a.charAt(q)) {
                case "d": m += l("d", c.getDate(), 2); break; case "D": m += k("D", c.getDay(), i, j); break; case "o": m += l("o", (c.getTime() - (new Date(c.getFullYear(), 0, 0)).getTime()) / 864E5, 3); break; case "m": m += l("m", c.getMonth() + 1, 2); break; case "M": m += k("M",
c.getMonth(), n, h); break; case "y": m += o("y") ? c.getFullYear() : (c.getYear() % 100 < 10 ? "0" : "") + c.getYear() % 100; break; case "@": m += c.getTime(); break; case "!": m += c.getTime() * 1E4 + this._ticksTo1970; break; case "'": if (o("'")) m += "'"; else p = true; break; default: m += a.charAt(q)
            } return m
        }, _possibleChars: function (a) {
            for (var c = "", h = false, i = function (n) { (n = j + 1 < a.length && a.charAt(j + 1) == n) && j++; return n }, j = 0; j < a.length; j++) if (h) if (a.charAt(j) == "'" && !i("'")) h = false; else c += a.charAt(j); else switch (a.charAt(j)) {
                case "d": case "m": case "y": case "@": c +=
"0123456789"; break; case "D": case "M": return null; case "'": if (i("'")) c += "'"; else h = true; break; default: c += a.charAt(j)
            } return c
        }, _get: function (a, c) { return a.settings[c] !== d ? a.settings[c] : this._defaults[c] }, _setDateFromField: function (a, c) {
            if (a.input.val() != a.lastVal) {
                var h = this._get(a, "dateFormat"), i = a.lastVal = a.input ? a.input.val() : null, j, n; j = n = this._getDefaultDate(a); var o = this._getFormatConfig(a); try { j = this.parseDate(h, i, o) || n } catch (l) { this.log(l); i = c ? "" : i } a.selectedDay = j.getDate(); a.drawMonth = a.selectedMonth =
j.getMonth(); a.drawYear = a.selectedYear = j.getFullYear(); a.currentDay = i ? j.getDate() : 0; a.currentMonth = i ? j.getMonth() : 0; a.currentYear = i ? j.getFullYear() : 0; this._adjustInstDate(a)
            } 
        }, _getDefaultDate: function (a) { return this._restrictMinMax(a, this._determineDate(a, this._get(a, "defaultDate"), new Date)) }, _determineDate: function (a, c, h) {
            var i = function (n) { var o = new Date; o.setDate(o.getDate() + n); return o }, j = function (n) {
                try { return b.datepicker.parseDate(b.datepicker._get(a, "dateFormat"), n, b.datepicker._getFormatConfig(a)) } catch (o) { } var l =
(n.toLowerCase().match(/^c/) ? b.datepicker._getDate(a) : null) || new Date, k = l.getFullYear(), m = l.getMonth(); l = l.getDate(); for (var p = /([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g, q = p.exec(n); q; ) { switch (q[2] || "d") { case "d": case "D": l += parseInt(q[1], 10); break; case "w": case "W": l += parseInt(q[1], 10) * 7; break; case "m": case "M": m += parseInt(q[1], 10); l = Math.min(l, b.datepicker._getDaysInMonth(k, m)); break; case "y": case "Y": k += parseInt(q[1], 10); l = Math.min(l, b.datepicker._getDaysInMonth(k, m)); break } q = p.exec(n) } return new Date(k,
m, l)
            }; if (c = (c = c == null || c === "" ? h : typeof c == "string" ? j(c) : typeof c == "number" ? isNaN(c) ? h : i(c) : new Date(c.getTime())) && c.toString() == "Invalid Date" ? h : c) { c.setHours(0); c.setMinutes(0); c.setSeconds(0); c.setMilliseconds(0) } return this._daylightSavingAdjust(c)
        }, _daylightSavingAdjust: function (a) { if (!a) return null; a.setHours(a.getHours() > 12 ? a.getHours() + 2 : 0); return a }, _setDate: function (a, c, h) {
            var i = !c, j = a.selectedMonth, n = a.selectedYear; c = this._restrictMinMax(a, this._determineDate(a, c, new Date)); a.selectedDay =
a.currentDay = c.getDate(); a.drawMonth = a.selectedMonth = a.currentMonth = c.getMonth(); a.drawYear = a.selectedYear = a.currentYear = c.getFullYear(); if ((j != a.selectedMonth || n != a.selectedYear) && !h) this._notifyChange(a); this._adjustInstDate(a); if (a.input) a.input.val(i ? "" : this._formatDate(a))
        }, _getDate: function (a) { return !a.currentYear || a.input && a.input.val() == "" ? null : this._daylightSavingAdjust(new Date(a.currentYear, a.currentMonth, a.currentDay)) }, _generateHTML: function (a) {
            var c = new Date; c = this._daylightSavingAdjust(new Date(c.getFullYear(),
c.getMonth(), c.getDate())); var h = this._get(a, "isRTL"), i = this._get(a, "showButtonPanel"), j = this._get(a, "hideIfNoPrevNext"), n = this._get(a, "navigationAsDateFormat"), o = this._getNumberOfMonths(a), l = this._get(a, "showCurrentAtPos"), k = this._get(a, "stepMonths"), m = o[0] != 1 || o[1] != 1, p = this._daylightSavingAdjust(!a.currentDay ? new Date(9999, 9, 9) : new Date(a.currentYear, a.currentMonth, a.currentDay)), q = this._getMinMaxDate(a, "min"), s = this._getMinMaxDate(a, "max"); l = a.drawMonth - l; var r = a.drawYear; if (l < 0) { l += 12; r-- } if (s) {
                var u =
this._daylightSavingAdjust(new Date(s.getFullYear(), s.getMonth() - o[0] * o[1] + 1, s.getDate())); for (u = q && u < q ? q : u; this._daylightSavingAdjust(new Date(r, l, 1)) > u; ) { l--; if (l < 0) { l = 11; r-- } } 
            } a.drawMonth = l; a.drawYear = r; u = this._get(a, "prevText"); u = !n ? u : this.formatDate(u, this._daylightSavingAdjust(new Date(r, l - k, 1)), this._getFormatConfig(a)); u = this._canAdjustMonth(a, -1, r, l) ? '<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_' + g + ".datepicker._adjustDate('#" + a.id + "', -" + k + ", 'M');\" title=\"" + u + '"><span class="ui-icon ui-icon-circle-triangle-' +
(h ? "e" : "w") + '">' + u + "</span></a>" : j ? "" : '<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="' + u + '"><span class="ui-icon ui-icon-circle-triangle-' + (h ? "e" : "w") + '">' + u + "</span></a>"; var v = this._get(a, "nextText"); v = !n ? v : this.formatDate(v, this._daylightSavingAdjust(new Date(r, l + k, 1)), this._getFormatConfig(a)); j = this._canAdjustMonth(a, +1, r, l) ? '<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_' + g + ".datepicker._adjustDate('#" + a.id + "', +" + k + ", 'M');\" title=\"" + v + '"><span class="ui-icon ui-icon-circle-triangle-' +
(h ? "w" : "e") + '">' + v + "</span></a>" : j ? "" : '<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="' + v + '"><span class="ui-icon ui-icon-circle-triangle-' + (h ? "w" : "e") + '">' + v + "</span></a>"; k = this._get(a, "currentText"); v = this._get(a, "gotoCurrent") && a.currentDay ? p : c; k = !n ? k : this.formatDate(k, v, this._getFormatConfig(a)); n = !a.inline ? '<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_' + g + '.datepicker._hideDatepicker();">' + this._get(a,
"closeText") + "</button>" : ""; i = i ? '<div class="ui-datepicker-buttonpane ui-widget-content">' + (h ? n : "") + (this._isInRange(a, v) ? '<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_' + g + ".datepicker._gotoToday('#" + a.id + "');\">" + k + "</button>" : "") + (h ? "" : n) + "</div>" : ""; n = parseInt(this._get(a, "firstDay"), 10); n = isNaN(n) ? 0 : n; k = this._get(a, "showWeek"); v = this._get(a, "dayNames"); this._get(a, "dayNamesShort"); var w = this._get(a, "dayNamesMin"), y =
this._get(a, "monthNames"), B = this._get(a, "monthNamesShort"), x = this._get(a, "beforeShowDay"), C = this._get(a, "showOtherMonths"), J = this._get(a, "selectOtherMonths"); this._get(a, "calculateWeek"); for (var M = this._getDefaultDate(a), K = "", G = 0; G < o[0]; G++) {
                for (var N = "", H = 0; H < o[1]; H++) {
                    var O = this._daylightSavingAdjust(new Date(r, l, a.selectedDay)), A = " ui-corner-all", D = ""; if (m) {
                        D += '<div class="ui-datepicker-group'; if (o[1] > 1) switch (H) {
                            case 0: D += " ui-datepicker-group-first"; A = " ui-corner-" + (h ? "right" : "left"); break; case o[1] -
1: D += " ui-datepicker-group-last"; A = " ui-corner-" + (h ? "left" : "right"); break; default: D += " ui-datepicker-group-middle"; A = ""; break
                        } D += '">'
                    } D += '<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix' + A + '">' + (/all|left/.test(A) && G == 0 ? h ? j : u : "") + (/all|right/.test(A) && G == 0 ? h ? u : j : "") + this._generateMonthYearHeader(a, l, r, q, s, G > 0 || H > 0, y, B) + '</div><table class="ui-datepicker-calendar"><thead><tr>'; var E = k ? '<th class="ui-datepicker-week-col">' + this._get(a, "weekHeader") + "</th>" : ""; for (A = 0; A < 7; A++) {
                        var z =
(A + n) % 7; E += "<th" + ((A + n + 6) % 7 >= 5 ? ' class="ui-datepicker-week-end"' : "") + '><span title="' + v[z] + '">' + w[z] + "</span></th>"
                    } D += E + "</tr></thead><tbody>"; E = this._getDaysInMonth(r, l); if (r == a.selectedYear && l == a.selectedMonth) a.selectedDay = Math.min(a.selectedDay, E); A = (this._getFirstDayOfMonth(r, l) - n + 7) % 7; E = m ? 6 : Math.ceil((A + E) / 7); z = this._daylightSavingAdjust(new Date(r, l, 1 - A)); for (var P = 0; P < E; P++) {
                        D += "<tr>"; var Q = !k ? "" : '<td class="ui-datepicker-week-col">' + this._get(a, "calculateWeek")(z) + "</td>"; for (A = 0; A < 7; A++) {
                            var I =
x ? x.apply(a.input ? a.input[0] : null, [z]) : [true, ""], F = z.getMonth() != l, L = F && !J || !I[0] || q && z < q || s && z > s; Q += '<td class="' + ((A + n + 6) % 7 >= 5 ? " ui-datepicker-week-end" : "") + (F ? " ui-datepicker-other-month" : "") + (z.getTime() == O.getTime() && l == a.selectedMonth && a._keyEvent || M.getTime() == z.getTime() && M.getTime() == O.getTime() ? " " + this._dayOverClass : "") + (L ? " " + this._unselectableClass + " ui-state-disabled" : "") + (F && !C ? "" : " " + I[1] + (z.getTime() == p.getTime() ? " " + this._currentClass : "") + (z.getTime() == c.getTime() ? " ui-datepicker-today" :
"")) + '"' + ((!F || C) && I[2] ? ' title="' + I[2] + '"' : "") + (L ? "" : ' onclick="DP_jQuery_' + g + ".datepicker._selectDay('#" + a.id + "'," + z.getMonth() + "," + z.getFullYear() + ', this);return false;"') + ">" + (F && !C ? "&#xa0;" : L ? '<span class="ui-state-default">' + z.getDate() + "</span>" : '<a class="ui-state-default' + (z.getTime() == c.getTime() ? " ui-state-highlight" : "") + (z.getTime() == p.getTime() ? " ui-state-active" : "") + (F ? " ui-priority-secondary" : "") + '" href="#">' + z.getDate() + "</a>") + "</td>"; z.setDate(z.getDate() + 1); z = this._daylightSavingAdjust(z)
                        } D +=
Q + "</tr>"
                    } l++; if (l > 11) { l = 0; r++ } D += "</tbody></table>" + (m ? "</div>" + (o[0] > 0 && H == o[1] - 1 ? '<div class="ui-datepicker-row-break"></div>' : "") : ""); N += D
                } K += N
            } K += i + (b.browser.msie && parseInt(b.browser.version, 10) < 7 && !a.inline ? '<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>' : ""); a._keyEvent = false; return K
        }, _generateMonthYearHeader: function (a, c, h, i, j, n, o, l) {
            var k = this._get(a, "changeMonth"), m = this._get(a, "changeYear"), p = this._get(a, "showMonthAfterYear"), q = '<div class="ui-datepicker-title">',
s = ""; if (n || !k) s += '<span class="ui-datepicker-month">' + o[c] + "</span>"; else { o = i && i.getFullYear() == h; var r = j && j.getFullYear() == h; s += '<select class="ui-datepicker-month" onchange="DP_jQuery_' + g + ".datepicker._selectMonthYear('#" + a.id + "', this, 'M');\" onclick=\"DP_jQuery_" + g + ".datepicker._clickMonthYear('#" + a.id + "');\">"; for (var u = 0; u < 12; u++) if ((!o || u >= i.getMonth()) && (!r || u <= j.getMonth())) s += '<option value="' + u + '"' + (u == c ? ' selected="selected"' : "") + ">" + l[u] + "</option>"; s += "</select>" } p || (q += s + (n || !(k &&
m) ? "&#xa0;" : "")); if (!a.yearshtml) {
                a.yearshtml = ""; if (n || !m) q += '<span class="ui-datepicker-year">' + h + "</span>"; else {
                    l = this._get(a, "yearRange").split(":"); var v = (new Date).getFullYear(); o = function (w) { w = w.match(/c[+-].*/) ? h + parseInt(w.substring(1), 10) : w.match(/[+-].*/) ? v + parseInt(w, 10) : parseInt(w, 10); return isNaN(w) ? v : w }; c = o(l[0]); l = Math.max(c, o(l[1] || "")); c = i ? Math.max(c, i.getFullYear()) : c; l = j ? Math.min(l, j.getFullYear()) : l; for (a.yearshtml += '<select class="ui-datepicker-year" onchange="DP_jQuery_' + g + ".datepicker._selectMonthYear('#" +
a.id + "', this, 'Y');\" onclick=\"DP_jQuery_" + g + ".datepicker._clickMonthYear('#" + a.id + "');\">"; c <= l; c++) a.yearshtml += '<option value="' + c + '"' + (c == h ? ' selected="selected"' : "") + ">" + c + "</option>"; a.yearshtml += "</select>"; if (b.browser.mozilla) q += '<select class="ui-datepicker-year"><option value="' + h + '" selected="selected">' + h + "</option></select>"; else { q += a.yearshtml; a.yearshtml = null } 
                } 
            } q += this._get(a, "yearSuffix"); if (p) q += (n || !(k && m) ? "&#xa0;" : "") + s; q += "</div>"; return q
        }, _adjustInstDate: function (a, c, h) {
            var i =
a.drawYear + (h == "Y" ? c : 0), j = a.drawMonth + (h == "M" ? c : 0); c = Math.min(a.selectedDay, this._getDaysInMonth(i, j)) + (h == "D" ? c : 0); i = this._restrictMinMax(a, this._daylightSavingAdjust(new Date(i, j, c))); a.selectedDay = i.getDate(); a.drawMonth = a.selectedMonth = i.getMonth(); a.drawYear = a.selectedYear = i.getFullYear(); if (h == "M" || h == "Y") this._notifyChange(a)
        }, _restrictMinMax: function (a, c) { var h = this._getMinMaxDate(a, "min"); a = this._getMinMaxDate(a, "max"); c = h && c < h ? h : c; return c = a && c > a ? a : c }, _notifyChange: function (a) {
            var c = this._get(a,
"onChangeMonthYear"); if (c) c.apply(a.input ? a.input[0] : null, [a.selectedYear, a.selectedMonth + 1, a])
        }, _getNumberOfMonths: function (a) { a = this._get(a, "numberOfMonths"); return a == null ? [1, 1] : typeof a == "number" ? [1, a] : a }, _getMinMaxDate: function (a, c) { return this._determineDate(a, this._get(a, c + "Date"), null) }, _getDaysInMonth: function (a, c) { return 32 - this._daylightSavingAdjust(new Date(a, c, 32)).getDate() }, _getFirstDayOfMonth: function (a, c) { return (new Date(a, c, 1)).getDay() }, _canAdjustMonth: function (a, c, h, i) {
            var j = this._getNumberOfMonths(a);
            h = this._daylightSavingAdjust(new Date(h, i + (c < 0 ? c : j[0] * j[1]), 1)); c < 0 && h.setDate(this._getDaysInMonth(h.getFullYear(), h.getMonth())); return this._isInRange(a, h)
        }, _isInRange: function (a, c) { var h = this._getMinMaxDate(a, "min"); a = this._getMinMaxDate(a, "max"); return (!h || c.getTime() >= h.getTime()) && (!a || c.getTime() <= a.getTime()) }, _getFormatConfig: function (a) {
            var c = this._get(a, "shortYearCutoff"); c = typeof c != "string" ? c : (new Date).getFullYear() % 100 + parseInt(c, 10); return { shortYearCutoff: c, dayNamesShort: this._get(a,
"dayNamesShort"), dayNames: this._get(a, "dayNames"), monthNamesShort: this._get(a, "monthNamesShort"), monthNames: this._get(a, "monthNames")
            }
        }, _formatDate: function (a, c, h, i) { if (!c) { a.currentDay = a.selectedDay; a.currentMonth = a.selectedMonth; a.currentYear = a.selectedYear } c = c ? typeof c == "object" ? c : this._daylightSavingAdjust(new Date(i, h, c)) : this._daylightSavingAdjust(new Date(a.currentYear, a.currentMonth, a.currentDay)); return this.formatDate(this._get(a, "dateFormat"), c, this._getFormatConfig(a)) } 
    }); b.fn.datepicker =
function (a) {
    if (!this.length) return this; if (!b.datepicker.initialized) { b(document).mousedown(b.datepicker._checkExternalClick).find("body").append(b.datepicker.dpDiv); b.datepicker.initialized = true } var c = Array.prototype.slice.call(arguments, 1); if (typeof a == "string" && (a == "isDisabled" || a == "getDate" || a == "widget")) return b.datepicker["_" + a + "Datepicker"].apply(b.datepicker, [this[0]].concat(c)); if (a == "option" && arguments.length == 2 && typeof arguments[1] == "string") return b.datepicker["_" + a + "Datepicker"].apply(b.datepicker,
[this[0]].concat(c)); return this.each(function () { typeof a == "string" ? b.datepicker["_" + a + "Datepicker"].apply(b.datepicker, [this].concat(c)) : b.datepicker._attachDatepicker(this, a) })
}; b.datepicker = new e; b.datepicker.initialized = false; b.datepicker.uuid = (new Date).getTime(); b.datepicker.version = "1.8.12"; window["DP_jQuery_" + g] = b
})(jQuery);
(function (b, d) {
    var e = { buttons: true, height: true, maxHeight: true, maxWidth: true, minHeight: true, minWidth: true, width: true }, f = { maxHeight: true, maxWidth: true, minHeight: true, minWidth: true }, g = b.attrFn || { val: true, css: true, html: true, text: true, data: true, width: true, height: true, offset: true, click: true }; b.widget("ui.dialog", { options: { autoOpen: true, buttons: {}, closeOnEscape: true, closeText: "close", dialogClass: "", draggable: true, hide: null, height: "auto", maxHeight: false, maxWidth: false, minHeight: 150, minWidth: 150, modal: false,
        position: { my: "center", at: "center", collision: "fit", using: function (a) { var c = b(this).css(a).offset().top; c < 0 && b(this).css("top", a.top - c) } }, resizable: true, show: null, stack: true, title: "", width: 300, zIndex: 1E3
    }, _create: function () {
        this.originalTitle = this.element.attr("title"); if (typeof this.originalTitle !== "string") this.originalTitle = ""; this.options.title = this.options.title || this.originalTitle; var a = this, c = a.options, h = c.title || "&#160;", i = b.ui.dialog.getTitleId(a.element), j = (a.uiDialog = b("<div></div>")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all " +
c.dialogClass).css({ zIndex: c.zIndex }).attr("tabIndex", -1).css("outline", 0).keydown(function (l) { if (c.closeOnEscape && l.keyCode && l.keyCode === b.ui.keyCode.ESCAPE) { a.close(l); l.preventDefault() } }).attr({ role: "dialog", "aria-labelledby": i }).mousedown(function (l) { a.moveToTop(false, l) }); a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(j); var n = (a.uiDialogTitlebar = b("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(j),
o = b('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role", "button").hover(function () { o.addClass("ui-state-hover") }, function () { o.removeClass("ui-state-hover") }).focus(function () { o.addClass("ui-state-focus") }).blur(function () { o.removeClass("ui-state-focus") }).click(function (l) { a.close(l); return false }).appendTo(n); (a.uiDialogTitlebarCloseText = b("<span></span>")).addClass("ui-icon ui-icon-closethick").text(c.closeText).appendTo(o); b("<span></span>").addClass("ui-dialog-title").attr("id",
i).html(h).prependTo(n); if (b.isFunction(c.beforeclose) && !b.isFunction(c.beforeClose)) c.beforeClose = c.beforeclose; n.find("*").add(n).disableSelection(); c.draggable && b.fn.draggable && a._makeDraggable(); c.resizable && b.fn.resizable && a._makeResizable(); a._createButtons(c.buttons); a._isOpen = false; b.fn.bgiframe && j.bgiframe()
    }, _init: function () { this.options.autoOpen && this.open() }, destroy: function () {
        var a = this; a.overlay && a.overlay.destroy(); a.uiDialog.hide(); a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");
        a.uiDialog.remove(); a.originalTitle && a.element.attr("title", a.originalTitle); return a
    }, widget: function () { return this.uiDialog }, close: function (a) {
        var c = this, h, i; if (false !== c._trigger("beforeClose", a)) {
            c.overlay && c.overlay.destroy(); c.uiDialog.unbind("keypress.ui-dialog"); c._isOpen = false; if (c.options.hide) c.uiDialog.hide(c.options.hide, function () { c._trigger("close", a) }); else { c.uiDialog.hide(); c._trigger("close", a) } b.ui.dialog.overlay.resize(); if (c.options.modal) {
                h = 0; b(".ui-dialog").each(function () {
                    if (this !==
c.uiDialog[0]) { i = b(this).css("z-index"); isNaN(i) || (h = Math.max(h, i)) } 
                }); b.ui.dialog.maxZ = h
            } return c
        } 
    }, isOpen: function () { return this._isOpen }, moveToTop: function (a, c) {
        var h = this, i = h.options; if (i.modal && !a || !i.stack && !i.modal) return h._trigger("focus", c); if (i.zIndex > b.ui.dialog.maxZ) b.ui.dialog.maxZ = i.zIndex; if (h.overlay) { b.ui.dialog.maxZ += 1; h.overlay.$el.css("z-index", b.ui.dialog.overlay.maxZ = b.ui.dialog.maxZ) } a = { scrollTop: h.element.attr("scrollTop"), scrollLeft: h.element.attr("scrollLeft") }; b.ui.dialog.maxZ +=
1; h.uiDialog.css("z-index", b.ui.dialog.maxZ); h.element.attr(a); h._trigger("focus", c); return h
    }, open: function () {
        if (!this._isOpen) {
            var a = this, c = a.options, h = a.uiDialog; a.overlay = c.modal ? new b.ui.dialog.overlay(a) : null; a._size(); a._position(c.position); h.show(c.show); a.moveToTop(true); c.modal && h.bind("keypress.ui-dialog", function (i) {
                if (i.keyCode === b.ui.keyCode.TAB) {
                    var j = b(":tabbable", this), n = j.filter(":first"); j = j.filter(":last"); if (i.target === j[0] && !i.shiftKey) { n.focus(1); return false } else if (i.target ===
n[0] && i.shiftKey) { j.focus(1); return false } 
                } 
            }); b(a.element.find(":tabbable").get().concat(h.find(".ui-dialog-buttonpane :tabbable").get().concat(h.get()))).eq(0).focus(); a._isOpen = true; a._trigger("open"); return a
        } 
    }, _createButtons: function (a) {
        var c = this, h = false, i = b("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"), j = b("<div></div>").addClass("ui-dialog-buttonset").appendTo(i); c.uiDialog.find(".ui-dialog-buttonpane").remove(); typeof a === "object" && a !== null && b.each(a,
function () { return !(h = true) }); if (h) { b.each(a, function (n, o) { o = b.isFunction(o) ? { click: o, text: n} : o; var l = b('<button type="button"></button>').click(function () { o.click.apply(c.element[0], arguments) }).appendTo(j); b.each(o, function (k, m) { if (k !== "click") k in g ? l[k](m) : l.attr(k, m) }); b.fn.button && l.button() }); i.appendTo(c.uiDialog) } 
    }, _makeDraggable: function () {
        function a(n) { return { position: n.position, offset: n.offset} } var c = this, h = c.options, i = b(document), j; c.uiDialog.draggable({ cancel: ".ui-dialog-content, .ui-dialog-titlebar-close",
            handle: ".ui-dialog-titlebar", containment: "document", start: function (n, o) { j = h.height === "auto" ? "auto" : b(this).height(); b(this).height(b(this).height()).addClass("ui-dialog-dragging"); c._trigger("dragStart", n, a(o)) }, drag: function (n, o) { c._trigger("drag", n, a(o)) }, stop: function (n, o) { h.position = [o.position.left - i.scrollLeft(), o.position.top - i.scrollTop()]; b(this).removeClass("ui-dialog-dragging").height(j); c._trigger("dragStop", n, a(o)); b.ui.dialog.overlay.resize() } 
        })
    }, _makeResizable: function (a) {
        function c(n) {
            return { originalPosition: n.originalPosition,
                originalSize: n.originalSize, position: n.position, size: n.size
            }
        } a = a === d ? this.options.resizable : a; var h = this, i = h.options, j = h.uiDialog.css("position"); a = typeof a === "string" ? a : "n,e,s,w,se,sw,ne,nw"; h.uiDialog.resizable({ cancel: ".ui-dialog-content", containment: "document", alsoResize: h.element, maxWidth: i.maxWidth, maxHeight: i.maxHeight, minWidth: i.minWidth, minHeight: h._minHeight(), handles: a, start: function (n, o) { b(this).addClass("ui-dialog-resizing"); h._trigger("resizeStart", n, c(o)) }, resize: function (n, o) {
            h._trigger("resize",
n, c(o))
        }, stop: function (n, o) { b(this).removeClass("ui-dialog-resizing"); i.height = b(this).height(); i.width = b(this).width(); h._trigger("resizeStop", n, c(o)); b.ui.dialog.overlay.resize() } 
        }).css("position", j).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")
    }, _minHeight: function () { var a = this.options; return a.height === "auto" ? a.minHeight : Math.min(a.minHeight, a.height) }, _position: function (a) {
        var c = [], h = [0, 0], i; if (a) {
            if (typeof a === "string" || typeof a === "object" && "0" in a) {
                c = a.split ? a.split(" ") :
[a[0], a[1]]; if (c.length === 1) c[1] = c[0]; b.each(["left", "top"], function (j, n) { if (+c[j] === c[j]) { h[j] = c[j]; c[j] = n } }); a = { my: c.join(" "), at: c.join(" "), offset: h.join(" ")}
            } a = b.extend({}, b.ui.dialog.prototype.options.position, a)
        } else a = b.ui.dialog.prototype.options.position; (i = this.uiDialog.is(":visible")) || this.uiDialog.show(); this.uiDialog.css({ top: 0, left: 0 }).position(b.extend({ of: window }, a)); i || this.uiDialog.hide()
    }, _setOptions: function (a) {
        var c = this, h = {}, i = false; b.each(a, function (j, n) {
            c._setOption(j, n);
            if (j in e) i = true; if (j in f) h[j] = n
        }); i && this._size(); this.uiDialog.is(":data(resizable)") && this.uiDialog.resizable("option", h)
    }, _setOption: function (a, c) {
        var h = this, i = h.uiDialog; switch (a) {
            case "beforeclose": a = "beforeClose"; break; case "buttons": h._createButtons(c); break; case "closeText": h.uiDialogTitlebarCloseText.text("" + c); break; case "dialogClass": i.removeClass(h.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all " + c); break; case "disabled": c ? i.addClass("ui-dialog-disabled") :
i.removeClass("ui-dialog-disabled"); break; case "draggable": var j = i.is(":data(draggable)"); j && !c && i.draggable("destroy"); !j && c && h._makeDraggable(); break; case "position": h._position(c); break; case "resizable": (j = i.is(":data(resizable)")) && !c && i.resizable("destroy"); j && typeof c === "string" && i.resizable("option", "handles", c); !j && c !== false && h._makeResizable(c); break; case "title": b(".ui-dialog-title", h.uiDialogTitlebar).html("" + (c || "&#160;")); break
        } b.Widget.prototype._setOption.apply(h, arguments)
    }, _size: function () {
        var a =
this.options, c, h, i = this.uiDialog.is(":visible"); this.element.show().css({ width: "auto", minHeight: 0, height: 0 }); if (a.minWidth > a.width) a.width = a.minWidth; c = this.uiDialog.css({ height: "auto", width: a.width }).height(); h = Math.max(0, a.minHeight - c); if (a.height === "auto") if (b.support.minHeight) this.element.css({ minHeight: h, height: "auto" }); else { this.uiDialog.show(); a = this.element.css("height", "auto").height(); i || this.uiDialog.hide(); this.element.height(Math.max(a, h)) } else this.element.height(Math.max(a.height -
c, 0)); this.uiDialog.is(":data(resizable)") && this.uiDialog.resizable("option", "minHeight", this._minHeight())
    } 
    }); b.extend(b.ui.dialog, { version: "1.8.12", uuid: 0, maxZ: 0, getTitleId: function (a) { a = a.attr("id"); if (!a) { this.uuid += 1; a = this.uuid } return "ui-dialog-title-" + a }, overlay: function (a) { this.$el = b.ui.dialog.overlay.create(a) } }); b.extend(b.ui.dialog.overlay, { instances: [], oldInstances: [], maxZ: 0, events: b.map("focus,mousedown,mouseup,keydown,keypress,click".split(","), function (a) { return a + ".dialog-overlay" }).join(" "),
        create: function (a) {
            if (this.instances.length === 0) { setTimeout(function () { b.ui.dialog.overlay.instances.length && b(document).bind(b.ui.dialog.overlay.events, function (h) { if (b(h.target).zIndex() < b.ui.dialog.overlay.maxZ) return false }) }, 1); b(document).bind("keydown.dialog-overlay", function (h) { if (a.options.closeOnEscape && h.keyCode && h.keyCode === b.ui.keyCode.ESCAPE) { a.close(h); h.preventDefault() } }); b(window).bind("resize.dialog-overlay", b.ui.dialog.overlay.resize) } var c = (this.oldInstances.pop() || b("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({ width: this.width(),
                height: this.height()
            }); b.fn.bgiframe && c.bgiframe(); this.instances.push(c); return c
        }, destroy: function (a) { var c = b.inArray(a, this.instances); c != -1 && this.oldInstances.push(this.instances.splice(c, 1)[0]); this.instances.length === 0 && b([document, window]).unbind(".dialog-overlay"); a.remove(); var h = 0; b.each(this.instances, function () { h = Math.max(h, this.css("z-index")) }); this.maxZ = h }, height: function () {
            var a, c; if (b.browser.msie && b.browser.version < 7) {
                a = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight);
                c = Math.max(document.documentElement.offsetHeight, document.body.offsetHeight); return a < c ? b(window).height() + "px" : a + "px"
            } else return b(document).height() + "px"
        }, width: function () { var a, c; if (b.browser.msie && b.browser.version < 7) { a = Math.max(document.documentElement.scrollWidth, document.body.scrollWidth); c = Math.max(document.documentElement.offsetWidth, document.body.offsetWidth); return a < c ? b(window).width() + "px" : a + "px" } else return b(document).width() + "px" }, resize: function () {
            var a = b([]); b.each(b.ui.dialog.overlay.instances,
function () { a = a.add(this) }); a.css({ width: 0, height: 0 }).css({ width: b.ui.dialog.overlay.width(), height: b.ui.dialog.overlay.height() })
        } 
    }); b.extend(b.ui.dialog.overlay.prototype, { destroy: function () { b.ui.dialog.overlay.destroy(this.$el) } })
})(jQuery);
(function (b) {
    b.ui = b.ui || {}; var d = /left|center|right/, e = /top|center|bottom/, f = b.fn.position, g = b.fn.offset; b.fn.position = function (a) {
        if (!a || !a.of) return f.apply(this, arguments); a = b.extend({}, a); var c = b(a.of), h = c[0], i = (a.collision || "flip").split(" "), j = a.offset ? a.offset.split(" ") : [0, 0], n, o, l; if (h.nodeType === 9) { n = c.width(); o = c.height(); l = { top: 0, left: 0} } else if (h.setTimeout) { n = c.width(); o = c.height(); l = { top: c.scrollTop(), left: c.scrollLeft()} } else if (h.preventDefault) {
            a.at = "left top"; n = o = 0; l = { top: a.of.pageY,
                left: a.of.pageX
            }
        } else { n = c.outerWidth(); o = c.outerHeight(); l = c.offset() } b.each(["my", "at"], function () { var k = (a[this] || "").split(" "); if (k.length === 1) k = d.test(k[0]) ? k.concat(["center"]) : e.test(k[0]) ? ["center"].concat(k) : ["center", "center"]; k[0] = d.test(k[0]) ? k[0] : "center"; k[1] = e.test(k[1]) ? k[1] : "center"; a[this] = k }); if (i.length === 1) i[1] = i[0]; j[0] = parseInt(j[0], 10) || 0; if (j.length === 1) j[1] = j[0]; j[1] = parseInt(j[1], 10) || 0; if (a.at[0] === "right") l.left += n; else if (a.at[0] === "center") l.left += n / 2; if (a.at[1] === "bottom") l.top +=
o; else if (a.at[1] === "center") l.top += o / 2; l.left += j[0]; l.top += j[1]; return this.each(function () {
    var k = b(this), m = k.outerWidth(), p = k.outerHeight(), q = parseInt(b.curCSS(this, "marginLeft", true)) || 0, s = parseInt(b.curCSS(this, "marginTop", true)) || 0, r = m + q + (parseInt(b.curCSS(this, "marginRight", true)) || 0), u = p + s + (parseInt(b.curCSS(this, "marginBottom", true)) || 0), v = b.extend({}, l), w; if (a.my[0] === "right") v.left -= m; else if (a.my[0] === "center") v.left -= m / 2; if (a.my[1] === "bottom") v.top -= p; else if (a.my[1] === "center") v.top -=
p / 2; v.left = Math.round(v.left); v.top = Math.round(v.top); w = { left: v.left - q, top: v.top - s }; b.each(["left", "top"], function (y, B) { b.ui.position[i[y]] && b.ui.position[i[y]][B](v, { targetWidth: n, targetHeight: o, elemWidth: m, elemHeight: p, collisionPosition: w, collisionWidth: r, collisionHeight: u, offset: j, my: a.my, at: a.at }) }); b.fn.bgiframe && k.bgiframe(); k.offset(b.extend(v, { using: a.using }))
})
    }; b.ui.position = { fit: { left: function (a, c) {
        var h = b(window); h = c.collisionPosition.left + c.collisionWidth - h.width() - h.scrollLeft(); a.left =
h > 0 ? a.left - h : Math.max(a.left - c.collisionPosition.left, a.left)
    }, top: function (a, c) { var h = b(window); h = c.collisionPosition.top + c.collisionHeight - h.height() - h.scrollTop(); a.top = h > 0 ? a.top - h : Math.max(a.top - c.collisionPosition.top, a.top) } 
    }, flip: { left: function (a, c) {
        if (c.at[0] !== "center") {
            var h = b(window); h = c.collisionPosition.left + c.collisionWidth - h.width() - h.scrollLeft(); var i = c.my[0] === "left" ? -c.elemWidth : c.my[0] === "right" ? c.elemWidth : 0, j = c.at[0] === "left" ? c.targetWidth : -c.targetWidth, n = -2 * c.offset[0]; a.left +=
c.collisionPosition.left < 0 ? i + j + n : h > 0 ? i + j + n : 0
        } 
    }, top: function (a, c) { if (c.at[1] !== "center") { var h = b(window); h = c.collisionPosition.top + c.collisionHeight - h.height() - h.scrollTop(); var i = c.my[1] === "top" ? -c.elemHeight : c.my[1] === "bottom" ? c.elemHeight : 0, j = c.at[1] === "top" ? c.targetHeight : -c.targetHeight, n = -2 * c.offset[1]; a.top += c.collisionPosition.top < 0 ? i + j + n : h > 0 ? i + j + n : 0 } } 
    }
    }; if (!b.offset.setOffset) {
        b.offset.setOffset = function (a, c) {
            if (/static/.test(b.curCSS(a, "position"))) a.style.position = "relative"; var h = b(a),
i = h.offset(), j = parseInt(b.curCSS(a, "top", true), 10) || 0, n = parseInt(b.curCSS(a, "left", true), 10) || 0; i = { top: c.top - i.top + j, left: c.left - i.left + n }; "using" in c ? c.using.call(a, i) : h.css(i)
        }; b.fn.offset = function (a) { var c = this[0]; if (!c || !c.ownerDocument) return null; if (a) return this.each(function () { b.offset.setOffset(this, a) }); return g.call(this) } 
    } 
})(jQuery);
(function (b, d) {
    b.widget("ui.progressbar", { options: { value: 0, max: 100 }, min: 0, _create: function () { this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({ role: "progressbar", "aria-valuemin": this.min, "aria-valuemax": this.options.max, "aria-valuenow": this._value() }); this.valueDiv = b("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element); this.oldValue = this._value(); this._refreshValue() }, destroy: function () {
        this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow");
        this.valueDiv.remove(); b.Widget.prototype.destroy.apply(this, arguments)
    }, value: function (e) { if (e === d) return this._value(); this._setOption("value", e); return this }, _setOption: function (e, f) { if (e === "value") { this.options.value = f; this._refreshValue(); this._value() === this.options.max && this._trigger("complete") } b.Widget.prototype._setOption.apply(this, arguments) }, _value: function () { var e = this.options.value; if (typeof e !== "number") e = 0; return Math.min(this.options.max, Math.max(this.min, e)) }, _percentage: function () {
        return 100 *
this._value() / this.options.max
    }, _refreshValue: function () { var e = this.value(), f = this._percentage(); if (this.oldValue !== e) { this.oldValue = e; this._trigger("change") } this.valueDiv.toggle(e > this.min).toggleClass("ui-corner-right", e === this.options.max).width(f.toFixed(0) + "%"); this.element.attr("aria-valuenow", e) } 
    }); b.extend(b.ui.progressbar, { version: "1.8.12" })
})(jQuery);
(function (b) {
    b.widget("ui.slider", b.ui.mouse, { widgetEventPrefix: "slide", options: { animate: false, distance: 0, max: 100, min: 0, orientation: "horizontal", range: false, step: 1, value: 0, values: null }, _create: function () {
        var d = this, e = this.options; this._mouseSliding = this._keySliding = false; this._animateOff = true; this._handleIndex = null; this._detectOrientation(); this._mouseInit(); this.element.addClass("ui-slider ui-slider-" + this.orientation + " ui-widget ui-widget-content ui-corner-all"); e.disabled && this.element.addClass("ui-slider-disabled ui-disabled");
        this.range = b([]); if (e.range) { if (e.range === true) { this.range = b("<div></div>"); if (!e.values) e.values = [this._valueMin(), this._valueMin()]; if (e.values.length && e.values.length !== 2) e.values = [e.values[0], e.values[0]] } else this.range = b("<div></div>"); this.range.appendTo(this.element).addClass("ui-slider-range"); if (e.range === "min" || e.range === "max") this.range.addClass("ui-slider-range-" + e.range); this.range.addClass("ui-widget-header") } b(".ui-slider-handle", this.element).length === 0 && b("<a href='#'></a>").appendTo(this.element).addClass("ui-slider-handle");
        if (e.values && e.values.length) for (; b(".ui-slider-handle", this.element).length < e.values.length; ) b("<a href='#'></a>").appendTo(this.element).addClass("ui-slider-handle"); this.handles = b(".ui-slider-handle", this.element).addClass("ui-state-default ui-corner-all"); this.handle = this.handles.eq(0); this.handles.add(this.range).filter("a").click(function (f) { f.preventDefault() }).hover(function () { e.disabled || b(this).addClass("ui-state-hover") }, function () { b(this).removeClass("ui-state-hover") }).focus(function () {
            if (e.disabled) b(this).blur();
            else { b(".ui-slider .ui-state-focus").removeClass("ui-state-focus"); b(this).addClass("ui-state-focus") } 
        }).blur(function () { b(this).removeClass("ui-state-focus") }); this.handles.each(function (f) { b(this).data("index.ui-slider-handle", f) }); this.handles.keydown(function (f) {
            var g = true, a = b(this).data("index.ui-slider-handle"), c, h, i; if (!d.options.disabled) {
                switch (f.keyCode) {
                    case b.ui.keyCode.HOME: case b.ui.keyCode.END: case b.ui.keyCode.PAGE_UP: case b.ui.keyCode.PAGE_DOWN: case b.ui.keyCode.UP: case b.ui.keyCode.RIGHT: case b.ui.keyCode.DOWN: case b.ui.keyCode.LEFT: g =
false; if (!d._keySliding) { d._keySliding = true; b(this).addClass("ui-state-active"); c = d._start(f, a); if (c === false) return } break
                } i = d.options.step; c = d.options.values && d.options.values.length ? (h = d.values(a)) : (h = d.value()); switch (f.keyCode) {
                    case b.ui.keyCode.HOME: h = d._valueMin(); break; case b.ui.keyCode.END: h = d._valueMax(); break; case b.ui.keyCode.PAGE_UP: h = d._trimAlignValue(c + (d._valueMax() - d._valueMin()) / 5); break; case b.ui.keyCode.PAGE_DOWN: h = d._trimAlignValue(c - (d._valueMax() - d._valueMin()) / 5); break; case b.ui.keyCode.UP: case b.ui.keyCode.RIGHT: if (c ===
d._valueMax()) return; h = d._trimAlignValue(c + i); break; case b.ui.keyCode.DOWN: case b.ui.keyCode.LEFT: if (c === d._valueMin()) return; h = d._trimAlignValue(c - i); break
                } d._slide(f, a, h); return g
            } 
        }).keyup(function (f) { var g = b(this).data("index.ui-slider-handle"); if (d._keySliding) { d._keySliding = false; d._stop(f, g); d._change(f, g); b(this).removeClass("ui-state-active") } }); this._refreshValue(); this._animateOff = false
    }, destroy: function () {
        this.handles.remove(); this.range.remove(); this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");
        this._mouseDestroy(); return this
    }, _mouseCapture: function (d) {
        var e = this.options, f, g, a, c, h; if (e.disabled) return false; this.elementSize = { width: this.element.outerWidth(), height: this.element.outerHeight() }; this.elementOffset = this.element.offset(); f = this._normValueFromMouse({ x: d.pageX, y: d.pageY }); g = this._valueMax() - this._valueMin() + 1; c = this; this.handles.each(function (i) { var j = Math.abs(f - c.values(i)); if (g > j) { g = j; a = b(this); h = i } }); if (e.range === true && this.values(1) === e.min) { h += 1; a = b(this.handles[h]) } if (this._start(d,
h) === false) return false; this._mouseSliding = true; c._handleIndex = h; a.addClass("ui-state-active").focus(); e = a.offset(); this._clickOffset = !b(d.target).parents().andSelf().is(".ui-slider-handle") ? { left: 0, top: 0} : { left: d.pageX - e.left - a.width() / 2, top: d.pageY - e.top - a.height() / 2 - (parseInt(a.css("borderTopWidth"), 10) || 0) - (parseInt(a.css("borderBottomWidth"), 10) || 0) + (parseInt(a.css("marginTop"), 10) || 0) }; this.handles.hasClass("ui-state-hover") || this._slide(d, h, f); return this._animateOff = true
    }, _mouseStart: function () { return true },
        _mouseDrag: function (d) { var e = this._normValueFromMouse({ x: d.pageX, y: d.pageY }); this._slide(d, this._handleIndex, e); return false }, _mouseStop: function (d) { this.handles.removeClass("ui-state-active"); this._mouseSliding = false; this._stop(d, this._handleIndex); this._change(d, this._handleIndex); this._clickOffset = this._handleIndex = null; return this._animateOff = false }, _detectOrientation: function () { this.orientation = this.options.orientation === "vertical" ? "vertical" : "horizontal" }, _normValueFromMouse: function (d) {
            var e;
            if (this.orientation === "horizontal") { e = this.elementSize.width; d = d.x - this.elementOffset.left - (this._clickOffset ? this._clickOffset.left : 0) } else { e = this.elementSize.height; d = d.y - this.elementOffset.top - (this._clickOffset ? this._clickOffset.top : 0) } e = d / e; if (e > 1) e = 1; if (e < 0) e = 0; if (this.orientation === "vertical") e = 1 - e; d = this._valueMax() - this._valueMin(); return this._trimAlignValue(this._valueMin() + e * d)
        }, _start: function (d, e) {
            var f = { handle: this.handles[e], value: this.value() }; if (this.options.values && this.options.values.length) {
                f.value =
this.values(e); f.values = this.values()
            } return this._trigger("start", d, f)
        }, _slide: function (d, e, f) {
            var g; if (this.options.values && this.options.values.length) { g = this.values(e ? 0 : 1); if (this.options.values.length === 2 && this.options.range === true && (e === 0 && f > g || e === 1 && f < g)) f = g; if (f !== this.values(e)) { g = this.values(); g[e] = f; d = this._trigger("slide", d, { handle: this.handles[e], value: f, values: g }); this.values(e ? 0 : 1); d !== false && this.values(e, f, true) } } else if (f !== this.value()) {
                d = this._trigger("slide", d, { handle: this.handles[e],
                    value: f
                }); d !== false && this.value(f)
            } 
        }, _stop: function (d, e) { var f = { handle: this.handles[e], value: this.value() }; if (this.options.values && this.options.values.length) { f.value = this.values(e); f.values = this.values() } this._trigger("stop", d, f) }, _change: function (d, e) { if (!this._keySliding && !this._mouseSliding) { var f = { handle: this.handles[e], value: this.value() }; if (this.options.values && this.options.values.length) { f.value = this.values(e); f.values = this.values() } this._trigger("change", d, f) } }, value: function (d) {
            if (arguments.length) {
                this.options.value =
this._trimAlignValue(d); this._refreshValue(); this._change(null, 0)
            } else return this._value()
        }, values: function (d, e) {
            var f, g, a; if (arguments.length > 1) { this.options.values[d] = this._trimAlignValue(e); this._refreshValue(); this._change(null, d) } else if (arguments.length) if (b.isArray(arguments[0])) { f = this.options.values; g = arguments[0]; for (a = 0; a < f.length; a += 1) { f[a] = this._trimAlignValue(g[a]); this._change(null, a) } this._refreshValue() } else return this.options.values && this.options.values.length ? this._values(d) :
this.value(); else return this._values()
        }, _setOption: function (d, e) {
            var f, g = 0; if (b.isArray(this.options.values)) g = this.options.values.length; b.Widget.prototype._setOption.apply(this, arguments); switch (d) {
                case "disabled": if (e) { this.handles.filter(".ui-state-focus").blur(); this.handles.removeClass("ui-state-hover"); this.handles.attr("disabled", "disabled"); this.element.addClass("ui-disabled") } else { this.handles.removeAttr("disabled"); this.element.removeClass("ui-disabled") } break; case "orientation": this._detectOrientation();
                    this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-" + this.orientation); this._refreshValue(); break; case "value": this._animateOff = true; this._refreshValue(); this._change(null, 0); this._animateOff = false; break; case "values": this._animateOff = true; this._refreshValue(); for (f = 0; f < g; f += 1) this._change(null, f); this._animateOff = false; break
            } 
        }, _value: function () { var d = this.options.value; return d = this._trimAlignValue(d) }, _values: function (d) {
            var e, f; if (arguments.length) {
                e = this.options.values[d];
                return e = this._trimAlignValue(e)
            } else { e = this.options.values.slice(); for (f = 0; f < e.length; f += 1) e[f] = this._trimAlignValue(e[f]); return e } 
        }, _trimAlignValue: function (d) { if (d <= this._valueMin()) return this._valueMin(); if (d >= this._valueMax()) return this._valueMax(); var e = this.options.step > 0 ? this.options.step : 1, f = (d - this._valueMin()) % e; alignValue = d - f; if (Math.abs(f) * 2 >= e) alignValue += f > 0 ? e : -e; return parseFloat(alignValue.toFixed(5)) }, _valueMin: function () { return this.options.min }, _valueMax: function () { return this.options.max },
        _refreshValue: function () {
            var d = this.options.range, e = this.options, f = this, g = !this._animateOff ? e.animate : false, a, c = {}, h, i, j, n; if (this.options.values && this.options.values.length) this.handles.each(function (o) {
                a = (f.values(o) - f._valueMin()) / (f._valueMax() - f._valueMin()) * 100; c[f.orientation === "horizontal" ? "left" : "bottom"] = a + "%"; b(this).stop(1, 1)[g ? "animate" : "css"](c, e.animate); if (f.options.range === true) if (f.orientation === "horizontal") {
                    if (o === 0) f.range.stop(1, 1)[g ? "animate" : "css"]({ left: a + "%" }, e.animate);
                    if (o === 1) f.range[g ? "animate" : "css"]({ width: a - h + "%" }, { queue: false, duration: e.animate })
                } else { if (o === 0) f.range.stop(1, 1)[g ? "animate" : "css"]({ bottom: a + "%" }, e.animate); if (o === 1) f.range[g ? "animate" : "css"]({ height: a - h + "%" }, { queue: false, duration: e.animate }) } h = a
            }); else {
                i = this.value(); j = this._valueMin(); n = this._valueMax(); a = n !== j ? (i - j) / (n - j) * 100 : 0; c[f.orientation === "horizontal" ? "left" : "bottom"] = a + "%"; this.handle.stop(1, 1)[g ? "animate" : "css"](c, e.animate); if (d === "min" && this.orientation === "horizontal") this.range.stop(1,
1)[g ? "animate" : "css"]({ width: a + "%" }, e.animate); if (d === "max" && this.orientation === "horizontal") this.range[g ? "animate" : "css"]({ width: 100 - a + "%" }, { queue: false, duration: e.animate }); if (d === "min" && this.orientation === "vertical") this.range.stop(1, 1)[g ? "animate" : "css"]({ height: a + "%" }, e.animate); if (d === "max" && this.orientation === "vertical") this.range[g ? "animate" : "css"]({ height: 100 - a + "%" }, { queue: false, duration: e.animate })
            } 
        } 
    }); b.extend(b.ui.slider, { version: "1.8.12" })
})(jQuery);
(function (b, d) {
    function e() { return ++g } function f() { return ++a } var g = 0, a = 0; b.widget("ui.tabs", { options: { add: null, ajaxOptions: null, cache: false, cookie: null, collapsible: false, disable: null, disabled: [], enable: null, event: "click", fx: null, idPrefix: "ui-tabs-", load: null, panelTemplate: "<div></div>", remove: null, select: null, show: null, spinner: "<em>Loading&#8230;</em>", tabTemplate: "<li><a href='#{href}'><span>#{label}</span></a></li>" }, _create: function () { this._tabify(true) }, _setOption: function (c, h) {
        if (c == "selected") this.options.collapsible &&
h == this.options.selected || this.select(h); else { this.options[c] = h; this._tabify() } 
    }, _tabId: function (c) { return c.title && c.title.replace(/\s/g, "_").replace(/[^\w\u00c0-\uFFFF-]/g, "") || this.options.idPrefix + e() }, _sanitizeSelector: function (c) { return c.replace(/:/g, "\\:") }, _cookie: function () { var c = this.cookie || (this.cookie = this.options.cookie.name || "ui-tabs-" + f()); return b.cookie.apply(null, [c].concat(b.makeArray(arguments))) }, _ui: function (c, h) { return { tab: c, panel: h, index: this.anchors.index(c)} }, _cleanup: function () {
        this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function () {
            var c =
b(this); c.html(c.data("label.tabs")).removeData("label.tabs")
        })
    }, _tabify: function (c) {
        function h(r, u) { r.css("display", ""); !b.support.opacity && u.opacity && r[0].style.removeAttribute("filter") } var i = this, j = this.options, n = /^#.+/; this.list = this.element.find("ol,ul").eq(0); this.lis = b(" > li:has(a[href])", this.list); this.anchors = this.lis.map(function () { return b("a", this)[0] }); this.panels = b([]); this.anchors.each(function (r, u) {
            var v = b(u).attr("href"), w = v.split("#")[0], y; if (w && (w === location.toString().split("#")[0] ||
(y = b("base")[0]) && w === y.href)) { v = u.hash; u.href = v } if (n.test(v)) i.panels = i.panels.add(i.element.find(i._sanitizeSelector(v))); else if (v && v !== "#") { b.data(u, "href.tabs", v); b.data(u, "load.tabs", v.replace(/#.*$/, "")); v = i._tabId(u); u.href = "#" + v; u = i.element.find("#" + v); if (!u.length) { u = b(j.panelTemplate).attr("id", v).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(i.panels[r - 1] || i.list); u.data("destroy.tabs", true) } i.panels = i.panels.add(u) } else j.disabled.push(r)
        }); if (c) {
            this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");
            this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"); this.lis.addClass("ui-state-default ui-corner-top"); this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom"); if (j.selected === d) {
                location.hash && this.anchors.each(function (r, u) { if (u.hash == location.hash) { j.selected = r; return false } }); if (typeof j.selected !== "number" && j.cookie) j.selected = parseInt(i._cookie(), 10); if (typeof j.selected !== "number" && this.lis.filter(".ui-tabs-selected").length) j.selected =
this.lis.index(this.lis.filter(".ui-tabs-selected")); j.selected = j.selected || (this.lis.length ? 0 : -1)
            } else if (j.selected === null) j.selected = -1; j.selected = j.selected >= 0 && this.anchors[j.selected] || j.selected < 0 ? j.selected : 0; j.disabled = b.unique(j.disabled.concat(b.map(this.lis.filter(".ui-state-disabled"), function (r) { return i.lis.index(r) }))).sort(); b.inArray(j.selected, j.disabled) != -1 && j.disabled.splice(b.inArray(j.selected, j.disabled), 1); this.panels.addClass("ui-tabs-hide"); this.lis.removeClass("ui-tabs-selected ui-state-active");
            if (j.selected >= 0 && this.anchors.length) { i.element.find(i._sanitizeSelector(i.anchors[j.selected].hash)).removeClass("ui-tabs-hide"); this.lis.eq(j.selected).addClass("ui-tabs-selected ui-state-active"); i.element.queue("tabs", function () { i._trigger("show", null, i._ui(i.anchors[j.selected], i.element.find(i._sanitizeSelector(i.anchors[j.selected].hash))[0])) }); this.load(j.selected) } b(window).bind("unload", function () { i.lis.add(i.anchors).unbind(".tabs"); i.lis = i.anchors = i.panels = null })
        } else j.selected = this.lis.index(this.lis.filter(".ui-tabs-selected"));
        this.element[j.collapsible ? "addClass" : "removeClass"]("ui-tabs-collapsible"); j.cookie && this._cookie(j.selected, j.cookie); c = 0; for (var o; o = this.lis[c]; c++) b(o)[b.inArray(c, j.disabled) != -1 && !b(o).hasClass("ui-tabs-selected") ? "addClass" : "removeClass"]("ui-state-disabled"); j.cache === false && this.anchors.removeData("cache.tabs"); this.lis.add(this.anchors).unbind(".tabs"); if (j.event !== "mouseover") {
            var l = function (r, u) { u.is(":not(.ui-state-disabled)") && u.addClass("ui-state-" + r) }, k = function (r, u) {
                u.removeClass("ui-state-" +
r)
            }; this.lis.bind("mouseover.tabs", function () { l("hover", b(this)) }); this.lis.bind("mouseout.tabs", function () { k("hover", b(this)) }); this.anchors.bind("focus.tabs", function () { l("focus", b(this).closest("li")) }); this.anchors.bind("blur.tabs", function () { k("focus", b(this).closest("li")) })
        } var m, p; if (j.fx) if (b.isArray(j.fx)) { m = j.fx[0]; p = j.fx[1] } else m = p = j.fx; var q = p ? function (r, u) {
            b(r).closest("li").addClass("ui-tabs-selected ui-state-active"); u.hide().removeClass("ui-tabs-hide").animate(p, p.duration || "normal",
function () { h(u, p); i._trigger("show", null, i._ui(r, u[0])) })
        } : function (r, u) { b(r).closest("li").addClass("ui-tabs-selected ui-state-active"); u.removeClass("ui-tabs-hide"); i._trigger("show", null, i._ui(r, u[0])) }, s = m ? function (r, u) { u.animate(m, m.duration || "normal", function () { i.lis.removeClass("ui-tabs-selected ui-state-active"); u.addClass("ui-tabs-hide"); h(u, m); i.element.dequeue("tabs") }) } : function (r, u) { i.lis.removeClass("ui-tabs-selected ui-state-active"); u.addClass("ui-tabs-hide"); i.element.dequeue("tabs") };
        this.anchors.bind(j.event + ".tabs", function () {
            var r = this, u = b(r).closest("li"), v = i.panels.filter(":not(.ui-tabs-hide)"), w = i.element.find(i._sanitizeSelector(r.hash)); if (u.hasClass("ui-tabs-selected") && !j.collapsible || u.hasClass("ui-state-disabled") || u.hasClass("ui-state-processing") || i.panels.filter(":animated").length || i._trigger("select", null, i._ui(this, w[0])) === false) { this.blur(); return false } j.selected = i.anchors.index(this); i.abort(); if (j.collapsible) if (u.hasClass("ui-tabs-selected")) {
                j.selected =
-1; j.cookie && i._cookie(j.selected, j.cookie); i.element.queue("tabs", function () { s(r, v) }).dequeue("tabs"); this.blur(); return false
            } else if (!v.length) { j.cookie && i._cookie(j.selected, j.cookie); i.element.queue("tabs", function () { q(r, w) }); i.load(i.anchors.index(this)); this.blur(); return false } j.cookie && i._cookie(j.selected, j.cookie); if (w.length) { v.length && i.element.queue("tabs", function () { s(r, v) }); i.element.queue("tabs", function () { q(r, w) }); i.load(i.anchors.index(this)) } else throw "jQuery UI Tabs: Mismatching fragment identifier.";
            b.browser.msie && this.blur()
        }); this.anchors.bind("click.tabs", function () { return false })
    }, _getIndex: function (c) { if (typeof c == "string") c = this.anchors.index(this.anchors.filter("[href$=" + c + "]")); return c }, destroy: function () {
        var c = this.options; this.abort(); this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs"); this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"); this.anchors.each(function () {
            var h =
b.data(this, "href.tabs"); if (h) this.href = h; var i = b(this).unbind(".tabs"); b.each(["href", "load", "cache"], function (j, n) { i.removeData(n + ".tabs") })
        }); this.lis.unbind(".tabs").add(this.panels).each(function () { b.data(this, "destroy.tabs") ? b(this).remove() : b(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide") }); c.cookie && this._cookie(null, c.cookie); return this
    }, add: function (c,
h, i) {
        if (i === d) i = this.anchors.length; var j = this, n = this.options; h = b(n.tabTemplate.replace(/#\{href\}/g, c).replace(/#\{label\}/g, h)); c = !c.indexOf("#") ? c.replace("#", "") : this._tabId(b("a", h)[0]); h.addClass("ui-state-default ui-corner-top").data("destroy.tabs", true); var o = j.element.find("#" + c); o.length || (o = b(n.panelTemplate).attr("id", c).data("destroy.tabs", true)); o.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"); if (i >= this.lis.length) { h.appendTo(this.list); o.appendTo(this.list[0].parentNode) } else {
            h.insertBefore(this.lis[i]);
            o.insertBefore(this.panels[i])
        } n.disabled = b.map(n.disabled, function (l) { return l >= i ? ++l : l }); this._tabify(); if (this.anchors.length == 1) { n.selected = 0; h.addClass("ui-tabs-selected ui-state-active"); o.removeClass("ui-tabs-hide"); this.element.queue("tabs", function () { j._trigger("show", null, j._ui(j.anchors[0], j.panels[0])) }); this.load(0) } this._trigger("add", null, this._ui(this.anchors[i], this.panels[i])); return this
    }, remove: function (c) {
        c = this._getIndex(c); var h = this.options, i = this.lis.eq(c).remove(), j = this.panels.eq(c).remove();
        if (i.hasClass("ui-tabs-selected") && this.anchors.length > 1) this.select(c + (c + 1 < this.anchors.length ? 1 : -1)); h.disabled = b.map(b.grep(h.disabled, function (n) { return n != c }), function (n) { return n >= c ? --n : n }); this._tabify(); this._trigger("remove", null, this._ui(i.find("a")[0], j[0])); return this
    }, enable: function (c) {
        c = this._getIndex(c); var h = this.options; if (b.inArray(c, h.disabled) != -1) {
            this.lis.eq(c).removeClass("ui-state-disabled"); h.disabled = b.grep(h.disabled, function (i) { return i != c }); this._trigger("enable", null,
this._ui(this.anchors[c], this.panels[c])); return this
        } 
    }, disable: function (c) { c = this._getIndex(c); var h = this.options; if (c != h.selected) { this.lis.eq(c).addClass("ui-state-disabled"); h.disabled.push(c); h.disabled.sort(); this._trigger("disable", null, this._ui(this.anchors[c], this.panels[c])) } return this }, select: function (c) { c = this._getIndex(c); if (c == -1) if (this.options.collapsible && this.options.selected != -1) c = this.options.selected; else return this; this.anchors.eq(c).trigger(this.options.event + ".tabs"); return this },
        load: function (c) {
            c = this._getIndex(c); var h = this, i = this.options, j = this.anchors.eq(c)[0], n = b.data(j, "load.tabs"); this.abort(); if (!n || this.element.queue("tabs").length !== 0 && b.data(j, "cache.tabs")) this.element.dequeue("tabs"); else {
                this.lis.eq(c).addClass("ui-state-processing"); if (i.spinner) { var o = b("span", j); o.data("label.tabs", o.html()).html(i.spinner) } this.xhr = b.ajax(b.extend({}, i.ajaxOptions, { url: n, success: function (l, k) {
                    h.element.find(h._sanitizeSelector(j.hash)).html(l); h._cleanup(); i.cache && b.data(j,
"cache.tabs", true); h._trigger("load", null, h._ui(h.anchors[c], h.panels[c])); try { i.ajaxOptions.success(l, k) } catch (m) { } 
                }, error: function (l, k) { h._cleanup(); h._trigger("load", null, h._ui(h.anchors[c], h.panels[c])); try { i.ajaxOptions.error(l, k, c, j) } catch (m) { } } 
                })); h.element.dequeue("tabs"); return this
            } 
        }, abort: function () { this.element.queue([]); this.panels.stop(false, true); this.element.queue("tabs", this.element.queue("tabs").splice(-2, 2)); if (this.xhr) { this.xhr.abort(); delete this.xhr } this._cleanup(); return this },
        url: function (c, h) { this.anchors.eq(c).removeData("cache.tabs").data("load.tabs", h); return this }, length: function () { return this.anchors.length } 
    }); b.extend(b.ui.tabs, { version: "1.8.12" }); b.extend(b.ui.tabs.prototype, { rotation: null, rotate: function (c, h) {
        var i = this, j = this.options, n = i._rotate || (i._rotate = function (o) { clearTimeout(i.rotation); i.rotation = setTimeout(function () { var l = j.selected; i.select(++l < i.anchors.length ? l : 0) }, c); o && o.stopPropagation() }); h = i._unrotate || (i._unrotate = !h ? function (o) {
            o.clientX &&
i.rotate(null)
        } : function () { t = j.selected; n() }); if (c) { this.element.bind("tabsshow", n); this.anchors.bind(j.event + ".tabs", h); n() } else { clearTimeout(i.rotation); this.element.unbind("tabsshow", n); this.anchors.unbind(j.event + ".tabs", h); delete this._rotate; delete this._unrotate } return this
    } 
    })
})(jQuery);

