﻿/*!
* jQuery JavaScript Library v1.4.3
* http://jquery.com/
*
* Copyright 2010, John Resig
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* Includes Sizzle.js
* http://sizzlejs.com/
* Copyright 2010, The Dojo Foundation
* Released under the MIT, BSD, and GPL Licenses.
*
* Date: Thu Oct 14 23:10:06 2010 -0400
*/
(function(E, A) {
    function U() { return false } function ba() { return true } function ja(a, b, d) { d[0].type = a; return c.event.handle.apply(b, d) } function Ga(a) {
        var b, d, e = [], f = [], h, k, l, n, s, v, B, D; k = c.data(this, this.nodeType ? "events" : "__events__"); if (typeof k === "function") k = k.events; if (!(a.liveFired === this || !k || !k.live || a.button && a.type === "click")) {
            if (a.namespace) D = RegExp("(^|\\.)" + a.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)"); a.liveFired = this; var H = k.live.slice(0); for (n = 0; n < H.length; n++) {
                k = H[n]; k.origType.replace(X,
"") === a.type ? f.push(k.selector) : H.splice(n--, 1)
            } f = c(a.target).closest(f, a.currentTarget); s = 0; for (v = f.length; s < v; s++) { B = f[s]; for (n = 0; n < H.length; n++) { k = H[n]; if (B.selector === k.selector && (!D || D.test(k.namespace))) { l = B.elem; h = null; if (k.preType === "mouseenter" || k.preType === "mouseleave") { a.type = k.preType; h = c(a.relatedTarget).closest(k.selector)[0] } if (!h || h !== l) e.push({ elem: l, handleObj: k, level: B.level }) } } } s = 0; for (v = e.length; s < v; s++) {
                f = e[s]; if (d && f.level > d) break; a.currentTarget = f.elem; a.data = f.handleObj.data;
                a.handleObj = f.handleObj; D = f.handleObj.origHandler.apply(f.elem, arguments); if (D === false || a.isPropagationStopped()) { d = f.level; if (D === false) b = false } 
            } return b
        } 
    } function Y(a, b) { return (a && a !== "*" ? a + "." : "") + b.replace(Ha, "`").replace(Ia, "&") } function ka(a, b, d) {
        if (c.isFunction(b)) return c.grep(a, function(f, h) { return !!b.call(f, h, f) === d }); else if (b.nodeType) return c.grep(a, function(f) { return f === b === d }); else if (typeof b === "string") {
            var e = c.grep(a, function(f) { return f.nodeType === 1 }); if (Ja.test(b)) return c.filter(b,
e, !d); else b = c.filter(b, e)
        } return c.grep(a, function(f) { return c.inArray(f, b) >= 0 === d })
    } function la(a, b) { var d = 0; b.each(function() { if (this.nodeName === (a[d] && a[d].nodeName)) { var e = c.data(a[d++]), f = c.data(this, e); if (e = e && e.events) { delete f.handle; f.events = {}; for (var h in e) for (var k in e[h]) c.event.add(this, h, e[h][k], e[h][k].data) } } }) } function Ka(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 ma(a, b, d) { var e = b === "width" ? a.offsetWidth : a.offsetHeight; if (d === "border") return e; c.each(b === "width" ? La : Ma, function() { d || (e -= parseFloat(c.css(a, "padding" + this)) || 0); if (d === "margin") e += parseFloat(c.css(a, "margin" + this)) || 0; else e -= parseFloat(c.css(a, "border" + this + "Width")) || 0 }); return e } function ca(a, b, d, e) {
        if (c.isArray(b) && b.length) c.each(b, function(f, h) { d || Na.test(a) ? e(a, h) : ca(a + "[" + (typeof h === "object" || c.isArray(h) ? f : "") + "]", h, d, e) }); else if (!d && b != null && typeof b === "object") c.isEmptyObject(b) ?
e(a, "") : c.each(b, function(f, h) { ca(a + "[" + f + "]", h, d, e) }); else e(a, b)
    } function S(a, b) { var d = {}; c.each(na.concat.apply([], na.slice(0, b)), function() { d[this] = a }); return d } function oa(a) { if (!da[a]) { var b = c("<" + a + ">").appendTo("body"), d = b.css("display"); b.remove(); if (d === "none" || d === "") d = "block"; da[a] = d } return da[a] } function ea(a) { return c.isWindow(a) ? a : a.nodeType === 9 ? a.defaultView || a.parentWindow : false } var u = E.document, c = function() {
        function a() {
            if (!b.isReady) {
                try { u.documentElement.doScroll("left") } catch (i) {
                    setTimeout(a,
1); return
                } b.ready()
            } 
        } var b = function(i, r) { return new b.fn.init(i, r) }, d = E.jQuery, e = E.$, f, h = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/, k = /\S/, l = /^\s+/, n = /\s+$/, s = /\W/, v = /\d/, B = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, D = /^[\],:{}\s]*$/, H = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, w = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, G = /(?:^|:|,)(?:\s*\[)+/g, M = /(webkit)[ \/]([\w.]+)/, g = /(opera)(?:.*version)?[ \/]([\w.]+)/, j = /(msie) ([\w.]+)/, o = /(mozilla)(?:.*? rv:([\w.]+))?/, m = navigator.userAgent, p = false,
q = [], t, x = Object.prototype.toString, C = Object.prototype.hasOwnProperty, P = Array.prototype.push, N = Array.prototype.slice, R = String.prototype.trim, Q = Array.prototype.indexOf, L = {}; b.fn = b.prototype = { init: function(i, r) {
    var y, z, F; if (!i) return this; if (i.nodeType) { this.context = this[0] = i; this.length = 1; return this } if (i === "body" && !r && u.body) { this.context = u; this[0] = u.body; this.selector = "body"; this.length = 1; return this } if (typeof i === "string") if ((y = h.exec(i)) && (y[1] || !r)) if (y[1]) {
        F = r ? r.ownerDocument || r : u; if (z = B.exec(i)) if (b.isPlainObject(r)) {
            i =
[u.createElement(z[1])]; b.fn.attr.call(i, r, true)
        } else i = [F.createElement(z[1])]; else { z = b.buildFragment([y[1]], [F]); i = (z.cacheable ? z.fragment.cloneNode(true) : z.fragment).childNodes } return b.merge(this, i)
    } else { if ((z = u.getElementById(y[2])) && z.parentNode) { if (z.id !== y[2]) return f.find(i); this.length = 1; this[0] = z } this.context = u; this.selector = i; return this } else if (!r && !s.test(i)) { this.selector = i; this.context = u; i = u.getElementsByTagName(i); return b.merge(this, i) } else return !r || r.jquery ? (r || f).find(i) : b(r).find(i);
    else if (b.isFunction(i)) return f.ready(i); if (i.selector !== A) { this.selector = i.selector; this.context = i.context } return b.makeArray(i, this)
}, selector: "", jquery: "1.4.3", length: 0, size: function() { return this.length }, toArray: function() { return N.call(this, 0) }, get: function(i) { return i == null ? this.toArray() : i < 0 ? this.slice(i)[0] : this[i] }, pushStack: function(i, r, y) {
    var z = b(); b.isArray(i) ? P.apply(z, i) : b.merge(z, i); z.prevObject = this; z.context = this.context; if (r === "find") z.selector = this.selector + (this.selector ? " " :
"") + y; else if (r) z.selector = this.selector + "." + r + "(" + y + ")"; return z
}, each: function(i, r) { return b.each(this, i, r) }, ready: function(i) { b.bindReady(); if (b.isReady) i.call(u, b); else q && q.push(i); return this }, eq: function(i) { return i === -1 ? this.slice(i) : this.slice(i, +i + 1) }, first: function() { return this.eq(0) }, last: function() { return this.eq(-1) }, slice: function() { return this.pushStack(N.apply(this, arguments), "slice", N.call(arguments).join(",")) }, map: function(i) {
    return this.pushStack(b.map(this, function(r, y) {
        return i.call(r,
y, r)
    }))
}, end: function() { return this.prevObject || b(null) }, push: P, sort: [].sort, splice: [].splice
}; b.fn.init.prototype = b.fn; b.extend = b.fn.extend = function() {
    var i = arguments[0] || {}, r = 1, y = arguments.length, z = false, F, I, K, J, fa; if (typeof i === "boolean") { z = i; i = arguments[1] || {}; r = 2 } if (typeof i !== "object" && !b.isFunction(i)) i = {}; if (y === r) { i = this; --r } for (; r < y; r++) if ((F = arguments[r]) != null) for (I in F) {
        K = i[I]; J = F[I]; if (i !== J) if (z && J && (b.isPlainObject(J) || (fa = b.isArray(J)))) {
            if (fa) { fa = false; clone = K && b.isArray(K) ? K : [] } else clone =
K && b.isPlainObject(K) ? K : {}; i[I] = b.extend(z, clone, J)
        } else if (J !== A) i[I] = J
    } return i
}; b.extend({ noConflict: function(i) { E.$ = e; if (i) E.jQuery = d; return b }, isReady: false, readyWait: 1, ready: function(i) { i === true && b.readyWait--; if (!b.readyWait || i !== true && !b.isReady) { if (!u.body) return setTimeout(b.ready, 1); b.isReady = true; if (!(i !== true && --b.readyWait > 0)) { if (q) { for (var r = 0; i = q[r++]; ) i.call(u, b); q = null } b.fn.triggerHandler && b(u).triggerHandler("ready") } } }, bindReady: function() {
    if (!p) {
        p = true; if (u.readyState === "complete") return setTimeout(b.ready,
1); if (u.addEventListener) { u.addEventListener("DOMContentLoaded", t, false); E.addEventListener("load", b.ready, false) } else if (u.attachEvent) { u.attachEvent("onreadystatechange", t); E.attachEvent("onload", b.ready); var i = false; try { i = E.frameElement == null } catch (r) { } u.documentElement.doScroll && i && a() } 
    } 
}, isFunction: function(i) { return b.type(i) === "function" }, isArray: Array.isArray || function(i) { return b.type(i) === "array" }, isWindow: function(i) { return i && typeof i === "object" && "setInterval" in i }, isNaN: function(i) {
    return i ==
null || !v.test(i) || isNaN(i)
}, type: function(i) { return i == null ? String(i) : L[x.call(i)] || "object" }, isPlainObject: function(i) { if (!i || b.type(i) !== "object" || i.nodeType || b.isWindow(i)) return false; if (i.constructor && !C.call(i, "constructor") && !C.call(i.constructor.prototype, "isPrototypeOf")) return false; for (var r in i); return r === A || C.call(i, r) }, isEmptyObject: function(i) { for (var r in i) return false; return true }, error: function(i) { throw i; }, parseJSON: function(i) {
    if (typeof i !== "string" || !i) return null; i = b.trim(i);
    if (D.test(i.replace(H, "@").replace(w, "]").replace(G, ""))) return E.JSON && E.JSON.parse ? E.JSON.parse(i) : (new Function("return " + i))(); else b.error("Invalid JSON: " + i)
}, noop: function() { }, globalEval: function(i) { if (i && k.test(i)) { var r = u.getElementsByTagName("head")[0] || u.documentElement, y = u.createElement("script"); y.type = "text/javascript"; if (b.support.scriptEval) y.appendChild(u.createTextNode(i)); else y.text = i; r.insertBefore(y, r.firstChild); r.removeChild(y) } }, nodeName: function(i, r) {
    return i.nodeName && i.nodeName.toUpperCase() ===
r.toUpperCase()
}, each: function(i, r, y) { var z, F = 0, I = i.length, K = I === A || b.isFunction(i); if (y) if (K) for (z in i) { if (r.apply(i[z], y) === false) break } else for (; F < I; ) { if (r.apply(i[F++], y) === false) break } else if (K) for (z in i) { if (r.call(i[z], z, i[z]) === false) break } else for (y = i[0]; F < I && r.call(y, F, y) !== false; y = i[++F]); return i }, trim: R ? function(i) { return i == null ? "" : R.call(i) } : function(i) { return i == null ? "" : i.toString().replace(l, "").replace(n, "") }, makeArray: function(i, r) {
    var y = r || []; if (i != null) {
        var z = b.type(i); i.length ==
null || z === "string" || z === "function" || z === "regexp" || b.isWindow(i) ? P.call(y, i) : b.merge(y, i)
    } return y
}, inArray: function(i, r) { if (r.indexOf) return r.indexOf(i); for (var y = 0, z = r.length; y < z; y++) if (r[y] === i) return y; return -1 }, merge: function(i, r) { var y = i.length, z = 0; if (typeof r.length === "number") for (var F = r.length; z < F; z++) i[y++] = r[z]; else for (; r[z] !== A; ) i[y++] = r[z++]; i.length = y; return i }, grep: function(i, r, y) { var z = [], F; y = !!y; for (var I = 0, K = i.length; I < K; I++) { F = !!r(i[I], I); y !== F && z.push(i[I]) } return z }, map: function(i,
r, y) { for (var z = [], F, I = 0, K = i.length; I < K; I++) { F = r(i[I], I, y); if (F != null) z[z.length] = F } return z.concat.apply([], z) }, guid: 1, proxy: function(i, r, y) { if (arguments.length === 2) if (typeof r === "string") { y = i; i = y[r]; r = A } else if (r && !b.isFunction(r)) { y = r; r = A } if (!r && i) r = function() { return i.apply(y || this, arguments) }; if (i) r.guid = i.guid = i.guid || r.guid || b.guid++; return r }, access: function(i, r, y, z, F, I) {
    var K = i.length; if (typeof r === "object") { for (var J in r) b.access(i, J, r[J], z, F, y); return i } if (y !== A) {
        z = !I && z && b.isFunction(y);
        for (J = 0; J < K; J++) F(i[J], r, z ? y.call(i[J], J, F(i[J], r)) : y, I); return i
    } return K ? F(i[0], r) : A
}, now: function() { return (new Date).getTime() }, uaMatch: function(i) { i = i.toLowerCase(); i = M.exec(i) || g.exec(i) || j.exec(i) || i.indexOf("compatible") < 0 && o.exec(i) || []; return { browser: i[1] || "", version: i[2] || "0"} }, browser: {}
}); b.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, r) { L["[object " + r + "]"] = r.toLowerCase() }); m = b.uaMatch(m); if (m.browser) {
            b.browser[m.browser] = true; b.browser.version =
m.version
        } if (b.browser.webkit) b.browser.safari = true; if (Q) b.inArray = function(i, r) { return Q.call(r, i) }; if (!/\s/.test("\u00a0")) { l = /^[\s\xA0]+/; n = /[\s\xA0]+$/ } f = b(u); if (u.addEventListener) t = function() { u.removeEventListener("DOMContentLoaded", t, false); b.ready() }; else if (u.attachEvent) t = function() { if (u.readyState === "complete") { u.detachEvent("onreadystatechange", t); b.ready() } }; return E.jQuery = E.$ = b
    } (); (function() {
        c.support = {}; var a = u.documentElement, b = u.createElement("script"), d = u.createElement("div"),
e = "script" + c.now(); 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 f = d.getElementsByTagName("*"), h = d.getElementsByTagName("a")[0], k = u.createElement("select"), l = k.appendChild(u.createElement("option")); if (!(!f || !f.length || !h)) {
            c.support = { leadingWhitespace: d.firstChild.nodeType === 3, tbody: !d.getElementsByTagName("tbody").length, htmlSerialize: !!d.getElementsByTagName("link").length, style: /red/.test(h.getAttribute("style")),
                hrefNormalized: h.getAttribute("href") === "/a", opacity: /^0.55$/.test(h.style.opacity), cssFloat: !!h.style.cssFloat, checkOn: d.getElementsByTagName("input")[0].value === "on", optSelected: l.selected, optDisabled: false, checkClone: false, scriptEval: false, noCloneEvent: true, boxModel: null, inlineBlockNeedsLayout: false, shrinkWrapBlocks: false, reliableHiddenOffsets: true
            }; k.disabled = true; c.support.optDisabled = !l.disabled; b.type = "text/javascript"; try { b.appendChild(u.createTextNode("window." + e + "=1;")) } catch (n) { } a.insertBefore(b,
a.firstChild); if (E[e]) { c.support.scriptEval = true; delete E[e] } a.removeChild(b); if (d.attachEvent && d.fireEvent) { d.attachEvent("onclick", function s() { c.support.noCloneEvent = false; d.detachEvent("onclick", s) }); d.cloneNode(true).fireEvent("onclick") } d = u.createElement("div"); d.innerHTML = "<input type='radio' name='radiotest' checked='checked'/>"; a = u.createDocumentFragment(); a.appendChild(d.firstChild); c.support.checkClone = a.cloneNode(true).cloneNode(true).lastChild.checked; c(function() {
    var s = u.createElement("div");
    s.style.width = s.style.paddingLeft = "1px"; u.body.appendChild(s); c.boxModel = c.support.boxModel = s.offsetWidth === 2; if ("zoom" in s.style) { s.style.display = "inline"; s.style.zoom = 1; c.support.inlineBlockNeedsLayout = s.offsetWidth === 2; s.style.display = ""; s.innerHTML = "<div style='width:4px;'></div>"; c.support.shrinkWrapBlocks = s.offsetWidth !== 2 } s.innerHTML = "<table><tr><td style='padding:0;display:none'></td><td>t</td></tr></table>"; var v = s.getElementsByTagName("td"); c.support.reliableHiddenOffsets = v[0].offsetHeight ===
0; v[0].style.display = ""; v[1].style.display = "none"; c.support.reliableHiddenOffsets = c.support.reliableHiddenOffsets && v[0].offsetHeight === 0; s.innerHTML = ""; u.body.removeChild(s).style.display = "none"
}); a = function(s) { var v = u.createElement("div"); s = "on" + s; var B = s in v; if (!B) { v.setAttribute(s, "return;"); B = typeof v[s] === "function" } return B }; c.support.submitBubbles = a("submit"); c.support.changeBubbles = a("change"); a = b = d = f = h = null
        } 
    })(); c.props = { "for": "htmlFor", "class": "className", readonly: "readOnly", maxlength: "maxLength",
        cellspacing: "cellSpacing", rowspan: "rowSpan", colspan: "colSpan", tabindex: "tabIndex", usemap: "useMap", frameborder: "frameBorder"
    }; var pa = {}, Oa = /^(?:\{.*\}|\[.*\])$/; c.extend({ cache: {}, uuid: 0, expando: "jQuery" + c.now(), noData: { embed: true, object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", applet: true }, data: function(a, b, d) {
        if (c.acceptData(a)) {
            a = a == E ? pa : a; var e = a.nodeType, f = e ? a[c.expando] : null, h = c.cache; if (!(e && !f && typeof b === "string" && d === A)) {
                if (e) f || (a[c.expando] = f = ++c.uuid); else h = a; if (typeof b === "object") if (e) h[f] =
c.extend(h[f], b); else c.extend(h, b); else if (e && !h[f]) h[f] = {}; a = e ? h[f] : h; if (d !== A) a[b] = d; return typeof b === "string" ? a[b] : a
            } 
        } 
    }, removeData: function(a, b) { if (c.acceptData(a)) { a = a == E ? pa : a; var d = a.nodeType, e = d ? a[c.expando] : a, f = c.cache, h = d ? f[e] : e; if (b) { if (h) { delete h[b]; d && c.isEmptyObject(h) && c.removeData(a) } } else if (d && c.support.deleteExpando) delete a[c.expando]; else if (a.removeAttribute) a.removeAttribute(c.expando); else if (d) delete f[e]; else for (var k in a) delete a[k] } }, acceptData: function(a) {
        if (a.nodeName) {
            var b =
c.noData[a.nodeName.toLowerCase()]; if (b) return !(b === true || a.getAttribute("classid") !== b)
        } return true
    } 
    }); c.fn.extend({ data: function(a, b) {
        if (typeof a === "undefined") return this.length ? c.data(this[0]) : null; 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 === A) {
            var e = this.triggerHandler("getData" + d[1] + "!", [d[0]]); if (e === A && this.length) {
                e = c.data(this[0], a); if (e === A && this[0].nodeType === 1) {
                    e = this[0].getAttribute("data-" + a); if (typeof e ===
"string") try { e = e === "true" ? true : e === "false" ? false : e === "null" ? null : !c.isNaN(e) ? parseFloat(e) : Oa.test(e) ? c.parseJSON(e) : e } catch (f) { } else e = A
                } 
            } return e === A && d[1] ? this.data(d[0]) : e
        } else return this.each(function() { var h = c(this), k = [d[0], b]; h.triggerHandler("setData" + d[1] + "!", k); c.data(this, a, b); h.triggerHandler("changeData" + d[1] + "!", k) })
    }, 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 e = c.data(a, b); if (!d) return e ||
[]; if (!e || c.isArray(d)) e = c.data(a, b, c.makeArray(d)); else e.push(d); return e
        } 
    }, dequeue: function(a, b) { b = b || "fx"; var d = c.queue(a, b), e = d.shift(); if (e === "inprogress") e = d.shift(); if (e) { b === "fx" && d.unshift("inprogress"); e.call(a, function() { c.dequeue(a, b) }) } } 
    }); c.fn.extend({ queue: function(a, b) { if (typeof a !== "string") { b = a; a = "fx" } if (b === A) 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 qa = /[\n\t]/g, ga = /\s+/, Pa = /\r/g, Qa = /^(?:href|src|style)$/, Ra = /^(?:button|input)$/i, Sa = /^(?:button|input|object|select|textarea)$/i, Ta = /^a(?:rea)?$/i, ra = /^(?:radio|checkbox)$/i; c.fn.extend({ attr: function(a, b) { return c.access(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(s) { var v = c(this); v.addClass(a.call(this, s, v.attr("class"))) }); if (a && typeof a === "string") for (var b = (a || "").split(ga), d = 0, e = this.length; d < e; d++) { var f = this[d]; if (f.nodeType === 1) if (f.className) { for (var h = " " + f.className + " ", k = f.className, l = 0, n = b.length; l < n; l++) if (h.indexOf(" " + b[l] + " ") < 0) k += " " + b[l]; f.className = c.trim(k) } else f.className = a } return this }, removeClass: function(a) {
        if (c.isFunction(a)) return this.each(function(n) {
            var s =
c(this); s.removeClass(a.call(this, n, s.attr("class")))
        }); if (a && typeof a === "string" || a === A) for (var b = (a || "").split(ga), d = 0, e = this.length; d < e; d++) { var f = this[d]; if (f.nodeType === 1 && f.className) if (a) { for (var h = (" " + f.className + " ").replace(qa, " "), k = 0, l = b.length; k < l; k++) h = h.replace(" " + b[k] + " ", " "); f.className = c.trim(h) } else f.className = "" } return this
    }, toggleClass: function(a, b) {
        var d = typeof a, e = typeof b === "boolean"; if (c.isFunction(a)) return this.each(function(f) {
            var h = c(this); h.toggleClass(a.call(this,
f, h.attr("class"), b), b)
        }); return this.each(function() { if (d === "string") for (var f, h = 0, k = c(this), l = b, n = a.split(ga); f = n[h++]; ) { l = e ? l : !k.hasClass(f); k[l ? "addClass" : "removeClass"](f) } 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(qa, " ").indexOf(a) > -1) return true; return false },
        val: function(a) {
            if (!arguments.length) {
                var b = this[0]; if (b) {
                    if (c.nodeName(b, "option")) { var d = b.attributes.value; return !d || d.specified ? b.value : b.text } if (c.nodeName(b, "select")) { var e = b.selectedIndex; d = []; var f = b.options; b = b.type === "select-one"; if (e < 0) return null; var h = b ? e : 0; for (e = b ? e + 1 : f.length; h < e; h++) { var k = f[h]; if (k.selected && (c.support.optDisabled ? !k.disabled : k.getAttribute("disabled") === null) && (!k.parentNode.disabled || !c.nodeName(k.parentNode, "optgroup"))) { a = c(k).val(); if (b) return a; d.push(a) } } return d } if (ra.test(b.type) &&
!c.support.checkOn) return b.getAttribute("value") === null ? "on" : b.value; return (b.value || "").replace(Pa, "")
                } return A
            } var l = c.isFunction(a); return this.each(function(n) {
                var s = c(this), v = a; if (this.nodeType === 1) {
                    if (l) v = a.call(this, n, s.val()); if (v == null) v = ""; else if (typeof v === "number") v += ""; else if (c.isArray(v)) v = c.map(v, function(D) { return D == null ? "" : D + "" }); if (c.isArray(v) && ra.test(this.type)) this.checked = c.inArray(s.val(), v) >= 0; else if (c.nodeName(this, "select")) {
                        var B = c.makeArray(v); c("option", this).each(function() {
                            this.selected =
c.inArray(c(this).val(), B) >= 0
                        }); if (!B.length) this.selectedIndex = -1
                    } else this.value = v
                } 
            })
        } 
    }); c.extend({ attrFn: { val: true, css: true, html: true, text: true, data: true, width: true, height: true, offset: true }, attr: function(a, b, d, e) {
        if (!a || a.nodeType === 3 || a.nodeType === 8) return A; if (e && b in c.attrFn) return c(a)[b](d); e = a.nodeType !== 1 || !c.isXMLDoc(a); var f = d !== A; b = e && c.props[b] || b; if (a.nodeType === 1) {
            var h = Qa.test(b); if ((b in a || a[b] !== A) && e && !h) {
                if (f) {
                    b === "type" && Ra.test(a.nodeName) && a.parentNode && c.error("type property can't be changed");
                    if (d === null) a.nodeType === 1 && a.removeAttribute(b); else 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 : Sa.test(a.nodeName) || Ta.test(a.nodeName) && a.href ? 0 : A; return a[b]
            } if (!c.support.style && e && b === "style") { if (f) a.style.cssText = "" + d; return a.style.cssText } f && a.setAttribute(b, "" + d); if (!a.attributes[b] && a.hasAttribute && !a.hasAttribute(b)) return A; a = !c.support.hrefNormalized && e &&
h ? a.getAttribute(b, 2) : a.getAttribute(b); return a === null ? A : a
        } 
    } 
    }); var X = /\.(.*)$/, ha = /^(?:textarea|input|select)$/i, Ha = /\./g, Ia = / /g, Ua = /[^\w\s.|`]/g, Va = function(a) { return a.replace(Ua, "\\$&") }, sa = { focusin: 0, focusout: 0 }; c.event = { add: function(a, b, d, e) {
        if (!(a.nodeType === 3 || a.nodeType === 8)) {
            if (c.isWindow(a) && a !== E && !a.frameElement) a = E; if (d === false) d = U; var f, h; if (d.handler) { f = d; d = f.handler } if (!d.guid) d.guid = c.guid++; if (h = c.data(a)) {
                var k = a.nodeType ? "events" : "__events__", l = h[k], n = h.handle; if (typeof l ===
"function") { n = l.handle; l = l.events } else if (!l) { a.nodeType || (h[k] = h = function() { }); h.events = l = {} } if (!n) h.handle = n = function() { return typeof c !== "undefined" && !c.event.triggered ? c.event.handle.apply(n.elem, arguments) : A }; n.elem = a; b = b.split(" "); for (var s = 0, v; k = b[s++]; ) {
                    h = f ? c.extend({}, f) : { handler: d, data: e }; if (k.indexOf(".") > -1) { v = k.split("."); k = v.shift(); h.namespace = v.slice(0).sort().join(".") } else { v = []; h.namespace = "" } h.type = k; if (!h.guid) h.guid = d.guid; var B = l[k], D = c.event.special[k] || {}; if (!B) {
                        B = l[k] = [];
                        if (!D.setup || D.setup.call(a, e, v, n) === false) if (a.addEventListener) a.addEventListener(k, n, false); else a.attachEvent && a.attachEvent("on" + k, n)
                    } if (D.add) { D.add.call(a, h); if (!h.handler.guid) h.handler.guid = d.guid } B.push(h); c.event.global[k] = true
                } a = null
            } 
        } 
    }, global: {}, remove: function(a, b, d, e) {
        if (!(a.nodeType === 3 || a.nodeType === 8)) {
            if (d === false) d = U; var f, h, k = 0, l, n, s, v, B, D, H = a.nodeType ? "events" : "__events__", w = c.data(a), G = w && w[H]; if (w && G) {
                if (typeof G === "function") { w = G; G = G.events } if (b && b.type) { d = b.handler; b = b.type } if (!b ||
typeof b === "string" && b.charAt(0) === ".") { b = b || ""; for (f in G) c.event.remove(a, f + b) } else {
                    for (b = b.split(" "); f = b[k++]; ) {
                        v = f; l = f.indexOf(".") < 0; n = []; if (!l) { n = f.split("."); f = n.shift(); s = RegExp("(^|\\.)" + c.map(n.slice(0).sort(), Va).join("\\.(?:.*\\.)?") + "(\\.|$)") } if (B = G[f]) if (d) {
                            v = c.event.special[f] || {}; for (h = e || 0; h < B.length; h++) { D = B[h]; if (d.guid === D.guid) { if (l || s.test(D.namespace)) { e == null && B.splice(h--, 1); v.remove && v.remove.call(a, D) } if (e != null) break } } if (B.length === 0 || e != null && B.length === 1) {
                                if (!v.teardown ||
v.teardown.call(a, n) === false) c.removeEvent(a, f, w.handle); delete G[f]
                            } 
                        } else for (h = 0; h < B.length; h++) { D = B[h]; if (l || s.test(D.namespace)) { c.event.remove(a, v, D.handler, h); B.splice(h--, 1) } } 
                    } if (c.isEmptyObject(G)) { if (b = w.handle) b.elem = null; delete w.events; delete w.handle; if (typeof w === "function") c.removeData(a, H); else c.isEmptyObject(w) && c.removeData(a) } 
                } 
            } 
        } 
    }, trigger: function(a, b, d, e) {
        var f = a.type || a; if (!e) {
            a = typeof a === "object" ? a[c.expando] ? a : c.extend(c.Event(f), a) : c.Event(f); if (f.indexOf("!") >= 0) {
                a.type =
f = f.slice(0, -1); a.exclusive = true
            } if (!d) { a.stopPropagation(); c.event.global[f] && c.each(c.cache, function() { this.events && this.events[f] && c.event.trigger(a, b, this.handle.elem) }) } if (!d || d.nodeType === 3 || d.nodeType === 8) return A; a.result = A; a.target = d; b = c.makeArray(b); b.unshift(a)
        } a.currentTarget = d; (e = d.nodeType ? c.data(d, "handle") : (c.data(d, "__events__") || {}).handle) && e.apply(d, b); e = d.parentNode || d.ownerDocument; try {
            if (!(d && d.nodeName && c.noData[d.nodeName.toLowerCase()])) if (d["on" + f] && d["on" + f].apply(d, b) ===
false) { a.result = false; a.preventDefault() } 
        } catch (h) { } if (!a.isPropagationStopped() && e) c.event.trigger(a, b, e, true); else if (!a.isDefaultPrevented()) { e = a.target; var k, l = f.replace(X, ""), n = c.nodeName(e, "a") && l === "click", s = c.event.special[l] || {}; if ((!s._default || s._default.call(d, a) === false) && !n && !(e && e.nodeName && c.noData[e.nodeName.toLowerCase()])) { try { if (e[l]) { if (k = e["on" + l]) e["on" + l] = null; c.event.triggered = true; e[l]() } } catch (v) { } if (k) e["on" + l] = k; c.event.triggered = false } } 
    }, handle: function(a) {
        var b, d, e;
        d = []; var f, h = c.makeArray(arguments); a = h[0] = c.event.fix(a || E.event); a.currentTarget = this; b = a.type.indexOf(".") < 0 && !a.exclusive; if (!b) { e = a.type.split("."); a.type = e.shift(); d = e.slice(0).sort(); e = RegExp("(^|\\.)" + d.join("\\.(?:.*\\.)?") + "(\\.|$)") } a.namespace = a.namespace || d.join("."); f = c.data(this, this.nodeType ? "events" : "__events__"); if (typeof f === "function") f = f.events; d = (f || {})[a.type]; if (f && d) {
            d = d.slice(0); f = 0; for (var k = d.length; f < k; f++) {
                var l = d[f]; if (b || e.test(l.namespace)) {
                    a.handler = l.handler; a.data =
l.data; a.handleObj = l; l = l.handler.apply(this, h); if (l !== A) { a.result = l; if (l === 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 pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
        fix: function(a) {
            if (a[c.expando]) return a; var b = a; a = c.Event(b); for (var d = this.props.length, e; d; ) { e = this.props[--d]; a[e] = b[e] } if (!a.target) a.target = a.srcElement || u; 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 = u.documentElement; d = u.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 == null && (a.charCode != null || a.keyCode != null)) a.which = a.charCode != null ? a.charCode : a.keyCode; if (!a.metaKey && a.ctrlKey) a.metaKey = a.ctrlKey; if (!a.which && a.button !== A) 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, Y(a.origType, a.selector), c.extend({}, a, { handler: Ga, guid: a.handler.guid })) }, remove: function(a) {
            c.event.remove(this,
Y(a.origType, a.selector), a)
        } 
        }, beforeunload: { setup: function(a, b, d) { if (c.isWindow(this)) this.onbeforeunload = d }, teardown: function(a, b) { if (this.onbeforeunload === b) this.onbeforeunload = null } }}
        }; c.removeEvent = u.removeEventListener ? function(a, b, d) { a.removeEventListener && a.removeEventListener(b, d, false) } : function(a, b, d) { a.detachEvent && 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 =
c.now(); this[c.expando] = true
        }; c.Event.prototype = { preventDefault: function() { this.isDefaultPrevented = ba; var a = this.originalEvent; if (a) if (a.preventDefault) a.preventDefault(); else a.returnValue = false }, stopPropagation: function() { this.isPropagationStopped = ba; var a = this.originalEvent; if (a) { a.stopPropagation && a.stopPropagation(); a.cancelBubble = true } }, stopImmediatePropagation: function() { this.isImmediatePropagationStopped = ba; this.stopPropagation() }, isDefaultPrevented: U, isPropagationStopped: U, isImmediatePropagationStopped: U };
        var ta = 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) { } }, ua = 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 ? ua : ta, a) }, teardown: function(d) { c.event.remove(this, b, d && d.selector ? ua : ta) } } }); 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) { a.liveFired = A; return ja("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) { a.liveFired = A; return ja("submit", this, arguments) } }) } else return false
        }, teardown: function() { c.event.remove(this, ".specialSubmit") } 
        }; if (!c.support.changeBubbles) {
            var V,
va = 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(e) { return e.selected }).join("-") : ""; else if (a.nodeName.toLowerCase() === "select") d = a.selectedIndex; return d }, Z = function(a, b) {
    var d = a.target, e, f; if (!(!ha.test(d.nodeName) || d.readOnly)) {
        e = c.data(d, "_change_data"); f = va(d); if (a.type !== "focusout" || d.type !== "radio") c.data(d, "_change_data", f); if (!(e === A || f === e)) if (e != null || f) {
            a.type = "change"; a.liveFired =
A; return c.event.trigger(a, b, d)
        } 
    } 
}; c.event.special.change = { filters: { focusout: Z, beforedeactivate: Z, click: function(a) { var b = a.target, d = b.type; if (d === "radio" || d === "checkbox" || b.nodeName.toLowerCase() === "select") return Z.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 Z.call(this, a) }, beforeactivate: function(a) { a = a.target; c.data(a, "_change_data", va(a)) } }, setup: function() {
    if (this.type ===
"file") return false; for (var a in V) c.event.add(this, a + ".specialChange", V[a]); return ha.test(this.nodeName)
}, teardown: function() { c.event.remove(this, ".specialChange"); return ha.test(this.nodeName) } 
}; V = c.event.special.change.filters; V.focus = V.beforeactivate
        } u.addEventListener && c.each({ focus: "focusin", blur: "focusout" }, function(a, b) {
            function d(e) { e = c.event.fix(e); e.type = b; return c.event.trigger(e, null, e.target) } c.event.special[b] = { setup: function() { sa[b]++ === 0 && u.addEventListener(a, d, true) }, teardown: function() {
                --sa[b] ===
0 && u.removeEventListener(a, d, true)
            } }
            }); c.each(["bind", "one"], function(a, b) { c.fn[b] = function(d, e, f) { if (typeof d === "object") { for (var h in d) this[b](h, e, d[h], f); return this } if (c.isFunction(e) || e === false) { f = e; e = A } var k = b === "one" ? c.proxy(f, function(n) { c(this).unbind(n, k); return f.apply(this, arguments) }) : f; if (d === "unload" && b !== "one") this.one(d, e, f); else { h = 0; for (var l = this.length; h < l; h++) c.event.add(this[h], d, k, e) } 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 e = this.length; d < e; d++) c.event.remove(this[d], a, b) } return this
            }, delegate: function(a, b, d, e) { return this.live(b, d, e, 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]) { var d = c.Event(a); d.preventDefault(); d.stopPropagation(); c.event.trigger(d, b, this[0]); return d.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(e) { var f = (c.data(this, "lastToggle" + a.guid) || 0) % d; c.data(this, "lastToggle" + a.guid, f + 1); e.preventDefault(); return b[f].apply(this, arguments) || false }))
            }, hover: function(a, b) { return this.mouseenter(a).mouseleave(b || a) } 
            }); var wa = { focus: "focusin", blur: "focusout", mouseenter: "mouseover", mouseleave: "mouseout" }; c.each(["live", "die"], function(a, b) {
                c.fn[b] = function(d, e, f, h) {
                    var k, l = 0, n, s, v = h || this.selector; h = h ? this : c(this.context); if (typeof d ===
"object" && !d.preventDefault) { for (k in d) h[b](k, e, d[k], v); return this } if (c.isFunction(e)) { f = e; e = A } for (d = (d || "").split(" "); (k = d[l++]) != null; ) { n = X.exec(k); s = ""; if (n) { s = n[0]; k = k.replace(X, "") } if (k === "hover") d.push("mouseenter" + s, "mouseleave" + s); else { n = k; if (k === "focus" || k === "blur") { d.push(wa[k] + s); k += s } else k = (wa[k] || k) + s; if (b === "live") { s = 0; for (var B = h.length; s < B; s++) c.event.add(h[s], "live." + Y(k, v), { data: e, selector: v, handler: f, origType: k, origHandler: f, preType: n }) } else h.unbind("live." + Y(k, v), f) } } 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, e) { if (e == null) { e = d; d = null } return arguments.length > 0 ? this.bind(b, d, e) : this.trigger(b) }; if (c.attrFn) c.attrFn[b] = true }); E.attachEvent && !E.addEventListener && c(E).bind("unload", 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, j, o, m, p, q) { p = 0; for (var t = m.length; p < t; p++) { var x = m[p]; if (x) { x = x[g]; for (var C = false; x; ) { if (x.sizcache === o) { C = m[x.sizset]; break } if (x.nodeType === 1 && !q) { x.sizcache = o; x.sizset = p } if (x.nodeName.toLowerCase() === j) { C = x; break } x = x[g] } m[p] = C } } } function b(g, j, o, m, p, q) {
                    p = 0; for (var t = m.length; p < t; p++) {
                        var x = m[p]; if (x) {
                            x = x[g]; for (var C = false; x; ) {
                                if (x.sizcache === o) { C = m[x.sizset]; break } if (x.nodeType === 1) {
                                    if (!q) { x.sizcache = o; x.sizset = p } if (typeof j !== "string") { if (x === j) { C = true; break } } else if (l.filter(j,
[x]).length > 0) { C = x; break } 
                                } x = x[g]
                            } m[p] = C
                        } 
                    } 
                } var d = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, e = 0, f = Object.prototype.toString, h = false, k = true; [0, 0].sort(function() { k = false; return 0 }); var l = function(g, j, o, m) {
                    o = o || []; var p = j = j || u; if (j.nodeType !== 1 && j.nodeType !== 9) return []; if (!g || typeof g !== "string") return o; var q = [], t, x, C, P, N = true, R = l.isXML(j), Q = g, L; do {
                        d.exec(""); if (t = d.exec(Q)) {
                            Q = t[3]; q.push(t[1]); if (t[2]) {
                                P = t[3];
                                break
                            } 
                        } 
                    } while (t); if (q.length > 1 && s.exec(g)) if (q.length === 2 && n.relative[q[0]]) x = M(q[0] + q[1], j); else for (x = n.relative[q[0]] ? [j] : l(q.shift(), j); q.length; ) { g = q.shift(); if (n.relative[g]) g += q.shift(); x = M(g, x) } else {
                        if (!m && q.length > 1 && j.nodeType === 9 && !R && n.match.ID.test(q[0]) && !n.match.ID.test(q[q.length - 1])) { t = l.find(q.shift(), j, R); j = t.expr ? l.filter(t.expr, t.set)[0] : t.set[0] } if (j) {
                            t = m ? { expr: q.pop(), set: D(m)} : l.find(q.pop(), q.length === 1 && (q[0] === "~" || q[0] === "+") && j.parentNode ? j.parentNode : j, R); x = t.expr ? l.filter(t.expr,
t.set) : t.set; if (q.length > 0) C = D(x); else N = false; for (; q.length; ) { t = L = q.pop(); if (n.relative[L]) t = q.pop(); else L = ""; if (t == null) t = j; n.relative[L](C, t, R) } 
                        } else C = []
                    } C || (C = x); C || l.error(L || g); if (f.call(C) === "[object Array]") if (N) if (j && j.nodeType === 1) for (g = 0; C[g] != null; g++) { if (C[g] && (C[g] === true || C[g].nodeType === 1 && l.contains(j, C[g]))) o.push(x[g]) } else for (g = 0; C[g] != null; g++) C[g] && C[g].nodeType === 1 && o.push(x[g]); else o.push.apply(o, C); else D(C, o); if (P) { l(P, p, o, m); l.uniqueSort(o) } return o
                }; l.uniqueSort = function(g) {
                    if (w) {
                        h =
k; g.sort(w); if (h) for (var j = 1; j < g.length; j++) g[j] === g[j - 1] && g.splice(j--, 1)
                    } return g
                }; l.matches = function(g, j) { return l(g, null, null, j) }; l.matchesSelector = function(g, j) { return l(j, null, null, [g]).length > 0 }; l.find = function(g, j, o) {
                    var m; if (!g) return []; for (var p = 0, q = n.order.length; p < q; p++) { var t = n.order[p], x; if (x = n.leftMatch[t].exec(g)) { var C = x[1]; x.splice(1, 1); if (C.substr(C.length - 1) !== "\\") { x[1] = (x[1] || "").replace(/\\/g, ""); m = n.find[t](x, j, o); if (m != null) { g = g.replace(n.match[t], ""); break } } } } m || (m = j.getElementsByTagName("*"));
                    return { set: m, expr: g}
                }; l.filter = function(g, j, o, m) {
                    for (var p = g, q = [], t = j, x, C, P = j && j[0] && l.isXML(j[0]); g && j.length; ) {
                        for (var N in n.filter) if ((x = n.leftMatch[N].exec(g)) != null && x[2]) {
                            var R = n.filter[N], Q, L; L = x[1]; C = false; x.splice(1, 1); if (L.substr(L.length - 1) !== "\\") {
                                if (t === q) q = []; if (n.preFilter[N]) if (x = n.preFilter[N](x, t, o, q, m, P)) { if (x === true) continue } else C = Q = true; if (x) for (var i = 0; (L = t[i]) != null; i++) if (L) { Q = R(L, x, i, t); var r = m ^ !!Q; if (o && Q != null) if (r) C = true; else t[i] = false; else if (r) { q.push(L); C = true } } if (Q !==
A) { o || (t = q); g = g.replace(n.match[N], ""); if (!C) return []; break } 
                            } 
                        } if (g === p) if (C == null) l.error(g); else break; p = g
                    } return t
                }; l.error = function(g) { throw "Syntax error, unrecognized expression: " + g; }; var n = l.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, j) {
                    var o = typeof j === "string", m = o && !/\W/.test(j); o = o && !m; if (m) j = j.toLowerCase(); m = 0; for (var p = g.length, q; m < p; m++) if (q = g[m]) {
                        for (; (q = q.previousSibling) && q.nodeType !== 1; ); g[m] = o || q && q.nodeName.toLowerCase() ===
j ? q || false : q === j
                    } o && l.filter(j, g, true)
                }, ">": function(g, j) { var o = typeof j === "string", m, p = 0, q = g.length; if (o && !/\W/.test(j)) for (j = j.toLowerCase(); p < q; p++) { if (m = g[p]) { o = m.parentNode; g[p] = o.nodeName.toLowerCase() === j ? o : false } } else { for (; p < q; p++) if (m = g[p]) g[p] = o ? m.parentNode : m.parentNode === j; o && l.filter(j, g, true) } }, "": function(g, j, o) { var m = e++, p = b, q; if (typeof j === "string" && !/\W/.test(j)) { q = j = j.toLowerCase(); p = a } p("parentNode", j, m, g, q, o) }, "~": function(g, j, o) {
                    var m = e++, p = b, q; if (typeof j === "string" && !/\W/.test(j)) {
                        q =
j = j.toLowerCase(); p = a
                    } p("previousSibling", j, m, g, q, o)
                } 
                }, find: { ID: function(g, j, o) { if (typeof j.getElementById !== "undefined" && !o) return (g = j.getElementById(g[1])) && g.parentNode ? [g] : [] }, NAME: function(g, j) { if (typeof j.getElementsByName !== "undefined") { for (var o = [], m = j.getElementsByName(g[1]), p = 0, q = m.length; p < q; p++) m[p].getAttribute("name") === g[1] && o.push(m[p]); return o.length === 0 ? null : o } }, TAG: function(g, j) { return j.getElementsByTagName(g[1]) } }, preFilter: { CLASS: function(g, j, o, m, p, q) {
                    g = " " + g[1].replace(/\\/g,
"") + " "; if (q) return g; q = 0; for (var t; (t = j[q]) != null; q++) if (t) if (p ^ (t.className && (" " + t.className + " ").replace(/[\t\n]/g, " ").indexOf(g) >= 0)) o || m.push(t); else if (o) j[q] = 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 j = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2] === "even" && "2n" || g[2] === "odd" && "2n+1" || !/\D/.test(g[2]) && "0n+" + g[2] || g[2]); g[2] = j[1] + (j[2] || 1) - 0; g[3] = j[3] - 0 } g[0] = e++; return g }, ATTR: function(g, j, o,
m, p, q) { j = g[1].replace(/\\/g, ""); if (!q && n.attrMap[j]) g[1] = n.attrMap[j]; if (g[2] === "~=") g[4] = " " + g[4] + " "; return g }, PSEUDO: function(g, j, o, m, p) { if (g[1] === "not") if ((d.exec(g[3]) || "").length > 1 || /^\w/.test(g[3])) g[3] = l(g[3], null, null, j); else { g = l.filter(g[3], j, o, true ^ p); o || 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, j, o) { return !!l(o[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, j) { return j === 0 }, last: function(g, j, o, m) { return j === m.length - 1 }, even: function(g, j) { return j % 2 === 0 }, odd: function(g, j) { return j % 2 === 1 }, lt: function(g, j, o) { return j < o[3] - 0 }, gt: function(g, j, o) { return j > o[3] - 0 }, nth: function(g, j, o) {
                    return o[3] -
0 === j
                }, eq: function(g, j, o) { return o[3] - 0 === j } 
                }, filter: { PSEUDO: function(g, j, o, m) { var p = j[1], q = n.filters[p]; if (q) return q(g, o, j, m); else if (p === "contains") return (g.textContent || g.innerText || l.getText([g]) || "").indexOf(j[3]) >= 0; else if (p === "not") { j = j[3]; o = 0; for (m = j.length; o < m; o++) if (j[o] === g) return false; return true } else l.error("Syntax error, unrecognized expression: " + p) }, CHILD: function(g, j) {
                    var o = j[1], m = g; switch (o) {
                        case "only": case "first": for (; m = m.previousSibling; ) if (m.nodeType === 1) return false; if (o ===
"first") return true; m = g; case "last": for (; m = m.nextSibling; ) if (m.nodeType === 1) return false; return true; case "nth": o = j[2]; var p = j[3]; if (o === 1 && p === 0) return true; var q = j[0], t = g.parentNode; if (t && (t.sizcache !== q || !g.nodeIndex)) { var x = 0; for (m = t.firstChild; m; m = m.nextSibling) if (m.nodeType === 1) m.nodeIndex = ++x; t.sizcache = q } m = g.nodeIndex - p; return o === 0 ? m === 0 : m % o === 0 && m / o >= 0
                    } 
                }, ID: function(g, j) { return g.nodeType === 1 && g.getAttribute("id") === j }, TAG: function(g, j) {
                    return j === "*" && g.nodeType === 1 || g.nodeName.toLowerCase() ===
j
                }, CLASS: function(g, j) { return (" " + (g.className || g.getAttribute("class")) + " ").indexOf(j) > -1 }, ATTR: function(g, j) { var o = j[1]; o = n.attrHandle[o] ? n.attrHandle[o](g) : g[o] != null ? g[o] : g.getAttribute(o); var m = o + "", p = j[2], q = j[4]; return o == null ? p === "!=" : p === "=" ? m === q : p === "*=" ? m.indexOf(q) >= 0 : p === "~=" ? (" " + m + " ").indexOf(q) >= 0 : !q ? m && o !== false : p === "!=" ? m !== q : p === "^=" ? m.indexOf(q) === 0 : p === "$=" ? m.substr(m.length - q.length) === q : p === "|=" ? m === q || m.substr(0, q.length + 1) === q + "-" : false }, POS: function(g, j, o, m) {
                    var p = n.setFilters[j[2]];
                    if (p) return p(g, o, j, m)
                } }
                }, s = n.match.POS, v = function(g, j) { return "\\" + (j - 0 + 1) }, B; for (B in n.match) { n.match[B] = RegExp(n.match[B].source + /(?![^\[]*\])(?![^\(]*\))/.source); n.leftMatch[B] = RegExp(/(^(?:.|\r|\n)*?)/.source + n.match[B].source.replace(/\\(\d+)/g, v)) } var D = function(g, j) { g = Array.prototype.slice.call(g, 0); if (j) { j.push.apply(j, g); return j } return g }; try { Array.prototype.slice.call(u.documentElement.childNodes, 0) } catch (H) {
                    D = function(g, j) {
                        var o = j || [], m = 0; if (f.call(g) === "[object Array]") Array.prototype.push.apply(o,
g); else if (typeof g.length === "number") for (var p = g.length; m < p; m++) o.push(g[m]); else for (; g[m]; m++) o.push(g[m]); return o
                    } 
                } var w, G; if (u.documentElement.compareDocumentPosition) w = function(g, j) { if (g === j) { h = true; return 0 } if (!g.compareDocumentPosition || !j.compareDocumentPosition) return g.compareDocumentPosition ? -1 : 1; return g.compareDocumentPosition(j) & 4 ? -1 : 1 }; else {
                    w = function(g, j) {
                        var o = [], m = [], p = g.parentNode, q = j.parentNode, t = p; if (g === j) { h = true; return 0 } else if (p === q) return G(g, j); else if (p) { if (!q) return 1 } else return -1;
                        for (; t; ) { o.unshift(t); t = t.parentNode } for (t = q; t; ) { m.unshift(t); t = t.parentNode } p = o.length; q = m.length; for (t = 0; t < p && t < q; t++) if (o[t] !== m[t]) return G(o[t], m[t]); return t === p ? G(g, m[t], -1) : G(o[t], j, 1)
                    }; G = function(g, j, o) { if (g === j) return o; for (g = g.nextSibling; g; ) { if (g === j) return -1; g = g.nextSibling } return 1 } 
                } l.getText = function(g) { for (var j = "", o, m = 0; g[m]; m++) { o = g[m]; if (o.nodeType === 3 || o.nodeType === 4) j += o.nodeValue; else if (o.nodeType !== 8) j += l.getText(o.childNodes) } return j }; (function() {
                    var g = u.createElement("div"),
j = "script" + (new Date).getTime(); g.innerHTML = "<a name='" + j + "'/>"; var o = u.documentElement; o.insertBefore(g, o.firstChild); if (u.getElementById(j)) { n.find.ID = function(m, p, q) { if (typeof p.getElementById !== "undefined" && !q) return (p = p.getElementById(m[1])) ? p.id === m[1] || typeof p.getAttributeNode !== "undefined" && p.getAttributeNode("id").nodeValue === m[1] ? [p] : A : [] }; n.filter.ID = function(m, p) { var q = typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id"); return m.nodeType === 1 && q && q.nodeValue === p } } o.removeChild(g);
                    o = g = null
                })(); (function() { var g = u.createElement("div"); g.appendChild(u.createComment("")); if (g.getElementsByTagName("*").length > 0) n.find.TAG = function(j, o) { var m = o.getElementsByTagName(j[1]); if (j[1] === "*") { for (var p = [], q = 0; m[q]; q++) m[q].nodeType === 1 && p.push(m[q]); m = p } return m }; g.innerHTML = "<a href='#'></a>"; if (g.firstChild && typeof g.firstChild.getAttribute !== "undefined" && g.firstChild.getAttribute("href") !== "#") n.attrHandle.href = function(j) { return j.getAttribute("href", 2) }; g = null })(); u.querySelectorAll &&
function() {
    var g = l, j = u.createElement("div"); j.innerHTML = "<p class='TEST'></p>"; if (!(j.querySelectorAll && j.querySelectorAll(".TEST").length === 0)) {
        l = function(m, p, q, t) { p = p || u; if (!t && !l.isXML(p)) if (p.nodeType === 9) try { return D(p.querySelectorAll(m), q) } catch (x) { } else if (p.nodeType === 1 && p.nodeName.toLowerCase() !== "object") { var C = p.id, P = p.id = "__sizzle__"; try { return D(p.querySelectorAll("#" + P + " " + m), q) } catch (N) { } finally { if (C) p.id = C; else p.removeAttribute("id") } } return g(m, p, q, t) }; for (var o in g) l[o] = g[o];
        j = null
    } 
} (); (function() { var g = u.documentElement, j = g.matchesSelector || g.mozMatchesSelector || g.webkitMatchesSelector || g.msMatchesSelector, o = false; try { j.call(u.documentElement, ":sizzle") } catch (m) { o = true } if (j) l.matchesSelector = function(p, q) { try { if (o || !n.match.PSEUDO.test(q)) return j.call(p, q) } catch (t) { } return l(q, null, null, [p]).length > 0 } })(); (function() {
    var g = u.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(j, o, m) { if (typeof o.getElementsByClassName !== "undefined" && !m) return o.getElementsByClassName(j[1]) }; g = null } } 
})(); l.contains = u.documentElement.contains ? function(g, j) { return g !== j && (g.contains ? g.contains(j) : true) } : function(g, j) { return !!(g.compareDocumentPosition(j) & 16) }; l.isXML = function(g) { return (g = (g ? g.ownerDocument || g : 0).documentElement) ? g.nodeName !== "HTML" : false }; var M = function(g,
j) { for (var o = [], m = "", p, q = j.nodeType ? [j] : j; p = n.match.PSEUDO.exec(g); ) { m += p[0]; g = g.replace(n.match.PSEUDO, "") } g = n.relative[g] ? g + "*" : g; p = 0; for (var t = q.length; p < t; p++) l(g, q[p], o); return l.filter(m, o) }; c.find = l; c.expr = l.selectors; c.expr[":"] = c.expr.filters; c.unique = l.uniqueSort; c.text = l.getText; c.isXMLDoc = l.isXML; c.contains = l.contains
            })(); var Wa = /Until$/, Xa = /^(?:parents|prevUntil|prevAll)/, Ya = /,/, Ja = /^.[^:#\[\.,]*$/, Za = Array.prototype.slice, $a = c.expr.match.POS; c.fn.extend({ find: function(a) {
                for (var b = this.pushStack("",
"find", a), d = 0, e = 0, f = this.length; e < f; e++) { d = b.length; c.find(a, this[e], b); if (e > 0) for (var h = d; h < b.length; h++) for (var k = 0; k < d; k++) if (b[k] === b[h]) { b.splice(h--, 1); break } } return b
            }, has: function(a) { var b = c(a); return this.filter(function() { for (var d = 0, e = b.length; d < e; d++) if (c.contains(this, b[d])) return true }) }, not: function(a) { return this.pushStack(ka(this, a, false), "not", a) }, filter: function(a) { return this.pushStack(ka(this, a, true), "filter", a) }, is: function(a) { return !!a && c.filter(a, this).length > 0 }, closest: function(a,
b) {
                var d = [], e, f, h = this[0]; if (c.isArray(a)) { var k = {}, l, n = 1; if (h && a.length) { e = 0; for (f = a.length; e < f; e++) { l = a[e]; k[l] || (k[l] = c.expr.match.POS.test(l) ? c(l, b || this.context) : l) } for (; h && h.ownerDocument && h !== b; ) { for (l in k) { e = k[l]; if (e.jquery ? e.index(h) > -1 : c(h).is(e)) d.push({ selector: l, elem: h, level: n }) } h = h.parentNode; n++ } } return d } k = $a.test(a) ? c(a, b || this.context) : null; e = 0; for (f = this.length; e < f; e++) for (h = this[e]; h; ) if (k ? k.index(h) > -1 : c.find.matchesSelector(h, a)) { d.push(h); break } else {
                    h = h.parentNode; if (!h ||
!h.ownerDocument || h === b) break
                } d = d.length > 1 ? c.unique(d) : d; return this.pushStack(d, "closest", a)
            }, 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) { var d = typeof a === "string" ? c(a, b || this.context) : c.makeArray(a), e = c.merge(this.get(), d); return this.pushStack(!d[0] || !d[0].parentNode || d[0].parentNode.nodeType === 11 || !e[0] || !e[0].parentNode || e[0].parentNode.nodeType === 11 ? e : c.unique(e)) }, 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, e) { var f = c.map(this, b, d); Wa.test(a) || (e = d); if (e && typeof e === "string") f = c.filter(e, f); f = this.length > 1 ? c.unique(f) : f; if ((this.length > 1 || Ya.test(e)) && Xa.test(a)) f = f.reverse(); return this.pushStack(f, a, Za.call(arguments).join(",")) } });
            c.extend({ filter: function(a, b, d) { if (d) a = ":not(" + a + ")"; return b.length === 1 ? c.find.matchesSelector(b[0], a) ? [b[0]] : [] : c.find.matches(a, b) }, dir: function(a, b, d) { var e = []; for (a = a[b]; a && a.nodeType !== 9 && (d === A || a.nodeType !== 1 || !c(a).is(d)); ) { a.nodeType === 1 && e.push(a); a = a[b] } return e }, nth: function(a, b, d) { b = b || 1; for (var e = 0; a; a = a[d]) if (a.nodeType === 1 && ++e === 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 xa = / jQuery\d+="(?:\d+|null)"/g,
$ = /^\s+/, ya = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, za = /<([\w:]+)/, ab = /<tbody/i, bb = /<|&#?\w+;/, Aa = /<(?:script|object|embed|option|style)/i, Ba = /checked\s*(?:[^=]|=\s*.checked.)/i, cb = /\=([^="'>\s]+\/)>/g, O = { 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, "", ""]
}; O.optgroup = O.option; O.tbody = O.tfoot = O.colgroup = O.caption = O.thead; O.th = O.td; if (!c.support.htmlSerialize) O._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 !== A) return this.empty().append((this[0] && this[0].ownerDocument || u).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, e; (e = this[d]) != null; d++) if (!a || c.filter(a, [e]).length) {
            if (!b && e.nodeType === 1) {
                c.cleanData(e.getElementsByTagName("*"));
                c.cleanData([e])
            } e.parentNode && e.parentNode.removeChild(e)
        } 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, e = this.ownerDocument; if (!d) { d = e.createElement("div"); d.appendChild(this.cloneNode(true)); d = d.innerHTML } return c.clean([d.replace(xa, "").replace(cb, '="$1">').replace($,
"")], e)[0]
            } else return this.cloneNode(true)
        }); if (a === true) { la(this, b); la(this.find("*"), b.find("*")) } return b
    }, html: function(a) {
        if (a === A) return this[0] && this[0].nodeType === 1 ? this[0].innerHTML.replace(xa, "") : null; else if (typeof a === "string" && !Aa.test(a) && (c.support.leadingWhitespace || !$.test(a)) && !O[(za.exec(a) || ["", ""])[1].toLowerCase()]) { a = a.replace(ya, "<$1></$2>"); 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 (e) { this.empty().append(a) } } else c.isFunction(a) ?
this.each(function(f) { var h = c(this); h.html(a.call(this, f, h.html())) }) : 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), e = d.html(); d.replaceWith(a.call(this, b, e)) }); 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) {
        var e, f, h = a[0], k = [], l; if (!c.support.checkClone && arguments.length === 3 && typeof h === "string" && Ba.test(h)) return this.each(function() { c(this).domManip(a, b, d, true) }); if (c.isFunction(h)) return this.each(function(s) { var v = c(this); a[0] = h.call(this, s, b ? v.html() : A); v.domManip(a, b, d) }); if (this[0]) {
            e = h && h.parentNode; e = c.support.parentNode && e && e.nodeType === 11 && e.childNodes.length === this.length ? { fragment: e} : c.buildFragment(a, this, k); l = e.fragment; if (f = l.childNodes.length === 1 ? l = l.firstChild :
l.firstChild) { b = b && c.nodeName(f, "tr"); f = 0; for (var n = this.length; f < n; f++) d.call(b ? c.nodeName(this[f], "table") ? this[f].getElementsByTagName("tbody")[0] || this[f].appendChild(this[f].ownerDocument.createElement("tbody")) : this[f] : this[f], f > 0 || e.cacheable || this.length > 1 ? l.cloneNode(true) : l) } k.length && c.each(k, Ka)
        } return this
    } 
}); c.buildFragment = function(a, b, d) {
    var e, f, h; b = b && b[0] ? b[0].ownerDocument || b[0] : u; if (a.length === 1 && typeof a[0] === "string" && a[0].length < 512 && b === u && !Aa.test(a[0]) && (c.support.checkClone ||
!Ba.test(a[0]))) { f = true; if (h = c.fragments[a[0]]) if (h !== 1) e = h } if (!e) { e = b.createDocumentFragment(); c.clean(a, b, e, d) } if (f) c.fragments[a[0]] = h ? e : 1; return { fragment: e, cacheable: f}
}; c.fragments = {}; c.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function(a, b) {
    c.fn[a] = function(d) {
        var e = []; d = c(d); var f = this.length === 1 && this[0].parentNode; if (f && f.nodeType === 11 && f.childNodes.length === 1 && d.length === 1) { d[b](this[0]); return this } else {
            f = 0; for (var h =
d.length; f < h; f++) { var k = (f > 0 ? this.clone(true) : this).get(); c(d[f])[b](k); e = e.concat(k) } return this.pushStack(e, a, d.selector)
        } 
    } 
}); c.extend({ clean: function(a, b, d, e) {
    b = b || u; if (typeof b.createElement === "undefined") b = b.ownerDocument || b[0] && b[0].ownerDocument || u; for (var f = [], h = 0, k; (k = a[h]) != null; h++) {
        if (typeof k === "number") k += ""; if (k) {
            if (typeof k === "string" && !bb.test(k)) k = b.createTextNode(k); else if (typeof k === "string") {
                k = k.replace(ya, "<$1></$2>"); var l = (za.exec(k) || ["", ""])[1].toLowerCase(), n = O[l] || O._default,
s = n[0], v = b.createElement("div"); for (v.innerHTML = n[1] + k + n[2]; s--; ) v = v.lastChild; if (!c.support.tbody) { s = ab.test(k); l = l === "table" && !s ? v.firstChild && v.firstChild.childNodes : n[1] === "<table>" && !s ? v.childNodes : []; for (n = l.length - 1; n >= 0; --n) c.nodeName(l[n], "tbody") && !l[n].childNodes.length && l[n].parentNode.removeChild(l[n]) } !c.support.leadingWhitespace && $.test(k) && v.insertBefore(b.createTextNode($.exec(k)[0]), v.firstChild); k = v.childNodes
            } if (k.nodeType) f.push(k); else f = c.merge(f, k)
        } 
    } if (d) for (h = 0; f[h]; h++) if (e &&
c.nodeName(f[h], "script") && (!f[h].type || f[h].type.toLowerCase() === "text/javascript")) e.push(f[h].parentNode ? f[h].parentNode.removeChild(f[h]) : f[h]); else { f[h].nodeType === 1 && f.splice.apply(f, [h + 1, 0].concat(c.makeArray(f[h].getElementsByTagName("script")))); d.appendChild(f[h]) } return f
}, cleanData: function(a) {
    for (var b, d, e = c.cache, f = c.event.special, h = c.support.deleteExpando, k = 0, l; (l = a[k]) != null; k++) if (!(l.nodeName && c.noData[l.nodeName.toLowerCase()])) if (d = l[c.expando]) {
        if ((b = e[d]) && b.events) for (var n in b.events) f[n] ?
c.event.remove(l, n) : c.removeEvent(l, n, b.handle); if (h) delete l[c.expando]; else l.removeAttribute && l.removeAttribute(c.expando); delete e[d]
    } 
} 
}); var Ca = /alpha\([^)]*\)/i, db = /opacity=([^)]*)/, eb = /-([a-z])/ig, fb = /([A-Z])/g, Da = /^-?\d+(?:px)?$/i, gb = /^-?\d/, hb = { position: "absolute", visibility: "hidden", display: "block" }, La = ["Left", "Right"], Ma = ["Top", "Bottom"], W, ib = u.defaultView && u.defaultView.getComputedStyle, jb = function(a, b) { return b.toUpperCase() }; c.fn.css = function(a, b) {
    if (arguments.length === 2 && b === A) return this;
    return c.access(this, a, b, true, function(d, e, f) { return f !== A ? c.style(d, e, f) : c.css(d, e) })
}; c.extend({ cssHooks: { opacity: { get: function(a, b) { if (b) { var d = W(a, "opacity", "opacity"); return d === "" ? "1" : d } else return a.style.opacity } } }, cssNumber: { zIndex: true, fontWeight: true, opacity: true, zoom: true, lineHeight: true }, cssProps: { "float": c.support.cssFloat ? "cssFloat" : "styleFloat" }, style: function(a, b, d, e) {
    if (!(!a || a.nodeType === 3 || a.nodeType === 8 || !a.style)) {
        var f, h = c.camelCase(b), k = a.style, l = c.cssHooks[h]; b = c.cssProps[h] ||
h; if (d !== A) { if (!(typeof d === "number" && isNaN(d) || d == null)) { if (typeof d === "number" && !c.cssNumber[h]) d += "px"; if (!l || !("set" in l) || (d = l.set(a, d)) !== A) try { k[b] = d } catch (n) { } } } else { if (l && "get" in l && (f = l.get(a, false, e)) !== A) return f; return k[b] } 
    } 
}, css: function(a, b, d) { var e, f = c.camelCase(b), h = c.cssHooks[f]; b = c.cssProps[f] || f; if (h && "get" in h && (e = h.get(a, true, d)) !== A) return e; else if (W) return W(a, b, f) }, swap: function(a, b, d) {
    var e = {}, f; for (f in b) { e[f] = a.style[f]; a.style[f] = b[f] } d.call(a); for (f in b) a.style[f] =
e[f]
}, camelCase: function(a) { return a.replace(eb, jb) } 
}); c.curCSS = c.css; c.each(["height", "width"], function(a, b) { c.cssHooks[b] = { get: function(d, e, f) { var h; if (e) { if (d.offsetWidth !== 0) h = ma(d, b, f); else c.swap(d, hb, function() { h = ma(d, b, f) }); return h + "px" } }, set: function(d, e) { if (Da.test(e)) { e = parseFloat(e); if (e >= 0) return e + "px" } else return e } } }); if (!c.support.opacity) c.cssHooks.opacity = { get: function(a, b) {
    return db.test((b && a.currentStyle ? a.currentStyle.filter : a.style.filter) || "") ? parseFloat(RegExp.$1) / 100 + "" :
b ? "1" : ""
}, set: function(a, b) { var d = a.style; d.zoom = 1; var e = c.isNaN(b) ? "" : "alpha(opacity=" + b * 100 + ")", f = d.filter || ""; d.filter = Ca.test(f) ? f.replace(Ca, e) : d.filter + " " + e } 
}; if (ib) W = function(a, b, d) { var e; d = d.replace(fb, "-$1").toLowerCase(); if (!(b = a.ownerDocument.defaultView)) return A; if (b = b.getComputedStyle(a, null)) { e = b.getPropertyValue(d); if (e === "" && !c.contains(a.ownerDocument.documentElement, a)) e = c.style(a, d) } return e }; else if (u.documentElement.currentStyle) W = function(a, b) {
    var d, e, f = a.currentStyle && a.currentStyle[b],
h = a.style; if (!Da.test(f) && gb.test(f)) { d = h.left; e = a.runtimeStyle.left; a.runtimeStyle.left = a.currentStyle.left; h.left = b === "fontSize" ? "1em" : f || 0; f = h.pixelLeft + "px"; h.left = d; a.runtimeStyle.left = e } return f
}; if (c.expr && c.expr.filters) { c.expr.filters.hidden = function(a) { var b = a.offsetHeight; return a.offsetWidth === 0 && b === 0 || !c.support.reliableHiddenOffsets && (a.style.display || c.css(a, "display")) === "none" }; c.expr.filters.visible = function(a) { return !c.expr.filters.hidden(a) } } var kb = c.now(), lb = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
mb = /^(?:select|textarea)/i, nb = /^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, ob = /^(?:GET|HEAD|DELETE)$/, Na = /\[\]$/, T = /\=\?(&|$)/, ia = /\?/, pb = /([?&])_=[^&]*/, qb = /^(\w+:)?\/\/([^\/?#]+)/, rb = /%20/g, sb = /#.*$/, Ea = c.fn.load; c.fn.extend({ load: function(a, b, d) {
    if (typeof a !== "string" && Ea) return Ea.apply(this, arguments); else if (!this.length) return this; var e = a.indexOf(" "); if (e >= 0) { var f = a.slice(e, a.length); a = a.slice(0, e) } e = "GET"; if (b) if (c.isFunction(b)) {
        d =
b; b = null
    } else if (typeof b === "object") { b = c.param(b, c.ajaxSettings.traditional); e = "POST" } var h = this; c.ajax({ url: a, type: e, dataType: "html", data: b, complete: function(k, l) { if (l === "success" || l === "notmodified") h.html(f ? c("<div>").append(k.responseText.replace(lb, "")).find(f) : k.responseText); d && h.each(d, [k.responseText, l, k]) } }); 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 || mb.test(this.nodeName) || nb.test(this.type))
    }).map(function(a, b) { var d = c(this).val(); return d == null ? null : c.isArray(d) ? c.map(d, function(e) { return { name: b.name, value: e} }) : { name: b.name, value: d} }).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, e) { if (c.isFunction(b)) { e = e || d; d = b; b = null } return c.ajax({ type: "GET", url: a, data: b, success: d, dataType: e }) },
    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, e) { if (c.isFunction(b)) { e = e || d; d = b; b = {} } return c.ajax({ type: "POST", url: a, data: b, success: d, dataType: e }) }, 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: function() { return new E.XMLHttpRequest }, accepts: { xml: "application/xml, text/xml", html: "text/html",
        script: "text/javascript, application/javascript", json: "application/json, text/javascript", text: "text/plain", _default: "*/*"}
    }, ajax: function(a) {
        var b = c.extend(true, {}, c.ajaxSettings, a), d, e, f, h = b.type.toUpperCase(), k = ob.test(h); b.url = b.url.replace(sb, ""); b.context = a && a.context != null ? a.context : b; if (b.data && b.processData && typeof b.data !== "string") b.data = c.param(b.data, b.traditional); if (b.dataType === "jsonp") {
            if (h === "GET") T.test(b.url) || (b.url += (ia.test(b.url) ? "&" : "?") + (b.jsonp || "callback") + "=?"); else if (!b.data ||
!T.test(b.data)) b.data = (b.data ? b.data + "&" : "") + (b.jsonp || "callback") + "=?"; b.dataType = "json"
        } if (b.dataType === "json" && (b.data && T.test(b.data) || T.test(b.url))) { d = b.jsonpCallback || "jsonp" + kb++; if (b.data) b.data = (b.data + "").replace(T, "=" + d + "$1"); b.url = b.url.replace(T, "=" + d + "$1"); b.dataType = "script"; var l = E[d]; E[d] = function(m) { f = m; c.handleSuccess(b, w, e, f); c.handleComplete(b, w, e, f); if (c.isFunction(l)) l(m); else { E[d] = A; try { delete E[d] } catch (p) { } } v && v.removeChild(B) } } if (b.dataType === "script" && b.cache === null) b.cache =
false; if (b.cache === false && h === "GET") { var n = c.now(), s = b.url.replace(pb, "$1_=" + n); b.url = s + (s === b.url ? (ia.test(b.url) ? "&" : "?") + "_=" + n : "") } if (b.data && h === "GET") b.url += (ia.test(b.url) ? "&" : "?") + b.data; b.global && c.active++ === 0 && c.event.trigger("ajaxStart"); n = (n = qb.exec(b.url)) && (n[1] && n[1] !== location.protocol || n[2] !== location.host); if (b.dataType === "script" && h === "GET" && n) {
            var v = u.getElementsByTagName("head")[0] || u.documentElement, B = u.createElement("script"); if (b.scriptCharset) B.charset = b.scriptCharset; B.src =
b.url; if (!d) { var D = false; B.onload = B.onreadystatechange = function() { if (!D && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete")) { D = true; c.handleSuccess(b, w, e, f); c.handleComplete(b, w, e, f); B.onload = B.onreadystatechange = null; v && B.parentNode && v.removeChild(B) } } } v.insertBefore(B, v.firstChild); return A
        } var H = false, w = b.xhr(); if (w) {
            b.username ? w.open(h, b.url, b.async, b.username, b.password) : w.open(h, b.url, b.async); try {
                if (b.data != null && !k || a && a.contentType) w.setRequestHeader("Content-Type",
b.contentType); if (b.ifModified) { c.lastModified[b.url] && w.setRequestHeader("If-Modified-Since", c.lastModified[b.url]); c.etag[b.url] && w.setRequestHeader("If-None-Match", c.etag[b.url]) } n || w.setRequestHeader("X-Requested-With", "XMLHttpRequest"); w.setRequestHeader("Accept", b.dataType && b.accepts[b.dataType] ? b.accepts[b.dataType] + ", */*; q=0.01" : b.accepts._default)
            } catch (G) { } if (b.beforeSend && b.beforeSend.call(b.context, w, b) === false) { b.global && c.active-- === 1 && c.event.trigger("ajaxStop"); w.abort(); return false } b.global &&
c.triggerGlobal(b, "ajaxSend", [w, b]); var M = w.onreadystatechange = function(m) {
    if (!w || w.readyState === 0 || m === "abort") { H || c.handleComplete(b, w, e, f); H = true; if (w) w.onreadystatechange = c.noop } else if (!H && w && (w.readyState === 4 || m === "timeout")) {
        H = true; w.onreadystatechange = c.noop; e = m === "timeout" ? "timeout" : !c.httpSuccess(w) ? "error" : b.ifModified && c.httpNotModified(w, b.url) ? "notmodified" : "success"; var p; if (e === "success") try { f = c.httpData(w, b.dataType, b) } catch (q) { e = "parsererror"; p = q } if (e === "success" || e === "notmodified") d ||
c.handleSuccess(b, w, e, f); else c.handleError(b, w, e, p); d || c.handleComplete(b, w, e, f); m === "timeout" && w.abort(); if (b.async) w = null
    } 
}; try { var g = w.abort; w.abort = function() { w && g.call && g.call(w); M("abort") } } catch (j) { } b.async && b.timeout > 0 && setTimeout(function() { w && !H && M("timeout") }, b.timeout); try { w.send(k || b.data == null ? null : b.data) } catch (o) { c.handleError(b, w, null, o); c.handleComplete(b, w, e, f) } b.async || M(); return w
        } 
    }, param: function(a, b) {
        var d = [], e = function(h, k) {
            k = c.isFunction(k) ? k() : k; d[d.length] = encodeURIComponent(h) +
"=" + encodeURIComponent(k)
        }; if (b === A) b = c.ajaxSettings.traditional; if (c.isArray(a) || a.jquery) c.each(a, function() { e(this.name, this.value) }); else for (var f in a) ca(f, a[f], b, e); return d.join("&").replace(rb, "+")
    } 
}); c.extend({ active: 0, lastModified: {}, etag: {}, handleError: function(a, b, d, e) { a.error && a.error.call(a.context, b, d, e); a.global && c.triggerGlobal(a, "ajaxError", [b, a, e]) }, handleSuccess: function(a, b, d, e) { a.success && a.success.call(a.context, e, d, b); a.global && c.triggerGlobal(a, "ajaxSuccess", [b, a]) }, handleComplete: function(a,
b, d) { a.complete && a.complete.call(a.context, b, d); a.global && c.triggerGlobal(a, "ajaxComplete", [b, a]); a.global && c.active-- === 1 && c.event.trigger("ajaxStop") }, triggerGlobal: function(a, b, d) { (a.context && a.context.url == null ? c(a.context) : c.event).trigger(b, d) }, httpSuccess: function(a) { try { return !a.status && location.protocol === "file:" || a.status >= 200 && a.status < 300 || a.status === 304 || a.status === 1223 } catch (b) { } return false }, httpNotModified: function(a, b) {
    var d = a.getResponseHeader("Last-Modified"), e = a.getResponseHeader("Etag");
    if (d) c.lastModified[b] = d; if (e) c.etag[b] = e; return a.status === 304
}, httpData: function(a, b, d) { var e = a.getResponseHeader("content-type") || "", f = b === "xml" || !b && e.indexOf("xml") >= 0; a = f ? a.responseXML : a.responseText; f && a.documentElement.nodeName === "parsererror" && c.error("parsererror"); if (d && d.dataFilter) a = d.dataFilter(a, b); if (typeof a === "string") if (b === "json" || !b && e.indexOf("json") >= 0) a = c.parseJSON(a); else if (b === "script" || !b && e.indexOf("javascript") >= 0) c.globalEval(a); return a } 
}); if (E.ActiveXObject) c.ajaxSettings.xhr =
function() { if (E.location.protocol !== "file:") try { return new E.XMLHttpRequest } catch (a) { } try { return new E.ActiveXObject("Microsoft.XMLHTTP") } catch (b) { } }; c.support.ajax = !!c.ajaxSettings.xhr(); var da = {}, tb = /^(?:toggle|show|hide)$/, ub = /^([+\-]=)?([\d+.\-]+)(.*)$/, aa, na = [["height", "marginTop", "marginBottom", "paddingTop", "paddingBottom"], ["width", "marginLeft", "marginRight", "paddingLeft", "paddingRight"], ["opacity"]]; c.fn.extend({ show: function(a, b, d) {
    if (a || a === 0) return this.animate(S("show", 3), a, b, d); else {
        a =
0; for (b = this.length; a < b; a++) { if (!c.data(this[a], "olddisplay") && this[a].style.display === "none") this[a].style.display = ""; this[a].style.display === "" && c.css(this[a], "display") === "none" && c.data(this[a], "olddisplay", oa(this[a].nodeName)) } for (a = 0; a < b; a++) this[a].style.display = c.data(this[a], "olddisplay") || ""; return this
    } 
}, hide: function(a, b, d) {
    if (a || a === 0) return this.animate(S("hide", 3), a, b, d); else {
        a = 0; for (b = this.length; a < b; a++) { d = c.css(this[a], "display"); d !== "none" && c.data(this[a], "olddisplay", d) } for (a =
0; a < b; a++) this[a].style.display = "none"; return this
    } 
}, _toggle: c.fn.toggle, toggle: function(a, b, d) { var e = typeof a === "boolean"; if (c.isFunction(a) && c.isFunction(b)) this._toggle.apply(this, arguments); else a == null || e ? this.each(function() { var f = e ? a : c(this).is(":hidden"); c(this)[f ? "show" : "hide"]() }) : this.animate(S("toggle", 3), a, b, d); return this }, fadeTo: function(a, b, d, e) { return this.filter(":hidden").css("opacity", 0).show().end().animate({ opacity: b }, a, d, e) }, animate: function(a, b, d, e) {
    var f = c.speed(b, d, e); if (c.isEmptyObject(a)) return this.each(f.complete);
    return this[f.queue === false ? "each" : "queue"](function() {
        var h = c.extend({}, f), k, l = this.nodeType === 1, n = l && c(this).is(":hidden"), s = this; for (k in a) {
            var v = c.camelCase(k); if (k !== v) { a[v] = a[k]; delete a[k]; k = v } if (a[k] === "hide" && n || a[k] === "show" && !n) return h.complete.call(this); if (l && (k === "height" || k === "width")) {
                h.overflow = [this.style.overflow, this.style.overflowX, this.style.overflowY]; if (c.css(this, "display") === "inline" && c.css(this, "float") === "none") if (c.support.inlineBlockNeedsLayout) if (oa(this.nodeName) ===
"inline") this.style.display = "inline-block"; else { this.style.display = "inline"; this.style.zoom = 1 } else this.style.display = "inline-block"
            } if (c.isArray(a[k])) { (h.specialEasing = h.specialEasing || {})[k] = a[k][1]; a[k] = a[k][0] } 
        } if (h.overflow != null) this.style.overflow = "hidden"; h.curAnim = c.extend({}, a); c.each(a, function(B, D) {
            var H = new c.fx(s, h, B); if (tb.test(D)) H[D === "toggle" ? n ? "show" : "hide" : D](a); else {
                var w = ub.exec(D), G = H.cur(true) || 0; if (w) {
                    var M = parseFloat(w[2]), g = w[3] || "px"; if (g !== "px") {
                        c.style(s, B, (M || 1) + g);
                        G = (M || 1) / H.cur(true) * G; c.style(s, B, G + g)
                    } if (w[1]) M = (w[1] === "-=" ? -1 : 1) * M + G; H.custom(G, M, g)
                } else H.custom(G, D, "")
            } 
        }); return true
    })
}, stop: function(a, b) { var d = c.timers; a && this.queue([]); this.each(function() { for (var e = d.length - 1; e >= 0; e--) if (d[e].elem === this) { b && d[e](true); d.splice(e, 1) } }); b || this.dequeue(); return this } 
}); c.each({ slideDown: S("show", 1), slideUp: S("hide", 1), slideToggle: S("toggle", 1), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide"} }, function(a, b) {
    c.fn[a] = function(d, e, f) {
        return this.animate(b,
d, e, f)
    } 
}); c.extend({ speed: function(a, b, d) { var e = a && typeof a === "object" ? c.extend({}, a) : { complete: d || !d && b || c.isFunction(a) && a, duration: a, easing: d && b || b && !c.isFunction(b) && b }; e.duration = c.fx.off ? 0 : typeof e.duration === "number" ? e.duration : e.duration in c.fx.speeds ? c.fx.speeds[e.duration] : c.fx.speeds._default; e.old = e.complete; e.complete = function() { e.queue !== false && c(this).dequeue(); c.isFunction(e.old) && e.old.call(this) }; return e }, easing: { linear: function(a, b, d, e) { return d + e * a }, swing: function(a, b, d, e) {
    return (-Math.cos(a *
Math.PI) / 2 + 0.5) * e + 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) }, cur: function() { if (this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null)) return this.elem[this.prop]; var a = parseFloat(c.css(this.elem, this.prop)); return a && a > -1E4 ? a : 0 }, custom: function(a, b, d) {
    function e(h) { return f.step(h) }
    this.startTime = c.now(); this.start = a; this.end = b; this.unit = d || this.unit || "px"; this.now = this.start; this.pos = this.state = 0; var f = this; a = c.fx; e.elem = this.elem; if (e() && c.timers.push(e) && !aa) aa = setInterval(a.tick, a.interval)
}, 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 = c.now(), 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 e in this.options.curAnim) if (this.options.curAnim[e] !== true) d = false; if (d) {
            if (this.options.overflow != null && !c.support.shrinkWrapBlocks) { var f = this.elem, h = this.options; c.each(["", "X", "Y"], function(l, n) { f.style["overflow" + n] = h.overflow[l] }) } this.options.hide && c(this.elem).hide(); if (this.options.hide ||
this.options.show) for (var k in this.options.curAnim) c.style(this.elem, k, this.options.orig[k]); this.options.complete.call(this.elem)
        } return false
    } else { a = b - this.startTime; this.state = a / this.options.duration; b = this.options.easing || (c.easing.swing ? "swing" : "linear"); this.pos = c.easing[this.options.specialEasing && this.options.specialEasing[this.prop] || b](this.state, a, 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()
}, interval: 13, stop: function() { clearInterval(aa); aa = 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
}; var vb = /^t(?:able|d|h)$/i, Fa = /^(?:body|html)$/i; c.fn.offset = "getBoundingClientRect" in u.documentElement ? function(a) {
    var b = this[0], d; if (a) return this.each(function(k) { c.offset.setOffset(this, a, k) }); if (!b || !b.ownerDocument) return null; if (b === b.ownerDocument.body) return c.offset.bodyOffset(b); try { d = b.getBoundingClientRect() } catch (e) { } var f = b.ownerDocument, h = f.documentElement; if (!d || !c.contains(h, b)) return d || { top: 0, left: 0 }; b = f.body; f = ea(f); return { top: d.top + (f.pageYOffset || c.support.boxModel &&
h.scrollTop || b.scrollTop) - (h.clientTop || b.clientTop || 0), left: d.left + (f.pageXOffset || c.support.boxModel && h.scrollLeft || b.scrollLeft) - (h.clientLeft || b.clientLeft || 0)}
    } : function(a) {
        var b = this[0]; if (a) return this.each(function(s) { c.offset.setOffset(this, a, s) }); if (!b || !b.ownerDocument) return null; if (b === b.ownerDocument.body) return c.offset.bodyOffset(b); c.offset.initialize(); var d = b.offsetParent, e = b.ownerDocument, f, h = e.documentElement, k = e.body; f = (e = e.defaultView) ? e.getComputedStyle(b, null) : b.currentStyle;
        for (var l = b.offsetTop, n = b.offsetLeft; (b = b.parentNode) && b !== k && b !== h; ) {
            if (c.offset.supportsFixedPosition && f.position === "fixed") break; f = e ? e.getComputedStyle(b, null) : b.currentStyle; l -= b.scrollTop; n -= b.scrollLeft; if (b === d) { l += b.offsetTop; n += b.offsetLeft; if (c.offset.doesNotAddBorder && !(c.offset.doesAddBorderForTableAndCells && vb.test(b.nodeName))) { l += parseFloat(f.borderTopWidth) || 0; n += parseFloat(f.borderLeftWidth) || 0 } d = b.offsetParent } if (c.offset.subtractsBorderForOverflowNotVisible && f.overflow !== "visible") {
                l +=
parseFloat(f.borderTopWidth) || 0; n += parseFloat(f.borderLeftWidth) || 0
            } f = f
        } if (f.position === "relative" || f.position === "static") { l += k.offsetTop; n += k.offsetLeft } if (c.offset.supportsFixedPosition && f.position === "fixed") { l += Math.max(h.scrollTop, k.scrollTop); n += Math.max(h.scrollLeft, k.scrollLeft) } return { top: l, left: n}
    }; c.offset = { initialize: function() {
        var a = u.body, b = u.createElement("div"), d, e, f, h = parseFloat(c.css(a, "marginTop")) || 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; e = d.firstChild; f = d.nextSibling.firstChild.firstChild; this.doesNotAddBorder = e.offsetTop !== 5; this.doesAddBorderForTableAndCells =
f.offsetTop === 5; e.style.position = "fixed"; e.style.top = "20px"; this.supportsFixedPosition = e.offsetTop === 20 || e.offsetTop === 15; e.style.position = e.style.top = ""; d.style.overflow = "hidden"; d.style.position = "relative"; this.subtractsBorderForOverflowNotVisible = e.offsetTop === -5; this.doesNotIncludeMarginInBodyOffset = a.offsetTop !== h; 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.css(a,
"marginTop")) || 0; d += parseFloat(c.css(a, "marginLeft")) || 0
        } return { top: b, left: d}
    }, setOffset: function(a, b, d) {
        var e = c.css(a, "position"); if (e === "static") a.style.position = "relative"; var f = c(a), h = f.offset(), k = c.css(a, "top"), l = c.css(a, "left"), n = e === "absolute" && c.inArray("auto", [k, l]) > -1; e = {}; var s = {}; if (n) s = f.position(); k = n ? s.top : parseInt(k, 10) || 0; l = n ? s.left : parseInt(l, 10) || 0; if (c.isFunction(b)) b = b.call(a, d, h); if (b.top != null) e.top = b.top - h.top + k; if (b.left != null) e.left = b.left - h.left + l; "using" in b ? b.using.call(a,
e) : f.css(e)
    } 
    }; c.fn.extend({ position: function() { if (!this[0]) return null; var a = this[0], b = this.offsetParent(), d = this.offset(), e = Fa.test(b[0].nodeName) ? { top: 0, left: 0} : b.offset(); d.top -= parseFloat(c.css(a, "marginTop")) || 0; d.left -= parseFloat(c.css(a, "marginLeft")) || 0; e.top += parseFloat(c.css(b[0], "borderTopWidth")) || 0; e.left += parseFloat(c.css(b[0], "borderLeftWidth")) || 0; return { top: d.top - e.top, left: d.left - e.left} }, offsetParent: function() {
        return this.map(function() {
            for (var a = this.offsetParent || u.body; a && !Fa.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(e) { var f = this[0], h; if (!f) return null; if (e !== A) return this.each(function() { if (h = ea(this)) h.scrollTo(!a ? e : c(h).scrollLeft(), a ? e : c(h).scrollTop()); else this[d] = e }); else return (h = ea(f)) ? "pageXOffset" in h ? h[a ? "pageYOffset" : "pageXOffset"] : c.support.boxModel && h.document.documentElement[d] || h.document.body[d] : f[d] } }); c.each(["Height", "Width"], function(a, b) {
        var d = b.toLowerCase();
        c.fn["inner" + b] = function() { return this[0] ? parseFloat(c.css(this[0], d, "padding")) : null }; c.fn["outer" + b] = function(e) { return this[0] ? parseFloat(c.css(this[0], d, e ? "margin" : "border")) : null }; c.fn[d] = function(e) {
            var f = this[0]; if (!f) return e == null ? null : this; if (c.isFunction(e)) return this.each(function(h) { var k = c(this); k[d](e.call(this, h, k[d]())) }); return c.isWindow(f) ? f.document.compatMode === "CSS1Compat" && f.document.documentElement["client" + b] || f.document.body["client" + b] : f.nodeType === 9 ? Math.max(f.documentElement["client" +
b], f.body["scroll" + b], f.documentElement["scroll" + b], f.body["offset" + b], f.documentElement["offset" + b]) : e === A ? parseFloat(c.css(f, d)) : this.css(d, typeof e === "string" ? e : e + "px")
        } 
    })
        })(window);

        var $j = jQuery.noConflict();
        /*
        * jQuery history plugin
        * 
        * The MIT License
        * 
        * Copyright (c) 2006-2009 Taku Sano (Mikage Sawatari)
        * Copyright (c) 2010 Takayuki Miwa
        * 
        * Permission is hereby granted, free of charge, to any person obtaining a copy
        * of this software and associated documentation files (the "Software"), to deal
        * in the Software without restriction, including without limitation the rights
        * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        * copies of the Software, and to permit persons to whom the Software is
        * furnished to do so, subject to the following conditions:
        * 
        * The above copyright notice and this permission notice shall be included in
        * all copies or substantial portions of the Software.
        * 
        * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
        * THE SOFTWARE.
        */

        (function($) {
            var locationWrapper = {
                put: function(hash, win) {
                    (win || window).location.hash = this.encoder(hash);
                },
                get: function(win) {
                    var hash = ((win || window).location.hash).replace(/^#/, '');
                    try {
                        return $.browser.mozilla ? hash : decodeURIComponent(hash);
                    }
                    catch (error) {
                        return hash;
                    }
                },
                encoder: encodeURIComponent
            };

            var iframeWrapper = {
                id: "__jQuery_history",
                init: function() {
                    var html = '<iframe id="' + this.id + '" style="display:none" src="javascript:false;" />';
                    $("body").prepend(html);
                    return this;
                },
                _document: function() {
                    return $("#" + this.id)[0].contentWindow.document;
                },
                put: function(hash) {
                    var doc = this._document();
                    doc.open();
                    doc.close();
                    locationWrapper.put(hash, doc);
                },
                get: function() {
                    return locationWrapper.get(this._document());
                }
            };

            function initObjects(options) {
                options = $.extend({
                    unescape: false
                }, options || {});

                locationWrapper.encoder = encoder(options.unescape);

                function encoder(unescape_) {
                    if (unescape_ === true) {
                        return function(hash) { return hash; };
                    }
                    if (typeof unescape_ == "string" &&
               (unescape_ = partialDecoder(unescape_.split("")))
               || typeof unescape_ == "function") {
                        return function(hash) { return unescape_(encodeURIComponent(hash)); };
                    }
                    return encodeURIComponent;
                }

                function partialDecoder(chars) {
                    var re = new RegExp($.map(chars, encodeURIComponent).join("|"), "ig");
                    return function(enc) { return enc.replace(re, decodeURIComponent); };
                }
            }

            var implementations = {};

            implementations.base = {
                callback: undefined,
                type: undefined,

                check: function() { },
                load: function(hash) { },
                init: function(callback, options) {
                    initObjects(options);
                    self.callback = callback;
                    self._options = options;
                    self._init();
                },

                _init: function() { },
                _options: {}
            };

            implementations.timer = {
                _appState: undefined,
                _init: function() {
                    var current_hash = locationWrapper.get();
                    self._appState = current_hash;
                    self.callback(current_hash);
                    setInterval(self.check, 100);
                },
                check: function() {
                    var current_hash = locationWrapper.get();
                    if (current_hash != self._appState) {
                        self._appState = current_hash;
                        self.callback(current_hash);
                    }
                },
                load: function(hash) {
                    if (hash != self._appState) {
                        locationWrapper.put(hash);
                        self._appState = hash;
                        self.callback(hash);
                    }
                }
            };

            implementations.iframeTimer = {
                _appState: undefined,
                _init: function() {
                    var current_hash = locationWrapper.get();
                    self._appState = current_hash;
                    iframeWrapper.init().put(current_hash);
                    self.callback(current_hash);
                    setInterval(self.check, 100);
                },
                check: function() {
                    var iframe_hash = iframeWrapper.get(),
                location_hash = locationWrapper.get();

                    if (location_hash != iframe_hash) {
                        if (location_hash == self._appState) {    // user used Back or Forward button
                            self._appState = iframe_hash;
                            locationWrapper.put(iframe_hash);
                            self.callback(iframe_hash);
                        } else {                              // user loaded new bookmark
                            self._appState = location_hash;
                            iframeWrapper.put(location_hash);
                            self.callback(location_hash);
                        }
                    }
                },
                load: function(hash) {
                    if (hash != self._appState) {
                        locationWrapper.put(hash);
                        iframeWrapper.put(hash);
                        self._appState = hash;
                        self.callback(hash);
                    }
                }
            };

            implementations.hashchangeEvent = {
                _init: function() {
                    self.callback(locationWrapper.get());
                    $(window).bind('hashchange', self.check);
                },
                check: function() {
                    self.callback(locationWrapper.get());
                },
                load: function(hash) {
                    locationWrapper.put(hash);
                }
            };

            var self = $.extend({}, implementations.base);

            if ($.browser.msie && ($.browser.version < 8 || document.documentMode < 8)) {
                self.type = 'iframeTimer';
            } else if ("onhashchange" in window) {
                self.type = 'hashchangeEvent';
            } else {
                self.type = 'timer';
            }

            $.extend(self, implementations[self.type]);
            $.history = self;
        })(jQuery);


        /**
        * Cookie plugin
        *
        * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
        * Dual licensed under the MIT and GPL licenses:
        * http://www.opensource.org/licenses/mit-license.php
        * http://www.gnu.org/licenses/gpl.html
        *
        */

        /**
        * Create a cookie with the given name and value and other optional parameters.
        *
        * @example $j.cookie('the_cookie', 'the_value');
        * @desc Set the value of a cookie.
        * @example $j.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
        * @desc Create a cookie with all available options.
        * @example $j.cookie('the_cookie', 'the_value');
        * @desc Create a session cookie.
        * @example $j.cookie('the_cookie', null);
        * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
        *       used when the cookie was set.
        *
        * @param String name The name of the cookie.
        * @param String value The value of the cookie.
        * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
        * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
        *                             If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
        *                             If set to null or omitted, the cookie will be a session cookie and will not be retained
        *                             when the the browser exits.
        * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
        * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
        * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
        *                        require a secure protocol (like HTTPS).
        * @type undefined
        *
        * @name $j.cookie
        * @cat Plugins/Cookie
        * @author Klaus Hartl/klaus.hartl@stilbuero.de
        */

        /**
        * Get the value of a cookie with the given name.
        *
        * @example $j.cookie('the_cookie');
        * @desc Get the value of a cookie.
        *
        * @param String name The name of the cookie.
        * @return The value of the cookie.
        * @type String
        *
        * @name $j.cookie
        * @cat Plugins/Cookie
        * @author Klaus Hartl/klaus.hartl@stilbuero.de
        */
        $j.cookie = function(name, value, options) {
            if (typeof value != 'undefined') { // name and value given, set cookie
                options = options || {};
                if (value === null) {
                    value = '';
                    options.expires = -1;
                }
                var expires = '';
                if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
                    var date;
                    if (typeof options.expires == 'number') {
                        date = new Date();
                        date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
                    } else {
                        date = options.expires;
                    }
                    expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
                }
                // CAUTION: Needed to parenthesize options.path and options.domain
                // in the following expressions, otherwise they evaluate to undefined
                // in the packed version for some reason...
                var path = options.path ? '; path=' + (options.path) : '';
                var domain = options.domain ? '; domain=' + (options.domain) : '';
                var secure = options.secure ? '; secure' : '';
                document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
            } else { // only name given, get cookie
                var cookieValue = null;
                if (document.cookie && document.cookie != '') {
                    var cookies = document.cookie.split(';');
                    for (var i = 0; i < cookies.length; i++) {
                        var cookie = jQuery.trim(cookies[i]);
                        // Does this cookie string begin with the name we want?
                        if (cookie.substring(0, name.length + 1) == (name + '=')) {
                            cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                            break;
                        }
                    }
                }
                return cookieValue;
            }
        };


        /* Copyright (c) 2007 Paul Bakaus (paul.bakaus@googlemail.com) and Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net)
        * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
        * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
        *
        * $LastChangedDate: 2007-12-20 08:46:55 -0600 (Thu, 20 Dec 2007) $
        * $Rev: 4259 $
        *
        * Version: 1.2
        *
        * Requires: jQuery 1.2+
        */

        (function($) {

            $j.dimensions = {
                version: '1.2'
            };

            // Create innerHeight, innerWidth, outerHeight and outerWidth methods
            $j.each(['Height', 'Width'], function(i, name) {

                // innerHeight and innerWidth
                $j.fn['inner' + name] = function() {
                    if (!this[0]) return;

                    var torl = name == 'Height' ? 'Top' : 'Left',  // top or left
		    borr = name == 'Height' ? 'Bottom' : 'Right'; // bottom or right

                    return this.is(':visible') ? this[0]['client' + name] : num(this, name.toLowerCase()) + num(this, 'padding' + torl) + num(this, 'padding' + borr);
                };

                // outerHeight and outerWidth
                $j.fn['outer' + name] = function(options) {
                    if (!this[0]) return;

                    var torl = name == 'Height' ? 'Top' : 'Left',  // top or left
		    borr = name == 'Height' ? 'Bottom' : 'Right'; // bottom or right

                    options = $j.extend({ margin: false }, options || {});

                    var val = this.is(':visible') ?
				this[0]['offset' + name] :
				num(this, name.toLowerCase())
					+ num(this, 'border' + torl + 'Width') + num(this, 'border' + borr + 'Width')
					+ num(this, 'padding' + torl) + num(this, 'padding' + borr);

                    return val + (options.margin ? (num(this, 'margin' + torl) + num(this, 'margin' + borr)) : 0);
                };
            });

            // Create scrollLeft and scrollTop methods
            $j.each(['Left', 'Top'], function(i, name) {
                $j.fn['scroll' + name] = function(val) {
                    if (!this[0]) return;

                    return val != undefined ?

                    // Set the scroll offset
			this.each(function() {
			    this == window || this == document ?
					window.scrollTo(
						name == 'Left' ? val : $j(window)['scrollLeft'](),
						name == 'Top' ? val : $j(window)['scrollTop']()
					) :
					this['scroll' + name] = val;
			}) :

                    // Return the scroll offset
			this[0] == window || this[0] == document ?
				self[(name == 'Left' ? 'pageXOffset' : 'pageYOffset')] ||
					$j.boxModel && document.documentElement['scroll' + name] ||
					document.body['scroll' + name] :
				this[0]['scroll' + name];
                };
            });

            $j.fn.extend({
                position: function() {
                    var left = 0, top = 0, elem = this[0], offset, parentOffset, offsetParent, results;

                    if (elem) {
                        // Get *real* offsetParent
                        offsetParent = this.offsetParent();

                        // Get correct offsets
                        offset = this.offset();
                        parentOffset = offsetParent.offset();

                        // Subtract element margins
                        offset.top -= num(elem, 'marginTop');
                        offset.left -= num(elem, 'marginLeft');

                        // Add offsetParent borders
                        parentOffset.top += num(offsetParent, 'borderTopWidth');
                        parentOffset.left += num(offsetParent, 'borderLeftWidth');

                        // Subtract the two offsets
                        results = {
                            top: offset.top - parentOffset.top,
                            left: offset.left - parentOffset.left
                        };
                    }

                    return results;
                },

                offsetParent: function() {
                    var offsetParent = this[0].offsetParent;
                    while (offsetParent && (!/^body|html$/i.test(offsetParent.tagName) && $j.css(offsetParent, 'position') == 'static'))
                        offsetParent = offsetParent.offsetParent;
                    return $j(offsetParent);
                }
            });

            function num(el, prop) {
                return parseInt($j.curCSS(el.jquery ? el[0] : el, prop, true)) || 0;
            };

        })(jQuery);


        (function($) {
            /*
            * jBind 1.5.7
            *
            * Copyright (c) 2009 Arash Karimzadeh (arashkarimzadeh.com)
            * Licensed under the MIT (MIT-LICENSE.txt)
            * http://www.opensource.org/licenses/mit-license.php
            *
            * Date: Feb 18 2009
            */
            $j.fn.bindTo = function(data, options) {
                var defaults = {
                    appendTo: null,
                    root: 'data',
                    onBind: null,
                    onBound: null,
                    fill: false
                }
                var options = $j.extend(defaults, options);

                if ($j.isFunction(options.onBind))
                    options.onBind();
                var template = '<!--bind.template-->' + ((options.fill) ? this.html() : this.parent().html()).replace(/%7B/g, '{').replace(/%7D/g, '}') + '<!--bind.template-->';
                var repeaters = this.bindTo.findRepeaters(template);
                var fixedData = {};
                fixedData[options.root] = data;
                var content = this.bindTo.traverse(
									  'bind.template',
									  fixedData,
									  repeaters['<!--bind.template-->'].template,
									  repeaters,
									  'bind.template'
									 );
                if (options.fill)
                    this.html(content);
                if (options.appendTo != null)
                    content = $j(content).appendTo($j(options.appendTo));
                if ($j.isFunction(options.onBound))
                    options.onBound(content, data);
                return content;
            }
            $j.extend($j.fn.bindTo,
	{
	    templates: {},
	    traverse: function(key, data, template, repeaters, parent) {
	        if (typeof data == 'string' || typeof data == 'number') {
	            return template.replace(new RegExp("\{" + key + "\}", "ig"), data);
	        } else if (typeof data == 'object') {
	            if (typeof data.length == 'undefined') {
	                if (repeaters['<!--' + parent + '-->'].action)
	                    template = $j.fn.bindTo[repeaters['<!--' + parent + '-->'].action](template, data) || template;
	                for (var item in data) {
	                    if (typeof data[item] == 'object') {
	                        if (typeof repeaters['<!--' + item + '-->'] != 'undefined') {//Skip not defined templates for child in aggregate object
	                            var temp = $j.fn.bindTo.traverse(item, data[item], repeaters['<!--' + item + '-->'].template, repeaters, item);
	                            template = template.replace('<!--' + item + '-->', temp);
	                        }
	                    } else {
	                        var temp = $j.fn.bindTo.traverse(item, data[item], template, repeaters);
	                        template = temp;
	                    }
	                }
	                return template;
	            } else {
	                var listTemplate = '';
	                for (var item in data) {
	                    listTemplate += $j.fn.bindTo.traverse(item, data[item], repeaters['<!--' + key + '-->'].template, repeaters, key);
	                }
	                return listTemplate;
	            }
	        }
	        return ''; //(handle extjs) this will return '' for function in case you extned array or object
	    },
	    findRepeaters: function(template) {
	        $this = this;
	        var templates = {};
	        var reg = new RegExp('<!--[.a-zA-Z1-9]*-->', 'g');
	        var regAction = new RegExp('<!--action:[$j.a-zA-Z1-9]*-->', 'g');
	        var matches = (template.match(reg));
	        $j.each(matches,
				   function() {
				       if (templates[this] != undefined)/*template is already added because end tag and start tags are the same*/
				           return true;
				       templates[this] = {};
				       var temp = template.substring(template.indexOf(this) + this.length, template.lastIndexOf(this));
				       var innerMatches = (temp.match(reg)) || [];
				       $j.each(innerMatches,
							   function() {
							       if (temp.indexOf(this) > -1) {
							           var innerRepeater = temp.substring(temp.indexOf(this), temp.lastIndexOf(this) + this.length);
							           temp = temp.replace(innerRepeater, this);
							       }
							   }
						)
				       var actions = (temp.match(regAction)) || [];
				       var key = this;
				       $j.each(actions,
							   function() {
							       var action = this.substring(11, this.length - 3);
							       templates[key].action = action;
							       temp = temp.replace(actions, '');
							   }
						)
				       templates[this].template = temp;
				   }
			)
	        return templates;
	    }
	}
);
            //
})(jQuery);


/* QueryString Engine v1.6
By James Campbell 
Many thanks to Mike Willis for his suggestions and additions to this jQuery plugin.
*/
(function($) {
    $j.getAllQueryStrings = function(options) {
        defaults = { defaultvalue: "", URL: window.location.href };
        options = $j.extend(defaults, options);
        var qs;
        var args = new Array();
        if (typeof (options.URL.split("?")[1]) != "undefined") {
            qs = options.URL.split("?")[1].split('#')[0].replace(/\+/g, ' ').split('&');
            $j.each(qs, function(i) {
                var currentArg = this.split('=');
                if (currentArg.length == 2) {
                    args[i] = { name: currentArg[0], value: currentArg[1] };
                    args[currentArg[0]] = { name: currentArg[0], value: currentArg[1] };
                } else {
                    args[i] = { name: currentArg[0], value: currentArg[1] };
                    args[currentArg[0]] = { name: currentArg[0], value: currentArg[0] };
                }
            });
        }
        if (args.length <= 0) { };
        return args;
    };
    $j.getQueryString = function(options) {
        defaults = { defaultvalue: "", URL: window.location.href };
        options = $j.extend(defaults, options);
        if (typeof ($j.getAllQueryStrings({ URL: options.URL })[options.ID]) == "undefined") {
            return options.defaultvalue;
        } else {
            return $j.getAllQueryStrings({ defaultvalue: options.defaultvalue, URL: options.URL })[options.ID].value;
        }
    };

    $j.getUrlHash = function() {
        if (window.location.href.split("#").length > 1)
            return unescape(window.location.href.split("#")[1]);
        return "";
    };

    $j.getUrlBase = function() {
        if (window.location.href.match("#") == "#") {
            if (window.location.href.split("#").length > 1)
                return window.location.href.split("#")[0];
        }
        return window.location.href;
    };

    $j.getUrlHashValue = function(name) {
        var hash = $j.getUrlHash();
        var key = "";
        if (hash != "") {
            var values = hash.split("&");
            for (var v = 0; v < values.length; v++) {
                key = values[v].split("=");
                if (key[0] == name)
                    return key[1];
            }
        }
        return "";
    };
})(jQuery);


/* JQuery RC4 encryption/decryption
* Copyright (c) 2009 by Tony Simek.
* released under the terms of the Gnu Public License.
* Email: tony.simek@gmail.com
*/
(function($j) {
    $j.fn.rc4 = function(settings) {
        var defaults = { key: null, method: "encrypt", callback: null };
        var options = $j.extend(defaults, settings);
        if ($j.fn.rc4.ctrlrInst == null) { $j.fn.rc4.ctrlrInst = new $j.fn.rc4.ctrlr(options); }
        return this.each(function() {
            $j.fn.rc4.ctrlrInst.settings = options;
            $j.fn.rc4.ctrlrInst.container = this; $j.fn.rc4.ctrlrInst.initialise(this);
        });
    }
    $j.extend({ hexEncode: function(data) {
        var b16D = '0123456789abcdef'; var b16M = new Array();
        for (var i = 0; i < 256; i++) { b16M[i] = b16D.charAt(i >> 4) + b16D.charAt(i & 15); }
        var result = new Array(); for (var i = 0; i < data.length; i++) { result[i] = b16M[data.charCodeAt(i)]; }
        return result.join('');
    }, hexDecode: function(data) {
        var b16D = '0123456789abcdef'; var b16M = new Array();
        for (var i = 0; i < 256; i++) { b16M[b16D.charAt(i >> 4) + b16D.charAt(i & 15)] = String.fromCharCode(i); }
        if (!data.match(/^[a-f0-9]*$j/i)) return false; if (data.length % 2) data = '0' + data;
        var result = new Array(); var j = 0; for (var i = 0; i < data.length; i += 2) { result[j++] = b16M[data.substr(i, 2)]; }
        return result.join('');
    }, rc4Encrypt: function(key, pt) {
        s = new Array(); for (var i = 0; i < 256; i++) { s[i] = i; }; var j = 0; var x;
        for (i = 0; i < 256; i++) { j = (j + s[i] + key.charCodeAt(i % key.length)) % 256; x = s[i]; s[i] = s[j]; s[j] = x; }
        i = 0; j = 0; var ct = ''; for (var y = 0; y < pt.length; y++) {
            i = (i + 1) % 256; j = (j + s[i]) % 256; x = s[i]; s[i] = s[j]; s[j] = x;
            ct += String.fromCharCode(pt.charCodeAt(y) ^ s[(s[i] + s[j]) % 256]);
        } return ct;
    }, rc4Decrypt: function(key, ct) {
        return $j.rc4Encrypt(key, ct);
    }, rc4EncryptStr: function(str, key) {
        return $j.hexEncode($j.rc4Encrypt(key, unescape(encodeURIComponent(str))));
    }, rc4DecryptStr: function(hexStr, key) { return decodeURIComponent(escape($j.rc4Decrypt(key, $j.hexDecode(hexStr)))); }
    });
    $j.rc4 = {}; $j.fn.rc4.ctrlrInst = null; $j.fn.rc4.ctrlr = function(settings) { this.settings = settings; }; var ctrlr = $j.fn.rc4.ctrlr;
    ctrlr.prototype.initialise = function() {
        if (this.settings.key) {
            if (this.settings.method) {
                if ($j.trim(this.settings.method.toUpperCase()) == "ENCRYPT") {
                    this.setObjectValue($j.hexEncode($j.rc4Encrypt(this.settings.key, this.getObjectValue())))
                }
                if ($j.trim(this.settings.method.toUpperCase()) == "DECRYPT") {
                    this.setObjectValue($j.rc4Decrypt(this.settings.key, $j.hexDecode(this.getObjectValue())));
                } 
            } 
        };
    }
    ctrlr.prototype.getObjectValue = function() {
        if ($j.fn.rc4.ctrlrInst.container.innerHTML) { return $j.fn.rc4.ctrlrInst.container.innerHTML; }
        if ($j.fn.rc4.ctrlrInst.container.value) { return $j.fn.rc4.ctrlrInst.container.value; } 
    }
    ctrlr.prototype.setObjectValue = function(data) {
        if ($j.fn.rc4.ctrlrInst.container.innerHTML) { $j.fn.rc4.ctrlrInst.container.innerHTML = data; }
        if ($j.fn.rc4.ctrlrInst.container.value) { $j.fn.rc4.ctrlrInst.container.value = data; } 
    }
})(jQuery);

/**
* jquery.scrollFollow.js
* Copyright (c) 2008 Net Perspective (http://kitchen.net-perspective.com/)
* Licensed under the MIT License (http://www.opensource.org/licenses/mit-license.php)
* 
* @author R.A. Ray
*
* @projectDescription	jQuery plugin for allowing an element to animate down as the user scrolls the page.
* 
* @version 0.4.0
* 
* @requires jquery.js (tested with 1.2.6)
* @requires ui.core.js (tested with 1.5.2)
* 
* @optional jquery.cookie.js (http://www.stilbuero.de/2006/09/17/cookie-plugin-for-jquery/)
* @optional jquery.easing.js (http://gsgd.co.uk/sandbox/jquery/easing/ - tested with 1.3)
* 
* @param speed		int - Duration of animation (in milliseconds)
* 								default: 500
* @param offset			int - Number of pixels box should remain from top of viewport
* 								default: 0
* @param easing		string - Any one of the easing options from the easing plugin - Requires jQuery Easing Plugin < http://gsgd.co.uk/sandbox/jquery/easing/ >
* 								default: 'linear'
* @param container	string - ID of the containing div
* 								default: box's immediate parent
* @param killSwitch	string - ID of the On/Off toggle element
* 								default: 'killSwitch'
* @param onText		string - killSwitch text to be displayed if sliding is enabled
* 								default: 'Turn Slide Off'
* @param offText		string - killSwitch text to be displayed if sliding is disabled
* 								default: 'Turn Slide On'
* @param relativeTo	string - Scroll animation can be relative to either the 'top' or 'bottom' of the viewport
* 								default: 'top'
* @param delay			int - Time between the end of the scroll and the beginning of the animation in milliseconds
* 								default: 0
*/

(function($) {

    $j.scrollFollow = function(box, options) {
        // Convert box into a jQuery object
        box = $j(box);

        // 'box' is the object to be animated
        var position = box.css('position');

        function ani() {
            // The script runs on every scroll which really means many times during a scroll.
            // We don't want multiple slides to queue up.
            box.queue([]);

            // A bunch of values we need to determine where to animate to
            var viewportHeight = parseInt($j(window).height());
            var pageScroll = parseInt($j(document).scrollTop());
            var parentTop = parseInt(box.cont.offset().top);
            var parentHeight = parseInt(box.cont.attr('offsetHeight'));
            var boxHeight = parseInt(box.attr('offsetHeight') + (parseInt(box.css('marginTop')) || 0) + (parseInt(box.css('marginBottom')) || 0));
            var aniTop;

            // Make sure the user wants the animation to happen
            if (isActive) {
                // If the box should animate relative to the top of the window
                if (options.relativeTo == 'top') {
                    // Don't animate until the top of the window is close enough to the top of the box
                    if (box.initialOffsetTop >= (pageScroll + options.offset)) {
                        aniTop = box.initialTop;
                    }
                    else {
                        aniTop = Math.min((Math.max((-parentTop), (pageScroll - box.initialOffsetTop + box.initialTop)) + options.offset), (parentHeight - boxHeight - box.paddingAdjustment));
                    }
                }
                // If the box should animate relative to the bottom of the window
                else if (options.relativeTo == 'bottom') {
                    // Don't animate until the bottom of the window is close enough to the bottom of the box
                    if ((box.initialOffsetTop + boxHeight) >= (pageScroll + options.offset + viewportHeight)) {
                        aniTop = box.initialTop;
                    }
                    else {
                        aniTop = Math.min((pageScroll + viewportHeight - boxHeight - options.offset), (parentHeight - boxHeight));
                    }
                }

                // Checks to see if the relevant scroll was the last one
                // "-20" is to account for inaccuracy in the timeout
                if ((new Date().getTime() - box.lastScroll) >= (options.delay - 20)) {
                    box.animate(
						{
						    top: aniTop
						}, options.speed, options.easing
					);
                }
            }
        };

        // For user-initiated stopping of the slide
        var isActive = true;

        if ($j.cookie != undefined) {
            if ($j.cookie('scrollFollowSetting' + box.attr('id')) == 'false') {
                var isActive = false;

                $j('#' + options.killSwitch).text(options.offText)
					.toggle(
						function() {
						    isActive = true;

						    $j(this).text(options.onText);

						    $j.cookie('scrollFollowSetting' + box.attr('id'), true, { expires: 365, path: '/' });

						    ani();
						},
						function() {
						    isActive = false;

						    $j(this).text(options.offText);

						    box.animate(
								{
								    top: box.initialTop
								}, options.speed, options.easing
							);

						    $j.cookie('scrollFollowSetting' + box.attr('id'), false, { expires: 365, path: '/' });
						}
					);
            }
            else {
                $j('#' + options.killSwitch).text(options.onText)
					.toggle(
						function() {
						    isActive = false;

						    $j(this).text(options.offText);

						    box.animate(
								{
								    top: box.initialTop
								}, 0
							);

						    $j.cookie('scrollFollowSetting' + box.attr('id'), false, { expires: 365, path: '/' });
						},
						function() {
						    isActive = true;

						    $j(this).text(options.onText);

						    $j.cookie('scrollFollowSetting' + box.attr('id'), true, { expires: 365, path: '/' });

						    ani();
						}
					);
            }
        }

        // If no parent ID was specified, and the immediate parent does not have an ID
        // options.container will be undefined. So we need to figure out the parent element.
        if (options.container == '') {
            box.cont = box.parent();
        }
        else {
            box.cont = $j('#' + options.container);
        }

        // Finds the default positioning of the box.
        box.initialOffsetTop = parseInt(box.offset().top);
        box.initialTop = parseInt(box.css('top')) || 0;

        // Hack to fix different treatment of boxes positioned 'absolute' and 'relative'
        if (box.css('position') == 'relative') {
            box.paddingAdjustment = parseInt(box.cont.css('paddingTop')) + parseInt(box.cont.css('paddingBottom'));
        }
        else {
            box.paddingAdjustment = 0;
        }

        // Animate the box when the page is scrolled
        $j(window).scroll(function() {
            // Sets up the delay of the animation
            $j.fn.scrollFollow.interval = setTimeout(function() { ani(); }, options.delay);

            // To check against right before setting the animation
            box.lastScroll = new Date().getTime();
        }
		);

        // Animate the box when the page is resized
        $j(window).resize(function() {
            // Sets up the delay of the animation
            $j.fn.scrollFollow.interval = setTimeout(function() { ani(); }, options.delay);

            // To check against right before setting the animation
            box.lastScroll = new Date().getTime();
        }
		);

        // Run an initial animation on page load
        box.lastScroll = 0;

        ani();
    };

    $j.fn.scrollFollow = function(options) {
        options = options || {};
        options.relativeTo = options.relativeTo || 'top';
        options.speed = options.speed || 500;
        options.offset = options.offset || 0;
        options.easing = options.easing || 'swing';
        options.container = options.container || this.parent().attr('id');
        options.killSwitch = options.killSwitch || 'killSwitch';
        options.onText = options.onText || 'Turn Slide Off';
        options.offText = options.offText || 'Turn Slide On';
        options.delay = options.delay || 0;

        this.each(function() {
            new $j.scrollFollow(this, options);
        }
		);

        return this;
    };
})(jQuery);



/*!
 * jQuery UI 1.8.16
 *
 * 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.16",
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({propAttr:c.fn.prop||c.fn.attr,_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.16
 *
 * 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++)try{b(d).triggerHandler("remove")}catch(e){}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(){try{b(this).triggerHandler("remove")}catch(d){}});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.16
 *
 * 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).mouseup(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"&&a.target.nodeName?b(a.target).closest(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.16
 *
 * 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.16
 *
 * 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;if(b.iframeFix)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);d.ui.ddmanager&&d.ui.ddmanager.dragStart(this,a);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)});d.ui.ddmanager&&d.ui.ddmanager.dragStop(this,a);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=b.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/b.grid[1])*b.grid[1]:this.originalPageY;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=b.grid[0]?this.originalPageX+Math.round((e-this.originalPageX)/
b.grid[0])*b.grid[0]:this.originalPageX;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.16"});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.16
 *
 * 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.16"});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},dragStart:function(a,b){a.element.parents(":not(body,html)").bind("scroll.droppable",function(){a.options.refreshPositions||d.ui.ddmanager.prepareOffsets(a,b)})},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)}}}})},dragStop:function(a,b){a.element.parents(":not(body,html)").unbind("scroll.droppable");
a.options.refreshPositions||d.ui.ddmanager.prepareOffsets(a,b)}}})(jQuery);
;/*
 * jQuery UI Resizable 1.8.16
 *
 * 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),l=0;l=/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,l);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]);this._updateVirtualBoundaries(b.shiftKey);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},_updateVirtualBoundaries:function(b){var a=this.options,c,d,f;a={minWidth:k(a.minWidth)?a.minWidth:0,maxWidth:k(a.maxWidth)?a.maxWidth:Infinity,minHeight:k(a.minHeight)?a.minHeight:0,maxHeight:k(a.maxHeight)?a.maxHeight:
Infinity};if(this._aspectRatio||b){b=a.minHeight*this.aspectRatio;d=a.minWidth/this.aspectRatio;c=a.maxHeight*this.aspectRatio;f=a.maxWidth/this.aspectRatio;if(b>a.minWidth)a.minWidth=b;if(d>a.minHeight)a.minHeight=d;if(c<a.maxWidth)a.maxWidth=c;if(f<a.maxHeight)a.maxHeight=f}this._vBoundaries=a},_updateCache:function(b){this.offset=this.helper.offset();if(k(b.left))this.position.left=b.left;if(k(b.top))this.position.top=b.top;if(k(b.height))this.size.height=b.height;if(k(b.width))this.size.width=
b.width},_updateRatio:function(b){var a=this.position,c=this.size,d=this.axis;if(k(b.height))b.width=b.height*this.aspectRatio;else if(k(b.width))b.height=b.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._vBoundaries,c=this.axis,d=k(b.width)&&a.maxWidth&&a.maxWidth<b.width,f=k(b.height)&&a.maxHeight&&a.maxHeight<b.height,g=k(b.width)&&a.minWidth&&
a.minWidth>b.width,h=k(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,l=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&l)b.left=i-a.minWidth;if(d&&l)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.16"});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 l=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:l.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(l.css("position"))){c._revertToRelativePosition=true;l.css({position:"absolute",top:"auto",left:"auto"})}l.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},k=function(b){return!isNaN(parseInt(b,10))}})(jQuery);
;/*
 * jQuery UI Selectable 1.8.16
 *
 * 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.16"})})(jQuery);
;/*
 * jQuery UI Sortable 1.8.16
 *
 * 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.parent().length&&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.16"})})(jQuery);
;
// LIGHTBOX LIGHTBOX LIGHTBOX

/*
* jQuery simpleLightbox v1.0.0 
*/

$j.fn.simpleLightbox = function(_options) {
    // defaults options	
    var _options = $j.extend({
        lightboxContentBlock: '.lightbox',
        faderOpacity: .6,
        faderBackground: '#000000',
        closeLink: 'a.close'
    }, _options);

    return this.each(function() {

        var _this = $j(this);
        _this.lightboxContentBlock = _options.lightboxContentBlock;
        _this.faderOpacity = _options.faderOpacity;
        _this.faderBackground = _options.faderBackground;
        _this.closeLink = _options.closeLink;
        var _fader;

        var _lightbox = $j(_this.lightboxContentBlock);
        if (_lightbox.length > 0) {
            _lightbox[0].parentNode.removeChild(_lightbox[0]);
            $j("body").append(_lightbox[0]);
        }

        if (!$j('div.lightbox-fader').length || $j('div.lightbox-fader').length == 0) {
            $j('body').append('<div class="lightbox-fader" style="display: none"></div>');
        }

        _fader = $j('div.lightbox-fader');

        _fader.css({
            opacity: _this.faderOpacity,
            backgroundColor: _this.faderBackground,
            position: 'absolute',
            top: 0,
            left: 0,
            zIndex: 999999,
            textIndent: -9999
        }).text('$nbsp');

        _lightbox.css({
            'zIndex': 1000000,
            'visibility': 'visible',
            'display': 'none'
        });

        _this.click(function(event) {
            //document.documentElement.scrollTop = 0;
            var _page = $j('body');
            // fix to hide transparent pngs in IE7
            _page.addClass("trans");

            // just show the background immediately
            $j("div.lightbox-fader").css("display", "");
            //_fader.fadeIn(100, function(){
            //jQuery('.lightbox').fadeOut(400);

            $j.fn.simpleLightbox.positionLightbox(_this.lightboxContentBlock);

            _lightbox.fadeIn(400, function() {
                //call page specific function to run any scripts that need to run after popup visible
                // i.e. sifr
                if (typeof (pageInitLightbox) == 'function') {
                    pageInitLightbox();
                }
                // show the png drop shadow again
                _page.removeClass("trans");
            });
        });
        $j(_this.closeLink).click(function(event) {
            var _page = $j('body');

            _page.addClass("trans");
            _lightbox.fadeOut(400, function() {
                _fader.fadeOut(300);
                if (typeof (showSelectBoxes) == 'function') showSelectBoxes(_lightbox);
            });
            return false;
        });

        $j.fn.simpleLightbox.positionLightbox = function(lightbox) {
            if (typeof (lightbox) != "undefined")
                _lightbox = $j(lightbox);
            var _height = 0;
            var _width = 0;
            var _minWidth = $j('body > div').outerWidth();

            if (window.innerHeight) {
                _height = window.innerHeight;
                _width = window.innerWidth;
            } else {
                _height = document.documentElement.clientHeight;
                _width = document.documentElement.clientWidth;
            }

            var _page = $j('body > div');

            if (_lightbox.length) {
                _fader.css('height', document.documentElement.scrollHeight);
                if (_width < _minWidth) { _fader.css('width', _minWidth); } else { _fader.css('width', '100%'); }

                var parentBody = document.documentElement;
                // This is really weird, I don't know why Safari would care about documentElement, but it seems to.
                if (navigator.userAgent.match("Safari")) {
                    parentBody = document.body;
                }
                if (_height > _lightbox.innerHeight()) {
                    _lightbox.css({
                        position: 'absolute',
                        top: (parentBody.scrollTop + ((_height - _lightbox.height()) / 2)) + "px"
                    });
                }
                else {
                    _lightbox.css({
                        position: 'absolute',
                        top: 0
                    });
                }
                if (_width > _lightbox.width()) {
                    _lightbox.css("left", ((_width - _lightbox.width()) / 2) + "px");
                }
                else {
                    _lightbox.css({ position: 'absolute', left: 0 });
                }
            }
        }

        $j(window).resize(function() {
            $j.fn.simpleLightbox.positionLightbox(_this.lightboxContentBlock);
        });

        $j.fn.simpleLightbox.positionLightbox();

    });
}




