- (function (a, b) {
- function cA(a) {
- return f.isWindow(a) ? a : a.nodeType === 9 ? a.defaultView || a.parentWindow : !1
- }
- function cx(a) {
- if (!cm[a]) {
- var b = c.body,
- d = f("<" + a + ">").appendTo(b),
- e = d.css("display");
- d.remove();
- if (e === "none" || e === "") {
- cn || (cn = c.createElement("iframe"), cn.frameBorder = cn.width = cn.height = 0), b.appendChild(cn);
- if (!co || !cn.createElement) co = (cn.contentWindow || cn.contentDocument).document, co.write((c.compatMode === "CSS1Compat" ? "<!doctype html>" : "") + "<html><body>"), co.close();
- d = co.createElement(a), co.body.appendChild(d), e = f.css(d, "display"), b.removeChild(cn)
- }
- cm[a] = e
- }
- return cm[a]
- }
- function cw(a, b) {
- var c = {};
- f.each(cs.concat.apply([], cs.slice(0, b)), function () {
- c[this] = a
- });
- return c
- }
- function cv() {
- ct = b
- }
- function cu() {
- setTimeout(cv, 0);
- return ct = f.now()
- }
- function cl() {
- try {
- return new a.ActiveXObject("Microsoft.XMLHTTP")
- } catch (b) {}
- }
- function ck() {
- try {
- return new a.XMLHttpRequest
- } catch (b) {}
- }
- function ce(a, c) {
- a.dataFilter && (c = a.dataFilter(c, a.dataType));
- var d = a.dataTypes,
- e = {}, g, h, i = d.length,
- j, k = d[0],
- l, m, n, o, p;
- for (g = 1; g < i; g++) {
- if (g === 1) for (h in a.converters) typeof h == "string" && (e[h.toLowerCase()] = a.converters[h]);
- l = k, k = d[g];
- if (k === "*") k = l;
- else if (l !== "*" && l !== k) {
- m = l + " " + k, n = e[m] || e["* " + k];
- if (!n) {
- p = b;
- for (o in e) {
- j = o.split(" ");
- if (j[0] === l || j[0] === "*") {
- p = e[j[1] + " " + k];
- if (p) {
- o = e[o], o === !0 ? n = p : p === !0 && (n = o);
- break
- }
- }
- }
- }!n && !p && f.error("No conversion from " + m.replace(" ", " to ")), n !== !0 && (c = n ? n(c) : p(o(c)))
- }
- }
- return c
- }
- function cd(a, c, d) {
- var e = a.contents,
- f = a.dataTypes,
- g = a.responseFields,
- h, i, j, k;
- for (i in g) i in d && (c[g[i]] = d[i]);
- while (f[0] === "*") f.shift(), h === b && (h = a.mimeType || c.getResponseHeader("content-type"));
- if (h) for (i in e) if (e[i] && e[i].test(h)) {
- f.unshift(i);
- break
- }
- if (f[0] in d) j = f[0];
- else {
- for (i in d) {
- if (!f[0] || a.converters[i + " " + f[0]]) {
- j = i;
- break
- }
- k || (k = i)
- }
- j = j || k
- }
- if (j) {
- j !== f[0] && f.unshift(j);
- return d[j]
- }
- }
- function cc(a, b, c, d) {
- if (f.isArray(b)) f.each(b, function (b, e) {
- c || bG.test(a) ? d(a, e) : cc(a + "[" + (typeof e == "object" || f.isArray(e) ? b : "") + "]", e, c, d)
- });
- else if (!c && b != null && typeof b == "object") for (var e in b) cc(a + "[" + e + "]", b[e], c, d);
- else d(a, b)
- }
- function cb(a, c) {
- var d, e, g = f.ajaxSettings.flatOptions || {};
- for (d in c) c[d] !== b && ((g[d] ? a : e || (e = {}))[d] = c[d]);
- e && f.extend(!0, a, e)
- }
- function ca(a, c, d, e, f, g) {
- f = f || c.dataTypes[0], g = g || {}, g[f] = !0;
- var h = a[f],
- i = 0,
- j = h ? h.length : 0,
- k = a === bV,
- l;
- for (; i < j && (k || !l); i++) l = h[i](c, d, e), typeof l == "string" && (!k || g[l] ? l = b : (c.dataTypes.unshift(l), l = ca(a, c, d, e, l, g)));
- (k || !l) && !g["*"] && (l = ca(a, c, d, e, "*", g));
- return l
- }
- function b_(a) {
- return function (b, c) {
- typeof b != "string" && (c = b, b = "*");
- if (f.isFunction(c)) {
- var d = b.toLowerCase().split(bR),
- e = 0,
- g = d.length,
- h, i, j;
- for (; e < g; e++) h = d[e], j = /^\+/.test(h), j && (h = h.substr(1) || "*"), i = a[h] = a[h] || [], i[j ? "unshift" : "push"](c)
- }
- }
- }
- function bE(a, b, c) {
- var d = b === "width" ? a.offsetWidth : a.offsetHeight,
- e = b === "width" ? bz : bA;
- if (d > 0) {
- c !== "border" && f.each(e, function () {
- c || (d -= parseFloat(f.css(a, "padding" + this)) || 0), c === "margin" ? d += parseFloat(f.css(a, c + this)) || 0 : d -= parseFloat(f.css(a, "border" + this + "Width")) || 0
- });
- return d + "px"
- }
- d = bB(a, b, b);
- if (d < 0 || d == null) d = a.style[b] || 0;
- d = parseFloat(d) || 0, c && f.each(e, function () {
- d += parseFloat(f.css(a, "padding" + this)) || 0, c !== "padding" && (d += parseFloat(f.css(a, "border" + this + "Width")) || 0), c === "margin" && (d += parseFloat(f.css(a, c + this)) || 0)
- });
- return d + "px"
- }
- function br(a, b) {
- b.src ? f.ajax({
- url: b.src,
- async: !1,
- dataType: "script"
- }) : f.globalEval((b.text || b.textContent || b.innerHTML || "").replace(bi, "/*$0*/")), b.parentNode && b.parentNode.removeChild(b)
- }
- function bq(a) {
- var b = (a.nodeName || "").toLowerCase();
- b === "input" ? bp(a) : b !== "script" && typeof a.getElementsByTagName != "undefined" && f.grep(a.getElementsByTagName("input"), bp)
- }
- function bp(a) {
- if (a.type === "checkbox" || a.type === "radio") a.defaultChecked = a.checked
- }
- function bo(a) {
- return typeof a.getElementsByTagName != "undefined" ? a.getElementsByTagName("*") : typeof a.querySelectorAll != "undefined" ? a.querySelectorAll("*") : []
- }
- function bn(a, b) {
- var c;
- if (b.nodeType === 1) {
- b.clearAttributes && b.clearAttributes(), b.mergeAttributes && b.mergeAttributes(a), c = b.nodeName.toLowerCase();
- if (c === "object") b.outerHTML = a.outerHTML;
- else if (c !== "input" || a.type !== "checkbox" && a.type !== "radio") {
- if (c === "option") b.selected = a.defaultSelected;
- else if (c === "input" || c === "textarea") b.defaultValue = a.defaultValue
- } else a.checked && (b.defaultChecked = b.checked = a.checked), b.value !== a.value && (b.value = a.value);
- b.removeAttribute(f.expando)
- }
- }
- function bm(a, b) {
- if (b.nodeType === 1 && !! f.hasData(a)) {
- var c, d, e, g = f._data(a),
- h = f._data(b, g),
- i = g.events;
- if (i) {
- delete h.handle, h.events = {};
- for (c in i) for (d = 0, e = i[c].length; d < e; d++) f.event.add(b, c + (i[c][d].namespace ? "." : "") + i[c][d].namespace, i[c][d], i[c][d].data)
- }
- h.data && (h.data = f.extend({}, h.data))
- }
- }
- function bl(a, b) {
- return f.nodeName(a, "table") ? a.getElementsByTagName("tbody")[0] || a.appendChild(a.ownerDocument.createElement("tbody")) : a
- }
- function X(a) {
- var b = Y.split(" "),
- c = a.createDocumentFragment();
- if (c.createElement) while (b.length) c.createElement(b.pop());
- return c
- }
- function W(a, b, c) {
- b = b || 0;
- if (f.isFunction(b)) return f.grep(a, function (a, d) {
- var e = !! b.call(a, d, a);
- return e === c
- });
- if (b.nodeType) return f.grep(a, function (a, d) {
- return a === b === c
- });
- if (typeof b == "string") {
- var d = f.grep(a, function (a) {
- return a.nodeType === 1
- });
- if (R.test(b)) return f.filter(b, d, !c);
- b = f.filter(b, d)
- }
- return f.grep(a, function (a, d) {
- return f.inArray(a, b) >= 0 === c
- })
- }
- function V(a) {
- return !a || !a.parentNode || a.parentNode.nodeType === 11
- }
- function N() {
- return !0
- }
- function M() {
- return !1
- }
- function n(a, b, c) {
- var d = b + "defer",
- e = b + "queue",
- g = b + "mark",
- h = f._data(a, d);
- h && (c === "queue" || !f._data(a, e)) && (c === "mark" || !f._data(a, g)) && setTimeout(function () {
- !f._data(a, e) && !f._data(a, g) && (f.removeData(a, d, !0), h.fire())
- }, 0)
- }
- function m(a) {
- for (var b in a) {
- if (b === "data" && f.isEmptyObject(a[b])) continue;
- if (b !== "toJSON") return !1
- }
- return !0
- }
- function l(a, c, d) {
- if (d === b && a.nodeType === 1) {
- var e = "data-" + c.replace(k, "-$1").toLowerCase();
- d = a.getAttribute(e);
- if (typeof d == "string") {
- try {
- d = d === "true" ? !0 : d === "false" ? !1 : d === "null" ? null : f.isNumeric(d) ? parseFloat(d) : j.test(d) ? f.parseJSON(d) : d
- } catch (g) {}
- f.data(a, c, d)
- } else d = b
- }
- return d
- }
- function h(a) {
- var b = g[a] = {}, c, d;
- a = a.split(/\s+/);
- for (c = 0, d = a.length; c < d; c++) b[a[c]] = !0;
- return b
- }
- var c = a.document,
- d = a.navigator,
- e = a.location,
- f = function () {
- function K() {
- if (!e.isReady) {
- try {
- c.documentElement.doScroll("left")
- } catch (a) {
- setTimeout(K, 1);
- return
- }
- e.ready()
- }
- }
- var e = function (a, b) {
- return new e.fn.init(a, b, h)
- }, f = a.jQuery,
- g = a.$,
- h, i = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,
- j = /\S/,
- k = /^\s+/,
- l = /\s+$/,
- m = /\d/,
- n = /^<(\w+)\s*\/?>(?:<\/\1>)?$/,
- o = /^[\],:{}\s]*$/,
- p = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,
- q = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
- r = /(?:^|:|,)(?:\s*\[)+/g,
- s = /(webkit)[ \/]([\w.]+)/,
- t = /(opera)(?:.*version)?[ \/]([\w.]+)/,
- u = /(msie) ([\w.]+)/,
- v = /(mozilla)(?:.*? rv:([\w.]+))?/,
- w = /-([a-z]|[0-9])/ig,
- x = /^-ms-/,
- y = function (a, b) {
- return (b + "").toUpperCase()
- }, z = d.userAgent,
- A, B, C, D = Object.prototype.toString,
- E = Object.prototype.hasOwnProperty,
- F = Array.prototype.push,
- G = Array.prototype.slice,
- H = String.prototype.trim,
- I = Array.prototype.indexOf,
- J = {};
- e.fn = e.prototype = {
- constructor: e,
- init: function (a, d, f) {
- var g, h, j, k;
- if (!a) return this;
- if (a.nodeType) {
- this.context = this[0] = a, this.length = 1;
- return this
- }
- if (a === "body" && !d && c.body) {
- this.context = c, this[0] = c.body, this.selector = a, this.length = 1;
- return this
- }
- if (typeof a == "string") {
- a.charAt(0) !== "<" || a.charAt(a.length - 1) !== ">" || a.length < 3 ? g = i.exec(a) : g = [null, a, null];
- if (g && (g[1] || !d)) {
- if (g[1]) {
- d = d instanceof e ? d[0] : d, k = d ? d.ownerDocument || d : c, j = n.exec(a), j ? e.isPlainObject(d) ? (a = [c.createElement(j[1])], e.fn.attr.call(a, d, !0)) : a = [k.createElement(j[1])] : (j = e.buildFragment([g[1]], [k]), a = (j.cacheable ? e.clone(j.fragment) : j.fragment).childNodes);
- return e.merge(this, a)
- }
- h = c.getElementById(g[2]);
- if (h && h.parentNode) {
- if (h.id !== g[2]) return f.find(a);
- this.length = 1, this[0] = h
- }
- this.context = c, this.selector = a;
- return this
- }
- return !d || d.jquery ? (d || f).find(a) : this.constructor(d).find(a)
- }
- if (e.isFunction(a)) return f.ready(a);
- a.selector !== b && (this.selector = a.selector, this.context = a.context);
- return e.makeArray(a, this)
- },
- selector: "",
- jquery: "1.7",
- length: 0,
- size: function () {
- return this.length
- },
- toArray: function () {
- return G.call(this, 0)
- },
- get: function (a) {
- return a == null ? this.toArray() : a < 0 ? this[this.length + a] : this[a]
- },
- pushStack: function (a, b, c) {
- var d = this.constructor();
- e.isArray(a) ? F.apply(d, a) : e.merge(d, a), d.prevObject = this, d.context = this.context, b === "find" ? d.selector = this.selector + (this.selector ? " " : "") + c : b && (d.selector = this.selector + "." + b + "(" + c + ")");
- return d
- },
- each: function (a, b) {
- return e.each(this, a, b)
- },
- ready: function (a) {
- e.bindReady(), B.add(a);
- return this
- },
- eq: function (a) {
- return a === -1 ? this.slice(a) : this.slice(a, + a + 1)
- },
- first: function () {
- return this.eq(0)
- },
- last: function () {
- return this.eq(-1)
- },
- slice: function () {
- return this.pushStack(G.apply(this, arguments), "slice", G.call(arguments).join(","))
- },
- map: function (a) {
- return this.pushStack(e.map(this, function (b, c) {
- return a.call(b, c, b)
- }))
- },
- end: function () {
- return this.prevObject || this.constructor(null)
- },
- push: F,
- sort: [].sort,
- splice: [].splice
- }, e.fn.init.prototype = e.fn, e.extend = e.fn.extend = function () {
- var a, c, d, f, g, h, i = arguments[0] || {}, j = 1,
- k = arguments.length,
- l = !1;
- typeof i == "boolean" && (l = i, i = arguments[1] || {}, j = 2), typeof i != "object" && !e.isFunction(i) && (i = {}), k === j && (i = this, --j);
- for (; j < k; j++) if ((a = arguments[j]) != null) for (c in a) {
- d = i[c], f = a[c];
- if (i === f) continue;
- l && f && (e.isPlainObject(f) || (g = e.isArray(f))) ? (g ? (g = !1, h = d && e.isArray(d) ? d : []) : h = d && e.isPlainObject(d) ? d : {}, i[c] = e.extend(l, h, f)) : f !== b && (i[c] = f)
- }
- return i
- }, e.extend({
- noConflict: function (b) {
- a.$ === e && (a.$ = g), b && a.jQuery === e && (a.jQuery = f);
- return e
- },
- isReady: !1,
- readyWait: 1,
- holdReady: function (a) {
- a ? e.readyWait++ : e.ready(!0)
- },
- ready: function (a) {
- if (a === !0 && !--e.readyWait || a !== !0 && !e.isReady) {
- if (!c.body) return setTimeout(e.ready, 1);
- e.isReady = !0;
- if (a !== !0 && --e.readyWait > 0) return;
- B.fireWith(c, [e]), e.fn.trigger && e(c).trigger("ready").unbind("ready")
- }
- },
- bindReady: function () {
- if (!B) {
- B = e.Callbacks("once memory");
- if (c.readyState === "complete") return setTimeout(e.ready, 1);
- if (c.addEventListener) c.addEventListener("DOMContentLoaded", C, !1), a.addEventListener("load", e.ready, !1);
- else if (c.attachEvent) {
- c.attachEvent("onreadystatechange", C), a.attachEvent("onload", e.ready);
- var b = !1;
- try {
- b = a.frameElement == null
- } catch (d) {}
- c.documentElement.doScroll && b && K()
- }
- }
- },
- isFunction: function (a) {
- return e.type(a) === "function"
- },
- isArray: Array.isArray || function (a) {
- return e.type(a) === "array"
- },
- isWindow: function (a) {
- return a && typeof a == "object" && "setInterval" in a
- },
- isNumeric: function (a) {
- return a != null && m.test(a) && !isNaN(a)
- },
- type: function (a) {
- return a == null ? String(a) : J[D.call(a)] || "object"
- },
- isPlainObject: function (a) {
- if (!a || e.type(a) !== "object" || a.nodeType || e.isWindow(a)) return !1;
- try {
- if (a.constructor && !E.call(a, "constructor") && !E.call(a.constructor.prototype, "isPrototypeOf")) return !1
- } catch (c) {
- return !1
- }
- var d;
- for (d in a);
- return d === b || E.call(a, d)
- },
- isEmptyObject: function (a) {
- for (var b in a) return !1;
- return !0
- },
- error: function (a) {
- throw a
- },
- parseJSON: function (b) {
- if (typeof b != "string" || !b) return null;
- b = e.trim(b);
- if (a.JSON && a.JSON.parse) return a.JSON.parse(b);
- if (o.test(b.replace(p, "@").replace(q, "]").replace(r, ""))) return (new Function("return " + b))();
- e.error("Invalid JSON: " + b)
- },
- parseXML: function (c) {
- var d, f;
- try {
- a.DOMParser ? (f = new DOMParser, d = f.parseFromString(c, "text/xml")) : (d = new ActiveXObject("Microsoft.XMLDOM"), d.async = "false", d.loadXML(c))
- } catch (g) {
- d = b
- }(!d || !d.documentElement || d.getElementsByTagName("parsererror").length) && e.error("Invalid XML: " + c);
- return d
- },
- noop: function () {},
- globalEval: function (b) {
- b && j.test(b) && (a.execScript || function (b) {
- a.eval.call(a, b)
- })(b)
- },
- camelCase: function (a) {
- return a.replace(x, "ms-").replace(w, y)
- },
- nodeName: function (a, b) {
- return a.nodeName && a.nodeName.toUpperCase() === b.toUpperCase()
- },
- each: function (a, c, d) {
- var f, g = 0,
- h = a.length,
- i = h === b || e.isFunction(a);
- if (d) {
- if (i) {
- for (f in a) if (c.apply(a[f], d) === !1) break
- } else for (; g < h;) if (c.apply(a[g++], d) === !1) break
- } else if (i) {
- for (f in a) if (c.call(a[f], f, a[f]) === !1) break
- } else for (; g < h;) if (c.call(a[g], g, a[g++]) === !1) break;
- return a
- },
- trim: H ? function (a) {
- return a == null ? "" : H.call(a)
- } : function (a) {
- return a == null ? "" : (a + "").replace(k, "").replace(l, "")
- },
- makeArray: function (a, b) {
- var c = b || [];
- if (a != null) {
- var d = e.type(a);
- a.length == null || d === "string" || d === "function" || d === "regexp" || e.isWindow(a) ? F.call(c, a) : e.merge(c, a)
- }
- return c
- },
- inArray: function (a, b, c) {
- var d;
- if (b) {
- if (I) return I.call(b, a, c);
- d = b.length, c = c ? c < 0 ? Math.max(0, d + c) : c : 0;
- for (; c < d; c++) if (c in b && b[c] === a) return c
- }
- return -1
- },
- merge: function (a, c) {
- var d = a.length,
- e = 0;
- if (typeof c.length == "number") for (var f = c.length; e < f; e++) a[d++] = c[e];
- else while (c[e] !== b) a[d++] = c[e++];
- a.length = d;
- return a
- },
- grep: function (a, b, c) {
- var d = [],
- e;
- c = !! c;
- for (var f = 0, g = a.length; f < g; f++) e = !! b(a[f], f), c !== e && d.push(a[f]);
- return d
- },
- map: function (a, c, d) {
- var f, g, h = [],
- i = 0,
- j = a.length,
- k = a instanceof e || j !== b && typeof j == "number" && (j > 0 && a[0] && a[j - 1] || j === 0 || e.isArray(a));
- if (k) for (; i < j; i++) f = c(a[i], i, d), f != null && (h[h.length] = f);
- else for (g in a) f = c(a[g], g, d), f != null && (h[h.length] = f);
- return h.concat.apply([], h)
- },
- guid: 1,
- proxy: function (a, c) {
- if (typeof c == "string") {
- var d = a[c];
- c = a, a = d
- }
- if (!e.isFunction(a)) return b;
- var f = G.call(arguments, 2),
- g = function () {
- return a.apply(c, f.concat(G.call(arguments)))
- };
- g.guid = a.guid = a.guid || g.guid || e.guid++;
- return g
- },
- access: function (a, c, d, f, g, h) {
- var i = a.length;
- if (typeof c == "object") {
- for (var j in c) e.access(a, j, c[j], f, g, d);
- return a
- }
- if (d !== b) {
- f = !h && f && e.isFunction(d);
- for (var k = 0; k < i; k++) g(a[k], c, f ? d.call(a[k], k, g(a[k], c)) : d, h);
- return a
- }
- return i ? g(a[0], c) : b
- },
- now: function () {
- return (new Date).getTime()
- },
- uaMatch: function (a) {
- a = a.toLowerCase();
- var b = s.exec(a) || t.exec(a) || u.exec(a) || a.indexOf("compatible") < 0 && v.exec(a) || [];
- return {
- browser: b[1] || "",
- version: b[2] || "0"
- }
- },
- sub: function () {
- function a(b, c) {
- return new a.fn.init(b, c)
- }
- e.extend(!0, a, this), a.superclass = this, a.fn = a.prototype = this(), a.fn.constructor = a, a.sub = this.sub, a.fn.init = function (d, f) {
- f && f instanceof e && !(f instanceof a) && (f = a(f));
- return e.fn.init.call(this, d, f, b)
- }, a.fn.init.prototype = a.fn;
- var b = a(c);
- return a
- },
- browser: {}
- }), e.each("Boolean Number String Function Array Date RegExp Object".split(" "), function (a, b) {
- J["[object " + b + "]"] = b.toLowerCase()
- }), A = e.uaMatch(z), A.browser && (e.browser[A.browser] = !0, e.browser.version = A.version), e.browser.webkit && (e.browser.safari = !0), j.test(" ") && (k = /^[\s\xA0]+/, l = /[\s\xA0]+$/), h = e(c), c.addEventListener ? C = function () {
- c.removeEventListener("DOMContentLoaded", C, !1), e.ready()
- } : c.attachEvent && (C = function () {
- c.readyState === "complete" && (c.detachEvent("onreadystatechange", C), e.ready())
- }), typeof define == "function" && define.amd && define.amd.jQuery && define("jquery", [], function () {
- return e
- });
- return e
- }(),
- g = {};
- f.Callbacks = function (a) {
- a = a ? g[a] || h(a) : {};
- var c = [],
- d = [],
- e, i, j, k, l, m = function (b) {
- var d, e, g, h, i;
- for (d = 0, e = b.length; d < e; d++) g = b[d], h = f.type(g), h === "array" ? m(g) : h === "function" && (!a.unique || !o.has(g)) && c.push(g)
- }, n = function (b, f) {
- f = f || [], e = !a.memory || [b, f], i = !0, l = j || 0, j = 0, k = c.length;
- for (; c && l < k; l++) if (c[l].apply(b, f) === !1 && a.stopOnFalse) {
- e = !0;
- break
- }
- i = !1, c && (a.once ? e === !0 ? o.disable() : c = [] : d && d.length && (e = d.shift(), o.fireWith(e[0], e[1])))
- }, o = {
- add: function () {
- if (c) {
- var a = c.length;
- m(arguments), i ? k = c.length : e && e !== !0 && (j = a, n(e[0], e[1]))
- }
- return this
- },
- remove: function () {
- if (c) {
- var b = arguments,
- d = 0,
- e = b.length;
- for (; d < e; d++) for (var f = 0; f < c.length; f++) if (b[d] === c[f]) {
- i && f <= k && (k--, f <= l && l--), c.splice(f--, 1);
- if (a.unique) break
- }
- }
- return this
- },
- has: function (a) {
- if (c) {
- var b = 0,
- d = c.length;
- for (; b < d; b++) if (a === c[b]) return !0
- }
- return !1
- },
- empty: function () {
- c = [];
- return this
- },
- disable: function () {
- c = d = e = b;
- return this
- },
- disabled: function () {
- return !c
- },
- lock: function () {
- d = b, (!e || e === !0) && o.disable();
- return this
- },
- locked: function () {
- return !d
- },
- fireWith: function (b, c) {
- d && (i ? a.once || d.push([b, c]) : (!a.once || !e) && n(b, c));
- return this
- },
- fire: function () {
- o.fireWith(this, arguments);
- return this
- },
- fired: function () {
- return !!e
- }
- };
- return o
- };
- var i = [].slice;
- f.extend({
- Deferred: function (a) {
- var b = f.Callbacks("once memory"),
- c = f.Callbacks("once memory"),
- d = f.Callbacks("memory"),
- e = "pending",
- g = {
- resolve: b,
- reject: c,
- notify: d
- }, h = {
- done: b.add,
- fail: c.add,
- progress: d.add,
- state: function () {
- return e
- },
- isResolved: b.fired,
- isRejected: c.fired,
- then: function (a, b, c) {
- i.done(a).fail(b).progress(c);
- return this
- },
- always: function () {
- return i.done.apply(i, arguments).fail.apply(i, arguments)
- },
- pipe: function (a, b, c) {
- return f.Deferred(function (d) {
- f.each({
- done: [a, "resolve"],
- fail: [b, "reject"],
- progress: [c, "notify"]
- }, function (a, b) {
- var c = b[0],
- e = b[1],
- g;
- f.isFunction(c) ? i[a](function () {
- g = c.apply(this, arguments), g && f.isFunction(g.promise) ? g.promise().then(d.resolve, d.reject, d.notify) : d[e + "With"](this === i ? d : this, [g])
- }) : i[a](d[e])
- })
- }).promise()
- },
- promise: function (a) {
- if (a == null) a = h;
- else for (var b in h) a[b] = h[b];
- return a
- }
- }, i = h.promise({}),
- j;
- for (j in g) i[j] = g[j].fire, i[j + "With"] = g[j].fireWith;
- i.done(function () {
- e = "resolved"
- }, c.disable, d.lock).fail(function () {
- e = "rejected"
- }, b.disable, d.lock), a && a.call(i, i);
- return i
- },
- when: function (a) {
- function m(a) {
- return function (b) {
- e[a] = arguments.length > 1 ? i.call(arguments, 0) : b, j.notifyWith(k, e)
- }
- }
- function l(a) {
- return function (c) {
- b[a] = arguments.length > 1 ? i.call(arguments, 0) : c, --g || j.resolveWith(j, b)
- }
- }
- var b = i.call(arguments, 0),
- c = 0,
- d = b.length,
- e = Array(d),
- g = d,
- h = d,
- j = d <= 1 && a && f.isFunction(a.promise) ? a : f.Deferred(),
- k = j.promise();
- if (d > 1) {
- for (; c < d; c++) b[c] && b[c].promise && f.isFunction(b[c].promise) ? b[c].promise().then(l(c), j.reject, m(c)) : --g;
- g || j.resolveWith(j, b)
- } else j !== a && j.resolveWith(j, d ? [a] : []);
- return k
- }
- }), f.support = function () {
- var a = c.createElement("div"),
- b = c.documentElement,
- d, e, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u;
- a.setAttribute("className", "t"), a.innerHTML = " <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/><nav></nav>", d = a.getElementsByTagName("*"), e = a.getElementsByTagName("a")[0];
- if (!d || !d.length || !e) return {};
- g = c.createElement("select"), h = g.appendChild(c.createElement("option")), i = a.getElementsByTagName("input")[0], k = {
- leadingWhitespace: a.firstChild.nodeType === 3,
- tbody: !a.getElementsByTagName("tbody").length,
- htmlSerialize: !! a.getElementsByTagName("link").length,
- style: /top/.test(e.getAttribute("style")),
- hrefNormalized: e.getAttribute("href") === "/a",
- opacity: /^0.55/.test(e.style.opacity),
- cssFloat: !! e.style.cssFloat,
- unknownElems: !! a.getElementsByTagName("nav").length,
- checkOn: i.value === "on",
- optSelected: h.selected,
- getSetAttribute: a.className !== "t",
- enctype: !! c.createElement("form").enctype,
- submitBubbles: !0,
- changeBubbles: !0,
- focusinBubbles: !1,
- deleteExpando: !0,
- noCloneEvent: !0,
- inlineBlockNeedsLayout: !1,
- shrinkWrapBlocks: !1,
- reliableMarginRight: !0
- }, i.checked = !0, k.noCloneChecked = i.cloneNode(!0).checked, g.disabled = !0, k.optDisabled = !h.disabled;
- try {
- delete a.test
- } catch (v) {
- k.deleteExpando = !1
- }!a.addEventListener && a.attachEvent && a.fireEvent && (a.attachEvent("onclick", function () {
- k.noCloneEvent = !1
- }), a.cloneNode(!0).fireEvent("onclick")), i = c.createElement("input"), i.value = "t", i.setAttribute("type", "radio"), k.radioValue = i.value === "t", i.setAttribute("checked", "checked"), a.appendChild(i), l = c.createDocumentFragment(), l.appendChild(a.lastChild), k.checkClone = l.cloneNode(!0).cloneNode(!0).lastChild.checked, a.innerHTML = "", a.style.width = a.style.paddingLeft = "1px", m = c.getElementsByTagName("body")[0], o = c.createElement(m ? "div" : "body"), p = {
- visibility: "hidden",
- width: 0,
- height: 0,
- border: 0,
- margin: 0,
- background: "none"
- }, m && f.extend(p, {
- position: "absolute",
- left: "-999px",
- top: "-999px"
- });
- for (t in p) o.style[t] = p[t];
- o.appendChild(a), n = m || b, n.insertBefore(o, n.firstChild), k.appendChecked = i.checked, k.boxModel = a.offsetWidth === 2, "zoom" in a.style && (a.style.display = "inline", a.style.zoom = 1, k.inlineBlockNeedsLayout = a.offsetWidth === 2, a.style.display = "", a.innerHTML = "<div style='width:4px;'></div>", k.shrinkWrapBlocks = a.offsetWidth !== 2), a.innerHTML = "<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>", q = a.getElementsByTagName("td"), u = q[0].offsetHeight === 0, q[0].style.display = "", q[1].style.display = "none", k.reliableHiddenOffsets = u && q[0].offsetHeight === 0, a.innerHTML = "", c.defaultView && c.defaultView.getComputedStyle && (j = c.createElement("div"), j.style.width = "0", j.style.marginRight = "0", a.appendChild(j), k.reliableMarginRight = (parseInt((c.defaultView.getComputedStyle(j, null) || {
- marginRight: 0
- }).marginRight, 10) || 0) === 0);
- if (a.attachEvent) for (t in {
- submit: 1,
- change: 1,
- focusin: 1
- }) s = "on" + t, u = s in a, u || (a.setAttribute(s, "return;"), u = typeof a[s] == "function"), k[t + "Bubbles"] = u;
- f(function () {
- var a, b, d, e, g, h, i = 1,
- j = "position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",
- l = "visibility:hidden;border:0;",
- n = "style='" + j + "border:5px solid #000;padding:0;'",
- p = "<div " + n + "><div></div></div>" + "<table " + n + " cellpadding='0' cellspacing='0'>" + "<tr><td></td></tr></table>";
- m = c.getElementsByTagName("body")[0];
- !m || (a = c.createElement("div"), a.style.cssText = l + "width:0;height:0;position:static;top:0;margin-top:" + i + "px", m.insertBefore(a, m.firstChild), o = c.createElement("div"), o.style.cssText = j + l, o.innerHTML = p, a.appendChild(o), b = o.firstChild, d = b.firstChild, g = b.nextSibling.firstChild.firstChild, h = {
- doesNotAddBorder: d.offsetTop !== 5,
- doesAddBorderForTableAndCells: g.offsetTop === 5
- }, d.style.position = "fixed", d.style.top = "20px", h.fixedPosition = d.offsetTop === 20 || d.offsetTop === 15, d.style.position = d.style.top = "", b.style.overflow = "hidden", b.style.position = "relative", h.subtractsBorderForOverflowNotVisible = d.offsetTop === -5, h.doesNotIncludeMarginInBodyOffset = m.offsetTop !== i, m.removeChild(a), o = a = null, f.extend(k, h))
- }), o.innerHTML = "", n.removeChild(o), o = l = g = h = m = j = a = i = null;
- return k
- }(), f.boxModel = f.support.boxModel;
- var j = /^(?:\{.*\}|\[.*\])$/,
- k = /([A-Z])/g;
- f.extend({
- cache: {},
- uuid: 0,
- expando: "jQuery" + (f.fn.jquery + Math.random()).replace(/\D/g, ""),
- noData: {
- embed: !0,
- object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
- applet: !0
- },
- hasData: function (a) {
- a = a.nodeType ? f.cache[a[f.expando]] : a[f.expando];
- return !!a && !m(a)
- },
- data: function (a, c, d, e) {
- if ( !! f.acceptData(a)) {
- var g, h, i, j = f.expando,
- k = typeof c == "string",
- l = a.nodeType,
- m = l ? f.cache : a,
- n = l ? a[f.expando] : a[f.expando] && f.expando,
- o = c === "events";
- if ((!n || !m[n] || !o && !e && !m[n].data) && k && d === b) return;
- n || (l ? a[f.expando] = n = ++f.uuid : n = f.expando), m[n] || (m[n] = {}, l || (m[n].toJSON = f.noop));
- if (typeof c == "object" || typeof c == "function") e ? m[n] = f.extend(m[n], c) : m[n].data = f.extend(m[n].data, c);
- g = h = m[n], e || (h.data || (h.data = {}), h = h.data), d !== b && (h[f.camelCase(c)] = d);
- if (o && !h[c]) return g.events;
- k ? (i = h[c], i == null && (i = h[f.camelCase(c)])) : i = h;
- return i
- }
- },
- removeData: function (a, b, c) {
- if ( !! f.acceptData(a)) {
- var d, e, g, h = f.expando,
- i = a.nodeType,
- j = i ? f.cache : a,
- k = i ? a[f.expando] : f.expando;
- if (!j[k]) return;
- if (b) {
- d = c ? j[k] : j[k].data;
- if (d) {
- f.isArray(b) ? b = b : b in d ? b = [b] : (b = f.camelCase(b), b in d ? b = [b] : b = b.split(" "));
- for (e = 0, g = b.length; e < g; e++) delete d[b[e]];
- if (!(c ? m : f.isEmptyObject)(d)) return
- }
- }
- if (!c) {
- delete j[k].data;
- if (!m(j[k])) return
- }
- f.support.deleteExpando || !j.setInterval ? delete j[k] : j[k] = null, i && (f.support.deleteExpando ? delete a[f.expando] : a.removeAttribute ? a.removeAttribute(f.expando) : a[f.expando] = null)
- }
- },
- _data: function (a, b, c) {
- return f.data(a, b, c, !0)
- },
- acceptData: function (a) {
- if (a.nodeName) {
- var b = f.noData[a.nodeName.toLowerCase()];
- if (b) return b !== !0 && a.getAttribute("classid") === b
- }
- return !0
- }
- }), f.fn.extend({
- data: function (a, c) {
- var d, e, g, h = null;
- if (typeof a == "undefined") {
- if (this.length) {
- h = f.data(this[0]);
- if (this[0].nodeType === 1 && !f._data(this[0], "parsedAttrs")) {
- e = this[0].attributes;
- for (var i = 0, j = e.length; i < j; i++) g = e[i].name, g.indexOf("data-") === 0 && (g = f.camelCase(g.substring(5)), l(this[0], g, h[g]));
- f._data(this[0], "parsedAttrs", !0)
- }
- }
- return h
- }
- if (typeof a == "object") return this.each(function () {
- f.data(this, a)
- });
- d = a.split("."), d[1] = d[1] ? "." + d[1] : "";
- if (c === b) {
- h = this.triggerHandler("getData" + d[1] + "!", [d[0]]), h === b && this.length && (h = f.data(this[0], a), h = l(this[0], a, h));
- return h === b && d[1] ? this.data(d[0]) : h
- }
- return this.each(function () {
- var b = f(this),
- e = [d[0], c];
- b.triggerHandler("setData" + d[1] + "!", e), f.data(this, a, c), b.triggerHandler("changeData" + d[1] + "!", e)
- })
- },
- removeData: function (a) {
- return this.each(function () {
- f.removeData(this, a)
- })
- }
- }), f.extend({
- _mark: function (a, b) {
- a && (b = (b || "fx") + "mark", f._data(a, b, (f._data(a, b) || 0) + 1))
- },
- _unmark: function (a, b, c) {
- a !== !0 && (c = b, b = a, a = !1);
- if (b) {
- c = c || "fx";
- var d = c + "mark",
- e = a ? 0 : (f._data(b, d) || 1) - 1;
- e ? f._data(b, d, e) : (f.removeData(b, d, !0), n(b, c, "mark"))
- }
- },
- queue: function (a, b, c) {
- var d;
- if (a) {
- b = (b || "fx") + "queue", d = f._data(a, b), c && (!d || f.isArray(c) ? d = f._data(a, b, f.makeArray(c)) : d.push(c));
- return d || []
- }
- },
- dequeue: function (a, b) {
- b = b || "fx";
- var c = f.queue(a, b),
- d = c.shift(),
- e = {};
- d === "inprogress" && (d = c.shift()), d && (b === "fx" && c.unshift("inprogress"), f._data(a, b + ".run", e), d.call(a, function () {
- f.dequeue(a, b)
- }, e)), c.length || (f.removeData(a, b + "queue " + b + ".run", !0), n(a, b, "queue"))
- }
- }), f.fn.extend({
- queue: function (a, c) {
- typeof a != "string" && (c = a, a = "fx");
- if (c === b) return f.queue(this[0], a);
- return this.each(function () {
- var b = f.queue(this, a, c);
- a === "fx" && b[0] !== "inprogress" && f.dequeue(this, a)
- })
- },
- dequeue: function (a) {
- return this.each(function () {
- f.dequeue(this, a)
- })
- },
- delay: function (a, b) {
- a = f.fx ? f.fx.speeds[a] || a : a, b = b || "fx";
- return this.queue(b, function (b, c) {
- var d = setTimeout(b, a);
- c.stop = function () {
- clearTimeout(d)
- }
- })
- },
- clearQueue: function (a) {
- return this.queue(a || "fx", [])
- },
- promise: function (a, c) {
- function m() {
- --h || d.resolveWith(e, [e])
- }
- typeof a != "string" && (c = a, a = b), a = a || "fx";
- var d = f.Deferred(),
- e = this,
- g = e.length,
- h = 1,
- i = a + "defer",
- j = a + "queue",
- k = a + "mark",
- l;
- while (g--) if (l = f.data(e[g], i, b, !0) || (f.data(e[g], j, b, !0) || f.data(e[g], k, b, !0)) && f.data(e[g], i, f.Callbacks("once memory"), !0)) h++, l.add(m);
- m();
- return d.promise()
- }
- });
- var o = /[\n\t\r]/g,
- p = /\s+/,
- q = /\r/g,
- r = /^(?:button|input)$/i,
- s = /^(?:button|input|object|select|textarea)$/i,
- t = /^a(?:rea)?$/i,
- u = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
- v = f.support.getSetAttribute,
- w, x, y;
- f.fn.extend({
- attr: function (a, b) {
- return f.access(this, a, b, !0, f.attr)
- },
- removeAttr: function (a) {
- return this.each(function () {
- f.removeAttr(this, a)
- })
- },
- prop: function (a, b) {
- return f.access(this, a, b, !0, f.prop)
- },
- removeProp: function (a) {
- a = f.propFix[a] || a;
- return this.each(function () {
- try {
- this[a] = b, delete this[a]
- } catch (c) {}
- })
- },
- addClass: function (a) {
- var b, c, d, e, g, h, i;
- if (f.isFunction(a)) return this.each(function (b) {
- f(this).addClass(a.call(this, b, this.className))
- });
- if (a && typeof a == "string") {
- b = a.split(p);
- for (c = 0, d = this.length; c < d; c++) {
- e = this[c];
- if (e.nodeType === 1) if (!e.className && b.length === 1) e.className = a;
- else {
- g = " " + e.className + " ";
- for (h = 0, i = b.length; h < i; h++)~g.indexOf(" " + b[h] + " ") || (g += b[h] + " ");
- e.className = f.trim(g)
- }
- }
- }
- return this
- },
- removeClass: function (a) {
- var c, d, e, g, h, i, j;
- if (f.isFunction(a)) return this.each(function (b) {
- f(this).removeClass(a.call(this, b, this.className))
- });
- if (a && typeof a == "string" || a === b) {
- c = (a || "").split(p);
- for (d = 0, e = this.length; d < e; d++) {
- g = this[d];
- if (g.nodeType === 1 && g.className) if (a) {
- h = (" " + g.className + " ").replace(o, " ");
- for (i = 0, j = c.length; i < j; i++) h = h.replace(" " + c[i] + " ", " ");
- g.className = f.trim(h)
- } else g.className = ""
- }
- }
- return this
- },
- toggleClass: function (a, b) {
- var c = typeof a,
- d = typeof b == "boolean";
- if (f.isFunction(a)) return this.each(function (c) {
- f(this).toggleClass(a.call(this, c, this.className, b), b)
- });
- return this.each(function () {
- if (c === "string") {
- var e, g = 0,
- h = f(this),
- i = b,
- j = a.split(p);
- while (e = j[g++]) i = d ? i : !h.hasClass(e), h[i ? "addClass" : "removeClass"](e)
- } else if (c === "undefined" || c === "boolean") this.className && f._data(this, "__className__", this.className), this.className = this.className || a === !1 ? "" : f._data(this, "__className__") || ""
- })
- },
- hasClass: function (a) {
- var b = " " + a + " ",
- c = 0,
- d = this.length;
- for (; c < d; c++) if (this[c].nodeType === 1 && (" " + this[c].className + " ").replace(o, " ").indexOf(b) > -1) return !0;
- return !1
- },
- val: function (a) {
- var c, d, e, g = this[0];
- if (!arguments.length) {
- if (g) {
- c = f.valHooks[g.nodeName.toLowerCase()] || f.valHooks[g.type];
- if (c && "get" in c && (d = c.get(g, "value")) !== b) return d;
- d = g.value;
- return typeof d == "string" ? d.replace(q, "") : d == null ? "" : d
- }
- return b
- }
- e = f.isFunction(a);
- return this.each(function (d) {
- var g = f(this),
- h;
- if (this.nodeType === 1) {
- e ? h = a.call(this, d, g.val()) : h = a, h == null ? h = "" : typeof h == "number" ? h += "" : f.isArray(h) && (h = f.map(h, function (a) {
- return a == null ? "" : a + ""
- })), c = f.valHooks[this.nodeName.toLowerCase()] || f.valHooks[this.type];
- if (!c || !("set" in c) || c.set(this, h, "value") === b) this.value = h
- }
- })
- }
- }), f.extend({
- valHooks: {
- option: {
- get: function (a) {
- var b = a.attributes.value;
- return !b || b.specified ? a.value : a.text
- }
- },
- select: {
- get: function (a) {
- var b, c, d, e, g = a.selectedIndex,
- h = [],
- i = a.options,
- j = a.type === "select-one";
- if (g < 0) return null;
- c = j ? g : 0, d = j ? g + 1 : i.length;
- for (; c < d; c++) {
- e = i[c];
- if (e.selected && (f.support.optDisabled ? !e.disabled : e.getAttribute("disabled") === null) && (!e.parentNode.disabled || !f.nodeName(e.parentNode, "optgroup"))) {
- b = f(e).val();
- if (j) return b;
- h.push(b)
- }
- }
- if (j && !h.length && i.length) return f(i[g]).val();
- return h
- },
- set: function (a, b) {
- var c = f.makeArray(b);
- f(a).find("option").each(function () {
- this.selected = f.inArray(f(this).val(), c) >= 0
- }), c.length || (a.selectedIndex = -1);
- return c
- }
- }
- },
- attrFn: {
- val: !0,
- css: !0,
- html: !0,
- text: !0,
- data: !0,
- width: !0,
- height: !0,
- offset: !0
- },
- attr: function (a, c, d, e) {
- var g, h, i, j = a.nodeType;
- if (!a || j === 3 || j === 8 || j === 2) return b;
- if (e && c in f.attrFn) return f(a)[c](d);
- if (!("getAttribute" in a)) return f.prop(a, c, d);
- i = j !== 1 || !f.isXMLDoc(a), i && (c = c.toLowerCase(), h = f.attrHooks[c] || (u.test(c) ? x : w));
- if (d !== b) {
- if (d === null) {
- f.removeAttr(a, c);
- return b
- }
- if (h && "set" in h && i && (g = h.set(a, d, c)) !== b) return g;
- a.setAttribute(c, "" + d);
- return d
- }
- if (h && "get" in h && i && (g = h.get(a, c)) !== null) return g;
- g = a.getAttribute(c);
- return g === null ? b : g
- },
- removeAttr: function (a, b) {
- var c, d, e, g, h = 0;
- if (a.nodeType === 1) {
- d = (b || "").split(p), g = d.length;
- for (; h < g; h++) e = d[h].toLowerCase(), c = f.propFix[e] || e, f.attr(a, e, ""), a.removeAttribute(v ? e : c), u.test(e) && c in a && (a[c] = !1)
- }
- },
- attrHooks: {
- type: {
- set: function (a, b) {
- if (r.test(a.nodeName) && a.parentNode) f.error("type property can't be changed");
- else if (!f.support.radioValue && b === "radio" && f.nodeName(a, "input")) {
- var c = a.value;
- a.setAttribute("type", b), c && (a.value = c);
- return b
- }
- }
- },
- value: {
- get: function (a, b) {
- if (w && f.nodeName(a, "button")) return w.get(a, b);
- return b in a ? a.value : null
- },
- set: function (a, b, c) {
- if (w && f.nodeName(a, "button")) return w.set(a, b, c);
- a.value = b
- }
- }
- },
- propFix: {
- tabindex: "tabIndex",
- readonly: "readOnly",
- "for": "htmlFor",
- "class": "className",
- maxlength: "maxLength",
- cellspacing: "cellSpacing",
- cellpadding: "cellPadding",
- rowspan: "rowSpan",
- colspan: "colSpan",
- usemap: "useMap",
- frameborder: "frameBorder",
- contenteditable: "contentEditable"
- },
- prop: function (a, c, d) {
- var e, g, h, i = a.nodeType;
- if (!a || i === 3 || i === 8 || i === 2) return b;
- h = i !== 1 || !f.isXMLDoc(a), h && (c = f.propFix[c] || c, g = f.propHooks[c]);
- return d !== b ? g && "set" in g && (e = g.set(a, d, c)) !== b ? e : a[c] = d : g && "get" in g && (e = g.get(a, c)) !== null ? e : a[c]
- },
- propHooks: {
- tabIndex: {
- get: function (a) {
- var c = a.getAttributeNode("tabindex");
- return c && c.specified ? parseInt(c.value, 10) : s.test(a.nodeName) || t.test(a.nodeName) && a.href ? 0 : b
- }
- }
- }
- }), f.attrHooks.tabindex = f.propHooks.tabIndex, x = {
- get: function (a, c) {
- var d, e = f.prop(a, c);
- return e === !0 || typeof e != "boolean" && (d = a.getAttributeNode(c)) && d.nodeValue !== !1 ? c.toLowerCase() : b
- },
- set: function (a, b, c) {
- var d;
- b === !1 ? f.removeAttr(a, c) : (d = f.propFix[c] || c, d in a && (a[d] = !0), a.setAttribute(c, c.toLowerCase()));
- return c
- }
- }, v || (y = {
- name: !0,
- id: !0
- }, w = f.valHooks.button = {
- get: function (a, c) {
- var d;
- d = a.getAttributeNode(c);
- return d && (y[c] ? d.nodeValue !== "" : d.specified) ? d.nodeValue : b
- },
- set: function (a, b, d) {
- var e = a.getAttributeNode(d);
- e || (e = c.createAttribute(d), a.setAttributeNode(e));
- return e.nodeValue = b + ""
- }
- }, f.attrHooks.tabindex.set = w.set, f.each(["width", "height"], function (a, b) {
- f.attrHooks[b] = f.extend(f.attrHooks[b], {
- set: function (a, c) {
- if (c === "") {
- a.setAttribute(b, "auto");
- return c
- }
- }
- })
- }), f.attrHooks.contenteditable = {
- get: w.get,
- set: function (a, b, c) {
- b === "" && (b = "false"), w.set(a, b, c)
- }
- }), f.support.hrefNormalized || f.each(["href", "src", "width", "height"], function (a, c) {
- f.attrHooks[c] = f.extend(f.attrHooks[c], {
- get: function (a) {
- var d = a.getAttribute(c, 2);
- return d === null ? b : d
- }
- })
- }), f.support.style || (f.attrHooks.style = {
- get: function (a) {
- return a.style.cssText.toLowerCase() || b
- },
- set: function (a, b) {
- return a.style.cssText = "" + b
- }
- }), f.support.optSelected || (f.propHooks.selected = f.extend(f.propHooks.selected, {
- get: function (a) {
- var b = a.parentNode;
- b && (b.selectedIndex, b.parentNode && b.parentNode.selectedIndex);
- return null
- }
- })), f.support.enctype || (f.propFix.enctype = "encoding"), f.support.checkOn || f.each(["radio", "checkbox"], function () {
- f.valHooks[this] = {
- get: function (a) {
- return a.getAttribute("value") === null ? "on" : a.value
- }
- }
- }), f.each(["radio", "checkbox"], function () {
- f.valHooks[this] = f.extend(f.valHooks[this], {
- set: function (a, b) {
- if (f.isArray(b)) return a.checked = f.inArray(f(a).val(), b) >= 0
- }
- })
- });
- var z = /\.(.*)$/,
- A = /^(?:textarea|input|select)$/i,
- B = /\./g,
- C = / /g,
- D = /[^\w\s.|`]/g,
- E = /^([^\.]*)?(?:\.(.+))?$/,
- F = /\bhover(\.\S+)?/,
- G = /^key/,
- H = /^(?:mouse|contextmenu)|click/,
- I = /^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,
- J = function (a) {
- var b = I.exec(a);
- b && (b[1] = (b[1] || "").toLowerCase(), b[3] = b[3] && new RegExp("(?:^|\\s)" + b[3] + "(?:\\s|$)"));
- return b
- }, K = function (a, b) {
- return (!b[1] || a.nodeName.toLowerCase() === b[1]) && (!b[2] || a.id === b[2]) && (!b[3] || b[3].test(a.className))
- }, L = function (a) {
- return f.event.special.hover ? a : a.replace(F, "mouseenter$1 mouseleave$1")
- };
- f.event = {
- add: function (a, c, d, e, g) {
- var h, i, j, k, l, m, n, o, p, q, r, s;
- if (!(a.nodeType === 3 || a.nodeType === 8 || !c || !d || !(h = f._data(a)))) {
- d.handler && (p = d, d = p.handler), d.guid || (d.guid = f.guid++), j = h.events, j || (h.events = j = {}), i = h.handle, i || (h.handle = i = function (a) {
- return typeof f != "undefined" && (!a || f.event.triggered !== a.type) ? f.event.dispatch.apply(i.elem, arguments) : b
- }, i.elem = a), c = L(c).split(" ");
- for (k = 0; k < c.length; k++) {
- l = E.exec(c[k]) || [], m = l[1], n = (l[2] || "").split(".").sort(), s = f.event.special[m] || {}, m = (g ? s.delegateType : s.bindType) || m, s = f.event.special[m] || {}, o = f.extend({
- type: m,
- origType: l[1],
- data: e,
- handler: d,
- guid: d.guid,
- selector: g,
- namespace: n.join(".")
- }, p), g && (o.quick = J(g), !o.quick && f.expr.match.POS.test(g) && (o.isPositional = !0)), r = j[m];
- if (!r) {
- r = j[m] = [], r.delegateCount = 0;
- if (!s.setup || s.setup.call(a, e, n, i) === !1) a.addEventListener ? a.addEventListener(m, i, !1) : a.attachEvent && a.attachEvent("on" + m, i)
- }
- s.add && (s.add.call(a, o), o.handler.guid || (o.handler.guid = d.guid)), g ? r.splice(r.delegateCount++, 0, o) : r.push(o), f.event.global[m] = !0
- }
- a = null
- }
- },
- global: {},
- remove: function (a, b, c, d) {
- var e = f.hasData(a) && f._data(a),
- g, h, i, j, k, l, m, n, o, p, q;
- if ( !! e && !! (m = e.events)) {
- b = L(b || "").split(" ");
- for (g = 0; g < b.length; g++) {
- h = E.exec(b[g]) || [], i = h[1], j = h[2];
- if (!i) {
- j = j ? "." + j : "";
- for (l in m) f.event.remove(a, l + j, c, d);
- return
- }
- n = f.event.special[i] || {}, i = (d ? n.delegateType : n.bindType) || i, p = m[i] || [], k = p.length, j = j ? new RegExp("(^|\\.)" + j.split(".").sort().join("\\.(?:.*\\.)?") + "(\\.|$)") : null;
- if (c || j || d || n.remove) for (l = 0; l < p.length; l++) {
- q = p[l];
- if (!c || c.guid === q.guid) if (!j || j.test(q.namespace)) if (!d || d === q.selector || d === "**" && q.selector) p.splice(l--, 1), q.selector && p.delegateCount--, n.remove && n.remove.call(a, q)
- } else p.length = 0;
- p.length === 0 && k !== p.length && ((!n.teardown || n.teardown.call(a, j) === !1) && f.removeEvent(a, i, e.handle), delete m[i])
- }
- f.isEmptyObject(m) && (o = e.handle, o && (o.elem = null), f.removeData(a, ["events", "handle"], !0))
- }
- },
- customEvent: {
- getData: !0,
- setData: !0,
- changeData: !0
- },
- trigger: function (c, d, e, g) {
- if (!e || e.nodeType !== 3 && e.nodeType !== 8) {
- var h = c.type || c,
- i = [],
- j, k, l, m, n, o, p, q, r, s;
- h.indexOf("!") >= 0 && (h = h.slice(0, - 1), k = !0), h.indexOf(".") >= 0 && (i = h.split("."), h = i.shift(), i.sort());
- if ((!e || f.event.customEvent[h]) && !f.event.global[h]) return;
- c = typeof c == "object" ? c[f.expando] ? c : new f.Event(h, c) : new f.Event(h), c.type = h, c.isTrigger = !0, c.exclusive = k, c.namespace = i.join("."), c.namespace_re = c.namespace ? new RegExp("(^|\\.)" + i.join("\\.(?:.*\\.)?") + "(\\.|$)") : null, o = h.indexOf(":") < 0 ? "on" + h : "", (g || !e) && c.preventDefault();
- if (!e) {
- j = f.cache;
- for (l in j) j[l].events && j[l].events[h] && f.event.trigger(c, d, j[l].handle.elem, !0);
- return
- }
- c.result = b, c.target || (c.target = e), d = d != null ? f.makeArray(d) : [], d.unshift(c), p = f.event.special[h] || {};
- if (p.trigger && p.trigger.apply(e, d) === !1) return;
- r = [
- [e, p.bindType || h]
- ];
- if (!g && !p.noBubble && !f.isWindow(e)) {
- s = p.delegateType || h, n = null;
- for (m = e.parentNode; m; m = m.parentNode) r.push([m, s]), n = m;
- n && n === e.ownerDocument && r.push([n.defaultView || n.parentWindow || a, s])
- }
- for (l = 0; l < r.length; l++) {
- m = r[l][0], c.type = r[l][1], q = (f._data(m, "events") || {})[c.type] && f._data(m, "handle"), q && q.apply(m, d), q = o && m[o], q && f.acceptData(m) && q.apply(m, d);
- if (c.isPropagationStopped()) break
- }
- c.type = h, c.isDefaultPrevented() || (!p._default || p._default.apply(e.ownerDocument, d) === !1) && (h !== "click" || !f.nodeName(e, "a")) && f.acceptData(e) && o && e[h] && (h !== "focus" && h !== "blur" || c.target.offsetWidth !== 0) && !f.isWindow(e) && (n = e[o], n && (e[o] = null), f.event.triggered = h, e[h](), f.event.triggered = b, n && (e[o] = n));
- return c.result
- }
- },
- dispatch: function (c) {
- c = f.event.fix(c || a.event);
- var d = (f._data(this, "events") || {})[c.type] || [],
- e = d.delegateCount,
- g = [].slice.call(arguments, 0),
- h = !c.exclusive && !c.namespace,
- i = (f.event.special[c.type] || {}).handle,
- j = [],
- k, l, m, n, o, p, q, r, s, t, u;
- g[0] = c, c.delegateTarget = this;
- if (e && !c.target.disabled && (!c.button || c.type !== "click")) for (m = c.target; m != this; m = m.parentNode || this) {
- o = {}, q = [];
- for (k = 0; k < e; k++) r = d[k], s = r.selector, t = o[s], r.isPositional ? t = (t || (o[s] = f(s))).index(m) >= 0 : t === b && (t = o[s] = r.quick ? K(m, r.quick) : f(m).is(s)), t && q.push(r);
- q.length && j.push({
- elem: m,
- matches: q
- })
- }
- d.length > e && j.push({
- elem: this,
- matches: d.slice(e)
- });
- for (k = 0; k < j.length && !c.isPropagationStopped(); k++) {
- p = j[k], c.currentTarget = p.elem;
- for (l = 0; l < p.matches.length && !c.isImmediatePropagationStopped(); l++) {
- r = p.matches[l];
- if (h || !c.namespace && !r.namespace || c.namespace_re && c.namespace_re.test(r.namespace)) c.data = r.data, c.handleObj = r, n = (i || r.handler).apply(p.elem, g), n !== b && (c.result = n, n === !1 && (c.preventDefault(), c.stopPropagation()))
- }
- }
- return c.result
- },
- props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
- fixHooks: {},
- keyHooks: {
- props: "char charCode key keyCode".split(" "),
- filter: function (a, b) {
- a.which == null && (a.which = b.charCode != null ? b.charCode : b.keyCode);
- return a
- }
- },
- mouseHooks: {
- props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement wheelDelta".split(" "),
- filter: function (a, d) {
- var e, f, g, h = d.button,
- i = d.fromElement;
- a.pageX == null && d.clientX != null && (e = a.target.ownerDocument || c, f = e.documentElement, g = e.body, a.pageX = d.clientX + (f && f.scrollLeft || g && g.scrollLeft || 0) - (f && f.clientLeft || g && g.clientLeft || 0), a.pageY = d.clientY + (f && f.scrollTop || g && g.scrollTop || 0) - (f && f.clientTop || g && g.clientTop || 0)), !a.relatedTarget && i && (a.relatedTarget = i === a.target ? d.toElement : i), !a.which && h !== b && (a.which = h & 1 ? 1 : h & 2 ? 3 : h & 4 ? 2 : 0);
- return a
- }
- },
- fix: function (a) {
- if (a[f.expando]) return a;
- var d, e, g = a,
- h = f.event.fixHooks[a.type] || {}, i = h.props ? this.props.concat(h.props) : this.props;
- a = f.Event(g);
- for (d = i.length; d;) e = i[--d], a[e] = g[e];
- a.target || (a.target = g.srcElement || c), a.target.nodeType === 3 && (a.target = a.target.parentNode), a.metaKey === b && (a.metaKey = a.ctrlKey);
- return h.filter ? h.filter(a, g) : a
- },
- special: {
- ready: {
- setup: f.bindReady
- },
- focus: {
- delegateType: "focusin",
- noBubble: !0
- },
- blur: {
- delegateType: "focusout",
- noBubble: !0
- },
- beforeunload: {
- setup: function (a, b, c) {
- f.isWindow(this) && (this.onbeforeunload = c)
- },
- teardown: function (a, b) {
- this.onbeforeunload === b && (this.onbeforeunload = null)
- }
- }
- },
- simulate: function (a, b, c, d) {
- var e = f.extend(new f.Event, c, {
- type: a,
- isSimulated: !0,
- originalEvent: {}
- });
- d ? f.event.trigger(e, null, b) : f.event.dispatch.call(b, e), e.isDefaultPrevented() && c.preventDefault()
- }
- }, f.event.handle = f.event.dispatch, f.removeEvent = c.removeEventListener ? function (a, b, c) {
- a.removeEventListener && a.removeEventListener(b, c, !1)
- } : function (a, b, c) {
- a.detachEvent && a.detachEvent("on" + b, c)
- }, f.Event = function (a, b) {
- if (!(this instanceof f.Event)) return new f.Event(a, b);
- a && a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented = a.defaultPrevented || a.returnValue === !1 || a.getPreventDefault && a.getPreventDefault() ? N : M) : this.type = a, b && f.extend(this, b), this.timeStamp = a && a.timeStamp || f.now(), this[f.expando] = !0
- }, f.Event.prototype = {
- preventDefault: function () {
- this.isDefaultPrevented = N;
- var a = this.originalEvent;
- !a || (a.preventDefault ? a.preventDefault() : a.returnValue = !1)
- },
- stopPropagation: function () {
- this.isPropagationStopped = N;
- var a = this.originalEvent;
- !a || (a.stopPropagation && a.stopPropagation(), a.cancelBubble = !0)
- },
- stopImmediatePropagation: function () {
- this.isImmediatePropagationStopped = N, this.stopPropagation()
- },
- isDefaultPrevented: M,
- isPropagationStopped: M,
- isImmediatePropagationStopped: M
- }, f.each({
- mouseenter: "mouseover",
- mouseleave: "mouseout"
- }, function (a, b) {
- f.event.special[a] = f.event.special[b] = {
- delegateType: b,
- bindType: b,
- handle: function (a) {
- var b = this,
- c = a.relatedTarget,
- d = a.handleObj,
- e = d.selector,
- g, h;
- if (!c || d.origType === a.type || c !== b && !f.contains(b, c)) g = a.type, a.type = d.origType, h = d.handler.apply(this, arguments), a.type = g;
- return h
- }
- }
- }), f.support.submitBubbles || (f.event.special.submit = {
- setup: function () {
- if (f.nodeName(this, "form")) return !1;
- f.event.add(this, "click._submit keypress._submit", function (a) {
- var c = a.target,
- d = f.nodeName(c, "input") || f.nodeName(c, "button") ? c.form : b;
- d && !d._submit_attached && (f.event.add(d, "submit._submit", function (a) {
- this.parentNode && f.event.simulate("submit", this.parentNode, a, !0)
- }), d._submit_attached = !0)
- })
- },
- teardown: function () {
- if (f.nodeName(this, "form")) return !1;
- f.event.remove(this, "._submit")
- }
- }), f.support.changeBubbles || (f.event.special.change = {
- setup: function () {
- if (A.test(this.nodeName)) {
- if (this.type === "checkbox" || this.type === "radio") f.event.add(this, "propertychange._change", function (a) {
- a.originalEvent.propertyName === "checked" && (this._just_changed = !0)
- }), f.event.add(this, "click._change", function (a) {
- this._just_changed && (this._just_changed = !1, f.event.simulate("change", this, a, !0))
- });
- return !1
- }
- f.event.add(this, "beforeactivate._change", function (a) {
- var b = a.target;
- A.test(b.nodeName) && !b._change_attached && (f.event.add(b, "change._change", function (a) {
- this.parentNode && !a.isSimulated && f.event.simulate("change", this.parentNode, a, !0)
- }), b._change_attached = !0)
- })
- },
- handle: function (a) {
- var b = a.target;
- if (this !== b || a.isSimulated || a.isTrigger || b.type !== "radio" && b.type !== "checkbox") return a.handleObj.handler.apply(this, arguments)
- },
- teardown: function () {
- f.event.remove(this, "._change");
- return A.test(this.nodeName)
- }
- }), f.support.focusinBubbles || f.each({
- focus: "focusin",
- blur: "focusout"
- }, function (a, b) {
- var d = 0,
- e = function (a) {
- f.event.simulate(b, a.target, f.event.fix(a), !0)
- };
- f.event.special[b] = {
- setup: function () {
- d++ === 0 && c.addEventListener(a, e, !0)
- },
- teardown: function () {
- --d === 0 && c.removeEventListener(a, e, !0)
- }
- }
- }), f.fn.extend({
- on: function (a, c, d, e, g) {
- var h, i;
- if (typeof a == "object") {
- typeof c != "string" && (d = c, c = b);
- for (i in a) this.on(i, c, d, a[i], g);
- return this
- }
- d == null && e == null ? (e = c, d = c = b) : e == null && (typeof c == "string" ? (e = d, d = b) : (e = d, d = c, c = b));
- if (e === !1) e = M;
- else if (!e) return this;
- g === 1 && (h = e, e = function (a) {
- f().off(a);
- return h.apply(this, arguments)
- }, e.guid = h.guid || (h.guid = f.guid++));
- return this.each(function () {
- f.event.add(this, a, e, d, c)
- })
- },
- one: function (a, b, c, d) {
- return this.on.call(this, a, b, c, d, 1)
- },
- off: function (a, c, d) {
- if (a && a.preventDefault && a.handleObj) {
- var e = a.handleObj;
- f(a.delegateTarget).off(e.namespace ? e.type + "." + e.namespace : e.type, e.selector, e.handler);
- return this
- }
- if (typeof a == "object") {
- for (var g in a) this.off(g, c, a[g]);
- return this
- }
- if (c === !1 || typeof c == "function") d = c, c = b;
- d === !1 && (d = M);
- return this.each(function () {
- f.event.remove(this, a, d, c)
- })
- },
- bind: function (a, b, c) {
- return this.on(a, null, b, c)
- },
- unbind: function (a, b) {
- return this.off(a, null, b)
- },
- live: function (a, b, c) {
- f(this.context).on(a, this.selector, b, c);
- return this
- },
- die: function (a, b) {
- f(this.context).off(a, this.selector || "**", b);
- return this
- },
- delegate: function (a, b, c, d) {
- return this.on(b, a, c, d)
- },
- undelegate: function (a, b, c) {
- return arguments.length == 1 ? this.off(a, "**") : this.off(b, a, c)
- },
- trigger: function (a, b) {
- return this.each(function () {
- f.event.trigger(a, b, this)
- })
- },
- triggerHandler: function (a, b) {
- if (this[0]) return f.event.trigger(a, b, this[0], !0)
- },
- toggle: function (a) {
- var b = arguments,
- c = a.guid || f.guid++,
- d = 0,
- e = function (c) {
- var e = (f._data(this, "lastToggle" + a.guid) || 0) % d;
- f._data(this, "lastToggle" + a.guid, e + 1), c.preventDefault();
- return b[e].apply(this, arguments) || !1
- };
- e.guid = c;
- while (d < b.length) b[d++].guid = c;
- return this.click(e)
- },
- hover: function (a, b) {
- return this.mouseenter(a).mouseleave(b || a)
- }
- }), f.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 contextmenu".split(" "), function (a, b) {
- f.fn[b] = function (a, c) {
- c == null && (c = a, a = null);
- return arguments.length > 0 ? this.bind(b, a, c) : this.trigger(b)
- }, f.attrFn && (f.attrFn[b] = !0), G.test(b) && (f.event.fixHooks[b] = f.event.keyHooks), H.test(b) && (f.event.fixHooks[b] = f.event.mouseHooks)
- }),
- function () {
- function x(a, b, c, e, f, g) {
- for (var h = 0, i = e.length; h < i; h++) {
- var j = e[h];
- if (j) {
- var k = !1;
- j = j[a];
- while (j) {
- if (j[d] === c) {
- k = e[j.sizset];
- break
- }
- if (j.nodeType === 1) {
- g || (j[d] = c, j.sizset = h);
- if (typeof b != "string") {
- if (j === b) {
- k = !0;
- break
- }
- } else if (m.filter(b, [j]).length > 0) {
- k = j;
- break
- }
- }
- j = j[a]
- }
- e[h] = k
- }
- }
- }
- function w(a, b, c, e, f, g) {
- for (var h = 0, i = e.length; h < i; h++) {
- var j = e[h];
- if (j) {
- var k = !1;
- j = j[a];
- while (j) {
- if (j[d] === c) {
- k = e[j.sizset];
- break
- }
- j.nodeType === 1 && !g && (j[d] = c, j.sizset = h);
- if (j.nodeName.toLowerCase() === b) {
- k = j;
- break
- }
- j = j[a]
- }
- e[h] = k
- }
- }
- }
- var a = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
- d = "sizcache" + (Math.random() + "").replace(".", ""),
- e = 0,
- g = Object.prototype.toString,
- h = !1,
- i = !0,
- j = /\\/g,
- k = /\r\n/g,
- l = /\W/;
- [0, 0].sort(function () {
- i = !1;
- return 0
- });
- var m = function (b, d, e, f) {
- e = e || [], d = d || c;
- var h = d;
- if (d.nodeType !== 1 && d.nodeType !== 9) return [];
- if (!b || typeof b != "string") return e;
- var i, j, k, l, n, q, r, t, u = !0,
- v = m.isXML(d),
- w = [],
- x = b;
- do {
- a.exec(""), i = a.exec(x);
- if (i) {
- x = i[3], w.push(i[1]);
- if (i[2]) {
- l = i[3];
- break
- }
- }
- } while (i);
- if (w.length > 1 && p.exec(b)) if (w.length === 2 && o.relative[w[0]]) j = y(w[0] + w[1], d, f);
- else {
- j = o.relative[w[0]] ? [d] : m(w.shift(), d);
- while (w.length) b = w.shift(), o.relative[b] && (b += w.shift()), j = y(b, j, f)
- } else {
- !f && w.length > 1 && d.nodeType === 9 && !v && o.match.ID.test(w[0]) && !o.match.ID.test(w[w.length - 1]) && (n = m.find(w.shift(), d, v), d = n.expr ? m.filter(n.expr, n.set)[0] : n.set[0]);
- if (d) {
- n = f ? {
- expr: w.pop(),
- set: s(f)
- } : m.find(w.pop(), w.length === 1 && (w[0] === "~" || w[0] === "+") && d.parentNode ? d.parentNode : d, v), j = n.expr ? m.filter(n.expr, n.set) : n.set, w.length > 0 ? k = s(j) : u = !1;
- while (w.length) q = w.pop(), r = q, o.relative[q] ? r = w.pop() : q = "", r == null && (r = d), o.relative[q](k, r, v)
- } else k = w = []
- }
- k || (k = j), k || m.error(q || b);
- if (g.call(k) === "[object Array]") if (!u) e.push.apply(e, k);
- else if (d && d.nodeType === 1) for (t = 0; k[t] != null; t++) k[t] && (k[t] === !0 || k[t].nodeType === 1 && m.contains(d, k[t])) && e.push(j[t]);
- else for (t = 0; k[t] != null; t++) k[t] && k[t].nodeType === 1 && e.push(j[t]);
- else s(k, e);
- l && (m(l, h, e, f), m.uniqueSort(e));
- return e
- };
- m.uniqueSort = function (a) {
- if (u) {
- h = i, a.sort(u);
- if (h) for (var b = 1; b < a.length; b++) a[b] === a[b - 1] && a.splice(b--, 1)
- }
- return a
- }, m.matches = function (a, b) {
- return m(a, null, null, b)
- }, m.matchesSelector = function (a, b) {
- return m(b, null, null, [a]).length > 0
- }, m.find = function (a, b, c) {
- var d, e, f, g, h, i;
- if (!a) return [];
- for (e = 0, f = o.order.length; e < f; e++) {
- h = o.order[e];
- if (g = o.leftMatch[h].exec(a)) {
- i = g[1], g.splice(1, 1);
- if (i.substr(i.length - 1) !== "\\") {
- g[1] = (g[1] || "").replace(j, ""), d = o.find[h](g, b, c);
- if (d != null) {
- a = a.replace(o.match[h], "");
- break
- }
- }
- }
- }
- d || (d = typeof b.getElementsByTagName != "undefined" ? b.getElementsByTagName("*") : []);
- return {
- set: d,
- expr: a
- }
- }, m.filter = function (a, c, d, e) {
- var f, g, h, i, j, k, l, n, p, q = a,
- r = [],
- s = c,
- t = c && c[0] && m.isXML(c[0]);
- while (a && c.length) {
- for (h in o.filter) if ((f = o.leftMatch[h].exec(a)) != null && f[2]) {
- k = o.filter[h], l = f[1], g = !1, f.splice(1, 1);
- if (l.substr(l.length - 1) === "\\") continue;
- s === r && (r = []);
- if (o.preFilter[h]) {
- f = o.preFilter[h](f, s, d, r, e, t);
- if (!f) g = i = !0;
- else if (f === !0) continue
- }
- if (f) for (n = 0;
- (j = s[n]) != null; n++) j && (i = k(j, f, n, s), p = e ^ i, d && i != null ? p ? g = !0 : s[n] = !1 : p && (r.push(j), g = !0));
- if (i !== b) {
- d || (s = r), a = a.replace(o.match[h], "");
- if (!g) return [];
- break
- }
- }
- if (a === q) if (g == null) m.error(a);
- else break;
- q = a
- }
- return s
- }, m.error = function (a) {
- throw "Syntax error, unrecognized expression: " + a
- };
- var n = m.getText = function (a) {
- var b, c, d = a.nodeType,
- e = "";
- if (d) {
- if (d === 1) {
- if (typeof a.textContent == "string") return a.textContent;
- if (typeof a.innerText == "string") return a.innerText.replace(k, "");
- for (a = a.firstChild; a; a = a.nextSibling) e += n(a)
- } else if (d === 3 || d === 4) return a.nodeValue
- } else for (b = 0; c = a[b]; b++) c.nodeType !== 8 && (e += n(c));
- return e
- }, o = m.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|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,
- TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,
- CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,
- POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,
- PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
- },
- leftMatch: {},
- attrMap: {
- "class": "className",
- "for": "htmlFor"
- },
- attrHandle: {
- href: function (a) {
- return a.getAttribute("href")
- },
- type: function (a) {
- return a.getAttribute("type")
- }
- },
- relative: {
- "+": function (a, b) {
- var c = typeof b == "string",
- d = c && !l.test(b),
- e = c && !d;
- d && (b = b.toLowerCase());
- for (var f = 0, g = a.length, h; f < g; f++) if (h = a[f]) {
- while ((h = h.previousSibling) && h.nodeType !== 1);
- a[f] = e || h && h.nodeName.toLowerCase() === b ? h || !1 : h === b
- }
- e && m.filter(b, a, !0)
- },
- ">": function (a, b) {
- var c, d = typeof b == "string",
- e = 0,
- f = a.length;
- if (d && !l.test(b)) {
- b = b.toLowerCase();
- for (; e < f; e++) {
- c = a[e];
- if (c) {
- var g = c.parentNode;
- a[e] = g.nodeName.toLowerCase() === b ? g : !1
- }
- }
- } else {
- for (; e < f; e++) c = a[e], c && (a[e] = d ? c.parentNode : c.parentNode === b);
- d && m.filter(b, a, !0)
- }
- },
- "": function (a, b, c) {
- var d, f = e++,
- g = x;
- typeof b == "string" && !l.test(b) && (b = b.toLowerCase(), d = b, g = w), g("parentNode", b, f, a, d, c)
- },
- "~": function (a, b, c) {
- var d, f = e++,
- g = x;
- typeof b == "string" && !l.test(b) && (b = b.toLowerCase(), d = b, g = w), g("previousSibling", b, f, a, d, c)
- }
- },
- find: {
- ID: function (a, b, c) {
- if (typeof b.getElementById != "undefined" && !c) {
- var d = b.getElementById(a[1]);
- return d && d.parentNode ? [d] : []
- }
- },
- NAME: function (a, b) {
- if (typeof b.getElementsByName != "undefined") {
- var c = [],
- d = b.getElementsByName(a[1]);
- for (var e = 0, f = d.length; e < f; e++) d[e].getAttribute("name") === a[1] && c.push(d[e]);
- return c.length === 0 ? null : c
- }
- },
- TAG: function (a, b) {
- if (typeof b.getElementsByTagName != "undefined") return b.getElementsByTagName(a[1])
- }
- },
- preFilter: {
- CLASS: function (a, b, c, d, e, f) {
- a = " " + a[1].replace(j, "") + " ";
- if (f) return a;
- for (var g = 0, h;
- (h = b[g]) != null; g++) h && (e ^ (h.className && (" " + h.className + " ").replace(/[\t\n\r]/g, " ").indexOf(a) >= 0) ? c || d.push(h) : c && (b[g] = !1));
- return !1
- },
- ID: function (a) {
- return a[1].replace(j, "")
- },
- TAG: function (a, b) {
- return a[1].replace(j, "").toLowerCase()
- },
- CHILD: function (a) {
- if (a[1] === "nth") {
- a[2] || m.error(a[0]), a[2] = a[2].replace(/^\+|\s*/g, "");
- var b = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2] === "even" && "2n" || a[2] === "odd" && "2n+1" || !/\D/.test(a[2]) && "0n+" + a[2] || a[2]);
- a[2] = b[1] + (b[2] || 1) - 0, a[3] = b[3] - 0
- } else a[2] && m.error(a[0]);
- a[0] = e++;
- return a
- },
- ATTR: function (a, b, c, d, e, f) {
- var g = a[1] = a[1].replace(j, "");
- !f && o.attrMap[g] && (a[1] = o.attrMap[g]), a[4] = (a[4] || a[5] || "").replace(j, ""), a[2] === "~=" && (a[4] = " " + a[4] + " ");
- return a
- },
- PSEUDO: function (b, c, d, e, f) {
- if (b[1] === "not") if ((a.exec(b[3]) || "").length > 1 || /^\w/.test(b[3])) b[3] = m(b[3], null, null, c);
- else {
- var g = m.filter(b[3], c, d, !0 ^ f);
- d || e.push.apply(e, g);
- return !1
- } else if (o.match.POS.test(b[0]) || o.match.CHILD.test(b[0])) return !0;
- return b
- },
- POS: function (a) {
- a.unshift(!0);
- return a
- }
- },
- filters: {
- enabled: function (a) {
- return a.disabled === !1 && a.type !== "hidden"
- },
- disabled: function (a) {
- return a.disabled === !0
- },
- checked: function (a) {
- return a.checked === !0
- },
- selected: function (a) {
- a.parentNode && a.parentNode.selectedIndex;
- return a.selected === !0
- },
- parent: function (a) {
- return !!a.firstChild
- },
- empty: function (a) {
- return !a.firstChild
- },
- has: function (a, b, c) {
- return !!m(c[3], a).length
- },
- header: function (a) {
- return /h\d/i.test(a.nodeName)
- },
- text: function (a) {
- var b = a.getAttribute("type"),
- c = a.type;
- return a.nodeName.toLowerCase() === "input" && "text" === c && (b === c || b === null)
- },
- radio: function (a) {
- return a.nodeName.toLowerCase() === "input" && "radio" === a.type
- },
- checkbox: function (a) {
- return a.nodeName.toLowerCase() === "input" && "checkbox" === a.type
- },
- file: function (a) {
- return a.nodeName.toLowerCase() === "input" && "file" === a.type
- },
- password: function (a) {
- return a.nodeName.toLowerCase() === "input" && "password" === a.type
- },
- submit: function (a) {
- var b = a.nodeName.toLowerCase();
- return (b === "input" || b === "button") && "submit" === a.type
- },
- image: function (a) {
- return a.nodeName.toLowerCase() === "input" && "image" === a.type
- },
- reset: function (a) {
- var b = a.nodeName.toLowerCase();
- return (b === "input" || b === "button") && "reset" === a.type
- },
- button: function (a) {
- var b = a.nodeName.toLowerCase();
- return b === "input" && "button" === a.type || b === "button"
- },
- input: function (a) {
- return /input|select|textarea|button/i.test(a.nodeName)
- },
- focus: function (a) {
- return a === a.ownerDocument.activeElement
- }
- },
- setFilters: {
- first: function (a, b) {
- return b === 0
- },
- last: function (a, b, c, d) {
- return b === d.length - 1
- },
- even: function (a, b) {
- return b % 2 === 0
- },
- odd: function (a, b) {
- return b % 2 === 1
- },
- lt: function (a, b, c) {
- return b < c[3] - 0
- },
- gt: function (a, b, c) {
- return b > c[3] - 0
- },
- nth: function (a, b, c) {
- return c[3] - 0 === b
- },
- eq: function (a, b, c) {
- return c[3] - 0 === b
- }
- },
- filter: {
- PSEUDO: function (a, b, c, d) {
- var e = b[1],
- f = o.filters[e];
- if (f) return f(a, c, b, d);
- if (e === "contains") return (a.textContent || a.innerText || n([a]) || "").indexOf(b[3]) >= 0;
- if (e === "not") {
- var g = b[3];
- for (var h = 0, i = g.length; h < i; h++) if (g[h] === a) return !1;
- return !0
- }
- m.error(e)
- },
- CHILD: function (a, b) {
- var c, e, f, g, h, i, j, k = b[1],
- l = a;
- switch (k) {
- case "only":
- case "first":
- while (l = l.previousSibling) if (l.nodeType === 1) return !1;
- if (k === "first") return !0;
- l = a;
- case "last":
- while (l = l.nextSibling) if (l.nodeType === 1) return !1;
- return !0;
- case "nth":
- c = b[2], e = b[3];
- if (c === 1 && e === 0) return !0;
- f = b[0], g = a.parentNode;
- if (g && (g[d] !== f || !a.nodeIndex)) {
- i = 0;
- for (l = g.firstChild; l; l = l.nextSibling) l.nodeType === 1 && (l.nodeIndex = ++i);
- g[d] = f
- }
- j = a.nodeIndex - e;
- return c === 0 ? j === 0 : j % c === 0 && j / c >= 0
- }
- },
- ID: function (a, b) {
- return a.nodeType === 1 && a.getAttribute("id") === b
- },
- TAG: function (a, b) {
- return b === "*" && a.nodeType === 1 || !! a.nodeName && a.nodeName.toLowerCase() === b
- },
- CLASS: function (a, b) {
- return (" " + (a.className || a.getAttribute("class")) + " ").indexOf(b) > -1
- },
- ATTR: function (a, b) {
- var c = b[1],
- d = m.attr ? m.attr(a, c) : o.attrHandle[c] ? o.attrHandle[c](a) : a[c] != null ? a[c] : a.getAttribute(c),
- e = d + "",
- f = b[2],
- g = b[4];
- return d == null ? f === "!=" : !f && m.attr ? d != null : f === "=" ? e === g : f === "*=" ? e.indexOf(g) >= 0 : f === "~=" ? (" " + e + " ").indexOf(g) >= 0 : g ? f === "!=" ? e !== g : f === "^=" ? e.indexOf(g) === 0 : f === "$=" ? e.substr(e.length - g.length) === g : f === "|=" ? e === g || e.substr(0, g.length + 1) === g + "-" : !1 : e && d !== !1
- },
- POS: function (a, b, c, d) {
- var e = b[2],
- f = o.setFilters[e];
- if (f) return f(a, c, b, d)
- }
- }
- }, p = o.match.POS,
- q = function (a, b) {
- return "\\" + (b - 0 + 1)
- };
- for (var r in o.match) o.match[r] = new RegExp(o.match[r].source + /(?![^\[]*\])(?![^\(]*\))/.source), o.leftMatch[r] = new RegExp(/(^(?:.|\r|\n)*?)/.source + o.match[r].source.replace(/\\(\d+)/g, q));
- var s = function (a, b) {
- a = Array.prototype.slice.call(a, 0);
- if (b) {
- b.push.apply(b, a);
- return b
- }
- return a
- };
- try {
- Array.prototype.slice.call(c.documentElement.childNodes, 0)[0].nodeType
- } catch (t) {
- s = function (a, b) {
- var c = 0,
- d = b || [];
- if (g.call(a) === "[object Array]") Array.prototype.push.apply(d, a);
- else if (typeof a.length == "number") for (var e = a.length; c < e; c++) d.push(a[c]);
- else for (; a[c]; c++) d.push(a[c]);
- return d
- }
- }
- var u, v;
- c.documentElement.compareDocumentPosition ? u = function (a, b) {
- if (a === b) {
- h = !0;
- return 0
- }
- if (!a.compareDocumentPosition || !b.compareDocumentPosition) return a.compareDocumentPosition ? -1 : 1;
- return a.compareDocumentPosition(b) & 4 ? -1 : 1
- } : (u = function (a, b) {
- if (a === b) {
- h = !0;
- return 0
- }
- if (a.sourceIndex && b.sourceIndex) return a.sourceIndex - b.sourceIndex;
- var c, d, e = [],
- f = [],
- g = a.parentNode,
- i = b.parentNode,
- j = g;
- if (g === i) return v(a, b);
- if (!g) return -1;
- if (!i) return 1;
- while (j) e.unshift(j), j = j.parentNode;
- j = i;
- while (j) f.unshift(j), j = j.parentNode;
- c = e.length, d = f.length;
- for (var k = 0; k < c && k < d; k++) if (e[k] !== f[k]) return v(e[k], f[k]);
- return k === c ? v(a, f[k], - 1) : v(e[k], b, 1)
- }, v = function (a, b, c) {
- if (a === b) return c;
- var d = a.nextSibling;
- while (d) {
- if (d === b) return -1;
- d = d.nextSibling
- }
- return 1
- }),
- function () {
- var a = c.createElement("div"),
- d = "script" + (new Date).getTime(),
- e = c.documentElement;
- a.innerHTML = "<a name='" + d + "'/>", e.insertBefore(a, e.firstChild), c.getElementById(d) && (o.find.ID = function (a, c, d) {
- if (typeof c.getElementById != "undefined" && !d) {
- var e = c.getElementById(a[1]);
- return e ? e.id === a[1] || typeof e.getAttributeNode != "undefined" && e.getAttributeNode("id").nodeValue === a[1] ? [e] : b : []
- }
- }, o.filter.ID = function (a, b) {
- var c = typeof a.getAttributeNode != "undefined" && a.getAttributeNode("id");
- return a.nodeType === 1 && c && c.nodeValue === b
- }), e.removeChild(a), e = a = null
- }(),
- function () {
- var a = c.createElement("div");
- a.appendChild(c.createComment("")), a.getElementsByTagName("*").length > 0 && (o.find.TAG = function (a, b) {
- var c = b.getElementsByTagName(a[1]);
- if (a[1] === "*") {
- var d = [];
- for (var e = 0; c[e]; e++) c[e].nodeType === 1 && d.push(c[e]);
- c = d
- }
- return c
- }), a.innerHTML = "<a href='#'></a>", a.firstChild && typeof a.firstChild.getAttribute != "undefined" && a.firstChild.getAttribute("href") !== "#" && (o.attrHandle.href = function (a) {
- return a.getAttribute("href", 2)
- }), a = null
- }(), c.querySelectorAll && function () {
- var a = m,
- b = c.createElement("div"),
- d = "__sizzle__";
- b.innerHTML = "<p class='TEST'></p>";
- if (!b.querySelectorAll || b.querySelectorAll(".TEST").length !== 0) {
- m = function (b, e, f, g) {
- e = e || c;
- if (!g && !m.isXML(e)) {
- var h = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);
- if (h && (e.nodeType === 1 || e.nodeType === 9)) {
- if (h[1]) return s(e.getElementsByTagName(b), f);
- if (h[2] && o.find.CLASS && e.getElementsByClassName) return s(e.getElementsByClassName(h[2]), f)
- }
- if (e.nodeType === 9) {
- if (b === "body" && e.body) return s([e.body], f);
- if (h && h[3]) {
- var i = e.getElementById(h[3]);
- if (!i || !i.parentNode) return s([], f);
- if (i.id === h[3]) return s([i], f)
- }
- try {
- return s(e.querySelectorAll(b), f)
- } catch (j) {}
- } else if (e.nodeType === 1 && e.nodeName.toLowerCase() !== "object") {
- var k = e,
- l = e.getAttribute("id"),
- n = l || d,
- p = e.parentNode,
- q = /^\s*[+~]/.test(b);
- l ? n = n.replace(/'/g, "\\$&") : e.setAttribute("id", n), q && p && (e = e.parentNode);
- try {
- if (!q || p) return s(e.querySelectorAll("[id='" + n + "'] " + b), f)
- } catch (r) {} finally {
- l || k.removeAttribute("id")
- }
- }
- }
- return a(b, e, f, g)
- };
- for (var e in a) m[e] = a[e];
- b = null
- }
- }(),
- function () {
- var a = c.documentElement,
- b = a.matchesSelector || a.mozMatchesSelector || a.webkitMatchesSelector || a.msMatchesSelector;
- if (b) {
- var d = !b.call(c.createElement("div"), "div"),
- e = !1;
- try {
- b.call(c.documentElement, "[test!='']:sizzle")
- } catch (f) {
- e = !0
- }
- m.matchesSelector = function (a, c) {
- c = c.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']");
- if (!m.isXML(a)) try {
- if (e || !o.match.PSEUDO.test(c) && !/!=/.test(c)) {
- var f = b.call(a, c);
- if (f || !d || a.document && a.document.nodeType !== 11) return f
- }
- } catch (g) {}
- return m(c, null, null, [a]).length > 0
- }
- }
- }(),
- function () {
- var a = c.createElement("div");
- a.innerHTML = "<div class='test e'></div><div class='test'></div>";
- if ( !! a.getElementsByClassName && a.getElementsByClassName("e").length !== 0) {
- a.lastChild.className = "e";
- if (a.getElementsByClassName("e").length === 1) return;
- o.order.splice(1, 0, "CLASS"), o.find.CLASS = function (a, b, c) {
- if (typeof b.getElementsByClassName != "undefined" && !c) return b.getElementsByClassName(a[1])
- }, a = null
- }
- }(), c.documentElement.contains ? m.contains = function (a, b) {
- return a !== b && (a.contains ? a.contains(b) : !0)
- } : c.documentElement.compareDocumentPosition ? m.contains = function (a, b) {
- return !!(a.compareDocumentPosition(b) & 16)
- } : m.contains = function () {
- return !1
- }, m.isXML = function (a) {
- var b = (a ? a.ownerDocument || a : 0).documentElement;
- return b ? b.nodeName !== "HTML" : !1
- };
- var y = function (a, b, c) {
- var d, e = [],
- f = "",
- g = b.nodeType ? [b] : b;
- while (d = o.match.PSEUDO.exec(a)) f += d[0], a = a.replace(o.match.PSEUDO, "");
- a = o.relative[a] ? a + "*" : a;
- for (var h = 0, i = g.length; h < i; h++) m(a, g[h], e, c);
- return m.filter(f, e)
- };
- m.attr = f.attr, m.selectors.attrMap = {}, f.find = m, f.expr = m.selectors, f.expr[":"] = f.expr.filters, f.unique = m.uniqueSort, f.text = m.getText, f.isXMLDoc = m.isXML, f.contains = m.contains
- }();
- var O = /Until$/,
- P = /^(?:parents|prevUntil|prevAll)/,
- Q = /,/,
- R = /^.[^:#\[\.,]*$/,
- S = Array.prototype.slice,
- T = f.expr.match.POS,
- U = {
- children: !0,
- contents: !0,
- next: !0,
- prev: !0
- };
- f.fn.extend({
- find: function (a) {
- var b = this,
- c, d;
- if (typeof a != "string") return f(a).filter(function () {
- for (c = 0, d = b.length; c < d; c++) if (f.contains(b[c], this)) return !0
- });
- var e = this.pushStack("", "find", a),
- g, h, i;
- for (c = 0, d = this.length; c < d; c++) {
- g = e.length, f.find(a, this[c], e);
- if (c > 0) for (h = g; h < e.length; h++) for (i = 0; i < g; i++) if (e[i] === e[h]) {
- e.splice(h--, 1);
- break
- }
- }
- return e
- },
- has: function (a) {
- var b = f(a);
- return this.filter(function () {
- for (var a = 0, c = b.length; a < c; a++) if (f.contains(this, b[a])) return !0
- })
- },
- not: function (a) {
- return this.pushStack(W(this, a, !1), "not", a)
- },
- filter: function (a) {
- return this.pushStack(W(this, a, !0), "filter", a)
- },
- is: function (a) {
- return !!a && (typeof a == "string" ? T.test(a) ? f(a, this.context).index(this[0]) >= 0 : f.filter(a, this).length > 0 : this.filter(a).length > 0)
- },
- closest: function (a, b) {
- var c = [],
- d, e, g = this[0];
- if (f.isArray(a)) {
- var h = 1;
- while (g && g.ownerDocument && g !== b) {
- for (d = 0; d < a.length; d++) f(g).is(a[d]) && c.push({
- selector: a[d],
- elem: g,
- level: h
- });
- g = g.parentNode, h++
- }
- return c
- }
- var i = T.test(a) || typeof a != "string" ? f(a, b || this.context) : 0;
- for (d = 0, e = this.length; d < e; d++) {
- g = this[d];
- while (g) {
- if (i ? i.index(g) > -1 : f.find.matchesSelector(g, a)) {
- c.push(g);
- break
- }
- g = g.parentNode;
- if (!g || !g.ownerDocument || g === b || g.nodeType === 11) break
- }
- }
- c = c.length > 1 ? f.unique(c) : c;
- return this.pushStack(c, "closest", a)
- },
- index: function (a) {
- if (!a) return this[0] && this[0].parentNode ? this.prevAll().length : -1;
- if (typeof a == "string") return f.inArray(this[0], f(a));
- return f.inArray(a.jquery ? a[0] : a, this)
- },
- add: function (a, b) {
- var c = typeof a == "string" ? f(a, b) : f.makeArray(a && a.nodeType ? [a] : a),
- d = f.merge(this.get(), c);
- return this.pushStack(V(c[0]) || V(d[0]) ? d : f.unique(d))
- },
- andSelf: function () {
- return this.add(this.prevObject)
- }
- }), f.each({
- parent: function (a) {
- var b = a.parentNode;
- return b && b.nodeType !== 11 ? b : null
- },
- parents: function (a) {
- return f.dir(a, "parentNode")
- },
- parentsUntil: function (a, b, c) {
- return f.dir(a, "parentNode", c)
- },
- next: function (a) {
- return f.nth(a, 2, "nextSibling")
- },
- prev: function (a) {
- return f.nth(a, 2, "previousSibling")
- },
- nextAll: function (a) {
- return f.dir(a, "nextSibling")
- },
- prevAll: function (a) {
- return f.dir(a, "previousSibling")
- },
- nextUntil: function (a, b, c) {
- return f.dir(a, "nextSibling", c)
- },
- prevUntil: function (a, b, c) {
- return f.dir(a, "previousSibling", c)
- },
- siblings: function (a) {
- return f.sibling(a.parentNode.firstChild, a)
- },
- children: function (a) {
- return f.sibling(a.firstChild)
- },
- contents: function (a) {
- return f.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : f.makeArray(a.childNodes)
- }
- }, function (a, b) {
- f.fn[a] = function (c, d) {
- var e = f.map(this, b, c),
- g = S.call(arguments);
- O.test(a) || (d = c), d && typeof d == "string" && (e = f.filter(d, e)), e = this.length > 1 && !U[a] ? f.unique(e) : e, (this.length > 1 || Q.test(d)) && P.test(a) && (e = e.reverse());
- return this.pushStack(e, a, g.join(","))
- }
- }), f.extend({
- filter: function (a, b, c) {
- c && (a = ":not(" + a + ")");
- return b.length === 1 ? f.find.matchesSelector(b[0], a) ? [b[0]] : [] : f.find.matches(a, b)
- },
- dir: function (a, c, d) {
- var e = [],
- g = a[c];
- while (g && g.nodeType !== 9 && (d === b || g.nodeType !== 1 || !f(g).is(d))) g.nodeType === 1 && e.push(g), g = g[c];
- return e
- },
- nth: function (a, b, c, d) {
- b = b || 1;
- var e = 0;
- for (; a; a = a[c]) if (a.nodeType === 1 && ++e === b) break;
- return a
- },
- sibling: function (a, b) {
- var c = [];
- for (; a; a = a.nextSibling) a.nodeType === 1 && a !== b && c.push(a);
- return c
- }
- });
- var Y = "abbr article aside audio canvas datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",
- Z = / jQuery\d+="(?:\d+|null)"/g,
- $ = /^\s+/,
- _ = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,
- ba = /<([\w:]+)/,
- bb = /<tbody/i,
- bc = /<|&#?\w+;/,
- bd = /<(?:script|style)/i,
- be = /<(?:script|object|embed|option|style)/i,
- bf = new RegExp("<(?:" + Y.replace(" ", "|") + ")", "i"),
- bg = /checked\s*(?:[^=]|=\s*.checked.)/i,
- bh = /\/(java|ecma)script/i,
- bi = /^\s*<!(?:\[CDATA\[|\-\-)/,
- bj = {
- 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, "", ""]
- }, bk = X(c);
- bj.optgroup = bj.option, bj.tbody = bj.tfoot = bj.colgroup = bj.caption = bj.thead, bj.th = bj.td, f.support.htmlSerialize || (bj._default = [1, "div<div>", "</div>"]), f.fn.extend({
- text: function (a) {
- if (f.isFunction(a)) return this.each(function (b) {
- var c = f(this);
- c.text(a.call(this, b, c.text()))
- });
- if (typeof a != "object" && a !== b) return this.empty().append((this[0] && this[0].ownerDocument || c).createTextNode(a));
- return f.text(this)
- },
- wrapAll: function (a) {
- if (f.isFunction(a)) return this.each(function (b) {
- f(this).wrapAll(a.call(this, b))
- });
- if (this[0]) {
- var b = f(a, this[0].ownerDocument).eq(0).clone(!0);
- this[0].parentNode && b.insertBefore(this[0]), b.map(function () {
- var a = this;
- while (a.firstChild && a.firstChild.nodeType === 1) a = a.firstChild;
- return a
- }).append(this)
- }
- return this
- },
- wrapInner: function (a) {
- if (f.isFunction(a)) return this.each(function (b) {
- f(this).wrapInner(a.call(this, b))
- });
- return this.each(function () {
- var b = f(this),
- c = b.contents();
- c.length ? c.wrapAll(a) : b.append(a)
- })
- },
- wrap: function (a) {
- return this.each(function () {
- f(this).wrapAll(a)
- })
- },
- unwrap: function () {
- return this.parent().each(function () {
- f.nodeName(this, "body") || f(this).replaceWith(this.childNodes)
- }).end()
- },
- append: function () {
- return this.domManip(arguments, !0, function (a) {
- this.nodeType === 1 && this.appendChild(a)
- })
- },
- prepend: function () {
- return this.domManip(arguments, !0, function (a) {
- this.nodeType === 1 && this.insertBefore(a, this.firstChild)
- })
- },
- before: function () {
- if (this[0] && this[0].parentNode) return this.domManip(arguments, !1, function (a) {
- this.parentNode.insertBefore(a, this)
- });
- if (arguments.length) {
- var a = f(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, !1, function (a) {
- this.parentNode.insertBefore(a, this.nextSibling)
- });
- if (arguments.length) {
- var a = this.pushStack(this, "after", arguments);
- a.push.apply(a, f(arguments[0]).toArray());
- return a
- }
- },
- remove: function (a, b) {
- for (var c = 0, d;
- (d = this[c]) != null; c++) if (!a || f.filter(a, [d]).length)!b && d.nodeType === 1 && (f.cleanData(d.getElementsByTagName("*")), f.cleanData([d])), d.parentNode && d.parentNode.removeChild(d);
- return this
- },
- empty: function () {
- for (var a = 0, b;
- (b = this[a]) != null; a++) {
- b.nodeType === 1 && f.cleanData(b.getElementsByTagName("*"));
- while (b.firstChild) b.removeChild(b.firstChild)
- }
- return this
- },
- clone: function (a, b) {
- a = a == null ? !1 : a, b = b == null ? a : b;
- return this.map(function () {
- return f.clone(this, a, b)
- })
- },
- html: function (a) {
- if (a === b) return this[0] && this[0].nodeType === 1 ? this[0].innerHTML.replace(Z, "") : null;
- if (typeof a == "string" && !bd.test(a) && (f.support.leadingWhitespace || !$.test(a)) && !bj[(ba.exec(a) || ["", ""])[1].toLowerCase()]) {
- a = a.replace(_, "<$1></$2>");
- try {
- for (var c = 0, d = this.length; c < d; c++) this[c].nodeType === 1 && (f.cleanData(this[c].getElementsByTagName("*")), this[c].innerHTML = a)
- } catch (e) {
- this.empty().append(a)
- }
- } else f.isFunction(a) ? this.each(function (b) {
- var c = f(this);
- c.html(a.call(this, b, c.html()))
- }) : this.empty().append(a);
- return this
- },
- replaceWith: function (a) {
- if (this[0] && this[0].parentNode) {
- if (f.isFunction(a)) return this.each(function (b) {
- var c = f(this),
- d = c.html();
- c.replaceWith(a.call(this, b, d))
- });
- typeof a != "string" && (a = f(a).detach());
- return this.each(function () {
- var b = this.nextSibling,
- c = this.parentNode;
- f(this).remove(), b ? f(b).before(a) : f(c).append(a)
- })
- }
- return this.length ? this.pushStack(f(f.isFunction(a) ? a() : a), "replaceWith", a) : this
- },
- detach: function (a) {
- return this.remove(a, !0)
- },
- domManip: function (a, c, d) {
- var e, g, h, i, j = a[0],
- k = [];
- if (!f.support.checkClone && arguments.length === 3 && typeof j == "string" && bg.test(j)) return this.each(function () {
- f(this).domManip(a, c, d, !0)
- });
- if (f.isFunction(j)) return this.each(function (e) {
- var g = f(this);
- a[0] = j.call(this, e, c ? g.html() : b), g.domManip(a, c, d)
- });
- if (this[0]) {
- i = j && j.parentNode, f.support.parentNode && i && i.nodeType === 11 && i.childNodes.length === this.length ? e = {
- fragment: i
- } : e = f.buildFragment(a, this, k), h = e.fragment, h.childNodes.length === 1 ? g = h = h.firstChild : g = h.firstChild;
- if (g) {
- c = c && f.nodeName(g, "tr");
- for (var l = 0, m = this.length, n = m - 1; l < m; l++) d.call(c ? bl(this[l], g) : this[l], e.cacheable || m > 1 && l < n ? f.clone(h, !0, !0) : h)
- }
- k.length && f.each(k, br)
- }
- return this
- }
- }), f.buildFragment = function (a, b, d) {
- var e, g, h, i, j = a[0];
- b && b[0] && (i = b[0].ownerDocument || b[0]), i.createDocumentFragment || (i = c), a.length === 1 && typeof j == "string" && j.length < 512 && i === c && j.charAt(0) === "<" && !be.test(j) && (f.support.checkClone || !bg.test(j)) && !f.support.unknownElems && bf.test(j) && (g = !0, h = f.fragments[j], h && h !== 1 && (e = h)), e || (e = i.createDocumentFragment(), f.clean(a, i, e, d)), g && (f.fragments[j] = h ? e : 1);
- return {
- fragment: e,
- cacheable: g
- }
- }, f.fragments = {}, f.each({
- appendTo: "append",
- prependTo: "prepend",
- insertBefore: "before",
- insertAfter: "after",
- replaceAll: "replaceWith"
- }, function (a, b) {
- f.fn[a] = function (c) {
- var d = [],
- e = f(c),
- g = this.length === 1 && this[0].parentNode;
- if (g && g.nodeType === 11 && g.childNodes.length === 1 && e.length === 1) {
- e[b](this[0]);
- return this
- }
- for (var h = 0, i = e.length; h < i; h++) {
- var j = (h > 0 ? this.clone(!0) : this).get();
- f(e[h])[b](j), d = d.concat(j)
- }
- return this.pushStack(d, a, e.selector)
- }
- }), f.extend({
- clone: function (a, b, c) {
- var d = a.cloneNode(!0),
- e, g, h;
- if ((!f.support.noCloneEvent || !f.support.noCloneChecked) && (a.nodeType === 1 || a.nodeType === 11) && !f.isXMLDoc(a)) {
- bn(a, d), e = bo(a), g = bo(d);
- for (h = 0; e[h]; ++h) g[h] && bn(e[h], g[h])
- }
- if (b) {
- bm(a, d);
- if (c) {
- e = bo(a), g = bo(d);
- for (h = 0; e[h]; ++h) bm(e[h], g[h])
- }
- }
- e = g = null;
- return d
- },
- clean: function (a, b, d, e) {
- var g;
- b = b || c, typeof b.createElement == "undefined" && (b = b.ownerDocument || b[0] && b[0].ownerDocument || c);
- var h = [],
- i;
- for (var j = 0, k;
- (k = a[j]) != null; j++) {
- typeof k == "number" && (k += "");
- if (!k) continue;
- if (typeof k == "string") if (!bc.test(k)) k = b.createTextNode(k);
- else {
- k = k.replace(_, "<$1></$2>");
- var l = (ba.exec(k) || ["", ""])[1].toLowerCase(),
- m = bj[l] || bj._default,
- n = m[0],
- o = b.createElement("div");
- b === c ? bk.appendChild(o) : X(b).appendChild(o), o.innerHTML = m[1] + k + m[2];
- while (n--) o = o.lastChild;
- if (!f.support.tbody) {
- var p = bb.test(k),
- q = l === "table" && !p ? o.firstChild && o.firstChild.childNodes : m[1] === "<table>" && !p ? o.childNodes : [];
- for (i = q.length - 1; i >= 0; --i) f.nodeName(q[i], "tbody") && !q[i].childNodes.length && q[i].parentNode.removeChild(q[i])
- }!f.support.leadingWhitespace && $.test(k) && o.insertBefore(b.createTextNode($.exec(k)[0]), o.firstChild), k = o.childNodes
- }
- var r;
- if (!f.support.appendChecked) if (k[0] && typeof (r = k.length) == "number") for (i = 0; i < r; i++) bq(k[i]);
- else bq(k);
- k.nodeType ? h.push(k) : h = f.merge(h, k)
- }
- if (d) {
- g = function (a) {
- return !a.type || bh.test(a.type)
- };
- for (j = 0; h[j]; j++) if (e && f.nodeName(h[j], "script") && (!h[j].type || h[j].type.toLowerCase() === "text/javascript")) e.push(h[j].parentNode ? h[j].parentNode.removeChild(h[j]) : h[j]);
- else {
- if (h[j].nodeType === 1) {
- var s = f.grep(h[j].getElementsByTagName("script"), g);
- h.splice.apply(h, [j + 1, 0].concat(s))
- }
- d.appendChild(h[j])
- }
- }
- return h
- },
- cleanData: function (a) {
- var b, c, d = f.cache,
- e = f.event.special,
- g = f.support.deleteExpando;
- for (var h = 0, i;
- (i = a[h]) != null; h++) {
- if (i.nodeName && f.noData[i.nodeName.toLowerCase()]) continue;
- c = i[f.expando];
- if (c) {
- b = d[c];
- if (b && b.events) {
- for (var j in b.events) e[j] ? f.event.remove(i, j) : f.removeEvent(i, j, b.handle);
- b.handle && (b.handle.elem = null)
- }
- g ? delete i[f.expando] : i.removeAttribute && i.removeAttribute(f.expando), delete d[c]
- }
- }
- }
- });
- var bs = /alpha\([^)]*\)/i,
- bt = /opacity=([^)]*)/,
- bu = /([A-Z]|^ms)/g,
- bv = /^-?\d+(?:px)?$/i,
- bw = /^-?\d/,
- bx = /^([\-+])=([\-+.\de]+)/,
- by = {
- position: "absolute",
- visibility: "hidden",
- display: "block"
- }, bz = ["Left", "Right"],
- bA = ["Top", "Bottom"],
- bB, bC, bD;
- f.fn.css = function (a, c) {
- if (arguments.length === 2 && c === b) return this;
- return f.access(this, a, c, !0, function (a, c, d) {
- return d !== b ? f.style(a, c, d) : f.css(a, c)
- })
- }, f.extend({
- cssHooks: {
- opacity: {
- get: function (a, b) {
- if (b) {
- var c = bB(a, "opacity", "opacity");
- return c === "" ? "1" : c
- }
- return a.style.opacity
- }
- }
- },
- cssNumber: {
- fillOpacity: !0,
- fontWeight: !0,
- lineHeight: !0,
- opacity: !0,
- orphans: !0,
- widows: !0,
- zIndex: !0,
- zoom: !0
- },
- cssProps: {
- "float": f.support.cssFloat ? "cssFloat" : "styleFloat"
- },
- style: function (a, c, d, e) {
- if ( !! a && a.nodeType !== 3 && a.nodeType !== 8 && !! a.style) {
- var g, h, i = f.camelCase(c),
- j = a.style,
- k = f.cssHooks[i];
- c = f.cssProps[i] || i;
- if (d === b) {
- if (k && "get" in k && (g = k.get(a, !1, e)) !== b) return g;
- return j[c]
- }
- h = typeof d, h === "string" && (g = bx.exec(d)) && (d = +(g[1] + 1) * +g[2] + parseFloat(f.css(a, c)), h = "number");
- if (d == null || h === "number" && isNaN(d)) return;
- h === "number" && !f.cssNumber[i] && (d += "px");
- if (!k || !("set" in k) || (d = k.set(a, d)) !== b) try {
- j[c] = d
- } catch (l) {}
- }
- },
- css: function (a, c, d) {
- var e, g;
- c = f.camelCase(c), g = f.cssHooks[c], c = f.cssProps[c] || c, c === "cssFloat" && (c = "float");
- if (g && "get" in g && (e = g.get(a, !0, d)) !== b) return e;
- if (bB) return bB(a, c)
- },
- swap: function (a, b, c) {
- var d = {};
- for (var e in b) d[e] = a.style[e], a.style[e] = b[e];
- c.call(a);
- for (e in b) a.style[e] = d[e]
- }
- }), f.curCSS = f.css, f.each(["height", "width"], function (a, b) {
- f.cssHooks[b] = {
- get: function (a, c, d) {
- var e;
- if (c) {
- if (a.offsetWidth !== 0) return bE(a, b, d);
- f.swap(a, by, function () {
- e = bE(a, b, d)
- });
- return e
- }
- },
- set: function (a, b) {
- if (!bv.test(b)) return b;
- b = parseFloat(b);
- if (b >= 0) return b + "px"
- }
- }
- }), f.support.opacity || (f.cssHooks.opacity = {
- get: function (a, b) {
- return bt.test((b && a.currentStyle ? a.currentStyle.filter : a.style.filter) || "") ? parseFloat(RegExp.$1) / 100 + "" : b ? "1" : ""
- },
- set: function (a, b) {
- var c = a.style,
- d = a.currentStyle,
- e = f.isNumeric(b) ? "alpha(opacity=" + b * 100 + ")" : "",
- g = d && d.filter || c.filter || "";
- c.zoom = 1;
- if (b >= 1 && f.trim(g.replace(bs, "")) === "") {
- c.removeAttribute("filter");
- if (d && !d.filter) return
- }
- c.filter = bs.test(g) ? g.replace(bs, e) : g + " " + e
- }
- }), f(function () {
- f.support.reliableMarginRight || (f.cssHooks.marginRight = {
- get: function (a, b) {
- var c;
- f.swap(a, {
- display: "inline-block"
- }, function () {
- b ? c = bB(a, "margin-right", "marginRight") : c = a.style.marginRight
- });
- return c
- }
- })
- }), c.defaultView && c.defaultView.getComputedStyle && (bC = function (a, c) {
- var d, e, g;
- c = c.replace(bu, "-$1").toLowerCase();
- if (!(e = a.ownerDocument.defaultView)) return b;
- if (g = e.getComputedStyle(a, null)) d = g.getPropertyValue(c), d === "" && !f.contains(a.ownerDocument.documentElement, a) && (d = f.style(a, c));
- return d
- }), c.documentElement.currentStyle && (bD = function (a, b) {
- var c, d, e, f = a.currentStyle && a.currentStyle[b],
- g = a.style;
- f === null && g && (e = g[b]) && (f = e), !bv.test(f) && bw.test(f) && (c = g.left, d = a.runtimeStyle && a.runtimeStyle.left, d && (a.runtimeStyle.left = a.currentStyle.left), g.left = b === "fontSize" ? "1em" : f || 0, f = g.pixelLeft + "px", g.left = c, d && (a.runtimeStyle.left = d));
- return f === "" ? "auto" : f
- }), bB = bC || bD, f.expr && f.expr.filters && (f.expr.filters.hidden = function (a) {
- var b = a.offsetWidth,
- c = a.offsetHeight;
- return b === 0 && c === 0 || !f.support.reliableHiddenOffsets && (a.style && a.style.display || f.css(a, "display")) === "none"
- }, f.expr.filters.visible = function (a) {
- return !f.expr.filters.hidden(a)
- });
- var bF = /%20/g,
- bG = /\[\]$/,
- bH = /\r?\n/g,
- bI = /#.*$/,
- bJ = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg,
- bK = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,
- bL = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,
- bM = /^(?:GET|HEAD)$/,
- bN = /^\/\//,
- bO = /\?/,
- bP = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
- bQ = /^(?:select|textarea)/i,
- bR = /\s+/,
- bS = /([?&])_=[^&]*/,
- bT = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,
- bU = f.fn.load,
- bV = {}, bW = {}, bX, bY, bZ = ["*/"] + ["*"];
- try {
- bX = e.href
- } catch (b$) {
- bX = c.createElement("a"), bX.href = "", bX = bX.href
- }
- bY = bT.exec(bX.toLowerCase()) || [], f.fn.extend({
- load: function (a, c, d) {
- if (typeof a != "string" && bU) return bU.apply(this, arguments);
- if (!this.length) return this;
- var e = a.indexOf(" ");
- if (e >= 0) {
- var g = a.slice(e, a.length);
- a = a.slice(0, e)
- }
- var h = "GET";
- c && (f.isFunction(c) ? (d = c, c = b) : typeof c == "object" && (c = f.param(c, f.ajaxSettings.traditional), h = "POST"));
- var i = this;
- f.ajax({
- url: a,
- type: h,
- dataType: "html",
- data: c,
- complete: function (a, b, c) {
- c = a.responseText, a.isResolved() && (a.done(function (a) {
- c = a
- }), i.html(g ? f("<div>").append(c.replace(bP, "")).find(g) : c)), d && i.each(d, [c, b, a])
- }
- });
- return this
- },
- serialize: function () {
- return f.param(this.serializeArray())
- },
- serializeArray: function () {
- return this.map(function () {
- return this.elements ? f.makeArray(this.elements) : this
- }).filter(function () {
- return this.name && !this.disabled && (this.checked || bQ.test(this.nodeName) || bK.test(this.type))
- }).map(function (a, b) {
- var c = f(this).val();
- return c == null ? null : f.isArray(c) ? f.map(c, function (a, c) {
- return {
- name: b.name,
- value: a.replace(bH, "\r\n")
- }
- }) : {
- name: b.name,
- value: c.replace(bH, "\r\n")
- }
- }).get()
- }
- }), f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function (a, b) {
- f.fn[b] = function (a) {
- return this.bind(b, a)
- }
- }), f.each(["get", "post"], function (a, c) {
- f[c] = function (a, d, e, g) {
- f.isFunction(d) && (g = g || e, e = d, d = b);
- return f.ajax({
- type: c,
- url: a,
- data: d,
- success: e,
- dataType: g
- })
- }
- }), f.extend({
- getScript: function (a, c) {
- return f.get(a, b, c, "script")
- },
- getJSON: function (a, b, c) {
- return f.get(a, b, c, "json")
- },
- ajaxSetup: function (a, b) {
- b ? cb(a, f.ajaxSettings) : (b = a, a = f.ajaxSettings), cb(a, b);
- return a
- },
- ajaxSettings: {
- url: bX,
- isLocal: bL.test(bY[1]),
- global: !0,
- type: "GET",
- contentType: "application/x-www-form-urlencoded",
- processData: !0,
- async: !0,
- accepts: {
- xml: "application/xml, text/xml",
- html: "text/html",
- text: "text/plain",
- json: "application/json, text/javascript",
- "*": bZ
- },
- contents: {
- xml: /xml/,
- html: /html/,
- json: /json/
- },
- responseFields: {
- xml: "responseXML",
- text: "responseText"
- },
- converters: {
- "* text": a.String,
- "text html": !0,
- "text json": f.parseJSON,
- "text xml": f.parseXML
- },
- flatOptions: {
- context: !0,
- url: !0
- }
- },
- ajaxPrefilter: b_(bV),
- ajaxTransport: b_(bW),
- ajax: function (a, c) {
- function w(a, c, l, m) {
- if (s !== 2) {
- s = 2, q && clearTimeout(q), p = b, n = m || "", v.readyState = a > 0 ? 4 : 0;
- var o, r, u, w = c,
- x = l ? cd(d, v, l) : b,
- y, z;
- if (a >= 200 && a < 300 || a === 304) {
- if (d.ifModified) {
- if (y = v.getResponseHeader("Last-Modified")) f.lastModified[k] = y;
- if (z = v.getResponseHeader("Etag")) f.etag[k] = z
- }
- if (a === 304) w = "notmodified", o = !0;
- else try {
- r = ce(d, x), w = "success", o = !0
- } catch (A) {
- w = "parsererror", u = A
- }
- } else {
- u = w;
- if (!w || a) w = "error", a < 0 && (a = 0)
- }
- v.status = a, v.statusText = "" + (c || w), o ? h.resolveWith(e, [r, w, v]) : h.rejectWith(e, [v, w, u]), v.statusCode(j), j = b, t && g.trigger("ajax" + (o ? "Success" : "Error"), [v, d, o ? r : u]), i.fireWith(e, [v, w]), t && (g.trigger("ajaxComplete", [v, d]), --f.active || f.event.trigger("ajaxStop"))
- }
- }
- typeof a == "object" && (c = a, a = b), c = c || {};
- var d = f.ajaxSetup({}, c),
- e = d.context || d,
- g = e !== d && (e.nodeType || e instanceof f) ? f(e) : f.event,
- h = f.Deferred(),
- i = f.Callbacks("once memory"),
- j = d.statusCode || {}, k, l = {}, m = {}, n, o, p, q, r, s = 0,
- t, u, v = {
- readyState: 0,
- setRequestHeader: function (a, b) {
- if (!s) {
- var c = a.toLowerCase();
- a = m[c] = m[c] || a, l[a] = b
- }
- return this
- },
- getAllResponseHeaders: function () {
- return s === 2 ? n : null
- },
- getResponseHeader: function (a) {
- var c;
- if (s === 2) {
- if (!o) {
- o = {};
- while (c = bJ.exec(n)) o[c[1].toLowerCase()] = c[2]
- }
- c = o[a.toLowerCase()]
- }
- return c === b ? null : c
- },
- overrideMimeType: function (a) {
- s || (d.mimeType = a);
- return this
- },
- abort: function (a) {
- a = a || "abort", p && p.abort(a), w(0, a);
- return this
- }
- };
- h.promise(v), v.success = v.done, v.error = v.fail, v.complete = i.add, v.statusCode = function (a) {
- if (a) {
- var b;
- if (s < 2) for (b in a) j[b] = [j[b], a[b]];
- else b = a[v.status], v.then(b, b)
- }
- return this
- }, d.url = ((a || d.url) + "").replace(bI, "").replace(bN, bY[1] + "//"), d.dataTypes = f.trim(d.dataType || "*").toLowerCase().split(bR), d.crossDomain == null && (r = bT.exec(d.url.toLowerCase()), d.crossDomain = !(!r || r[1] == bY[1] && r[2] == bY[2] && (r[3] || (r[1] === "http:" ? 80 : 443)) == (bY[3] || (bY[1] === "http:" ? 80 : 443)))), d.data && d.processData && typeof d.data != "string" && (d.data = f.param(d.data, d.traditional)), ca(bV, d, c, v);
- if (s === 2) return !1;
- t = d.global, d.type = d.type.toUpperCase(), d.hasContent = !bM.test(d.type), t && f.active++ === 0 && f.event.trigger("ajaxStart");
- if (!d.hasContent) {
- d.data && (d.url += (bO.test(d.url) ? "&" : "?") + d.data, delete d.data), k = d.url;
- if (d.cache === !1) {
- var x = f.now(),
- y = d.url.replace(bS, "$1_=" + x);
- d.url = y + (y === d.url ? (bO.test(d.url) ? "&" : "?") + "_=" + x : "")
- }
- }(d.data && d.hasContent && d.contentType !== !1 || c.contentType) && v.setRequestHeader("Content-Type", d.contentType), d.ifModified && (k = k || d.url, f.lastModified[k] && v.setRequestHeader("If-Modified-Since", f.lastModified[k]), f.etag[k] && v.setRequestHeader("If-None-Match", f.etag[k])), v.setRequestHeader("Accept", d.dataTypes[0] && d.accepts[d.dataTypes[0]] ? d.accepts[d.dataTypes[0]] + (d.dataTypes[0] !== "*" ? ", " + bZ + "; q=0.01" : "") : d.accepts["*"]);
- for (u in d.headers) v.setRequestHeader(u, d.headers[u]);
- if (d.beforeSend && (d.beforeSend.call(e, v, d) === !1 || s === 2)) {
- v.abort();
- return !1
- }
- for (u in {
- success: 1,
- error: 1,
- complete: 1
- }) v[u](d[u]);
- p = ca(bW, d, c, v);
- if (!p) w(-1, "No Transport");
- else {
- v.readyState = 1, t && g.trigger("ajaxSend", [v, d]), d.async && d.timeout > 0 && (q = setTimeout(function () {
- v.abort("timeout")
- }, d.timeout));
- try {
- s = 1, p.send(l, w)
- } catch (z) {
- s < 2 ? w(-1, z) : f.error(z)
- }
- }
- return v
- },
- param: function (a, c) {
- var d = [],
- e = function (a, b) {
- b = f.isFunction(b) ? b() : b, d[d.length] = encodeURIComponent(a) + "=" + encodeURIComponent(b)
- };
- c === b && (c = f.ajaxSettings.traditional);
- if (f.isArray(a) || a.jquery && !f.isPlainObject(a)) f.each(a, function () {
- e(this.name, this.value)
- });
- else for (var g in a) cc(g, a[g], c, e);
- return d.join("&").replace(bF, "+")
- }
- }), f.extend({
- active: 0,
- lastModified: {},
- etag: {}
- });
- var cf = f.now(),
- cg = /(\=)\?(&|$)|\?\?/i;
- f.ajaxSetup({
- jsonp: "callback",
- jsonpCallback: function () {
- return f.expando + "_" + cf++
- }
- }), f.ajaxPrefilter("json jsonp", function (b, c, d) {
- var e = b.contentType === "application/x-www-form-urlencoded" && typeof b.data == "string";
- if (b.dataTypes[0] === "jsonp" || b.jsonp !== !1 && (cg.test(b.url) || e && cg.test(b.data))) {
- var g, h = b.jsonpCallback = f.isFunction(b.jsonpCallback) ? b.jsonpCallback() : b.jsonpCallback,
- i = a[h],
- j = b.url,
- k = b.data,
- l = "$1" + h + "$2";
- b.jsonp !== !1 && (j = j.replace(cg, l), b.url === j && (e && (k = k.replace(cg, l)), b.data === k && (j += (/\?/.test(j) ? "&" : "?") + b.jsonp + "=" + h))), b.url = j, b.data = k, a[h] = function (a) {
- g = [a]
- }, d.always(function () {
- a[h] = i, g && f.isFunction(i) && a[h](g[0])
- }), b.converters["script json"] = function () {
- g || f.error(h + " was not called");
- return g[0]
- }, b.dataTypes[0] = "json";
- return "script"
- }
- }), f.ajaxSetup({
- accepts: {
- script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
- },
- contents: {
- script: /javascript|ecmascript/
- },
- converters: {
- "text script": function (a) {
- f.globalEval(a);
- return a
- }
- }
- }), f.ajaxPrefilter("script", function (a) {
- a.cache === b && (a.cache = !1), a.crossDomain && (a.type = "GET", a.global = !1)
- }), f.ajaxTransport("script", function (a) {
- if (a.crossDomain) {
- var d, e = c.head || c.getElementsByTagName("head")[0] || c.documentElement;
- return {
- send: function (f, g) {
- d = c.createElement("script"), d.async = "async", a.scriptCharset && (d.charset = a.scriptCharset), d.src = a.url, d.onload = d.onreadystatechange = function (a, c) {
- if (c || !d.readyState || /loaded|complete/.test(d.readyState)) d.onload = d.onreadystatechange = null, e && d.parentNode && e.removeChild(d), d = b, c || g(200, "success")
- }, e.insertBefore(d, e.firstChild)
- },
- abort: function () {
- d && d.onload(0, 1)
- }
- }
- }
- });
- var ch = a.ActiveXObject ? function () {
- for (var a in cj) cj[a](0, 1)
- } : !1,
- ci = 0,
- cj;
- f.ajaxSettings.xhr = a.ActiveXObject ? function () {
- return !this.isLocal && ck() || cl()
- } : ck,
- function (a) {
- f.extend(f.support, {
- ajax: !! a,
- cors: !! a && "withCredentials" in a
- })
- }(f.ajaxSettings.xhr()), f.support.ajax && f.ajaxTransport(function (c) {
- if (!c.crossDomain || f.support.cors) {
- var d;
- return {
- send: function (e, g) {
- var h = c.xhr(),
- i, j;
- c.username ? h.open(c.type, c.url, c.async, c.username, c.password) : h.open(c.type, c.url, c.async);
- if (c.xhrFields) for (j in c.xhrFields) h[j] = c.xhrFields[j];
- c.mimeType && h.overrideMimeType && h.overrideMimeType(c.mimeType), !c.crossDomain && !e["X-Requested-With"] && (e["X-Requested-With"] = "XMLHttpRequest");
- try {
- for (j in e) h.setRequestHeader(j, e[j])
- } catch (k) {}
- h.send(c.hasContent && c.data || null), d = function (a, e) {
- var j, k, l, m, n;
- try {
- if (d && (e || h.readyState === 4)) {
- d = b, i && (h.onreadystatechange = f.noop, ch && delete cj[i]);
- if (e) h.readyState !== 4 && h.abort();
- else {
- j = h.status, l = h.getAllResponseHeaders(), m = {}, n = h.responseXML, n && n.documentElement && (m.xml = n), m.text = h.responseText;
- try {
- k = h.statusText
- } catch (o) {
- k = ""
- }!j && c.isLocal && !c.crossDomain ? j = m.text ? 200 : 404 : j === 1223 && (j = 204)
- }
- }
- } catch (p) {
- e || g(-1, p)
- }
- m && g(j, k, m, l)
- }, !c.async || h.readyState === 4 ? d() : (i = ++ci, ch && (cj || (cj = {}, f(a).unload(ch)), cj[i] = d), h.onreadystatechange = d)
- },
- abort: function () {
- d && d(0, 1)
- }
- }
- }
- });
- var cm = {}, cn, co, cp = /^(?:toggle|show|hide)$/,
- cq = /^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,
- cr, cs = [
- ["height", "marginTop", "marginBottom", "paddingTop", "paddingBottom"],
- ["width", "marginLeft", "marginRight", "paddingLeft", "paddingRight"],
- ["opacity"]
- ],
- ct;
- f.fn.extend({
- show: function (a, b, c) {
- var d, e;
- if (a || a === 0) return this.animate(cw("show", 3), a, b, c);
- for (var g = 0, h = this.length; g < h; g++) d = this[g], d.style && (e = d.style.display, !f._data(d, "olddisplay") && e === "none" && (e = d.style.display = ""), e === "" && f.css(d, "display") === "none" && f._data(d, "olddisplay", cx(d.nodeName)));
- for (g = 0; g < h; g++) {
- d = this[g];
- if (d.style) {
- e = d.style.display;
- if (e === "" || e === "none") d.style.display = f._data(d, "olddisplay") || ""
- }
- }
- return this
- },
- hide: function (a, b, c) {
- if (a || a === 0) return this.animate(cw("hide", 3), a, b, c);
- var d, e, g = 0,
- h = this.length;
- for (; g < h; g++) d = this[g], d.style && (e = f.css(d, "display"), e !== "none" && !f._data(d, "olddisplay") && f._data(d, "olddisplay", e));
- for (g = 0; g < h; g++) this[g].style && (this[g].style.display = "none");
- return this
- },
- _toggle: f.fn.toggle,
- toggle: function (a, b, c) {
- var d = typeof a == "boolean";
- f.isFunction(a) && f.isFunction(b) ? this._toggle.apply(this, arguments) : a == null || d ? this.each(function () {
- var b = d ? a : f(this).is(":hidden");
- f(this)[b ? "show" : "hide"]()
- }) : this.animate(cw("toggle", 3), a, b, c);
- return this
- },
- fadeTo: function (a, b, c, d) {
- return this.filter(":hidden").css("opacity", 0).show().end().animate({
- opacity: b
- }, a, c, d)
- },
- animate: function (a, b, c, d) {
- function g() {
- e.queue === !1 && f._mark(this);
- var b = f.extend({}, e),
- c = this.nodeType === 1,
- d = c && f(this).is(":hidden"),
- g, h, i, j, k, l, m, n, o;
- b.animatedProperties = {};
- for (i in a) {
- g = f.camelCase(i), i !== g && (a[g] = a[i], delete a[i]), h = a[g], f.isArray(h) ? (b.animatedProperties[g] = h[1], h = a[g] = h[0]) : b.animatedProperties[g] = b.specialEasing && b.specialEasing[g] || b.easing || "swing";
- if (h === "hide" && d || h === "show" && !d) return b.complete.call(this);
- c && (g === "height" || g === "width") && (b.overflow = [this.style.overflow, this.style.overflowX, this.style.overflowY], f.css(this, "display") === "inline" && f.css(this, "float") === "none" && (!f.support.inlineBlockNeedsLayout || cx(this.nodeName) === "inline" ? this.style.display = "inline-block" : this.style.zoom = 1))
- }
- b.overflow != null && (this.style.overflow = "hidden");
- for (i in a) j = new f.fx(this, b, i), h = a[i], cp.test(h) ? (o = f._data(this, "toggle" + i) || (h === "toggle" ? d ? "show" : "hide" : 0), o ? (f._data(this, "toggle" + i, o === "show" ? "hide" : "show"), j[o]()) : j[h]()) : (k = cq.exec(h), l = j.cur(), k ? (m = parseFloat(k[2]), n = k[3] || (f.cssNumber[i] ? "" : "px"), n !== "px" && (f.style(this, i, (m || 1) + n), l = (m || 1) / j.cur() * l, f.style(this, i, l + n)), k[1] && (m = (k[1] === "-=" ? -1 : 1) * m + l), j.custom(l, m, n)) : j.custom(l, h, ""));
- return !0
- }
- var e = f.speed(b, c, d);
- if (f.isEmptyObject(a)) return this.each(e.complete, [!1]);
- a = f.extend({}, a);
- return e.queue === !1 ? this.each(g) : this.queue(e.queue, g)
- },
- stop: function (a, c, d) {
- typeof a != "string" && (d = c, c = a, a = b), c && a !== !1 && this.queue(a || "fx", []);
- return this.each(function () {
- function h(a, b, c) {
- var e = b[c];
- f.removeData(a, c, !0), e.stop(d)
- }
- var b, c = !1,
- e = f.timers,
- g = f._data(this);
- d || f._unmark(!0, this);
- if (a == null) for (b in g) g[b].stop && b.indexOf(".run") === b.length - 4 && h(this, g, b);
- else g[b = a + ".run"] && g[b].stop && h(this, g, b);
- for (b = e.length; b--;) e[b].elem === this && (a == null || e[b].queue === a) && (d ? e[b](!0) : e[b].saveState(), c = !0, e.splice(b, 1));
- (!d || !c) && f.dequeue(this, a)
- })
- }
- }), f.each({
- slideDown: cw("show", 1),
- slideUp: cw("hide", 1),
- slideToggle: cw("toggle", 1),
- fadeIn: {
- opacity: "show"
- },
- fadeOut: {
- opacity: "hide"
- },
- fadeToggle: {
- opacity: "toggle"
- }
- }, function (a, b) {
- f.fn[a] = function (a, c, d) {
- return this.animate(b, a, c, d)
- }
- }), f.extend({
- speed: function (a, b, c) {
- var d = a && typeof a == "object" ? f.extend({}, a) : {
- complete: c || !c && b || f.isFunction(a) && a,
- duration: a,
- easing: c && b || b && !f.isFunction(b) && b
- };
- d.duration = f.fx.off ? 0 : typeof d.duration == "number" ? d.duration : d.duration in f.fx.speeds ? f.fx.speeds[d.duration] : f.fx.speeds._default;
- if (d.queue == null || d.queue === !0) d.queue = "fx";
- d.old = d.complete, d.complete = function (a) {
- f.isFunction(d.old) && d.old.call(this), d.queue ? f.dequeue(this, d.queue) : a !== !1 && f._unmark(this)
- };
- return d
- },
- easing: {
- linear: function (a, b, c, d) {
- return c + d * a
- },
- swing: function (a, b, c, d) {
- return (-Math.cos(a * Math.PI) / 2 + .5) * d + c
- }
- },
- timers: [],
- fx: function (a, b, c) {
- this.options = b, this.elem = a, this.prop = c, b.orig = b.orig || {}
- }
- }), f.fx.prototype = {
- update: function () {
- this.options.step && this.options.step.call(this.elem, this.now, this), (f.fx.step[this.prop] || f.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, b = f.css(this.elem, this.prop);
- return isNaN(a = parseFloat(b)) ? !b || b === "auto" ? 0 : b : a
- },
- custom: function (a, c, d) {
- function h(a) {
- return e.step(a)
- }
- var e = this,
- g = f.fx;
- this.startTime = ct || cu(), this.end = c, this.now = this.start = a, this.pos = this.state = 0, this.unit = d || this.unit || (f.cssNumber[this.prop] ? "" : "px"), h.queue = this.options.queue, h.elem = this.elem, h.saveState = function () {
- e.options.hide && f._data(e.elem, "fxshow" + e.prop) === b && f._data(e.elem, "fxshow" + e.prop, e.start)
- }, h() && f.timers.push(h) && !cr && (cr = setInterval(g.tick, g.interval))
- },
- show: function () {
- var a = f._data(this.elem, "fxshow" + this.prop);
- this.options.orig[this.prop] = a || f.style(this.elem, this.prop), this.options.show = !0, a !== b ? this.custom(this.cur(), a) : this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur()), f(this.elem).show()
- },
- hide: function () {
- this.options.orig[this.prop] = f._data(this.elem, "fxshow" + this.prop) || f.style(this.elem, this.prop), this.options.hide = !0, this.custom(this.cur(), 0)
- },
- step: function (a) {
- var b, c, d, e = ct || cu(),
- g = !0,
- h = this.elem,
- i = this.options;
- if (a || e >= i.duration + this.startTime) {
- this.now = this.end, this.pos = this.state = 1, this.update(), i.animatedProperties[this.prop] = !0;
- for (b in i.animatedProperties) i.animatedProperties[b] !== !0 && (g = !1);
- if (g) {
- i.overflow != null && !f.support.shrinkWrapBlocks && f.each(["", "X", "Y"], function (a, b) {
- h.style["overflow" + b] = i.overflow[a]
- }), i.hide && f(h).hide();
- if (i.hide || i.show) for (b in i.animatedProperties) f.style(h, b, i.orig[b]), f.removeData(h, "fxshow" + b, !0), f.removeData(h, "toggle" + b, !0);
- d = i.complete, d && (i.complete = !1, d.call(h))
- }
- return !1
- }
- i.duration == Infinity ? this.now = e : (c = e - this.startTime, this.state = c / i.duration, this.pos = f.easing[i.animatedProperties[this.prop]](this.state, c, 0, 1, i.duration), this.now = this.start + (this.end - this.start) * this.pos), this.update();
- return !0
- }
- }, f.extend(f.fx, {
- tick: function () {
- var a, b = f.timers,
- c = 0;
- for (; c < b.length; c++) a = b[c], !a() && b[c] === a && b.splice(c--, 1);
- b.length || f.fx.stop()
- },
- interval: 13,
- stop: function () {
- clearInterval(cr), cr = null
- },
- speeds: {
- slow: 600,
- fast: 200,
- _default: 400
- },
- step: {
- opacity: function (a) {
- f.style(a.elem, "opacity", a.now)
- },
- _default: function (a) {
- a.elem.style && a.elem.style[a.prop] != null ? a.elem.style[a.prop] = a.now + a.unit : a.elem[a.prop] = a.now
- }
- }
- }), f.each(["width", "height"], function (a, b) {
- f.fx.step[b] = function (a) {
- f.style(a.elem, b, Math.max(0, a.now))
- }
- }), f.expr && f.expr.filters && (f.expr.filters.animated = function (a) {
- return f.grep(f.timers, function (b) {
- return a === b.elem
- }).length
- });
- var cy = /^t(?:able|d|h)$/i,
- cz = /^(?:body|html)$/i;
- "getBoundingClientRect" in c.documentElement ? f.fn.offset = function (a) {
- var b = this[0],
- c;
- if (a) return this.each(function (b) {
- f.offset.setOffset(this, a, b)
- });
- if (!b || !b.ownerDocument) return null;
- if (b === b.ownerDocument.body) return f.offset.bodyOffset(b);
- try {
- c = b.getBoundingClientRect()
- } catch (d) {}
- var e = b.ownerDocument,
- g = e.documentElement;
- if (!c || !f.contains(g, b)) return c ? {
- top: c.top,
- left: c.left
- } : {
- top: 0,
- left: 0
- };
- var h = e.body,
- i = cA(e),
- j = g.clientTop || h.clientTop || 0,
- k = g.clientLeft || h.clientLeft || 0,
- l = i.pageYOffset || f.support.boxModel && g.scrollTop || h.scrollTop,
- m = i.pageXOffset || f.support.boxModel && g.scrollLeft || h.scrollLeft,
- n = c.top + l - j,
- o = c.left + m - k;
- return {
- top: n,
- left: o
- }
- } : f.fn.offset = function (a) {
- var b = this[0];
- if (a) return this.each(function (b) {
- f.offset.setOffset(this, a, b)
- });
- if (!b || !b.ownerDocument) return null;
- if (b === b.ownerDocument.body) return f.offset.bodyOffset(b);
- var c, d = b.offsetParent,
- e = b,
- g = b.ownerDocument,
- h = g.documentElement,
- i = g.body,
- j = g.defaultView,
- k = j ? j.getComputedStyle(b, null) : b.currentStyle,
- l = b.offsetTop,
- m = b.offsetLeft;
- while ((b = b.parentNode) && b !== i && b !== h) {
- if (f.support.fixedPosition && k.position === "fixed") break;
- c = j ? j.getComputedStyle(b, null) : b.currentStyle, l -= b.scrollTop, m -= b.scrollLeft, b === d && (l += b.offsetTop, m += b.offsetLeft, f.support.doesNotAddBorder && (!f.support.doesAddBorderForTableAndCells || !cy.test(b.nodeName)) && (l += parseFloat(c.borderTopWidth) || 0, m += parseFloat(c.borderLeftWidth) || 0), e = d, d = b.offsetParent), f.support.subtractsBorderForOverflowNotVisible && c.overflow !== "visible" && (l += parseFloat(c.borderTopWidth) || 0, m += parseFloat(c.borderLeftWidth) || 0), k = c
- }
- if (k.position === "relative" || k.position === "static") l += i.offsetTop, m += i.offsetLeft;
- f.support.fixedPosition && k.position === "fixed" && (l += Math.max(h.scrollTop, i.scrollTop), m += Math.max(h.scrollLeft, i.scrollLeft));
- return {
- top: l,
- left: m
- }
- }, f.offset = {
- bodyOffset: function (a) {
- var b = a.offsetTop,
- c = a.offsetLeft;
- f.support.doesNotIncludeMarginInBodyOffset && (b += parseFloat(f.css(a, "marginTop")) || 0, c += parseFloat(f.css(a, "marginLeft")) || 0);
- return {
- top: b,
- left: c
- }
- },
- setOffset: function (a, b, c) {
- var d = f.css(a, "position");
- d === "static" && (a.style.position = "relative");
- var e = f(a),
- g = e.offset(),
- h = f.css(a, "top"),
- i = f.css(a, "left"),
- j = (d === "absolute" || d === "fixed") && f.inArray("auto", [h, i]) > -1,
- k = {}, l = {}, m, n;
- j ? (l = e.position(), m = l.top, n = l.left) : (m = parseFloat(h) || 0, n = parseFloat(i) || 0), f.isFunction(b) && (b = b.call(a, c, g)), b.top != null && (k.top = b.top - g.top + m), b.left != null && (k.left = b.left - g.left + n), "using" in b ? b.using.call(a, k) : e.css(k)
- }
- }, f.fn.extend({
- position: function () {
- if (!this[0]) return null;
- var a = this[0],
- b = this.offsetParent(),
- c = this.offset(),
- d = cz.test(b[0].nodeName) ? {
- top: 0,
- left: 0
- } : b.offset();
- c.top -= parseFloat(f.css(a, "marginTop")) || 0, c.left -= parseFloat(f.css(a, "marginLeft")) || 0, d.top += parseFloat(f.css(b[0], "borderTopWidth")) || 0, d.left += parseFloat(f.css(b[0], "borderLeftWidth")) || 0;
- return {
- top: c.top - d.top,
- left: c.left - d.left
- }
- },
- offsetParent: function () {
- return this.map(function () {
- var a = this.offsetParent || c.body;
- while (a && !cz.test(a.nodeName) && f.css(a, "position") === "static") a = a.offsetParent;
- return a
- })
- }
- }), f.each(["Left", "Top"], function (a, c) {
- var d = "scroll" + c;
- f.fn[d] = function (c) {
- var e, g;
- if (c === b) {
- e = this[0];
- if (!e) return null;
- g = cA(e);
- return g ? "pageXOffset" in g ? g[a ? "pageYOffset" : "pageXOffset"] : f.support.boxModel && g.document.documentElement[d] || g.document.body[d] : e[d]
- }
- return this.each(function () {
- g = cA(this), g ? g.scrollTo(a ? f(g).scrollLeft() : c, a ? c : f(g).scrollTop()) : this[d] = c
- })
- }
- }), f.each(["Height", "Width"], function (a, c) {
- var d = c.toLowerCase();
- f.fn["inner" + c] = function () {
- var a = this[0];
- return a ? a.style ? parseFloat(f.css(a, d, "padding")) : this[d]() : null
- }, f.fn["outer" + c] = function (a) {
- var b = this[0];
- return b ? b.style ? parseFloat(f.css(b, d, a ? "margin" : "border")) : this[d]() : null
- }, f.fn[d] = function (a) {
- var e = this[0];
- if (!e) return a == null ? null : this;
- if (f.isFunction(a)) return this.each(function (b) {
- var c = f(this);
- c[d](a.call(this, b, c[d]()))
- });
- if (f.isWindow(e)) {
- var g = e.document.documentElement["client" + c],
- h = e.document.body;
- return e.document.compatMode === "CSS1Compat" && g || h && h["client" + c] || g
- }
- if (e.nodeType === 9) return Math.max(e.documentElement["client" + c], e.body["scroll" + c], e.documentElement["scroll" + c], e.body["offset" + c], e.documentElement["offset" + c]);
- if (a === b) {
- var i = f.css(e, d),
- j = parseFloat(i);
- return f.isNumeric(j) ? j : i
- }
- return this.css(d, typeof a == "string" ? a : a + "px")
- }
- }), a.jQuery = a.$ = f
- })(window);
- (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);;
- (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);;
- (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);;
- (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);;
- (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);;
- (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);;
- (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);;
- (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);;
- (function (d) {
- var e = 0;
- d.widget("ui.autocomplete", {
- options: {
- appendTo: "body",
- autoFocus: false,
- delay: 300,
- minLength: 1,
- position: {
- my: "left top",
- at: "left bottom",
- collision: "none"
- },
- source: null
- },
- pending: 0,
- _create: function () {
- var a = this,
- b = this.element[0].ownerDocument,
- g;
- this.element.addClass("ui-autocomplete-input").attr("autocomplete", "off").attr({
- role: "textbox",
- "aria-autocomplete": "list",
- "aria-haspopup": "true"
- }).bind("keydown.autocomplete", function (c) {
- if (!(a.options.disabled || a.element.propAttr("readOnly"))) {
- g = false;
- var f = d.ui.keyCode;
- switch (c.keyCode) {
- case f.PAGE_UP:
- a._move("previousPage", c);
- break;
- case f.PAGE_DOWN:
- a._move("nextPage", c);
- break;
- case f.UP:
- a._move("previous", c);
- c.preventDefault();
- break;
- case f.DOWN:
- a._move("next", c);
- c.preventDefault();
- break;
- case f.ENTER:
- case f.NUMPAD_ENTER:
- if (a.menu.active) {
- g = true;
- c.preventDefault()
- }
- case f.TAB:
- if (!a.menu.active) return;
- a.menu.select(c);
- break;
- case f.ESCAPE:
- a.element.val(a.term);
- a.close(c);
- break;
- default:
- clearTimeout(a.searching);
- a.searching = setTimeout(function () {
- if (a.term != a.element.val()) {
- a.selectedItem = null;
- a.search(null, c)
- }
- }, a.options.delay);
- break
- }
- }
- }).bind("keypress.autocomplete", function (c) {
- if (g) {
- g = false;
- c.preventDefault()
- }
- }).bind("focus.autocomplete", function () {
- if (!a.options.disabled) {
- a.selectedItem = null;
- a.previous = a.element.val()
- }
- }).bind("blur.autocomplete", function (c) {
- if (!a.options.disabled) {
- clearTimeout(a.searching);
- a.closing = setTimeout(function () {
- a.close(c);
- a._change(c)
- }, 150)
- }
- });
- this._initSource();
- this.response = function () {
- return a._response.apply(a, arguments)
- };
- this.menu = d("<ul></ul>").addClass("ui-autocomplete").appendTo(d(this.options.appendTo || "body", b)[0]).mousedown(function (c) {
- var f = a.menu.element[0];
- d(c.target).closest(".ui-menu-item").length || setTimeout(function () {
- d(document).one("mousedown", function (h) {
- h.target !== a.element[0] && h.target !== f && !d.ui.contains(f, h.target) && a.close()
- })
- }, 1);
- setTimeout(function () {
- clearTimeout(a.closing)
- }, 13)
- }).menu({
- focus: function (c, f) {
- f = f.item.data("item.autocomplete");
- false !== a._trigger("focus", c, {
- item: f
- }) && /^key/.test(c.originalEvent.type) && a.element.val(f.value)
- },
- selected: function (c, f) {
- var h = f.item.data("item.autocomplete"),
- i = a.previous;
- if (a.element[0] !== b.activeElement) {
- a.element.focus();
- a.previous = i;
- setTimeout(function () {
- a.previous = i;
- a.selectedItem = h
- }, 1)
- }
- false !== a._trigger("select", c, {
- item: h
- }) && a.element.val(h.value);
- a.term = a.element.val();
- a.close(c);
- a.selectedItem = h
- },
- blur: function () {
- a.menu.element.is(":visible") && a.element.val() !== a.term && a.element.val(a.term)
- }
- }).zIndex(this.element.zIndex() + 1).css({
- top: 0,
- left: 0
- }).hide().data("menu");
- d.fn.bgiframe && this.menu.element.bgiframe()
- },
- destroy: function () {
- this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");
- this.menu.element.remove();
- d.Widget.prototype.destroy.call(this)
- },
- _setOption: function (a, b) {
- d.Widget.prototype._setOption.apply(this, arguments);
- a === "source" && this._initSource();
- if (a === "appendTo") this.menu.element.appendTo(d(b || "body", this.element[0].ownerDocument)[0]);
- a === "disabled" && b && this.xhr && this.xhr.abort()
- },
- _initSource: function () {
- var a = this,
- b, g;
- if (d.isArray(this.options.source)) {
- b = this.options.source;
- this.source = function (c, f) {
- f(d.ui.autocomplete.filter(b, c.term))
- }
- } else if (typeof this.options.source === "string") {
- g = this.options.source;
- this.source = function (c, f) {
- a.xhr && a.xhr.abort();
- a.xhr = d.ajax({
- url: g,
- data: c,
- dataType: "json",
- autocompleteRequest: ++e,
- success: function (h) {
- this.autocompleteRequest === e && f(h)
- },
- error: function () {
- this.autocompleteRequest === e && f([])
- }
- })
- }
- } else this.source = this.options.source
- },
- search: function (a, b) {
- a = a != null ? a : this.element.val();
- this.term = this.element.val();
- if (a.length < this.options.minLength) return this.close(b);
- clearTimeout(this.closing);
- if (this._trigger("search", b) !== false) return this._search(a)
- },
- _search: function (a) {
- this.pending++;
- this.element.addClass("ui-autocomplete-loading");
- this.source({
- term: a
- }, this.response)
- },
- _response: function (a) {
- if (!this.options.disabled && a && a.length) {
- a = this._normalize(a);
- this._suggest(a);
- this._trigger("open")
- } else this.close();
- this.pending--;
- this.pending || this.element.removeClass("ui-autocomplete-loading")
- },
- close: function (a) {
- clearTimeout(this.closing);
- if (this.menu.element.is(":visible")) {
- this.menu.element.hide();
- this.menu.deactivate();
- this._trigger("close", a)
- }
- },
- _change: function (a) {
- this.previous !== this.element.val() && this._trigger("change", a, {
- item: this.selectedItem
- })
- },
- _normalize: function (a) {
- if (a.length && a[0].label && a[0].value) return a;
- return d.map(a, function (b) {
- if (typeof b === "string") return {
- label: b,
- value: b
- };
- return d.extend({
- label: b.label || b.value,
- value: b.value || b.label
- }, b)
- })
- },
- _suggest: function (a) {
- var b = this.menu.element.empty().zIndex(this.element.zIndex() + 1);
- this._renderMenu(b, a);
- this.menu.deactivate();
- this.menu.refresh();
- b.show();
- this._resizeMenu();
- b.position(d.extend({
- of: this.element
- }, this.options.position));
- this.options.autoFocus && this.menu.next(new d.Event("mouseover"))
- },
- _resizeMenu: function () {
- var a = this.menu.element;
- a.outerWidth(Math.max(a.width("").outerWidth(), this.element.outerWidth()))
- },
- _renderMenu: function (a, b) {
- var g = this;
- d.each(b, function (c, f) {
- g._renderItem(a, f)
- })
- },
- _renderItem: function (a, b) {
- return d("<li></li>").data("item.autocomplete", b).append(d("<a></a>").text(b.label)).appendTo(a)
- },
- _move: function (a, b) {
- if (this.menu.element.is(":visible")) if (this.menu.first() && /^previous/.test(a) || this.menu.last() && /^next/.test(a)) {
- this.element.val(this.term);
- this.menu.deactivate()
- } else this.menu[a](b);
- else this.search(null, b)
- },
- widget: function () {
- return this.menu.element
- }
- });
- d.extend(d.ui.autocomplete, {
- escapeRegex: function (a) {
- return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&")
- },
- filter: function (a, b) {
- var g = new RegExp(d.ui.autocomplete.escapeRegex(b), "i");
- return d.grep(a, function (c) {
- return g.test(c.label || c.value || c)
- })
- }
- })
- })(jQuery);
- (function (d) {
- d.widget("ui.menu", {
- _create: function () {
- var e = this;
- this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({
- role: "listbox",
- "aria-activedescendant": "ui-active-menuitem"
- }).click(function (a) {
- if (d(a.target).closest(".ui-menu-item a").length) {
- a.preventDefault();
- e.select(a)
- }
- });
- this.refresh()
- },
- refresh: function () {
- var e = this;
- this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role", "menuitem").children("a").addClass("ui-corner-all").attr("tabindex", - 1).mouseenter(function (a) {
- e.activate(a, d(this).parent())
- }).mouseleave(function () {
- e.deactivate()
- })
- },
- activate: function (e, a) {
- this.deactivate();
- if (this.hasScroll()) {
- var b = a.offset().top - this.element.offset().top,
- g = this.element.scrollTop(),
- c = this.element.height();
- if (b < 0) this.element.scrollTop(g + b);
- else b >= c && this.element.scrollTop(g + b - c + a.height())
- }
- this.active = a.eq(0).children("a").addClass("ui-state-hover").attr("id", "ui-active-menuitem").end();
- this._trigger("focus", e, {
- item: a
- })
- },
- deactivate: function () {
- if (this.active) {
- this.active.children("a").removeClass("ui-state-hover").removeAttr("id");
- this._trigger("blur");
- this.active = null
- }
- },
- next: function (e) {
- this.move("next", ".ui-menu-item:first", e)
- },
- previous: function (e) {
- this.move("prev", ".ui-menu-item:last", e)
- },
- first: function () {
- return this.active && !this.active.prevAll(".ui-menu-item").length
- },
- last: function () {
- return this.active && !this.active.nextAll(".ui-menu-item").length
- },
- move: function (e, a, b) {
- if (this.active) {
- e = this.active[e + "All"](".ui-menu-item").eq(0);
- e.length ? this.activate(b, e) : this.activate(b, this.element.children(a))
- } else this.activate(b, this.element.children(a))
- },
- nextPage: function (e) {
- if (this.hasScroll()) if (!this.active || this.last()) this.activate(e, this.element.children(".ui-menu-item:first"));
- else {
- var a = this.active.offset().top,
- b = this.element.height(),
- g = this.element.children(".ui-menu-item").filter(function () {
- var c = d(this).offset().top - a - b + d(this).height();
- return c < 10 && c > -10
- });
- g.length || (g = this.element.children(".ui-menu-item:last"));
- this.activate(e, g)
- } else this.activate(e, this.element.children(".ui-menu-item").filter(!this.active || this.last() ? ":first" : ":last"))
- },
- previousPage: function (e) {
- if (this.hasScroll()) if (!this.active || this.first()) this.activate(e, this.element.children(".ui-menu-item:last"));
- else {
- var a = this.active.offset().top,
- b = this.element.height();
- result = this.element.children(".ui-menu-item").filter(function () {
- var g = d(this).offset().top - a + b - d(this).height();
- return g < 10 && g > -10
- });
- result.length || (result = this.element.children(".ui-menu-item:first"));
- this.activate(e, result)
- } else this.activate(e, this.element.children(".ui-menu-item").filter(!this.active || this.first() ? ":last" : ":first"))
- },
- hasScroll: function () {
- return this.element.height() < this.element[d.fn.prop ? "prop" : "attr"]("scrollHeight")
- },
- select: function (e) {
- this._trigger("selected", e, {
- item: this.active
- })
- }
- })
- })(jQuery);;
- (function (d) {
- d.widget("ui.slider", d.ui.mouse, {
- widgetEventPrefix: "slide",
- options: {
- animate: false,
- distance: 0,
- max: 100,
- min: 0,
- orientation: "horizontal",
- range: false,
- step: 1,
- value: 0,
- values: null
- },
- _create: function () {
- var a = this,
- b = this.options,
- c = this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),
- f = b.values && b.values.length || 1,
- e = [];
- this._mouseSliding = this._keySliding = false;
- this._animateOff = true;
- this._handleIndex = null;
- this._detectOrientation();
- this._mouseInit();
- this.element.addClass("ui-slider ui-slider-" + this.orientation + " ui-widget ui-widget-content ui-corner-all" + (b.disabled ? " ui-slider-disabled ui-disabled" : ""));
- this.range = d([]);
- if (b.range) {
- if (b.range === true) {
- if (!b.values) b.values = [this._valueMin(), this._valueMin()];
- if (b.values.length && b.values.length !== 2) b.values = [b.values[0], b.values[0]]
- }
- this.range = d("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header" + (b.range === "min" || b.range === "max" ? " ui-slider-range-" + b.range : ""))
- }
- for (var j = c.length; j < f; j += 1) e.push("<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>");
- this.handles = c.add(d(e.join("")).appendTo(a.element));
- this.handle = this.handles.eq(0);
- this.handles.add(this.range).filter("a").click(function (g) {
- g.preventDefault()
- }).hover(function () {
- b.disabled || d(this).addClass("ui-state-hover")
- }, function () {
- d(this).removeClass("ui-state-hover")
- }).focus(function () {
- if (b.disabled) d(this).blur();
- else {
- d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");
- d(this).addClass("ui-state-focus")
- }
- }).blur(function () {
- d(this).removeClass("ui-state-focus")
- });
- this.handles.each(function (g) {
- d(this).data("index.ui-slider-handle", g)
- });
- this.handles.keydown(function (g) {
- var k = true,
- l = d(this).data("index.ui-slider-handle"),
- i, h, m;
- if (!a.options.disabled) {
- switch (g.keyCode) {
- case d.ui.keyCode.HOME:
- case d.ui.keyCode.END:
- case d.ui.keyCode.PAGE_UP:
- case d.ui.keyCode.PAGE_DOWN:
- case d.ui.keyCode.UP:
- case d.ui.keyCode.RIGHT:
- case d.ui.keyCode.DOWN:
- case d.ui.keyCode.LEFT:
- k = false;
- if (!a._keySliding) {
- a._keySliding = true;
- d(this).addClass("ui-state-active");
- i = a._start(g, l);
- if (i === false) return
- }
- break
- }
- m = a.options.step;
- i = a.options.values && a.options.values.length ? (h = a.values(l)) : (h = a.value());
- switch (g.keyCode) {
- case d.ui.keyCode.HOME:
- h = a._valueMin();
- break;
- case d.ui.keyCode.END:
- h = a._valueMax();
- break;
- case d.ui.keyCode.PAGE_UP:
- h = a._trimAlignValue(i + (a._valueMax() - a._valueMin()) / 5);
- break;
- case d.ui.keyCode.PAGE_DOWN:
- h = a._trimAlignValue(i - (a._valueMax() - a._valueMin()) / 5);
- break;
- case d.ui.keyCode.UP:
- case d.ui.keyCode.RIGHT:
- if (i === a._valueMax()) return;
- h = a._trimAlignValue(i + m);
- break;
- case d.ui.keyCode.DOWN:
- case d.ui.keyCode.LEFT:
- if (i === a._valueMin()) return;
- h = a._trimAlignValue(i - m);
- break
- }
- a._slide(g, l, h);
- return k
- }
- }).keyup(function (g) {
- var k = d(this).data("index.ui-slider-handle");
- if (a._keySliding) {
- a._keySliding = false;
- a._stop(g, k);
- a._change(g, k);
- d(this).removeClass("ui-state-active")
- }
- });
- this._refreshValue();
- this._animateOff = false
- },
- destroy: function () {
- this.handles.remove();
- this.range.remove();
- this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");
- this._mouseDestroy();
- return this
- },
- _mouseCapture: function (a) {
- var b = this.options,
- c, f, e, j, g;
- if (b.disabled) return false;
- this.elementSize = {
- width: this.element.outerWidth(),
- height: this.element.outerHeight()
- };
- this.elementOffset = this.element.offset();
- c = this._normValueFromMouse({
- x: a.pageX,
- y: a.pageY
- });
- f = this._valueMax() - this._valueMin() + 1;
- j = this;
- this.handles.each(function (k) {
- var l = Math.abs(c - j.values(k));
- if (f > l) {
- f = l;
- e = d(this);
- g = k
- }
- });
- if (b.range === true && this.values(1) === b.min) {
- g += 1;
- e = d(this.handles[g])
- }
- if (this._start(a, g) === false) return false;
- this._mouseSliding = true;
- j._handleIndex = g;
- e.addClass("ui-state-active").focus();
- b = e.offset();
- this._clickOffset = !d(a.target).parents().andSelf().is(".ui-slider-handle") ? {
- left: 0,
- top: 0
- } : {
- left: a.pageX - b.left - e.width() / 2,
- top: a.pageY - b.top - e.height() / 2 - (parseInt(e.css("borderTopWidth"), 10) || 0) - (parseInt(e.css("borderBottomWidth"), 10) || 0) + (parseInt(e.css("marginTop"), 10) || 0)
- };
- this.handles.hasClass("ui-state-hover") || this._slide(a, g, c);
- return this._animateOff = true
- },
- _mouseStart: function () {
- return true
- },
- _mouseDrag: function (a) {
- var b = this._normValueFromMouse({
- x: a.pageX,
- y: a.pageY
- });
- this._slide(a, this._handleIndex, b);
- return false
- },
- _mouseStop: function (a) {
- this.handles.removeClass("ui-state-active");
- this._mouseSliding = false;
- this._stop(a, this._handleIndex);
- this._change(a, this._handleIndex);
- this._clickOffset = this._handleIndex = null;
- return this._animateOff = false
- },
- _detectOrientation: function () {
- this.orientation = this.options.orientation === "vertical" ? "vertical" : "horizontal"
- },
- _normValueFromMouse: function (a) {
- var b;
- if (this.orientation === "horizontal") {
- b = this.elementSize.width;
- a = a.x - this.elementOffset.left - (this._clickOffset ? this._clickOffset.left : 0)
- } else {
- b = this.elementSize.height;
- a = a.y - this.elementOffset.top - (this._clickOffset ? this._clickOffset.top : 0)
- }
- b = a / b;
- if (b > 1) b = 1;
- if (b < 0) b = 0;
- if (this.orientation === "vertical") b = 1 - b;
- a = this._valueMax() - this._valueMin();
- return this._trimAlignValue(this._valueMin() + b * a)
- },
- _start: function (a, b) {
- var c = {
- handle: this.handles[b],
- value: this.value()
- };
- if (this.options.values && this.options.values.length) {
- c.value = this.values(b);
- c.values = this.values()
- }
- return this._trigger("start", a, c)
- },
- _slide: function (a, b, c) {
- var f;
- if (this.options.values && this.options.values.length) {
- f = this.values(b ? 0 : 1);
- if (this.options.values.length === 2 && this.options.range === true && (b === 0 && c > f || b === 1 && c < f)) c = f;
- if (c !== this.values(b)) {
- f = this.values();
- f[b] = c;
- a = this._trigger("slide", a, {
- handle: this.handles[b],
- value: c,
- values: f
- });
- this.values(b ? 0 : 1);
- a !== false && this.values(b, c, true)
- }
- } else if (c !== this.value()) {
- a = this._trigger("slide", a, {
- handle: this.handles[b],
- value: c
- });
- a !== false && this.value(c)
- }
- },
- _stop: function (a, b) {
- var c = {
- handle: this.handles[b],
- value: this.value()
- };
- if (this.options.values && this.options.values.length) {
- c.value = this.values(b);
- c.values = this.values()
- }
- this._trigger("stop", a, c)
- },
- _change: function (a, b) {
- if (!this._keySliding && !this._mouseSliding) {
- var c = {
- handle: this.handles[b],
- value: this.value()
- };
- if (this.options.values && this.options.values.length) {
- c.value = this.values(b);
- c.values = this.values()
- }
- this._trigger("change", a, c)
- }
- },
- value: function (a) {
- if (arguments.length) {
- this.options.value = this._trimAlignValue(a);
- this._refreshValue();
- this._change(null, 0)
- } else return this._value()
- },
- values: function (a, b) {
- var c, f, e;
- if (arguments.length > 1) {
- this.options.values[a] = this._trimAlignValue(b);
- this._refreshValue();
- this._change(null, a)
- } else if (arguments.length) if (d.isArray(arguments[0])) {
- c = this.options.values;
- f = arguments[0];
- for (e = 0; e < c.length; e += 1) {
- c[e] = this._trimAlignValue(f[e]);
- this._change(null, e)
- }
- this._refreshValue()
- } else return this.options.values && this.options.values.length ? this._values(a) : this.value();
- else return this._values()
- },
- _setOption: function (a, b) {
- var c, f = 0;
- if (d.isArray(this.options.values)) f = this.options.values.length;
- d.Widget.prototype._setOption.apply(this, arguments);
- switch (a) {
- case "disabled":
- if (b) {
- this.handles.filter(".ui-state-focus").blur();
- this.handles.removeClass("ui-state-hover");
- this.handles.propAttr("disabled", true);
- this.element.addClass("ui-disabled")
- } else {
- this.handles.propAttr("disabled", false);
- this.element.removeClass("ui-disabled")
- }
- break;
- case "orientation":
- this._detectOrientation();
- this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-" + this.orientation);
- this._refreshValue();
- break;
- case "value":
- this._animateOff = true;
- this._refreshValue();
- this._change(null, 0);
- this._animateOff = false;
- break;
- case "values":
- this._animateOff = true;
- this._refreshValue();
- for (c = 0; c < f; c += 1) this._change(null, c);
- this._animateOff = false;
- break
- }
- },
- _value: function () {
- var a = this.options.value;
- return a = this._trimAlignValue(a)
- },
- _values: function (a) {
- var b, c;
- if (arguments.length) {
- b = this.options.values[a];
- return b = this._trimAlignValue(b)
- } else {
- b = this.options.values.slice();
- for (c = 0; c < b.length; c += 1) b[c] = this._trimAlignValue(b[c]);
- return b
- }
- },
- _trimAlignValue: function (a) {
- if (a <= this._valueMin()) return this._valueMin();
- if (a >= this._valueMax()) return this._valueMax();
- var b = this.options.step > 0 ? this.options.step : 1,
- c = (a - this._valueMin()) % b;
- a = a - c;
- if (Math.abs(c) * 2 >= b) a += c > 0 ? b : -b;
- return parseFloat(a.toFixed(5))
- },
- _valueMin: function () {
- return this.options.min
- },
- _valueMax: function () {
- return this.options.max
- },
- _refreshValue: function () {
- var a = this.options.range,
- b = this.options,
- c = this,
- f = !this._animateOff ? b.animate : false,
- e, j = {}, g, k, l, i;
- if (this.options.values && this.options.values.length) this.handles.each(function (h) {
- e = (c.values(h) - c._valueMin()) / (c._valueMax() - c._valueMin()) * 100;
- j[c.orientation === "horizontal" ? "left" : "bottom"] = e + "%";
- d(this).stop(1, 1)[f ? "animate" : "css"](j, b.animate);
- if (c.options.range === true) if (c.orientation === "horizontal") {
- if (h === 0) c.range.stop(1, 1)[f ? "animate" : "css"]({
- left: e + "%"
- }, b.animate);
- if (h === 1) c.range[f ? "animate" : "css"]({
- width: e - g + "%"
- }, {
- queue: false,
- duration: b.animate
- })
- } else {
- if (h === 0) c.range.stop(1, 1)[f ? "animate" : "css"]({
- bottom: e + "%"
- }, b.animate);
- if (h === 1) c.range[f ? "animate" : "css"]({
- height: e - g + "%"
- }, {
- queue: false,
- duration: b.animate
- })
- }
- g = e
- });
- else {
- k = this.value();
- l = this._valueMin();
- i = this._valueMax();
- e = i !== l ? (k - l) / (i - l) * 100 : 0;
- j[c.orientation === "horizontal" ? "left" : "bottom"] = e + "%";
- this.handle.stop(1, 1)[f ? "animate" : "css"](j, b.animate);
- if (a === "min" && this.orientation === "horizontal") this.range.stop(1, 1)[f ? "animate" : "css"]({
- width: e + "%"
- }, b.animate);
- if (a === "max" && this.orientation === "horizontal") this.range[f ? "animate" : "css"]({
- width: 100 - e + "%"
- }, {
- queue: false,
- duration: b.animate
- });
- if (a === "min" && this.orientation === "vertical") this.range.stop(1, 1)[f ? "animate" : "css"]({
- height: e + "%"
- }, b.animate);
- if (a === "max" && this.orientation === "vertical") this.range[f ? "animate" : "css"]({
- height: 100 - e + "%"
- }, {
- queue: false,
- duration: b.animate
- })
- }
- }
- });
- d.extend(d.ui.slider, {
- version: "1.8.16"
- })
- })(jQuery);;
- (function (d, p) {
- function u() {
- return ++v
- }
- function w() {
- return ++x
- }
- var v = 0,
- x = 0;
- d.widget("ui.tabs", {
- options: {
- add: null,
- ajaxOptions: null,
- cache: false,
- cookie: null,
- collapsible: false,
- disable: null,
- disabled: [],
- enable: null,
- event: "click",
- fx: null,
- idPrefix: "ui-tabs-",
- load: null,
- panelTemplate: "<div></div>",
- remove: null,
- select: null,
- show: null,
- spinner: "<em>Loading…</em>",
- tabTemplate: "<li><a href='#{href}'><span>#{label}</span></a></li>"
- },
- _create: function () {
- this._tabify(true)
- },
- _setOption: function (b, e) {
- if (b == "selected") this.options.collapsible && e == this.options.selected || this.select(e);
- else {
- this.options[b] = e;
- this._tabify()
- }
- },
- _tabId: function (b) {
- return b.title && b.title.replace(/\s/g, "_").replace(/[^\w\u00c0-\uFFFF-]/g, "") || this.options.idPrefix + u()
- },
- _sanitizeSelector: function (b) {
- return b.replace(/:/g, "\\:")
- },
- _cookie: function () {
- var b = this.cookie || (this.cookie = this.options.cookie.name || "ui-tabs-" + w());
- return d.cookie.apply(null, [b].concat(d.makeArray(arguments)))
- },
- _ui: function (b, e) {
- return {
- tab: b,
- panel: e,
- index: this.anchors.index(b)
- }
- },
- _cleanup: function () {
- this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function () {
- var b = d(this);
- b.html(b.data("label.tabs")).removeData("label.tabs")
- })
- },
- _tabify: function (b) {
- function e(g, f) {
- g.css("display", "");
- !d.support.opacity && f.opacity && g[0].style.removeAttribute("filter")
- }
- var a = this,
- c = this.options,
- h = /^#.+/;
- this.list = this.element.find("ol,ul").eq(0);
- this.lis = d(" > li:has(a[href])", this.list);
- this.anchors = this.lis.map(function () {
- return d("a", this)[0]
- });
- this.panels = d([]);
- this.anchors.each(function (g, f) {
- var i = d(f).attr("href"),
- l = i.split("#")[0],
- q;
- if (l && (l === location.toString().split("#")[0] || (q = d("base")[0]) && l === q.href)) {
- i = f.hash;
- f.href = i
- }
- if (h.test(i)) a.panels = a.panels.add(a.element.find(a._sanitizeSelector(i)));
- else if (i && i !== "#") {
- d.data(f, "href.tabs", i);
- d.data(f, "load.tabs", i.replace(/#.*$/, ""));
- i = a._tabId(f);
- f.href = "#" + i;
- f = a.element.find("#" + i);
- if (!f.length) {
- f = d(c.panelTemplate).attr("id", i).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g - 1] || a.list);
- f.data("destroy.tabs", true)
- }
- a.panels = a.panels.add(f)
- } else c.disabled.push(g)
- });
- if (b) {
- this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");
- this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");
- this.lis.addClass("ui-state-default ui-corner-top");
- this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");
- if (c.selected === p) {
- location.hash && this.anchors.each(function (g, f) {
- if (f.hash == location.hash) {
- c.selected = g;
- return false
- }
- });
- if (typeof c.selected !== "number" && c.cookie) c.selected = parseInt(a._cookie(), 10);
- if (typeof c.selected !== "number" && this.lis.filter(".ui-tabs-selected").length) c.selected = this.lis.index(this.lis.filter(".ui-tabs-selected"));
- c.selected = c.selected || (this.lis.length ? 0 : -1)
- } else if (c.selected === null) c.selected = -1;
- c.selected = c.selected >= 0 && this.anchors[c.selected] || c.selected < 0 ? c.selected : 0;
- c.disabled = d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"), function (g) {
- return a.lis.index(g)
- }))).sort();
- d.inArray(c.selected, c.disabled) != -1 && c.disabled.splice(d.inArray(c.selected, c.disabled), 1);
- this.panels.addClass("ui-tabs-hide");
- this.lis.removeClass("ui-tabs-selected ui-state-active");
- if (c.selected >= 0 && this.anchors.length) {
- a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash)).removeClass("ui-tabs-hide");
- this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");
- a.element.queue("tabs", function () {
- a._trigger("show", null, a._ui(a.anchors[c.selected], a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash))[0]))
- });
- this.load(c.selected)
- }
- d(window).bind("unload", function () {
- a.lis.add(a.anchors).unbind(".tabs");
- a.lis = a.anchors = a.panels = null
- })
- } else c.selected = this.lis.index(this.lis.filter(".ui-tabs-selected"));
- this.element[c.collapsible ? "addClass" : "removeClass"]("ui-tabs-collapsible");
- c.cookie && this._cookie(c.selected, c.cookie);
- b = 0;
- for (var j; j = this.lis[b]; b++) d(j)[d.inArray(b, c.disabled) != -1 && !d(j).hasClass("ui-tabs-selected") ? "addClass" : "removeClass"]("ui-state-disabled");
- c.cache === false && this.anchors.removeData("cache.tabs");
- this.lis.add(this.anchors).unbind(".tabs");
- if (c.event !== "mouseover") {
- var k = function (g, f) {
- f.is(":not(.ui-state-disabled)") && f.addClass("ui-state-" + g)
- }, n = function (g, f) {
- f.removeClass("ui-state-" + g)
- };
- this.lis.bind("mouseover.tabs", function () {
- k("hover", d(this))
- });
- this.lis.bind("mouseout.tabs", function () {
- n("hover", d(this))
- });
- this.anchors.bind("focus.tabs", function () {
- k("focus", d(this).closest("li"))
- });
- this.anchors.bind("blur.tabs", function () {
- n("focus", d(this).closest("li"))
- })
- }
- var m, o;
- if (c.fx) if (d.isArray(c.fx)) {
- m = c.fx[0];
- o = c.fx[1]
- } else m = o = c.fx;
- var r = o ? function (g, f) {
- d(g).closest("li").addClass("ui-tabs-selected ui-state-active");
- f.hide().removeClass("ui-tabs-hide").animate(o, o.duration || "normal", function () {
- e(f, o);
- a._trigger("show", null, a._ui(g, f[0]))
- })
- } : function (g, f) {
- d(g).closest("li").addClass("ui-tabs-selected ui-state-active");
- f.removeClass("ui-tabs-hide");
- a._trigger("show", null, a._ui(g, f[0]))
- }, s = m ? function (g, f) {
- f.animate(m, m.duration || "normal", function () {
- a.lis.removeClass("ui-tabs-selected ui-state-active");
- f.addClass("ui-tabs-hide");
- e(f, m);
- a.element.dequeue("tabs")
- })
- } : function (g, f) {
- a.lis.removeClass("ui-tabs-selected ui-state-active");
- f.addClass("ui-tabs-hide");
- a.element.dequeue("tabs")
- };
- this.anchors.bind(c.event + ".tabs", function () {
- var g = this,
- f = d(g).closest("li"),
- i = a.panels.filter(":not(.ui-tabs-hide)"),
- l = a.element.find(a._sanitizeSelector(g.hash));
- if (f.hasClass("ui-tabs-selected") && !c.collapsible || f.hasClass("ui-state-disabled") || f.hasClass("ui-state-processing") || a.panels.filter(":animated").length || a._trigger("select", null, a._ui(this, l[0])) === false) {
- this.blur();
- return false
- }
- c.selected = a.anchors.index(this);
- a.abort();
- if (c.collapsible) if (f.hasClass("ui-tabs-selected")) {
- c.selected = -1;
- c.cookie && a._cookie(c.selected, c.cookie);
- a.element.queue("tabs", function () {
- s(g, i)
- }).dequeue("tabs");
- this.blur();
- return false
- } else if (!i.length) {
- c.cookie && a._cookie(c.selected, c.cookie);
- a.element.queue("tabs", function () {
- r(g, l)
- });
- a.load(a.anchors.index(this));
- this.blur();
- return false
- }
- c.cookie && a._cookie(c.selected, c.cookie);
- if (l.length) {
- i.length && a.element.queue("tabs", function () {
- s(g, i)
- });
- a.element.queue("tabs", function () {
- r(g, l)
- });
- a.load(a.anchors.index(this))
- } else throw "jQuery UI Tabs: Mismatching fragment identifier.";
- d.browser.msie && this.blur()
- });
- this.anchors.bind("click.tabs", function () {
- return false
- })
- },
- _getIndex: function (b) {
- if (typeof b == "string") b = this.anchors.index(this.anchors.filter("[href$=" + b + "]"));
- return b
- },
- destroy: function () {
- var b = this.options;
- this.abort();
- this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");
- this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");
- this.anchors.each(function () {
- var e = d.data(this, "href.tabs");
- if (e) this.href = e;
- var a = d(this).unbind(".tabs");
- d.each(["href", "load", "cache"], function (c, h) {
- a.removeData(h + ".tabs")
- })
- });
- this.lis.unbind(".tabs").add(this.panels).each(function () {
- d.data(this, "destroy.tabs") ? d(this).remove() : d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")
- });
- b.cookie && this._cookie(null, b.cookie);
- return this
- },
- add: function (b, e, a) {
- if (a === p) a = this.anchors.length;
- var c = this,
- h = this.options;
- e = d(h.tabTemplate.replace(/#\{href\}/g, b).replace(/#\{label\}/g, e));
- b = !b.indexOf("#") ? b.replace("#", "") : this._tabId(d("a", e)[0]);
- e.addClass("ui-state-default ui-corner-top").data("destroy.tabs", true);
- var j = c.element.find("#" + b);
- j.length || (j = d(h.panelTemplate).attr("id", b).data("destroy.tabs", true));
- j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");
- if (a >= this.lis.length) {
- e.appendTo(this.list);
- j.appendTo(this.list[0].parentNode)
- } else {
- e.insertBefore(this.lis[a]);
- j.insertBefore(this.panels[a])
- }
- h.disabled = d.map(h.disabled, function (k) {
- return k >= a ? ++k : k
- });
- this._tabify();
- if (this.anchors.length == 1) {
- h.selected = 0;
- e.addClass("ui-tabs-selected ui-state-active");
- j.removeClass("ui-tabs-hide");
- this.element.queue("tabs", function () {
- c._trigger("show", null, c._ui(c.anchors[0], c.panels[0]))
- });
- this.load(0)
- }
- this._trigger("add", null, this._ui(this.anchors[a], this.panels[a]));
- return this
- },
- remove: function (b) {
- b = this._getIndex(b);
- var e = this.options,
- a = this.lis.eq(b).remove(),
- c = this.panels.eq(b).remove();
- if (a.hasClass("ui-tabs-selected") && this.anchors.length > 1) this.select(b + (b + 1 < this.anchors.length ? 1 : -1));
- e.disabled = d.map(d.grep(e.disabled, function (h) {
- return h != b
- }), function (h) {
- return h >= b ? --h : h
- });
- this._tabify();
- this._trigger("remove", null, this._ui(a.find("a")[0], c[0]));
- return this
- },
- enable: function (b) {
- b = this._getIndex(b);
- var e = this.options;
- if (d.inArray(b, e.disabled) != -1) {
- this.lis.eq(b).removeClass("ui-state-disabled");
- e.disabled = d.grep(e.disabled, function (a) {
- return a != b
- });
- this._trigger("enable", null, this._ui(this.anchors[b], this.panels[b]));
- return this
- }
- },
- disable: function (b) {
- b = this._getIndex(b);
- var e = this.options;
- if (b != e.selected) {
- this.lis.eq(b).addClass("ui-state-disabled");
- e.disabled.push(b);
- e.disabled.sort();
- this._trigger("disable", null, this._ui(this.anchors[b], this.panels[b]))
- }
- return this
- },
- select: function (b) {
- b = this._getIndex(b);
- if (b == -1) if (this.options.collapsible && this.options.selected != -1) b = this.options.selected;
- else return this;
- this.anchors.eq(b).trigger(this.options.event + ".tabs");
- return this
- },
- load: function (b) {
- b = this._getIndex(b);
- var e = this,
- a = this.options,
- c = this.anchors.eq(b)[0],
- h = d.data(c, "load.tabs");
- this.abort();
- if (!h || this.element.queue("tabs").length !== 0 && d.data(c, "cache.tabs")) this.element.dequeue("tabs");
- else {
- this.lis.eq(b).addClass("ui-state-processing");
- if (a.spinner) {
- var j = d("span", c);
- j.data("label.tabs", j.html()).html(a.spinner)
- }
- this.xhr = d.ajax(d.extend({}, a.ajaxOptions, {
- url: h,
- success: function (k, n) {
- e.element.find(e._sanitizeSelector(c.hash)).html(k);
- e._cleanup();
- a.cache && d.data(c, "cache.tabs", true);
- e._trigger("load", null, e._ui(e.anchors[b], e.panels[b]));
- try {
- a.ajaxOptions.success(k, n)
- } catch (m) {}
- },
- error: function (k, n) {
- e._cleanup();
- e._trigger("load", null, e._ui(e.anchors[b], e.panels[b]));
- try {
- a.ajaxOptions.error(k, n, b, c)
- } catch (m) {}
- }
- }));
- e.element.dequeue("tabs");
- return this
- }
- },
- abort: function () {
- this.element.queue([]);
- this.panels.stop(false, true);
- this.element.queue("tabs", this.element.queue("tabs").splice(-2, 2));
- if (this.xhr) {
- this.xhr.abort();
- delete this.xhr
- }
- this._cleanup();
- return this
- },
- url: function (b, e) {
- this.anchors.eq(b).removeData("cache.tabs").data("load.tabs", e);
- return this
- },
- length: function () {
- return this.anchors.length
- }
- });
- d.extend(d.ui.tabs, {
- version: "1.8.16"
- });
- d.extend(d.ui.tabs.prototype, {
- rotation: null,
- rotate: function (b, e) {
- var a = this,
- c = this.options,
- h = a._rotate || (a._rotate = function (j) {
- clearTimeout(a.rotation);
- a.rotation = setTimeout(function () {
- var k = c.selected;
- a.select(++k < a.anchors.length ? k : 0)
- }, b);
- j && j.stopPropagation()
- });
- e = a._unrotate || (a._unrotate = !e ? function (j) {
- j.clientX && a.rotate(null)
- } : function () {
- t = c.selected;
- h()
- });
- if (b) {
- this.element.bind("tabsshow", h);
- this.anchors.bind(c.event + ".tabs", e);
- h()
- } else {
- clearTimeout(a.rotation);
- this.element.unbind("tabsshow", h);
- this.anchors.unbind(c.event + ".tabs", e);
- delete this._rotate;
- delete this._unrotate
- }
- return this
- }
- })
- })(jQuery);;
- (function (d, C) {
- function M() {
- this.debug = false;
- this._curInst = null;
- this._keyEvent = false;
- this._disabledInputs = [];
- this._inDialog = this._datepickerShowing = false;
- this._mainDivId = "ui-datepicker-div";
- this._inlineClass = "ui-datepicker-inline";
- this._appendClass = "ui-datepicker-append";
- this._triggerClass = "ui-datepicker-trigger";
- this._dialogClass = "ui-datepicker-dialog";
- this._disableClass = "ui-datepicker-disabled";
- this._unselectableClass = "ui-datepicker-unselectable";
- this._currentClass = "ui-datepicker-current-day";
- this._dayOverClass = "ui-datepicker-days-cell-over";
- this.regional = [];
- this.regional[""] = {
- closeText: "Done",
- prevText: "Prev",
- nextText: "Next",
- currentText: "Today",
- monthNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
- monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
- dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
- dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
- dayNamesMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
- weekHeader: "Wk",
- dateFormat: "mm/dd/yy",
- firstDay: 0,
- isRTL: false,
- showMonthAfterYear: false,
- yearSuffix: ""
- };
- this._defaults = {
- showOn: "focus",
- showAnim: "fadeIn",
- showOptions: {},
- defaultDate: null,
- appendText: "",
- buttonText: "...",
- buttonImage: "",
- buttonImageOnly: false,
- hideIfNoPrevNext: false,
- navigationAsDateFormat: false,
- gotoCurrent: false,
- changeMonth: false,
- changeYear: false,
- yearRange: "c-10:c+10",
- showOtherMonths: false,
- selectOtherMonths: false,
- showWeek: false,
- calculateWeek: this.iso8601Week,
- shortYearCutoff: "+10",
- minDate: null,
- maxDate: null,
- duration: "fast",
- beforeShowDay: null,
- beforeShow: null,
- onSelect: null,
- onChangeMonthYear: null,
- onClose: null,
- numberOfMonths: 1,
- showCurrentAtPos: 0,
- stepMonths: 1,
- stepBigMonths: 12,
- altField: "",
- altFormat: "",
- constrainInput: true,
- showButtonPanel: false,
- autoSize: false,
- disabled: false
- };
- d.extend(this._defaults, this.regional[""]);
- this.dpDiv = N(d('<div id="' + this._mainDivId + '" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))
- }
- function N(a) {
- return a.bind("mouseout", function (b) {
- b = d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");
- b.length && b.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")
- }).bind("mouseover", function (b) {
- b = d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");
- if (!(d.datepicker._isDisabledDatepicker(J.inline ? a.parent()[0] : J.input[0]) || !b.length)) {
- b.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");
- b.addClass("ui-state-hover");
- b.hasClass("ui-datepicker-prev") && b.addClass("ui-datepicker-prev-hover");
- b.hasClass("ui-datepicker-next") && b.addClass("ui-datepicker-next-hover")
- }
- })
- }
- function H(a, b) {
- d.extend(a, b);
- for (var c in b) if (b[c] == null || b[c] == C) a[c] = b[c];
- return a
- }
- d.extend(d.ui, {
- datepicker: {
- version: "1.8.16"
- }
- });
- var B = (new Date).getTime(),
- J;
- d.extend(M.prototype, {
- markerClassName: "hasDatepicker",
- maxRows: 4,
- log: function () {
- this.debug && console.log.apply("", arguments)
- },
- _widgetDatepicker: function () {
- return this.dpDiv
- },
- setDefaults: function (a) {
- H(this._defaults, a || {});
- return this
- },
- _attachDatepicker: function (a, b) {
- var c = null;
- for (var e in this._defaults) {
- var f = a.getAttribute("date:" + e);
- if (f) {
- c = c || {};
- try {
- c[e] = eval(f)
- } catch (h) {
- c[e] = f
- }
- }
- }
- e = a.nodeName.toLowerCase();
- f = e == "div" || e == "span";
- if (!a.id) {
- this.uuid += 1;
- a.id = "dp" + this.uuid
- }
- var i = this._newInst(d(a), f);
- i.settings = d.extend({}, b || {}, c || {});
- if (e == "input") this._connectDatepicker(a, i);
- else f && this._inlineDatepicker(a, i)
- },
- _newInst: function (a, b) {
- return {
- id: a[0].id.replace(/([^A-Za-z0-9_-])/g, "\\\\$1"),
- input: a,
- selectedDay: 0,
- selectedMonth: 0,
- selectedYear: 0,
- drawMonth: 0,
- drawYear: 0,
- inline: b,
- dpDiv: !b ? this.dpDiv : N(d('<div class="' + this._inlineClass + ' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))
- }
- },
- _connectDatepicker: function (a, b) {
- var c = d(a);
- b.append = d([]);
- b.trigger = d([]);
- if (!c.hasClass(this.markerClassName)) {
- this._attachments(c, b);
- c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker", function (e, f, h) {
- b.settings[f] = h
- }).bind("getData.datepicker", function (e, f) {
- return this._get(b, f)
- });
- this._autoSize(b);
- d.data(a, "datepicker", b);
- b.settings.disabled && this._disableDatepicker(a)
- }
- },
- _attachments: function (a, b) {
- var c = this._get(b, "appendText"),
- e = this._get(b, "isRTL");
- b.append && b.append.remove();
- if (c) {
- b.append = d('<span class="' + this._appendClass + '">' + c + "</span>");
- a[e ? "before" : "after"](b.append)
- }
- a.unbind("focus", this._showDatepicker);
- b.trigger && b.trigger.remove();
- c = this._get(b, "showOn");
- if (c == "focus" || c == "both") a.focus(this._showDatepicker);
- if (c == "button" || c == "both") {
- c = this._get(b, "buttonText");
- var f = this._get(b, "buttonImage");
- b.trigger = d(this._get(b, "buttonImageOnly") ? d("<img/>").addClass(this._triggerClass).attr({
- src: f,
- alt: c,
- title: c
- }) : d('<button type="button"></button>').addClass(this._triggerClass).html(f == "" ? c : d("<img/>").attr({
- src: f,
- alt: c,
- title: c
- })));
- a[e ? "before" : "after"](b.trigger);
- b.trigger.click(function () {
- d.datepicker._datepickerShowing && d.datepicker._lastInput == a[0] ? d.datepicker._hideDatepicker() : d.datepicker._showDatepicker(a[0]);
- return false
- })
- }
- },
- _autoSize: function (a) {
- if (this._get(a, "autoSize") && !a.inline) {
- var b = new Date(2009, 11, 20),
- c = this._get(a, "dateFormat");
- if (c.match(/[DM]/)) {
- var e = function (f) {
- for (var h = 0, i = 0, g = 0; g < f.length; g++) if (f[g].length > h) {
- h = f[g].length;
- i = g
- }
- return i
- };
- b.setMonth(e(this._get(a, c.match(/MM/) ? "monthNames" : "monthNamesShort")));
- b.setDate(e(this._get(a, c.match(/DD/) ? "dayNames" : "dayNamesShort")) + 20 - b.getDay())
- }
- a.input.attr("size", this._formatDate(a, b).length)
- }
- },
- _inlineDatepicker: function (a, b) {
- var c = d(a);
- if (!c.hasClass(this.markerClassName)) {
- c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker", function (e, f, h) {
- b.settings[f] = h
- }).bind("getData.datepicker", function (e, f) {
- return this._get(b, f)
- });
- d.data(a, "datepicker", b);
- this._setDate(b, this._getDefaultDate(b), true);
- this._updateDatepicker(b);
- this._updateAlternate(b);
- b.settings.disabled && this._disableDatepicker(a);
- b.dpDiv.css("display", "block")
- }
- },
- _dialogDatepicker: function (a, b, c, e, f) {
- a = this._dialogInst;
- if (!a) {
- this.uuid += 1;
- this._dialogInput = d('<input type="text" id="' + ("dp" + this.uuid) + '" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>');
- this._dialogInput.keydown(this._doKeyDown);
- d("body").append(this._dialogInput);
- a = this._dialogInst = this._newInst(this._dialogInput, false);
- a.settings = {};
- d.data(this._dialogInput[0], "datepicker", a)
- }
- H(a.settings, e || {});
- b = b && b.constructor == Date ? this._formatDate(a, b) : b;
- this._dialogInput.val(b);
- this._pos = f ? f.length ? f : [f.pageX, f.pageY] : null;
- if (!this._pos) this._pos = [document.documentElement.clientWidth / 2 - 100 + (document.documentElement.scrollLeft || document.body.scrollLeft), document.documentElement.clientHeight / 2 - 150 + (document.documentElement.scrollTop || document.body.scrollTop)];
- this._dialogInput.css("left", this._pos[0] + 20 + "px").css("top", this._pos[1] + "px");
- a.settings.onSelect = c;
- this._inDialog = true;
- this.dpDiv.addClass(this._dialogClass);
- this._showDatepicker(this._dialogInput[0]);
- d.blockUI && d.blockUI(this.dpDiv);
- d.data(this._dialogInput[0], "datepicker", a);
- return this
- },
- _destroyDatepicker: function (a) {
- var b = d(a),
- c = d.data(a, "datepicker");
- if (b.hasClass(this.markerClassName)) {
- var e = a.nodeName.toLowerCase();
- d.removeData(a, "datepicker");
- if (e == "input") {
- c.append.remove();
- c.trigger.remove();
- b.removeClass(this.markerClassName).unbind("focus", this._showDatepicker).unbind("keydown", this._doKeyDown).unbind("keypress", this._doKeyPress).unbind("keyup", this._doKeyUp)
- } else if (e == "div" || e == "span") b.removeClass(this.markerClassName).empty()
- }
- },
- _enableDatepicker: function (a) {
- var b = d(a),
- c = d.data(a, "datepicker");
- if (b.hasClass(this.markerClassName)) {
- var e = a.nodeName.toLowerCase();
- if (e == "input") {
- a.disabled = false;
- c.trigger.filter("button").each(function () {
- this.disabled = false
- }).end().filter("img").css({
- opacity: "1.0",
- cursor: ""
- })
- } else if (e == "div" || e == "span") {
- b = b.children("." + this._inlineClass);
- b.children().removeClass("ui-state-disabled");
- b.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")
- }
- this._disabledInputs = d.map(this._disabledInputs, function (f) {
- return f == a ? null : f
- })
- }
- },
- _disableDatepicker: function (a) {
- var b = d(a),
- c = d.data(a, "datepicker");
- if (b.hasClass(this.markerClassName)) {
- var e = a.nodeName.toLowerCase();
- if (e == "input") {
- a.disabled = true;
- c.trigger.filter("button").each(function () {
- this.disabled = true
- }).end().filter("img").css({
- opacity: "0.5",
- cursor: "default"
- })
- } else if (e == "div" || e == "span") {
- b = b.children("." + this._inlineClass);
- b.children().addClass("ui-state-disabled");
- b.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled", "disabled")
- }
- this._disabledInputs = d.map(this._disabledInputs, function (f) {
- return f == a ? null : f
- });
- this._disabledInputs[this._disabledInputs.length] = a
- }
- },
- _isDisabledDatepicker: function (a) {
- if (!a) return false;
- for (var b = 0; b < this._disabledInputs.length; b++) if (this._disabledInputs[b] == a) return true;
- return false
- },
- _getInst: function (a) {
- try {
- return d.data(a, "datepicker")
- } catch (b) {
- throw "Missing instance data for this datepicker";
- }
- },
- _optionDatepicker: function (a, b, c) {
- var e = this._getInst(a);
- if (arguments.length == 2 && typeof b == "string") return b == "defaults" ? d.extend({}, d.datepicker._defaults) : e ? b == "all" ? d.extend({}, e.settings) : this._get(e, b) : null;
- var f = b || {};
- if (typeof b == "string") {
- f = {};
- f[b] = c
- }
- if (e) {
- this._curInst == e && this._hideDatepicker();
- var h = this._getDateDatepicker(a, true),
- i = this._getMinMaxDate(e, "min"),
- g = this._getMinMaxDate(e, "max");
- H(e.settings, f);
- if (i !== null && f.dateFormat !== C && f.minDate === C) e.settings.minDate = this._formatDate(e, i);
- if (g !== null && f.dateFormat !== C && f.maxDate === C) e.settings.maxDate = this._formatDate(e, g);
- this._attachments(d(a), e);
- this._autoSize(e);
- this._setDate(e, h);
- this._updateAlternate(e);
- this._updateDatepicker(e)
- }
- },
- _changeDatepicker: function (a, b, c) {
- this._optionDatepicker(a, b, c)
- },
- _refreshDatepicker: function (a) {
- (a = this._getInst(a)) && this._updateDatepicker(a)
- },
- _setDateDatepicker: function (a, b) {
- if (a = this._getInst(a)) {
- this._setDate(a, b);
- this._updateDatepicker(a);
- this._updateAlternate(a)
- }
- },
- _getDateDatepicker: function (a, b) {
- (a = this._getInst(a)) && !a.inline && this._setDateFromField(a, b);
- return a ? this._getDate(a) : null
- },
- _doKeyDown: function (a) {
- var b = d.datepicker._getInst(a.target),
- c = true,
- e = b.dpDiv.is(".ui-datepicker-rtl");
- b._keyEvent = true;
- if (d.datepicker._datepickerShowing) switch (a.keyCode) {
- case 9:
- d.datepicker._hideDatepicker();
- c = false;
- break;
- case 13:
- c = d("td." + d.datepicker._dayOverClass + ":not(." + d.datepicker._currentClass + ")", b.dpDiv);
- c[0] && d.datepicker._selectDay(a.target, b.selectedMonth, b.selectedYear, c[0]);
- if (a = d.datepicker._get(b, "onSelect")) {
- c = d.datepicker._formatDate(b);
- a.apply(b.input ? b.input[0] : null, [c, b])
- } else d.datepicker._hideDatepicker();
- return false;
- case 27:
- d.datepicker._hideDatepicker();
- break;
- case 33:
- d.datepicker._adjustDate(a.target, a.ctrlKey ? -d.datepicker._get(b, "stepBigMonths") : -d.datepicker._get(b, "stepMonths"), "M");
- break;
- case 34:
- d.datepicker._adjustDate(a.target, a.ctrlKey ? +d.datepicker._get(b, "stepBigMonths") : +d.datepicker._get(b, "stepMonths"), "M");
- break;
- case 35:
- if (a.ctrlKey || a.metaKey) d.datepicker._clearDate(a.target);
- c = a.ctrlKey || a.metaKey;
- break;
- case 36:
- if (a.ctrlKey || a.metaKey) d.datepicker._gotoToday(a.target);
- c = a.ctrlKey || a.metaKey;
- break;
- case 37:
- if (a.ctrlKey || a.metaKey) d.datepicker._adjustDate(a.target, e ? +1 : -1, "D");
- c = a.ctrlKey || a.metaKey;
- if (a.originalEvent.altKey) d.datepicker._adjustDate(a.target, a.ctrlKey ? -d.datepicker._get(b, "stepBigMonths") : -d.datepicker._get(b, "stepMonths"), "M");
- break;
- case 38:
- if (a.ctrlKey || a.metaKey) d.datepicker._adjustDate(a.target, - 7, "D");
- c = a.ctrlKey || a.metaKey;
- break;
- case 39:
- if (a.ctrlKey || a.metaKey) d.datepicker._adjustDate(a.target, e ? -1 : +1, "D");
- c = a.ctrlKey || a.metaKey;
- if (a.originalEvent.altKey) d.datepicker._adjustDate(a.target, a.ctrlKey ? +d.datepicker._get(b, "stepBigMonths") : +d.datepicker._get(b, "stepMonths"), "M");
- break;
- case 40:
- if (a.ctrlKey || a.metaKey) d.datepicker._adjustDate(a.target, + 7, "D");
- c = a.ctrlKey || a.metaKey;
- break;
- default:
- c = false
- } else if (a.keyCode == 36 && a.ctrlKey) d.datepicker._showDatepicker(this);
- else c = false;
- if (c) {
- a.preventDefault();
- a.stopPropagation()
- }
- },
- _doKeyPress: function (a) {
- var b = d.datepicker._getInst(a.target);
- if (d.datepicker._get(b, "constrainInput")) {
- b = d.datepicker._possibleChars(d.datepicker._get(b, "dateFormat"));
- var c = String.fromCharCode(a.charCode == C ? a.keyCode : a.charCode);
- return a.ctrlKey || a.metaKey || c < " " || !b || b.indexOf(c) > -1
- }
- },
- _doKeyUp: function (a) {
- a = d.datepicker._getInst(a.target);
- if (a.input.val() != a.lastVal) try {
- if (d.datepicker.parseDate(d.datepicker._get(a, "dateFormat"), a.input ? a.input.val() : null, d.datepicker._getFormatConfig(a))) {
- d.datepicker._setDateFromField(a);
- d.datepicker._updateAlternate(a);
- d.datepicker._updateDatepicker(a)
- }
- } catch (b) {
- d.datepicker.log(b)
- }
- return true
- },
- _showDatepicker: function (a) {
- a = a.target || a;
- if (a.nodeName.toLowerCase() != "input") a = d("input", a.parentNode)[0];
- if (!(d.datepicker._isDisabledDatepicker(a) || d.datepicker._lastInput == a)) {
- var b = d.datepicker._getInst(a);
- if (d.datepicker._curInst && d.datepicker._curInst != b) {
- d.datepicker._datepickerShowing && d.datepicker._triggerOnClose(d.datepicker._curInst);
- d.datepicker._curInst.dpDiv.stop(true, true)
- }
- var c = d.datepicker._get(b, "beforeShow");
- c = c ? c.apply(a, [a, b]) : {};
- if (c !== false) {
- H(b.settings, c);
- b.lastVal = null;
- d.datepicker._lastInput = a;
- d.datepicker._setDateFromField(b);
- if (d.datepicker._inDialog) a.value = "";
- if (!d.datepicker._pos) {
- d.datepicker._pos = d.datepicker._findPos(a);
- d.datepicker._pos[1] += a.offsetHeight
- }
- var e = false;
- d(a).parents().each(function () {
- e |= d(this).css("position") == "fixed";
- return !e
- });
- if (e && d.browser.opera) {
- d.datepicker._pos[0] -= document.documentElement.scrollLeft;
- d.datepicker._pos[1] -= document.documentElement.scrollTop
- }
- c = {
- left: d.datepicker._pos[0],
- top: d.datepicker._pos[1]
- };
- d.datepicker._pos = null;
- b.dpDiv.empty();
- b.dpDiv.css({
- position: "absolute",
- display: "block",
- top: "-1000px"
- });
- d.datepicker._updateDatepicker(b);
- c = d.datepicker._checkOffset(b, c, e);
- b.dpDiv.css({
- position: d.datepicker._inDialog && d.blockUI ? "static" : e ? "fixed" : "absolute",
- display: "none",
- left: c.left + "px",
- top: c.top + "px"
- });
- if (!b.inline) {
- c = d.datepicker._get(b, "showAnim");
- var f = d.datepicker._get(b, "duration"),
- h = function () {
- var i = b.dpDiv.find("iframe.ui-datepicker-cover");
- if (i.length) {
- var g = d.datepicker._getBorders(b.dpDiv);
- i.css({
- left: -g[0],
- top: -g[1],
- width: b.dpDiv.outerWidth(),
- height: b.dpDiv.outerHeight()
- })
- }
- };
- b.dpDiv.zIndex(d(a).zIndex() + 1);
- d.datepicker._datepickerShowing = true;
- d.effects && d.effects[c] ? b.dpDiv.show(c, d.datepicker._get(b, "showOptions"), f, h) : b.dpDiv[c || "show"](c ? f : null, h);
- if (!c || !f) h();
- b.input.is(":visible") && !b.input.is(":disabled") && b.input.focus();
- d.datepicker._curInst = b
- }
- }
- }
- },
- _updateDatepicker: function (a) {
- this.maxRows = 4;
- var b = d.datepicker._getBorders(a.dpDiv);
- J = a;
- a.dpDiv.empty().append(this._generateHTML(a));
- var c = a.dpDiv.find("iframe.ui-datepicker-cover");
- c.length && c.css({
- left: -b[0],
- top: -b[1],
- width: a.dpDiv.outerWidth(),
- height: a.dpDiv.outerHeight()
- });
- a.dpDiv.find("." + this._dayOverClass + " a").mouseover();
- b = this._getNumberOfMonths(a);
- c = b[1];
- a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");
- c > 1 && a.dpDiv.addClass("ui-datepicker-multi-" + c).css("width", 17 * c + "em");
- a.dpDiv[(b[0] != 1 || b[1] != 1 ? "add" : "remove") + "Class"]("ui-datepicker-multi");
- a.dpDiv[(this._get(a, "isRTL") ? "add" : "remove") + "Class"]("ui-datepicker-rtl");
- a == d.datepicker._curInst && d.datepicker._datepickerShowing && a.input && a.input.is(":visible") && !a.input.is(":disabled") && a.input[0] != document.activeElement && a.input.focus();
- if (a.yearshtml) {
- var e = a.yearshtml;
- setTimeout(function () {
- e === a.yearshtml && a.yearshtml && a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml);
- e = a.yearshtml = null
- }, 0)
- }
- },
- _getBorders: function (a) {
- var b = function (c) {
- return {
- thin: 1,
- medium: 2,
- thick: 3
- }[c] || c
- };
- return [parseFloat(b(a.css("border-left-width"))), parseFloat(b(a.css("border-top-width")))]
- },
- _checkOffset: function (a, b, c) {
- var e = a.dpDiv.outerWidth(),
- f = a.dpDiv.outerHeight(),
- h = a.input ? a.input.outerWidth() : 0,
- i = a.input ? a.input.outerHeight() : 0,
- g = document.documentElement.clientWidth + d(document).scrollLeft(),
- j = document.documentElement.clientHeight + d(document).scrollTop();
- b.left -= this._get(a, "isRTL") ? e - h : 0;
- b.left -= c && b.left == a.input.offset().left ? d(document).scrollLeft() : 0;
- b.top -= c && b.top == a.input.offset().top + i ? d(document).scrollTop() : 0;
- b.left -= Math.min(b.left, b.left + e > g && g > e ? Math.abs(b.left + e - g) : 0);
- b.top -= Math.min(b.top, b.top + f > j && j > f ? Math.abs(f + i) : 0);
- return b
- },
- _findPos: function (a) {
- for (var b = this._get(this._getInst(a), "isRTL"); a && (a.type == "hidden" || a.nodeType != 1 || d.expr.filters.hidden(a));) a = a[b ? "previousSibling" : "nextSibling"];
- a = d(a).offset();
- return [a.left, a.top]
- },
- _triggerOnClose: function (a) {
- var b = this._get(a, "onClose");
- if (b) b.apply(a.input ? a.input[0] : null, [a.input ? a.input.val() : "", a])
- },
- _hideDatepicker: function (a) {
- var b = this._curInst;
- if (!(!b || a && b != d.data(a, "datepicker"))) if (this._datepickerShowing) {
- a = this._get(b, "showAnim");
- var c = this._get(b, "duration"),
- e = function () {
- d.datepicker._tidyDialog(b);
- this._curInst = null
- };
- d.effects && d.effects[a] ? b.dpDiv.hide(a, d.datepicker._get(b, "showOptions"), c, e) : b.dpDiv[a == "slideDown" ? "slideUp" : a == "fadeIn" ? "fadeOut" : "hide"](a ? c : null, e);
- a || e();
- d.datepicker._triggerOnClose(b);
- this._datepickerShowing = false;
- this._lastInput = null;
- if (this._inDialog) {
- this._dialogInput.css({
- position: "absolute",
- left: "0",
- top: "-100px"
- });
- if (d.blockUI) {
- d.unblockUI();
- d("body").append(this.dpDiv)
- }
- }
- this._inDialog = false
- }
- },
- _tidyDialog: function (a) {
- a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")
- },
- _checkExternalClick: function (a) {
- if (d.datepicker._curInst) {
- a = d(a.target);
- a[0].id != d.datepicker._mainDivId && a.parents("#" + d.datepicker._mainDivId).length == 0 && !a.hasClass(d.datepicker.markerClassName) && !a.hasClass(d.datepicker._triggerClass) && d.datepicker._datepickerShowing && !(d.datepicker._inDialog && d.blockUI) && d.datepicker._hideDatepicker()
- }
- },
- _adjustDate: function (a, b, c) {
- a = d(a);
- var e = this._getInst(a[0]);
- if (!this._isDisabledDatepicker(a[0])) {
- this._adjustInstDate(e, b + (c == "M" ? this._get(e, "showCurrentAtPos") : 0), c);
- this._updateDatepicker(e)
- }
- },
- _gotoToday: function (a) {
- a = d(a);
- var b = this._getInst(a[0]);
- if (this._get(b, "gotoCurrent") && b.currentDay) {
- b.selectedDay = b.currentDay;
- b.drawMonth = b.selectedMonth = b.currentMonth;
- b.drawYear = b.selectedYear = b.currentYear
- } else {
- var c = new Date;
- b.selectedDay = c.getDate();
- b.drawMonth = b.selectedMonth = c.getMonth();
- b.drawYear = b.selectedYear = c.getFullYear()
- }
- this._notifyChange(b);
- this._adjustDate(a)
- },
- _selectMonthYear: function (a, b, c) {
- a = d(a);
- var e = this._getInst(a[0]);
- e["selected" + (c == "M" ? "Month" : "Year")] = e["draw" + (c == "M" ? "Month" : "Year")] = parseInt(b.options[b.selectedIndex].value, 10);
- this._notifyChange(e);
- this._adjustDate(a)
- },
- _selectDay: function (a, b, c, e) {
- var f = d(a);
- if (!(d(e).hasClass(this._unselectableClass) || this._isDisabledDatepicker(f[0]))) {
- f = this._getInst(f[0]);
- f.selectedDay = f.currentDay = d("a", e).html();
- f.selectedMonth = f.currentMonth = b;
- f.selectedYear = f.currentYear = c;
- this._selectDate(a, this._formatDate(f, f.currentDay, f.currentMonth, f.currentYear))
- }
- },
- _clearDate: function (a) {
- a = d(a);
- this._getInst(a[0]);
- this._selectDate(a, "")
- },
- _selectDate: function (a, b) {
- a = this._getInst(d(a)[0]);
- b = b != null ? b : this._formatDate(a);
- a.input && a.input.val(b);
- this._updateAlternate(a);
- var c = this._get(a, "onSelect");
- if (c) c.apply(a.input ? a.input[0] : null, [b, a]);
- else a.input && a.input.trigger("change");
- if (a.inline) this._updateDatepicker(a);
- else {
- this._hideDatepicker();
- this._lastInput = a.input[0];
- typeof a.input[0] != "object" && a.input.focus();
- this._lastInput = null
- }
- },
- _updateAlternate: function (a) {
- var b = this._get(a, "altField");
- if (b) {
- var c = this._get(a, "altFormat") || this._get(a, "dateFormat"),
- e = this._getDate(a),
- f = this.formatDate(c, e, this._getFormatConfig(a));
- d(b).each(function () {
- d(this).val(f)
- })
- }
- },
- noWeekends: function (a) {
- a = a.getDay();
- return [a > 0 && a < 6, ""]
- },
- iso8601Week: function (a) {
- a = new Date(a.getTime());
- a.setDate(a.getDate() + 4 - (a.getDay() || 7));
- var b = a.getTime();
- a.setMonth(0);
- a.setDate(1);
- return Math.floor(Math.round((b - a) / 864E5) / 7) + 1
- },
- parseDate: function (a, b, c) {
- if (a == null || b == null) throw "Invalid arguments";
- b = typeof b == "object" ? b.toString() : b + "";
- if (b == "") return null;
- var e = (c ? c.shortYearCutoff : null) || this._defaults.shortYearCutoff;
- e = typeof e != "string" ? e : (new Date).getFullYear() % 100 + parseInt(e, 10);
- for (var f = (c ? c.dayNamesShort : null) || this._defaults.dayNamesShort, h = (c ? c.dayNames : null) || this._defaults.dayNames, i = (c ? c.monthNamesShort : null) || this._defaults.monthNamesShort, g = (c ? c.monthNames : null) || this._defaults.monthNames, j = c = -1, l = -1, u = -1, k = false, o = function (p) {
- (p = A + 1 < a.length && a.charAt(A + 1) == p) && A++;
- return p
- }, m = function (p) {
- var D = o(p);
- p = new RegExp("^\\d{1," + (p == "@" ? 14 : p == "!" ? 20 : p == "y" && D ? 4 : p == "o" ? 3 : 2) + "}");
- p = b.substring(q).match(p);
- if (!p) throw "Missing number at position " + q;
- q += p[0].length;
- return parseInt(p[0], 10)
- }, n = function (p, D, K) {
- p = d.map(o(p) ? K : D, function (w, x) {
- return [[x, w]]
- }).sort(function (w, x) {
- return -(w[1].length - x[1].length)
- });
- var E = -1;
- d.each(p, function (w, x) {
- w = x[1];
- if (b.substr(q, w.length).toLowerCase() == w.toLowerCase()) {
- E = x[0];
- q += w.length;
- return false
- }
- });
- if (E != -1) return E + 1;
- else throw "Unknown name at position " + q;
- }, s = function () {
- if (b.charAt(q) != a.charAt(A)) throw "Unexpected literal at position " + q;
- q++
- }, q = 0, A = 0; A < a.length; A++) if (k) if (a.charAt(A) == "'" && !o("'")) k = false;
- else s();
- else switch (a.charAt(A)) {
- case "d":
- l = m("d");
- break;
- case "D":
- n("D", f, h);
- break;
- case "o":
- u = m("o");
- break;
- case "m":
- j = m("m");
- break;
- case "M":
- j = n("M", i, g);
- break;
- case "y":
- c = m("y");
- break;
- case "@":
- var v = new Date(m("@"));
- c = v.getFullYear();
- j = v.getMonth() + 1;
- l = v.getDate();
- break;
- case "!":
- v = new Date((m("!") - this._ticksTo1970) / 1E4);
- c = v.getFullYear();
- j = v.getMonth() + 1;
- l = v.getDate();
- break;
- case "'":
- if (o("'")) s();
- else k = true;
- break;
- default:
- s()
- }
- if (q < b.length) throw "Extra/unparsed characters found in date: " + b.substring(q);
- if (c == -1) c = (new Date).getFullYear();
- else if (c < 100) c += (new Date).getFullYear() - (new Date).getFullYear() % 100 + (c <= e ? 0 : -100);
- if (u > -1) {
- j = 1;
- l = u;
- do {
- e = this._getDaysInMonth(c, j - 1);
- if (l <= e) break;
- j++;
- l -= e
- } while (1)
- }
- v = this._daylightSavingAdjust(new Date(c, j - 1, l));
- if (v.getFullYear() != c || v.getMonth() + 1 != j || v.getDate() != l) throw "Invalid date";
- return v
- },
- ATOM: "yy-mm-dd",
- COOKIE: "D, dd M yy",
- ISO_8601: "yy-mm-dd",
- RFC_822: "D, d M y",
- RFC_850: "DD, dd-M-y",
- RFC_1036: "D, d M y",
- RFC_1123: "D, d M yy",
- RFC_2822: "D, d M yy",
- RSS: "D, d M y",
- TICKS: "!",
- TIMESTAMP: "@",
- W3C: "yy-mm-dd",
- _ticksTo1970: (718685 + Math.floor(492.5) - Math.floor(19.7) + Math.floor(4.925)) * 24 * 60 * 60 * 1E7,
- formatDate: function (a, b, c) {
- if (!b) return "";
- var e = (c ? c.dayNamesShort : null) || this._defaults.dayNamesShort,
- f = (c ? c.dayNames : null) || this._defaults.dayNames,
- h = (c ? c.monthNamesShort : null) || this._defaults.monthNamesShort;
- c = (c ? c.monthNames : null) || this._defaults.monthNames;
- var i = function (o) {
- (o = k + 1 < a.length && a.charAt(k + 1) == o) && k++;
- return o
- }, g = function (o, m, n) {
- m = "" + m;
- if (i(o)) for (; m.length < n;) m = "0" + m;
- return m
- }, j = function (o, m, n, s) {
- return i(o) ? s[m] : n[m]
- }, l = "",
- u = false;
- if (b) for (var k = 0; k < a.length; k++) if (u) if (a.charAt(k) == "'" && !i("'")) u = false;
- else l += a.charAt(k);
- else switch (a.charAt(k)) {
- case "d":
- l += g("d", b.getDate(), 2);
- break;
- case "D":
- l += j("D", b.getDay(), e, f);
- break;
- case "o":
- l += g("o", Math.round(((new Date(b.getFullYear(), b.getMonth(), b.getDate())).getTime() - (new Date(b.getFullYear(), 0, 0)).getTime()) / 864E5), 3);
- break;
- case "m":
- l += g("m", b.getMonth() + 1, 2);
- break;
- case "M":
- l += j("M", b.getMonth(), h, c);
- break;
- case "y":
- l += i("y") ? b.getFullYear() : (b.getYear() % 100 < 10 ? "0" : "") + b.getYear() % 100;
- break;
- case "@":
- l += b.getTime();
- break;
- case "!":
- l += b.getTime() * 1E4 + this._ticksTo1970;
- break;
- case "'":
- if (i("'")) l += "'";
- else u = true;
- break;
- default:
- l += a.charAt(k)
- }
- return l
- },
- _possibleChars: function (a) {
- for (var b = "", c = false, e = function (h) {
- (h = f + 1 < a.length && a.charAt(f + 1) == h) && f++;
- return h
- }, f = 0; f < a.length; f++) if (c) if (a.charAt(f) == "'" && !e("'")) c = false;
- else b += a.charAt(f);
- else switch (a.charAt(f)) {
- case "d":
- case "m":
- case "y":
- case "@":
- b += "0123456789";
- break;
- case "D":
- case "M":
- return null;
- case "'":
- if (e("'")) b += "'";
- else c = true;
- break;
- default:
- b += a.charAt(f)
- }
- return b
- },
- _get: function (a, b) {
- return a.settings[b] !== C ? a.settings[b] : this._defaults[b]
- },
- _setDateFromField: function (a, b) {
- if (a.input.val() != a.lastVal) {
- var c = this._get(a, "dateFormat"),
- e = a.lastVal = a.input ? a.input.val() : null,
- f, h;
- f = h = this._getDefaultDate(a);
- var i = this._getFormatConfig(a);
- try {
- f = this.parseDate(c, e, i) || h
- } catch (g) {
- this.log(g);
- e = b ? "" : e
- }
- a.selectedDay = f.getDate();
- a.drawMonth = a.selectedMonth = f.getMonth();
- a.drawYear = a.selectedYear = f.getFullYear();
- a.currentDay = e ? f.getDate() : 0;
- a.currentMonth = e ? f.getMonth() : 0;
- a.currentYear = e ? f.getFullYear() : 0;
- this._adjustInstDate(a)
- }
- },
- _getDefaultDate: function (a) {
- return this._restrictMinMax(a, this._determineDate(a, this._get(a, "defaultDate"), new Date))
- },
- _determineDate: function (a, b, c) {
- var e = function (h) {
- var i = new Date;
- i.setDate(i.getDate() + h);
- return i
- }, f = function (h) {
- try {
- return d.datepicker.parseDate(d.datepicker._get(a, "dateFormat"), h, d.datepicker._getFormatConfig(a))
- } catch (i) {}
- var g = (h.toLowerCase().match(/^c/) ? d.datepicker._getDate(a) : null) || new Date,
- j = g.getFullYear(),
- l = g.getMonth();
- g = g.getDate();
- for (var u = /([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g, k = u.exec(h); k;) {
- switch (k[2] || "d") {
- case "d":
- case "D":
- g += parseInt(k[1], 10);
- break;
- case "w":
- case "W":
- g += parseInt(k[1], 10) * 7;
- break;
- case "m":
- case "M":
- l += parseInt(k[1], 10);
- g = Math.min(g, d.datepicker._getDaysInMonth(j, l));
- break;
- case "y":
- case "Y":
- j += parseInt(k[1], 10);
- g = Math.min(g, d.datepicker._getDaysInMonth(j, l));
- break
- }
- k = u.exec(h)
- }
- return new Date(j, l, g)
- };
- if (b = (b = b == null || b === "" ? c : typeof b == "string" ? f(b) : typeof b == "number" ? isNaN(b) ? c : e(b) : new Date(b.getTime())) && b.toString() == "Invalid Date" ? c : b) {
- b.setHours(0);
- b.setMinutes(0);
- b.setSeconds(0);
- b.setMilliseconds(0)
- }
- return this._daylightSavingAdjust(b)
- },
- _daylightSavingAdjust: function (a) {
- if (!a) return null;
- a.setHours(a.getHours() > 12 ? a.getHours() + 2 : 0);
- return a
- },
- _setDate: function (a, b, c) {
- var e = !b,
- f = a.selectedMonth,
- h = a.selectedYear;
- b = this._restrictMinMax(a, this._determineDate(a, b, new Date));
- a.selectedDay = a.currentDay = b.getDate();
- a.drawMonth = a.selectedMonth = a.currentMonth = b.getMonth();
- a.drawYear = a.selectedYear = a.currentYear = b.getFullYear();
- if ((f != a.selectedMonth || h != a.selectedYear) && !c) this._notifyChange(a);
- this._adjustInstDate(a);
- if (a.input) a.input.val(e ? "" : this._formatDate(a))
- },
- _getDate: function (a) {
- return !a.currentYear || a.input && a.input.val() == "" ? null : this._daylightSavingAdjust(new Date(a.currentYear, a.currentMonth, a.currentDay))
- },
- _generateHTML: function (a) {
- var b = new Date;
- b = this._daylightSavingAdjust(new Date(b.getFullYear(), b.getMonth(), b.getDate()));
- var c = this._get(a, "isRTL"),
- e = this._get(a, "showButtonPanel"),
- f = this._get(a, "hideIfNoPrevNext"),
- h = this._get(a, "navigationAsDateFormat"),
- i = this._getNumberOfMonths(a),
- g = this._get(a, "showCurrentAtPos"),
- j = this._get(a, "stepMonths"),
- l = i[0] != 1 || i[1] != 1,
- u = this._daylightSavingAdjust(!a.currentDay ? new Date(9999, 9, 9) : new Date(a.currentYear, a.currentMonth, a.currentDay)),
- k = this._getMinMaxDate(a, "min"),
- o = this._getMinMaxDate(a, "max");
- g = a.drawMonth - g;
- var m = a.drawYear;
- if (g < 0) {
- g += 12;
- m--
- }
- if (o) {
- var n = this._daylightSavingAdjust(new Date(o.getFullYear(), o.getMonth() - i[0] * i[1] + 1, o.getDate()));
- for (n = k && n < k ? k : n; this._daylightSavingAdjust(new Date(m, g, 1)) > n;) {
- g--;
- if (g < 0) {
- g = 11;
- m--
- }
- }
- }
- a.drawMonth = g;
- a.drawYear = m;
- n = this._get(a, "prevText");
- n = !h ? n : this.formatDate(n, this._daylightSavingAdjust(new Date(m, g - j, 1)), this._getFormatConfig(a));
- n = this._canAdjustMonth(a, - 1, m, g) ? '<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_' + B + ".datepicker._adjustDate('#" + a.id + "', -" + j + ", 'M');\" title=\"" + n + '"><span class="ui-icon ui-icon-circle-triangle-' + (c ? "e" : "w") + '">' + n + "</span></a>" : f ? "" : '<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="' + n + '"><span class="ui-icon ui-icon-circle-triangle-' + (c ? "e" : "w") + '">' + n + "</span></a>";
- var s = this._get(a, "nextText");
- s = !h ? s : this.formatDate(s, this._daylightSavingAdjust(new Date(m, g + j, 1)), this._getFormatConfig(a));
- f = this._canAdjustMonth(a, + 1, m, g) ? '<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_' + B + ".datepicker._adjustDate('#" + a.id + "', +" + j + ", 'M');\" title=\"" + s + '"><span class="ui-icon ui-icon-circle-triangle-' + (c ? "w" : "e") + '">' + s + "</span></a>" : f ? "" : '<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="' + s + '"><span class="ui-icon ui-icon-circle-triangle-' + (c ? "w" : "e") + '">' + s + "</span></a>";
- j = this._get(a, "currentText");
- s = this._get(a, "gotoCurrent") && a.currentDay ? u : b;
- j = !h ? j : this.formatDate(j, s, this._getFormatConfig(a));
- h = !a.inline ? '<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_' + B + '.datepicker._hideDatepicker();">' + this._get(a, "closeText") + "</button>" : "";
- e = e ? '<div class="ui-datepicker-buttonpane ui-widget-content">' + (c ? h : "") + (this._isInRange(a, s) ? '<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_' + B + ".datepicker._gotoToday('#" + a.id + "');\">" + j + "</button>" : "") + (c ? "" : h) + "</div>" : "";
- h = parseInt(this._get(a, "firstDay"), 10);
- h = isNaN(h) ? 0 : h;
- j = this._get(a, "showWeek");
- s = this._get(a, "dayNames");
- this._get(a, "dayNamesShort");
- var q = this._get(a, "dayNamesMin"),
- A = this._get(a, "monthNames"),
- v = this._get(a, "monthNamesShort"),
- p = this._get(a, "beforeShowDay"),
- D = this._get(a, "showOtherMonths"),
- K = this._get(a, "selectOtherMonths");
- this._get(a, "calculateWeek");
- for (var E = this._getDefaultDate(a), w = "", x = 0; x < i[0]; x++) {
- var O = "";
- this.maxRows = 4;
- for (var G = 0; G < i[1]; G++) {
- var P = this._daylightSavingAdjust(new Date(m, g, a.selectedDay)),
- t = " ui-corner-all",
- y = "";
- if (l) {
- y += '<div class="ui-datepicker-group';
- if (i[1] > 1) switch (G) {
- case 0:
- y += " ui-datepicker-group-first";
- t = " ui-corner-" + (c ? "right" : "left");
- break;
- case i[1] - 1:
- y += " ui-datepicker-group-last";
- t = " ui-corner-" + (c ? "left" : "right");
- break;
- default:
- y += " ui-datepicker-group-middle";
- t = "";
- break
- }
- y += '">'
- }
- y += '<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix' + t + '">' + (/all|left/.test(t) && x == 0 ? c ? f : n : "") + (/all|right/.test(t) && x == 0 ? c ? n : f : "") + this._generateMonthYearHeader(a, g, m, k, o, x > 0 || G > 0, A, v) + '</div><table class="ui-datepicker-calendar"><thead><tr>';
- var z = j ? '<th class="ui-datepicker-week-col">' + this._get(a, "weekHeader") + "</th>" : "";
- for (t = 0; t < 7; t++) {
- var r = (t + h) % 7;
- z += "<th" + ((t + h + 6) % 7 >= 5 ? ' class="ui-datepicker-week-end"' : "") + '><span title="' + s[r] + '">' + q[r] + "</span></th>"
- }
- y += z + "</tr></thead><tbody>";
- z = this._getDaysInMonth(m, g);
- if (m == a.selectedYear && g == a.selectedMonth) a.selectedDay = Math.min(a.selectedDay, z);
- t = (this._getFirstDayOfMonth(m, g) - h + 7) % 7;
- z = Math.ceil((t + z) / 7);
- this.maxRows = z = l ? this.maxRows > z ? this.maxRows : z : z;
- r = this._daylightSavingAdjust(new Date(m, g, 1 - t));
- for (var Q = 0; Q < z; Q++) {
- y += "<tr>";
- var R = !j ? "" : '<td class="ui-datepicker-week-col">' + this._get(a, "calculateWeek")(r) + "</td>";
- for (t = 0; t < 7; t++) {
- var I = p ? p.apply(a.input ? a.input[0] : null, [r]) : [true, ""],
- F = r.getMonth() != g,
- L = F && !K || !I[0] || k && r < k || o && r > o;
- R += '<td class="' + ((t + h + 6) % 7 >= 5 ? " ui-datepicker-week-end" : "") + (F ? " ui-datepicker-other-month" : "") + (r.getTime() == P.getTime() && g == a.selectedMonth && a._keyEvent || E.getTime() == r.getTime() && E.getTime() == P.getTime() ? " " + this._dayOverClass : "") + (L ? " " + this._unselectableClass + " ui-state-disabled" : "") + (F && !D ? "" : " " + I[1] + (r.getTime() == u.getTime() ? " " + this._currentClass : "") + (r.getTime() == b.getTime() ? " ui-datepicker-today" : "")) + '"' + ((!F || D) && I[2] ? ' title="' + I[2] + '"' : "") + (L ? "" : ' onclick="DP_jQuery_' + B + ".datepicker._selectDay('#" + a.id + "'," + r.getMonth() + "," + r.getFullYear() + ', this);return false;"') + ">" + (F && !D ? " " : L ? '<span class="ui-state-default">' + r.getDate() + "</span>" : '<a class="ui-state-default' + (r.getTime() == b.getTime() ? " ui-state-highlight" : "") + (r.getTime() == u.getTime() ? " ui-state-active" : "") + (F ? " ui-priority-secondary" : "") + '" href="#">' + r.getDate() + "</a>") + "</td>";
- r.setDate(r.getDate() + 1);
- r = this._daylightSavingAdjust(r)
- }
- y += R + "</tr>"
- }
- g++;
- if (g > 11) {
- g = 0;
- m++
- }
- y += "</tbody></table>" + (l ? "</div>" + (i[0] > 0 && G == i[1] - 1 ? '<div class="ui-datepicker-row-break"></div>' : "") : "");
- O += y
- }
- w += O
- }
- w += e + (d.browser.msie && parseInt(d.browser.version, 10) < 7 && !a.inline ? '<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>' : "");
- a._keyEvent = false;
- return w
- },
- _generateMonthYearHeader: function (a, b, c, e, f, h, i, g) {
- var j = this._get(a, "changeMonth"),
- l = this._get(a, "changeYear"),
- u = this._get(a, "showMonthAfterYear"),
- k = '<div class="ui-datepicker-title">',
- o = "";
- if (h || !j) o += '<span class="ui-datepicker-month">' + i[b] + "</span>";
- else {
- i = e && e.getFullYear() == c;
- var m = f && f.getFullYear() == c;
- o += '<select class="ui-datepicker-month" onchange="DP_jQuery_' + B + ".datepicker._selectMonthYear('#" + a.id + "', this, 'M');\" >";
- for (var n = 0; n < 12; n++) if ((!i || n >= e.getMonth()) && (!m || n <= f.getMonth())) o += '<option value="' + n + '"' + (n == b ? ' selected="selected"' : "") + ">" + g[n] + "</option>";
- o += "</select>"
- }
- u || (k += o + (h || !(j && l) ? " " : ""));
- if (!a.yearshtml) {
- a.yearshtml = "";
- if (h || !l) k += '<span class="ui-datepicker-year">' + c + "</span>";
- else {
- g = this._get(a, "yearRange").split(":");
- var s = (new Date).getFullYear();
- i = function (q) {
- q = q.match(/c[+-].*/) ? c + parseInt(q.substring(1), 10) : q.match(/[+-].*/) ? s + parseInt(q, 10) : parseInt(q, 10);
- return isNaN(q) ? s : q
- };
- b = i(g[0]);
- g = Math.max(b, i(g[1] || ""));
- b = e ? Math.max(b, e.getFullYear()) : b;
- g = f ? Math.min(g, f.getFullYear()) : g;
- for (a.yearshtml += '<select class="ui-datepicker-year" onchange="DP_jQuery_' + B + ".datepicker._selectMonthYear('#" + a.id + "', this, 'Y');\" >"; b <= g; b++) a.yearshtml += '<option value="' + b + '"' + (b == c ? ' selected="selected"' : "") + ">" + b + "</option>";
- a.yearshtml += "</select>";
- k += a.yearshtml;
- a.yearshtml = null
- }
- }
- k += this._get(a, "yearSuffix");
- if (u) k += (h || !(j && l) ? " " : "") + o;
- k += "</div>";
- return k
- },
- _adjustInstDate: function (a, b, c) {
- var e = a.drawYear + (c == "Y" ? b : 0),
- f = a.drawMonth + (c == "M" ? b : 0);
- b = Math.min(a.selectedDay, this._getDaysInMonth(e, f)) + (c == "D" ? b : 0);
- e = this._restrictMinMax(a, this._daylightSavingAdjust(new Date(e, f, b)));
- a.selectedDay = e.getDate();
- a.drawMonth = a.selectedMonth = e.getMonth();
- a.drawYear = a.selectedYear = e.getFullYear();
- if (c == "M" || c == "Y") this._notifyChange(a)
- },
- _restrictMinMax: function (a, b) {
- var c = this._getMinMaxDate(a, "min");
- a = this._getMinMaxDate(a, "max");
- b = c && b < c ? c : b;
- return b = a && b > a ? a : b
- },
- _notifyChange: function (a) {
- var b = this._get(a, "onChangeMonthYear");
- if (b) b.apply(a.input ? a.input[0] : null, [a.selectedYear, a.selectedMonth + 1, a])
- },
- _getNumberOfMonths: function (a) {
- a = this._get(a, "numberOfMonths");
- return a == null ? [1, 1] : typeof a == "number" ? [1, a] : a
- },
- _getMinMaxDate: function (a, b) {
- return this._determineDate(a, this._get(a, b + "Date"), null)
- },
- _getDaysInMonth: function (a, b) {
- return 32 - this._daylightSavingAdjust(new Date(a, b, 32)).getDate()
- },
- _getFirstDayOfMonth: function (a, b) {
- return (new Date(a, b, 1)).getDay()
- },
- _canAdjustMonth: function (a, b, c, e) {
- var f = this._getNumberOfMonths(a);
- c = this._daylightSavingAdjust(new Date(c, e + (b < 0 ? b : f[0] * f[1]), 1));
- b < 0 && c.setDate(this._getDaysInMonth(c.getFullYear(), c.getMonth()));
- return this._isInRange(a, c)
- },
- _isInRange: function (a, b) {
- var c = this._getMinMaxDate(a, "min");
- a = this._getMinMaxDate(a, "max");
- return (!c || b.getTime() >= c.getTime()) && (!a || b.getTime() <= a.getTime())
- },
- _getFormatConfig: function (a) {
- var b = this._get(a, "shortYearCutoff");
- b = typeof b != "string" ? b : (new Date).getFullYear() % 100 + parseInt(b, 10);
- return {
- shortYearCutoff: b,
- dayNamesShort: this._get(a, "dayNamesShort"),
- dayNames: this._get(a, "dayNames"),
- monthNamesShort: this._get(a, "monthNamesShort"),
- monthNames: this._get(a, "monthNames")
- }
- },
- _formatDate: function (a, b, c, e) {
- if (!b) {
- a.currentDay = a.selectedDay;
- a.currentMonth = a.selectedMonth;
- a.currentYear = a.selectedYear
- }
- b = b ? typeof b == "object" ? b : this._daylightSavingAdjust(new Date(e, c, b)) : this._daylightSavingAdjust(new Date(a.currentYear, a.currentMonth, a.currentDay));
- return this.formatDate(this._get(a, "dateFormat"), b, this._getFormatConfig(a))
- }
- });
- d.fn.datepicker = function (a) {
- if (!this.length) return this;
- if (!d.datepicker.initialized) {
- d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);
- d.datepicker.initialized = true
- }
- var b = Array.prototype.slice.call(arguments, 1);
- if (typeof a == "string" && (a == "isDisabled" || a == "getDate" || a == "widget")) return d.datepicker["_" + a + "Datepicker"].apply(d.datepicker, [this[0]].concat(b));
- if (a == "option" && arguments.length == 2 && typeof arguments[1] == "string") return d.datepicker["_" + a + "Datepicker"].apply(d.datepicker, [this[0]].concat(b));
- return this.each(function () {
- typeof a == "string" ? d.datepicker["_" + a + "Datepicker"].apply(d.datepicker, [this].concat(b)) : d.datepicker._attachDatepicker(this, a)
- })
- };
- d.datepicker = new M;
- d.datepicker.initialized = false;
- d.datepicker.uuid = (new Date).getTime();
- d.datepicker.version = "1.8.16";
- window["DP_jQuery_" + B] = d
- })(jQuery);;
- jQuery.effects || function (f, j) {
- function m(c) {
- var a;
- if (c && c.constructor == Array && c.length == 3) return c;
- if (a = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c)) return [parseInt(a[1], 10), parseInt(a[2], 10), parseInt(a[3], 10)];
- if (a = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c)) return [parseFloat(a[1]) * 2.55, parseFloat(a[2]) * 2.55, parseFloat(a[3]) * 2.55];
- if (a = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c)) return [parseInt(a[1], 16), parseInt(a[2], 16), parseInt(a[3], 16)];
- if (a = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c)) return [parseInt(a[1] + a[1], 16), parseInt(a[2] + a[2], 16), parseInt(a[3] + a[3], 16)];
- if (/rgba\(0, 0, 0, 0\)/.exec(c)) return n.transparent;
- return n[f.trim(c).toLowerCase()]
- }
- function s(c, a) {
- var b;
- do {
- b = f.curCSS(c, a);
- if (b != "" && b != "transparent" || f.nodeName(c, "body")) break;
- a = "backgroundColor"
- } while (c = c.parentNode);
- return m(b)
- }
- function o() {
- var c = document.defaultView ? document.defaultView.getComputedStyle(this, null) : this.currentStyle,
- a = {}, b, d;
- if (c && c.length && c[0] && c[c[0]]) for (var e = c.length; e--;) {
- b = c[e];
- if (typeof c[b] == "string") {
- d = b.replace(/\-(\w)/g, function (g, h) {
- return h.toUpperCase()
- });
- a[d] = c[b]
- }
- } else for (b in c) if (typeof c[b] === "string") a[b] = c[b];
- return a
- }
- function p(c) {
- var a, b;
- for (a in c) {
- b = c[a];
- if (b == null || f.isFunction(b) || a in t || /scrollbar/.test(a) || !/color/i.test(a) && isNaN(parseFloat(b))) delete c[a]
- }
- return c
- }
- function u(c, a) {
- var b = {
- _: 0
- }, d;
- for (d in a) if (c[d] != a[d]) b[d] = a[d];
- return b
- }
- function k(c, a, b, d) {
- if (typeof c == "object") {
- d = a;
- b = null;
- a = c;
- c = a.effect
- }
- if (f.isFunction(a)) {
- d = a;
- b = null;
- a = {}
- }
- if (typeof a == "number" || f.fx.speeds[a]) {
- d = b;
- b = a;
- a = {}
- }
- if (f.isFunction(b)) {
- d = b;
- b = null
- }
- a = a || {};
- b = b || a.duration;
- b = f.fx.off ? 0 : typeof b == "number" ? b : b in f.fx.speeds ? f.fx.speeds[b] : f.fx.speeds._default;
- d = d || a.complete;
- return [c, a, b, d]
- }
- function l(c) {
- if (!c || typeof c === "number" || f.fx.speeds[c]) return true;
- if (typeof c === "string" && !f.effects[c]) return true;
- return false
- }
- f.effects = {};
- f.each(["backgroundColor", "borderBottomColor", "borderLeftColor", "borderRightColor", "borderTopColor", "borderColor", "color", "outlineColor"], function (c, a) {
- f.fx.step[a] = function (b) {
- if (!b.colorInit) {
- b.start = s(b.elem, a);
- b.end = m(b.end);
- b.colorInit = true
- }
- b.elem.style[a] = "rgb(" + Math.max(Math.min(parseInt(b.pos * (b.end[0] - b.start[0]) + b.start[0], 10), 255), 0) + "," + Math.max(Math.min(parseInt(b.pos * (b.end[1] - b.start[1]) + b.start[1], 10), 255), 0) + "," + Math.max(Math.min(parseInt(b.pos * (b.end[2] - b.start[2]) + b.start[2], 10), 255), 0) + ")"
- }
- });
- var n = {
- aqua: [0, 255, 255],
- azure: [240, 255, 255],
- beige: [245, 245, 220],
- black: [0, 0, 0],
- blue: [0, 0, 255],
- brown: [165, 42, 42],
- cyan: [0, 255, 255],
- darkblue: [0, 0, 139],
- darkcyan: [0, 139, 139],
- darkgrey: [169, 169, 169],
- darkgreen: [0, 100, 0],
- darkkhaki: [189, 183, 107],
- darkmagenta: [139, 0, 139],
- darkolivegreen: [85, 107, 47],
- darkorange: [255, 140, 0],
- darkorchid: [153, 50, 204],
- darkred: [139, 0, 0],
- darksalmon: [233, 150, 122],
- darkviolet: [148, 0, 211],
- fuchsia: [255, 0, 255],
- gold: [255, 215, 0],
- green: [0, 128, 0],
- indigo: [75, 0, 130],
- khaki: [240, 230, 140],
- lightblue: [173, 216, 230],
- lightcyan: [224, 255, 255],
- lightgreen: [144, 238, 144],
- lightgrey: [211, 211, 211],
- lightpink: [255, 182, 193],
- lightyellow: [255, 255, 224],
- lime: [0, 255, 0],
- magenta: [255, 0, 255],
- maroon: [128, 0, 0],
- navy: [0, 0, 128],
- olive: [128, 128, 0],
- orange: [255, 165, 0],
- pink: [255, 192, 203],
- purple: [128, 0, 128],
- violet: [128, 0, 128],
- red: [255, 0, 0],
- silver: [192, 192, 192],
- white: [255, 255, 255],
- yellow: [255, 255, 0],
- transparent: [255, 255, 255]
- }, q = ["add", "remove", "toggle"],
- t = {
- border: 1,
- borderBottom: 1,
- borderColor: 1,
- borderLeft: 1,
- borderRight: 1,
- borderTop: 1,
- borderWidth: 1,
- margin: 1,
- padding: 1
- };
- f.effects.animateClass = function (c, a, b, d) {
- if (f.isFunction(b)) {
- d = b;
- b = null
- }
- return this.queue(function () {
- var e = f(this),
- g = e.attr("style") || " ",
- h = p(o.call(this)),
- r, v = e.attr("class");
- f.each(q, function (w, i) {
- c[i] && e[i + "Class"](c[i])
- });
- r = p(o.call(this));
- e.attr("class", v);
- e.animate(u(h, r), {
- queue: false,
- duration: a,
- easing: b,
- complete: function () {
- f.each(q, function (w, i) {
- c[i] && e[i + "Class"](c[i])
- });
- if (typeof e.attr("style") == "object") {
- e.attr("style").cssText = "";
- e.attr("style").cssText = g
- } else e.attr("style", g);
- d && d.apply(this, arguments);
- f.dequeue(this)
- }
- })
- })
- };
- f.fn.extend({
- _addClass: f.fn.addClass,
- addClass: function (c, a, b, d) {
- return a ? f.effects.animateClass.apply(this, [{
- add: c
- },
- a, b, d]) : this._addClass(c)
- },
- _removeClass: f.fn.removeClass,
- removeClass: function (c, a, b, d) {
- return a ? f.effects.animateClass.apply(this, [{
- remove: c
- },
- a, b, d]) : this._removeClass(c)
- },
- _toggleClass: f.fn.toggleClass,
- toggleClass: function (c, a, b, d, e) {
- return typeof a == "boolean" || a === j ? b ? f.effects.animateClass.apply(this, [a ? {
- add: c
- } : {
- remove: c
- },
- b, d, e]) : this._toggleClass(c, a) : f.effects.animateClass.apply(this, [{
- toggle: c
- },
- a, b, d])
- },
- switchClass: function (c, a, b, d, e) {
- return f.effects.animateClass.apply(this, [{
- add: a,
- remove: c
- },
- b, d, e])
- }
- });
- f.extend(f.effects, {
- version: "1.8.16",
- save: function (c, a) {
- for (var b = 0; b < a.length; b++) a[b] !== null && c.data("ec.storage." + a[b], c[0].style[a[b]])
- },
- restore: function (c, a) {
- for (var b = 0; b < a.length; b++) a[b] !== null && c.css(a[b], c.data("ec.storage." + a[b]))
- },
- setMode: function (c, a) {
- if (a == "toggle") a = c.is(":hidden") ? "show" : "hide";
- return a
- },
- getBaseline: function (c, a) {
- var b;
- switch (c[0]) {
- case "top":
- b = 0;
- break;
- case "middle":
- b = 0.5;
- break;
- case "bottom":
- b = 1;
- break;
- default:
- b = c[0] / a.height
- }
- switch (c[1]) {
- case "left":
- c = 0;
- break;
- case "center":
- c = 0.5;
- break;
- case "right":
- c = 1;
- break;
- default:
- c = c[1] / a.width
- }
- return {
- x: c,
- y: b
- }
- },
- createWrapper: function (c) {
- if (c.parent().is(".ui-effects-wrapper")) return c.parent();
- var a = {
- width: c.outerWidth(true),
- height: c.outerHeight(true),
- "float": c.css("float")
- }, b = f("<div></div>").addClass("ui-effects-wrapper").css({
- fontSize: "100%",
- background: "transparent",
- border: "none",
- margin: 0,
- padding: 0
- }),
- d = document.activeElement;
- c.wrap(b);
- if (c[0] === d || f.contains(c[0], d)) f(d).focus();
- b = c.parent();
- if (c.css("position") == "static") {
- b.css({
- position: "relative"
- });
- c.css({
- position: "relative"
- })
- } else {
- f.extend(a, {
- position: c.css("position"),
- zIndex: c.css("z-index")
- });
- f.each(["top", "left", "bottom", "right"], function (e, g) {
- a[g] = c.css(g);
- if (isNaN(parseInt(a[g], 10))) a[g] = "auto"
- });
- c.css({
- position: "relative",
- top: 0,
- left: 0,
- right: "auto",
- bottom: "auto"
- })
- }
- return b.css(a).show()
- },
- removeWrapper: function (c) {
- var a, b = document.activeElement;
- if (c.parent().is(".ui-effects-wrapper")) {
- a = c.parent().replaceWith(c);
- if (c[0] === b || f.contains(c[0], b)) f(b).focus();
- return a
- }
- return c
- },
- setTransition: function (c, a, b, d) {
- d = d || {};
- f.each(a, function (e, g) {
- unit = c.cssUnit(g);
- if (unit[0] > 0) d[g] = unit[0] * b + unit[1]
- });
- return d
- }
- });
- f.fn.extend({
- effect: function (c) {
- var a = k.apply(this, arguments),
- b = {
- options: a[1],
- duration: a[2],
- callback: a[3]
- };
- a = b.options.mode;
- var d = f.effects[c];
- if (f.fx.off || !d) return a ? this[a](b.duration, b.callback) : this.each(function () {
- b.callback && b.callback.call(this)
- });
- return d.call(this, b)
- },
- _show: f.fn.show,
- show: function (c) {
- if (l(c)) return this._show.apply(this, arguments);
- else {
- var a = k.apply(this, arguments);
- a[1].mode = "show";
- return this.effect.apply(this, a)
- }
- },
- _hide: f.fn.hide,
- hide: function (c) {
- if (l(c)) return this._hide.apply(this, arguments);
- else {
- var a = k.apply(this, arguments);
- a[1].mode = "hide";
- return this.effect.apply(this, a)
- }
- },
- __toggle: f.fn.toggle,
- toggle: function (c) {
- if (l(c) || typeof c === "boolean" || f.isFunction(c)) return this.__toggle.apply(this, arguments);
- else {
- var a = k.apply(this, arguments);
- a[1].mode = "toggle";
- return this.effect.apply(this, a)
- }
- },
- cssUnit: function (c) {
- var a = this.css(c),
- b = [];
- f.each(["em", "px", "%", "pt"], function (d, e) {
- if (a.indexOf(e) > 0) b = [parseFloat(a), e]
- });
- return b
- }
- });
- f.easing.jswing = f.easing.swing;
- f.extend(f.easing, {
- def: "easeOutQuad",
- swing: function (c, a, b, d, e) {
- return f.easing[f.easing.def](c, a, b, d, e)
- },
- easeInQuad: function (c, a, b, d, e) {
- return d * (a /= e) * a + b
- },
- easeOutQuad: function (c, a, b, d, e) {
- return -d * (a /= e) * (a - 2) + b
- },
- easeInOutQuad: function (c, a, b, d, e) {
- if ((a /= e / 2) < 1) return d / 2 * a * a + b;
- return -d / 2 * (--a * (a - 2) - 1) + b
- },
- easeInCubic: function (c, a, b, d, e) {
- return d * (a /= e) * a * a + b
- },
- easeOutCubic: function (c, a, b, d, e) {
- return d * ((a = a / e - 1) * a * a + 1) + b
- },
- easeInOutCubic: function (c, a, b, d, e) {
- if ((a /= e / 2) < 1) return d / 2 * a * a * a + b;
- return d / 2 * ((a -= 2) * a * a + 2) + b
- },
- easeInQuart: function (c, a, b, d, e) {
- return d * (a /= e) * a * a * a + b
- },
- easeOutQuart: function (c, a, b, d, e) {
- return -d * ((a = a / e - 1) * a * a * a - 1) + b
- },
- easeInOutQuart: function (c, a, b, d, e) {
- if ((a /= e / 2) < 1) return d / 2 * a * a * a * a + b;
- return -d / 2 * ((a -= 2) * a * a * a - 2) + b
- },
- easeInQuint: function (c, a, b, d, e) {
- return d * (a /= e) * a * a * a * a + b
- },
- easeOutQuint: function (c, a, b, d, e) {
- return d * ((a = a / e - 1) * a * a * a * a + 1) + b
- },
- easeInOutQuint: function (c, a, b, d, e) {
- if ((a /= e / 2) < 1) return d / 2 * a * a * a * a * a + b;
- return d / 2 * ((a -= 2) * a * a * a * a + 2) + b
- },
- easeInSine: function (c, a, b, d, e) {
- return -d * Math.cos(a / e * (Math.PI / 2)) + d + b
- },
- easeOutSine: function (c, a, b, d, e) {
- return d * Math.sin(a / e * (Math.PI / 2)) + b
- },
- easeInOutSine: function (c, a, b, d, e) {
- return -d / 2 * (Math.cos(Math.PI * a / e) - 1) + b
- },
- easeInExpo: function (c, a, b, d, e) {
- return a == 0 ? b : d * Math.pow(2, 10 * (a / e - 1)) + b
- },
- easeOutExpo: function (c, a, b, d, e) {
- return a == e ? b + d : d * (-Math.pow(2, - 10 * a / e) + 1) + b
- },
- easeInOutExpo: function (c, a, b, d, e) {
- if (a == 0) return b;
- if (a == e) return b + d;
- if ((a /= e / 2) < 1) return d / 2 * Math.pow(2, 10 * (a - 1)) + b;
- return d / 2 * (-Math.pow(2, - 10 * --a) + 2) + b
- },
- easeInCirc: function (c, a, b, d, e) {
- return -d * (Math.sqrt(1 - (a /= e) * a) - 1) + b
- },
- easeOutCirc: function (c, a, b, d, e) {
- return d * Math.sqrt(1 - (a = a / e - 1) * a) + b
- },
- easeInOutCirc: function (c, a, b, d, e) {
- if ((a /= e / 2) < 1) return -d / 2 * (Math.sqrt(1 - a * a) - 1) + b;
- return d / 2 * (Math.sqrt(1 - (a -= 2) * a) + 1) + b
- },
- easeInElastic: function (c, a, b, d, e) {
- c = 1.70158;
- var g = 0,
- h = d;
- if (a == 0) return b;
- if ((a /= e) == 1) return b + d;
- g || (g = e * 0.3);
- if (h < Math.abs(d)) {
- h = d;
- c = g / 4
- } else c = g / (2 * Math.PI) * Math.asin(d / h);
- return -(h * Math.pow(2, 10 * (a -= 1)) * Math.sin((a * e - c) * 2 * Math.PI / g)) + b
- },
- easeOutElastic: function (c, a, b, d, e) {
- c = 1.70158;
- var g = 0,
- h = d;
- if (a == 0) return b;
- if ((a /= e) == 1) return b + d;
- g || (g = e * 0.3);
- if (h < Math.abs(d)) {
- h = d;
- c = g / 4
- } else c = g / (2 * Math.PI) * Math.asin(d / h);
- return h * Math.pow(2, - 10 * a) * Math.sin((a * e - c) * 2 * Math.PI / g) + d + b
- },
- easeInOutElastic: function (c, a, b, d, e) {
- c = 1.70158;
- var g = 0,
- h = d;
- if (a == 0) return b;
- if ((a /= e / 2) == 2) return b + d;
- g || (g = e * 0.3 * 1.5);
- if (h < Math.abs(d)) {
- h = d;
- c = g / 4
- } else c = g / (2 * Math.PI) * Math.asin(d / h);
- if (a < 1) return -0.5 * h * Math.pow(2, 10 * (a -= 1)) * Math.sin((a * e - c) * 2 * Math.PI / g) + b;
- return h * Math.pow(2, - 10 * (a -= 1)) * Math.sin((a * e - c) * 2 * Math.PI / g) * 0.5 + d + b
- },
- easeInBack: function (c, a, b, d, e, g) {
- if (g == j) g = 1.70158;
- return d * (a /= e) * a * ((g + 1) * a - g) + b
- },
- easeOutBack: function (c, a, b, d, e, g) {
- if (g == j) g = 1.70158;
- return d * ((a = a / e - 1) * a * ((g + 1) * a + g) + 1) + b
- },
- easeInOutBack: function (c, a, b, d, e, g) {
- if (g == j) g = 1.70158;
- if ((a /= e / 2) < 1) return d / 2 * a * a * (((g *= 1.525) + 1) * a - g) + b;
- return d / 2 * ((a -= 2) * a * (((g *= 1.525) + 1) * a + g) + 2) + b
- },
- easeInBounce: function (c, a, b, d, e) {
- return d - f.easing.easeOutBounce(c, e - a, 0, d, e) + b
- },
- easeOutBounce: function (c, a, b, d, e) {
- return (a /= e) < 1 / 2.75 ? d * 7.5625 * a * a + b : a < 2 / 2.75 ? d * (7.5625 * (a -= 1.5 / 2.75) * a + 0.75) + b : a < 2.5 / 2.75 ? d * (7.5625 * (a -= 2.25 / 2.75) * a + 0.9375) + b : d * (7.5625 * (a -= 2.625 / 2.75) * a + 0.984375) + b
- },
- easeInOutBounce: function (c, a, b, d, e) {
- if (a < e / 2) return f.easing.easeInBounce(c, a * 2, 0, d, e) * 0.5 + b;
- return f.easing.easeOutBounce(c, a * 2 - e, 0, d, e) * 0.5 + d * 0.5 + b
- }
- })
- }(jQuery);;
- (function (b) {
- b.effects.blind = function (c) {
- return this.queue(function () {
- var a = b(this),
- g = ["position", "top", "bottom", "left", "right"],
- f = b.effects.setMode(a, c.options.mode || "hide"),
- d = c.options.direction || "vertical";
- b.effects.save(a, g);
- a.show();
- var e = b.effects.createWrapper(a).css({
- overflow: "hidden"
- }),
- h = d == "vertical" ? "height" : "width";
- d = d == "vertical" ? e.height() : e.width();
- f == "show" && e.css(h, 0);
- var i = {};
- i[h] = f == "show" ? d : 0;
- e.animate(i, c.duration, c.options.easing, function () {
- f == "hide" && a.hide();
- b.effects.restore(a, g);
- b.effects.removeWrapper(a);
- c.callback && c.callback.apply(a[0], arguments);
- a.dequeue()
- })
- })
- }
- })(jQuery);;
- (function (e) {
- e.effects.bounce = function (b) {
- return this.queue(function () {
- var a = e(this),
- l = ["position", "top", "bottom", "left", "right"],
- h = e.effects.setMode(a, b.options.mode || "effect"),
- d = b.options.direction || "up",
- c = b.options.distance || 20,
- m = b.options.times || 5,
- i = b.duration || 250;
- /show|hide/.test(h) && l.push("opacity");
- e.effects.save(a, l);
- a.show();
- e.effects.createWrapper(a);
- var f = d == "up" || d == "down" ? "top" : "left";
- d = d == "up" || d == "left" ? "pos" : "neg";
- c = b.options.distance || (f == "top" ? a.outerHeight({
- margin: true
- }) / 3 : a.outerWidth({
- margin: true
- }) / 3);
- if (h == "show") a.css("opacity", 0).css(f, d == "pos" ? -c : c);
- if (h == "hide") c /= m * 2;
- h != "hide" && m--;
- if (h == "show") {
- var g = {
- opacity: 1
- };
- g[f] = (d == "pos" ? "+=" : "-=") + c;
- a.animate(g, i / 2, b.options.easing);
- c /= 2;
- m--
- }
- for (g = 0; g < m; g++) {
- var j = {}, k = {};
- j[f] = (d == "pos" ? "-=" : "+=") + c;
- k[f] = (d == "pos" ? "+=" : "-=") + c;
- a.animate(j, i / 2, b.options.easing).animate(k, i / 2, b.options.easing);
- c = h == "hide" ? c * 2 : c / 2
- }
- if (h == "hide") {
- g = {
- opacity: 0
- };
- g[f] = (d == "pos" ? "-=" : "+=") + c;
- a.animate(g, i / 2, b.options.easing, function () {
- a.hide();
- e.effects.restore(a, l);
- e.effects.removeWrapper(a);
- b.callback && b.callback.apply(this, arguments)
- })
- } else {
- j = {};
- k = {};
- j[f] = (d == "pos" ? "-=" : "+=") + c;
- k[f] = (d == "pos" ? "+=" : "-=") + c;
- a.animate(j, i / 2, b.options.easing).animate(k, i / 2, b.options.easing, function () {
- e.effects.restore(a, l);
- e.effects.removeWrapper(a);
- b.callback && b.callback.apply(this, arguments)
- })
- }
- a.queue("fx", function () {
- a.dequeue()
- });
- a.dequeue()
- })
- }
- })(jQuery);;
- (function (b) {
- b.effects.fade = function (a) {
- return this.queue(function () {
- var c = b(this),
- d = b.effects.setMode(c, a.options.mode || "hide");
- c.animate({
- opacity: d
- }, {
- queue: false,
- duration: a.duration,
- easing: a.options.easing,
- complete: function () {
- a.callback && a.callback.apply(this, arguments);
- c.dequeue()
- }
- })
- })
- }
- })(jQuery);;
- (function (b) {
- b.effects.highlight = function (c) {
- return this.queue(function () {
- var a = b(this),
- e = ["backgroundImage", "backgroundColor", "opacity"],
- d = b.effects.setMode(a, c.options.mode || "show"),
- f = {
- backgroundColor: a.css("backgroundColor")
- };
- if (d == "hide") f.opacity = 0;
- b.effects.save(a, e);
- a.show().css({
- backgroundImage: "none",
- backgroundColor: c.options.color || "#ffff99"
- }).animate(f, {
- queue: false,
- duration: c.duration,
- easing: c.options.easing,
- complete: function () {
- d == "hide" && a.hide();
- b.effects.restore(a, e);
- d == "show" && !b.support.opacity && this.style.removeAttribute("filter");
- c.callback && c.callback.apply(this, arguments);
- a.dequeue()
- }
- })
- })
- }
- })(jQuery);;
- (function (d) {
- d.effects.pulsate = function (a) {
- return this.queue(function () {
- var b = d(this),
- c = d.effects.setMode(b, a.options.mode || "show");
- times = (a.options.times || 5) * 2 - 1;
- duration = a.duration ? a.duration / 2 : d.fx.speeds._default / 2;
- isVisible = b.is(":visible");
- animateTo = 0;
- if (!isVisible) {
- b.css("opacity", 0).show();
- animateTo = 1
- }
- if (c == "hide" && isVisible || c == "show" && !isVisible) times--;
- for (c = 0; c < times; c++) {
- b.animate({
- opacity: animateTo
- }, duration, a.options.easing);
- animateTo = (animateTo + 1) % 2
- }
- b.animate({
- opacity: animateTo
- }, duration, a.options.easing, function () {
- animateTo == 0 && b.hide();
- a.callback && a.callback.apply(this, arguments)
- });
- b.queue("fx", function () {
- b.dequeue()
- }).dequeue()
- })
- }
- })(jQuery);;
- (function (c) {
- c.effects.puff = function (b) {
- return this.queue(function () {
- var a = c(this),
- e = c.effects.setMode(a, b.options.mode || "hide"),
- g = parseInt(b.options.percent, 10) || 150,
- h = g / 100,
- i = {
- height: a.height(),
- width: a.width()
- };
- c.extend(b.options, {
- fade: true,
- mode: e,
- percent: e == "hide" ? g : 100,
- from: e == "hide" ? i : {
- height: i.height * h,
- width: i.width * h
- }
- });
- a.effect("scale", b.options, b.duration, b.callback);
- a.dequeue()
- })
- };
- c.effects.scale = function (b) {
- return this.queue(function () {
- var a = c(this),
- e = c.extend(true, {}, b.options),
- g = c.effects.setMode(a, b.options.mode || "effect"),
- h = parseInt(b.options.percent, 10) || (parseInt(b.options.percent, 10) == 0 ? 0 : g == "hide" ? 0 : 100),
- i = b.options.direction || "both",
- f = b.options.origin;
- if (g != "effect") {
- e.origin = f || ["middle", "center"];
- e.restore = true
- }
- f = {
- height: a.height(),
- width: a.width()
- };
- a.from = b.options.from || (g == "show" ? {
- height: 0,
- width: 0
- } : f);
- h = {
- y: i != "horizontal" ? h / 100 : 1,
- x: i != "vertical" ? h / 100 : 1
- };
- a.to = {
- height: f.height * h.y,
- width: f.width * h.x
- };
- if (b.options.fade) {
- if (g == "show") {
- a.from.opacity = 0;
- a.to.opacity = 1
- }
- if (g == "hide") {
- a.from.opacity = 1;
- a.to.opacity = 0
- }
- }
- e.from = a.from;
- e.to = a.to;
- e.mode = g;
- a.effect("size", e, b.duration, b.callback);
- a.dequeue()
- })
- };
- c.effects.size = function (b) {
- return this.queue(function () {
- var a = c(this),
- e = ["position", "top", "bottom", "left", "right", "width", "height", "overflow", "opacity"],
- g = ["position", "top", "bottom", "left", "right", "overflow", "opacity"],
- h = ["width", "height", "overflow"],
- i = ["fontSize"],
- f = ["borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom"],
- k = ["borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight"],
- p = c.effects.setMode(a, b.options.mode || "effect"),
- n = b.options.restore || false,
- m = b.options.scale || "both",
- l = b.options.origin,
- j = {
- height: a.height(),
- width: a.width()
- };
- a.from = b.options.from || j;
- a.to = b.options.to || j;
- if (l) {
- l = c.effects.getBaseline(l, j);
- a.from.top = (j.height - a.from.height) * l.y;
- a.from.left = (j.width - a.from.width) * l.x;
- a.to.top = (j.height - a.to.height) * l.y;
- a.to.left = (j.width - a.to.width) * l.x
- }
- var d = {
- from: {
- y: a.from.height / j.height,
- x: a.from.width / j.width
- },
- to: {
- y: a.to.height / j.height,
- x: a.to.width / j.width
- }
- };
- if (m == "box" || m == "both") {
- if (d.from.y != d.to.y) {
- e = e.concat(f);
- a.from = c.effects.setTransition(a, f, d.from.y, a.from);
- a.to = c.effects.setTransition(a, f, d.to.y, a.to)
- }
- if (d.from.x != d.to.x) {
- e = e.concat(k);
- a.from = c.effects.setTransition(a, k, d.from.x, a.from);
- a.to = c.effects.setTransition(a, k, d.to.x, a.to)
- }
- }
- if (m == "content" || m == "both") if (d.from.y != d.to.y) {
- e = e.concat(i);
- a.from = c.effects.setTransition(a, i, d.from.y, a.from);
- a.to = c.effects.setTransition(a, i, d.to.y, a.to)
- }
- c.effects.save(a, n ? e : g);
- a.show();
- c.effects.createWrapper(a);
- a.css("overflow", "hidden").css(a.from);
- if (m == "content" || m == "both") {
- f = f.concat(["marginTop", "marginBottom"]).concat(i);
- k = k.concat(["marginLeft", "marginRight"]);
- h = e.concat(f).concat(k);
- a.find("*[width]").each(function () {
- child = c(this);
- n && c.effects.save(child, h);
- var o = {
- height: child.height(),
- width: child.width()
- };
- child.from = {
- height: o.height * d.from.y,
- width: o.width * d.from.x
- };
- child.to = {
- height: o.height * d.to.y,
- width: o.width * d.to.x
- };
- if (d.from.y != d.to.y) {
- child.from = c.effects.setTransition(child, f, d.from.y, child.from);
- child.to = c.effects.setTransition(child, f, d.to.y, child.to)
- }
- if (d.from.x != d.to.x) {
- child.from = c.effects.setTransition(child, k, d.from.x, child.from);
- child.to = c.effects.setTransition(child, k, d.to.x, child.to)
- }
- child.css(child.from);
- child.animate(child.to, b.duration, b.options.easing, function () {
- n && c.effects.restore(child, h)
- })
- })
- }
- a.animate(a.to, {
- queue: false,
- duration: b.duration,
- easing: b.options.easing,
- complete: function () {
- a.to.opacity === 0 && a.css("opacity", a.from.opacity);
- p == "hide" && a.hide();
- c.effects.restore(a, n ? e : g);
- c.effects.removeWrapper(a);
- b.callback && b.callback.apply(this, arguments);
- a.dequeue()
- }
- })
- })
- }
- })(jQuery);;
- (function (d) {
- d.effects.shake = function (a) {
- return this.queue(function () {
- var b = d(this),
- j = ["position", "top", "bottom", "left", "right"];
- d.effects.setMode(b, a.options.mode || "effect");
- var c = a.options.direction || "left",
- e = a.options.distance || 20,
- l = a.options.times || 3,
- f = a.duration || a.options.duration || 140;
- d.effects.save(b, j);
- b.show();
- d.effects.createWrapper(b);
- var g = c == "up" || c == "down" ? "top" : "left",
- h = c == "up" || c == "left" ? "pos" : "neg";
- c = {};
- var i = {}, k = {};
- c[g] = (h == "pos" ? "-=" : "+=") + e;
- i[g] = (h == "pos" ? "+=" : "-=") + e * 2;
- k[g] = (h == "pos" ? "-=" : "+=") + e * 2;
- b.animate(c, f, a.options.easing);
- for (e = 1; e < l; e++) b.animate(i, f, a.options.easing).animate(k, f, a.options.easing);
- b.animate(i, f, a.options.easing).animate(c, f / 2, a.options.easing, function () {
- d.effects.restore(b, j);
- d.effects.removeWrapper(b);
- a.callback && a.callback.apply(this, arguments)
- });
- b.queue("fx", function () {
- b.dequeue()
- });
- b.dequeue()
- })
- }
- })(jQuery);;
- (function (e) {
- e.effects.transfer = function (a) {
- return this.queue(function () {
- var b = e(this),
- c = e(a.options.to),
- d = c.offset();
- c = {
- top: d.top,
- left: d.left,
- height: c.innerHeight(),
- width: c.innerWidth()
- };
- d = b.offset();
- var f = e('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(a.options.className).css({
- top: d.top,
- left: d.left,
- height: b.innerHeight(),
- width: b.innerWidth(),
- position: "absolute"
- }).animate(c, a.duration, a.options.easing, function () {
- f.remove();
- a.callback && a.callback.apply(b[0], arguments);
- b.dequeue()
- })
- })
- }
- })(jQuery);;
- jQuery.easing['jswing'] = jQuery.easing['swing'];
- jQuery.extend(jQuery.easing, {
- def: 'easeOutQuad',
- swing: function (x, t, b, c, d) {
- return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
- },
- easeInQuad: function (x, t, b, c, d) {
- return c * (t /= d) * t + b;
- },
- easeOutQuad: function (x, t, b, c, d) {
- return -c * (t /= d) * (t - 2) + b;
- },
- easeInOutQuad: function (x, t, b, c, d) {
- if ((t /= d / 2) < 1) return c / 2 * t * t + b;
- return -c / 2 * ((--t) * (t - 2) - 1) + b;
- },
- easeInCubic: function (x, t, b, c, d) {
- return c * (t /= d) * t * t + b;
- },
- easeOutCubic: function (x, t, b, c, d) {
- return c * ((t = t / d - 1) * t * t + 1) + b;
- },
- easeInOutCubic: function (x, t, b, c, d) {
- if ((t /= d / 2) < 1) return c / 2 * t * t * t + b;
- return c / 2 * ((t -= 2) * t * t + 2) + b;
- },
- easeInQuart: function (x, t, b, c, d) {
- return c * (t /= d) * t * t * t + b;
- },
- easeOutQuart: function (x, t, b, c, d) {
- return -c * ((t = t / d - 1) * t * t * t - 1) + b;
- },
- easeInOutQuart: function (x, t, b, c, d) {
- if ((t /= d / 2) < 1) return c / 2 * t * t * t * t + b;
- return -c / 2 * ((t -= 2) * t * t * t - 2) + b;
- },
- easeInQuint: function (x, t, b, c, d) {
- return c * (t /= d) * t * t * t * t + b;
- },
- easeOutQuint: function (x, t, b, c, d) {
- return c * ((t = t / d - 1) * t * t * t * t + 1) + b;
- },
- easeInOutQuint: function (x, t, b, c, d) {
- if ((t /= d / 2) < 1) return c / 2 * t * t * t * t * t + b;
- return c / 2 * ((t -= 2) * t * t * t * t + 2) + b;
- },
- easeInSine: function (x, t, b, c, d) {
- return -c * Math.cos(t / d * (Math.PI / 2)) + c + b;
- },
- easeOutSine: function (x, t, b, c, d) {
- return c * Math.sin(t / d * (Math.PI / 2)) + b;
- },
- easeInOutSine: function (x, t, b, c, d) {
- return -c / 2 * (Math.cos(Math.PI * t / d) - 1) + b;
- },
- easeInExpo: function (x, t, b, c, d) {
- return (t == 0) ? b : c * Math.pow(2, 10 * (t / d - 1)) + b;
- },
- easeOutExpo: function (x, t, b, c, d) {
- return (t == d) ? b + c : c * (-Math.pow(2, - 10 * t / d) + 1) + b;
- },
- easeInOutExpo: function (x, t, b, c, d) {
- if (t == 0) return b;
- if (t == d) return b + c;
- if ((t /= d / 2) < 1) return c / 2 * Math.pow(2, 10 * (t - 1)) + b;
- return c / 2 * (-Math.pow(2, - 10 * --t) + 2) + b;
- },
- easeInCirc: function (x, t, b, c, d) {
- return -c * (Math.sqrt(1 - (t /= d) * t) - 1) + b;
- },
- easeOutCirc: function (x, t, b, c, d) {
- return c * Math.sqrt(1 - (t = t / d - 1) * t) + b;
- },
- easeInOutCirc: function (x, t, b, c, d) {
- if ((t /= d / 2) < 1) return -c / 2 * (Math.sqrt(1 - t * t) - 1) + b;
- return c / 2 * (Math.sqrt(1 - (t -= 2) * t) + 1) + b;
- },
- easeInElastic: function (x, t, b, c, d) {
- var s = 1.70158;
- var p = 0;
- var a = c;
- if (t == 0) return b;
- if ((t /= d) == 1) return b + c;
- if (!p) p = d * .3;
- if (a < Math.abs(c)) {
- a = c;
- var s = p / 4;
- } else var s = p / (2 * Math.PI) * Math.asin(c / a);
- return -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b;
- },
- easeOutElastic: function (x, t, b, c, d) {
- var s = 1.70158;
- var p = 0;
- var a = c;
- if (t == 0) return b;
- if ((t /= d) == 1) return b + c;
- if (!p) p = d * .3;
- if (a < Math.abs(c)) {
- a = c;
- var s = p / 4;
- } else var s = p / (2 * Math.PI) * Math.asin(c / a);
- return a * Math.pow(2, - 10 * t) * Math.sin((t * d - s) * (2 * Math.PI) / p) + c + b;
- },
- easeInOutElastic: function (x, t, b, c, d) {
- var s = 1.70158;
- var p = 0;
- var a = c;
- if (t == 0) return b;
- if ((t /= d / 2) == 2) return b + c;
- if (!p) p = d * (.3 * 1.5);
- if (a < Math.abs(c)) {
- a = c;
- var s = p / 4;
- } else var s = p / (2 * Math.PI) * Math.asin(c / a);
- if (t < 1) return -.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b;
- return a * Math.pow(2, - 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p) * .5 + c + b;
- },
- easeInBack: function (x, t, b, c, d, s) {
- if (s == undefined) s = 1.70158;
- return c * (t /= d) * t * ((s + 1) * t - s) + b;
- },
- easeOutBack: function (x, t, b, c, d, s) {
- if (s == undefined) s = 1.70158;
- return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b;
- },
- easeInOutBack: function (x, t, b, c, d, s) {
- if (s == undefined) s = 1.70158;
- if ((t /= d / 2) < 1) return c / 2 * (t * t * (((s *= (1.525)) + 1) * t - s)) + b;
- return c / 2 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2) + b;
- },
- easeInBounce: function (x, t, b, c, d) {
- return c - jQuery.easing.easeOutBounce(x, d - t, 0, c, d) + b;
- },
- easeOutBounce: function (x, t, b, c, d) {
- if ((t /= d) < (1 / 2.75)) {
- return c * (7.5625 * t * t) + b;
- } else if (t < (2 / 2.75)) {
- return c * (7.5625 * (t -= (1.5 / 2.75)) * t + .75) + b;
- } else if (t < (2.5 / 2.75)) {
- return c * (7.5625 * (t -= (2.25 / 2.75)) * t + .9375) + b;
- } else {
- return c * (7.5625 * (t -= (2.625 / 2.75)) * t + .984375) + b;
- }
- },
- easeInOutBounce: function (x, t, b, c, d) {
- if (t < d / 2) return jQuery.easing.easeInBounce(x, t * 2, 0, c, d) * .5 + b;
- return jQuery.easing.easeOutBounce(x, t * 2 - d, 0, c, d) * .5 + c * .5 + b;
- }
- });
- (function ($) {
- $.fn.stickyPanel = function (options) {
- var options = $.extend({}, $.fn.stickyPanel.defaults, options);
- return this.each(function () {
- $(window).bind("scroll.stickyPanel", {
- selected: $(this),
- options: options
- }, Scroll);
- });
- };
- function Scroll(event) {
- var node = event.data.selected;
- var o = event.data.options;
- var isMobile = navigator.userAgent.toLowerCase().indexOf('mobile') > 0;
- var windowHeight = $(window).height();
- var nodeHeight = node.outerHeight(true);
- var scrollTop = $(document).scrollTop();
- if (!isMobile && scrollTop <= $(document).height() - windowHeight && scrollTop > node.offset().top - o.topPadding) {
- var newNodeTop = 0;
- if (o.topPadding != "undefined") {
- newNodeTop = newNodeTop + o.topPadding;
- }
- var nodeLeft = node.offset().left;
- node.data("PanelsTop", node.offset().top - newNodeTop);
- if (o.savePanelSpace == true) {
- var nodeWidth = node.outerWidth(true);
- var nodeCssfloat = node.css("float");
- var nodeCssdisplay = node.css("display");
- var randomNum = Math.ceil(Math.random() * 9999);
- node.data("PanelSpaceID", "stickyPanelSpace" + randomNum);
- node.before("<div id='" + node.data("PanelSpaceID") + "' style='width:" + nodeWidth + "px;height:" + nodeHeight + "px;float:" + nodeCssfloat + ";display:" + nodeCssdisplay + ";'> </div>");
- }
- if (o.afterDetachCSSClass != "") {
- node.addClass(o.afterDetachCSSClass);
- }
- node.data("Original_Inline_CSS", (!node.attr("style") ? "" : node.attr("style")));
- node.css({
- "margin": 0,
- "left": nodeLeft,
- "top": newNodeTop,
- "position": "fixed"
- });
- }
- if (scrollTop <= node.data("PanelsTop") && node.css("top") != "auto") {
- if (o.savePanelSpace == true) {
- $("#" + node.data("PanelSpaceID")).remove();
- }
- node.attr("style", node.data("Original_Inline_CSS"));
- if (o.afterDetachCSSClass != "") {
- node.removeClass(o.afterDetachCSSClass);
- }
- }
- };
- $.fn.stickyPanel.defaults = {
- topPadding: 0,
- afterDetachCSSClass: "",
- savePanelSpace: false
- };
- })(jQuery);
- (function () {
- function L(a, b) {
- var c;
- a || (a = {});
- for (c in b) a[c] = b[c];
- return a
- }
- function za() {
- for (var a = 0, b = arguments, c = b.length, d = {}; a < c; a++) d[b[a++]] = b[a];
- return d
- }
- function S(a, b) {
- return parseInt(a, b || 10)
- }
- function Ab(a) {
- return typeof a === "string"
- }
- function mb(a) {
- return typeof a === "object"
- }
- function Fb(a) {
- return Object.prototype.toString.call(a) === "[object Array]"
- }
- function Bb(a) {
- return typeof a === "number"
- }
- function nb(a) {
- return oa.log(a) / oa.LN10
- }
- function cb(a) {
- return oa.pow(10, a)
- }
- function Gb(a, b) {
- for (var c = a.length; c--;) if (a[c] === b) {
- a.splice(c, 1);
- break
- }
- }
- function s(a) {
- return a !== X && a !== null
- }
- function A(a, b, c) {
- var d, e;
- if (Ab(b)) s(c) ? a.setAttribute(b, c) : a && a.getAttribute && (e = a.getAttribute(b));
- else if (s(b) && mb(b)) for (d in b) a.setAttribute(d, b[d]);
- return e
- }
- function Hb(a) {
- return Fb(a) ? a : [a]
- }
- function p() {
- var a = arguments,
- b, c, d = a.length;
- for (b = 0; b < d; b++) if (c = a[b], typeof c !== "undefined" && c !== null) return c
- }
- function P(a, b) {
- if (Qb && b && b.opacity !== X) b.filter = "alpha(opacity=" + b.opacity * 100 + ")";
- L(a.style, b)
- }
- function Aa(a, b, c, d, e) {
- a = x.createElement(a);
- b && L(a, b);
- e && P(a, {
- padding: 0,
- border: Ma,
- margin: 0
- });
- c && P(a, c);
- d && d.appendChild(a);
- return a
- }
- function pa(a, b) {
- var c = function () {};
- c.prototype = new a;
- L(c.prototype, b);
- return c
- }
- function dc(a, b, c, d) {
- var e = Ea.lang,
- f = isNaN(b = Ba(b)) ? 2 : b,
- b = c === void 0 ? e.decimalPoint : c,
- d = d === void 0 ? e.thousandsSep : d,
- e = a < 0 ? "-" : "",
- c = String(S(a = Ba(+a || 0).toFixed(f))),
- g = c.length > 3 ? c.length % 3 : 0;
- return e + (g ? c.substr(0, g) + d : "") + c.substr(g).replace(/(\d{3})(?=\d)/g, "$1" + d) + (f ? b + Ba(a - c).toFixed(f).slice(2) : "")
- }
- function Na(a, b) {
- return Array((b || 2) + 1 - String(a).length).join(0) + a
- }
- function ec(a, b, c, d) {
- var e, c = p(c, 1);
- e = a / c;
- b || (b = [1, 2, 2.5, 5, 10], d && d.allowDecimals === !1 && (c === 1 ? b = [1, 2, 5, 10] : c <= 0.1 && (b = [1 / c])));
- for (d = 0; d < b.length; d++) if (a = b[d], e <= (b[d] + (b[d + 1] || b[d])) / 2) break;
- a *= c;
- return a
- }
- function Kc(a, b) {
- var c = b || [
- [Rb, [1, 2, 5, 10, 20, 25, 50, 100, 200, 500]],
- [ob, [1, 2, 5, 10, 15, 30]],
- [pb, [1, 2, 5, 10, 15, 30]],
- [va, [1, 2, 3, 4, 6, 8, 12]],
- [Ca, [1, 2]],
- [Ya, [1, 2]],
- [Da, [1, 2, 3, 4, 6]],
- [Za, null]
- ],
- d = c[c.length - 1],
- e = E[d[0]],
- f = d[1],
- g;
- for (g = 0; g < c.length; g++) if (d = c[g], e = E[d[0]], f = d[1], c[g + 1] && a <= (e * f[f.length - 1] + E[c[g + 1][0]]) / 2) break;
- e === E[Za] && a < 5 * e && (f = [1, 2, 5]);
- e === E[Za] && a < 5 * e && (f = [1, 2, 5]);
- c = ec(a / e, f);
- return {
- unitRange: e,
- count: c,
- unitName: d[0]
- }
- }
- function Lc(a, b, c, d) {
- var e = [],
- f = {}, g = Ea.global.useUTC,
- h, i = new Date(b),
- b = a.unitRange,
- k = a.count;
- b >= E[ob] && (i.setMilliseconds(0), i.setSeconds(b >= E[pb] ? 0 : k * Ta(i.getSeconds() / k)));
- if (b >= E[pb]) i[pc](b >= E[va] ? 0 : k * Ta(i[fc]() / k));
- if (b >= E[va]) i[qc](b >= E[Ca] ? 0 : k * Ta(i[gc]() / k));
- if (b >= E[Ca]) i[hc](b >= E[Da] ? 1 : k * Ta(i[db]() / k));
- b >= E[Da] && (i[rc](b >= E[Za] ? 0 : k * Ta(i[qb]() / k)), h = i[rb]());
- b >= E[Za] && (h -= h % k, i[sc](h));
- if (b === E[Ya]) i[hc](i[db]() - i[ic]() + p(d, 1));
- d = 1;
- h = i[rb]();
- for (var j = i.getTime(), l = i[qb](), i = i[db](); j < c;) e.push(j), b === E[Za] ? j = sb(h + d * k, 0) : b === E[Da] ? j = sb(h, l + d * k) : !g && (b === E[Ca] || b === E[Ya]) ? j = sb(h, l, i + d * k * (b === E[Ca] ? 1 : 7)) : (j += b * k, b <= E[va] && j % E[Ca] === 0 && (f[j] = Ca)), d++;
- e.push(j);
- e.info = L(a, {
- higherRanks: f,
- totalRange: b * k
- });
- return e
- }
- function tc() {
- this.symbol = this.color = 0
- }
- function uc(a, b, c, d, e, f, g, h, i) {
- var k = g.x,
- g = g.y,
- i = k + c + (i ? h : -a - h),
- j = g - b + d + 15,
- l;
- i < 7 && (i = c + k + h);
- i + a > c + e && (i -= i + a - (c + e), j = g - b + d - h, l = !0);
- j < d + 5 ? (j = d + 5, l && g >= j && g <= j + b && (j = g + d + h)) : j + b > d + f && (j = d + f - b - h);
- return {
- x: i,
- y: j
- }
- }
- function Mc(a, b) {
- var c = a.length,
- d, e;
- for (e = 0; e < c; e++) a[e].ss_i = e;
- a.sort(function (a, c) {
- d = b(a, c);
- return d === 0 ? a.ss_i - c.ss_i : d
- });
- for (e = 0; e < c; e++) delete a[e].ss_i
- }
- function Sb(a) {
- for (var b = a.length, c = a[0]; b--;) a[b] < c && (c = a[b]);
- return c
- }
- function Ib(a) {
- for (var b = a.length, c = a[0]; b--;) a[b] > c && (c = a[b]);
- return c
- }
- function Jb(a) {
- for (var b in a) a[b] && a[b].destroy && a[b].destroy(), delete a[b]
- }
- function Tb(a) {
- tb || (tb = Aa(Ra));
- a && tb.appendChild(a);
- tb.innerHTML = ""
- }
- function jc(a, b) {
- var c = "Highcharts error #" + a + ": www.highcharts.com/errors/" + a;
- if (b) throw c;
- else ca.console && console.log(c)
- }
- function Cb(a) {
- return parseFloat(a.toPrecision(14))
- }
- function Kb(a, b) {
- Ub = p(a, b.animation)
- }
- function vc() {
- var a = Ea.global.useUTC,
- b = a ? "getUTC" : "get",
- c = a ? "setUTC" : "set";
- sb = a ? Date.UTC : function (a, b, c, g, h, i) {
- return (new Date(a, b, p(c, 1), p(g, 0), p(h, 0), p(i, 0))).getTime()
- };
- fc = b + "Minutes";
- gc = b + "Hours";
- ic = b + "Day";
- db = b + "Date";
- qb = b + "Month";
- rb = b + "FullYear";
- pc = c + "Minutes";
- qc = c + "Hours";
- hc = c + "Date";
- rc = c + "Month";
- sc = c + "FullYear"
- }
- function Sa() {}
- function wc(a, b) {
- function c(a) {
- function b(a, c) {
- this.pos = a;
- this.type = c || "";
- this.isNew = !0;
- c || this.addLabel()
- }
- function c(a) {
- if (a) this.options = a, this.id = a.id;
- return this
- }
- function d(a, b, c, e) {
- this.isNegative = b;
- this.options = a;
- this.x = c;
- this.stack = e;
- this.alignOptions = {
- align: a.align || (U ? b ? "left" : "right" : "center"),
- verticalAlign: a.verticalAlign || (U ? "middle" : b ? "bottom" : "top"),
- y: p(a.y, U ? 4 : b ? 14 : -6),
- x: p(a.x, U ? b ? -6 : 6 : 0)
- };
- this.textAlign = a.textAlign || (U ? b ? "right" : "left" : "center")
- }
- function e() {
- var a = [],
- b = [],
- c;
- C = M = null;
- o(B.series, function (e) {
- if (e.visible || !q.ignoreHiddenSeries) {
- var f = e.options,
- g, h, i, j, k, m, l, n, Y, ea = f.threshold,
- B, o = [],
- xc = 0;
- if (R && ea <= 0) ea = f.threshold = null;
- if (t) f = e.xData, f.length && (C = Ua(p(C, f[0]), Sb(f)), M = W(p(M, f[0]), Ib(f)));
- else {
- var y, r, G, v = e.cropped,
- Z = e.xAxis.getExtremes(),
- V = !! e.modifyValue;
- g = f.stacking;
- Ha = g === "percent";
- if (g) k = f.stack, j = e.type + p(k, ""), m = "-" + j, e.stackKey = j, h = a[j] || [], a[j] = h, i = b[m] || [], b[m] = i;
- Ha && (C = 0, M = 99);
- f = e.processedXData;
- l = e.processedYData;
- B = l.length;
- for (c = 0; c < B; c++) if (n = f[c], Y = l[c], Y !== null && Y !== X && (g ? (r = (y = Y < ea) ? i : h, G = y ? m : j, Y = r[n] = s(r[n]) ? r[n] + Y : Y, qa[G] || (qa[G] = {}), qa[G][n] || (qa[G][n] = new d(u.stackLabels, y, n, k)), qa[G][n].setTotal(Y)) : V && (Y = e.modifyValue(Y)), v || (f[c + 1] || n) >= Z.min && (f[c - 1] || n) <= Z.max)) if (n = Y.length) for (; n--;) Y[n] !== null && (o[xc++] = Y[n]);
- else o[xc++] = Y;
- !Ha && o.length && (C = Ua(p(C, o[0]), Sb(o)), M = W(p(M, o[0]), Ib(o)));
- s(ea) && (C >= ea ? (C = ea, Ma = !0) : M < ea && (M = ea, Na = !0))
- }
- }
- })
- }
- function f(a, b, c) {
- for (var d, b = Cb(Ta(b / a) * a), c = Cb(Yb(c / a) * a), e = []; b <= c;) {
- e.push(b);
- b = Cb(b + a);
- if (b === d) break;
- d = b
- }
- return e
- }
- function g(a, b, c, d) {
- var e = [];
- if (!d) B._minorAutoInterval = null;
- if (a >= 0.5) a = z(a), e = f(a, b, c);
- else if (a >= 0.08) {
- var h = Ta(b),
- i, j, k, n, m, l;
- for (i = a > 0.3 ? [1, 2, 4] : a > 0.15 ? [1, 2, 4, 6, 8] : [1, 2, 3, 4, 5, 6, 7, 8, 9]; h < c + 1 && !l; h++) {
- k = i.length;
- for (j = 0; j < k && !l; j++) n = nb(cb(h) * i[j]), n > b && e.push(m), m > c && (l = !0), m = n
- }
- } else if (b = cb(b), c = cb(c), a = u[d ? "minorTickInterval" : "tickInterval"], a = p(a === "auto" ? null : a, B._minorAutoInterval, (c - b) * (u.tickPixelInterval / (d ? 5 : 1)) / ((d ? D / N.length : D) || 1)), a = ec(a, null, oa.pow(10, Ta(oa.log(a) / oa.LN10))), e = Vb(f(a, b, c), nb), !d) B._minorAutoInterval = a / 5;
- d || (Oa = a);
- return e
- }
- function h() {
- var a = [],
- b, c;
- if (R) {
- c = N.length;
- for (b = 1; b < c; b++) a = a.concat(g(Ga, N[b - 1], N[b], !0))
- } else for (b = F + (N[0] - F) % Ga; b <= H; b += Ga) a.push(b);
- return a
- }
- function i() {
- var a, b = M - C >= fb,
- c, d, e, f, g, h;
- t && fb === X && !R && (s(u.min) || s(u.max) ? fb = null : (o(B.series, function (a) {
- f = a.xData;
- for (d = g = a.xIncrement ? 1 : f.length - 1; d > 0; d--) if (e = f[d] - f[d - 1], c === X || e < c) c = e
- }), fb = Ua(c * 5, M - C)));
- H - F < fb && (a = (fb - H + F) / 2, a = [F - a, p(u.min, F - a)], b && (a[2] = C), F = Ib(a), h = [F + fb, p(u.max, F + fb)], b && (h[2] = M), H = Sb(h), H - F < fb && (a[0] = H - fb, a[1] = p(u.min, H - fb), F = Ib(a)))
- }
- function j(a) {
- var b, c = u.tickInterval,
- d = u.tickPixelInterval;
- da ? (na = m[t ? "xAxis" : "yAxis"][u.linkedTo], b = na.getExtremes(), F = p(b.min, b.dataMin), H = p(b.max, b.dataMax), u.type !== na.options.type && jc(11, 1)) : (F = p(ba, u.min, C), H = p(ca, u.max, M));
- R && (!a && Ua(F, C) <= 0 && jc(10, 1), F = nb(F), H = nb(H));
- ja && (ba = F = W(F, H - ja), ca = H, a && (ja = null));
- i();
- if (!Va && !Ha && !da && s(F) && s(H)) {
- b = H - F || 1;
- if (!s(u.min) && !s(ba) && Ea && (C < 0 || !Ma)) F -= b * Ea;
- if (!s(u.max) && !s(ca) && Ja && (M > 0 || !Na)) H += b * Ja
- }
- Oa = F === H || F === void 0 || H === void 0 ? 1 : da && !c && d === na.options.tickPixelInterval ? na.tickInterval : p(c, Va ? 1 : (H - F) * d / (D || 1));
- t && !a && o(B.series, function (a) {
- a.processData(F !== ma || H !== za)
- });
- ib();
- B.beforeSetTickPositions && B.beforeSetTickPositions();
- B.postProcessTickInterval && (Oa = B.postProcessTickInterval(Oa));
- !V && !R && (Wa = oa.pow(10, Ta(oa.log(Oa) / oa.LN10)), s(u.tickInterval) || (Oa = ec(Oa, null, Wa, u)));
- B.tickInterval = Oa;
- Ga = u.minorTickInterval === "auto" && Oa ? Oa / 5 : u.minorTickInterval;
- (N = u.tickPositions || Xa && Xa.apply(B, [F, H])) || (N = V ? (B.getNonLinearTimeTicks || Lc)(Kc(Oa, u.units), F, H, u.startOfWeek, B.ordinalPositions, B.closestPointRange, !0) : R ? g(Oa, F, H) : f(Oa, F, H));
- if (!da && (a = N[0], c = N[N.length - 1], u.startOnTick ? F = a : F > a && N.shift(), u.endOnTick ? H = c : H < c && N.pop(), gb || (gb = {
- x: 0,
- y: 0
- }), !V && N.length > gb[w] && u.alignTicks !== !1)) gb[w] = N.length
- }
- function k(a) {
- a = (new c(a)).render();
- ta.push(a);
- return a
- }
- function l() {
- var a = u.title,
- d = u.stackLabels,
- e = u.alternateGridColor,
- f = u.lineWidth,
- g, i, j = m.hasRendered && s(ma) && !isNaN(ma),
- n = (g = B.series.length && s(F) && s(H)) || p(u.showEmpty, !0),
- Y, q;
- if (g || da) if (Ga && !Va && o(h(), function (a) {
- va[a] || (va[a] = new b(a, "minor"));
- j && va[a].isNew && va[a].render(null, !0);
- va[a].isActive = !0;
- va[a].render()
- }), o(N.slice(1).concat([N[0]]), function (a, c) {
- c = c === N.length - 1 ? 0 : c + 1;
- if (!da || a >= F && a <= H) Pa[a] || (Pa[a] = new b(a)), j && Pa[a].isNew && Pa[a].render(c, !0), Pa[a].isActive = !0, Pa[a].render(c)
- }), e && o(N, function (a, b) {
- if (b % 2 === 0 && a < H) Da[a] || (Da[a] = new c), Y = a, q = N[b + 1] !== X ? N[b + 1] : H, Da[a].options = {
- from: R ? cb(Y) : Y,
- to: R ? cb(q) : q,
- color: e
- }, Da[a].render(), Da[a].isActive = !0
- }), !B._addedPlotLB) o((u.plotLines || []).concat(u.plotBands || []), function (a) {
- k(a)
- }), B._addedPlotLB = !0;
- o([Pa, va, Da], function (a) {
- for (var b in a) a[b].isActive ? a[b].isActive = !1 : (a[b].destroy(), delete a[b])
- });
- f && (g = x + (y ? A : 0) + T, i = ra - Lb - (y ? hb : 0) + T, g = I.crispLine([wa, G ? x : g, G ? i : E, fa, G ? sa - Zb : g, G ? i : ra - Lb], f), $ ? $.animate({
- d: g
- }) : $ = I.path(g).attr({
- stroke: u.lineColor,
- "stroke-width": f,
- zIndex: 7
- }).add(), $[n ? "show" : "hide"]());
- if (v && n) n = G ? x : E, f = S(a.style.fontSize || 12), n = {
- low: n + (G ? 0 : D),
- middle: n + D / 2,
- high: n + (G ? D : 0)
- }[a.align], f = (G ? E + hb : x) + (G ? 1 : -1) * (y ? -1 : 1) * Ya + (r === 2 ? f : 0), v[v.isNew ? "attr" : "animate"]({
- x: G ? n : f + (y ? A : 0) + T + (a.x || 0),
- y: G ? f - (y ? hb : 0) + T : n + (a.y || 0)
- }), v.isNew = !1;
- if (d && d.enabled) {
- var t, yc, d = B.stackTotalGroup;
- if (!d) B.stackTotalGroup = d = I.g("stack-labels").attr({
- visibility: eb,
- zIndex: 6
- }).translate(O, J).add();
- for (t in qa) for (yc in a = qa[t], a) a[yc].render(d)
- }
- B.isDirty = !1
- }
- function n(a) {
- for (var b = ta.length; b--;) ta[b].id === a && ta[b].destroy()
- }
- var t = a.isX,
- y = a.opposite,
- G = U ? !t : t,
- r = G ? y ? 0 : 2 : y ? 1 : 3,
- qa = {}, u = K(t ? $b : kc, [Nc, Oc, zc, Pc][r], a),
- B = this,
- v, Z = u.type,
- V = Z === "datetime",
- R = Z === "logarithmic",
- T = u.offset || 0,
- w = t ? "x" : "y",
- D = 0,
- ua, ia, bb, jb, x, E, A, hb, Lb, Zb, Mb, ib, P, Q, bc, $, C, M, fb = u.minRange || u.maxZoom,
- ja = u.range,
- ba, ca, Aa, Ca, H = null,
- F = null,
- ma, za, Ea = u.minPadding,
- Ja = u.maxPadding,
- Ka = 0,
- da = s(u.linkedTo),
- na, Ma, Na, Ha, Z = u.events,
- Sa, ta = [],
- Oa, Ga, Wa, N, Xa = u.tickPositioner,
- Pa = {}, va = {}, Da = {}, Fa, La, Ya, Va = u.categories,
- db = u.labels.formatter || function () {
- var a = this.value,
- b = this.dateTimeLabelFormat;
- return b ? ac(b, a) : Oa % 1E6 === 0 ? a / 1E6 + "M" : Oa % 1E3 === 0 ? a / 1E3 + "k" : !Va && a >= 1E3 ? dc(a, 0) : a
- }, Ra = G && u.labels.staggerLines,
- ya = u.reversed,
- Ia = Va && u.tickmarkPlacement === "between" ? 0.5 : 0;
- b.prototype = {
- addLabel: function () {
- var a = this.pos,
- b = u.labels,
- c = Va && G && Va.length && !b.step && !b.staggerLines && !b.rotation && ka / Va.length || !G && ka / 2,
- d = a === N[0],
- e = a === N[N.length - 1],
- f = Va && s(Va[a]) ? Va[a] : a,
- g = this.label,
- h = N.info,
- i;
- V && h && (i = u.dateTimeLabelFormats[h.higherRanks[a] || h.unitName]);
- this.isFirst = d;
- this.isLast = e;
- a = db.call({
- axis: B,
- chart: m,
- isFirst: d,
- isLast: e,
- dateTimeLabelFormat: i,
- value: R ? Cb(cb(f)) : f
- });
- c = c && {
- width: W(1, z(c - 2 * (b.padding || 10))) + ga
- };
- c = L(c, b.style);
- s(g) ? g && g.attr({
- text: a
- }).css(c) : this.label = s(a) && b.enabled ? I.text(a, 0, 0, b.useHTML).attr({
- align: b.align,
- rotation: b.rotation
- }).css(c).add(Q) : null
- },
- getLabelSize: function () {
- var a = this.label;
- return a ? (this.labelBBox = a.getBBox())[G ? "height" : "width"] : 0
- },
- getLabelSides: function () {
- var a = u.labels,
- b = this.labelBBox.width,
- a = b * {
- left: 0,
- center: 0.5,
- right: 1
- }[a.align] - a.x;
- return [-a, b - a]
- },
- handleOverflow: function (a) {
- var b = !0,
- c = this.isFirst,
- d = this.isLast,
- e = this.label,
- f = e.x;
- if (c || d) {
- var g = this.getLabelSides(),
- h = g[0],
- g = g[1],
- i = m.plotLeft,
- j = i + B.len,
- k = (a = Pa[N[a + (c ? 1 : -1)]]) && a.label.x + a.getLabelSides()[c ? 0 : 1];
- c && !ya || d && ya ? f + h < i && (f = i - h, a && f + g > k && (b = !1)) : f + g > j && (f = j - g, a && f + h < k && (b = !1));
- e.x = f
- }
- return b
- },
- render: function (a, b) {
- var c = this.type,
- d = this.label,
- e = this.pos,
- f = u.labels,
- g = this.gridLine,
- h = c ? c + "Grid" : "grid",
- i = c ? c + "Tick" : "tick",
- j = u[h + "LineWidth"],
- k = u[h + "LineColor"],
- n = u[h + "LineDashStyle"],
- m = u[i + "Length"],
- h = u[i + "Width"] || 0,
- l = u[i + "Color"],
- Y = u[i + "Position"],
- i = this.mark,
- q = f.step,
- ea = b && Za || ra,
- qa = !0,
- o;
- o = G ? Mb(e + Ia, null, null, b) + bb : x + T + (y ? (b && $a || sa) - Zb - x : 0);
- ea = G ? ea - Lb + T - (y ? hb : 0) : ea - Mb(e + Ia, null, null, b) - bb;
- if (j) {
- e = P(e + Ia, j, b);
- if (g === X) {
- g = {
- stroke: k,
- "stroke-width": j
- };
- if (n) g.dashstyle = n;
- if (!c) g.zIndex = 1;
- this.gridLine = g = j ? I.path(e).attr(g).add(bc) : null
- }!b && g && e && g.animate({
- d: e
- })
- }
- if (h) Y === "inside" && (m = -m), y && (m = -m), c = I.crispLine([wa, o, ea, fa, o + (G ? 0 : -m), ea + (G ? m : 0)], h), i ? i.animate({
- d: c
- }) : this.mark = I.path(c).attr({
- stroke: l,
- "stroke-width": h
- }).add(Q);
- if (d && !isNaN(o)) o = o + f.x - (Ia && G ? Ia * ia * (ya ? -1 : 1) : 0), ea = ea + f.y - (Ia && !G ? Ia * ia * (ya ? 1 : -1) : 0), s(f.y) || (ea += S(d.styles.lineHeight) * 0.9 - d.getBBox().height / 2), Ra && (ea += a / (q || 1) % Ra * 16), d.x = o, d.y = ea, this.isFirst && !p(u.showFirstLabel, 1) || this.isLast && !p(u.showLastLabel, 1) ? qa = !1 : !Ra && G && f.overflow === "justify" && !this.handleOverflow(a) && (qa = !1), q && a % q && (qa = !1), qa ? (d[this.isNew ? "attr" : "animate"]({
- x: d.x,
- y: d.y
- }), d.show(), this.isNew = !1) : d.hide()
- },
- destroy: function () {
- Jb(this)
- }
- };
- c.prototype = {
- render: function () {
- var a = this,
- b = (B.pointRange || 0) / 2,
- c = a.options,
- d = c.label,
- e = a.label,
- f = c.width,
- g = c.to,
- h = c.from,
- i = c.value,
- j, k = c.dashStyle,
- n = a.svgElem,
- m = [],
- l, Y, u = c.color;
- Y = c.zIndex;
- var ea = c.events;
- R && (h = nb(h), g = nb(g), i = nb(i));
- if (f) {
- if (m = P(i, f), b = {
- stroke: u,
- "stroke-width": f
- }, k) b.dashstyle = k
- } else if (s(h) && s(g)) h = W(h, F - b), g = Ua(g, H + b), j = P(g), (m = P(h)) && j ? m.push(j[4], j[5], j[1], j[2]) : m = null, b = {
- fill: u
- };
- else return;
- if (s(Y)) b.zIndex = Y;
- if (n) m ? n.animate({
- d: m
- }, null, n.onGetPath) : (n.hide(), n.onGetPath = function () {
- n.show()
- });
- else if (m && m.length && (a.svgElem = n = I.path(m).attr(b).add(), ea)) for (l in k = function (b) {
- n.on(b, function (c) {
- ea[b].apply(a, [c])
- })
- }, ea) k(l);
- if (d && s(d.text) && m && m.length && A > 0 && hb > 0) {
- d = K({
- align: G && j && "center",
- x: G ? !j && 4 : 10,
- verticalAlign: !G && j && "middle",
- y: G ? j ? 16 : 10 : j ? 6 : -4,
- rotation: G && !j && 90
- }, d);
- if (!e) a.label = e = I.text(d.text, 0, 0).attr({
- align: d.textAlign || d.align,
- rotation: d.rotation,
- zIndex: Y
- }).css(d.style).add();
- j = [m[1], m[4], p(m[6], m[1])];
- m = [m[2], m[5], p(m[7], m[2])];
- l = Sb(j);
- Y = Sb(m);
- e.align(d, !1, {
- x: l,
- y: Y,
- width: Ib(j) - l,
- height: Ib(m) - Y
- });
- e.show()
- } else e && e.hide();
- return a
- },
- destroy: function () {
- Jb(this);
- Gb(ta, this)
- }
- };
- d.prototype = {
- destroy: function () {
- Jb(this)
- },
- setTotal: function (a) {
- this.cum = this.total = a
- },
- render: function (a) {
- var b = this.options.formatter.call(this);
- this.label ? this.label.attr({
- text: b,
- visibility: ab
- }) : this.label = m.renderer.text(b, 0, 0).css(this.options.style).attr({
- align: this.textAlign,
- rotation: this.options.rotation,
- visibility: ab
- }).add(a)
- },
- setOffset: function (a, b) {
- var c = this.isNegative,
- d = B.translate(this.total, 0, 0, 0, 1),
- e = B.translate(0),
- e = Ba(d - e),
- f = m.xAxis[0].translate(this.x) + a,
- g = m.plotHeight,
- c = {
- x: U ? c ? d : d - e : f,
- y: U ? g - f - b : c ? g - d - e : g - d,
- width: U ? e : b,
- height: U ? b : e
- };
- this.label && this.label.align(this.alignOptions, null, c).attr({
- visibility: eb
- })
- }
- };
- Mb = function (a, b, c, d, e) {
- var f = 1,
- g = 0,
- h = d ? jb : ia,
- d = d ? ma : F,
- e = u.ordinal || R && e;
- h || (h = ia);
- c && (f *= -1, g = D);
- ya && (f *= -1, g -= f * D);
- b ? (ya && (a = D - a), a = a / h + d, e && (a = B.lin2val(a))) : (e && (a = B.val2lin(a)), a = f * (a - d) * h + g + f * Ka);
- return a
- };
- P = function (a, b, c) {
- var d, e, f, a = Mb(a, null, null, c),
- g = c && Za || ra,
- h = c && $a || sa,
- i, c = e = z(a + bb);
- d = f = z(g - a - bb);
- if (isNaN(a)) i = !0;
- else if (G) {
- if (d = E, f = g - Lb, c < x || c > x + A) i = !0
- } else if (c = x, e = h - Zb, d < E || d > E + hb) i = !0;
- return i ? null : I.crispLine([wa, c, d, fa, e, f], b || 0)
- };
- ib = function () {
- var a = H - F,
- b = 0,
- c, d;
- if (t) da ? b = na.pointRange : o(B.series, function (a) {
- b = W(b, a.pointRange);
- d = a.closestPointRange;
- !a.noSharedTooltip && s(d) && (c = s(c) ? Ua(c, d) : d)
- }), B.pointRange = b, B.closestPointRange = c;
- jb = ia;
- B.translationSlope = ia = D / (a + b || 1);
- bb = G ? x : Lb;
- Ka = ia * (b / 2)
- };
- xa.push(B);
- m[t ? "xAxis" : "yAxis"].push(B);
- U && t && ya === X && (ya = !0);
- L(B, {
- addPlotBand: k,
- addPlotLine: k,
- adjustTickAmount: function () {
- if (gb && gb[w] && !V && !Va && !da && u.alignTicks !== !1) {
- var a = Fa,
- b = N.length;
- Fa = gb[w];
- if (b < Fa) {
- for (; N.length < Fa;) N.push(Cb(N[N.length - 1] + Oa));
- ia *= (b - 1) / (Fa - 1);
- H = N[N.length - 1]
- }
- if (s(a) && Fa !== a) B.isDirty = !0
- }
- },
- categories: Va,
- getExtremes: function () {
- return {
- min: R ? Cb(cb(F)) : F,
- max: R ? Cb(cb(H)) : H,
- dataMin: C,
- dataMax: M,
- userMin: ba,
- userMax: ca
- }
- },
- getPlotLinePath: P,
- getThreshold: function (a) {
- var b = R ? cb(F) : F,
- c = R ? cb(H) : H;
- b > a || a === null ? a = b : c < a && (a = c);
- return Mb(a, 0, 1, 0, 1)
- },
- isXAxis: t,
- options: u,
- plotLinesAndBands: ta,
- getOffset: function () {
- var a = B.series.length && s(F) && s(H),
- c = a || p(u.showEmpty, !0),
- d = 0,
- e, f = 0,
- g = u.title,
- h = u.labels,
- i = [-1, 1, 1, - 1][r],
- j;
- Q || (Q = I.g("axis").attr({
- zIndex: 7
- }).add(), bc = I.g("grid").attr({
- zIndex: u.gridZIndex || 1
- }).add());
- La = 0;
- if (a || da) o(N, function (a) {
- Pa[a] ? Pa[a].addLabel() : Pa[a] = new b(a)
- }), o(N, function (a) {
- if (r === 0 || r === 2 || {
- 1: "left",
- 3: "right"
- }[r] === h.align) La = W(Pa[a].getLabelSize(), La)
- }), Ra && (La += (Ra - 1) * 16);
- else for (j in Pa) Pa[j].destroy(), delete Pa[j];
- if (g && g.text) {
- if (!v) v = B.axisTitle = I.text(g.text, 0, 0, g.useHTML).attr({
- zIndex: 7,
- rotation: g.rotation || 0,
- align: g.textAlign || {
- low: "left",
- middle: "center",
- high: "right"
- }[g.align]
- }).css(g.style).add(), v.isNew = !0;
- if (c) d = v.getBBox()[G ? "height" : "width"], f = p(g.margin, G ? 5 : 10), e = g.offset;
- v[c ? "show" : "hide"]()
- }
- T = i * p(u.offset, pa[r]);
- Ya = p(e, La + f + (r !== 2 && La && i * u.labels[G ? "y" : "x"]));
- pa[r] = W(pa[r], Ya + d + i * T)
- },
- render: l,
- setAxisSize: function () {
- var a = u.offsetLeft || 0,
- b = u.offsetRight || 0;
- x = p(u.left, O + a);
- E = p(u.top, J);
- A = p(u.width, ka - a + b);
- hb = p(u.height, la);
- Lb = ra - hb - E;
- Zb = sa - A - x;
- D = G ? A : hb;
- B.left = x;
- B.top = E;
- B.len = D
- },
- setAxisTranslation: ib,
- setCategories: function (b, c) {
- B.categories = a.categories = Va = b;
- o(B.series, function (a) {
- a.translate();
- a.setTooltipPoints(!0)
- });
- B.isDirty = !0;
- p(c, !0) && m.redraw()
- },
- setExtremes: function (a, b, c, d, e) {
- c = p(c, !0);
- e = L(e, {
- min: a,
- max: b
- });
- aa(B, "setExtremes", e, function () {
- ba = a;
- ca = b;
- B.isDirtyExtremes = !0;
- c && m.redraw(d)
- })
- },
- setScale: function () {
- var a, b, c, d;
- ma = F;
- za = H;
- ua = D;
- D = G ? A : hb;
- d = D !== ua;
- o(B.series, function (a) {
- if (a.isDirtyData || a.isDirty || a.xAxis.isDirty) c = !0
- });
- if (d || c || da || ba !== Aa || ca !== Ca) {
- e();
- j();
- Aa = ba;
- Ca = ca;
- if (!t) for (a in qa) for (b in qa[a]) qa[a][b].cum = qa[a][b].total;
- if (!B.isDirty) B.isDirty = d || F !== ma || H !== za
- }
- },
- setTickPositions: j,
- translate: Mb,
- redraw: function () {
- ub.resetTracker && ub.resetTracker();
- l();
- o(ta, function (a) {
- a.render()
- });
- o(B.series, function (a) {
- a.isDirty = !0
- })
- },
- removePlotBand: n,
- removePlotLine: n,
- reversed: ya,
- setTitle: function (a, b) {
- u.title = K(u.title, a);
- v = v.destroy();
- B.isDirty = !0;
- p(b, !0) && m.redraw()
- },
- series: [],
- stacks: qa,
- destroy: function () {
- var a;
- Qa(B);
- for (a in qa) Jb(qa[a]), qa[a] = null;
- if (B.stackTotalGroup) B.stackTotalGroup = B.stackTotalGroup.destroy();
- o([Pa, va, Da, ta], function (a) {
- Jb(a)
- });
- o([$, Q, bc, v], function (a) {
- a && a.destroy()
- });
- $ = Q = bc = v = null
- }
- });
- for (Sa in Z) ha(B, Sa, Z[Sa]);
- if (R) B.val2lin = nb, B.lin2val = cb
- }
- function d(a) {
- function b() {
- var c = this.points || Hb(this),
- d = c[0].series,
- e;
- e = [d.tooltipHeaderFormatter(c[0].key)];
- o(c, function (a) {
- d = a.series;
- e.push(d.tooltipFormatter && d.tooltipFormatter(a) || a.point.tooltipFormatter(d.tooltipOptions.pointFormat))
- });
- e.push(a.footerFormat || "");
- return e.join("")
- }
- function c(a, b) {
- l = n ? a : (2 * l + a) / 3;
- q = n ? b : (q + b) / 2;
- t.attr({
- x: l,
- y: q
- });
- lb = Ba(a - l) > 1 || Ba(b - q) > 1 ? function () {
- c(a, b)
- } : null
- }
- function d() {
- if (!n) {
- var a = m.hoverPoints;
- t.hide();
- a && o(a, function (a) {
- a.setState()
- });
- m.hoverPoints = null;
- n = !0
- }
- }
- var e, f = a.borderWidth,
- g = a.crosshairs,
- h = [],
- i = a.style,
- j = a.shared,
- k = S(i.padding),
- n = !0,
- l = 0,
- q = 0;
- i.padding = 0;
- var t = I.label("", 0, 0, null, null, null, a.useHTML).attr({
- padding: k,
- fill: a.backgroundColor,
- "stroke-width": f,
- r: a.borderRadius,
- zIndex: 8
- }).css(i).hide().add();
- Fa || t.shadow(a.shadow);
- return {
- shared: j,
- refresh: function (f) {
- var i, k, l, q, r = {}, y = [];
- l = f.tooltipPos;
- i = a.formatter || b;
- var r = m.hoverPoints,
- v;
- j && (!f.series || !f.series.noSharedTooltip) ? (q = 0, r && o(r, function (a) {
- a.setState()
- }), m.hoverPoints = f, o(f, function (a) {
- a.setState(ta);
- q += a.plotY;
- y.push(a.getLabelConfig())
- }), k = f[0].plotX, q = z(q) / f.length, r = {
- x: f[0].category
- }, r.points = y, f = f[0]) : r = f.getLabelConfig();
- r = i.call(r);
- e = f.series;
- k = p(k, f.plotX);
- q = p(q, f.plotY);
- i = z(l ? l[0] : U ? ka - q : k);
- k = z(l ? l[1] : U ? la - k : q);
- l = j || !e.isCartesian || e.tooltipOutsidePlot || Db(i, k);
- r === !1 || !l ? d() : (n && (t.show(), n = !1), t.attr({
- text: r
- }), v = a.borderColor || f.color || e.color || "#606060", t.attr({
- stroke: v
- }), l = uc(t.width, t.height, O, J, ka, la, {
- x: i,
- y: k
- }, p(a.distance, 12), U), c(z(l.x), z(l.y)));
- if (g) {
- g = Hb(g);
- var R;
- l = g.length;
- for (var Z; l--;) if (R = f.series[l ? "yAxis" : "xAxis"], g[l] && R) if (R = R.getPlotLinePath(l ? p(f.stackY, f.y) : f.x, 1), h[l]) h[l].attr({
- d: R,
- visibility: eb
- });
- else {
- Z = {
- "stroke-width": g[l].width || 1,
- stroke: g[l].color || "#C0C0C0",
- zIndex: g[l].zIndex || 2
- };
- if (g[l].dashStyle) Z.dashstyle = g[l].dashStyle;
- h[l] = I.path(R).attr(Z).add()
- }
- }
- aa(m, "tooltipRefresh", {
- text: r,
- x: i + O,
- y: k + J,
- borderColor: v
- })
- },
- hide: d,
- hideCrosshairs: function () {
- o(h, function (a) {
- a && a.hide()
- })
- },
- destroy: function () {
- o(h, function (a) {
- a && a.destroy()
- });
- t && (t = t.destroy())
- }
- }
- }
- function e(a) {
- function b(a) {
- var c, d, e, a = a || ca.event;
- if (!a.target) a.target = a.srcElement;
- if (a.originalEvent) a = a.originalEvent;
- if (a.event) a = a.event;
- c = a.touches ? a.touches.item(0) : a;
- ya = Ac(D);
- d = ya.left;
- e = ya.top;
- Qb ? (d = a.x, c = a.y) : (d = c.pageX - d, c = c.pageY - e);
- return L(a, {
- chartX: z(d),
- chartY: z(c)
- })
- }
- function c(a) {
- var b = {
- xAxis: [],
- yAxis: []
- };
- o(xa, function (c) {
- var d = c.translate,
- e = c.isXAxis;
- b[e ? "xAxis" : "yAxis"].push({
- axis: c,
- value: d((U ? !e : e) ? a.chartX - O : la - a.chartY + J, !0)
- })
- });
- return b
- }
- function e() {
- var a = m.hoverSeries,
- b = m.hoverPoint;
- if (b) b.onMouseOut();
- if (a) a.onMouseOut();
- vb && (vb.hide(), vb.hideCrosshairs());
- ob = null
- }
- function f() {
- if (n) {
- var a = {
- xAxis: [],
- yAxis: []
- }, b = n.getBBox(),
- c = b.x - O,
- d = b.y - J;
- k && (o(xa, function (e) {
- if (e.options.zoomEnabled !== !1) {
- var f = e.translate,
- g = e.isXAxis,
- h = U ? !g : g,
- i = f(h ? c : la - d - b.height, !0, 0, 0, 1),
- f = f(h ? c + b.width : la - d, !0, 0, 0, 1);
- a[g ? "xAxis" : "yAxis"].push({
- axis: e,
- min: Ua(i, f),
- max: W(i, f)
- })
- }
- }), aa(m, "selection", a, zb));
- n = n.destroy()
- }
- P(D, {
- cursor: "auto"
- });
- m.mouseIsDown = Da = k = !1;
- Qa(x, Ga ? "touchend" : "mouseup", f)
- }
- function g(a) {
- var b = s(a.pageX) ? a.pageX : a.page.x,
- a = s(a.pageX) ? a.pageY : a.page.y;
- ya && !Db(b - ya.left - O, a - ya.top - J) && e()
- }
- function h() {
- e();
- ya = null
- }
- var i, j, k, n, l = Fa ? "" : q.zoomType,
- t = /x/.test(l),
- r = /y/.test(l),
- y = t && !U || r && U,
- p = r && !U || t && U;
- if (!db) m.trackerGroup = db = I.g("tracker").attr({
- zIndex: 9
- }).add();
- if (a.enabled) m.tooltip = vb = d(a), Bb = setInterval(function () {
- lb && lb()
- }, 32);
- (function () {
- D.onmousedown = function (a) {
- a = b(a);
- !Ga && a.preventDefault && a.preventDefault();
- m.mouseIsDown = Da = !0;
- m.mouseDownX = i = a.chartX;
- j = a.chartY;
- ha(x, Ga ? "touchend" : "mouseup", f)
- };
- var d = function (c) {
- if (!c || !(c.touches && c.touches.length > 1)) {
- c = b(c);
- if (!Ga) c.returnValue = !1;
- var d = c.chartX,
- e = c.chartY,
- f = !Db(d - O, e - J);
- Ga && c.type === "touchstart" && (A(c.target, "isTracker") ? m.runTrackerClick || c.preventDefault() : !kb && !f && c.preventDefault());
- f && (d < O ? d = O : d > O + ka && (d = O + ka), e < J ? e = J : e > J + la && (e = J + la));
- if (Da && c.type !== "touchstart") {
- if (k = Math.sqrt(Math.pow(i - d, 2) + Math.pow(j - e, 2)), k > 10) {
- var g = Db(i - O, j - J);
- if (Nb && (t || r) && g) n || (n = I.rect(O, J, y ? 1 : ka, p ? 1 : la, 0).attr({
- fill: q.selectionMarkerFill || "rgba(69,114,167,0.25)",
- zIndex: 7
- }).add());
- n && y && (c = d - i, n.attr({
- width: Ba(c),
- x: (c > 0 ? 0 : c) + i
- }));
- n && p && (e -= j, n.attr({
- height: Ba(e),
- y: (e > 0 ? 0 : e) + j
- }));
- g && !n && q.panning && m.pan(d)
- }
- } else if (!f) {
- var h, d = m.hoverPoint,
- e = m.hoverSeries,
- l, o, g = sa,
- R = U ? c.chartY : c.chartX - O;
- if (vb && a.shared && (!e || !e.noSharedTooltip)) {
- h = [];
- l = Q.length;
- for (o = 0; o < l; o++) if (Q[o].visible && Q[o].options.enableMouseTracking !== !1 && !Q[o].noSharedTooltip && Q[o].tooltipPoints.length) c = Q[o].tooltipPoints[R], c._dist = Ba(R - c.plotX), g = Ua(g, c._dist), h.push(c);
- for (l = h.length; l--;) h[l]._dist > g && h.splice(l, 1);
- if (h.length && h[0].plotX !== ob) vb.refresh(h), ob = h[0].plotX
- }
- if (e && e.tracker && (c = e.tooltipPoints[R]) && c !== d) c.onMouseOver()
- }
- return f || !Nb
- }
- };
- D.onmousemove = d;
- ha(D, "mouseleave", h);
- ha(x, "mousemove", g);
- D.ontouchstart = function (a) {
- if (t || r) D.onmousedown(a);
- d(a)
- };
- D.ontouchmove = d;
- D.ontouchend = function () {
- k && e()
- };
- D.onclick = function (a) {
- var d = m.hoverPoint,
- a = b(a);
- a.cancelBubble = !0;
- if (!k) if (d && (A(a.target, "isTracker") || A(a.target.parentNode, "isTracker"))) {
- var e = d.plotX,
- f = d.plotY;
- L(d, {
- pageX: ya.left + O + (U ? ka - f : e),
- pageY: ya.top + J + (U ? la - e : f)
- });
- aa(d.series, "click", L(a, {
- point: d
- }));
- d.firePointEvent("click", a)
- } else L(a, c(a)), Db(a.chartX - O, a.chartY - J) && aa(m, "click", a);
- k = !1
- }
- })();
- L(this, {
- zoomX: t,
- zoomY: r,
- resetTracker: e,
- normalizeMouseEvent: b,
- destroy: function () {
- if (m.trackerGroup) m.trackerGroup = db = m.trackerGroup.destroy();
- Qa(D, "mouseleave", h);
- Qa(x, "mousemove", g);
- D.onclick = D.onmousedown = D.onmousemove = D.ontouchstart = D.ontouchend = D.ontouchmove = null
- }
- })
- }
- function f(a) {
- var b = a.type || q.type || q.defaultSeriesType,
- c = Ha[b],
- d = m.hasRendered;
- if (d) if (U && b === "column") c = Ha.bar;
- else if (!U && b === "bar") c = Ha.column;
- b = new c;
- b.init(m, a);
- !d && b.inverted && (U = !0);
- if (b.isCartesian) Nb = b.isCartesian;
- Q.push(b);
- return b
- }
- function g() {
- q.alignTicks !== !1 && o(xa, function (a) {
- a.adjustTickAmount()
- });
- gb = null
- }
- function h(a) {
- var b = m.isDirtyLegend,
- c, d = m.isDirtyBox,
- e = Q.length,
- f = e,
- h = m.clipRect;
- for (Kb(a, m); f--;) if (a = Q[f], a.isDirty && a.options.stacking) {
- c = !0;
- break
- }
- if (c) for (f = e; f--;) if (a = Q[f], a.options.stacking) a.isDirty = !0;
- o(Q, function (a) {
- a.isDirty && a.options.legendType === "point" && (b = !0)
- });
- if (b && Xa.renderLegend) Xa.renderLegend(), m.isDirtyLegend = !1;
- Nb && (La || (gb = null, o(xa, function (a) {
- a.setScale()
- })), g(), Wb(), o(xa, function (a) {
- if (a.isDirtyExtremes) a.isDirtyExtremes = !1, aa(a, "afterSetExtremes", a.getExtremes());
- if (a.isDirty || d) a.redraw(), d = !0
- }));
- d && (qb(), h && (Ob(h), h.animate({
- width: m.plotSizeX,
- height: m.plotSizeY + 1
- })));
- o(Q, function (a) {
- a.isDirty && a.visible && (!a.isCartesian || a.xAxis) && a.redraw()
- });
- ub && ub.resetTracker && ub.resetTracker();
- I.draw();
- aa(m, "redraw")
- }
- function i() {
- var a = v.xAxis || {}, b = v.yAxis || {}, a = Hb(a);
- o(a, function (a, b) {
- a.index = b;
- a.isX = !0
- });
- b = Hb(b);
- o(b, function (a, b) {
- a.index = b
- });
- a = a.concat(b);
- o(a, function (a) {
- new c(a)
- });
- g()
- }
- function k() {
- var a = Ea.lang,
- b = q.resetZoomButton,
- c = b.theme,
- d = c.states,
- e = b.relativeTo === "chart" ? null : {
- x: O,
- y: J,
- width: ka,
- height: la
- };
- m.resetZoomButton = I.button(a.resetZoom, null, null, Fb, c, d && d.hover).attr({
- align: b.position.align,
- title: a.resetZoomTitle
- }).add().align(b.position, !1, e)
- }
- function j(a, b) {
- $ = K(v.title, a);
- ja = K(v.subtitle, b);
- o([
- ["title", a, $],
- ["subtitle", b, ja]
- ], function (a) {
- var b = a[0],
- c = m[b],
- d = a[1],
- a = a[2];
- c && d && (c = c.destroy());
- a && a.text && !c && (m[b] = I.text(a.text, 0, 0, a.useHTML).attr({
- align: a.align,
- "class": Ia + b,
- zIndex: a.zIndex || 4
- }).css(a.style).add().align(a, !1, ib))
- })
- }
- function l() {
- Ja = q.renderTo;
- na = Ia + lc++;
- Ab(Ja) && (Ja = x.getElementById(Ja));
- Ja || jc(13, !0);
- Ja.innerHTML = "";
- Ja.offsetWidth || (C = Ja.cloneNode(0), P(C, {
- position: wb,
- top: "-9999px",
- display: ""
- }), x.body.appendChild(C));
- za = (C || Ja).offsetWidth;
- Ca = (C || Ja).offsetHeight;
- m.chartWidth = sa = q.width || za || 600;
- m.chartHeight = ra = q.height || (Ca > 19 ? Ca : 400);
- m.container = D = Aa(Ra, {
- className: Ia + "container" + (q.className ? " " + q.className : ""),
- id: na
- }, L({
- position: mc,
- overflow: ab,
- width: sa + ga,
- height: ra + ga,
- textAlign: "left",
- lineHeight: "normal"
- }, q.style), C || Ja);
- m.renderer = I = q.forExport ? new Eb(D, sa, ra, !0) : new Xb(D, sa, ra);
- Fa && I.create(m, D, sa, ra);
- var a, b;
- Bc && D.getBoundingClientRect && (a = function () {
- P(D, {
- left: 0,
- top: 0
- });
- b = D.getBoundingClientRect();
- P(D, {
- left: -(b.left - S(b.left)) + ga,
- top: -(b.top - S(b.top)) + ga
- })
- }, a(), ha(ca, "resize", a), ha(m, "destroy", function () {
- Qa(ca, "resize", a)
- }))
- }
- function n() {
- function a(c) {
- var d = q.width || Ja.offsetWidth,
- e = q.height || Ja.offsetHeight,
- c = c ? c.target : ca;
- if (d && e && (c === ca || c === x)) {
- if (d !== za || e !== Ca) clearTimeout(b), b = setTimeout(function () {
- tb(d, e, !1)
- }, 100);
- za = d;
- Ca = e
- }
- }
- var b;
- ha(ca, "resize", a);
- ha(m, "destroy", function () {
- Qa(ca, "resize", a)
- })
- }
- function t() {
- m && aa(m, "endResize", null, function () {
- La -= 1
- })
- }
- function r() {
- for (var a = U || q.inverted || q.type === "bar" || q.defaultSeriesType === "bar", b = v.series, c = b && b.length; !a && c--;) b[c].type === "bar" && (a = !0);
- m.inverted = U = a
- }
- function Z() {
- var a = v.labels,
- b = v.credits,
- c;
- j();
- Xa = m.legend = new Rb;
- o(xa, function (a) {
- a.setScale()
- });
- Wb();
- o(xa, function (a) {
- a.setTickPositions(!0)
- });
- g();
- Wb();
- qb();
- Nb && o(xa, function (a) {
- a.render()
- });
- if (!m.seriesGroup) m.seriesGroup = I.g("series-group").attr({
- zIndex: 3
- }).add();
- o(Q, function (a) {
- a.translate();
- a.setTooltipPoints();
- a.render()
- });
- a.items && o(a.items, function () {
- var b = L(a.style, this.style),
- c = S(b.left) + O,
- d = S(b.top) + J + 12;
- delete b.left;
- delete b.top;
- I.text(this.html, c, d).attr({
- zIndex: 2
- }).css(b).add()
- });
- if (b.enabled && !m.credits) c = b.href, m.credits = I.text(b.text, 0, 0).on("click", function () {
- if (c) location.href = c
- }).attr({
- align: b.position.align,
- zIndex: 8
- }).css(b.style).add().align(b.position);
- m.hasRendered = !0
- }
- function V() {
- if (!Pb && ca == ca.top && x.readyState !== "complete" || Fa && !ca.canvg) Fa ? Cc.push(V, v.global.canvasToolsURL) : x.attachEvent("onreadystatechange", function () {
- x.detachEvent("onreadystatechange", V);
- x.readyState === "complete" && V()
- });
- else {
- l();
- aa(m, "init");
- if (Highcharts.RangeSelector && v.rangeSelector.enabled) m.rangeSelector = new Highcharts.RangeSelector(m);
- rb();
- sb();
- r();
- i();
- o(v.series || [], function (a) {
- f(a)
- });
- if (Highcharts.Scroller && (v.navigator.enabled || v.scrollbar.enabled)) m.scroller = new Highcharts.Scroller(m);
- m.render = Z;
- m.tracker = ub = new e(v.tooltip);
- Z();
- I.draw();
- b && b.apply(m, [m]);
- o(m.callbacks, function (a) {
- a.apply(m, [m])
- });
- C && (Ja.appendChild(D), Tb(C));
- aa(m, "load")
- }
- }
- var v, y = a.series;
- a.series = null;
- v = K(Ea, a);
- v.series = a.series = y;
- var q = v.chart,
- y = q.margin,
- y = mb(y) ? y : [y, y, y, y],
- T = p(q.marginTop, y[0]),
- w = p(q.marginRight, y[1]),
- E = p(q.marginBottom, y[2]),
- bb = p(q.marginLeft, y[3]),
- ia = q.spacingTop,
- ua = q.spacingRight,
- R = q.spacingBottom,
- jb = q.spacingLeft,
- ib, $, ja, J, ba, M, O, pa, Ja, C, D, na, za, Ca, sa, ra, $a, Za, ma, Na, Sa, da, m = this,
- kb = (y = q.events) && !! y.click,
- va, Db, vb, Da, xb, pb, Ya, la, ka, ub, db, Xa, Wa, yb, ya, Nb = q.showAxes,
- La = 0,
- xa = [],
- gb, Q = [],
- U, I, lb, Bb, ob, qb, Wb, rb, sb, tb, zb, Fb, Rb = function () {
- function a(b, c) {
- var d = b.legendItem,
- e = b.legendLine,
- g = b.legendSymbol,
- h = q.color,
- i = c ? f.itemStyle.color : h,
- h = c ? b.color : h;
- d && d.css({
- fill: i
- });
- e && e.attr({
- stroke: h
- });
- g && g.attr({
- stroke: h,
- fill: h
- })
- }
- function b(a) {
- var c = a.legendItem,
- d = a.legendLine,
- e = a._legendItemPos,
- f = e[0],
- e = e[1],
- g = a.legendSymbol,
- a = a.checkbox;
- c && c.attr({
- x: r ? f : Wa - f,
- y: e
- });
- d && d.translate(r ? f : Wa - f, e - 4);
- g && (c = f + g.xOff, g.attr({
- x: r ? c : Wa - c,
- y: e + g.yOff
- }));
- if (a) a.x = f, a.y = e
- }
- function c() {
- o(j, function (a) {
- var b = a.checkbox,
- c = A.alignAttr;
- b && P(b, {
- left: c.translateX + a.legendItemWidth + b.x - 40 + ga,
- top: c.translateY + b.y - 11 + ga
- })
- })
- }
- function d(b) {
- var c, e, j, k, m = b.legendItem;
- k = b.series || b;
- var o = k.options,
- v = o && o.borderWidth || 0;
- if (!m) {
- k = /^(bar|pie|area|column)$/.test(k.type);
- b.legendItem = m = I.text(f.labelFormatter.call(b), 0, 0, f.useHTML).css(b.visible ? n : q).on("mouseover", function () {
- b.setState(ta);
- m.css(l)
- }).on("mouseout", function () {
- m.css(b.visible ? n : q);
- b.setState()
- }).on("click", function () {
- var a = function () {
- b.setVisible()
- };
- b.firePointEvent ? b.firePointEvent("legendItemClick", null, a) : aa(b, "legendItemClick", null, a)
- }).attr({
- align: r ? "left" : "right",
- zIndex: 2
- }).add(A);
- if (!k && o && o.lineWidth) {
- var u = {
- "stroke-width": o.lineWidth,
- zIndex: 2
- };
- if (o.dashStyle) u.dashstyle = o.dashStyle;
- b.legendLine = I.path([wa, (-h - i) * (r ? 1 : -1), 0, fa, - i * (r ? 1 : -1), 0]).attr(u).add(A)
- }
- if (k) j = I.rect(c = -h - i, e = -11, h, 12, 2).attr({
- zIndex: 3
- }).add(A), r || (c += h);
- else if (o && o.marker && o.marker.enabled) j = o.marker.radius, j = I.symbol(b.symbol, c = -h / 2 - i - j, e = -4 - j, 2 * j, 2 * j).attr(b.pointAttr[Ka]).attr({
- zIndex: 3
- }).add(A), r || (c += h / 2);
- if (j) j.xOff = c + v % 2 / 2, j.yOff = e + v % 2 / 2;
- b.legendSymbol = j;
- a(b, b.visible);
- if (o && o.showCheckbox) b.checkbox = Aa("input", {
- type: "checkbox",
- checked: b.selected,
- defaultChecked: b.selected
- }, f.itemCheckboxStyle, D), ha(b.checkbox, "click", function (a) {
- aa(b, "checkboxClick", {
- checked: a.target.checked
- }, function () {
- b.select()
- })
- })
- }
- c = m.getBBox();
- e = b.legendItemWidth = f.itemWidth || h + i + c.width + t;
- w = c.height;
- if (g && s - V + e > (J || sa - 2 * t - V)) s = V, z += y + w + p;
- !g && z + f.y + w > ra - ia - R && (z = T, s += Z, Z = 0);
- Z = W(Z, e);
- x = W(x, z + p);
- b._legendItemPos = [s, z];
- g ? s += e : z += y + w + p;
- C = J || W(s - V + (g ? 0 : e), C)
- }
- function e() {
- s = V;
- z = T;
- x = C = 0;
- A || (A = I.g("legend").attr({
- zIndex: 7
- }).add());
- j = [];
- o(M, function (a) {
- var b = a.options;
- b.showInLegend && (j = j.concat(a.legendItems || (b.legendType === "point" ? a.data : a)))
- });
- Mc(j, function (a, b) {
- return (a.options.legendIndex || 0) - (b.options.legendIndex || 0)
- });
- jb && j.reverse();
- o(j, d);
- Wa = J || C;
- yb = x - v + w;
- if (E || bb) {
- Wa += 2 * t;
- yb += 2 * t;
- if (ua) {
- if (Wa > 0 && yb > 0) ua[ua.isNew ? "attr" : "animate"](ua.crisp(null, null, null, Wa, yb)), ua.isNew = !1
- } else ua = I.rect(0, 0, Wa, yb, f.borderRadius, E || 0).attr({
- stroke: f.borderColor,
- "stroke-width": E || 0,
- fill: bb || Ma
- }).add(A).shadow(f.shadow), ua.isNew = !0;
- ua[j.length ? "show" : "hide"]()
- }
- o(j, b);
- for (var a = ["left", "right", "top", "bottom"], g, h = 4; h--;) g = a[h], k[g] && k[g] !== "auto" && (f[h < 2 ? "align" : "verticalAlign"] = g, f[h < 2 ? "x" : "y"] = S(k[g]) * (h % 2 ? -1 : 1));
- j.length && A.align(L(f, {
- width: Wa,
- height: yb
- }), !0, ib);
- La || c()
- }
- var f = m.options.legend;
- if (f.enabled) {
- var g = f.layout === "horizontal",
- h = f.symbolWidth,
- i = f.symbolPadding,
- j, k = f.style,
- n = f.itemStyle,
- l = f.itemHoverStyle,
- q = K(n, f.itemHiddenStyle),
- t = f.padding || S(k.padding),
- r = !f.rtl,
- y = f.itemMarginTop || 0,
- p = f.itemMarginBottom || 0,
- v = 18,
- Z = 0,
- V = 4 + t + h + i,
- T = t + y + v - 5,
- s, z, x, w = 0,
- ua, E = f.borderWidth,
- bb = f.backgroundColor,
- A, C, J = f.width,
- M = m.series,
- jb = f.reversed;
- e();
- ha(m, "endResize", c);
- return {
- colorizeItem: a,
- destroyItem: function (a) {
- var b = a.checkbox;
- o(["legendItem", "legendLine", "legendSymbol"], function (b) {
- a[b] && a[b].destroy()
- });
- b && Tb(a.checkbox)
- },
- renderLegend: e,
- destroy: function () {
- ua && (ua = ua.destroy());
- A && (A = A.destroy())
- }
- }
- }
- };
- Db = function (a, b) {
- return a >= 0 && a <= ka && b >= 0 && b <= la
- };
- Fb = function () {
- var a = m.resetZoomButton;
- aa(m, "selection", {
- resetSelection: !0
- }, zb);
- if (a) m.resetZoomButton = a.destroy()
- };
- zb = function (a) {
- var b;
- m.resetZoomEnabled !== !1 && !m.resetZoomButton && k();
- !a || a.resetSelection ? o(xa, function (a) {
- a.options.zoomEnabled !== !1 && (a.setExtremes(null, null, !1), b = !0)
- }) : o(a.xAxis.concat(a.yAxis), function (a) {
- var c = a.axis;
- if (m.tracker[c.isXAxis ? "zoomX" : "zoomY"]) c.setExtremes(a.min, a.max, !1), b = !0
- });
- b && h(p(q.animation, m.pointCount < 100))
- };
- m.pan = function (a) {
- var b = m.xAxis[0],
- c = m.mouseDownX,
- d = b.pointRange / 2,
- e = b.getExtremes(),
- f = b.translate(c - a, !0) + d,
- c = b.translate(c + ka - a, !0) - d;
- (d = m.hoverPoints) && o(d, function (a) {
- a.setState()
- });
- f > Ua(e.dataMin, e.min) && c < W(e.dataMax, e.max) && b.setExtremes(f, c, !0, !1);
- m.mouseDownX = a;
- P(D, {
- cursor: "move"
- })
- };
- Wb = function () {
- var a = v.legend,
- b = p(a.margin, 10),
- c = a.x,
- d = a.y,
- e = a.align,
- f = a.verticalAlign,
- g;
- rb();
- if ((m.title || m.subtitle) && !s(T))(g = W(m.title && !$.floating && !$.verticalAlign && $.y || 0, m.subtitle && !ja.floating && !ja.verticalAlign && ja.y || 0)) && (J = W(J, g + p($.margin, 15) + ia));
- a.enabled && !a.floating && (e === "right" ? s(w) || (ba = W(ba, Wa - c + b + ua)) : e === "left" ? s(bb) || (O = W(O, Wa + c + b + jb)) : f === "top" ? s(T) || (J = W(J, yb + d + b + ia)) : f === "bottom" && (s(E) || (M = W(M, yb - d + b + R))));
- m.extraBottomMargin && (M += m.extraBottomMargin);
- m.extraTopMargin && (J += m.extraTopMargin);
- Nb && o(xa, function (a) {
- a.getOffset()
- });
- s(bb) || (O += pa[3]);
- s(T) || (J += pa[0]);
- s(E) || (M += pa[2]);
- s(w) || (ba += pa[1]);
- sb()
- };
- tb = function (a, b, c) {
- var d = m.title,
- e = m.subtitle;
- La += 1;
- Kb(c, m);
- Za = ra;
- $a = sa;
- if (s(a)) m.chartWidth = sa = z(a);
- if (s(b)) m.chartHeight = ra = z(b);
- P(D, {
- width: sa + ga,
- height: ra + ga
- });
- I.setSize(sa, ra, c);
- ka = sa - O - ba;
- la = ra - J - M;
- gb = null;
- o(xa, function (a) {
- a.isDirty = !0;
- a.setScale()
- });
- o(Q, function (a) {
- a.isDirty = !0
- });
- m.isDirtyLegend = !0;
- m.isDirtyBox = !0;
- Wb();
- d && d.align(null, null, ib);
- e && e.align(null, null, ib);
- h(c);
- Za = null;
- aa(m, "resize");
- Ub === !1 ? t() : setTimeout(t, Ub && Ub.duration || 500)
- };
- sb = function () {
- m.plotLeft = O = z(O);
- m.plotTop = J = z(J);
- m.plotWidth = ka = z(sa - O - ba);
- m.plotHeight = la = z(ra - J - M);
- m.plotSizeX = U ? la : ka;
- m.plotSizeY = U ? ka : la;
- ib = {
- x: jb,
- y: ia,
- width: sa - jb - ua,
- height: ra - ia - R
- };
- o(xa, function (a) {
- a.setAxisSize();
- a.setAxisTranslation()
- })
- };
- rb = function () {
- J = p(T, ia);
- ba = p(w, ua);
- M = p(E, R);
- O = p(bb, jb);
- pa = [0, 0, 0, 0]
- };
- qb = function () {
- var a = q.borderWidth || 0,
- b = q.backgroundColor,
- c = q.plotBackgroundColor,
- d = q.plotBackgroundImage,
- e, f = {
- x: O,
- y: J,
- width: ka,
- height: la
- };
- e = a + (q.shadow ? 8 : 0);
- if (a || b) ma ? ma.animate(ma.crisp(null, null, null, sa - e, ra - e)) : ma = I.rect(e / 2, e / 2, sa - e, ra - e, q.borderRadius, a).attr({
- stroke: q.borderColor,
- "stroke-width": a,
- fill: b || Ma
- }).add().shadow(q.shadow);
- c && (Na ? Na.animate(f) : Na = I.rect(O, J, ka, la, 0).attr({
- fill: c
- }).add().shadow(q.plotShadow));
- d && (Sa ? Sa.animate(f) : Sa = I.image(d, O, J, ka, la).add());
- q.plotBorderWidth && (da ? da.animate(da.crisp(null, O, J, ka, la)) : da = I.rect(O, J, ka, la, 0, q.plotBorderWidth).attr({
- stroke: q.plotBorderColor,
- "stroke-width": q.plotBorderWidth,
- zIndex: 4
- }).add());
- m.isDirtyBox = !1
- };
- q.reflow !== !1 && ha(m, "load", n);
- if (y) for (va in y) ha(m, va, y[va]);
- m.options = v;
- m.series = Q;
- m.xAxis = [];
- m.yAxis = [];
- m.addSeries = function (a, b, c) {
- var d;
- a && (Kb(c, m), b = p(b, !0), aa(m, "addSeries", {
- options: a
- }, function () {
- d = f(a);
- d.isDirty = !0;
- m.isDirtyLegend = !0;
- b && m.redraw()
- }));
- return d
- };
- m.animation = Fa ? !1 : p(q.animation, !0);
- m.Axis = c;
- m.destroy = function () {
- var a, b = D && D.parentNode;
- if (m !== null) {
- aa(m, "destroy");
- Qa(m);
- for (a = xa.length; a--;) xa[a] = xa[a].destroy();
- for (a = Q.length; a--;) Q[a] = Q[a].destroy();
- o("title,subtitle,seriesGroup,clipRect,credits,tracker,scroller,rangeSelector".split(","), function (a) {
- var b = m[a];
- b && (m[a] = b.destroy())
- });
- o([ma, da, Na, Xa, vb, I, ub], function (a) {
- a && a.destroy && a.destroy()
- });
- ma = da = Na = Xa = vb = I = ub = null;
- if (D) D.innerHTML = "", Qa(D), b && Tb(D), D = null;
- clearInterval(Bb);
- for (a in m) delete m[a];
- v = m = null
- }
- };
- m.get = function (a) {
- var b, c, d;
- for (b = 0; b < xa.length; b++) if (xa[b].options.id === a) return xa[b];
- for (b = 0; b < Q.length; b++) if (Q[b].options.id === a) return Q[b];
- for (b = 0; b < Q.length; b++) {
- d = Q[b].points || [];
- for (c = 0; c < d.length; c++) if (d[c].id === a) return d[c]
- }
- return null
- };
- m.getSelectedPoints = function () {
- var a = [];
- o(Q, function (b) {
- a = a.concat(nc(b.points, function (a) {
- return a.selected
- }))
- });
- return a
- };
- m.getSelectedSeries = function () {
- return nc(Q, function (a) {
- return a.selected
- })
- };
- m.hideLoading = function () {
- xb && cc(xb, {
- opacity: 0
- }, {
- duration: v.loading.hideDuration || 100,
- complete: function () {
- P(xb, {
- display: Ma
- })
- }
- });
- Ya = !1
- };
- m.initSeries = f;
- m.isInsidePlot = Db;
- m.redraw = h;
- m.setSize = tb;
- m.setTitle = j;
- m.showLoading = function (a) {
- var b = v.loading;
- xb || (xb = Aa(Ra, {
- className: Ia + "loading"
- }, L(b.style, {
- left: O + ga,
- top: J + ga,
- width: ka + ga,
- height: la + ga,
- zIndex: 10,
- display: Ma
- }), D), pb = Aa("span", null, b.labelStyle, xb));
- pb.innerHTML = a || v.lang.loading;
- Ya || (P(xb, {
- opacity: 0,
- display: ""
- }), cc(xb, {
- opacity: b.style.opacity
- }, {
- duration: b.showDuration || 0
- }), Ya = !0)
- };
- m.pointCount = 0;
- m.counters = new tc;
- V()
- }
- var X, x = document,
- ca = window,
- oa = Math,
- z = oa.round,
- Ta = oa.floor,
- Yb = oa.ceil,
- W = oa.max,
- Ua = oa.min,
- Ba = oa.abs,
- ja = oa.cos,
- C = oa.sin,
- da = oa.PI,
- Dc = da * 2 / 360,
- kb = navigator.userAgent,
- Qb = /msie/i.test(kb) && !ca.opera,
- Xa = x.documentMode === 8,
- Ec = /AppleWebKit/.test(kb),
- Bc = /Firefox/.test(kb),
- Pb = !! x.createElementNS && !! x.createElementNS("http://www.w3.org/2000/svg", "svg").createSVGRect,
- Qc = Bc && parseInt(kb.split("Firefox/")[1], 10) < 4,
- Fa = !Pb && !Qb && !! x.createElement("canvas").getContext,
- Xb, Ga = x.documentElement.ontouchstart !== X,
- Fc = {}, lc = 0,
- tb, Ea, ac, Ub, La, E, Ra = "div",
- wb = "absolute",
- mc = "relative",
- ab = "hidden",
- Ia = "highcharts-",
- eb = "visible",
- ga = "px",
- Ma = "none",
- wa = "M",
- fa = "L",
- Gc = "rgba(192,192,192," + (Pb ? 1.0E-6 : 0.0020) + ")",
- Ka = "",
- ta = "hover",
- Rb = "millisecond",
- ob = "second",
- pb = "minute",
- va = "hour",
- Ca = "day",
- Ya = "week",
- Da = "month",
- Za = "year",
- sb, fc, gc, ic, db, qb, rb, pc, qc, hc, rc, sc, w = ca.HighchartsAdapter,
- na = w || {}, Hc = na.getScript,
- o = na.each,
- nc = na.grep,
- Ac = na.offset,
- Vb = na.map,
- K = na.merge,
- ha = na.addEvent,
- Qa = na.removeEvent,
- aa = na.fireEvent,
- cc = na.animate,
- Ob = na.stop,
- Ha = {};
- ca.Highcharts = {};
- ac = function (a, b, c) {
- if (!s(b) || isNaN(b)) return "Invalid date";
- var a = p(a, "%Y-%m-%d %H:%M:%S"),
- d = new Date(b),
- e, f = d[gc](),
- g = d[ic](),
- h = d[db](),
- i = d[qb](),
- k = d[rb](),
- j = Ea.lang,
- l = j.weekdays,
- b = {
- a: l[g].substr(0, 3),
- A: l[g],
- d: Na(h),
- e: h,
- b: j.shortMonths[i],
- B: j.months[i],
- m: Na(i + 1),
- y: k.toString().substr(2, 2),
- Y: k,
- H: Na(f),
- I: Na(f % 12 || 12),
- l: f % 12 || 12,
- M: Na(d[fc]()),
- p: f < 12 ? "AM" : "PM",
- P: f < 12 ? "am" : "pm",
- S: Na(d.getSeconds()),
- L: Na(z(b % 1E3), 3)
- };
- for (e in b) a = a.replace("%" + e, b[e]);
- return c ? a.substr(0, 1).toUpperCase() + a.substr(1) : a
- };
- tc.prototype = {
- wrapColor: function (a) {
- if (this.color >= a) this.color = 0
- },
- wrapSymbol: function (a) {
- if (this.symbol >= a) this.symbol = 0
- }
- };
- E = za(Rb, 1, ob, 1E3, pb, 6E4, va, 36E5, Ca, 864E5, Ya, 6048E5, Da, 2592E6, Za, 31556952E3);
- La = {
- init: function (a, b, c) {
- var b = b || "",
- d = a.shift,
- e = b.indexOf("C") > -1,
- f = e ? 7 : 3,
- g, b = b.split(" "),
- c = [].concat(c),
- h, i, k = function (a) {
- for (g = a.length; g--;) a[g] === wa && a.splice(g + 1, 0, a[g + 1], a[g + 2], a[g + 1], a[g + 2])
- };
- e && (k(b), k(c));
- a.isArea && (h = b.splice(b.length - 6, 6), i = c.splice(c.length - 6, 6));
- d === 1 && (c = [].concat(c).splice(0, f).concat(c));
- a.shift = 0;
- if (b.length) for (a = c.length; b.length < a;) d = [].concat(b).splice(b.length - f, f), e && (d[f - 6] = d[f - 2], d[f - 5] = d[f - 1]), b = b.concat(d);
- h && (b = b.concat(h), c = c.concat(i));
- return [b, c]
- },
- step: function (a, b, c, d) {
- var e = [],
- f = a.length;
- if (c === 1) e = d;
- else if (f === b.length && c < 1) for (; f--;) d = parseFloat(a[f]), e[f] = isNaN(d) ? a[f] : c * parseFloat(b[f] - d) + d;
- else e = b;
- return e
- }
- };
- w && w.init && w.init(La);
- if (!w && ca.jQuery) {
- var ba = jQuery,
- Hc = ba.getScript,
- o = function (a, b) {
- for (var c = 0, d = a.length; c < d; c++) if (b.call(a[c], a[c], c, a) === !1) return c
- }, nc = ba.grep,
- Vb = function (a, b) {
- for (var c = [], d = 0, e = a.length; d < e; d++) c[d] = b.call(a[d], a[d], d, a);
- return c
- }, K = function () {
- var a = arguments;
- return ba.extend(!0, null, a[0], a[1], a[2], a[3])
- }, Ac = function (a) {
- return ba(a).offset()
- }, ha = function (a, b, c) {
- ba(a).bind(b, c)
- }, Qa = function (a, b, c) {
- var d = x.removeEventListener ? "removeEventListener" : "detachEvent";
- x[d] && !a[d] && (a[d] = function () {});
- ba(a).unbind(b, c)
- }, aa = function (a, b, c, d) {
- var e = ba.Event(b),
- f = "detached" + b,
- g;
- L(e, c);
- a[b] && (a[f] = a[b], a[b] = null);
- o(["preventDefault", "stopPropagation"], function (a) {
- var b = e[a];
- e[a] = function () {
- try {
- b.call(e)
- } catch (c) {
- a === "preventDefault" && (g = !0)
- }
- }
- });
- ba(a).trigger(e);
- a[f] && (a[b] = a[f], a[f] = null);
- d && !e.isDefaultPrevented() && !g && d(e)
- }, cc = function (a, b, c) {
- var d = ba(a);
- if (b.d) a.toD = b.d, b.d = 1;
- d.stop();
- d.animate(b, c)
- }, Ob = function (a) {
- ba(a).stop()
- };
- ba.extend(ba.easing, {
- easeOutQuad: function (a, b, c, d, e) {
- return -d * (b /= e) * (b - 2) + c
- }
- });
- var Ic = jQuery.fx,
- Jc = Ic.step;
- o(["cur", "_default", "width", "height"], function (a, b) {
- var c = b ? Jc : Ic.prototype,
- d = c[a],
- e;
- d && (c[a] = function (a) {
- a = b ? a : this;
- e = a.elem;
- return e.attr ? e.attr(a.prop, a.now) : d.apply(this, arguments)
- })
- });
- Jc.d = function (a) {
- var b = a.elem;
- if (!a.started) {
- var c = La.init(b, b.d, b.toD);
- a.start = c[0];
- a.end = c[1];
- a.started = !0
- }
- b.attr("d", La.step(a.start, a.end, a.pos, b.toD))
- }
- }
- w = {
- enabled: !0,
- align: "center",
- x: 0,
- y: 15,
- style: {
- color: "#666",
- fontSize: "11px",
- lineHeight: "14px"
- }
- };
- Ea = {
- colors: "#4572A7,#AA4643,#89A54E,#80699B,#3D96AE,#DB843D,#92A8CD,#A47D7C,#B5CA92".split(","),
- symbols: ["circle", "diamond", "square", "triangle", "triangle-down"],
- lang: {
- loading: "Loading...",
- months: "January,February,March,April,May,June,July,August,September,October,November,December".split(","),
- shortMonths: "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),
- weekdays: "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),
- decimalPoint: ".",
- resetZoom: "Reset zoom",
- resetZoomTitle: "Reset zoom level 1:1",
- thousandsSep: ","
- },
- global: {
- useUTC: !0,
- canvasToolsURL: "http://code.highcharts.com/2.2.1/modules/canvas-tools.js"
- },
- chart: {
- borderColor: "#4572A7",
- borderRadius: 5,
- defaultSeriesType: "line",
- ignoreHiddenSeries: !0,
- spacingTop: 10,
- spacingRight: 10,
- spacingBottom: 15,
- spacingLeft: 10,
- style: {
- fontFamily: '"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif',
- fontSize: "12px"
- },
- backgroundColor: "#FFFFFF",
- plotBorderColor: "#C0C0C0",
- resetZoomButton: {
- theme: {
- zIndex: 20
- },
- position: {
- align: "right",
- x: -10,
- y: 10
- }
- }
- },
- title: {
- text: "Chart title",
- align: "center",
- y: 15,
- style: {
- color: "#3E576F",
- fontSize: "16px"
- }
- },
- subtitle: {
- text: "",
- align: "center",
- y: 30,
- style: {
- color: "#6D869F"
- }
- },
- plotOptions: {
- line: {
- allowPointSelect: !1,
- showCheckbox: !1,
- animation: {
- duration: 1E3
- },
- events: {},
- lineWidth: 2,
- shadow: !0,
- marker: {
- enabled: !0,
- lineWidth: 0,
- radius: 4,
- lineColor: "#FFFFFF",
- states: {
- hover: {},
- select: {
- fillColor: "#FFFFFF",
- lineColor: "#000000",
- lineWidth: 2
- }
- }
- },
- point: {
- events: {}
- },
- dataLabels: K(w, {
- enabled: !1,
- y: -6,
- formatter: function () {
- return this.y
- }
- }),
- cropThreshold: 300,
- pointRange: 0,
- showInLegend: !0,
- states: {
- hover: {
- marker: {}
- },
- select: {
- marker: {}
- }
- },
- stickyTracking: !0
- }
- },
- labels: {
- style: {
- position: wb,
- color: "#3E576F"
- }
- },
- legend: {
- enabled: !0,
- align: "center",
- layout: "horizontal",
- labelFormatter: function () {
- return this.name
- },
- borderWidth: 1,
- borderColor: "#909090",
- borderRadius: 5,
- shadow: !1,
- style: {
- padding: "5px"
- },
- itemStyle: {
- cursor: "pointer",
- color: "#3E576F"
- },
- itemHoverStyle: {
- color: "#000000"
- },
- itemHiddenStyle: {
- color: "#C0C0C0"
- },
- itemCheckboxStyle: {
- position: wb,
- width: "13px",
- height: "13px"
- },
- symbolWidth: 16,
- symbolPadding: 5,
- verticalAlign: "bottom",
- x: 0,
- y: 0
- },
- loading: {
- labelStyle: {
- fontWeight: "bold",
- position: mc,
- top: "1em"
- },
- style: {
- position: wb,
- backgroundColor: "white",
- opacity: 0.5,
- textAlign: "center"
- }
- },
- tooltip: {
- enabled: !0,
- backgroundColor: "rgba(255, 255, 255, .85)",
- borderWidth: 2,
- borderRadius: 5,
- headerFormat: '<span style="font-size: 10px">{point.key}</span><br/>',
- pointFormat: '<span style="color:{series.color}">{series.name}</span>: <b>{point.y}</b><br/>',
- shadow: !0,
- shared: Fa,
- snap: Ga ? 25 : 10,
- style: {
- color: "#333333",
- fontSize: "12px",
- padding: "5px",
- whiteSpace: "nowrap"
- }
- },
- credits: {
- enabled: !0,
- text: "Highcharts.com",
- href: "http://www.highcharts.com",
- position: {
- align: "right",
- x: -10,
- verticalAlign: "bottom",
- y: -5
- },
- style: {
- cursor: "pointer",
- color: "#909090",
- fontSize: "10px"
- }
- }
- };
- var $b = {
- dateTimeLabelFormats: za(Rb, "%H:%M:%S.%L", ob, "%H:%M:%S", pb, "%H:%M", va, "%H:%M", Ca, "%e. %b", Ya, "%e. %b", Da, "%b '%y", Za, "%Y"),
- endOnTick: !1,
- gridLineColor: "#C0C0C0",
- labels: w,
- lineColor: "#C0D0E0",
- lineWidth: 1,
- max: null,
- min: null,
- minPadding: 0.01,
- maxPadding: 0.01,
- minorGridLineColor: "#E0E0E0",
- minorGridLineWidth: 1,
- minorTickColor: "#A0A0A0",
- minorTickLength: 2,
- minorTickPosition: "outside",
- startOfWeek: 1,
- startOnTick: !1,
- tickColor: "#C0D0E0",
- tickLength: 5,
- tickmarkPlacement: "between",
- tickPixelInterval: 100,
- tickPosition: "outside",
- tickWidth: 1,
- title: {
- align: "middle",
- style: {
- color: "#6D869F",
- fontWeight: "bold"
- }
- },
- type: "linear"
- }, kc = K($b, {
- endOnTick: !0,
- gridLineWidth: 1,
- tickPixelInterval: 72,
- showLastLabel: !0,
- labels: {
- align: "right",
- x: -8,
- y: 3
- },
- lineWidth: 0,
- maxPadding: 0.05,
- minPadding: 0.05,
- startOnTick: !0,
- tickWidth: 0,
- title: {
- rotation: 270,
- text: "Y-values"
- },
- stackLabels: {
- enabled: !1,
- formatter: function () {
- return this.total
- },
- style: w.style
- }
- }),
- Pc = {
- labels: {
- align: "right",
- x: -8,
- y: null
- },
- title: {
- rotation: 270
- }
- }, Oc = {
- labels: {
- align: "left",
- x: 8,
- y: null
- },
- title: {
- rotation: 90
- }
- }, zc = {
- labels: {
- align: "center",
- x: 0,
- y: 14,
- overflow: "justify"
- },
- title: {
- rotation: 0
- }
- }, Nc = K(zc, {
- labels: {
- y: -5,
- overflow: "justify"
- }
- }),
- M = Ea.plotOptions,
- w = M.line;
- M.spline = K(w);
- M.scatter = K(w, {
- lineWidth: 0,
- states: {
- hover: {
- lineWidth: 0
- }
- },
- tooltip: {
- headerFormat: '<span style="font-size: 10px; color:{series.color}">{series.name}</span><br/>',
- pointFormat: "x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"
- }
- });
- M.area = K(w, {
- threshold: 0
- });
- M.areaspline = K(M.area);
- M.column = K(w, {
- borderColor: "#FFFFFF",
- borderWidth: 1,
- borderRadius: 0,
- groupPadding: 0.2,
- marker: null,
- pointPadding: 0.1,
- minPointLength: 0,
- cropThreshold: 50,
- pointRange: null,
- states: {
- hover: {
- brightness: 0.1,
- shadow: !1
- },
- select: {
- color: "#C0C0C0",
- borderColor: "#000000",
- shadow: !1
- }
- },
- dataLabels: {
- y: null,
- verticalAlign: null
- },
- threshold: 0
- });
- M.bar = K(M.column, {
- dataLabels: {
- align: "left",
- x: 5,
- y: null,
- verticalAlign: "middle"
- }
- });
- M.pie = K(w, {
- borderColor: "#FFFFFF",
- borderWidth: 1,
- center: ["50%", "50%"],
- colorByPoint: !0,
- dataLabels: {
- distance: 30,
- enabled: !0,
- formatter: function () {
- return this.point.name
- },
- y: 5
- },
- legendType: "point",
- marker: null,
- size: "75%",
- showInLegend: !1,
- slicedOffset: 10,
- states: {
- hover: {
- brightness: 0.1,
- shadow: !1
- }
- }
- });
- vc();
- var ma = function (a) {
- var b = [],
- c;
- (function (a) {
- (c = /rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/.exec(a)) ? b = [S(c[1]), S(c[2]), S(c[3]), parseFloat(c[4], 10)] : (c = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(a)) && (b = [S(c[1], 16), S(c[2], 16), S(c[3], 16), 1])
- })(a);
- return {
- get: function (c) {
- return b && !isNaN(b[0]) ? c === "rgb" ? "rgb(" + b[0] + "," + b[1] + "," + b[2] + ")" : c === "a" ? b[3] : "rgba(" + b.join(",") + ")" : a
- },
- brighten: function (a) {
- if (Bb(a) && a !== 0) {
- var c;
- for (c = 0; c < 3; c++) b[c] += S(a * 255), b[c] < 0 && (b[c] = 0), b[c] > 255 && (b[c] = 255)
- }
- return this
- },
- setOpacity: function (a) {
- b[3] = a;
- return this
- }
- }
- };
- Sa.prototype = {
- init: function (a, b) {
- this.element = b === "span" ? Aa(b) : x.createElementNS("http://www.w3.org/2000/svg", b);
- this.renderer = a;
- this.attrSetters = {}
- },
- animate: function (a, b, c) {
- b = p(b, Ub, !0);
- Ob(this);
- if (b) {
- b = K(b);
- if (c) b.complete = c;
- cc(this, a, b)
- } else this.attr(a), c && c()
- },
- attr: function (a, b) {
- var c, d, e, f, g = this.element,
- h = g.nodeName,
- i = this.renderer,
- k, j = this.attrSetters,
- l = this.shadows,
- n, o = this;
- Ab(a) && s(b) && (c = a, a = {}, a[c] = b);
- if (Ab(a)) c = a, h === "circle" ? c = {
- x: "cx",
- y: "cy"
- }[c] || c : c === "strokeWidth" && (c = "stroke-width"), o = A(g, c) || this[c] || 0, c !== "d" && c !== "visibility" && (o = parseFloat(o));
- else for (c in a) if (k = !1, d = a[c], e = j[c] && j[c](d, c), e !== !1) {
- e !== X && (d = e);
- if (c === "d") d && d.join && (d = d.join(" ")), /(NaN| {2}|^$)/.test(d) && (d = "M 0 0"), this.d = d;
- else if (c === "x" && h === "text") {
- for (e = 0; e < g.childNodes.length; e++) f = g.childNodes[e], A(f, "x") === A(g, "x") && A(f, "x", d);
- this.rotation && A(g, "transform", "rotate(" + this.rotation + " " + d + " " + S(a.y || A(g, "y")) + ")")
- } else if (c === "fill") d = i.color(d, g, c);
- else if (h === "circle" && (c === "x" || c === "y")) c = {
- x: "cx",
- y: "cy"
- }[c] || c;
- else if (h === "rect" && c === "r") A(g, {
- rx: d,
- ry: d
- }), k = !0;
- else if (c === "translateX" || c === "translateY" || c === "rotation" || c === "verticalAlign") this[c] = d, this.updateTransform(), k = !0;
- else if (c === "stroke") d = i.color(d, g, c);
- else if (c === "dashstyle") if (c = "stroke-dasharray", d = d && d.toLowerCase(), d === "solid") d = Ma;
- else {
- if (d) {
- d = d.replace("shortdashdotdot", "3,1,1,1,1,1,").replace("shortdashdot", "3,1,1,1").replace("shortdot", "1,1,").replace("shortdash", "3,1,").replace("longdash", "8,3,").replace(/dot/g, "1,3,").replace("dash", "4,3,").replace(/,$/, "").split(",");
- for (e = d.length; e--;) d[e] = S(d[e]) * a["stroke-width"];
- d = d.join(",")
- }
- } else c === "isTracker" ? this[c] = d : c === "width" ? d = S(d) : c === "align" ? (c = "text-anchor", d = {
- left: "start",
- center: "middle",
- right: "end"
- }[d]) : c === "title" && (e = x.createElementNS("http://www.w3.org/2000/svg", "title"), e.appendChild(x.createTextNode(d)), g.appendChild(e));
- c === "strokeWidth" && (c = "stroke-width");
- Ec && c === "stroke-width" && d === 0 && (d = 1.0E-6);
- this.symbolName && /^(x|y|r|start|end|innerR|anchorX|anchorY)/.test(c) && (n || (this.symbolAttr(a), n = !0), k = !0);
- if (l && /^(width|height|visibility|x|y|d|transform)$/.test(c)) for (e = l.length; e--;) A(l[e], c, d);
- if ((c === "width" || c === "height") && h === "rect" && d < 0) d = 0;
- c === "text" ? (this.textStr = d, this.added && i.buildText(this)) : k || A(g, c, d)
- }
- if (Ec && /Chrome\/(18|19)/.test(kb) && h === "text" && (a.x !== X || a.y !== X)) c = g.parentNode, d = g.nextSibling, c && (c.removeChild(g), d ? c.insertBefore(g, d) : c.appendChild(g));
- return o
- },
- symbolAttr: function (a) {
- var b = this;
- o("x,y,r,start,end,width,height,innerR,anchorX,anchorY".split(","), function (c) {
- b[c] = p(a[c], b[c])
- });
- b.attr({
- d: b.renderer.symbols[b.symbolName](b.x, b.y, b.width, b.height, b)
- })
- },
- clip: function (a) {
- return this.attr("clip-path", "url(" + this.renderer.url + "#" + a.id + ")")
- },
- crisp: function (a, b, c, d, e) {
- var f, g = {}, h = {}, i, a = a || this.strokeWidth || this.attr && this.attr("stroke-width") || 0;
- i = z(a) % 2 / 2;
- h.x = Ta(b || this.x || 0) + i;
- h.y = Ta(c || this.y || 0) + i;
- h.width = Ta((d || this.width || 0) - 2 * i);
- h.height = Ta((e || this.height || 0) - 2 * i);
- h.strokeWidth = a;
- for (f in h) this[f] !== h[f] && (this[f] = g[f] = h[f]);
- return g
- },
- css: function (a) {
- var b = this.element,
- b = a && a.width && b.nodeName === "text",
- c, d = "",
- e = function (a, b) {
- return "-" + b.toLowerCase()
- };
- if (a && a.color) a.fill = a.color;
- this.styles = a = L(this.styles, a);
- if (Qb && !Pb) b && delete a.width, P(this.element, a);
- else {
- for (c in a) d += c.replace(/([A-Z])/g, e) + ":" + a[c] + ";";
- this.attr({
- style: d
- })
- }
- b && this.added && this.renderer.buildText(this);
- return this
- },
- on: function (a, b) {
- var c = b;
- Ga && a === "click" && (a = "touchstart", c = function (a) {
- a.preventDefault();
- b()
- });
- this.element["on" + a] = c;
- return this
- },
- translate: function (a, b) {
- return this.attr({
- translateX: a,
- translateY: b
- })
- },
- invert: function () {
- this.inverted = !0;
- this.updateTransform();
- return this
- },
- htmlCss: function (a) {
- var b = this.element;
- if (b = a && b.tagName === "SPAN" && a.width) delete a.width, this.textWidth = b, this.updateTransform();
- this.styles = L(this.styles, a);
- P(this.element, a);
- return this
- },
- htmlGetBBox: function (a) {
- var b = this.element,
- c = this.bBox;
- if (!c || a) {
- if (b.nodeName === "text") b.style.position = wb;
- c = this.bBox = {
- x: b.offsetLeft,
- y: b.offsetTop,
- width: b.offsetWidth,
- height: b.offsetHeight
- }
- }
- return c
- },
- htmlUpdateTransform: function () {
- if (this.added) {
- var a = this.renderer,
- b = this.element,
- c = this.translateX || 0,
- d = this.translateY || 0,
- e = this.x || 0,
- f = this.y || 0,
- g = this.textAlign || "left",
- h = {
- left: 0,
- center: 0.5,
- right: 1
- }[g],
- i = g && g !== "left",
- k = this.shadows;
- if (c || d) P(b, {
- marginLeft: c,
- marginTop: d
- }), k && o(k, function (a) {
- P(a, {
- marginLeft: c + 1,
- marginTop: d + 1
- })
- });
- this.inverted && o(b.childNodes, function (c) {
- a.invertChild(c, b)
- });
- if (b.tagName === "SPAN") {
- var j, l, k = this.rotation,
- n;
- j = 0;
- var t = 1,
- r = 0,
- Z;
- n = S(this.textWidth);
- var V = this.xCorr || 0,
- v = this.yCorr || 0,
- y = [k, g, b.innerHTML, this.textWidth].join(",");
- if (y !== this.cTT) s(k) && (j = k * Dc, t = ja(j), r = C(j), P(b, {
- filter: k ? ["progid:DXImageTransform.Microsoft.Matrix(M11=", t, ", M12=", - r, ", M21=", r, ", M22=", t, ", sizingMethod='auto expand')"].join("") : Ma
- })), j = p(this.elemWidth, b.offsetWidth), l = p(this.elemHeight, b.offsetHeight), j > n && (P(b, {
- width: n + ga,
- display: "block",
- whiteSpace: "normal"
- }), j = n), n = a.fontMetrics(b.style.fontSize).b, V = t < 0 && -j, v = r < 0 && -l, Z = t * r < 0, V += r * n * (Z ? 1 - h : h), v -= t * n * (k ? Z ? h : 1 - h : 1), i && (V -= j * h * (t < 0 ? -1 : 1), k && (v -= l * h * (r < 0 ? -1 : 1)), P(b, {
- textAlign: g
- })), this.xCorr = V, this.yCorr = v;
- P(b, {
- left: e + V + ga,
- top: f + v + ga
- });
- this.cTT = y
- }
- } else this.alignOnAdd = !0
- },
- updateTransform: function () {
- var a = this.translateX || 0,
- b = this.translateY || 0,
- c = this.inverted,
- d = this.rotation,
- e = [];
- c && (a += this.attr("width"), b += this.attr("height"));
- (a || b) && e.push("translate(" + a + "," + b + ")");
- c ? e.push("rotate(90) scale(-1,1)") : d && e.push("rotate(" + d + " " + this.x + " " + this.y + ")");
- e.length && A(this.element, "transform", e.join(" "))
- },
- toFront: function () {
- var a = this.element;
- a.parentNode.appendChild(a);
- return this
- },
- align: function (a, b, c) {
- a ? (this.alignOptions = a, this.alignByTranslate = b, c || this.renderer.alignedObjects.push(this)) : (a = this.alignOptions, b = this.alignByTranslate);
- var c = p(c, this.renderer),
- d = a.align,
- e = a.verticalAlign,
- f = (c.x || 0) + (a.x || 0),
- g = (c.y || 0) + (a.y || 0),
- h = {};
- /^(right|center)$/.test(d) && (f += (c.width - (a.width || 0)) / {
- right: 1,
- center: 2
- }[d]);
- h[b ? "translateX" : "x"] = z(f);
- /^(bottom|middle)$/.test(e) && (g += (c.height - (a.height || 0)) / ({
- bottom: 1,
- middle: 2
- }[e] || 1));
- h[b ? "translateY" : "y"] = z(g);
- this[this.placed ? "animate" : "attr"](h);
- this.placed = !0;
- this.alignAttr = h;
- return this
- },
- getBBox: function (a) {
- var b, c, d = this.rotation;
- c = this.element;
- var e = d * Dc;
- if (c.namespaceURI === "http://www.w3.org/2000/svg") {
- try {
- b = c.getBBox ? L({}, c.getBBox()) : {
- width: c.offsetWidth,
- height: c.offsetHeight
- }
- } catch (f) {}
- if (!b || b.width < 0) b = {
- width: 0,
- height: 0
- };
- a = b.width;
- c = b.height;
- if (d) b.width = Ba(c * C(e)) + Ba(a * ja(e)), b.height = Ba(c * ja(e)) + Ba(a * C(e))
- } else b = this.htmlGetBBox(a);
- return b
- },
- show: function () {
- return this.attr({
- visibility: eb
- })
- },
- hide: function () {
- return this.attr({
- visibility: ab
- })
- },
- add: function (a) {
- var b = this.renderer,
- c = a || b,
- d = c.element || b.box,
- e = d.childNodes,
- f = this.element,
- g = A(f, "zIndex"),
- h;
- this.parentInverted = a && a.inverted;
- this.textStr !== void 0 && b.buildText(this);
- if (g) c.handleZ = !0, g = S(g);
- if (c.handleZ) for (c = 0; c < e.length; c++) if (a = e[c], b = A(a, "zIndex"), a !== f && (S(b) > g || !s(g) && s(b))) {
- d.insertBefore(f, a);
- h = !0;
- break
- }
- h || d.appendChild(f);
- this.added = !0;
- aa(this, "add");
- return this
- },
- safeRemoveChild: function (a) {
- var b = a.parentNode;
- b && b.removeChild(a)
- },
- destroy: function () {
- var a = this,
- b = a.element || {}, c = a.shadows,
- d = a.box,
- e, f;
- b.onclick = b.onmouseout = b.onmouseover = b.onmousemove = null;
- Ob(a);
- if (a.clipPath) a.clipPath = a.clipPath.destroy();
- if (a.stops) {
- for (f = 0; f < a.stops.length; f++) a.stops[f] = a.stops[f].destroy();
- a.stops = null
- }
- a.safeRemoveChild(b);
- c && o(c, function (b) {
- a.safeRemoveChild(b)
- });
- d && d.destroy();
- Gb(a.renderer.alignedObjects, a);
- for (e in a) delete a[e];
- return null
- },
- empty: function () {
- for (var a = this.element, b = a.childNodes, c = b.length; c--;) a.removeChild(b[c])
- },
- shadow: function (a, b) {
- var c = [],
- d, e, f = this.element,
- g = this.parentInverted ? "(-1,-1)" : "(1,1)";
- if (a) {
- for (d = 1; d <= 3; d++) e = f.cloneNode(0), A(e, {
- isShadow: "true",
- stroke: "rgb(0, 0, 0)",
- "stroke-opacity": 0.05 * d,
- "stroke-width": 7 - 2 * d,
- transform: "translate" + g,
- fill: Ma
- }), b ? b.element.appendChild(e) : f.parentNode.insertBefore(e, f), c.push(e);
- this.shadows = c
- }
- return this
- }
- };
- var Eb = function () {
- this.init.apply(this, arguments)
- };
- Eb.prototype = {
- Element: Sa,
- init: function (a, b, c, d) {
- var e = location,
- f;
- f = this.createElement("svg").attr({
- xmlns: "http://www.w3.org/2000/svg",
- version: "1.1"
- });
- a.appendChild(f.element);
- this.isSVG = !0;
- this.box = f.element;
- this.boxWrapper = f;
- this.alignedObjects = [];
- this.url = Qb ? "" : e.href.replace(/#.*?$/, "").replace(/([\('\)])/g, "\\$1");
- this.defs = this.createElement("defs").add();
- this.forExport = d;
- this.gradients = {};
- this.setSize(b, c, !1)
- },
- destroy: function () {
- var a = this.defs;
- this.box = null;
- this.boxWrapper = this.boxWrapper.destroy();
- Jb(this.gradients || {});
- this.gradients = null;
- if (a) this.defs = a.destroy();
- return this.alignedObjects = null
- },
- createElement: function (a) {
- var b = new this.Element;
- b.init(this, a);
- return b
- },
- draw: function () {},
- buildText: function (a) {
- for (var b = a.element, c = p(a.textStr, "").toString().replace(/<(b|strong)>/g, '<span style="font-weight:bold">').replace(/<(i|em)>/g, '<span style="font-style:italic">').replace(/<a/g, "<span").replace(/<\/(b|strong|i|em|a)>/g, "</span>").split(/<br.*?>/g), d = b.childNodes, e = /style="([^"]+)"/, f = /href="([^"]+)"/, g = A(b, "x"), h = a.styles, i = h && S(h.width), k = h && h.lineHeight, j, h = d.length; h--;) b.removeChild(d[h]);
- i && !a.added && this.box.appendChild(b);
- c[c.length - 1] === "" && c.pop();
- o(c, function (c, d) {
- var h, r = 0,
- p, c = c.replace(/<span/g, "|||<span").replace(/<\/span>/g, "</span>|||");
- h = c.split("|||");
- o(h, function (c) {
- if (c !== "" || h.length === 1) {
- var l = {}, o = x.createElementNS("http://www.w3.org/2000/svg", "tspan");
- e.test(c) && A(o, "style", c.match(e)[1].replace(/(;| |^)color([ :])/, "$1fill$2"));
- f.test(c) && (A(o, "onclick", 'location.href="' + c.match(f)[1] + '"'), P(o, {
- cursor: "pointer"
- }));
- c = (c.replace(/<(.|\n)*?>/g, "") || " ").replace(/</g, "<").replace(/>/g, ">");
- o.appendChild(x.createTextNode(c));
- r ? l.dx = 3 : l.x = g;
- if (!r) {
- if (d) {
- !Pb && a.renderer.forExport && P(o, {
- display: "block"
- });
- p = ca.getComputedStyle && S(ca.getComputedStyle(j, null).getPropertyValue("line-height"));
- if (!p || isNaN(p)) p = k || j.offsetHeight || 18;
- A(o, "dy", p)
- }
- j = o
- }
- A(o, l);
- b.appendChild(o);
- r++;
- if (i) for (var c = c.replace(/-/g, "- ").split(" "), q, T = []; c.length || T.length;) q = a.getBBox().width, l = q > i, !l || c.length === 1 ? (c = T, T = [], c.length && (o = x.createElementNS("http://www.w3.org/2000/svg", "tspan"), A(o, {
- dy: k || 16,
- x: g
- }), b.appendChild(o), q > i && (i = q))) : (o.removeChild(o.firstChild), T.unshift(c.pop())), c.length && o.appendChild(x.createTextNode(c.join(" ").replace(/- /g, "-")))
- }
- })
- })
- },
- button: function (a, b, c, d, e, f, g) {
- var h = this.label(a, b, c),
- i = 0,
- k, j, l, n, o, a = {
- x1: 0,
- y1: 0,
- x2: 0,
- y2: 1
- }, e = K(za("stroke-width", 1, "stroke", "#999", "fill", za("linearGradient", a, "stops", [
- [0, "#FFF"],
- [1, "#DDD"]
- ]), "r", 3, "padding", 3, "style", za("color", "black")), e);
- l = e.style;
- delete e.style;
- f = K(e, za("stroke", "#68A", "fill", za("linearGradient", a, "stops", [
- [0, "#FFF"],
- [1, "#ACF"]
- ])), f);
- n = f.style;
- delete f.style;
- g = K(e, za("stroke", "#68A", "fill", za("linearGradient", a, "stops", [
- [0, "#9BD"],
- [1, "#CDF"]
- ])), g);
- o = g.style;
- delete g.style;
- ha(h.element, "mouseenter", function () {
- h.attr(f).css(n)
- });
- ha(h.element, "mouseleave", function () {
- k = [e, f, g][i];
- j = [l, n, o][i];
- h.attr(k).css(j)
- });
- h.setState = function (a) {
- (i = a) ? a === 2 && h.attr(g).css(o) : h.attr(e).css(l)
- };
- return h.on("click", function () {
- d.call(h)
- }).attr(e).css(L({
- cursor: "default"
- }, l))
- },
- crispLine: function (a, b) {
- a[1] === a[4] && (a[1] = a[4] = z(a[1]) + b % 2 / 2);
- a[2] === a[5] && (a[2] = a[5] = z(a[2]) + b % 2 / 2);
- return a
- },
- path: function (a) {
- return this.createElement("path").attr({
- d: a,
- fill: Ma
- })
- },
- circle: function (a, b, c) {
- a = mb(a) ? a : {
- x: a,
- y: b,
- r: c
- };
- return this.createElement("circle").attr(a)
- },
- arc: function (a, b, c, d, e, f) {
- if (mb(a)) b = a.y, c = a.r, d = a.innerR, e = a.start, f = a.end, a = a.x;
- return this.symbol("arc", a || 0, b || 0, c || 0, c || 0, {
- innerR: d || 0,
- start: e || 0,
- end: f || 0
- })
- },
- rect: function (a, b, c, d, e, f) {
- if (mb(a)) b = a.y, c = a.width, d = a.height, e = a.r, f = a.strokeWidth, a = a.x;
- e = this.createElement("rect").attr({
- rx: e,
- ry: e,
- fill: Ma
- });
- return e.attr(e.crisp(f, a, b, W(c, 0), W(d, 0)))
- },
- setSize: function (a, b, c) {
- var d = this.alignedObjects,
- e = d.length;
- this.width = a;
- this.height = b;
- for (this.boxWrapper[p(c, !0) ? "animate" : "attr"]({
- width: a,
- height: b
- }); e--;) d[e].align()
- },
- g: function (a) {
- var b = this.createElement("g");
- return s(a) ? b.attr({
- "class": Ia + a
- }) : b
- },
- image: function (a, b, c, d, e) {
- var f = {
- preserveAspectRatio: Ma
- };
- arguments.length > 1 && L(f, {
- x: b,
- y: c,
- width: d,
- height: e
- });
- f = this.createElement("image").attr(f);
- f.element.setAttributeNS ? f.element.setAttributeNS("http://www.w3.org/1999/xlink", "href", a) : f.element.setAttribute("hc-svg-href", a);
- return f
- },
- symbol: function (a, b, c, d, e, f) {
- var g, h = this.symbols[a],
- h = h && h(z(b), z(c), d, e, f),
- i = /^url\((.*?)\)$/,
- k;
- if (h) g = this.path(h), L(g, {
- symbolName: a,
- x: b,
- y: c,
- width: d,
- height: e
- }), f && L(g, f);
- else if (i.test(a)) {
- var j = function (a, b) {
- a.attr({
- width: b[0],
- height: b[1]
- }).translate(-z(b[0] / 2), - z(b[1] / 2))
- };
- k = a.match(i)[1];
- a = Fc[k];
- g = this.image(k).attr({
- x: b,
- y: c
- });
- a ? j(g, a) : (g.attr({
- width: 0,
- height: 0
- }), Aa("img", {
- onload: function () {
- j(g, Fc[k] = [this.width, this.height])
- },
- src: k
- }))
- }
- return g
- },
- symbols: {
- circle: function (a, b, c, d) {
- var e = 0.166 * c;
- return [wa, a + c / 2, b, "C", a + c + e, b, a + c + e, b + d, a + c / 2, b + d, "C", a - e, b + d, a - e, b, a + c / 2, b, "Z"]
- },
- square: function (a, b, c, d) {
- return [wa, a, b, fa, a + c, b, a + c, b + d, a, b + d, "Z"]
- },
- triangle: function (a, b, c, d) {
- return [wa, a + c / 2, b, fa, a + c, b + d, a, b + d, "Z"]
- },
- "triangle-down": function (a, b, c, d) {
- return [wa, a, b, fa, a + c, b, a + c / 2, b + d, "Z"]
- },
- diamond: function (a, b, c, d) {
- return [wa, a + c / 2, b, fa, a + c, b + d / 2, a + c / 2, b + d, a, b + d / 2, "Z"]
- },
- arc: function (a, b, c, d, e) {
- var f = e.start,
- c = e.r || c || d,
- g = e.end - 1.0E-6,
- d = e.innerR,
- h = ja(f),
- i = C(f),
- k = ja(g),
- g = C(g),
- e = e.end - f < da ? 0 : 1;
- return [wa, a + c * h, b + c * i, "A", c, c, 0, e, 1, a + c * k, b + c * g, fa, a + d * k, b + d * g, "A", d, d, 0, e, 0, a + d * h, b + d * i, "Z"]
- }
- },
- clipRect: function (a, b, c, d) {
- var e = Ia + lc++,
- f = this.createElement("clipPath").attr({
- id: e
- }).add(this.defs),
- a = this.rect(a, b, c, d, 0).add(f);
- a.id = e;
- a.clipPath = f;
- return a
- },
- color: function (a, b, c) {
- var d, e = /^rgba/;
- if (a && a.linearGradient) {
- var f = this,
- g = a.linearGradient,
- b = !Fb(g),
- c = f.gradients,
- h, i = g.x1 || g[0] || 0,
- k = g.y1 || g[1] || 0,
- j = g.x2 || g[2] || 0,
- l = g.y2 || g[3] || 0,
- n, t, r = [b, i, k, j, l, a.stops.join(",")].join(",");
- c[r] ? g = A(c[r].element, "id") : (g = Ia + lc++, h = f.createElement("linearGradient").attr(L({
- id: g,
- x1: i,
- y1: k,
- x2: j,
- y2: l
- }, b ? null : {
- gradientUnits: "userSpaceOnUse"
- })).add(f.defs), h.stops = [], o(a.stops, function (a) {
- e.test(a[1]) ? (d = ma(a[1]), n = d.get("rgb"), t = d.get("a")) : (n = a[1], t = 1);
- a = f.createElement("stop").attr({
- offset: a[0],
- "stop-color": n,
- "stop-opacity": t
- }).add(h);
- h.stops.push(a)
- }), c[r] = h);
- return "url(" + this.url + "#" + g + ")"
- } else return e.test(a) ? (d = ma(a), A(b, c + "-opacity", d.get("a")), d.get("rgb")) : (b.removeAttribute(c + "-opacity"), a)
- },
- text: function (a, b, c, d) {
- var e = Ea.chart.style;
- if (d && !this.forExport) return this.html(a, b, c);
- b = z(p(b, 0));
- c = z(p(c, 0));
- a = this.createElement("text").attr({
- x: b,
- y: c,
- text: a
- }).css({
- fontFamily: e.fontFamily,
- fontSize: e.fontSize
- });
- a.x = b;
- a.y = c;
- return a
- },
- html: function (a, b, c) {
- var d = Ea.chart.style,
- e = this.createElement("span"),
- f = e.attrSetters,
- g = e.element,
- h = e.renderer;
- f.text = function (a) {
- g.innerHTML = a;
- return !1
- };
- f.x = f.y = f.align = function (a, b) {
- b === "align" && (b = "textAlign");
- e[b] = a;
- e.htmlUpdateTransform();
- return !1
- };
- e.attr({
- text: a,
- x: z(b),
- y: z(c)
- }).css({
- position: wb,
- whiteSpace: "nowrap",
- fontFamily: d.fontFamily,
- fontSize: d.fontSize
- });
- e.css = e.htmlCss;
- if (h.isSVG) e.add = function (a) {
- var b, c, d = h.box.parentNode;
- if (a) {
- if (b = a.div, !b) b = a.div = Aa(Ra, {
- className: A(a.element, "class")
- }, {
- position: wb,
- left: a.attr("translateX") + ga,
- top: a.attr("translateY") + ga
- }, d), c = b.style, L(a.attrSetters, {
- translateX: function (a) {
- c.left = a + ga
- },
- translateY: function (a) {
- c.top = a + ga
- },
- visibility: function (a, b) {
- c[b] = a
- }
- })
- } else b = d;
- b.appendChild(g);
- e.added = !0;
- e.alignOnAdd && e.htmlUpdateTransform();
- return e
- };
- return e
- },
- fontMetrics: function (a) {
- var a = S(a || 11),
- a = a < 24 ? a + 4 : z(a * 1.2),
- b = z(a * 0.8);
- return {
- h: a,
- b: b
- }
- },
- label: function (a, b, c, d, e, f, g, h) {
- function i() {
- var a = n.styles,
- a = a && a.textAlign,
- b = v,
- c;
- c = h ? 0 : ia;
- if (s(y) && (a === "center" || a === "right")) b += {
- center: 0.5,
- right: 1
- }[a] * (y - p.width);
- (b !== t.x || c !== t.y) && t.attr({
- x: b,
- y: c
- });
- t.x = b;
- t.y = c
- }
- function k(a, b) {
- r ? r.attr(a, b) : x[a] = b
- }
- function j() {
- n.attr({
- text: a,
- x: b,
- y: c,
- anchorX: e,
- anchorY: f
- })
- }
- var l = this,
- n = l.g(),
- t = l.text("", 0, 0, g).attr({
- zIndex: 1
- }).add(n),
- r, p, V = "left",
- v = 3,
- y, q, T, A, w = 0,
- x = {}, ia, g = n.attrSetters;
- ha(n, "add", j);
- g.width = function (a) {
- y = a;
- return !1
- };
- g.height = function (a) {
- q = a;
- return !1
- };
- g.padding = function (a) {
- s(a) && a !== v && (v = a, i());
- return !1
- };
- g.align = function (a) {
- V = a;
- return !1
- };
- g.text = function (a, b) {
- t.attr(b, a);
- var c;
- c = t.element.style;
- p = (y === void 0 || q === void 0 || n.styles.textAlign) && t.getBBox(!0);
- n.width = (y || p.width) + 2 * v;
- n.height = (q || p.height) + 2 * v;
- ia = v + l.fontMetrics(c && c.fontSize).b;
- if (!r) c = h ? -ia : 0, n.box = r = d ? l.symbol(d, 0, c, n.width, n.height) : l.rect(0, c, n.width, n.height, 0, x["stroke-width"]), r.add(n);
- r.attr(K({
- width: n.width,
- height: n.height
- }, x));
- x = null;
- i();
- return !1
- };
- g["stroke-width"] = function (a, b) {
- w = a % 2 / 2;
- k(b, a);
- return !1
- };
- g.stroke = g.fill = g.r = function (a, b) {
- k(b, a);
- return !1
- };
- g.anchorX = function (a, b) {
- e = a;
- k(b, a + w - T);
- return !1
- };
- g.anchorY = function (a, b) {
- f = a;
- k(b, a - A);
- return !1
- };
- g.x = function (a) {
- a -= {
- left: 0,
- center: 0.5,
- right: 1
- }[V] * ((y || p.width) + v);
- T = n.x = z(a);
- n.attr("translateX", T);
- return !1
- };
- g.y = function (a) {
- A = n.y = z(a);
- n.attr("translateY", a);
- return !1
- };
- var ua = n.css;
- return L(n, {
- css: function (a) {
- if (a) {
- var b = {}, a = K({}, a);
- o("fontSize,fontWeight,fontFamily,color,lineHeight,width".split(","), function (c) {
- a[c] !== X && (b[c] = a[c], delete a[c])
- });
- t.css(b)
- }
- return ua.call(n, a)
- },
- getBBox: function () {
- return r.getBBox()
- },
- shadow: function (a) {
- r.shadow(a);
- return n
- },
- destroy: function () {
- Qa(n, "add", j);
- Qa(n.element, "mouseenter");
- Qa(n.element, "mouseleave");
- t && (t = t.destroy());
- Sa.prototype.destroy.call(n)
- }
- })
- }
- };
- Xb = Eb;
- var $a;
- if (!Pb && !Fa) $a = {
- init: function (a, b) {
- var c = ["<", b, ' filled="f" stroked="f"'],
- d = ["position: ", wb, ";"];
- (b === "shape" || b === Ra) && d.push("left:0;top:0;width:10px;height:10px;");
- Xa && d.push("visibility: ", b === Ra ? ab : eb);
- c.push(' style="', d.join(""), '"/>');
- if (b) c = b === Ra || b === "span" || b === "img" ? c.join("") : a.prepVML(c), this.element = Aa(c);
- this.renderer = a;
- this.attrSetters = {}
- },
- add: function (a) {
- var b = this.renderer,
- c = this.element,
- d = b.box,
- d = a ? a.element || a : d;
- a && a.inverted && b.invertChild(c, d);
- Xa && d.gVis === ab && P(c, {
- visibility: ab
- });
- d.appendChild(c);
- this.added = !0;
- this.alignOnAdd && !this.deferUpdateTransform && this.updateTransform();
- aa(this, "add");
- return this
- },
- toggleChildren: function (a, b) {
- for (var c = a.childNodes, d = c.length; d--;) P(c[d], {
- visibility: b
- }), c[d].nodeName === "DIV" && this.toggleChildren(c[d], b)
- },
- updateTransform: Sa.prototype.htmlUpdateTransform,
- attr: function (a, b) {
- var c, d, e, f = this.element || {}, g = f.style,
- h = f.nodeName,
- i = this.renderer,
- k = this.symbolName,
- j, l = this.shadows,
- n, o = this.attrSetters,
- r = this;
- Ab(a) && s(b) && (c = a, a = {}, a[c] = b);
- if (Ab(a)) c = a, r = c === "strokeWidth" || c === "stroke-width" ? this.strokeweight : this[c];
- else for (c in a) if (d = a[c], n = !1, e = o[c] && o[c](d, c), e !== !1 && d !== null) {
- e !== X && (d = e);
- if (k && /^(x|y|r|start|end|width|height|innerR|anchorX|anchorY)/.test(c)) j || (this.symbolAttr(a), j = !0), n = !0;
- else if (c === "d") {
- d = d || [];
- this.d = d.join(" ");
- e = d.length;
- for (n = []; e--;) n[e] = Bb(d[e]) ? z(d[e] * 10) - 5 : d[e] === "Z" ? "x" : d[e];
- d = n.join(" ") || "x";
- f.path = d;
- if (l) for (e = l.length; e--;) l[e].path = d;
- n = !0
- } else if (c === "zIndex" || c === "visibility") {
- if (Xa && c === "visibility" && h === "DIV") f.gVis = d, this.toggleChildren(f, d), d === eb && (d = null);
- d && (g[c] = d);
- n = !0
- } else if (c === "width" || c === "height") d = W(0, d), this[c] = d, this.updateClipping ? (this[c] = d, this.updateClipping()) : g[c] = d, n = !0;
- else if (c === "x" || c === "y") this[c] = d, g[{
- x: "left",
- y: "top"
- }[c]] = d;
- else if (c === "class") f.className = d;
- else if (c === "stroke") d = i.color(d, f, c), c = "strokecolor";
- else if (c === "stroke-width" || c === "strokeWidth") f.stroked = d ? !0 : !1, c = "strokeweight", this[c] = d, Bb(d) && (d += ga);
- else if (c === "dashstyle")(f.getElementsByTagName("stroke")[0] || Aa(i.prepVML(["<stroke/>"]), null, null, f))[c] = d || "solid", this.dashstyle = d, n = !0;
- else if (c === "fill") h === "SPAN" ? g.color = d : (f.filled = d !== Ma ? !0 : !1, d = i.color(d, f, c), c = "fillcolor");
- else if (c === "translateX" || c === "translateY" || c === "rotation") this[c] = d, this.updateTransform(), n = !0;
- else if (c === "text") this.bBox = null, f.innerHTML = d, n = !0;
- if (l && c === "visibility") for (e = l.length; e--;) l[e].style[c] = d;
- n || (Xa ? f[c] = d : A(f, c, d))
- }
- return r
- },
- clip: function (a) {
- var b = this,
- c = a.members;
- c.push(b);
- b.destroyClip = function () {
- Gb(c, b)
- };
- return b.css(a.getCSS(b.inverted))
- },
- css: Sa.prototype.htmlCss,
- safeRemoveChild: function (a) {
- a.parentNode && Tb(a)
- },
- destroy: function () {
- this.destroyClip && this.destroyClip();
- return Sa.prototype.destroy.apply(this)
- },
- empty: function () {
- for (var a = this.element.childNodes, b = a.length, c; b--;) c = a[b], c.parentNode.removeChild(c)
- },
- on: function (a, b) {
- this.element["on" + a] = function () {
- var a = ca.event;
- a.target = a.srcElement;
- b(a)
- };
- return this
- },
- shadow: function (a, b) {
- var c = [],
- d, e = this.element,
- f = this.renderer,
- g, h = e.style,
- i, k = e.path;
- k && typeof k.value !== "string" && (k = "x");
- if (a) {
- for (d = 1; d <= 3; d++) i = ['<shape isShadow="true" strokeweight="', 7 - 2 * d, '" filled="false" path="', k, '" coordsize="100,100" style="', e.style.cssText, '" />'], g = Aa(f.prepVML(i), null, {
- left: S(h.left) + 1,
- top: S(h.top) + 1
- }), i = ['<stroke color="black" opacity="', 0.05 * d, '"/>'], Aa(f.prepVML(i), null, null, g), b ? b.element.appendChild(g) : e.parentNode.insertBefore(g, e), c.push(g);
- this.shadows = c
- }
- return this
- }
- }, $a = pa(Sa, $a), w = {
- Element: $a,
- isIE8: kb.indexOf("MSIE 8.0") > -1,
- init: function (a, b, c) {
- var d, e;
- this.alignedObjects = [];
- d = this.createElement(Ra);
- e = d.element;
- e.style.position = mc;
- a.appendChild(d.element);
- this.box = e;
- this.boxWrapper = d;
- this.setSize(b, c, !1);
- if (!x.namespaces.hcv) x.namespaces.add("hcv", "urn:schemas-microsoft-com:vml"), x.createStyleSheet().cssText = "hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "
- },
- clipRect: function (a, b, c, d) {
- var e = this.createElement();
- return L(e, {
- members: [],
- left: a,
- top: b,
- width: c,
- height: d,
- getCSS: function (a) {
- var b = this.top,
- c = this.left,
- d = c + this.width,
- e = b + this.height,
- b = {
- clip: "rect(" + z(a ? c : b) + "px," + z(a ? e : d) + "px," + z(a ? d : e) + "px," + z(a ? b : c) + "px)"
- };
- !a && Xa && L(b, {
- width: d + ga,
- height: e + ga
- });
- return b
- },
- updateClipping: function () {
- o(e.members, function (a) {
- a.css(e.getCSS(a.inverted))
- })
- }
- })
- },
- color: function (a, b, c) {
- var d, e = /^rgba/;
- if (a && a.linearGradient) {
- var f, g, h = a.linearGradient,
- i = h.x1 || h[0] || 0,
- k = h.y1 || h[1] || 0,
- j = h.x2 || h[2] || 0,
- h = h.y2 || h[3] || 0,
- l, n, p, r;
- o(a.stops, function (a, b) {
- e.test(a[1]) ? (d = ma(a[1]), f = d.get("rgb"), g = d.get("a")) : (f = a[1], g = 1);
- b ? (p = f, r = g) : (l = f, n = g)
- });
- if (c === "fill") a = 90 - oa.atan((h - k) / (j - i)) * 180 / da, a = ['<fill colors="0% ', l, ",100% ", p, '" angle="', a, '" opacity="', r, '" o:opacity2="', n, '" type="gradient" focus="100%" method="sigma" />'], Aa(this.prepVML(a), null, null, b);
- else return f
- } else if (e.test(a) && b.tagName !== "IMG") return d = ma(a), a = ["<", c, ' opacity="', d.get("a"), '"/>'], Aa(this.prepVML(a), null, null, b), d.get("rgb");
- else {
- b = b.getElementsByTagName(c);
- if (b.length) b[0].opacity = 1;
- return a
- }
- },
- prepVML: function (a) {
- var b = this.isIE8,
- a = a.join("");
- b ? (a = a.replace("/>", ' xmlns="urn:schemas-microsoft-com:vml" />'), a = a.indexOf('style="') === -1 ? a.replace("/>", ' style="display:inline-block;behavior:url(#default#VML);" />') : a.replace('style="', 'style="display:inline-block;behavior:url(#default#VML);')) : a = a.replace("<", "<hcv:");
- return a
- },
- text: Eb.prototype.html,
- path: function (a) {
- return this.createElement("shape").attr({
- coordsize: "100 100",
- d: a
- })
- },
- circle: function (a, b, c) {
- return this.symbol("circle").attr({
- x: a - c,
- y: b - c,
- width: 2 * c,
- height: 2 * c
- })
- },
- g: function (a) {
- var b;
- a && (b = {
- className: Ia + a,
- "class": Ia + a
- });
- return this.createElement(Ra).attr(b)
- },
- image: function (a, b, c, d, e) {
- var f = this.createElement("img").attr({
- src: a
- });
- arguments.length > 1 && f.css({
- left: b,
- top: c,
- width: d,
- height: e
- });
- return f
- },
- rect: function (a, b, c, d, e, f) {
- if (mb(a)) b = a.y, c = a.width, d = a.height, f = a.strokeWidth, a = a.x;
- var g = this.symbol("rect");
- g.r = e;
- return g.attr(g.crisp(f, a, b, W(c, 0), W(d, 0)))
- },
- invertChild: function (a, b) {
- var c = b.style;
- P(a, {
- flip: "x",
- left: S(c.width) - 10,
- top: S(c.height) - 10,
- rotation: -90
- })
- },
- symbols: {
- arc: function (a, b, c, d, e) {
- var f = e.start,
- g = e.end,
- c = e.r || c || d,
- d = ja(f),
- h = C(f),
- i = ja(g),
- k = C(g),
- e = e.innerR,
- j = 0.08 / c,
- l = e && 0.25 / e || 0;
- if (g - f === 0) return ["x"];
- else 2 * da - g + f < j ? i = -j : g - f < l && (i = ja(f + l));
- return ["wa", a - c, b - c, a + c, b + c, a + c * d, b + c * h, a + c * i, b + c * k, "at", a - e, b - e, a + e, b + e, a + e * i, b + e * k, a + e * d, b + e * h, "x", "e"]
- },
- circle: function (a, b, c, d) {
- return ["wa", a, b, a + c, b + d, a + c, b + d / 2, a + c, b + d / 2, "e"]
- },
- rect: function (a, b, c, d, e) {
- if (!s(e)) return [];
- var f = a + c,
- g = b + d,
- c = Ua(e.r || 0, c, d);
- return [wa, a + c, b, fa, f - c, b, "wa", f - 2 * c, b, f, b + 2 * c, f - c, b, f, b + c, fa, f, g - c, "wa", f - 2 * c, g - 2 * c, f, g, f, g - c, f - c, g, fa, a + c, g, "wa", a, g - 2 * c, a + 2 * c, g, a + c, g, a, g - c, fa, a, b + c, "wa", a, b, a + 2 * c, b + 2 * c, a, b + c, a + c, b, "x", "e"]
- }
- }
- }, $a = function () {
- this.init.apply(this, arguments)
- }, $a.prototype = K(Eb.prototype, w), Xb = $a;
- var oc, Cc;
- Fa && (oc = function () {}, Cc = function () {
- function a() {
- var a = b.length,
- d;
- for (d = 0; d < a; d++) b[d]();
- b = []
- }
- var b = [];
- return {
- push: function (c, d) {
- b.length === 0 && Hc(d, a);
- b.push(c)
- }
- }
- }());
- Xb = $a || oc || Eb;
- wc.prototype.callbacks = [];
- var lb = function () {};
- lb.prototype = {
- init: function (a, b, c) {
- var d = a.chart.counters;
- this.series = a;
- this.applyOptions(b, c);
- this.pointAttr = {};
- if (a.options.colorByPoint) {
- b = a.chart.options.colors;
- if (!this.options) this.options = {};
- this.color = this.options.color = this.color || b[d.color++];
- d.wrapColor(b.length)
- }
- a.chart.pointCount++;
- return this
- },
- applyOptions: function (a, b) {
- var c = this.series,
- d = typeof a;
- this.config = a;
- if (d === "number" || a === null) this.y = a;
- else if (typeof a[0] === "number") this.x = a[0], this.y = a[1];
- else if (d === "object" && typeof a.length !== "number") {
- if (L(this, a), this.options = a, a.dataLabels) c._hasPointLabels = !0
- } else if (typeof a[0] === "string") this.name = a[0], this.y = a[1];
- if (this.x === X) this.x = b === X ? c.autoIncrement() : b
- },
- destroy: function () {
- var a = this.series,
- b = a.chart.hoverPoints,
- c;
- a.chart.pointCount--;
- b && (this.setState(), Gb(b, this));
- if (this === a.chart.hoverPoint) this.onMouseOut();
- a.chart.hoverPoints = null;
- if (this.graphic || this.dataLabel) Qa(this), this.destroyElements();
- this.legendItem && this.series.chart.legend.destroyItem(this);
- for (c in this) this[c] = null
- },
- destroyElements: function () {
- for (var a = "graphic,tracker,dataLabel,group,connector,shadowGroup".split(","), b, c = 6; c--;) b = a[c], this[b] && (this[b] = this[b].destroy())
- },
- getLabelConfig: function () {
- return {
- x: this.category,
- y: this.y,
- key: this.name || this.category,
- series: this.series,
- point: this,
- percentage: this.percentage,
- total: this.total || this.stackTotal
- }
- },
- select: function (a, b) {
- var c = this,
- d = c.series.chart,
- a = p(a, !c.selected);
- c.firePointEvent(a ? "select" : "unselect", {
- accumulate: b
- }, function () {
- c.selected = a;
- c.setState(a && "select");
- b || o(d.getSelectedPoints(), function (a) {
- if (a.selected && a !== c) a.selected = !1, a.setState(Ka), a.firePointEvent("unselect")
- })
- })
- },
- onMouseOver: function () {
- var a = this.series,
- b = a.chart,
- c = b.tooltip,
- d = b.hoverPoint;
- if (d && d !== this) d.onMouseOut();
- this.firePointEvent("mouseOver");
- c && (!c.shared || a.noSharedTooltip) && c.refresh(this);
- this.setState(ta);
- b.hoverPoint = this
- },
- onMouseOut: function () {
- this.firePointEvent("mouseOut");
- this.setState();
- this.series.chart.hoverPoint = null
- },
- tooltipFormatter: function (a) {
- var b = this.series,
- c = b.tooltipOptions,
- d = String(this.y).split("."),
- d = d[1] ? d[1].length : 0,
- e = a.match(/\{(series|point)\.[a-zA-Z]+\}/g),
- f = /[{\.}]/,
- g, h, i, k;
- for (k in e) h = e[k], Ab(h) && h !== a && (i = (" " + h).split(f), g = {
- point: this,
- series: b
- }[i[1]], i = i[2], g = g === this && (i === "y" || i === "open" || i === "high" || i === "low" || i === "close") ? (c.valuePrefix || c.yPrefix || "") + dc(this[i], p(c.valueDecimals, c.yDecimals, d)) + (c.valueSuffix || c.ySuffix || "") : g[i], a = a.replace(h, g));
- return a
- },
- update: function (a, b, c) {
- var d = this,
- e = d.series,
- f = d.graphic,
- g, h = e.data,
- i = h.length,
- k = e.chart,
- b = p(b, !0);
- d.firePointEvent("update", {
- options: a
- }, function () {
- d.applyOptions(a);
- mb(a) && (e.getAttribs(), f && f.attr(d.pointAttr[e.state]));
- for (g = 0; g < i; g++) if (h[g] === d) {
- e.xData[g] = d.x;
- e.yData[g] = d.y;
- e.options.data[g] = a;
- break
- }
- e.isDirty = !0;
- e.isDirtyData = !0;
- b && k.redraw(c)
- })
- },
- remove: function (a, b) {
- var c = this,
- d = c.series,
- e = d.chart,
- f, g = d.data,
- h = g.length;
- Kb(b, e);
- a = p(a, !0);
- c.firePointEvent("remove", null, function () {
- for (f = 0; f < h; f++) if (g[f] === c) {
- g.splice(f, 1);
- d.options.data.splice(f, 1);
- d.xData.splice(f, 1);
- d.yData.splice(f, 1);
- break
- }
- c.destroy();
- d.isDirty = !0;
- d.isDirtyData = !0;
- a && e.redraw()
- })
- },
- firePointEvent: function (a, b, c) {
- var d = this,
- e = this.series.options;
- (e.point.events[a] || d.options && d.options.events && d.options.events[a]) && this.importEvents();
- a === "click" && e.allowPointSelect && (c = function (a) {
- d.select(null, a.ctrlKey || a.metaKey || a.shiftKey)
- });
- aa(this, a, b, c)
- },
- importEvents: function () {
- if (!this.hasImportedEvents) {
- var a = K(this.series.options.point, this.options).events,
- b;
- this.events = a;
- for (b in a) ha(this, b, a[b]);
- this.hasImportedEvents = !0
- }
- },
- setState: function (a) {
- var b = this.plotX,
- c = this.plotY,
- d = this.series,
- e = d.options.states,
- f = M[d.type].marker && d.options.marker,
- g = f && !f.enabled,
- h = f && f.states[a],
- i = h && h.enabled === !1,
- k = d.stateMarkerGraphic,
- j = d.chart,
- l = this.pointAttr,
- a = a || Ka;
- if (!(a === this.state || this.selected && a !== "select" || e[a] && e[a].enabled === !1 || a && (i || g && !h.enabled))) {
- if (this.graphic) e = f && this.graphic.symbolName && l[a].r, this.graphic.attr(K(l[a], e ? {
- x: b - e,
- y: c - e,
- width: 2 * e,
- height: 2 * e
- } : {}));
- else {
- if (a) {
- if (!k) e = f.radius, d.stateMarkerGraphic = k = j.renderer.symbol(d.symbol, - e, - e, 2 * e, 2 * e).attr(l[a]).add(d.group);
- k.translate(b, c)
- }
- if (k) k[a ? "show" : "hide"]()
- }
- this.state = a
- }
- }
- };
- var $ = function () {};
- $.prototype = {
- isCartesian: !0,
- type: "line",
- pointClass: lb,
- sorted: !0,
- pointAttrToOptions: {
- stroke: "lineColor",
- "stroke-width": "lineWidth",
- fill: "fillColor",
- r: "radius"
- },
- init: function (a, b) {
- var c, d;
- d = a.series.length;
- this.chart = a;
- this.options = b = this.setOptions(b);
- this.bindAxes();
- L(this, {
- index: d,
- name: b.name || "Series " + (d + 1),
- state: Ka,
- pointAttr: {},
- visible: b.visible !== !1,
- selected: b.selected === !0
- });
- if (Fa) b.animation = !1;
- d = b.events;
- for (c in d) ha(this, c, d[c]);
- if (d && d.click || b.point && b.point.events && b.point.events.click || b.allowPointSelect) a.runTrackerClick = !0;
- this.getColor();
- this.getSymbol();
- this.setData(b.data, !1)
- },
- bindAxes: function () {
- var a = this,
- b = a.options,
- c = a.chart,
- d;
- a.isCartesian && o(["xAxis", "yAxis"], function (e) {
- o(c[e], function (c) {
- d = c.options;
- if (b[e] === d.index || b[e] === X && d.index === 0) c.series.push(a), a[e] = c, c.isDirty = !0
- })
- })
- },
- autoIncrement: function () {
- var a = this.options,
- b = this.xIncrement,
- b = p(b, a.pointStart, 0);
- this.pointInterval = p(this.pointInterval, a.pointInterval, 1);
- this.xIncrement = b + this.pointInterval;
- return b
- },
- getSegments: function () {
- var a = -1,
- b = [],
- c, d = this.points,
- e = d.length;
- if (e) if (this.options.connectNulls) {
- for (c = e; c--;) d[c].y === null && d.splice(c, 1);
- d.length && (b = [d])
- } else o(d, function (c, g) {
- c.y === null ? (g > a + 1 && b.push(d.slice(a + 1, g)), a = g) : g === e - 1 && b.push(d.slice(a + 1, g + 1))
- });
- this.segments = b
- },
- setOptions: function (a) {
- var b = this.chart.options,
- c = b.plotOptions,
- d = a.data;
- a.data = null;
- c = K(c[this.type], c.series, a);
- c.data = a.data = d;
- this.tooltipOptions = K(b.tooltip, c.tooltip);
- return c
- },
- getColor: function () {
- var a = this.chart.options.colors,
- b = this.chart.counters;
- this.color = this.options.color || a[b.color++] || "#0000ff";
- b.wrapColor(a.length)
- },
- getSymbol: function () {
- var a = this.options.marker,
- b = this.chart,
- c = b.options.symbols,
- b = b.counters;
- this.symbol = a.symbol || c[b.symbol++];
- if (/^url/.test(this.symbol)) a.radius = 0;
- b.wrapSymbol(c.length)
- },
- addPoint: function (a, b, c, d) {
- var e = this.data,
- f = this.graph,
- g = this.area,
- h = this.chart,
- i = this.xData,
- k = this.yData,
- j = f && f.shift || 0,
- l = this.options.data;
- Kb(d, h);
- if (f && c) f.shift = j + 1;
- if (g) {
- if (c) g.shift = j + 1;
- g.isArea = !0
- }
- b = p(b, !0);
- d = {
- series: this
- };
- this.pointClass.prototype.applyOptions.apply(d, [a]);
- i.push(d.x);
- k.push(this.valueCount === 4 ? [d.open, d.high, d.low, d.close] : d.y);
- l.push(a);
- c && (e[0] ? e[0].remove(!1) : (e.shift(), i.shift(), k.shift(), l.shift()));
- this.getAttribs();
- this.isDirtyData = this.isDirty = !0;
- b && h.redraw()
- },
- setData: function (a, b) {
- var c = this.points,
- d = this.options,
- e = this.initialColor,
- f = this.chart,
- g = null;
- this.xIncrement = null;
- this.pointRange = this.xAxis && this.xAxis.categories && 1 || d.pointRange;
- if (s(e)) f.counters.color = e;
- var h = [],
- i = [],
- k = a ? a.length : [],
- j = this.valueCount === 4;
- if (k > (d.turboThreshold || 1E3)) {
- for (e = 0; g === null && e < k;) g = a[e], e++;
- if (Bb(g)) {
- g = p(d.pointStart, 0);
- d = p(d.pointInterval, 1);
- for (e = 0; e < k; e++) h[e] = g, i[e] = a[e], g += d;
- this.xIncrement = g
- } else if (Fb(g)) if (j) for (e = 0; e < k; e++) d = a[e], h[e] = d[0], i[e] = d.slice(1, 5);
- else for (e = 0; e < k; e++) d = a[e], h[e] = d[0], i[e] = d[1]
- } else for (e = 0; e < k; e++) d = {
- series: this
- }, this.pointClass.prototype.applyOptions.apply(d, [a[e]]), h[e] = d.x, i[e] = j ? [d.open, d.high, d.low, d.close] : d.y;
- this.data = [];
- this.options.data = a;
- this.xData = h;
- this.yData = i;
- for (e = c && c.length || 0; e--;) c[e] && c[e].destroy && c[e].destroy();
- this.isDirty = this.isDirtyData = f.isDirtyBox = !0;
- p(b, !0) && f.redraw(!1)
- },
- remove: function (a, b) {
- var c = this,
- d = c.chart,
- a = p(a, !0);
- if (!c.isRemoving) c.isRemoving = !0, aa(c, "remove", null, function () {
- c.destroy();
- d.isDirtyLegend = d.isDirtyBox = !0;
- a && d.redraw(b)
- });
- c.isRemoving = !1
- },
- processData: function (a) {
- var b = this.xData,
- c = this.yData,
- d = b.length,
- e = 0,
- f = d,
- g, h, i = this.xAxis,
- k = this.options,
- j = k.cropThreshold,
- l = this.isCartesian;
- if (l && !this.isDirty && !i.isDirty && !this.yAxis.isDirty && !a) return !1;
- if (l && this.sorted && (!j || d > j || this.forceCrop)) if (a = i.getExtremes(), i = a.min, j = a.max, b[d - 1] < i || b[0] > j) b = [], c = [];
- else if (b[0] < i || b[d - 1] > j) {
- for (a = 0; a < d; a++) if (b[a] >= i) {
- e = W(0, a - 1);
- break
- }
- for (; a < d; a++) if (b[a] > j) {
- f = a + 1;
- break
- }
- b = b.slice(e, f);
- c = c.slice(e, f);
- g = !0
- }
- for (a = b.length - 1; a > 0; a--) if (d = b[a] - b[a - 1], d > 0 && (h === X || d < h)) h = d;
- this.cropped = g;
- this.cropStart = e;
- this.processedXData = b;
- this.processedYData = c;
- if (k.pointRange === null) this.pointRange = h || 1;
- this.closestPointRange = h
- },
- generatePoints: function () {
- var a = this.options.data,
- b = this.data,
- c, d = this.processedXData,
- e = this.processedYData,
- f = this.pointClass,
- g = d.length,
- h = this.cropStart || 0,
- i, k = this.hasGroupedData,
- j, l = [],
- n;
- if (!b && !k) b = [], b.length = a.length, b = this.data = b;
- for (n = 0; n < g; n++) i = h + n, k ? l[n] = (new f).init(this, [d[n]].concat(Hb(e[n]))) : (b[i] ? j = b[i] : b[i] = j = (new f).init(this, a[i], d[n]), l[n] = j);
- if (b && (g !== (c = b.length) || k)) for (n = 0; n < c; n++) n === h && !k && (n += g), b[n] && b[n].destroyElements();
- this.data = b;
- this.points = l
- },
- translate: function () {
- this.processedXData || this.processData();
- this.generatePoints();
- for (var a = this.chart, b = this.options, c = b.stacking, d = this.xAxis, e = d.categories, f = this.yAxis, g = this.points, h = g.length, i = !! this.modifyValue, k, j = f.series, l = j.length; l--;) if (j[l].visible) {
- l === this.index && (k = !0);
- break
- }
- for (l = 0; l < h; l++) {
- var j = g[l],
- n = j.x,
- o = j.y,
- r = j.low,
- p = f.stacks[(o < b.threshold ? "-" : "") + this.stackKey];
- j.plotX = z(d.translate(n, 0, 0, 0, 1) * 10) / 10;
- if (c && this.visible && p && p[n]) {
- r = p[n];
- n = r.total;
- r.cum = r = r.cum - o;
- o = r + o;
- if (k) r = b.threshold;
- c === "percent" && (r = n ? r * 100 / n : 0, o = n ? o * 100 / n : 0);
- j.percentage = n ? j.y * 100 / n : 0;
- j.stackTotal = n;
- j.stackY = o
- }
- j.yBottom = s(r) ? f.translate(r, 0, 1, 0, 1) : null;
- i && (o = this.modifyValue(o, j));
- j.plotY = typeof o === "number" ? z(f.translate(o, 0, 1, 0, 1) * 10) / 10 : X;
- j.clientX = a.inverted ? a.plotHeight - j.plotX : j.plotX;
- j.category = e && e[j.x] !== X ? e[j.x] : j.x
- }
- this.getSegments()
- },
- setTooltipPoints: function (a) {
- var b = this.chart,
- c = b.inverted,
- d = [],
- b = z((c ? b.plotTop : b.plotLeft) + b.plotSizeX),
- e, f;
- e = this.xAxis;
- var g, h, i = [];
- if (this.options.enableMouseTracking !== !1) {
- if (a) this.tooltipPoints = null;
- o(this.segments || this.points, function (a) {
- d = d.concat(a)
- });
- e && e.reversed && (d = d.reverse());
- a = d.length;
- for (h = 0; h < a; h++) {
- g = d[h];
- e = d[h - 1] ? d[h - 1]._high + 1 : 0;
- for (f = g._high = d[h + 1] ? Ta((g.plotX + (d[h + 1] ? d[h + 1].plotX : b)) / 2) : b; e <= f;) i[c ? b - e++ : e++] = g
- }
- this.tooltipPoints = i
- }
- },
- tooltipHeaderFormatter: function (a) {
- var b = this.tooltipOptions,
- c = b.xDateFormat || "%A, %b %e, %Y",
- d = this.xAxis;
- return b.headerFormat.replace("{point.key}", d && d.options.type === "datetime" ? ac(c, a) : a).replace("{series.name}", this.name).replace("{series.color}", this.color)
- },
- onMouseOver: function () {
- var a = this.chart,
- b = a.hoverSeries;
- if (Ga || !a.mouseIsDown) {
- if (b && b !== this) b.onMouseOut();
- this.options.events.mouseOver && aa(this, "mouseOver");
- this.setState(ta);
- a.hoverSeries = this
- }
- },
- onMouseOut: function () {
- var a = this.options,
- b = this.chart,
- c = b.tooltip,
- d = b.hoverPoint;
- if (d) d.onMouseOut();
- this && a.events.mouseOut && aa(this, "mouseOut");
- c && !a.stickyTracking && !c.shared && c.hide();
- this.setState();
- b.hoverSeries = null
- },
- animate: function (a) {
- var b = this.chart,
- c = this.clipRect,
- d = this.options.animation;
- d && !mb(d) && (d = {});
- if (a) {
- if (!c.isAnimating) c.attr("width", 0), c.isAnimating = !0
- } else c.animate({
- width: b.plotSizeX
- }, d), this.animate = null
- },
- drawPoints: function () {
- var a, b = this.points,
- c = this.chart,
- d, e, f, g, h, i, k, j;
- if (this.options.marker.enabled) for (f = b.length; f--;) if (g = b[f], d = g.plotX, e = g.plotY, j = g.graphic, e !== X && !isNaN(e)) if (a = g.pointAttr[g.selected ? "select" : Ka], h = a.r, i = p(g.marker && g.marker.symbol, this.symbol), k = i.indexOf("url") === 0, j) j.animate(L({
- x: d - h,
- y: e - h
- }, j.symbolName ? {
- width: 2 * h,
- height: 2 * h
- } : {}));
- else if (h > 0 || k) g.graphic = c.renderer.symbol(i, d - h, e - h, 2 * h, 2 * h).attr(a).add(this.group)
- },
- convertAttribs: function (a, b, c, d) {
- var e = this.pointAttrToOptions,
- f, g, h = {}, a = a || {}, b = b || {}, c = c || {}, d = d || {};
- for (f in e) g = e[f], h[f] = p(a[g], b[f], c[f], d[f]);
- return h
- },
- getAttribs: function () {
- var a = this,
- b = M[a.type].marker ? a.options.marker : a.options,
- c = b.states,
- d = c[ta],
- e, f = a.color,
- g = {
- stroke: f,
- fill: f
- }, h = a.points,
- i = [],
- k, j = a.pointAttrToOptions,
- l;
- a.options.marker ? (d.radius = d.radius || b.radius + 2, d.lineWidth = d.lineWidth || b.lineWidth + 1) : d.color = d.color || ma(d.color || f).brighten(d.brightness).get();
- i[Ka] = a.convertAttribs(b, g);
- o([ta, "select"], function (b) {
- i[b] = a.convertAttribs(c[b], i[Ka])
- });
- a.pointAttr = i;
- for (f = h.length; f--;) {
- g = h[f];
- if ((b = g.options && g.options.marker || g.options) && b.enabled === !1) b.radius = 0;
- e = !1;
- if (g.options) for (l in j) s(b[j[l]]) && (e = !0);
- if (e) {
- k = [];
- c = b.states || {};
- e = c[ta] = c[ta] || {};
- if (!a.options.marker) e.color = ma(e.color || g.options.color).brighten(e.brightness || d.brightness).get();
- k[Ka] = a.convertAttribs(b, i[Ka]);
- k[ta] = a.convertAttribs(c[ta], i[ta], k[Ka]);
- k.select = a.convertAttribs(c.select, i.select, k[Ka])
- } else k = i;
- g.pointAttr = k
- }
- },
- destroy: function () {
- var a = this,
- b = a.chart,
- c = a.clipRect,
- d = /AppleWebKit\/533/.test(kb),
- e, f, g = a.data || [],
- h, i, k;
- aa(a, "destroy");
- Qa(a);
- o(["xAxis", "yAxis"], function (b) {
- if (k = a[b]) Gb(k.series, a), k.isDirty = !0
- });
- a.legendItem && a.chart.legend.destroyItem(a);
- for (f = g.length; f--;)(h = g[f]) && h.destroy && h.destroy();
- a.points = null;
- if (c && c !== b.clipRect) a.clipRect = c.destroy();
- o(["area", "graph", "dataLabelsGroup", "group", "tracker"], function (b) {
- a[b] && (e = d && b === "group" ? "hide" : "destroy", a[b][e]())
- });
- if (b.hoverSeries === a) b.hoverSeries = null;
- Gb(b.series, a);
- for (i in a) delete a[i]
- },
- drawDataLabels: function () {
- var a = this,
- b = a.options,
- c = b.dataLabels;
- if (c.enabled || a._hasPointLabels) {
- var d, e, f = a.points,
- g, h, i, k = a.dataLabelsGroup,
- j = a.chart,
- l = a.xAxis,
- l = l ? l.left : j.plotLeft,
- n = a.yAxis,
- n = n ? n.top : j.plotTop,
- t = j.renderer,
- r = j.inverted,
- Z = a.type,
- V = b.stacking,
- v = Z === "column" || Z === "bar",
- y = c.verticalAlign === null,
- q = c.y === null,
- T = t.fontMetrics(c.style.fontSize),
- A = T.h,
- x = T.b,
- w, ia;
- v && (T = {
- top: x,
- middle: x - A / 2,
- bottom: -A + x
- }, V ? (y && (c = K(c, {
- verticalAlign: "middle"
- })), q && (c = K(c, {
- y: T[c.verticalAlign]
- }))) : y ? c = K(c, {
- verticalAlign: "top"
- }) : q && (c = K(c, {
- y: T[c.verticalAlign]
- })));
- k ? k.translate(l, n) : k = a.dataLabelsGroup = t.g("data-labels").attr({
- visibility: a.visible ? eb : ab,
- zIndex: 6
- }).translate(l, n).add();
- h = c;
- o(f, function (f) {
- w = f.dataLabel;
- c = h;
- (g = f.options) && g.dataLabels && (c = K(c, g.dataLabels));
- if (ia = c.enabled) {
- var l = f.barX && f.barX + f.barW / 2 || p(f.plotX, - 999),
- n = p(f.plotY, - 999),
- o = c.y === null ? f.y >= b.threshold ? -A + x : x : c.y;
- d = (r ? j.plotWidth - n : l) + c.x;
- e = z((r ? j.plotHeight - l : n) + o)
- }
- if (w && a.isCartesian && (!j.isInsidePlot(d, e) || !ia)) f.dataLabel = w.destroy();
- else if (ia) {
- l = c.align;
- i = c.formatter.call(f.getLabelConfig(), c);
- Z === "column" && (d += {
- left: -1,
- right: 1
- }[l] * f.barW / 2 || 0);
- !V && r && f.y < 0 && (l = "right", d -= 10);
- c.style.color = p(c.color, c.style.color, a.color, "black");
- if (w) w.attr({
- text: i
- }).animate({
- x: d,
- y: e
- });
- else if (s(i)) w = f.dataLabel = t[c.rotation ? "text" : "label"](i, d, e, null, null, null, c.useHTML, !0).attr({
- align: l,
- fill: c.backgroundColor,
- stroke: c.borderColor,
- "stroke-width": c.borderWidth,
- r: c.borderRadius,
- rotation: c.rotation,
- padding: c.padding,
- zIndex: 1
- }).css(c.style).add(k).shadow(c.shadow);
- if (v && b.stacking && w) l = f.barX, n = f.barY, o = f.barW, f = f.barH, w.align(c, null, {
- x: r ? j.plotWidth - n - f : l,
- y: r ? j.plotHeight - l - o : n,
- width: r ? f : o,
- height: r ? o : f
- })
- }
- })
- }
- },
- drawGraph: function () {
- var a = this,
- b = a.options,
- c = a.graph,
- d = [],
- e, f = a.area,
- g = a.group,
- h = b.lineColor || a.color,
- i = b.lineWidth,
- k = b.dashStyle,
- j, l = a.chart.renderer,
- n = a.yAxis.getThreshold(b.threshold),
- t = /^area/.test(a.type),
- r = [],
- s = [];
- o(a.segments, function (c) {
- j = [];
- o(c, function (d, e) {
- a.getPointSpline ? j.push.apply(j, a.getPointSpline(c, d, e)) : (j.push(e ? fa : wa), e && b.step && j.push(d.plotX, c[e - 1].plotY), j.push(d.plotX, d.plotY))
- });
- c.length > 1 ? d = d.concat(j) : r.push(c[0]);
- if (t) {
- var e = [],
- f, g = j.length;
- for (f = 0; f < g; f++) e.push(j[f]);
- g === 3 && e.push(fa, j[1], j[2]);
- if (b.stacking && a.type !== "areaspline") for (f = c.length - 1; f >= 0; f--) f < c.length - 1 && b.step && e.push(c[f + 1].plotX, c[f].yBottom), e.push(c[f].plotX, c[f].yBottom);
- else e.push(fa, c[c.length - 1].plotX, n, fa, c[0].plotX, n);
- s = s.concat(e)
- }
- });
- a.graphPath = d;
- a.singlePoints = r;
- if (t) e = p(b.fillColor, ma(a.color).setOpacity(b.fillOpacity || 0.75).get()), f ? f.animate({
- d: s
- }) : a.area = a.chart.renderer.path(s).attr({
- fill: e
- }).add(g);
- if (c) Ob(c), c.animate({
- d: d
- });
- else if (i) {
- c = {
- stroke: h,
- "stroke-width": i
- };
- if (k) c.dashstyle = k;
- a.graph = l.path(d).attr(c).add(g).shadow(b.shadow)
- }
- },
- invertGroups: function () {
- function a() {
- var a = {
- width: b.yAxis.len,
- height: b.xAxis.len
- };
- c.attr(a).invert();
- d && d.attr(a).invert()
- }
- var b = this,
- c = b.group,
- d = b.trackerGroup,
- e = b.chart;
- ha(e, "resize", a);
- ha(b, "destroy", function () {
- Qa(e, "resize", a)
- });
- a();
- b.invertGroups = a
- },
- render: function () {
- var a = this,
- b = a.chart,
- c, d = a.options,
- e = d.clip !== !1,
- f = d.animation,
- g = f && a.animate,
- f = g ? f && f.duration || 500 : 0,
- h = a.clipRect,
- i = b.renderer;
- if (!h && (h = a.clipRect = !b.hasRendered && b.clipRect ? b.clipRect : i.clipRect(0, 0, b.plotSizeX, b.plotSizeY + 1), !b.clipRect)) b.clipRect = h;
- if (!a.group) c = a.group = i.g("series"), c.attr({
- visibility: a.visible ? eb : ab,
- zIndex: d.zIndex
- }).translate(a.xAxis.left, a.yAxis.top).add(b.seriesGroup);
- a.drawDataLabels();
- g && a.animate(!0);
- a.getAttribs();
- a.drawGraph && a.drawGraph();
- a.drawPoints();
- a.options.enableMouseTracking !== !1 && a.drawTracker();
- b.inverted && a.invertGroups();
- e && !a.hasRendered && (c.clip(h), a.trackerGroup && a.trackerGroup.clip(b.clipRect));
- g && a.animate();
- setTimeout(function () {
- h.isAnimating = !1;
- if ((c = a.group) && h !== b.clipRect && h.renderer) {
- if (e) c.clip(a.clipRect = b.clipRect);
- h.destroy()
- }
- }, f);
- a.isDirty = a.isDirtyData = !1;
- a.hasRendered = !0
- },
- redraw: function () {
- var a = this.chart,
- b = this.isDirtyData,
- c = this.group;
- c && (a.inverted && c.attr({
- width: a.plotWidth,
- height: a.plotHeight
- }), c.animate({
- translateX: this.xAxis.left,
- translateY: this.yAxis.top
- }));
- this.translate();
- this.setTooltipPoints(!0);
- this.render();
- b && aa(this, "updatedData")
- },
- setState: function (a) {
- var b = this.options,
- c = this.graph,
- d = b.states,
- b = b.lineWidth,
- a = a || Ka;
- if (this.state !== a) this.state = a, d[a] && d[a].enabled === !1 || (a && (b = d[a].lineWidth || b + 1), c && !c.dashstyle && c.attr({
- "stroke-width": b
- }, a ? 0 : 500))
- },
- setVisible: function (a, b) {
- var c = this.chart,
- d = this.legendItem,
- e = this.group,
- f = this.tracker,
- g = this.dataLabelsGroup,
- h, i = this.points,
- k = c.options.chart.ignoreHiddenSeries;
- h = this.visible;
- h = (this.visible = a = a === X ? !h : a) ? "show" : "hide";
- if (e) e[h]();
- if (f) f[h]();
- else if (i) for (e = i.length; e--;) if (f = i[e], f.tracker) f.tracker[h]();
- if (g) g[h]();
- d && c.legend.colorizeItem(this, a);
- this.isDirty = !0;
- this.options.stacking && o(c.series, function (a) {
- if (a.options.stacking && a.visible) a.isDirty = !0
- });
- if (k) c.isDirtyBox = !0;
- b !== !1 && c.redraw();
- aa(this, h)
- },
- show: function () {
- this.setVisible(!0)
- },
- hide: function () {
- this.setVisible(!1)
- },
- select: function (a) {
- this.selected = a = a === X ? !this.selected : a;
- if (this.checkbox) this.checkbox.checked = a;
- aa(this, a ? "select" : "unselect")
- },
- drawTrackerGroup: function () {
- var a = this.trackerGroup,
- b = this.chart;
- if (this.isCartesian) {
- if (!a) this.trackerGroup = a = b.renderer.g().attr({
- zIndex: this.options.zIndex || 1
- }).add(b.trackerGroup);
- a.translate(this.xAxis.left, this.yAxis.top)
- }
- return a
- },
- drawTracker: function () {
- var a = this,
- b = a.options,
- c = [].concat(a.graphPath),
- d = c.length,
- e = a.chart,
- f = e.renderer,
- g = e.options.tooltip.snap,
- h = a.tracker,
- i = b.cursor,
- i = i && {
- cursor: i
- }, k = a.singlePoints,
- j = a.drawTrackerGroup(),
- l;
- if (d) for (l = d + 1; l--;) c[l] === wa && c.splice(l + 1, 0, c[l + 1] - g, c[l + 2], fa), (l && c[l] === wa || l === d) && c.splice(l, 0, fa, c[l - 2] + g, c[l - 1]);
- for (l = 0; l < k.length; l++) d = k[l], c.push(wa, d.plotX - g, d.plotY, fa, d.plotX + g, d.plotY);
- h ? h.attr({
- d: c
- }) : a.tracker = f.path(c).attr({
- isTracker: !0,
- stroke: Gc,
- fill: Ma,
- "stroke-linejoin": "bevel",
- "stroke-width": b.lineWidth + 2 * g,
- visibility: a.visible ? eb : ab
- }).on(Ga ? "touchstart" : "mouseover", function () {
- if (e.hoverSeries !== a) a.onMouseOver()
- }).on("mouseout", function () {
- if (!b.stickyTracking) a.onMouseOut()
- }).css(i).add(j)
- }
- };
- w = pa($);
- Ha.line = w;
- w = pa($, {
- type: "area"
- });
- Ha.area = w;
- w = pa($, {
- type: "spline",
- getPointSpline: function (a, b, c) {
- var d = b.plotX,
- e = b.plotY,
- f = a[c - 1],
- g = a[c + 1],
- h, i, k, j;
- if (c && c < a.length - 1) {
- a = f.plotY;
- k = g.plotX;
- var g = g.plotY,
- l;
- h = (1.5 * d + f.plotX) / 2.5;
- i = (1.5 * e + a) / 2.5;
- k = (1.5 * d + k) / 2.5;
- j = (1.5 * e + g) / 2.5;
- l = (j - i) * (k - d) / (k - h) + e - j;
- i += l;
- j += l;
- i > a && i > e ? (i = W(a, e), j = 2 * e - i) : i < a && i < e && (i = Ua(a, e), j = 2 * e - i);
- j > g && j > e ? (j = W(g, e), i = 2 * e - j) : j < g && j < e && (j = Ua(g, e), i = 2 * e - j);
- b.rightContX = k;
- b.rightContY = j
- }
- c ? (b = ["C", f.rightContX || f.plotX, f.rightContY || f.plotY, h || d, i || e, d, e], f.rightContX = f.rightContY = null) : b = [wa, d, e];
- return b
- }
- });
- Ha.spline = w;
- w = pa(w, {
- type: "areaspline"
- });
- Ha.areaspline = w;
- var zb = pa($, {
- type: "column",
- tooltipOutsidePlot: !0,
- pointAttrToOptions: {
- stroke: "borderColor",
- "stroke-width": "borderWidth",
- fill: "color",
- r: "borderRadius"
- },
- init: function () {
- $.prototype.init.apply(this, arguments);
- var a = this,
- b = a.chart;
- b.hasRendered && o(b.series, function (b) {
- if (b.type === a.type) b.isDirty = !0
- })
- },
- translate: function () {
- var a = this,
- b = a.chart,
- c = a.options,
- d = c.stacking,
- e = c.borderWidth,
- f = 0,
- g = a.xAxis,
- h = g.reversed,
- i = {}, k, j;
- $.prototype.translate.apply(a);
- o(b.series, function (b) {
- if (b.type === a.type && b.visible && a.options.group === b.options.group) b.options.stacking ? (k = b.stackKey, i[k] === X && (i[k] = f++), j = i[k]) : j = f++, b.columnIndex = j
- });
- var b = a.points,
- g = Ba(g.translationSlope) * (g.ordinalSlope || g.closestPointRange || 1),
- l = g * c.groupPadding,
- n = (g - 2 * l) / f,
- t = c.pointWidth,
- r = s(t) ? (n - t) / 2 : n * c.pointPadding,
- w = Yb(W(p(t, n - 2 * r), 1 + 2 * e)),
- x = r + (l + ((h ? f - a.columnIndex : a.columnIndex) || 0) * n - g / 2) * (h ? -1 : 1),
- v = a.yAxis.getThreshold(c.threshold),
- y = p(c.minPointLength, 5);
- o(b, function (b) {
- var f = b.plotY,
- g = p(b.yBottom, v),
- h = b.plotX + x,
- i = Yb(Ua(f, g)),
- j = Yb(W(f, g) - i),
- k = a.yAxis.stacks[(b.y < 0 ? "-" : "") + a.stackKey];
- d && a.visible && k && k[b.x] && k[b.x].setOffset(x, w);
- Ba(j) < y && y && (j = y, i = Ba(i - v) > y ? g - y : v - (f <= v ? y : 0));
- L(b, {
- barX: h,
- barY: i,
- barW: w,
- barH: j
- });
- b.shapeType = "rect";
- f = {
- x: h,
- y: i,
- width: w,
- height: j,
- r: c.borderRadius,
- strokeWidth: e
- };
- e % 2 && (f.y -= 1, f.height += 1);
- b.shapeArgs = f;
- b.trackerArgs = Ba(j) < 3 && K(b.shapeArgs, {
- height: 6,
- y: i - 3
- })
- })
- },
- getSymbol: function () {},
- drawGraph: function () {},
- drawPoints: function () {
- var a = this,
- b = a.options,
- c = a.chart.renderer,
- d, e;
- o(a.points, function (f) {
- var g = f.plotY;
- if (g !== X && !isNaN(g) && f.y !== null) d = f.graphic, e = f.shapeArgs, d ? (Ob(d), d.animate(c.Element.prototype.crisp.apply({}, [e.strokeWidth, e.x, e.y, e.width, e.height]))) : f.graphic = d = c[f.shapeType](e).attr(f.pointAttr[f.selected ? "select" : Ka]).add(a.group).shadow(b.shadow)
- })
- },
- drawTracker: function () {
- var a = this,
- b = a.chart,
- c = b.renderer,
- d, e, f = +new Date,
- g = a.options,
- h = g.cursor,
- i = h && {
- cursor: h
- }, k = a.drawTrackerGroup(),
- j;
- o(a.points, function (h) {
- e = h.tracker;
- d = h.trackerArgs || h.shapeArgs;
- delete d.strokeWidth;
- if (h.y !== null) e ? e.attr(d) : h.tracker = c[h.shapeType](d).attr({
- isTracker: f,
- fill: Gc,
- visibility: a.visible ? eb : ab
- }).on(Ga ? "touchstart" : "mouseover", function (c) {
- j = c.relatedTarget || c.fromElement;
- if (b.hoverSeries !== a && A(j, "isTracker") !== f) a.onMouseOver();
- h.onMouseOver()
- }).on("mouseout", function (b) {
- if (!g.stickyTracking && (j = b.relatedTarget || b.toElement, A(j, "isTracker") !== f)) a.onMouseOut()
- }).css(i).add(h.group || k)
- })
- },
- animate: function (a) {
- var b = this,
- c = b.points,
- d = b.options;
- if (!a) o(c, function (a) {
- var c = a.graphic,
- a = a.shapeArgs,
- g = b.yAxis,
- h = d.threshold;
- c && (c.attr({
- height: 0,
- y: s(h) ? g.getThreshold(h) : g.translate(g.getExtremes().min, 0, 1, 0, 1)
- }), c.animate({
- height: a.height,
- y: a.y
- }, d.animation))
- }), b.animate = null
- },
- remove: function () {
- var a = this,
- b = a.chart;
- b.hasRendered && o(b.series, function (b) {
- if (b.type === a.type) b.isDirty = !0
- });
- $.prototype.remove.apply(a, arguments)
- }
- });
- Ha.column = zb;
- w = pa(zb, {
- type: "bar",
- init: function () {
- this.inverted = !0;
- zb.prototype.init.apply(this, arguments)
- }
- });
- Ha.bar = w;
- w = pa($, {
- type: "scatter",
- sorted: !1,
- translate: function () {
- var a = this;
- $.prototype.translate.apply(a);
- o(a.points, function (b) {
- b.shapeType = "circle";
- b.shapeArgs = {
- x: b.plotX,
- y: b.plotY,
- r: a.chart.options.tooltip.snap
- }
- })
- },
- drawTracker: function () {
- for (var a = this, b = a.options.cursor, b = b && {
- cursor: b
- }, c = a.points, d = c.length, e; d--;) if (e = c[d].graphic) e.element._i = d;
- a._hasTracking ? a._hasTracking = !0 : a.group.attr({
- isTracker: !0
- }).on(Ga ? "touchstart" : "mouseover", function (b) {
- a.onMouseOver();
- if (b.target._i !== X) c[b.target._i].onMouseOver()
- }).on("mouseout", function () {
- if (!a.options.stickyTracking) a.onMouseOut()
- }).css(b)
- }
- });
- Ha.scatter = w;
- w = pa(lb, {
- init: function () {
- lb.prototype.init.apply(this, arguments);
- var a = this,
- b;
- L(a, {
- visible: a.visible !== !1,
- name: p(a.name, "Slice")
- });
- b = function () {
- a.slice()
- };
- ha(a, "select", b);
- ha(a, "unselect", b);
- return a
- },
- setVisible: function (a) {
- var b = this.series.chart,
- c = this.tracker,
- d = this.dataLabel,
- e = this.connector,
- f = this.shadowGroup,
- g;
- g = (this.visible = a = a === X ? !this.visible : a) ? "show" : "hide";
- this.group[g]();
- if (c) c[g]();
- if (d) d[g]();
- if (e) e[g]();
- if (f) f[g]();
- this.legendItem && b.legend.colorizeItem(this, a)
- },
- slice: function (a, b, c) {
- var d = this.series.chart,
- e = this.slicedTranslation;
- Kb(c, d);
- p(b, !0);
- a = this.sliced = s(a) ? a : !this.sliced;
- a = {
- translateX: a ? e[0] : d.plotLeft,
- translateY: a ? e[1] : d.plotTop
- };
- this.group.animate(a);
- this.shadowGroup && this.shadowGroup.animate(a)
- }
- });
- w = pa($, {
- type: "pie",
- isCartesian: !1,
- pointClass: w,
- pointAttrToOptions: {
- stroke: "borderColor",
- "stroke-width": "borderWidth",
- fill: "color"
- },
- getColor: function () {
- this.initialColor = this.chart.counters.color
- },
- animate: function () {
- var a = this;
- o(a.points, function (b) {
- var c = b.graphic,
- b = b.shapeArgs,
- d = -da / 2;
- c && (c.attr({
- r: 0,
- start: d,
- end: d
- }), c.animate({
- r: b.r,
- start: b.start,
- end: b.end
- }, a.options.animation))
- });
- a.animate = null
- },
- setData: function () {
- $.prototype.setData.apply(this, arguments);
- this.processData();
- this.generatePoints()
- },
- translate: function () {
- this.generatePoints();
- var a = 0,
- b = -0.25,
- c = this.options,
- d = c.slicedOffset,
- e = d + c.borderWidth,
- f = c.center.concat([c.size, c.innerSize || 0]),
- g = this.chart,
- h = g.plotWidth,
- i = g.plotHeight,
- k, j, l, n = this.points,
- p = 2 * da,
- r, s = Ua(h, i),
- w, v, y, q = c.dataLabels.distance,
- f = Vb(f, function (a, b) {
- return (w = /%$/.test(a)) ? [h, i, s, s][b] * S(a) / 100 : a
- });
- this.getX = function (a, b) {
- l = oa.asin((a - f[1]) / (f[2] / 2 + q));
- return f[0] + (b ? -1 : 1) * ja(l) * (f[2] / 2 + q)
- };
- this.center = f;
- o(n, function (b) {
- a += b.y
- });
- o(n, function (c) {
- r = a ? c.y / a : 0;
- k = z(b * p * 1E3) / 1E3;
- b += r;
- j = z(b * p * 1E3) / 1E3;
- c.shapeType = "arc";
- c.shapeArgs = {
- x: f[0],
- y: f[1],
- r: f[2] / 2,
- innerR: f[3] / 2,
- start: k,
- end: j
- };
- l = (j + k) / 2;
- c.slicedTranslation = Vb([ja(l) * d + g.plotLeft, C(l) * d + g.plotTop], z);
- v = ja(l) * f[2] / 2;
- y = C(l) * f[2] / 2;
- c.tooltipPos = [f[0] + v * 0.7, f[1] + y * 0.7];
- c.labelPos = [f[0] + v + ja(l) * q, f[1] + y + C(l) * q, f[0] + v + ja(l) * e, f[1] + y + C(l) * e, f[0] + v, f[1] + y, q < 0 ? "center" : l < p / 4 ? "left" : "right", l];
- c.percentage = r * 100;
- c.total = a
- });
- this.setTooltipPoints()
- },
- render: function () {
- this.getAttribs();
- this.drawPoints();
- this.options.enableMouseTracking !== !1 && this.drawTracker();
- this.drawDataLabels();
- this.options.animation && this.animate && this.animate();
- this.isDirty = !1
- },
- drawPoints: function () {
- var a = this.chart,
- b = a.renderer,
- c, d, e, f = this.options.shadow,
- g, h;
- o(this.points, function (i) {
- d = i.graphic;
- h = i.shapeArgs;
- e = i.group;
- g = i.shadowGroup;
- if (f && !g) g = i.shadowGroup = b.g("shadow").attr({
- zIndex: 4
- }).add();
- if (!e) e = i.group = b.g("point").attr({
- zIndex: 5
- }).add();
- c = i.sliced ? i.slicedTranslation : [a.plotLeft, a.plotTop];
- e.translate(c[0], c[1]);
- g && g.translate(c[0], c[1]);
- d ? d.animate(h) : i.graphic = b.arc(h).attr(L(i.pointAttr[Ka], {
- "stroke-linejoin": "round"
- })).add(i.group).shadow(f, g);
- i.visible === !1 && i.setVisible(!1)
- })
- },
- drawDataLabels: function () {
- var a = this.data,
- b, c = this.chart,
- d = this.options.dataLabels,
- e = p(d.connectorPadding, 10),
- f = p(d.connectorWidth, 1),
- g, h, i = p(d.softConnector, !0),
- k = d.distance,
- j = this.center,
- l = j[2] / 2,
- j = j[1],
- n = k > 0,
- t = [
- [],
- []
- ],
- r, s, w, v, y = 2,
- q;
- if (d.enabled) {
- $.prototype.drawDataLabels.apply(this);
- o(a, function (a) {
- a.dataLabel && t[a.labelPos[7] < da / 2 ? 0 : 1].push(a)
- });
- t[1].reverse();
- v = function (a, b) {
- return b.y - a.y
- };
- for (a = t[0][0] && t[0][0].dataLabel && t[0][0].dataLabel.getBBox().height; y--;) {
- var x = [],
- A = [],
- z = t[y],
- E = z.length,
- C;
- for (q = j - l - k; q <= j + l + k; q += a) x.push(q);
- w = x.length;
- if (E > w) {
- h = [].concat(z);
- h.sort(v);
- for (q = E; q--;) h[q].rank = q;
- for (q = E; q--;) z[q].rank >= w && z.splice(q, 1);
- E = z.length
- }
- for (q = 0; q < E; q++) {
- b = z[q];
- h = b.labelPos;
- b = 9999;
- for (s = 0; s < w; s++) g = Ba(x[s] - h[1]), g < b && (b = g, C = s);
- if (C < q && x[q] !== null) C = q;
- else for (w < E - q + C && x[q] !== null && (C = w - E + q); x[C] === null;) C++;
- A.push({
- i: C,
- y: x[C]
- });
- x[C] = null
- }
- A.sort(v);
- for (q = 0; q < E; q++) {
- b = z[q];
- h = b.labelPos;
- g = b.dataLabel;
- s = A.pop();
- r = h[1];
- w = b.visible === !1 ? ab : eb;
- C = s.i;
- s = s.y;
- if (r > s && x[C + 1] !== null || r < s && x[C - 1] !== null) s = r;
- r = this.getX(C === 0 || C === x.length - 1 ? r : s, y);
- g.attr({
- visibility: w,
- align: h[6]
- })[g.moved ? "animate" : "attr"]({
- x: r + d.x + ({
- left: e,
- right: -e
- }[h[6]] || 0),
- y: s + d.y
- });
- g.moved = !0;
- if (n && f) g = b.connector, h = i ? [wa, r + (h[6] === "left" ? 5 : -5), s, "C", r, s, 2 * h[2] - h[4], 2 * h[3] - h[5], h[2], h[3], fa, h[4], h[5]] : [wa, r + (h[6] === "left" ? 5 : -5), s, fa, h[2], h[3], fa, h[4], h[5]], g ? (g.animate({
- d: h
- }), g.attr("visibility", w)) : b.connector = g = this.chart.renderer.path(h).attr({
- "stroke-width": f,
- stroke: d.connectorColor || b.color || "#606060",
- visibility: w,
- zIndex: 3
- }).translate(c.plotLeft, c.plotTop).add()
- }
- }
- }
- },
- drawTracker: zb.prototype.drawTracker,
- getSymbol: function () {}
- });
- Ha.pie = w;
- L(Highcharts, {
- Chart: wc,
- dateFormat: ac,
- pathAnim: La,
- getOptions: function () {
- return Ea
- },
- hasBidiBug: Qc,
- numberFormat: dc,
- Point: lb,
- Color: ma,
- Renderer: Xb,
- SVGRenderer: Eb,
- VMLRenderer: $a,
- CanVGRenderer: oc,
- seriesTypes: Ha,
- setOptions: function (a) {
- $b = K($b, a.xAxis);
- kc = K(kc, a.yAxis);
- a.xAxis = a.yAxis = X;
- Ea = K(Ea, a);
- vc();
- return Ea
- },
- Series: $,
- addEvent: ha,
- removeEvent: Qa,
- createElement: Aa,
- discardElement: Tb,
- css: P,
- each: o,
- extend: L,
- map: Vb,
- merge: K,
- pick: p,
- splat: Hb,
- extendClass: pa,
- placeBox: uc,
- product: "Highcharts",
- version: "2.2.1"
- })
- })();
- DoChart = function (what, data, hideafter, formatter, tpl, extendo) {
- var t = $('#' + what);
- t.html('');
- var formatn = function (v) {
- return Highcharts.numberFormat(v, 0, ',');
- }, format = formatter ? formatter(Highcharts.numberFormat, formatn) : function (v) {
- return v > 1000000 ? (formatn(v / 1000000) + ' M') : (v > 1000 ? (formatn(v / 1000) + 'k') : formatn(v));
- };
- var styles = {
- 'greenareasolo': {
- area: {
- color: '#009900',
- lineWidth: 4.5,
- fillOpacity: 0,
- marker: {
- lineColor: '#fff',
- lineWidth: 0,
- radius: 2,
- symbol: 'circle'
- },
- shadow: false,
- animation: false
- }
- },
- 'greensolo': {
- area: {
- color: '#66a6ff',
- lineWidth: 4.5,
- fillOpacity: .60,
- marker: {
- lineColor: '#fff',
- lineWidth: 0,
- radius: 2,
- symbol: 'circle'
- },
- shadow: false
- },
- line: {
- color: '#009900',
- lineWidth: 4.5,
- marker: {
- lineColor: '#fff',
- lineWidth: 0,
- radius: 2,
- symbol: 'circle'
- },
- shadow: false
- }
- },
- 'area2': {
- area: {
- lineWidth: 2.5,
- fillOpacity: .60,
- marker: {
- lineColor: '#fff',
- lineWidth: 1,
- radius: 3.5,
- symbol: 'circle'
- },
- shadow: false
- }
- },
- 'compare': {
- pie: {
- allowPointSelect: true,
- cursor: 'pointer',
- size: '100%',
- dataLabels: {
- enabled: false
- },
- showInLegend: true,
- animation: false
- }
- },
- };
- var chartoptions = {
- chart: {
- renderTo: what,
- defaultSeriesType: 'area',
- margin: [-1, 10, 25, 10],
- borderRadius: 0,
- backgroundColor: '#ffffff'
- },
- title: {
- text: null
- },
- colors: ['#66a6ff', '#63A625', '#ece129'],
- credits: {
- enabled: false
- },
- legend: {
- enabled: false,
- borderWidth: 0,
- borderRadius: 0,
- align: 'left',
- verticalAlign: 'top',
- y: -5,
- x: 0,
- },
- plotOptions: {
- area: {
- lineWidth: 2.5,
- fillOpacity: .1,
- marker: {
- lineColor: '#fff',
- lineWidth: 1,
- radius: 3.5,
- symbol: 'circle'
- },
- shadow: false
- },
- column: {
- lineWidth: 16,
- shadow: false,
- borderWidth: 0,
- groupPadding: .05,
- },
- pie: {
- allowPointSelect: true,
- cursor: 'pointer',
- dataLabels: {
- enabled: false
- },
- showInLegend: true
- }
- },
- xAxis: {
- type: 'datetime',
- title: {
- text: null
- },
- tickmarkPlacement: 'on',
- dateTimeLabelFormats: {
- day: '%b %e'
- },
- gridLineColor: '#f2f2f2',
- gridLineWidth: .5,
- labels: {
- style: {
- color: '#777777'
- }
- }
- },
- yAxis: [{
- offset: -30,
- showFirstLabel: false,
- showLastLabel: false,
- title: {
- text: null
- },
- gridLineColor: '#f2f2f2',
- gridLineWidth: .5,
- zIndex: 2,
- labels: {
- align: 'right',
- style: {
- color: '#555555'
- },
- formatter: function () {
- return format(this.value, - 1);
- }
- }
- }, {
- offset: 80,
- showFirstLabel: false,
- showLastLabel: false,
- title: {
- text: null
- },
- opposite: true,
- gridLineColor: '#f2f2f2',
- gridLineWidth: .5,
- zIndex: 2,
- labels: {
- align: 'right',
- style: {
- color: '#555555'
- },
- formatter: function () {
- return format(this.value, - 1);
- }
- }
- }, {
- offset: -30,
- showFirstLabel: false,
- showLastLabel: false,
- title: {
- text: null
- },
- opposite: true,
- gridLineColor: '#f2f2f2',
- gridLineWidth: .5,
- zIndex: 1,
- labels: {
- align: 'right',
- style: {
- color: '#555555'
- },
- formatter: function () {
- return Highcharts.numberFormat(this.value, 2, '.') + '%';
- }
- }
- }],
- tooltip: {
- shadow: false,
- borderRadius: 3,
- formatter: function () {
- return this.series.index == 2 ? Highcharts.numberFormat(this.y, 2, '.') + '%' : format(this.y, this.series.index);
- }
- },
- series: []
- };
- var load = function (lines) {
- var first = lines[0];
- if (!first) return;
- for (var i = 1; i < first.length; i++) {
- var colinfo = (tpl && tpl[i - 1] ? tpl[i - 1] : ':').split(':');
- chartoptions.series.push($.extend({
- name: 'series' + i,
- yAxis: i - 1,
- pointStart: Date.parse(lines[1][0]),
- pointInterval: 24 * 3600 * 1000,
- type: colinfo[1] || (i == 1 ? 'column' : 'area'),
- data: []
- }, styles[colinfo[0]] && styles[colinfo[0]][colinfo[1]] ? styles[colinfo[0]][colinfo[1]] : {}));
- }
- var firstdate = null;
- $.each(lines, function (lineNo, items) {
- if (lineNo == 0 || items.length < first.length) return;
- if (!firstdate) firstdate = items[0];
- for (var i = 1; i < first.length; i++) {
- if (typeof (items[i]) == 'object') chartoptions.series[i - 1].data.push(items[i]);
- else {
- var fv = parseFloat(items[i]),
- n = (fv > 0 && fv <= 1) ? fv : parseInt(items[i], 10);
- chartoptions.series[i - 1].data.push(isNaN(n) ? 0 : n);
- }
- }
- });
- new Highcharts.Chart($.extend(chartoptions, extendo));
- if (hideafter) t.css('display', 'none');
- };
- if (typeof (data) == 'string') {
- $.get(data, function (ret) {
- var lines = ret.split('\n');
- for (var i = 0; i < lines.length; i++)
- lines[i] = lines[i].split(';');
- load(lines);
- });
- } else load(data);
- }
- jQuery.cookie = function (key, value, options) {
- if (arguments.length > 1 && String(value) !== "[object Object]") {
- options = jQuery.extend({}, options);
- if (value === null || value === undefined) {
- options.expires = -1;
- }
- if (typeof options.expires === 'number') {
- var days = options.expires,
- t = options.expires = new Date();
- t.setDate(t.getDate() + days);
- }
- value = String(value);
- return (document.cookie = [encodeURIComponent(key), '=', options.raw ? value : encodeURIComponent(value), options.expires ? '; expires=' + options.expires.toUTCString() : '', options.path ? '; path=' + options.path : '', options.domain ? '; domain=' + options.domain : '', options.secure ? '; secure' : ''].join(''));
- }
- options = value || {};
- var result, decode = options.raw ? function (s) {
- return s;
- } : decodeURIComponent;
- return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
- };
- String.prototype.score = function (abbreviation, offset) {
- offset = offset || 0
- if (abbreviation.length == 0) return 0.9
- if (abbreviation.length > this.length) return 0.0
- for (var i = abbreviation.length; i > 0; i--) {
- var sub_abbreviation = abbreviation.substring(0, i)
- var index = this.indexOf(sub_abbreviation)
- if (index < 0) continue;
- if (index + abbreviation.length > this.length + offset) continue;
- var next_string = this.substring(index + sub_abbreviation.length)
- var next_abbreviation = null
- if (i >= abbreviation.length) next_abbreviation = ''
- else next_abbreviation = abbreviation.substring(i)
- var remaining_score = next_string.score(next_abbreviation, offset + index)
- if (remaining_score > 0) {
- var score = this.length - next_string.length;
- if (index != 0) {
- var j = 0;
- var c = this.charCodeAt(index - 1)
- if (c == 32 || c == 9) {
- for (var j = (index - 2); j >= 0; j--) {
- c = this.charCodeAt(j)
- score -= ((c == 32 || c == 9) ? 1 : 0.15)
- }
- } else {
- score -= index
- }
- }
- score += remaining_score * next_string.length
- score /= this.length;
- return score
- }
- }
- return 0.0
- }
- jQuery.fn.liveUpdate = function (list) {
- list = jQuery(list);
- if (list.length) {
- var rows = list.children('li'),
- cache = rows.map(function () {
- return this.innerHTML.toLowerCase();
- });
- this.keyup(filter).keyup().parents('form').submit(function () {
- return false;
- });
- }
- return this;
- function filter() {
- var term = jQuery.trim(jQuery(this).val().toLowerCase()),
- scores = [];
- if (!term) {
- rows.show();
- } else {
- rows.hide();
- cache.each(function (i) {
- var score = this.score(term);
- if (score > 0) {
- scores.push([score, i]);
- }
- });
- jQuery.each(scores.sort(function (a, b) {
- return b[0] - a[0];
- }), function () {
- jQuery(rows[this[1]]).show();
- });
- }
- }
- };
- SetErr = function (err) {
- $('.flashme .ferr, .flashme #file').remove();
- $('.flashme').append($('<div/>').attr('class', 'ferr').text(err));
- }
- ShowImage = function (file) {
- $('.flashme .ferr').remove();
- $('#show-creative').css('display', 'block');
- $('#show-creative img').attr('src', '/pub/nosvn/uploads/temp/' + file).load(function () {
- $(this).parent().fadeIn(250);
- });
- $('#newf').attr('checked', 'checked');
- $('#form1 button').removeAttr('disabled').find('em').text($('#form1 button em').data('orgtext'));
- $('.flashme #file').remove();
- $('.flashme').append($('<input type="hidden"/>').attr('id', 'file').attr('name', 'newfile-file').val(file));
- }
- $(document).ready(function () {
- var flashme = $('.flashme');
- $('input', flashme).change(function () {
- $('#form1').attr('target', 'previewframe');
- $('#previewsubmitid').click();
- $('#form1').attr('target', '');
- $('#form1 button').attr('disabled', 'disabled').find('.em').data('orgtext', $('#form1 button em').text()).text('Uploading...');
- });
- flashme.append($('<input type="submit"/>').css('display', 'none').attr('id', 'previewsubmitid').attr('name', 'previewsubmit'));
- flashme.append($('<iframe/>').css('display', 'none').attr('name', 'previewframe'));
- $('li.checkme').click(function () {
- $('li', $(this).parent()).removeClass('selected');
- $('input.radio', $(this).parent()).attr('checked', false);
- $(this).addClass('selected');
- $('input.radio', $(this)).attr('checked', true);
- if ($('#samplead_image').length) {
- $('#show-creative img').attr('src', $(this).find('label img').attr('src'));
- }
- return false;
- });
- $('input.clearselection').click(function () {
- $('ul.selections li').removeClass('selected');
- $('ul.selections li input.radio').attr('checked', false);
- });
- $('#imageid').focus(function () {
- $('ul.selections li').removeClass('selected');
- $('ul.selections li input.radio').attr('checked', false);
- });
- });
- var inits = [];
- function OnInit(func) {
- inits.push(func);
- }
- function ReInit() {
- for (var i = 0; i < inits.length; i++)
- inits[i]();
- }
- $(function () {
- ReInit();
- var loading, setPage = function (newurl) {
- loading = newurl;
- $.post(newurl, {
- 'js': 1
- }, (function (newurl) {
- return function (d) {
- if (newurl == loading) {
- $('#realpage').html(d);
- document.title = $('#realpagetitle').attr('rel');
- window.history.pushState({}, '', newurl);
- ReInit();
- }
- }
- })(newurl));
- };
- });
- function Format(num, dec) {
- num += '';
- x = num.split('.');
- x1 = x[0];
- x2 = x.length > 1 ? x[1] : '';
- var rgx = /(\d+)(\d{3})/;
- while (rgx.test(x1))
- x1 = x1.replace(rgx, '$1' + ',' + '$2');
- while (dec && x2.length < dec)
- x2 += '0';
- return x1 + (x2.length > 0 ? ('.' + x2.substring(0, dec || x2.length)) : '');
- }
- function SetupBuy(ctx) {
- var waitingList;
- if ($('#advLists').length > 0) waitingList = $('#advLists').children('option[value=1]').first();
- $('.listbtn', ctx).click(function (event) {
- event.preventDefault();
- event.stopPropagation();
- $('#zoneid').val($(this).attr('id'));
- $('#siteid').val($(this).attr('name'));
- if ($('#lists').css('display') == 'block' && $(this).hasClass('listbtnon')) {
- $('#lists').slideUp(200);
- $(this).removeClass('listbtnon');
- return;
- }
- $('.listbtn').removeClass('listbtnon');
- $(this).addClass('listbtnon');
- if (typeof (waitingList) != "undefined" && $(this).next('em').is('.soldout')) $('#advLists option[value=0]').after(waitingList);
- else if ($('#advLists option[value=1]').length > 0) $('#advLists option[value=1]').remove();
- var height = $('#lists').height();
- $('#lists').css({
- 'position': 'absolute',
- 'height': '1px',
- 'overflow': 'hidden',
- 'z-index': 98,
- 'display': 'block'
- }).position({
- my: 'left top',
- at: 'left top',
- of: $(this),
- offset: '0 27'
- }).animate({
- 'height': height
- }, 200, function () {
- $(this).css('height', 'auto');
- });
- });
- $('#advLists', ctx).change(function (e) {
- e.stopPropagation();
- $(this).val() == -1 ? $('.addlist').slideDown(300) : $('.addlist').slideUp(300);
- });
- $('#lists .button', ctx).click(function (e) {
- var t = $('#advLists :selected').text();
- if ($('#advLists').val() == -1) {
- t = $('#listName').val();
- var v = $('#advLists option').length - 1,
- opt = $('<option/>').attr({
- 'value': v,
- 'selected': 'selected'
- }).text(t);
- $('#advNew').before(opt);
- }
- $('#advList').val(t);
- return true;
- });
- $('.add-to-list').each(function () {
- var add = $(this);
- QuickSubmit(add, function (ctx) {
- $('#lists').slideUp(200);
- $('.listbtn .listbtnon').removeClass('listbtnon');
- setTimeout(function () {
- $('.modalclose a').click();
- }, 3000);
- });
- });
- $('.flyout').css('top', - $('.flyout').outerHeight() / 2 + $('.flyout').parent().parent().outerHeight() / 2);
- $('.zoneflyout.global').fadeOut();
- $('table.zone-listing tr').hover(function () {
- var desc = $(this).find('.flyoutdesc')
- if (desc.text()) {
- $('.zoneflyout.global').find('.data').text(desc.text()).end().css({
- 'opacity': 1,
- 'display': 'block',
- 'top': $(this).offset().top,
- 'left': $(this).offset().left - 250
- });
- }
- }, function () {
- $('.zoneflyout.global').css({
- 'display': 'none',
- 'opacity': 0
- });
- });
- $('.inquire a').click(function (event) {
- $.get($(this).attr('href'), function (data) {
- $('.iform').html(data).slideToggle(800);
- QuickSubmit($('.iform .quicksubmit'));
- });
- return false;
- });
- var path = window.location.pathname.split('/').slice(1, 3).join('-');
- $('.add-to-cart', ctx).click(function (event) {
- $.get($(this).attr('href') + '/js/1/', function (data) {
- $('#successmodal div.pad').html(data);
- $('.cart-total').text('$' + $('#newtotalcart').text());
- $('.cart-quantity').text($('#newtotalquantity').text());
- $('#in-cart-' + $(this).attr('id')).show();
- $('#in-bundle-' + $(this).attr('id')).hide();
- });
- if (!$('body').hasClass('cart')) {
- $('.headerpad').animate({
- marginRight: '+=156'
- }, 300, function () {
- $('.carttab').slideDown(400, 'swing');
- }).animate({
- marginRight: '-=20'
- }, 300).delay(1500).parent().find('.cart-total').css('color', '#ffffcc').delay(1000).effect('pulsate', {
- times: 2
- }, 500).css('color', '#fff');
- $('body').delay(3000).addClass('cart');
- } else {
- $(this).effect('transfer', {
- to: $('.carttab')
- }, 800, function () {
- $('.cart-total').effect('pulsate', {
- times: 2
- }, 800);
- });
- }
- _gaq.push(['_trackPageview', '/addtocart/' + path]);
- return false;
- });
- }
- SetupAnalytics = function () {
- var path = window.location.pathname.replace(/\/$/, '').slice(1).split('/').join('-');
- $('#submitbutton', 'form.register').click(function () {
- _gaq.push(['_trackPageview', '/users/register/' + path]);
- });
- }
- function searchinit() {
- $('.turnon, .turnoff').change(function () {
- $.get('/buy/notifysearch/id/' + $(this).attr('rel') + '/set/' + ($(this).is('.turnon') ? 'on' : 'off') + '/js/1');
- });
- $('.radio-switch label').click(function () {
- $(this).parent().find('label').removeClass('selected');
- $(this).addClass('selected');;
- });
- };
- function LoadListing(id, medium) {
- var siteid = id.substring(1);
- $('.site-shell').append('<div id="pane-' + siteid + '" class="sitepane"></div>').addClass('open');
- $('#pane-' + siteid).animate({
- width: $('.browse').width() + 20
- }, 500, 'easeOutQuint', function () {
- $.get('/buy/view/id/' + siteid + '/medium/' + (medium || 0) + '/js/1/', function (data) {
- var pane = $('#pane-' + siteid).append(data).css({
- backgroundImage: 'none'
- });
- pane.height(pane.find('.panepad').height());
- if ((pane.height() + 50) > $(window).height()) {
- pane.height($(window).height() - 8).find('.scrollable').height($(window).height() - 200);
- }
- pane.stickyPanel();
- SetupBuy($('body'));
- });
- });
- $(window).trigger('scroll.stickyPanel');
- }
- function LoadView(id, url) {
- $('.basic-shell').append('<div id="pane-' + id + '" class="pane"><div class="panepad"></div></div>').addClass('open');
- $('#pane-' + id).animate({
- width: $('.rightcol').width()
- }, 500, 'easeOutQuint', function () {
- $.get(url + '/js/1/', function (data) {
- $('#pane-' + id + ' .panepad').append(data).parent().css({
- backgroundImage: 'none'
- });
- UtcDate();
- });
- });
- }
- function QuickEdit(url, cb, cb2, extraclass) {
- $('.loading').show();
- $('.modalscreen').show();
- var oldextra = $('.modal').data('extraclass');
- if (oldextra) $('.modal').removeClass(oldextra);
- if (extraclass) $('.modal').data('extraclass', extraclass).addClass(extraclass);
- $.get(url + '/js/1/', function (data) {
- var stop = false;
- if (cb) {
- if (!cb(data)) stop = true;
- }
- if (!stop) $('.modalpad').html(data).parent().show(0, function () {
- $('.loading').hide();
- QuickSubmitAll($('.modalpad .quicksubmit'));
- if (cb2) cb2();
- });
- });
- }
- function QuickSubmitAll(el) {
- el.each(function () {
- QuickSubmit($(this));
- });
- }
- function QuickSubmit(el, cb) {
- el.submit(function () {
- var self = $(this);
- $('.loading').show();
- $('.modalscreen').show();
- $.post($(this).attr('action') + '/submit1/1/js/1', $(this).serialize(), function (d) {
- $('.modalpad').html(d).parent().show(0, function () {
- $('.loading').hide();
- QuickSubmitAll($('.modalpad .quicksubmit'));
- if (cb) cb(self);
- });
- });
- return false;
- });
- }
- function CloseMe(el, cb) {
- var func = function (e) {
- $(window).unbind('click', func);
- cb.call(el);
- e.stopPropagation();
- };
- $(window).bind('click', func);
- }
- function PrettyDate(d) {
- var pretty = $.datepicker.formatDate('M d, yy', d);
- pretty += ' at ' + d.toLocaleTimeString() + ' (' + (String(String(new Date()).split("(")[1]).split(")")[0]) + ')';
- return pretty;
- }
- function UtcDate() {
- $('.utcdate').each(function () {
- var d = new Date();
- d.setTime($(this).attr('rel') * 1000);
- $(this).after($('<span/>').addClass('utcdateextra').text(PrettyDate(d)).hide());
- $(this).hover(function (e) {
- var x = e.pageX - $(this).offset().left,
- y = e.pageY - $(this).offset().top;
- $(this).nextAll('.utcdateextra').eq(0).css({
- top: y - 32,
- left: x - 65
- }).show();
- }, function () {
- $(this).nextAll('.utcdateextra').eq(0).hide();
- }).mousemove(function (e) {
- var x = e.pageX - $(this).offset().left,
- y = e.pageY - $(this).offset().top;
- $(this).nextAll('.utcdateextra').eq(0).css({
- top: y - 32,
- left: x - 65
- });
- });
- });
- }
- OnInit(function () {
- var prettify = false;
- $('pre.api').each(function () {
- $(this).addClass('prettyprint');
- prettify = true;
- });
- if (prettify) {
- $.getScript('/stuff/pretty.js', function () {
- prettyPrint();
- });
- }
- $('.magnify').each(function () {
- $(this).hover(function (e) {
- $('.bubble .img').html($(this).html()).css({
- display: 'block'
- });
- $('.bubble').css({
- 'top': $(this).offset().top - $('.bubble').outerHeight() - 15,
- 'left': $(this).offset().left - 20
- });
- $('.bubble').stop(true, true).delay(700).fadeIn(200);
- }, function () {
- $('.bubble').stop(true, true).fadeOut(200);
- $('.bubble .img').html('').hide();
- });
- });
- $('.hidedefault').focus(function () {
- if ($(this).val() == $(this).attr('rel')) $(this).val('');
- }).blur(function () {
- if ($(this).val().length == 0) $(this).val($(this).attr('rel'));
- });
- $('.button.disabled').live('click', function () {
- return false;
- });
- Agree = function (ctx) {
- if ($('input[name=agree]', ctx).is(':checked')) $('.button.checkout', ctx).removeClass('disabled');
- else $('.button.checkout', ctx).addClass('disabled');
- }
- $('input[name=agree]').live('change', function () {
- Agree($(this).parents('.billing'));
- });
- UtcDate();
- $('.daterangeme').datepicker();
- $('a.cal').live('click', function (e) {
- $(this).toggleClass('on');
- var picker = $('.fullcal', $(this).parent()),
- start = null,
- end = null,
- maxdate = parseInt(picker.attr('rel'), 10);
- picker.toggle().find('.pad').datepicker({
- autoSize: false,
- defaultDate: 'today',
- maxDate: maxdate > 0 ? new Date(maxdate * 1000) : null,
- changeMonth: false,
- numberOfMonths: 2,
- beforeShowDay: function (date) {
- if ((start && end && date >= start && date < end) || (start && !end && date - start == 0)) return [true, 'highlight'];
- return [true, ''];
- },
- onSelect: function (selectedDate) {
- var instance = $(this).data('datepicker'),
- date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
- if (!start) start = date;
- else if (!end && date > start) end = date;
- else {
- end = null;
- start = date;
- }
- $('#from').val(start ? $.datepicker.formatDate('M d, yy', start) : '');
- $('#to').val(end ? $.datepicker.formatDate('M d, yy', end) : '');
- if (start && end) $('#applydate').addClass('primary');
- }
- }).click(function (e) {
- e.stopPropagation();
- });
- $('#applydate').click(function () {
- var from = $('#from').val(),
- to = $('#to').val();
- if (!from || !to) return false;
- $(this).attr('href', $(this).attr('href').replace('[val]', from + '|' + to));
- });
- var defaults = function () {
- var date = null;
- try {
- date = $.datepicker.parseDate('M d, yy', $(this).val());
- } catch (e) {}
- if (date) {
- if ($(this).is('#from')) start = date;
- else end = date;
- picker.find('.pad').datepicker('refresh');
- }
- }
- $('input', picker).click(function () {
- return false;
- }).change(defaults).each(defaults);
- if (picker.is(':visible')) CloseMe($(this), function () {
- $(this).click();
- });
- return false;
- });
- $('ul.propdrop > li').click(function (e) {
- if ($(this).is('.open')) return true;
- $(this).addClass('on open');
- CloseMe($(this), function () {
- $(this).removeClass('on open');
- });
- return false;
- });
- var mlm = function () {
- var t = $(this),
- fd = t.parent(),
- left = parseInt(t.attr('maxlength'), 10) - t.val().length;
- if (!$('.limit', fd).length) fd.append($('<div/>').addClass('limit').append($('<span/>').attr('class', 'remaining').addClass('good')).append(' characters remaining'));
- $('.limit .remaining', fd).text(left);
- if (left < 0) $('.limit', fd).addClass('bad');
- else $('.limit', fd).removeClass('good');
- };
- $('.maxlengthme').each(mlm).keypress(mlm);
- $('#changemood').click(function (e) {
- $('#editingmood').slideDown(300);
- $('#normalmood').hide();
- return false;
- });
- $('#savemood').click(function () {
- $.get('/users/mood/extent/' + $('#selectextent').val() + '/mood/' + $('#selectmood').val() + '/moodmessage/' + escape($('#moodmessage').val() || '0'), function (d) {
- $('#normalmood').css('display', 'block');
- $('#editingmood').css('display', 'none');
- $('#extent').text($('#selectextent :selected').text());
- $('#mood').text($('#selectmood :selected').text());
- _gaq.push(['_trackEvent', 'Mood', $('#selectextent :selected').text(), $('#selectmood :selected').text()]);
- });
- return false;
- });
- $('#selectmood, #selectextent').change(function (e) {
- $('#savemood').show();
- });
- $('.adv-addtag').click(function () {
- $(this).parent().parent().find('div.addtag').css('display', 'block');
- return false;
- });
- $('.closeaddtag').click(function () {
- $(this).parent().parent().parent().find('div.addtag').css('display', 'none');
- return false;
- });
- $('form.addtagform').submit(function () {
- var me = $(this);
- $.get($(this).attr('action') + '/mytags/' + encodeURIComponent($('input[name=mytags]', me).val()) + '/js/1', function (d) {
- var pubkey = $('.newtags', d).attr('id'),
- tags = $('#tags-' + pubkey),
- newtags = $('.newtags', d).text().split(' ');
- for (var i = 0; i < newtags.length; i++)
- if (newtags[i].length > 0) tags.append($('<span/>').addClass('advtag').text(newtags[i]).append($('<sup/>').append($('<a/>').addClass('dojs deltag').attr('href', '/myads/deltag/id/' + pubkey + '/tag/' + newtags[i]).text('x'))));
- $('input[name=mytags]', me).val('');
- $('#row-' + pubkey + ' .closeaddtag').click();
- });
- return false;
- });
- $('.deltag').live('click', function () {
- var me = $(this);
- $.get($(this).attr('href') + '/js/1', function (d) {
- me.parents('.advtag').remove();
- });
- return false;
- });
- $('.addqty .save').css('display', 'none');
- $('.addqty select').change(function () {
- $('#' + $(this).attr('id').replace('qty', 'cost')).text('$' + Format($(this).attr('class').substring(3) * $(this).val(), 2));
- $(this).parents('.addqty').submit();
- });
- $('.addqty').submit(function () {
- var me = $(this),
- qty = $('select', me).val(),
- l = $(this).attr('action') + '/qty/' + qty + '/js/1';
- $.get(l, function (d) {
- if (d == 0) window.location = l;
- else {
- $('.save', me).css('display', 'none');
- $('.cart-total').text('$' + d);
- }
- });
- return false;
- });
- $('.remove-item').click(function () {
- var me = $(this);
- $.get($(this).attr('href') + '/js/1', function (d) {
- $('#item' + me.attr('id')).css('display', 'none');
- $('.cart-total').text('$' + $('#newtotalcart', d).text());
- $('.cart-quantity').text($('#newtotalquantity', d).text());
- $('#nbanners').text(parseInt($('#nbanners').text()) - 1);
- if ($('#nbanners').text() == '0') {
- $('#emptycart').css('display', 'block');
- $('#allcart, #allcreativesmsg').css('display', 'none');
- $('.cart-total').parent().removeClass('active');
- } else if ($('#gotallcreatives', d).text() == '1') {
- $('#checkout-submit, #checkout-submit-express').removeClass('disabled');
- $('#allcreativesmsg').css('display', 'none');
- }
- });
- return false;
- });
- $('.remove-listitem').click(function () {
- var me = $(this);
- $.get(me.attr('href') + '/js/1', function (d) {
- me.parents('tr').remove();
- });
- return false;
- });
- var loaded = false;
- function ClosePane() {
- $('.site-shell').removeClass('open');
- $('.sitepane').remove();
- $('.browsemask').hide();
- }
- $('.site-shell').stickyPanel();
- $('#site-closepane').live('click', function (e) {
- ClosePane();
- loaded = window.location.hash = '/';
- return false;
- });
- $('a.site').live('click', function (e) {
- $('.sitepane').hide();
- $('.browsemask').show();
- loaded = window.location.hash = '#view-' + $(this).attr('id');
- LoadListing($(this).parent().attr('id'), parseInt($(this).parents('.sites').attr('rel'), 10));
- return false;
- });
- function LoadHash() {
- if (window.location.hash.length > 5 && window.location.hash.substr(0, 6) == '#view-') setTimeout(function () {
- $('#' + window.location.hash.substr(6)).click();
- }, 100);
- }
- LoadHash();
- $(window).bind('hashchange', function (e) {
- if (loaded && loaded != window.location.hash) {
- if (window.location.hash.substring(0, 5) != '#view') ClosePane();
- else LoadHash();
- }
- });
- $('#basic-closepane').live('click', function (e) {
- $('.basic-shell').removeClass('open');
- $('.pane').remove();
- $('.browsemask').hide();
- return false;
- });
- $('.quickpane').live('click', function (e) {
- $('.pane').hide();
- $('.browsemask').show();
- LoadView($(this).attr('id'), $(this).attr('href'));
- return false;
- });
- var page = 0,
- pages = Math.floor($('.similarsection li').length / 8);
- function ShowSimilar() {
- $('.similarsection li').each(function (k, v) {
- $(this).css('display', k >= (page * 8) && k < ((page + 1) * 8) ? 'block' : 'none');
- });
- }
- $('.simprev').click(function () {
- if (page > 0) page--;
- ShowSimilar();
- });
- $('.simnext').click(function () {
- if (page < pages) page++;
- ShowSimilar();
- });
- ShowSimilar();
- $('.tempcreative').css('display', 'none');
- $('.showlive').click(function () {
- var p = $(this).parent().parent().parent();
- $('.tempcreative', p).css('display', 'none');
- $('.livecreative', p).css('display', 'block');
- $('.creativenote', p).text('This is a live creative.');
- return false;
- });
- $('.showtemp').click(function () {
- var p = $(this).parent().parent().parent();
- $('.livecreative', p).css('display', 'none');
- $('.tempcreative', p).css('display', 'block');
- $('.creativenote', p).text('This is a pending creative.');
- return false;
- });
- $('.ignorerec').live('click', function () {
- $(this).parents('tr').removeClass('recommended');
- $(this).parents('.recommendedflag').remove();
- $.get($(this).attr('href') + '/js/1', function () {});
- return false;
- });
- $('.remove-dirnotice').click(function () {
- $.cookie('notnewheredamnit', 1, {
- path: '/',
- expires: 365
- });
- $(this).parents('.newhere').slideUp();
- return false;
- });
- $('.gatrack').live('click', function () {
- var tracking = $(this).attr('rel').split(';');
- if (tracking.length == 3) {
- _gaq.push(['_trackEvent', tracking[0], tracking[1], tracking[2]]);
- }
- });
- $('.header .search input[name="tagsearch_post"]').live('focus', function (e) {
- if ($(this).val() == 'search the marketplace') $(this).val('').css({
- color: '#444'
- });
- });
- $('.header .search input[name="tagsearch_post"]').live('blur', function (e) {
- if ($(this).val() == '') $(this).val('search the marketplace').css({
- color: '#bbb'
- });
- });
- $('.sidebar .search input[name="tagsearch_post"]').live('focus', function (e) {
- if ($(this).val() == 'enter keyword') $(this).val('').css({
- color: '#444'
- });
- });
- $('.sidebar .search input[name="tagsearch_post"]').live('blur', function (e) {
- if ($(this).val() == '') $(this).val('enter keyword').css({
- color: '#bbb'
- });
- });
- $('.quickedit').live('click', function (e) {
- QuickEdit($(this).attr('href'));
- return false;
- });
- $('.modalclose a').live('click', function (e) {
- $('.modal').hide();
- $('.modalscreen').hide();
- return false;
- });
- $('.updateme').change(function () {
- if ($(this).val() != '') window.location = $(this).attr('rel').replace('[val]', $(this).val());
- });
- $('.tip').each(function () {
- var text = $(this).attr('title').split('::');
- $(this).hover(function (e) {
- $('.bubble .text').html((text.length > 1 ? '<strong>' + text[0] + '</strong><em>' + text[1] + '</em>' : '<em>' + text[0] + '</em>'));
- $('.bubble').css({
- 'top': $(this).offset().top - $('.bubble').outerHeight() - 15,
- 'left': $(this).offset().left - 20
- });
- $('.bubble').stop(true, true).fadeIn(200);
- $(this).removeAttr('title');
- }, function () {
- $('.bubble').stop(true, true).fadeOut(200);
- $('.bubble .text').html('');
- $(this).attr('title', text);
- });
- });
- $('div.removemsg').delay(500).slideDown(350, 'easeInExpo').append('<span class="ticktock"></span>').parent().find('.ticktock').delay(1000).animate({
- width: '480px'
- }, 3000, function () {
- $('.removemsg').slideUp(200, 'easeOutExpo')
- });
- $('span.closemsg').click(function () {
- $(this).parent('.message').hide();
- });
- $('.removemsg .close').click(function () {
- $(this).parent().parent().remove();
- return false;
- });
- SetupLoginStrip = function () {
- $('ul#notLoggedIn li#login').click(function () {
- $('form#loginForm').slideToggle(100);
- return false;
- });
- $('form#loginForm').submit(function () {
- $('form#loginForm .processing').show();
- });
- var login = function (what) {
- return function () {
- $('#successmodal').addClass('loginsignup');
- QuickEdit('/users/loginsignup' + $(this).attr(what), function (d) {
- $('.modalloginform').submit(function () {
- var self = this;
- if ($(this).is('.goahead')) return true;
- $.get('/users/authenticate/email/' + $('.modalloginform input[name=email]').val() + '/password/' + $('.modalloginform input[name=password]').val() + '/js/1', function (d) {
- if (d == 'T') $(self).addClass('goahead').submit();
- else $('.authwrong').css('display', 'block');
- });
- return false;
- });
- return true;
- });
- return false;
- };
- };
- $('.notloggedin a.logmein').click(login('href')).removeClass('dojs').removeClass('abusedojs');
- $('.notloggedin form.logmein').submit(login('action'));
- }
- SetupLoginStrip();
- $('a.advancedtrigger').live('click', function (e) {
- var txt = $('.advanced').is(':visible') ? 'show advanced options' : 'hide advanced options';
- $('.advancedtrigger').text(txt);
- $('.advanced').slideToggle();
- return false;
- });
- $('li.tiledview').live('click', function (e) {
- $('li.tiledview').addClass('on');
- $('li.listview').removeClass('on');
- $('ul.sites').addClass('tiledview');
- $('ul.sites').removeClass('listview');
- $.cookie('buyview', 0, {
- path: '/'
- });
- return false;
- });
- $('li.listview').live('click', function (e) {
- $('li.listview').addClass('on');
- $('li.tiledview').removeClass('on');
- $('ul.sites').addClass('listview');
- $('ul.sites').removeClass('tiledview');
- $.cookie('buyview', 1, {
- path: '/'
- });
- return false;
- });
- });