5400 lines
209 KiB
JavaScript
5400 lines
209 KiB
JavaScript
(function(r, m) {
|
|
function Pa(a) {
|
|
var b = a.length
|
|
, d = c.type(a);
|
|
return c.isWindow(a) ? !1 : 1 === a.nodeType && b ? !0 : "array" === d || "function" !== d && (0 === b || "number" === typeof b && 0 < b && b - 1 in a)
|
|
}
|
|
function xb(a, b, d, e) {
|
|
if (c.acceptData(a)) {
|
|
var f = c.expando
|
|
, g = "string" === typeof b
|
|
, h = a.nodeType
|
|
, j = h ? c.cache : a
|
|
, k = h ? a[f] : a[f] && f;
|
|
if (k && j[k] && (e || j[k].data) || !(g && d === m)) {
|
|
k || (h ? a[f] = k = ca.pop() || c.guid++ : k = f);
|
|
j[k] || (j[k] = {},
|
|
h || (j[k].toJSON = c.noop));
|
|
if ("object" === typeof b || "function" === typeof b)
|
|
e ? j[k] = c.extend(j[k], b) : j[k].data = c.extend(j[k].data, b);
|
|
a = j[k];
|
|
e || (a.data || (a.data = {}),
|
|
a = a.data);
|
|
d !== m && (a[c.camelCase(b)] = d);
|
|
g ? (d = a[b],
|
|
null == d && (d = a[c.camelCase(b)])) : d = a;
|
|
return d
|
|
}
|
|
}
|
|
}
|
|
function yb(a, b, d) {
|
|
if (c.acceptData(a)) {
|
|
var e, f, g, h = a.nodeType, j = h ? c.cache : a, k = h ? a[c.expando] : c.expando;
|
|
if (j[k]) {
|
|
if (b && (g = d ? j[k] : j[k].data)) {
|
|
c.isArray(b) ? b = b.concat(c.map(b, c.camelCase)) : b in g ? b = [b] : (b = c.camelCase(b),
|
|
b = b in g ? [b] : b.split(" "));
|
|
e = 0;
|
|
for (f = b.length; e < f; e++)
|
|
delete g[b[e]];
|
|
if (!(d ? Qa : c.isEmptyObject)(g))
|
|
return
|
|
}
|
|
if (!d && (delete j[k].data,
|
|
!Qa(j[k])))
|
|
return;
|
|
h ? c.cleanData([a], !0) : c.support.deleteExpando || j != j.window ? delete j[k] : j[k] = null
|
|
}
|
|
}
|
|
}
|
|
function zb(a, b, d) {
|
|
if (d === m && 1 === a.nodeType)
|
|
if (d = "data-" + b.replace(Fc, "-$1").toLowerCase(),
|
|
d = a.getAttribute(d),
|
|
"string" === typeof d) {
|
|
try {
|
|
d = "true" === d ? !0 : "false" === d ? !1 : "null" === d ? null : +d + "" === d ? +d : Gc.test(d) ? c.parseJSON(d) : d
|
|
} catch (e) {}
|
|
c.data(a, b, d)
|
|
} else
|
|
d = m;
|
|
return d
|
|
}
|
|
function Qa(a) {
|
|
for (var b in a)
|
|
if (!("data" === b && c.isEmptyObject(a[b])) && "toJSON" !== b)
|
|
return !1;
|
|
return !0
|
|
}
|
|
function ta() {
|
|
return !0
|
|
}
|
|
function da() {
|
|
return !1
|
|
}
|
|
function Ab(a, b) {
|
|
do
|
|
a = a[b];
|
|
while (a && 1 !== a.nodeType);
|
|
return a
|
|
}
|
|
function Bb(a, b, d) {
|
|
b = b || 0;
|
|
if (c.isFunction(b))
|
|
return c.grep(a, function(a, e) {
|
|
return !!b.call(a, e, a) === d
|
|
});
|
|
if (b.nodeType)
|
|
return c.grep(a, function(a) {
|
|
return a === b === d
|
|
});
|
|
if ("string" === typeof b) {
|
|
var e = c.grep(a, function(a) {
|
|
return 1 === a.nodeType
|
|
});
|
|
if (Hc.test(b))
|
|
return c.filter(b, e, !d);
|
|
b = c.filter(b, e)
|
|
}
|
|
return c.grep(a, function(a) {
|
|
return 0 <= c.inArray(a, b) === d
|
|
})
|
|
}
|
|
function Cb(a) {
|
|
var b = Db.split("|");
|
|
a = a.createDocumentFragment();
|
|
if (a.createElement)
|
|
for (; b.length; )
|
|
a.createElement(b.pop());
|
|
return a
|
|
}
|
|
function Eb(a) {
|
|
var b = a.getAttributeNode("type");
|
|
a.type = (b && b.specified) + "/" + a.type;
|
|
return a
|
|
}
|
|
function Fb(a) {
|
|
var b = Ic.exec(a.type);
|
|
b ? a.type = b[1] : a.removeAttribute("type");
|
|
return a
|
|
}
|
|
function Ra(a, b) {
|
|
for (var d, e = 0; null != (d = a[e]); e++)
|
|
c._data(d, "globalEval", !b || c._data(b[e], "globalEval"))
|
|
}
|
|
function Gb(a, b) {
|
|
if (1 === b.nodeType && c.hasData(a)) {
|
|
var d, e, f;
|
|
e = c._data(a);
|
|
var g = c._data(b, e)
|
|
, h = e.events;
|
|
if (h)
|
|
for (d in delete g.handle,
|
|
g.events = {},
|
|
h) {
|
|
e = 0;
|
|
for (f = h[d].length; e < f; e++)
|
|
c.event.add(b, d, h[d][e])
|
|
}
|
|
g.data && (g.data = c.extend({}, g.data))
|
|
}
|
|
}
|
|
function B(a, b) {
|
|
var d, e, f = 0, g = typeof a.getElementsByTagName !== L ? a.getElementsByTagName(b || "*") : typeof a.querySelectorAll !== L ? a.querySelectorAll(b || "*") : m;
|
|
if (!g) {
|
|
g = [];
|
|
for (d = a.childNodes || a; null != (e = d[f]); f++)
|
|
!b || c.nodeName(e, b) ? g.push(e) : c.merge(g, B(e, b))
|
|
}
|
|
return b === m || b && c.nodeName(a, b) ? c.merge([a], g) : g
|
|
}
|
|
function Jc(a) {
|
|
Sa.test(a.type) && (a.defaultChecked = a.checked)
|
|
}
|
|
function Hb(a, b) {
|
|
if (b in a)
|
|
return b;
|
|
for (var d = b.charAt(0).toUpperCase() + b.slice(1), e = b, c = Ib.length; c--; )
|
|
if (b = Ib[c] + d,
|
|
b in a)
|
|
return b;
|
|
return e
|
|
}
|
|
function na(a, b) {
|
|
a = b || a;
|
|
return "none" === c.css(a, "display") || !c.contains(a.ownerDocument, a)
|
|
}
|
|
function Jb(a, b) {
|
|
for (var d, e, f, g = [], h = 0, j = a.length; h < j; h++)
|
|
if (e = a[h],
|
|
e.style)
|
|
if (g[h] = c._data(e, "olddisplay"),
|
|
d = e.style.display,
|
|
b)
|
|
!g[h] && "none" === d && (e.style.display = ""),
|
|
"" === e.style.display && na(e) && (g[h] = c._data(e, "olddisplay", Kb(e.nodeName)));
|
|
else if (!g[h] && (f = na(e),
|
|
d && "none" !== d || !f))
|
|
c._data(e, "olddisplay", f ? d : c.css(e, "display"));
|
|
for (h = 0; h < j; h++)
|
|
if (e = a[h],
|
|
e.style && (!b || "none" === e.style.display || "" === e.style.display))
|
|
e.style.display = b ? g[h] || "" : "none";
|
|
return a
|
|
}
|
|
function Lb(a, b, d) {
|
|
return (a = Kc.exec(b)) ? Math.max(0, a[1] - (d || 0)) + (a[2] || "px") : b
|
|
}
|
|
function Mb(a, b, d, e, f) {
|
|
b = d === (e ? "border" : "content") ? 4 : "width" === b ? 1 : 0;
|
|
for (var g = 0; 4 > b; b += 2)
|
|
"margin" === d && (g += c.css(a, d + V[b], !0, f)),
|
|
e ? ("content" === d && (g -= c.css(a, "padding" + V[b], !0, f)),
|
|
"margin" !== d && (g -= c.css(a, "border" + V[b] + "Width", !0, f))) : (g += c.css(a, "padding" + V[b], !0, f),
|
|
"padding" !== d && (g += c.css(a, "border" + V[b] + "Width", !0, f)));
|
|
return g
|
|
}
|
|
function Nb(a, b, d) {
|
|
var e = !0
|
|
, f = "width" === b ? a.offsetWidth : a.offsetHeight
|
|
, g = W(a)
|
|
, h = c.support.boxSizing && "border-box" === c.css(a, "boxSizing", !1, g);
|
|
if (0 >= f || null == f) {
|
|
f = X(a, b, g);
|
|
if (0 > f || null == f)
|
|
f = a.style[b];
|
|
if (ua.test(f))
|
|
return f;
|
|
e = h && (c.support.boxSizingReliable || f === a.style[b]);
|
|
f = parseFloat(f) || 0
|
|
}
|
|
return f + Mb(a, b, d || (h ? "border" : "content"), e, g) + "px"
|
|
}
|
|
function Kb(a) {
|
|
var b = p
|
|
, d = Ob[a];
|
|
if (!d) {
|
|
d = Pb(a, b);
|
|
if ("none" === d || !d)
|
|
oa = (oa || c("<iframe frameborder='0' width='0' height='0'/>").css("cssText", "display:block !important")).appendTo(b.documentElement),
|
|
b = (oa[0].contentWindow || oa[0].contentDocument).document,
|
|
b.write("<!doctype html><html><body>"),
|
|
b.close(),
|
|
d = Pb(a, b),
|
|
oa.detach();
|
|
Ob[a] = d
|
|
}
|
|
return d
|
|
}
|
|
function Pb(a, b) {
|
|
var d = c(b.createElement(a)).appendTo(b.body)
|
|
, e = c.css(d[0], "display");
|
|
d.remove();
|
|
return e
|
|
}
|
|
function Ta(a, b, d, e) {
|
|
var f;
|
|
if (c.isArray(b))
|
|
c.each(b, function(b, c) {
|
|
d || Lc.test(a) ? e(a, c) : Ta(a + "[" + ("object" === typeof c ? b : "") + "]", c, d, e)
|
|
});
|
|
else if (!d && "object" === c.type(b))
|
|
for (f in b)
|
|
Ta(a + "[" + f + "]", b[f], d, e);
|
|
else
|
|
e(a, b)
|
|
}
|
|
function Qb(a) {
|
|
return function(b, d) {
|
|
"string" !== typeof b && (d = b,
|
|
b = "*");
|
|
var e, f = 0, g = b.toLowerCase().match(O) || [];
|
|
if (c.isFunction(d))
|
|
for (; e = g[f++]; )
|
|
"+" === e[0] ? (e = e.slice(1) || "*",
|
|
(a[e] = a[e] || []).unshift(d)) : (a[e] = a[e] || []).push(d)
|
|
}
|
|
}
|
|
function Rb(a, b, d, e) {
|
|
function f(j) {
|
|
var k;
|
|
g[j] = !0;
|
|
c.each(a[j] || [], function(a, c) {
|
|
var j = c(b, d, e);
|
|
if ("string" === typeof j && !h && !g[j])
|
|
return b.dataTypes.unshift(j),
|
|
f(j),
|
|
!1;
|
|
if (h)
|
|
return !(k = j)
|
|
});
|
|
return k
|
|
}
|
|
var g = {}
|
|
, h = a === Ua;
|
|
return f(b.dataTypes[0]) || !g["*"] && f("*")
|
|
}
|
|
function Va(a, b) {
|
|
var d, e, f = c.ajaxSettings.flatOptions || {};
|
|
for (e in b)
|
|
b[e] !== m && ((f[e] ? a : d || (d = {}))[e] = b[e]);
|
|
d && c.extend(!0, a, d);
|
|
return a
|
|
}
|
|
function Sb() {
|
|
try {
|
|
return new r.XMLHttpRequest
|
|
} catch (a) {}
|
|
}
|
|
function Tb() {
|
|
setTimeout(function() {
|
|
ea = m
|
|
});
|
|
return ea = c.now()
|
|
}
|
|
function Ub(a, b, d) {
|
|
var e, f, g = 0, h = va.length, j = c.Deferred().always(function() {
|
|
delete k.elem
|
|
}), k = function() {
|
|
if (f)
|
|
return !1;
|
|
for (var b = ea || Tb(), b = Math.max(0, l.startTime + l.duration - b), d = 1 - (b / l.duration || 0), e = 0, c = l.tweens.length; e < c; e++)
|
|
l.tweens[e].run(d);
|
|
j.notifyWith(a, [l, d, b]);
|
|
if (1 > d && c)
|
|
return b;
|
|
j.resolveWith(a, [l]);
|
|
return !1
|
|
}, l = j.promise({
|
|
elem: a,
|
|
props: c.extend({}, b),
|
|
opts: c.extend(!0, {
|
|
specialEasing: {}
|
|
}, d),
|
|
originalProperties: b,
|
|
originalOptions: d,
|
|
startTime: ea || Tb(),
|
|
duration: d.duration,
|
|
tweens: [],
|
|
createTween: function(b, d) {
|
|
var e = c.Tween(a, l.opts, b, d, l.opts.specialEasing[b] || l.opts.easing);
|
|
l.tweens.push(e);
|
|
return e
|
|
},
|
|
stop: function(b) {
|
|
var d = 0
|
|
, e = b ? l.tweens.length : 0;
|
|
if (f)
|
|
return this;
|
|
for (f = !0; d < e; d++)
|
|
l.tweens[d].run(1);
|
|
b ? j.resolveWith(a, [l, b]) : j.rejectWith(a, [l, b]);
|
|
return this
|
|
}
|
|
});
|
|
b = l.props;
|
|
d = l.opts.specialEasing;
|
|
var q, n, C, F;
|
|
for (e in b)
|
|
if (n = c.camelCase(e),
|
|
C = d[n],
|
|
q = b[e],
|
|
c.isArray(q) && (C = q[1],
|
|
q = b[e] = q[0]),
|
|
e !== n && (b[n] = q,
|
|
delete b[e]),
|
|
(F = c.cssHooks[n]) && "expand"in F)
|
|
for (e in q = F.expand(q),
|
|
delete b[n],
|
|
q)
|
|
e in b || (b[e] = q[e],
|
|
d[e] = C);
|
|
else
|
|
d[n] = C;
|
|
for (; g < h; g++)
|
|
if (e = va[g].call(l, a, b, l.opts))
|
|
return e;
|
|
var m = l;
|
|
c.each(b, function(a, b) {
|
|
for (var d = (pa[a] || []).concat(pa["*"]), e = 0, c = d.length; e < c && !d[e].call(m, a, b); e++)
|
|
;
|
|
});
|
|
c.isFunction(l.opts.start) && l.opts.start.call(a, l);
|
|
c.fx.timer(c.extend(k, {
|
|
elem: a,
|
|
anim: l,
|
|
queue: l.opts.queue
|
|
}));
|
|
return l.progress(l.opts.progress).done(l.opts.done, l.opts.complete).fail(l.opts.fail).always(l.opts.always)
|
|
}
|
|
function D(a, b, d, e, c) {
|
|
return new D.prototype.init(a,b,d,e,c)
|
|
}
|
|
function wa(a, b) {
|
|
var d, e = {
|
|
height: a
|
|
}, c = 0;
|
|
for (b = b ? 1 : 0; 4 > c; c += 2 - b)
|
|
d = V[c],
|
|
e["margin" + d] = e["padding" + d] = a;
|
|
b && (e.opacity = e.width = a);
|
|
return e
|
|
}
|
|
function Vb(a) {
|
|
return c.isWindow(a) ? a : 9 === a.nodeType ? a.defaultView || a.parentWindow : !1
|
|
}
|
|
var xa, Wb, L = typeof m, p = r.document, Nc = r.location, Oc = r.jQuery, Pc = r.$, ya = {}, ca = [], Xb = ca.concat, Wa = ca.push, Y = ca.slice, Yb = ca.indexOf, Qc = ya.toString, qa = ya.hasOwnProperty, Xa = "1.9.1".trim, c = function(a, b) {
|
|
return new c.fn.init(a,b,Wb)
|
|
}, za = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, O = /\S+/g, Rc = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, Sc = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/, Zb = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, Tc = /^[\],:{}\s]*$/, Uc = /(?:^|:|,)(?:\s*\[)+/g, Vc = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, Wc = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g, Xc = /^-ms-/, Yc = /-([\da-z])/gi, Zc = function(a, b) {
|
|
return b.toUpperCase()
|
|
}, P = function(a) {
|
|
if (p.addEventListener || "load" === a.type || "complete" === p.readyState)
|
|
$b(),
|
|
c.ready()
|
|
}, $b = function() {
|
|
p.addEventListener ? (p.removeEventListener("DOMContentLoaded", P, !1),
|
|
r.removeEventListener("load", P, !1)) : (p.detachEvent("onreadystatechange", P),
|
|
r.detachEvent("onload", P))
|
|
};
|
|
c.fn = c.prototype = {
|
|
jquery: "1.9.1",
|
|
constructor: c,
|
|
init: function(a, b, d) {
|
|
var e;
|
|
if (!a)
|
|
return this;
|
|
if ("string" === typeof a) {
|
|
if ((e = "<" === a.charAt(0) && ">" === a.charAt(a.length - 1) && 3 <= a.length ? [null, a, null] : Sc.exec(a)) && (e[1] || !b)) {
|
|
if (e[1]) {
|
|
if (b = b instanceof c ? b[0] : b,
|
|
c.merge(this, c.parseHTML(e[1], b && b.nodeType ? b.ownerDocument || b : p, !0)),
|
|
Zb.test(e[1]) && c.isPlainObject(b))
|
|
for (e in b)
|
|
if (c.isFunction(this[e]))
|
|
this[e](b[e]);
|
|
else
|
|
this.attr(e, b[e])
|
|
} else {
|
|
if ((b = p.getElementById(e[2])) && b.parentNode) {
|
|
if (b.id !== e[2])
|
|
return d.find(a);
|
|
this.length = 1;
|
|
this[0] = b
|
|
}
|
|
this.context = p;
|
|
this.selector = a
|
|
}
|
|
return this
|
|
}
|
|
return !b || b.jquery ? (b || d).find(a) : this.constructor(b).find(a)
|
|
}
|
|
if (a.nodeType)
|
|
return this.context = this[0] = a,
|
|
this.length = 1,
|
|
this;
|
|
if (c.isFunction(a))
|
|
return d.ready(a);
|
|
a.selector !== m && (this.selector = a.selector,
|
|
this.context = a.context);
|
|
return c.makeArray(a, this)
|
|
},
|
|
selector: "",
|
|
length: 0,
|
|
size: function() {
|
|
return this.length
|
|
},
|
|
toArray: function() {
|
|
return Y.call(this)
|
|
},
|
|
get: function(a) {
|
|
return null == a ? this.toArray() : 0 > a ? this[this.length + a] : this[a]
|
|
},
|
|
pushStack: function(a) {
|
|
a = c.merge(this.constructor(), a);
|
|
a.prevObject = this;
|
|
a.context = this.context;
|
|
return a
|
|
},
|
|
each: function(a, b) {
|
|
return c.each(this, a, b)
|
|
},
|
|
ready: function(a) {
|
|
c.ready.promise().done(a);
|
|
return this
|
|
},
|
|
slice: function() {
|
|
return this.pushStack(Y.apply(this, arguments))
|
|
},
|
|
first: function() {
|
|
return this.eq(0)
|
|
},
|
|
last: function() {
|
|
return this.eq(-1)
|
|
},
|
|
eq: function(a) {
|
|
var b = this.length;
|
|
a = +a + (0 > a ? b : 0);
|
|
return this.pushStack(0 <= a && a < b ? [this[a]] : [])
|
|
},
|
|
map: function(a) {
|
|
return this.pushStack(c.map(this, function(b, d) {
|
|
return a.call(b, d, b)
|
|
}))
|
|
},
|
|
end: function() {
|
|
return this.prevObject || this.constructor(null)
|
|
},
|
|
push: Wa,
|
|
sort: [].sort,
|
|
splice: [].splice
|
|
};
|
|
c.fn.init.prototype = c.fn;
|
|
c.extend = c.fn.extend = function() {
|
|
var a, b, d, e, f, g = arguments[0] || {}, h = 1, j = arguments.length, k = !1;
|
|
"boolean" === typeof g && (k = g,
|
|
g = arguments[1] || {},
|
|
h = 2);
|
|
"object" !== typeof g && !c.isFunction(g) && (g = {});
|
|
j === h && (g = this,
|
|
--h);
|
|
for (; h < j; h++)
|
|
if (null != (f = arguments[h]))
|
|
for (e in f)
|
|
a = g[e],
|
|
d = f[e],
|
|
g !== d && (k && d && (c.isPlainObject(d) || (b = c.isArray(d))) ? (b ? (b = !1,
|
|
a = a && c.isArray(a) ? a : []) : a = a && c.isPlainObject(a) ? a : {},
|
|
g[e] = c.extend(k, a, d)) : d !== m && (g[e] = d));
|
|
return g
|
|
}
|
|
;
|
|
c.extend({
|
|
noConflict: function(a) {
|
|
r.$ === c && (r.$ = Pc);
|
|
a && r.jQuery === c && (r.jQuery = Oc);
|
|
return c
|
|
},
|
|
isReady: !1,
|
|
readyWait: 1,
|
|
holdReady: function(a) {
|
|
a ? c.readyWait++ : c.ready(!0)
|
|
},
|
|
ready: function(a) {
|
|
if (!(!0 === a ? --c.readyWait : c.isReady)) {
|
|
if (!p.body)
|
|
return setTimeout(c.ready);
|
|
c.isReady = !0;
|
|
!0 !== a && 0 < --c.readyWait || (xa.resolveWith(p, [c]),
|
|
c.fn.trigger && c(p).trigger("ready").off("ready"))
|
|
}
|
|
},
|
|
isFunction: function(a) {
|
|
return "function" === c.type(a)
|
|
},
|
|
isArray: Array.isArray || function(a) {
|
|
return "array" === c.type(a)
|
|
}
|
|
,
|
|
isWindow: function(a) {
|
|
return null != a && a == a.window
|
|
},
|
|
isNumeric: function(a) {
|
|
return !isNaN(parseFloat(a)) && isFinite(a)
|
|
},
|
|
type: function(a) {
|
|
return null == a ? String(a) : "object" === typeof a || "function" === typeof a ? ya[Qc.call(a)] || "object" : typeof a
|
|
},
|
|
isPlainObject: function(a) {
|
|
if (!a || "object" !== c.type(a) || a.nodeType || c.isWindow(a))
|
|
return !1;
|
|
try {
|
|
if (a.constructor && !qa.call(a, "constructor") && !qa.call(a.constructor.prototype, "isPrototypeOf"))
|
|
return !1
|
|
} catch (b) {
|
|
return !1
|
|
}
|
|
for (var d in a)
|
|
;
|
|
return d === m || qa.call(a, d)
|
|
},
|
|
isEmptyObject: function(a) {
|
|
for (var b in a)
|
|
return !1;
|
|
return !0
|
|
},
|
|
error: function(a) {
|
|
throw Error(a);
|
|
},
|
|
parseHTML: function(a, b, d) {
|
|
if (!a || "string" !== typeof a)
|
|
return null;
|
|
"boolean" === typeof b && (d = b,
|
|
b = !1);
|
|
b = b || p;
|
|
var e = Zb.exec(a);
|
|
d = !d && [];
|
|
if (e)
|
|
return [b.createElement(e[1])];
|
|
e = c.buildFragment([a], b, d);
|
|
d && c(d).remove();
|
|
return c.merge([], e.childNodes)
|
|
},
|
|
parseJSON: function(a) {
|
|
if (r.JSON && r.JSON.parse)
|
|
return r.JSON.parse(a);
|
|
if (null === a)
|
|
return a;
|
|
if ("string" === typeof a && (a = c.trim(a)) && Tc.test(a.replace(Vc, "@").replace(Wc, "]").replace(Uc, "")))
|
|
return (new Function("return " + a))();
|
|
c.error("Invalid JSON: " + a)
|
|
},
|
|
parseXML: function(a) {
|
|
var b, d;
|
|
if (!a || "string" !== typeof a)
|
|
return null;
|
|
try {
|
|
r.DOMParser ? (d = new DOMParser,
|
|
b = d.parseFromString(a, "text/xml")) : (b = new ActiveXObject("Microsoft.XMLDOM"),
|
|
b.async = "false",
|
|
b.loadXML(a))
|
|
} catch (e) {
|
|
b = m
|
|
}
|
|
(!b || !b.documentElement || b.getElementsByTagName("parsererror").length) && c.error("Invalid XML: " + a);
|
|
return b
|
|
},
|
|
noop: function() {},
|
|
globalEval: function(a) {
|
|
a && c.trim(a) && (r.execScript || function(a) {
|
|
r.eval.call(r, a)
|
|
}
|
|
)(a)
|
|
},
|
|
camelCase: function(a) {
|
|
return a.replace(Xc, "ms-").replace(Yc, Zc)
|
|
},
|
|
nodeName: function(a, b) {
|
|
return a.nodeName && a.nodeName.toLowerCase() === b.toLowerCase()
|
|
},
|
|
each: function(a, b, d) {
|
|
var e, c = 0, g = a.length;
|
|
e = Pa(a);
|
|
if (d)
|
|
if (e)
|
|
for (; c < g && !(e = b.apply(a[c], d),
|
|
!1 === e); c++)
|
|
;
|
|
else
|
|
for (c in a) {
|
|
if (e = b.apply(a[c], d),
|
|
!1 === e)
|
|
break
|
|
}
|
|
else if (e)
|
|
for (; c < g && !(e = b.call(a[c], c, a[c]),
|
|
!1 === e); c++)
|
|
;
|
|
else
|
|
for (c in a)
|
|
if (e = b.call(a[c], c, a[c]),
|
|
!1 === e)
|
|
break;
|
|
return a
|
|
},
|
|
trim: Xa && !Xa.call("\ufeff\u00a0") ? function(a) {
|
|
return null == a ? "" : Xa.call(a)
|
|
}
|
|
: function(a) {
|
|
return null == a ? "" : (a + "").replace(Rc, "")
|
|
}
|
|
,
|
|
makeArray: function(a, b) {
|
|
var d = b || [];
|
|
null != a && (Pa(Object(a)) ? c.merge(d, "string" === typeof a ? [a] : a) : Wa.call(d, a));
|
|
return d
|
|
},
|
|
inArray: function(a, b, d) {
|
|
var c;
|
|
if (b) {
|
|
if (Yb)
|
|
return Yb.call(b, a, d);
|
|
c = b.length;
|
|
for (d = d ? 0 > d ? Math.max(0, c + d) : d : 0; d < c; d++)
|
|
if (d in b && b[d] === a)
|
|
return d
|
|
}
|
|
return -1
|
|
},
|
|
merge: function(a, b) {
|
|
var d = b.length
|
|
, c = a.length
|
|
, f = 0;
|
|
if ("number" === typeof d)
|
|
for (; f < d; f++)
|
|
a[c++] = b[f];
|
|
else
|
|
for (; b[f] !== m; )
|
|
a[c++] = b[f++];
|
|
a.length = c;
|
|
return a
|
|
},
|
|
grep: function(a, b, d) {
|
|
var c, f = [], g = 0, h = a.length;
|
|
for (d = !!d; g < h; g++)
|
|
c = !!b(a[g], g),
|
|
d !== c && f.push(a[g]);
|
|
return f
|
|
},
|
|
map: function(a, b, d) {
|
|
var c, f = 0, g = a.length, h = [];
|
|
if (Pa(a))
|
|
for (; f < g; f++)
|
|
c = b(a[f], f, d),
|
|
null != c && (h[h.length] = c);
|
|
else
|
|
for (f in a)
|
|
c = b(a[f], f, d),
|
|
null != c && (h[h.length] = c);
|
|
return Xb.apply([], h)
|
|
},
|
|
guid: 1,
|
|
proxy: function(a, b) {
|
|
var d, e;
|
|
"string" === typeof b && (e = a[b],
|
|
b = a,
|
|
a = e);
|
|
if (!c.isFunction(a))
|
|
return m;
|
|
d = Y.call(arguments, 2);
|
|
e = function() {
|
|
return a.apply(b || this, d.concat(Y.call(arguments)))
|
|
}
|
|
;
|
|
e.guid = a.guid = a.guid || c.guid++;
|
|
return e
|
|
},
|
|
access: function(a, b, d, e, f, g, h) {
|
|
var j = 0
|
|
, k = a.length
|
|
, l = null == d;
|
|
if ("object" === c.type(d))
|
|
for (j in f = !0,
|
|
d)
|
|
c.access(a, b, j, d[j], !0, g, h);
|
|
else if (e !== m && (f = !0,
|
|
c.isFunction(e) || (h = !0),
|
|
l && (h ? (b.call(a, e),
|
|
b = null) : (l = b,
|
|
b = function(a, b, d) {
|
|
return l.call(c(a), d)
|
|
}
|
|
)),
|
|
b))
|
|
for (; j < k; j++)
|
|
b(a[j], d, h ? e : e.call(a[j], j, b(a[j], d)));
|
|
return f ? a : l ? b.call(a) : k ? b(a[0], d) : g
|
|
},
|
|
now: function() {
|
|
return (new Date).getTime()
|
|
}
|
|
});
|
|
c.ready.promise = function(a) {
|
|
if (!xa)
|
|
if (xa = c.Deferred(),
|
|
"complete" === p.readyState)
|
|
setTimeout(c.ready);
|
|
else if (p.addEventListener)
|
|
p.addEventListener("DOMContentLoaded", P, !1),
|
|
r.addEventListener("load", P, !1);
|
|
else {
|
|
p.attachEvent("onreadystatechange", P);
|
|
r.attachEvent("onload", P);
|
|
var b = !1;
|
|
try {
|
|
b = null == r.frameElement && p.documentElement
|
|
} catch (d) {}
|
|
b && b.doScroll && function f() {
|
|
if (!c.isReady) {
|
|
try {
|
|
b.doScroll("left")
|
|
} catch (a) {
|
|
return setTimeout(f, 50)
|
|
}
|
|
$b();
|
|
c.ready()
|
|
}
|
|
}()
|
|
}
|
|
return xa.promise(a)
|
|
}
|
|
;
|
|
c.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(a, b) {
|
|
ya["[object " + b + "]"] = b.toLowerCase()
|
|
});
|
|
Wb = c(p);
|
|
var ac = {};
|
|
c.Callbacks = function(a) {
|
|
var b;
|
|
if ("string" === typeof a) {
|
|
if (!(b = ac[a])) {
|
|
b = a;
|
|
var d = ac[b] = {};
|
|
c.each(b.match(O) || [], function(a, b) {
|
|
d[b] = !0
|
|
});
|
|
b = d
|
|
}
|
|
} else
|
|
b = c.extend({}, a);
|
|
a = b;
|
|
var e, f, g, h, j, k, l = [], q = !a.once && [], n = function(b) {
|
|
f = a.memory && b;
|
|
g = !0;
|
|
j = k || 0;
|
|
k = 0;
|
|
h = l.length;
|
|
for (e = !0; l && j < h; j++)
|
|
if (!1 === l[j].apply(b[0], b[1]) && a.stopOnFalse) {
|
|
f = !1;
|
|
break
|
|
}
|
|
e = !1;
|
|
l && (q ? q.length && n(q.shift()) : f ? l = [] : C.disable())
|
|
}, C = {
|
|
add: function() {
|
|
if (l) {
|
|
var b = l.length;
|
|
(function Mc(b) {
|
|
c.each(b, function(b, d) {
|
|
var e = c.type(d);
|
|
"function" === e ? (!a.unique || !C.has(d)) && l.push(d) : d && (d.length && "string" !== e) && Mc(d)
|
|
})
|
|
}
|
|
)(arguments);
|
|
e ? h = l.length : f && (k = b,
|
|
n(f))
|
|
}
|
|
return this
|
|
},
|
|
remove: function() {
|
|
l && c.each(arguments, function(a, b) {
|
|
for (var d; -1 < (d = c.inArray(b, l, d)); )
|
|
l.splice(d, 1),
|
|
e && (d <= h && h--,
|
|
d <= j && j--)
|
|
});
|
|
return this
|
|
},
|
|
has: function(a) {
|
|
return a ? -1 < c.inArray(a, l) : !(!l || !l.length)
|
|
},
|
|
empty: function() {
|
|
l = [];
|
|
return this
|
|
},
|
|
disable: function() {
|
|
l = q = f = m;
|
|
return this
|
|
},
|
|
disabled: function() {
|
|
return !l
|
|
},
|
|
lock: function() {
|
|
q = m;
|
|
f || C.disable();
|
|
return this
|
|
},
|
|
locked: function() {
|
|
return !q
|
|
},
|
|
fireWith: function(a, b) {
|
|
b = b || [];
|
|
b = [a, b.slice ? b.slice() : b];
|
|
if (l && (!g || q))
|
|
e ? q.push(b) : n(b);
|
|
return this
|
|
},
|
|
fire: function() {
|
|
C.fireWith(this, arguments);
|
|
return this
|
|
},
|
|
fired: function() {
|
|
return !!g
|
|
}
|
|
};
|
|
return C
|
|
}
|
|
;
|
|
c.extend({
|
|
Deferred: function(a) {
|
|
var b = [["resolve", "done", c.Callbacks("once memory"), "resolved"], ["reject", "fail", c.Callbacks("once memory"), "rejected"], ["notify", "progress", c.Callbacks("memory")]]
|
|
, d = "pending"
|
|
, e = {
|
|
state: function() {
|
|
return d
|
|
},
|
|
always: function() {
|
|
f.done(arguments).fail(arguments);
|
|
return this
|
|
},
|
|
then: function() {
|
|
var a = arguments;
|
|
return c.Deferred(function(d) {
|
|
c.each(b, function(b, k) {
|
|
var l = k[0]
|
|
, q = c.isFunction(a[b]) && a[b];
|
|
f[k[1]](function() {
|
|
var a = q && q.apply(this, arguments);
|
|
if (a && c.isFunction(a.promise))
|
|
a.promise().done(d.resolve).fail(d.reject).progress(d.notify);
|
|
else
|
|
d[l + "With"](this === e ? d.promise() : this, q ? [a] : arguments)
|
|
})
|
|
});
|
|
a = null
|
|
}).promise()
|
|
},
|
|
promise: function(a) {
|
|
return null != a ? c.extend(a, e) : e
|
|
}
|
|
}
|
|
, f = {};
|
|
e.pipe = e.then;
|
|
c.each(b, function(a, c) {
|
|
var j = c[2]
|
|
, k = c[3];
|
|
e[c[1]] = j.add;
|
|
k && j.add(function() {
|
|
d = k
|
|
}, b[a ^ 1][2].disable, b[2][2].lock);
|
|
f[c[0]] = function() {
|
|
f[c[0] + "With"](this === f ? e : this, arguments);
|
|
return this
|
|
}
|
|
;
|
|
f[c[0] + "With"] = j.fireWith
|
|
});
|
|
e.promise(f);
|
|
a && a.call(f, f);
|
|
return f
|
|
},
|
|
when: function(a) {
|
|
var b = 0, d = Y.call(arguments), e = d.length, f = 1 !== e || a && c.isFunction(a.promise) ? e : 0, g = 1 === f ? a : c.Deferred(), h = function(a, b, d) {
|
|
return function(c) {
|
|
b[a] = this;
|
|
d[a] = 1 < arguments.length ? Y.call(arguments) : c;
|
|
d === j ? g.notifyWith(b, d) : --f || g.resolveWith(b, d)
|
|
}
|
|
}, j, k, l;
|
|
if (1 < e) {
|
|
j = Array(e);
|
|
k = Array(e);
|
|
for (l = Array(e); b < e; b++)
|
|
d[b] && c.isFunction(d[b].promise) ? d[b].promise().done(h(b, l, d)).fail(g.reject).progress(h(b, k, j)) : --f
|
|
}
|
|
f || g.resolveWith(l, d);
|
|
return g.promise()
|
|
}
|
|
});
|
|
var $c = c, Ya;
|
|
var v, Aa, Q, E, Ba, Ca, Da, Za, bc, $a, s = p.createElement("div");
|
|
s.setAttribute("className", "t");
|
|
s.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";
|
|
Aa = s.getElementsByTagName("*");
|
|
Q = s.getElementsByTagName("a")[0];
|
|
if (!Aa || !Q || !Aa.length)
|
|
Ya = {};
|
|
else {
|
|
Ba = p.createElement("select");
|
|
Da = Ba.appendChild(p.createElement("option"));
|
|
E = s.getElementsByTagName("input")[0];
|
|
Q.style.cssText = "top:1px;float:left;opacity:.5";
|
|
v = {
|
|
getSetAttribute: "t" !== s.className,
|
|
leadingWhitespace: 3 === s.firstChild.nodeType,
|
|
tbody: !s.getElementsByTagName("tbody").length,
|
|
htmlSerialize: !!s.getElementsByTagName("link").length,
|
|
style: /top/.test(Q.getAttribute("style")),
|
|
hrefNormalized: "/a" === Q.getAttribute("href"),
|
|
opacity: /^0.5/.test(Q.style.opacity),
|
|
cssFloat: !!Q.style.cssFloat,
|
|
checkOn: !!E.value,
|
|
optSelected: Da.selected,
|
|
enctype: !!p.createElement("form").enctype,
|
|
html5Clone: "<:nav></:nav>" !== p.createElement("nav").cloneNode(!0).outerHTML,
|
|
boxModel: "CSS1Compat" === p.compatMode,
|
|
deleteExpando: !0,
|
|
noCloneEvent: !0,
|
|
inlineBlockNeedsLayout: !1,
|
|
shrinkWrapBlocks: !1,
|
|
reliableMarginRight: !0,
|
|
boxSizingReliable: !0,
|
|
pixelPosition: !1
|
|
};
|
|
E.checked = !0;
|
|
v.noCloneChecked = E.cloneNode(!0).checked;
|
|
Ba.disabled = !0;
|
|
v.optDisabled = !Da.disabled;
|
|
try {
|
|
delete s.test
|
|
} catch (Qd) {
|
|
v.deleteExpando = !1
|
|
}
|
|
E = p.createElement("input");
|
|
E.setAttribute("value", "");
|
|
v.input = "" === E.getAttribute("value");
|
|
E.value = "t";
|
|
E.setAttribute("type", "radio");
|
|
v.radioValue = "t" === E.value;
|
|
E.setAttribute("checked", "t");
|
|
E.setAttribute("name", "t");
|
|
Ca = p.createDocumentFragment();
|
|
Ca.appendChild(E);
|
|
v.appendChecked = E.checked;
|
|
v.checkClone = Ca.cloneNode(!0).cloneNode(!0).lastChild.checked;
|
|
s.attachEvent && (s.attachEvent("onclick", function() {
|
|
v.noCloneEvent = !1
|
|
}),
|
|
s.cloneNode(!0).click());
|
|
for ($a in {
|
|
submit: !0,
|
|
change: !0,
|
|
focusin: !0
|
|
})
|
|
s.setAttribute(Za = "on" + $a, "t"),
|
|
v[$a + "Bubbles"] = Za in r || !1 === s.attributes[Za].expando;
|
|
s.style.backgroundClip = "content-box";
|
|
s.cloneNode(!0).style.backgroundClip = "";
|
|
v.clearCloneStyle = "content-box" === s.style.backgroundClip;
|
|
c(function() {
|
|
var a, b, d = p.getElementsByTagName("body")[0];
|
|
d && (a = p.createElement("div"),
|
|
a.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",
|
|
d.appendChild(a).appendChild(s),
|
|
s.innerHTML = "<table><tr><td></td><td>t</td></tr></table>",
|
|
b = s.getElementsByTagName("td"),
|
|
b[0].style.cssText = "padding:0;margin:0;border:0;display:none",
|
|
bc = 0 === b[0].offsetHeight,
|
|
b[0].style.display = "",
|
|
b[1].style.display = "none",
|
|
v.reliableHiddenOffsets = bc && 0 === b[0].offsetHeight,
|
|
s.innerHTML = "",
|
|
s.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",
|
|
v.boxSizing = 4 === s.offsetWidth,
|
|
v.doesNotIncludeMarginInBodyOffset = 1 !== d.offsetTop,
|
|
r.getComputedStyle && (v.pixelPosition = "1%" !== (r.getComputedStyle(s, null) || {}).top,
|
|
v.boxSizingReliable = "4px" === (r.getComputedStyle(s, null) || {
|
|
width: "4px"
|
|
}).width,
|
|
b = s.appendChild(p.createElement("div")),
|
|
b.style.cssText = s.style.cssText = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",
|
|
b.style.marginRight = b.style.width = "0",
|
|
s.style.width = "1px",
|
|
v.reliableMarginRight = !parseFloat((r.getComputedStyle(b, null) || {}).marginRight)),
|
|
typeof s.style.zoom !== L && (s.innerHTML = "",
|
|
s.style.cssText = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;width:1px;padding:1px;display:inline;zoom:1",
|
|
v.inlineBlockNeedsLayout = 3 === s.offsetWidth,
|
|
s.style.display = "block",
|
|
s.innerHTML = "<div></div>",
|
|
s.firstChild.style.width = "5px",
|
|
v.shrinkWrapBlocks = 3 !== s.offsetWidth,
|
|
v.inlineBlockNeedsLayout && (d.style.zoom = 1)),
|
|
d.removeChild(a),
|
|
s = null)
|
|
});
|
|
Aa = Ba = Ca = Da = Q = E = null;
|
|
Ya = v
|
|
}
|
|
$c.support = Ya;
|
|
var Gc = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/
|
|
, Fc = /([A-Z])/g;
|
|
c.extend({
|
|
cache: {},
|
|
expando: "jQuery" + ("1.9.1" + Math.random()).replace(/\D/g, ""),
|
|
noData: {
|
|
embed: !0,
|
|
object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
|
|
applet: !0
|
|
},
|
|
hasData: function(a) {
|
|
a = a.nodeType ? c.cache[a[c.expando]] : a[c.expando];
|
|
return !!a && !Qa(a)
|
|
},
|
|
data: function(a, b, d) {
|
|
return xb(a, b, d)
|
|
},
|
|
removeData: function(a, b) {
|
|
return yb(a, b)
|
|
},
|
|
_data: function(a, b, d) {
|
|
return xb(a, b, d, !0)
|
|
},
|
|
_removeData: function(a, b) {
|
|
return yb(a, b, !0)
|
|
},
|
|
acceptData: function(a) {
|
|
if (a.nodeType && 1 !== a.nodeType && 9 !== a.nodeType)
|
|
return !1;
|
|
var b = a.nodeName && c.noData[a.nodeName.toLowerCase()];
|
|
return !b || !0 !== b && a.getAttribute("classid") === b
|
|
}
|
|
});
|
|
c.fn.extend({
|
|
data: function(a, b) {
|
|
var d, e, f = this[0], g = 0, h = null;
|
|
if (a === m) {
|
|
if (this.length && (h = c.data(f),
|
|
1 === f.nodeType && !c._data(f, "parsedAttrs"))) {
|
|
for (d = f.attributes; g < d.length; g++)
|
|
e = d[g].name,
|
|
e.indexOf("data-") || (e = c.camelCase(e.slice(5)),
|
|
zb(f, e, h[e]));
|
|
c._data(f, "parsedAttrs", !0)
|
|
}
|
|
return h
|
|
}
|
|
return "object" === typeof a ? this.each(function() {
|
|
c.data(this, a)
|
|
}) : c.access(this, function(b) {
|
|
if (b === m)
|
|
return f ? zb(f, a, c.data(f, a)) : null;
|
|
this.each(function() {
|
|
c.data(this, a, b)
|
|
})
|
|
}, null, b, 1 < arguments.length, null, !0)
|
|
},
|
|
removeData: function(a) {
|
|
return this.each(function() {
|
|
c.removeData(this, a)
|
|
})
|
|
}
|
|
});
|
|
c.extend({
|
|
queue: function(a, b, d) {
|
|
var e;
|
|
if (a)
|
|
return b = (b || "fx") + "queue",
|
|
e = c._data(a, b),
|
|
d && (!e || c.isArray(d) ? e = c._data(a, b, c.makeArray(d)) : e.push(d)),
|
|
e || []
|
|
},
|
|
dequeue: function(a, b) {
|
|
b = b || "fx";
|
|
var d = c.queue(a, b)
|
|
, e = d.length
|
|
, f = d.shift()
|
|
, g = c._queueHooks(a, b)
|
|
, h = function() {
|
|
c.dequeue(a, b)
|
|
};
|
|
"inprogress" === f && (f = d.shift(),
|
|
e--);
|
|
if (g.cur = f)
|
|
"fx" === b && d.unshift("inprogress"),
|
|
delete g.stop,
|
|
f.call(a, h, g);
|
|
!e && g && g.empty.fire()
|
|
},
|
|
_queueHooks: function(a, b) {
|
|
var d = b + "queueHooks";
|
|
return c._data(a, d) || c._data(a, d, {
|
|
empty: c.Callbacks("once memory").add(function() {
|
|
c._removeData(a, b + "queue");
|
|
c._removeData(a, d)
|
|
})
|
|
})
|
|
}
|
|
});
|
|
c.fn.extend({
|
|
queue: function(a, b) {
|
|
var d = 2;
|
|
"string" !== typeof a && (b = a,
|
|
a = "fx",
|
|
d--);
|
|
return arguments.length < d ? c.queue(this[0], a) : b === m ? this : this.each(function() {
|
|
var d = c.queue(this, a, b);
|
|
c._queueHooks(this, a);
|
|
"fx" === a && "inprogress" !== d[0] && c.dequeue(this, a)
|
|
})
|
|
},
|
|
dequeue: function(a) {
|
|
return this.each(function() {
|
|
c.dequeue(this, a)
|
|
})
|
|
},
|
|
delay: function(a, b) {
|
|
a = c.fx ? c.fx.speeds[a] || a : a;
|
|
return this.queue(b || "fx", function(b, c) {
|
|
var f = setTimeout(b, a);
|
|
c.stop = function() {
|
|
clearTimeout(f)
|
|
}
|
|
})
|
|
},
|
|
clearQueue: function(a) {
|
|
return this.queue(a || "fx", [])
|
|
},
|
|
promise: function(a, b) {
|
|
var d, e = 1, f = c.Deferred(), g = this, h = this.length, j = function() {
|
|
--e || f.resolveWith(g, [g])
|
|
};
|
|
"string" !== typeof a && (b = a,
|
|
a = m);
|
|
for (a = a || "fx"; h--; )
|
|
if ((d = c._data(g[h], a + "queueHooks")) && d.empty)
|
|
e++,
|
|
d.empty.add(j);
|
|
j();
|
|
return f.promise(b)
|
|
}
|
|
});
|
|
var fa, cc, ab = /[\t\r\n]/g, ad = /\r/g, bd = /^(?:input|select|textarea|button|object)$/i, cd = /^(?:a|area)$/i, dc = /^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i, bb = /^(?:checked|selected)$/i, Z = c.support.getSetAttribute, cb = c.support.input;
|
|
c.fn.extend({
|
|
attr: function(a, b) {
|
|
return c.access(this, c.attr, a, b, 1 < arguments.length)
|
|
},
|
|
removeAttr: function(a) {
|
|
return this.each(function() {
|
|
c.removeAttr(this, a)
|
|
})
|
|
},
|
|
prop: function(a, b) {
|
|
return c.access(this, c.prop, a, b, 1 < arguments.length)
|
|
},
|
|
removeProp: function(a) {
|
|
a = c.propFix[a] || a;
|
|
return this.each(function() {
|
|
try {
|
|
this[a] = m,
|
|
delete this[a]
|
|
} catch (b) {}
|
|
})
|
|
},
|
|
addClass: function(a) {
|
|
var b, d, e, f, g, h = 0, j = this.length;
|
|
b = "string" === typeof a && a;
|
|
if (c.isFunction(a))
|
|
return this.each(function(b) {
|
|
c(this).addClass(a.call(this, b, this.className))
|
|
});
|
|
if (b)
|
|
for (b = (a || "").match(O) || []; h < j; h++)
|
|
if (d = this[h],
|
|
e = 1 === d.nodeType && (d.className ? (" " + d.className + " ").replace(ab, " ") : " ")) {
|
|
for (g = 0; f = b[g++]; )
|
|
0 > e.indexOf(" " + f + " ") && (e += f + " ");
|
|
d.className = c.trim(e)
|
|
}
|
|
return this
|
|
},
|
|
removeClass: function(a) {
|
|
var b, d, e, f, g, h = 0, j = this.length;
|
|
b = 0 === arguments.length || "string" === typeof a && a;
|
|
if (c.isFunction(a))
|
|
return this.each(function(b) {
|
|
c(this).removeClass(a.call(this, b, this.className))
|
|
});
|
|
if (b)
|
|
for (b = (a || "").match(O) || []; h < j; h++)
|
|
if (d = this[h],
|
|
e = 1 === d.nodeType && (d.className ? (" " + d.className + " ").replace(ab, " ") : "")) {
|
|
for (g = 0; f = b[g++]; )
|
|
for (; 0 <= e.indexOf(" " + f + " "); )
|
|
e = e.replace(" " + f + " ", " ");
|
|
d.className = a ? c.trim(e) : ""
|
|
}
|
|
return this
|
|
},
|
|
toggleClass: function(a, b) {
|
|
var d = typeof a
|
|
, e = "boolean" === typeof b;
|
|
return c.isFunction(a) ? this.each(function(d) {
|
|
c(this).toggleClass(a.call(this, d, this.className, b), b)
|
|
}) : this.each(function() {
|
|
if ("string" === d)
|
|
for (var f, g = 0, h = c(this), j = b, k = a.match(O) || []; f = k[g++]; )
|
|
j = e ? j : !h.hasClass(f),
|
|
h[j ? "addClass" : "removeClass"](f);
|
|
else if (d === L || "boolean" === d)
|
|
this.className && c._data(this, "__className__", this.className),
|
|
this.className = this.className || !1 === a ? "" : c._data(this, "__className__") || ""
|
|
})
|
|
},
|
|
hasClass: function(a) {
|
|
a = " " + a + " ";
|
|
for (var b = 0, d = this.length; b < d; b++)
|
|
if (1 === this[b].nodeType && 0 <= (" " + this[b].className + " ").replace(ab, " ").indexOf(a))
|
|
return !0;
|
|
return !1
|
|
},
|
|
val: function(a) {
|
|
var b, d, e, f = this[0];
|
|
if (arguments.length)
|
|
return e = c.isFunction(a),
|
|
this.each(function(b) {
|
|
var f = c(this);
|
|
if (1 === this.nodeType && (b = e ? a.call(this, b, f.val()) : a,
|
|
null == b ? b = "" : "number" === typeof b ? b += "" : c.isArray(b) && (b = c.map(b, function(a) {
|
|
return null == a ? "" : a + ""
|
|
})),
|
|
d = c.valHooks[this.type] || c.valHooks[this.nodeName.toLowerCase()],
|
|
!d || !("set"in d) || d.set(this, b, "value") === m))
|
|
this.value = b
|
|
});
|
|
if (f) {
|
|
if ((d = c.valHooks[f.type] || c.valHooks[f.nodeName.toLowerCase()]) && "get"in d && (b = d.get(f, "value")) !== m)
|
|
return b;
|
|
b = f.value;
|
|
return "string" === typeof b ? b.replace(ad, "") : null == b ? "" : b
|
|
}
|
|
}
|
|
});
|
|
c.extend({
|
|
valHooks: {
|
|
option: {
|
|
get: function(a) {
|
|
var b = a.attributes.value;
|
|
return !b || b.specified ? a.value : a.text
|
|
}
|
|
},
|
|
select: {
|
|
get: function(a) {
|
|
for (var b, d = a.options, e = a.selectedIndex, f = (a = "select-one" === a.type || 0 > e) ? null : [], g = a ? e + 1 : d.length, h = 0 > e ? g : a ? e : 0; h < g; h++)
|
|
if (b = d[h],
|
|
(b.selected || h === e) && (c.support.optDisabled ? !b.disabled : null === b.getAttribute("disabled")) && (!b.parentNode.disabled || !c.nodeName(b.parentNode, "optgroup"))) {
|
|
b = c(b).val();
|
|
if (a)
|
|
return b;
|
|
f.push(b)
|
|
}
|
|
return f
|
|
},
|
|
set: function(a, b) {
|
|
var d = c.makeArray(b);
|
|
c(a).find("option").each(function() {
|
|
this.selected = 0 <= c.inArray(c(this).val(), d)
|
|
});
|
|
d.length || (a.selectedIndex = -1);
|
|
return d
|
|
}
|
|
}
|
|
},
|
|
attr: function(a, b, d) {
|
|
var e, f, g;
|
|
f = a.nodeType;
|
|
if (a && !(3 === f || 8 === f || 2 === f)) {
|
|
if (typeof a.getAttribute === L)
|
|
return c.prop(a, b, d);
|
|
if (f = 1 !== f || !c.isXMLDoc(a))
|
|
b = b.toLowerCase(),
|
|
e = c.attrHooks[b] || (dc.test(b) ? cc : fa);
|
|
if (d !== m)
|
|
if (null === d)
|
|
c.removeAttr(a, b);
|
|
else {
|
|
if (e && f && "set"in e && (g = e.set(a, d, b)) !== m)
|
|
return g;
|
|
a.setAttribute(b, d + "");
|
|
return d
|
|
}
|
|
else {
|
|
if (e && f && "get"in e && null !== (g = e.get(a, b)))
|
|
return g;
|
|
typeof a.getAttribute !== L && (g = a.getAttribute(b));
|
|
return null == g ? m : g
|
|
}
|
|
}
|
|
},
|
|
removeAttr: function(a, b) {
|
|
var d, e, f = 0, g = b && b.match(O);
|
|
if (g && 1 === a.nodeType)
|
|
for (; d = g[f++]; )
|
|
e = c.propFix[d] || d,
|
|
dc.test(d) ? !Z && bb.test(d) ? a[c.camelCase("default-" + d)] = a[e] = !1 : a[e] = !1 : c.attr(a, d, ""),
|
|
a.removeAttribute(Z ? d : e)
|
|
},
|
|
attrHooks: {
|
|
type: {
|
|
set: function(a, b) {
|
|
if (!c.support.radioValue && "radio" === b && c.nodeName(a, "input")) {
|
|
var d = a.value;
|
|
a.setAttribute("type", b);
|
|
d && (a.value = d);
|
|
return 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, b, d) {
|
|
var e, f, g;
|
|
g = a.nodeType;
|
|
if (a && !(3 === g || 8 === g || 2 === g)) {
|
|
if (g = 1 !== g || !c.isXMLDoc(a))
|
|
b = c.propFix[b] || b,
|
|
f = c.propHooks[b];
|
|
return d !== m ? f && "set"in f && (e = f.set(a, d, b)) !== m ? e : a[b] = d : f && "get"in f && null !== (e = f.get(a, b)) ? e : a[b]
|
|
}
|
|
},
|
|
propHooks: {
|
|
tabIndex: {
|
|
get: function(a) {
|
|
var b = a.getAttributeNode("tabindex");
|
|
return b && b.specified ? parseInt(b.value, 10) : bd.test(a.nodeName) || cd.test(a.nodeName) && a.href ? 0 : m
|
|
}
|
|
}
|
|
}
|
|
});
|
|
cc = {
|
|
get: function(a, b) {
|
|
var d = c.prop(a, b)
|
|
, e = "boolean" === typeof d && a.getAttribute(b);
|
|
return (d = "boolean" === typeof d ? cb && Z ? null != e : bb.test(b) ? a[c.camelCase("default-" + b)] : !!e : a.getAttributeNode(b)) && !1 !== d.value ? b.toLowerCase() : m
|
|
},
|
|
set: function(a, b, d) {
|
|
!1 === b ? c.removeAttr(a, d) : cb && Z || !bb.test(d) ? a.setAttribute(!Z && c.propFix[d] || d, d) : a[c.camelCase("default-" + d)] = a[d] = !0;
|
|
return d
|
|
}
|
|
};
|
|
if (!cb || !Z)
|
|
c.attrHooks.value = {
|
|
get: function(a, b) {
|
|
var d = a.getAttributeNode(b);
|
|
return c.nodeName(a, "input") ? a.defaultValue : d && d.specified ? d.value : m
|
|
},
|
|
set: function(a, b, d) {
|
|
if (c.nodeName(a, "input"))
|
|
a.defaultValue = b;
|
|
else
|
|
return fa && fa.set(a, b, d)
|
|
}
|
|
};
|
|
Z || (fa = c.valHooks.button = {
|
|
get: function(a, b) {
|
|
var d = a.getAttributeNode(b);
|
|
return d && ("id" === b || "name" === b || "coords" === b ? "" !== d.value : d.specified) ? d.value : m
|
|
},
|
|
set: function(a, b, d) {
|
|
var c = a.getAttributeNode(d);
|
|
c || a.setAttributeNode(c = a.ownerDocument.createAttribute(d));
|
|
c.value = b += "";
|
|
return "value" === d || b === a.getAttribute(d) ? b : m
|
|
}
|
|
},
|
|
c.attrHooks.contenteditable = {
|
|
get: fa.get,
|
|
set: function(a, b, d) {
|
|
fa.set(a, "" === b ? !1 : b, d)
|
|
}
|
|
},
|
|
c.each(["width", "height"], function(a, b) {
|
|
c.attrHooks[b] = c.extend(c.attrHooks[b], {
|
|
set: function(a, c) {
|
|
if ("" === c)
|
|
return a.setAttribute(b, "auto"),
|
|
c
|
|
}
|
|
})
|
|
}));
|
|
c.support.hrefNormalized || (c.each(["href", "src", "width", "height"], function(a, b) {
|
|
c.attrHooks[b] = c.extend(c.attrHooks[b], {
|
|
get: function(a) {
|
|
a = a.getAttribute(b, 2);
|
|
return null == a ? m : a
|
|
}
|
|
})
|
|
}),
|
|
c.each(["href", "src"], function(a, b) {
|
|
c.propHooks[b] = {
|
|
get: function(a) {
|
|
return a.getAttribute(b, 4)
|
|
}
|
|
}
|
|
}));
|
|
c.support.style || (c.attrHooks.style = {
|
|
get: function(a) {
|
|
return a.style.cssText || m
|
|
},
|
|
set: function(a, b) {
|
|
return a.style.cssText = b + ""
|
|
}
|
|
});
|
|
c.support.optSelected || (c.propHooks.selected = c.extend(c.propHooks.selected, {
|
|
get: function(a) {
|
|
if (a = a.parentNode)
|
|
a.selectedIndex,
|
|
a.parentNode && a.parentNode.selectedIndex;
|
|
return null
|
|
}
|
|
}));
|
|
c.support.enctype || (c.propFix.enctype = "encoding");
|
|
c.support.checkOn || c.each(["radio", "checkbox"], function() {
|
|
c.valHooks[this] = {
|
|
get: function(a) {
|
|
return null === a.getAttribute("value") ? "on" : a.value
|
|
}
|
|
}
|
|
});
|
|
c.each(["radio", "checkbox"], function() {
|
|
c.valHooks[this] = c.extend(c.valHooks[this], {
|
|
set: function(a, b) {
|
|
if (c.isArray(b))
|
|
return a.checked = 0 <= c.inArray(c(a).val(), b)
|
|
}
|
|
})
|
|
});
|
|
var db = /^(?:input|select|textarea)$/i
|
|
, dd = /^key/
|
|
, ed = /^(?:mouse|contextmenu)|click/
|
|
, ec = /^(?:focusinfocus|focusoutblur)$/
|
|
, fc = /^([^.]*)(?:\.(.+)|)$/;
|
|
c.event = {
|
|
global: {},
|
|
add: function(a, b, d, e, f) {
|
|
var g, h, j, k, l, q, n, C, F;
|
|
if (j = c._data(a)) {
|
|
d.handler && (k = d,
|
|
d = k.handler,
|
|
f = k.selector);
|
|
d.guid || (d.guid = c.guid++);
|
|
if (!(h = j.events))
|
|
h = j.events = {};
|
|
if (!(l = j.handle))
|
|
l = j.handle = function(a) {
|
|
return typeof c !== L && (!a || c.event.triggered !== a.type) ? c.event.dispatch.apply(l.elem, arguments) : m
|
|
}
|
|
,
|
|
l.elem = a;
|
|
b = (b || "").match(O) || [""];
|
|
for (j = b.length; j--; ) {
|
|
g = fc.exec(b[j]) || [];
|
|
C = q = g[1];
|
|
F = (g[2] || "").split(".").sort();
|
|
g = c.event.special[C] || {};
|
|
C = (f ? g.delegateType : g.bindType) || C;
|
|
g = c.event.special[C] || {};
|
|
q = c.extend({
|
|
type: C,
|
|
origType: q,
|
|
data: e,
|
|
handler: d,
|
|
guid: d.guid,
|
|
selector: f,
|
|
needsContext: f && c.expr.match.needsContext.test(f),
|
|
namespace: F.join(".")
|
|
}, k);
|
|
if (!(n = h[C]))
|
|
if (n = h[C] = [],
|
|
n.delegateCount = 0,
|
|
!g.setup || !1 === g.setup.call(a, e, F, l))
|
|
a.addEventListener ? a.addEventListener(C, l, !1) : a.attachEvent && a.attachEvent("on" + C, l);
|
|
g.add && (g.add.call(a, q),
|
|
q.handler.guid || (q.handler.guid = d.guid));
|
|
f ? n.splice(n.delegateCount++, 0, q) : n.push(q);
|
|
c.event.global[C] = !0
|
|
}
|
|
a = null
|
|
}
|
|
},
|
|
remove: function(a, b, d, e, f) {
|
|
var g, h, j, k, l, q, n, C, m, p, r, z = c.hasData(a) && c._data(a);
|
|
if (z && (q = z.events)) {
|
|
b = (b || "").match(O) || [""];
|
|
for (l = b.length; l--; )
|
|
if (j = fc.exec(b[l]) || [],
|
|
m = r = j[1],
|
|
p = (j[2] || "").split(".").sort(),
|
|
m) {
|
|
n = c.event.special[m] || {};
|
|
m = (e ? n.delegateType : n.bindType) || m;
|
|
C = q[m] || [];
|
|
j = j[2] && RegExp("(^|\\.)" + p.join("\\.(?:.*\\.|)") + "(\\.|$)");
|
|
for (k = g = C.length; g--; )
|
|
if (h = C[g],
|
|
(f || r === h.origType) && (!d || d.guid === h.guid) && (!j || j.test(h.namespace)) && (!e || e === h.selector || "**" === e && h.selector))
|
|
C.splice(g, 1),
|
|
h.selector && C.delegateCount--,
|
|
n.remove && n.remove.call(a, h);
|
|
k && !C.length && ((!n.teardown || !1 === n.teardown.call(a, p, z.handle)) && c.removeEvent(a, m, z.handle),
|
|
delete q[m])
|
|
} else
|
|
for (m in q)
|
|
c.event.remove(a, m + b[l], d, e, !0);
|
|
c.isEmptyObject(q) && (delete z.handle,
|
|
c._removeData(a, "events"))
|
|
}
|
|
},
|
|
trigger: function(a, b, d, e) {
|
|
var f, g, h, j, k, l, q = [d || p], n = qa.call(a, "type") ? a.type : a;
|
|
k = qa.call(a, "namespace") ? a.namespace.split(".") : [];
|
|
h = f = d = d || p;
|
|
if (!(3 === d.nodeType || 8 === d.nodeType) && !ec.test(n + c.event.triggered))
|
|
if (0 <= n.indexOf(".") && (k = n.split("."),
|
|
n = k.shift(),
|
|
k.sort()),
|
|
g = 0 > n.indexOf(":") && "on" + n,
|
|
a = a[c.expando] ? a : new c.Event(n,"object" === typeof a && a),
|
|
a.isTrigger = !0,
|
|
a.namespace = k.join("."),
|
|
a.namespace_re = a.namespace ? RegExp("(^|\\.)" + k.join("\\.(?:.*\\.|)") + "(\\.|$)") : null,
|
|
a.result = m,
|
|
a.target || (a.target = d),
|
|
b = null == b ? [a] : c.makeArray(b, [a]),
|
|
k = c.event.special[n] || {},
|
|
e || !(k.trigger && !1 === k.trigger.apply(d, b))) {
|
|
if (!e && !k.noBubble && !c.isWindow(d)) {
|
|
j = k.delegateType || n;
|
|
ec.test(j + n) || (h = h.parentNode);
|
|
for (; h; h = h.parentNode)
|
|
q.push(h),
|
|
f = h;
|
|
if (f === (d.ownerDocument || p))
|
|
q.push(f.defaultView || f.parentWindow || r)
|
|
}
|
|
for (l = 0; (h = q[l++]) && !a.isPropagationStopped(); )
|
|
a.type = 1 < l ? j : k.bindType || n,
|
|
(f = (c._data(h, "events") || {})[a.type] && c._data(h, "handle")) && f.apply(h, b),
|
|
(f = g && h[g]) && (c.acceptData(h) && f.apply && !1 === f.apply(h, b)) && a.preventDefault();
|
|
a.type = n;
|
|
if (!e && !a.isDefaultPrevented() && (!k._default || !1 === k._default.apply(d.ownerDocument, b)) && !("click" === n && c.nodeName(d, "a")) && c.acceptData(d) && g && d[n] && !c.isWindow(d)) {
|
|
(f = d[g]) && (d[g] = null);
|
|
c.event.triggered = n;
|
|
try {
|
|
d[n]()
|
|
} catch (C) {}
|
|
c.event.triggered = m;
|
|
f && (d[g] = f)
|
|
}
|
|
return a.result
|
|
}
|
|
},
|
|
dispatch: function(a) {
|
|
a = c.event.fix(a);
|
|
var b, d, e, f, g = [], h = Y.call(arguments);
|
|
b = (c._data(this, "events") || {})[a.type] || [];
|
|
var j = c.event.special[a.type] || {};
|
|
h[0] = a;
|
|
a.delegateTarget = this;
|
|
if (!(j.preDispatch && !1 === j.preDispatch.call(this, a))) {
|
|
g = c.event.handlers.call(this, a, b);
|
|
for (b = 0; (e = g[b++]) && !a.isPropagationStopped(); ) {
|
|
a.currentTarget = e.elem;
|
|
for (f = 0; (d = e.handlers[f++]) && !a.isImmediatePropagationStopped(); )
|
|
if (!a.namespace_re || a.namespace_re.test(d.namespace))
|
|
if (a.handleObj = d,
|
|
a.data = d.data,
|
|
d = ((c.event.special[d.origType] || {}).handle || d.handler).apply(e.elem, h),
|
|
d !== m && !1 === (a.result = d))
|
|
a.preventDefault(),
|
|
a.stopPropagation()
|
|
}
|
|
j.postDispatch && j.postDispatch.call(this, a);
|
|
return a.result
|
|
}
|
|
},
|
|
handlers: function(a, b) {
|
|
var d, e, f, g, h = [], j = b.delegateCount, k = a.target;
|
|
if (j && k.nodeType && (!a.button || "click" !== a.type))
|
|
for (; k != this; k = k.parentNode || this)
|
|
if (1 === k.nodeType && (!0 !== k.disabled || "click" !== a.type)) {
|
|
f = [];
|
|
for (g = 0; g < j; g++)
|
|
e = b[g],
|
|
d = e.selector + " ",
|
|
f[d] === m && (f[d] = e.needsContext ? 0 <= c(d, this).index(k) : c.find(d, this, null, [k]).length),
|
|
f[d] && f.push(e);
|
|
f.length && h.push({
|
|
elem: k,
|
|
handlers: f
|
|
})
|
|
}
|
|
j < b.length && h.push({
|
|
elem: this,
|
|
handlers: b.slice(j)
|
|
});
|
|
return h
|
|
},
|
|
fix: function(a) {
|
|
if (a[c.expando])
|
|
return a;
|
|
var b, d, e;
|
|
b = a.type;
|
|
var f = a
|
|
, g = this.fixHooks[b];
|
|
g || (this.fixHooks[b] = g = ed.test(b) ? this.mouseHooks : dd.test(b) ? this.keyHooks : {});
|
|
e = g.props ? this.props.concat(g.props) : this.props;
|
|
a = new c.Event(f);
|
|
for (b = e.length; b--; )
|
|
d = e[b],
|
|
a[d] = f[d];
|
|
a.target || (a.target = f.srcElement || p);
|
|
3 === a.target.nodeType && (a.target = a.target.parentNode);
|
|
a.metaKey = !!a.metaKey;
|
|
return g.filter ? g.filter(a, f) : a
|
|
},
|
|
props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
|
|
fixHooks: {},
|
|
keyHooks: {
|
|
props: ["char", "charCode", "key", "keyCode"],
|
|
filter: function(a, b) {
|
|
null == a.which && (a.which = null != b.charCode ? b.charCode : b.keyCode);
|
|
return a
|
|
}
|
|
},
|
|
mouseHooks: {
|
|
props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
|
|
filter: function(a, b) {
|
|
var d, c, f = b.button, g = b.fromElement;
|
|
null == a.pageX && null != b.clientX && (d = a.target.ownerDocument || p,
|
|
c = d.documentElement,
|
|
d = d.body,
|
|
a.pageX = b.clientX + (c && c.scrollLeft || d && d.scrollLeft || 0) - (c && c.clientLeft || d && d.clientLeft || 0),
|
|
a.pageY = b.clientY + (c && c.scrollTop || d && d.scrollTop || 0) - (c && c.clientTop || d && d.clientTop || 0));
|
|
!a.relatedTarget && g && (a.relatedTarget = g === a.target ? b.toElement : g);
|
|
!a.which && f !== m && (a.which = f & 1 ? 1 : f & 2 ? 3 : f & 4 ? 2 : 0);
|
|
return a
|
|
}
|
|
},
|
|
special: {
|
|
load: {
|
|
noBubble: !0
|
|
},
|
|
click: {
|
|
trigger: function() {
|
|
if (c.nodeName(this, "input") && "checkbox" === this.type && this.click)
|
|
return this.click(),
|
|
!1
|
|
}
|
|
},
|
|
focus: {
|
|
trigger: function() {
|
|
if (this !== p.activeElement && this.focus)
|
|
try {
|
|
return this.focus(),
|
|
!1
|
|
} catch (a) {}
|
|
},
|
|
delegateType: "focusin"
|
|
},
|
|
blur: {
|
|
trigger: function() {
|
|
if (this === p.activeElement && this.blur)
|
|
return this.blur(),
|
|
!1
|
|
},
|
|
delegateType: "focusout"
|
|
},
|
|
beforeunload: {
|
|
postDispatch: function(a) {
|
|
a.result !== m && (a.originalEvent.returnValue = a.result)
|
|
}
|
|
}
|
|
},
|
|
simulate: function(a, b, d, e) {
|
|
a = c.extend(new c.Event, d, {
|
|
type: a,
|
|
isSimulated: !0,
|
|
originalEvent: {}
|
|
});
|
|
e ? c.event.trigger(a, null, b) : c.event.dispatch.call(b, a);
|
|
a.isDefaultPrevented() && d.preventDefault()
|
|
}
|
|
};
|
|
c.removeEvent = p.removeEventListener ? function(a, b, d) {
|
|
a.removeEventListener && a.removeEventListener(b, d, !1)
|
|
}
|
|
: function(a, b, d) {
|
|
b = "on" + b;
|
|
a.detachEvent && (typeof a[b] === L && (a[b] = null),
|
|
a.detachEvent(b, d))
|
|
}
|
|
;
|
|
c.Event = function(a, b) {
|
|
if (!(this instanceof c.Event))
|
|
return new c.Event(a,b);
|
|
a && a.type ? (this.originalEvent = a,
|
|
this.type = a.type,
|
|
this.isDefaultPrevented = a.defaultPrevented || !1 === a.returnValue || a.getPreventDefault && a.getPreventDefault() ? ta : da) : this.type = a;
|
|
b && c.extend(this, b);
|
|
this.timeStamp = a && a.timeStamp || c.now();
|
|
this[c.expando] = !0
|
|
}
|
|
;
|
|
c.Event.prototype = {
|
|
isDefaultPrevented: da,
|
|
isPropagationStopped: da,
|
|
isImmediatePropagationStopped: da,
|
|
preventDefault: function() {
|
|
var a = this.originalEvent;
|
|
this.isDefaultPrevented = ta;
|
|
a && (a.preventDefault ? a.preventDefault() : a.returnValue = !1)
|
|
},
|
|
stopPropagation: function() {
|
|
var a = this.originalEvent;
|
|
this.isPropagationStopped = ta;
|
|
a && (a.stopPropagation && a.stopPropagation(),
|
|
a.cancelBubble = !0)
|
|
},
|
|
stopImmediatePropagation: function() {
|
|
this.isImmediatePropagationStopped = ta;
|
|
this.stopPropagation()
|
|
}
|
|
};
|
|
c.each({
|
|
mouseenter: "mouseover",
|
|
mouseleave: "mouseout"
|
|
}, function(a, b) {
|
|
c.event.special[a] = {
|
|
delegateType: b,
|
|
bindType: b,
|
|
handle: function(a) {
|
|
var e, f = a.relatedTarget, g = a.handleObj;
|
|
if (!f || f !== this && !c.contains(this, f))
|
|
a.type = g.origType,
|
|
e = g.handler.apply(this, arguments),
|
|
a.type = b;
|
|
return e
|
|
}
|
|
}
|
|
});
|
|
c.support.submitBubbles || (c.event.special.submit = {
|
|
setup: function() {
|
|
if (c.nodeName(this, "form"))
|
|
return !1;
|
|
c.event.add(this, "click._submit keypress._submit", function(a) {
|
|
a = a.target;
|
|
if ((a = c.nodeName(a, "input") || c.nodeName(a, "button") ? a.form : m) && !c._data(a, "submitBubbles"))
|
|
c.event.add(a, "submit._submit", function(a) {
|
|
a._submit_bubble = !0
|
|
}),
|
|
c._data(a, "submitBubbles", !0)
|
|
})
|
|
},
|
|
postDispatch: function(a) {
|
|
a._submit_bubble && (delete a._submit_bubble,
|
|
this.parentNode && !a.isTrigger && c.event.simulate("submit", this.parentNode, a, !0))
|
|
},
|
|
teardown: function() {
|
|
if (c.nodeName(this, "form"))
|
|
return !1;
|
|
c.event.remove(this, "._submit")
|
|
}
|
|
});
|
|
c.support.changeBubbles || (c.event.special.change = {
|
|
setup: function() {
|
|
if (db.test(this.nodeName)) {
|
|
if ("checkbox" === this.type || "radio" === this.type)
|
|
c.event.add(this, "propertychange._change", function(a) {
|
|
"checked" === a.originalEvent.propertyName && (this._just_changed = !0)
|
|
}),
|
|
c.event.add(this, "click._change", function(a) {
|
|
this._just_changed && !a.isTrigger && (this._just_changed = !1);
|
|
c.event.simulate("change", this, a, !0)
|
|
});
|
|
return !1
|
|
}
|
|
c.event.add(this, "beforeactivate._change", function(a) {
|
|
a = a.target;
|
|
db.test(a.nodeName) && !c._data(a, "changeBubbles") && (c.event.add(a, "change._change", function(a) {
|
|
this.parentNode && (!a.isSimulated && !a.isTrigger) && c.event.simulate("change", this.parentNode, a, !0)
|
|
}),
|
|
c._data(a, "changeBubbles", !0))
|
|
})
|
|
},
|
|
handle: function(a) {
|
|
var b = a.target;
|
|
if (this !== b || a.isSimulated || a.isTrigger || "radio" !== b.type && "checkbox" !== b.type)
|
|
return a.handleObj.handler.apply(this, arguments)
|
|
},
|
|
teardown: function() {
|
|
c.event.remove(this, "._change");
|
|
return !db.test(this.nodeName)
|
|
}
|
|
});
|
|
c.support.focusinBubbles || c.each({
|
|
focus: "focusin",
|
|
blur: "focusout"
|
|
}, function(a, b) {
|
|
var d = 0
|
|
, e = function(a) {
|
|
c.event.simulate(b, a.target, c.event.fix(a), !0)
|
|
};
|
|
c.event.special[b] = {
|
|
setup: function() {
|
|
0 === d++ && p.addEventListener(a, e, !0)
|
|
},
|
|
teardown: function() {
|
|
0 === --d && p.removeEventListener(a, e, !0)
|
|
}
|
|
}
|
|
});
|
|
c.fn.extend({
|
|
on: function(a, b, d, e, f) {
|
|
var g, h;
|
|
if ("object" === typeof a) {
|
|
"string" !== typeof b && (d = d || b,
|
|
b = m);
|
|
for (g in a)
|
|
this.on(g, b, d, a[g], f);
|
|
return this
|
|
}
|
|
null == d && null == e ? (e = b,
|
|
d = b = m) : null == e && ("string" === typeof b ? (e = d,
|
|
d = m) : (e = d,
|
|
d = b,
|
|
b = m));
|
|
if (!1 === e)
|
|
e = da;
|
|
else if (!e)
|
|
return this;
|
|
1 === f && (h = e,
|
|
e = function(a) {
|
|
c().off(a);
|
|
return h.apply(this, arguments)
|
|
}
|
|
,
|
|
e.guid = h.guid || (h.guid = c.guid++));
|
|
return this.each(function() {
|
|
c.event.add(this, a, e, d, b)
|
|
})
|
|
},
|
|
one: function(a, b, d, c) {
|
|
return this.on(a, b, d, c, 1)
|
|
},
|
|
off: function(a, b, d) {
|
|
var e;
|
|
if (a && a.preventDefault && a.handleObj)
|
|
return e = a.handleObj,
|
|
c(a.delegateTarget).off(e.namespace ? e.origType + "." + e.namespace : e.origType, e.selector, e.handler),
|
|
this;
|
|
if ("object" === typeof a) {
|
|
for (e in a)
|
|
this.off(e, b, a[e]);
|
|
return this
|
|
}
|
|
if (!1 === b || "function" === typeof b)
|
|
d = b,
|
|
b = m;
|
|
!1 === d && (d = da);
|
|
return this.each(function() {
|
|
c.event.remove(this, a, d, b)
|
|
})
|
|
},
|
|
bind: function(a, b, d) {
|
|
return this.on(a, null, b, d)
|
|
},
|
|
unbind: function(a, b) {
|
|
return this.off(a, null, b)
|
|
},
|
|
delegate: function(a, b, d, c) {
|
|
return this.on(b, a, d, c)
|
|
},
|
|
undelegate: function(a, b, d) {
|
|
return 1 === arguments.length ? this.off(a, "**") : this.off(b, a || "**", d)
|
|
},
|
|
trigger: function(a, b) {
|
|
return this.each(function() {
|
|
c.event.trigger(a, b, this)
|
|
})
|
|
},
|
|
triggerHandler: function(a, b) {
|
|
var d = this[0];
|
|
if (d)
|
|
return c.event.trigger(a, b, d, !0)
|
|
}
|
|
});
|
|
var eb = r, fb = function() {
|
|
var a, b = [];
|
|
return a = function(d, c) {
|
|
b.push(d += " ") > w.cacheLength && delete a[b.shift()];
|
|
return a[d] = c
|
|
}
|
|
}, J = function(a) {
|
|
a[t] = !0;
|
|
return a
|
|
}, R = function(a) {
|
|
var b = A.createElement("div");
|
|
try {
|
|
return a(b)
|
|
} catch (d) {
|
|
return !1
|
|
} finally {}
|
|
}, x = function(a, b, d, c) {
|
|
var f, g, h, j, k;
|
|
(b ? b.ownerDocument || b : $) !== A && ga(b);
|
|
b = b || A;
|
|
d = d || [];
|
|
if (!a || "string" !== typeof a)
|
|
return d;
|
|
if (1 !== (j = b.nodeType) && 9 !== j)
|
|
return [];
|
|
if (!I && !c) {
|
|
if (f = fd.exec(a))
|
|
if (h = f[1])
|
|
if (9 === j)
|
|
if ((g = b.getElementById(h)) && g.parentNode) {
|
|
if (g.id === h)
|
|
return d.push(g),
|
|
d
|
|
} else
|
|
return d;
|
|
else {
|
|
if (b.ownerDocument && (g = b.ownerDocument.getElementById(h)) && ra(b, g) && g.id === h)
|
|
return d.push(g),
|
|
d
|
|
}
|
|
else {
|
|
if (f[2])
|
|
return ha.apply(d, ia.call(b.getElementsByTagName(a), 0)),
|
|
d;
|
|
if ((h = f[3]) && u.getByClassName && b.getElementsByClassName)
|
|
return ha.apply(d, ia.call(b.getElementsByClassName(h), 0)),
|
|
d
|
|
}
|
|
if (u.qsa && !M.test(a)) {
|
|
f = !0;
|
|
g = t;
|
|
h = b;
|
|
k = 9 === j && a;
|
|
if (1 === j && "object" !== b.nodeName.toLowerCase()) {
|
|
j = Ea(a);
|
|
(f = b.getAttribute("id")) ? g = f.replace(gd, "\\$&") : b.setAttribute("id", g);
|
|
g = "[id='" + g + "'] ";
|
|
for (h = j.length; h--; )
|
|
j[h] = g + Fa(j[h]);
|
|
h = gb.test(a) && b.parentNode || b;
|
|
k = j.join(",")
|
|
}
|
|
if (k)
|
|
try {
|
|
return ha.apply(d, ia.call(h.querySelectorAll(k), 0)),
|
|
d
|
|
} catch (l) {} finally {
|
|
f || b.removeAttribute("id")
|
|
}
|
|
}
|
|
}
|
|
var q;
|
|
a: {
|
|
a = a.replace(Ga, "$1");
|
|
g = Ea(a);
|
|
if (!c && 1 === g.length) {
|
|
f = g[0] = g[0].slice(0);
|
|
if (2 < f.length && "ID" === (q = f[0]).type && 9 === b.nodeType && !I && w.relative[f[1].type]) {
|
|
b = w.find.ID(q.matches[0].replace(S, T), b)[0];
|
|
if (!b) {
|
|
q = d;
|
|
break a
|
|
}
|
|
a = a.slice(f.shift().value.length)
|
|
}
|
|
for (j = Ha.needsContext.test(a) ? 0 : f.length; j--; ) {
|
|
q = f[j];
|
|
if (w.relative[h = q.type])
|
|
break;
|
|
if (h = w.find[h])
|
|
if (c = h(q.matches[0].replace(S, T), gb.test(f[0].type) && b.parentNode || b)) {
|
|
f.splice(j, 1);
|
|
a = c.length && Fa(f);
|
|
if (!a) {
|
|
ha.apply(d, ia.call(c, 0));
|
|
q = d;
|
|
break a
|
|
}
|
|
break
|
|
}
|
|
}
|
|
}
|
|
hb(a, g)(c, b, I, d, gb.test(a));
|
|
q = d
|
|
}
|
|
return q
|
|
}, hc = function(a, b) {
|
|
var d = b && a
|
|
, c = d && (~b.sourceIndex || gc) - (~a.sourceIndex || gc);
|
|
if (c)
|
|
return c;
|
|
if (d)
|
|
for (; d = d.nextSibling; )
|
|
if (d === b)
|
|
return -1;
|
|
return a ? 1 : -1
|
|
}, hd = function(a) {
|
|
return function(b) {
|
|
return "input" === b.nodeName.toLowerCase() && b.type === a
|
|
}
|
|
}, id = function(a) {
|
|
return function(b) {
|
|
var d = b.nodeName.toLowerCase();
|
|
return ("input" === d || "button" === d) && b.type === a
|
|
}
|
|
}, aa = function(a) {
|
|
return J(function(b) {
|
|
b = +b;
|
|
return J(function(d, c) {
|
|
for (var f, g = a([], d.length, b), h = g.length; h--; )
|
|
if (d[f = g[h]])
|
|
d[f] = !(c[f] = d[f])
|
|
})
|
|
})
|
|
}, Ea = function(a, b) {
|
|
var d, c, f, g, h, j, k;
|
|
if (h = ic[a + " "])
|
|
return b ? 0 : h.slice(0);
|
|
h = a;
|
|
j = [];
|
|
for (k = w.preFilter; h; ) {
|
|
if (!d || (c = jd.exec(h)))
|
|
c && (h = h.slice(c[0].length) || h),
|
|
j.push(f = []);
|
|
d = !1;
|
|
if (c = kd.exec(h))
|
|
d = c.shift(),
|
|
f.push({
|
|
value: d,
|
|
type: c[0].replace(Ga, " ")
|
|
}),
|
|
h = h.slice(d.length);
|
|
for (g in w.filter)
|
|
if ((c = Ha[g].exec(h)) && (!k[g] || (c = k[g](c))))
|
|
d = c.shift(),
|
|
f.push({
|
|
value: d,
|
|
type: g,
|
|
matches: c
|
|
}),
|
|
h = h.slice(d.length);
|
|
if (!d)
|
|
break
|
|
}
|
|
return b ? h.length : h ? x.error(a) : ic(a, j).slice(0)
|
|
}, Fa = function(a) {
|
|
for (var b = 0, d = a.length, c = ""; b < d; b++)
|
|
c += a[b].value;
|
|
return c
|
|
}, ib = function(a, b, d) {
|
|
var c = b.dir
|
|
, f = d && "parentNode" === c
|
|
, g = ld++;
|
|
return b.first ? function(b, d, g) {
|
|
for (; b = b[c]; )
|
|
if (1 === b.nodeType || f)
|
|
return a(b, d, g)
|
|
}
|
|
: function(b, d, k) {
|
|
var l, q, n, m = N + " " + g;
|
|
if (k)
|
|
for (; b = b[c]; ) {
|
|
if ((1 === b.nodeType || f) && a(b, d, k))
|
|
return !0
|
|
}
|
|
else
|
|
for (; b = b[c]; )
|
|
if (1 === b.nodeType || f)
|
|
if (n = b[t] || (b[t] = {}),
|
|
(q = n[c]) && q[0] === m) {
|
|
if (!0 === (l = q[1]) || l === Ia)
|
|
return !0 === l
|
|
} else if (q = n[c] = [m],
|
|
q[1] = a(b, d, k) || Ia,
|
|
!0 === q[1])
|
|
return !0
|
|
}
|
|
}, jb = function(a) {
|
|
return 1 < a.length ? function(b, d, c) {
|
|
for (var f = a.length; f--; )
|
|
if (!a[f](b, d, c))
|
|
return !1;
|
|
return !0
|
|
}
|
|
: a[0]
|
|
}, Ja = function(a, b, d, c, f) {
|
|
for (var g, h = [], j = 0, k = a.length, l = null != b; j < k; j++)
|
|
if (g = a[j])
|
|
if (!d || d(g, c, f))
|
|
h.push(g),
|
|
l && b.push(j);
|
|
return h
|
|
}, kb = function(a, b, d, c, f, g) {
|
|
c && !c[t] && (c = kb(c));
|
|
f && !f[t] && (f = kb(f, g));
|
|
return J(function(g, j, k, l) {
|
|
var q, n, m = [], F = [], p = j.length, r;
|
|
if (!(r = g)) {
|
|
r = b || "*";
|
|
for (var z = k.nodeType ? [k] : k, s = [], w = 0, t = z.length; w < t; w++)
|
|
x(r, z[w], s);
|
|
r = s
|
|
}
|
|
r = a && (g || !b) ? Ja(r, m, a, k, l) : r;
|
|
z = d ? f || (g ? a : p || c) ? [] : j : r;
|
|
d && d(r, z, k, l);
|
|
if (c) {
|
|
q = Ja(z, F);
|
|
c(q, [], k, l);
|
|
for (k = q.length; k--; )
|
|
if (n = q[k])
|
|
z[F[k]] = !(r[F[k]] = n)
|
|
}
|
|
if (g) {
|
|
if (f || a) {
|
|
if (f) {
|
|
q = [];
|
|
for (k = z.length; k--; )
|
|
if (n = z[k])
|
|
q.push(r[k] = n);
|
|
f(null, z = [], q, l)
|
|
}
|
|
for (k = z.length; k--; )
|
|
if ((n = z[k]) && -1 < (q = f ? lb.call(g, n) : m[k]))
|
|
g[q] = !(j[q] = n)
|
|
}
|
|
} else
|
|
z = Ja(z === j ? z.splice(p, z.length) : z),
|
|
f ? f(null, j, z, l) : ha.apply(j, z)
|
|
})
|
|
}, mb = function(a) {
|
|
var b, d, c, f = a.length, g = w.relative[a[0].type];
|
|
d = g || w.relative[" "];
|
|
for (var h = g ? 1 : 0, j = ib(function(a) {
|
|
return a === b
|
|
}, d, !0), k = ib(function(a) {
|
|
return -1 < lb.call(b, a)
|
|
}, d, !0), l = [function(a, d, c) {
|
|
return !g && (c || d !== Ka) || ((b = d).nodeType ? j(a, d, c) : k(a, d, c))
|
|
}
|
|
]; h < f; h++)
|
|
if (d = w.relative[a[h].type])
|
|
l = [ib(jb(l), d)];
|
|
else {
|
|
d = w.filter[a[h].type].apply(null, a[h].matches);
|
|
if (d[t]) {
|
|
for (c = ++h; c < f && !w.relative[a[c].type]; c++)
|
|
;
|
|
return kb(1 < h && jb(l), 1 < h && Fa(a.slice(0, h - 1)).replace(Ga, "$1"), d, h < c && mb(a.slice(h, c)), c < f && mb(a = a.slice(c)), c < f && Fa(a))
|
|
}
|
|
l.push(d)
|
|
}
|
|
return jb(l)
|
|
}, jc = function() {}, ja, Ia, w, La, kc, hb, ka, Ka, ga, A, H, I, M, la, Ma, ra, nb, t = "sizzle" + -new Date, $ = eb.document, u = {}, N = 0, ld = 0, lc = fb(), ic = fb(), mc = fb(), gc = -2147483648, Na = [], md = Na.pop, ha = Na.push, ia = Na.slice, lb = Na.indexOf || function(a) {
|
|
for (var b = 0, d = this.length; b < d; b++)
|
|
if (this[b] === a)
|
|
return b;
|
|
return -1
|
|
}
|
|
, nc = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+".replace("w", "w#"), oc = "\\[[\\x20\\t\\r\\n\\f]*((?:\\\\.|[\\w-]|[^\\x00-\\xa0])+)[\\x20\\t\\r\\n\\f]*(?:([*^$|!~]?=)[\\x20\\t\\r\\n\\f]*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + nc + ")|)|)[\\x20\\t\\r\\n\\f]*\\]", ob = ":((?:\\\\.|[\\w-]|[^\\x00-\\xa0])+)(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + oc.replace(3, 8) + ")*)|.*)\\)|)", Ga = RegExp("^[\\x20\\t\\r\\n\\f]+|((?:^|[^\\\\])(?:\\\\.)*)[\\x20\\t\\r\\n\\f]+$", "g"), jd = /^[\x20\t\r\n\f]*,[\x20\t\r\n\f]*/, kd = /^[\x20\t\r\n\f]*([\x20\t\r\n\f>+~])[\x20\t\r\n\f]*/, nd = RegExp(ob), od = RegExp("^" + nc + "$"), Ha = {
|
|
ID: /^#((?:\\.|[\w-]|[^\x00-\xa0])+)/,
|
|
CLASS: /^\.((?:\\.|[\w-]|[^\x00-\xa0])+)/,
|
|
NAME: /^\[name=['"]?((?:\\.|[\w-]|[^\x00-\xa0])+)['"]?\]/,
|
|
TAG: RegExp("^(" + "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+".replace("w", "w*") + ")"),
|
|
ATTR: RegExp("^" + oc),
|
|
PSEUDO: RegExp("^" + ob),
|
|
CHILD: RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\([\\x20\\t\\r\\n\\f]*(even|odd|(([+-]|)(\\d*)n|)[\\x20\\t\\r\\n\\f]*(?:([+-]|)[\\x20\\t\\r\\n\\f]*(\\d+)|))[\\x20\\t\\r\\n\\f]*\\)|)", "i"),
|
|
needsContext: RegExp("^[\\x20\\t\\r\\n\\f]*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\([\\x20\\t\\r\\n\\f]*((?:-\\d)?\\d*)[\\x20\\t\\r\\n\\f]*\\)|)(?=[^-]|$)", "i")
|
|
}, gb = /[\x20\t\r\n\f]*[+~]/, pb = /^[^{]+\{\s*\[native code/, fd = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, pd = /^(?:input|select|textarea|button)$/i, qd = /^h\d$/i, gd = /'|\\/g, rd = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, S = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g, T = function(a, b) {
|
|
var d = "0x" + b - 65536;
|
|
return d !== d ? b : 0 > d ? String.fromCharCode(d + 65536) : String.fromCharCode(d >> 10 | 55296, d & 1023 | 56320)
|
|
};
|
|
try {
|
|
ia.call($.documentElement.childNodes, 0)[0].nodeType
|
|
} catch (Rd) {
|
|
ia = function(a) {
|
|
for (var b, d = []; b = this[a++]; )
|
|
d.push(b);
|
|
return d
|
|
}
|
|
}
|
|
kc = x.isXML = function(a) {
|
|
return (a = a && (a.ownerDocument || a).documentElement) ? "HTML" !== a.nodeName : !1
|
|
}
|
|
;
|
|
ga = x.setDocument = function(a) {
|
|
var b = a ? a.ownerDocument || a : $;
|
|
if (b === A || 9 !== b.nodeType || !b.documentElement)
|
|
return A;
|
|
A = b;
|
|
H = b.documentElement;
|
|
I = kc(b);
|
|
u.tagNameNoComments = R(function(a) {
|
|
a.appendChild(b.createComment(""));
|
|
return !a.getElementsByTagName("*").length
|
|
});
|
|
u.attributes = R(function(a) {
|
|
a.innerHTML = "<select></select>";
|
|
a = typeof a.lastChild.getAttribute("multiple");
|
|
return "boolean" !== a && "string" !== a
|
|
});
|
|
u.getByClassName = R(function(a) {
|
|
a.innerHTML = "<div class='hidden e'></div><div class='hidden'></div>";
|
|
if (!a.getElementsByClassName || !a.getElementsByClassName("e").length)
|
|
return !1;
|
|
a.lastChild.className = "e";
|
|
return 2 === a.getElementsByClassName("e").length
|
|
});
|
|
u.getByName = R(function(a) {
|
|
a.id = t + 0;
|
|
a.innerHTML = "<a name='" + t + "'></a><div name='" + t + "'></div>";
|
|
H.insertBefore(a, H.firstChild);
|
|
var d = b.getElementsByName && b.getElementsByName(t).length === 2 + b.getElementsByName(t + 0).length;
|
|
u.getIdNotName = !b.getElementById(t);
|
|
H.removeChild(a);
|
|
return d
|
|
});
|
|
w.attrHandle = R(function(a) {
|
|
a.innerHTML = "<a href='#'></a>";
|
|
return a.firstChild && "undefined" !== typeof a.firstChild.getAttribute && "#" === a.firstChild.getAttribute("href")
|
|
}) ? {} : {
|
|
href: function(a) {
|
|
return a.getAttribute("href", 2)
|
|
},
|
|
type: function(a) {
|
|
return a.getAttribute("type")
|
|
}
|
|
};
|
|
u.getIdNotName ? (w.find.ID = function(a, b) {
|
|
if ("undefined" !== typeof b.getElementById && !I) {
|
|
var d = b.getElementById(a);
|
|
return d && d.parentNode ? [d] : []
|
|
}
|
|
}
|
|
,
|
|
w.filter.ID = function(a) {
|
|
var b = a.replace(S, T);
|
|
return function(a) {
|
|
return a.getAttribute("id") === b
|
|
}
|
|
}
|
|
) : (w.find.ID = function(a, b) {
|
|
if ("undefined" !== typeof b.getElementById && !I) {
|
|
var d = b.getElementById(a);
|
|
return d ? d.id === a || "undefined" !== typeof d.getAttributeNode && d.getAttributeNode("id").value === a ? [d] : void 0 : []
|
|
}
|
|
}
|
|
,
|
|
w.filter.ID = function(a) {
|
|
var b = a.replace(S, T);
|
|
return function(a) {
|
|
return (a = "undefined" !== typeof a.getAttributeNode && a.getAttributeNode("id")) && a.value === b
|
|
}
|
|
}
|
|
);
|
|
w.find.TAG = u.tagNameNoComments ? function(a, b) {
|
|
if ("undefined" !== typeof b.getElementsByTagName)
|
|
return b.getElementsByTagName(a)
|
|
}
|
|
: function(a, b) {
|
|
var d, c = [], j = 0, k = b.getElementsByTagName(a);
|
|
if ("*" === a) {
|
|
for (; d = k[j++]; )
|
|
1 === d.nodeType && c.push(d);
|
|
return c
|
|
}
|
|
return k
|
|
}
|
|
;
|
|
w.find.NAME = u.getByName && function(a, b) {
|
|
if ("undefined" !== typeof b.getElementsByName)
|
|
return b.getElementsByName(name)
|
|
}
|
|
;
|
|
w.find.CLASS = u.getByClassName && function(a, b) {
|
|
if ("undefined" !== typeof b.getElementsByClassName && !I)
|
|
return b.getElementsByClassName(a)
|
|
}
|
|
;
|
|
la = [];
|
|
M = [":focus"];
|
|
if (u.qsa = pb.test(b.querySelectorAll + ""))
|
|
R(function(a) {
|
|
a.innerHTML = "<select><option selected=''></option></select>";
|
|
a.querySelectorAll("[selected]").length || M.push("\\[[\\x20\\t\\r\\n\\f]*(?:checked|disabled|ismap|multiple|readonly|selected|value)");
|
|
a.querySelectorAll(":checked").length || M.push(":checked")
|
|
}),
|
|
R(function(a) {
|
|
a.innerHTML = "<input type='hidden' i=''/>";
|
|
a.querySelectorAll("[i^='']").length && M.push("[*^$]=[\\x20\\t\\r\\n\\f]*(?:\"\"|'')");
|
|
a.querySelectorAll(":enabled").length || M.push(":enabled", ":disabled");
|
|
a.querySelectorAll("*,:x");
|
|
M.push(",.*:")
|
|
});
|
|
a = u;
|
|
var d;
|
|
d = Ma = H.matchesSelector || H.mozMatchesSelector || H.webkitMatchesSelector || H.oMatchesSelector || H.msMatchesSelector;
|
|
d = pb.test(d + "");
|
|
(a.matchesSelector = d) && R(function(a) {
|
|
u.disconnectedMatch = Ma.call(a, "div");
|
|
Ma.call(a, "[s!='']:x");
|
|
la.push("!=", ob)
|
|
});
|
|
M = RegExp(M.join("|"));
|
|
la = RegExp(la.join("|"));
|
|
ra = pb.test(H.contains + "") || H.compareDocumentPosition ? function(a, b) {
|
|
var d = 9 === a.nodeType ? a.documentElement : a
|
|
, c = b && b.parentNode;
|
|
return a === c || !(!c || !(1 === c.nodeType && (d.contains ? d.contains(c) : a.compareDocumentPosition && a.compareDocumentPosition(c) & 16)))
|
|
}
|
|
: function(a, b) {
|
|
if (b)
|
|
for (; b = b.parentNode; )
|
|
if (b === a)
|
|
return !0;
|
|
return !1
|
|
}
|
|
;
|
|
nb = H.compareDocumentPosition ? function(a, d) {
|
|
var c;
|
|
return a === d ? (ka = !0,
|
|
0) : (c = d.compareDocumentPosition && a.compareDocumentPosition && a.compareDocumentPosition(d)) ? c & 1 || a.parentNode && 11 === a.parentNode.nodeType ? a === b || ra($, a) ? -1 : d === b || ra($, d) ? 1 : 0 : c & 4 ? -1 : 1 : a.compareDocumentPosition ? -1 : 1
|
|
}
|
|
: function(a, d) {
|
|
var c, h = 0;
|
|
c = a.parentNode;
|
|
var j = d.parentNode
|
|
, k = [a]
|
|
, l = [d];
|
|
if (a === d)
|
|
return ka = !0,
|
|
0;
|
|
if (!c || !j)
|
|
return a === b ? -1 : d === b ? 1 : c ? -1 : j ? 1 : 0;
|
|
if (c === j)
|
|
return hc(a, d);
|
|
for (c = a; c = c.parentNode; )
|
|
k.unshift(c);
|
|
for (c = d; c = c.parentNode; )
|
|
l.unshift(c);
|
|
for (; k[h] === l[h]; )
|
|
h++;
|
|
return h ? hc(k[h], l[h]) : k[h] === $ ? -1 : l[h] === $ ? 1 : 0
|
|
}
|
|
;
|
|
ka = !1;
|
|
[0, 0].sort(nb);
|
|
u.detectDuplicates = ka;
|
|
return A
|
|
}
|
|
;
|
|
x.matches = function(a, b) {
|
|
return x(a, null, null, b)
|
|
}
|
|
;
|
|
x.matchesSelector = function(a, b) {
|
|
(a.ownerDocument || a) !== A && ga(a);
|
|
b = b.replace(rd, "='$1']");
|
|
if (u.matchesSelector && !I && (!la || !la.test(b)) && !M.test(b))
|
|
try {
|
|
var d = Ma.call(a, b);
|
|
if (d || u.disconnectedMatch || a.document && 11 !== a.document.nodeType)
|
|
return d
|
|
} catch (c) {}
|
|
return 0 < x(b, A, null, [a]).length
|
|
}
|
|
;
|
|
x.contains = function(a, b) {
|
|
(a.ownerDocument || a) !== A && ga(a);
|
|
return ra(a, b)
|
|
}
|
|
;
|
|
x.attr = function(a, b) {
|
|
var d;
|
|
(a.ownerDocument || a) !== A && ga(a);
|
|
I || (b = b.toLowerCase());
|
|
return (d = w.attrHandle[b]) ? d(a) : I || u.attributes ? a.getAttribute(b) : ((d = a.getAttributeNode(b)) || a.getAttribute(b)) && !0 === a[b] ? b : d && d.specified ? d.value : null
|
|
}
|
|
;
|
|
x.error = function(a) {
|
|
throw Error("Syntax error, unrecognized expression: " + a);
|
|
}
|
|
;
|
|
x.uniqueSort = function(a) {
|
|
var b, d = [], c = 1, f = 0;
|
|
ka = !u.detectDuplicates;
|
|
a.sort(nb);
|
|
if (ka) {
|
|
for (; b = a[c]; c++)
|
|
b === a[c - 1] && (f = d.push(c));
|
|
for (; f--; )
|
|
a.splice(d[f], 1)
|
|
}
|
|
return a
|
|
}
|
|
;
|
|
La = x.getText = function(a) {
|
|
var b, d = "", c = 0;
|
|
if (b = a.nodeType)
|
|
if (1 === b || 9 === b || 11 === b) {
|
|
if ("string" === typeof a.textContent)
|
|
return a.textContent;
|
|
for (a = a.firstChild; a; a = a.nextSibling)
|
|
d += La(a)
|
|
} else {
|
|
if (3 === b || 4 === b)
|
|
return a.nodeValue
|
|
}
|
|
else
|
|
for (; b = a[c]; c++)
|
|
d += La(b);
|
|
return d
|
|
}
|
|
;
|
|
w = x.selectors = {
|
|
cacheLength: 50,
|
|
createPseudo: J,
|
|
match: Ha,
|
|
find: {},
|
|
relative: {
|
|
">": {
|
|
dir: "parentNode",
|
|
first: !0
|
|
},
|
|
" ": {
|
|
dir: "parentNode"
|
|
},
|
|
"+": {
|
|
dir: "previousSibling",
|
|
first: !0
|
|
},
|
|
"~": {
|
|
dir: "previousSibling"
|
|
}
|
|
},
|
|
preFilter: {
|
|
ATTR: function(a) {
|
|
a[1] = a[1].replace(S, T);
|
|
a[3] = (a[4] || a[5] || "").replace(S, T);
|
|
"~=" === a[2] && (a[3] = " " + a[3] + " ");
|
|
return a.slice(0, 4)
|
|
},
|
|
CHILD: function(a) {
|
|
a[1] = a[1].toLowerCase();
|
|
"nth" === a[1].slice(0, 3) ? (a[3] || x.error(a[0]),
|
|
a[4] = +(a[4] ? a[5] + (a[6] || 1) : 2 * ("even" === a[3] || "odd" === a[3])),
|
|
a[5] = +(a[7] + a[8] || "odd" === a[3])) : a[3] && x.error(a[0]);
|
|
return a
|
|
},
|
|
PSEUDO: function(a) {
|
|
var b, d = !a[5] && a[2];
|
|
if (Ha.CHILD.test(a[0]))
|
|
return null;
|
|
if (a[4])
|
|
a[2] = a[4];
|
|
else if (d && nd.test(d) && (b = Ea(d, !0)) && (b = d.indexOf(")", d.length - b) - d.length))
|
|
a[0] = a[0].slice(0, b),
|
|
a[2] = d.slice(0, b);
|
|
return a.slice(0, 3)
|
|
}
|
|
},
|
|
filter: {
|
|
TAG: function(a) {
|
|
if ("*" === a)
|
|
return function() {
|
|
return !0
|
|
}
|
|
;
|
|
a = a.replace(S, T).toLowerCase();
|
|
return function(b) {
|
|
return b.nodeName && b.nodeName.toLowerCase() === a
|
|
}
|
|
},
|
|
CLASS: function(a) {
|
|
var b = lc[a + " "];
|
|
return b || (b = RegExp("(^|[\\x20\\t\\r\\n\\f])" + a + "([\\x20\\t\\r\\n\\f]|$)")) && lc(a, function(a) {
|
|
return b.test(a.className || "undefined" !== typeof a.getAttribute && a.getAttribute("class") || "")
|
|
})
|
|
},
|
|
ATTR: function(a, b, d) {
|
|
return function(c) {
|
|
c = x.attr(c, a);
|
|
if (null == c)
|
|
return "!=" === b;
|
|
if (!b)
|
|
return !0;
|
|
c += "";
|
|
return "=" === b ? c === d : "!=" === b ? c !== d : "^=" === b ? d && 0 === c.indexOf(d) : "*=" === b ? d && -1 < c.indexOf(d) : "$=" === b ? d && c.slice(-d.length) === d : "~=" === b ? -1 < (" " + c + " ").indexOf(d) : "|=" === b ? c === d || c.slice(0, d.length + 1) === d + "-" : !1
|
|
}
|
|
},
|
|
CHILD: function(a, b, d, c, f) {
|
|
var g = "nth" !== a.slice(0, 3)
|
|
, h = "last" !== a.slice(-4)
|
|
, j = "of-type" === b;
|
|
return 1 === c && 0 === f ? function(a) {
|
|
return !!a.parentNode
|
|
}
|
|
: function(b, d, q) {
|
|
var n, m, F, p, r;
|
|
d = g !== h ? "nextSibling" : "previousSibling";
|
|
var z = b.parentNode
|
|
, s = j && b.nodeName.toLowerCase();
|
|
q = !q && !j;
|
|
if (z) {
|
|
if (g) {
|
|
for (; d; ) {
|
|
for (m = b; m = m[d]; )
|
|
if (j ? m.nodeName.toLowerCase() === s : 1 === m.nodeType)
|
|
return !1;
|
|
r = d = "only" === a && !r && "nextSibling"
|
|
}
|
|
return !0
|
|
}
|
|
r = [h ? z.firstChild : z.lastChild];
|
|
if (h && q) {
|
|
q = z[t] || (z[t] = {});
|
|
n = q[a] || [];
|
|
p = n[0] === N && n[1];
|
|
F = n[0] === N && n[2];
|
|
for (m = p && z.childNodes[p]; m = ++p && m && m[d] || (F = p = 0) || r.pop(); )
|
|
if (1 === m.nodeType && ++F && m === b) {
|
|
q[a] = [N, p, F];
|
|
break
|
|
}
|
|
} else if (q && (n = (b[t] || (b[t] = {}))[a]) && n[0] === N)
|
|
F = n[1];
|
|
else
|
|
for (; m = ++p && m && m[d] || (F = p = 0) || r.pop(); )
|
|
if ((j ? m.nodeName.toLowerCase() === s : 1 === m.nodeType) && ++F)
|
|
if (q && ((m[t] || (m[t] = {}))[a] = [N, F]),
|
|
m === b)
|
|
break;
|
|
F -= f;
|
|
return F === c || 0 === F % c && 0 <= F / c
|
|
}
|
|
}
|
|
},
|
|
PSEUDO: function(a, b) {
|
|
var d, c = w.pseudos[a] || w.setFilters[a.toLowerCase()] || x.error("unsupported pseudo: " + a);
|
|
return c[t] ? c(b) : 1 < c.length ? (d = [a, a, "", b],
|
|
w.setFilters.hasOwnProperty(a.toLowerCase()) ? J(function(a, d) {
|
|
for (var h, j = c(a, b), k = j.length; k--; )
|
|
h = lb.call(a, j[k]),
|
|
a[h] = !(d[h] = j[k])
|
|
}) : function(a) {
|
|
return c(a, 0, d)
|
|
}
|
|
) : c
|
|
}
|
|
},
|
|
pseudos: {
|
|
not: J(function(a) {
|
|
var b = []
|
|
, d = []
|
|
, c = hb(a.replace(Ga, "$1"));
|
|
return c[t] ? J(function(a, b, d, j) {
|
|
j = c(a, null, j, []);
|
|
for (var k = a.length; k--; )
|
|
if (d = j[k])
|
|
a[k] = !(b[k] = d)
|
|
}) : function(a, g, h) {
|
|
b[0] = a;
|
|
c(b, null, h, d);
|
|
return !d.pop()
|
|
}
|
|
}),
|
|
has: J(function(a) {
|
|
return function(b) {
|
|
return 0 < x(a, b).length
|
|
}
|
|
}),
|
|
contains: J(function(a) {
|
|
return function(b) {
|
|
return -1 < (b.textContent || b.innerText || La(b)).indexOf(a)
|
|
}
|
|
}),
|
|
lang: J(function(a) {
|
|
od.test(a || "") || x.error("unsupported lang: " + a);
|
|
a = a.replace(S, T).toLowerCase();
|
|
return function(b) {
|
|
var d;
|
|
do
|
|
if (d = I ? b.getAttribute("xml:lang") || b.getAttribute("lang") : b.lang)
|
|
return d = d.toLowerCase(),
|
|
d === a || 0 === d.indexOf(a + "-");
|
|
while ((b = b.parentNode) && 1 === b.nodeType);
|
|
return !1
|
|
}
|
|
}),
|
|
target: function(a) {
|
|
var b = eb.location && eb.location.hash;
|
|
return b && b.slice(1) === a.id
|
|
},
|
|
root: function(a) {
|
|
return a === H
|
|
},
|
|
focus: function(a) {
|
|
return a === A.activeElement && (!A.hasFocus || A.hasFocus()) && !(!a.type && !a.href && !~a.tabIndex)
|
|
},
|
|
enabled: function(a) {
|
|
return !1 === a.disabled
|
|
},
|
|
disabled: function(a) {
|
|
return !0 === a.disabled
|
|
},
|
|
checked: function(a) {
|
|
var b = a.nodeName.toLowerCase();
|
|
return "input" === b && !!a.checked || "option" === b && !!a.selected
|
|
},
|
|
selected: function(a) {
|
|
a.parentNode && a.parentNode.selectedIndex;
|
|
return !0 === a.selected
|
|
},
|
|
empty: function(a) {
|
|
for (a = a.firstChild; a; a = a.nextSibling)
|
|
if ("@" < a.nodeName || 3 === a.nodeType || 4 === a.nodeType)
|
|
return !1;
|
|
return !0
|
|
},
|
|
parent: function(a) {
|
|
return !w.pseudos.empty(a)
|
|
},
|
|
header: function(a) {
|
|
return qd.test(a.nodeName)
|
|
},
|
|
input: function(a) {
|
|
return pd.test(a.nodeName)
|
|
},
|
|
button: function(a) {
|
|
var b = a.nodeName.toLowerCase();
|
|
return "input" === b && "button" === a.type || "button" === b
|
|
},
|
|
text: function(a) {
|
|
var b;
|
|
return "input" === a.nodeName.toLowerCase() && "text" === a.type && (null == (b = a.getAttribute("type")) || b.toLowerCase() === a.type)
|
|
},
|
|
first: aa(function() {
|
|
return [0]
|
|
}),
|
|
last: aa(function(a, b) {
|
|
return [b - 1]
|
|
}),
|
|
eq: aa(function(a, b, d) {
|
|
return [0 > d ? d + b : d]
|
|
}),
|
|
even: aa(function(a, b) {
|
|
for (var d = 0; d < b; d += 2)
|
|
a.push(d);
|
|
return a
|
|
}),
|
|
odd: aa(function(a, b) {
|
|
for (var d = 1; d < b; d += 2)
|
|
a.push(d);
|
|
return a
|
|
}),
|
|
lt: aa(function(a, b, d) {
|
|
for (b = 0 > d ? d + b : d; 0 <= --b; )
|
|
a.push(b);
|
|
return a
|
|
}),
|
|
gt: aa(function(a, b, d) {
|
|
for (d = 0 > d ? d + b : d; ++d < b; )
|
|
a.push(d);
|
|
return a
|
|
})
|
|
}
|
|
};
|
|
for (ja in {
|
|
radio: !0,
|
|
checkbox: !0,
|
|
file: !0,
|
|
password: !0,
|
|
image: !0
|
|
})
|
|
w.pseudos[ja] = hd(ja);
|
|
for (ja in {
|
|
submit: !0,
|
|
reset: !0
|
|
})
|
|
w.pseudos[ja] = id(ja);
|
|
hb = x.compile = function(a, b) {
|
|
var d, c = [], f = [], g = mc[a + " "];
|
|
if (!g) {
|
|
b || (b = Ea(a));
|
|
for (d = b.length; d--; )
|
|
g = mb(b[d]),
|
|
g[t] ? c.push(g) : f.push(g);
|
|
var h = 0
|
|
, j = 0 < c.length
|
|
, k = 0 < f.length;
|
|
d = function(a, b, d, g, m) {
|
|
var p, r, s = [], t = 0, v = "0", u = a && [], B = null != m, y = Ka, E = a || k && w.find.TAG("*", m && b.parentNode || b), pc = N += null == y ? 1 : Math.random() || 0.1;
|
|
B && (Ka = b !== A && b,
|
|
Ia = h);
|
|
for (; null != (m = E[v]); v++) {
|
|
if (k && m) {
|
|
for (p = 0; r = f[p++]; )
|
|
if (r(m, b, d)) {
|
|
g.push(m);
|
|
break
|
|
}
|
|
B && (N = pc,
|
|
Ia = ++h)
|
|
}
|
|
j && ((m = !r && m) && t--,
|
|
a && u.push(m))
|
|
}
|
|
t += v;
|
|
if (j && v !== t) {
|
|
for (p = 0; r = c[p++]; )
|
|
r(u, s, b, d);
|
|
if (a) {
|
|
if (0 < t)
|
|
for (; v--; )
|
|
!u[v] && !s[v] && (s[v] = md.call(g));
|
|
s = Ja(s)
|
|
}
|
|
ha.apply(g, s);
|
|
B && (!a && 0 < s.length && 1 < t + c.length) && x.uniqueSort(g)
|
|
}
|
|
B && (N = pc,
|
|
Ka = y);
|
|
return u
|
|
}
|
|
;
|
|
d = j ? J(d) : d;
|
|
g = mc(a, d)
|
|
}
|
|
return g
|
|
}
|
|
;
|
|
w.pseudos.nth = w.pseudos.eq;
|
|
w.filters = jc.prototype = w.pseudos;
|
|
w.setFilters = new jc;
|
|
ga();
|
|
x.attr = c.attr;
|
|
c.find = x;
|
|
c.expr = x.selectors;
|
|
c.expr[":"] = c.expr.pseudos;
|
|
c.unique = x.uniqueSort;
|
|
c.text = x.getText;
|
|
c.isXMLDoc = x.isXML;
|
|
c.contains = x.contains;
|
|
var sd = /Until$/
|
|
, td = /^(?:parents|prev(?:Until|All))/
|
|
, Hc = /^.[^:#\[\.,]*$/
|
|
, qc = c.expr.match.needsContext
|
|
, ud = {
|
|
children: !0,
|
|
contents: !0,
|
|
next: !0,
|
|
prev: !0
|
|
};
|
|
c.fn.extend({
|
|
find: function(a) {
|
|
var b, d, e, f = this.length;
|
|
if ("string" !== typeof a)
|
|
return e = this,
|
|
this.pushStack(c(a).filter(function() {
|
|
for (b = 0; b < f; b++)
|
|
if (c.contains(e[b], this))
|
|
return !0
|
|
}));
|
|
d = [];
|
|
for (b = 0; b < f; b++)
|
|
c.find(a, this[b], d);
|
|
d = this.pushStack(1 < f ? c.unique(d) : d);
|
|
d.selector = (this.selector ? this.selector + " " : "") + a;
|
|
return d
|
|
},
|
|
has: function(a) {
|
|
var b, d = c(a, this), e = d.length;
|
|
return this.filter(function() {
|
|
for (b = 0; b < e; b++)
|
|
if (c.contains(this, d[b]))
|
|
return !0
|
|
})
|
|
},
|
|
not: function(a) {
|
|
return this.pushStack(Bb(this, a, !1))
|
|
},
|
|
filter: function(a) {
|
|
return this.pushStack(Bb(this, a, !0))
|
|
},
|
|
is: function(a) {
|
|
return !!a && ("string" === typeof a ? qc.test(a) ? 0 <= c(a, this.context).index(this[0]) : 0 < c.filter(a, this).length : 0 < this.filter(a).length)
|
|
},
|
|
closest: function(a, b) {
|
|
for (var d, e = 0, f = this.length, g = [], h = qc.test(a) || "string" !== typeof a ? c(a, b || this.context) : 0; e < f; e++)
|
|
for (d = this[e]; d && d.ownerDocument && d !== b && 11 !== d.nodeType; ) {
|
|
if (h ? -1 < h.index(d) : c.find.matchesSelector(d, a)) {
|
|
g.push(d);
|
|
break
|
|
}
|
|
d = d.parentNode
|
|
}
|
|
return this.pushStack(1 < g.length ? c.unique(g) : g)
|
|
},
|
|
index: function(a) {
|
|
return !a ? this[0] && this[0].parentNode ? this.first().prevAll().length : -1 : "string" === typeof a ? c.inArray(this[0], c(a)) : c.inArray(a.jquery ? a[0] : a, this)
|
|
},
|
|
add: function(a, b) {
|
|
var d = "string" === typeof a ? c(a, b) : c.makeArray(a && a.nodeType ? [a] : a)
|
|
, d = c.merge(this.get(), d);
|
|
return this.pushStack(c.unique(d))
|
|
},
|
|
addBack: function(a) {
|
|
return this.add(null == a ? this.prevObject : this.prevObject.filter(a))
|
|
}
|
|
});
|
|
c.fn.andSelf = c.fn.addBack;
|
|
c.each({
|
|
parent: function(a) {
|
|
return (a = a.parentNode) && 11 !== a.nodeType ? a : null
|
|
},
|
|
parents: function(a) {
|
|
return c.dir(a, "parentNode")
|
|
},
|
|
parentsUntil: function(a, b, d) {
|
|
return c.dir(a, "parentNode", d)
|
|
},
|
|
next: function(a) {
|
|
return Ab(a, "nextSibling")
|
|
},
|
|
prev: function(a) {
|
|
return Ab(a, "previousSibling")
|
|
},
|
|
nextAll: function(a) {
|
|
return c.dir(a, "nextSibling")
|
|
},
|
|
prevAll: function(a) {
|
|
return c.dir(a, "previousSibling")
|
|
},
|
|
nextUntil: function(a, b, d) {
|
|
return c.dir(a, "nextSibling", d)
|
|
},
|
|
prevUntil: function(a, b, d) {
|
|
return c.dir(a, "previousSibling", d)
|
|
},
|
|
siblings: function(a) {
|
|
return c.sibling((a.parentNode || {}).firstChild, a)
|
|
},
|
|
children: function(a) {
|
|
return c.sibling(a.firstChild)
|
|
},
|
|
contents: function(a) {
|
|
return c.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : c.merge([], a.childNodes)
|
|
}
|
|
}, function(a, b) {
|
|
c.fn[a] = function(d, e) {
|
|
var f = c.map(this, b, d);
|
|
sd.test(a) || (e = d);
|
|
e && "string" === typeof e && (f = c.filter(e, f));
|
|
f = 1 < this.length && !ud[a] ? c.unique(f) : f;
|
|
1 < this.length && td.test(a) && (f = f.reverse());
|
|
return this.pushStack(f)
|
|
}
|
|
});
|
|
c.extend({
|
|
filter: function(a, b, d) {
|
|
d && (a = ":not(" + a + ")");
|
|
return 1 === b.length ? c.find.matchesSelector(b[0], a) ? [b[0]] : [] : c.find.matches(a, b)
|
|
},
|
|
dir: function(a, b, d) {
|
|
var e = [];
|
|
for (a = a[b]; a && 9 !== a.nodeType && (d === m || 1 !== a.nodeType || !c(a).is(d)); )
|
|
1 === a.nodeType && e.push(a),
|
|
a = a[b];
|
|
return e
|
|
},
|
|
sibling: function(a, b) {
|
|
for (var d = []; a; a = a.nextSibling)
|
|
1 === a.nodeType && a !== b && d.push(a);
|
|
return d
|
|
}
|
|
});
|
|
var Db = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video"
|
|
, vd = / jQuery\d+="(?:null|\d+)"/g
|
|
, rc = RegExp("<(?:" + Db + ")[\\s/>]", "i")
|
|
, qb = /^\s+/
|
|
, sc = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi
|
|
, tc = /<([\w:]+)/
|
|
, uc = /<tbody/i
|
|
, wd = /<|&#?\w+;/
|
|
, xd = /<(?:script|style|link)/i
|
|
, Sa = /^(?:checkbox|radio)$/i
|
|
, yd = /checked\s*(?:[^=]|=\s*.checked.)/i
|
|
, vc = /^$|\/(?:java|ecma)script/i
|
|
, Ic = /^true\/(.*)/
|
|
, zd = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g
|
|
, G = {
|
|
option: [1, "<select multiple='multiple'>", "</select>"],
|
|
legend: [1, "<fieldset>", "</fieldset>"],
|
|
area: [1, "<map>", "</map>"],
|
|
param: [1, "<object>", "</object>"],
|
|
thead: [1, "<table>", "</table>"],
|
|
tr: [2, "<table><tbody>", "</tbody></table>"],
|
|
col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"],
|
|
td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
|
|
_default: c.support.htmlSerialize ? [0, "", ""] : [1, "X<div>", "</div>"]
|
|
}
|
|
, rb = Cb(p).appendChild(p.createElement("div"));
|
|
G.optgroup = G.option;
|
|
G.tbody = G.tfoot = G.colgroup = G.caption = G.thead;
|
|
G.th = G.td;
|
|
c.fn.extend({
|
|
text: function(a) {
|
|
return c.access(this, function(a) {
|
|
return a === m ? c.text(this) : this.empty().append((this[0] && this[0].ownerDocument || p).createTextNode(a))
|
|
}, null, a, arguments.length)
|
|
},
|
|
wrapAll: function(a) {
|
|
if (c.isFunction(a))
|
|
return this.each(function(b) {
|
|
c(this).wrapAll(a.call(this, b))
|
|
});
|
|
if (this[0]) {
|
|
var b = c(a, this[0].ownerDocument).eq(0).clone(!0);
|
|
this[0].parentNode && b.insertBefore(this[0]);
|
|
b.map(function() {
|
|
for (var a = this; a.firstChild && 1 === a.firstChild.nodeType; )
|
|
a = a.firstChild;
|
|
return a
|
|
}).append(this)
|
|
}
|
|
return this
|
|
},
|
|
wrapInner: function(a) {
|
|
return c.isFunction(a) ? this.each(function(b) {
|
|
c(this).wrapInner(a.call(this, b))
|
|
}) : this.each(function() {
|
|
var b = c(this)
|
|
, d = b.contents();
|
|
d.length ? d.wrapAll(a) : b.append(a)
|
|
})
|
|
},
|
|
wrap: function(a) {
|
|
var b = c.isFunction(a);
|
|
return this.each(function(d) {
|
|
c(this).wrapAll(b ? a.call(this, d) : a)
|
|
})
|
|
},
|
|
unwrap: function() {
|
|
return this.parent().each(function() {
|
|
c.nodeName(this, "body") || c(this).replaceWith(this.childNodes)
|
|
}).end()
|
|
},
|
|
append: function() {
|
|
return this.domManip(arguments, !0, function(a) {
|
|
(1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) && this.appendChild(a)
|
|
})
|
|
},
|
|
prepend: function() {
|
|
return this.domManip(arguments, !0, function(a) {
|
|
(1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) && this.insertBefore(a, this.firstChild)
|
|
})
|
|
},
|
|
before: function() {
|
|
return this.domManip(arguments, !1, function(a) {
|
|
this.parentNode && this.parentNode.insertBefore(a, this)
|
|
})
|
|
},
|
|
after: function() {
|
|
return this.domManip(arguments, !1, function(a) {
|
|
this.parentNode && this.parentNode.insertBefore(a, this.nextSibling)
|
|
})
|
|
},
|
|
remove: function(a, b) {
|
|
for (var d, e = 0; null != (d = this[e]); e++)
|
|
if (!a || 0 < c.filter(a, [d]).length)
|
|
!b && 1 === d.nodeType && c.cleanData(B(d)),
|
|
d.parentNode && (b && c.contains(d.ownerDocument, d) && Ra(B(d, "script")),
|
|
d.parentNode.removeChild(d));
|
|
return this
|
|
},
|
|
empty: function() {
|
|
for (var a, b = 0; null != (a = this[b]); b++) {
|
|
for (1 === a.nodeType && c.cleanData(B(a, !1)); a.firstChild; )
|
|
a.removeChild(a.firstChild);
|
|
a.options && c.nodeName(a, "select") && (a.options.length = 0)
|
|
}
|
|
return this
|
|
},
|
|
clone: function(a, b) {
|
|
a = null == a ? !1 : a;
|
|
b = null == b ? a : b;
|
|
return this.map(function() {
|
|
return c.clone(this, a, b)
|
|
})
|
|
},
|
|
html: function(a) {
|
|
return c.access(this, function(a) {
|
|
var d = this[0] || {}
|
|
, e = 0
|
|
, f = this.length;
|
|
if (a === m)
|
|
return 1 === d.nodeType ? d.innerHTML.replace(vd, "") : m;
|
|
if ("string" === typeof a && !xd.test(a) && (c.support.htmlSerialize || !rc.test(a)) && (c.support.leadingWhitespace || !qb.test(a)) && !G[(tc.exec(a) || ["", ""])[1].toLowerCase()]) {
|
|
a = a.replace(sc, "<$1></$2>");
|
|
try {
|
|
for (; e < f; e++)
|
|
d = this[e] || {},
|
|
1 === d.nodeType && (c.cleanData(B(d, !1)),
|
|
d.innerHTML = a);
|
|
d = 0
|
|
} catch (g) {}
|
|
}
|
|
d && this.empty().append(a)
|
|
}, null, a, arguments.length)
|
|
},
|
|
replaceWith: function(a) {
|
|
!c.isFunction(a) && "string" !== typeof a && (a = c(a).not(this).detach());
|
|
return this.domManip([a], !0, function(a) {
|
|
var d = this.nextSibling
|
|
, e = this.parentNode;
|
|
e && (c(this).remove(),
|
|
e.insertBefore(a, d))
|
|
})
|
|
},
|
|
detach: function(a) {
|
|
return this.remove(a, !0)
|
|
},
|
|
domManip: function(a, b, d) {
|
|
a = Xb.apply([], a);
|
|
var e, f, g, h, j = 0, k = this.length, l = this, q = k - 1, n = a[0], p = c.isFunction(n);
|
|
if (p || !(1 >= k || "string" !== typeof n || c.support.checkClone || !yd.test(n)))
|
|
return this.each(function(c) {
|
|
var e = l.eq(c);
|
|
p && (a[0] = n.call(this, c, b ? e.html() : m));
|
|
e.domManip(a, b, d)
|
|
});
|
|
if (k && (h = c.buildFragment(a, this[0].ownerDocument, !1, this),
|
|
e = h.firstChild,
|
|
1 === h.childNodes.length && (h = e),
|
|
e)) {
|
|
b = b && c.nodeName(e, "tr");
|
|
g = c.map(B(h, "script"), Eb);
|
|
for (f = g.length; j < k; j++)
|
|
e = h,
|
|
j !== q && (e = c.clone(e, !0, !0),
|
|
f && c.merge(g, B(e, "script"))),
|
|
d.call(b && c.nodeName(this[j], "table") ? this[j].getElementsByTagName("tbody")[0] || this[j].appendChild(this[j].ownerDocument.createElement("tbody")) : this[j], e, j);
|
|
if (f) {
|
|
h = g[g.length - 1].ownerDocument;
|
|
c.map(g, Fb);
|
|
for (j = 0; j < f; j++)
|
|
if (e = g[j],
|
|
vc.test(e.type || "") && !c._data(e, "globalEval") && c.contains(h, e))
|
|
e.src ? c.ajax({
|
|
url: e.src,
|
|
type: "GET",
|
|
dataType: "script",
|
|
async: !1,
|
|
global: !1,
|
|
"throws": !0
|
|
}) : c.globalEval((e.text || e.textContent || e.innerHTML || "").replace(zd, ""))
|
|
}
|
|
h = e = null
|
|
}
|
|
return this
|
|
}
|
|
});
|
|
c.each({
|
|
appendTo: "append",
|
|
prependTo: "prepend",
|
|
insertBefore: "before",
|
|
insertAfter: "after",
|
|
replaceAll: "replaceWith"
|
|
}, function(a, b) {
|
|
c.fn[a] = function(a) {
|
|
for (var e = 0, f = [], g = c(a), h = g.length - 1; e <= h; e++)
|
|
a = e === h ? this : this.clone(!0),
|
|
c(g[e])[b](a),
|
|
Wa.apply(f, a.get());
|
|
return this.pushStack(f)
|
|
}
|
|
});
|
|
c.extend({
|
|
clone: function(a, b, d) {
|
|
var e, f, g, h, j, k = c.contains(a.ownerDocument, a);
|
|
c.support.html5Clone || c.isXMLDoc(a) || !rc.test("<" + a.nodeName + ">") ? g = a.cloneNode(!0) : (rb.innerHTML = a.outerHTML,
|
|
rb.removeChild(g = rb.firstChild));
|
|
if ((!c.support.noCloneEvent || !c.support.noCloneChecked) && (1 === a.nodeType || 11 === a.nodeType) && !c.isXMLDoc(a)) {
|
|
e = B(g);
|
|
j = B(a);
|
|
for (h = 0; null != (f = j[h]); ++h)
|
|
if (e[h]) {
|
|
var l = e[h]
|
|
, m = void 0
|
|
, n = void 0
|
|
, p = void 0;
|
|
if (1 === l.nodeType) {
|
|
m = l.nodeName.toLowerCase();
|
|
if (!c.support.noCloneEvent && l[c.expando]) {
|
|
p = c._data(l);
|
|
for (n in p.events)
|
|
c.removeEvent(l, n, p.handle);
|
|
l.removeAttribute(c.expando)
|
|
}
|
|
if ("script" === m && l.text !== f.text)
|
|
Eb(l).text = f.text,
|
|
Fb(l);
|
|
else if ("object" === m)
|
|
l.parentNode && (l.outerHTML = f.outerHTML),
|
|
c.support.html5Clone && (f.innerHTML && !c.trim(l.innerHTML)) && (l.innerHTML = f.innerHTML);
|
|
else if ("input" === m && Sa.test(f.type))
|
|
l.defaultChecked = l.checked = f.checked,
|
|
l.value !== f.value && (l.value = f.value);
|
|
else if ("option" === m)
|
|
l.defaultSelected = l.selected = f.defaultSelected;
|
|
else if ("input" === m || "textarea" === m)
|
|
l.defaultValue = f.defaultValue
|
|
}
|
|
}
|
|
}
|
|
if (b)
|
|
if (d) {
|
|
j = j || B(a);
|
|
e = e || B(g);
|
|
for (h = 0; null != (f = j[h]); h++)
|
|
Gb(f, e[h])
|
|
} else
|
|
Gb(a, g);
|
|
e = B(g, "script");
|
|
0 < e.length && Ra(e, !k && B(a, "script"));
|
|
return g
|
|
},
|
|
buildFragment: function(a, b, d, e) {
|
|
for (var f, g, h, j, k, l, m = a.length, n = Cb(b), p = [], r = 0; r < m; r++)
|
|
if ((g = a[r]) || 0 === g)
|
|
if ("object" === c.type(g))
|
|
c.merge(p, g.nodeType ? [g] : g);
|
|
else if (wd.test(g)) {
|
|
h = h || n.appendChild(b.createElement("div"));
|
|
j = (tc.exec(g) || ["", ""])[1].toLowerCase();
|
|
l = G[j] || G._default;
|
|
h.innerHTML = l[1] + g.replace(sc, "<$1></$2>") + l[2];
|
|
for (f = l[0]; f--; )
|
|
h = h.lastChild;
|
|
!c.support.leadingWhitespace && qb.test(g) && p.push(b.createTextNode(qb.exec(g)[0]));
|
|
if (!c.support.tbody)
|
|
for (f = (g = "table" === j && !uc.test(g) ? h.firstChild : "<table>" === l[1] && !uc.test(g) ? h : 0) && g.childNodes.length; f--; )
|
|
c.nodeName(k = g.childNodes[f], "tbody") && !k.childNodes.length && g.removeChild(k);
|
|
c.merge(p, h.childNodes);
|
|
for (h.textContent = ""; h.firstChild; )
|
|
h.removeChild(h.firstChild);
|
|
h = n.lastChild
|
|
} else
|
|
p.push(b.createTextNode(g));
|
|
h && n.removeChild(h);
|
|
c.support.appendChecked || c.grep(B(p, "input"), Jc);
|
|
for (r = 0; g = p[r++]; )
|
|
if (!(e && -1 !== c.inArray(g, e)) && (a = c.contains(g.ownerDocument, g),
|
|
h = B(n.appendChild(g), "script"),
|
|
a && Ra(h),
|
|
d))
|
|
for (f = 0; g = h[f++]; )
|
|
vc.test(g.type || "") && d.push(g);
|
|
return n
|
|
},
|
|
cleanData: function(a, b) {
|
|
for (var d, e, f, g, h = 0, j = c.expando, k = c.cache, l = c.support.deleteExpando, m = c.event.special; null != (d = a[h]); h++)
|
|
if (b || c.acceptData(d))
|
|
if (g = (f = d[j]) && k[f]) {
|
|
if (g.events)
|
|
for (e in g.events)
|
|
m[e] ? c.event.remove(d, e) : c.removeEvent(d, e, g.handle);
|
|
k[f] && (delete k[f],
|
|
l ? delete d[j] : typeof d.removeAttribute !== L ? d.removeAttribute(j) : d[j] = null,
|
|
ca.push(f))
|
|
}
|
|
}
|
|
});
|
|
var oa, W, X, sb = /alpha\([^)]*\)/i, Ad = /opacity\s*=\s*([^)]*)/, Bd = /^(top|right|bottom|left)$/, Cd = /^(none|table(?!-c[ea]).+)/, wc = /^margin/, Kc = RegExp("^(" + za + ")(.*)$", "i"), ua = RegExp("^(" + za + ")(?!px)[a-z%]+$", "i"), Dd = RegExp("^([+-])=(" + za + ")", "i"), Ob = {
|
|
BODY: "block"
|
|
}, Ed = {
|
|
position: "absolute",
|
|
visibility: "hidden",
|
|
display: "block"
|
|
}, xc = {
|
|
letterSpacing: 0,
|
|
fontWeight: 400
|
|
}, V = ["Top", "Right", "Bottom", "Left"], Ib = ["Webkit", "O", "Moz", "ms"];
|
|
c.fn.extend({
|
|
css: function(a, b) {
|
|
return c.access(this, function(a, b, f) {
|
|
var g, h = {}, j = 0;
|
|
if (c.isArray(b)) {
|
|
g = W(a);
|
|
for (f = b.length; j < f; j++)
|
|
h[b[j]] = c.css(a, b[j], !1, g);
|
|
return h
|
|
}
|
|
return f !== m ? c.style(a, b, f) : c.css(a, b)
|
|
}, a, b, 1 < arguments.length)
|
|
},
|
|
show: function() {
|
|
return Jb(this, !0)
|
|
},
|
|
hide: function() {
|
|
return Jb(this)
|
|
},
|
|
toggle: function(a) {
|
|
var b = "boolean" === typeof a;
|
|
return this.each(function() {
|
|
(b ? a : na(this)) ? c(this).show() : c(this).hide()
|
|
})
|
|
}
|
|
});
|
|
c.extend({
|
|
cssHooks: {
|
|
opacity: {
|
|
get: function(a, b) {
|
|
if (b) {
|
|
var c = X(a, "opacity");
|
|
return "" === c ? "1" : c
|
|
}
|
|
}
|
|
}
|
|
},
|
|
cssNumber: {
|
|
columnCount: !0,
|
|
fillOpacity: !0,
|
|
fontWeight: !0,
|
|
lineHeight: !0,
|
|
opacity: !0,
|
|
orphans: !0,
|
|
widows: !0,
|
|
zIndex: !0,
|
|
zoom: !0
|
|
},
|
|
cssProps: {
|
|
"float": c.support.cssFloat ? "cssFloat" : "styleFloat"
|
|
},
|
|
style: function(a, b, d, e) {
|
|
if (a && !(3 === a.nodeType || 8 === a.nodeType || !a.style)) {
|
|
var f, g, h, j = c.camelCase(b), k = a.style;
|
|
b = c.cssProps[j] || (c.cssProps[j] = Hb(k, j));
|
|
h = c.cssHooks[b] || c.cssHooks[j];
|
|
if (d !== m) {
|
|
g = typeof d;
|
|
if ("string" === g && (f = Dd.exec(d)))
|
|
d = (f[1] + 1) * f[2] + parseFloat(c.css(a, b)),
|
|
g = "number";
|
|
if (!(null == d || "number" === g && isNaN(d)))
|
|
if ("number" === g && !c.cssNumber[j] && (d += "px"),
|
|
!c.support.clearCloneStyle && ("" === d && 0 === b.indexOf("background")) && (k[b] = "inherit"),
|
|
!h || !("set"in h) || (d = h.set(a, d, e)) !== m)
|
|
try {
|
|
k[b] = d
|
|
} catch (l) {}
|
|
} else
|
|
return h && "get"in h && (f = h.get(a, !1, e)) !== m ? f : k[b]
|
|
}
|
|
},
|
|
css: function(a, b, d, e) {
|
|
var f, g;
|
|
g = c.camelCase(b);
|
|
b = c.cssProps[g] || (c.cssProps[g] = Hb(a.style, g));
|
|
(g = c.cssHooks[b] || c.cssHooks[g]) && "get"in g && (f = g.get(a, !0, d));
|
|
f === m && (f = X(a, b, e));
|
|
"normal" === f && b in xc && (f = xc[b]);
|
|
return "" === d || d ? (a = parseFloat(f),
|
|
!0 === d || c.isNumeric(a) ? a || 0 : f) : f
|
|
},
|
|
swap: function(a, b, c, e) {
|
|
var f, g = {};
|
|
for (f in b)
|
|
g[f] = a.style[f],
|
|
a.style[f] = b[f];
|
|
c = c.apply(a, e || []);
|
|
for (f in b)
|
|
a.style[f] = g[f];
|
|
return c
|
|
}
|
|
});
|
|
r.getComputedStyle ? (W = function(a) {
|
|
return r.getComputedStyle(a, null)
|
|
}
|
|
,
|
|
X = function(a, b, d) {
|
|
var e, f = (d = d || W(a)) ? d.getPropertyValue(b) || d[b] : m, g = a.style;
|
|
d && ("" === f && !c.contains(a.ownerDocument, a) && (f = c.style(a, b)),
|
|
ua.test(f) && wc.test(b) && (a = g.width,
|
|
b = g.minWidth,
|
|
e = g.maxWidth,
|
|
g.minWidth = g.maxWidth = g.width = f,
|
|
f = d.width,
|
|
g.width = a,
|
|
g.minWidth = b,
|
|
g.maxWidth = e));
|
|
return f
|
|
}
|
|
) : p.documentElement.currentStyle && (W = function(a) {
|
|
return a.currentStyle
|
|
}
|
|
,
|
|
X = function(a, b, c) {
|
|
var e, f, g = (c = c || W(a)) ? c[b] : m, h = a.style;
|
|
null == g && (h && h[b]) && (g = h[b]);
|
|
if (ua.test(g) && !Bd.test(b)) {
|
|
c = h.left;
|
|
if (f = (e = a.runtimeStyle) && e.left)
|
|
e.left = a.currentStyle.left;
|
|
h.left = "fontSize" === b ? "1em" : g;
|
|
g = h.pixelLeft + "px";
|
|
h.left = c;
|
|
f && (e.left = f)
|
|
}
|
|
return "" === g ? "auto" : g
|
|
}
|
|
);
|
|
c.each(["height", "width"], function(a, b) {
|
|
c.cssHooks[b] = {
|
|
get: function(a, e, f) {
|
|
if (e)
|
|
return 0 === a.offsetWidth && Cd.test(c.css(a, "display")) ? c.swap(a, Ed, function() {
|
|
return Nb(a, b, f)
|
|
}) : Nb(a, b, f)
|
|
},
|
|
set: function(a, e, f) {
|
|
var g = f && W(a);
|
|
return Lb(a, e, f ? Mb(a, b, f, c.support.boxSizing && "border-box" === c.css(a, "boxSizing", !1, g), g) : 0)
|
|
}
|
|
}
|
|
});
|
|
c.support.opacity || (c.cssHooks.opacity = {
|
|
get: function(a, b) {
|
|
return Ad.test((b && a.currentStyle ? a.currentStyle.filter : a.style.filter) || "") ? 0.01 * parseFloat(RegExp.$1) + "" : b ? "1" : ""
|
|
},
|
|
set: function(a, b) {
|
|
var d = a.style
|
|
, e = a.currentStyle
|
|
, f = c.isNumeric(b) ? "alpha(opacity=" + 100 * b + ")" : ""
|
|
, g = e && e.filter || d.filter || "";
|
|
d.zoom = 1;
|
|
if ((1 <= b || "" === b) && "" === c.trim(g.replace(sb, "")) && d.removeAttribute)
|
|
if (d.removeAttribute("filter"),
|
|
"" === b || e && !e.filter)
|
|
return;
|
|
d.filter = sb.test(g) ? g.replace(sb, f) : g + " " + f
|
|
}
|
|
});
|
|
c(function() {
|
|
c.support.reliableMarginRight || (c.cssHooks.marginRight = {
|
|
get: function(a, b) {
|
|
if (b)
|
|
return c.swap(a, {
|
|
display: "inline-block"
|
|
}, X, [a, "marginRight"])
|
|
}
|
|
});
|
|
!c.support.pixelPosition && c.fn.position && c.each(["top", "left"], function(a, b) {
|
|
c.cssHooks[b] = {
|
|
get: function(a, e) {
|
|
if (e)
|
|
return e = X(a, b),
|
|
ua.test(e) ? c(a).position()[b] + "px" : e
|
|
}
|
|
}
|
|
})
|
|
});
|
|
c.expr && c.expr.filters && (c.expr.filters.hidden = function(a) {
|
|
return 0 >= a.offsetWidth && 0 >= a.offsetHeight || !c.support.reliableHiddenOffsets && "none" === (a.style && a.style.display || c.css(a, "display"))
|
|
}
|
|
,
|
|
c.expr.filters.visible = function(a) {
|
|
return !c.expr.filters.hidden(a)
|
|
}
|
|
);
|
|
c.each({
|
|
margin: "",
|
|
padding: "",
|
|
border: "Width"
|
|
}, function(a, b) {
|
|
c.cssHooks[a + b] = {
|
|
expand: function(c) {
|
|
var e = 0
|
|
, f = {};
|
|
for (c = "string" === typeof c ? c.split(" ") : [c]; 4 > e; e++)
|
|
f[a + V[e] + b] = c[e] || c[e - 2] || c[0];
|
|
return f
|
|
}
|
|
};
|
|
wc.test(a) || (c.cssHooks[a + b].set = Lb)
|
|
});
|
|
var Fd = /%20/g
|
|
, Lc = /\[\]$/
|
|
, yc = /\r?\n/g
|
|
, Gd = /^(?:submit|button|image|reset|file)$/i
|
|
, Hd = /^(?:input|select|textarea|keygen)/i;
|
|
c.fn.extend({
|
|
serialize: function() {
|
|
return c.param(this.serializeArray())
|
|
},
|
|
serializeArray: function() {
|
|
return this.map(function() {
|
|
var a = c.prop(this, "elements");
|
|
return a ? c.makeArray(a) : this
|
|
}).filter(function() {
|
|
var a = this.type;
|
|
return this.name && !c(this).is(":disabled") && Hd.test(this.nodeName) && !Gd.test(a) && (this.checked || !Sa.test(a))
|
|
}).map(function(a, b) {
|
|
var d = c(this).val();
|
|
return null == d ? null : c.isArray(d) ? c.map(d, function(a) {
|
|
return {
|
|
name: b.name,
|
|
value: a.replace(yc, "\r\n")
|
|
}
|
|
}) : {
|
|
name: b.name,
|
|
value: d.replace(yc, "\r\n")
|
|
}
|
|
}).get()
|
|
}
|
|
});
|
|
c.param = function(a, b) {
|
|
var d, e = [], f = function(a, b) {
|
|
b = c.isFunction(b) ? b() : null == b ? "" : b;
|
|
e[e.length] = encodeURIComponent(a) + "=" + encodeURIComponent(b)
|
|
};
|
|
b === m && (b = c.ajaxSettings && c.ajaxSettings.traditional);
|
|
if (c.isArray(a) || a.jquery && !c.isPlainObject(a))
|
|
c.each(a, function() {
|
|
f(this.name, this.value)
|
|
});
|
|
else
|
|
for (d in a)
|
|
Ta(d, a[d], b, f);
|
|
return e.join("&").replace(Fd, "+")
|
|
}
|
|
;
|
|
c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function(a, b) {
|
|
c.fn[b] = function(a, c) {
|
|
return 0 < arguments.length ? this.on(b, null, a, c) : this.trigger(b)
|
|
}
|
|
});
|
|
c.fn.hover = function(a, b) {
|
|
return this.mouseenter(a).mouseleave(b || a)
|
|
}
|
|
;
|
|
var ba, U, tb = c.now(), ub = /\?/, Id = /#.*$/, zc = /([?&])_=[^&]*/, Jd = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, Kd = /^(?:GET|HEAD)$/, Ld = /^\/\//, Ac = /^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/, Bc = c.fn.load, Cc = {}, Ua = {}, Dc = "*/".concat("*");
|
|
try {
|
|
U = Nc.href
|
|
} catch (Sd) {
|
|
U = p.createElement("a"),
|
|
U.href = "",
|
|
U = U.href
|
|
}
|
|
ba = Ac.exec(U.toLowerCase()) || [];
|
|
c.fn.load = function(a, b, d) {
|
|
if ("string" !== typeof a && Bc)
|
|
return Bc.apply(this, arguments);
|
|
var e, f, g, h = this, j = a.indexOf(" ");
|
|
0 <= j && (e = a.slice(j, a.length),
|
|
a = a.slice(0, j));
|
|
c.isFunction(b) ? (d = b,
|
|
b = m) : b && "object" === typeof b && (g = "POST");
|
|
0 < h.length && c.ajax({
|
|
url: a,
|
|
type: g,
|
|
dataType: "html",
|
|
data: b
|
|
}).done(function(a) {
|
|
f = arguments;
|
|
h.html(e ? c("<div>").append(c.parseHTML(a)).find(e) : a)
|
|
}).complete(d && function(a, b) {
|
|
h.each(d, f || [a.responseText, b, a])
|
|
}
|
|
);
|
|
return this
|
|
}
|
|
;
|
|
c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function(a, b) {
|
|
c.fn[b] = function(a) {
|
|
return this.on(b, a)
|
|
}
|
|
});
|
|
c.each(["get", "post"], function(a, b) {
|
|
c[b] = function(a, e, f, g) {
|
|
c.isFunction(e) && (g = g || f,
|
|
f = e,
|
|
e = m);
|
|
return c.ajax({
|
|
url: a,
|
|
type: b,
|
|
dataType: g,
|
|
data: e,
|
|
success: f
|
|
})
|
|
}
|
|
});
|
|
c.extend({
|
|
active: 0,
|
|
lastModified: {},
|
|
etag: {},
|
|
ajaxSettings: {
|
|
url: U,
|
|
type: "GET",
|
|
isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(ba[1]),
|
|
global: !0,
|
|
processData: !0,
|
|
async: !0,
|
|
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
|
|
accepts: {
|
|
"*": Dc,
|
|
text: "text/plain",
|
|
html: "text/html",
|
|
xml: "application/xml, text/xml",
|
|
json: "application/json, text/javascript"
|
|
},
|
|
contents: {
|
|
xml: /xml/,
|
|
html: /html/,
|
|
json: /json/
|
|
},
|
|
responseFields: {
|
|
xml: "responseXML",
|
|
text: "responseText"
|
|
},
|
|
converters: {
|
|
"* text": r.String,
|
|
"text html": !0,
|
|
"text json": c.parseJSON,
|
|
"text xml": c.parseXML
|
|
},
|
|
flatOptions: {
|
|
url: !0,
|
|
context: !0
|
|
}
|
|
},
|
|
ajaxSetup: function(a, b) {
|
|
return b ? Va(Va(a, c.ajaxSettings), b) : Va(c.ajaxSettings, a)
|
|
},
|
|
ajaxPrefilter: Qb(Cc),
|
|
ajaxTransport: Qb(Ua),
|
|
ajax: function(a, b) {
|
|
function d(a, b, d, e) {
|
|
var f, q, t, v, u = b;
|
|
if (2 !== x) {
|
|
x = 2;
|
|
j && clearTimeout(j);
|
|
l = m;
|
|
h = e || "";
|
|
y.readyState = 0 < a ? 4 : 0;
|
|
if (d) {
|
|
v = n;
|
|
e = y;
|
|
var B, E, A, D, H = v.contents, G = v.dataTypes, J = v.responseFields;
|
|
for (D in J)
|
|
D in d && (e[J[D]] = d[D]);
|
|
for (; "*" === G[0]; )
|
|
G.shift(),
|
|
E === m && (E = v.mimeType || e.getResponseHeader("Content-Type"));
|
|
if (E)
|
|
for (D in H)
|
|
if (H[D] && H[D].test(E)) {
|
|
G.unshift(D);
|
|
break
|
|
}
|
|
if (G[0]in d)
|
|
A = G[0];
|
|
else {
|
|
for (D in d) {
|
|
if (!G[0] || v.converters[D + " " + G[0]]) {
|
|
A = D;
|
|
break
|
|
}
|
|
B || (B = D)
|
|
}
|
|
A = A || B
|
|
}
|
|
A ? (A !== G[0] && G.unshift(A),
|
|
v = d[A]) : v = void 0
|
|
}
|
|
if (200 <= a && 300 > a || 304 === a)
|
|
if (n.ifModified && ((d = y.getResponseHeader("Last-Modified")) && (c.lastModified[g] = d),
|
|
(d = y.getResponseHeader("etag")) && (c.etag[g] = d)),
|
|
204 === a)
|
|
f = !0,
|
|
u = "nocontent";
|
|
else if (304 === a)
|
|
f = !0,
|
|
u = "notmodified";
|
|
else {
|
|
a: {
|
|
q = n;
|
|
t = v;
|
|
var I, K, u = {};
|
|
B = 0;
|
|
E = q.dataTypes.slice();
|
|
A = E[0];
|
|
q.dataFilter && (t = q.dataFilter(t, q.dataType));
|
|
if (E[1])
|
|
for (K in q.converters)
|
|
u[K.toLowerCase()] = q.converters[K];
|
|
for (; d = E[++B]; )
|
|
if ("*" !== d) {
|
|
if ("*" !== A && A !== d) {
|
|
K = u[A + " " + d] || u["* " + d];
|
|
if (!K)
|
|
for (I in u)
|
|
if (f = I.split(" "),
|
|
f[1] === d && (K = u[A + " " + f[0]] || u["* " + f[0]])) {
|
|
!0 === K ? K = u[I] : !0 !== u[I] && (d = f[0],
|
|
E.splice(B--, 0, d));
|
|
break
|
|
}
|
|
if (!0 !== K)
|
|
if (K && q["throws"])
|
|
t = K(t);
|
|
else
|
|
try {
|
|
t = K(t)
|
|
} catch (L) {
|
|
f = {
|
|
state: "parsererror",
|
|
error: K ? L : "No conversion from " + A + " to " + d
|
|
};
|
|
break a
|
|
}
|
|
}
|
|
A = d
|
|
}
|
|
f = {
|
|
state: "success",
|
|
data: t
|
|
}
|
|
}
|
|
u = f.state;
|
|
q = f.data;
|
|
t = f.error;
|
|
f = !t
|
|
}
|
|
else if (t = u,
|
|
a || !u)
|
|
u = "error",
|
|
0 > a && (a = 0);
|
|
y.status = a;
|
|
y.statusText = (b || u) + "";
|
|
f ? s.resolveWith(p, [q, u, y]) : s.rejectWith(p, [y, u, t]);
|
|
y.statusCode(z);
|
|
z = m;
|
|
k && r.trigger(f ? "ajaxSuccess" : "ajaxError", [y, n, f ? q : t]);
|
|
w.fireWith(p, [y, u]);
|
|
k && (r.trigger("ajaxComplete", [y, n]),
|
|
--c.active || c.event.trigger("ajaxStop"))
|
|
}
|
|
}
|
|
"object" === typeof a && (b = a,
|
|
a = m);
|
|
b = b || {};
|
|
var e, f, g, h, j, k, l, q, n = c.ajaxSetup({}, b), p = n.context || n, r = n.context && (p.nodeType || p.jquery) ? c(p) : c.event, s = c.Deferred(), w = c.Callbacks("once memory"), z = n.statusCode || {}, t = {}, v = {}, x = 0, u = "canceled", y = {
|
|
readyState: 0,
|
|
getResponseHeader: function(a) {
|
|
var b;
|
|
if (2 === x) {
|
|
if (!q)
|
|
for (q = {}; b = Jd.exec(h); )
|
|
q[b[1].toLowerCase()] = b[2];
|
|
b = q[a.toLowerCase()]
|
|
}
|
|
return null == b ? null : b
|
|
},
|
|
getAllResponseHeaders: function() {
|
|
return 2 === x ? h : null
|
|
},
|
|
setRequestHeader: function(a, b) {
|
|
var c = a.toLowerCase();
|
|
x || (a = v[c] = v[c] || a,
|
|
t[a] = b);
|
|
return this
|
|
},
|
|
overrideMimeType: function(a) {
|
|
x || (n.mimeType = a);
|
|
return this
|
|
},
|
|
statusCode: function(a) {
|
|
var b;
|
|
if (a)
|
|
if (2 > x)
|
|
for (b in a)
|
|
z[b] = [z[b], a[b]];
|
|
else
|
|
y.always(a[y.status]);
|
|
return this
|
|
},
|
|
abort: function(a) {
|
|
a = a || u;
|
|
l && l.abort(a);
|
|
d(0, a);
|
|
return this
|
|
}
|
|
};
|
|
s.promise(y).complete = w.add;
|
|
y.success = y.done;
|
|
y.error = y.fail;
|
|
n.url = ((a || n.url || U) + "").replace(Id, "").replace(Ld, ba[1] + "//");
|
|
n.type = b.method || b.type || n.method || n.type;
|
|
n.dataTypes = c.trim(n.dataType || "*").toLowerCase().match(O) || [""];
|
|
null == n.crossDomain && (e = Ac.exec(n.url.toLowerCase()),
|
|
n.crossDomain = !(!e || !(e[1] !== ba[1] || e[2] !== ba[2] || (e[3] || ("http:" === e[1] ? 80 : 443)) != (ba[3] || ("http:" === ba[1] ? 80 : 443)))));
|
|
n.data && (n.processData && "string" !== typeof n.data) && (n.data = c.param(n.data, n.traditional));
|
|
Rb(Cc, n, b, y);
|
|
if (2 === x)
|
|
return y;
|
|
(k = n.global) && 0 === c.active++ && c.event.trigger("ajaxStart");
|
|
n.type = n.type.toUpperCase();
|
|
n.hasContent = !Kd.test(n.type);
|
|
g = n.url;
|
|
n.hasContent || (n.data && (g = n.url += (ub.test(g) ? "&" : "?") + n.data,
|
|
delete n.data),
|
|
!1 === n.cache && (n.url = zc.test(g) ? g.replace(zc, "$1_=" + tb++) : g + (ub.test(g) ? "&" : "?") + "_=" + tb++));
|
|
n.ifModified && (c.lastModified[g] && y.setRequestHeader("If-Modified-Since", c.lastModified[g]),
|
|
c.etag[g] && y.setRequestHeader("If-None-Match", c.etag[g]));
|
|
(n.data && n.hasContent && !1 !== n.contentType || b.contentType) && y.setRequestHeader("Content-Type", n.contentType);
|
|
y.setRequestHeader("Accept", n.dataTypes[0] && n.accepts[n.dataTypes[0]] ? n.accepts[n.dataTypes[0]] + ("*" !== n.dataTypes[0] ? ", " + Dc + "; q=0.01" : "") : n.accepts["*"]);
|
|
for (f in n.headers)
|
|
y.setRequestHeader(f, n.headers[f]);
|
|
if (n.beforeSend && (!1 === n.beforeSend.call(p, y, n) || 2 === x))
|
|
return y.abort();
|
|
u = "abort";
|
|
for (f in {
|
|
success: 1,
|
|
error: 1,
|
|
complete: 1
|
|
})
|
|
y[f](n[f]);
|
|
if (l = Rb(Ua, n, b, y)) {
|
|
y.readyState = 1;
|
|
k && r.trigger("ajaxSend", [y, n]);
|
|
n.async && 0 < n.timeout && (j = setTimeout(function() {
|
|
y.abort("timeout")
|
|
}, n.timeout));
|
|
try {
|
|
x = 1,
|
|
l.send(t, d)
|
|
} catch (B) {
|
|
if (2 > x)
|
|
d(-1, B);
|
|
else
|
|
throw B;
|
|
}
|
|
} else
|
|
d(-1, "No Transport");
|
|
return y
|
|
},
|
|
getScript: function(a, b) {
|
|
return c.get(a, m, b, "script")
|
|
},
|
|
getJSON: function(a, b, d) {
|
|
return c.get(a, b, d, "json")
|
|
}
|
|
});
|
|
c.ajaxSetup({
|
|
accepts: {
|
|
script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
|
|
},
|
|
contents: {
|
|
script: /(?:java|ecma)script/
|
|
},
|
|
converters: {
|
|
"text script": function(a) {
|
|
c.globalEval(a);
|
|
return a
|
|
}
|
|
}
|
|
});
|
|
c.ajaxPrefilter("script", function(a) {
|
|
a.cache === m && (a.cache = !1);
|
|
a.crossDomain && (a.type = "GET",
|
|
a.global = !1)
|
|
});
|
|
c.ajaxTransport("script", function(a) {
|
|
if (a.crossDomain) {
|
|
var b, d = p.head || c("head")[0] || p.documentElement;
|
|
return {
|
|
send: function(c, f) {
|
|
b = p.createElement("script");
|
|
b.async = !0;
|
|
a.scriptCharset && (b.charset = a.scriptCharset);
|
|
b.src = a.url;
|
|
b.onload = b.onreadystatechange = function(a, c) {
|
|
if (c || !b.readyState || /loaded|complete/.test(b.readyState))
|
|
b.onload = b.onreadystatechange = null,
|
|
b.parentNode && b.parentNode.removeChild(b),
|
|
b = null,
|
|
c || f(200, "success")
|
|
}
|
|
;
|
|
d.insertBefore(b, d.firstChild)
|
|
},
|
|
abort: function() {
|
|
if (b)
|
|
b.onload(m, !0)
|
|
}
|
|
}
|
|
}
|
|
});
|
|
var Ec = []
|
|
, vb = /(=)\?(?=&|$)|\?\?/;
|
|
c.ajaxSetup({
|
|
jsonp: "callback",
|
|
jsonpCallback: function() {
|
|
var a = Ec.pop() || c.expando + "_" + tb++;
|
|
this[a] = !0;
|
|
return a
|
|
}
|
|
});
|
|
c.ajaxPrefilter("json jsonp", function(a, b, d) {
|
|
var e, f, g, h = !1 !== a.jsonp && (vb.test(a.url) ? "url" : "string" === typeof a.data && !(a.contentType || "").indexOf("application/x-www-form-urlencoded") && vb.test(a.data) && "data");
|
|
if (h || "jsonp" === a.dataTypes[0])
|
|
return e = a.jsonpCallback = c.isFunction(a.jsonpCallback) ? a.jsonpCallback() : a.jsonpCallback,
|
|
h ? a[h] = a[h].replace(vb, "$1" + e) : !1 !== a.jsonp && (a.url += (ub.test(a.url) ? "&" : "?") + a.jsonp + "=" + e),
|
|
a.converters["script json"] = function() {
|
|
g || c.error(e + " was not called");
|
|
return g[0]
|
|
}
|
|
,
|
|
a.dataTypes[0] = "json",
|
|
f = r[e],
|
|
r[e] = function() {
|
|
g = arguments
|
|
}
|
|
,
|
|
d.always(function() {
|
|
r[e] = f;
|
|
a[e] && (a.jsonpCallback = b.jsonpCallback,
|
|
Ec.push(e));
|
|
g && c.isFunction(f) && f(g[0]);
|
|
g = f = m
|
|
}),
|
|
"script"
|
|
});
|
|
var ma, sa, Md = 0, wb = r.ActiveXObject && function() {
|
|
for (var a in ma)
|
|
ma[a](m, !0)
|
|
}
|
|
;
|
|
c.ajaxSettings.xhr = r.ActiveXObject ? function() {
|
|
var a;
|
|
if (!(a = !this.isLocal && Sb()))
|
|
a: {
|
|
try {
|
|
a = new r.ActiveXObject("Microsoft.XMLHTTP");
|
|
break a
|
|
} catch (b) {}
|
|
a = void 0
|
|
}
|
|
return a
|
|
}
|
|
: Sb;
|
|
sa = c.ajaxSettings.xhr();
|
|
c.support.cors = !!sa && "withCredentials"in sa;
|
|
(sa = c.support.ajax = !!sa) && c.ajaxTransport(function(a) {
|
|
if (!a.crossDomain || c.support.cors) {
|
|
var b;
|
|
return {
|
|
send: function(d, e) {
|
|
var f, g, h = a.xhr();
|
|
a.username ? h.open(a.type, a.url, a.async, a.username, a.password) : h.open(a.type, a.url, a.async);
|
|
if (a.xhrFields)
|
|
for (g in a.xhrFields)
|
|
h[g] = a.xhrFields[g];
|
|
a.mimeType && h.overrideMimeType && h.overrideMimeType(a.mimeType);
|
|
!a.crossDomain && !d["X-Requested-With"] && (d["X-Requested-With"] = "XMLHttpRequest");
|
|
try {
|
|
for (g in d)
|
|
h.setRequestHeader(g, d[g])
|
|
} catch (j) {}
|
|
h.send(a.hasContent && a.data || null);
|
|
b = function(d, g) {
|
|
var j, n, p, r;
|
|
try {
|
|
if (b && (g || 4 === h.readyState))
|
|
if (b = m,
|
|
f && (h.onreadystatechange = c.noop,
|
|
wb && delete ma[f]),
|
|
g)
|
|
4 !== h.readyState && h.abort();
|
|
else {
|
|
r = {};
|
|
j = h.status;
|
|
n = h.getAllResponseHeaders();
|
|
"string" === typeof h.responseText && (r.text = h.responseText);
|
|
try {
|
|
p = h.statusText
|
|
} catch (s) {
|
|
p = ""
|
|
}
|
|
!j && a.isLocal && !a.crossDomain ? j = r.text ? 200 : 404 : 1223 === j && (j = 204)
|
|
}
|
|
} catch (t) {
|
|
g || e(-1, t)
|
|
}
|
|
r && e(j, p, r, n)
|
|
}
|
|
;
|
|
a.async ? 4 === h.readyState ? setTimeout(b) : (f = ++Md,
|
|
wb && (ma || (ma = {},
|
|
c(r).unload(wb)),
|
|
ma[f] = b),
|
|
h.onreadystatechange = b) : b()
|
|
},
|
|
abort: function() {
|
|
b && b(m, !0)
|
|
}
|
|
}
|
|
}
|
|
});
|
|
var ea, Oa, Nd = /^(?:toggle|show|hide)$/, Od = RegExp("^(?:([+-])=|)(" + za + ")([a-z%]*)$", "i"), Pd = /queueHooks$/, va = [function(a, b, d) {
|
|
var e, f, g, h, j, k, l = this, m = a.style, n = {}, p = [], r = a.nodeType && na(a);
|
|
d.queue || (j = c._queueHooks(a, "fx"),
|
|
null == j.unqueued && (j.unqueued = 0,
|
|
k = j.empty.fire,
|
|
j.empty.fire = function() {
|
|
j.unqueued || k()
|
|
}
|
|
),
|
|
j.unqueued++,
|
|
l.always(function() {
|
|
l.always(function() {
|
|
j.unqueued--;
|
|
c.queue(a, "fx").length || j.empty.fire()
|
|
})
|
|
}));
|
|
if (1 === a.nodeType && ("height"in b || "width"in b))
|
|
d.overflow = [m.overflow, m.overflowX, m.overflowY],
|
|
"inline" === c.css(a, "display") && "none" === c.css(a, "float") && (!c.support.inlineBlockNeedsLayout || "inline" === Kb(a.nodeName) ? m.display = "inline-block" : m.zoom = 1);
|
|
d.overflow && (m.overflow = "hidden",
|
|
c.support.shrinkWrapBlocks || l.always(function() {
|
|
m.overflow = d.overflow[0];
|
|
m.overflowX = d.overflow[1];
|
|
m.overflowY = d.overflow[2]
|
|
}));
|
|
for (f in b)
|
|
g = b[f],
|
|
Nd.exec(g) && (delete b[f],
|
|
e = e || "toggle" === g,
|
|
g !== (r ? "hide" : "show") && p.push(f));
|
|
if (b = p.length) {
|
|
g = c._data(a, "fxshow") || c._data(a, "fxshow", {});
|
|
"hidden"in g && (r = g.hidden);
|
|
e && (g.hidden = !r);
|
|
r ? c(a).show() : l.done(function() {
|
|
c(a).hide()
|
|
});
|
|
l.done(function() {
|
|
var b;
|
|
c._removeData(a, "fxshow");
|
|
for (b in n)
|
|
c.style(a, b, n[b])
|
|
});
|
|
for (f = 0; f < b; f++)
|
|
e = p[f],
|
|
h = l.createTween(e, r ? g[e] : 0),
|
|
n[e] = g[e] || c.style(a, e),
|
|
e in g || (g[e] = h.start,
|
|
r && (h.end = h.start,
|
|
h.start = "width" === e || "height" === e ? 1 : 0))
|
|
}
|
|
}
|
|
], pa = {
|
|
"*": [function(a, b) {
|
|
var d, e, f = this.createTween(a, b), g = Od.exec(b), h = f.cur(), j = +h || 0, k = 1, l = 20;
|
|
if (g) {
|
|
d = +g[2];
|
|
e = g[3] || (c.cssNumber[a] ? "" : "px");
|
|
if ("px" !== e && j) {
|
|
j = c.css(f.elem, a, !0) || d || 1;
|
|
do
|
|
k = k || ".5",
|
|
j /= k,
|
|
c.style(f.elem, a, j + e);
|
|
while (k !== (k = f.cur() / h) && 1 !== k && --l)
|
|
}
|
|
f.unit = e;
|
|
f.start = j;
|
|
f.end = g[1] ? j + (g[1] + 1) * d : d
|
|
}
|
|
return f
|
|
}
|
|
]
|
|
};
|
|
c.Animation = c.extend(Ub, {
|
|
tweener: function(a, b) {
|
|
c.isFunction(a) ? (b = a,
|
|
a = ["*"]) : a = a.split(" ");
|
|
for (var d, e = 0, f = a.length; e < f; e++)
|
|
d = a[e],
|
|
pa[d] = pa[d] || [],
|
|
pa[d].unshift(b)
|
|
},
|
|
prefilter: function(a, b) {
|
|
b ? va.unshift(a) : va.push(a)
|
|
}
|
|
});
|
|
c.Tween = D;
|
|
D.prototype = {
|
|
constructor: D,
|
|
init: function(a, b, d, e, f, g) {
|
|
this.elem = a;
|
|
this.prop = d;
|
|
this.easing = f || "swing";
|
|
this.options = b;
|
|
this.start = this.now = this.cur();
|
|
this.end = e;
|
|
this.unit = g || (c.cssNumber[d] ? "" : "px")
|
|
},
|
|
cur: function() {
|
|
var a = D.propHooks[this.prop];
|
|
return a && a.get ? a.get(this) : D.propHooks._default.get(this)
|
|
},
|
|
run: function(a) {
|
|
var b, d = D.propHooks[this.prop];
|
|
this.pos = this.options.duration ? b = c.easing[this.easing](a, this.options.duration * a, 0, 1, this.options.duration) : b = a;
|
|
this.now = (this.end - this.start) * b + this.start;
|
|
this.options.step && this.options.step.call(this.elem, this.now, this);
|
|
d && d.set ? d.set(this) : D.propHooks._default.set(this);
|
|
return this
|
|
}
|
|
};
|
|
D.prototype.init.prototype = D.prototype;
|
|
D.propHooks = {
|
|
_default: {
|
|
get: function(a) {
|
|
if (null != a.elem[a.prop] && (!a.elem.style || null == a.elem.style[a.prop]))
|
|
return a.elem[a.prop];
|
|
a = c.css(a.elem, a.prop, "");
|
|
return !a || "auto" === a ? 0 : a
|
|
},
|
|
set: function(a) {
|
|
if (c.fx.step[a.prop])
|
|
c.fx.step[a.prop](a);
|
|
else
|
|
a.elem.style && (null != a.elem.style[c.cssProps[a.prop]] || c.cssHooks[a.prop]) ? c.style(a.elem, a.prop, a.now + a.unit) : a.elem[a.prop] = a.now
|
|
}
|
|
}
|
|
};
|
|
D.propHooks.scrollTop = D.propHooks.scrollLeft = {
|
|
set: function(a) {
|
|
a.elem.nodeType && a.elem.parentNode && (a.elem[a.prop] = a.now)
|
|
}
|
|
};
|
|
c.each(["toggle", "show", "hide"], function(a, b) {
|
|
var d = c.fn[b];
|
|
c.fn[b] = function(a, c, g) {
|
|
return null == a || "boolean" === typeof a ? d.apply(this, arguments) : this.animate(wa(b, !0), a, c, g)
|
|
}
|
|
});
|
|
c.fn.extend({
|
|
fadeTo: function(a, b, c, e) {
|
|
return this.filter(na).css("opacity", 0).show().end().animate({
|
|
opacity: b
|
|
}, a, c, e)
|
|
},
|
|
animate: function(a, b, d, e) {
|
|
var f = c.isEmptyObject(a)
|
|
, g = c.speed(b, d, e)
|
|
, h = function() {
|
|
var b = Ub(this, c.extend({}, a), g);
|
|
h.finish = function() {
|
|
b.stop(!0)
|
|
}
|
|
;
|
|
(f || c._data(this, "finish")) && b.stop(!0)
|
|
};
|
|
h.finish = h;
|
|
return f || !1 === g.queue ? this.each(h) : this.queue(g.queue, h)
|
|
},
|
|
stop: function(a, b, d) {
|
|
var e = function(a) {
|
|
var b = a.stop;
|
|
delete a.stop;
|
|
b(d)
|
|
};
|
|
"string" !== typeof a && (d = b,
|
|
b = a,
|
|
a = m);
|
|
b && !1 !== a && this.queue(a || "fx", []);
|
|
return this.each(function() {
|
|
var b = !0
|
|
, g = null != a && a + "queueHooks"
|
|
, h = c.timers
|
|
, j = c._data(this);
|
|
if (g)
|
|
j[g] && j[g].stop && e(j[g]);
|
|
else
|
|
for (g in j)
|
|
j[g] && (j[g].stop && Pd.test(g)) && e(j[g]);
|
|
for (g = h.length; g--; )
|
|
if (h[g].elem === this && (null == a || h[g].queue === a))
|
|
h[g].anim.stop(d),
|
|
b = !1,
|
|
h.splice(g, 1);
|
|
(b || !d) && c.dequeue(this, a)
|
|
})
|
|
},
|
|
finish: function(a) {
|
|
!1 !== a && (a = a || "fx");
|
|
return this.each(function() {
|
|
var b, d = c._data(this), e = d[a + "queue"];
|
|
b = d[a + "queueHooks"];
|
|
var f = c.timers
|
|
, g = e ? e.length : 0;
|
|
d.finish = !0;
|
|
c.queue(this, a, []);
|
|
b && (b.cur && b.cur.finish) && b.cur.finish.call(this);
|
|
for (b = f.length; b--; )
|
|
f[b].elem === this && f[b].queue === a && (f[b].anim.stop(!0),
|
|
f.splice(b, 1));
|
|
for (b = 0; b < g; b++)
|
|
e[b] && e[b].finish && e[b].finish.call(this);
|
|
delete d.finish
|
|
})
|
|
}
|
|
});
|
|
c.each({
|
|
slideDown: wa("show"),
|
|
slideUp: wa("hide"),
|
|
slideToggle: wa("toggle"),
|
|
fadeIn: {
|
|
opacity: "show"
|
|
},
|
|
fadeOut: {
|
|
opacity: "hide"
|
|
},
|
|
fadeToggle: {
|
|
opacity: "toggle"
|
|
}
|
|
}, function(a, b) {
|
|
c.fn[a] = function(a, c, f) {
|
|
return this.animate(b, a, c, f)
|
|
}
|
|
});
|
|
c.speed = function(a, b, d) {
|
|
var e = a && "object" === typeof a ? c.extend({}, a) : {
|
|
complete: d || !d && b || c.isFunction(a) && a,
|
|
duration: a,
|
|
easing: d && b || b && !c.isFunction(b) && b
|
|
};
|
|
e.duration = c.fx.off ? 0 : "number" === typeof e.duration ? e.duration : e.duration in c.fx.speeds ? c.fx.speeds[e.duration] : c.fx.speeds._default;
|
|
if (null == e.queue || !0 === e.queue)
|
|
e.queue = "fx";
|
|
e.old = e.complete;
|
|
e.complete = function() {
|
|
c.isFunction(e.old) && e.old.call(this);
|
|
e.queue && c.dequeue(this, e.queue)
|
|
}
|
|
;
|
|
return e
|
|
}
|
|
;
|
|
c.easing = {
|
|
linear: function(a) {
|
|
return a
|
|
},
|
|
swing: function(a) {
|
|
return 0.5 - Math.cos(a * Math.PI) / 2
|
|
}
|
|
};
|
|
c.timers = [];
|
|
c.fx = D.prototype.init;
|
|
c.fx.tick = function() {
|
|
var a, b = c.timers, d = 0;
|
|
for (ea = c.now(); d < b.length; d++)
|
|
a = b[d],
|
|
!a() && b[d] === a && b.splice(d--, 1);
|
|
b.length || c.fx.stop();
|
|
ea = m
|
|
}
|
|
;
|
|
c.fx.timer = function(a) {
|
|
a() && c.timers.push(a) && c.fx.start()
|
|
}
|
|
;
|
|
c.fx.interval = 13;
|
|
c.fx.start = function() {
|
|
Oa || (Oa = setInterval(c.fx.tick, c.fx.interval))
|
|
}
|
|
;
|
|
c.fx.stop = function() {
|
|
clearInterval(Oa);
|
|
Oa = null
|
|
}
|
|
;
|
|
c.fx.speeds = {
|
|
slow: 600,
|
|
fast: 200,
|
|
_default: 400
|
|
};
|
|
c.fx.step = {};
|
|
c.expr && c.expr.filters && (c.expr.filters.animated = function(a) {
|
|
return c.grep(c.timers, function(b) {
|
|
return a === b.elem
|
|
}).length
|
|
}
|
|
);
|
|
c.fn.offset = function(a) {
|
|
if (arguments.length)
|
|
return a === m ? this : this.each(function(b) {
|
|
c.offset.setOffset(this, a, b)
|
|
});
|
|
var b, d, e = {
|
|
top: 0,
|
|
left: 0
|
|
}, f = (d = this[0]) && d.ownerDocument;
|
|
if (f) {
|
|
b = f.documentElement;
|
|
if (!c.contains(b, d))
|
|
return e;
|
|
typeof d.getBoundingClientRect !== L && (e = d.getBoundingClientRect());
|
|
d = Vb(f);
|
|
return {
|
|
top: e.top + (d.pageYOffset || b.scrollTop) - (b.clientTop || 0),
|
|
left: e.left + (d.pageXOffset || b.scrollLeft) - (b.clientLeft || 0)
|
|
}
|
|
}
|
|
}
|
|
;
|
|
c.offset = {
|
|
setOffset: function(a, b, d) {
|
|
var e = c.css(a, "position");
|
|
"static" === e && (a.style.position = "relative");
|
|
var f = c(a)
|
|
, g = f.offset()
|
|
, h = c.css(a, "top")
|
|
, j = c.css(a, "left")
|
|
, k = {}
|
|
, l = {};
|
|
("absolute" === e || "fixed" === e) && -1 < c.inArray("auto", [h, j]) ? (l = f.position(),
|
|
e = l.top,
|
|
j = l.left) : (e = parseFloat(h) || 0,
|
|
j = parseFloat(j) || 0);
|
|
c.isFunction(b) && (b = b.call(a, d, g));
|
|
null != b.top && (k.top = b.top - g.top + e);
|
|
null != b.left && (k.left = b.left - g.left + j);
|
|
"using"in b ? b.using.call(a, k) : f.css(k)
|
|
}
|
|
};
|
|
c.fn.extend({
|
|
position: function() {
|
|
if (this[0]) {
|
|
var a, b, d = {
|
|
top: 0,
|
|
left: 0
|
|
}, e = this[0];
|
|
"fixed" === c.css(e, "position") ? b = e.getBoundingClientRect() : (a = this.offsetParent(),
|
|
b = this.offset(),
|
|
c.nodeName(a[0], "html") || (d = a.offset()),
|
|
d.top += c.css(a[0], "borderTopWidth", !0),
|
|
d.left += c.css(a[0], "borderLeftWidth", !0));
|
|
return {
|
|
top: b.top - d.top - c.css(e, "marginTop", !0),
|
|
left: b.left - d.left - c.css(e, "marginLeft", !0)
|
|
}
|
|
}
|
|
},
|
|
offsetParent: function() {
|
|
return this.map(function() {
|
|
for (var a = this.offsetParent || p.documentElement; a && !c.nodeName(a, "html") && "static" === c.css(a, "position"); )
|
|
a = a.offsetParent;
|
|
return a || p.documentElement
|
|
})
|
|
}
|
|
});
|
|
c.each({
|
|
scrollLeft: "pageXOffset",
|
|
scrollTop: "pageYOffset"
|
|
}, function(a, b) {
|
|
var d = /Y/.test(b);
|
|
c.fn[a] = function(e) {
|
|
return c.access(this, function(a, e, h) {
|
|
var j = Vb(a);
|
|
if (h === m)
|
|
return j ? b in j ? j[b] : j.document.documentElement[e] : a[e];
|
|
j ? j.scrollTo(!d ? h : c(j).scrollLeft(), d ? h : c(j).scrollTop()) : a[e] = h
|
|
}, a, e, arguments.length, null)
|
|
}
|
|
});
|
|
c.each({
|
|
Height: "height",
|
|
Width: "width"
|
|
}, function(a, b) {
|
|
c.each({
|
|
padding: "inner" + a,
|
|
content: b,
|
|
"": "outer" + a
|
|
}, function(d, e) {
|
|
c.fn[e] = function(e, g) {
|
|
var h = arguments.length && (d || "boolean" !== typeof e)
|
|
, j = d || (!0 === e || !0 === g ? "margin" : "border");
|
|
return c.access(this, function(b, d, e) {
|
|
return c.isWindow(b) ? b.document.documentElement["client" + a] : 9 === b.nodeType ? (d = b.documentElement,
|
|
Math.max(b.body["scroll" + a], d["scroll" + a], b.body["offset" + a], d["offset" + a], d["client" + a])) : e === m ? c.css(b, d, j) : c.style(b, d, e, j)
|
|
}, b, h ? e : m, h, null)
|
|
}
|
|
})
|
|
});
|
|
r.jQuery = r.$ = c;
|
|
"function" === typeof define && (define.amd && define.amd.jQuery) && define("jquery", [], function() {
|
|
return c
|
|
})
|
|
}
|
|
)(window);
|
|
(function(b) {
|
|
b.fn.jPlayer = function(a) {
|
|
var d = "string" == typeof a
|
|
, c = Array.prototype.slice.call(arguments, 1);
|
|
if (d && "_" == a.substring(0, 1))
|
|
return this;
|
|
var e;
|
|
if (e = d) {
|
|
e = a;
|
|
var g;
|
|
g = b.jPlayer.getter || [];
|
|
g = "string" == typeof g ? g.split(/,?\s+/) : g;
|
|
e = -1 != b.inArray(e, g)
|
|
}
|
|
return e ? (e = b.data(this[0], "jPlayer")) ? e[a].apply(e, c) : void 0 : this.each(function() {
|
|
var e = b.data(this, "jPlayer");
|
|
!e && !d && b.data(this, "jPlayer", new b.jPlayer(this,a))._init();
|
|
e && d && b.isFunction(e[a]) && e[a].apply(e, c)
|
|
})
|
|
}
|
|
;
|
|
b.jPlayer = function(a, d) {
|
|
this.options = b.extend({}, d);
|
|
this.element = b(a)
|
|
}
|
|
;
|
|
b.jPlayer.getter = "jPlayerOnProgressChange jPlayerOnSoundComplete jPlayerVolume jPlayerReady getData jPlayerController";
|
|
b.jPlayer.defaults = {
|
|
cssPrefix: "jqjp",
|
|
swfPath: "js",
|
|
volume: 80,
|
|
oggSupport: !1,
|
|
nativeSupport: !0,
|
|
preload: "none",
|
|
customCssIds: !1,
|
|
graphicsFix: !0,
|
|
errorAlerts: !1,
|
|
warningAlerts: !1,
|
|
position: "absolute",
|
|
width: "0",
|
|
height: "0",
|
|
top: "0",
|
|
left: "0",
|
|
quality: "high",
|
|
bgcolor: "#ffffff"
|
|
};
|
|
b.jPlayer._config = {
|
|
version: "1.2.0",
|
|
swfVersionRequired: "1.2.0",
|
|
swfVersion: "unknown",
|
|
jPlayerControllerId: void 0,
|
|
delayedCommandId: void 0,
|
|
isWaitingForPlay: !1,
|
|
isFileSet: !1
|
|
};
|
|
b.jPlayer._diag = {
|
|
isPlaying: !1,
|
|
src: "",
|
|
loadPercent: 0,
|
|
playedPercentRelative: 0,
|
|
playedPercentAbsolute: 0,
|
|
playedTime: 0,
|
|
totalTime: 0
|
|
};
|
|
b.jPlayer._cssId = {
|
|
play: "jplayer_play",
|
|
pause: "jplayer_pause",
|
|
stop: "jplayer_stop",
|
|
loadBar: "jplayer_load_bar",
|
|
playBar: "jplayer_play_bar",
|
|
volumeMin: "jplayer_volume_min",
|
|
volumeMax: "jplayer_volume_max",
|
|
volumeBar: "jplayer_volume_bar",
|
|
volumeBarValue: "jplayer_volume_bar_value"
|
|
};
|
|
b.jPlayer.count = 0;
|
|
b.jPlayer.timeFormat = {
|
|
showHour: !1,
|
|
showMin: !0,
|
|
showSec: !0,
|
|
padHour: !1,
|
|
padMin: !0,
|
|
padSec: !0,
|
|
sepHour: ":",
|
|
sepMin: ":",
|
|
sepSec: ""
|
|
};
|
|
b.jPlayer.convertTime = function(a) {
|
|
var d = new Date(a)
|
|
, c = d.getUTCHours();
|
|
a = d.getUTCMinutes();
|
|
d = d.getUTCSeconds();
|
|
c = b.jPlayer.timeFormat.padHour && 10 > c ? "0" + c : c;
|
|
a = b.jPlayer.timeFormat.padMin && 10 > a ? "0" + a : a;
|
|
d = b.jPlayer.timeFormat.padSec && 10 > d ? "0" + d : d;
|
|
return (b.jPlayer.timeFormat.showHour ? c + b.jPlayer.timeFormat.sepHour : "") + (b.jPlayer.timeFormat.showMin ? a + b.jPlayer.timeFormat.sepMin : "") + (b.jPlayer.timeFormat.showSec ? d + b.jPlayer.timeFormat.sepSec : "")
|
|
}
|
|
;
|
|
b.jPlayer.prototype = {
|
|
_init: function() {
|
|
var a = this
|
|
, d = this.element;
|
|
this.config = b.extend({}, b.jPlayer.defaults, this.options, b.jPlayer._config);
|
|
this.config.diag = b.extend({}, b.jPlayer._diag);
|
|
this.config.cssId = {};
|
|
this.config.cssSelector = {};
|
|
this.config.cssDisplay = {};
|
|
this.config.clickHandler = {};
|
|
this.element.data("jPlayer.config", this.config);
|
|
b.extend(this.config, {
|
|
id: this.element.attr("id"),
|
|
swf: this.config.swfPath + ("" != this.config.swfPath && "/" != this.config.swfPath.slice(-1) ? "/" : "") + "Jplayer.swf",
|
|
fid: this.config.cssPrefix + "_flash_" + b.jPlayer.count,
|
|
aid: this.config.cssPrefix + "_audio_" + b.jPlayer.count,
|
|
hid: this.config.cssPrefix + "_force_" + b.jPlayer.count,
|
|
i: b.jPlayer.count,
|
|
volume: this._limitValue(this.config.volume, 0, 100),
|
|
autobuffer: "none" != this.config.preload
|
|
});
|
|
b.jPlayer.count++;
|
|
void 0 != this.config.ready && (b.isFunction(this.config.ready) ? this.jPlayerReadyCustom = this.config.ready : this._warning("Constructor's ready option is not a function."));
|
|
this.config.audio = document.createElement("audio");
|
|
this.config.audio.id = this.config.aid;
|
|
b.extend(this.config, {
|
|
canPlayMP3: !(!this.config.audio.canPlayType || !("" != this.config.audio.canPlayType("audio/mpeg") && "no" != this.config.audio.canPlayType("audio/mpeg"))),
|
|
canPlayOGG: !(!this.config.audio.canPlayType || !("" != this.config.audio.canPlayType("audio/ogg") && "no" != this.config.audio.canPlayType("audio/ogg"))),
|
|
aSel: b("#" + this.config.aid)
|
|
});
|
|
b.extend(this.config, {
|
|
html5: !!(this.config.oggSupport ? this.config.canPlayOGG || this.config.canPlayMP3 : this.config.canPlayMP3)
|
|
});
|
|
b.extend(this.config, {
|
|
usingFlash: !(this.config.html5 && this.config.nativeSupport),
|
|
usingMP3: !(this.config.oggSupport && this.config.canPlayOGG && this.config.nativeSupport)
|
|
});
|
|
var c = {
|
|
setButtons: function(d, b) {
|
|
a.config.diag.isPlaying = b;
|
|
void 0 != a.config.cssId.play && void 0 != a.config.cssId.pause && (b ? (a.config.cssSelector.play.css("display", "none"),
|
|
a.config.cssSelector.pause.css("display", a.config.cssDisplay.pause)) : (a.config.cssSelector.play.css("display", a.config.cssDisplay.play),
|
|
a.config.cssSelector.pause.css("display", "none")));
|
|
b && (a.config.isWaitingForPlay = !1)
|
|
}
|
|
}
|
|
, e = {
|
|
setFile: function(b, c) {
|
|
try {
|
|
a._getMovie().fl_setFile_mp3(c),
|
|
a.config.autobuffer && d.trigger("jPlayer.load"),
|
|
a.config.diag.src = c,
|
|
a.config.isFileSet = !0,
|
|
d.trigger("jPlayer.setButtons", !1)
|
|
} catch (e) {
|
|
a._flashError(e)
|
|
}
|
|
},
|
|
clearFile: function() {
|
|
try {
|
|
d.trigger("jPlayer.setButtons", !1),
|
|
a._getMovie().fl_clearFile_mp3(),
|
|
a.config.diag.src = "",
|
|
a.config.isFileSet = !1
|
|
} catch (b) {
|
|
a._flashError(b)
|
|
}
|
|
},
|
|
load: function() {
|
|
try {
|
|
a._getMovie().fl_load_mp3()
|
|
} catch (d) {
|
|
a._flashError(d)
|
|
}
|
|
},
|
|
play: function() {
|
|
try {
|
|
a._getMovie().fl_play_mp3() && d.trigger("jPlayer.setButtons", !0)
|
|
} catch (b) {
|
|
a._flashError(b)
|
|
}
|
|
},
|
|
pause: function() {
|
|
try {
|
|
a._getMovie().fl_pause_mp3() && d.trigger("jPlayer.setButtons", !1)
|
|
} catch (b) {
|
|
a._flashError(b)
|
|
}
|
|
},
|
|
stop: function() {
|
|
try {
|
|
a._getMovie().fl_stop_mp3() && d.trigger("jPlayer.setButtons", !1)
|
|
} catch (b) {
|
|
a._flashError(b)
|
|
}
|
|
},
|
|
playHead: function(b, c) {
|
|
try {
|
|
a._getMovie().fl_play_head_mp3(c) && d.trigger("jPlayer.setButtons", !0)
|
|
} catch (e) {
|
|
a._flashError(e)
|
|
}
|
|
},
|
|
playHeadTime: function(b, c) {
|
|
try {
|
|
a._getMovie().fl_play_head_time_mp3(c) && d.trigger("jPlayer.setButtons", !0)
|
|
} catch (e) {
|
|
a._flashError(e)
|
|
}
|
|
},
|
|
volume: function(d, b) {
|
|
a.config.volume = b;
|
|
try {
|
|
a._getMovie().fl_volume_mp3(b)
|
|
} catch (c) {
|
|
a._flashError(c)
|
|
}
|
|
}
|
|
}
|
|
, g = {
|
|
setFile: function(b, c, e) {
|
|
a.config.diag.src = a.config.usingMP3 ? c : e;
|
|
a.config.isFileSet && !a.config.isWaitingForPlay && d.trigger("jPlayer.pause");
|
|
a.config.audio.autobuffer = a.config.autobuffer;
|
|
a.config.audio.preload = a.config.preload;
|
|
a.config.autobuffer ? (a.config.audio.src = a.config.diag.src,
|
|
a.config.audio.load()) : a.config.isWaitingForPlay = !0;
|
|
a.config.isFileSet = !0;
|
|
a.jPlayerOnProgressChange(0, 0, 0, 0, 0);
|
|
clearInterval(a.config.jPlayerControllerId);
|
|
a.config.autobuffer && (a.config.jPlayerControllerId = window.setInterval(function() {
|
|
a.jPlayerController(!1)
|
|
}, 100));
|
|
clearInterval(a.config.delayedCommandId)
|
|
},
|
|
clearFile: function() {
|
|
a.setFile("", "");
|
|
a.config.isWaitingForPlay = !1;
|
|
a.config.isFileSet = !1
|
|
},
|
|
load: function() {
|
|
a.config.isFileSet && a.config.isWaitingForPlay && (a.config.audio.autobuffer = !0,
|
|
a.config.audio.preload = "auto",
|
|
a.config.audio.src = a.config.diag.src,
|
|
a.config.audio.load(),
|
|
a.config.isWaitingForPlay = !1,
|
|
clearInterval(a.config.jPlayerControllerId),
|
|
a.config.jPlayerControllerId = window.setInterval(function() {
|
|
a.jPlayerController(!1)
|
|
}, 100))
|
|
},
|
|
play: function() {
|
|
a.config.isFileSet && (a.config.isWaitingForPlay && (a.config.audio.src = a.config.diag.src,
|
|
a.config.audio.load()),
|
|
a.config.audio.play(),
|
|
d.trigger("jPlayer.setButtons", !0),
|
|
clearInterval(a.config.jPlayerControllerId),
|
|
a.config.jPlayerControllerId = window.setInterval(function() {
|
|
a.jPlayerController(!1)
|
|
}, 100),
|
|
clearInterval(a.config.delayedCommandId))
|
|
},
|
|
pause: function() {
|
|
a.config.isFileSet && (a.config.audio.pause(),
|
|
d.trigger("jPlayer.setButtons", !1),
|
|
clearInterval(a.config.delayedCommandId))
|
|
},
|
|
stop: function() {
|
|
if (a.config.isFileSet)
|
|
try {
|
|
d.trigger("jPlayer.pause"),
|
|
a.config.audio.currentTime = 0,
|
|
clearInterval(a.config.jPlayerControllerId),
|
|
a.config.jPlayerControllerId = window.setInterval(function() {
|
|
a.jPlayerController(!0)
|
|
}, 100)
|
|
} catch (b) {
|
|
clearInterval(a.config.delayedCommandId),
|
|
a.config.delayedCommandId = window.setTimeout(function() {
|
|
a.stop()
|
|
}, 100)
|
|
}
|
|
},
|
|
playHead: function(b, c) {
|
|
if (a.config.isFileSet)
|
|
try {
|
|
d.trigger("jPlayer.load");
|
|
if ("object" == typeof a.config.audio.buffered && 0 < a.config.audio.buffered.length)
|
|
a.config.audio.currentTime = c * a.config.audio.buffered.end(a.config.audio.buffered.length - 1) / 100;
|
|
else if (0 < a.config.audio.duration && !isNaN(a.config.audio.duration))
|
|
a.config.audio.currentTime = c * a.config.audio.duration / 100;
|
|
else
|
|
throw "e";
|
|
d.trigger("jPlayer.play")
|
|
} catch (e) {
|
|
d.trigger("jPlayer.play"),
|
|
d.trigger("jPlayer.pause"),
|
|
a.config.delayedCommandId = window.setTimeout(function() {
|
|
a.playHead(c)
|
|
}, 100)
|
|
}
|
|
},
|
|
playHeadTime: function(b, c) {
|
|
if (a.config.isFileSet)
|
|
try {
|
|
d.trigger("jPlayer.load"),
|
|
a.config.audio.currentTime = c / 1E3,
|
|
d.trigger("jPlayer.play")
|
|
} catch (e) {
|
|
d.trigger("jPlayer.play"),
|
|
d.trigger("jPlayer.pause"),
|
|
a.config.delayedCommandId = window.setTimeout(function() {
|
|
a.playHeadTime(c)
|
|
}, 100)
|
|
}
|
|
},
|
|
volume: function(b, d) {
|
|
a.config.volume = d;
|
|
a.config.audio.volume = d / 100;
|
|
a.jPlayerVolume(d)
|
|
}
|
|
};
|
|
this.config.usingFlash ? b.extend(c, e) : b.extend(c, g);
|
|
for (var f in c)
|
|
e = "jPlayer." + f,
|
|
this.element.unbind(e),
|
|
this.element.bind(e, c[f]);
|
|
if (this.config.usingFlash)
|
|
if (this._checkForFlash(8))
|
|
if (b.browser.msie) {
|
|
f = '<object id="' + this.config.fid + '"';
|
|
f = f + ' classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"' + (' codebase="' + document.URL.substring(0, document.URL.indexOf(":")) + '://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"');
|
|
f += ' type="application/x-shockwave-flash"';
|
|
f += ' width="' + this.config.width + '" height="' + this.config.height + '">';
|
|
f += "</object>";
|
|
c = [];
|
|
c[0] = '<param name="movie" value="' + this.config.swf + '" />';
|
|
c[1] = '<param name="quality" value="high" />';
|
|
c[2] = '<param name="FlashVars" value="id=' + escape(this.config.id) + "&fid=" + escape(this.config.fid) + "&vol=" + this.config.volume + '" />';
|
|
c[3] = '<param name="allowScriptAccess" value="always" />';
|
|
c[4] = '<param name="bgcolor" value="' + this.config.bgcolor + '" />';
|
|
f = document.createElement(f);
|
|
for (e = 0; e < c.length; e++)
|
|
f.appendChild(document.createElement(c[e]));
|
|
this.element.html(f)
|
|
} else
|
|
c = '<embed name="' + this.config.fid + '" id="' + this.config.fid + '" src="' + this.config.swf + '"',
|
|
c += ' width="' + this.config.width + '" height="' + this.config.height + '" bgcolor="' + this.config.bgcolor + '"',
|
|
c += ' quality="high" FlashVars="id=' + escape(this.config.id) + "&fid=" + escape(this.config.fid) + "&vol=" + this.config.volume + '"',
|
|
c += ' allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />',
|
|
this.element.html(c);
|
|
else
|
|
this.element.html("<p>Flash 8 or above is not installed. <a href='http://get.adobe.com/flashplayer'>Get Flash!</a></p>");
|
|
else
|
|
this.config.audio.autobuffer = this.config.autobuffer,
|
|
this.config.audio.preload = this.config.preload,
|
|
this.config.audio.addEventListener("canplay", function() {
|
|
var b = 0.1 * Math.random();
|
|
a.config.audio.volume = (a.config.volume + (50 > a.config.volume ? b : -b)) / 100
|
|
}, !1),
|
|
this.config.audio.addEventListener("ended", function() {
|
|
clearInterval(a.config.jPlayerControllerId);
|
|
a.jPlayerOnSoundComplete()
|
|
}, !1),
|
|
this.element.append(this.config.audio);
|
|
this.element.css({
|
|
position: this.config.position,
|
|
top: this.config.top,
|
|
left: this.config.left
|
|
});
|
|
this.config.graphicsFix && (this.element.append('<div id="' + this.config.hid + '"></div>'),
|
|
b.extend(this.config, {
|
|
hSel: b("#" + this.config.hid)
|
|
}),
|
|
this.config.hSel.css({
|
|
"text-indent": "-9999px"
|
|
}));
|
|
this.config.customCssIds || b.each(b.jPlayer._cssId, function(b, d) {
|
|
a.cssId(b, d)
|
|
});
|
|
this.config.usingFlash || (this.element.css({
|
|
left: "-9999px"
|
|
}),
|
|
window.setTimeout(function() {
|
|
a.volume(a.config.volume);
|
|
a.jPlayerReady()
|
|
}, 100))
|
|
},
|
|
jPlayerReady: function(a) {
|
|
this.config.usingFlash ? (this.config.swfVersion = a,
|
|
this.config.swfVersionRequired != this.config.swfVersion && this._error("jPlayer's JavaScript / SWF version mismatch!\n\nJavaScript requires SWF : " + this.config.swfVersionRequired + "\nThe Jplayer.swf used is : " + this.config.swfVersion)) : this.config.swfVersion = "n/a";
|
|
this.jPlayerReadyCustom()
|
|
},
|
|
jPlayerReadyCustom: function() {},
|
|
setFile: function(a, b) {
|
|
this.element.trigger("jPlayer.setFile", [a, b])
|
|
},
|
|
clearFile: function() {
|
|
this.element.trigger("jPlayer.clearFile")
|
|
},
|
|
load: function() {
|
|
this.element.trigger("jPlayer.load")
|
|
},
|
|
play: function() {
|
|
this.element.trigger("jPlayer.play")
|
|
},
|
|
pause: function() {
|
|
this.element.trigger("jPlayer.pause")
|
|
},
|
|
stop: function() {
|
|
this.element.trigger("jPlayer.stop")
|
|
},
|
|
playHead: function(a) {
|
|
this.element.trigger("jPlayer.playHead", [a])
|
|
},
|
|
playHeadTime: function(a) {
|
|
this.element.trigger("jPlayer.playHeadTime", [a])
|
|
},
|
|
volume: function(a) {
|
|
a = this._limitValue(a, 0, 100);
|
|
this.element.trigger("jPlayer.volume", [a])
|
|
},
|
|
cssId: function(a, d) {
|
|
var c = this;
|
|
if ("string" == typeof d)
|
|
if (b.jPlayer._cssId[a]) {
|
|
void 0 != this.config.cssId[a] && this.config.cssSelector[a].unbind("click", this.config.clickHandler[a]);
|
|
this.config.cssId[a] = d;
|
|
this.config.cssSelector[a] = b("#" + d);
|
|
this.config.clickHandler[a] = function(d) {
|
|
c[a](d);
|
|
b(this).blur();
|
|
return !1
|
|
}
|
|
;
|
|
this.config.cssSelector[a].click(this.config.clickHandler[a]);
|
|
var e = this.config.cssSelector[a].css("display");
|
|
"play" == a && (this.config.cssDisplay.pause = e);
|
|
"pause" == a && "none" == e || (this.config.cssDisplay[a] = e,
|
|
"pause" == a && this.config.cssSelector[a].css("display", "none"))
|
|
} else
|
|
this._warning("Unknown/Illegal function in cssId\n\njPlayer('cssId', '" + a + "', '" + d + "')");
|
|
else
|
|
this._warning("cssId CSS Id must be a string\n\njPlayer('cssId', '" + a + "', " + d + ")")
|
|
},
|
|
loadBar: function(a) {
|
|
if (void 0 != this.config.cssId.loadBar) {
|
|
var b = this.config.cssSelector.loadBar.offset();
|
|
a = a.pageX - b.left;
|
|
b = this.config.cssSelector.loadBar.width();
|
|
this.playHead(100 * a / b)
|
|
}
|
|
},
|
|
playBar: function(a) {
|
|
this.loadBar(a)
|
|
},
|
|
onProgressChange: function(a) {
|
|
b.isFunction(a) ? this.onProgressChangeCustom = a : this._warning("onProgressChange parameter is not a function.")
|
|
},
|
|
onProgressChangeCustom: function() {},
|
|
jPlayerOnProgressChange: function(a, b, c, e, g) {
|
|
this.config.diag.loadPercent = a;
|
|
this.config.diag.playedPercentRelative = b;
|
|
this.config.diag.playedPercentAbsolute = c;
|
|
this.config.diag.playedTime = e;
|
|
this.config.diag.totalTime = g;
|
|
void 0 != this.config.cssId.loadBar && this.config.cssSelector.loadBar.width(a + "%");
|
|
void 0 != this.config.cssId.playBar && this.config.cssSelector.playBar.width(b + "%");
|
|
this.onProgressChangeCustom(a, b, c, e, g);
|
|
this._forceUpdate()
|
|
},
|
|
jPlayerController: function(a) {
|
|
var b = 0
|
|
, c = 0
|
|
, e = 0
|
|
, g = 0
|
|
, f = 0;
|
|
1 <= this.config.audio.readyState && (b = 1E3 * this.config.audio.currentTime,
|
|
c = 1E3 * this.config.audio.duration,
|
|
c = isNaN(c) ? 0 : c,
|
|
e = 0 < c ? 100 * b / c : 0,
|
|
"object" == typeof this.config.audio.buffered && 0 < this.config.audio.buffered.length ? (g = 100 * this.config.audio.buffered.end(this.config.audio.buffered.length - 1) / this.config.audio.duration,
|
|
f = 100 * this.config.audio.currentTime / this.config.audio.buffered.end(this.config.audio.buffered.length - 1)) : (g = 100,
|
|
f = e));
|
|
!this.config.diag.isPlaying && 100 <= g && clearInterval(this.config.jPlayerControllerId);
|
|
a ? this.jPlayerOnProgressChange(g, 0, 0, 0, c) : this.jPlayerOnProgressChange(g, f, e, b, c)
|
|
},
|
|
volumeMin: function() {
|
|
this.volume(0)
|
|
},
|
|
volumeMax: function() {
|
|
this.volume(100)
|
|
},
|
|
volumeBar: function(a) {
|
|
if (void 0 != this.config.cssId.volumeBar) {
|
|
var b = this.config.cssSelector.volumeBar.offset();
|
|
a = a.pageX - b.left;
|
|
b = this.config.cssSelector.volumeBar.width();
|
|
this.volume(100 * a / b)
|
|
}
|
|
},
|
|
volumeBarValue: function(a) {
|
|
this.volumeBar(a)
|
|
},
|
|
jPlayerVolume: function(a) {
|
|
null != this.config.cssId.volumeBarValue && (this.config.cssSelector.volumeBarValue.width(a + "%"),
|
|
this._forceUpdate())
|
|
},
|
|
onSoundComplete: function(a) {
|
|
b.isFunction(a) ? this.onSoundCompleteCustom = a : this._warning("onSoundComplete parameter is not a function.")
|
|
},
|
|
onSoundCompleteCustom: function() {},
|
|
jPlayerOnSoundComplete: function() {
|
|
this.element.trigger("jPlayer.setButtons", !1);
|
|
this.onSoundCompleteCustom()
|
|
},
|
|
getData: function(a) {
|
|
for (var b = a.split("."), c = this.config, e = 0; e < b.length; e++)
|
|
if (void 0 != c[b[e]])
|
|
c = c[b[e]];
|
|
else {
|
|
this._warning("Undefined data requested.\n\njPlayer('getData', '" + a + "')");
|
|
return
|
|
}
|
|
return c
|
|
},
|
|
_getMovie: function() {
|
|
return document[this.config.fid]
|
|
},
|
|
_checkForFlash: function(a) {
|
|
var b = !1, c;
|
|
if (window.ActiveXObject)
|
|
try {
|
|
new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + a),
|
|
b = !0
|
|
} catch (e) {}
|
|
else
|
|
navigator.plugins && 0 < navigator.mimeTypes.length && (c = navigator.plugins["Shockwave Flash"]) && navigator.plugins["Shockwave Flash"].description.replace(/.*\s(\d+\.\d+).*/, "$1") >= a && (b = !0);
|
|
return b
|
|
},
|
|
_forceUpdate: function() {
|
|
this.config.graphicsFix && this.config.hSel.text("" + Math.random())
|
|
},
|
|
_limitValue: function(a, b, c) {
|
|
return a < b ? b : a > c ? c : a
|
|
},
|
|
_flashError: function(a) {
|
|
this._error("Problem with Flash component.\n\nCheck the swfPath points at the Jplayer.swf path.\n\nswfPath = " + this.config.swfPath + "\nurl: " + this.config.swf + "\n\nError: " + a.message)
|
|
},
|
|
_error: function(a) {
|
|
this.config.errorAlerts && this._alert("Error!\n\n" + a)
|
|
},
|
|
_warning: function(a) {
|
|
this.config.warningAlerts && this._alert("Warning!\n\n" + a)
|
|
},
|
|
_alert: function(a) {
|
|
alert("jPlayer " + this.config.version + " : id='" + this.config.id + "' : " + a)
|
|
}
|
|
}
|
|
}
|
|
)(jQuery);
|
|
(function(d) {
|
|
d.fn.fadeShow = function(g, c, h) {
|
|
var b = this;
|
|
b.css("overflow", "hidden");
|
|
if (g.shuffle)
|
|
for (var j = c.length; j; ) {
|
|
var k = Math.floor(Math.random() * j)
|
|
, l = c[--j];
|
|
c[j] = c[k];
|
|
c[k] = l
|
|
}
|
|
if (!g.fadeTime || 0 >= g.fadeTime)
|
|
g.fadeTime = 1E3;
|
|
if (!g.imageTime || 0 >= g.imageTime)
|
|
g.imageTime = 4E3;
|
|
b.currentImage = 0;
|
|
for (var p = function(a) {
|
|
if (a.ratio) {
|
|
var m, n;
|
|
a.hasCompleted ? (m = d(a).height(),
|
|
n = d(a).width()) : (b.width() / b.height() > a.ratio ? (a.width = b.width(),
|
|
a.height = b.width() / a.ratio) : (a.height = b.height(),
|
|
a.width = b.height() * a.ratio),
|
|
m = a.height,
|
|
n = a.width);
|
|
b.width() / b.height() > a.ratio ? d(a).css("width", "100%").css("height", "auto") : d(a).css("height", "100%").css("width", "auto");
|
|
d(a).css("top", Math.min(0, (b.height() - m) / 2).toString() + "px");
|
|
d(a).css("left", Math.min(0, (b.width() - n) / 2).toString() + "px")
|
|
}
|
|
}, q = function(a) {
|
|
if (!(this.naturalHeight && this.naturalWidth || this.__lookupSetter__ && (!this.__lookupSetter__("naturalHeight") || !this.__lookupSetter__("naturalWidth")))) {
|
|
var b = new Image;
|
|
b.onload = function() {
|
|
a.naturalHeight = this.height;
|
|
a.naturalWidth = this.width
|
|
}
|
|
;
|
|
b.src = a.src
|
|
}
|
|
}, j = function() {
|
|
q(this);
|
|
this.ratio = this.width / this.height;
|
|
this.hasCompleted = !0;
|
|
p(this)
|
|
}, k = function() {
|
|
q(this);
|
|
this.hasCompleted = !0
|
|
}, l = function(a, b, d) {
|
|
return !b || !h ? a : function() {
|
|
h(d);
|
|
a.apply(d)
|
|
}
|
|
}, f = 0; f < c.length; ++f)
|
|
if (c[f].src) {
|
|
var e = document.createElement("img");
|
|
e.hasCompleted = !1;
|
|
d(e).css("margin", "0px").css("position", "absolute");
|
|
0 < f && d(e).hide();
|
|
c[f].width && c[f].height ? (e.ratio = c[f].width / c[f].height,
|
|
e.onload = l(k, 0 == f, e)) : (e.ratio = 0,
|
|
e.onload = l(j, 0 == f, e));
|
|
e.src = c[f].src;
|
|
e.ratio && p(e);
|
|
b.append(e)
|
|
}
|
|
d(window).resize(function() {
|
|
b.children("img").each(function(a, b) {
|
|
p(b)
|
|
})
|
|
});
|
|
window.setInterval(function() {
|
|
var a = b.children("img"), e = a[b.currentImage], c;
|
|
do
|
|
if (++b.currentImage >= a.length && (b.currentImage = 0),
|
|
c = a[b.currentImage],
|
|
c == e)
|
|
return;
|
|
while (!c.hasCompleted);
|
|
b.currentImage ? d(c).fadeIn(g.fadeTime, function() {
|
|
d(e).hide();
|
|
h && h(c)
|
|
}) : (d(c).show(),
|
|
d(e).fadeOut(g.fadeTime, function() {
|
|
h && h(c)
|
|
}))
|
|
}, g.imageTime);
|
|
return b
|
|
}
|
|
}
|
|
)(jQuery);
|
|
$(document).ready(function() {
|
|
function j() {
|
|
$("#improvisations").position().top <= $("#name").position().top + $("#name").height() ? ($("#improvisations").css("visibility", "hidden"),
|
|
$("#down").css("visibility", "visible")) : ($("#improvisations").css("visibility", "visible"),
|
|
$("#down").css("visibility", "hidden"));
|
|
$("#photos").position().left <= $("#name").position().left + $("#name").width() ? ($("#photos").css("visibility", "hidden"),
|
|
$("#right").css("visibility", "visible")) : ($("#photos").css("visibility", "visible"),
|
|
$("#right").css("visibility", "hidden"));
|
|
var a = $("#photos").height() / 2 - 64;
|
|
$("#recent_photos_box").height(a);
|
|
$("#random_photos_box").height(a)
|
|
}
|
|
$("#background").fadeShow({
|
|
shuffle: !0,
|
|
imageTime: 5E3,
|
|
fadeTime: 2E3
|
|
}, [{
|
|
src: "images/jonatan-pie-h8nxGssjQXs-unsplash.jpg",
|
|
width: 7042,
|
|
height: 4699
|
|
}/*, {
|
|
src: "images/centralpark.jpg",
|
|
width: 1920,
|
|
height: 1440
|
|
}, {
|
|
src: "images/coney.jpg",
|
|
width: 1920,
|
|
height: 1440
|
|
}, {
|
|
src: "images/dyingsky.jpg",
|
|
width: 1920,
|
|
height: 1278
|
|
}, {
|
|
src: "images/ericguitar.jpg",
|
|
width: 1920,
|
|
height: 1200
|
|
}, {
|
|
src: "images/mtwashington.jpg",
|
|
width: 1920,
|
|
height: 1439
|
|
}, {
|
|
src: "images/openroad.jpg",
|
|
width: 1920,
|
|
height: 1278
|
|
}, {
|
|
src: "images/ranch.jpg",
|
|
width: 1920,
|
|
height: 1278
|
|
}, {
|
|
src: "images/revolutionlake.jpg",
|
|
width: 1920,
|
|
height: 1440
|
|
}, {
|
|
src: "images/statue.jpg",
|
|
width: 1920,
|
|
height: 1382
|
|
}, {
|
|
src: "images/vexin.jpg",
|
|
width: 1920,
|
|
height: 1285
|
|
} */], function(a) {
|
|
var b = document.createElement("canvas");
|
|
if (b.getContext) {
|
|
b.width = $(a).parent().width();
|
|
b.height = $(a).parent().height();
|
|
var c = b.getContext("2d")
|
|
, e = -$(a).offset().top * a.naturalWidth / a.width
|
|
, f = -$(a).offset().left * a.naturalHeight / a.height
|
|
, d = $(a).parent().width() * a.naturalWidth / a.width
|
|
, g = $(a).parent().height() * a.naturalHeight / a.height;
|
|
if (!d || !g)
|
|
delete canavs;
|
|
else {
|
|
c.drawImage(a, f, e, d, g, 0, 0, b.width, b.height);
|
|
a = c.getImageData(0, 0, b.width, b.height);
|
|
c = $("#name");
|
|
f = e = 0;
|
|
for (d = c.offset().left; d < c.offset().left + c.width(); ++d)
|
|
for (g = c.offset().top; d < c.offset().top + c.height(); ++d) {
|
|
var h = g * 4 * a.width + 4 * d
|
|
, e = e + (11 * a.data[h] + 16 * a.data[h + 1] + 5 * a.data[h + 2]) / 32;
|
|
++f
|
|
}
|
|
a = e / f / 255 / 2.5;
|
|
$(".transparentbox").fadeTo(800, Math.max(0.1, a));
|
|
delete b
|
|
}
|
|
} else
|
|
delete b
|
|
});
|
|
$("#background img").each(function(a, b) {
|
|
b.title = "Horizon"
|
|
});
|
|
$(window).resize(j);
|
|
j()
|
|
});
|
|
$(document).ready(function() {
|
|
function b(a) {
|
|
for (var c = "", h = a.length - 1; 0 <= h; --h)
|
|
c += a[h];
|
|
return c
|
|
}
|
|
var j = function(a) {
|
|
if ("" == a)
|
|
return "root";
|
|
"/" == a[0] && (a = a.substring(1));
|
|
for (a = a.replace(/ /g, "_").replace(/\//g, "-").replace(/\(/g, "").replace(/\)/g, "").replace(/#/g, "").replace(/&/g, "").replace(/,/g, "").replace(/\[/g, "").replace(/\]/g, "").replace(/"/g, "").replace(/'/g, "").replace(/_-_/g, "-").toLowerCase(); -1 != a.indexOf("--"); )
|
|
a = a.replace(/--/g, "-");
|
|
for (; -1 != a.indexOf("__"); )
|
|
a = a.replace(/__/g, "_");
|
|
return a
|
|
}
|
|
, g = function(a, c) {
|
|
$.each(c, function(c, e) {
|
|
var f = e
|
|
, d = f.lastIndexOf("/")
|
|
, b = f.substring(0, d)
|
|
, k = f.substring(d + 1)
|
|
, d = b.lastIndexOf("/")
|
|
, g = b.substring(d + 1)
|
|
, d = k.lastIndexOf(".");
|
|
e = {
|
|
title: k.substring(0, d) + " from " + g,
|
|
page: "https://photos.jasondonenfeld.com/#!/" + j(b) + "/" + j(k),
|
|
thumb: "https://photos.jasondonenfeld.com/cache/" + j(f) + "_75s.jpg"
|
|
};
|
|
a.append('<a target="_blank" href="' + e.page + '"><img width="75" height="75" title="' + e.title + '" src="' + e.thumb + '" onerror="this.parentNode.removeChild(this);" /></a>')
|
|
})
|
|
};
|
|
$.ajax({
|
|
dataType: "jsonp",
|
|
url: "https://photos.jasondonenfeld.com/photos?count=27",
|
|
success: function(a) {
|
|
$("#recent_photos_box > .loading").remove();
|
|
g($("#recent_photos_box"), a.photos)
|
|
}
|
|
});
|
|
$.ajax({
|
|
dataType: "jsonp",
|
|
url: "https://photos.jasondonenfeld.com/photos?count=27&random=true",
|
|
success: function(a) {
|
|
$("#random_photos_box > .loading").remove();
|
|
g($("#random_photos_box"), a.photos)
|
|
}
|
|
});
|
|
var l = b("nosaJ") + "@" + b("4c2xz") + "." + b("moc");
|
|
$("#contact").html('<a href="mailto:' + l + '">' + l + "</a>")
|
|
});
|
|
$(document).ready(function() {
|
|
function g(b) {
|
|
$("#jplayer_playlist_item_" + a).removeClass("jplayer_playlist_current").parent().removeClass("jplayer_playlist_current");
|
|
$("#jplayer_playlist_item_" + b).addClass("jplayer_playlist_current").parent().addClass("jplayer_playlist_current");
|
|
var d = $("#jplayer_playlist_item_" + b).parent().position().top - $("#jplayer_playlist_item_0").parent().position().top
|
|
, h = $("#jplayer_playlist_item_" + b).height()
|
|
, e = $("#jplayer_playlist");
|
|
(e.scrollTop() > d - h || e.scrollTop() + e.innerHeight() < d + h) && e.scrollTop(d);
|
|
a = b;
|
|
$("#jquery_jplayer").jPlayer("setFile", c[a].mp3)
|
|
}
|
|
function f(a) {
|
|
g(a);
|
|
$("#jquery_jplayer").jPlayer("play")
|
|
}
|
|
var c = [{
|
|
name: "April 14, 2016",
|
|
mp3: "music/04 Rap - April 14, 2016.mp3"
|
|
}, {
|
|
name: "April 07, 2016",
|
|
mp3: "music/03 Footprints - April 7, 2016.mp3"
|
|
}, {
|
|
name: "March 31, 2016",
|
|
mp3: "music/Jason A. Donenfeld - Caveau des Oubliettes - March 31, 2016.mp3"
|
|
}, {
|
|
name: "April 06, 2013",
|
|
mp3: "music/Tiger's Alley.mp3"
|
|
}, {
|
|
name: "March 24, 2013",
|
|
mp3: "music/10 Marsupial.mp3"
|
|
}, {
|
|
name: "August 29, 2012",
|
|
mp3: "music/09 Change the Date on my Tamagotchi.mp3"
|
|
}, {
|
|
name: "August 22, 2012",
|
|
mp3: "music/08 The Peacocks.mp3"
|
|
}, {
|
|
name: "July 25, 2012",
|
|
mp3: "music/03 Playing With a New Sound (Unnamed Sketch).mp3"
|
|
}, {
|
|
name: "June 09, 2012",
|
|
mp3: "music/02 Ron Carter Zero.mp3"
|
|
}, {
|
|
name: "January 18, 2012",
|
|
mp3: "music/01 Bedtime Ditty.mp3"
|
|
}, {
|
|
name: "October 31, 2011",
|
|
mp3: "music/06 Elevator.mp3"
|
|
}, {
|
|
name: "October 26, 2011",
|
|
mp3: "music/05 Seven Agevin.mp3"
|
|
}, {
|
|
name: "July 26, 2011",
|
|
mp3: "music/03 Fabe Nurtures Blue Alien Child and Grow Immortal Space Bonds.mp3"
|
|
}, {
|
|
name: "July 12, 2011",
|
|
mp3: "music/02 Warm Up.mp3"
|
|
}, {
|
|
name: "June 24, 2011",
|
|
mp3: "music/01 Madalina Attempts to Think but the Large Muttenchops on her Earlobes Prevent her from Changing Chords so she is Stuck in Mixolydian.mp3"
|
|
}, {
|
|
name: "May 18, 2011",
|
|
mp3: "music/09 Graduation.mp3"
|
|
}, {
|
|
name: "April 24, 2011",
|
|
mp3: "music/08 Forgot to Knock.mp3"
|
|
}, {
|
|
name: "April 21, 2011",
|
|
mp3: "music/07 Wafted Sleep.mp3"
|
|
}, {
|
|
name: "March 13, 2011",
|
|
mp3: "music/01 Billie Jean.mp3"
|
|
}, {
|
|
name: "March 12, 2011",
|
|
mp3: "music/05 Riley Rap Song.mp3"
|
|
}, {
|
|
name: "October 27, 2010",
|
|
mp3: "music/04 Incorrect Flannel.mp3"
|
|
}, {
|
|
name: "October 27, 2010",
|
|
mp3: "music/03 Tootsie Roll.mp3"
|
|
}, {
|
|
name: "September 29, 2010",
|
|
mp3: "music/02 Moon Lanker.mp3"
|
|
}, {
|
|
name: "September 26, 2010",
|
|
mp3: "music/01 Super Mario Plays Funk Basketball.mp3"
|
|
}, {
|
|
name: "July 30, 2010",
|
|
mp3: "music/01 Owl (Sophie, Improv).mp3"
|
|
}, {
|
|
name: "June 28, 2010",
|
|
mp3: "music/01 Sososo.mp3"
|
|
}, {
|
|
name: "October 24, 2009",
|
|
mp3: "music/02 Freemaze I.mp3"
|
|
}, {
|
|
name: "September 12, 2009",
|
|
mp3: "music/01 I Might Be Wrong Beat Test.mp3"
|
|
}, {
|
|
name: "August 3, 2009",
|
|
mp3: "music/Footprints-Owl.mp3"
|
|
}, {
|
|
name: "June 20, 2009",
|
|
mp3: "music/01 Again.mp3"
|
|
}, {
|
|
name: "May 15, 2009",
|
|
mp3: "music/01 Stolen Moments.mp3"
|
|
}, {
|
|
name: "May 6, 2009",
|
|
mp3: "music/05 Freema.mp3"
|
|
}, {
|
|
name: "May 6, 2009",
|
|
mp3: "music/04 BCED Sketch.mp3"
|
|
}, {
|
|
name: "April 4, 2009",
|
|
mp3: "music/Zoe.mp3"
|
|
}, {
|
|
name: "March 29, 2009",
|
|
mp3: "music/Follow Your Heart - Down By The River.mp3"
|
|
}, {
|
|
name: "February 7, 2009",
|
|
mp3: "music/03 Love Song (2-7-09, 5am).mp3"
|
|
}, {
|
|
name: "October 14, 2008",
|
|
mp3: "music/02 Dream Improvisation (10-14-08).mp3"
|
|
}, {
|
|
name: "October 14, 2008",
|
|
mp3: "music/01 Improvisation (10-14-08).mp3"
|
|
}, {
|
|
name: "May 22, 2008",
|
|
mp3: "music/The Dalliance of the Eagles.mp3"
|
|
}, {
|
|
name: "May 21, 2008",
|
|
mp3: "music/Owl [Early Sketch].mp3"
|
|
}, {
|
|
name: "May 20, 2008",
|
|
mp3: "music/Improvisation (5-20-08).mp3"
|
|
}, {
|
|
name: "May, 2008",
|
|
mp3: "music/Tiger's Alley [Protools Test 2, Amp Modelers].mp3"
|
|
}, {
|
|
name: "April 8, 2008",
|
|
mp3: "music/Jason's Jazz Explosion.mp3"
|
|
}, {
|
|
name: "February, 2008",
|
|
mp3: "music/Jason A. Donenfeld, JP Wiegand - Alice's Bass.mp3"
|
|
}, {
|
|
name: "February, 2008",
|
|
mp3: "music/Jason A. Donenfeld - JP's House of Funk.mp3"
|
|
}, {
|
|
name: "February, 2008",
|
|
mp3: "music/Jason A. Donenfeld, Rani Schloss, JP Wiegand - Rani's Yakus.mp3"
|
|
}, {
|
|
name: "January, 2008",
|
|
mp3: "music/Poke It Through.mp3"
|
|
}, {
|
|
name: "January, 2008",
|
|
mp3: "music/Jason A. Donenfeld, JP Wiegand - Auburn Moss.mp3"
|
|
}, {
|
|
name: "November, 2007",
|
|
mp3: "music/All The Animals Come Out at Night.mp3"
|
|
}, {
|
|
name: "October, 2007",
|
|
mp3: "music/Endoplasmic Stroll [draft].mp3"
|
|
}]
|
|
, a = 0
|
|
, j = !1;
|
|
0 == window.location.hash.indexOf("#improv") && (a = parseInt(window.location.hash.substring(7)),
|
|
a = isNaN(a) ? 0 : c.length - a,
|
|
j = !0);
|
|
var k = $("#jplayer_play_time")
|
|
, l = $("#jplayer_total_time");
|
|
$("#jquery_jplayer").jPlayer({
|
|
ready: function() {
|
|
$("#jplayer_playlist ul").empty();
|
|
for (var b = 0; b < c.length; ++b) {
|
|
var d = b == c.length - 1 ? "<li class='jplayer_playlist_item_last'>" : "<li>"
|
|
, d = d + ("<a href='#improv" + (c.length - b).toString() + "' id='jplayer_playlist_item_" + b + "' tabindex='1'>" + c[b].name + "</a></li>");
|
|
$("#jplayer_playlist ul").append(d);
|
|
$("#jplayer_playlist_item_" + b).data("index", b).click(function() {
|
|
var b = $(this).data("index");
|
|
a != b ? f(b) : $("#jquery_jplayer").jPlayer("play");
|
|
$(this).blur();
|
|
return !1
|
|
})
|
|
}
|
|
j ? f(a) : g(a)
|
|
},
|
|
oggSupport: !1,
|
|
nativeSupport: !0
|
|
}).jPlayer("onProgressChange", function(a, c, f, e, g) {
|
|
k.text($.jPlayer.convertTime(e));
|
|
l.text($.jPlayer.convertTime(g))
|
|
}).jPlayer("onSoundComplete", function() {
|
|
f(a + 1 < c.length ? a + 1 : 0)
|
|
});
|
|
$("#jplayer_previous").click(function() {
|
|
f(0 <= a - 1 ? a - 1 : c.length - 1);
|
|
$(this).blur();
|
|
return !1
|
|
});
|
|
$("#jplayer_next").click(function() {
|
|
f(a + 1 < c.length ? a + 1 : 0);
|
|
$(this).blur();
|
|
return !1
|
|
})
|
|
});
|
|
$(window).load(function() {
|
|
window._gaq = window._gaq || [];
|
|
window._gaq.push(["_setAccount", "UA-135234-2"]);
|
|
window._gaq.push(["_trackPageview"]);
|
|
var a = document.createElement("script");
|
|
a.type = "text/javascript";
|
|
a.async = !0;
|
|
a.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";
|
|
var b = document.getElementsByTagName("script")[0];
|
|
b.parentNode.insertBefore(a, b)
|
|
});
|