﻿/*
* Software Copyright Notice

Copyright © 2004-2009 MXit Lifestyle Development Company (Pty) Ltd.
All rights are reserved

Copyright exists in this computer program and it is protected by
copyright law and by international treaties. The unauthorised use,
reproduction or distribution of this computer program constitute
acts of copyright infringement and may result in civil and criminal
penalties. Any infringement will be prosecuted to the maximum extent
possible.

MXit Lifestyle Development Company (Pty) Ltd chooses the following
address for delivery of all legal proceedings and notices:
Riesling House,
Brandwacht Office Park,
Trumali Road,
Stellenbosch,
7600,
South Africa.

The following computer programs, or portions thereof, are used in
this computer program under licenses obtained from third parties.
You are obliged to familiarise yourself with the contents of those
licenses.
*/
(function (A, w) {
    function ma() { if (!c.isReady) { try { s.documentElement.doScroll("left") } catch (a) { setTimeout(ma, 1); return } c.ready() } } function Qa(a, b) { b.src ? c.ajax({ url: b.src, async: false, dataType: "script" }) : c.globalEval(b.text || b.textContent || b.innerHTML || ""); b.parentNode && b.parentNode.removeChild(b) } function X(a, b, d, f, e, j) {
        var i = a.length; if (typeof b === "object") { for (var o in b) X(a, o, b[o], f, e, d); return a } if (d !== w) { f = !j && f && c.isFunction(d); for (o = 0; o < i; o++) e(a[o], b, f ? d.call(a[o], o, e(a[o], b)) : d, j); return a } return i ?
e(a[0], b) : w
    } function J() { return (new Date).getTime() } function Y() { return false } function Z() { return true } function na(a, b, d) { d[0].type = a; return c.event.handle.apply(b, d) } function oa(a) {
        var b, d = [], f = [], e = arguments, j, i, o, k, n, r; i = c.data(this, "events"); if (!(a.liveFired === this || !i || !i.live || a.button && a.type === "click")) {
            a.liveFired = this; var u = i.live.slice(0); for (k = 0; k < u.length; k++) { i = u[k]; i.origType.replace(O, "") === a.type ? f.push(i.selector) : u.splice(k--, 1) } j = c(a.target).closest(f, a.currentTarget); n = 0; for (r =
j.length; n < r; n++) for (k = 0; k < u.length; k++) { i = u[k]; if (j[n].selector === i.selector) { o = j[n].elem; f = null; if (i.preType === "mouseenter" || i.preType === "mouseleave") f = c(a.relatedTarget).closest(i.selector)[0]; if (!f || f !== o) d.push({ elem: o, handleObj: i }) } } n = 0; for (r = d.length; n < r; n++) { j = d[n]; a.currentTarget = j.elem; a.data = j.handleObj.data; a.handleObj = j.handleObj; if (j.handleObj.origHandler.apply(j.elem, e) === false) { b = false; break } } return b
        }
    } function pa(a, b) {
        return "live." + (a && a !== "*" ? a + "." : "") + b.replace(/\./g, "`").replace(/ /g,
"&")
    } function qa(a) { return !a || !a.parentNode || a.parentNode.nodeType === 11 } function ra(a, b) { var d = 0; b.each(function () { if (this.nodeName === (a[d] && a[d].nodeName)) { var f = c.data(a[d++]), e = c.data(this, f); if (f = f && f.events) { delete e.handle; e.events = {}; for (var j in f) for (var i in f[j]) c.event.add(this, j, f[j][i], f[j][i].data) } } }) } function sa(a, b, d) {
        var f, e, j; b = b && b[0] ? b[0].ownerDocument || b[0] : s; if (a.length === 1 && typeof a[0] === "string" && a[0].length < 512 && b === s && !ta.test(a[0]) && (c.support.checkClone || !ua.test(a[0]))) {
            e =
true; if (j = c.fragments[a[0]]) if (j !== 1) f = j
        } if (!f) { f = b.createDocumentFragment(); c.clean(a, b, f, d) } if (e) c.fragments[a[0]] = j ? f : 1; return { fragment: f, cacheable: e }
    } function K(a, b) { var d = {}; c.each(va.concat.apply([], va.slice(0, b)), function () { d[this] = a }); return d } function wa(a) { return "scrollTo" in a && a.document ? a : a.nodeType === 9 ? a.defaultView || a.parentWindow : false } var c = function (a, b) { return new c.fn.init(a, b) }, Ra = A.jQuery, Sa = A.$, s = A.document, T, Ta = /^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/, Ua = /^.[^:#\[\.,]*$/, Va = /\S/,
Wa = /^(\s|\u00A0)+|(\s|\u00A0)+$/g, Xa = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, P = navigator.userAgent, xa = false, Q = [], L, $ = Object.prototype.toString, aa = Object.prototype.hasOwnProperty, ba = Array.prototype.push, R = Array.prototype.slice, ya = Array.prototype.indexOf; c.fn = c.prototype = { init: function (a, b) {
    var d, f; if (!a) return this; if (a.nodeType) { this.context = this[0] = a; this.length = 1; return this } if (a === "body" && !b) { this.context = s; this[0] = s.body; this.selector = "body"; this.length = 1; return this } if (typeof a === "string") if ((d = Ta.exec(a)) &&
(d[1] || !b)) if (d[1]) { f = b ? b.ownerDocument || b : s; if (a = Xa.exec(a)) if (c.isPlainObject(b)) { a = [s.createElement(a[1])]; c.fn.attr.call(a, b, true) } else a = [f.createElement(a[1])]; else { a = sa([d[1]], [f]); a = (a.cacheable ? a.fragment.cloneNode(true) : a.fragment).childNodes } return c.merge(this, a) } else { if (b = s.getElementById(d[2])) { if (b.id !== d[2]) return T.find(a); this.length = 1; this[0] = b } this.context = s; this.selector = a; return this } else if (!b && /^\w+$/.test(a)) {
        this.selector = a; this.context = s; a = s.getElementsByTagName(a); return c.merge(this,
a)
    } else return !b || b.jquery ? (b || T).find(a) : c(b).find(a); else if (c.isFunction(a)) return T.ready(a); if (a.selector !== w) { this.selector = a.selector; this.context = a.context } return c.makeArray(a, this)
}, selector: "", jquery: "1.4.2", length: 0, size: function () { return this.length }, toArray: function () { return R.call(this, 0) }, get: function (a) { return a == null ? this.toArray() : a < 0 ? this.slice(a)[0] : this[a] }, pushStack: function (a, b, d) {
    var f = c(); c.isArray(a) ? ba.apply(f, a) : c.merge(f, a); f.prevObject = this; f.context = this.context; if (b ===
"find") f.selector = this.selector + (this.selector ? " " : "") + d; else if (b) f.selector = this.selector + "." + b + "(" + d + ")"; return f
}, each: function (a, b) { return c.each(this, a, b) }, ready: function (a) { c.bindReady(); if (c.isReady) a.call(s, c); else Q && Q.push(a); return this }, eq: function (a) { return a === -1 ? this.slice(a) : this.slice(a, +a + 1) }, first: function () { return this.eq(0) }, last: function () { return this.eq(-1) }, slice: function () { return this.pushStack(R.apply(this, arguments), "slice", R.call(arguments).join(",")) }, map: function (a) {
    return this.pushStack(c.map(this,
function (b, d) { return a.call(b, d, b) }))
}, end: function () { return this.prevObject || c(null) }, push: ba, sort: [].sort, splice: [].splice
}; c.fn.init.prototype = c.fn; c.extend = c.fn.extend = function () {
    var a = arguments[0] || {}, b = 1, d = arguments.length, f = false, e, j, i, o; if (typeof a === "boolean") { f = a; a = arguments[1] || {}; b = 2 } if (typeof a !== "object" && !c.isFunction(a)) a = {}; if (d === b) { a = this; --b } for (; b < d; b++) if ((e = arguments[b]) != null) for (j in e) {
        i = a[j]; o = e[j]; if (a !== o) if (f && o && (c.isPlainObject(o) || c.isArray(o))) {
            i = i && (c.isPlainObject(i) ||
c.isArray(i)) ? i : c.isArray(o) ? [] : {}; a[j] = c.extend(f, i, o)
        } else if (o !== w) a[j] = o
    } return a
}; c.extend({ noConflict: function (a) { A.$ = Sa; if (a) A.jQuery = Ra; return c }, isReady: false, ready: function () { if (!c.isReady) { if (!s.body) return setTimeout(c.ready, 13); c.isReady = true; if (Q) { for (var a, b = 0; a = Q[b++]; ) a.call(s, c); Q = null } c.fn.triggerHandler && c(s).triggerHandler("ready") } }, bindReady: function () {
    if (!xa) {
        xa = true; if (s.readyState === "complete") return c.ready(); if (s.addEventListener) {
            s.addEventListener("DOMContentLoaded",
L, false); A.addEventListener("load", c.ready, false)
        } else if (s.attachEvent) { s.attachEvent("onreadystatechange", L); A.attachEvent("onload", c.ready); var a = false; try { a = A.frameElement == null } catch (b) { } s.documentElement.doScroll && a && ma() }
    }
}, isFunction: function (a) { return $.call(a) === "[object Function]" }, isArray: function (a) { return $.call(a) === "[object Array]" }, isPlainObject: function (a) {
    if (!a || $.call(a) !== "[object Object]" || a.nodeType || a.setInterval) return false; if (a.constructor && !aa.call(a, "constructor") && !aa.call(a.constructor.prototype,
"isPrototypeOf")) return false; var b; for (b in a); return b === w || aa.call(a, b)
}, isEmptyObject: function (a) { for (var b in a) return false; return true }, error: function (a) { throw a; }, parseJSON: function (a) {
    if (typeof a !== "string" || !a) return null; a = c.trim(a); if (/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) return A.JSON && A.JSON.parse ? A.JSON.parse(a) : (new Function("return " +
a))(); else c.error("Invalid JSON: " + a)
}, noop: function () { }, globalEval: function (a) { if (a && Va.test(a)) { var b = s.getElementsByTagName("head")[0] || s.documentElement, d = s.createElement("script"); d.type = "text/javascript"; if (c.support.scriptEval) d.appendChild(s.createTextNode(a)); else d.text = a; b.insertBefore(d, b.firstChild); b.removeChild(d) } }, nodeName: function (a, b) { return a.nodeName && a.nodeName.toUpperCase() === b.toUpperCase() }, each: function (a, b, d) {
    var f, e = 0, j = a.length, i = j === w || c.isFunction(a); if (d) if (i) for (f in a) {
        if (b.apply(a[f],
d) === false) break
    } else for (; e < j; ) { if (b.apply(a[e++], d) === false) break } else if (i) for (f in a) { if (b.call(a[f], f, a[f]) === false) break } else for (d = a[0]; e < j && b.call(d, e, d) !== false; d = a[++e]); return a
}, trim: function (a) { return (a || "").replace(Wa, "") }, makeArray: function (a, b) { b = b || []; if (a != null) a.length == null || typeof a === "string" || c.isFunction(a) || typeof a !== "function" && a.setInterval ? ba.call(b, a) : c.merge(b, a); return b }, inArray: function (a, b) {
    if (b.indexOf) return b.indexOf(a); for (var d = 0, f = b.length; d < f; d++) if (b[d] ===
a) return d; return -1
}, merge: function (a, b) { var d = a.length, f = 0; if (typeof b.length === "number") for (var e = b.length; f < e; f++) a[d++] = b[f]; else for (; b[f] !== w; ) a[d++] = b[f++]; a.length = d; return a }, grep: function (a, b, d) { for (var f = [], e = 0, j = a.length; e < j; e++) !d !== !b(a[e], e) && f.push(a[e]); return f }, map: function (a, b, d) { for (var f = [], e, j = 0, i = a.length; j < i; j++) { e = b(a[j], j, d); if (e != null) f[f.length] = e } return f.concat.apply([], f) }, guid: 1, proxy: function (a, b, d) {
    if (arguments.length === 2) if (typeof b === "string") { d = a; a = d[b]; b = w } else if (b &&
!c.isFunction(b)) { d = b; b = w } if (!b && a) b = function () { return a.apply(d || this, arguments) }; if (a) b.guid = a.guid = a.guid || b.guid || c.guid++; return b
}, uaMatch: function (a) { a = a.toLowerCase(); a = /(webkit)[ \/]([\w.]+)/.exec(a) || /(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a) || /(msie) ([\w.]+)/.exec(a) || !/compatible/.test(a) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec(a) || []; return { browser: a[1] || "", version: a[2] || "0"} }, browser: {}
}); P = c.uaMatch(P); if (P.browser) { c.browser[P.browser] = true; c.browser.version = P.version } if (c.browser.webkit) c.browser.safari =
true; if (ya) c.inArray = function (a, b) { return ya.call(b, a) }; T = c(s); if (s.addEventListener) L = function () { s.removeEventListener("DOMContentLoaded", L, false); c.ready() }; else if (s.attachEvent) L = function () { if (s.readyState === "complete") { s.detachEvent("onreadystatechange", L); c.ready() } }; (function () {
    c.support = {}; var a = s.documentElement, b = s.createElement("script"), d = s.createElement("div"), f = "script" + J(); d.style.display = "none"; d.innerHTML = "   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
    var e = d.getElementsByTagName("*"), j = d.getElementsByTagName("a")[0]; if (!(!e || !e.length || !j)) {
        c.support = { leadingWhitespace: d.firstChild.nodeType === 3, tbody: !d.getElementsByTagName("tbody").length, htmlSerialize: !!d.getElementsByTagName("link").length, style: /red/.test(j.getAttribute("style")), hrefNormalized: j.getAttribute("href") === "/a", opacity: /^0.55$/.test(j.style.opacity), cssFloat: !!j.style.cssFloat, checkOn: d.getElementsByTagName("input")[0].value === "on", optSelected: s.createElement("select").appendChild(s.createElement("option")).selected,
            parentNode: d.removeChild(d.appendChild(s.createElement("div"))).parentNode === null, deleteExpando: true, checkClone: false, scriptEval: false, noCloneEvent: true, boxModel: null
        }; b.type = "text/javascript"; try { b.appendChild(s.createTextNode("window." + f + "=1;")) } catch (i) { } a.insertBefore(b, a.firstChild); if (A[f]) { c.support.scriptEval = true; delete A[f] } try { delete b.test } catch (o) { c.support.deleteExpando = false } a.removeChild(b); if (d.attachEvent && d.fireEvent) {
            d.attachEvent("onclick", function k() {
                c.support.noCloneEvent =
false; d.detachEvent("onclick", k)
            }); d.cloneNode(true).fireEvent("onclick")
        } d = s.createElement("div"); d.innerHTML = "<input type='radio' name='radiotest' checked='checked'/>"; a = s.createDocumentFragment(); a.appendChild(d.firstChild); c.support.checkClone = a.cloneNode(true).cloneNode(true).lastChild.checked; c(function () { var k = s.createElement("div"); k.style.width = k.style.paddingLeft = "1px"; s.body.appendChild(k); c.boxModel = c.support.boxModel = k.offsetWidth === 2; s.body.removeChild(k).style.display = "none" }); a = function (k) {
            var n =
s.createElement("div"); k = "on" + k; var r = k in n; if (!r) { n.setAttribute(k, "return;"); r = typeof n[k] === "function" } return r
        }; c.support.submitBubbles = a("submit"); c.support.changeBubbles = a("change"); a = b = d = e = j = null
    }
})(); c.props = { "for": "htmlFor", "class": "className", readonly: "readOnly", maxlength: "maxLength", cellspacing: "cellSpacing", rowspan: "rowSpan", colspan: "colSpan", tabindex: "tabIndex", usemap: "useMap", frameborder: "frameBorder" }; var G = "jQuery" + J(), Ya = 0, za = {}; c.extend({ cache: {}, expando: G, noData: { embed: true, object: true,
    applet: true
}, data: function (a, b, d) { if (!(a.nodeName && c.noData[a.nodeName.toLowerCase()])) { a = a == A ? za : a; var f = a[G], e = c.cache; if (!f && typeof b === "string" && d === w) return null; f || (f = ++Ya); if (typeof b === "object") { a[G] = f; e[f] = c.extend(true, {}, b) } else if (!e[f]) { a[G] = f; e[f] = {} } a = e[f]; if (d !== w) a[b] = d; return typeof b === "string" ? a[b] : a } }, removeData: function (a, b) {
    if (!(a.nodeName && c.noData[a.nodeName.toLowerCase()])) {
        a = a == A ? za : a; var d = a[G], f = c.cache, e = f[d]; if (b) { if (e) { delete e[b]; c.isEmptyObject(e) && c.removeData(a) } } else {
            if (c.support.deleteExpando) delete a[c.expando];
            else a.removeAttribute && a.removeAttribute(c.expando); delete f[d]
        }
    }
}
}); c.fn.extend({ data: function (a, b) {
    if (typeof a === "undefined" && this.length) return c.data(this[0]); else if (typeof a === "object") return this.each(function () { c.data(this, a) }); var d = a.split("."); d[1] = d[1] ? "." + d[1] : ""; if (b === w) { var f = this.triggerHandler("getData" + d[1] + "!", [d[0]]); if (f === w && this.length) f = c.data(this[0], a); return f === w && d[1] ? this.data(d[0]) : f } else return this.trigger("setData" + d[1] + "!", [d[0], b]).each(function () {
        c.data(this,
a, b)
    })
}, removeData: function (a) { return this.each(function () { c.removeData(this, a) }) }
}); c.extend({ queue: function (a, b, d) { if (a) { b = (b || "fx") + "queue"; var f = c.data(a, b); if (!d) return f || []; if (!f || c.isArray(d)) f = c.data(a, b, c.makeArray(d)); else f.push(d); return f } }, dequeue: function (a, b) { b = b || "fx"; var d = c.queue(a, b), f = d.shift(); if (f === "inprogress") f = d.shift(); if (f) { b === "fx" && d.unshift("inprogress"); f.call(a, function () { c.dequeue(a, b) }) } } }); c.fn.extend({ queue: function (a, b) {
    if (typeof a !== "string") { b = a; a = "fx" } if (b ===
w) return c.queue(this[0], a); return this.each(function () { var d = c.queue(this, a, b); a === "fx" && d[0] !== "inprogress" && c.dequeue(this, a) })
}, dequeue: function (a) { return this.each(function () { c.dequeue(this, a) }) }, delay: function (a, b) { a = c.fx ? c.fx.speeds[a] || a : a; b = b || "fx"; return this.queue(b, function () { var d = this; setTimeout(function () { c.dequeue(d, b) }, a) }) }, clearQueue: function (a) { return this.queue(a || "fx", []) }
}); var Aa = /[\n\t]/g, ca = /\s+/, Za = /\r/g, $a = /href|src|style/, ab = /(button|input)/i, bb = /(button|input|object|select|textarea)/i,
cb = /^(a|area)$/i, Ba = /radio|checkbox/; c.fn.extend({ attr: function (a, b) { return X(this, a, b, true, c.attr) }, removeAttr: function (a) { return this.each(function () { c.attr(this, a, ""); this.nodeType === 1 && this.removeAttribute(a) }) }, addClass: function (a) {
    if (c.isFunction(a)) return this.each(function (n) { var r = c(this); r.addClass(a.call(this, n, r.attr("class"))) }); if (a && typeof a === "string") for (var b = (a || "").split(ca), d = 0, f = this.length; d < f; d++) {
        var e = this[d]; if (e.nodeType === 1) if (e.className) {
            for (var j = " " + e.className + " ",
i = e.className, o = 0, k = b.length; o < k; o++) if (j.indexOf(" " + b[o] + " ") < 0) i += " " + b[o]; e.className = c.trim(i)
        } else e.className = a
    } return this
}, removeClass: function (a) {
    if (c.isFunction(a)) return this.each(function (k) { var n = c(this); n.removeClass(a.call(this, k, n.attr("class"))) }); if (a && typeof a === "string" || a === w) for (var b = (a || "").split(ca), d = 0, f = this.length; d < f; d++) {
        var e = this[d]; if (e.nodeType === 1 && e.className) if (a) {
            for (var j = (" " + e.className + " ").replace(Aa, " "), i = 0, o = b.length; i < o; i++) j = j.replace(" " + b[i] + " ",
" "); e.className = c.trim(j)
        } else e.className = ""
    } return this
}, toggleClass: function (a, b) {
    var d = typeof a, f = typeof b === "boolean"; if (c.isFunction(a)) return this.each(function (e) { var j = c(this); j.toggleClass(a.call(this, e, j.attr("class"), b), b) }); return this.each(function () {
        if (d === "string") for (var e, j = 0, i = c(this), o = b, k = a.split(ca); e = k[j++]; ) { o = f ? o : !i.hasClass(e); i[o ? "addClass" : "removeClass"](e) } else if (d === "undefined" || d === "boolean") {
            this.className && c.data(this, "__className__", this.className); this.className =
this.className || a === false ? "" : c.data(this, "__className__") || ""
        }
    })
}, hasClass: function (a) { a = " " + a + " "; for (var b = 0, d = this.length; b < d; b++) if ((" " + this[b].className + " ").replace(Aa, " ").indexOf(a) > -1) return true; return false }, val: function (a) {
    if (a === w) {
        var b = this[0]; if (b) {
            if (c.nodeName(b, "option")) return (b.attributes.value || {}).specified ? b.value : b.text; if (c.nodeName(b, "select")) {
                var d = b.selectedIndex, f = [], e = b.options; b = b.type === "select-one"; if (d < 0) return null; var j = b ? d : 0; for (d = b ? d + 1 : e.length; j < d; j++) {
                    var i =
e[j]; if (i.selected) { a = c(i).val(); if (b) return a; f.push(a) }
                } return f
            } if (Ba.test(b.type) && !c.support.checkOn) return b.getAttribute("value") === null ? "on" : b.value; return (b.value || "").replace(Za, "")
        } return w
    } var o = c.isFunction(a); return this.each(function (k) {
        var n = c(this), r = a; if (this.nodeType === 1) {
            if (o) r = a.call(this, k, n.val()); if (typeof r === "number") r += ""; if (c.isArray(r) && Ba.test(this.type)) this.checked = c.inArray(n.val(), r) >= 0; else if (c.nodeName(this, "select")) {
                var u = c.makeArray(r); c("option", this).each(function () {
                    this.selected =
c.inArray(c(this).val(), u) >= 0
                }); if (!u.length) this.selectedIndex = -1
            } else this.value = r
        }
    })
}
}); c.extend({ attrFn: { val: true, css: true, html: true, text: true, data: true, width: true, height: true, offset: true }, attr: function (a, b, d, f) {
    if (!a || a.nodeType === 3 || a.nodeType === 8) return w; if (f && b in c.attrFn) return c(a)[b](d); f = a.nodeType !== 1 || !c.isXMLDoc(a); var e = d !== w; b = f && c.props[b] || b; if (a.nodeType === 1) {
        var j = $a.test(b); if (b in a && f && !j) {
            if (e) {
                b === "type" && ab.test(a.nodeName) && a.parentNode && c.error("type property can't be changed");
                a[b] = d
            } if (c.nodeName(a, "form") && a.getAttributeNode(b)) return a.getAttributeNode(b).nodeValue; if (b === "tabIndex") return (b = a.getAttributeNode("tabIndex")) && b.specified ? b.value : bb.test(a.nodeName) || cb.test(a.nodeName) && a.href ? 0 : w; return a[b]
        } if (!c.support.style && f && b === "style") { if (e) a.style.cssText = "" + d; return a.style.cssText } e && a.setAttribute(b, "" + d); a = !c.support.hrefNormalized && f && j ? a.getAttribute(b, 2) : a.getAttribute(b); return a === null ? w : a
    } return c.style(a, b, d)
}
}); var O = /\.(.*)$/, db = function (a) {
    return a.replace(/[^\w\s\.\|`]/g,
function (b) { return "\\" + b })
}; c.event = { add: function (a, b, d, f) {
    if (!(a.nodeType === 3 || a.nodeType === 8)) {
        if (a.setInterval && a !== A && !a.frameElement) a = A; var e, j; if (d.handler) { e = d; d = e.handler } if (!d.guid) d.guid = c.guid++; if (j = c.data(a)) {
            var i = j.events = j.events || {}, o = j.handle; if (!o) j.handle = o = function () { return typeof c !== "undefined" && !c.event.triggered ? c.event.handle.apply(o.elem, arguments) : w }; o.elem = a; b = b.split(" "); for (var k, n = 0, r; k = b[n++]; ) {
                j = e ? c.extend({}, e) : { handler: d, data: f }; if (k.indexOf(".") > -1) {
                    r = k.split(".");
                    k = r.shift(); j.namespace = r.slice(0).sort().join(".")
                } else { r = []; j.namespace = "" } j.type = k; j.guid = d.guid; var u = i[k], z = c.event.special[k] || {}; if (!u) { u = i[k] = []; if (!z.setup || z.setup.call(a, f, r, o) === false) if (a.addEventListener) a.addEventListener(k, o, false); else a.attachEvent && a.attachEvent("on" + k, o) } if (z.add) { z.add.call(a, j); if (!j.handler.guid) j.handler.guid = d.guid } u.push(j); c.event.global[k] = true
            } a = null
        }
    }
}, global: {}, remove: function (a, b, d, f) {
    if (!(a.nodeType === 3 || a.nodeType === 8)) {
        var e, j = 0, i, o, k, n, r, u, z = c.data(a),
C = z && z.events; if (z && C) {
            if (b && b.type) { d = b.handler; b = b.type } if (!b || typeof b === "string" && b.charAt(0) === ".") { b = b || ""; for (e in C) c.event.remove(a, e + b) } else {
                for (b = b.split(" "); e = b[j++]; ) {
                    n = e; i = e.indexOf(".") < 0; o = []; if (!i) { o = e.split("."); e = o.shift(); k = new RegExp("(^|\\.)" + c.map(o.slice(0).sort(), db).join("\\.(?:.*\\.)?") + "(\\.|$)") } if (r = C[e]) if (d) {
                        n = c.event.special[e] || {}; for (B = f || 0; B < r.length; B++) {
                            u = r[B]; if (d.guid === u.guid) {
                                if (i || k.test(u.namespace)) { f == null && r.splice(B--, 1); n.remove && n.remove.call(a, u) } if (f !=
null) break
                            }
                        } if (r.length === 0 || f != null && r.length === 1) { if (!n.teardown || n.teardown.call(a, o) === false) Ca(a, e, z.handle); delete C[e] }
                    } else for (var B = 0; B < r.length; B++) { u = r[B]; if (i || k.test(u.namespace)) { c.event.remove(a, n, u.handler, B); r.splice(B--, 1) } }
                } if (c.isEmptyObject(C)) { if (b = z.handle) b.elem = null; delete z.events; delete z.handle; c.isEmptyObject(z) && c.removeData(a) }
            }
        }
    }
}, trigger: function (a, b, d, f) {
    var e = a.type || a; if (!f) {
        a = typeof a === "object" ? a[G] ? a : c.extend(c.Event(e), a) : c.Event(e); if (e.indexOf("!") >= 0) {
            a.type =
e = e.slice(0, -1); a.exclusive = true
        } if (!d) { a.stopPropagation(); c.event.global[e] && c.each(c.cache, function () { this.events && this.events[e] && c.event.trigger(a, b, this.handle.elem) }) } if (!d || d.nodeType === 3 || d.nodeType === 8) return w; a.result = w; a.target = d; b = c.makeArray(b); b.unshift(a)
    } a.currentTarget = d; (f = c.data(d, "handle")) && f.apply(d, b); f = d.parentNode || d.ownerDocument; try { if (!(d && d.nodeName && c.noData[d.nodeName.toLowerCase()])) if (d["on" + e] && d["on" + e].apply(d, b) === false) a.result = false } catch (j) { } if (!a.isPropagationStopped() &&
f) c.event.trigger(a, b, f, true); else if (!a.isDefaultPrevented()) { f = a.target; var i, o = c.nodeName(f, "a") && e === "click", k = c.event.special[e] || {}; if ((!k._default || k._default.call(d, a) === false) && !o && !(f && f.nodeName && c.noData[f.nodeName.toLowerCase()])) { try { if (f[e]) { if (i = f["on" + e]) f["on" + e] = null; c.event.triggered = true; f[e]() } } catch (n) { } if (i) f["on" + e] = i; c.event.triggered = false } }
}, handle: function (a) {
    var b, d, f, e; a = arguments[0] = c.event.fix(a || A.event); a.currentTarget = this; b = a.type.indexOf(".") < 0 && !a.exclusive;
    if (!b) { d = a.type.split("."); a.type = d.shift(); f = new RegExp("(^|\\.)" + d.slice(0).sort().join("\\.(?:.*\\.)?") + "(\\.|$)") } e = c.data(this, "events"); d = e[a.type]; if (e && d) { d = d.slice(0); e = 0; for (var j = d.length; e < j; e++) { var i = d[e]; if (b || f.test(i.namespace)) { a.handler = i.handler; a.data = i.data; a.handleObj = i; i = i.handler.apply(this, arguments); if (i !== w) { a.result = i; if (i === false) { a.preventDefault(); a.stopPropagation() } } if (a.isImmediatePropagationStopped()) break } } } return a.result
}, props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
    fix: function (a) {
        if (a[G]) return a; var b = a; a = c.Event(b); for (var d = this.props.length, f; d; ) { f = this.props[--d]; a[f] = b[f] } if (!a.target) a.target = a.srcElement || s; if (a.target.nodeType === 3) a.target = a.target.parentNode; if (!a.relatedTarget && a.fromElement) a.relatedTarget = a.fromElement === a.target ? a.toElement : a.fromElement; if (a.pageX == null && a.clientX != null) {
            b = s.documentElement; d = s.body; a.pageX = a.clientX + (b && b.scrollLeft || d && d.scrollLeft || 0) - (b && b.clientLeft || d && d.clientLeft || 0); a.pageY = a.clientY + (b && b.scrollTop ||
d && d.scrollTop || 0) - (b && b.clientTop || d && d.clientTop || 0)
        } if (!a.which && (a.charCode || a.charCode === 0 ? a.charCode : a.keyCode)) a.which = a.charCode || a.keyCode; if (!a.metaKey && a.ctrlKey) a.metaKey = a.ctrlKey; if (!a.which && a.button !== w) a.which = a.button & 1 ? 1 : a.button & 2 ? 3 : a.button & 4 ? 2 : 0; return a
    }, guid: 1E8, proxy: c.proxy, special: { ready: { setup: c.bindReady, teardown: c.noop }, live: { add: function (a) { c.event.add(this, a.origType, c.extend({}, a, { handler: oa })) }, remove: function (a) {
        var b = true, d = a.origType.replace(O, ""); c.each(c.data(this,
"events").live || [], function () { if (d === this.origType.replace(O, "")) return b = false }); b && c.event.remove(this, a.origType, oa)
    }
    }, beforeunload: { setup: function (a, b, d) { if (this.setInterval) this.onbeforeunload = d; return false }, teardown: function (a, b) { if (this.onbeforeunload === b) this.onbeforeunload = null } }
    }
}; var Ca = s.removeEventListener ? function (a, b, d) { a.removeEventListener(b, d, false) } : function (a, b, d) { a.detachEvent("on" + b, d) }; c.Event = function (a) {
    if (!this.preventDefault) return new c.Event(a); if (a && a.type) {
        this.originalEvent =
a; this.type = a.type
    } else this.type = a; this.timeStamp = J(); this[G] = true
}; c.Event.prototype = { preventDefault: function () { this.isDefaultPrevented = Z; var a = this.originalEvent; if (a) { a.preventDefault && a.preventDefault(); a.returnValue = false } }, stopPropagation: function () { this.isPropagationStopped = Z; var a = this.originalEvent; if (a) { a.stopPropagation && a.stopPropagation(); a.cancelBubble = true } }, stopImmediatePropagation: function () { this.isImmediatePropagationStopped = Z; this.stopPropagation() }, isDefaultPrevented: Y, isPropagationStopped: Y,
    isImmediatePropagationStopped: Y
}; var Da = function (a) { var b = a.relatedTarget; try { for (; b && b !== this; ) b = b.parentNode; if (b !== this) { a.type = a.data; c.event.handle.apply(this, arguments) } } catch (d) { } }, Ea = function (a) { a.type = a.data; c.event.handle.apply(this, arguments) }; c.each({ mouseenter: "mouseover", mouseleave: "mouseout" }, function (a, b) { c.event.special[a] = { setup: function (d) { c.event.add(this, b, d && d.selector ? Ea : Da, a) }, teardown: function (d) { c.event.remove(this, b, d && d.selector ? Ea : Da) } } }); if (!c.support.submitBubbles) c.event.special.submit =
{ setup: function () { if (this.nodeName.toLowerCase() !== "form") { c.event.add(this, "click.specialSubmit", function (a) { var b = a.target, d = b.type; if ((d === "submit" || d === "image") && c(b).closest("form").length) return na("submit", this, arguments) }); c.event.add(this, "keypress.specialSubmit", function (a) { var b = a.target, d = b.type; if ((d === "text" || d === "password") && c(b).closest("form").length && a.keyCode === 13) return na("submit", this, arguments) }) } else return false }, teardown: function () { c.event.remove(this, ".specialSubmit") } };
    if (!c.support.changeBubbles) {
        var da = /textarea|input|select/i, ea, Fa = function (a) { var b = a.type, d = a.value; if (b === "radio" || b === "checkbox") d = a.checked; else if (b === "select-multiple") d = a.selectedIndex > -1 ? c.map(a.options, function (f) { return f.selected }).join("-") : ""; else if (a.nodeName.toLowerCase() === "select") d = a.selectedIndex; return d }, fa = function (a, b) {
            var d = a.target, f, e; if (!(!da.test(d.nodeName) || d.readOnly)) {
                f = c.data(d, "_change_data"); e = Fa(d); if (a.type !== "focusout" || d.type !== "radio") c.data(d, "_change_data",
e); if (!(f === w || e === f)) if (f != null || e) { a.type = "change"; return c.event.trigger(a, b, d) }
            }
        }; c.event.special.change = { filters: { focusout: fa, click: function (a) { var b = a.target, d = b.type; if (d === "radio" || d === "checkbox" || b.nodeName.toLowerCase() === "select") return fa.call(this, a) }, keydown: function (a) { var b = a.target, d = b.type; if (a.keyCode === 13 && b.nodeName.toLowerCase() !== "textarea" || a.keyCode === 32 && (d === "checkbox" || d === "radio") || d === "select-multiple") return fa.call(this, a) }, beforeactivate: function (a) {
            a = a.target; c.data(a,
"_change_data", Fa(a))
        }
        }, setup: function () { if (this.type === "file") return false; for (var a in ea) c.event.add(this, a + ".specialChange", ea[a]); return da.test(this.nodeName) }, teardown: function () { c.event.remove(this, ".specialChange"); return da.test(this.nodeName) }
        }; ea = c.event.special.change.filters
    } s.addEventListener && c.each({ focus: "focusin", blur: "focusout" }, function (a, b) {
        function d(f) { f = c.event.fix(f); f.type = b; return c.event.handle.call(this, f) } c.event.special[b] = { setup: function () {
            this.addEventListener(a,
d, true)
        }, teardown: function () { this.removeEventListener(a, d, true) }
        }
    }); c.each(["bind", "one"], function (a, b) { c.fn[b] = function (d, f, e) { if (typeof d === "object") { for (var j in d) this[b](j, f, d[j], e); return this } if (c.isFunction(f)) { e = f; f = w } var i = b === "one" ? c.proxy(e, function (k) { c(this).unbind(k, i); return e.apply(this, arguments) }) : e; if (d === "unload" && b !== "one") this.one(d, f, e); else { j = 0; for (var o = this.length; j < o; j++) c.event.add(this[j], d, i, f) } return this } }); c.fn.extend({ unbind: function (a, b) {
        if (typeof a === "object" &&
!a.preventDefault) for (var d in a) this.unbind(d, a[d]); else { d = 0; for (var f = this.length; d < f; d++) c.event.remove(this[d], a, b) } return this
    }, delegate: function (a, b, d, f) { return this.live(b, d, f, a) }, undelegate: function (a, b, d) { return arguments.length === 0 ? this.unbind("live") : this.die(b, null, d, a) }, trigger: function (a, b) { return this.each(function () { c.event.trigger(a, b, this) }) }, triggerHandler: function (a, b) { if (this[0]) { a = c.Event(a); a.preventDefault(); a.stopPropagation(); c.event.trigger(a, b, this[0]); return a.result } },
        toggle: function (a) { for (var b = arguments, d = 1; d < b.length; ) c.proxy(a, b[d++]); return this.click(c.proxy(a, function (f) { var e = (c.data(this, "lastToggle" + a.guid) || 0) % d; c.data(this, "lastToggle" + a.guid, e + 1); f.preventDefault(); return b[e].apply(this, arguments) || false })) }, hover: function (a, b) { return this.mouseenter(a).mouseleave(b || a) }
    }); var Ga = { focus: "focusin", blur: "focusout", mouseenter: "mouseover", mouseleave: "mouseout" }; c.each(["live", "die"], function (a, b) {
        c.fn[b] = function (d, f, e, j) {
            var i, o = 0, k, n, r = j || this.selector,
u = j ? this : c(this.context); if (c.isFunction(f)) { e = f; f = w } for (d = (d || "").split(" "); (i = d[o++]) != null; ) { j = O.exec(i); k = ""; if (j) { k = j[0]; i = i.replace(O, "") } if (i === "hover") d.push("mouseenter" + k, "mouseleave" + k); else { n = i; if (i === "focus" || i === "blur") { d.push(Ga[i] + k); i += k } else i = (Ga[i] || i) + k; b === "live" ? u.each(function () { c.event.add(this, pa(i, r), { data: f, selector: r, handler: e, origType: i, origHandler: e, preType: n }) }) : u.unbind(pa(i, r), e) } } return this
        }
    }); c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),
function (a, b) { c.fn[b] = function (d) { return d ? this.bind(b, d) : this.trigger(b) }; if (c.attrFn) c.attrFn[b] = true }); A.attachEvent && !A.addEventListener && A.attachEvent("onunload", function () { for (var a in c.cache) if (c.cache[a].handle) try { c.event.remove(c.cache[a].handle.elem) } catch (b) { } }); (function () {
    function a(g) { for (var h = "", l, m = 0; g[m]; m++) { l = g[m]; if (l.nodeType === 3 || l.nodeType === 4) h += l.nodeValue; else if (l.nodeType !== 8) h += a(l.childNodes) } return h } function b(g, h, l, m, q, p) {
        q = 0; for (var v = m.length; q < v; q++) {
            var t = m[q];
            if (t) { t = t[g]; for (var y = false; t; ) { if (t.sizcache === l) { y = m[t.sizset]; break } if (t.nodeType === 1 && !p) { t.sizcache = l; t.sizset = q } if (t.nodeName.toLowerCase() === h) { y = t; break } t = t[g] } m[q] = y }
        }
    } function d(g, h, l, m, q, p) { q = 0; for (var v = m.length; q < v; q++) { var t = m[q]; if (t) { t = t[g]; for (var y = false; t; ) { if (t.sizcache === l) { y = m[t.sizset]; break } if (t.nodeType === 1) { if (!p) { t.sizcache = l; t.sizset = q } if (typeof h !== "string") { if (t === h) { y = true; break } } else if (k.filter(h, [t]).length > 0) { y = t; break } } t = t[g] } m[q] = y } } } var f = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
e = 0, j = Object.prototype.toString, i = false, o = true; [0, 0].sort(function () { o = false; return 0 }); var k = function (g, h, l, m) {
    l = l || []; var q = h = h || s; if (h.nodeType !== 1 && h.nodeType !== 9) return []; if (!g || typeof g !== "string") return l; for (var p = [], v, t, y, S, H = true, M = x(h), I = g; (f.exec(""), v = f.exec(I)) !== null; ) { I = v[3]; p.push(v[1]); if (v[2]) { S = v[3]; break } } if (p.length > 1 && r.exec(g)) if (p.length === 2 && n.relative[p[0]]) t = ga(p[0] + p[1], h); else for (t = n.relative[p[0]] ? [h] : k(p.shift(), h); p.length; ) {
        g = p.shift(); if (n.relative[g]) g += p.shift();
        t = ga(g, t)
    } else { if (!m && p.length > 1 && h.nodeType === 9 && !M && n.match.ID.test(p[0]) && !n.match.ID.test(p[p.length - 1])) { v = k.find(p.shift(), h, M); h = v.expr ? k.filter(v.expr, v.set)[0] : v.set[0] } if (h) { v = m ? { expr: p.pop(), set: z(m)} : k.find(p.pop(), p.length === 1 && (p[0] === "~" || p[0] === "+") && h.parentNode ? h.parentNode : h, M); t = v.expr ? k.filter(v.expr, v.set) : v.set; if (p.length > 0) y = z(t); else H = false; for (; p.length; ) { var D = p.pop(); v = D; if (n.relative[D]) v = p.pop(); else D = ""; if (v == null) v = h; n.relative[D](y, v, M) } } else y = [] } y || (y = t); y || k.error(D ||
g); if (j.call(y) === "[object Array]") if (H) if (h && h.nodeType === 1) for (g = 0; y[g] != null; g++) { if (y[g] && (y[g] === true || y[g].nodeType === 1 && E(h, y[g]))) l.push(t[g]) } else for (g = 0; y[g] != null; g++) y[g] && y[g].nodeType === 1 && l.push(t[g]); else l.push.apply(l, y); else z(y, l); if (S) { k(S, q, l, m); k.uniqueSort(l) } return l
}; k.uniqueSort = function (g) { if (B) { i = o; g.sort(B); if (i) for (var h = 1; h < g.length; h++) g[h] === g[h - 1] && g.splice(h--, 1) } return g }; k.matches = function (g, h) { return k(g, null, null, h) }; k.find = function (g, h, l) {
    var m, q; if (!g) return [];
    for (var p = 0, v = n.order.length; p < v; p++) { var t = n.order[p]; if (q = n.leftMatch[t].exec(g)) { var y = q[1]; q.splice(1, 1); if (y.substr(y.length - 1) !== "\\") { q[1] = (q[1] || "").replace(/\\/g, ""); m = n.find[t](q, h, l); if (m != null) { g = g.replace(n.match[t], ""); break } } } } m || (m = h.getElementsByTagName("*")); return { set: m, expr: g }
}; k.filter = function (g, h, l, m) {
    for (var q = g, p = [], v = h, t, y, S = h && h[0] && x(h[0]); g && h.length; ) {
        for (var H in n.filter) if ((t = n.leftMatch[H].exec(g)) != null && t[2]) {
            var M = n.filter[H], I, D; D = t[1]; y = false; t.splice(1, 1); if (D.substr(D.length -
1) !== "\\") { if (v === p) p = []; if (n.preFilter[H]) if (t = n.preFilter[H](t, v, l, p, m, S)) { if (t === true) continue } else y = I = true; if (t) for (var U = 0; (D = v[U]) != null; U++) if (D) { I = M(D, t, U, v); var Ha = m ^ !!I; if (l && I != null) if (Ha) y = true; else v[U] = false; else if (Ha) { p.push(D); y = true } } if (I !== w) { l || (v = p); g = g.replace(n.match[H], ""); if (!y) return []; break } }
        } if (g === q) if (y == null) k.error(g); else break; q = g
    } return v
}; k.error = function (g) { throw "Syntax error, unrecognized expression: " + g; }; var n = k.selectors = { order: ["ID", "NAME", "TAG"], match: { ID: /#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
    CLASS: /\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/, NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/, ATTR: /\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/, TAG: /^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/, CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/, POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/, PSEUDO: /:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
}, leftMatch: {}, attrMap: { "class": "className", "for": "htmlFor" }, attrHandle: { href: function (g) { return g.getAttribute("href") } },
    relative: { "+": function (g, h) { var l = typeof h === "string", m = l && !/\W/.test(h); l = l && !m; if (m) h = h.toLowerCase(); m = 0; for (var q = g.length, p; m < q; m++) if (p = g[m]) { for (; (p = p.previousSibling) && p.nodeType !== 1; ); g[m] = l || p && p.nodeName.toLowerCase() === h ? p || false : p === h } l && k.filter(h, g, true) }, ">": function (g, h) {
        var l = typeof h === "string"; if (l && !/\W/.test(h)) { h = h.toLowerCase(); for (var m = 0, q = g.length; m < q; m++) { var p = g[m]; if (p) { l = p.parentNode; g[m] = l.nodeName.toLowerCase() === h ? l : false } } } else {
            m = 0; for (q = g.length; m < q; m++) if (p = g[m]) g[m] =
l ? p.parentNode : p.parentNode === h; l && k.filter(h, g, true)
        }
    }, "": function (g, h, l) { var m = e++, q = d; if (typeof h === "string" && !/\W/.test(h)) { var p = h = h.toLowerCase(); q = b } q("parentNode", h, m, g, p, l) }, "~": function (g, h, l) { var m = e++, q = d; if (typeof h === "string" && !/\W/.test(h)) { var p = h = h.toLowerCase(); q = b } q("previousSibling", h, m, g, p, l) }
    }, find: { ID: function (g, h, l) { if (typeof h.getElementById !== "undefined" && !l) return (g = h.getElementById(g[1])) ? [g] : [] }, NAME: function (g, h) {
        if (typeof h.getElementsByName !== "undefined") {
            var l = [];
            h = h.getElementsByName(g[1]); for (var m = 0, q = h.length; m < q; m++) h[m].getAttribute("name") === g[1] && l.push(h[m]); return l.length === 0 ? null : l
        }
    }, TAG: function (g, h) { return h.getElementsByTagName(g[1]) }
    }, preFilter: { CLASS: function (g, h, l, m, q, p) { g = " " + g[1].replace(/\\/g, "") + " "; if (p) return g; p = 0; for (var v; (v = h[p]) != null; p++) if (v) if (q ^ (v.className && (" " + v.className + " ").replace(/[\t\n]/g, " ").indexOf(g) >= 0)) l || m.push(v); else if (l) h[p] = false; return false }, ID: function (g) { return g[1].replace(/\\/g, "") }, TAG: function (g) { return g[1].toLowerCase() },
        CHILD: function (g) { if (g[1] === "nth") { var h = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2] === "even" && "2n" || g[2] === "odd" && "2n+1" || !/\D/.test(g[2]) && "0n+" + g[2] || g[2]); g[2] = h[1] + (h[2] || 1) - 0; g[3] = h[3] - 0 } g[0] = e++; return g }, ATTR: function (g, h, l, m, q, p) { h = g[1].replace(/\\/g, ""); if (!p && n.attrMap[h]) g[1] = n.attrMap[h]; if (g[2] === "~=") g[4] = " " + g[4] + " "; return g }, PSEUDO: function (g, h, l, m, q) {
            if (g[1] === "not") if ((f.exec(g[3]) || "").length > 1 || /^\w/.test(g[3])) g[3] = k(g[3], null, null, h); else {
                g = k.filter(g[3], h, l, true ^ q); l || m.push.apply(m,
g); return false
            } else if (n.match.POS.test(g[0]) || n.match.CHILD.test(g[0])) return true; return g
        }, POS: function (g) { g.unshift(true); return g }
    }, filters: { enabled: function (g) { return g.disabled === false && g.type !== "hidden" }, disabled: function (g) { return g.disabled === true }, checked: function (g) { return g.checked === true }, selected: function (g) { return g.selected === true }, parent: function (g) { return !!g.firstChild }, empty: function (g) { return !g.firstChild }, has: function (g, h, l) { return !!k(l[3], g).length }, header: function (g) { return /h\d/i.test(g.nodeName) },
        text: function (g) { return "text" === g.type }, radio: function (g) { return "radio" === g.type }, checkbox: function (g) { return "checkbox" === g.type }, file: function (g) { return "file" === g.type }, password: function (g) { return "password" === g.type }, submit: function (g) { return "submit" === g.type }, image: function (g) { return "image" === g.type }, reset: function (g) { return "reset" === g.type }, button: function (g) { return "button" === g.type || g.nodeName.toLowerCase() === "button" }, input: function (g) { return /input|select|textarea|button/i.test(g.nodeName) }
    },
    setFilters: { first: function (g, h) { return h === 0 }, last: function (g, h, l, m) { return h === m.length - 1 }, even: function (g, h) { return h % 2 === 0 }, odd: function (g, h) { return h % 2 === 1 }, lt: function (g, h, l) { return h < l[3] - 0 }, gt: function (g, h, l) { return h > l[3] - 0 }, nth: function (g, h, l) { return l[3] - 0 === h }, eq: function (g, h, l) { return l[3] - 0 === h } }, filter: { PSEUDO: function (g, h, l, m) {
        var q = h[1], p = n.filters[q]; if (p) return p(g, l, h, m); else if (q === "contains") return (g.textContent || g.innerText || a([g]) || "").indexOf(h[3]) >= 0; else if (q === "not") {
            h =
h[3]; l = 0; for (m = h.length; l < m; l++) if (h[l] === g) return false; return true
        } else k.error("Syntax error, unrecognized expression: " + q)
    }, CHILD: function (g, h) {
        var l = h[1], m = g; switch (l) {
            case "only": case "first": for (; m = m.previousSibling; ) if (m.nodeType === 1) return false; if (l === "first") return true; m = g; case "last": for (; m = m.nextSibling; ) if (m.nodeType === 1) return false; return true; case "nth": l = h[2]; var q = h[3]; if (l === 1 && q === 0) return true; h = h[0]; var p = g.parentNode; if (p && (p.sizcache !== h || !g.nodeIndex)) {
                    var v = 0; for (m = p.firstChild; m; m =
m.nextSibling) if (m.nodeType === 1) m.nodeIndex = ++v; p.sizcache = h
                } g = g.nodeIndex - q; return l === 0 ? g === 0 : g % l === 0 && g / l >= 0
        }
    }, ID: function (g, h) { return g.nodeType === 1 && g.getAttribute("id") === h }, TAG: function (g, h) { return h === "*" && g.nodeType === 1 || g.nodeName.toLowerCase() === h }, CLASS: function (g, h) { return (" " + (g.className || g.getAttribute("class")) + " ").indexOf(h) > -1 }, ATTR: function (g, h) {
        var l = h[1]; g = n.attrHandle[l] ? n.attrHandle[l](g) : g[l] != null ? g[l] : g.getAttribute(l); l = g + ""; var m = h[2]; h = h[4]; return g == null ? m === "!=" : m ===
"=" ? l === h : m === "*=" ? l.indexOf(h) >= 0 : m === "~=" ? (" " + l + " ").indexOf(h) >= 0 : !h ? l && g !== false : m === "!=" ? l !== h : m === "^=" ? l.indexOf(h) === 0 : m === "$=" ? l.substr(l.length - h.length) === h : m === "|=" ? l === h || l.substr(0, h.length + 1) === h + "-" : false
    }, POS: function (g, h, l, m) { var q = n.setFilters[h[2]]; if (q) return q(g, l, h, m) }
    }
}, r = n.match.POS; for (var u in n.match) {
        n.match[u] = new RegExp(n.match[u].source + /(?![^\[]*\])(?![^\(]*\))/.source); n.leftMatch[u] = new RegExp(/(^(?:.|\r|\n)*?)/.source + n.match[u].source.replace(/\\(\d+)/g, function (g,
h) { return "\\" + (h - 0 + 1) }))
    } var z = function (g, h) { g = Array.prototype.slice.call(g, 0); if (h) { h.push.apply(h, g); return h } return g }; try { Array.prototype.slice.call(s.documentElement.childNodes, 0) } catch (C) { z = function (g, h) { h = h || []; if (j.call(g) === "[object Array]") Array.prototype.push.apply(h, g); else if (typeof g.length === "number") for (var l = 0, m = g.length; l < m; l++) h.push(g[l]); else for (l = 0; g[l]; l++) h.push(g[l]); return h } } var B; if (s.documentElement.compareDocumentPosition) B = function (g, h) {
        if (!g.compareDocumentPosition ||
!h.compareDocumentPosition) { if (g == h) i = true; return g.compareDocumentPosition ? -1 : 1 } g = g.compareDocumentPosition(h) & 4 ? -1 : g === h ? 0 : 1; if (g === 0) i = true; return g
    }; else if ("sourceIndex" in s.documentElement) B = function (g, h) { if (!g.sourceIndex || !h.sourceIndex) { if (g == h) i = true; return g.sourceIndex ? -1 : 1 } g = g.sourceIndex - h.sourceIndex; if (g === 0) i = true; return g }; else if (s.createRange) B = function (g, h) {
        if (!g.ownerDocument || !h.ownerDocument) { if (g == h) i = true; return g.ownerDocument ? -1 : 1 } var l = g.ownerDocument.createRange(), m =
h.ownerDocument.createRange(); l.setStart(g, 0); l.setEnd(g, 0); m.setStart(h, 0); m.setEnd(h, 0); g = l.compareBoundaryPoints(Range.START_TO_END, m); if (g === 0) i = true; return g
    }; (function () {
        var g = s.createElement("div"), h = "script" + (new Date).getTime(); g.innerHTML = "<a name='" + h + "'/>"; var l = s.documentElement; l.insertBefore(g, l.firstChild); if (s.getElementById(h)) {
            n.find.ID = function (m, q, p) {
                if (typeof q.getElementById !== "undefined" && !p) return (q = q.getElementById(m[1])) ? q.id === m[1] || typeof q.getAttributeNode !== "undefined" &&
q.getAttributeNode("id").nodeValue === m[1] ? [q] : w : []
            }; n.filter.ID = function (m, q) { var p = typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id"); return m.nodeType === 1 && p && p.nodeValue === q }
        } l.removeChild(g); l = g = null
    })(); (function () {
        var g = s.createElement("div"); g.appendChild(s.createComment("")); if (g.getElementsByTagName("*").length > 0) n.find.TAG = function (h, l) { l = l.getElementsByTagName(h[1]); if (h[1] === "*") { h = []; for (var m = 0; l[m]; m++) l[m].nodeType === 1 && h.push(l[m]); l = h } return l }; g.innerHTML = "<a href='#'></a>";
        if (g.firstChild && typeof g.firstChild.getAttribute !== "undefined" && g.firstChild.getAttribute("href") !== "#") n.attrHandle.href = function (h) { return h.getAttribute("href", 2) }; g = null
    })(); s.querySelectorAll && function () { var g = k, h = s.createElement("div"); h.innerHTML = "<p class='TEST'></p>"; if (!(h.querySelectorAll && h.querySelectorAll(".TEST").length === 0)) { k = function (m, q, p, v) { q = q || s; if (!v && q.nodeType === 9 && !x(q)) try { return z(q.querySelectorAll(m), p) } catch (t) { } return g(m, q, p, v) }; for (var l in g) k[l] = g[l]; h = null } } ();
    (function () { var g = s.createElement("div"); g.innerHTML = "<div class='test e'></div><div class='test'></div>"; if (!(!g.getElementsByClassName || g.getElementsByClassName("e").length === 0)) { g.lastChild.className = "e"; if (g.getElementsByClassName("e").length !== 1) { n.order.splice(1, 0, "CLASS"); n.find.CLASS = function (h, l, m) { if (typeof l.getElementsByClassName !== "undefined" && !m) return l.getElementsByClassName(h[1]) }; g = null } } })(); var E = s.compareDocumentPosition ? function (g, h) { return !!(g.compareDocumentPosition(h) & 16) } :
function (g, h) { return g !== h && (g.contains ? g.contains(h) : true) }, x = function (g) { return (g = (g ? g.ownerDocument || g : 0).documentElement) ? g.nodeName !== "HTML" : false }, ga = function (g, h) { var l = [], m = "", q; for (h = h.nodeType ? [h] : h; q = n.match.PSEUDO.exec(g); ) { m += q[0]; g = g.replace(n.match.PSEUDO, "") } g = n.relative[g] ? g + "*" : g; q = 0; for (var p = h.length; q < p; q++) k(g, h[q], l); return k.filter(m, l) }; c.find = k; c.expr = k.selectors; c.expr[":"] = c.expr.filters; c.unique = k.uniqueSort; c.text = a; c.isXMLDoc = x; c.contains = E
})(); var eb = /Until$/, fb = /^(?:parents|prevUntil|prevAll)/,
gb = /,/; R = Array.prototype.slice; var Ia = function (a, b, d) { if (c.isFunction(b)) return c.grep(a, function (e, j) { return !!b.call(e, j, e) === d }); else if (b.nodeType) return c.grep(a, function (e) { return e === b === d }); else if (typeof b === "string") { var f = c.grep(a, function (e) { return e.nodeType === 1 }); if (Ua.test(b)) return c.filter(b, f, !d); else b = c.filter(b, f) } return c.grep(a, function (e) { return c.inArray(e, b) >= 0 === d }) }; c.fn.extend({ find: function (a) {
    for (var b = this.pushStack("", "find", a), d = 0, f = 0, e = this.length; f < e; f++) {
        d = b.length;
        c.find(a, this[f], b); if (f > 0) for (var j = d; j < b.length; j++) for (var i = 0; i < d; i++) if (b[i] === b[j]) { b.splice(j--, 1); break }
    } return b
}, has: function (a) { var b = c(a); return this.filter(function () { for (var d = 0, f = b.length; d < f; d++) if (c.contains(this, b[d])) return true }) }, not: function (a) { return this.pushStack(Ia(this, a, false), "not", a) }, filter: function (a) { return this.pushStack(Ia(this, a, true), "filter", a) }, is: function (a) { return !!a && c.filter(a, this).length > 0 }, closest: function (a, b) {
    if (c.isArray(a)) {
        var d = [], f = this[0], e, j =
{}, i; if (f && a.length) { e = 0; for (var o = a.length; e < o; e++) { i = a[e]; j[i] || (j[i] = c.expr.match.POS.test(i) ? c(i, b || this.context) : i) } for (; f && f.ownerDocument && f !== b; ) { for (i in j) { e = j[i]; if (e.jquery ? e.index(f) > -1 : c(f).is(e)) { d.push({ selector: i, elem: f }); delete j[i] } } f = f.parentNode } } return d
    } var k = c.expr.match.POS.test(a) ? c(a, b || this.context) : null; return this.map(function (n, r) { for (; r && r.ownerDocument && r !== b; ) { if (k ? k.index(r) > -1 : c(r).is(a)) return r; r = r.parentNode } return null })
}, index: function (a) {
    if (!a || typeof a ===
"string") return c.inArray(this[0], a ? c(a) : this.parent().children()); return c.inArray(a.jquery ? a[0] : a, this)
}, add: function (a, b) { a = typeof a === "string" ? c(a, b || this.context) : c.makeArray(a); b = c.merge(this.get(), a); return this.pushStack(qa(a[0]) || qa(b[0]) ? b : c.unique(b)) }, andSelf: function () { return this.add(this.prevObject) }
}); c.each({ parent: function (a) { return (a = a.parentNode) && a.nodeType !== 11 ? a : null }, parents: function (a) { return c.dir(a, "parentNode") }, parentsUntil: function (a, b, d) {
    return c.dir(a, "parentNode",
d)
}, next: function (a) { return c.nth(a, 2, "nextSibling") }, prev: function (a) { return c.nth(a, 2, "previousSibling") }, nextAll: function (a) { return c.dir(a, "nextSibling") }, prevAll: function (a) { return c.dir(a, "previousSibling") }, nextUntil: function (a, b, d) { return c.dir(a, "nextSibling", d) }, prevUntil: function (a, b, d) { return c.dir(a, "previousSibling", d) }, siblings: function (a) { return c.sibling(a.parentNode.firstChild, a) }, children: function (a) { return c.sibling(a.firstChild) }, contents: function (a) {
    return c.nodeName(a, "iframe") ?
a.contentDocument || a.contentWindow.document : c.makeArray(a.childNodes)
}
}, function (a, b) { c.fn[a] = function (d, f) { var e = c.map(this, b, d); eb.test(a) || (f = d); if (f && typeof f === "string") e = c.filter(f, e); e = this.length > 1 ? c.unique(e) : e; if ((this.length > 1 || gb.test(f)) && fb.test(a)) e = e.reverse(); return this.pushStack(e, a, R.call(arguments).join(",")) } }); c.extend({ filter: function (a, b, d) { if (d) a = ":not(" + a + ")"; return c.find.matches(a, b) }, dir: function (a, b, d) {
    var f = []; for (a = a[b]; a && a.nodeType !== 9 && (d === w || a.nodeType !== 1 || !c(a).is(d)); ) {
        a.nodeType ===
1 && f.push(a); a = a[b]
    } return f
}, nth: function (a, b, d) { b = b || 1; for (var f = 0; a; a = a[d]) if (a.nodeType === 1 && ++f === b) break; return a }, sibling: function (a, b) { for (var d = []; a; a = a.nextSibling) a.nodeType === 1 && a !== b && d.push(a); return d }
}); var Ja = / jQuery\d+="(?:\d+|null)"/g, V = /^\s+/, Ka = /(<([\w:]+)[^>]*?)\/>/g, hb = /^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i, La = /<([\w:]+)/, ib = /<tbody/i, jb = /<|&#?\w+;/, ta = /<script|<object|<embed|<option|<style/i, ua = /checked\s*(?:[^=]|=\s*.checked.)/i, Ma = function (a, b, d) {
    return hb.test(d) ?
a : b + "></" + d + ">"
}, F = { option: [1, "<select multiple='multiple'>", "</select>"], legend: [1, "<fieldset>", "</fieldset>"], thead: [1, "<table>", "</table>"], tr: [2, "<table><tbody>", "</tbody></table>"], td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"], area: [1, "<map>", "</map>"], _default: [0, "", ""] }; F.optgroup = F.option; F.tbody = F.tfoot = F.colgroup = F.caption = F.thead; F.th = F.td; if (!c.support.htmlSerialize) F._default = [1, "div<div>", "</div>"]; c.fn.extend({ text: function (a) {
    if (c.isFunction(a)) return this.each(function (b) {
        var d =
c(this); d.text(a.call(this, b, d.text()))
    }); if (typeof a !== "object" && a !== w) return this.empty().append((this[0] && this[0].ownerDocument || s).createTextNode(a)); return c.text(this)
}, wrapAll: function (a) { if (c.isFunction(a)) return this.each(function (d) { c(this).wrapAll(a.call(this, d)) }); if (this[0]) { var b = c(a, this[0].ownerDocument).eq(0).clone(true); this[0].parentNode && b.insertBefore(this[0]); b.map(function () { for (var d = this; d.firstChild && d.firstChild.nodeType === 1; ) d = d.firstChild; return d }).append(this) } return this },
    wrapInner: function (a) { if (c.isFunction(a)) return this.each(function (b) { c(this).wrapInner(a.call(this, b)) }); return this.each(function () { var b = c(this), d = b.contents(); d.length ? d.wrapAll(a) : b.append(a) }) }, wrap: function (a) { return this.each(function () { c(this).wrapAll(a) }) }, unwrap: function () { return this.parent().each(function () { c.nodeName(this, "body") || c(this).replaceWith(this.childNodes) }).end() }, append: function () { return this.domManip(arguments, true, function (a) { this.nodeType === 1 && this.appendChild(a) }) },
    prepend: function () { return this.domManip(arguments, true, function (a) { this.nodeType === 1 && this.insertBefore(a, this.firstChild) }) }, before: function () { if (this[0] && this[0].parentNode) return this.domManip(arguments, false, function (b) { this.parentNode.insertBefore(b, this) }); else if (arguments.length) { var a = c(arguments[0]); a.push.apply(a, this.toArray()); return this.pushStack(a, "before", arguments) } }, after: function () {
        if (this[0] && this[0].parentNode) return this.domManip(arguments, false, function (b) {
            this.parentNode.insertBefore(b,
this.nextSibling)
        }); else if (arguments.length) { var a = this.pushStack(this, "after", arguments); a.push.apply(a, c(arguments[0]).toArray()); return a }
    }, remove: function (a, b) { for (var d = 0, f; (f = this[d]) != null; d++) if (!a || c.filter(a, [f]).length) { if (!b && f.nodeType === 1) { c.cleanData(f.getElementsByTagName("*")); c.cleanData([f]) } f.parentNode && f.parentNode.removeChild(f) } return this }, empty: function () {
        for (var a = 0, b; (b = this[a]) != null; a++) for (b.nodeType === 1 && c.cleanData(b.getElementsByTagName("*")); b.firstChild; ) b.removeChild(b.firstChild);
        return this
    }, clone: function (a) { var b = this.map(function () { if (!c.support.noCloneEvent && !c.isXMLDoc(this)) { var d = this.outerHTML, f = this.ownerDocument; if (!d) { d = f.createElement("div"); d.appendChild(this.cloneNode(true)); d = d.innerHTML } return c.clean([d.replace(Ja, "").replace(/=([^="'>\s]+\/)>/g, '="$1">').replace(V, "")], f)[0] } else return this.cloneNode(true) }); if (a === true) { ra(this, b); ra(this.find("*"), b.find("*")) } return b }, html: function (a) {
        if (a === w) return this[0] && this[0].nodeType === 1 ? this[0].innerHTML.replace(Ja,
"") : null; else if (typeof a === "string" && !ta.test(a) && (c.support.leadingWhitespace || !V.test(a)) && !F[(La.exec(a) || ["", ""])[1].toLowerCase()]) { a = a.replace(Ka, Ma); try { for (var b = 0, d = this.length; b < d; b++) if (this[b].nodeType === 1) { c.cleanData(this[b].getElementsByTagName("*")); this[b].innerHTML = a } } catch (f) { this.empty().append(a) } } else c.isFunction(a) ? this.each(function (e) { var j = c(this), i = j.html(); j.empty().append(function () { return a.call(this, e, i) }) }) : this.empty().append(a); return this
    }, replaceWith: function (a) {
        if (this[0] &&
this[0].parentNode) { if (c.isFunction(a)) return this.each(function (b) { var d = c(this), f = d.html(); d.replaceWith(a.call(this, b, f)) }); if (typeof a !== "string") a = c(a).detach(); return this.each(function () { var b = this.nextSibling, d = this.parentNode; c(this).remove(); b ? c(b).before(a) : c(d).append(a) }) } else return this.pushStack(c(c.isFunction(a) ? a() : a), "replaceWith", a)
    }, detach: function (a) { return this.remove(a, true) }, domManip: function (a, b, d) {
        function f(u) {
            return c.nodeName(u, "table") ? u.getElementsByTagName("tbody")[0] ||
u.appendChild(u.ownerDocument.createElement("tbody")) : u
        } var e, j, i = a[0], o = [], k; if (!c.support.checkClone && arguments.length === 3 && typeof i === "string" && ua.test(i)) return this.each(function () { c(this).domManip(a, b, d, true) }); if (c.isFunction(i)) return this.each(function (u) { var z = c(this); a[0] = i.call(this, u, b ? z.html() : w); z.domManip(a, b, d) }); if (this[0]) {
            e = i && i.parentNode; e = c.support.parentNode && e && e.nodeType === 11 && e.childNodes.length === this.length ? { fragment: e} : sa(a, this, o); k = e.fragment; if (j = k.childNodes.length ===
1 ? (k = k.firstChild) : k.firstChild) { b = b && c.nodeName(j, "tr"); for (var n = 0, r = this.length; n < r; n++) d.call(b ? f(this[n], j) : this[n], n > 0 || e.cacheable || this.length > 1 ? k.cloneNode(true) : k) } o.length && c.each(o, Qa)
        } return this
    }
}); c.fragments = {}; c.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function (a, b) {
    c.fn[a] = function (d) {
        var f = []; d = c(d); var e = this.length === 1 && this[0].parentNode; if (e && e.nodeType === 11 && e.childNodes.length === 1 && d.length === 1) {
            d[b](this[0]);
            return this
        } else { e = 0; for (var j = d.length; e < j; e++) { var i = (e > 0 ? this.clone(true) : this).get(); c.fn[b].apply(c(d[e]), i); f = f.concat(i) } return this.pushStack(f, a, d.selector) }
    }
}); c.extend({ clean: function (a, b, d, f) {
    b = b || s; if (typeof b.createElement === "undefined") b = b.ownerDocument || b[0] && b[0].ownerDocument || s; for (var e = [], j = 0, i; (i = a[j]) != null; j++) {
        if (typeof i === "number") i += ""; if (i) {
            if (typeof i === "string" && !jb.test(i)) i = b.createTextNode(i); else if (typeof i === "string") {
                i = i.replace(Ka, Ma); var o = (La.exec(i) || ["",
""])[1].toLowerCase(), k = F[o] || F._default, n = k[0], r = b.createElement("div"); for (r.innerHTML = k[1] + i + k[2]; n--; ) r = r.lastChild; if (!c.support.tbody) { n = ib.test(i); o = o === "table" && !n ? r.firstChild && r.firstChild.childNodes : k[1] === "<table>" && !n ? r.childNodes : []; for (k = o.length - 1; k >= 0; --k) c.nodeName(o[k], "tbody") && !o[k].childNodes.length && o[k].parentNode.removeChild(o[k]) } !c.support.leadingWhitespace && V.test(i) && r.insertBefore(b.createTextNode(V.exec(i)[0]), r.firstChild); i = r.childNodes
            } if (i.nodeType) e.push(i); else e =
c.merge(e, i)
        }
    } if (d) for (j = 0; e[j]; j++) if (f && c.nodeName(e[j], "script") && (!e[j].type || e[j].type.toLowerCase() === "text/javascript")) f.push(e[j].parentNode ? e[j].parentNode.removeChild(e[j]) : e[j]); else { e[j].nodeType === 1 && e.splice.apply(e, [j + 1, 0].concat(c.makeArray(e[j].getElementsByTagName("script")))); d.appendChild(e[j]) } return e
}, cleanData: function (a) {
    for (var b, d, f = c.cache, e = c.event.special, j = c.support.deleteExpando, i = 0, o; (o = a[i]) != null; i++) if (d = o[c.expando]) {
        b = f[d]; if (b.events) for (var k in b.events) e[k] ?
c.event.remove(o, k) : Ca(o, k, b.handle); if (j) delete o[c.expando]; else o.removeAttribute && o.removeAttribute(c.expando); delete f[d]
    }
}
}); var kb = /z-?index|font-?weight|opacity|zoom|line-?height/i, Na = /alpha\([^)]*\)/, Oa = /opacity=([^)]*)/, ha = /float/i, ia = /-([a-z])/ig, lb = /([A-Z])/g, mb = /^-?\d+(?:px)?$/i, nb = /^-?\d/, ob = { position: "absolute", visibility: "hidden", display: "block" }, pb = ["Left", "Right"], qb = ["Top", "Bottom"], rb = s.defaultView && s.defaultView.getComputedStyle, Pa = c.support.cssFloat ? "cssFloat" : "styleFloat", ja =
function (a, b) { return b.toUpperCase() }; c.fn.css = function (a, b) { return X(this, a, b, true, function (d, f, e) { if (e === w) return c.curCSS(d, f); if (typeof e === "number" && !kb.test(f)) e += "px"; c.style(d, f, e) }) }; c.extend({ style: function (a, b, d) {
    if (!a || a.nodeType === 3 || a.nodeType === 8) return w; if ((b === "width" || b === "height") && parseFloat(d) < 0) d = w; var f = a.style || a, e = d !== w; if (!c.support.opacity && b === "opacity") {
        if (e) {
            f.zoom = 1; b = parseInt(d, 10) + "" === "NaN" ? "" : "alpha(opacity=" + d * 100 + ")"; a = f.filter || c.curCSS(a, "filter") || ""; f.filter =
Na.test(a) ? a.replace(Na, b) : b
        } return f.filter && f.filter.indexOf("opacity=") >= 0 ? parseFloat(Oa.exec(f.filter)[1]) / 100 + "" : ""
    } if (ha.test(b)) b = Pa; b = b.replace(ia, ja); if (e) f[b] = d; return f[b]
}, css: function (a, b, d, f) {
    if (b === "width" || b === "height") {
        var e, j = b === "width" ? pb : qb; function i() {
            e = b === "width" ? a.offsetWidth : a.offsetHeight; f !== "border" && c.each(j, function () {
                f || (e -= parseFloat(c.curCSS(a, "padding" + this, true)) || 0); if (f === "margin") e += parseFloat(c.curCSS(a, "margin" + this, true)) || 0; else e -= parseFloat(c.curCSS(a,
"border" + this + "Width", true)) || 0
            })
        } a.offsetWidth !== 0 ? i() : c.swap(a, ob, i); return Math.max(0, Math.round(e))
    } return c.curCSS(a, b, d)
}, curCSS: function (a, b, d) {
    var f, e = a.style; if (!c.support.opacity && b === "opacity" && a.currentStyle) { f = Oa.test(a.currentStyle.filter || "") ? parseFloat(RegExp.$1) / 100 + "" : ""; return f === "" ? "1" : f } if (ha.test(b)) b = Pa; if (!d && e && e[b]) f = e[b]; else if (rb) {
        if (ha.test(b)) b = "float"; b = b.replace(lb, "-$1").toLowerCase(); e = a.ownerDocument.defaultView; if (!e) return null; if (a = e.getComputedStyle(a, null)) f =
a.getPropertyValue(b); if (b === "opacity" && f === "") f = "1"
    } else if (a.currentStyle) { d = b.replace(ia, ja); f = a.currentStyle[b] || a.currentStyle[d]; if (!mb.test(f) && nb.test(f)) { b = e.left; var j = a.runtimeStyle.left; a.runtimeStyle.left = a.currentStyle.left; e.left = d === "fontSize" ? "1em" : f || 0; f = e.pixelLeft + "px"; e.left = b; a.runtimeStyle.left = j } } return f
}, swap: function (a, b, d) { var f = {}; for (var e in b) { f[e] = a.style[e]; a.style[e] = b[e] } d.call(a); for (e in b) a.style[e] = f[e] }
}); if (c.expr && c.expr.filters) {
        c.expr.filters.hidden = function (a) {
            var b =
a.offsetWidth, d = a.offsetHeight, f = a.nodeName.toLowerCase() === "tr"; return b === 0 && d === 0 && !f ? true : b > 0 && d > 0 && !f ? false : c.curCSS(a, "display") === "none"
        }; c.expr.filters.visible = function (a) { return !c.expr.filters.hidden(a) }
    } var sb = J(), tb = /<script(.|\s)*?\/script>/gi, ub = /select|textarea/i, vb = /color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i, N = /=\?(&|$)/, ka = /\?/, wb = /(\?|&)_=.*?(&|$)/, xb = /^(\w+:)?\/\/([^\/?#]+)/, yb = /%20/g, zb = c.fn.load; c.fn.extend({ load: function (a, b, d) {
        if (typeof a !==
"string") return zb.call(this, a); else if (!this.length) return this; var f = a.indexOf(" "); if (f >= 0) { var e = a.slice(f, a.length); a = a.slice(0, f) } f = "GET"; if (b) if (c.isFunction(b)) { d = b; b = null } else if (typeof b === "object") { b = c.param(b, c.ajaxSettings.traditional); f = "POST" } var j = this; c.ajax({ url: a, type: f, dataType: "html", data: b, complete: function (i, o) { if (o === "success" || o === "notmodified") j.html(e ? c("<div />").append(i.responseText.replace(tb, "")).find(e) : i.responseText); d && j.each(d, [i.responseText, o, i]) } }); return this
    },
        serialize: function () { return c.param(this.serializeArray()) }, serializeArray: function () { return this.map(function () { return this.elements ? c.makeArray(this.elements) : this }).filter(function () { return this.name && !this.disabled && (this.checked || ub.test(this.nodeName) || vb.test(this.type)) }).map(function (a, b) { a = c(this).val(); return a == null ? null : c.isArray(a) ? c.map(a, function (d) { return { name: b.name, value: d} }) : { name: b.name, value: a} }).get() }
    }); c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
function (a, b) { c.fn[b] = function (d) { return this.bind(b, d) } }); c.extend({ get: function (a, b, d, f) { if (c.isFunction(b)) { f = f || d; d = b; b = null } return c.ajax({ type: "GET", url: a, data: b, success: d, dataType: f }) }, getScript: function (a, b) { return c.get(a, null, b, "script") }, getJSON: function (a, b, d) { return c.get(a, b, d, "json") }, post: function (a, b, d, f) { if (c.isFunction(b)) { f = f || d; d = b; b = {} } return c.ajax({ type: "POST", url: a, data: b, success: d, dataType: f }) }, ajaxSetup: function (a) { c.extend(c.ajaxSettings, a) }, ajaxSettings: { url: location.href,
    global: true, type: "GET", contentType: "application/x-www-form-urlencoded", processData: true, async: true, xhr: A.XMLHttpRequest && (A.location.protocol !== "file:" || !A.ActiveXObject) ? function () { return new A.XMLHttpRequest } : function () { try { return new A.ActiveXObject("Microsoft.XMLHTTP") } catch (a) { } }, accepts: { xml: "application/xml, text/xml", html: "text/html", script: "text/javascript, application/javascript", json: "application/json, text/javascript", text: "text/plain", _default: "*/*" }
}, lastModified: {}, etag: {}, ajax: function (a) {
    function b() {
        e.success &&
e.success.call(k, o, i, x); e.global && f("ajaxSuccess", [x, e])
    } function d() { e.complete && e.complete.call(k, x, i); e.global && f("ajaxComplete", [x, e]); e.global && ! --c.active && c.event.trigger("ajaxStop") } function f(q, p) { (e.context ? c(e.context) : c.event).trigger(q, p) } var e = c.extend(true, {}, c.ajaxSettings, a), j, i, o, k = a && a.context || e, n = e.type.toUpperCase(); if (e.data && e.processData && typeof e.data !== "string") e.data = c.param(e.data, e.traditional); if (e.dataType === "jsonp") {
        if (n === "GET") N.test(e.url) || (e.url += (ka.test(e.url) ?
"&" : "?") + (e.jsonp || "callback") + "=?"); else if (!e.data || !N.test(e.data)) e.data = (e.data ? e.data + "&" : "") + (e.jsonp || "callback") + "=?"; e.dataType = "json"
    } if (e.dataType === "json" && (e.data && N.test(e.data) || N.test(e.url))) { j = e.jsonpCallback || "jsonp" + sb++; if (e.data) e.data = (e.data + "").replace(N, "=" + j + "$1"); e.url = e.url.replace(N, "=" + j + "$1"); e.dataType = "script"; A[j] = A[j] || function (q) { o = q; b(); d(); A[j] = w; try { delete A[j] } catch (p) { } z && z.removeChild(C) } } if (e.dataType === "script" && e.cache === null) e.cache = false; if (e.cache ===
false && n === "GET") { var r = J(), u = e.url.replace(wb, "$1_=" + r + "$2"); e.url = u + (u === e.url ? (ka.test(e.url) ? "&" : "?") + "_=" + r : "") } if (e.data && n === "GET") e.url += (ka.test(e.url) ? "&" : "?") + e.data; e.global && !c.active++ && c.event.trigger("ajaxStart"); r = (r = xb.exec(e.url)) && (r[1] && r[1] !== location.protocol || r[2] !== location.host); if (e.dataType === "script" && n === "GET" && r) {
        var z = s.getElementsByTagName("head")[0] || s.documentElement, C = s.createElement("script"); C.src = e.url; if (e.scriptCharset) C.charset = e.scriptCharset; if (!j) {
            var B =
false; C.onload = C.onreadystatechange = function () { if (!B && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete")) { B = true; b(); d(); C.onload = C.onreadystatechange = null; z && C.parentNode && z.removeChild(C) } }
        } z.insertBefore(C, z.firstChild); return w
    } var E = false, x = e.xhr(); if (x) {
        e.username ? x.open(n, e.url, e.async, e.username, e.password) : x.open(n, e.url, e.async); try {
            if (e.data || a && a.contentType) x.setRequestHeader("Content-Type", e.contentType); if (e.ifModified) {
                c.lastModified[e.url] && x.setRequestHeader("If-Modified-Since",
c.lastModified[e.url]); c.etag[e.url] && x.setRequestHeader("If-None-Match", c.etag[e.url])
            } r || x.setRequestHeader("X-Requested-With", "XMLHttpRequest"); x.setRequestHeader("Accept", e.dataType && e.accepts[e.dataType] ? e.accepts[e.dataType] + ", */*" : e.accepts._default)
        } catch (ga) { } if (e.beforeSend && e.beforeSend.call(k, x, e) === false) { e.global && ! --c.active && c.event.trigger("ajaxStop"); x.abort(); return false } e.global && f("ajaxSend", [x, e]); var g = x.onreadystatechange = function (q) {
            if (!x || x.readyState === 0 || q === "abort") {
                E ||
d(); E = true; if (x) x.onreadystatechange = c.noop
            } else if (!E && x && (x.readyState === 4 || q === "timeout")) { E = true; x.onreadystatechange = c.noop; i = q === "timeout" ? "timeout" : !c.httpSuccess(x) ? "error" : e.ifModified && c.httpNotModified(x, e.url) ? "notmodified" : "success"; var p; if (i === "success") try { o = c.httpData(x, e.dataType, e) } catch (v) { i = "parsererror"; p = v } if (i === "success" || i === "notmodified") j || b(); else c.handleError(e, x, i, p); d(); q === "timeout" && x.abort(); if (e.async) x = null }
        }; try {
            var h = x.abort; x.abort = function () {
                x && h.call(x);
                g("abort")
            }
        } catch (l) { } e.async && e.timeout > 0 && setTimeout(function () { x && !E && g("timeout") }, e.timeout); try { x.send(n === "POST" || n === "PUT" || n === "DELETE" ? e.data : null) } catch (m) { c.handleError(e, x, null, m); d() } e.async || g(); return x
    }
}, handleError: function (a, b, d, f) { if (a.error) a.error.call(a.context || a, b, d, f); if (a.global) (a.context ? c(a.context) : c.event).trigger("ajaxError", [b, a, f]) }, active: 0, httpSuccess: function (a) {
    try {
        return !a.status && location.protocol === "file:" || a.status >= 200 && a.status < 300 || a.status === 304 || a.status ===
1223 || a.status === 0
    } catch (b) { } return false
}, httpNotModified: function (a, b) { var d = a.getResponseHeader("Last-Modified"), f = a.getResponseHeader("Etag"); if (d) c.lastModified[b] = d; if (f) c.etag[b] = f; return a.status === 304 || a.status === 0 }, httpData: function (a, b, d) {
    var f = a.getResponseHeader("content-type") || "", e = b === "xml" || !b && f.indexOf("xml") >= 0; a = e ? a.responseXML : a.responseText; e && a.documentElement.nodeName === "parsererror" && c.error("parsererror"); if (d && d.dataFilter) a = d.dataFilter(a, b); if (typeof a === "string") if (b ===
"json" || !b && f.indexOf("json") >= 0) a = c.parseJSON(a); else if (b === "script" || !b && f.indexOf("javascript") >= 0) c.globalEval(a); return a
}, param: function (a, b) {
    function d(i, o) { if (c.isArray(o)) c.each(o, function (k, n) { b || /\[\]$/.test(i) ? f(i, n) : d(i + "[" + (typeof n === "object" || c.isArray(n) ? k : "") + "]", n) }); else !b && o != null && typeof o === "object" ? c.each(o, function (k, n) { d(i + "[" + k + "]", n) }) : f(i, o) } function f(i, o) { o = c.isFunction(o) ? o() : o; e[e.length] = encodeURIComponent(i) + "=" + encodeURIComponent(o) } var e = []; if (b === w) b = c.ajaxSettings.traditional;
    if (c.isArray(a) || a.jquery) c.each(a, function () { f(this.name, this.value) }); else for (var j in a) d(j, a[j]); return e.join("&").replace(yb, "+")
}
}); var la = {}, Ab = /toggle|show|hide/, Bb = /^([+-]=)?([\d+-.]+)(.*)$/, W, va = [["height", "marginTop", "marginBottom", "paddingTop", "paddingBottom"], ["width", "marginLeft", "marginRight", "paddingLeft", "paddingRight"], ["opacity"]]; c.fn.extend({ show: function (a, b) {
    if (a || a === 0) return this.animate(K("show", 3), a, b); else {
        a = 0; for (b = this.length; a < b; a++) {
            var d = c.data(this[a], "olddisplay");
            this[a].style.display = d || ""; if (c.css(this[a], "display") === "none") { d = this[a].nodeName; var f; if (la[d]) f = la[d]; else { var e = c("<" + d + " />").appendTo("body"); f = e.css("display"); if (f === "none") f = "block"; e.remove(); la[d] = f } c.data(this[a], "olddisplay", f) }
        } a = 0; for (b = this.length; a < b; a++) this[a].style.display = c.data(this[a], "olddisplay") || ""; return this
    }
}, hide: function (a, b) {
    if (a || a === 0) return this.animate(K("hide", 3), a, b); else {
        a = 0; for (b = this.length; a < b; a++) {
            var d = c.data(this[a], "olddisplay"); !d && d !== "none" && c.data(this[a],
"olddisplay", c.css(this[a], "display"))
        } a = 0; for (b = this.length; a < b; a++) this[a].style.display = "none"; return this
    }
}, _toggle: c.fn.toggle, toggle: function (a, b) { var d = typeof a === "boolean"; if (c.isFunction(a) && c.isFunction(b)) this._toggle.apply(this, arguments); else a == null || d ? this.each(function () { var f = d ? a : c(this).is(":hidden"); c(this)[f ? "show" : "hide"]() }) : this.animate(K("toggle", 3), a, b); return this }, fadeTo: function (a, b, d) { return this.filter(":hidden").css("opacity", 0).show().end().animate({ opacity: b }, a, d) },
    animate: function (a, b, d, f) {
        var e = c.speed(b, d, f); if (c.isEmptyObject(a)) return this.each(e.complete); return this[e.queue === false ? "each" : "queue"](function () {
            var j = c.extend({}, e), i, o = this.nodeType === 1 && c(this).is(":hidden"), k = this; for (i in a) {
                var n = i.replace(ia, ja); if (i !== n) { a[n] = a[i]; delete a[i]; i = n } if (a[i] === "hide" && o || a[i] === "show" && !o) return j.complete.call(this); if ((i === "height" || i === "width") && this.style) { j.display = c.css(this, "display"); j.overflow = this.style.overflow } if (c.isArray(a[i])) {
                    (j.specialEasing =
j.specialEasing || {})[i] = a[i][1]; a[i] = a[i][0]
                }
            } if (j.overflow != null) this.style.overflow = "hidden"; j.curAnim = c.extend({}, a); c.each(a, function (r, u) { var z = new c.fx(k, j, r); if (Ab.test(u)) z[u === "toggle" ? o ? "show" : "hide" : u](a); else { var C = Bb.exec(u), B = z.cur(true) || 0; if (C) { u = parseFloat(C[2]); var E = C[3] || "px"; if (E !== "px") { k.style[r] = (u || 1) + E; B = (u || 1) / z.cur(true) * B; k.style[r] = B + E } if (C[1]) u = (C[1] === "-=" ? -1 : 1) * u + B; z.custom(B, u, E) } else z.custom(B, u, "") } }); return true
        })
    }, stop: function (a, b) {
        var d = c.timers; a && this.queue([]);
        this.each(function () { for (var f = d.length - 1; f >= 0; f--) if (d[f].elem === this) { b && d[f](true); d.splice(f, 1) } }); b || this.dequeue(); return this
    }
}); c.each({ slideDown: K("show", 1), slideUp: K("hide", 1), slideToggle: K("toggle", 1), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide"} }, function (a, b) { c.fn[a] = function (d, f) { return this.animate(b, d, f) } }); c.extend({ speed: function (a, b, d) {
    var f = a && typeof a === "object" ? a : { complete: d || !d && b || c.isFunction(a) && a, duration: a, easing: d && b || b && !c.isFunction(b) && b }; f.duration = c.fx.off ? 0 : typeof f.duration ===
"number" ? f.duration : c.fx.speeds[f.duration] || c.fx.speeds._default; f.old = f.complete; f.complete = function () { f.queue !== false && c(this).dequeue(); c.isFunction(f.old) && f.old.call(this) }; return f
}, easing: { linear: function (a, b, d, f) { return d + f * a }, swing: function (a, b, d, f) { return (-Math.cos(a * Math.PI) / 2 + 0.5) * f + d } }, timers: [], fx: function (a, b, d) { this.options = b; this.elem = a; this.prop = d; if (!b.orig) b.orig = {} }
}); c.fx.prototype = { update: function () {
    this.options.step && this.options.step.call(this.elem, this.now, this); (c.fx.step[this.prop] ||
c.fx.step._default)(this); if ((this.prop === "height" || this.prop === "width") && this.elem.style) this.elem.style.display = "block"
}, cur: function (a) { if (this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null)) return this.elem[this.prop]; return (a = parseFloat(c.css(this.elem, this.prop, a))) && a > -10000 ? a : parseFloat(c.curCSS(this.elem, this.prop)) || 0 }, custom: function (a, b, d) {
    function f(j) { return e.step(j) } this.startTime = J(); this.start = a; this.end = b; this.unit = d || this.unit || "px"; this.now = this.start;
    this.pos = this.state = 0; var e = this; f.elem = this.elem; if (f() && c.timers.push(f) && !W) W = setInterval(c.fx.tick, 13)
}, show: function () { this.options.orig[this.prop] = c.style(this.elem, this.prop); this.options.show = true; this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur()); c(this.elem).show() }, hide: function () { this.options.orig[this.prop] = c.style(this.elem, this.prop); this.options.hide = true; this.custom(this.cur(), 0) }, step: function (a) {
    var b = J(), d = true; if (a || b >= this.options.duration + this.startTime) {
        this.now =
this.end; this.pos = this.state = 1; this.update(); this.options.curAnim[this.prop] = true; for (var f in this.options.curAnim) if (this.options.curAnim[f] !== true) d = false; if (d) {
            if (this.options.display != null) { this.elem.style.overflow = this.options.overflow; a = c.data(this.elem, "olddisplay"); this.elem.style.display = a ? a : this.options.display; if (c.css(this.elem, "display") === "none") this.elem.style.display = "block" } this.options.hide && c(this.elem).hide(); if (this.options.hide || this.options.show) for (var e in this.options.curAnim) c.style(this.elem,
e, this.options.orig[e]); this.options.complete.call(this.elem)
        } return false
    } else { e = b - this.startTime; this.state = e / this.options.duration; a = this.options.easing || (c.easing.swing ? "swing" : "linear"); this.pos = c.easing[this.options.specialEasing && this.options.specialEasing[this.prop] || a](this.state, e, 0, 1, this.options.duration); this.now = this.start + (this.end - this.start) * this.pos; this.update() } return true
}
}; c.extend(c.fx, { tick: function () {
    for (var a = c.timers, b = 0; b < a.length; b++) a[b]() || a.splice(b--, 1); a.length ||
c.fx.stop()
}, stop: function () { clearInterval(W); W = null }, speeds: { slow: 600, fast: 200, _default: 400 }, step: { opacity: function (a) { c.style(a.elem, "opacity", a.now) }, _default: function (a) { if (a.elem.style && a.elem.style[a.prop] != null) a.elem.style[a.prop] = (a.prop === "width" || a.prop === "height" ? Math.max(0, a.now) : a.now) + a.unit; else a.elem[a.prop] = a.now } }
}); if (c.expr && c.expr.filters) c.expr.filters.animated = function (a) { return c.grep(c.timers, function (b) { return a === b.elem }).length }; c.fn.offset = "getBoundingClientRect" in s.documentElement ?
function (a) { var b = this[0]; if (a) return this.each(function (e) { c.offset.setOffset(this, a, e) }); if (!b || !b.ownerDocument) return null; if (b === b.ownerDocument.body) return c.offset.bodyOffset(b); var d = b.getBoundingClientRect(), f = b.ownerDocument; b = f.body; f = f.documentElement; return { top: d.top + (self.pageYOffset || c.support.boxModel && f.scrollTop || b.scrollTop) - (f.clientTop || b.clientTop || 0), left: d.left + (self.pageXOffset || c.support.boxModel && f.scrollLeft || b.scrollLeft) - (f.clientLeft || b.clientLeft || 0)} } : function (a) {
    var b =
this[0]; if (a) return this.each(function (r) { c.offset.setOffset(this, a, r) }); if (!b || !b.ownerDocument) return null; if (b === b.ownerDocument.body) return c.offset.bodyOffset(b); c.offset.initialize(); var d = b.offsetParent, f = b, e = b.ownerDocument, j, i = e.documentElement, o = e.body; f = (e = e.defaultView) ? e.getComputedStyle(b, null) : b.currentStyle; for (var k = b.offsetTop, n = b.offsetLeft; (b = b.parentNode) && b !== o && b !== i; ) {
        if (c.offset.supportsFixedPosition && f.position === "fixed") break; j = e ? e.getComputedStyle(b, null) : b.currentStyle;
        k -= b.scrollTop; n -= b.scrollLeft; if (b === d) { k += b.offsetTop; n += b.offsetLeft; if (c.offset.doesNotAddBorder && !(c.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(b.nodeName))) { k += parseFloat(j.borderTopWidth) || 0; n += parseFloat(j.borderLeftWidth) || 0 } f = d; d = b.offsetParent } if (c.offset.subtractsBorderForOverflowNotVisible && j.overflow !== "visible") { k += parseFloat(j.borderTopWidth) || 0; n += parseFloat(j.borderLeftWidth) || 0 } f = j
    } if (f.position === "relative" || f.position === "static") { k += o.offsetTop; n += o.offsetLeft } if (c.offset.supportsFixedPosition &&
f.position === "fixed") { k += Math.max(i.scrollTop, o.scrollTop); n += Math.max(i.scrollLeft, o.scrollLeft) } return { top: k, left: n }
}; c.offset = { initialize: function () {
    var a = s.body, b = s.createElement("div"), d, f, e, j = parseFloat(c.curCSS(a, "marginTop", true)) || 0; c.extend(b.style, { position: "absolute", top: 0, left: 0, margin: 0, border: 0, width: "1px", height: "1px", visibility: "hidden" }); b.innerHTML = "<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
    a.insertBefore(b, a.firstChild); d = b.firstChild; f = d.firstChild; e = d.nextSibling.firstChild.firstChild; this.doesNotAddBorder = f.offsetTop !== 5; this.doesAddBorderForTableAndCells = e.offsetTop === 5; f.style.position = "fixed"; f.style.top = "20px"; this.supportsFixedPosition = f.offsetTop === 20 || f.offsetTop === 15; f.style.position = f.style.top = ""; d.style.overflow = "hidden"; d.style.position = "relative"; this.subtractsBorderForOverflowNotVisible = f.offsetTop === -5; this.doesNotIncludeMarginInBodyOffset = a.offsetTop !== j; a.removeChild(b);
    c.offset.initialize = c.noop
}, bodyOffset: function (a) { var b = a.offsetTop, d = a.offsetLeft; c.offset.initialize(); if (c.offset.doesNotIncludeMarginInBodyOffset) { b += parseFloat(c.curCSS(a, "marginTop", true)) || 0; d += parseFloat(c.curCSS(a, "marginLeft", true)) || 0 } return { top: b, left: d} }, setOffset: function (a, b, d) {
    if (/static/.test(c.curCSS(a, "position"))) a.style.position = "relative"; var f = c(a), e = f.offset(), j = parseInt(c.curCSS(a, "top", true), 10) || 0, i = parseInt(c.curCSS(a, "left", true), 10) || 0; if (c.isFunction(b)) b = b.call(a,
d, e); d = { top: b.top - e.top + j, left: b.left - e.left + i }; "using" in b ? b.using.call(a, d) : f.css(d)
}
}; c.fn.extend({ position: function () {
    if (!this[0]) return null; var a = this[0], b = this.offsetParent(), d = this.offset(), f = /^body|html$/i.test(b[0].nodeName) ? { top: 0, left: 0} : b.offset(); d.top -= parseFloat(c.curCSS(a, "marginTop", true)) || 0; d.left -= parseFloat(c.curCSS(a, "marginLeft", true)) || 0; f.top += parseFloat(c.curCSS(b[0], "borderTopWidth", true)) || 0; f.left += parseFloat(c.curCSS(b[0], "borderLeftWidth", true)) || 0; return { top: d.top -
f.top, left: d.left - f.left
    }
}, offsetParent: function () { return this.map(function () { for (var a = this.offsetParent || s.body; a && !/^body|html$/i.test(a.nodeName) && c.css(a, "position") === "static"; ) a = a.offsetParent; return a }) }
}); c.each(["Left", "Top"], function (a, b) {
    var d = "scroll" + b; c.fn[d] = function (f) {
        var e = this[0], j; if (!e) return null; if (f !== w) return this.each(function () { if (j = wa(this)) j.scrollTo(!a ? f : c(j).scrollLeft(), a ? f : c(j).scrollTop()); else this[d] = f }); else return (j = wa(e)) ? "pageXOffset" in j ? j[a ? "pageYOffset" :
"pageXOffset"] : c.support.boxModel && j.document.documentElement[d] || j.document.body[d] : e[d]
    }
}); c.each(["Height", "Width"], function (a, b) {
    var d = b.toLowerCase(); c.fn["inner" + b] = function () { return this[0] ? c.css(this[0], d, false, "padding") : null }; c.fn["outer" + b] = function (f) { return this[0] ? c.css(this[0], d, false, f ? "margin" : "border") : null }; c.fn[d] = function (f) {
        var e = this[0]; if (!e) return f == null ? null : this; if (c.isFunction(f)) return this.each(function (j) { var i = c(this); i[d](f.call(this, j, i[d]())) }); return "scrollTo" in
e && e.document ? e.document.compatMode === "CSS1Compat" && e.document.documentElement["client" + b] || e.document.body["client" + b] : e.nodeType === 9 ? Math.max(e.documentElement["client" + b], e.body["scroll" + b], e.documentElement["scroll" + b], e.body["offset" + b], e.documentElement["offset" + b]) : f === w ? c.css(e, d) : this.css(d, typeof f === "string" ? f : f + "px")
    }
}); A.jQuery = A.$ = c
})(window);

/*!
* jQuery UI 1.8.13
*
* 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 (c, j) {
    function k(a, b) { var d = a.nodeName.toLowerCase(); if ("area" === d) { b = a.parentNode; d = b.name; if (!a.href || !d || b.nodeName.toLowerCase() !== "map") return false; a = c("img[usemap=#" + d + "]")[0]; return !!a && l(a) } return (/input|select|textarea|button|object/.test(d) ? !a.disabled : "a" == d ? a.href || b : b) && l(a) } function l(a) { return !c(a).parents().andSelf().filter(function () { return c.curCSS(this, "visibility") === "hidden" || c.expr.filters.hidden(this) }).length } c.ui = c.ui || {}; if (!c.ui.version) {
        c.extend(c.ui, { version: "1.8.13",
            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 }
        }); c.fn.extend({ _focus: c.fn.focus, focus: function (a, b) {
            return typeof a === "number" ? this.each(function () {
                var d = this; setTimeout(function () {
                    c(d).focus();
                    b && b.call(d)
                }, a)
            }) : this._focus.apply(this, arguments)
        }, scrollParent: function () {
            var a; a = c.browser.msie && /(static|relative)/.test(this.css("position")) || /absolute/.test(this.css("position")) ? this.parents().filter(function () { return /(relative|absolute|fixed)/.test(c.curCSS(this, "position", 1)) && /(auto|scroll)/.test(c.curCSS(this, "overflow", 1) + c.curCSS(this, "overflow-y", 1) + c.curCSS(this, "overflow-x", 1)) }).eq(0) : this.parents().filter(function () {
                return /(auto|scroll)/.test(c.curCSS(this, "overflow", 1) + c.curCSS(this,
"overflow-y", 1) + c.curCSS(this, "overflow-x", 1))
            }).eq(0); return /fixed/.test(this.css("position")) || !a.length ? c(document) : a
        }, zIndex: function (a) { if (a !== j) return this.css("zIndex", a); if (this.length) { a = c(this[0]); for (var b; a.length && a[0] !== document; ) { b = a.css("position"); if (b === "absolute" || b === "relative" || b === "fixed") { b = parseInt(a.css("zIndex"), 10); if (!isNaN(b) && b !== 0) return b } a = a.parent() } } return 0 }, disableSelection: function () {
            return this.bind((c.support.selectstart ? "selectstart" : "mousedown") + ".ui-disableSelection",
function (a) { a.preventDefault() })
        }, enableSelection: function () { return this.unbind(".ui-disableSelection") }
        }); c.each(["Width", "Height"], function (a, b) {
            function d(f, g, m, n) { c.each(e, function () { g -= parseFloat(c.curCSS(f, "padding" + this, true)) || 0; if (m) g -= parseFloat(c.curCSS(f, "border" + this + "Width", true)) || 0; if (n) g -= parseFloat(c.curCSS(f, "margin" + this, true)) || 0 }); return g } var e = b === "Width" ? ["Left", "Right"] : ["Top", "Bottom"], h = b.toLowerCase(), i = { innerWidth: c.fn.innerWidth, innerHeight: c.fn.innerHeight, outerWidth: c.fn.outerWidth,
                outerHeight: c.fn.outerHeight
            }; c.fn["inner" + b] = function (f) { if (f === j) return i["inner" + b].call(this); return this.each(function () { c(this).css(h, d(this, f) + "px") }) }; c.fn["outer" + b] = function (f, g) { if (typeof f !== "number") return i["outer" + b].call(this, f); return this.each(function () { c(this).css(h, d(this, f, true, g) + "px") }) }
        }); c.extend(c.expr[":"], { data: function (a, b, d) { return !!c.data(a, d[3]) }, focusable: function (a) { return k(a, !isNaN(c.attr(a, "tabindex"))) }, tabbable: function (a) {
            var b = c.attr(a, "tabindex"), d = isNaN(b);
            return (d || b >= 0) && k(a, !d)
        }
        }); c(function () { var a = document.body, b = a.appendChild(b = document.createElement("div")); c.extend(b.style, { minHeight: "100px", height: "auto", padding: 0, borderWidth: 0 }); c.support.minHeight = b.offsetHeight === 100; c.support.selectstart = "onselectstart" in b; a.removeChild(b).style.display = "none" }); c.extend(c.ui, { plugin: { add: function (a, b, d) { a = c.ui[a].prototype; for (var e in d) { a.plugins[e] = a.plugins[e] || []; a.plugins[e].push([b, d[e]]) } }, call: function (a, b, d) {
            if ((b = a.plugins[b]) && a.element[0].parentNode) for (var e =
0; e < b.length; e++) a.options[b[e][0]] && b[e][1].apply(a.element, d)
        }
        }, contains: function (a, b) { return document.compareDocumentPosition ? a.compareDocumentPosition(b) & 16 : a !== b && a.contains(b) }, hasScroll: function (a, b) { if (c(a).css("overflow") === "hidden") return false; b = b && b === "left" ? "scrollLeft" : "scrollTop"; var d = false; if (a[b] > 0) return true; a[b] = 1; d = a[b] > 0; a[b] = 0; return d }, isOverAxis: function (a, b, d) { return a > b && a < b + d }, isOver: function (a, b, d, e, h, i) { return c.ui.isOverAxis(a, d, h) && c.ui.isOverAxis(b, e, i) }
        })
    }
})(jQuery);
; /*!
 * jQuery UI Widget 1.8.13
 *
 * 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/Widget
 */
(function (b, j) {
    if (b.cleanData) { var k = b.cleanData; b.cleanData = function (a) { for (var c = 0, d; (d = a[c]) != null; c++) b(d).triggerHandler("remove"); k(a) } } else { var l = b.fn.remove; b.fn.remove = function (a, c) { return this.each(function () { if (!c) if (!a || b.filter(a, [this]).length) b("*", this).add([this]).each(function () { b(this).triggerHandler("remove") }); return l.call(b(this), a, c) }) } } b.widget = function (a, c, d) {
        var e = a.split(".")[0], f; a = a.split(".")[1]; f = e + "-" + a; if (!d) { d = c; c = b.Widget } b.expr[":"][f] = function (h) {
            return !!b.data(h,
a)
        }; b[e] = b[e] || {}; b[e][a] = function (h, g) { arguments.length && this._createWidget(h, g) }; c = new c; c.options = b.extend(true, {}, c.options); b[e][a].prototype = b.extend(true, c, { namespace: e, widgetName: a, widgetEventPrefix: b[e][a].prototype.widgetEventPrefix || a, widgetBaseClass: f }, d); b.widget.bridge(a, b[e][a])
    }; b.widget.bridge = function (a, c) {
        b.fn[a] = function (d) {
            var e = typeof d === "string", f = Array.prototype.slice.call(arguments, 1), h = this; d = !e && f.length ? b.extend.apply(null, [true, d].concat(f)) : d; if (e && d.charAt(0) === "_") return h;
            e ? this.each(function () { var g = b.data(this, a), i = g && b.isFunction(g[d]) ? g[d].apply(g, f) : g; if (i !== g && i !== j) { h = i; return false } }) : this.each(function () { var g = b.data(this, a); g ? g.option(d || {})._init() : b.data(this, a, new c(d, this)) }); return h
        }
    }; b.Widget = function (a, c) { arguments.length && this._createWidget(a, c) }; b.Widget.prototype = { widgetName: "widget", widgetEventPrefix: "", options: { disabled: false }, _createWidget: function (a, c) {
        b.data(c, this.widgetName, this); this.element = b(c); this.options = b.extend(true, {}, this.options,
this._getCreateOptions(), a); var d = this; this.element.bind("remove." + this.widgetName, function () { d.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 (a, c) { var d = a; if (arguments.length === 0) return b.extend({}, this.options); if (typeof a === "string") { if (c === j) return this.options[a]; d = {}; d[a] = c } this._setOptions(d); return this }, _setOptions: function (a) { var c = this; b.each(a, function (d, e) { c._setOption(d, e) }); return this }, _setOption: function (a, c) { this.options[a] = c; if (a === "disabled") this.widget()[c ? "addClass" : "removeClass"](this.widgetBaseClass + "-disabled ui-state-disabled").attr("aria-disabled", c); return this },
        enable: function () { return this._setOption("disabled", false) }, disable: function () { return this._setOption("disabled", true) }, _trigger: function (a, c, d) { var e = this.options[a]; c = b.Event(c); c.type = (a === this.widgetEventPrefix ? a : this.widgetEventPrefix + a).toLowerCase(); d = d || {}; if (c.originalEvent) { a = b.event.props.length; for (var f; a; ) { f = b.event.props[--a]; c[f] = c.originalEvent[f] } } this.element.trigger(c, d); return !(b.isFunction(e) && e.call(this.element[0], c, d) === false || c.isDefaultPrevented()) }
    }
})(jQuery);
; /*!
 * jQuery UI Mouse 1.8.13
 *
 * 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/Mouse
 *
 * Depends:
 *	jquery.ui.widget.js
 */
(function (b) {
    var d = false; b(document).mousedown(function () { d = false }); b.widget("ui.mouse", { options: { cancel: ":input,option", distance: 1, delay: 0 }, _mouseInit: function () { var a = this; this.element.bind("mousedown." + this.widgetName, function (c) { return a._mouseDown(c) }).bind("click." + this.widgetName, function (c) { if (true === b.data(c.target, a.widgetName + ".preventClickEvent")) { b.removeData(c.target, a.widgetName + ".preventClickEvent"); c.stopImmediatePropagation(); return false } }); this.started = false }, _mouseDestroy: function () {
        this.element.unbind("." +
this.widgetName)
    }, _mouseDown: function (a) {
        if (!d) {
            this._mouseStarted && this._mouseUp(a); this._mouseDownEvent = a; var c = this, f = a.which == 1, g = typeof this.options.cancel == "string" ? b(a.target).parents().add(a.target).filter(this.options.cancel).length : false; if (!f || g || !this._mouseCapture(a)) return true; this.mouseDelayMet = !this.options.delay; if (!this.mouseDelayMet) this._mouseDelayTimer = setTimeout(function () { c.mouseDelayMet = true }, this.options.delay); if (this._mouseDistanceMet(a) && this._mouseDelayMet(a)) {
                this._mouseStarted =
this._mouseStart(a) !== false; if (!this._mouseStarted) { a.preventDefault(); return true }
            } true === b.data(a.target, this.widgetName + ".preventClickEvent") && b.removeData(a.target, this.widgetName + ".preventClickEvent"); this._mouseMoveDelegate = function (e) { return c._mouseMove(e) }; this._mouseUpDelegate = function (e) { return c._mouseUp(e) }; b(document).bind("mousemove." + this.widgetName, this._mouseMoveDelegate).bind("mouseup." + this.widgetName, this._mouseUpDelegate); a.preventDefault(); return d = true
        }
    }, _mouseMove: function (a) {
        if (b.browser.msie &&
!(document.documentMode >= 9) && !a.button) return this._mouseUp(a); if (this._mouseStarted) { this._mouseDrag(a); return a.preventDefault() } if (this._mouseDistanceMet(a) && this._mouseDelayMet(a)) (this._mouseStarted = this._mouseStart(this._mouseDownEvent, a) !== false) ? this._mouseDrag(a) : this._mouseUp(a); return !this._mouseStarted
    }, _mouseUp: function (a) {
        b(document).unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate); if (this._mouseStarted) {
            this._mouseStarted =
false; a.target == this._mouseDownEvent.target && b.data(a.target, this.widgetName + ".preventClickEvent", true); this._mouseStop(a)
        } return false
    }, _mouseDistanceMet: function (a) { return Math.max(Math.abs(this._mouseDownEvent.pageX - a.pageX), Math.abs(this._mouseDownEvent.pageY - a.pageY)) >= this.options.distance }, _mouseDelayMet: function () { return this.mouseDelayMet }, _mouseStart: function () { }, _mouseDrag: function () { }, _mouseStop: function () { }, _mouseCapture: function () { return true }
    })
})(jQuery);
; /*
 * jQuery UI Position 1.8.13
 *
 * 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/Position
 */
(function (c) {
    c.ui = c.ui || {}; var n = /left|center|right/, o = /top|center|bottom/, t = c.fn.position, u = c.fn.offset; c.fn.position = function (b) {
        if (!b || !b.of) return t.apply(this, arguments); b = c.extend({}, b); var a = c(b.of), d = a[0], g = (b.collision || "flip").split(" "), e = b.offset ? b.offset.split(" ") : [0, 0], h, k, j; if (d.nodeType === 9) { h = a.width(); k = a.height(); j = { top: 0, left: 0} } else if (d.setTimeout) { h = a.width(); k = a.height(); j = { top: a.scrollTop(), left: a.scrollLeft()} } else if (d.preventDefault) {
            b.at = "left top"; h = k = 0; j = { top: b.of.pageY,
                left: b.of.pageX
            }
        } else { h = a.outerWidth(); k = a.outerHeight(); j = a.offset() } c.each(["my", "at"], function () { var f = (b[this] || "").split(" "); if (f.length === 1) f = n.test(f[0]) ? f.concat(["center"]) : o.test(f[0]) ? ["center"].concat(f) : ["center", "center"]; f[0] = n.test(f[0]) ? f[0] : "center"; f[1] = o.test(f[1]) ? f[1] : "center"; b[this] = f }); if (g.length === 1) g[1] = g[0]; e[0] = parseInt(e[0], 10) || 0; if (e.length === 1) e[1] = e[0]; e[1] = parseInt(e[1], 10) || 0; if (b.at[0] === "right") j.left += h; else if (b.at[0] === "center") j.left += h / 2; if (b.at[1] === "bottom") j.top +=
k; else if (b.at[1] === "center") j.top += k / 2; j.left += e[0]; j.top += e[1]; return this.each(function () {
    var f = c(this), l = f.outerWidth(), m = f.outerHeight(), p = parseInt(c.curCSS(this, "marginLeft", true)) || 0, q = parseInt(c.curCSS(this, "marginTop", true)) || 0, v = l + p + (parseInt(c.curCSS(this, "marginRight", true)) || 0), w = m + q + (parseInt(c.curCSS(this, "marginBottom", true)) || 0), i = c.extend({}, j), r; if (b.my[0] === "right") i.left -= l; else if (b.my[0] === "center") i.left -= l / 2; if (b.my[1] === "bottom") i.top -= m; else if (b.my[1] === "center") i.top -=
m / 2; i.left = Math.round(i.left); i.top = Math.round(i.top); r = { left: i.left - p, top: i.top - q }; c.each(["left", "top"], function (s, x) { c.ui.position[g[s]] && c.ui.position[g[s]][x](i, { targetWidth: h, targetHeight: k, elemWidth: l, elemHeight: m, collisionPosition: r, collisionWidth: v, collisionHeight: w, offset: e, my: b.my, at: b.at }) }); c.fn.bgiframe && f.bgiframe(); f.offset(c.extend(i, { using: b.using }))
})
    }; c.ui.position = { fit: { left: function (b, a) {
        var d = c(window); d = a.collisionPosition.left + a.collisionWidth - d.width() - d.scrollLeft(); b.left =
d > 0 ? b.left - d : Math.max(b.left - a.collisionPosition.left, b.left)
    }, top: function (b, a) { var d = c(window); d = a.collisionPosition.top + a.collisionHeight - d.height() - d.scrollTop(); b.top = d > 0 ? b.top - d : Math.max(b.top - a.collisionPosition.top, b.top) }
    }, flip: { left: function (b, a) {
        if (a.at[0] !== "center") {
            var d = c(window); d = a.collisionPosition.left + a.collisionWidth - d.width() - d.scrollLeft(); var g = a.my[0] === "left" ? -a.elemWidth : a.my[0] === "right" ? a.elemWidth : 0, e = a.at[0] === "left" ? a.targetWidth : -a.targetWidth, h = -2 * a.offset[0]; b.left +=
a.collisionPosition.left < 0 ? g + e + h : d > 0 ? g + e + h : 0
        }
    }, top: function (b, a) { if (a.at[1] !== "center") { var d = c(window); d = a.collisionPosition.top + a.collisionHeight - d.height() - d.scrollTop(); var g = a.my[1] === "top" ? -a.elemHeight : a.my[1] === "bottom" ? a.elemHeight : 0, e = a.at[1] === "top" ? a.targetHeight : -a.targetHeight, h = -2 * a.offset[1]; b.top += a.collisionPosition.top < 0 ? g + e + h : d > 0 ? g + e + h : 0 } }
    }
    }; if (!c.offset.setOffset) {
        c.offset.setOffset = function (b, a) {
            if (/static/.test(c.curCSS(b, "position"))) b.style.position = "relative"; var d = c(b),
g = d.offset(), e = parseInt(c.curCSS(b, "top", true), 10) || 0, h = parseInt(c.curCSS(b, "left", true), 10) || 0; g = { top: a.top - g.top + e, left: a.left - g.left + h }; "using" in a ? a.using.call(b, g) : d.css(g)
        }; c.fn.offset = function (b) { var a = this[0]; if (!a || !a.ownerDocument) return null; if (b) return this.each(function () { c.offset.setOffset(this, b) }); return u.call(this) }
    }
})(jQuery);
; /*
 * jQuery UI Draggable 1.8.13
 *
 * 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/Draggables
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.mouse.js
 *	jquery.ui.widget.js
 */
(function (d) {
    d.widget("ui.draggable", d.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 (a) {
        var b =
this.options; if (this.helper || b.disabled || d(a.target).is(".ui-resizable-handle")) return false; this.handle = this._getHandle(a); if (!this.handle) return false; d(b.iframeFix === true ? "iframe" : b.iframeFix).each(function () { d('<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(d(this).offset()).appendTo("body") }); return true
    }, _mouseStart: function (a) {
        var b = this.options; this.helper =
this._createHelper(a); this._cacheHelperProportions(); if (d.ui.ddmanager) d.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 }; d.extend(this.offset, { click: { left: a.pageX - this.offset.left, top: a.pageY - this.offset.top }, parent: this._getParentOffset(), relative: this._getRelativeOffset() });
        this.originalPosition = this.position = this._generatePosition(a); this.originalPageX = a.pageX; this.originalPageY = a.pageY; b.cursorAt && this._adjustOffsetFromHelper(b.cursorAt); b.containment && this._setContainment(); if (this._trigger("start", a) === false) { this._clear(); return false } this._cacheHelperProportions(); d.ui.ddmanager && !b.dropBehaviour && d.ui.ddmanager.prepareOffsets(this, a); this.helper.addClass("ui-draggable-dragging"); this._mouseDrag(a, true); return true
    }, _mouseDrag: function (a, b) {
        this.position = this._generatePosition(a);
        this.positionAbs = this._convertPositionTo("absolute"); if (!b) { b = this._uiHash(); if (this._trigger("drag", a, b) === false) { this._mouseUp({}); return false } this.position = b.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"; d.ui.ddmanager && d.ui.ddmanager.drag(this, a); return false
    }, _mouseStop: function (a) {
        var b = false; if (d.ui.ddmanager && !this.options.dropBehaviour) b =
d.ui.ddmanager.drop(this, a); if (this.dropped) { b = this.dropped; this.dropped = false } if ((!this.element[0] || !this.element[0].parentNode) && this.options.helper == "original") return false; if (this.options.revert == "invalid" && !b || this.options.revert == "valid" && b || this.options.revert === true || d.isFunction(this.options.revert) && this.options.revert.call(this.element, b)) { var c = this; d(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function () { c._trigger("stop", a) !== false && c._clear() }) } else this._trigger("stop",
a) !== false && this._clear(); return false
    }, _mouseUp: function (a) { this.options.iframeFix === true && d("div.ui-draggable-iframeFix").each(function () { this.parentNode.removeChild(this) }); return d.ui.mouse.prototype._mouseUp.call(this, a) }, cancel: function () { this.helper.is(".ui-draggable-dragging") ? this._mouseUp({}) : this._clear(); return this }, _getHandle: function (a) {
        var b = !this.options.handle || !d(this.options.handle, this.element).length ? true : false; d(this.options.handle, this.element).find("*").andSelf().each(function () {
            if (this ==
a.target) b = true
        }); return b
    }, _createHelper: function (a) { var b = this.options; a = d.isFunction(b.helper) ? d(b.helper.apply(this.element[0], [a])) : b.helper == "clone" ? this.element.clone().removeAttr("id") : this.element; a.parents("body").length || a.appendTo(b.appendTo == "parent" ? this.element[0].parentNode : b.appendTo); a[0] != this.element[0] && !/(fixed|absolute)/.test(a.css("position")) && a.css("position", "absolute"); return a }, _adjustOffsetFromHelper: function (a) {
        if (typeof a == "string") a = a.split(" "); if (d.isArray(a)) a =
{ left: +a[0], top: +a[1] || 0 }; if ("left" in a) this.offset.click.left = a.left + this.margins.left; if ("right" in a) this.offset.click.left = this.helperProportions.width - a.right + this.margins.left; if ("top" in a) this.offset.click.top = a.top + this.margins.top; if ("bottom" in a) this.offset.click.top = this.helperProportions.height - a.bottom + this.margins.top
    }, _getParentOffset: function () {
        this.offsetParent = this.helper.offsetParent(); var a = this.offsetParent.offset(); if (this.cssPosition == "absolute" && this.scrollParent[0] != document &&
d.ui.contains(this.scrollParent[0], this.offsetParent[0])) { a.left += this.scrollParent.scrollLeft(); a.top += this.scrollParent.scrollTop() } if (this.offsetParent[0] == document.body || this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == "html" && d.browser.msie) a = { top: 0, left: 0 }; return { top: a.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0), left: a.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0) }
    }, _getRelativeOffset: function () {
        if (this.cssPosition == "relative") {
            var a =
this.element.position(); return { top: a.top - (parseInt(this.helper.css("top"), 10) || 0) + this.scrollParent.scrollTop(), left: a.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 a = this.options; if (a.containment == "parent") a.containment = this.helper[0].parentNode; if (a.containment == "document" || a.containment == "window") this.containment = [(a.containment == "document" ? 0 : d(window).scrollLeft()) - this.offset.relative.left - this.offset.parent.left, (a.containment == "document" ? 0 : d(window).scrollTop()) - this.offset.relative.top - this.offset.parent.top, (a.containment == "document" ? 0 : d(window).scrollLeft()) +
d(a.containment == "document" ? document : window).width() - this.helperProportions.width - this.margins.left, (a.containment == "document" ? 0 : d(window).scrollTop()) + (d(a.containment == "document" ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top]; if (!/^(document|window|parent)$/.test(a.containment) && a.containment.constructor != Array) {
            a = d(a.containment); var b = a[0]; if (b) {
                a.offset(); var c = d(b).css("overflow") != "hidden"; this.containment = [(parseInt(d(b).css("borderLeftWidth"),
10) || 0) + (parseInt(d(b).css("paddingLeft"), 10) || 0), (parseInt(d(b).css("borderTopWidth"), 10) || 0) + (parseInt(d(b).css("paddingTop"), 10) || 0), (c ? Math.max(b.scrollWidth, b.offsetWidth) : b.offsetWidth) - (parseInt(d(b).css("borderLeftWidth"), 10) || 0) - (parseInt(d(b).css("paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left - this.margins.right, (c ? Math.max(b.scrollHeight, b.offsetHeight) : b.offsetHeight) - (parseInt(d(b).css("borderTopWidth"), 10) || 0) - (parseInt(d(b).css("paddingBottom"), 10) || 0) - this.helperProportions.height -
this.margins.top - this.margins.bottom]; this.relative_container = a
            }
        } else if (a.containment.constructor == Array) this.containment = a.containment
    }, _convertPositionTo: function (a, b) {
        if (!b) b = this.position; a = a == "absolute" ? 1 : -1; var c = this.cssPosition == "absolute" && !(this.scrollParent[0] != document && d.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, f = /(html|body)/i.test(c[0].tagName); return { top: b.top + this.offset.relative.top * a + this.offset.parent.top * a - (d.browser.safari &&
d.browser.version < 526 && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : f ? 0 : c.scrollTop()) * a), left: b.left + this.offset.relative.left * a + this.offset.parent.left * a - (d.browser.safari && d.browser.version < 526 && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : f ? 0 : c.scrollLeft()) * a)
        }
    }, _generatePosition: function (a) {
        var b = this.options, c = this.cssPosition == "absolute" && !(this.scrollParent[0] != document && d.ui.contains(this.scrollParent[0],
this.offsetParent[0])) ? this.offsetParent : this.scrollParent, f = /(html|body)/i.test(c[0].tagName), e = a.pageX, h = a.pageY; if (this.originalPosition) {
            var g; if (this.containment) {
                if (this.relative_container) { g = this.relative_container.offset(); g = [this.containment[0] + g.left, this.containment[1] + g.top, this.containment[2] + g.left, this.containment[3] + g.top] } else g = this.containment; if (a.pageX - this.offset.click.left < g[0]) e = g[0] + this.offset.click.left; if (a.pageY - this.offset.click.top < g[1]) h = g[1] + this.offset.click.top;
                if (a.pageX - this.offset.click.left > g[2]) e = g[2] + this.offset.click.left; if (a.pageY - this.offset.click.top > g[3]) h = g[3] + this.offset.click.top
            } if (b.grid) {
                h = this.originalPageY + Math.round((h - this.originalPageY) / b.grid[1]) * b.grid[1]; h = g ? !(h - this.offset.click.top < g[1] || h - this.offset.click.top > g[3]) ? h : !(h - this.offset.click.top < g[1]) ? h - b.grid[1] : h + b.grid[1] : h; e = this.originalPageX + Math.round((e - this.originalPageX) / b.grid[0]) * b.grid[0]; e = g ? !(e - this.offset.click.left < g[0] || e - this.offset.click.left > g[2]) ? e : !(e - this.offset.click.left <
g[0]) ? e - b.grid[0] : e + b.grid[0] : e
            }
        } return { top: h - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + (d.browser.safari && d.browser.version < 526 && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : f ? 0 : c.scrollTop()), left: e - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + (d.browser.safari && d.browser.version < 526 && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : f ? 0 : c.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 (a, b, c) { c = c || this._uiHash(); d.ui.plugin.call(this, a, [b, c]); if (a == "drag") this.positionAbs = this._convertPositionTo("absolute"); return d.Widget.prototype._trigger.call(this, a, b, c) }, plugins: {}, _uiHash: function () { return { helper: this.helper, position: this.position, originalPosition: this.originalPosition, offset: this.positionAbs} }
    }); d.extend(d.ui.draggable, { version: "1.8.13" });
    d.ui.plugin.add("draggable", "connectToSortable", { start: function (a, b) { var c = d(this).data("draggable"), f = c.options, e = d.extend({}, b, { item: c.element }); c.sortables = []; d(f.connectToSortable).each(function () { var h = d.data(this, "sortable"); if (h && !h.options.disabled) { c.sortables.push({ instance: h, shouldRevert: h.options.revert }); h.refreshPositions(); h._trigger("activate", a, e) } }) }, stop: function (a, b) {
        var c = d(this).data("draggable"), f = d.extend({}, b, { item: c.element }); d.each(c.sortables, function () {
            if (this.instance.isOver) {
                this.instance.isOver =
0; c.cancelHelperRemoval = true; this.instance.cancelHelperRemoval = false; if (this.shouldRevert) this.instance.options.revert = true; this.instance._mouseStop(a); this.instance.options.helper = this.instance.options._helper; c.options.helper == "original" && this.instance.currentItem.css({ top: "auto", left: "auto" })
            } else { this.instance.cancelHelperRemoval = false; this.instance._trigger("deactivate", a, f) }
        })
    }, drag: function (a, b) {
        var c = d(this).data("draggable"), f = this; d.each(c.sortables, function () {
            this.instance.positionAbs =
c.positionAbs; this.instance.helperProportions = c.helperProportions; this.instance.offset.click = c.offset.click; if (this.instance._intersectsWith(this.instance.containerCache)) {
                if (!this.instance.isOver) {
                    this.instance.isOver = 1; this.instance.currentItem = d(f).clone().removeAttr("id").appendTo(this.instance.element).data("sortable-item", true); this.instance.options._helper = this.instance.options.helper; this.instance.options.helper = function () { return b.helper[0] }; a.target = this.instance.currentItem[0]; this.instance._mouseCapture(a,
true); this.instance._mouseStart(a, true, true); this.instance.offset.click.top = c.offset.click.top; this.instance.offset.click.left = c.offset.click.left; this.instance.offset.parent.left -= c.offset.parent.left - this.instance.offset.parent.left; this.instance.offset.parent.top -= c.offset.parent.top - this.instance.offset.parent.top; c._trigger("toSortable", a); c.dropped = this.instance.element; c.currentItem = c.element; this.instance.fromOutside = c
                } this.instance.currentItem && this.instance._mouseDrag(a)
            } else if (this.instance.isOver) {
                this.instance.isOver =
0; this.instance.cancelHelperRemoval = true; this.instance.options.revert = false; this.instance._trigger("out", a, this.instance._uiHash(this.instance)); this.instance._mouseStop(a, true); this.instance.options.helper = this.instance.options._helper; this.instance.currentItem.remove(); this.instance.placeholder && this.instance.placeholder.remove(); c._trigger("fromSortable", a); c.dropped = false
            }
        })
    }
    }); d.ui.plugin.add("draggable", "cursor", { start: function () {
        var a = d("body"), b = d(this).data("draggable").options; if (a.css("cursor")) b._cursor =
a.css("cursor"); a.css("cursor", b.cursor)
    }, stop: function () { var a = d(this).data("draggable").options; a._cursor && d("body").css("cursor", a._cursor) }
    }); d.ui.plugin.add("draggable", "opacity", { start: function (a, b) { a = d(b.helper); b = d(this).data("draggable").options; if (a.css("opacity")) b._opacity = a.css("opacity"); a.css("opacity", b.opacity) }, stop: function (a, b) { a = d(this).data("draggable").options; a._opacity && d(b.helper).css("opacity", a._opacity) } }); d.ui.plugin.add("draggable", "scroll", { start: function () {
        var a = d(this).data("draggable");
        if (a.scrollParent[0] != document && a.scrollParent[0].tagName != "HTML") a.overflowOffset = a.scrollParent.offset()
    }, drag: function (a) {
        var b = d(this).data("draggable"), c = b.options, f = false; if (b.scrollParent[0] != document && b.scrollParent[0].tagName != "HTML") {
            if (!c.axis || c.axis != "x") if (b.overflowOffset.top + b.scrollParent[0].offsetHeight - a.pageY < c.scrollSensitivity) b.scrollParent[0].scrollTop = f = b.scrollParent[0].scrollTop + c.scrollSpeed; else if (a.pageY - b.overflowOffset.top < c.scrollSensitivity) b.scrollParent[0].scrollTop =
f = b.scrollParent[0].scrollTop - c.scrollSpeed; if (!c.axis || c.axis != "y") if (b.overflowOffset.left + b.scrollParent[0].offsetWidth - a.pageX < c.scrollSensitivity) b.scrollParent[0].scrollLeft = f = b.scrollParent[0].scrollLeft + c.scrollSpeed; else if (a.pageX - b.overflowOffset.left < c.scrollSensitivity) b.scrollParent[0].scrollLeft = f = b.scrollParent[0].scrollLeft - c.scrollSpeed
        } else {
            if (!c.axis || c.axis != "x") if (a.pageY - d(document).scrollTop() < c.scrollSensitivity) f = d(document).scrollTop(d(document).scrollTop() - c.scrollSpeed);
            else if (d(window).height() - (a.pageY - d(document).scrollTop()) < c.scrollSensitivity) f = d(document).scrollTop(d(document).scrollTop() + c.scrollSpeed); if (!c.axis || c.axis != "y") if (a.pageX - d(document).scrollLeft() < c.scrollSensitivity) f = d(document).scrollLeft(d(document).scrollLeft() - c.scrollSpeed); else if (d(window).width() - (a.pageX - d(document).scrollLeft()) < c.scrollSensitivity) f = d(document).scrollLeft(d(document).scrollLeft() + c.scrollSpeed)
        } f !== false && d.ui.ddmanager && !c.dropBehaviour && d.ui.ddmanager.prepareOffsets(b,
a)
    }
    }); d.ui.plugin.add("draggable", "snap", { start: function () { var a = d(this).data("draggable"), b = a.options; a.snapElements = []; d(b.snap.constructor != String ? b.snap.items || ":data(draggable)" : b.snap).each(function () { var c = d(this), f = c.offset(); this != a.element[0] && a.snapElements.push({ item: this, width: c.outerWidth(), height: c.outerHeight(), top: f.top, left: f.left }) }) }, drag: function (a, b) {
        for (var c = d(this).data("draggable"), f = c.options, e = f.snapTolerance, h = b.offset.left, g = h + c.helperProportions.width, n = b.offset.top,
o = n + c.helperProportions.height, i = c.snapElements.length - 1; i >= 0; i--) {
            var j = c.snapElements[i].left, l = j + c.snapElements[i].width, k = c.snapElements[i].top, m = k + c.snapElements[i].height; if (j - e < h && h < l + e && k - e < n && n < m + e || j - e < h && h < l + e && k - e < o && o < m + e || j - e < g && g < l + e && k - e < n && n < m + e || j - e < g && g < l + e && k - e < o && o < m + e) {
                if (f.snapMode != "inner") {
                    var p = Math.abs(k - o) <= e, q = Math.abs(m - n) <= e, r = Math.abs(j - g) <= e, s = Math.abs(l - h) <= e; if (p) b.position.top = c._convertPositionTo("relative", { top: k - c.helperProportions.height, left: 0 }).top - c.margins.top;
                    if (q) b.position.top = c._convertPositionTo("relative", { top: m, left: 0 }).top - c.margins.top; if (r) b.position.left = c._convertPositionTo("relative", { top: 0, left: j - c.helperProportions.width }).left - c.margins.left; if (s) b.position.left = c._convertPositionTo("relative", { top: 0, left: l }).left - c.margins.left
                } var t = p || q || r || s; if (f.snapMode != "outer") {
                    p = Math.abs(k - n) <= e; q = Math.abs(m - o) <= e; r = Math.abs(j - h) <= e; s = Math.abs(l - g) <= e; if (p) b.position.top = c._convertPositionTo("relative", { top: k, left: 0 }).top - c.margins.top; if (q) b.position.top =
c._convertPositionTo("relative", { top: m - c.helperProportions.height, left: 0 }).top - c.margins.top; if (r) b.position.left = c._convertPositionTo("relative", { top: 0, left: j }).left - c.margins.left; if (s) b.position.left = c._convertPositionTo("relative", { top: 0, left: l - c.helperProportions.width }).left - c.margins.left
                } if (!c.snapElements[i].snapping && (p || q || r || s || t)) c.options.snap.snap && c.options.snap.snap.call(c.element, a, d.extend(c._uiHash(), { snapItem: c.snapElements[i].item })); c.snapElements[i].snapping = p || q || r || s || t
            } else {
                c.snapElements[i].snapping &&
c.options.snap.release && c.options.snap.release.call(c.element, a, d.extend(c._uiHash(), { snapItem: c.snapElements[i].item })); c.snapElements[i].snapping = false
            }
        }
    }
    }); d.ui.plugin.add("draggable", "stack", { start: function () { var a = d(this).data("draggable").options; a = d.makeArray(d(a.stack)).sort(function (c, f) { return (parseInt(d(c).css("zIndex"), 10) || 0) - (parseInt(d(f).css("zIndex"), 10) || 0) }); if (a.length) { var b = parseInt(a[0].style.zIndex) || 0; d(a).each(function (c) { this.style.zIndex = b + c }); this[0].style.zIndex = b + a.length } } });
    d.ui.plugin.add("draggable", "zIndex", { start: function (a, b) { a = d(b.helper); b = d(this).data("draggable").options; if (a.css("zIndex")) b._zIndex = a.css("zIndex"); a.css("zIndex", b.zIndex) }, stop: function (a, b) { a = d(this).data("draggable").options; a._zIndex && d(b.helper).css("zIndex", a._zIndex) } })
})(jQuery);
; /*
 * jQuery UI Droppable 1.8.13
 *
 * 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/Droppables
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.widget.js
 *	jquery.ui.mouse.js
 *	jquery.ui.draggable.js
 */
(function (d) {
    d.widget("ui.droppable", { widgetEventPrefix: "drop", options: { accept: "*", activeClass: false, addClasses: true, greedy: false, hoverClass: false, scope: "default", tolerance: "intersect" }, _create: function () {
        var a = this.options, b = a.accept; this.isover = 0; this.isout = 1; this.accept = d.isFunction(b) ? b : function (c) { return c.is(b) }; this.proportions = { width: this.element[0].offsetWidth, height: this.element[0].offsetHeight }; d.ui.ddmanager.droppables[a.scope] = d.ui.ddmanager.droppables[a.scope] || []; d.ui.ddmanager.droppables[a.scope].push(this);
        a.addClasses && this.element.addClass("ui-droppable")
    }, destroy: function () { for (var a = d.ui.ddmanager.droppables[this.options.scope], b = 0; b < a.length; b++) a[b] == this && a.splice(b, 1); this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable"); return this }, _setOption: function (a, b) { if (a == "accept") this.accept = d.isFunction(b) ? b : function (c) { return c.is(b) }; d.Widget.prototype._setOption.apply(this, arguments) }, _activate: function (a) {
        var b = d.ui.ddmanager.current; this.options.activeClass &&
this.element.addClass(this.options.activeClass); b && this._trigger("activate", a, this.ui(b))
    }, _deactivate: function (a) { var b = d.ui.ddmanager.current; this.options.activeClass && this.element.removeClass(this.options.activeClass); b && this._trigger("deactivate", a, this.ui(b)) }, _over: function (a) {
        var b = d.ui.ddmanager.current; if (!(!b || (b.currentItem || b.element)[0] == this.element[0])) if (this.accept.call(this.element[0], b.currentItem || b.element)) {
            this.options.hoverClass && this.element.addClass(this.options.hoverClass);
            this._trigger("over", a, this.ui(b))
        }
    }, _out: function (a) { var b = d.ui.ddmanager.current; if (!(!b || (b.currentItem || b.element)[0] == this.element[0])) if (this.accept.call(this.element[0], b.currentItem || b.element)) { this.options.hoverClass && this.element.removeClass(this.options.hoverClass); this._trigger("out", a, this.ui(b)) } }, _drop: function (a, b) {
        var c = b || d.ui.ddmanager.current; if (!c || (c.currentItem || c.element)[0] == this.element[0]) return false; var e = false; this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function () {
            var g =
d.data(this, "droppable"); if (g.options.greedy && !g.options.disabled && g.options.scope == c.options.scope && g.accept.call(g.element[0], c.currentItem || c.element) && d.ui.intersect(c, d.extend(g, { offset: g.element.offset() }), g.options.tolerance)) { e = true; return false }
        }); if (e) return false; if (this.accept.call(this.element[0], c.currentItem || c.element)) {
            this.options.activeClass && this.element.removeClass(this.options.activeClass); this.options.hoverClass && this.element.removeClass(this.options.hoverClass); this._trigger("drop",
a, this.ui(c)); return this.element
        } return false
    }, ui: function (a) { return { draggable: a.currentItem || a.element, helper: a.helper, position: a.position, offset: a.positionAbs} }
    }); d.extend(d.ui.droppable, { version: "1.8.13" }); d.ui.intersect = function (a, b, c) {
        if (!b.offset) return false; var e = (a.positionAbs || a.position.absolute).left, g = e + a.helperProportions.width, f = (a.positionAbs || a.position.absolute).top, h = f + a.helperProportions.height, i = b.offset.left, k = i + b.proportions.width, j = b.offset.top, l = j + b.proportions.height;
        switch (c) {
            case "fit": return i <= e && g <= k && j <= f && h <= l; case "intersect": return i < e + a.helperProportions.width / 2 && g - a.helperProportions.width / 2 < k && j < f + a.helperProportions.height / 2 && h - a.helperProportions.height / 2 < l; case "pointer": return d.ui.isOver((a.positionAbs || a.position.absolute).top + (a.clickOffset || a.offset.click).top, (a.positionAbs || a.position.absolute).left + (a.clickOffset || a.offset.click).left, j, i, b.proportions.height, b.proportions.width); case "touch": return (f >= j && f <= l || h >= j && h <= l || f < j && h > l) && (e >=
i && e <= k || g >= i && g <= k || e < i && g > k); default: return false
        }
    }; d.ui.ddmanager = { current: null, droppables: { "default": [] }, prepareOffsets: function (a, b) {
        var c = d.ui.ddmanager.droppables[a.options.scope] || [], e = b ? b.type : null, g = (a.currentItem || a.element).find(":data(droppable)").andSelf(), f = 0; a: for (; f < c.length; f++) if (!(c[f].options.disabled || a && !c[f].accept.call(c[f].element[0], a.currentItem || a.element))) {
            for (var h = 0; h < g.length; h++) if (g[h] == c[f].element[0]) { c[f].proportions.height = 0; continue a } c[f].visible = c[f].element.css("display") !=
"none"; if (c[f].visible) { e == "mousedown" && c[f]._activate.call(c[f], b); c[f].offset = c[f].element.offset(); c[f].proportions = { width: c[f].element[0].offsetWidth, height: c[f].element[0].offsetHeight} }
        }
    }, drop: function (a, b) {
        var c = false; d.each(d.ui.ddmanager.droppables[a.options.scope] || [], function () {
            if (this.options) {
                if (!this.options.disabled && this.visible && d.ui.intersect(a, this, this.options.tolerance)) c = c || this._drop.call(this, b); if (!this.options.disabled && this.visible && this.accept.call(this.element[0], a.currentItem ||
a.element)) { this.isout = 1; this.isover = 0; this._deactivate.call(this, b) }
            }
        }); return c
    }, drag: function (a, b) {
        a.options.refreshPositions && d.ui.ddmanager.prepareOffsets(a, b); d.each(d.ui.ddmanager.droppables[a.options.scope] || [], function () {
            if (!(this.options.disabled || this.greedyChild || !this.visible)) {
                var c = d.ui.intersect(a, this, this.options.tolerance); if (c = !c && this.isover == 1 ? "isout" : c && this.isover == 0 ? "isover" : null) {
                    var e; if (this.options.greedy) {
                        var g = this.element.parents(":data(droppable):eq(0)"); if (g.length) {
                            e =
d.data(g[0], "droppable"); e.greedyChild = c == "isover" ? 1 : 0
                        }
                    } if (e && c == "isover") { e.isover = 0; e.isout = 1; e._out.call(e, b) } this[c] = 1; this[c == "isout" ? "isover" : "isout"] = 0; this[c == "isover" ? "_over" : "_out"].call(this, b); if (e && c == "isout") { e.isout = 0; e.isover = 1; e._over.call(e, b) }
                }
            }
        })
    }
    }
})(jQuery);
; /*
 * jQuery UI Resizable 1.8.13
 *
 * 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/Resizables
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.mouse.js
 *	jquery.ui.widget.js
 */
(function (e) {
    e.widget("ui.resizable", e.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 b = this, a = this.options; this.element.addClass("ui-resizable"); e.extend(this, { _aspectRatio: !!a.aspectRatio, aspectRatio: a.aspectRatio, originalElement: this.element,
            _proportionallyResizeElements: [], _helper: a.helper || a.ghost || a.animate ? a.helper || "ui-resizable-helper" : null
        }); if (this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)) {
            /relative/.test(this.element.css("position")) && e.browser.opera && this.element.css({ position: "relative", top: "auto", left: "auto" }); this.element.wrap(e('<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 = a.handles || (!e(".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 c = this.handles.split(","); this.handles = {}; for (var d = 0; d < c.length; d++) { var f = e.trim(c[d]), g = e('<div class="ui-resizable-handle ' + ("ui-resizable-" + f) + '"></div>'); /sw|se|ne|nw/.test(f) && g.css({ zIndex: ++a.zIndex }); "se" == f && g.addClass("ui-icon ui-icon-gripsmall-diagonal-se"); this.handles[f] = ".ui-resizable-" + f; this.element.append(g) } } this._renderAxis = function (h) {
            h = h || this.element; for (var i in this.handles) {
                if (this.handles[i].constructor ==
String) this.handles[i] = e(this.handles[i], this.element).show(); if (this.elementIsWrapper && this.originalElement[0].nodeName.match(/textarea|input|select|button/i)) { var j = e(this.handles[i], this.element), k = 0; k = /sw|ne|nw|se|n|s/.test(i) ? j.outerHeight() : j.outerWidth(); j = ["padding", /ne|nw|n/.test(i) ? "Top" : /se|sw|s/.test(i) ? "Bottom" : /^e$/.test(i) ? "Right" : "Left"].join(""); h.css(j, k); this._proportionallyResize() } e(this.handles[i])
            }
        }; this._renderAxis(this.element); this._handles = e(".ui-resizable-handle", this.element).disableSelection();
        this._handles.mouseover(function () { if (!b.resizing) { if (this.className) var h = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i); b.axis = h && h[1] ? h[1] : "se" } }); if (a.autoHide) { this._handles.hide(); e(this.element).addClass("ui-resizable-autohide").hover(function () { if (!a.disabled) { e(this).removeClass("ui-resizable-autohide"); b._handles.show() } }, function () { if (!a.disabled) if (!b.resizing) { e(this).addClass("ui-resizable-autohide"); b._handles.hide() } }) } this._mouseInit()
    }, destroy: function () {
        this._mouseDestroy();
        var b = function (c) { e(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove() }; if (this.elementIsWrapper) { b(this.element); var a = this.element; a.after(this.originalElement.css({ position: a.css("position"), width: a.outerWidth(), height: a.outerHeight(), top: a.css("top"), left: a.css("left") })).remove() } this.originalElement.css("resize", this.originalResizeStyle); b(this.originalElement); return this
    }, _mouseCapture: function (b) {
        var a =
false; for (var c in this.handles) if (e(this.handles[c])[0] == b.target) a = true; return !this.options.disabled && a
    }, _mouseStart: function (b) {
        var a = this.options, c = this.element.position(), d = this.element; this.resizing = true; this.documentScroll = { top: e(document).scrollTop(), left: e(document).scrollLeft() }; if (d.is(".ui-draggable") || /absolute/.test(d.css("position"))) d.css({ position: "absolute", top: c.top, left: c.left }); e.browser.opera && /relative/.test(d.css("position")) && d.css({ position: "relative", top: "auto", left: "auto" });
        this._renderProxy(); c = m(this.helper.css("left")); var f = m(this.helper.css("top")); if (a.containment) { c += e(a.containment).scrollLeft() || 0; f += e(a.containment).scrollTop() || 0 } this.offset = this.helper.offset(); this.position = { left: c, top: f }; this.size = this._helper ? { width: d.outerWidth(), height: d.outerHeight()} : { width: d.width(), height: d.height() }; this.originalSize = this._helper ? { width: d.outerWidth(), height: d.outerHeight()} : { width: d.width(), height: d.height() }; this.originalPosition = { left: c, top: f }; this.sizeDiff =
{ width: d.outerWidth() - d.width(), height: d.outerHeight() - d.height() }; this.originalMousePosition = { left: b.pageX, top: b.pageY }; this.aspectRatio = typeof a.aspectRatio == "number" ? a.aspectRatio : this.originalSize.width / this.originalSize.height || 1; a = e(".ui-resizable-" + this.axis).css("cursor"); e("body").css("cursor", a == "auto" ? this.axis + "-resize" : a); d.addClass("ui-resizable-resizing"); this._propagate("start", b); return true
    }, _mouseDrag: function (b) {
        var a = this.helper, c = this.originalMousePosition, d = this._change[this.axis];
        if (!d) return false; c = d.apply(this, [b, b.pageX - c.left || 0, b.pageY - c.top || 0]); if (this._aspectRatio || b.shiftKey) c = this._updateRatio(c, b); c = this._respectSize(c, b); this._propagate("resize", b); a.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(c); this._trigger("resize", b, this.ui()); return false
    }, _mouseStop: function (b) {
        this.resizing =
false; var a = this.options, c = this; if (this._helper) {
            var d = this._proportionallyResizeElements, f = d.length && /textarea/i.test(d[0].nodeName); d = f && e.ui.hasScroll(d[0], "left") ? 0 : c.sizeDiff.height; f = f ? 0 : c.sizeDiff.width; f = { width: c.helper.width() - f, height: c.helper.height() - d }; d = parseInt(c.element.css("left"), 10) + (c.position.left - c.originalPosition.left) || null; var g = parseInt(c.element.css("top"), 10) + (c.position.top - c.originalPosition.top) || null; a.animate || this.element.css(e.extend(f, { top: g, left: d })); c.helper.height(c.size.height);
            c.helper.width(c.size.width); this._helper && !a.animate && this._proportionallyResize()
        } e("body").css("cursor", "auto"); this.element.removeClass("ui-resizable-resizing"); this._propagate("stop", b); this._helper && this.helper.remove(); return false
    }, _updateCache: function (b) { this.offset = this.helper.offset(); if (l(b.left)) this.position.left = b.left; if (l(b.top)) this.position.top = b.top; if (l(b.height)) this.size.height = b.height; if (l(b.width)) this.size.width = b.width }, _updateRatio: function (b) {
        var a = this.position, c = this.size,
d = this.axis; if (b.height) b.width = c.height * this.aspectRatio; else if (b.width) b.height = c.width / this.aspectRatio; if (d == "sw") { b.left = a.left + (c.width - b.width); b.top = null } if (d == "nw") { b.top = a.top + (c.height - b.height); b.left = a.left + (c.width - b.width) } return b
    }, _respectSize: function (b) {
        var a = this.options, c = this.axis, d = l(b.width) && a.maxWidth && a.maxWidth < b.width, f = l(b.height) && a.maxHeight && a.maxHeight < b.height, g = l(b.width) && a.minWidth && a.minWidth > b.width, h = l(b.height) && a.minHeight && a.minHeight > b.height; if (g) b.width =
a.minWidth; if (h) b.height = a.minHeight; if (d) b.width = a.maxWidth; if (f) b.height = a.maxHeight; var i = this.originalPosition.left + this.originalSize.width, j = this.position.top + this.size.height, k = /sw|nw|w/.test(c); c = /nw|ne|n/.test(c); if (g && k) b.left = i - a.minWidth; if (d && k) b.left = i - a.maxWidth; if (h && c) b.top = j - a.minHeight; if (f && c) b.top = j - a.maxHeight; if ((a = !b.width && !b.height) && !b.left && b.top) b.top = null; else if (a && !b.top && b.left) b.left = null; return b
    }, _proportionallyResize: function () {
        if (this._proportionallyResizeElements.length) for (var b =
this.helper || this.element, a = 0; a < this._proportionallyResizeElements.length; a++) {
            var c = this._proportionallyResizeElements[a]; if (!this.borderDif) { var d = [c.css("borderTopWidth"), c.css("borderRightWidth"), c.css("borderBottomWidth"), c.css("borderLeftWidth")], f = [c.css("paddingTop"), c.css("paddingRight"), c.css("paddingBottom"), c.css("paddingLeft")]; this.borderDif = e.map(d, function (g, h) { g = parseInt(g, 10) || 0; h = parseInt(f[h], 10) || 0; return g + h }) } e.browser.msie && (e(b).is(":hidden") || e(b).parents(":hidden").length) ||
c.css({ height: b.height() - this.borderDif[0] - this.borderDif[2] || 0, width: b.width() - this.borderDif[1] - this.borderDif[3] || 0 })
        }
    }, _renderProxy: function () {
        var b = this.options; this.elementOffset = this.element.offset(); if (this._helper) {
            this.helper = this.helper || e('<div style="overflow:hidden;"></div>'); var a = e.browser.msie && e.browser.version < 7, c = a ? 1 : 0; a = a ? 2 : -1; this.helper.addClass(this._helper).css({ width: this.element.outerWidth() + a, height: this.element.outerHeight() + a, position: "absolute", left: this.elementOffset.left -
c + "px", top: this.elementOffset.top - c + "px", zIndex: ++b.zIndex
            }); this.helper.appendTo("body").disableSelection()
        } else this.helper = this.element
    }, _change: { e: function (b, a) { return { width: this.originalSize.width + a} }, w: function (b, a) { return { left: this.originalPosition.left + a, width: this.originalSize.width - a} }, n: function (b, a, c) { return { top: this.originalPosition.top + c, height: this.originalSize.height - c} }, s: function (b, a, c) { return { height: this.originalSize.height + c} }, se: function (b, a, c) {
        return e.extend(this._change.s.apply(this,
arguments), this._change.e.apply(this, [b, a, c]))
    }, sw: function (b, a, c) { return e.extend(this._change.s.apply(this, arguments), this._change.w.apply(this, [b, a, c])) }, ne: function (b, a, c) { return e.extend(this._change.n.apply(this, arguments), this._change.e.apply(this, [b, a, c])) }, nw: function (b, a, c) { return e.extend(this._change.n.apply(this, arguments), this._change.w.apply(this, [b, a, c])) }
    }, _propagate: function (b, a) { e.ui.plugin.call(this, b, [a, this.ui()]); b != "resize" && this._trigger(b, a, 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
        }
    }
    }); e.extend(e.ui.resizable, { version: "1.8.13" }); e.ui.plugin.add("resizable", "alsoResize", { start: function () {
        var b = e(this).data("resizable").options, a = function (c) { e(c).each(function () { var d = e(this); d.data("resizable-alsoresize", { width: parseInt(d.width(), 10), height: parseInt(d.height(), 10), left: parseInt(d.css("left"), 10), top: parseInt(d.css("top"), 10), position: d.css("position") }) }) };
        if (typeof b.alsoResize == "object" && !b.alsoResize.parentNode) if (b.alsoResize.length) { b.alsoResize = b.alsoResize[0]; a(b.alsoResize) } else e.each(b.alsoResize, function (c) { a(c) }); else a(b.alsoResize)
    }, resize: function (b, a) {
        var c = e(this).data("resizable"); b = c.options; var d = c.originalSize, f = c.originalPosition, g = { height: c.size.height - d.height || 0, width: c.size.width - d.width || 0, top: c.position.top - f.top || 0, left: c.position.left - f.left || 0 }, h = function (i, j) {
            e(i).each(function () {
                var k = e(this), q = e(this).data("resizable-alsoresize"),
p = {}, r = j && j.length ? j : k.parents(a.originalElement[0]).length ? ["width", "height"] : ["width", "height", "top", "left"]; e.each(r, function (n, o) { if ((n = (q[o] || 0) + (g[o] || 0)) && n >= 0) p[o] = n || null }); if (e.browser.opera && /relative/.test(k.css("position"))) { c._revertToRelativePosition = true; k.css({ position: "absolute", top: "auto", left: "auto" }) } k.css(p)
            })
        }; typeof b.alsoResize == "object" && !b.alsoResize.nodeType ? e.each(b.alsoResize, function (i, j) { h(i, j) }) : h(b.alsoResize)
    }, stop: function () {
        var b = e(this).data("resizable"), a = b.options,
c = function (d) { e(d).each(function () { var f = e(this); f.css({ position: f.data("resizable-alsoresize").position }) }) }; if (b._revertToRelativePosition) { b._revertToRelativePosition = false; typeof a.alsoResize == "object" && !a.alsoResize.nodeType ? e.each(a.alsoResize, function (d) { c(d) }) : c(a.alsoResize) } e(this).removeData("resizable-alsoresize")
    }
    }); e.ui.plugin.add("resizable", "animate", { stop: function (b) {
        var a = e(this).data("resizable"), c = a.options, d = a._proportionallyResizeElements, f = d.length && /textarea/i.test(d[0].nodeName),
g = f && e.ui.hasScroll(d[0], "left") ? 0 : a.sizeDiff.height; f = { width: a.size.width - (f ? 0 : a.sizeDiff.width), height: a.size.height - g }; g = parseInt(a.element.css("left"), 10) + (a.position.left - a.originalPosition.left) || null; var h = parseInt(a.element.css("top"), 10) + (a.position.top - a.originalPosition.top) || null; a.element.animate(e.extend(f, h && g ? { top: h, left: g} : {}), { duration: c.animateDuration, easing: c.animateEasing, step: function () {
    var i = { width: parseInt(a.element.css("width"), 10), height: parseInt(a.element.css("height"),
10), top: parseInt(a.element.css("top"), 10), left: parseInt(a.element.css("left"), 10)
    }; d && d.length && e(d[0]).css({ width: i.width, height: i.height }); a._updateCache(i); a._propagate("resize", b)
}
})
    }
    }); e.ui.plugin.add("resizable", "containment", { start: function () {
        var b = e(this).data("resizable"), a = b.element, c = b.options.containment; if (a = c instanceof e ? c.get(0) : /parent/.test(c) ? a.parent().get(0) : c) {
            b.containerElement = e(a); if (/document/.test(c) || c == document) {
                b.containerOffset = { left: 0, top: 0 }; b.containerPosition = { left: 0,
                    top: 0
                }; b.parentData = { element: e(document), left: 0, top: 0, width: e(document).width(), height: e(document).height() || document.body.parentNode.scrollHeight }
            } else {
                var d = e(a), f = []; e(["Top", "Right", "Left", "Bottom"]).each(function (i, j) { f[i] = m(d.css("padding" + j)) }); b.containerOffset = d.offset(); b.containerPosition = d.position(); b.containerSize = { height: d.innerHeight() - f[3], width: d.innerWidth() - f[1] }; c = b.containerOffset; var g = b.containerSize.height, h = b.containerSize.width; h = e.ui.hasScroll(a, "left") ? a.scrollWidth : h;
                g = e.ui.hasScroll(a) ? a.scrollHeight : g; b.parentData = { element: a, left: c.left, top: c.top, width: h, height: g }
            }
        }
    }, resize: function (b) {
        var a = e(this).data("resizable"), c = a.options, d = a.containerOffset, f = a.position; b = a._aspectRatio || b.shiftKey; var g = { top: 0, left: 0 }, h = a.containerElement; if (h[0] != document && /static/.test(h.css("position"))) g = d; if (f.left < (a._helper ? d.left : 0)) {
            a.size.width += a._helper ? a.position.left - d.left : a.position.left - g.left; if (b) a.size.height = a.size.width / c.aspectRatio; a.position.left = c.helper ? d.left :
0
        } if (f.top < (a._helper ? d.top : 0)) { a.size.height += a._helper ? a.position.top - d.top : a.position.top; if (b) a.size.width = a.size.height * c.aspectRatio; a.position.top = a._helper ? d.top : 0 } a.offset.left = a.parentData.left + a.position.left; a.offset.top = a.parentData.top + a.position.top; c = Math.abs((a._helper ? a.offset.left - g.left : a.offset.left - g.left) + a.sizeDiff.width); d = Math.abs((a._helper ? a.offset.top - g.top : a.offset.top - d.top) + a.sizeDiff.height); f = a.containerElement.get(0) == a.element.parent().get(0); g = /relative|absolute/.test(a.containerElement.css("position"));
        if (f && g) c -= a.parentData.left; if (c + a.size.width >= a.parentData.width) { a.size.width = a.parentData.width - c; if (b) a.size.height = a.size.width / a.aspectRatio } if (d + a.size.height >= a.parentData.height) { a.size.height = a.parentData.height - d; if (b) a.size.width = a.size.height * a.aspectRatio }
    }, stop: function () {
        var b = e(this).data("resizable"), a = b.options, c = b.containerOffset, d = b.containerPosition, f = b.containerElement, g = e(b.helper), h = g.offset(), i = g.outerWidth() - b.sizeDiff.width; g = g.outerHeight() - b.sizeDiff.height; b._helper &&
!a.animate && /relative/.test(f.css("position")) && e(this).css({ left: h.left - d.left - c.left, width: i, height: g }); b._helper && !a.animate && /static/.test(f.css("position")) && e(this).css({ left: h.left - d.left - c.left, width: i, height: g })
    }
    }); e.ui.plugin.add("resizable", "ghost", { start: function () {
        var b = e(this).data("resizable"), a = b.options, c = b.size; b.ghost = b.originalElement.clone(); b.ghost.css({ opacity: 0.25, display: "block", position: "relative", height: c.height, width: c.width, margin: 0, left: 0, top: 0 }).addClass("ui-resizable-ghost").addClass(typeof a.ghost ==
"string" ? a.ghost : ""); b.ghost.appendTo(b.helper)
    }, resize: function () { var b = e(this).data("resizable"); b.ghost && b.ghost.css({ position: "relative", height: b.size.height, width: b.size.width }) }, stop: function () { var b = e(this).data("resizable"); b.ghost && b.helper && b.helper.get(0).removeChild(b.ghost.get(0)) }
    }); e.ui.plugin.add("resizable", "grid", { resize: function () {
        var b = e(this).data("resizable"), a = b.options, c = b.size, d = b.originalSize, f = b.originalPosition, g = b.axis; a.grid = typeof a.grid == "number" ? [a.grid, a.grid] : a.grid;
        var h = Math.round((c.width - d.width) / (a.grid[0] || 1)) * (a.grid[0] || 1); a = Math.round((c.height - d.height) / (a.grid[1] || 1)) * (a.grid[1] || 1); if (/^(se|s|e)$/.test(g)) { b.size.width = d.width + h; b.size.height = d.height + a } else if (/^(ne)$/.test(g)) { b.size.width = d.width + h; b.size.height = d.height + a; b.position.top = f.top - a } else { if (/^(sw)$/.test(g)) { b.size.width = d.width + h; b.size.height = d.height + a } else { b.size.width = d.width + h; b.size.height = d.height + a; b.position.top = f.top - a } b.position.left = f.left - h }
    }
    }); var m = function (b) {
        return parseInt(b,
10) || 0
    }, l = function (b) { return !isNaN(parseInt(b, 10)) }
})(jQuery);
; /*
 * jQuery UI Selectable 1.8.13
 *
 * 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/Selectables
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.mouse.js
 *	jquery.ui.widget.js
 */
(function (e) {
    e.widget("ui.selectable", e.ui.mouse, { options: { appendTo: "body", autoRefresh: true, distance: 0, filter: "*", tolerance: "touch" }, _create: function () {
        var c = this; this.element.addClass("ui-selectable"); this.dragged = false; var f; this.refresh = function () {
            f = e(c.options.filter, c.element[0]); f.each(function () {
                var d = e(this), b = d.offset(); e.data(this, "selectable-item", { element: this, $element: d, left: b.left, top: b.top, right: b.left + d.outerWidth(), bottom: b.top + d.outerHeight(), startselected: false, selected: d.hasClass("ui-selected"),
                    selecting: d.hasClass("ui-selecting"), unselecting: d.hasClass("ui-unselecting")
                })
            })
        }; this.refresh(); this.selectees = f.addClass("ui-selectee"); this._mouseInit(); this.helper = e("<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 (c) {
        var f = this; this.opos = [c.pageX,
c.pageY]; if (!this.options.disabled) {
            var d = this.options; this.selectees = e(d.filter, this.element[0]); this._trigger("start", c); e(d.appendTo).append(this.helper); this.helper.css({ left: c.clientX, top: c.clientY, width: 0, height: 0 }); d.autoRefresh && this.refresh(); this.selectees.filter(".ui-selected").each(function () {
                var b = e.data(this, "selectable-item"); b.startselected = true; if (!c.metaKey) {
                    b.$element.removeClass("ui-selected"); b.selected = false; b.$element.addClass("ui-unselecting"); b.unselecting = true; f._trigger("unselecting",
c, { unselecting: b.element })
                }
            }); e(c.target).parents().andSelf().each(function () { var b = e.data(this, "selectable-item"); if (b) { var g = !c.metaKey || !b.$element.hasClass("ui-selected"); b.$element.removeClass(g ? "ui-unselecting" : "ui-selected").addClass(g ? "ui-selecting" : "ui-unselecting"); b.unselecting = !g; b.selecting = g; (b.selected = g) ? f._trigger("selecting", c, { selecting: b.element }) : f._trigger("unselecting", c, { unselecting: b.element }); return false } })
        }
    }, _mouseDrag: function (c) {
        var f = this; this.dragged = true; if (!this.options.disabled) {
            var d =
this.options, b = this.opos[0], g = this.opos[1], h = c.pageX, i = c.pageY; if (b > h) { var j = h; h = b; b = j } if (g > i) { j = i; i = g; g = j } this.helper.css({ left: b, top: g, width: h - b, height: i - g }); this.selectees.each(function () {
    var a = e.data(this, "selectable-item"); if (!(!a || a.element == f.element[0])) {
        var k = false; if (d.tolerance == "touch") k = !(a.left > h || a.right < b || a.top > i || a.bottom < g); else if (d.tolerance == "fit") k = a.left > b && a.right < h && a.top > g && a.bottom < i; if (k) {
            if (a.selected) { a.$element.removeClass("ui-selected"); a.selected = false } if (a.unselecting) {
                a.$element.removeClass("ui-unselecting");
                a.unselecting = false
            } if (!a.selecting) { a.$element.addClass("ui-selecting"); a.selecting = true; f._trigger("selecting", c, { selecting: a.element }) }
        } else {
            if (a.selecting) if (c.metaKey && a.startselected) { a.$element.removeClass("ui-selecting"); a.selecting = false; a.$element.addClass("ui-selected"); a.selected = true } else { a.$element.removeClass("ui-selecting"); a.selecting = false; if (a.startselected) { a.$element.addClass("ui-unselecting"); a.unselecting = true } f._trigger("unselecting", c, { unselecting: a.element }) } if (a.selected) if (!c.metaKey &&
!a.startselected) { a.$element.removeClass("ui-selected"); a.selected = false; a.$element.addClass("ui-unselecting"); a.unselecting = true; f._trigger("unselecting", c, { unselecting: a.element }) }
        }
    }
}); return false
        }
    }, _mouseStop: function (c) {
        var f = this; this.dragged = false; e(".ui-unselecting", this.element[0]).each(function () { var d = e.data(this, "selectable-item"); d.$element.removeClass("ui-unselecting"); d.unselecting = false; d.startselected = false; f._trigger("unselected", c, { unselected: d.element }) }); e(".ui-selecting", this.element[0]).each(function () {
            var d =
e.data(this, "selectable-item"); d.$element.removeClass("ui-selecting").addClass("ui-selected"); d.selecting = false; d.selected = true; d.startselected = true; f._trigger("selected", c, { selected: d.element })
        }); this._trigger("stop", c); this.helper.remove(); return false
    }
    }); e.extend(e.ui.selectable, { version: "1.8.13" })
})(jQuery);
; /*
 * jQuery UI Sortable 1.8.13
 *
 * 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/Sortables
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.mouse.js
 *	jquery.ui.widget.js
 */
(function (d) {
    d.widget("ui.sortable", d.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 () {
        var a = this.options; this.containerCache = {}; this.element.addClass("ui-sortable");
        this.refresh(); this.floating = this.items.length ? a.axis === "x" || /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 a = this.items.length - 1; a >= 0; a--) this.items[a].item.removeData("sortable-item"); return this }, _setOption: function (a, b) {
        if (a ===
"disabled") { this.options[a] = b; this.widget()[b ? "addClass" : "removeClass"]("ui-sortable-disabled") } else d.Widget.prototype._setOption.apply(this, arguments)
    }, _mouseCapture: function (a, b) {
        if (this.reverting) return false; if (this.options.disabled || this.options.type == "static") return false; this._refreshItems(a); var c = null, e = this; d(a.target).parents().each(function () { if (d.data(this, "sortable-item") == e) { c = d(this); return false } }); if (d.data(a.target, "sortable-item") == e) c = d(a.target); if (!c) return false; if (this.options.handle &&
!b) { var f = false; d(this.options.handle, c).find("*").andSelf().each(function () { if (this == a.target) f = true }); if (!f) return false } this.currentItem = c; this._removeCurrentsFromItems(); return true
    }, _mouseStart: function (a, b, c) {
        b = this.options; var e = this; this.currentContainer = this; this.refreshPositions(); this.helper = this._createHelper(a); 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"); d.extend(this.offset, { click: { left: a.pageX - this.offset.left, top: a.pageY - this.offset.top }, parent: this._getParentOffset(), relative: this._getRelativeOffset() }); this.originalPosition = this._generatePosition(a); this.originalPageX = a.pageX; this.originalPageY = a.pageY; b.cursorAt && this._adjustOffsetFromHelper(b.cursorAt); this.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] };
        this.helper[0] != this.currentItem[0] && this.currentItem.hide(); this._createPlaceholder(); b.containment && this._setContainment(); if (b.cursor) { if (d("body").css("cursor")) this._storedCursor = d("body").css("cursor"); d("body").css("cursor", b.cursor) } if (b.opacity) { if (this.helper.css("opacity")) this._storedOpacity = this.helper.css("opacity"); this.helper.css("opacity", b.opacity) } if (b.zIndex) { if (this.helper.css("zIndex")) this._storedZIndex = this.helper.css("zIndex"); this.helper.css("zIndex", b.zIndex) } if (this.scrollParent[0] !=
document && this.scrollParent[0].tagName != "HTML") this.overflowOffset = this.scrollParent.offset(); this._trigger("start", a, this._uiHash()); this._preserveHelperProportions || this._cacheHelperProportions(); if (!c) for (c = this.containers.length - 1; c >= 0; c--) this.containers[c]._trigger("activate", a, e._uiHash(this)); if (d.ui.ddmanager) d.ui.ddmanager.current = this; d.ui.ddmanager && !b.dropBehaviour && d.ui.ddmanager.prepareOffsets(this, a); this.dragging = true; this.helper.addClass("ui-sortable-helper"); this._mouseDrag(a);
        return true
    }, _mouseDrag: function (a) {
        this.position = this._generatePosition(a); this.positionAbs = this._convertPositionTo("absolute"); if (!this.lastPositionAbs) this.lastPositionAbs = this.positionAbs; if (this.options.scroll) {
            var b = this.options, c = false; if (this.scrollParent[0] != document && this.scrollParent[0].tagName != "HTML") {
                if (this.overflowOffset.top + this.scrollParent[0].offsetHeight - a.pageY < b.scrollSensitivity) this.scrollParent[0].scrollTop = c = this.scrollParent[0].scrollTop + b.scrollSpeed; else if (a.pageY - this.overflowOffset.top <
b.scrollSensitivity) this.scrollParent[0].scrollTop = c = this.scrollParent[0].scrollTop - b.scrollSpeed; if (this.overflowOffset.left + this.scrollParent[0].offsetWidth - a.pageX < b.scrollSensitivity) this.scrollParent[0].scrollLeft = c = this.scrollParent[0].scrollLeft + b.scrollSpeed; else if (a.pageX - this.overflowOffset.left < b.scrollSensitivity) this.scrollParent[0].scrollLeft = c = this.scrollParent[0].scrollLeft - b.scrollSpeed
            } else {
                if (a.pageY - d(document).scrollTop() < b.scrollSensitivity) c = d(document).scrollTop(d(document).scrollTop() -
b.scrollSpeed); else if (d(window).height() - (a.pageY - d(document).scrollTop()) < b.scrollSensitivity) c = d(document).scrollTop(d(document).scrollTop() + b.scrollSpeed); if (a.pageX - d(document).scrollLeft() < b.scrollSensitivity) c = d(document).scrollLeft(d(document).scrollLeft() - b.scrollSpeed); else if (d(window).width() - (a.pageX - d(document).scrollLeft()) < b.scrollSensitivity) c = d(document).scrollLeft(d(document).scrollLeft() + b.scrollSpeed)
            } c !== false && d.ui.ddmanager && !b.dropBehaviour && d.ui.ddmanager.prepareOffsets(this,
a)
        } 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 (b = this.items.length - 1; b >= 0; b--) {
            c = this.items[b]; var e = c.item[0], f = this._intersectsWithPointer(c); if (f) if (e != this.currentItem[0] && this.placeholder[f == 1 ? "next" : "prev"]()[0] != e && !d.ui.contains(this.placeholder[0], e) && (this.options.type == "semi-dynamic" ? !d.ui.contains(this.element[0],
e) : true)) { this.direction = f == 1 ? "down" : "up"; if (this.options.tolerance == "pointer" || this._intersectsWithSides(c)) this._rearrange(a, c); else break; this._trigger("change", a, this._uiHash()); break }
        } this._contactContainers(a); d.ui.ddmanager && d.ui.ddmanager.drag(this, a); this._trigger("sort", a, this._uiHash()); this.lastPositionAbs = this.positionAbs; return false
    }, _mouseStop: function (a, b) {
        if (a) {
            d.ui.ddmanager && !this.options.dropBehaviour && d.ui.ddmanager.drop(this, a); if (this.options.revert) {
                var c = this; b = c.placeholder.offset();
                c.reverting = true; d(this.helper).animate({ left: b.left - this.offset.parent.left - c.margins.left + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollLeft), top: b.top - this.offset.parent.top - c.margins.top + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollTop) }, parseInt(this.options.revert, 10) || 500, function () { c._clear(a) })
            } else this._clear(a, b); return false
        }
    }, cancel: function () {
        var a = 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 b = this.containers.length - 1; b >= 0; b--) { this.containers[b]._trigger("deactivate", null, a._uiHash(this)); if (this.containers[b].containerCache.over) { this.containers[b]._trigger("out", null, a._uiHash(this)); this.containers[b].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(); d.extend(this, { helper: null,
                dragging: false, reverting: false, _noFinalSort: null
            }); this.domPosition.prev ? d(this.domPosition.prev).after(this.currentItem) : d(this.domPosition.parent).prepend(this.currentItem)
        } return this
    }, serialize: function (a) { var b = this._getItemsAsjQuery(a && a.connected), c = []; a = a || {}; d(b).each(function () { var e = (d(a.item || this).attr(a.attribute || "id") || "").match(a.expression || /(.+)[-=_](.+)/); if (e) c.push((a.key || e[1] + "[]") + "=" + (a.key && a.expression ? e[1] : e[2])) }); !c.length && a.key && c.push(a.key + "="); return c.join("&") },
        toArray: function (a) { var b = this._getItemsAsjQuery(a && a.connected), c = []; a = a || {}; b.each(function () { c.push(d(a.item || this).attr(a.attribute || "id") || "") }); return c }, _intersectsWith: function (a) {
            var b = this.positionAbs.left, c = b + this.helperProportions.width, e = this.positionAbs.top, f = e + this.helperProportions.height, g = a.left, h = g + a.width, i = a.top, k = i + a.height, j = this.offset.click.top, l = this.offset.click.left; j = e + j > i && e + j < k && b + l > g && b + l < h; return this.options.tolerance == "pointer" || this.options.forcePointerForContainers ||
this.options.tolerance != "pointer" && this.helperProportions[this.floating ? "width" : "height"] > a[this.floating ? "width" : "height"] ? j : g < b + this.helperProportions.width / 2 && c - this.helperProportions.width / 2 < h && i < e + this.helperProportions.height / 2 && f - this.helperProportions.height / 2 < k
        }, _intersectsWithPointer: function (a) {
            var b = d.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, a.top, a.height); a = d.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, a.left, a.width); b = b && a; a = this._getDragVerticalDirection();
            var c = this._getDragHorizontalDirection(); if (!b) return false; return this.floating ? c && c == "right" || a == "down" ? 2 : 1 : a && (a == "down" ? 2 : 1)
        }, _intersectsWithSides: function (a) { var b = d.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, a.top + a.height / 2, a.height); a = d.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, a.left + a.width / 2, a.width); var c = this._getDragVerticalDirection(), e = this._getDragHorizontalDirection(); return this.floating && e ? e == "right" && a || e == "left" && !a : c && (c == "down" && b || c == "up" && !b) },
        _getDragVerticalDirection: function () { var a = this.positionAbs.top - this.lastPositionAbs.top; return a != 0 && (a > 0 ? "down" : "up") }, _getDragHorizontalDirection: function () { var a = this.positionAbs.left - this.lastPositionAbs.left; return a != 0 && (a > 0 ? "right" : "left") }, refresh: function (a) { this._refreshItems(a); this.refreshPositions(); return this }, _connectWith: function () { var a = this.options; return a.connectWith.constructor == String ? [a.connectWith] : a.connectWith }, _getItemsAsjQuery: function (a) {
            var b = [], c = [], e = this._connectWith();
            if (e && a) for (a = e.length - 1; a >= 0; a--) for (var f = d(e[a]), g = f.length - 1; g >= 0; g--) { var h = d.data(f[g], "sortable"); if (h && h != this && !h.options.disabled) c.push([d.isFunction(h.options.items) ? h.options.items.call(h.element) : d(h.options.items, h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), h]) } c.push([d.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : d(this.options.items, this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),
this]); for (a = c.length - 1; a >= 0; a--) c[a][0].each(function () { b.push(this) }); return d(b)
        }, _removeCurrentsFromItems: function () { for (var a = this.currentItem.find(":data(sortable-item)"), b = 0; b < this.items.length; b++) for (var c = 0; c < a.length; c++) a[c] == this.items[b].item[0] && this.items.splice(b, 1) }, _refreshItems: function (a) {
            this.items = []; this.containers = [this]; var b = this.items, c = [[d.isFunction(this.options.items) ? this.options.items.call(this.element[0], a, { item: this.currentItem }) : d(this.options.items, this.element),
this]], e = this._connectWith(); if (e) for (var f = e.length - 1; f >= 0; f--) for (var g = d(e[f]), h = g.length - 1; h >= 0; h--) { var i = d.data(g[h], "sortable"); if (i && i != this && !i.options.disabled) { c.push([d.isFunction(i.options.items) ? i.options.items.call(i.element[0], a, { item: this.currentItem }) : d(i.options.items, i.element), i]); this.containers.push(i) } } for (f = c.length - 1; f >= 0; f--) { a = c[f][1]; e = c[f][0]; h = 0; for (g = e.length; h < g; h++) { i = d(e[h]); i.data("sortable-item", a); b.push({ item: i, instance: a, width: 0, height: 0, left: 0, top: 0 }) } }
        }, refreshPositions: function (a) {
            if (this.offsetParent &&
this.helper) this.offset.parent = this._getParentOffset(); for (var b = this.items.length - 1; b >= 0; b--) { var c = this.items[b]; if (!(c.instance != this.currentContainer && this.currentContainer && c.item[0] != this.currentItem[0])) { var e = this.options.toleranceElement ? d(this.options.toleranceElement, c.item) : c.item; if (!a) { c.width = e.outerWidth(); c.height = e.outerHeight() } e = e.offset(); c.left = e.left; c.top = e.top } } if (this.options.custom && this.options.custom.refreshContainers) this.options.custom.refreshContainers.call(this); else for (b =
this.containers.length - 1; b >= 0; b--) { e = this.containers[b].element.offset(); this.containers[b].containerCache.left = e.left; this.containers[b].containerCache.top = e.top; this.containers[b].containerCache.width = this.containers[b].element.outerWidth(); this.containers[b].containerCache.height = this.containers[b].element.outerHeight() } return this
        }, _createPlaceholder: function (a) {
            var b = a || this, c = b.options; if (!c.placeholder || c.placeholder.constructor == String) {
                var e = c.placeholder; c.placeholder = { element: function () {
                    var f =
d(document.createElement(b.currentItem[0].nodeName)).addClass(e || b.currentItem[0].className + " ui-sortable-placeholder").removeClass("ui-sortable-helper")[0]; if (!e) f.style.visibility = "hidden"; return f
                }, update: function (f, g) {
                    if (!(e && !c.forcePlaceholderSize)) {
                        g.height() || g.height(b.currentItem.innerHeight() - parseInt(b.currentItem.css("paddingTop") || 0, 10) - parseInt(b.currentItem.css("paddingBottom") || 0, 10)); g.width() || g.width(b.currentItem.innerWidth() - parseInt(b.currentItem.css("paddingLeft") || 0, 10) - parseInt(b.currentItem.css("paddingRight") ||
0, 10))
                    }
                }
                }
            } b.placeholder = d(c.placeholder.element.call(b.element, b.currentItem)); b.currentItem.after(b.placeholder); c.placeholder.update(b, b.placeholder)
        }, _contactContainers: function (a) {
            for (var b = null, c = null, e = this.containers.length - 1; e >= 0; e--) if (!d.ui.contains(this.currentItem[0], this.containers[e].element[0])) if (this._intersectsWith(this.containers[e].containerCache)) { if (!(b && d.ui.contains(this.containers[e].element[0], b.element[0]))) { b = this.containers[e]; c = e } } else if (this.containers[e].containerCache.over) {
                this.containers[e]._trigger("out",
a, this._uiHash(this)); this.containers[e].containerCache.over = 0
            } if (b) if (this.containers.length === 1) { this.containers[c]._trigger("over", a, this._uiHash(this)); this.containers[c].containerCache.over = 1 } else if (this.currentContainer != this.containers[c]) {
                b = 1E4; e = null; for (var f = this.positionAbs[this.containers[c].floating ? "left" : "top"], g = this.items.length - 1; g >= 0; g--) if (d.ui.contains(this.containers[c].element[0], this.items[g].item[0])) {
                    var h = this.items[g][this.containers[c].floating ? "left" : "top"]; if (Math.abs(h -
f) < b) { b = Math.abs(h - f); e = this.items[g] }
                } if (e || this.options.dropOnEmpty) { this.currentContainer = this.containers[c]; e ? this._rearrange(a, e, null, true) : this._rearrange(a, null, this.containers[c].element, true); this._trigger("change", a, this._uiHash()); this.containers[c]._trigger("change", a, this._uiHash(this)); this.options.placeholder.update(this.currentContainer, this.placeholder); this.containers[c]._trigger("over", a, this._uiHash(this)); this.containers[c].containerCache.over = 1 }
            }
        }, _createHelper: function (a) {
            var b =
this.options; a = d.isFunction(b.helper) ? d(b.helper.apply(this.element[0], [a, this.currentItem])) : b.helper == "clone" ? this.currentItem.clone() : this.currentItem; a.parents("body").length || d(b.appendTo != "parent" ? b.appendTo : this.currentItem[0].parentNode)[0].appendChild(a[0]); if (a[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 (a[0].style.width ==
"" || b.forceHelperSize) a.width(this.currentItem.width()); if (a[0].style.height == "" || b.forceHelperSize) a.height(this.currentItem.height()); return a
        }, _adjustOffsetFromHelper: function (a) {
            if (typeof a == "string") a = a.split(" "); if (d.isArray(a)) a = { left: +a[0], top: +a[1] || 0 }; if ("left" in a) this.offset.click.left = a.left + this.margins.left; if ("right" in a) this.offset.click.left = this.helperProportions.width - a.right + this.margins.left; if ("top" in a) this.offset.click.top = a.top + this.margins.top; if ("bottom" in a) this.offset.click.top =
this.helperProportions.height - a.bottom + this.margins.top
        }, _getParentOffset: function () {
            this.offsetParent = this.helper.offsetParent(); var a = this.offsetParent.offset(); if (this.cssPosition == "absolute" && this.scrollParent[0] != document && d.ui.contains(this.scrollParent[0], this.offsetParent[0])) { a.left += this.scrollParent.scrollLeft(); a.top += this.scrollParent.scrollTop() } if (this.offsetParent[0] == document.body || this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == "html" && d.browser.msie) a =
{ top: 0, left: 0 }; return { top: a.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0), left: a.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0) }
        }, _getRelativeOffset: function () { if (this.cssPosition == "relative") { var a = this.currentItem.position(); return { top: a.top - (parseInt(this.helper.css("top"), 10) || 0) + this.scrollParent.scrollTop(), left: a.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 a = this.options; if (a.containment == "parent") a.containment = this.helper[0].parentNode; if (a.containment == "document" || a.containment == "window") this.containment = [0 - this.offset.relative.left - this.offset.parent.left, 0 - this.offset.relative.top - this.offset.parent.top, d(a.containment == "document" ?
document : window).width() - this.helperProportions.width - this.margins.left, (d(a.containment == "document" ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top]; if (!/^(document|window|parent)$/.test(a.containment)) {
                var b = d(a.containment)[0]; a = d(a.containment).offset(); var c = d(b).css("overflow") != "hidden"; this.containment = [a.left + (parseInt(d(b).css("borderLeftWidth"), 10) || 0) + (parseInt(d(b).css("paddingLeft"), 10) || 0) - this.margins.left, a.top + (parseInt(d(b).css("borderTopWidth"),
10) || 0) + (parseInt(d(b).css("paddingTop"), 10) || 0) - this.margins.top, a.left + (c ? Math.max(b.scrollWidth, b.offsetWidth) : b.offsetWidth) - (parseInt(d(b).css("borderLeftWidth"), 10) || 0) - (parseInt(d(b).css("paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left, a.top + (c ? Math.max(b.scrollHeight, b.offsetHeight) : b.offsetHeight) - (parseInt(d(b).css("borderTopWidth"), 10) || 0) - (parseInt(d(b).css("paddingBottom"), 10) || 0) - this.helperProportions.height - this.margins.top]
            }
        }, _convertPositionTo: function (a, b) {
            if (!b) b =
this.position; a = a == "absolute" ? 1 : -1; var c = this.cssPosition == "absolute" && !(this.scrollParent[0] != document && d.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, e = /(html|body)/i.test(c[0].tagName); return { top: b.top + this.offset.relative.top * a + this.offset.parent.top * a - (d.browser.safari && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : e ? 0 : c.scrollTop()) * a), left: b.left + this.offset.relative.left * a + this.offset.parent.left * a - (d.browser.safari &&
this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : e ? 0 : c.scrollLeft()) * a)
}
        }, _generatePosition: function (a) {
            var b = this.options, c = this.cssPosition == "absolute" && !(this.scrollParent[0] != document && d.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, e = /(html|body)/i.test(c[0].tagName); if (this.cssPosition == "relative" && !(this.scrollParent[0] != document && this.scrollParent[0] != this.offsetParent[0])) this.offset.relative = this._getRelativeOffset();
            var f = a.pageX, g = a.pageY; if (this.originalPosition) {
                if (this.containment) { if (a.pageX - this.offset.click.left < this.containment[0]) f = this.containment[0] + this.offset.click.left; if (a.pageY - this.offset.click.top < this.containment[1]) g = this.containment[1] + this.offset.click.top; if (a.pageX - this.offset.click.left > this.containment[2]) f = this.containment[2] + this.offset.click.left; if (a.pageY - this.offset.click.top > this.containment[3]) g = this.containment[3] + this.offset.click.top } if (b.grid) {
                    g = this.originalPageY + Math.round((g -
this.originalPageY) / b.grid[1]) * b.grid[1]; g = this.containment ? !(g - this.offset.click.top < this.containment[1] || g - this.offset.click.top > this.containment[3]) ? g : !(g - this.offset.click.top < this.containment[1]) ? g - b.grid[1] : g + b.grid[1] : g; f = this.originalPageX + Math.round((f - this.originalPageX) / b.grid[0]) * b.grid[0]; f = this.containment ? !(f - this.offset.click.left < this.containment[0] || f - this.offset.click.left > this.containment[2]) ? f : !(f - this.offset.click.left < this.containment[0]) ? f - b.grid[0] : f + b.grid[0] : f
                }
            } return { top: g -
this.offset.click.top - this.offset.relative.top - this.offset.parent.top + (d.browser.safari && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : e ? 0 : c.scrollTop()), left: f - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + (d.browser.safari && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : e ? 0 : c.scrollLeft())
            }
        }, _rearrange: function (a, b, c, e) {
            c ? c[0].appendChild(this.placeholder[0]) : b.item[0].parentNode.insertBefore(this.placeholder[0],
this.direction == "down" ? b.item[0] : b.item[0].nextSibling); this.counter = this.counter ? ++this.counter : 1; var f = this, g = this.counter; window.setTimeout(function () { g == f.counter && f.refreshPositions(!e) }, 0)
        }, _clear: function (a, b) {
            this.reverting = false; var c = []; !this._noFinalSort && this.currentItem[0].parentNode && this.placeholder.before(this.currentItem); this._noFinalSort = null; if (this.helper[0] == this.currentItem[0]) {
                for (var e in this._storedCSS) if (this._storedCSS[e] == "auto" || this._storedCSS[e] == "static") this._storedCSS[e] =
""; this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")
            } else this.currentItem.show(); this.fromOutside && !b && c.push(function (f) { this._trigger("receive", f, 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]) && !b) c.push(function (f) { this._trigger("update", f, this._uiHash()) }); if (!d.ui.contains(this.element[0], this.currentItem[0])) {
                b || c.push(function (f) {
                    this._trigger("remove",
f, this._uiHash())
                }); for (e = this.containers.length - 1; e >= 0; e--) if (d.ui.contains(this.containers[e].element[0], this.currentItem[0]) && !b) { c.push(function (f) { return function (g) { f._trigger("receive", g, this._uiHash(this)) } } .call(this, this.containers[e])); c.push(function (f) { return function (g) { f._trigger("update", g, this._uiHash(this)) } } .call(this, this.containers[e])) }
            } for (e = this.containers.length - 1; e >= 0; e--) {
                b || c.push(function (f) { return function (g) { f._trigger("deactivate", g, this._uiHash(this)) } } .call(this,
this.containers[e])); if (this.containers[e].containerCache.over) { c.push(function (f) { return function (g) { f._trigger("out", g, this._uiHash(this)) } } .call(this, this.containers[e])); this.containers[e].containerCache.over = 0 }
            } this._storedCursor && d("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 (!b) {
                    this._trigger("beforeStop",
a, this._uiHash()); for (e = 0; e < c.length; e++) c[e].call(this, a); this._trigger("stop", a, this._uiHash())
                } return false
            } b || this._trigger("beforeStop", a, this._uiHash()); this.placeholder[0].parentNode.removeChild(this.placeholder[0]); this.helper[0] != this.currentItem[0] && this.helper.remove(); this.helper = null; if (!b) { for (e = 0; e < c.length; e++) c[e].call(this, a); this._trigger("stop", a, this._uiHash()) } this.fromOutside = false; return true
        }, _trigger: function () { d.Widget.prototype._trigger.apply(this, arguments) === false && this.cancel() },
        _uiHash: function (a) { var b = a || this; return { helper: b.helper, placeholder: b.placeholder || d([]), position: b.position, originalPosition: b.originalPosition, offset: b.positionAbs, item: b.currentItem, sender: a ? a.element : null} }
    }); d.extend(d.ui.sortable, { version: "1.8.13" })
})(jQuery);
; /*
 * jQuery UI Accordion 1.8.13
 *
 * 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/Accordion
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.widget.js
 */
(function (c) {
    c.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 a = this, b = a.options; a.running = 0; a.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix");
        a.headers = a.element.find(b.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion", function () { b.disabled || c(this).addClass("ui-state-hover") }).bind("mouseleave.accordion", function () { b.disabled || c(this).removeClass("ui-state-hover") }).bind("focus.accordion", function () { b.disabled || c(this).addClass("ui-state-focus") }).bind("blur.accordion", function () { b.disabled || c(this).removeClass("ui-state-focus") }); a.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");
        if (b.navigation) { var d = a.element.find("a").filter(b.navigationFilter).eq(0); if (d.length) { var h = d.closest(".ui-accordion-header"); a.active = h.length ? h : d.closest(".ui-accordion-content").prev() } } a.active = a._findActive(a.active || b.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top"); a.active.next().addClass("ui-accordion-content-active"); a._createIcons(); a.resize(); a.element.attr("role", "tablist"); a.headers.attr("role", "tab").bind("keydown.accordion",
function (f) { return a._keydown(f) }).next().attr("role", "tabpanel"); a.headers.not(a.active || "").attr({ "aria-expanded": "false", "aria-selected": "false", tabIndex: -1 }).next().hide(); a.active.length ? a.active.attr({ "aria-expanded": "true", "aria-selected": "true", tabIndex: 0 }) : a.headers.eq(0).attr("tabIndex", 0); c.browser.safari || a.headers.find("a").attr("tabIndex", -1); b.event && a.headers.bind(b.event.split(" ").join(".accordion ") + ".accordion", function (f) { a._clickHandler.call(a, f, this); f.preventDefault() })
    }, _createIcons: function () {
        var a =
this.options; if (a.icons) { c("<span></span>").addClass("ui-icon " + a.icons.header).prependTo(this.headers); this.active.children(".ui-icon").toggleClass(a.icons.header).toggleClass(a.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 a = 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 b = 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 (a.autoHeight || a.fillHeight) b.css("height", ""); return c.Widget.prototype.destroy.call(this)
    }, _setOption: function (a, b) {
        c.Widget.prototype._setOption.apply(this, arguments); a == "active" && this.activate(b); if (a == "icons") {
            this._destroyIcons();
            b && this._createIcons()
        } if (a == "disabled") this.headers.add(this.headers.next())[b ? "addClass" : "removeClass"]("ui-accordion-disabled ui-state-disabled")
    }, _keydown: function (a) {
        if (!(this.options.disabled || a.altKey || a.ctrlKey)) {
            var b = c.ui.keyCode, d = this.headers.length, h = this.headers.index(a.target), f = false; switch (a.keyCode) {
                case b.RIGHT: case b.DOWN: f = this.headers[(h + 1) % d]; break; case b.LEFT: case b.UP: f = this.headers[(h - 1 + d) % d]; break; case b.SPACE: case b.ENTER: this._clickHandler({ target: a.target }, a.target);
                    a.preventDefault()
            } if (f) { c(a.target).attr("tabIndex", -1); c(f).attr("tabIndex", 0); f.focus(); return false } return true
        }
    }, resize: function () {
        var a = this.options, b; if (a.fillSpace) {
            if (c.browser.msie) { var d = this.element.parent().css("overflow"); this.element.parent().css("overflow", "hidden") } b = this.element.parent().height(); c.browser.msie && this.element.parent().css("overflow", d); this.headers.each(function () { b -= c(this).outerHeight(true) }); this.headers.next().each(function () {
                c(this).height(Math.max(0, b - c(this).innerHeight() +
c(this).height()))
            }).css("overflow", "auto")
        } else if (a.autoHeight) { b = 0; this.headers.next().each(function () { b = Math.max(b, c(this).height("").height()) }).height(b) } return this
    }, activate: function (a) { this.options.active = a; a = this._findActive(a)[0]; this._clickHandler({ target: a }, a); return this }, _findActive: function (a) { return a ? typeof a === "number" ? this.headers.filter(":eq(" + a + ")") : this.headers.not(this.headers.not(a)) : a === false ? c([]) : this.headers.filter(":eq(0)") }, _clickHandler: function (a, b) {
        var d = this.options;
        if (!d.disabled) if (a.target) {
            a = c(a.currentTarget || b); b = a[0] === this.active[0]; d.active = d.collapsible && b ? false : this.headers.index(a); if (!(this.running || !d.collapsible && b)) {
                var h = this.active; j = a.next(); g = this.active.next(); e = { options: d, newHeader: b && d.collapsible ? c([]) : a, oldHeader: this.active, newContent: b && d.collapsible ? c([]) : j, oldContent: g }; var f = this.headers.index(this.active[0]) > this.headers.index(a[0]); this.active = b ? c([]) : a; this._toggle(j, g, e, b, f); h.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);
                if (!b) { a.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected); a.next().addClass("ui-accordion-content-active") }
            }
        } else if (d.collapsible) {
            this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header); this.active.next().addClass("ui-accordion-content-active"); var g = this.active.next(),
e = { options: d, newHeader: c([]), oldHeader: d.active, newContent: c([]), oldContent: g }, j = this.active = c([]); this._toggle(j, g, e)
        }
    }, _toggle: function (a, b, d, h, f) {
        var g = this, e = g.options; g.toShow = a; g.toHide = b; g.data = d; var j = function () { if (g) return g._completed.apply(g, arguments) }; g._trigger("changestart", null, g.data); g.running = b.size() === 0 ? a.size() : b.size(); if (e.animated) {
            d = {}; d = e.collapsible && h ? { toShow: c([]), toHide: b, complete: j, down: f, autoHeight: e.autoHeight || e.fillSpace} : { toShow: a, toHide: b, complete: j, down: f, autoHeight: e.autoHeight ||
e.fillSpace
            }; if (!e.proxied) e.proxied = e.animated; if (!e.proxiedDuration) e.proxiedDuration = e.duration; e.animated = c.isFunction(e.proxied) ? e.proxied(d) : e.proxied; e.duration = c.isFunction(e.proxiedDuration) ? e.proxiedDuration(d) : e.proxiedDuration; h = c.ui.accordion.animations; var i = e.duration, k = e.animated; if (k && !h[k] && !c.easing[k]) k = "slide"; h[k] || (h[k] = function (l) { this.slide(l, { easing: k, duration: i || 700 }) }); h[k](d)
        } else { if (e.collapsible && h) a.toggle(); else { b.hide(); a.show() } j(true) } b.prev().attr({ "aria-expanded": "false",
            "aria-selected": "false", tabIndex: -1
        }).blur(); a.prev().attr({ "aria-expanded": "true", "aria-selected": "true", tabIndex: 0 }).focus()
    }, _completed: function (a) { this.running = a ? 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) } }
    }); c.extend(c.ui.accordion, { version: "1.8.13",
        animations: { slide: function (a, b) {
            a = c.extend({ easing: "swing", duration: 300 }, a, b); if (a.toHide.size()) if (a.toShow.size()) {
                var d = a.toShow.css("overflow"), h = 0, f = {}, g = {}, e; b = a.toShow; e = b[0].style.width; b.width(parseInt(b.parent().width(), 10) - parseInt(b.css("paddingLeft"), 10) - parseInt(b.css("paddingRight"), 10) - (parseInt(b.css("borderLeftWidth"), 10) || 0) - (parseInt(b.css("borderRightWidth"), 10) || 0)); c.each(["height", "paddingTop", "paddingBottom"], function (j, i) {
                    g[i] = "hide"; j = ("" + c.css(a.toShow[0], i)).match(/^([\d+-.]+)(.*)$/);
                    f[i] = { value: j[1], unit: j[2] || "px" }
                }); a.toShow.css({ height: 0, overflow: "hidden" }).show(); a.toHide.filter(":hidden").each(a.complete).end().filter(":visible").animate(g, { step: function (j, i) { if (i.prop == "height") h = i.end - i.start === 0 ? 0 : (i.now - i.start) / (i.end - i.start); a.toShow[0].style[i.prop] = h * f[i.prop].value + f[i.prop].unit }, duration: a.duration, easing: a.easing, complete: function () { a.autoHeight || a.toShow.css("height", ""); a.toShow.css({ width: e, overflow: d }); a.complete() } })
            } else a.toHide.animate({ height: "hide",
                paddingTop: "hide", paddingBottom: "hide"
            }, a); else a.toShow.animate({ height: "show", paddingTop: "show", paddingBottom: "show" }, a)
        }, bounceslide: function (a) { this.slide(a, { easing: a.down ? "easeOutBounce" : "swing", duration: a.down ? 1E3 : 200 }) }
        }
    })
})(jQuery);
; /*
 * jQuery UI Autocomplete 1.8.13
 *
 * 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/Autocomplete
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.widget.js
 *	jquery.ui.position.js
 */
(function (d) {
    var e = 0; d.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 a = this, b = 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 (c) {
            if (!(a.options.disabled || a.element.attr("readonly"))) {
                g =
false; var f = d.ui.keyCode; switch (c.keyCode) {
                    case f.PAGE_UP: a._move("previousPage", c); break; case f.PAGE_DOWN: a._move("nextPage", c); break; case f.UP: a._move("previous", c); c.preventDefault(); break; case f.DOWN: a._move("next", c); c.preventDefault(); break; case f.ENTER: case f.NUMPAD_ENTER: if (a.menu.active) { g = true; c.preventDefault() } case f.TAB: if (!a.menu.active) return; a.menu.select(c); break; case f.ESCAPE: a.element.val(a.term); a.close(c); break; default: clearTimeout(a.searching); a.searching = setTimeout(function () {
                        if (a.term !=
a.element.val()) { a.selectedItem = null; a.search(null, c) }
                    }, a.options.delay); break
                }
            }
        }).bind("keypress.autocomplete", function (c) { if (g) { g = false; c.preventDefault() } }).bind("focus.autocomplete", function () { if (!a.options.disabled) { a.selectedItem = null; a.previous = a.element.val() } }).bind("blur.autocomplete", function (c) { if (!a.options.disabled) { clearTimeout(a.searching); a.closing = setTimeout(function () { a.close(c); a._change(c) }, 150) } }); this._initSource(); this.response = function () { return a._response.apply(a, arguments) };
        this.menu = d("<ul></ul>").addClass("ui-autocomplete").appendTo(d(this.options.appendTo || "body", b)[0]).mousedown(function (c) { var f = a.menu.element[0]; d(c.target).closest(".ui-menu-item").length || setTimeout(function () { d(document).one("mousedown", function (h) { h.target !== a.element[0] && h.target !== f && !d.ui.contains(f, h.target) && a.close() }) }, 1); setTimeout(function () { clearTimeout(a.closing) }, 13) }).menu({ focus: function (c, f) {
            f = f.item.data("item.autocomplete"); false !== a._trigger("focus", c, { item: f }) && /^key/.test(c.originalEvent.type) &&
a.element.val(f.value)
        }, selected: function (c, f) { var h = f.item.data("item.autocomplete"), i = a.previous; if (a.element[0] !== b.activeElement) { a.element.focus(); a.previous = i; setTimeout(function () { a.previous = i; a.selectedItem = h }, 1) } false !== a._trigger("select", c, { item: h }) && a.element.val(h.value); a.term = a.element.val(); a.close(c); a.selectedItem = h }, blur: function () { a.menu.element.is(":visible") && a.element.val() !== a.term && a.element.val(a.term) }
        }).zIndex(this.element.zIndex() + 1).css({ top: 0, left: 0 }).hide().data("menu");
        d.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(); d.Widget.prototype.destroy.call(this) }, _setOption: function (a, b) {
        d.Widget.prototype._setOption.apply(this, arguments); a === "source" && this._initSource(); if (a === "appendTo") this.menu.element.appendTo(d(b || "body", this.element[0].ownerDocument)[0]); a === "disabled" &&
b && this.xhr && this.xhr.abort()
    }, _initSource: function () {
        var a = this, b, g; if (d.isArray(this.options.source)) { b = this.options.source; this.source = function (c, f) { f(d.ui.autocomplete.filter(b, c.term)) } } else if (typeof this.options.source === "string") { g = this.options.source; this.source = function (c, f) { a.xhr && a.xhr.abort(); a.xhr = d.ajax({ url: g, data: c, dataType: "json", autocompleteRequest: ++e, success: function (h) { this.autocompleteRequest === e && f(h) }, error: function () { this.autocompleteRequest === e && f([]) } }) } } else this.source =
this.options.source
    }, search: function (a, b) { a = a != null ? a : this.element.val(); this.term = this.element.val(); if (a.length < this.options.minLength) return this.close(b); clearTimeout(this.closing); if (this._trigger("search", b) !== false) return this._search(a) }, _search: function (a) { this.pending++; this.element.addClass("ui-autocomplete-loading"); this.source({ term: a }, this.response) }, _response: function (a) {
        if (!this.options.disabled && a && a.length) { a = this._normalize(a); this._suggest(a); this._trigger("open") } else this.close();
        this.pending--; this.pending || this.element.removeClass("ui-autocomplete-loading")
    }, close: function (a) { clearTimeout(this.closing); if (this.menu.element.is(":visible")) { this.menu.element.hide(); this.menu.deactivate(); this._trigger("close", a) } }, _change: function (a) { this.previous !== this.element.val() && this._trigger("change", a, { item: this.selectedItem }) }, _normalize: function (a) {
        if (a.length && a[0].label && a[0].value) return a; return d.map(a, function (b) {
            if (typeof b === "string") return { label: b, value: b }; return d.extend({ label: b.label ||
b.value, value: b.value || b.label
            }, b)
        })
    }, _suggest: function (a) { var b = this.menu.element.empty().zIndex(this.element.zIndex() + 1); this._renderMenu(b, a); this.menu.deactivate(); this.menu.refresh(); b.show(); this._resizeMenu(); b.position(d.extend({ of: this.element }, this.options.position)); this.options.autoFocus && this.menu.next(new d.Event("mouseover")) }, _resizeMenu: function () { var a = this.menu.element; a.outerWidth(Math.max(a.width("").outerWidth(), this.element.outerWidth())) }, _renderMenu: function (a, b) {
        var g = this;
        d.each(b, function (c, f) { g._renderItem(a, f) })
    }, _renderItem: function (a, b) { return d("<li></li>").data("item.autocomplete", b).append(d("<a></a>").text(b.label)).appendTo(a) }, _move: function (a, b) { if (this.menu.element.is(":visible")) if (this.menu.first() && /^previous/.test(a) || this.menu.last() && /^next/.test(a)) { this.element.val(this.term); this.menu.deactivate() } else this.menu[a](b); else this.search(null, b) }, widget: function () { return this.menu.element }
    }); d.extend(d.ui.autocomplete, { escapeRegex: function (a) {
        return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,
"\\$&")
    }, filter: function (a, b) { var g = new RegExp(d.ui.autocomplete.escapeRegex(b), "i"); return d.grep(a, function (c) { return g.test(c.label || c.value || c) }) }
    })
})(jQuery);
(function (d) {
    d.widget("ui.menu", { _create: function () { var e = this; this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({ role: "listbox", "aria-activedescendant": "ui-active-menuitem" }).click(function (a) { if (d(a.target).closest(".ui-menu-item a").length) { a.preventDefault(); e.select(a) } }); this.refresh() }, refresh: function () {
        var e = 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 (a) { e.activate(a, d(this).parent()) }).mouseleave(function () { e.deactivate() })
    }, activate: function (e, a) { this.deactivate(); if (this.hasScroll()) { var b = a.offset().top - this.element.offset().top, g = this.element.scrollTop(), c = this.element.height(); if (b < 0) this.element.scrollTop(g + b); else b >= c && this.element.scrollTop(g + b - c + a.height()) } this.active = a.eq(0).children("a").addClass("ui-state-hover").attr("id", "ui-active-menuitem").end(); this._trigger("focus", e, { item: a }) }, deactivate: function () {
        if (this.active) {
            this.active.children("a").removeClass("ui-state-hover").removeAttr("id");
            this._trigger("blur"); this.active = null
        }
    }, next: function (e) { this.move("next", ".ui-menu-item:first", e) }, previous: function (e) { this.move("prev", ".ui-menu-item:last", e) }, 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 (e, a, b) {
        if (this.active) { e = this.active[e + "All"](".ui-menu-item").eq(0); e.length ? this.activate(b, e) : this.activate(b, this.element.children(a)) } else this.activate(b,
this.element.children(a))
    }, nextPage: function (e) {
        if (this.hasScroll()) if (!this.active || this.last()) this.activate(e, this.element.children(".ui-menu-item:first")); else { var a = this.active.offset().top, b = this.element.height(), g = this.element.children(".ui-menu-item").filter(function () { var c = d(this).offset().top - a - b + d(this).height(); return c < 10 && c > -10 }); g.length || (g = this.element.children(".ui-menu-item:last")); this.activate(e, g) } else this.activate(e, this.element.children(".ui-menu-item").filter(!this.active ||
this.last() ? ":first" : ":last"))
    }, previousPage: function (e) {
        if (this.hasScroll()) if (!this.active || this.first()) this.activate(e, this.element.children(".ui-menu-item:last")); else { var a = this.active.offset().top, b = this.element.height(); result = this.element.children(".ui-menu-item").filter(function () { var g = d(this).offset().top - a + b - d(this).height(); return g < 10 && g > -10 }); result.length || (result = this.element.children(".ui-menu-item:first")); this.activate(e, result) } else this.activate(e, this.element.children(".ui-menu-item").filter(!this.active ||
this.first() ? ":last" : ":first"))
    }, hasScroll: function () { return this.element.height() < this.element[d.fn.prop ? "prop" : "attr"]("scrollHeight") }, select: function (e) { this._trigger("selected", e, { item: this.active }) }
    })
})(jQuery);
; /*
 * jQuery UI Button 1.8.13
 *
 * 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/Button
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.widget.js
 */
(function (a) {
    var g, i = function (b) { a(":ui-button", b.target.form).each(function () { var c = a(this).data("button"); setTimeout(function () { c.refresh() }, 1) }) }, h = function (b) { var c = b.name, d = b.form, f = a([]); if (c) f = d ? a(d).find("[name='" + c + "']") : a("[name='" + c + "']", b.ownerDocument).filter(function () { return !this.form }); return f }; a.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",
i); if (typeof this.options.disabled !== "boolean") this.options.disabled = this.element.attr("disabled"); this._determineButtonType(); this.hasTitle = !!this.buttonElement.attr("title"); var b = this, c = this.options, d = this.type === "checkbox" || this.type === "radio", f = "ui-state-hover" + (!d ? " ui-state-active" : ""); if (c.label === null) c.label = this.buttonElement.html(); if (this.element.is(":disabled")) c.disabled = true; this.buttonElement.addClass("ui-button ui-widget ui-state-default ui-corner-all").attr("role", "button").bind("mouseenter.button",
function () { if (!c.disabled) { a(this).addClass("ui-state-hover"); this === g && a(this).addClass("ui-state-active") } }).bind("mouseleave.button", function () { c.disabled || a(this).removeClass(f) }).bind("focus.button", function () { a(this).addClass("ui-state-focus") }).bind("blur.button", function () { a(this).removeClass("ui-state-focus") }).bind("click.button", function (e) { c.disabled && e.stopImmediatePropagation() }); d && this.element.bind("change.button", function () { b.refresh() }); if (this.type === "checkbox") this.buttonElement.bind("click.button",
function () { if (c.disabled) return false; a(this).toggleClass("ui-state-active"); b.buttonElement.attr("aria-pressed", b.element[0].checked) }); else if (this.type === "radio") this.buttonElement.bind("click.button", function () { if (c.disabled) return false; a(this).addClass("ui-state-active"); b.buttonElement.attr("aria-pressed", true); var e = b.element[0]; h(e).not(e).map(function () { return a(this).button("widget")[0] }).removeClass("ui-state-active").attr("aria-pressed", false) }); else {
            this.buttonElement.bind("mousedown.button",
function () { if (c.disabled) return false; a(this).addClass("ui-state-active"); g = this; a(document).one("mouseup", function () { g = null }) }).bind("mouseup.button", function () { if (c.disabled) return false; a(this).removeClass("ui-state-active") }).bind("keydown.button", function (e) { if (c.disabled) return false; if (e.keyCode == a.ui.keyCode.SPACE || e.keyCode == a.ui.keyCode.ENTER) a(this).addClass("ui-state-active") }).bind("keyup.button", function () { a(this).removeClass("ui-state-active") }); this.buttonElement.is("a") && this.buttonElement.keyup(function (e) {
    e.keyCode ===
a.ui.keyCode.SPACE && a(this).click()
})
        } this._setOption("disabled", c.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 b = this.element.parents().filter(":last"), c = "label[for=" + this.element.attr("id") + "]"; this.buttonElement = b.find(c); if (!this.buttonElement.length) {
                b = b.length ? b.siblings() : this.element.siblings(); this.buttonElement = b.filter(c);
                if (!this.buttonElement.length) this.buttonElement = b.find(c)
            } this.element.addClass("ui-helper-hidden-accessible"); (b = this.element.is(":checked")) && this.buttonElement.addClass("ui-state-active"); this.buttonElement.attr("aria-pressed", b)
        } 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"); a.Widget.prototype.destroy.call(this)
    }, _setOption: function (b, c) { a.Widget.prototype._setOption.apply(this, arguments); if (b === "disabled") c ? this.element.attr("disabled", true) : this.element.removeAttr("disabled"); this._resetButton() }, refresh: function () {
        var b = this.element.is(":disabled"); b !== this.options.disabled && this._setOption("disabled", b); if (this.type === "radio") h(this.element[0]).each(function () {
            a(this).is(":checked") ? a(this).button("widget").addClass("ui-state-active").attr("aria-pressed",
true) : a(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 b = 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"),
c = a("<span></span>").addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(), d = this.options.icons, f = d.primary && d.secondary, e = []; if (d.primary || d.secondary) {
                if (this.options.text) e.push("ui-button-text-icon" + (f ? "s" : d.primary ? "-primary" : "-secondary")); d.primary && b.prepend("<span class='ui-button-icon-primary ui-icon " + d.primary + "'></span>"); d.secondary && b.append("<span class='ui-button-icon-secondary ui-icon " + d.secondary + "'></span>"); if (!this.options.text) {
                    e.push(f ? "ui-button-icons-only" :
"ui-button-icon-only"); this.hasTitle || b.attr("title", c)
                }
            } else e.push("ui-button-text-only"); b.addClass(e.join(" "))
        }
    }
    }); a.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 (b, c) { b === "disabled" && this.buttons.button("option", b, c); a.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 a(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 a(this).button("widget")[0] }).removeClass("ui-corner-left ui-corner-right").end().button("destroy"); a.Widget.prototype.destroy.call(this) }
    })
})(jQuery);
; /*
 * jQuery UI Dialog 1.8.13
 *
 * 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/Dialog
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.widget.js
 *  jquery.ui.button.js
 *	jquery.ui.draggable.js
 *	jquery.ui.mouse.js
 *	jquery.ui.position.js
 *	jquery.ui.resizable.js
 */
(function (c, l) {
    var m = { buttons: true, height: true, maxHeight: true, maxWidth: true, minHeight: true, minWidth: true, width: true }, n = { maxHeight: true, maxWidth: true, minHeight: true, minWidth: true }, o = c.attrFn || { val: true, css: true, html: true, text: true, data: true, width: true, height: true, offset: true, click: true }; c.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 b = c(this).css(a).offset().top; b < 0 && c(this).css("top", a.top - b) } }, 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, b = a.options, d = b.title || "&#160;", e = c.ui.dialog.getTitleId(a.element), g = (a.uiDialog = c("<div></div>")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all " +
b.dialogClass).css({ zIndex: b.zIndex }).attr("tabIndex", -1).css("outline", 0).keydown(function (i) { if (b.closeOnEscape && i.keyCode && i.keyCode === c.ui.keyCode.ESCAPE) { a.close(i); i.preventDefault() } }).attr({ role: "dialog", "aria-labelledby": e }).mousedown(function (i) { a.moveToTop(false, i) }); a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g); var f = (a.uiDialogTitlebar = c("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),
h = c('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role", "button").hover(function () { h.addClass("ui-state-hover") }, function () { h.removeClass("ui-state-hover") }).focus(function () { h.addClass("ui-state-focus") }).blur(function () { h.removeClass("ui-state-focus") }).click(function (i) { a.close(i); return false }).appendTo(f); (a.uiDialogTitlebarCloseText = c("<span></span>")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h); c("<span></span>").addClass("ui-dialog-title").attr("id",
e).html(d).prependTo(f); if (c.isFunction(b.beforeclose) && !c.isFunction(b.beforeClose)) b.beforeClose = b.beforeclose; f.find("*").add(f).disableSelection(); b.draggable && c.fn.draggable && a._makeDraggable(); b.resizable && c.fn.resizable && a._makeResizable(); a._createButtons(b.buttons); a._isOpen = false; c.fn.bgiframe && g.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 b = this, d, e; if (false !== b._trigger("beforeClose", a)) {
            b.overlay && b.overlay.destroy(); b.uiDialog.unbind("keypress.ui-dialog"); b._isOpen = false; if (b.options.hide) b.uiDialog.hide(b.options.hide, function () { b._trigger("close", a) }); else { b.uiDialog.hide(); b._trigger("close", a) } c.ui.dialog.overlay.resize(); if (b.options.modal) {
                d = 0; c(".ui-dialog").each(function () {
                    if (this !==
b.uiDialog[0]) { e = c(this).css("z-index"); isNaN(e) || (d = Math.max(d, e)) }
                }); c.ui.dialog.maxZ = d
            } return b
        }
    }, isOpen: function () { return this._isOpen }, moveToTop: function (a, b) {
        var d = this, e = d.options; if (e.modal && !a || !e.stack && !e.modal) return d._trigger("focus", b); if (e.zIndex > c.ui.dialog.maxZ) c.ui.dialog.maxZ = e.zIndex; if (d.overlay) { c.ui.dialog.maxZ += 1; d.overlay.$el.css("z-index", c.ui.dialog.overlay.maxZ = c.ui.dialog.maxZ) } a = { scrollTop: d.element.attr("scrollTop"), scrollLeft: d.element.attr("scrollLeft") }; c.ui.dialog.maxZ +=
1; d.uiDialog.css("z-index", c.ui.dialog.maxZ); d.element.attr(a); d._trigger("focus", b); return d
    }, open: function () {
        if (!this._isOpen) {
            var a = this, b = a.options, d = a.uiDialog; a.overlay = b.modal ? new c.ui.dialog.overlay(a) : null; a._size(); a._position(b.position); d.show(b.show); a.moveToTop(true); b.modal && d.bind("keypress.ui-dialog", function (e) {
                if (e.keyCode === c.ui.keyCode.TAB) {
                    var g = c(":tabbable", this), f = g.filter(":first"); g = g.filter(":last"); if (e.target === g[0] && !e.shiftKey) { f.focus(1); return false } else if (e.target ===
f[0] && e.shiftKey) { g.focus(1); return false }
                }
            }); c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus(); a._isOpen = true; a._trigger("open"); return a
        }
    }, _createButtons: function (a) {
        var b = this, d = false, e = c("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"), g = c("<div></div>").addClass("ui-dialog-buttonset").appendTo(e); b.uiDialog.find(".ui-dialog-buttonpane").remove(); typeof a === "object" && a !== null && c.each(a,
function () { return !(d = true) }); if (d) { c.each(a, function (f, h) { h = c.isFunction(h) ? { click: h, text: f} : h; var i = c('<button type="button"></button>').click(function () { h.click.apply(b.element[0], arguments) }).appendTo(g); c.each(h, function (j, k) { if (j !== "click") j in o ? i[j](k) : i.attr(j, k) }); c.fn.button && i.button() }); e.appendTo(b.uiDialog) }
    }, _makeDraggable: function () {
        function a(f) { return { position: f.position, offset: f.offset} } var b = this, d = b.options, e = c(document), g; b.uiDialog.draggable({ cancel: ".ui-dialog-content, .ui-dialog-titlebar-close",
            handle: ".ui-dialog-titlebar", containment: "document", start: function (f, h) { g = d.height === "auto" ? "auto" : c(this).height(); c(this).height(c(this).height()).addClass("ui-dialog-dragging"); b._trigger("dragStart", f, a(h)) }, drag: function (f, h) { b._trigger("drag", f, a(h)) }, stop: function (f, h) { d.position = [h.position.left - e.scrollLeft(), h.position.top - e.scrollTop()]; c(this).removeClass("ui-dialog-dragging").height(g); b._trigger("dragStop", f, a(h)); c.ui.dialog.overlay.resize() }
        })
    }, _makeResizable: function (a) {
        function b(f) {
            return { originalPosition: f.originalPosition,
                originalSize: f.originalSize, position: f.position, size: f.size
            }
        } a = a === l ? this.options.resizable : a; var d = this, e = d.options, g = d.uiDialog.css("position"); a = typeof a === "string" ? a : "n,e,s,w,se,sw,ne,nw"; d.uiDialog.resizable({ cancel: ".ui-dialog-content", containment: "document", alsoResize: d.element, maxWidth: e.maxWidth, maxHeight: e.maxHeight, minWidth: e.minWidth, minHeight: d._minHeight(), handles: a, start: function (f, h) { c(this).addClass("ui-dialog-resizing"); d._trigger("resizeStart", f, b(h)) }, resize: function (f, h) {
            d._trigger("resize",
f, b(h))
        }, stop: function (f, h) { c(this).removeClass("ui-dialog-resizing"); e.height = c(this).height(); e.width = c(this).width(); d._trigger("resizeStop", f, b(h)); c.ui.dialog.overlay.resize() }
        }).css("position", g).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 b = [], d = [0, 0], e; if (a) {
            if (typeof a === "string" || typeof a === "object" && "0" in a) {
                b = a.split ? a.split(" ") :
[a[0], a[1]]; if (b.length === 1) b[1] = b[0]; c.each(["left", "top"], function (g, f) { if (+b[g] === b[g]) { d[g] = b[g]; b[g] = f } }); a = { my: b.join(" "), at: b.join(" "), offset: d.join(" ") }
            } a = c.extend({}, c.ui.dialog.prototype.options.position, a)
        } else a = c.ui.dialog.prototype.options.position; (e = this.uiDialog.is(":visible")) || this.uiDialog.show(); this.uiDialog.css({ top: 0, left: 0 }).position(c.extend({ of: window }, a)); e || this.uiDialog.hide()
    }, _setOptions: function (a) {
        var b = this, d = {}, e = false; c.each(a, function (g, f) {
            b._setOption(g, f);
            if (g in m) e = true; if (g in n) d[g] = f
        }); e && this._size(); this.uiDialog.is(":data(resizable)") && this.uiDialog.resizable("option", d)
    }, _setOption: function (a, b) {
        var d = this, e = d.uiDialog; switch (a) {
            case "beforeclose": a = "beforeClose"; break; case "buttons": d._createButtons(b); break; case "closeText": d.uiDialogTitlebarCloseText.text("" + b); break; case "dialogClass": e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all " + b); break; case "disabled": b ? e.addClass("ui-dialog-disabled") :
e.removeClass("ui-dialog-disabled"); break; case "draggable": var g = e.is(":data(draggable)"); g && !b && e.draggable("destroy"); !g && b && d._makeDraggable(); break; case "position": d._position(b); break; case "resizable": (g = e.is(":data(resizable)")) && !b && e.resizable("destroy"); g && typeof b === "string" && e.resizable("option", "handles", b); !g && b !== false && d._makeResizable(b); break; case "title": c(".ui-dialog-title", d.uiDialogTitlebar).html("" + (b || "&#160;")); break
        } c.Widget.prototype._setOption.apply(d, arguments)
    }, _size: function () {
        var a =
this.options, b, d, e = this.uiDialog.is(":visible"); this.element.show().css({ width: "auto", minHeight: 0, height: 0 }); if (a.minWidth > a.width) a.width = a.minWidth; b = this.uiDialog.css({ height: "auto", width: a.width }).height(); d = Math.max(0, a.minHeight - b); if (a.height === "auto") if (c.support.minHeight) this.element.css({ minHeight: d, height: "auto" }); else { this.uiDialog.show(); a = this.element.css("height", "auto").height(); e || this.uiDialog.hide(); this.element.height(Math.max(a, d)) } else this.element.height(Math.max(a.height -
b, 0)); this.uiDialog.is(":data(resizable)") && this.uiDialog.resizable("option", "minHeight", this._minHeight())
    }
    }); c.extend(c.ui.dialog, { version: "1.8.13", 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 = c.ui.dialog.overlay.create(a) } }); c.extend(c.ui.dialog.overlay, { instances: [], oldInstances: [], maxZ: 0, events: c.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 () { c.ui.dialog.overlay.instances.length && c(document).bind(c.ui.dialog.overlay.events, function (d) { if (c(d.target).zIndex() < c.ui.dialog.overlay.maxZ) return false }) }, 1); c(document).bind("keydown.dialog-overlay", function (d) { if (a.options.closeOnEscape && d.keyCode && d.keyCode === c.ui.keyCode.ESCAPE) { a.close(d); d.preventDefault() } }); c(window).bind("resize.dialog-overlay", c.ui.dialog.overlay.resize) } var b = (this.oldInstances.pop() || c("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({ width: this.width(),
                height: this.height()
            }); c.fn.bgiframe && b.bgiframe(); this.instances.push(b); return b
        }, destroy: function (a) { var b = c.inArray(a, this.instances); b != -1 && this.oldInstances.push(this.instances.splice(b, 1)[0]); this.instances.length === 0 && c([document, window]).unbind(".dialog-overlay"); a.remove(); var d = 0; c.each(this.instances, function () { d = Math.max(d, this.css("z-index")) }); this.maxZ = d }, height: function () {
            var a, b; if (c.browser.msie && c.browser.version < 7) {
                a = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight);
                b = Math.max(document.documentElement.offsetHeight, document.body.offsetHeight); return a < b ? c(window).height() + "px" : a + "px"
            } else return c(document).height() + "px"
        }, width: function () { var a, b; if (c.browser.msie && c.browser.version < 7) { a = Math.max(document.documentElement.scrollWidth, document.body.scrollWidth); b = Math.max(document.documentElement.offsetWidth, document.body.offsetWidth); return a < b ? c(window).width() + "px" : a + "px" } else return c(document).width() + "px" }, resize: function () {
            var a = c([]); c.each(c.ui.dialog.overlay.instances,
function () { a = a.add(this) }); a.css({ width: 0, height: 0 }).css({ width: c.ui.dialog.overlay.width(), height: c.ui.dialog.overlay.height() })
        }
    }); c.extend(c.ui.dialog.overlay.prototype, { destroy: function () { c.ui.dialog.overlay.destroy(this.$el) } })
})(jQuery);
; /*
 * jQuery UI Slider 1.8.13
 *
 * 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/Slider
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.mouse.js
 *	jquery.ui.widget.js
 */
(function (d) {
    d.widget("ui.slider", d.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 b = this, a = this.options, c = this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"), f = a.values && a.values.length || 1, e = []; 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" + (a.disabled ? " ui-slider-disabled ui-disabled" : "")); this.range = d([]); if (a.range) { if (a.range === true) { if (!a.values) a.values = [this._valueMin(), this._valueMin()]; if (a.values.length && a.values.length !== 2) a.values = [a.values[0], a.values[0]] } this.range = d("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header" + (a.range === "min" || a.range === "max" ? " ui-slider-range-" + a.range : "")) } for (var j = c.length; j < f; j += 1) e.push("<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>");
        this.handles = c.add(d(e.join("")).appendTo(b.element)); this.handle = this.handles.eq(0); this.handles.add(this.range).filter("a").click(function (g) { g.preventDefault() }).hover(function () { a.disabled || d(this).addClass("ui-state-hover") }, function () { d(this).removeClass("ui-state-hover") }).focus(function () { if (a.disabled) d(this).blur(); else { d(".ui-slider .ui-state-focus").removeClass("ui-state-focus"); d(this).addClass("ui-state-focus") } }).blur(function () { d(this).removeClass("ui-state-focus") }); this.handles.each(function (g) {
            d(this).data("index.ui-slider-handle",
g)
        }); this.handles.keydown(function (g) {
            var k = true, l = d(this).data("index.ui-slider-handle"), i, h, m; if (!b.options.disabled) {
                switch (g.keyCode) { case d.ui.keyCode.HOME: case d.ui.keyCode.END: case d.ui.keyCode.PAGE_UP: case d.ui.keyCode.PAGE_DOWN: case d.ui.keyCode.UP: case d.ui.keyCode.RIGHT: case d.ui.keyCode.DOWN: case d.ui.keyCode.LEFT: k = false; if (!b._keySliding) { b._keySliding = true; d(this).addClass("ui-state-active"); i = b._start(g, l); if (i === false) return } break } m = b.options.step; i = b.options.values && b.options.values.length ?
(h = b.values(l)) : (h = b.value()); switch (g.keyCode) {
                    case d.ui.keyCode.HOME: h = b._valueMin(); break; case d.ui.keyCode.END: h = b._valueMax(); break; case d.ui.keyCode.PAGE_UP: h = b._trimAlignValue(i + (b._valueMax() - b._valueMin()) / 5); break; case d.ui.keyCode.PAGE_DOWN: h = b._trimAlignValue(i - (b._valueMax() - b._valueMin()) / 5); break; case d.ui.keyCode.UP: case d.ui.keyCode.RIGHT: if (i === b._valueMax()) return; h = b._trimAlignValue(i + m); break; case d.ui.keyCode.DOWN: case d.ui.keyCode.LEFT: if (i === b._valueMin()) return; h = b._trimAlignValue(i -
m); break
                } b._slide(g, l, h); return k
            }
        }).keyup(function (g) { var k = d(this).data("index.ui-slider-handle"); if (b._keySliding) { b._keySliding = false; b._stop(g, k); b._change(g, k); d(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 (b) {
        var a = this.options, c, f, e, j, g; if (a.disabled) return false; this.elementSize = { width: this.element.outerWidth(), height: this.element.outerHeight() }; this.elementOffset = this.element.offset(); c = this._normValueFromMouse({ x: b.pageX, y: b.pageY }); f = this._valueMax() - this._valueMin() + 1; j = this; this.handles.each(function (k) { var l = Math.abs(c - j.values(k)); if (f > l) { f = l; e = d(this); g = k } }); if (a.range === true && this.values(1) === a.min) { g += 1; e = d(this.handles[g]) } if (this._start(b, g) === false) return false;
        this._mouseSliding = true; j._handleIndex = g; e.addClass("ui-state-active").focus(); a = e.offset(); this._clickOffset = !d(b.target).parents().andSelf().is(".ui-slider-handle") ? { left: 0, top: 0} : { left: b.pageX - a.left - e.width() / 2, top: b.pageY - a.top - e.height() / 2 - (parseInt(e.css("borderTopWidth"), 10) || 0) - (parseInt(e.css("borderBottomWidth"), 10) || 0) + (parseInt(e.css("marginTop"), 10) || 0) }; this.handles.hasClass("ui-state-hover") || this._slide(b, g, c); return this._animateOff = true
    }, _mouseStart: function () { return true }, _mouseDrag: function (b) {
        var a =
this._normValueFromMouse({ x: b.pageX, y: b.pageY }); this._slide(b, this._handleIndex, a); return false
    }, _mouseStop: function (b) { this.handles.removeClass("ui-state-active"); this._mouseSliding = false; this._stop(b, this._handleIndex); this._change(b, this._handleIndex); this._clickOffset = this._handleIndex = null; return this._animateOff = false }, _detectOrientation: function () { this.orientation = this.options.orientation === "vertical" ? "vertical" : "horizontal" }, _normValueFromMouse: function (b) {
        var a; if (this.orientation === "horizontal") {
            a =
this.elementSize.width; b = b.x - this.elementOffset.left - (this._clickOffset ? this._clickOffset.left : 0)
        } else { a = this.elementSize.height; b = b.y - this.elementOffset.top - (this._clickOffset ? this._clickOffset.top : 0) } a = b / a; if (a > 1) a = 1; if (a < 0) a = 0; if (this.orientation === "vertical") a = 1 - a; b = this._valueMax() - this._valueMin(); return this._trimAlignValue(this._valueMin() + a * b)
    }, _start: function (b, a) {
        var c = { handle: this.handles[a], value: this.value() }; if (this.options.values && this.options.values.length) {
            c.value = this.values(a);
            c.values = this.values()
        } return this._trigger("start", b, c)
    }, _slide: function (b, a, c) {
        var f; if (this.options.values && this.options.values.length) { f = this.values(a ? 0 : 1); if (this.options.values.length === 2 && this.options.range === true && (a === 0 && c > f || a === 1 && c < f)) c = f; if (c !== this.values(a)) { f = this.values(); f[a] = c; b = this._trigger("slide", b, { handle: this.handles[a], value: c, values: f }); this.values(a ? 0 : 1); b !== false && this.values(a, c, true) } } else if (c !== this.value()) {
            b = this._trigger("slide", b, { handle: this.handles[a], value: c });
            b !== false && this.value(c)
        }
    }, _stop: function (b, a) { var c = { handle: this.handles[a], value: this.value() }; if (this.options.values && this.options.values.length) { c.value = this.values(a); c.values = this.values() } this._trigger("stop", b, c) }, _change: function (b, a) { if (!this._keySliding && !this._mouseSliding) { var c = { handle: this.handles[a], value: this.value() }; if (this.options.values && this.options.values.length) { c.value = this.values(a); c.values = this.values() } this._trigger("change", b, c) } }, value: function (b) {
        if (arguments.length) {
            this.options.value =
this._trimAlignValue(b); this._refreshValue(); this._change(null, 0)
        } else return this._value()
    }, values: function (b, a) {
        var c, f, e; if (arguments.length > 1) { this.options.values[b] = this._trimAlignValue(a); this._refreshValue(); this._change(null, b) } else if (arguments.length) if (d.isArray(arguments[0])) { c = this.options.values; f = arguments[0]; for (e = 0; e < c.length; e += 1) { c[e] = this._trimAlignValue(f[e]); this._change(null, e) } this._refreshValue() } else return this.options.values && this.options.values.length ? this._values(b) :
this.value(); else return this._values()
    }, _setOption: function (b, a) {
        var c, f = 0; if (d.isArray(this.options.values)) f = this.options.values.length; d.Widget.prototype._setOption.apply(this, arguments); switch (b) {
            case "disabled": if (a) { 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 (c = 0; c < f; c += 1) this._change(null, c); this._animateOff = false; break
        }
    }, _value: function () { var b = this.options.value; return b = this._trimAlignValue(b) }, _values: function (b) {
        var a, c; if (arguments.length) {
            a = this.options.values[b];
            return a = this._trimAlignValue(a)
        } else { a = this.options.values.slice(); for (c = 0; c < a.length; c += 1) a[c] = this._trimAlignValue(a[c]); return a }
    }, _trimAlignValue: function (b) { if (b <= this._valueMin()) return this._valueMin(); if (b >= this._valueMax()) return this._valueMax(); var a = this.options.step > 0 ? this.options.step : 1, c = (b - this._valueMin()) % a; alignValue = b - c; if (Math.abs(c) * 2 >= a) alignValue += c > 0 ? a : -a; return parseFloat(alignValue.toFixed(5)) }, _valueMin: function () { return this.options.min }, _valueMax: function () { return this.options.max },
        _refreshValue: function () {
            var b = this.options.range, a = this.options, c = this, f = !this._animateOff ? a.animate : false, e, j = {}, g, k, l, i; if (this.options.values && this.options.values.length) this.handles.each(function (h) {
                e = (c.values(h) - c._valueMin()) / (c._valueMax() - c._valueMin()) * 100; j[c.orientation === "horizontal" ? "left" : "bottom"] = e + "%"; d(this).stop(1, 1)[f ? "animate" : "css"](j, a.animate); if (c.options.range === true) if (c.orientation === "horizontal") {
                    if (h === 0) c.range.stop(1, 1)[f ? "animate" : "css"]({ left: e + "%" }, a.animate);
                    if (h === 1) c.range[f ? "animate" : "css"]({ width: e - g + "%" }, { queue: false, duration: a.animate })
                } else { if (h === 0) c.range.stop(1, 1)[f ? "animate" : "css"]({ bottom: e + "%" }, a.animate); if (h === 1) c.range[f ? "animate" : "css"]({ height: e - g + "%" }, { queue: false, duration: a.animate }) } g = e
            }); else {
                k = this.value(); l = this._valueMin(); i = this._valueMax(); e = i !== l ? (k - l) / (i - l) * 100 : 0; j[c.orientation === "horizontal" ? "left" : "bottom"] = e + "%"; this.handle.stop(1, 1)[f ? "animate" : "css"](j, a.animate); if (b === "min" && this.orientation === "horizontal") this.range.stop(1,
1)[f ? "animate" : "css"]({ width: e + "%" }, a.animate); if (b === "max" && this.orientation === "horizontal") this.range[f ? "animate" : "css"]({ width: 100 - e + "%" }, { queue: false, duration: a.animate }); if (b === "min" && this.orientation === "vertical") this.range.stop(1, 1)[f ? "animate" : "css"]({ height: e + "%" }, a.animate); if (b === "max" && this.orientation === "vertical") this.range[f ? "animate" : "css"]({ height: 100 - e + "%" }, { queue: false, duration: a.animate })
            }
        }
    }); d.extend(d.ui.slider, { version: "1.8.13" })
})(jQuery);
; /*
 * jQuery UI Tabs 1.8.13
 *
 * 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/Tabs
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.widget.js
 */
(function (d, p) {
    function u() { return ++v } function w() { return ++x } var v = 0, x = 0; d.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 (b, e) {
        if (b == "selected") this.options.collapsible &&
e == this.options.selected || this.select(e); else { this.options[b] = e; this._tabify() }
    }, _tabId: function (b) { return b.title && b.title.replace(/\s/g, "_").replace(/[^\w\u00c0-\uFFFF-]/g, "") || this.options.idPrefix + u() }, _sanitizeSelector: function (b) { return b.replace(/:/g, "\\:") }, _cookie: function () { var b = this.cookie || (this.cookie = this.options.cookie.name || "ui-tabs-" + w()); return d.cookie.apply(null, [b].concat(d.makeArray(arguments))) }, _ui: function (b, e) { return { tab: b, panel: e, index: this.anchors.index(b)} }, _cleanup: function () {
        this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function () {
            var b =
d(this); b.html(b.data("label.tabs")).removeData("label.tabs")
        })
    }, _tabify: function (b) {
        function e(g, f) { g.css("display", ""); !d.support.opacity && f.opacity && g[0].style.removeAttribute("filter") } var a = this, c = this.options, h = /^#.+/; this.list = this.element.find("ol,ul").eq(0); this.lis = d(" > li:has(a[href])", this.list); this.anchors = this.lis.map(function () { return d("a", this)[0] }); this.panels = d([]); this.anchors.each(function (g, f) {
            var i = d(f).attr("href"), l = i.split("#")[0], q; if (l && (l === location.toString().split("#")[0] ||
(q = d("base")[0]) && l === q.href)) { i = f.hash; f.href = i } if (h.test(i)) a.panels = a.panels.add(a.element.find(a._sanitizeSelector(i))); else if (i && i !== "#") { d.data(f, "href.tabs", i); d.data(f, "load.tabs", i.replace(/#.*$/, "")); i = a._tabId(f); f.href = "#" + i; f = a.element.find("#" + i); if (!f.length) { f = d(c.panelTemplate).attr("id", i).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g - 1] || a.list); f.data("destroy.tabs", true) } a.panels = a.panels.add(f) } else c.disabled.push(g)
        }); if (b) {
            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 (c.selected === p) {
                location.hash && this.anchors.each(function (g, f) { if (f.hash == location.hash) { c.selected = g; return false } }); if (typeof c.selected !== "number" && c.cookie) c.selected = parseInt(a._cookie(), 10); if (typeof c.selected !== "number" && this.lis.filter(".ui-tabs-selected").length) c.selected =
this.lis.index(this.lis.filter(".ui-tabs-selected")); c.selected = c.selected || (this.lis.length ? 0 : -1)
            } else if (c.selected === null) c.selected = -1; c.selected = c.selected >= 0 && this.anchors[c.selected] || c.selected < 0 ? c.selected : 0; c.disabled = d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"), function (g) { return a.lis.index(g) }))).sort(); d.inArray(c.selected, c.disabled) != -1 && c.disabled.splice(d.inArray(c.selected, c.disabled), 1); this.panels.addClass("ui-tabs-hide"); this.lis.removeClass("ui-tabs-selected ui-state-active");
            if (c.selected >= 0 && this.anchors.length) { a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash)).removeClass("ui-tabs-hide"); this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active"); a.element.queue("tabs", function () { a._trigger("show", null, a._ui(a.anchors[c.selected], a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash))[0])) }); this.load(c.selected) } d(window).bind("unload", function () { a.lis.add(a.anchors).unbind(".tabs"); a.lis = a.anchors = a.panels = null })
        } else c.selected = this.lis.index(this.lis.filter(".ui-tabs-selected"));
        this.element[c.collapsible ? "addClass" : "removeClass"]("ui-tabs-collapsible"); c.cookie && this._cookie(c.selected, c.cookie); b = 0; for (var j; j = this.lis[b]; b++) d(j)[d.inArray(b, c.disabled) != -1 && !d(j).hasClass("ui-tabs-selected") ? "addClass" : "removeClass"]("ui-state-disabled"); c.cache === false && this.anchors.removeData("cache.tabs"); this.lis.add(this.anchors).unbind(".tabs"); if (c.event !== "mouseover") {
            var k = function (g, f) { f.is(":not(.ui-state-disabled)") && f.addClass("ui-state-" + g) }, n = function (g, f) {
                f.removeClass("ui-state-" +
g)
            }; this.lis.bind("mouseover.tabs", function () { k("hover", d(this)) }); this.lis.bind("mouseout.tabs", function () { n("hover", d(this)) }); this.anchors.bind("focus.tabs", function () { k("focus", d(this).closest("li")) }); this.anchors.bind("blur.tabs", function () { n("focus", d(this).closest("li")) })
        } var m, o; if (c.fx) if (d.isArray(c.fx)) { m = c.fx[0]; o = c.fx[1] } else m = o = c.fx; var r = o ? function (g, f) {
            d(g).closest("li").addClass("ui-tabs-selected ui-state-active"); f.hide().removeClass("ui-tabs-hide").animate(o, o.duration || "normal",
function () { e(f, o); a._trigger("show", null, a._ui(g, f[0])) })
        } : function (g, f) { d(g).closest("li").addClass("ui-tabs-selected ui-state-active"); f.removeClass("ui-tabs-hide"); a._trigger("show", null, a._ui(g, f[0])) }, s = m ? function (g, f) { f.animate(m, m.duration || "normal", function () { a.lis.removeClass("ui-tabs-selected ui-state-active"); f.addClass("ui-tabs-hide"); e(f, m); a.element.dequeue("tabs") }) } : function (g, f) { a.lis.removeClass("ui-tabs-selected ui-state-active"); f.addClass("ui-tabs-hide"); a.element.dequeue("tabs") };
        this.anchors.bind(c.event + ".tabs", function () {
            var g = this, f = d(g).closest("li"), i = a.panels.filter(":not(.ui-tabs-hide)"), l = a.element.find(a._sanitizeSelector(g.hash)); if (f.hasClass("ui-tabs-selected") && !c.collapsible || f.hasClass("ui-state-disabled") || f.hasClass("ui-state-processing") || a.panels.filter(":animated").length || a._trigger("select", null, a._ui(this, l[0])) === false) { this.blur(); return false } c.selected = a.anchors.index(this); a.abort(); if (c.collapsible) if (f.hasClass("ui-tabs-selected")) {
                c.selected =
-1; c.cookie && a._cookie(c.selected, c.cookie); a.element.queue("tabs", function () { s(g, i) }).dequeue("tabs"); this.blur(); return false
            } else if (!i.length) { c.cookie && a._cookie(c.selected, c.cookie); a.element.queue("tabs", function () { r(g, l) }); a.load(a.anchors.index(this)); this.blur(); return false } c.cookie && a._cookie(c.selected, c.cookie); if (l.length) { i.length && a.element.queue("tabs", function () { s(g, i) }); a.element.queue("tabs", function () { r(g, l) }); a.load(a.anchors.index(this)) } else throw "jQuery UI Tabs: Mismatching fragment identifier.";
            d.browser.msie && this.blur()
        }); this.anchors.bind("click.tabs", function () { return false })
    }, _getIndex: function (b) { if (typeof b == "string") b = this.anchors.index(this.anchors.filter("[href$=" + b + "]")); return b }, destroy: function () {
        var b = 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 e =
d.data(this, "href.tabs"); if (e) this.href = e; var a = d(this).unbind(".tabs"); d.each(["href", "load", "cache"], function (c, h) { a.removeData(h + ".tabs") })
        }); this.lis.unbind(".tabs").add(this.panels).each(function () { d.data(this, "destroy.tabs") ? d(this).remove() : d(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") }); b.cookie && this._cookie(null, b.cookie); return this
    }, add: function (b,
e, a) {
        if (a === p) a = this.anchors.length; var c = this, h = this.options; e = d(h.tabTemplate.replace(/#\{href\}/g, b).replace(/#\{label\}/g, e)); b = !b.indexOf("#") ? b.replace("#", "") : this._tabId(d("a", e)[0]); e.addClass("ui-state-default ui-corner-top").data("destroy.tabs", true); var j = c.element.find("#" + b); j.length || (j = d(h.panelTemplate).attr("id", b).data("destroy.tabs", true)); j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"); if (a >= this.lis.length) { e.appendTo(this.list); j.appendTo(this.list[0].parentNode) } else {
            e.insertBefore(this.lis[a]);
            j.insertBefore(this.panels[a])
        } h.disabled = d.map(h.disabled, function (k) { return k >= a ? ++k : k }); this._tabify(); if (this.anchors.length == 1) { h.selected = 0; e.addClass("ui-tabs-selected ui-state-active"); j.removeClass("ui-tabs-hide"); this.element.queue("tabs", function () { c._trigger("show", null, c._ui(c.anchors[0], c.panels[0])) }); this.load(0) } this._trigger("add", null, this._ui(this.anchors[a], this.panels[a])); return this
    }, remove: function (b) {
        b = this._getIndex(b); var e = this.options, a = this.lis.eq(b).remove(), c = this.panels.eq(b).remove();
        if (a.hasClass("ui-tabs-selected") && this.anchors.length > 1) this.select(b + (b + 1 < this.anchors.length ? 1 : -1)); e.disabled = d.map(d.grep(e.disabled, function (h) { return h != b }), function (h) { return h >= b ? --h : h }); this._tabify(); this._trigger("remove", null, this._ui(a.find("a")[0], c[0])); return this
    }, enable: function (b) {
        b = this._getIndex(b); var e = this.options; if (d.inArray(b, e.disabled) != -1) {
            this.lis.eq(b).removeClass("ui-state-disabled"); e.disabled = d.grep(e.disabled, function (a) { return a != b }); this._trigger("enable", null,
this._ui(this.anchors[b], this.panels[b])); return this
        }
    }, disable: function (b) { b = this._getIndex(b); var e = this.options; if (b != e.selected) { this.lis.eq(b).addClass("ui-state-disabled"); e.disabled.push(b); e.disabled.sort(); this._trigger("disable", null, this._ui(this.anchors[b], this.panels[b])) } return this }, select: function (b) { b = this._getIndex(b); if (b == -1) if (this.options.collapsible && this.options.selected != -1) b = this.options.selected; else return this; this.anchors.eq(b).trigger(this.options.event + ".tabs"); return this },
        load: function (b) {
            b = this._getIndex(b); var e = this, a = this.options, c = this.anchors.eq(b)[0], h = d.data(c, "load.tabs"); this.abort(); if (!h || this.element.queue("tabs").length !== 0 && d.data(c, "cache.tabs")) this.element.dequeue("tabs"); else {
                this.lis.eq(b).addClass("ui-state-processing"); if (a.spinner) { var j = d("span", c); j.data("label.tabs", j.html()).html(a.spinner) } this.xhr = d.ajax(d.extend({}, a.ajaxOptions, { url: h, success: function (k, n) {
                    e.element.find(e._sanitizeSelector(c.hash)).html(k); e._cleanup(); a.cache && d.data(c,
"cache.tabs", true); e._trigger("load", null, e._ui(e.anchors[b], e.panels[b])); try { a.ajaxOptions.success(k, n) } catch (m) { }
                }, error: function (k, n) { e._cleanup(); e._trigger("load", null, e._ui(e.anchors[b], e.panels[b])); try { a.ajaxOptions.error(k, n, b, c) } catch (m) { } }
                })); e.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 (b, e) { this.anchors.eq(b).removeData("cache.tabs").data("load.tabs", e); return this }, length: function () { return this.anchors.length }
    }); d.extend(d.ui.tabs, { version: "1.8.13" }); d.extend(d.ui.tabs.prototype, { rotation: null, rotate: function (b, e) {
        var a = this, c = this.options, h = a._rotate || (a._rotate = function (j) { clearTimeout(a.rotation); a.rotation = setTimeout(function () { var k = c.selected; a.select(++k < a.anchors.length ? k : 0) }, b); j && j.stopPropagation() }); e = a._unrotate || (a._unrotate = !e ? function (j) {
            j.clientX &&
a.rotate(null)
        } : function () { t = c.selected; h() }); if (b) { this.element.bind("tabsshow", h); this.anchors.bind(c.event + ".tabs", e); h() } else { clearTimeout(a.rotation); this.element.unbind("tabsshow", h); this.anchors.unbind(c.event + ".tabs", e); delete this._rotate; delete this._unrotate } return this
    }
    })
})(jQuery);
; /*
 * jQuery UI Datepicker 1.8.13
 *
 * 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/Datepicker
 *
 * Depends:
 *	jquery.ui.core.js
 */
(function (d, B) {
    function M() {
        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
}; d.extend(this._defaults, this.regional[""]); this.dpDiv = N(d('<div id="' + this._mainDivId + '" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))
    } function N(a) {
        return a.delegate("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a",
"mouseout", function () { d(this).removeClass("ui-state-hover"); this.className.indexOf("ui-datepicker-prev") != -1 && d(this).removeClass("ui-datepicker-prev-hover"); this.className.indexOf("ui-datepicker-next") != -1 && d(this).removeClass("ui-datepicker-next-hover") }).delegate("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a", "mouseover", function () {
    if (!d.datepicker._isDisabledDatepicker(J.inline ? a.parent()[0] : J.input[0])) {
        d(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");
        d(this).addClass("ui-state-hover"); this.className.indexOf("ui-datepicker-prev") != -1 && d(this).addClass("ui-datepicker-prev-hover"); this.className.indexOf("ui-datepicker-next") != -1 && d(this).addClass("ui-datepicker-next-hover")
    }
})
    } function H(a, b) { d.extend(a, b); for (var c in b) if (b[c] == null || b[c] == B) a[c] = b[c]; return a } d.extend(d.ui, { datepicker: { version: "1.8.13"} }); var z = (new Date).getTime(), J; d.extend(M.prototype, { markerClassName: "hasDatepicker", log: function () { this.debug && console.log.apply("", arguments) },
        _widgetDatepicker: function () { return this.dpDiv }, setDefaults: function (a) { H(this._defaults, a || {}); return this }, _attachDatepicker: function (a, b) { var c = null; for (var e in this._defaults) { var f = a.getAttribute("date:" + e); if (f) { c = c || {}; try { c[e] = eval(f) } catch (h) { c[e] = f } } } e = a.nodeName.toLowerCase(); f = e == "div" || e == "span"; if (!a.id) { this.uuid += 1; a.id = "dp" + this.uuid } var i = this._newInst(d(a), f); i.settings = d.extend({}, b || {}, c || {}); if (e == "input") this._connectDatepicker(a, i); else f && this._inlineDatepicker(a, i) }, _newInst: function (a,
b) { 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: b, dpDiv: !b ? this.dpDiv : N(d('<div class="' + this._inlineClass + ' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))} }, _connectDatepicker: function (a, b) {
    var c = d(a); b.append = d([]); b.trigger = d([]); if (!c.hasClass(this.markerClassName)) {
        this._attachments(c, b); c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",
function (e, f, h) { b.settings[f] = h }).bind("getData.datepicker", function (e, f) { return this._get(b, f) }); this._autoSize(b); d.data(a, "datepicker", b)
    }
}, _attachments: function (a, b) {
    var c = this._get(b, "appendText"), e = this._get(b, "isRTL"); b.append && b.append.remove(); if (c) { b.append = d('<span class="' + this._appendClass + '">' + c + "</span>"); a[e ? "before" : "after"](b.append) } a.unbind("focus", this._showDatepicker); b.trigger && b.trigger.remove(); c = this._get(b, "showOn"); if (c == "focus" || c == "both") a.focus(this._showDatepicker);
    if (c == "button" || c == "both") {
        c = this._get(b, "buttonText"); var f = this._get(b, "buttonImage"); b.trigger = d(this._get(b, "buttonImageOnly") ? d("<img/>").addClass(this._triggerClass).attr({ src: f, alt: c, title: c }) : d('<button type="button"></button>').addClass(this._triggerClass).html(f == "" ? c : d("<img/>").attr({ src: f, alt: c, title: c }))); a[e ? "before" : "after"](b.trigger); b.trigger.click(function () {
            d.datepicker._datepickerShowing && d.datepicker._lastInput == a[0] ? d.datepicker._hideDatepicker() : d.datepicker._showDatepicker(a[0]);
            return false
        })
    }
}, _autoSize: function (a) { if (this._get(a, "autoSize") && !a.inline) { var b = new Date(2009, 11, 20), c = this._get(a, "dateFormat"); if (c.match(/[DM]/)) { var e = function (f) { for (var h = 0, i = 0, g = 0; g < f.length; g++) if (f[g].length > h) { h = f[g].length; i = g } return i }; b.setMonth(e(this._get(a, c.match(/MM/) ? "monthNames" : "monthNamesShort"))); b.setDate(e(this._get(a, c.match(/DD/) ? "dayNames" : "dayNamesShort")) + 20 - b.getDay()) } a.input.attr("size", this._formatDate(a, b).length) } }, _inlineDatepicker: function (a, b) {
    var c = d(a);
    if (!c.hasClass(this.markerClassName)) { c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker", function (e, f, h) { b.settings[f] = h }).bind("getData.datepicker", function (e, f) { return this._get(b, f) }); d.data(a, "datepicker", b); this._setDate(b, this._getDefaultDate(b), true); this._updateDatepicker(b); this._updateAlternate(b); b.dpDiv.show() }
}, _dialogDatepicker: function (a, b, c, e, f) {
    a = this._dialogInst; if (!a) {
        this.uuid += 1; this._dialogInput = d('<input type="text" id="' + ("dp" + this.uuid) + '" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>');
        this._dialogInput.keydown(this._doKeyDown); d("body").append(this._dialogInput); a = this._dialogInst = this._newInst(this._dialogInput, false); a.settings = {}; d.data(this._dialogInput[0], "datepicker", a)
    } H(a.settings, e || {}); b = b && b.constructor == Date ? this._formatDate(a, b) : b; this._dialogInput.val(b); this._pos = f ? f.length ? f : [f.pageX, f.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 = c; this._inDialog = true; this.dpDiv.addClass(this._dialogClass); this._showDatepicker(this._dialogInput[0]); d.blockUI && d.blockUI(this.dpDiv); d.data(this._dialogInput[0], "datepicker", a); return this
}, _destroyDatepicker: function (a) {
    var b = d(a), c = d.data(a, "datepicker"); if (b.hasClass(this.markerClassName)) {
        var e = a.nodeName.toLowerCase(); d.removeData(a,
"datepicker"); if (e == "input") { c.append.remove(); c.trigger.remove(); b.removeClass(this.markerClassName).unbind("focus", this._showDatepicker).unbind("keydown", this._doKeyDown).unbind("keypress", this._doKeyPress).unbind("keyup", this._doKeyUp) } else if (e == "div" || e == "span") b.removeClass(this.markerClassName).empty()
    }
}, _enableDatepicker: function (a) {
    var b = d(a), c = d.data(a, "datepicker"); if (b.hasClass(this.markerClassName)) {
        var e = a.nodeName.toLowerCase(); if (e == "input") {
            a.disabled = false; c.trigger.filter("button").each(function () {
                this.disabled =
false
            }).end().filter("img").css({ opacity: "1.0", cursor: "" })
        } else if (e == "div" || e == "span") { b = b.children("." + this._inlineClass); b.children().removeClass("ui-state-disabled"); b.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled") } this._disabledInputs = d.map(this._disabledInputs, function (f) { return f == a ? null : f })
    }
}, _disableDatepicker: function (a) {
    var b = d(a), c = d.data(a, "datepicker"); if (b.hasClass(this.markerClassName)) {
        var e = a.nodeName.toLowerCase(); if (e == "input") {
            a.disabled =
true; c.trigger.filter("button").each(function () { this.disabled = true }).end().filter("img").css({ opacity: "0.5", cursor: "default" })
        } else if (e == "div" || e == "span") { b = b.children("." + this._inlineClass); b.children().addClass("ui-state-disabled"); b.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled", "disabled") } this._disabledInputs = d.map(this._disabledInputs, function (f) { return f == a ? null : f }); this._disabledInputs[this._disabledInputs.length] = a
    }
}, _isDisabledDatepicker: function (a) {
    if (!a) return false;
    for (var b = 0; b < this._disabledInputs.length; b++) if (this._disabledInputs[b] == a) return true; return false
}, _getInst: function (a) { try { return d.data(a, "datepicker") } catch (b) { throw "Missing instance data for this datepicker"; } }, _optionDatepicker: function (a, b, c) {
    var e = this._getInst(a); if (arguments.length == 2 && typeof b == "string") return b == "defaults" ? d.extend({}, d.datepicker._defaults) : e ? b == "all" ? d.extend({}, e.settings) : this._get(e, b) : null; var f = b || {}; if (typeof b == "string") { f = {}; f[b] = c } if (e) {
        this._curInst == e &&
this._hideDatepicker(); var h = this._getDateDatepicker(a, true), i = this._getMinMaxDate(e, "min"), g = this._getMinMaxDate(e, "max"); H(e.settings, f); if (i !== null && f.dateFormat !== B && f.minDate === B) e.settings.minDate = this._formatDate(e, i); if (g !== null && f.dateFormat !== B && f.maxDate === B) e.settings.maxDate = this._formatDate(e, g); this._attachments(d(a), e); this._autoSize(e); this._setDate(e, h); this._updateAlternate(e); this._updateDatepicker(e)
    }
}, _changeDatepicker: function (a, b, c) { this._optionDatepicker(a, b, c) }, _refreshDatepicker: function (a) {
    (a =
this._getInst(a)) && this._updateDatepicker(a)
}, _setDateDatepicker: function (a, b) { if (a = this._getInst(a)) { this._setDate(a, b); this._updateDatepicker(a); this._updateAlternate(a) } }, _getDateDatepicker: function (a, b) { (a = this._getInst(a)) && !a.inline && this._setDateFromField(a, b); return a ? this._getDate(a) : null }, _doKeyDown: function (a) {
    var b = d.datepicker._getInst(a.target), c = true, e = b.dpDiv.is(".ui-datepicker-rtl"); b._keyEvent = true; if (d.datepicker._datepickerShowing) switch (a.keyCode) {
        case 9: d.datepicker._hideDatepicker();
            c = false; break; case 13: c = d("td." + d.datepicker._dayOverClass + ":not(." + d.datepicker._currentClass + ")", b.dpDiv); c[0] ? d.datepicker._selectDay(a.target, b.selectedMonth, b.selectedYear, c[0]) : d.datepicker._hideDatepicker(); return false; case 27: d.datepicker._hideDatepicker(); break; case 33: d.datepicker._adjustDate(a.target, a.ctrlKey ? -d.datepicker._get(b, "stepBigMonths") : -d.datepicker._get(b, "stepMonths"), "M"); break; case 34: d.datepicker._adjustDate(a.target, a.ctrlKey ? +d.datepicker._get(b, "stepBigMonths") : +d.datepicker._get(b,
"stepMonths"), "M"); break; case 35: if (a.ctrlKey || a.metaKey) d.datepicker._clearDate(a.target); c = a.ctrlKey || a.metaKey; break; case 36: if (a.ctrlKey || a.metaKey) d.datepicker._gotoToday(a.target); c = a.ctrlKey || a.metaKey; break; case 37: if (a.ctrlKey || a.metaKey) d.datepicker._adjustDate(a.target, e ? +1 : -1, "D"); c = a.ctrlKey || a.metaKey; if (a.originalEvent.altKey) d.datepicker._adjustDate(a.target, a.ctrlKey ? -d.datepicker._get(b, "stepBigMonths") : -d.datepicker._get(b, "stepMonths"), "M"); break; case 38: if (a.ctrlKey || a.metaKey) d.datepicker._adjustDate(a.target,
-7, "D"); c = a.ctrlKey || a.metaKey; break; case 39: if (a.ctrlKey || a.metaKey) d.datepicker._adjustDate(a.target, e ? -1 : +1, "D"); c = a.ctrlKey || a.metaKey; if (a.originalEvent.altKey) d.datepicker._adjustDate(a.target, a.ctrlKey ? +d.datepicker._get(b, "stepBigMonths") : +d.datepicker._get(b, "stepMonths"), "M"); break; case 40: if (a.ctrlKey || a.metaKey) d.datepicker._adjustDate(a.target, +7, "D"); c = a.ctrlKey || a.metaKey; break; default: c = false
    } else if (a.keyCode == 36 && a.ctrlKey) d.datepicker._showDatepicker(this); else c = false; if (c) {
        a.preventDefault();
        a.stopPropagation()
    }
}, _doKeyPress: function (a) { var b = d.datepicker._getInst(a.target); if (d.datepicker._get(b, "constrainInput")) { b = d.datepicker._possibleChars(d.datepicker._get(b, "dateFormat")); var c = String.fromCharCode(a.charCode == B ? a.keyCode : a.charCode); return a.ctrlKey || a.metaKey || c < " " || !b || b.indexOf(c) > -1 } }, _doKeyUp: function (a) {
    a = d.datepicker._getInst(a.target); if (a.input.val() != a.lastVal) try {
        if (d.datepicker.parseDate(d.datepicker._get(a, "dateFormat"), a.input ? a.input.val() : null, d.datepicker._getFormatConfig(a))) {
            d.datepicker._setDateFromField(a);
            d.datepicker._updateAlternate(a); d.datepicker._updateDatepicker(a)
        }
    } catch (b) { d.datepicker.log(b) } return true
}, _showDatepicker: function (a) {
    a = a.target || a; if (a.nodeName.toLowerCase() != "input") a = d("input", a.parentNode)[0]; if (!(d.datepicker._isDisabledDatepicker(a) || d.datepicker._lastInput == a)) {
        var b = d.datepicker._getInst(a); d.datepicker._curInst && d.datepicker._curInst != b && d.datepicker._curInst.dpDiv.stop(true, true); var c = d.datepicker._get(b, "beforeShow"); H(b.settings, c ? c.apply(a, [a, b]) : {}); b.lastVal =
null; d.datepicker._lastInput = a; d.datepicker._setDateFromField(b); if (d.datepicker._inDialog) a.value = ""; if (!d.datepicker._pos) { d.datepicker._pos = d.datepicker._findPos(a); d.datepicker._pos[1] += a.offsetHeight } var e = false; d(a).parents().each(function () { e |= d(this).css("position") == "fixed"; return !e }); if (e && d.browser.opera) { d.datepicker._pos[0] -= document.documentElement.scrollLeft; d.datepicker._pos[1] -= document.documentElement.scrollTop } c = { left: d.datepicker._pos[0], top: d.datepicker._pos[1] }; d.datepicker._pos =
null; b.dpDiv.empty(); b.dpDiv.css({ position: "absolute", display: "block", top: "-1000px" }); d.datepicker._updateDatepicker(b); c = d.datepicker._checkOffset(b, c, e); b.dpDiv.css({ position: d.datepicker._inDialog && d.blockUI ? "static" : e ? "fixed" : "absolute", display: "none", left: c.left + "px", top: c.top + "px" }); if (!b.inline) {
            c = d.datepicker._get(b, "showAnim"); var f = d.datepicker._get(b, "duration"), h = function () {
                var i = b.dpDiv.find("iframe.ui-datepicker-cover"); if (i.length) {
                    var g = d.datepicker._getBorders(b.dpDiv); i.css({ left: -g[0],
                        top: -g[1], width: b.dpDiv.outerWidth(), height: b.dpDiv.outerHeight()
                    })
                }
            }; b.dpDiv.zIndex(d(a).zIndex() + 1); d.datepicker._datepickerShowing = true; d.effects && d.effects[c] ? b.dpDiv.show(c, d.datepicker._get(b, "showOptions"), f, h) : b.dpDiv[c || "show"](c ? f : null, h); if (!c || !f) h(); b.input.is(":visible") && !b.input.is(":disabled") && b.input.focus(); d.datepicker._curInst = b
        }
    }
}, _updateDatepicker: function (a) {
    var b = d.datepicker._getBorders(a.dpDiv); J = a; a.dpDiv.empty().append(this._generateHTML(a)); var c = a.dpDiv.find("iframe.ui-datepicker-cover");
    c.length && c.css({ left: -b[0], top: -b[1], width: a.dpDiv.outerWidth(), height: a.dpDiv.outerHeight() }); a.dpDiv.find("." + this._dayOverClass + " a").mouseover(); b = this._getNumberOfMonths(a); c = b[1]; a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""); c > 1 && a.dpDiv.addClass("ui-datepicker-multi-" + c).css("width", 17 * c + "em"); a.dpDiv[(b[0] != 1 || b[1] != 1 ? "add" : "remove") + "Class"]("ui-datepicker-multi"); a.dpDiv[(this._get(a, "isRTL") ? "add" : "remove") + "Class"]("ui-datepicker-rtl");
    a == d.datepicker._curInst && d.datepicker._datepickerShowing && a.input && a.input.is(":visible") && !a.input.is(":disabled") && a.input[0] != document.activeElement && a.input.focus(); if (a.yearshtml) { var e = a.yearshtml; setTimeout(function () { e === a.yearshtml && a.yearshtml && a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml); e = a.yearshtml = null }, 0) }
}, _getBorders: function (a) { var b = function (c) { return { thin: 1, medium: 2, thick: 3}[c] || c }; return [parseFloat(b(a.css("border-left-width"))), parseFloat(b(a.css("border-top-width")))] },
        _checkOffset: function (a, b, c) {
            var e = a.dpDiv.outerWidth(), f = a.dpDiv.outerHeight(), h = a.input ? a.input.outerWidth() : 0, i = a.input ? a.input.outerHeight() : 0, g = document.documentElement.clientWidth + d(document).scrollLeft(), j = document.documentElement.clientHeight + d(document).scrollTop(); b.left -= this._get(a, "isRTL") ? e - h : 0; b.left -= c && b.left == a.input.offset().left ? d(document).scrollLeft() : 0; b.top -= c && b.top == a.input.offset().top + i ? d(document).scrollTop() : 0; b.left -= Math.min(b.left, b.left + e > g && g > e ? Math.abs(b.left + e -
g) : 0); b.top -= Math.min(b.top, b.top + f > j && j > f ? Math.abs(f + i) : 0); return b
        }, _findPos: function (a) { for (var b = this._get(this._getInst(a), "isRTL"); a && (a.type == "hidden" || a.nodeType != 1 || d.expr.filters.hidden(a)); ) a = a[b ? "previousSibling" : "nextSibling"]; a = d(a).offset(); return [a.left, a.top] }, _hideDatepicker: function (a) {
            var b = this._curInst; if (!(!b || a && b != d.data(a, "datepicker"))) if (this._datepickerShowing) {
                a = this._get(b, "showAnim"); var c = this._get(b, "duration"), e = function () {
                    d.datepicker._tidyDialog(b); this._curInst =
null
                }; d.effects && d.effects[a] ? b.dpDiv.hide(a, d.datepicker._get(b, "showOptions"), c, e) : b.dpDiv[a == "slideDown" ? "slideUp" : a == "fadeIn" ? "fadeOut" : "hide"](a ? c : null, e); a || e(); if (a = this._get(b, "onClose")) a.apply(b.input ? b.input[0] : null, [b.input ? b.input.val() : "", b]); this._datepickerShowing = false; this._lastInput = null; if (this._inDialog) { this._dialogInput.css({ position: "absolute", left: "0", top: "-100px" }); if (d.blockUI) { d.unblockUI(); d("body").append(this.dpDiv) } } this._inDialog = false
            }
        }, _tidyDialog: function (a) { a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar") },
        _checkExternalClick: function (a) { if (d.datepicker._curInst) { a = d(a.target); a[0].id != d.datepicker._mainDivId && a.parents("#" + d.datepicker._mainDivId).length == 0 && !a.hasClass(d.datepicker.markerClassName) && !a.hasClass(d.datepicker._triggerClass) && d.datepicker._datepickerShowing && !(d.datepicker._inDialog && d.blockUI) && d.datepicker._hideDatepicker() } }, _adjustDate: function (a, b, c) {
            a = d(a); var e = this._getInst(a[0]); if (!this._isDisabledDatepicker(a[0])) {
                this._adjustInstDate(e, b + (c == "M" ? this._get(e, "showCurrentAtPos") :
0), c); this._updateDatepicker(e)
            }
        }, _gotoToday: function (a) { a = d(a); var b = this._getInst(a[0]); if (this._get(b, "gotoCurrent") && b.currentDay) { b.selectedDay = b.currentDay; b.drawMonth = b.selectedMonth = b.currentMonth; b.drawYear = b.selectedYear = b.currentYear } else { var c = new Date; b.selectedDay = c.getDate(); b.drawMonth = b.selectedMonth = c.getMonth(); b.drawYear = b.selectedYear = c.getFullYear() } this._notifyChange(b); this._adjustDate(a) }, _selectMonthYear: function (a, b, c) {
            a = d(a); var e = this._getInst(a[0]); e._selectingMonthYear =
false; e["selected" + (c == "M" ? "Month" : "Year")] = e["draw" + (c == "M" ? "Month" : "Year")] = parseInt(b.options[b.selectedIndex].value, 10); this._notifyChange(e); this._adjustDate(a)
        }, _clickMonthYear: function (a) { var b = this._getInst(d(a)[0]); b.input && b._selectingMonthYear && setTimeout(function () { b.input.focus() }, 0); b._selectingMonthYear = !b._selectingMonthYear }, _selectDay: function (a, b, c, e) {
            var f = d(a); if (!(d(e).hasClass(this._unselectableClass) || this._isDisabledDatepicker(f[0]))) {
                f = this._getInst(f[0]); f.selectedDay = f.currentDay =
d("a", e).html(); f.selectedMonth = f.currentMonth = b; f.selectedYear = f.currentYear = c; this._selectDate(a, this._formatDate(f, f.currentDay, f.currentMonth, f.currentYear))
            }
        }, _clearDate: function (a) { a = d(a); this._getInst(a[0]); this._selectDate(a, "") }, _selectDate: function (a, b) {
            a = this._getInst(d(a)[0]); b = b != null ? b : this._formatDate(a); a.input && a.input.val(b); this._updateAlternate(a); var c = this._get(a, "onSelect"); if (c) c.apply(a.input ? a.input[0] : null, [b, 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 b = this._get(a, "altField"); if (b) { var c = this._get(a, "altFormat") || this._get(a, "dateFormat"), e = this._getDate(a), f = this.formatDate(c, e, this._getFormatConfig(a)); d(b).each(function () { d(this).val(f) }) } }, 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 b =
a.getTime(); a.setMonth(0); a.setDate(1); return Math.floor(Math.round((b - a) / 864E5) / 7) + 1
        }, parseDate: function (a, b, c) {
            if (a == null || b == null) throw "Invalid arguments"; b = typeof b == "object" ? b.toString() : b + ""; if (b == "") return null; var e = (c ? c.shortYearCutoff : null) || this._defaults.shortYearCutoff; e = typeof e != "string" ? e : (new Date).getFullYear() % 100 + parseInt(e, 10); for (var f = (c ? c.dayNamesShort : null) || this._defaults.dayNamesShort, h = (c ? c.dayNames : null) || this._defaults.dayNames, i = (c ? c.monthNamesShort : null) || this._defaults.monthNamesShort,
g = (c ? c.monthNames : null) || this._defaults.monthNames, j = c = -1, l = -1, u = -1, k = false, o = function (p) { (p = A + 1 < a.length && a.charAt(A + 1) == p) && A++; return p }, m = function (p) { var C = o(p); p = new RegExp("^\\d{1," + (p == "@" ? 14 : p == "!" ? 20 : p == "y" && C ? 4 : p == "o" ? 3 : 2) + "}"); p = b.substring(s).match(p); if (!p) throw "Missing number at position " + s; s += p[0].length; return parseInt(p[0], 10) }, n = function (p, C, K) {
    p = d.map(o(p) ? K : C, function (w, x) { return [[x, w]] }).sort(function (w, x) { return -(w[1].length - x[1].length) }); var E = -1; d.each(p, function (w, x) {
        w =
x[1]; if (b.substr(s, w.length).toLowerCase() == w.toLowerCase()) { E = x[0]; s += w.length; return false }
    }); if (E != -1) return E + 1; else throw "Unknown name at position " + s;
}, r = function () { if (b.charAt(s) != a.charAt(A)) throw "Unexpected literal at position " + s; s++ }, s = 0, A = 0; A < a.length; A++) if (k) if (a.charAt(A) == "'" && !o("'")) k = false; else r(); else switch (a.charAt(A)) {
                case "d": l = m("d"); break; case "D": n("D", f, h); break; case "o": u = m("o"); break; case "m": j = m("m"); break; case "M": j = n("M", i, g); break; case "y": c = m("y"); break; case "@": var v =
new Date(m("@")); c = v.getFullYear(); j = v.getMonth() + 1; l = v.getDate(); break; case "!": v = new Date((m("!") - this._ticksTo1970) / 1E4); c = v.getFullYear(); j = v.getMonth() + 1; l = v.getDate(); break; case "'": if (o("'")) r(); else k = true; break; default: r()
            } if (c == -1) c = (new Date).getFullYear(); else if (c < 100) c += (new Date).getFullYear() - (new Date).getFullYear() % 100 + (c <= e ? 0 : -100); if (u > -1) { j = 1; l = u; do { e = this._getDaysInMonth(c, j - 1); if (l <= e) break; j++; l -= e } while (1) } v = this._daylightSavingAdjust(new Date(c, j - 1, l)); if (v.getFullYear() !=
c || v.getMonth() + 1 != j || v.getDate() != l) throw "Invalid date"; return v
        }, 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, b, c) {
            if (!b) return ""; var e = (c ? c.dayNamesShort : null) || this._defaults.dayNamesShort, f = (c ? c.dayNames : null) || this._defaults.dayNames,
h = (c ? c.monthNamesShort : null) || this._defaults.monthNamesShort; c = (c ? c.monthNames : null) || this._defaults.monthNames; var i = function (o) { (o = k + 1 < a.length && a.charAt(k + 1) == o) && k++; return o }, g = function (o, m, n) { m = "" + m; if (i(o)) for (; m.length < n; ) m = "0" + m; return m }, j = function (o, m, n, r) { return i(o) ? r[m] : n[m] }, l = "", u = false; if (b) for (var k = 0; k < a.length; k++) if (u) if (a.charAt(k) == "'" && !i("'")) u = false; else l += a.charAt(k); else switch (a.charAt(k)) {
                case "d": l += g("d", b.getDate(), 2); break; case "D": l += j("D", b.getDay(), e, f); break;
                case "o": l += g("o", (b.getTime() - (new Date(b.getFullYear(), 0, 0)).getTime()) / 864E5, 3); break; case "m": l += g("m", b.getMonth() + 1, 2); break; case "M": l += j("M", b.getMonth(), h, c); break; case "y": l += i("y") ? b.getFullYear() : (b.getYear() % 100 < 10 ? "0" : "") + b.getYear() % 100; break; case "@": l += b.getTime(); break; case "!": l += b.getTime() * 1E4 + this._ticksTo1970; break; case "'": if (i("'")) l += "'"; else u = true; break; default: l += a.charAt(k)
            } return l
        }, _possibleChars: function (a) {
            for (var b = "", c = false, e = function (h) {
                (h = f + 1 < a.length && a.charAt(f +
1) == h) && f++; return h
            }, f = 0; f < a.length; f++) if (c) if (a.charAt(f) == "'" && !e("'")) c = false; else b += a.charAt(f); else switch (a.charAt(f)) { case "d": case "m": case "y": case "@": b += "0123456789"; break; case "D": case "M": return null; case "'": if (e("'")) b += "'"; else c = true; break; default: b += a.charAt(f) } return b
        }, _get: function (a, b) { return a.settings[b] !== B ? a.settings[b] : this._defaults[b] }, _setDateFromField: function (a, b) {
            if (a.input.val() != a.lastVal) {
                var c = this._get(a, "dateFormat"), e = a.lastVal = a.input ? a.input.val() : null,
f, h; f = h = this._getDefaultDate(a); var i = this._getFormatConfig(a); try { f = this.parseDate(c, e, i) || h } catch (g) { this.log(g); e = b ? "" : e } a.selectedDay = f.getDate(); a.drawMonth = a.selectedMonth = f.getMonth(); a.drawYear = a.selectedYear = f.getFullYear(); a.currentDay = e ? f.getDate() : 0; a.currentMonth = e ? f.getMonth() : 0; a.currentYear = e ? f.getFullYear() : 0; this._adjustInstDate(a)
            }
        }, _getDefaultDate: function (a) { return this._restrictMinMax(a, this._determineDate(a, this._get(a, "defaultDate"), new Date)) }, _determineDate: function (a, b,
c) {
            var e = function (h) { var i = new Date; i.setDate(i.getDate() + h); return i }, f = function (h) {
                try { return d.datepicker.parseDate(d.datepicker._get(a, "dateFormat"), h, d.datepicker._getFormatConfig(a)) } catch (i) { } var g = (h.toLowerCase().match(/^c/) ? d.datepicker._getDate(a) : null) || new Date, j = g.getFullYear(), l = g.getMonth(); g = g.getDate(); for (var u = /([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g, k = u.exec(h); k; ) {
                    switch (k[2] || "d") {
                        case "d": case "D": g += parseInt(k[1], 10); break; case "w": case "W": g += parseInt(k[1], 10) * 7; break; case "m": case "M": l +=
parseInt(k[1], 10); g = Math.min(g, d.datepicker._getDaysInMonth(j, l)); break; case "y": case "Y": j += parseInt(k[1], 10); g = Math.min(g, d.datepicker._getDaysInMonth(j, l)); break
                    } k = u.exec(h)
                } return new Date(j, l, g)
            }; if (b = (b = b == null || b === "" ? c : typeof b == "string" ? f(b) : typeof b == "number" ? isNaN(b) ? c : e(b) : new Date(b.getTime())) && b.toString() == "Invalid Date" ? c : b) { b.setHours(0); b.setMinutes(0); b.setSeconds(0); b.setMilliseconds(0) } return this._daylightSavingAdjust(b)
        }, _daylightSavingAdjust: function (a) {
            if (!a) return null;
            a.setHours(a.getHours() > 12 ? a.getHours() + 2 : 0); return a
        }, _setDate: function (a, b, c) { var e = !b, f = a.selectedMonth, h = a.selectedYear; b = this._restrictMinMax(a, this._determineDate(a, b, new Date)); a.selectedDay = a.currentDay = b.getDate(); a.drawMonth = a.selectedMonth = a.currentMonth = b.getMonth(); a.drawYear = a.selectedYear = a.currentYear = b.getFullYear(); if ((f != a.selectedMonth || h != a.selectedYear) && !c) this._notifyChange(a); this._adjustInstDate(a); if (a.input) a.input.val(e ? "" : 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 b = new Date; b = this._daylightSavingAdjust(new Date(b.getFullYear(), b.getMonth(), b.getDate())); var c = this._get(a, "isRTL"), e = this._get(a, "showButtonPanel"), f = this._get(a, "hideIfNoPrevNext"), h = this._get(a, "navigationAsDateFormat"), i = this._getNumberOfMonths(a), g = this._get(a, "showCurrentAtPos"), j = this._get(a, "stepMonths"), l = i[0] != 1 || i[1] != 1, u = this._daylightSavingAdjust(!a.currentDay ?
new Date(9999, 9, 9) : new Date(a.currentYear, a.currentMonth, a.currentDay)), k = this._getMinMaxDate(a, "min"), o = this._getMinMaxDate(a, "max"); g = a.drawMonth - g; var m = a.drawYear; if (g < 0) { g += 12; m-- } if (o) { var n = this._daylightSavingAdjust(new Date(o.getFullYear(), o.getMonth() - i[0] * i[1] + 1, o.getDate())); for (n = k && n < k ? k : n; this._daylightSavingAdjust(new Date(m, g, 1)) > n; ) { g--; if (g < 0) { g = 11; m-- } } } a.drawMonth = g; a.drawYear = m; n = this._get(a, "prevText"); n = !h ? n : this.formatDate(n, this._daylightSavingAdjust(new Date(m, g - j, 1)), this._getFormatConfig(a));
            n = this._canAdjustMonth(a, -1, m, g) ? '<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_' + z + ".datepicker._adjustDate('#" + a.id + "', -" + j + ", 'M');\" title=\"" + n + '"><span class="ui-icon ui-icon-circle-triangle-' + (c ? "e" : "w") + '">' + n + "</span></a>" : f ? "" : '<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="' + n + '"><span class="ui-icon ui-icon-circle-triangle-' + (c ? "e" : "w") + '">' + n + "</span></a>"; var r = this._get(a, "nextText"); r = !h ? r : this.formatDate(r, this._daylightSavingAdjust(new Date(m,
g + j, 1)), this._getFormatConfig(a)); f = this._canAdjustMonth(a, +1, m, g) ? '<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_' + z + ".datepicker._adjustDate('#" + a.id + "', +" + j + ", 'M');\" title=\"" + r + '"><span class="ui-icon ui-icon-circle-triangle-' + (c ? "w" : "e") + '">' + r + "</span></a>" : f ? "" : '<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="' + r + '"><span class="ui-icon ui-icon-circle-triangle-' + (c ? "w" : "e") + '">' + r + "</span></a>"; j = this._get(a, "currentText"); r = this._get(a, "gotoCurrent") &&
a.currentDay ? u : b; j = !h ? j : this.formatDate(j, r, this._getFormatConfig(a)); h = !a.inline ? '<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_' + z + '.datepicker._hideDatepicker();">' + this._get(a, "closeText") + "</button>" : ""; e = e ? '<div class="ui-datepicker-buttonpane ui-widget-content">' + (c ? h : "") + (this._isInRange(a, r) ? '<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_' +
z + ".datepicker._gotoToday('#" + a.id + "');\">" + j + "</button>" : "") + (c ? "" : h) + "</div>" : ""; h = parseInt(this._get(a, "firstDay"), 10); h = isNaN(h) ? 0 : h; j = this._get(a, "showWeek"); r = this._get(a, "dayNames"); this._get(a, "dayNamesShort"); var s = this._get(a, "dayNamesMin"), A = this._get(a, "monthNames"), v = this._get(a, "monthNamesShort"), p = this._get(a, "beforeShowDay"), C = this._get(a, "showOtherMonths"), K = this._get(a, "selectOtherMonths"); this._get(a, "calculateWeek"); for (var E = this._getDefaultDate(a), w = "", x = 0; x < i[0]; x++) {
                for (var O =
"", G = 0; G < i[1]; G++) {
                    var P = this._daylightSavingAdjust(new Date(m, g, a.selectedDay)), t = " ui-corner-all", y = ""; if (l) { y += '<div class="ui-datepicker-group'; if (i[1] > 1) switch (G) { case 0: y += " ui-datepicker-group-first"; t = " ui-corner-" + (c ? "right" : "left"); break; case i[1] - 1: y += " ui-datepicker-group-last"; t = " ui-corner-" + (c ? "left" : "right"); break; default: y += " ui-datepicker-group-middle"; t = ""; break } y += '">' } y += '<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix' + t + '">' + (/all|left/.test(t) && x == 0 ? c ?
f : n : "") + (/all|right/.test(t) && x == 0 ? c ? n : f : "") + this._generateMonthYearHeader(a, g, m, k, o, x > 0 || G > 0, A, v) + '</div><table class="ui-datepicker-calendar"><thead><tr>'; var D = j ? '<th class="ui-datepicker-week-col">' + this._get(a, "weekHeader") + "</th>" : ""; for (t = 0; t < 7; t++) { var q = (t + h) % 7; D += "<th" + ((t + h + 6) % 7 >= 5 ? ' class="ui-datepicker-week-end"' : "") + '><span title="' + r[q] + '">' + s[q] + "</span></th>" } y += D + "</tr></thead><tbody>"; D = this._getDaysInMonth(m, g); if (m == a.selectedYear && g == a.selectedMonth) a.selectedDay = Math.min(a.selectedDay,
D); t = (this._getFirstDayOfMonth(m, g) - h + 7) % 7; D = l ? 6 : Math.ceil((t + D) / 7); q = this._daylightSavingAdjust(new Date(m, g, 1 - t)); for (var Q = 0; Q < D; Q++) {
                        y += "<tr>"; var R = !j ? "" : '<td class="ui-datepicker-week-col">' + this._get(a, "calculateWeek")(q) + "</td>"; for (t = 0; t < 7; t++) {
                            var I = p ? p.apply(a.input ? a.input[0] : null, [q]) : [true, ""], F = q.getMonth() != g, L = F && !K || !I[0] || k && q < k || o && q > o; R += '<td class="' + ((t + h + 6) % 7 >= 5 ? " ui-datepicker-week-end" : "") + (F ? " ui-datepicker-other-month" : "") + (q.getTime() == P.getTime() && g == a.selectedMonth &&
a._keyEvent || E.getTime() == q.getTime() && E.getTime() == P.getTime() ? " " + this._dayOverClass : "") + (L ? " " + this._unselectableClass + " ui-state-disabled" : "") + (F && !C ? "" : " " + I[1] + (q.getTime() == u.getTime() ? " " + this._currentClass : "") + (q.getTime() == b.getTime() ? " ui-datepicker-today" : "")) + '"' + ((!F || C) && I[2] ? ' title="' + I[2] + '"' : "") + (L ? "" : ' onclick="DP_jQuery_' + z + ".datepicker._selectDay('#" + a.id + "'," + q.getMonth() + "," + q.getFullYear() + ', this);return false;"') + ">" + (F && !C ? "&#xa0;" : L ? '<span class="ui-state-default">' + q.getDate() +
"</span>" : '<a class="ui-state-default' + (q.getTime() == b.getTime() ? " ui-state-highlight" : "") + (q.getTime() == u.getTime() ? " ui-state-active" : "") + (F ? " ui-priority-secondary" : "") + '" href="#">' + q.getDate() + "</a>") + "</td>"; q.setDate(q.getDate() + 1); q = this._daylightSavingAdjust(q)
                        } y += R + "</tr>"
                    } g++; if (g > 11) { g = 0; m++ } y += "</tbody></table>" + (l ? "</div>" + (i[0] > 0 && G == i[1] - 1 ? '<div class="ui-datepicker-row-break"></div>' : "") : ""); O += y
                } w += O
            } w += e + (d.browser.msie && parseInt(d.browser.version, 10) < 7 && !a.inline ? '<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>' :
""); a._keyEvent = false; return w
        }, _generateMonthYearHeader: function (a, b, c, e, f, h, i, g) {
            var j = this._get(a, "changeMonth"), l = this._get(a, "changeYear"), u = this._get(a, "showMonthAfterYear"), k = '<div class="ui-datepicker-title">', o = ""; if (h || !j) o += '<span class="ui-datepicker-month">' + i[b] + "</span>"; else {
                i = e && e.getFullYear() == c; var m = f && f.getFullYear() == c; o += '<select class="ui-datepicker-month" onchange="DP_jQuery_' + z + ".datepicker._selectMonthYear('#" + a.id + "', this, 'M');\" onclick=\"DP_jQuery_" + z + ".datepicker._clickMonthYear('#" +
a.id + "');\">"; for (var n = 0; n < 12; n++) if ((!i || n >= e.getMonth()) && (!m || n <= f.getMonth())) o += '<option value="' + n + '"' + (n == b ? ' selected="selected"' : "") + ">" + g[n] + "</option>"; o += "</select>"
            } u || (k += o + (h || !(j && l) ? "&#xa0;" : "")); if (!a.yearshtml) {
                a.yearshtml = ""; if (h || !l) k += '<span class="ui-datepicker-year">' + c + "</span>"; else {
                    g = this._get(a, "yearRange").split(":"); var r = (new Date).getFullYear(); i = function (s) {
                        s = s.match(/c[+-].*/) ? c + parseInt(s.substring(1), 10) : s.match(/[+-].*/) ? r + parseInt(s, 10) : parseInt(s, 10); return isNaN(s) ?
r : s
                    }; b = i(g[0]); g = Math.max(b, i(g[1] || "")); b = e ? Math.max(b, e.getFullYear()) : b; g = f ? Math.min(g, f.getFullYear()) : g; for (a.yearshtml += '<select class="ui-datepicker-year" onchange="DP_jQuery_' + z + ".datepicker._selectMonthYear('#" + a.id + "', this, 'Y');\" onclick=\"DP_jQuery_" + z + ".datepicker._clickMonthYear('#" + a.id + "');\">"; b <= g; b++) a.yearshtml += '<option value="' + b + '"' + (b == c ? ' selected="selected"' : "") + ">" + b + "</option>"; a.yearshtml += "</select>"; k += a.yearshtml; a.yearshtml = null
                }
            } k += this._get(a, "yearSuffix"); if (u) k +=
(h || !(j && l) ? "&#xa0;" : "") + o; k += "</div>"; return k
        }, _adjustInstDate: function (a, b, c) { var e = a.drawYear + (c == "Y" ? b : 0), f = a.drawMonth + (c == "M" ? b : 0); b = Math.min(a.selectedDay, this._getDaysInMonth(e, f)) + (c == "D" ? b : 0); e = this._restrictMinMax(a, this._daylightSavingAdjust(new Date(e, f, b))); a.selectedDay = e.getDate(); a.drawMonth = a.selectedMonth = e.getMonth(); a.drawYear = a.selectedYear = e.getFullYear(); if (c == "M" || c == "Y") this._notifyChange(a) }, _restrictMinMax: function (a, b) {
            var c = this._getMinMaxDate(a, "min"); a = this._getMinMaxDate(a,
"max"); b = c && b < c ? c : b; return b = a && b > a ? a : b
        }, _notifyChange: function (a) { var b = this._get(a, "onChangeMonthYear"); if (b) b.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, b) { return this._determineDate(a, this._get(a, b + "Date"), null) }, _getDaysInMonth: function (a, b) { return 32 - this._daylightSavingAdjust(new Date(a, b, 32)).getDate() }, _getFirstDayOfMonth: function (a,
b) { return (new Date(a, b, 1)).getDay() }, _canAdjustMonth: function (a, b, c, e) { var f = this._getNumberOfMonths(a); c = this._daylightSavingAdjust(new Date(c, e + (b < 0 ? b : f[0] * f[1]), 1)); b < 0 && c.setDate(this._getDaysInMonth(c.getFullYear(), c.getMonth())); return this._isInRange(a, c) }, _isInRange: function (a, b) { var c = this._getMinMaxDate(a, "min"); a = this._getMinMaxDate(a, "max"); return (!c || b.getTime() >= c.getTime()) && (!a || b.getTime() <= a.getTime()) }, _getFormatConfig: function (a) {
    var b = this._get(a, "shortYearCutoff"); b = typeof b !=
"string" ? b : (new Date).getFullYear() % 100 + parseInt(b, 10); return { shortYearCutoff: b, dayNamesShort: this._get(a, "dayNamesShort"), dayNames: this._get(a, "dayNames"), monthNamesShort: this._get(a, "monthNamesShort"), monthNames: this._get(a, "monthNames") }
}, _formatDate: function (a, b, c, e) {
    if (!b) { a.currentDay = a.selectedDay; a.currentMonth = a.selectedMonth; a.currentYear = a.selectedYear } b = b ? typeof b == "object" ? b : this._daylightSavingAdjust(new Date(e, c, b)) : this._daylightSavingAdjust(new Date(a.currentYear, a.currentMonth, a.currentDay));
    return this.formatDate(this._get(a, "dateFormat"), b, this._getFormatConfig(a))
}
    }); d.fn.datepicker = function (a) {
        if (!this.length) return this; if (!d.datepicker.initialized) { d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv); d.datepicker.initialized = true } var b = Array.prototype.slice.call(arguments, 1); if (typeof a == "string" && (a == "isDisabled" || a == "getDate" || a == "widget")) return d.datepicker["_" + a + "Datepicker"].apply(d.datepicker, [this[0]].concat(b)); if (a == "option" &&
arguments.length == 2 && typeof arguments[1] == "string") return d.datepicker["_" + a + "Datepicker"].apply(d.datepicker, [this[0]].concat(b)); return this.each(function () { typeof a == "string" ? d.datepicker["_" + a + "Datepicker"].apply(d.datepicker, [this].concat(b)) : d.datepicker._attachDatepicker(this, a) })
    }; d.datepicker = new M; d.datepicker.initialized = false; d.datepicker.uuid = (new Date).getTime(); d.datepicker.version = "1.8.13"; window["DP_jQuery_" + z] = d
})(jQuery);
; /*
 * jQuery UI Progressbar 1.8.13
 *
 * 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/Progressbar
 *
 * Depends:
 *   jquery.ui.core.js
 *   jquery.ui.widget.js
 */
(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 (a) { if (a === d) return this._value(); this._setOption("value", a); return this }, _setOption: function (a, c) { if (a === "value") { this.options.value = c; this._refreshValue(); this._value() === this.options.max && this._trigger("complete") } b.Widget.prototype._setOption.apply(this, arguments) }, _value: function () { var a = this.options.value; if (typeof a !== "number") a = 0; return Math.min(this.options.max, Math.max(this.min, a)) }, _percentage: function () {
        return 100 *
this._value() / this.options.max
    }, _refreshValue: function () { var a = this.value(), c = this._percentage(); if (this.oldValue !== a) { this.oldValue = a; this._trigger("change") } this.valueDiv.toggle(a > this.min).toggleClass("ui-corner-right", a === this.options.max).width(c.toFixed(0) + "%"); this.element.attr("aria-valuenow", a) }
    }); b.extend(b.ui.progressbar, { version: "1.8.13" })
})(jQuery);
; /*
 * jQuery UI Effects 1.8.13
 *
 * 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/Effects/
 */
jQuery.effects || function (f, j) {
    function m(c) {
        var a; if (c && c.constructor == Array && c.length == 3) return c; if (a = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c)) return [parseInt(a[1], 10), parseInt(a[2], 10), parseInt(a[3], 10)]; if (a = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c)) return [parseFloat(a[1]) * 2.55, parseFloat(a[2]) * 2.55, parseFloat(a[3]) * 2.55]; if (a = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c)) return [parseInt(a[1],
16), parseInt(a[2], 16), parseInt(a[3], 16)]; if (a = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c)) return [parseInt(a[1] + a[1], 16), parseInt(a[2] + a[2], 16), parseInt(a[3] + a[3], 16)]; if (/rgba\(0, 0, 0, 0\)/.exec(c)) return n.transparent; return n[f.trim(c).toLowerCase()]
    } function s(c, a) { var b; do { b = f.curCSS(c, a); if (b != "" && b != "transparent" || f.nodeName(c, "body")) break; a = "backgroundColor" } while (c = c.parentNode); return m(b) } function o() {
        var c = document.defaultView ? document.defaultView.getComputedStyle(this, null) : this.currentStyle,
a = {}, b, d; if (c && c.length && c[0] && c[c[0]]) for (var e = c.length; e--; ) { b = c[e]; if (typeof c[b] == "string") { d = b.replace(/\-(\w)/g, function (g, h) { return h.toUpperCase() }); a[d] = c[b] } } else for (b in c) if (typeof c[b] === "string") a[b] = c[b]; return a
    } function p(c) { var a, b; for (a in c) { b = c[a]; if (b == null || f.isFunction(b) || a in t || /scrollbar/.test(a) || !/color/i.test(a) && isNaN(parseFloat(b))) delete c[a] } return c } function u(c, a) { var b = { _: 0 }, d; for (d in a) if (c[d] != a[d]) b[d] = a[d]; return b } function k(c, a, b, d) {
        if (typeof c == "object") {
            d =
a; b = null; a = c; c = a.effect
        } if (f.isFunction(a)) { d = a; b = null; a = {} } if (typeof a == "number" || f.fx.speeds[a]) { d = b; b = a; a = {} } if (f.isFunction(b)) { d = b; b = null } a = a || {}; b = b || a.duration; b = f.fx.off ? 0 : typeof b == "number" ? b : b in f.fx.speeds ? f.fx.speeds[b] : f.fx.speeds._default; d = d || a.complete; return [c, a, b, d]
    } function l(c) { if (!c || typeof c === "number" || f.fx.speeds[c]) return true; if (typeof c === "string" && !f.effects[c]) return true; return false } f.effects = {}; f.each(["backgroundColor", "borderBottomColor", "borderLeftColor", "borderRightColor",
"borderTopColor", "borderColor", "color", "outlineColor"], function (c, a) { f.fx.step[a] = function (b) { if (!b.colorInit) { b.start = s(b.elem, a); b.end = m(b.end); b.colorInit = true } b.elem.style[a] = "rgb(" + Math.max(Math.min(parseInt(b.pos * (b.end[0] - b.start[0]) + b.start[0], 10), 255), 0) + "," + Math.max(Math.min(parseInt(b.pos * (b.end[1] - b.start[1]) + b.start[1], 10), 255), 0) + "," + Math.max(Math.min(parseInt(b.pos * (b.end[2] - b.start[2]) + b.start[2], 10), 255), 0) + ")" } }); var n = { 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]
}, q = ["add", "remove", "toggle"], t = { border: 1, borderBottom: 1, borderColor: 1, borderLeft: 1, borderRight: 1, borderTop: 1, borderWidth: 1, margin: 1, padding: 1 }; f.effects.animateClass = function (c, a, b,
d) { if (f.isFunction(b)) { d = b; b = null } return this.queue(function () { var e = f(this), g = e.attr("style") || " ", h = p(o.call(this)), r, v = e.attr("class"); f.each(q, function (w, i) { c[i] && e[i + "Class"](c[i]) }); r = p(o.call(this)); e.attr("class", v); e.animate(u(h, r), { queue: false, duration: a, easding: b, complete: function () { f.each(q, function (w, i) { c[i] && e[i + "Class"](c[i]) }); if (typeof e.attr("style") == "object") { e.attr("style").cssText = ""; e.attr("style").cssText = g } else e.attr("style", g); d && d.apply(this, arguments); f.dequeue(this) } }) }) };
    f.fn.extend({ _addClass: f.fn.addClass, addClass: function (c, a, b, d) { return a ? f.effects.animateClass.apply(this, [{ add: c }, a, b, d]) : this._addClass(c) }, _removeClass: f.fn.removeClass, removeClass: function (c, a, b, d) { return a ? f.effects.animateClass.apply(this, [{ remove: c }, a, b, d]) : this._removeClass(c) }, _toggleClass: f.fn.toggleClass, toggleClass: function (c, a, b, d, e) {
        return typeof a == "boolean" || a === j ? b ? f.effects.animateClass.apply(this, [a ? { add: c} : { remove: c }, b, d, e]) : this._toggleClass(c, a) : f.effects.animateClass.apply(this,
[{ toggle: c }, a, b, d])
    }, switchClass: function (c, a, b, d, e) { return f.effects.animateClass.apply(this, [{ add: a, remove: c }, b, d, e]) }
    }); f.extend(f.effects, { version: "1.8.13", save: function (c, a) { for (var b = 0; b < a.length; b++) a[b] !== null && c.data("ec.storage." + a[b], c[0].style[a[b]]) }, restore: function (c, a) { for (var b = 0; b < a.length; b++) a[b] !== null && c.css(a[b], c.data("ec.storage." + a[b])) }, setMode: function (c, a) { if (a == "toggle") a = c.is(":hidden") ? "show" : "hide"; return a }, getBaseline: function (c, a) {
        var b; switch (c[0]) {
            case "top": b =
0; break; case "middle": b = 0.5; break; case "bottom": b = 1; break; default: b = c[0] / a.height
        } switch (c[1]) { case "left": c = 0; break; case "center": c = 0.5; break; case "right": c = 1; break; default: c = c[1] / a.width } return { x: c, y: b }
    }, createWrapper: function (c) {
        if (c.parent().is(".ui-effects-wrapper")) return c.parent(); var a = { width: c.outerWidth(true), height: c.outerHeight(true), "float": c.css("float") }, b = f("<div></div>").addClass("ui-effects-wrapper").css({ fontSize: "100%", background: "transparent", border: "none", margin: 0, padding: 0 });
        c.wrap(b); b = c.parent(); if (c.css("position") == "static") { b.css({ position: "relative" }); c.css({ position: "relative" }) } else { f.extend(a, { position: c.css("position"), zIndex: c.css("z-index") }); f.each(["top", "left", "bottom", "right"], function (d, e) { a[e] = c.css(e); if (isNaN(parseInt(a[e], 10))) a[e] = "auto" }); c.css({ position: "relative", top: 0, left: 0, right: "auto", bottom: "auto" }) } return b.css(a).show()
    }, removeWrapper: function (c) { if (c.parent().is(".ui-effects-wrapper")) return c.parent().replaceWith(c); return c }, setTransition: function (c,
a, b, d) { d = d || {}; f.each(a, function (e, g) { unit = c.cssUnit(g); if (unit[0] > 0) d[g] = unit[0] * b + unit[1] }); return d }
    }); f.fn.extend({ effect: function (c) { var a = k.apply(this, arguments), b = { options: a[1], duration: a[2], callback: a[3] }; a = b.options.mode; var d = f.effects[c]; if (f.fx.off || !d) return a ? this[a](b.duration, b.callback) : this.each(function () { b.callback && b.callback.call(this) }); return d.call(this, b) }, _show: f.fn.show, show: function (c) {
        if (l(c)) return this._show.apply(this, arguments); else {
            var a = k.apply(this, arguments);
            a[1].mode = "show"; return this.effect.apply(this, a)
        }
    }, _hide: f.fn.hide, hide: function (c) { if (l(c)) return this._hide.apply(this, arguments); else { var a = k.apply(this, arguments); a[1].mode = "hide"; return this.effect.apply(this, a) } }, __toggle: f.fn.toggle, toggle: function (c) { if (l(c) || typeof c === "boolean" || f.isFunction(c)) return this.__toggle.apply(this, arguments); else { var a = k.apply(this, arguments); a[1].mode = "toggle"; return this.effect.apply(this, a) } }, cssUnit: function (c) {
        var a = this.css(c), b = []; f.each(["em", "px", "%",
"pt"], function (d, e) { if (a.indexOf(e) > 0) b = [parseFloat(a), e] }); return b
    }
    }); f.easing.jswing = f.easing.swing; f.extend(f.easing, { def: "easeOutQuad", swing: function (c, a, b, d, e) { return f.easing[f.easing.def](c, a, b, d, e) }, easeInQuad: function (c, a, b, d, e) { return d * (a /= e) * a + b }, easeOutQuad: function (c, a, b, d, e) { return -d * (a /= e) * (a - 2) + b }, easeInOutQuad: function (c, a, b, d, e) { if ((a /= e / 2) < 1) return d / 2 * a * a + b; return -d / 2 * (--a * (a - 2) - 1) + b }, easeInCubic: function (c, a, b, d, e) { return d * (a /= e) * a * a + b }, easeOutCubic: function (c, a, b, d, e) {
        return d *
((a = a / e - 1) * a * a + 1) + b
    }, easeInOutCubic: function (c, a, b, d, e) { if ((a /= e / 2) < 1) return d / 2 * a * a * a + b; return d / 2 * ((a -= 2) * a * a + 2) + b }, easeInQuart: function (c, a, b, d, e) { return d * (a /= e) * a * a * a + b }, easeOutQuart: function (c, a, b, d, e) { return -d * ((a = a / e - 1) * a * a * a - 1) + b }, easeInOutQuart: function (c, a, b, d, e) { if ((a /= e / 2) < 1) return d / 2 * a * a * a * a + b; return -d / 2 * ((a -= 2) * a * a * a - 2) + b }, easeInQuint: function (c, a, b, d, e) { return d * (a /= e) * a * a * a * a + b }, easeOutQuint: function (c, a, b, d, e) { return d * ((a = a / e - 1) * a * a * a * a + 1) + b }, easeInOutQuint: function (c, a, b, d, e) {
        if ((a /=
e / 2) < 1) return d / 2 * a * a * a * a * a + b; return d / 2 * ((a -= 2) * a * a * a * a + 2) + b
    }, easeInSine: function (c, a, b, d, e) { return -d * Math.cos(a / e * (Math.PI / 2)) + d + b }, easeOutSine: function (c, a, b, d, e) { return d * Math.sin(a / e * (Math.PI / 2)) + b }, easeInOutSine: function (c, a, b, d, e) { return -d / 2 * (Math.cos(Math.PI * a / e) - 1) + b }, easeInExpo: function (c, a, b, d, e) { return a == 0 ? b : d * Math.pow(2, 10 * (a / e - 1)) + b }, easeOutExpo: function (c, a, b, d, e) { return a == e ? b + d : d * (-Math.pow(2, -10 * a / e) + 1) + b }, easeInOutExpo: function (c, a, b, d, e) {
        if (a == 0) return b; if (a == e) return b + d; if ((a /=
e / 2) < 1) return d / 2 * Math.pow(2, 10 * (a - 1)) + b; return d / 2 * (-Math.pow(2, -10 * --a) + 2) + b
    }, easeInCirc: function (c, a, b, d, e) { return -d * (Math.sqrt(1 - (a /= e) * a) - 1) + b }, easeOutCirc: function (c, a, b, d, e) { return d * Math.sqrt(1 - (a = a / e - 1) * a) + b }, easeInOutCirc: function (c, a, b, d, e) { if ((a /= e / 2) < 1) return -d / 2 * (Math.sqrt(1 - a * a) - 1) + b; return d / 2 * (Math.sqrt(1 - (a -= 2) * a) + 1) + b }, easeInElastic: function (c, a, b, d, e) {
        c = 1.70158; var g = 0, h = d; if (a == 0) return b; if ((a /= e) == 1) return b + d; g || (g = e * 0.3); if (h < Math.abs(d)) { h = d; c = g / 4 } else c = g / (2 * Math.PI) * Math.asin(d /
h); return -(h * Math.pow(2, 10 * (a -= 1)) * Math.sin((a * e - c) * 2 * Math.PI / g)) + b
    }, easeOutElastic: function (c, a, b, d, e) { c = 1.70158; var g = 0, h = d; if (a == 0) return b; if ((a /= e) == 1) return b + d; g || (g = e * 0.3); if (h < Math.abs(d)) { h = d; c = g / 4 } else c = g / (2 * Math.PI) * Math.asin(d / h); return h * Math.pow(2, -10 * a) * Math.sin((a * e - c) * 2 * Math.PI / g) + d + b }, easeInOutElastic: function (c, a, b, d, e) {
        c = 1.70158; var g = 0, h = d; if (a == 0) return b; if ((a /= e / 2) == 2) return b + d; g || (g = e * 0.3 * 1.5); if (h < Math.abs(d)) { h = d; c = g / 4 } else c = g / (2 * Math.PI) * Math.asin(d / h); if (a < 1) return -0.5 *
h * Math.pow(2, 10 * (a -= 1)) * Math.sin((a * e - c) * 2 * Math.PI / g) + b; return h * Math.pow(2, -10 * (a -= 1)) * Math.sin((a * e - c) * 2 * Math.PI / g) * 0.5 + d + b
    }, easeInBack: function (c, a, b, d, e, g) { if (g == j) g = 1.70158; return d * (a /= e) * a * ((g + 1) * a - g) + b }, easeOutBack: function (c, a, b, d, e, g) { if (g == j) g = 1.70158; return d * ((a = a / e - 1) * a * ((g + 1) * a + g) + 1) + b }, easeInOutBack: function (c, a, b, d, e, g) { if (g == j) g = 1.70158; if ((a /= e / 2) < 1) return d / 2 * a * a * (((g *= 1.525) + 1) * a - g) + b; return d / 2 * ((a -= 2) * a * (((g *= 1.525) + 1) * a + g) + 2) + b }, easeInBounce: function (c, a, b, d, e) {
        return d - f.easing.easeOutBounce(c,
e - a, 0, d, e) + b
    }, easeOutBounce: function (c, a, b, d, e) { return (a /= e) < 1 / 2.75 ? d * 7.5625 * a * a + b : a < 2 / 2.75 ? d * (7.5625 * (a -= 1.5 / 2.75) * a + 0.75) + b : a < 2.5 / 2.75 ? d * (7.5625 * (a -= 2.25 / 2.75) * a + 0.9375) + b : d * (7.5625 * (a -= 2.625 / 2.75) * a + 0.984375) + b }, easeInOutBounce: function (c, a, b, d, e) { if (a < e / 2) return f.easing.easeInBounce(c, a * 2, 0, d, e) * 0.5 + b; return f.easing.easeOutBounce(c, a * 2 - e, 0, d, e) * 0.5 + d * 0.5 + b }
    })
} (jQuery);
; /*
 * jQuery UI Effects Blind 1.8.13
 *
 * 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/Effects/Blind
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function (b) {
    b.effects.blind = function (c) {
        return this.queue(function () {
            var a = b(this), g = ["position", "top", "bottom", "left", "right"], f = b.effects.setMode(a, c.options.mode || "hide"), d = c.options.direction || "vertical"; b.effects.save(a, g); a.show(); var e = b.effects.createWrapper(a).css({ overflow: "hidden" }), h = d == "vertical" ? "height" : "width"; d = d == "vertical" ? e.height() : e.width(); f == "show" && e.css(h, 0); var i = {}; i[h] = f == "show" ? d : 0; e.animate(i, c.duration, c.options.easing, function () {
                f == "hide" && a.hide(); b.effects.restore(a,
g); b.effects.removeWrapper(a); c.callback && c.callback.apply(a[0], arguments); a.dequeue()
            })
        })
    }
})(jQuery);
; /*
 * jQuery UI Effects Bounce 1.8.13
 *
 * 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/Effects/Bounce
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function (e) {
    e.effects.bounce = function (b) {
        return this.queue(function () {
            var a = e(this), l = ["position", "top", "bottom", "left", "right"], h = e.effects.setMode(a, b.options.mode || "effect"), d = b.options.direction || "up", c = b.options.distance || 20, m = b.options.times || 5, i = b.duration || 250; /show|hide/.test(h) && l.push("opacity"); e.effects.save(a, l); a.show(); e.effects.createWrapper(a); var f = d == "up" || d == "down" ? "top" : "left"; d = d == "up" || d == "left" ? "pos" : "neg"; c = b.options.distance || (f == "top" ? a.outerHeight({ margin: true }) / 3 : a.outerWidth({ margin: true }) /
3); if (h == "show") a.css("opacity", 0).css(f, d == "pos" ? -c : c); if (h == "hide") c /= m * 2; h != "hide" && m--; if (h == "show") { var g = { opacity: 1 }; g[f] = (d == "pos" ? "+=" : "-=") + c; a.animate(g, i / 2, b.options.easing); c /= 2; m-- } for (g = 0; g < m; g++) { var j = {}, k = {}; j[f] = (d == "pos" ? "-=" : "+=") + c; k[f] = (d == "pos" ? "+=" : "-=") + c; a.animate(j, i / 2, b.options.easing).animate(k, i / 2, b.options.easing); c = h == "hide" ? c * 2 : c / 2 } if (h == "hide") {
                g = { opacity: 0 }; g[f] = (d == "pos" ? "-=" : "+=") + c; a.animate(g, i / 2, b.options.easing, function () {
                    a.hide(); e.effects.restore(a, l); e.effects.removeWrapper(a);
                    b.callback && b.callback.apply(this, arguments)
                })
            } else { j = {}; k = {}; j[f] = (d == "pos" ? "-=" : "+=") + c; k[f] = (d == "pos" ? "+=" : "-=") + c; a.animate(j, i / 2, b.options.easing).animate(k, i / 2, b.options.easing, function () { e.effects.restore(a, l); e.effects.removeWrapper(a); b.callback && b.callback.apply(this, arguments) }) } a.queue("fx", function () { a.dequeue() }); a.dequeue()
        })
    }
})(jQuery);
; /*
 * jQuery UI Effects Clip 1.8.13
 *
 * 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/Effects/Clip
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function (b) {
    b.effects.clip = function (e) {
        return this.queue(function () {
            var a = b(this), i = ["position", "top", "bottom", "left", "right", "height", "width"], f = b.effects.setMode(a, e.options.mode || "hide"), c = e.options.direction || "vertical"; b.effects.save(a, i); a.show(); var d = b.effects.createWrapper(a).css({ overflow: "hidden" }); d = a[0].tagName == "IMG" ? d : a; var g = { size: c == "vertical" ? "height" : "width", position: c == "vertical" ? "top" : "left" }; c = c == "vertical" ? d.height() : d.width(); if (f == "show") {
                d.css(g.size, 0); d.css(g.position,
c / 2)
            } var h = {}; h[g.size] = f == "show" ? c : 0; h[g.position] = f == "show" ? 0 : c / 2; d.animate(h, { queue: false, duration: e.duration, easing: e.options.easing, complete: function () { f == "hide" && a.hide(); b.effects.restore(a, i); b.effects.removeWrapper(a); e.callback && e.callback.apply(a[0], arguments); a.dequeue() } })
        })
    }
})(jQuery);
; /*
 * jQuery UI Effects Drop 1.8.13
 *
 * 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/Effects/Drop
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function (c) {
    c.effects.drop = function (d) {
        return this.queue(function () {
            var a = c(this), h = ["position", "top", "bottom", "left", "right", "opacity"], e = c.effects.setMode(a, d.options.mode || "hide"), b = d.options.direction || "left"; c.effects.save(a, h); a.show(); c.effects.createWrapper(a); var f = b == "up" || b == "down" ? "top" : "left"; b = b == "up" || b == "left" ? "pos" : "neg"; var g = d.options.distance || (f == "top" ? a.outerHeight({ margin: true }) / 2 : a.outerWidth({ margin: true }) / 2); if (e == "show") a.css("opacity", 0).css(f, b == "pos" ? -g : g); var i = { opacity: e ==
"show" ? 1 : 0
            }; i[f] = (e == "show" ? b == "pos" ? "+=" : "-=" : b == "pos" ? "-=" : "+=") + g; a.animate(i, { queue: false, duration: d.duration, easing: d.options.easing, complete: function () { e == "hide" && a.hide(); c.effects.restore(a, h); c.effects.removeWrapper(a); d.callback && d.callback.apply(this, arguments); a.dequeue() } })
        })
    }
})(jQuery);
; /*
 * jQuery UI Effects Explode 1.8.13
 *
 * 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/Effects/Explode
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function (j) {
    j.effects.explode = function (a) {
        return this.queue(function () {
            var c = a.options.pieces ? Math.round(Math.sqrt(a.options.pieces)) : 3, d = a.options.pieces ? Math.round(Math.sqrt(a.options.pieces)) : 3; a.options.mode = a.options.mode == "toggle" ? j(this).is(":visible") ? "hide" : "show" : a.options.mode; var b = j(this).show().css("visibility", "hidden"), g = b.offset(); g.top -= parseInt(b.css("marginTop"), 10) || 0; g.left -= parseInt(b.css("marginLeft"), 10) || 0; for (var h = b.outerWidth(true), i = b.outerHeight(true), e = 0; e < c; e++) for (var f =
0; f < d; f++) b.clone().appendTo("body").wrap("<div></div>").css({ position: "absolute", visibility: "visible", left: -f * (h / d), top: -e * (i / c) }).parent().addClass("ui-effects-explode").css({ position: "absolute", overflow: "hidden", width: h / d, height: i / c, left: g.left + f * (h / d) + (a.options.mode == "show" ? (f - Math.floor(d / 2)) * (h / d) : 0), top: g.top + e * (i / c) + (a.options.mode == "show" ? (e - Math.floor(c / 2)) * (i / c) : 0), opacity: a.options.mode == "show" ? 0 : 1 }).animate({ left: g.left + f * (h / d) + (a.options.mode == "show" ? 0 : (f - Math.floor(d / 2)) * (h / d)), top: g.top +
e * (i / c) + (a.options.mode == "show" ? 0 : (e - Math.floor(c / 2)) * (i / c)), opacity: a.options.mode == "show" ? 1 : 0
}, a.duration || 500); setTimeout(function () { a.options.mode == "show" ? b.css({ visibility: "visible" }) : b.css({ visibility: "visible" }).hide(); a.callback && a.callback.apply(b[0]); b.dequeue(); j("div.ui-effects-explode").remove() }, a.duration || 500)
        })
    }
})(jQuery);
; /*
 * jQuery UI Effects Fade 1.8.13
 *
 * 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/Effects/Fade
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function (b) { b.effects.fade = function (a) { return this.queue(function () { var c = b(this), d = b.effects.setMode(c, a.options.mode || "hide"); c.animate({ opacity: d }, { queue: false, duration: a.duration, easing: a.options.easing, complete: function () { a.callback && a.callback.apply(this, arguments); c.dequeue() } }) }) } })(jQuery);
; /*
 * jQuery UI Effects Fold 1.8.13
 *
 * 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/Effects/Fold
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function (c) {
    c.effects.fold = function (a) {
        return this.queue(function () {
            var b = c(this), j = ["position", "top", "bottom", "left", "right"], d = c.effects.setMode(b, a.options.mode || "hide"), g = a.options.size || 15, h = !!a.options.horizFirst, k = a.duration ? a.duration / 2 : c.fx.speeds._default / 2; c.effects.save(b, j); b.show(); var e = c.effects.createWrapper(b).css({ overflow: "hidden" }), f = d == "show" != h, l = f ? ["width", "height"] : ["height", "width"]; f = f ? [e.width(), e.height()] : [e.height(), e.width()]; var i = /([0-9]+)%/.exec(g); if (i) g = parseInt(i[1],
10) / 100 * f[d == "hide" ? 0 : 1]; if (d == "show") e.css(h ? { height: 0, width: g} : { height: g, width: 0 }); h = {}; i = {}; h[l[0]] = d == "show" ? f[0] : g; i[l[1]] = d == "show" ? f[1] : 0; e.animate(h, k, a.options.easing).animate(i, k, a.options.easing, function () { d == "hide" && b.hide(); c.effects.restore(b, j); c.effects.removeWrapper(b); a.callback && a.callback.apply(b[0], arguments); b.dequeue() })
        })
    }
})(jQuery);
; /*
 * jQuery UI Effects Highlight 1.8.13
 *
 * 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/Effects/Highlight
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function (b) {
    b.effects.highlight = function (c) {
        return this.queue(function () {
            var a = b(this), e = ["backgroundImage", "backgroundColor", "opacity"], d = b.effects.setMode(a, c.options.mode || "show"), f = { backgroundColor: a.css("backgroundColor") }; if (d == "hide") f.opacity = 0; b.effects.save(a, e); a.show().css({ backgroundImage: "none", backgroundColor: c.options.color || "#ffff99" }).animate(f, { queue: false, duration: c.duration, easing: c.options.easing, complete: function () {
                d == "hide" && a.hide(); b.effects.restore(a, e); d == "show" && !b.support.opacity &&
this.style.removeAttribute("filter"); c.callback && c.callback.apply(this, arguments); a.dequeue()
            }
            })
        })
    }
})(jQuery);
; /*
 * jQuery UI Effects Pulsate 1.8.13
 *
 * 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/Effects/Pulsate
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function (d) {
    d.effects.pulsate = function (a) {
        return this.queue(function () {
            var b = d(this), c = d.effects.setMode(b, a.options.mode || "show"); times = (a.options.times || 5) * 2 - 1; duration = a.duration ? a.duration / 2 : d.fx.speeds._default / 2; isVisible = b.is(":visible"); animateTo = 0; if (!isVisible) { b.css("opacity", 0).show(); animateTo = 1 } if (c == "hide" && isVisible || c == "show" && !isVisible) times--; for (c = 0; c < times; c++) { b.animate({ opacity: animateTo }, duration, a.options.easing); animateTo = (animateTo + 1) % 2 } b.animate({ opacity: animateTo }, duration,
a.options.easing, function () { animateTo == 0 && b.hide(); a.callback && a.callback.apply(this, arguments) }); b.queue("fx", function () { b.dequeue() }).dequeue()
        })
    }
})(jQuery);
; /*
 * jQuery UI Effects Scale 1.8.13
 *
 * 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/Effects/Scale
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function (c) {
    c.effects.puff = function (b) { return this.queue(function () { var a = c(this), e = c.effects.setMode(a, b.options.mode || "hide"), g = parseInt(b.options.percent, 10) || 150, h = g / 100, i = { height: a.height(), width: a.width() }; c.extend(b.options, { fade: true, mode: e, percent: e == "hide" ? g : 100, from: e == "hide" ? i : { height: i.height * h, width: i.width * h} }); a.effect("scale", b.options, b.duration, b.callback); a.dequeue() }) }; c.effects.scale = function (b) {
        return this.queue(function () {
            var a = c(this), e = c.extend(true, {}, b.options), g = c.effects.setMode(a,
b.options.mode || "effect"), h = parseInt(b.options.percent, 10) || (parseInt(b.options.percent, 10) == 0 ? 0 : g == "hide" ? 0 : 100), i = b.options.direction || "both", f = b.options.origin; if (g != "effect") { e.origin = f || ["middle", "center"]; e.restore = true } f = { height: a.height(), width: a.width() }; a.from = b.options.from || (g == "show" ? { height: 0, width: 0} : f); h = { y: i != "horizontal" ? h / 100 : 1, x: i != "vertical" ? h / 100 : 1 }; a.to = { height: f.height * h.y, width: f.width * h.x }; if (b.options.fade) {
                if (g == "show") { a.from.opacity = 0; a.to.opacity = 1 } if (g == "hide") {
                    a.from.opacity =
1; a.to.opacity = 0
                }
            } e.from = a.from; e.to = a.to; e.mode = g; a.effect("size", e, b.duration, b.callback); a.dequeue()
        })
    }; c.effects.size = function (b) {
        return this.queue(function () {
            var a = c(this), e = ["position", "top", "bottom", "left", "right", "width", "height", "overflow", "opacity"], g = ["position", "top", "bottom", "left", "right", "overflow", "opacity"], h = ["width", "height", "overflow"], i = ["fontSize"], f = ["borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom"], k = ["borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight"],
p = c.effects.setMode(a, b.options.mode || "effect"), n = b.options.restore || false, m = b.options.scale || "both", l = b.options.origin, j = { height: a.height(), width: a.width() }; a.from = b.options.from || j; a.to = b.options.to || j; if (l) { l = c.effects.getBaseline(l, j); a.from.top = (j.height - a.from.height) * l.y; a.from.left = (j.width - a.from.width) * l.x; a.to.top = (j.height - a.to.height) * l.y; a.to.left = (j.width - a.to.width) * l.x } var d = { from: { y: a.from.height / j.height, x: a.from.width / j.width }, to: { y: a.to.height / j.height, x: a.to.width / j.width} };
            if (m == "box" || m == "both") { if (d.from.y != d.to.y) { e = e.concat(f); a.from = c.effects.setTransition(a, f, d.from.y, a.from); a.to = c.effects.setTransition(a, f, d.to.y, a.to) } if (d.from.x != d.to.x) { e = e.concat(k); a.from = c.effects.setTransition(a, k, d.from.x, a.from); a.to = c.effects.setTransition(a, k, d.to.x, a.to) } } if (m == "content" || m == "both") if (d.from.y != d.to.y) { e = e.concat(i); a.from = c.effects.setTransition(a, i, d.from.y, a.from); a.to = c.effects.setTransition(a, i, d.to.y, a.to) } c.effects.save(a, n ? e : g); a.show(); c.effects.createWrapper(a);
            a.css("overflow", "hidden").css(a.from); if (m == "content" || m == "both") {
                f = f.concat(["marginTop", "marginBottom"]).concat(i); k = k.concat(["marginLeft", "marginRight"]); h = e.concat(f).concat(k); a.find("*[width]").each(function () {
                    child = c(this); n && c.effects.save(child, h); var o = { height: child.height(), width: child.width() }; child.from = { height: o.height * d.from.y, width: o.width * d.from.x }; child.to = { height: o.height * d.to.y, width: o.width * d.to.x }; if (d.from.y != d.to.y) {
                        child.from = c.effects.setTransition(child, f, d.from.y, child.from);
                        child.to = c.effects.setTransition(child, f, d.to.y, child.to)
                    } if (d.from.x != d.to.x) { child.from = c.effects.setTransition(child, k, d.from.x, child.from); child.to = c.effects.setTransition(child, k, d.to.x, child.to) } child.css(child.from); child.animate(child.to, b.duration, b.options.easing, function () { n && c.effects.restore(child, h) })
                })
            } a.animate(a.to, { queue: false, duration: b.duration, easing: b.options.easing, complete: function () {
                a.to.opacity === 0 && a.css("opacity", a.from.opacity); p == "hide" && a.hide(); c.effects.restore(a,
n ? e : g); c.effects.removeWrapper(a); b.callback && b.callback.apply(this, arguments); a.dequeue()
            }
            })
        })
    }
})(jQuery);
; /*
 * jQuery UI Effects Shake 1.8.13
 *
 * 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/Effects/Shake
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function (d) {
    d.effects.shake = function (a) {
        return this.queue(function () {
            var b = d(this), j = ["position", "top", "bottom", "left", "right"]; d.effects.setMode(b, a.options.mode || "effect"); var c = a.options.direction || "left", e = a.options.distance || 20, l = a.options.times || 3, f = a.duration || a.options.duration || 140; d.effects.save(b, j); b.show(); d.effects.createWrapper(b); var g = c == "up" || c == "down" ? "top" : "left", h = c == "up" || c == "left" ? "pos" : "neg"; c = {}; var i = {}, k = {}; c[g] = (h == "pos" ? "-=" : "+=") + e; i[g] = (h == "pos" ? "+=" : "-=") + e * 2; k[g] =
(h == "pos" ? "-=" : "+=") + e * 2; b.animate(c, f, a.options.easing); for (e = 1; e < l; e++) b.animate(i, f, a.options.easing).animate(k, f, a.options.easing); b.animate(i, f, a.options.easing).animate(c, f / 2, a.options.easing, function () { d.effects.restore(b, j); d.effects.removeWrapper(b); a.callback && a.callback.apply(this, arguments) }); b.queue("fx", function () { b.dequeue() }); b.dequeue()
        })
    }
})(jQuery);
; /*
 * jQuery UI Effects Slide 1.8.13
 *
 * 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/Effects/Slide
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function (c) {
    c.effects.slide = function (d) {
        return this.queue(function () {
            var a = c(this), h = ["position", "top", "bottom", "left", "right"], f = c.effects.setMode(a, d.options.mode || "show"), b = d.options.direction || "left"; c.effects.save(a, h); a.show(); c.effects.createWrapper(a).css({ overflow: "hidden" }); var g = b == "up" || b == "down" ? "top" : "left"; b = b == "up" || b == "left" ? "pos" : "neg"; var e = d.options.distance || (g == "top" ? a.outerHeight({ margin: true }) : a.outerWidth({ margin: true })); if (f == "show") a.css(g, b == "pos" ? isNaN(e) ? "-" + e : -e : e);
            var i = {}; i[g] = (f == "show" ? b == "pos" ? "+=" : "-=" : b == "pos" ? "-=" : "+=") + e; a.animate(i, { queue: false, duration: d.duration, easing: d.options.easing, complete: function () { f == "hide" && a.hide(); c.effects.restore(a, h); c.effects.removeWrapper(a); d.callback && d.callback.apply(this, arguments); a.dequeue() } })
        })
    }
})(jQuery);
; /*
 * jQuery UI Effects Transfer 1.8.13
 *
 * 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/Effects/Transfer
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function (e) {
    e.effects.transfer = function (a) {
        return this.queue(function () {
            var b = e(this), c = e(a.options.to), d = c.offset(); c = { top: d.top, left: d.left, height: c.innerHeight(), width: c.innerWidth() }; d = b.offset(); var f = e('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(a.options.className).css({ top: d.top, left: d.left, height: b.innerHeight(), width: b.innerWidth(), position: "absolute" }).animate(c, a.duration, a.options.easing, function () {
                f.remove(); a.callback && a.callback.apply(b[0], arguments);
                b.dequeue()
            })
        })
    }
})(jQuery);
;

var GLOBALTIMER;
var GLOBALTIMERENABLED = true;
var ACTIVEOBJECT;
var GLOBALINTERVAL = 0;
var ROTATOR_POSITION = 2;
var ROTATORMAXCOUNT = 0;

$(document).ready(function () {
    $(iPos = 0);
    var HideAll = function () {
        $(".innerrightcolumn").hide();
        $(".black_button_arrow").hide();
        $(".rotator_display_container_item").hide();
        $(".rotator_display_rightblock_item").hide();
        $(".rotator_display_link_item").hide();
        $(".displaypanel_container").hide();
        $("#leftnavmenucontainer a.black_button_links_selected").removeClass().toggleClass("black_button_links");
    };
    /*-------tiny carousel--------
    $('#slider-code').tinycarousel({ interval: true });
    -------tiny carousel--------*/

    $("#Facebook").mouseenter(function (e) {
        var eX = e.pageX;
        var eY = e.pageY;
        //var eX = this.offsetTop;
        //var eY = this.offsetLeft;

        $("#uniquename").offset({ top: (eY - 380), left: (eX - 235) });

        //ReverseContentDisplay("uniquename");
    });

    /*this is for tabs on Product Sales Guide page*/
    $(function () {
        $("#tabs_ProductSalesGuide").tabs();
    });

    $("#uniquename").mouseleave(function (e) {
        ReverseContentDisplay("uniquename");
    });


    /*put this here to get carousel going before sharelink hides*/
    $('ul#ul_carousel_emoticons').innerfade({
        speed: 5000,
        timeout: 5000,
        type: 'sequence'
    });

    /*-------sliding open divs  --------*/
    $(".shareLink").hide();
    $(".carousel_hack").toggle();
    $("div.expanda").click(function () {
        /*$(this).next('.shareLink').slideToggle("2000");*/
        $(this).next('.shareLink').toggle();
        return false;
    });
    /*-------sliding open divs  --------*/



    /*-------Fading images--------*/
    $('ul#portfolio').innerfade({
        speed: 5000,
        timeout: 10000,
        type: 'sequence'
        //containerheight: '220px'
    });
    $('ul#ul_carousel').innerfade({
        speed: 5000,
        timeout: 5000,
        type: 'sequence'
    });

    /*-------Fading images--------*/

    /*-------List Nav--------*/
    $('#directoryList').listnav({
        includeAll: true,
        includeOther: false,
        noMatchText: 'Nothing matched your filter, please click another letter.',
        showCounts: false,
        prefixes: ['the', 'a']
    });
    /*-------List Nav--------*/

    $(".rotator_menu_button").hover(
    function () {
        var myClass = $(this).attr("class");
        if (myClass == "rotator_menu_button_selected") {
            //alert("incoming:selected");
            $(this).removeClass().toggleClass("rotator_menu_button_hover_selected");
        }
        else {
            //alert("incoming:normal");
            $(this).removeClass().toggleClass("rotator_menu_button_hover");
        }
    },
    function () {
        var myClass = $(this).attr("class");
        if (myClass == "rotator_menu_button_hover_selected") {
            //alert("out:selected");
            $(this).removeClass().toggleClass("rotator_menu_button_selected");
        }
        else {
            //alert("out:normal");
            $(this).removeClass().toggleClass("rotator_menu_button");
        }
    }
    );

    $(HideAll);
    Rotate("rotator_display_container_item", 1);
    Rotate("rotator_display_rightblock_item", 1);
    Rotate("rotator_display_link_item", 1);
    //$("#rotator_menu_button").removeClass().toggleClass("rotator_menu_button_hover");

    //used in random tip of day
    jQuery.extend({
        random: function (X) {
            return Math.floor(X * (Math.random() % 1));
        },
        randomBetween: function (MinV, MaxV) {
            return MinV + jQuery.random(MaxV - MinV + 1);
        }
    });
});

function Hover(e, position) {
    //var objButtons = $("#" + e);
    //alert(objButtons.length);
}

function Rotate(e, position) {
    ACTIVEOBJECT = e;
    ROTATOR_POSITION = position;
    var objAllPanels = $("." + e);
    objAllPanels.hide();
    var objPanel = $("#" + (e + "_" + position));

    var eString = e.toString();
    //alert(eString);
    if (eString == "rotator_display_container_item") {
        var i = 1;
        while (i <= 7) {
            try {
                var objButton = $("#rotator_menu_button" + i);
                objButton.removeClass().toggleClass("rotator_menu_button");
                i++;
            }
            catch (err) {
                //alert("catch");
            }
        }
        var objButton = $("#rotator_menu_button" + position);
        objButton.removeClass().toggleClass("rotator_menu_button_hover_selected");
        //var myClass = (objButton).attr("class");
        //alert("class: " + myClass);
    }
    objPanel.show(); // ('fast', function () { });
}

function RotateToPosition(pos) {
    Rotate('rotator_display_rightblock_item', pos);
    Rotate('rotator_display_link_item', pos);
    Rotate('rotator_display_container_item', pos);
}

function body_onload() {
    var url = window.location.toString();
    var rotateto = url.split('#');
    switch (rotateto[1]) {
        case "mobile":
            RotateToPosition(1);
            break;
        case "pc":
            RotateToPosition(2);
            break;
        case "mac":
            RotateToPosition(3);
            break;
        case "linux":
            RotateToPosition(4);
            break;
        case "evo":
            RotateToPosition(5);
            break;
        default: { }
    }
    //this defeats the purpose of customisable menu
    //must find a better way to do this
    var sPath = window.location.pathname;
    var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
    var position;
    switch (sPage) {
        case "home":
            position = 1;
            break;
        case "download":
            position = 2;
            break;
        case "moola":
            position = 3;
            break;
        case "chat":
            position = 4;
            break;
        //default: { position = 1; }         
    }
    var objMenu = $("#menu_normal" + position);
    objMenu.switchClass('menu_normal', 'menu_selected', 0);
    //    var objHome = $("#menu_home" + position);
    //    objHome.switchClass('menu_home', 'menu_home_selected', 0);
}

function AutoRotate(iInterval) {
    if (GLOBALINTERVAL == 0) {
        GLOBALINTERVAL = iInterval;
    }

    var iTimer = GLOBALINTERVAL * 1000;
    timeoutID = window.setTimeout(DoAutoRotate, iTimer);
}

function DoAutoRotate(interval) {
    if (GLOBALTIMERENABLED) {
        var objAllPanels = $("." + ACTIVEOBJECT);
        ROTATORMAXCOUNT = objAllPanels.length;
        objAllPanels.hide();
        if (ROTATOR_POSITION < ROTATORMAXCOUNT) {
            ROTATOR_POSITION++;
            var sPanel = "#" + ACTIVEOBJECT + "_" + ROTATOR_POSITION;
            var objPanel = $(sPanel);
            objPanel.fadeIn('flow', function () { });
            AutoRotate(GLOBALINTERVAL);
        }
        else {
            ROTATOR_POSITION = 1;
            var sPanel = "#" + ACTIVEOBJECT + "_" + ROTATOR_POSITION;
            var objPanel = $(sPanel);
            objPanel.fadeIn('flow', function () { });
            AutoRotate(GLOBALINTERVAL);
        }
    }
}
function clearAlert() {
    window.clearTimeout(timeoutID);
}

/*-------------------------------------------------------------------BASE FUNCTIONS------------------------------------------------------------------------*/
var goActions = new function () {
    this.ChangeLanguage = function ChangeLanguage(lvLang) {
        setCookie("language", lvLang.value, 30);
        window.location = window.location;

    }
}

function setCookie(c_name, value, expiredays) {
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + expiredays);
    document.cookie = c_name + "=" + escape(value) + ((expiredays == null) ? "" : ";expires=" + exdate.toUTCString());
}

function ShowMenu() {
    window.location = "http://www.mxit.com";
}

function ShowDownload(lsName) {
    var sName = lsName;
    GLOBALTIMERENABLED = false;

    //$(function () {
    //    var lsName = "#dialog-modal-" + sName;
    //    $(lsName).dialog({ modal: true, width: 600, height: 400 });
    //});
    if (sName == "mobile") {
        window.location = "http://www.mxit.com/content/device/en/download_mobile";
    }
    if (sName == "evo") {
        window.location = "http://evo.mxit.com/pc/setup.exe";
    }
    else if (sName == "mac") {
        window.location = "http://devzone.mxit.com/libPurple/download/7";
    }
    else if (sName == "linux") {
        window.location = "http://www.pidgin.im/download";
    }

    /*----------------------------------------------------------------SCROLL BAR FUNCTIONS---------------------------------------------------*/
    $(function () {
        $("#tabs").tabs();
    });

}
/*----Tiny carousel-------
(function ($) {
$.fn.tinycarousel = function (options) {
var defaults = { start: 1, display: 1, axis: 'x', controls: true, pager: false, interval: false, intervaltime: 5000, animation: true, duration: 1000, callback: null }; var options = $.extend(defaults, options); var oSlider = $(this); var oViewport = $('.viewport', oSlider); var oContent = $('.overview', oSlider); var oPages = oContent.children(); var oBtnNext = $('.next', oSlider); var oBtnPrev = $('.prev', oSlider); var oPager = $('.pager', oSlider); var iPageSize, iSteps, iCurrent, oTimer, bForward = true, bAxis = options.axis == 'x'; return this.each(function () { initialize(); }); function initialize() { iPageSize = bAxis ? $(oPages[0]).outerWidth(true) : $(oPages[0]).outerHeight(true); var iLeftover = Math.ceil(((bAxis ? oViewport.outerWidth() : oViewport.outerHeight()) / (iPageSize * options.display)) - 1); iSteps = Math.max(1, Math.ceil(oPages.length / options.display) - iLeftover); iCurrent = Math.min(iSteps, Math.max(1, options.start)) - 2; oContent.css(bAxis ? 'width' : 'height', (iPageSize * oPages.length)); move(1); setEvents(); }
function setButtons() { if (options.controls) { oBtnPrev.toggleClass('disable', !(iCurrent > 0)); oBtnNext.toggleClass('disable', !(iCurrent + 1 < iSteps)); } }
function setEvents() { if (options.controls && oBtnPrev.length > 0 && oBtnNext.length > 0) { oBtnPrev.click(function () { move(-1); return false; }); oBtnNext.click(function () { move(1); return false; }); } if (options.pager && oPager.length > 0) { oPager.click(setPager); } }
function setPager(oEvent) { var oTarget = oEvent.target; if ($(oTarget).hasClass('pagenum')) { iCurrent = parseInt(oTarget.rel) - 1; move(1); } return false; }
function setPagerActive() { if (options.pager) { var oNumbers = $('.pagenum', oPager); oNumbers.removeClass('active'); $(oNumbers[iCurrent]).addClass('active'); } }
function setTimer(bReset) { if (options.interval && !bReset) { clearInterval(oTimer); oTimer = window.setInterval(function () { bForward = iCurrent + 1 == iSteps ? false : iCurrent == 0 ? true : bForward; move(bForward ? 1 : -1, true); }, options.intervaltime); } }
function move(iDirection, bTimerReset) { if (iCurrent + iDirection > -1 && iCurrent + iDirection < iSteps) { iCurrent += iDirection; var oPosition = {}; oPosition[bAxis ? 'left' : 'top'] = -(iCurrent * (iPageSize * options.display)); oContent.animate(oPosition, { queue: false, duration: options.animation ? options.duration : 0, complete: function () { if (typeof options.callback == 'function') options.callback.call(this, oPages[iCurrent], iCurrent); } }); setButtons(); setPagerActive(); setTimer(bTimerReset); } }
};
})(jQuery);*/

/*----Fading images-------*/
(function ($) {

    $.fn.innerfade = function (options) {
        return this.each(function () {
            $.innerfade(this, options);
        });
    };

    $.innerfade = function (container, options) {
        var settings = {
            'animationtype': 'fade',
            'speed': 'normal',
            'type': 'sequence',
            'timeout': 2000,
            'containerheight': 'auto',
            'runningclass': 'innerfade',
            'children': null
        };
        if (options)
            $.extend(settings, options);
        if (settings.children === null)
            var elements = $(container).children();
        else
            var elements = $(container).children(settings.children);
        if (elements.length > 1) {
            $(container).css('position', 'relative').css('height', settings.containerheight).addClass(settings.runningclass);
            for (var i = 0; i < elements.length; i++) {
                $(elements[i]).css('z-index', String(elements.length - i)).css('position', 'absolute').hide();
            };
            if (settings.type == "sequence") {
                setTimeout(function () {
                    $.innerfade.next(elements, settings, 1, 0);
                }, settings.timeout);
                $(elements[0]).show();
            } else if (settings.type == "random") {
                var last = Math.floor(Math.random() * (elements.length));
                setTimeout(function () {
                    do {
                        current = Math.floor(Math.random() * (elements.length));
                    } while (last == current);
                    $.innerfade.next(elements, settings, current, last);
                }, settings.timeout);
                $(elements[last]).show();
            } else if (settings.type == 'random_start') {
                settings.type = 'sequence';
                var current = Math.floor(Math.random() * (elements.length));
                setTimeout(function () {
                    $.innerfade.next(elements, settings, (current + 1) % elements.length, current);
                }, settings.timeout);
                $(elements[current]).show();
            } else {
                alert('Innerfade-Type must either be \'sequence\', \'random\' or \'random_start\'');
            }
        }
    };

    $.innerfade.next = function (elements, settings, current, last) {
        if (settings.animationtype == 'slide') {
            $(elements[last]).slideUp(settings.speed);
            $(elements[current]).slideDown(settings.speed);
        } else if (settings.animationtype == 'fade') {
            $(elements[last]).fadeOut(settings.speed);
            $(elements[current]).fadeIn(settings.speed, function () {
                removeFilter($(this)[0]);
            });
        } else
            alert('Innerfade-animationtype must either be \'slide\' or \'fade\'');
        if (settings.type == "sequence") {
            if ((current + 1) < elements.length) {
                current = current + 1;
                last = current - 1;
            } else {
                current = 0;
                last = elements.length - 1;
            }
        } else if (settings.type == "random") {
            last = current;
            while (current == last)
                current = Math.floor(Math.random() * elements.length);
        } else
            alert('Innerfade-Type must either be \'sequence\', \'random\' or \'random_start\'');
        setTimeout((function () {
            $.innerfade.next(elements, settings, current, last);
        }), settings.timeout);
    };

})(jQuery);
/*----Fading images-------*/

// **** remove Opacity-Filter in ie ****
function removeFilter(element) {
    if (element.style.removeAttribute) {
        element.style.removeAttribute('filter');
    }
}

///*** shadow effect ***///
/*
* Shadow
* Created by Edgar Verle
* Shadow is made for the jQuery library.
* http://www.edgarverle.com/shadow
*/

/* 
* @name shadow
* @type jQuery
* @param Map options Optional settings
* @option Number cornerHeight The height in pixels of the corners of the shadow. Default: 8
* @option Number width The width in pixels of the shadow. Default: 4
* @option Number startOpacity This is the opacity at the closest point to the object. Default: 80
* @option Number endOpacity The opacity at the furthest point in the shadow from the object. Default: 20
* @option String color The color of the shadow. Default: black
*/

jQuery.fn.extend({
    shadow: function (options) {
        DropShadow(this, options);
    }
});

function DropShadow(element, options) {
    var cornerHeight = 8;
    var width = 4;
    var startOpacity = 80;
    var endOpacity = 20;
    var color = "black";

    if (options) {
        if (options["cornerHeight"] != null)
            cornerHeight = parseInt(options["cornerHeight"]);
        if (options["width"] != null)
            width = parseInt(options["width"]);
        if (options["startOpacity"] != null)
            startOpacity = parseFloat(options["startOpacity"]);
        if (options["endOpacity"] != null)
            endOpacity = parseFloat(options["endOpacity"]);
        if (options["color"] != null)
            color = options["color"];

        if (startOpacity < 1)
            startOpacity = Math.round(startOpacity * 100);

        if (endOpacity < 1)
            endOpacity = Math.round(endOpacity * 100);
    }

    if ($(element.id + "_shadow").length > 0)
        $(element.id + "_shadow").remove();

    element = $(element);

    var id = element[0].id + "_shadow";
    var html = "<div id='" + id + "' style='";

    if (element.css("position") == "absolute" || element.css("position") == "relative") {
        html += "position: " + element.css("position") + "; ";
        element.css("position", "");
    }

    if (element.css("top")) {
        html += "top:" + element.css("top") + "; ";
        element.css("top", "");
    }

    if (element.css("left")) {
        html += "left:" + element.css("left") + "; ";
        element.css("left", "");
    }

    html += "'><table style='float:left;' cellpadding='0px' cellspacing='0px'><tr class='shadowFirstRow'>" +
		"<td colspan='2' rowspan='2'></td></tr></table></div>";

    element.wrap(html);

    html = "<td colspan='" + width + "' style='width:" + width + "px; height:" + cornerHeight + "px;'><table cellpadding='0px' cellspacing='0px'>";

    var opacity = startOpacity;

    for (var i = 0; i < cornerHeight; i++) {
        html += "<tr>";

        for (var j = 0; j < width; j++) {
            opacity = Math.round((i - j * (cornerHeight / width)) * 10);

            if (opacity < 0)
                opacity = 0;
            else if (opacity < 10)
                opacity = "0" + opacity;

            html += "<td style='height:1px; width:1px; background-color: " + color + "; opacity:0." + opacity + "; filter:Alpha(opacity=" + opacity + ");'></td>"
        }

        html += "</tr>";
    }

    html += "</table></td>";

    $("#" + id).children().children().children(".shadowFirstRow").append(html);

    html = "<tr>";

    for (var i = startOpacity; i >= endOpacity; i -= (startOpacity - endOpacity) / (width - 1)) {
        opacity = Math.round(i);

        if (opacity < 10)
            opacity = "0" + opacity;

        html += "<td style='background-color:" + color + "; padding:0px; margin:0px; height:" + (element.height() - cornerHeight + 12) + "px; opacity:0." + opacity + "; filter:Alpha(opacity=" + opacity + ");'></td>";
    }

    html += "</tr>";

    html += "<tr><td rowspan='" + width + "' style='width:" + cornerHeight + "px; height:" + width + "px;'><table cellpadding='0px' cellspacing='0px'>";
    for (var i = 0; i < width; i++) {
        html += "<tr>";

        for (var j = 0; j < cornerHeight; j++) {
            opacity = Math.round((0 - i * (cornerHeight / width) + j) * 10);

            if (opacity < 0)
                opacity = 0;
            else if (opacity < 10)
                opacity = "0" + opacity;

            html += "<td style='width:1px; height:1px; background-color:" + color + "; opacity:0." + opacity + "; filter:Alpha(opacity=" + opacity + ");'></td>";
        }

        html += "</tr>";
    }

    html += "</table></td>";

    var temp = element.width() + 4;

    if ($.browser.msie)
        temp -= cornerHeight + 4;

    for (var i = startOpacity; i >= endOpacity; i -= (startOpacity - endOpacity) / (width - 1)) {
        if (i != startOpacity)
            html += "<tr>";

        opacity = Math.round(i);

        if (opacity < 10)
            opacity = "0" + opacity;

        html += "<td style='height:1px; width:" + temp + "px; background-color:" + color + "; opacity:0." + opacity + "; filter:Alpha(opacity=" + opacity + ");'></td>";

        for (var j = startOpacity; j >= endOpacity; j -= (startOpacity - endOpacity) / (width - 1)) {
            opacity = Math.round(j);

            if (opacity > i)
                opacity = Math.round(i);


            if (opacity < 10)
                opacity = "0" + opacity;

            html += "<td style='width:1px; height:1px; background-color:" + color + "; opacity:0." + opacity + "; filter:Alpha(opacity=" + opacity + ");'></td>";
        }

        html += "</tr>";
    }

    $("#" + id).children("table").append(html);
}
///*** shadow effect ***///

///*** list nav***///
(function ($) {
    $.fn.listnav = function (options) {
        var opts = $.extend({}, $.fn.listnav.defaults, options);
        var letters = ['_', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '-'];
        var firstClick = false;
        opts.prefixes = $.map(opts.prefixes, function (n) { return n.toLowerCase(); });

        return this.each(function () {
            var $wrapper, list, $list, $letters, $letterCount, id;
            id = this.id;
            $wrapper = $('#' + id + '-nav'); // user must abide by the convention: <ul id="myList"> for list and <div id="myList-nav"> for nav wrapper
            $list = $(this);

            var counts = {}, allCount = 0, isAll = true, numCount = 0, prevLetter = '';

            function init() {
                $wrapper.append(createLettersHtml());

                $letters = $('.ln-letters', $wrapper).slice(0, 1); // will always be a single item
                if (opts.showCounts) $letterCount = $('.ln-letter-count', $wrapper).slice(0, 1); // will always be a single item

                addClasses();
                addNoMatchLI();
                if (opts.flagDisabled) addDisabledClass();
                bindHandlers();

                if (!opts.includeAll) $list.show(); // show the list in case the recommendation for includeAll=false was taken

                // remove nav items we don't need
                //
                if (!opts.includeAll) $('.all', $letters).remove();
                if (!opts.includeNums) $('._', $letters).remove();
                if (!opts.includeOther) $('.-', $letters).remove();

                $(':last', $letters).addClass('ln-last'); // allows for styling a case where last item needs right border set (because items before that only have top, left and bottom so that border between items isn't doubled)

                if ($.cookie && (opts.cookieName != null)) {
                    var cookieLetter = $.cookie(opts.cookieName);
                    if (cookieLetter != null) opts.initLetter = cookieLetter;
                }

                // decide what to show first
                //
                if (opts.initLetter != '') {
                    firstClick = true;
                    $('.' + opts.initLetter.toLowerCase(), $letters).slice(0, 1).click(); // click the initLetter if there was one
                }
                else {
                    if (opts.includeAll) $('.all', $letters).addClass('ln-selected'); // showing all: we don't need to click this: the whole list is already loaded
                    else { // ALL link is hidden, click the first letter that will display LI's
                        for (var i = ((opts.includeNums) ? 0 : 1); i < letters.length; i++) {
                            if (counts[letters[i]] > 0) {
                                firstClick = true;
                                $('.' + letters[i], $letters).slice(0, 1).click();
                                break;
                            }
                        }
                    }
                }
            }

            // positions the letter count div above the letter links (so we only have to do it once: after this we just change it's left position via mouseover)
            //
            function setLetterCountTop() {
                $letterCount.css({ top: $('.a', $letters).slice(0, 1).offset({ margin: false, border: true }).top - $letterCount.outerHeight({ margin: true }) }); // note: don't set top based on '.all': it might not be visible
            }

            // adds a class to each LI that has text content inside of it (ie, inside an <a>, a <div>, nested DOM nodes, etc)
            //
            function addClasses() {
                var str, firstChar, firstWord, spl, $this, hasPrefixes = (opts.prefixes.length > 0);
                $($list).children().each(function () {
                    $this = $(this), firstChar = '', str = $.trim($this.text()).toLowerCase();
                    if (str != '') {
                        if (hasPrefixes) {
                            spl = str.split(' ');
                            if ((spl.length > 1) && ($.inArray(spl[0], opts.prefixes) > -1)) {
                                firstChar = spl[1].charAt(0);
                                addLetterClass(firstChar, $this, true);
                            }
                        }
                        firstChar = str.charAt(0);
                        addLetterClass(firstChar, $this);
                    }
                });
            }

            function addLetterClass(firstChar, $el, isPrefix) {
                if (/\W/.test(firstChar)) firstChar = '-'; // not A-Z, a-z or 0-9, so considered "other"
                if (!isNaN(firstChar)) firstChar = '_'; // use '_' if the first char is a number
                $el.addClass('ln-' + firstChar);

                if (counts[firstChar] == undefined) counts[firstChar] = 0;
                counts[firstChar]++;
                if (!isPrefix) allCount++;
            }

            function addDisabledClass() {
                for (var i = 0; i < letters.length; i++) {
                    if (counts[letters[i]] == undefined) $('.' + letters[i], $letters).addClass('ln-disabled');
                }
            }

            function addNoMatchLI() {
                $list.append('<li class="ln-no-match" style="display:none">' + opts.noMatchText + '</li>');
            }

            function getLetterCount(el) {
                if ($(el).hasClass('all')) return allCount;
                else {
                    var count = counts[$(el).attr('class').split(' ')[0]];
                    return (count != undefined) ? count : 0; // some letters may not have a count in the hash
                }
            }

            function bindHandlers() {

                // sets the top position of the count div in case something above it on the page has resized
                //
                if (opts.showCounts) {
                    $wrapper.mouseover(function () {
                        setLetterCountTop();
                    });
                }

                // mouseover for each letter: shows the count above the letter
                //
                if (opts.showCounts) {
                    $('a', $letters).mouseover(function () {
                        var left = $(this).position().left;
                        var width = ($(this).outerWidth({ margin: true }) - 1) + 'px'; // the -1 is to tweak the width a bit due to a seeming inaccuracy in jquery ui/dimensions outerWidth (same result in FF2 and IE6/7)
                        var count = getLetterCount(this);
                        $letterCount.css({ left: left, width: width }).text(count).show(); // set left position and width of letter count, set count text and show it
                    });

                    // mouseout for each letter: hide the count
                    //
                    $('a', $letters).mouseout(function () {
                        $letterCount.hide();
                    });
                }

                // click handler for letters: shows/hides relevant LI's
                //
                $('a', $letters).click(function () {
                    $('a.ln-selected', $letters).removeClass('ln-selected');

                    var letter = $(this).attr('class').split(' ')[0];

                    if (letter == 'all') {
                        $list.children().show();
                        $list.children('.ln-no-match').hide();
                        isAll = true;
                    } else {
                        if (isAll) {
                            $list.children().hide();
                            isAll = false;
                        } else if (prevLetter != '') $list.children('.ln-' + prevLetter).hide();

                        var count = getLetterCount(this);
                        if (count > 0) {
                            $list.children('.ln-no-match').hide(); // in case it's showing
                            $list.children('.ln-' + letter).show();
                        }
                        else $list.children('.ln-no-match').show();

                        prevLetter = letter;
                    }

                    if ($.cookie && (opts.cookieName != null)) $.cookie(opts.cookieName, letter);


                    $(this).addClass('ln-selected');
                    $(this).blur();
                    if (!firstClick && (opts.onClick != null)) opts.onClick(letter);
                    else firstClick = false;
                    return false;
                });
            }

            // creates the HTML for the letter links
            //	
            function createLettersHtml() {
                var html = [];
                for (var i = 1; i < letters.length; i++) {
                    if (html.length == 0) html.push('<a class="all" href="#">ALL</a><a class="_" href="#">0-9</a>');
                    html.push('<a class="' + letters[i] + '" href="#">' + ((letters[i] == '-') ? '...' : letters[i].toUpperCase()) + '</a>');
                }
                return '<div class="ln-letters">' + html.join('') + '</div>' + ((opts.showCounts) ? '<div class="ln-letter-count" style="display:none; position:absolute; top:0; left:0; width:20px;">0</div>' : ''); // the styling for ln-letter-count is to give us a starting point for the element, which will be repositioned when made visible (ie, should not need to be styled by the user)
            }

            init();
        });
    };

    $.fn.listnav.defaults = {
        initLetter: '',
        includeAll: true,
        incudeOther: false,
        includeNums: true,
        flagDisabled: true,
        noMatchText: 'No matching entries',
        showCounts: true,
        cookieName: null,
        onClick: null,
        prefixes: []
    };
})(jQuery);
///*** list nav***///

///*** Random tip of day and BOT***///
///*** remember to change url and put files in correct place ie. store/en/framework ***///
function GetRandomTOD() {
    $.ajax({
        type: "GET",
        url: "http://www.mxit.com/store/portal/en/framework/tod.xml",
        dataType: "xml",
        success: function (xml) {

            var count = $(xml).find('item').length;
            var randum = $.randomBetween(0, count - 1);

            $(xml).find('item').eq(randum).each(function () {
                var title = $(this).find('title').text();
                var desc = $(this).find('description').text();
                var url = $(this).find('url').text();
                $("#tod_body").empty();
                $('<div class="tip_header"></div>').html(title).appendTo('#tod_body');
                $('<div class="tip_content"></div>').html(desc).appendTo('#tod_body');
            });
        },
        error: function () {
            $('<div class="tip_header"></div>').html("Problem loading tip of the day.").appendTo('#tod_body');
        }
    });
}

function GetRandomSMI() {
    $.ajax({
        type: "GET",
        url: "http://www.mxit.com/store/portal/en/framework/smi.xml",
        dataType: "xml",
        success: function (xml) {
            var count = $(xml).find('item').length;
            var randum = $.randomBetween(0, count - 1);

            $(xml).find('item').eq(randum).each(function () {
                var link = $(this).find('link').text();
                var desc = $(this).find('description').text();
                var val = "background-image: url(" + link + "); background-repeat:no-repeat; background-position: center center;";
                var click = 'javascript:window.location="' + desc + '";';
                $("#smi_container").empty();
                $('<div id="smi_frame" class="smi_frame"></div>').attr("style", val).appendTo('#smi_container');
                $('#smi_frame').attr("onClick", click);

                $("#smi_frame").shadow({
                    width: 5,
                    startOpacity: 60,
                    endOpacity: 10,
                    cornerHeight: 8,
                    color: "#000000"
                });

            });
        },
        error: function () {
            $('<div id="smi_frame"></div>').html("Image not loaded.").appendTo('#smi_container');
        }
    });

    //        <div id="smi_frame" class="smi_frame">
    //          <xsl:attribute name="style">
    //            background-image: url(<xsl:value-of select="link"/>); background-repeat:no-repeat;
    //          </xsl:attribute>
    //          <xsl:attribute name="onClick">
    //            javascript:window.location='<xsl:value-of select="description" disable-output-escaping="yes"/>';
    //          </xsl:attribute>
    //        </div>

}

function GetRandomSMIcustom() {
    $.ajax({
        type: "GET",
        url: "http://www.mxit.com/store/portal/en/framework/smi_custom_chat.xml",
        dataType: "xml",
        success: function (xml) {
            var count = $(xml).find('item').length;
            var randum = $.randomBetween(0, count - 1);

            $(xml).find('item').eq(randum).each(function () {
                var link = $(this).find('link').text();
                var desc = $(this).find('description').text();
                var val = "background-image: url(" + link + "); background-repeat:no-repeat; background-position: center center;";
                var click = 'javascript:window.location="' + desc + '";';
                $("#smi_container").empty();
                $('<div id="smi_frame" class="smi_frame"></div>').attr("style", val).appendTo('#smi_container');
                $('#smi_frame').attr("onClick", click);

                $("#smi_frame").shadow({
                    width: 5,
                    startOpacity: 60,
                    endOpacity: 10,
                    cornerHeight: 8,
                    color: "#000000"
                });

            });
        },
        error: function () {
            $('<div id="smi_frame"></div>').html("Image not loaded.").appendTo('#smi_container');
        }
    });
}


function GetRandomBOT() {
    $.ajax({
        type: "GET",
        url: "http://www.mxit.com/store/portal/en/framework/bot.xml",
        dataType: "xml",
        success: function (xml) {
            var count = $(xml).find('item').length;
            var randum = $.randomBetween(0, count - 1);

            $(xml).find('item').eq(randum).each(function () {
                var header = "Featured Service";
                var title = $(this).find('title').text();
                var desc = $(this).find('description').text();
                //var url = $(this).find('url').text();
                $("#service_frame").empty();
                $('<div class="service_header ui-corner-top"></div>').html(header).appendTo('#service_frame');
                $('<div class="service_title"></div>').html(title).appendTo('#service_frame');
                $('<div class="service_description"></div>').html(desc).appendTo('#service_frame');
            });
        },
        error: function () {
            $('<div class="bot_div"></div>').html("Problem loading random BOT.").appendTo('#bot_body');
        }
    });
}
///*** Random tip of day and BOT***///

///*** Send email***///
function SendEmail(to, subject, body) {
    if (to == "PleaseSelect") {
        alert("Choose Division");
    }
    else {

        $.ajax({
            type: "POST",
            url: "http://www.mxit.com/services/service.asmx/SendEmail",
            data: "{'to': '" + to + "', 'subject': '" + subject + "', 'body': '" + body + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: Success,
            error: Error
        });

    }
}

function Success(data, status) {
    if (data.d == -1 || data.d == 2) {
        $(".validateTips").text('Something went wrong.').addClass("ui-state-highlight");
    }
    else if (data.d == 1) {
        $(".validateTips")
    		.text('Sent successfully.')
    		.addClass("ui-state-highlight");


    }
    $("#contact_form_contents").hide();
    $("#lblconfirmation").show();
    //alert("Your message was sent");
    //Clear();
}

function Error(request, status, error) {
    return 99;
}

///*** Pop up dialog***///
$(function () {
    $("#dialog:ui-dialog").dialog("destroy");

    var name = $("#name"),
			email = $("#email"),
			to = $("#to"),
			subject = $("#subject"),
			message = $("#message"),
			mobile = $("#mobile"),
			allFields = $([]).add(name).add(email).add(to).add(subject).add(message).add(mobile),
			tips = $(".validateTips");

    function updateTips(t) {
        tips
				.text(t)
				.addClass("ui-state-highlight");
        setTimeout(function () {
            tips.removeClass("ui-state-highlight", 1500);
        }, 500);
    }

    function checkLength(o, n, min, max) {
        if (o.val().length > max || o.val().length < min) {
            o.addClass("ui-state-error");
            updateTips("Length of " + n + " must be between " +
					min + " and " + max + ".");
            return false;
        } else {
            return true;
        }
    }

    function checkRegexp(o, regexp, n) {
        if (!(regexp.test(o.val()))) {
            o.addClass("ui-state-error");
            updateTips(n);
            return false;
        } else {
            return true;
        }
    }

    $("#dialog-form").dialog({
        autoOpen: false,
        height: 450,
        width: 350,
        modal: true,
        buttons: {
            "Send message": function () {
                var bValid = true;
                allFields.removeClass("ui-state-error");

                bValid = bValid && checkLength(name, "username", 3, 16);
                bValid = bValid && checkLength(email, "email", 6, 80);
                bValid = bValid && checkLength(message, "message", 6, 2000);

                // From jquery.validate.js (by joern), contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/
                bValid = bValid && checkRegexp(email, /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i, "eg. yourname@domain.com");

                if (bValid) {
                    // Build the body data
                    var body = "Name: " + name.val() + "<br />Email: " + email.val() + "<br />Contact number: " + mobile.val() + "<br />Message: " + message.val();

                    // Send the email
                    SendEmail(to.val(), subject.val(), body);

                    setTimeout($(this).dialog("close"), 2000);
                }
            },
            Cancel: function () {
                $(this).dialog("close");
            }
        },
        close: function () {
            allFields.val("").removeClass("ui-state-error");
        }
    });
});

function OpenDialog(to, subject) {
    $("#dialog-form").dialog("open");
    $("#to").val(to);
    $("#subject").val(subject);
}

function HideContent(d) {
    if (d.length < 1) { return; }
    document.getElementById(d).style.display = "none";
}
function ShowContent(d) {
    if (d.length < 1) { return; }
    document.getElementById(d).style.display = "block";
}
function ReverseContentDisplay(d) {
    if (d.length < 1) { return; }
    if (document.getElementById(d).style.display == "none") { document.getElementById(d).style.display = "block"; }
    else { document.getElementById(d).style.display = "none"; }
}
// V6 rollover
function move_in(img_name, img_src) {
    document[img_name].src = img_src;
}

function move_out(img_name, img_src) {
    document[img_name].src = img_src;
}
  

