Created
June 4, 2013 21:08
-
-
Save anonymous/5709611 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function (x, v) { | |
function P() { | |
if (!c.isReady) { | |
try { | |
s.documentElement.doScroll("left") | |
} catch (a) { | |
setTimeout(P, 1); | |
return | |
} | |
c.ready() | |
} | |
} | |
function ca(a, b) { | |
b.src ? c.ajax({ | |
url: b.src, | |
async: false, | |
dataType: "script" | |
}) : c.globalEval(b.text || b.textContent || b.innerHTML || ""); | |
b.parentNode && b.parentNode.removeChild(b) | |
} | |
function L(a, b, d, e, f, h) { | |
var i = a.length; | |
if (typeof b === "object") { | |
for (var n in b) L(a, n, b[n], e, f, d); | |
return a | |
} | |
if (d !== v) { | |
e = !h && e && c.isFunction(d); | |
for (n = 0; n < i; n++) f(a[n], b, e ? d.call(a[n], n, f(a[n], b)) : d, h); | |
return a | |
} | |
return i ? | |
f(a[0], b) : v | |
} | |
function I() { | |
return (new Date).getTime() | |
} | |
function Q() { | |
return false | |
} | |
function R() { | |
return true | |
} | |
function D(a, b, d) { | |
d[0].type = a; | |
return c.event.handle.apply(b, d) | |
} | |
function E(a) { | |
var b, d = [], | |
e = [], | |
f = arguments, | |
h, i, n, k, o, r; | |
i = c.data(this, "events"); | |
if (!(a.liveFired === this || !i || !i.live || a.button && a.type === "click")) { | |
a.liveFired = this; | |
var y = i.live.slice(0); | |
for (k = 0; k < y.length; k++) { | |
i = y[k]; | |
i.origType.replace(W, "") === a.type ? e.push(i.selector) : y.splice(k--, 1) | |
} | |
h = c(a.target).closest(e, a.currentTarget); | |
o = 0; | |
for (r = | |
h.length; o < r; o++) | |
for (k = 0; k < y.length; k++) { | |
i = y[k]; | |
if (h[o].selector === i.selector) { | |
n = h[o].elem; | |
e = null; | |
if (i.preType === "mouseenter" || i.preType === "mouseleave") e = c(a.relatedTarget).closest(i.selector)[0]; | |
if (!e || e !== n) d.push({ | |
elem: n, | |
handleObj: i | |
}) | |
} | |
} | |
o = 0; | |
for (r = d.length; o < r; o++) { | |
h = d[o]; | |
a.currentTarget = h.elem; | |
a.data = h.handleObj.data; | |
a.handleObj = h.handleObj; | |
if (h.handleObj.origHandler.apply(h.elem, f) === false) { | |
b = false; | |
break | |
} | |
} | |
return b | |
} | |
} | |
function K(a, b) { | |
return "live." + (a && a !== "*" ? a + "." : "") + b.replace(/\./g, "`").replace(/ /g, | |
"&") | |
} | |
function J(a, b) { | |
var d = 0; | |
b.each(function () { | |
if (this.nodeName === (a[d] && a[d].nodeName)) { | |
var e = c.data(a[d++]), | |
f = c.data(this, e); | |
if (e = e && e.events) { | |
delete f.handle; | |
f.events = {}; | |
for (var h in e) | |
for (var i in e[h]) c.event.add(this, h, e[h][i], e[h][i].data) | |
} | |
} | |
}) | |
} | |
function X(a, b, d) { | |
var e, f, h; | |
b = b && b[0] ? b[0].ownerDocument || b[0] : s; | |
if (a.length === 1 && typeof a[0] === "string" && a[0].length < 512 && b === s && !ua.test(a[0]) && (c.support.checkClone || !va.test(a[0]))) { | |
f = true; | |
if (h = c.fragments[a[0]]) | |
if (h !== 1) e = h | |
} | |
if (!e) { | |
e = b.createDocumentFragment(); | |
c.clean(a, b, e, d) | |
} | |
if (f) c.fragments[a[0]] = h ? e : 1; | |
return { | |
fragment: e, | |
cacheable: f | |
} | |
} | |
function S(a, b) { | |
var d = {}; | |
c.each(wa.concat.apply([], wa.slice(0, b)), function () { | |
d[this] = a | |
}); | |
return d | |
} | |
function xa(a) { | |
return "scrollTo" in a && a.document ? a : a.nodeType === 9 ? a.defaultView || a.parentWindow : false | |
} | |
var c = function (a, b) { | |
return new c.fn.init(a, b) | |
}, Ra = x.jQuery, | |
Sa = x.$, | |
s = x.document, | |
da, Ta = /^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/, | |
Ua = /^.[^:#\[\.,]*$/, | |
Va = /\S/, | |
Wa = /^(\s|\u00A0)+|(\s|\u00A0)+$/g, | |
Xa = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, | |
Y = navigator.userAgent, | |
ya = false, | |
Z = [], | |
T, ha = Object.prototype.toString, | |
ia = Object.prototype.hasOwnProperty, | |
ja = Array.prototype.push, | |
aa = Array.prototype.slice, | |
za = Array.prototype.indexOf; | |
c.fn = c.prototype = { | |
init: function (a, b) { | |
var d, e, f; | |
if (!a) return this; | |
if (a.nodeType) { | |
this.context = this[0] = a; | |
this.length = 1; | |
return this | |
} | |
if (a === "body" && !b) { | |
this.context = s; | |
this[0] = s.body; | |
this.selector = "body"; | |
this.length = 1; | |
return this | |
} | |
if (typeof a === "string") | |
if ((d = Ta.exec(a)) && (d[1] || !b)) | |
if (d[1]) { | |
f = b ? b.ownerDocument || b : s; | |
if (e = Xa.exec(a)) | |
if (c.isPlainObject(b)) { | |
a = [s.createElement(e[1])]; | |
c.fn.attr.call(a, b, true) | |
} else a = [f.createElement(e[1])]; | |
else { | |
e = X([d[1]], [f]); | |
a = (e.cacheable ? e.fragment.cloneNode(true) : e.fragment).childNodes | |
} | |
return c.merge(this, a) | |
} else { | |
if (e = s.getElementById(d[2])) { | |
if (e.id !== d[2]) return da.find(a); | |
this.length = 1; | |
this[0] = e | |
} | |
this.context = s; | |
this.selector = a; | |
return this | |
} else if (!b && /^\w+$/.test(a)) { | |
this.selector = a; | |
this.context = s; | |
a = s.getElementsByTagName(a); | |
return c.merge(this, a) | |
} else return !b || b.jquery ? (b || da).find(a) : c(b).find(a); | |
else if (c.isFunction(a)) return da.ready(a); | |
if (a.selector !== v) { | |
this.selector = a.selector; | |
this.context = a.context | |
} | |
return c.makeArray(a, this) | |
}, | |
selector: "", | |
jquery: "1.4.2", | |
length: 0, | |
size: function () { | |
return this.length | |
}, | |
toArray: function () { | |
return aa.call(this, 0) | |
}, | |
get: function (a) { | |
return a == null ? this.toArray() : a < 0 ? this.slice(a)[0] : this[a] | |
}, | |
pushStack: function (a, b, d) { | |
var e = c(); | |
c.isArray(a) ? ja.apply(e, a) : c.merge(e, a); | |
e.prevObject = this; | |
e.context = this.context; | |
if (b === "find") e.selector = this.selector + (this.selector ? " " : "") + d; | |
else if (b) e.selector = this.selector + | |
"." + b + "(" + d + ")"; | |
return e | |
}, | |
each: function (a, b) { | |
return c.each(this, a, b) | |
}, | |
ready: function (a) { | |
c.bindReady(); | |
if (c.isReady) a.call(s, c); | |
else Z && Z.push(a); | |
return this | |
}, | |
eq: function (a) { | |
return a === -1 ? this.slice(a) : this.slice(a, +a + 1) | |
}, | |
first: function () { | |
return this.eq(0) | |
}, | |
last: function () { | |
return this.eq(-1) | |
}, | |
slice: function () { | |
return this.pushStack(aa.apply(this, arguments), "slice", aa.call(arguments).join(",")) | |
}, | |
map: function (a) { | |
return this.pushStack(c.map(this, function (b, d) { | |
return a.call(b, d, b) | |
})) | |
}, | |
end: function () { | |
return this.prevObject || | |
c(null) | |
}, | |
push: ja, | |
sort: [].sort, | |
splice: [].splice | |
}; | |
c.fn.init.prototype = c.fn; | |
c.extend = c.fn.extend = function () { | |
var a = arguments[0] || {}, b = 1, | |
d = arguments.length, | |
e = false, | |
f, h, i, n; | |
if (typeof a === "boolean") { | |
e = a; | |
a = arguments[1] || {}; | |
b = 2 | |
} | |
if (typeof a !== "object" && !c.isFunction(a)) a = {}; | |
if (d === b) { | |
a = this; | |
--b | |
} | |
for (; b < d; b++) | |
if ((f = arguments[b]) != null) | |
for (h in f) { | |
i = a[h]; | |
n = f[h]; | |
if (a !== n) | |
if (e && n && (c.isPlainObject(n) || c.isArray(n))) { | |
i = i && (c.isPlainObject(i) || c.isArray(i)) ? i : c.isArray(n) ? [] : {}; | |
a[h] = c.extend(e, i, n) | |
} else if (n !== v) a[h] = | |
n | |
} | |
return a | |
}; | |
c.extend({ | |
noConflict: function (a) { | |
x.$ = Sa; | |
if (a) x.jQuery = Ra; | |
return c | |
}, | |
isReady: false, | |
ready: function () { | |
if (!c.isReady) { | |
if (!s.body) return setTimeout(c.ready, 13); | |
c.isReady = true; | |
if (Z) { | |
for (var a, b = 0; a = Z[b++];) a.call(s, c); | |
Z = null | |
} | |
c.fn.triggerHandler && c(s).triggerHandler("ready") | |
} | |
}, | |
bindReady: function () { | |
if (!ya) { | |
ya = true; | |
if (s.readyState === "complete") return c.ready(); | |
if (s.addEventListener) { | |
s.addEventListener("DOMContentLoaded", T, false); | |
x.addEventListener("load", c.ready, false) | |
} else if (s.attachEvent) { | |
s.attachEvent("onreadystatechange", | |
T); | |
x.attachEvent("onload", c.ready); | |
var a = false; | |
try { | |
a = x.frameElement == null | |
} catch (b) {} | |
s.documentElement.doScroll && a && P() | |
} | |
} | |
}, | |
isFunction: function (a) { | |
return ha.call(a) === "[object Function]" | |
}, | |
isArray: function (a) { | |
return ha.call(a) === "[object Array]" | |
}, | |
isPlainObject: function (a) { | |
if (!a || ha.call(a) !== "[object Object]" || a.nodeType || a.setInterval) return false; | |
if (a.constructor && !ia.call(a, "constructor") && !ia.call(a.constructor.prototype, "isPrototypeOf")) return false; | |
for (var b in a); | |
return b === v || ia.call(a, b) | |
}, | |
isEmptyObject: function (a) { | |
for (var b in a) return false; | |
return true | |
}, | |
error: function (a) { | |
throw a; | |
}, | |
parseJSON: function (a) { | |
if (typeof a !== "string" || !a) return null; | |
a = c.trim(a); | |
if (/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) return x.JSON && x.JSON.parse ? x.JSON.parse(a) : (new Function("return " + a))(); | |
else c.error("Invalid JSON: " + a) | |
}, | |
noop: function () {}, | |
globalEval: function (a) { | |
if (a && Va.test(a)) { | |
var b = s.getElementsByTagName("head")[0] || | |
s.documentElement, | |
d = s.createElement("script"); | |
d.type = "text/javascript"; | |
if (c.support.scriptEval) d.appendChild(s.createTextNode(a)); | |
else d.text = a; | |
b.insertBefore(d, b.firstChild); | |
b.removeChild(d) | |
} | |
}, | |
nodeName: function (a, b) { | |
return a.nodeName && a.nodeName.toUpperCase() === b.toUpperCase() | |
}, | |
each: function (a, b, d) { | |
var e, f = 0, | |
h = a.length, | |
i = h === v || c.isFunction(a); | |
if (d) | |
if (i) | |
for (e in a) { | |
if (b.apply(a[e], d) === false) break | |
} else | |
for (; f < h;) { | |
if (b.apply(a[f++], d) === false) break | |
} else if (i) | |
for (e in a) { | |
if (b.call(a[e], e, a[e]) === false) break | |
} else | |
for (d = | |
a[0]; f < h && b.call(d, f, d) !== false; d = a[++f]); | |
return a | |
}, | |
trim: function (a) { | |
return (a || "").replace(Wa, "") | |
}, | |
makeArray: function (a, b) { | |
var d = b || []; | |
if (a != null) a.length == null || typeof a === "string" || c.isFunction(a) || typeof a !== "function" && a.setInterval ? ja.call(d, a) : c.merge(d, a); | |
return d | |
}, | |
inArray: function (a, b) { | |
if (b.indexOf) return b.indexOf(a); | |
for (var d = 0, e = b.length; d < e; d++) | |
if (b[d] === a) return d; | |
return -1 | |
}, | |
merge: function (a, b) { | |
var d = a.length, | |
e = 0; | |
if (typeof b.length === "number") | |
for (var f = b.length; e < f; e++) a[d++] = b[e]; | |
else | |
for (; b[e] !== | |
v;) a[d++] = b[e++]; | |
a.length = d; | |
return a | |
}, | |
grep: function (a, b, d) { | |
for (var e = [], f = 0, h = a.length; f < h; f++)!d !== !b(a[f], f) && e.push(a[f]); | |
return e | |
}, | |
map: function (a, b, d) { | |
for (var e = [], f, h = 0, i = a.length; h < i; h++) { | |
f = b(a[h], h, d); | |
if (f != null) e[e.length] = f | |
} | |
return e.concat.apply([], e) | |
}, | |
guid: 1, | |
proxy: function (a, b, d) { | |
if (arguments.length === 2) | |
if (typeof b === "string") { | |
d = a; | |
a = d[b]; | |
b = v | |
} else if (b && !c.isFunction(b)) { | |
d = b; | |
b = v | |
} | |
if (!b && a) b = function () { | |
return a.apply(d || this, arguments) | |
}; | |
if (a) b.guid = a.guid = a.guid || b.guid || c.guid++; | |
return b | |
}, | |
uaMatch: function (a) { | |
a = a.toLowerCase(); | |
a = /(webkit)[ \/]([\w.]+)/.exec(a) || /(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a) || /(msie) ([\w.]+)/.exec(a) || !/compatible/.test(a) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec(a) || []; | |
return { | |
browser: a[1] || "", | |
version: a[2] || "0" | |
} | |
}, | |
browser: {} | |
}); | |
Y = c.uaMatch(Y); | |
if (Y.browser) { | |
c.browser[Y.browser] = true; | |
c.browser.version = Y.version | |
} | |
if (c.browser.webkit) c.browser.safari = true; | |
if (za) c.inArray = function (a, b) { | |
return za.call(b, a) | |
}; | |
da = c(s); | |
if (s.addEventListener) T = function () { | |
s.removeEventListener("DOMContentLoaded", | |
T, false); | |
c.ready() | |
}; | |
else if (s.attachEvent) T = function () { | |
if (s.readyState === "complete") { | |
s.detachEvent("onreadystatechange", T); | |
c.ready() | |
} | |
}; | |
(function () { | |
c.support = {}; | |
var a = s.documentElement, | |
b = s.createElement("script"), | |
d = s.createElement("div"), | |
e = "script" + I(); | |
d.style.display = "none"; | |
d.innerHTML = " <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>"; | |
var f = d.getElementsByTagName("*"), | |
h = d.getElementsByTagName("a")[0]; | |
if (!(!f || !f.length || !h)) { | |
c.support = { | |
leadingWhitespace: d.firstChild.nodeType === 3, | |
tbody: !d.getElementsByTagName("tbody").length, | |
htmlSerialize: !! d.getElementsByTagName("link").length, | |
style: /red/.test(h.getAttribute("style")), | |
hrefNormalized: h.getAttribute("href") === "/a", | |
opacity: /^0.55$/.test(h.style.opacity), | |
cssFloat: !! h.style.cssFloat, | |
checkOn: d.getElementsByTagName("input")[0].value === "on", | |
optSelected: s.createElement("select").appendChild(s.createElement("option")).selected, | |
parentNode: d.removeChild(d.appendChild(s.createElement("div"))).parentNode === null, | |
deleteExpando: true, | |
checkClone: false, | |
scriptEval: false, | |
noCloneEvent: true, | |
boxModel: null | |
}; | |
b.type = "text/javascript"; | |
try { | |
b.appendChild(s.createTextNode("window." + e + "=1;")) | |
} catch (i) {} | |
a.insertBefore(b, a.firstChild); | |
if (x[e]) { | |
c.support.scriptEval = true; | |
delete x[e] | |
} | |
try { | |
delete b.test | |
} catch (n) { | |
c.support.deleteExpando = false | |
} | |
a.removeChild(b); | |
if (d.attachEvent && d.fireEvent) { | |
d.attachEvent("onclick", function k() { | |
c.support.noCloneEvent = false; | |
d.detachEvent("onclick", k) | |
}); | |
d.cloneNode(true).fireEvent("onclick") | |
} | |
d = s.createElement("div"); | |
d.innerHTML = "<input type='radio' name='radiotest' checked='checked'/>"; | |
a = s.createDocumentFragment(); | |
a.appendChild(d.firstChild); | |
c.support.checkClone = a.cloneNode(true).cloneNode(true).lastChild.checked; | |
c(function () { | |
var k = s.createElement("div"); | |
k.style.width = k.style.paddingLeft = "1px"; | |
s.body.appendChild(k); | |
c.boxModel = c.support.boxModel = k.offsetWidth === 2; | |
s.body.removeChild(k).style.display = "none" | |
}); | |
a = function (k) { | |
var o = s.createElement("div"); | |
k = "on" + k; | |
var r = k in o; | |
if (!r) { | |
o.setAttribute(k, "return;"); | |
r = typeof o[k] === | |
"function" | |
} | |
return r | |
}; | |
c.support.submitBubbles = a("submit"); | |
c.support.changeBubbles = a("change"); | |
a = b = d = f = h = null | |
} | |
})(); | |
c.props = { | |
"for": "htmlFor", | |
"class": "className", | |
readonly: "readOnly", | |
maxlength: "maxLength", | |
cellspacing: "cellSpacing", | |
rowspan: "rowSpan", | |
colspan: "colSpan", | |
tabindex: "tabIndex", | |
usemap: "useMap", | |
frameborder: "frameBorder" | |
}; | |
var M = "jQuery" + I(), | |
Ya = 0, | |
Aa = {}; | |
c.extend({ | |
cache: {}, | |
expando: M, | |
noData: { | |
embed: true, | |
object: true, | |
applet: true | |
}, | |
data: function (a, b, d) { | |
if (!(a.nodeName && c.noData[a.nodeName.toLowerCase()])) { | |
a = | |
a == x ? Aa : a; | |
var e = a[M], | |
f = c.cache; | |
if (!e && typeof b === "string" && d === v) return null; | |
e || (e = ++Ya); | |
if (typeof b === "object") { | |
a[M] = e; | |
f[e] = c.extend(true, {}, b) | |
} else if (!f[e]) { | |
a[M] = e; | |
f[e] = {} | |
} | |
a = f[e]; | |
if (d !== v) a[b] = d; | |
return typeof b === "string" ? a[b] : a | |
} | |
}, | |
removeData: function (a, b) { | |
if (!(a.nodeName && c.noData[a.nodeName.toLowerCase()])) { | |
a = a == x ? Aa : a; | |
var d = a[M], | |
e = c.cache, | |
f = e[d]; | |
if (b) { | |
if (f) { | |
delete f[b]; | |
c.isEmptyObject(f) && c.removeData(a) | |
} | |
} else { | |
if (c.support.deleteExpando) delete a[c.expando]; | |
else a.removeAttribute && a.removeAttribute(c.expando); | |
delete e[d] | |
} | |
} | |
} | |
}); | |
c.fn.extend({ | |
data: function (a, b) { | |
if (typeof a === "undefined" && this.length) return c.data(this[0]); | |
else if (typeof a === "object") return this.each(function () { | |
c.data(this, a) | |
}); | |
var d = a.split("."); | |
d[1] = d[1] ? "." + d[1] : ""; | |
if (b === v) { | |
var e = this.triggerHandler("getData" + d[1] + "!", [d[0]]); | |
if (e === v && this.length) e = c.data(this[0], a); | |
return e === v && d[1] ? this.data(d[0]) : e | |
} else return this.trigger("setData" + d[1] + "!", [d[0], b]).each(function () { | |
c.data(this, a, b) | |
}) | |
}, | |
removeData: function (a) { | |
return this.each(function () { | |
c.removeData(this, | |
a) | |
}) | |
} | |
}); | |
c.extend({ | |
queue: function (a, b, d) { | |
if (a) { | |
b = (b || "fx") + "queue"; | |
var e = c.data(a, b); | |
if (!d) return e || []; | |
if (!e || c.isArray(d)) e = c.data(a, b, c.makeArray(d)); | |
else e.push(d); | |
return e | |
} | |
}, | |
dequeue: function (a, b) { | |
b = b || "fx"; | |
var d = c.queue(a, b), | |
e = d.shift(); | |
if (e === "inprogress") e = d.shift(); | |
if (e) { | |
b === "fx" && d.unshift("inprogress"); | |
e.call(a, function () { | |
c.dequeue(a, b) | |
}) | |
} | |
} | |
}); | |
c.fn.extend({ | |
queue: function (a, b) { | |
if (typeof a !== "string") { | |
b = a; | |
a = "fx" | |
} | |
if (b === v) return c.queue(this[0], a); | |
return this.each(function () { | |
var d = c.queue(this, | |
a, b); | |
a === "fx" && d[0] !== "inprogress" && c.dequeue(this, a) | |
}) | |
}, | |
dequeue: function (a) { | |
return this.each(function () { | |
c.dequeue(this, a) | |
}) | |
}, | |
delay: function (a, b) { | |
a = c.fx ? c.fx.speeds[a] || a : a; | |
b = b || "fx"; | |
return this.queue(b, function () { | |
var d = this; | |
setTimeout(function () { | |
c.dequeue(d, b) | |
}, a) | |
}) | |
}, | |
clearQueue: function (a) { | |
return this.queue(a || "fx", []) | |
} | |
}); | |
var Ba = /[\n\t]/g, | |
ka = /\s+/, | |
Za = /\r/g, | |
$a = /href|src|style/, | |
ab = /(button|input)/i, | |
bb = /(button|input|object|select|textarea)/i, | |
cb = /^(a|area)$/i, | |
Ca = /radio|checkbox/; | |
c.fn.extend({ | |
attr: function (a, | |
b) { | |
return L(this, a, b, true, c.attr) | |
}, | |
removeAttr: function (a) { | |
return this.each(function () { | |
c.attr(this, a, ""); | |
this.nodeType === 1 && this.removeAttribute(a) | |
}) | |
}, | |
addClass: function (a) { | |
if (c.isFunction(a)) return this.each(function (o) { | |
var r = c(this); | |
r.addClass(a.call(this, o, r.attr("class"))) | |
}); | |
if (a && typeof a === "string") | |
for (var b = (a || "").split(ka), d = 0, e = this.length; d < e; d++) { | |
var f = this[d]; | |
if (f.nodeType === 1) | |
if (f.className) { | |
for (var h = " " + f.className + " ", i = f.className, n = 0, k = b.length; n < k; n++) | |
if (h.indexOf(" " + b[n] + " ") < | |
0) i += " " + b[n]; | |
f.className = c.trim(i) | |
} else f.className = a | |
} | |
return this | |
}, | |
removeClass: function (a) { | |
if (c.isFunction(a)) return this.each(function (k) { | |
var o = c(this); | |
o.removeClass(a.call(this, k, o.attr("class"))) | |
}); | |
if (a && typeof a === "string" || a === v) | |
for (var b = (a || "").split(ka), d = 0, e = this.length; d < e; d++) { | |
var f = this[d]; | |
if (f.nodeType === 1 && f.className) | |
if (a) { | |
for (var h = (" " + f.className + " ").replace(Ba, " "), i = 0, n = b.length; i < n; i++) h = h.replace(" " + b[i] + " ", " "); | |
f.className = c.trim(h) | |
} else f.className = "" | |
} | |
return this | |
}, | |
toggleClass: function (a, | |
b) { | |
var d = typeof a, | |
e = typeof b === "boolean"; | |
if (c.isFunction(a)) return this.each(function (f) { | |
var h = c(this); | |
h.toggleClass(a.call(this, f, h.attr("class"), b), b) | |
}); | |
return this.each(function () { | |
if (d === "string") | |
for (var f, h = 0, i = c(this), n = b, k = a.split(ka); f = k[h++];) { | |
n = e ? n : !i.hasClass(f); | |
i[n ? "addClass" : "removeClass"](f) | |
} else if (d === "undefined" || d === "boolean") { | |
this.className && c.data(this, "__className__", this.className); | |
this.className = this.className || a === false ? "" : c.data(this, "__className__") || "" | |
} | |
}) | |
}, | |
hasClass: function (a) { | |
a = | |
" " + a + " "; | |
for (var b = 0, d = this.length; b < d; b++) | |
if ((" " + this[b].className + " ").replace(Ba, " ").indexOf(a) > -1) return true; | |
return false | |
}, | |
val: function (a) { | |
if (a === v) { | |
var b = this[0]; | |
if (b) { | |
if (c.nodeName(b, "option")) return (b.attributes.value || {}).specified ? b.value : b.text; | |
if (c.nodeName(b, "select")) { | |
var d = b.selectedIndex, | |
e = [], | |
f = b.options; | |
b = b.type === "select-one"; | |
if (d < 0) return null; | |
var h = b ? d : 0; | |
for (d = b ? d + 1 : f.length; h < d; h++) { | |
var i = f[h]; | |
if (i.selected) { | |
a = c(i).val(); | |
if (b) return a; | |
e.push(a) | |
} | |
} | |
return e | |
} | |
if (Ca.test(b.type) && !c.support.checkOn) return b.getAttribute("value") === null ? "on" : b.value; | |
return (b.value || "").replace(Za, "") | |
} | |
return v | |
} | |
var n = c.isFunction(a); | |
return this.each(function (k) { | |
var o = c(this), | |
r = a; | |
if (this.nodeType === 1) { | |
if (n) r = a.call(this, k, o.val()); | |
if (typeof r === "number") r += ""; | |
if (c.isArray(r) && Ca.test(this.type)) this.checked = c.inArray(o.val(), r) >= 0; | |
else if (c.nodeName(this, "select")) { | |
var y = c.makeArray(r); | |
c("option", this).each(function () { | |
this.selected = c.inArray(c(this).val(), y) >= 0 | |
}); | |
if (!y.length) this.selectedIndex = -1 | |
} else this.value = r | |
} | |
}) | |
} | |
}); | |
c.extend({ | |
attrFn: { | |
val: true, | |
css: true, | |
html: true, | |
text: true, | |
data: true, | |
width: true, | |
height: true, | |
offset: true | |
}, | |
attr: function (a, b, d, e) { | |
if (!a || a.nodeType === 3 || a.nodeType === 8) return v; | |
if (e && b in c.attrFn) return c(a)[b](d); | |
e = a.nodeType !== 1 || !c.isXMLDoc(a); | |
var f = d !== v; | |
b = e && c.props[b] || b; | |
if (a.nodeType === 1) { | |
var h = $a.test(b); | |
if (b in a && e && !h) { | |
if (f) { | |
b === "type" && ab.test(a.nodeName) && a.parentNode && c.error("type property can't be changed"); | |
a[b] = d | |
} | |
if (c.nodeName(a, "form") && a.getAttributeNode(b)) return a.getAttributeNode(b).nodeValue; | |
if (b === "tabIndex") return (b = a.getAttributeNode("tabIndex")) && b.specified ? b.value : bb.test(a.nodeName) || cb.test(a.nodeName) && a.href ? 0 : v; | |
return a[b] | |
} | |
if (!c.support.style && e && b === "style") { | |
if (f) a.style.cssText = "" + d; | |
return a.style.cssText | |
} | |
f && a.setAttribute(b, "" + d); | |
a = !c.support.hrefNormalized && e && h ? a.getAttribute(b, 2) : a.getAttribute(b); | |
return a === null ? v : a | |
} | |
return c.style(a, b, d) | |
} | |
}); | |
var W = /\.(.*)$/, | |
db = function (a) { | |
return a.replace(/[^\w\s\.\|`]/g, function (b) { | |
return "\\" + b | |
}) | |
}; | |
c.event = { | |
add: function (a, b, d, e) { | |
if (!(a.nodeType === | |
3 || a.nodeType === 8)) { | |
if (a.setInterval && a !== x && !a.frameElement) a = x; | |
var f, h; | |
if (d.handler) { | |
f = d; | |
d = f.handler | |
} | |
if (!d.guid) d.guid = c.guid++; | |
if (h = c.data(a)) { | |
var i = h.events = h.events || {}, n = h.handle; | |
if (!n) h.handle = n = function () { | |
return typeof c !== "undefined" && !c.event.triggered ? c.event.handle.apply(n.elem, arguments) : v | |
}; | |
n.elem = a; | |
b = b.split(" "); | |
for (var k, o = 0, r; k = b[o++];) { | |
h = f ? c.extend({}, f) : { | |
handler: d, | |
data: e | |
}; | |
if (k.indexOf(".") > -1) { | |
r = k.split("."); | |
k = r.shift(); | |
h.namespace = r.slice(0).sort().join(".") | |
} else { | |
r = []; | |
h.namespace = | |
"" | |
} | |
h.type = k; | |
h.guid = d.guid; | |
var y = i[k], | |
A = c.event.special[k] || {}; | |
if (!y) { | |
y = i[k] = []; | |
if (!A.setup || A.setup.call(a, e, r, n) === false) | |
if (a.addEventListener) a.addEventListener(k, n, false); | |
else a.attachEvent && a.attachEvent("on" + k, n) | |
} | |
if (A.add) { | |
A.add.call(a, h); | |
if (!h.handler.guid) h.handler.guid = d.guid | |
} | |
y.push(h); | |
c.event.global[k] = true | |
} | |
a = null | |
} | |
} | |
}, | |
global: {}, | |
remove: function (a, b, d, e) { | |
if (!(a.nodeType === 3 || a.nodeType === 8)) { | |
var f, h = 0, | |
i, n, k, o, r, y, A = c.data(a), | |
C = A && A.events; | |
if (A && C) { | |
if (b && b.type) { | |
d = b.handler; | |
b = b.type | |
} | |
if (!b || typeof b === | |
"string" && b.charAt(0) === ".") { | |
b = b || ""; | |
for (f in C) c.event.remove(a, f + b) | |
} else { | |
for (b = b.split(" "); f = b[h++];) { | |
o = f; | |
i = f.indexOf(".") < 0; | |
n = []; | |
if (!i) { | |
n = f.split("."); | |
f = n.shift(); | |
k = RegExp("(^|\\.)" + c.map(n.slice(0).sort(), db).join("\\.(?:.*\\.)?") + "(\\.|$)") | |
} | |
if (r = C[f]) | |
if (d) { | |
o = c.event.special[f] || {}; | |
for (B = e || 0; B < r.length; B++) { | |
y = r[B]; | |
if (d.guid === y.guid) { | |
if (i || k.test(y.namespace)) { | |
e == null && r.splice(B--, 1); | |
o.remove && o.remove.call(a, y) | |
} | |
if (e != null) break | |
} | |
} | |
if (r.length === 0 || e != null && r.length === 1) { | |
if (!o.teardown || o.teardown.call(a, | |
n) === false) Da(a, f, A.handle); | |
delete C[f] | |
} | |
} else | |
for (var B = 0; B < r.length; B++) { | |
y = r[B]; | |
if (i || k.test(y.namespace)) { | |
c.event.remove(a, o, y.handler, B); | |
r.splice(B--, 1) | |
} | |
} | |
} | |
if (c.isEmptyObject(C)) { | |
if (b = A.handle) b.elem = null; | |
delete A.events; | |
delete A.handle; | |
c.isEmptyObject(A) && c.removeData(a) | |
} | |
} | |
} | |
} | |
}, | |
trigger: function (a, b, d, e) { | |
var f = a.type || a; | |
if (!e) { | |
a = typeof a === "object" ? a[M] ? a : c.extend(c.Event(f), a) : c.Event(f); | |
if (f.indexOf("!") >= 0) { | |
a.type = f = f.slice(0, -1); | |
a.exclusive = true | |
} | |
if (!d) { | |
a.stopPropagation(); | |
c.event.global[f] && c.each(c.cache, function () { | |
this.events && this.events[f] && c.event.trigger(a, b, this.handle.elem) | |
}) | |
} | |
if (!d || d.nodeType === 3 || d.nodeType === 8) return v; | |
a.result = v; | |
a.target = d; | |
b = c.makeArray(b); | |
b.unshift(a) | |
} | |
a.currentTarget = d; | |
(e = c.data(d, "handle")) && e.apply(d, b); | |
e = d.parentNode || d.ownerDocument; | |
try { | |
if (!(d && d.nodeName && c.noData[d.nodeName.toLowerCase()])) | |
if (d["on" + f] && d["on" + f].apply(d, b) === false) a.result = false | |
} catch (h) {} | |
if (!a.isPropagationStopped() && e) c.event.trigger(a, b, e, true); | |
else if (!a.isDefaultPrevented()) { | |
e = a.target; | |
var i, | |
n = c.nodeName(e, "a") && f === "click", | |
k = c.event.special[f] || {}; | |
if ((!k._default || k._default.call(d, a) === false) && !n && !(e && e.nodeName && c.noData[e.nodeName.toLowerCase()])) { | |
try { | |
if (e[f]) { | |
if (i = e["on" + f]) e["on" + f] = null; | |
c.event.triggered = true; | |
e[f]() | |
} | |
} catch (o) {} | |
if (i) e["on" + f] = i; | |
c.event.triggered = false | |
} | |
} | |
}, | |
handle: function (a) { | |
var b, d, e, f; | |
a = arguments[0] = c.event.fix(a || x.event); | |
a.currentTarget = this; | |
b = a.type.indexOf(".") < 0 && !a.exclusive; | |
if (!b) { | |
d = a.type.split("."); | |
a.type = d.shift(); | |
e = RegExp("(^|\\.)" + d.slice(0).sort().join("\\.(?:.*\\.)?") + | |
"(\\.|$)") | |
} | |
f = c.data(this, "events"); | |
d = f[a.type]; | |
if (f && d) { | |
d = d.slice(0); | |
f = 0; | |
for (var h = d.length; f < h; f++) { | |
var i = d[f]; | |
if (b || e.test(i.namespace)) { | |
a.handler = i.handler; | |
a.data = i.data; | |
a.handleObj = i; | |
i = i.handler.apply(this, arguments); | |
if (i !== v) { | |
a.result = i; | |
if (i === false) { | |
a.preventDefault(); | |
a.stopPropagation() | |
} | |
} | |
if (a.isImmediatePropagationStopped()) break | |
} | |
} | |
} | |
return a.result | |
}, | |
props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), | |
fix: function (a) { | |
if (a[M]) return a; | |
var b = a; | |
a = c.Event(b); | |
for (var d = this.props.length, e; d;) { | |
e = this.props[--d]; | |
a[e] = b[e] | |
} | |
if (!a.target) a.target = a.srcElement || s; | |
if (a.target.nodeType === 3) a.target = a.target.parentNode; | |
if (!a.relatedTarget && a.fromElement) a.relatedTarget = a.fromElement === a.target ? a.toElement : a.fromElement; | |
if (a.pageX == null && a.clientX != null) { | |
b = s.documentElement; | |
d = s.body; | |
a.pageX = a.clientX + (b && b.scrollLeft || d && d.scrollLeft || 0) - (b && b.clientLeft || d && d.clientLeft || 0); | |
a.pageY = a.clientY + (b && b.scrollTop || | |
d && d.scrollTop || 0) - (b && b.clientTop || d && d.clientTop || 0) | |
} | |
if (!a.which && (a.charCode || a.charCode === 0 ? a.charCode : a.keyCode)) a.which = a.charCode || a.keyCode; | |
if (!a.metaKey && a.ctrlKey) a.metaKey = a.ctrlKey; | |
if (!a.which && a.button !== v) a.which = a.button & 1 ? 1 : a.button & 2 ? 3 : a.button & 4 ? 2 : 0; | |
return a | |
}, | |
guid: 1E8, | |
proxy: c.proxy, | |
special: { | |
ready: { | |
setup: c.bindReady, | |
teardown: c.noop | |
}, | |
live: { | |
add: function (a) { | |
c.event.add(this, a.origType, c.extend({}, a, { | |
handler: E | |
})) | |
}, | |
remove: function (a) { | |
var b = true, | |
d = a.origType.replace(W, ""); | |
c.each(c.data(this, | |
"events").live || [], function () { | |
if (d === this.origType.replace(W, "")) return b = false | |
}); | |
b && c.event.remove(this, a.origType, E) | |
} | |
}, | |
beforeunload: { | |
setup: function (a, b, d) { | |
if (this.setInterval) this.onbeforeunload = d; | |
return false | |
}, | |
teardown: function (a, b) { | |
if (this.onbeforeunload === b) this.onbeforeunload = null | |
} | |
} | |
} | |
}; | |
var Da = s.removeEventListener ? function (a, b, d) { | |
a.removeEventListener(b, d, false) | |
} : function (a, b, d) { | |
a.detachEvent("on" + b, d) | |
}; | |
c.Event = function (a) { | |
if (!this.preventDefault) return new c.Event(a); | |
if (a && a.type) { | |
this.originalEvent = | |
a; | |
this.type = a.type | |
} else this.type = a; | |
this.timeStamp = I(); | |
this[M] = true | |
}; | |
c.Event.prototype = { | |
preventDefault: function () { | |
this.isDefaultPrevented = R; | |
var a = this.originalEvent; | |
if (a) { | |
a.preventDefault && a.preventDefault(); | |
a.returnValue = false | |
} | |
}, | |
stopPropagation: function () { | |
this.isPropagationStopped = R; | |
var a = this.originalEvent; | |
if (a) { | |
a.stopPropagation && a.stopPropagation(); | |
a.cancelBubble = true | |
} | |
}, | |
stopImmediatePropagation: function () { | |
this.isImmediatePropagationStopped = R; | |
this.stopPropagation() | |
}, | |
isDefaultPrevented: Q, | |
isPropagationStopped: Q, | |
isImmediatePropagationStopped: Q | |
}; | |
var Ea = function (a) { | |
var b = a.relatedTarget; | |
try { | |
for (; b && b !== this;) b = b.parentNode; | |
if (b !== this) { | |
a.type = a.data; | |
c.event.handle.apply(this, arguments) | |
} | |
} catch (d) {} | |
}, Fa = function (a) { | |
a.type = a.data; | |
c.event.handle.apply(this, arguments) | |
}; | |
c.each({ | |
mouseenter: "mouseover", | |
mouseleave: "mouseout" | |
}, function (a, b) { | |
c.event.special[a] = { | |
setup: function (d) { | |
c.event.add(this, b, d && d.selector ? Fa : Ea, a) | |
}, | |
teardown: function (d) { | |
c.event.remove(this, b, d && d.selector ? Fa : Ea) | |
} | |
} | |
}); | |
if (!c.support.submitBubbles) c.event.special.submit = { | |
setup: function () { | |
if (this.nodeName.toLowerCase() !== "form") { | |
c.event.add(this, "click.specialSubmit", function (a) { | |
var b = a.target, | |
d = b.type; | |
if ((d === "submit" || d === "image") && c(b).closest("form").length) return D("submit", this, arguments) | |
}); | |
c.event.add(this, "keypress.specialSubmit", function (a) { | |
var b = a.target, | |
d = b.type; | |
if ((d === "text" || d === "password") && c(b).closest("form").length && a.keyCode === 13) return D("submit", this, arguments) | |
}) | |
} else return false | |
}, | |
teardown: function () { | |
c.event.remove(this, ".specialSubmit") | |
} | |
}; | |
if (!c.support.changeBubbles) { | |
var la = | |
/textarea|input|select/i, | |
ma, Ga = function (a) { | |
var b = a.type, | |
d = a.value; | |
if (b === "radio" || b === "checkbox") d = a.checked; | |
else if (b === "select-multiple") d = a.selectedIndex > -1 ? c.map(a.options, function (e) { | |
return e.selected | |
}).join("-") : ""; | |
else if (a.nodeName.toLowerCase() === "select") d = a.selectedIndex; | |
return d | |
}, na = function (a, b) { | |
var d = a.target, | |
e, f; | |
if (!(!la.test(d.nodeName) || d.readOnly)) { | |
e = c.data(d, "_change_data"); | |
f = Ga(d); | |
if (a.type !== "focusout" || d.type !== "radio") c.data(d, "_change_data", f); | |
if (!(e === v || f === e)) | |
if (e != null || | |
f) { | |
a.type = "change"; | |
return c.event.trigger(a, b, d) | |
} | |
} | |
}; | |
c.event.special.change = { | |
filters: { | |
focusout: na, | |
click: function (a) { | |
var b = a.target, | |
d = b.type; | |
if (d === "radio" || d === "checkbox" || b.nodeName.toLowerCase() === "select") return na.call(this, a) | |
}, | |
keydown: function (a) { | |
var b = a.target, | |
d = b.type; | |
if (a.keyCode === 13 && b.nodeName.toLowerCase() !== "textarea" || a.keyCode === 32 && (d === "checkbox" || d === "radio") || d === "select-multiple") return na.call(this, a) | |
}, | |
beforeactivate: function (a) { | |
a = a.target; | |
c.data(a, "_change_data", Ga(a)) | |
} | |
}, | |
setup: function () { | |
if (this.type === | |
"file") return false; | |
for (var a in ma) c.event.add(this, a + ".specialChange", ma[a]); | |
return la.test(this.nodeName) | |
}, | |
teardown: function () { | |
c.event.remove(this, ".specialChange"); | |
return la.test(this.nodeName) | |
} | |
}; | |
ma = c.event.special.change.filters | |
} | |
s.addEventListener && c.each({ | |
focus: "focusin", | |
blur: "focusout" | |
}, function (a, b) { | |
function d(e) { | |
e = c.event.fix(e); | |
e.type = b; | |
return c.event.handle.call(this, e) | |
} | |
c.event.special[b] = { | |
setup: function () { | |
this.addEventListener(a, d, true) | |
}, | |
teardown: function () { | |
this.removeEventListener(a, | |
d, true) | |
} | |
} | |
}); | |
c.each(["bind", "one"], function (a, b) { | |
c.fn[b] = function (d, e, f) { | |
if (typeof d === "object") { | |
for (var h in d) this[b](h, e, d[h], f); | |
return this | |
} | |
if (c.isFunction(e)) { | |
f = e; | |
e = v | |
} | |
var i = b === "one" ? c.proxy(f, function (k) { | |
c(this).unbind(k, i); | |
return f.apply(this, arguments) | |
}) : f; | |
if (d === "unload" && b !== "one") this.one(d, e, f); | |
else { | |
h = 0; | |
for (var n = this.length; h < n; h++) c.event.add(this[h], d, i, e) | |
} | |
return this | |
} | |
}); | |
c.fn.extend({ | |
unbind: function (a, b) { | |
if (typeof a === "object" && !a.preventDefault) | |
for (var d in a) this.unbind(d, a[d]); | |
else { | |
d = | |
0; | |
for (var e = this.length; d < e; d++) c.event.remove(this[d], a, b) | |
} | |
return this | |
}, | |
delegate: function (a, b, d, e) { | |
return this.live(b, d, e, a) | |
}, | |
undelegate: function (a, b, d) { | |
return arguments.length === 0 ? this.unbind("live") : this.die(b, null, d, a) | |
}, | |
trigger: function (a, b) { | |
return this.each(function () { | |
c.event.trigger(a, b, this) | |
}) | |
}, | |
triggerHandler: function (a, b) { | |
if (this[0]) { | |
var d = c.Event(a); | |
d.preventDefault(); | |
d.stopPropagation(); | |
c.event.trigger(d, b, this[0]); | |
return d.result | |
} | |
}, | |
toggle: function (a) { | |
for (var b = arguments, d = 1; d < b.length;) c.proxy(a, | |
b[d++]); | |
return this.click(c.proxy(a, function (e) { | |
var f = (c.data(this, "lastToggle" + a.guid) || 0) % d; | |
c.data(this, "lastToggle" + a.guid, f + 1); | |
e.preventDefault(); | |
return b[f].apply(this, arguments) || false | |
})) | |
}, | |
hover: function (a, b) { | |
return this.mouseenter(a).mouseleave(b || a) | |
} | |
}); | |
var Ha = { | |
focus: "focusin", | |
blur: "focusout", | |
mouseenter: "mouseover", | |
mouseleave: "mouseout" | |
}; | |
c.each(["live", "die"], function (a, b) { | |
c.fn[b] = function (d, e, f, h) { | |
var i, n = 0, | |
k, o, r = h || this.selector, | |
y = h ? this : c(this.context); | |
if (c.isFunction(e)) { | |
f = e; | |
e = v | |
} | |
for (d = | |
(d || "").split(" "); | |
(i = d[n++]) != null;) { | |
h = W.exec(i); | |
k = ""; | |
if (h) { | |
k = h[0]; | |
i = i.replace(W, "") | |
} | |
if (i === "hover") d.push("mouseenter" + k, "mouseleave" + k); | |
else { | |
o = i; | |
if (i === "focus" || i === "blur") { | |
d.push(Ha[i] + k); | |
i += k | |
} else i = (Ha[i] || i) + k; | |
b === "live" ? y.each(function () { | |
c.event.add(this, K(i, r), { | |
data: e, | |
selector: r, | |
handler: f, | |
origType: i, | |
origHandler: f, | |
preType: o | |
}) | |
}) : y.unbind(K(i, r), f) | |
} | |
} | |
return this | |
} | |
}); | |
c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "), function (a, b) { | |
c.fn[b] = function (d) { | |
return d ? this.bind(b, d) : this.trigger(b) | |
}; | |
if (c.attrFn) c.attrFn[b] = true | |
}); | |
x.attachEvent && !x.addEventListener && x.attachEvent("onunload", function () { | |
for (var a in c.cache) | |
if (c.cache[a].handle) try { | |
c.event.remove(c.cache[a].handle.elem) | |
} catch (b) {} | |
}); | |
(function () { | |
function a(g) { | |
for (var j = "", l, m = 0; g[m]; m++) { | |
l = g[m]; | |
if (l.nodeType === 3 || l.nodeType === 4) j += l.nodeValue; | |
else if (l.nodeType !== 8) j += a(l.childNodes) | |
} | |
return j | |
} | |
function b(g, j, l, m, q, p) { | |
q = 0; | |
for (var u = m.length; q < u; q++) { | |
var t = m[q]; | |
if (t) { | |
t = t[g]; | |
for (var z = false; t;) { | |
if (t.sizcache === l) { | |
z = m[t.sizset]; | |
break | |
} | |
if (t.nodeType === 1 && !p) { | |
t.sizcache = l; | |
t.sizset = q | |
} | |
if (t.nodeName.toLowerCase() === j) { | |
z = t; | |
break | |
} | |
t = t[g] | |
} | |
m[q] = z | |
} | |
} | |
} | |
function d(g, j, l, m, q, p) { | |
q = 0; | |
for (var u = m.length; q < u; q++) { | |
var t = m[q]; | |
if (t) { | |
t = t[g]; | |
for (var z = false; t;) { | |
if (t.sizcache === l) { | |
z = m[t.sizset]; | |
break | |
} | |
if (t.nodeType === 1) { | |
if (!p) { | |
t.sizcache = l; | |
t.sizset = q | |
} | |
if (typeof j !== "string") { | |
if (t === j) { | |
z = true; | |
break | |
} | |
} else if (k.filter(j, [t]).length > 0) { | |
z = t; | |
break | |
} | |
} | |
t = t[g] | |
} | |
m[q] = z | |
} | |
} | |
} | |
var e = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, | |
f = 0, | |
h = Object.prototype.toString, | |
i = false, | |
n = true; | |
[0, 0].sort(function () { | |
n = false; | |
return 0 | |
}); | |
var k = function (g, j, l, m) { | |
l = l || []; | |
var q = j = j || s; | |
if (j.nodeType !== 1 && j.nodeType !== 9) return []; | |
if (!g || typeof g !== "string") return l; | |
for (var p = [], u, t, z, ba, N = true, U = w(j), O = g; | |
(e.exec(""), u = e.exec(O)) !== null;) { | |
O = u[3]; | |
p.push(u[1]); | |
if (u[2]) { | |
ba = u[3]; | |
break | |
} | |
} | |
if (p.length > 1 && r.exec(g)) | |
if (p.length === 2 && o.relative[p[0]]) t = oa(p[0] + p[1], j); | |
else | |
for (t = o.relative[p[0]] ? [j] : k(p.shift(), j); p.length;) { | |
g = p.shift(); | |
if (o.relative[g]) g += p.shift(); | |
t = oa(g, t) | |
} else { | |
if (!m && p.length > 1 && j.nodeType === 9 && !U && o.match.ID.test(p[0]) && !o.match.ID.test(p[p.length - 1])) { | |
u = k.find(p.shift(), j, U); | |
j = u.expr ? k.filter(u.expr, u.set)[0] : u.set[0] | |
} | |
if (j) { | |
u = m ? { | |
expr: p.pop(), | |
set: A(m) | |
} : k.find(p.pop(), p.length === 1 && (p[0] === "~" || p[0] === "+") && j.parentNode ? j.parentNode : j, U); | |
t = u.expr ? k.filter(u.expr, u.set) : u.set; | |
if (p.length > 0) z = A(t); | |
else N = false; | |
for (; p.length;) { | |
var G = p.pop(); | |
u = G; | |
if (o.relative[G]) u = p.pop(); | |
else G = ""; if (u == null) u = j; | |
o.relative[G](z, u, U) | |
} | |
} else z = [] | |
} | |
z || (z = t); | |
z || k.error(G || | |
g); | |
if (h.call(z) === "[object Array]") | |
if (N) | |
if (j && j.nodeType === 1) | |
for (g = 0; z[g] != null; g++) { | |
if (z[g] && (z[g] === true || z[g].nodeType === 1 && F(j, z[g]))) l.push(t[g]) | |
} else | |
for (g = 0; z[g] != null; g++) z[g] && z[g].nodeType === 1 && l.push(t[g]); | |
else l.push.apply(l, z); | |
else A(z, l); | |
if (ba) { | |
k(ba, q, l, m); | |
k.uniqueSort(l) | |
} | |
return l | |
}; | |
k.uniqueSort = function (g) { | |
if (B) { | |
i = n; | |
g.sort(B); | |
if (i) | |
for (var j = 1; j < g.length; j++) g[j] === g[j - 1] && g.splice(j--, 1) | |
} | |
return g | |
}; | |
k.matches = function (g, j) { | |
return k(g, null, null, j) | |
}; | |
k.find = function (g, j, l) { | |
var m, q; | |
if (!g) return []; | |
for (var p = 0, u = o.order.length; p < u; p++) { | |
var t = o.order[p]; | |
if (q = o.leftMatch[t].exec(g)) { | |
var z = q[1]; | |
q.splice(1, 1); | |
if (z.substr(z.length - 1) !== "\\") { | |
q[1] = (q[1] || "").replace(/\\/g, ""); | |
m = o.find[t](q, j, l); | |
if (m != null) { | |
g = g.replace(o.match[t], ""); | |
break | |
} | |
} | |
} | |
} | |
m || (m = j.getElementsByTagName("*")); | |
return { | |
set: m, | |
expr: g | |
} | |
}; | |
k.filter = function (g, j, l, m) { | |
for (var q = g, p = [], u = j, t, z, ba = j && j[0] && w(j[0]); g && j.length;) { | |
for (var N in o.filter) | |
if ((t = o.leftMatch[N].exec(g)) != null && t[2]) { | |
var U = o.filter[N], | |
O, G; | |
G = t[1]; | |
z = false; | |
t.splice(1, 1); | |
if (G.substr(G.length - 1) !== "\\") { | |
if (u === p) p = []; | |
if (o.preFilter[N]) | |
if (t = o.preFilter[N](t, u, l, p, m, ba)) { | |
if (t === true) continue | |
} else z = O = true; | |
if (t) | |
for (var ea = 0; | |
(G = u[ea]) != null; ea++) | |
if (G) { | |
O = U(G, t, ea, u); | |
var Ia = m ^ !! O; | |
if (l && O != null) | |
if (Ia) z = true; | |
else u[ea] = false; | |
else if (Ia) { | |
p.push(G); | |
z = true | |
} | |
} | |
if (O !== v) { | |
l || (u = p); | |
g = g.replace(o.match[N], ""); | |
if (!z) return []; | |
break | |
} | |
} | |
} | |
if (g === q) | |
if (z == null) k.error(g); | |
else break; | |
q = g | |
} | |
return u | |
}; | |
k.error = function (g) { | |
throw "Syntax error, unrecognized expression: " + g; | |
}; | |
var o = k.selectors = { | |
order: ["ID", | |
"NAME", "TAG" | |
], | |
match: { | |
ID: /#((?:[\w\u00c0-\uFFFF-]|\\.)+)/, | |
CLASS: /\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/, | |
NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/, | |
ATTR: /\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/, | |
TAG: /^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/, | |
CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/, | |
POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/, | |
PSEUDO: /:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ | |
}, | |
leftMatch: {}, | |
attrMap: { | |
"class": "className", | |
"for": "htmlFor" | |
}, | |
attrHandle: { | |
href: function (g) { | |
return g.getAttribute("href") | |
} | |
}, | |
relative: { | |
"+": function (g, j) { | |
var l = typeof j === "string", | |
m = l && !/\W/.test(j); | |
l = l && !m; | |
if (m) j = j.toLowerCase(); | |
m = 0; | |
for (var q = g.length, p; m < q; m++) | |
if (p = g[m]) { | |
for (; | |
(p = p.previousSibling) && p.nodeType !== 1;); | |
g[m] = l || p && p.nodeName.toLowerCase() === j ? p || false : p === j | |
} | |
l && k.filter(j, g, true) | |
}, | |
">": function (g, j) { | |
var l = typeof j === "string"; | |
if (l && !/\W/.test(j)) { | |
j = j.toLowerCase(); | |
for (var m = 0, q = g.length; m < q; m++) { | |
var p = g[m]; | |
if (p) { | |
l = p.parentNode; | |
g[m] = | |
l.nodeName.toLowerCase() === j ? l : false | |
} | |
} | |
} else { | |
m = 0; | |
for (q = g.length; m < q; m++) | |
if (p = g[m]) g[m] = l ? p.parentNode : p.parentNode === j; | |
l && k.filter(j, g, true) | |
} | |
}, | |
"": function (g, j, l) { | |
var m = f++, | |
q = d; | |
if (typeof j === "string" && !/\W/.test(j)) { | |
var p = j = j.toLowerCase(); | |
q = b | |
} | |
q("parentNode", j, m, g, p, l) | |
}, | |
"~": function (g, j, l) { | |
var m = f++, | |
q = d; | |
if (typeof j === "string" && !/\W/.test(j)) { | |
var p = j = j.toLowerCase(); | |
q = b | |
} | |
q("previousSibling", j, m, g, p, l) | |
} | |
}, | |
find: { | |
ID: function (g, j, l) { | |
if (typeof j.getElementById !== "undefined" && !l) return (g = j.getElementById(g[1])) ? [g] : [] | |
}, | |
NAME: function (g, j) { | |
if (typeof j.getElementsByName !== "undefined") { | |
for (var l = [], m = j.getElementsByName(g[1]), q = 0, p = m.length; q < p; q++) m[q].getAttribute("name") === g[1] && l.push(m[q]); | |
return l.length === 0 ? null : l | |
} | |
}, | |
TAG: function (g, j) { | |
return j.getElementsByTagName(g[1]) | |
} | |
}, | |
preFilter: { | |
CLASS: function (g, j, l, m, q, p) { | |
g = " " + g[1].replace(/\\/g, "") + " "; | |
if (p) return g; | |
p = 0; | |
for (var u; | |
(u = j[p]) != null; p++) | |
if (u) | |
if (q ^ (u.className && (" " + u.className + " ").replace(/[\t\n]/g, " ").indexOf(g) >= 0)) l || m.push(u); | |
else if (l) j[p] = false; | |
return false | |
}, | |
ID: function (g) { | |
return g[1].replace(/\\/g, "") | |
}, | |
TAG: function (g) { | |
return g[1].toLowerCase() | |
}, | |
CHILD: function (g) { | |
if (g[1] === "nth") { | |
var j = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2] === "even" && "2n" || g[2] === "odd" && "2n+1" || !/\D/.test(g[2]) && "0n+" + g[2] || g[2]); | |
g[2] = j[1] + (j[2] || 1) - 0; | |
g[3] = j[3] - 0 | |
} | |
g[0] = f++; | |
return g | |
}, | |
ATTR: function (g, j, l, m, q, p) { | |
j = g[1].replace(/\\/g, ""); | |
if (!p && o.attrMap[j]) g[1] = o.attrMap[j]; | |
if (g[2] === "~=") g[4] = " " + g[4] + " "; | |
return g | |
}, | |
PSEUDO: function (g, j, l, m, q) { | |
if (g[1] === "not") | |
if ((e.exec(g[3]) || | |
"").length > 1 || /^\w/.test(g[3])) g[3] = k(g[3], null, null, j); | |
else { | |
g = k.filter(g[3], j, l, true ^ q); | |
l || m.push.apply(m, g); | |
return false | |
} else if (o.match.POS.test(g[0]) || o.match.CHILD.test(g[0])) return true; | |
return g | |
}, | |
POS: function (g) { | |
g.unshift(true); | |
return g | |
} | |
}, | |
filters: { | |
enabled: function (g) { | |
return g.disabled === false && g.type !== "hidden" | |
}, | |
disabled: function (g) { | |
return g.disabled === true | |
}, | |
checked: function (g) { | |
return g.checked === true | |
}, | |
selected: function (g) { | |
return g.selected === true | |
}, | |
parent: function (g) { | |
return !!g.firstChild | |
}, | |
empty: function (g) { | |
return !g.firstChild | |
}, | |
has: function (g, j, l) { | |
return !!k(l[3], g).length | |
}, | |
header: function (g) { | |
return /h\d/i.test(g.nodeName) | |
}, | |
text: function (g) { | |
return "text" === g.type | |
}, | |
radio: function (g) { | |
return "radio" === g.type | |
}, | |
checkbox: function (g) { | |
return "checkbox" === g.type | |
}, | |
file: function (g) { | |
return "file" === g.type | |
}, | |
password: function (g) { | |
return "password" === g.type | |
}, | |
submit: function (g) { | |
return "submit" === g.type | |
}, | |
image: function (g) { | |
return "image" === g.type | |
}, | |
reset: function (g) { | |
return "reset" === g.type | |
}, | |
button: function (g) { | |
return "button" === g.type || g.nodeName.toLowerCase() === | |
"button" | |
}, | |
input: function (g) { | |
return /input|select|textarea|button/i.test(g.nodeName) | |
} | |
}, | |
setFilters: { | |
first: function (g, j) { | |
return j === 0 | |
}, | |
last: function (g, j, l, m) { | |
return j === m.length - 1 | |
}, | |
even: function (g, j) { | |
return j % 2 === 0 | |
}, | |
odd: function (g, j) { | |
return j % 2 === 1 | |
}, | |
lt: function (g, j, l) { | |
return j < l[3] - 0 | |
}, | |
gt: function (g, j, l) { | |
return j > l[3] - 0 | |
}, | |
nth: function (g, j, l) { | |
return l[3] - 0 === j | |
}, | |
eq: function (g, j, l) { | |
return l[3] - 0 === j | |
} | |
}, | |
filter: { | |
PSEUDO: function (g, j, l, m) { | |
var q = j[1], | |
p = o.filters[q]; | |
if (p) return p(g, l, j, m); | |
else if (q === "contains") return (g.textContent || | |
g.innerText || a([g]) || "").indexOf(j[3]) >= 0; | |
else if (q === "not") { | |
j = j[3]; | |
l = 0; | |
for (m = j.length; l < m; l++) | |
if (j[l] === g) return false; | |
return true | |
} else k.error("Syntax error, unrecognized expression: " + q) | |
}, | |
CHILD: function (g, j) { | |
var l = j[1], | |
m = g; | |
switch (l) { | |
case "only": | |
case "first": | |
for (; m = m.previousSibling;) | |
if (m.nodeType === 1) return false; | |
if (l === "first") return true; | |
m = g; | |
case "last": | |
for (; m = m.nextSibling;) | |
if (m.nodeType === 1) return false; | |
return true; | |
case "nth": | |
l = j[2]; | |
var q = j[3]; | |
if (l === 1 && q === 0) return true; | |
var p = j[0], | |
u = g.parentNode; | |
if (u && (u.sizcache !== p || !g.nodeIndex)) { | |
var t = 0; | |
for (m = u.firstChild; m; m = m.nextSibling) | |
if (m.nodeType === 1) m.nodeIndex = ++t; | |
u.sizcache = p | |
} | |
m = g.nodeIndex - q; | |
return l === 0 ? m === 0 : m % l === 0 && m / l >= 0 | |
} | |
}, | |
ID: function (g, j) { | |
return g.nodeType === 1 && g.getAttribute("id") === j | |
}, | |
TAG: function (g, j) { | |
return j === "*" && g.nodeType === 1 || g.nodeName.toLowerCase() === j | |
}, | |
CLASS: function (g, j) { | |
return (" " + (g.className || g.getAttribute("class")) + " ").indexOf(j) > -1 | |
}, | |
ATTR: function (g, j) { | |
var l = j[1]; | |
l = o.attrHandle[l] ? o.attrHandle[l](g) : g[l] != null ? g[l] : | |
g.getAttribute(l); | |
var m = l + "", | |
q = j[2], | |
p = j[4]; | |
return l == null ? q === "!=" : q === "=" ? m === p : q === "*=" ? m.indexOf(p) >= 0 : q === "~=" ? (" " + m + " ").indexOf(p) >= 0 : !p ? m && l !== false : q === "!=" ? m !== p : q === "^=" ? m.indexOf(p) === 0 : q === "$=" ? m.substr(m.length - p.length) === p : q === "|=" ? m === p || m.substr(0, p.length + 1) === p + "-" : false | |
}, | |
POS: function (g, j, l, m) { | |
var q = o.setFilters[j[2]]; | |
if (q) return q(g, l, j, m) | |
} | |
} | |
}, r = o.match.POS, | |
y; | |
for (y in o.match) { | |
o.match[y] = RegExp(o.match[y].source + /(?![^\[]*\])(?![^\(]*\))/.source); | |
o.leftMatch[y] = RegExp(/(^(?:.|\r|\n)*?)/.source + | |
o.match[y].source.replace(/\\(\d+)/g, function (g, j) { | |
return "\\" + (j - 0 + 1) | |
})) | |
} | |
var A = function (g, j) { | |
g = Array.prototype.slice.call(g, 0); | |
if (j) { | |
j.push.apply(j, g); | |
return j | |
} | |
return g | |
}; | |
try { | |
Array.prototype.slice.call(s.documentElement.childNodes, 0) | |
} catch (C) { | |
A = function (g, j) { | |
var l = j || []; | |
if (h.call(g) === "[object Array]") Array.prototype.push.apply(l, g); | |
else if (typeof g.length === "number") | |
for (var m = 0, q = g.length; m < q; m++) l.push(g[m]); | |
else | |
for (m = 0; g[m]; m++) l.push(g[m]); | |
return l | |
} | |
} | |
var B; | |
if (s.documentElement.compareDocumentPosition) B = function (g, j) { | |
if (!g.compareDocumentPosition || !j.compareDocumentPosition) { | |
if (g == j) i = true; | |
return g.compareDocumentPosition ? -1 : 1 | |
} | |
var l = g.compareDocumentPosition(j) & 4 ? -1 : g === j ? 0 : 1; | |
if (l === 0) i = true; | |
return l | |
}; | |
else if ("sourceIndex" in s.documentElement) B = function (g, j) { | |
if (!g.sourceIndex || !j.sourceIndex) { | |
if (g == j) i = true; | |
return g.sourceIndex ? -1 : 1 | |
} | |
var l = g.sourceIndex - j.sourceIndex; | |
if (l === 0) i = true; | |
return l | |
}; | |
else if (s.createRange) B = function (g, j) { | |
if (!g.ownerDocument || !j.ownerDocument) { | |
if (g == j) i = true; | |
return g.ownerDocument ? -1 : 1 | |
} | |
var l = g.ownerDocument.createRange(), | |
m = j.ownerDocument.createRange(); | |
l.setStart(g, 0); | |
l.setEnd(g, 0); | |
m.setStart(j, 0); | |
m.setEnd(j, 0); | |
l = l.compareBoundaryPoints(Range.START_TO_END, m); | |
if (l === 0) i = true; | |
return l | |
}; | |
(function () { | |
var g = s.createElement("div"), | |
j = "script" + (new Date).getTime(); | |
g.innerHTML = "<a name='" + j + "'/>"; | |
var l = s.documentElement; | |
l.insertBefore(g, l.firstChild); | |
if (s.getElementById(j)) { | |
o.find.ID = function (m, q, p) { | |
if (typeof q.getElementById !== "undefined" && !p) return (q = q.getElementById(m[1])) ? q.id === | |
m[1] || typeof q.getAttributeNode !== "undefined" && q.getAttributeNode("id").nodeValue === m[1] ? [q] : v : [] | |
}; | |
o.filter.ID = function (m, q) { | |
var p = typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id"); | |
return m.nodeType === 1 && p && p.nodeValue === q | |
} | |
} | |
l.removeChild(g); | |
l = g = null | |
})(); | |
(function () { | |
var g = s.createElement("div"); | |
g.appendChild(s.createComment("")); | |
if (g.getElementsByTagName("*").length > 0) o.find.TAG = function (j, l) { | |
var m = l.getElementsByTagName(j[1]); | |
if (j[1] === "*") { | |
for (var q = [], p = 0; m[p]; p++) m[p].nodeType === | |
1 && q.push(m[p]); | |
m = q | |
} | |
return m | |
}; | |
g.innerHTML = "<a href='#'></a>"; | |
if (g.firstChild && typeof g.firstChild.getAttribute !== "undefined" && g.firstChild.getAttribute("href") !== "#") o.attrHandle.href = function (j) { | |
return j.getAttribute("href", 2) | |
}; | |
g = null | |
})(); | |
s.querySelectorAll && function () { | |
var g = k, | |
j = s.createElement("div"); | |
j.innerHTML = "<p class='TEST'></p>"; | |
if (!(j.querySelectorAll && j.querySelectorAll(".TEST").length === 0)) { | |
k = function (m, q, p, u) { | |
q = q || s; | |
if (!u && q.nodeType === 9 && !w(q)) try { | |
return A(q.querySelectorAll(m), p) | |
} catch (t) {} | |
return g(m, | |
q, p, u) | |
}; | |
for (var l in g) k[l] = g[l]; | |
j = null | |
} | |
}(); | |
(function () { | |
var g = s.createElement("div"); | |
g.innerHTML = "<div class='test e'></div><div class='test'></div>"; | |
if (!(!g.getElementsByClassName || g.getElementsByClassName("e").length === 0)) { | |
g.lastChild.className = "e"; | |
if (g.getElementsByClassName("e").length !== 1) { | |
o.order.splice(1, 0, "CLASS"); | |
o.find.CLASS = function (j, l, m) { | |
if (typeof l.getElementsByClassName !== "undefined" && !m) return l.getElementsByClassName(j[1]) | |
}; | |
g = null | |
} | |
} | |
})(); | |
var F = s.compareDocumentPosition ? function (g, | |
j) { | |
return !!(g.compareDocumentPosition(j) & 16) | |
} : function (g, j) { | |
return g !== j && (g.contains ? g.contains(j) : true) | |
}, w = function (g) { | |
return (g = (g ? g.ownerDocument || g : 0).documentElement) ? g.nodeName !== "HTML" : false | |
}, oa = function (g, j) { | |
for (var l = [], m = "", q, p = j.nodeType ? [j] : j; q = o.match.PSEUDO.exec(g);) { | |
m += q[0]; | |
g = g.replace(o.match.PSEUDO, "") | |
} | |
g = o.relative[g] ? g + "*" : g; | |
q = 0; | |
for (var u = p.length; q < u; q++) k(g, p[q], l); | |
return k.filter(m, l) | |
}; | |
c.find = k; | |
c.expr = k.selectors; | |
c.expr[":"] = c.expr.filters; | |
c.unique = k.uniqueSort; | |
c.text = a; | |
c.isXMLDoc = | |
w; | |
c.contains = F | |
})(); | |
var eb = /Until$/, | |
fb = /^(?:parents|prevUntil|prevAll)/, | |
gb = /,/; | |
aa = Array.prototype.slice; | |
var Ja = function (a, b, d) { | |
if (c.isFunction(b)) return c.grep(a, function (f, h) { | |
return !!b.call(f, h, f) === d | |
}); | |
else if (b.nodeType) return c.grep(a, function (f) { | |
return f === b === d | |
}); | |
else if (typeof b === "string") { | |
var e = c.grep(a, function (f) { | |
return f.nodeType === 1 | |
}); | |
if (Ua.test(b)) return c.filter(b, e, !d); | |
else b = c.filter(b, e) | |
} | |
return c.grep(a, function (f) { | |
return c.inArray(f, b) >= 0 === d | |
}) | |
}; | |
c.fn.extend({ | |
find: function (a) { | |
for (var b = | |
this.pushStack("", "find", a), d = 0, e = 0, f = this.length; e < f; e++) { | |
d = b.length; | |
c.find(a, this[e], b); | |
if (e > 0) | |
for (var h = d; h < b.length; h++) | |
for (var i = 0; i < d; i++) | |
if (b[i] === b[h]) { | |
b.splice(h--, 1); | |
break | |
} | |
} | |
return b | |
}, | |
has: function (a) { | |
var b = c(a); | |
return this.filter(function () { | |
for (var d = 0, e = b.length; d < e; d++) | |
if (c.contains(this, b[d])) return true | |
}) | |
}, | |
not: function (a) { | |
return this.pushStack(Ja(this, a, false), "not", a) | |
}, | |
filter: function (a) { | |
return this.pushStack(Ja(this, a, true), "filter", a) | |
}, | |
is: function (a) { | |
return !!a && c.filter(a, this).length > | |
0 | |
}, | |
closest: function (a, b) { | |
if (c.isArray(a)) { | |
var d = [], | |
e = this[0], | |
f, h = {}, i; | |
if (e && a.length) { | |
f = 0; | |
for (var n = a.length; f < n; f++) { | |
i = a[f]; | |
h[i] || (h[i] = c.expr.match.POS.test(i) ? c(i, b || this.context) : i) | |
} | |
for (; e && e.ownerDocument && e !== b;) { | |
for (i in h) { | |
f = h[i]; | |
if (f.jquery ? f.index(e) > -1 : c(e).is(f)) { | |
d.push({ | |
selector: i, | |
elem: e | |
}); | |
delete h[i] | |
} | |
} | |
e = e.parentNode | |
} | |
} | |
return d | |
} | |
var k = c.expr.match.POS.test(a) ? c(a, b || this.context) : null; | |
return this.map(function (o, r) { | |
for (; r && r.ownerDocument && r !== b;) { | |
if (k ? k.index(r) > -1 : c(r).is(a)) return r; | |
r = r.parentNode | |
} | |
return null | |
}) | |
}, | |
index: function (a) { | |
if (!a || typeof a === "string") return c.inArray(this[0], a ? c(a) : this.parent().children()); | |
return c.inArray(a.jquery ? a[0] : a, this) | |
}, | |
add: function (a, b) { | |
var d = typeof a === "string" ? c(a, b || this.context) : c.makeArray(a), | |
e = c.merge(this.get(), d); | |
return this.pushStack(!d[0] || !d[0].parentNode || d[0].parentNode.nodeType === 11 || !e[0] || !e[0].parentNode || e[0].parentNode.nodeType === 11 ? e : c.unique(e)) | |
}, | |
andSelf: function () { | |
return this.add(this.prevObject) | |
} | |
}); | |
c.each({ | |
parent: function (a) { | |
return (a = | |
a.parentNode) && a.nodeType !== 11 ? a : null | |
}, | |
parents: function (a) { | |
return c.dir(a, "parentNode") | |
}, | |
parentsUntil: function (a, b, d) { | |
return c.dir(a, "parentNode", d) | |
}, | |
next: function (a) { | |
return c.nth(a, 2, "nextSibling") | |
}, | |
prev: function (a) { | |
return c.nth(a, 2, "previousSibling") | |
}, | |
nextAll: function (a) { | |
return c.dir(a, "nextSibling") | |
}, | |
prevAll: function (a) { | |
return c.dir(a, "previousSibling") | |
}, | |
nextUntil: function (a, b, d) { | |
return c.dir(a, "nextSibling", d) | |
}, | |
prevUntil: function (a, b, d) { | |
return c.dir(a, "previousSibling", d) | |
}, | |
siblings: function (a) { | |
return c.sibling(a.parentNode.firstChild, | |
a) | |
}, | |
children: function (a) { | |
return c.sibling(a.firstChild) | |
}, | |
contents: function (a) { | |
return c.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : c.makeArray(a.childNodes) | |
} | |
}, function (a, b) { | |
c.fn[a] = function (d, e) { | |
var f = c.map(this, b, d); | |
eb.test(a) || (e = d); | |
if (e && typeof e === "string") f = c.filter(e, f); | |
f = this.length > 1 ? c.unique(f) : f; | |
if ((this.length > 1 || gb.test(e)) && fb.test(a)) f = f.reverse(); | |
return this.pushStack(f, a, aa.call(arguments).join(",")) | |
} | |
}); | |
c.extend({ | |
filter: function (a, b, d) { | |
if (d) a = ":not(" + a + ")"; | |
return c.find.matches(a, | |
b) | |
}, | |
dir: function (a, b, d) { | |
var e = []; | |
for (a = a[b]; a && a.nodeType !== 9 && (d === v || a.nodeType !== 1 || !c(a).is(d));) { | |
a.nodeType === 1 && e.push(a); | |
a = a[b] | |
} | |
return e | |
}, | |
nth: function (a, b, d) { | |
b = b || 1; | |
for (var e = 0; a; a = a[d]) | |
if (a.nodeType === 1 && ++e === b) break; | |
return a | |
}, | |
sibling: function (a, b) { | |
for (var d = []; a; a = a.nextSibling) a.nodeType === 1 && a !== b && d.push(a); | |
return d | |
} | |
}); | |
var Ka = / jQuery\d+="(?:\d+|null)"/g, | |
fa = /^\s+/, | |
La = /(<([\w:]+)[^>]*?)\/>/g, | |
hb = /^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i, | |
Ma = /<([\w:]+)/, | |
ib = /<tbody/i, | |
jb = /<|&#?\w+;/, | |
ua = /<script|<object|<embed|<option|<style/i, | |
va = /checked\s*(?:[^=]|=\s*.checked.)/i, | |
Na = function (a, b, d) { | |
return hb.test(d) ? a : b + "></" + d + ">" | |
}, H = { | |
option: [1, "<select multiple='multiple'>", "</select>"], | |
legend: [1, "<fieldset>", "</fieldset>"], | |
thead: [1, "<table>", "</table>"], | |
tr: [2, "<table><tbody>", "</tbody></table>"], | |
td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], | |
col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"], | |
area: [1, "<map>", "</map>"], | |
_default: [0, "", ""] | |
}; | |
H.optgroup = H.option; | |
H.tbody = H.tfoot = | |
H.colgroup = H.caption = H.thead; | |
H.th = H.td; | |
if (!c.support.htmlSerialize) H._default = [1, "div<div>", "</div>"]; | |
c.fn.extend({ | |
text: function (a) { | |
if (c.isFunction(a)) return this.each(function (b) { | |
var d = c(this); | |
d.text(a.call(this, b, d.text())) | |
}); | |
if (typeof a !== "object" && a !== v) return this.empty().append((this[0] && this[0].ownerDocument || s).createTextNode(a)); | |
return c.text(this) | |
}, | |
wrapAll: function (a) { | |
if (c.isFunction(a)) return this.each(function (d) { | |
c(this).wrapAll(a.call(this, d)) | |
}); | |
if (this[0]) { | |
var b = c(a, this[0].ownerDocument).eq(0).clone(true); | |
this[0].parentNode && b.insertBefore(this[0]); | |
b.map(function () { | |
for (var d = this; d.firstChild && d.firstChild.nodeType === 1;) d = d.firstChild; | |
return d | |
}).append(this) | |
} | |
return this | |
}, | |
wrapInner: function (a) { | |
if (c.isFunction(a)) return this.each(function (b) { | |
c(this).wrapInner(a.call(this, b)) | |
}); | |
return this.each(function () { | |
var b = c(this), | |
d = b.contents(); | |
d.length ? d.wrapAll(a) : b.append(a) | |
}) | |
}, | |
wrap: function (a) { | |
return this.each(function () { | |
c(this).wrapAll(a) | |
}) | |
}, | |
unwrap: function () { | |
return this.parent().each(function () { | |
c.nodeName(this, | |
"body") || c(this).replaceWith(this.childNodes) | |
}).end() | |
}, | |
append: function () { | |
return this.domManip(arguments, true, function (a) { | |
this.nodeType === 1 && this.appendChild(a) | |
}) | |
}, | |
prepend: function () { | |
return this.domManip(arguments, true, function (a) { | |
this.nodeType === 1 && this.insertBefore(a, this.firstChild) | |
}) | |
}, | |
before: function () { | |
if (this[0] && this[0].parentNode) return this.domManip(arguments, false, function (b) { | |
this.parentNode.insertBefore(b, this) | |
}); | |
else if (arguments.length) { | |
var a = c(arguments[0]); | |
a.push.apply(a, this.toArray()); | |
return this.pushStack(a, "before", arguments) | |
} | |
}, | |
after: function () { | |
if (this[0] && this[0].parentNode) return this.domManip(arguments, false, function (b) { | |
this.parentNode.insertBefore(b, this.nextSibling) | |
}); | |
else if (arguments.length) { | |
var a = this.pushStack(this, "after", arguments); | |
a.push.apply(a, c(arguments[0]).toArray()); | |
return a | |
} | |
}, | |
remove: function (a, b) { | |
for (var d = 0, e; | |
(e = this[d]) != null; d++) | |
if (!a || c.filter(a, [e]).length) { | |
if (!b && e.nodeType === 1) { | |
c.cleanData(e.getElementsByTagName("*")); | |
c.cleanData([e]) | |
} | |
e.parentNode && | |
e.parentNode.removeChild(e) | |
} | |
return this | |
}, | |
empty: function () { | |
for (var a = 0, b; | |
(b = this[a]) != null; a++) | |
for (b.nodeType === 1 && c.cleanData(b.getElementsByTagName("*")); b.firstChild;) b.removeChild(b.firstChild); | |
return this | |
}, | |
clone: function (a) { | |
var b = this.map(function () { | |
if (!c.support.noCloneEvent && !c.isXMLDoc(this)) { | |
var d = this.outerHTML, | |
e = this.ownerDocument; | |
if (!d) { | |
d = e.createElement("div"); | |
d.appendChild(this.cloneNode(true)); | |
d = d.innerHTML | |
} | |
return c.clean([d.replace(Ka, "").replace(/=([^="'>\s]+\/)>/g, '="$1">').replace(fa, | |
"")], e)[0] | |
} else return this.cloneNode(true) | |
}); | |
if (a === true) { | |
J(this, b); | |
J(this.find("*"), b.find("*")) | |
} | |
return b | |
}, | |
html: function (a) { | |
if (a === v) return this[0] && this[0].nodeType === 1 ? this[0].innerHTML.replace(Ka, "") : null; | |
else if (typeof a === "string" && !ua.test(a) && (c.support.leadingWhitespace || !fa.test(a)) && !H[(Ma.exec(a) || ["", ""])[1].toLowerCase()]) { | |
a = a.replace(La, Na); | |
try { | |
for (var b = 0, d = this.length; b < d; b++) | |
if (this[b].nodeType === 1) { | |
c.cleanData(this[b].getElementsByTagName("*")); | |
this[b].innerHTML = a | |
} | |
} catch (e) { | |
this.empty().append(a) | |
} | |
} else c.isFunction(a) ? | |
this.each(function (f) { | |
var h = c(this), | |
i = h.html(); | |
h.empty().append(function () { | |
return a.call(this, f, i) | |
}) | |
}) : this.empty().append(a); | |
return this | |
}, | |
replaceWith: function (a) { | |
if (this[0] && this[0].parentNode) { | |
if (c.isFunction(a)) return this.each(function (b) { | |
var d = c(this), | |
e = d.html(); | |
d.replaceWith(a.call(this, b, e)) | |
}); | |
if (typeof a !== "string") a = c(a).detach(); | |
return this.each(function () { | |
var b = this.nextSibling, | |
d = this.parentNode; | |
c(this).remove(); | |
b ? c(b).before(a) : c(d).append(a) | |
}) | |
} else return this.pushStack(c(c.isFunction(a) ? | |
a() : a), "replaceWith", a) | |
}, | |
detach: function (a) { | |
return this.remove(a, true) | |
}, | |
domManip: function (a, b, d) { | |
var e, f, h = a[0], | |
i = [], | |
n; | |
if (!c.support.checkClone && arguments.length === 3 && typeof h === "string" && va.test(h)) return this.each(function () { | |
c(this).domManip(a, b, d, true) | |
}); | |
if (c.isFunction(h)) return this.each(function (o) { | |
var r = c(this); | |
a[0] = h.call(this, o, b ? r.html() : v); | |
r.domManip(a, b, d) | |
}); | |
if (this[0]) { | |
e = h && h.parentNode; | |
e = c.support.parentNode && e && e.nodeType === 11 && e.childNodes.length === this.length ? { | |
fragment: e | |
} : X(a, this, | |
i); | |
n = e.fragment; | |
if (f = n.childNodes.length === 1 ? n = n.firstChild : n.firstChild) { | |
b = b && c.nodeName(f, "tr"); | |
f = 0; | |
for (var k = this.length; f < k; f++) d.call(b ? c.nodeName(this[f], "table") ? this[f].getElementsByTagName("tbody")[0] || this[f].appendChild(this[f].ownerDocument.createElement("tbody")) : this[f] : this[f], f > 0 || e.cacheable || this.length > 1 ? n.cloneNode(true) : n) | |
} | |
i.length && c.each(i, ca) | |
} | |
return this | |
} | |
}); | |
c.fragments = {}; | |
c.each({ | |
appendTo: "append", | |
prependTo: "prepend", | |
insertBefore: "before", | |
insertAfter: "after", | |
replaceAll: "replaceWith" | |
}, function (a, b) { | |
c.fn[a] = function (d) { | |
var e = []; | |
d = c(d); | |
var f = this.length === 1 && this[0].parentNode; | |
if (f && f.nodeType === 11 && f.childNodes.length === 1 && d.length === 1) { | |
d[b](this[0]); | |
return this | |
} else { | |
f = 0; | |
for (var h = d.length; f < h; f++) { | |
var i = (f > 0 ? this.clone(true) : this).get(); | |
c.fn[b].apply(c(d[f]), i); | |
e = e.concat(i) | |
} | |
return this.pushStack(e, a, d.selector) | |
} | |
} | |
}); | |
c.extend({ | |
clean: function (a, b, d, e) { | |
b = b || s; | |
if (typeof b.createElement === "undefined") b = b.ownerDocument || b[0] && b[0].ownerDocument || s; | |
for (var f = [], h = 0, i; | |
(i = a[h]) != null; h++) { | |
if (typeof i === | |
"number") i += ""; | |
if (i) { | |
if (typeof i === "string" && !jb.test(i)) i = b.createTextNode(i); | |
else if (typeof i === "string") { | |
i = i.replace(La, Na); | |
var n = (Ma.exec(i) || ["", ""])[1].toLowerCase(), | |
k = H[n] || H._default, | |
o = k[0], | |
r = b.createElement("div"); | |
for (r.innerHTML = k[1] + i + k[2]; o--;) r = r.lastChild; | |
if (!c.support.tbody) { | |
o = ib.test(i); | |
n = n === "table" && !o ? r.firstChild && r.firstChild.childNodes : k[1] === "<table>" && !o ? r.childNodes : []; | |
for (k = n.length - 1; k >= 0; --k) c.nodeName(n[k], "tbody") && !n[k].childNodes.length && n[k].parentNode.removeChild(n[k]) | |
}!c.support.leadingWhitespace && | |
fa.test(i) && r.insertBefore(b.createTextNode(fa.exec(i)[0]), r.firstChild); | |
i = r.childNodes | |
} | |
if (i.nodeType) f.push(i); | |
else f = c.merge(f, i) | |
} | |
} | |
if (d) | |
for (h = 0; f[h]; h++) | |
if (e && c.nodeName(f[h], "script") && (!f[h].type || f[h].type.toLowerCase() === "text/javascript")) e.push(f[h].parentNode ? f[h].parentNode.removeChild(f[h]) : f[h]); | |
else { | |
f[h].nodeType === 1 && f.splice.apply(f, [h + 1, 0].concat(c.makeArray(f[h].getElementsByTagName("script")))); | |
d.appendChild(f[h]) | |
} | |
return f | |
}, | |
cleanData: function (a) { | |
for (var b, d, e = c.cache, f = c.event.special, | |
h = c.support.deleteExpando, i = 0, n; | |
(n = a[i]) != null; i++) | |
if (d = n[c.expando]) { | |
b = e[d]; | |
if (b.events) | |
for (var k in b.events) f[k] ? c.event.remove(n, k) : Da(n, k, b.handle); | |
if (h) delete n[c.expando]; | |
else n.removeAttribute && n.removeAttribute(c.expando); | |
delete e[d] | |
} | |
} | |
}); | |
var kb = /z-?index|font-?weight|opacity|zoom|line-?height/i, | |
Oa = /alpha\([^)]*\)/, | |
Pa = /opacity=([^)]*)/, | |
pa = /float/i, | |
qa = /-([a-z])/ig, | |
lb = /([A-Z])/g, | |
mb = /^-?\d+(?:px)?$/i, | |
nb = /^-?\d/, | |
ob = { | |
position: "absolute", | |
visibility: "hidden", | |
display: "block" | |
}, pb = ["Left", "Right"], | |
qb = ["Top", "Bottom"], | |
rb = s.defaultView && s.defaultView.getComputedStyle, | |
Qa = c.support.cssFloat ? "cssFloat" : "styleFloat", | |
ra = function (a, b) { | |
return b.toUpperCase() | |
}; | |
c.fn.css = function (a, b) { | |
return L(this, a, b, true, function (d, e, f) { | |
if (f === v) return c.curCSS(d, e); | |
if (typeof f === "number" && !kb.test(e)) f += "px"; | |
c.style(d, e, f) | |
}) | |
}; | |
c.extend({ | |
style: function (a, b, d) { | |
if (!a || a.nodeType === 3 || a.nodeType === 8) return v; | |
if ((b === "width" || b === "height") && parseFloat(d) < 0) d = v; | |
var e = a.style || a, | |
f = d !== v; | |
if (!c.support.opacity && b === "opacity") { | |
if (f) { | |
e.zoom = | |
1; | |
b = parseInt(d, 10) + "" === "NaN" ? "" : "alpha(opacity=" + d * 100 + ")"; | |
a = e.filter || c.curCSS(a, "filter") || ""; | |
e.filter = Oa.test(a) ? a.replace(Oa, b) : b | |
} | |
return e.filter && e.filter.indexOf("opacity=") >= 0 ? parseFloat(Pa.exec(e.filter)[1]) / 100 + "" : "" | |
} | |
if (pa.test(b)) b = Qa; | |
b = b.replace(qa, ra); | |
if (f) e[b] = d; | |
return e[b] | |
}, | |
css: function (a, b, d, e) { | |
if (b === "width" || b === "height") { | |
var f, h = b === "width" ? pb : qb; | |
d = function () { | |
f = b === "width" ? a.offsetWidth : a.offsetHeight; | |
e !== "border" && c.each(h, function () { | |
e || (f -= parseFloat(c.curCSS(a, "padding" + this, | |
true)) || 0); | |
if (e === "margin") f += parseFloat(c.curCSS(a, "margin" + this, true)) || 0; | |
else f -= parseFloat(c.curCSS(a, "border" + this + "Width", true)) || 0 | |
}) | |
}; | |
a.offsetWidth !== 0 ? d() : c.swap(a, ob, d); | |
return Math.max(0, Math.round(f)) | |
} | |
return c.curCSS(a, b, d) | |
}, | |
curCSS: function (a, b, d) { | |
var e, f = a.style; | |
if (!c.support.opacity && b === "opacity" && a.currentStyle) { | |
e = Pa.test(a.currentStyle.filter || "") ? parseFloat(RegExp.$1) / 100 + "" : ""; | |
return e === "" ? "1" : e | |
} | |
if (pa.test(b)) b = Qa; | |
if (!d && f && f[b]) e = f[b]; | |
else if (rb) { | |
if (pa.test(b)) b = "float"; | |
b = b.replace(lb, | |
"-$1").toLowerCase(); | |
f = a.ownerDocument.defaultView; | |
if (!f) return null; | |
if (a = f.getComputedStyle(a, null)) e = a.getPropertyValue(b); | |
if (b === "opacity" && e === "") e = "1" | |
} else if (a.currentStyle) { | |
d = b.replace(qa, ra); | |
e = a.currentStyle[b] || a.currentStyle[d]; | |
if (!mb.test(e) && nb.test(e)) { | |
b = f.left; | |
var h = a.runtimeStyle.left; | |
a.runtimeStyle.left = a.currentStyle.left; | |
f.left = d === "fontSize" ? "1em" : e || 0; | |
e = f.pixelLeft + "px"; | |
f.left = b; | |
a.runtimeStyle.left = h | |
} | |
} | |
return e | |
}, | |
swap: function (a, b, d) { | |
var e = {}, f; | |
for (f in b) { | |
e[f] = a.style[f]; | |
a.style[f] = | |
b[f] | |
} | |
d.call(a); | |
for (f in b) a.style[f] = e[f] | |
} | |
}); | |
if (c.expr && c.expr.filters) { | |
c.expr.filters.hidden = function (a) { | |
var b = a.offsetWidth, | |
d = a.offsetHeight, | |
e = a.nodeName.toLowerCase() === "tr"; | |
return b === 0 && d === 0 && !e ? true : b > 0 && d > 0 && !e ? false : c.curCSS(a, "display") === "none" | |
}; | |
c.expr.filters.visible = function (a) { | |
return !c.expr.filters.hidden(a) | |
} | |
} | |
var sb = I(), | |
tb = /<script(.|\s)*?\/script>/gi, | |
ub = /select|textarea/i, | |
vb = /color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i, | |
V = /=\?(&|$)/, | |
sa = | |
/\?/, | |
wb = /(\?|&)_=.*?(&|$)/, | |
xb = /^(\w+:)?\/\/([^\/?#]+)/, | |
yb = /%20/g, | |
zb = c.fn.load; | |
c.fn.extend({ | |
load: function (a, b, d) { | |
if (typeof a !== "string") return zb.call(this, a); | |
else if (!this.length) return this; | |
var e = a.indexOf(" "); | |
if (e >= 0) { | |
var f = a.slice(e, a.length); | |
a = a.slice(0, e) | |
} | |
e = "GET"; | |
if (b) | |
if (c.isFunction(b)) { | |
d = b; | |
b = null | |
} else if (typeof b === "object") { | |
b = c.param(b, c.ajaxSettings.traditional); | |
e = "POST" | |
} | |
var h = this; | |
c.ajax({ | |
url: a, | |
type: e, | |
dataType: "html", | |
data: b, | |
complete: function (i, n) { | |
if (n === "success" || n === "notmodified") h.html(f ? | |
c("<div />").append(i.responseText.replace(tb, "")).find(f) : i.responseText); | |
d && h.each(d, [i.responseText, n, i]) | |
} | |
}); | |
return this | |
}, | |
serialize: function () { | |
return c.param(this.serializeArray()) | |
}, | |
serializeArray: function () { | |
return this.map(function () { | |
return this.elements ? c.makeArray(this.elements) : this | |
}).filter(function () { | |
return this.name && !this.disabled && (this.checked || ub.test(this.nodeName) || vb.test(this.type)) | |
}).map(function (a, b) { | |
var d = c(this).val(); | |
return d == null ? null : c.isArray(d) ? c.map(d, function (e) { | |
return { | |
name: b.name, | |
value: e | |
} | |
}) : { | |
name: b.name, | |
value: d | |
} | |
}).get() | |
} | |
}); | |
c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function (a, b) { | |
c.fn[b] = function (d) { | |
return this.bind(b, d) | |
} | |
}); | |
c.extend({ | |
get: function (a, b, d, e) { | |
if (c.isFunction(b)) { | |
e = e || d; | |
d = b; | |
b = null | |
} | |
return c.ajax({ | |
type: "GET", | |
url: a, | |
data: b, | |
success: d, | |
dataType: e | |
}) | |
}, | |
getScript: function (a, b) { | |
return c.get(a, null, b, "script") | |
}, | |
getJSON: function (a, b, d) { | |
return c.get(a, b, d, "json") | |
}, | |
post: function (a, b, d, e) { | |
if (c.isFunction(b)) { | |
e = e || d; | |
d = b; | |
b = {} | |
} | |
return c.ajax({ | |
type: "POST", | |
url: a, | |
data: b, | |
success: d, | |
dataType: e | |
}) | |
}, | |
ajaxSetup: function (a) { | |
c.extend(c.ajaxSettings, a) | |
}, | |
ajaxSettings: { | |
url: location.href, | |
global: true, | |
type: "GET", | |
contentType: "application/x-www-form-urlencoded", | |
processData: true, | |
async: true, | |
xhr: x.XMLHttpRequest && (x.location.protocol !== "file:" || !x.ActiveXObject) ? function () { | |
return new x.XMLHttpRequest | |
} : function () { | |
try { | |
return new x.ActiveXObject("Microsoft.XMLHTTP") | |
} catch (a) {} | |
}, | |
accepts: { | |
xml: "application/xml, text/xml", | |
html: "text/html", | |
script: "text/javascript, application/javascript", | |
json: "application/json, text/javascript", | |
text: "text/plain", | |
_default: "*/*" | |
} | |
}, | |
lastModified: {}, | |
etag: {}, | |
ajax: function (a) { | |
function b() { | |
f.success && f.success.call(k, n, i, w); | |
f.global && e("ajaxSuccess", [w, f]) | |
} | |
function d() { | |
f.complete && f.complete.call(k, w, i); | |
f.global && e("ajaxComplete", [w, f]); | |
f.global && !--c.active && c.event.trigger("ajaxStop") | |
} | |
function e(q, p) { | |
(f.context ? c(f.context) : c.event).trigger(q, p) | |
} | |
var f = c.extend(true, {}, c.ajaxSettings, a), | |
h, i, n, k = a && a.context || f, | |
o = f.type.toUpperCase(); | |
if (f.data && f.processData && | |
typeof f.data !== "string") f.data = c.param(f.data, f.traditional); | |
if (f.dataType === "jsonp") { | |
if (o === "GET") V.test(f.url) || (f.url += (sa.test(f.url) ? "&" : "?") + (f.jsonp || "callback") + "=?"); | |
else if (!f.data || !V.test(f.data)) f.data = (f.data ? f.data + "&" : "") + (f.jsonp || "callback") + "=?"; | |
f.dataType = "json" | |
} | |
if (f.dataType === "json" && (f.data && V.test(f.data) || V.test(f.url))) { | |
h = f.jsonpCallback || "jsonp" + sb++; | |
if (f.data) f.data = (f.data + "").replace(V, "=" + h + "$1"); | |
f.url = f.url.replace(V, "=" + h + "$1"); | |
f.dataType = "script"; | |
x[h] = x[h] || function (q) { | |
n = | |
q; | |
b(); | |
d(); | |
x[h] = v; | |
try { | |
delete x[h] | |
} catch (p) {} | |
A && A.removeChild(C) | |
} | |
} | |
if (f.dataType === "script" && f.cache === null) f.cache = false; | |
if (f.cache === false && o === "GET") { | |
var r = I(), | |
y = f.url.replace(wb, "$1_=" + r + "$2"); | |
f.url = y + (y === f.url ? (sa.test(f.url) ? "&" : "?") + "_=" + r : "") | |
} | |
if (f.data && o === "GET") f.url += (sa.test(f.url) ? "&" : "?") + f.data; | |
f.global && !c.active++ && c.event.trigger("ajaxStart"); | |
r = (r = xb.exec(f.url)) && (r[1] && r[1] !== location.protocol || r[2] !== location.host); | |
if (f.dataType === "script" && o === "GET" && r) { | |
var A = s.getElementsByTagName("head")[0] || | |
s.documentElement, | |
C = s.createElement("script"); | |
C.src = f.url; | |
if (f.scriptCharset) C.charset = f.scriptCharset; | |
if (!h) { | |
var B = false; | |
C.onload = C.onreadystatechange = function () { | |
if (!B && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete")) { | |
B = true; | |
b(); | |
d(); | |
C.onload = C.onreadystatechange = null; | |
A && C.parentNode && A.removeChild(C) | |
} | |
} | |
} | |
A.insertBefore(C, A.firstChild); | |
return v | |
} | |
var F = false, | |
w = f.xhr(); | |
if (w) { | |
f.username ? w.open(o, f.url, f.async, f.username, f.password) : w.open(o, f.url, f.async); | |
try { | |
if (f.data || a && | |
a.contentType) w.setRequestHeader("Content-Type", f.contentType); | |
if (f.ifModified) { | |
c.lastModified[f.url] && w.setRequestHeader("If-Modified-Since", c.lastModified[f.url]); | |
c.etag[f.url] && w.setRequestHeader("If-None-Match", c.etag[f.url]) | |
} | |
r || w.setRequestHeader("X-Requested-With", "XMLHttpRequest"); | |
w.setRequestHeader("Accept", f.dataType && f.accepts[f.dataType] ? f.accepts[f.dataType] + ", */*" : f.accepts._default) | |
} catch (oa) {} | |
if (f.beforeSend && f.beforeSend.call(k, w, f) === false) { | |
f.global && !--c.active && c.event.trigger("ajaxStop"); | |
w.abort(); | |
return false | |
} | |
f.global && e("ajaxSend", [w, f]); | |
var g = w.onreadystatechange = function (q) { | |
if (!w || w.readyState === 0 || q === "abort") { | |
F || d(); | |
F = true; | |
if (w) w.onreadystatechange = c.noop | |
} else if (!F && w && (w.readyState === 4 || q === "timeout")) { | |
F = true; | |
w.onreadystatechange = c.noop; | |
i = q === "timeout" ? "timeout" : !c.httpSuccess(w) ? "error" : f.ifModified && c.httpNotModified(w, f.url) ? "notmodified" : "success"; | |
var p; | |
if (i === "success") try { | |
n = c.httpData(w, f.dataType, f) | |
} catch (u) { | |
i = "parsererror"; | |
p = u | |
} | |
if (i === "success" || i === "notmodified") h || | |
b(); | |
else c.handleError(f, w, i, p); | |
d(); | |
q === "timeout" && w.abort(); | |
if (f.async) w = null | |
} | |
}; | |
try { | |
var j = w.abort; | |
w.abort = function () { | |
w && j.call(w); | |
g("abort") | |
} | |
} catch (l) {} | |
f.async && f.timeout > 0 && setTimeout(function () { | |
w && !F && g("timeout") | |
}, f.timeout); | |
try { | |
w.send(o === "POST" || o === "PUT" || o === "DELETE" ? f.data : null) | |
} catch (m) { | |
c.handleError(f, w, null, m); | |
d() | |
} | |
f.async || g(); | |
return w | |
} | |
}, | |
handleError: function (a, b, d, e) { | |
if (a.error) a.error.call(a.context || a, b, d, e); | |
if (a.global)(a.context ? c(a.context) : c.event).trigger("ajaxError", [b, a, e]) | |
}, | |
active: 0, | |
httpSuccess: function (a) { | |
try { | |
return !a.status && location.protocol === "file:" || a.status >= 200 && a.status < 300 || a.status === 304 || a.status === 1223 || a.status === 0 | |
} catch (b) {} | |
return false | |
}, | |
httpNotModified: function (a, b) { | |
var d = a.getResponseHeader("Last-Modified"), | |
e = a.getResponseHeader("Etag"); | |
if (d) c.lastModified[b] = d; | |
if (e) c.etag[b] = e; | |
return a.status === 304 || a.status === 0 | |
}, | |
httpData: function (a, b, d) { | |
var e = a.getResponseHeader("content-type") || "", | |
f = b === "xml" || !b && e.indexOf("xml") >= 0; | |
a = f ? a.responseXML : a.responseText; | |
f && a.documentElement.nodeName === "parsererror" && c.error("parsererror"); | |
if (d && d.dataFilter) a = d.dataFilter(a, b); | |
if (typeof a === "string") | |
if (b === "json" || !b && e.indexOf("json") >= 0) a = c.parseJSON(a); | |
else if (b === "script" || !b && e.indexOf("javascript") >= 0) c.globalEval(a); | |
return a | |
}, | |
param: function (a, b) { | |
function d(i, n) { | |
if (c.isArray(n)) c.each(n, function (k, o) { | |
b || /\[\]$/.test(i) ? e(i, o) : d(i + "[" + (typeof o === "object" || c.isArray(o) ? k : "") + "]", o) | |
}); | |
else !b && n != null && typeof n === "object" ? c.each(n, function (k, o) { | |
d(i + "[" + k + "]", | |
o) | |
}) : e(i, n) | |
} | |
function e(i, n) { | |
n = c.isFunction(n) ? n() : n; | |
f[f.length] = encodeURIComponent(i) + "=" + encodeURIComponent(n) | |
} | |
var f = []; | |
if (b === v) b = c.ajaxSettings.traditional; | |
if (c.isArray(a) || a.jquery) c.each(a, function () { | |
e(this.name, this.value) | |
}); | |
else | |
for (var h in a) d(h, a[h]); | |
return f.join("&").replace(yb, "+") | |
} | |
}); | |
var ta = {}, Ab = /toggle|show|hide/, | |
Bb = /^([+-]=)?([\d+-.]+)(.*)$/, | |
ga, wa = [ | |
["height", "marginTop", "marginBottom", "paddingTop", "paddingBottom"], | |
["width", "marginLeft", "marginRight", "paddingLeft", "paddingRight"], | |
["opacity"] | |
]; | |
c.fn.extend({ | |
show: function (a, b) { | |
if (a || a === 0) return this.animate(S("show", 3), a, b); | |
else { | |
for (var d = 0, e = this.length; d < e; d++) { | |
var f = c.data(this[d], "olddisplay"); | |
this[d].style.display = f || ""; | |
if (c.css(this[d], "display") === "none") { | |
f = this[d].nodeName; | |
var h; | |
if (ta[f]) h = ta[f]; | |
else { | |
var i = c("<" + f + " />").appendTo("body"); | |
h = i.css("display"); | |
if (h === "none") h = "block"; | |
i.remove(); | |
ta[f] = h | |
} | |
c.data(this[d], "olddisplay", h) | |
} | |
} | |
d = 0; | |
for (e = this.length; d < e; d++) this[d].style.display = c.data(this[d], "olddisplay") || ""; | |
return this | |
} | |
}, | |
hide: function (a, b) { | |
if (a || a === 0) return this.animate(S("hide", 3), a, b); | |
else { | |
for (var d = 0, e = this.length; d < e; d++) { | |
var f = c.data(this[d], "olddisplay"); | |
!f && f !== "none" && c.data(this[d], "olddisplay", c.css(this[d], "display")) | |
} | |
d = 0; | |
for (e = this.length; d < e; d++) this[d].style.display = "none"; | |
return this | |
} | |
}, | |
_toggle: c.fn.toggle, | |
toggle: function (a, b) { | |
var d = typeof a === "boolean"; | |
if (c.isFunction(a) && c.isFunction(b)) this._toggle.apply(this, arguments); | |
else a == null || d ? this.each(function () { | |
var e = d ? a : c(this).is(":hidden"); | |
c(this)[e ? | |
"show" : "hide"]() | |
}) : this.animate(S("toggle", 3), a, b); | |
return this | |
}, | |
fadeTo: function (a, b, d) { | |
return this.filter(":hidden").css("opacity", 0).show().end().animate({ | |
opacity: b | |
}, a, d) | |
}, | |
animate: function (a, b, d, e) { | |
var f = c.speed(b, d, e); | |
if (c.isEmptyObject(a)) return this.each(f.complete); | |
return this[f.queue === false ? "each" : "queue"](function () { | |
var h = c.extend({}, f), | |
i, n = this.nodeType === 1 && c(this).is(":hidden"), | |
k = this; | |
for (i in a) { | |
var o = i.replace(qa, ra); | |
if (i !== o) { | |
a[o] = a[i]; | |
delete a[i]; | |
i = o | |
} | |
if (a[i] === "hide" && n || a[i] === "show" && !n) return h.complete.call(this); | |
if ((i === "height" || i === "width") && this.style) { | |
h.display = c.css(this, "display"); | |
h.overflow = this.style.overflow | |
} | |
if (c.isArray(a[i])) { | |
(h.specialEasing = h.specialEasing || {})[i] = a[i][1]; | |
a[i] = a[i][0] | |
} | |
} | |
if (h.overflow != null) this.style.overflow = "hidden"; | |
h.curAnim = c.extend({}, a); | |
c.each(a, function (r, y) { | |
var A = new c.fx(k, h, r); | |
if (Ab.test(y)) A[y === "toggle" ? n ? "show" : "hide" : y](a); | |
else { | |
var C = Bb.exec(y), | |
B = A.cur(true) || 0; | |
if (C) { | |
var F = parseFloat(C[2]), | |
w = C[3] || "px"; | |
if (w !== "px") { | |
k.style[r] = (F || | |
1) + w; | |
B *= (F || 1) / A.cur(true); | |
k.style[r] = B + w | |
} | |
if (C[1]) F = (C[1] === "-=" ? -1 : 1) * F + B; | |
A.custom(B, F, w) | |
} else A.custom(B, y, "") | |
} | |
}); | |
return true | |
}) | |
}, | |
stop: function (a, b) { | |
var d = c.timers; | |
a && this.queue([]); | |
this.each(function () { | |
for (var e = d.length - 1; e >= 0; e--) | |
if (d[e].elem === this) { | |
if (b) d[e](true); | |
d.splice(e, 1) | |
} | |
}); | |
b || this.dequeue(); | |
return this | |
} | |
}); | |
c.each({ | |
slideDown: S("show", 1), | |
slideUp: S("hide", 1), | |
slideToggle: S("toggle", 1), | |
fadeIn: { | |
opacity: "show" | |
}, | |
fadeOut: { | |
opacity: "hide" | |
} | |
}, function (a, b) { | |
c.fn[a] = function (d, e) { | |
return this.animate(b, | |
d, e) | |
} | |
}); | |
c.extend({ | |
speed: function (a, b, d) { | |
var e = a && typeof a === "object" ? a : { | |
complete: d || !d && b || c.isFunction(a) && a, | |
duration: a, | |
easing: d && b || b && !c.isFunction(b) && b | |
}; | |
e.duration = c.fx.off ? 0 : typeof e.duration === "number" ? e.duration : c.fx.speeds[e.duration] || c.fx.speeds._default; | |
e.old = e.complete; | |
e.complete = function () { | |
e.queue !== false && c(this).dequeue(); | |
c.isFunction(e.old) && e.old.call(this) | |
}; | |
return e | |
}, | |
easing: { | |
linear: function (a, b, d, e) { | |
return d + e * a | |
}, | |
swing: function (a, b, d, e) { | |
return (-Math.cos(a * Math.PI) / 2 + 0.5) * e + d | |
} | |
}, | |
timers: [], | |
fx: function (a, b, d) { | |
this.options = b; | |
this.elem = a; | |
this.prop = d; | |
if (!b.orig) b.orig = {} | |
} | |
}); | |
c.fx.prototype = { | |
update: function () { | |
this.options.step && this.options.step.call(this.elem, this.now, this); | |
(c.fx.step[this.prop] || c.fx.step._default)(this); | |
if ((this.prop === "height" || this.prop === "width") && this.elem.style) this.elem.style.display = "block" | |
}, | |
cur: function (a) { | |
if (this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null)) return this.elem[this.prop]; | |
return (a = parseFloat(c.css(this.elem, | |
this.prop, a))) && a > -1E4 ? a : parseFloat(c.curCSS(this.elem, this.prop)) || 0 | |
}, | |
custom: function (a, b, d) { | |
function e(h) { | |
return f.step(h) | |
} | |
this.startTime = I(); | |
this.start = a; | |
this.end = b; | |
this.unit = d || this.unit || "px"; | |
this.now = this.start; | |
this.pos = this.state = 0; | |
var f = this; | |
e.elem = this.elem; | |
if (e() && c.timers.push(e) && !ga) ga = setInterval(c.fx.tick, 13) | |
}, | |
show: function () { | |
this.options.orig[this.prop] = c.style(this.elem, this.prop); | |
this.options.show = true; | |
this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur()); | |
c(this.elem).show() | |
}, | |
hide: function () { | |
this.options.orig[this.prop] = c.style(this.elem, this.prop); | |
this.options.hide = true; | |
this.custom(this.cur(), 0) | |
}, | |
step: function (a) { | |
var b = I(), | |
d = true; | |
if (a || b >= this.options.duration + this.startTime) { | |
this.now = this.end; | |
this.pos = this.state = 1; | |
this.update(); | |
this.options.curAnim[this.prop] = true; | |
for (var e in this.options.curAnim) | |
if (this.options.curAnim[e] !== true) d = false; | |
if (d) { | |
if (this.options.display != null) { | |
this.elem.style.overflow = this.options.overflow; | |
a = c.data(this.elem, "olddisplay"); | |
this.elem.style.display = | |
a ? a : this.options.display; | |
if (c.css(this.elem, "display") === "none") this.elem.style.display = "block" | |
} | |
this.options.hide && c(this.elem).hide(); | |
if (this.options.hide || this.options.show) | |
for (var f in this.options.curAnim) c.style(this.elem, f, this.options.orig[f]); | |
this.options.complete.call(this.elem) | |
} | |
return false | |
} else { | |
f = b - this.startTime; | |
this.state = f / this.options.duration; | |
a = this.options.easing || (c.easing.swing ? "swing" : "linear"); | |
this.pos = c.easing[this.options.specialEasing && this.options.specialEasing[this.prop] || | |
a](this.state, f, 0, 1, this.options.duration); | |
this.now = this.start + (this.end - this.start) * this.pos; | |
this.update() | |
} | |
return true | |
} | |
}; | |
c.extend(c.fx, { | |
tick: function () { | |
for (var a = c.timers, b = 0; b < a.length; b++) a[b]() || a.splice(b--, 1); | |
a.length || c.fx.stop() | |
}, | |
stop: function () { | |
clearInterval(ga); | |
ga = null | |
}, | |
speeds: { | |
slow: 600, | |
fast: 200, | |
_default: 400 | |
}, | |
step: { | |
opacity: function (a) { | |
c.style(a.elem, "opacity", a.now) | |
}, | |
_default: function (a) { | |
if (a.elem.style && a.elem.style[a.prop] != null) a.elem.style[a.prop] = (a.prop === "width" || a.prop === "height" ? | |
Math.max(0, a.now) : a.now) + a.unit; | |
else a.elem[a.prop] = a.now | |
} | |
} | |
}); | |
if (c.expr && c.expr.filters) c.expr.filters.animated = function (a) { | |
return c.grep(c.timers, function (b) { | |
return a === b.elem | |
}).length | |
}; | |
c.fn.offset = "getBoundingClientRect" in s.documentElement ? function (a) { | |
var b = this[0]; | |
if (a) return this.each(function (f) { | |
c.offset.setOffset(this, a, f) | |
}); | |
if (!b || !b.ownerDocument) return null; | |
if (b === b.ownerDocument.body) return c.offset.bodyOffset(b); | |
var d = b.getBoundingClientRect(), | |
e = b.ownerDocument; | |
b = e.body; | |
e = e.documentElement; | |
return { | |
top: d.top + (self.pageYOffset || c.support.boxModel && e.scrollTop || b.scrollTop) - (e.clientTop || b.clientTop || 0), | |
left: d.left + (self.pageXOffset || c.support.boxModel && e.scrollLeft || b.scrollLeft) - (e.clientLeft || b.clientLeft || 0) | |
} | |
} : function (a) { | |
var b = this[0]; | |
if (a) return this.each(function (o) { | |
c.offset.setOffset(this, a, o) | |
}); | |
if (!b || !b.ownerDocument) return null; | |
if (b === b.ownerDocument.body) return c.offset.bodyOffset(b); | |
c.offset.initialize(); | |
var d = b.offsetParent, | |
e = b.ownerDocument, | |
f, h = e.documentElement, | |
i = e.body; | |
f = (e = e.defaultView) ? e.getComputedStyle(b, null) : b.currentStyle; | |
for (var n = b.offsetTop, k = b.offsetLeft; | |
(b = b.parentNode) && b !== i && b !== h;) { | |
if (c.offset.supportsFixedPosition && f.position === "fixed") break; | |
f = e ? e.getComputedStyle(b, null) : b.currentStyle; | |
n -= b.scrollTop; | |
k -= b.scrollLeft; | |
if (b === d) { | |
n += b.offsetTop; | |
k += b.offsetLeft; | |
if (c.offset.doesNotAddBorder && !(c.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(b.nodeName))) { | |
n += parseFloat(f.borderTopWidth) || 0; | |
k += parseFloat(f.borderLeftWidth) || 0 | |
} | |
d = b.offsetParent | |
} | |
if (c.offset.subtractsBorderForOverflowNotVisible && | |
f.overflow !== "visible") { | |
n += parseFloat(f.borderTopWidth) || 0; | |
k += parseFloat(f.borderLeftWidth) || 0 | |
} | |
} | |
if (f.position === "relative" || f.position === "static") { | |
n += i.offsetTop; | |
k += i.offsetLeft | |
} | |
if (c.offset.supportsFixedPosition && f.position === "fixed") { | |
n += Math.max(h.scrollTop, i.scrollTop); | |
k += Math.max(h.scrollLeft, i.scrollLeft) | |
} | |
return { | |
top: n, | |
left: k | |
} | |
}; | |
c.offset = { | |
initialize: function () { | |
var a = s.body, | |
b = s.createElement("div"), | |
d, e, f, h = parseFloat(c.curCSS(a, "marginTop", true)) || 0; | |
c.extend(b.style, { | |
position: "absolute", | |
top: 0, | |
left: 0, | |
margin: 0, | |
border: 0, | |
width: "1px", | |
height: "1px", | |
visibility: "hidden" | |
}); | |
b.innerHTML = "<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>"; | |
a.insertBefore(b, a.firstChild); | |
d = b.firstChild; | |
e = d.firstChild; | |
f = d.nextSibling.firstChild.firstChild; | |
this.doesNotAddBorder = e.offsetTop !== | |
5; | |
this.doesAddBorderForTableAndCells = f.offsetTop === 5; | |
e.style.position = "fixed"; | |
e.style.top = "20px"; | |
this.supportsFixedPosition = e.offsetTop === 20 || e.offsetTop === 15; | |
e.style.position = e.style.top = ""; | |
d.style.overflow = "hidden"; | |
d.style.position = "relative"; | |
this.subtractsBorderForOverflowNotVisible = e.offsetTop === -5; | |
this.doesNotIncludeMarginInBodyOffset = a.offsetTop !== h; | |
a.removeChild(b); | |
c.offset.initialize = c.noop | |
}, | |
bodyOffset: function (a) { | |
var b = a.offsetTop, | |
d = a.offsetLeft; | |
c.offset.initialize(); | |
if (c.offset.doesNotIncludeMarginInBodyOffset) { | |
b += | |
parseFloat(c.curCSS(a, "marginTop", true)) || 0; | |
d += parseFloat(c.curCSS(a, "marginLeft", true)) || 0 | |
} | |
return { | |
top: b, | |
left: d | |
} | |
}, | |
setOffset: function (a, b, d) { | |
if (/static/.test(c.curCSS(a, "position"))) a.style.position = "relative"; | |
var e = c(a), | |
f = e.offset(), | |
h = parseInt(c.curCSS(a, "top", true), 10) || 0, | |
i = parseInt(c.curCSS(a, "left", true), 10) || 0; | |
if (c.isFunction(b)) b = b.call(a, d, f); | |
d = { | |
top: b.top - f.top + h, | |
left: b.left - f.left + i | |
}; | |
"using" in b ? b.using.call(a, d) : e.css(d) | |
} | |
}; | |
c.fn.extend({ | |
position: function () { | |
if (!this[0]) return null; | |
var a = this[0], | |
b = this.offsetParent(), | |
d = this.offset(), | |
e = /^body|html$/i.test(b[0].nodeName) ? { | |
top: 0, | |
left: 0 | |
} : b.offset(); | |
d.top -= parseFloat(c.curCSS(a, "marginTop", true)) || 0; | |
d.left -= parseFloat(c.curCSS(a, "marginLeft", true)) || 0; | |
e.top += parseFloat(c.curCSS(b[0], "borderTopWidth", true)) || 0; | |
e.left += parseFloat(c.curCSS(b[0], "borderLeftWidth", true)) || 0; | |
return { | |
top: d.top - e.top, | |
left: d.left - e.left | |
} | |
}, | |
offsetParent: function () { | |
return this.map(function () { | |
for (var a = this.offsetParent || s.body; a && !/^body|html$/i.test(a.nodeName) && c.css(a, | |
"position") === "static";) a = a.offsetParent; | |
return a | |
}) | |
} | |
}); | |
c.each(["Left", "Top"], function (a, b) { | |
var d = "scroll" + b; | |
c.fn[d] = function (e) { | |
var f = this[0], | |
h; | |
if (!f) return null; | |
if (e !== v) return this.each(function () { | |
if (h = xa(this)) h.scrollTo(!a ? e : c(h).scrollLeft(), a ? e : c(h).scrollTop()); | |
else this[d] = e | |
}); | |
else return (h = xa(f)) ? "pageXOffset" in h ? h[a ? "pageYOffset" : "pageXOffset"] : c.support.boxModel && h.document.documentElement[d] || h.document.body[d] : f[d] | |
} | |
}); | |
c.each(["Height", "Width"], function (a, b) { | |
var d = b.toLowerCase(); | |
c.fn["inner" + | |
b] = function () { | |
return this[0] ? c.css(this[0], d, false, "padding") : null | |
}; | |
c.fn["outer" + b] = function (e) { | |
return this[0] ? c.css(this[0], d, false, e ? "margin" : "border") : null | |
}; | |
c.fn[d] = function (e) { | |
var f = this[0]; | |
if (!f) return e == null ? null : this; | |
if (c.isFunction(e)) return this.each(function (h) { | |
var i = c(this); | |
i[d](e.call(this, h, i[d]())) | |
}); | |
return "scrollTo" in f && f.document ? f.document.compatMode === "CSS1Compat" && f.document.documentElement["client" + b] || f.document.body["client" + b] : f.nodeType === 9 ? Math.max(f.documentElement["client" + | |
b], f.body["scroll" + b], f.documentElement["scroll" + b], f.body["offset" + b], f.documentElement["offset" + b]) : e === v ? c.css(f, d) : this.css(d, typeof e === "string" ? e : e + "px") | |
} | |
}); | |
x.jQuery = x.$ = c | |
})(window); | |
(function (x) { | |
var v, P, ca = 1, | |
L, I = this, | |
Q, R = I.postMessage && !x.browser.opera; | |
x.postMessage = function (D, E, K) { | |
if (E) { | |
D = typeof D === "string" ? D : x.param(D); | |
K = K || parent; | |
if (R) K.postMessage(D, E.replace(/([^:]+:\/\/[^\/]+).*/, "$1")); | |
else if (E) K.location = E.replace(/#.*$/, "") + "#" + +new Date + ca+++"&" + D | |
} | |
}; | |
x.receiveMessage = Q = function (D, E, K) { | |
if (R) { | |
if (D) { | |
L && Q(); | |
L = function (J) { | |
if (typeof E === "string" && J.origin !== E || x.isFunction(E) && E(J.origin) === false) return false; | |
D(J) | |
} | |
} | |
if (I.addEventListener) I[D ? "addEventListener" : "removeEventListener"]("message", | |
L, false); | |
else I[D ? "attachEvent" : "detachEvent"]("onmessage", L) | |
} else { | |
v && clearInterval(v); | |
v = null; | |
if (D) v = setInterval(function () { | |
var J = document.location.hash, | |
X = /^#?\d+&/; | |
if (J !== P && X.test(J)) { | |
P = J; | |
D({ | |
data: J.replace(X, "") | |
}) | |
} | |
}, typeof E === "number" ? E : typeof K === "number" ? K : 100) | |
} | |
} | |
})(jQuery); | |
(function (x, v) { | |
function P() { | |
if (!c.isReady) { | |
try { | |
s.documentElement.doScroll("left") | |
} catch (a) { | |
setTimeout(P, 1); | |
return | |
} | |
c.ready() | |
} | |
} | |
function ca(a, b) { | |
b.src ? c.ajax({ | |
url: b.src, | |
async: false, | |
dataType: "script" | |
}) : c.globalEval(b.text || b.textContent || b.innerHTML || ""); | |
b.parentNode && b.parentNode.removeChild(b) | |
} | |
function L(a, b, d, e, f, h) { | |
var i = a.length; | |
if (typeof b === "object") { | |
for (var n in b) L(a, n, b[n], e, f, d); | |
return a | |
} | |
if (d !== v) { | |
e = !h && e && c.isFunction(d); | |
for (n = 0; n < i; n++) f(a[n], b, e ? d.call(a[n], n, f(a[n], b)) : d, h); | |
return a | |
} | |
return i ? | |
f(a[0], b) : v | |
} | |
function I() { | |
return (new Date).getTime() | |
} | |
function Q() { | |
return false | |
} | |
function R() { | |
return true | |
} | |
function D(a, b, d) { | |
d[0].type = a; | |
return c.event.handle.apply(b, d) | |
} | |
function E(a) { | |
var b, d = [], | |
e = [], | |
f = arguments, | |
h, i, n, k, o, r; | |
i = c.data(this, "events"); | |
if (!(a.liveFired === this || !i || !i.live || a.button && a.type === "click")) { | |
a.liveFired = this; | |
var y = i.live.slice(0); | |
for (k = 0; k < y.length; k++) { | |
i = y[k]; | |
i.origType.replace(W, "") === a.type ? e.push(i.selector) : y.splice(k--, 1) | |
} | |
h = c(a.target).closest(e, a.currentTarget); | |
o = 0; | |
for (r = | |
h.length; o < r; o++) | |
for (k = 0; k < y.length; k++) { | |
i = y[k]; | |
if (h[o].selector === i.selector) { | |
n = h[o].elem; | |
e = null; | |
if (i.preType === "mouseenter" || i.preType === "mouseleave") e = c(a.relatedTarget).closest(i.selector)[0]; | |
if (!e || e !== n) d.push({ | |
elem: n, | |
handleObj: i | |
}) | |
} | |
} | |
o = 0; | |
for (r = d.length; o < r; o++) { | |
h = d[o]; | |
a.currentTarget = h.elem; | |
a.data = h.handleObj.data; | |
a.handleObj = h.handleObj; | |
if (h.handleObj.origHandler.apply(h.elem, f) === false) { | |
b = false; | |
break | |
} | |
} | |
return b | |
} | |
} | |
function K(a, b) { | |
return "live." + (a && a !== "*" ? a + "." : "") + b.replace(/\./g, "`").replace(/ /g, | |
"&") | |
} | |
function J(a, b) { | |
var d = 0; | |
b.each(function () { | |
if (this.nodeName === (a[d] && a[d].nodeName)) { | |
var e = c.data(a[d++]), | |
f = c.data(this, e); | |
if (e = e && e.events) { | |
delete f.handle; | |
f.events = {}; | |
for (var h in e) | |
for (var i in e[h]) c.event.add(this, h, e[h][i], e[h][i].data) | |
} | |
} | |
}) | |
} | |
function X(a, b, d) { | |
var e, f, h; | |
b = b && b[0] ? b[0].ownerDocument || b[0] : s; | |
if (a.length === 1 && typeof a[0] === "string" && a[0].length < 512 && b === s && !ua.test(a[0]) && (c.support.checkClone || !va.test(a[0]))) { | |
f = true; | |
if (h = c.fragments[a[0]]) | |
if (h !== 1) e = h | |
} | |
if (!e) { | |
e = b.createDocumentFragment(); | |
c.clean(a, b, e, d) | |
} | |
if (f) c.fragments[a[0]] = h ? e : 1; | |
return { | |
fragment: e, | |
cacheable: f | |
} | |
} | |
function S(a, b) { | |
var d = {}; | |
c.each(wa.concat.apply([], wa.slice(0, b)), function () { | |
d[this] = a | |
}); | |
return d | |
} | |
function xa(a) { | |
return "scrollTo" in a && a.document ? a : a.nodeType === 9 ? a.defaultView || a.parentWindow : false | |
} | |
var c = function (a, b) { | |
return new c.fn.init(a, b) | |
}, Ra = x.jQuery, | |
Sa = x.$, | |
s = x.document, | |
da, Ta = /^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/, | |
Ua = /^.[^:#\[\.,]*$/, | |
Va = /\S/, | |
Wa = /^(\s|\u00A0)+|(\s|\u00A0)+$/g, | |
Xa = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, | |
Y = navigator.userAgent, | |
ya = false, | |
Z = [], | |
T, ha = Object.prototype.toString, | |
ia = Object.prototype.hasOwnProperty, | |
ja = Array.prototype.push, | |
aa = Array.prototype.slice, | |
za = Array.prototype.indexOf; | |
c.fn = c.prototype = { | |
init: function (a, b) { | |
var d, e, f; | |
if (!a) return this; | |
if (a.nodeType) { | |
this.context = this[0] = a; | |
this.length = 1; | |
return this | |
} | |
if (a === "body" && !b) { | |
this.context = s; | |
this[0] = s.body; | |
this.selector = "body"; | |
this.length = 1; | |
return this | |
} | |
if (typeof a === "string") | |
if ((d = Ta.exec(a)) && (d[1] || !b)) | |
if (d[1]) { | |
f = b ? b.ownerDocument || b : s; | |
if (e = Xa.exec(a)) | |
if (c.isPlainObject(b)) { | |
a = [s.createElement(e[1])]; | |
c.fn.attr.call(a, b, true) | |
} else a = [f.createElement(e[1])]; | |
else { | |
e = X([d[1]], [f]); | |
a = (e.cacheable ? e.fragment.cloneNode(true) : e.fragment).childNodes | |
} | |
return c.merge(this, a) | |
} else { | |
if (e = s.getElementById(d[2])) { | |
if (e.id !== d[2]) return da.find(a); | |
this.length = 1; | |
this[0] = e | |
} | |
this.context = s; | |
this.selector = a; | |
return this | |
} else if (!b && /^\w+$/.test(a)) { | |
this.selector = a; | |
this.context = s; | |
a = s.getElementsByTagName(a); | |
return c.merge(this, a) | |
} else return !b || b.jquery ? (b || da).find(a) : c(b).find(a); | |
else if (c.isFunction(a)) return da.ready(a); | |
if (a.selector !== v) { | |
this.selector = a.selector; | |
this.context = a.context | |
} | |
return c.makeArray(a, this) | |
}, | |
selector: "", | |
jquery: "1.4.2", | |
length: 0, | |
size: function () { | |
return this.length | |
}, | |
toArray: function () { | |
return aa.call(this, 0) | |
}, | |
get: function (a) { | |
return a == null ? this.toArray() : a < 0 ? this.slice(a)[0] : this[a] | |
}, | |
pushStack: function (a, b, d) { | |
var e = c(); | |
c.isArray(a) ? ja.apply(e, a) : c.merge(e, a); | |
e.prevObject = this; | |
e.context = this.context; | |
if (b === "find") e.selector = this.selector + (this.selector ? " " : "") + d; | |
else if (b) e.selector = this.selector + | |
"." + b + "(" + d + ")"; | |
return e | |
}, | |
each: function (a, b) { | |
return c.each(this, a, b) | |
}, | |
ready: function (a) { | |
c.bindReady(); | |
if (c.isReady) a.call(s, c); | |
else Z && Z.push(a); | |
return this | |
}, | |
eq: function (a) { | |
return a === -1 ? this.slice(a) : this.slice(a, +a + 1) | |
}, | |
first: function () { | |
return this.eq(0) | |
}, | |
last: function () { | |
return this.eq(-1) | |
}, | |
slice: function () { | |
return this.pushStack(aa.apply(this, arguments), "slice", aa.call(arguments).join(",")) | |
}, | |
map: function (a) { | |
return this.pushStack(c.map(this, function (b, d) { | |
return a.call(b, d, b) | |
})) | |
}, | |
end: function () { | |
return this.prevObject || | |
c(null) | |
}, | |
push: ja, | |
sort: [].sort, | |
splice: [].splice | |
}; | |
c.fn.init.prototype = c.fn; | |
c.extend = c.fn.extend = function () { | |
var a = arguments[0] || {}, b = 1, | |
d = arguments.length, | |
e = false, | |
f, h, i, n; | |
if (typeof a === "boolean") { | |
e = a; | |
a = arguments[1] || {}; | |
b = 2 | |
} | |
if (typeof a !== "object" && !c.isFunction(a)) a = {}; | |
if (d === b) { | |
a = this; | |
--b | |
} | |
for (; b < d; b++) | |
if ((f = arguments[b]) != null) | |
for (h in f) { | |
i = a[h]; | |
n = f[h]; | |
if (a !== n) | |
if (e && n && (c.isPlainObject(n) || c.isArray(n))) { | |
i = i && (c.isPlainObject(i) || c.isArray(i)) ? i : c.isArray(n) ? [] : {}; | |
a[h] = c.extend(e, i, n) | |
} else if (n !== v) a[h] = | |
n | |
} | |
return a | |
}; | |
c.extend({ | |
noConflict: function (a) { | |
x.$ = Sa; | |
if (a) x.jQuery = Ra; | |
return c | |
}, | |
isReady: false, | |
ready: function () { | |
if (!c.isReady) { | |
if (!s.body) return setTimeout(c.ready, 13); | |
c.isReady = true; | |
if (Z) { | |
for (var a, b = 0; a = Z[b++];) a.call(s, c); | |
Z = null | |
} | |
c.fn.triggerHandler && c(s).triggerHandler("ready") | |
} | |
}, | |
bindReady: function () { | |
if (!ya) { | |
ya = true; | |
if (s.readyState === "complete") return c.ready(); | |
if (s.addEventListener) { | |
s.addEventListener("DOMContentLoaded", T, false); | |
x.addEventListener("load", c.ready, false) | |
} else if (s.attachEvent) { | |
s.attachEvent("onreadystatechange", | |
T); | |
x.attachEvent("onload", c.ready); | |
var a = false; | |
try { | |
a = x.frameElement == null | |
} catch (b) {} | |
s.documentElement.doScroll && a && P() | |
} | |
} | |
}, | |
isFunction: function (a) { | |
return ha.call(a) === "[object Function]" | |
}, | |
isArray: function (a) { | |
return ha.call(a) === "[object Array]" | |
}, | |
isPlainObject: function (a) { | |
if (!a || ha.call(a) !== "[object Object]" || a.nodeType || a.setInterval) return false; | |
if (a.constructor && !ia.call(a, "constructor") && !ia.call(a.constructor.prototype, "isPrototypeOf")) return false; | |
for (var b in a); | |
return b === v || ia.call(a, b) | |
}, | |
isEmptyObject: function (a) { | |
for (var b in a) return false; | |
return true | |
}, | |
error: function (a) { | |
throw a; | |
}, | |
parseJSON: function (a) { | |
if (typeof a !== "string" || !a) return null; | |
a = c.trim(a); | |
if (/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) return x.JSON && x.JSON.parse ? x.JSON.parse(a) : (new Function("return " + a))(); | |
else c.error("Invalid JSON: " + a) | |
}, | |
noop: function () {}, | |
globalEval: function (a) { | |
if (a && Va.test(a)) { | |
var b = s.getElementsByTagName("head")[0] || | |
s.documentElement, | |
d = s.createElement("script"); | |
d.type = "text/javascript"; | |
if (c.support.scriptEval) d.appendChild(s.createTextNode(a)); | |
else d.text = a; | |
b.insertBefore(d, b.firstChild); | |
b.removeChild(d) | |
} | |
}, | |
nodeName: function (a, b) { | |
return a.nodeName && a.nodeName.toUpperCase() === b.toUpperCase() | |
}, | |
each: function (a, b, d) { | |
var e, f = 0, | |
h = a.length, | |
i = h === v || c.isFunction(a); | |
if (d) | |
if (i) | |
for (e in a) { | |
if (b.apply(a[e], d) === false) break | |
} else | |
for (; f < h;) { | |
if (b.apply(a[f++], d) === false) break | |
} else if (i) | |
for (e in a) { | |
if (b.call(a[e], e, a[e]) === false) break | |
} else | |
for (d = | |
a[0]; f < h && b.call(d, f, d) !== false; d = a[++f]); | |
return a | |
}, | |
trim: function (a) { | |
return (a || "").replace(Wa, "") | |
}, | |
makeArray: function (a, b) { | |
var d = b || []; | |
if (a != null) a.length == null || typeof a === "string" || c.isFunction(a) || typeof a !== "function" && a.setInterval ? ja.call(d, a) : c.merge(d, a); | |
return d | |
}, | |
inArray: function (a, b) { | |
if (b.indexOf) return b.indexOf(a); | |
for (var d = 0, e = b.length; d < e; d++) | |
if (b[d] === a) return d; | |
return -1 | |
}, | |
merge: function (a, b) { | |
var d = a.length, | |
e = 0; | |
if (typeof b.length === "number") | |
for (var f = b.length; e < f; e++) a[d++] = b[e]; | |
else | |
for (; b[e] !== | |
v;) a[d++] = b[e++]; | |
a.length = d; | |
return a | |
}, | |
grep: function (a, b, d) { | |
for (var e = [], f = 0, h = a.length; f < h; f++)!d !== !b(a[f], f) && e.push(a[f]); | |
return e | |
}, | |
map: function (a, b, d) { | |
for (var e = [], f, h = 0, i = a.length; h < i; h++) { | |
f = b(a[h], h, d); | |
if (f != null) e[e.length] = f | |
} | |
return e.concat.apply([], e) | |
}, | |
guid: 1, | |
proxy: function (a, b, d) { | |
if (arguments.length === 2) | |
if (typeof b === "string") { | |
d = a; | |
a = d[b]; | |
b = v | |
} else if (b && !c.isFunction(b)) { | |
d = b; | |
b = v | |
} | |
if (!b && a) b = function () { | |
return a.apply(d || this, arguments) | |
}; | |
if (a) b.guid = a.guid = a.guid || b.guid || c.guid++; | |
return b | |
}, | |
uaMatch: function (a) { | |
a = a.toLowerCase(); | |
a = /(webkit)[ \/]([\w.]+)/.exec(a) || /(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a) || /(msie) ([\w.]+)/.exec(a) || !/compatible/.test(a) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec(a) || []; | |
return { | |
browser: a[1] || "", | |
version: a[2] || "0" | |
} | |
}, | |
browser: {} | |
}); | |
Y = c.uaMatch(Y); | |
if (Y.browser) { | |
c.browser[Y.browser] = true; | |
c.browser.version = Y.version | |
} | |
if (c.browser.webkit) c.browser.safari = true; | |
if (za) c.inArray = function (a, b) { | |
return za.call(b, a) | |
}; | |
da = c(s); | |
if (s.addEventListener) T = function () { | |
s.removeEventListener("DOMContentLoaded", | |
T, false); | |
c.ready() | |
}; | |
else if (s.attachEvent) T = function () { | |
if (s.readyState === "complete") { | |
s.detachEvent("onreadystatechange", T); | |
c.ready() | |
} | |
}; | |
(function () { | |
c.support = {}; | |
var a = s.documentElement, | |
b = s.createElement("script"), | |
d = s.createElement("div"), | |
e = "script" + I(); | |
d.style.display = "none"; | |
d.innerHTML = " <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>"; | |
var f = d.getElementsByTagName("*"), | |
h = d.getElementsByTagName("a")[0]; | |
if (!(!f || !f.length || !h)) { | |
c.support = { | |
leadingWhitespace: d.firstChild.nodeType === 3, | |
tbody: !d.getElementsByTagName("tbody").length, | |
htmlSerialize: !! d.getElementsByTagName("link").length, | |
style: /red/.test(h.getAttribute("style")), | |
hrefNormalized: h.getAttribute("href") === "/a", | |
opacity: /^0.55$/.test(h.style.opacity), | |
cssFloat: !! h.style.cssFloat, | |
checkOn: d.getElementsByTagName("input")[0].value === "on", | |
optSelected: s.createElement("select").appendChild(s.createElement("option")).selected, | |
parentNode: d.removeChild(d.appendChild(s.createElement("div"))).parentNode === null, | |
deleteExpando: true, | |
checkClone: false, | |
scriptEval: false, | |
noCloneEvent: true, | |
boxModel: null | |
}; | |
b.type = "text/javascript"; | |
try { | |
b.appendChild(s.createTextNode("window." + e + "=1;")) | |
} catch (i) {} | |
a.insertBefore(b, a.firstChild); | |
if (x[e]) { | |
c.support.scriptEval = true; | |
delete x[e] | |
} | |
try { | |
delete b.test | |
} catch (n) { | |
c.support.deleteExpando = false | |
} | |
a.removeChild(b); | |
if (d.attachEvent && d.fireEvent) { | |
d.attachEvent("onclick", function k() { | |
c.support.noCloneEvent = false; | |
d.detachEvent("onclick", k) | |
}); | |
d.cloneNode(true).fireEvent("onclick") | |
} | |
d = s.createElement("div"); | |
d.innerHTML = "<input type='radio' name='radiotest' checked='checked'/>"; | |
a = s.createDocumentFragment(); | |
a.appendChild(d.firstChild); | |
c.support.checkClone = a.cloneNode(true).cloneNode(true).lastChild.checked; | |
c(function () { | |
var k = s.createElement("div"); | |
k.style.width = k.style.paddingLeft = "1px"; | |
s.body.appendChild(k); | |
c.boxModel = c.support.boxModel = k.offsetWidth === 2; | |
s.body.removeChild(k).style.display = "none" | |
}); | |
a = function (k) { | |
var o = s.createElement("div"); | |
k = "on" + k; | |
var r = k in o; | |
if (!r) { | |
o.setAttribute(k, "return;"); | |
r = typeof o[k] === | |
"function" | |
} | |
return r | |
}; | |
c.support.submitBubbles = a("submit"); | |
c.support.changeBubbles = a("change"); | |
a = b = d = f = h = null | |
} | |
})(); | |
c.props = { | |
"for": "htmlFor", | |
"class": "className", | |
readonly: "readOnly", | |
maxlength: "maxLength", | |
cellspacing: "cellSpacing", | |
rowspan: "rowSpan", | |
colspan: "colSpan", | |
tabindex: "tabIndex", | |
usemap: "useMap", | |
frameborder: "frameBorder" | |
}; | |
var M = "jQuery" + I(), | |
Ya = 0, | |
Aa = {}; | |
c.extend({ | |
cache: {}, | |
expando: M, | |
noData: { | |
embed: true, | |
object: true, | |
applet: true | |
}, | |
data: function (a, b, d) { | |
if (!(a.nodeName && c.noData[a.nodeName.toLowerCase()])) { | |
a = | |
a == x ? Aa : a; | |
var e = a[M], | |
f = c.cache; | |
if (!e && typeof b === "string" && d === v) return null; | |
e || (e = ++Ya); | |
if (typeof b === "object") { | |
a[M] = e; | |
f[e] = c.extend(true, {}, b) | |
} else if (!f[e]) { | |
a[M] = e; | |
f[e] = {} | |
} | |
a = f[e]; | |
if (d !== v) a[b] = d; | |
return typeof b === "string" ? a[b] : a | |
} | |
}, | |
removeData: function (a, b) { | |
if (!(a.nodeName && c.noData[a.nodeName.toLowerCase()])) { | |
a = a == x ? Aa : a; | |
var d = a[M], | |
e = c.cache, | |
f = e[d]; | |
if (b) { | |
if (f) { | |
delete f[b]; | |
c.isEmptyObject(f) && c.removeData(a) | |
} | |
} else { | |
if (c.support.deleteExpando) delete a[c.expando]; | |
else a.removeAttribute && a.removeAttribute(c.expando); | |
delete e[d] | |
} | |
} | |
} | |
}); | |
c.fn.extend({ | |
data: function (a, b) { | |
if (typeof a === "undefined" && this.length) return c.data(this[0]); | |
else if (typeof a === "object") return this.each(function () { | |
c.data(this, a) | |
}); | |
var d = a.split("."); | |
d[1] = d[1] ? "." + d[1] : ""; | |
if (b === v) { | |
var e = this.triggerHandler("getData" + d[1] + "!", [d[0]]); | |
if (e === v && this.length) e = c.data(this[0], a); | |
return e === v && d[1] ? this.data(d[0]) : e | |
} else return this.trigger("setData" + d[1] + "!", [d[0], b]).each(function () { | |
c.data(this, a, b) | |
}) | |
}, | |
removeData: function (a) { | |
return this.each(function () { | |
c.removeData(this, | |
a) | |
}) | |
} | |
}); | |
c.extend({ | |
queue: function (a, b, d) { | |
if (a) { | |
b = (b || "fx") + "queue"; | |
var e = c.data(a, b); | |
if (!d) return e || []; | |
if (!e || c.isArray(d)) e = c.data(a, b, c.makeArray(d)); | |
else e.push(d); | |
return e | |
} | |
}, | |
dequeue: function (a, b) { | |
b = b || "fx"; | |
var d = c.queue(a, b), | |
e = d.shift(); | |
if (e === "inprogress") e = d.shift(); | |
if (e) { | |
b === "fx" && d.unshift("inprogress"); | |
e.call(a, function () { | |
c.dequeue(a, b) | |
}) | |
} | |
} | |
}); | |
c.fn.extend({ | |
queue: function (a, b) { | |
if (typeof a !== "string") { | |
b = a; | |
a = "fx" | |
} | |
if (b === v) return c.queue(this[0], a); | |
return this.each(function () { | |
var d = c.queue(this, | |
a, b); | |
a === "fx" && d[0] !== "inprogress" && c.dequeue(this, a) | |
}) | |
}, | |
dequeue: function (a) { | |
return this.each(function () { | |
c.dequeue(this, a) | |
}) | |
}, | |
delay: function (a, b) { | |
a = c.fx ? c.fx.speeds[a] || a : a; | |
b = b || "fx"; | |
return this.queue(b, function () { | |
var d = this; | |
setTimeout(function () { | |
c.dequeue(d, b) | |
}, a) | |
}) | |
}, | |
clearQueue: function (a) { | |
return this.queue(a || "fx", []) | |
} | |
}); | |
var Ba = /[\n\t]/g, | |
ka = /\s+/, | |
Za = /\r/g, | |
$a = /href|src|style/, | |
ab = /(button|input)/i, | |
bb = /(button|input|object|select|textarea)/i, | |
cb = /^(a|area)$/i, | |
Ca = /radio|checkbox/; | |
c.fn.extend({ | |
attr: function (a, | |
b) { | |
return L(this, a, b, true, c.attr) | |
}, | |
removeAttr: function (a) { | |
return this.each(function () { | |
c.attr(this, a, ""); | |
this.nodeType === 1 && this.removeAttribute(a) | |
}) | |
}, | |
addClass: function (a) { | |
if (c.isFunction(a)) return this.each(function (o) { | |
var r = c(this); | |
r.addClass(a.call(this, o, r.attr("class"))) | |
}); | |
if (a && typeof a === "string") | |
for (var b = (a || "").split(ka), d = 0, e = this.length; d < e; d++) { | |
var f = this[d]; | |
if (f.nodeType === 1) | |
if (f.className) { | |
for (var h = " " + f.className + " ", i = f.className, n = 0, k = b.length; n < k; n++) | |
if (h.indexOf(" " + b[n] + " ") < | |
0) i += " " + b[n]; | |
f.className = c.trim(i) | |
} else f.className = a | |
} | |
return this | |
}, | |
removeClass: function (a) { | |
if (c.isFunction(a)) return this.each(function (k) { | |
var o = c(this); | |
o.removeClass(a.call(this, k, o.attr("class"))) | |
}); | |
if (a && typeof a === "string" || a === v) | |
for (var b = (a || "").split(ka), d = 0, e = this.length; d < e; d++) { | |
var f = this[d]; | |
if (f.nodeType === 1 && f.className) | |
if (a) { | |
for (var h = (" " + f.className + " ").replace(Ba, " "), i = 0, n = b.length; i < n; i++) h = h.replace(" " + b[i] + " ", " "); | |
f.className = c.trim(h) | |
} else f.className = "" | |
} | |
return this | |
}, | |
toggleClass: function (a, | |
b) { | |
var d = typeof a, | |
e = typeof b === "boolean"; | |
if (c.isFunction(a)) return this.each(function (f) { | |
var h = c(this); | |
h.toggleClass(a.call(this, f, h.attr("class"), b), b) | |
}); | |
return this.each(function () { | |
if (d === "string") | |
for (var f, h = 0, i = c(this), n = b, k = a.split(ka); f = k[h++];) { | |
n = e ? n : !i.hasClass(f); | |
i[n ? "addClass" : "removeClass"](f) | |
} else if (d === "undefined" || d === "boolean") { | |
this.className && c.data(this, "__className__", this.className); | |
this.className = this.className || a === false ? "" : c.data(this, "__className__") || "" | |
} | |
}) | |
}, | |
hasClass: function (a) { | |
a = | |
" " + a + " "; | |
for (var b = 0, d = this.length; b < d; b++) | |
if ((" " + this[b].className + " ").replace(Ba, " ").indexOf(a) > -1) return true; | |
return false | |
}, | |
val: function (a) { | |
if (a === v) { | |
var b = this[0]; | |
if (b) { | |
if (c.nodeName(b, "option")) return (b.attributes.value || {}).specified ? b.value : b.text; | |
if (c.nodeName(b, "select")) { | |
var d = b.selectedIndex, | |
e = [], | |
f = b.options; | |
b = b.type === "select-one"; | |
if (d < 0) return null; | |
var h = b ? d : 0; | |
for (d = b ? d + 1 : f.length; h < d; h++) { | |
var i = f[h]; | |
if (i.selected) { | |
a = c(i).val(); | |
if (b) return a; | |
e.push(a) | |
} | |
} | |
return e | |
} | |
if (Ca.test(b.type) && !c.support.checkOn) return b.getAttribute("value") === null ? "on" : b.value; | |
return (b.value || "").replace(Za, "") | |
} | |
return v | |
} | |
var n = c.isFunction(a); | |
return this.each(function (k) { | |
var o = c(this), | |
r = a; | |
if (this.nodeType === 1) { | |
if (n) r = a.call(this, k, o.val()); | |
if (typeof r === "number") r += ""; | |
if (c.isArray(r) && Ca.test(this.type)) this.checked = c.inArray(o.val(), r) >= 0; | |
else if (c.nodeName(this, "select")) { | |
var y = c.makeArray(r); | |
c("option", this).each(function () { | |
this.selected = c.inArray(c(this).val(), y) >= 0 | |
}); | |
if (!y.length) this.selectedIndex = -1 | |
} else this.value = r | |
} | |
}) | |
} | |
}); | |
c.extend({ | |
attrFn: { | |
val: true, | |
css: true, | |
html: true, | |
text: true, | |
data: true, | |
width: true, | |
height: true, | |
offset: true | |
}, | |
attr: function (a, b, d, e) { | |
if (!a || a.nodeType === 3 || a.nodeType === 8) return v; | |
if (e && b in c.attrFn) return c(a)[b](d); | |
e = a.nodeType !== 1 || !c.isXMLDoc(a); | |
var f = d !== v; | |
b = e && c.props[b] || b; | |
if (a.nodeType === 1) { | |
var h = $a.test(b); | |
if (b in a && e && !h) { | |
if (f) { | |
b === "type" && ab.test(a.nodeName) && a.parentNode && c.error("type property can't be changed"); | |
a[b] = d | |
} | |
if (c.nodeName(a, "form") && a.getAttributeNode(b)) return a.getAttributeNode(b).nodeValue; | |
if (b === "tabIndex") return (b = a.getAttributeNode("tabIndex")) && b.specified ? b.value : bb.test(a.nodeName) || cb.test(a.nodeName) && a.href ? 0 : v; | |
return a[b] | |
} | |
if (!c.support.style && e && b === "style") { | |
if (f) a.style.cssText = "" + d; | |
return a.style.cssText | |
} | |
f && a.setAttribute(b, "" + d); | |
a = !c.support.hrefNormalized && e && h ? a.getAttribute(b, 2) : a.getAttribute(b); | |
return a === null ? v : a | |
} | |
return c.style(a, b, d) | |
} | |
}); | |
var W = /\.(.*)$/, | |
db = function (a) { | |
return a.replace(/[^\w\s\.\|`]/g, function (b) { | |
return "\\" + b | |
}) | |
}; | |
c.event = { | |
add: function (a, b, d, e) { | |
if (!(a.nodeType === | |
3 || a.nodeType === 8)) { | |
if (a.setInterval && a !== x && !a.frameElement) a = x; | |
var f, h; | |
if (d.handler) { | |
f = d; | |
d = f.handler | |
} | |
if (!d.guid) d.guid = c.guid++; | |
if (h = c.data(a)) { | |
var i = h.events = h.events || {}, n = h.handle; | |
if (!n) h.handle = n = function () { | |
return typeof c !== "undefined" && !c.event.triggered ? c.event.handle.apply(n.elem, arguments) : v | |
}; | |
n.elem = a; | |
b = b.split(" "); | |
for (var k, o = 0, r; k = b[o++];) { | |
h = f ? c.extend({}, f) : { | |
handler: d, | |
data: e | |
}; | |
if (k.indexOf(".") > -1) { | |
r = k.split("."); | |
k = r.shift(); | |
h.namespace = r.slice(0).sort().join(".") | |
} else { | |
r = []; | |
h.namespace = | |
"" | |
} | |
h.type = k; | |
h.guid = d.guid; | |
var y = i[k], | |
A = c.event.special[k] || {}; | |
if (!y) { | |
y = i[k] = []; | |
if (!A.setup || A.setup.call(a, e, r, n) === false) | |
if (a.addEventListener) a.addEventListener(k, n, false); | |
else a.attachEvent && a.attachEvent("on" + k, n) | |
} | |
if (A.add) { | |
A.add.call(a, h); | |
if (!h.handler.guid) h.handler.guid = d.guid | |
} | |
y.push(h); | |
c.event.global[k] = true | |
} | |
a = null | |
} | |
} | |
}, | |
global: {}, | |
remove: function (a, b, d, e) { | |
if (!(a.nodeType === 3 || a.nodeType === 8)) { | |
var f, h = 0, | |
i, n, k, o, r, y, A = c.data(a), | |
C = A && A.events; | |
if (A && C) { | |
if (b && b.type) { | |
d = b.handler; | |
b = b.type | |
} | |
if (!b || typeof b === | |
"string" && b.charAt(0) === ".") { | |
b = b || ""; | |
for (f in C) c.event.remove(a, f + b) | |
} else { | |
for (b = b.split(" "); f = b[h++];) { | |
o = f; | |
i = f.indexOf(".") < 0; | |
n = []; | |
if (!i) { | |
n = f.split("."); | |
f = n.shift(); | |
k = RegExp("(^|\\.)" + c.map(n.slice(0).sort(), db).join("\\.(?:.*\\.)?") + "(\\.|$)") | |
} | |
if (r = C[f]) | |
if (d) { | |
o = c.event.special[f] || {}; | |
for (B = e || 0; B < r.length; B++) { | |
y = r[B]; | |
if (d.guid === y.guid) { | |
if (i || k.test(y.namespace)) { | |
e == null && r.splice(B--, 1); | |
o.remove && o.remove.call(a, y) | |
} | |
if (e != null) break | |
} | |
} | |
if (r.length === 0 || e != null && r.length === 1) { | |
if (!o.teardown || o.teardown.call(a, | |
n) === false) Da(a, f, A.handle); | |
delete C[f] | |
} | |
} else | |
for (var B = 0; B < r.length; B++) { | |
y = r[B]; | |
if (i || k.test(y.namespace)) { | |
c.event.remove(a, o, y.handler, B); | |
r.splice(B--, 1) | |
} | |
} | |
} | |
if (c.isEmptyObject(C)) { | |
if (b = A.handle) b.elem = null; | |
delete A.events; | |
delete A.handle; | |
c.isEmptyObject(A) && c.removeData(a) | |
} | |
} | |
} | |
} | |
}, | |
trigger: function (a, b, d, e) { | |
var f = a.type || a; | |
if (!e) { | |
a = typeof a === "object" ? a[M] ? a : c.extend(c.Event(f), a) : c.Event(f); | |
if (f.indexOf("!") >= 0) { | |
a.type = f = f.slice(0, -1); | |
a.exclusive = true | |
} | |
if (!d) { | |
a.stopPropagation(); | |
c.event.global[f] && c.each(c.cache, function () { | |
this.events && this.events[f] && c.event.trigger(a, b, this.handle.elem) | |
}) | |
} | |
if (!d || d.nodeType === 3 || d.nodeType === 8) return v; | |
a.result = v; | |
a.target = d; | |
b = c.makeArray(b); | |
b.unshift(a) | |
} | |
a.currentTarget = d; | |
(e = c.data(d, "handle")) && e.apply(d, b); | |
e = d.parentNode || d.ownerDocument; | |
try { | |
if (!(d && d.nodeName && c.noData[d.nodeName.toLowerCase()])) | |
if (d["on" + f] && d["on" + f].apply(d, b) === false) a.result = false | |
} catch (h) {} | |
if (!a.isPropagationStopped() && e) c.event.trigger(a, b, e, true); | |
else if (!a.isDefaultPrevented()) { | |
e = a.target; | |
var i, | |
n = c.nodeName(e, "a") && f === "click", | |
k = c.event.special[f] || {}; | |
if ((!k._default || k._default.call(d, a) === false) && !n && !(e && e.nodeName && c.noData[e.nodeName.toLowerCase()])) { | |
try { | |
if (e[f]) { | |
if (i = e["on" + f]) e["on" + f] = null; | |
c.event.triggered = true; | |
e[f]() | |
} | |
} catch (o) {} | |
if (i) e["on" + f] = i; | |
c.event.triggered = false | |
} | |
} | |
}, | |
handle: function (a) { | |
var b, d, e, f; | |
a = arguments[0] = c.event.fix(a || x.event); | |
a.currentTarget = this; | |
b = a.type.indexOf(".") < 0 && !a.exclusive; | |
if (!b) { | |
d = a.type.split("."); | |
a.type = d.shift(); | |
e = RegExp("(^|\\.)" + d.slice(0).sort().join("\\.(?:.*\\.)?") + | |
"(\\.|$)") | |
} | |
f = c.data(this, "events"); | |
d = f[a.type]; | |
if (f && d) { | |
d = d.slice(0); | |
f = 0; | |
for (var h = d.length; f < h; f++) { | |
var i = d[f]; | |
if (b || e.test(i.namespace)) { | |
a.handler = i.handler; | |
a.data = i.data; | |
a.handleObj = i; | |
i = i.handler.apply(this, arguments); | |
if (i !== v) { | |
a.result = i; | |
if (i === false) { | |
a.preventDefault(); | |
a.stopPropagation() | |
} | |
} | |
if (a.isImmediatePropagationStopped()) break | |
} | |
} | |
} | |
return a.result | |
}, | |
props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), | |
fix: function (a) { | |
if (a[M]) return a; | |
var b = a; | |
a = c.Event(b); | |
for (var d = this.props.length, e; d;) { | |
e = this.props[--d]; | |
a[e] = b[e] | |
} | |
if (!a.target) a.target = a.srcElement || s; | |
if (a.target.nodeType === 3) a.target = a.target.parentNode; | |
if (!a.relatedTarget && a.fromElement) a.relatedTarget = a.fromElement === a.target ? a.toElement : a.fromElement; | |
if (a.pageX == null && a.clientX != null) { | |
b = s.documentElement; | |
d = s.body; | |
a.pageX = a.clientX + (b && b.scrollLeft || d && d.scrollLeft || 0) - (b && b.clientLeft || d && d.clientLeft || 0); | |
a.pageY = a.clientY + (b && b.scrollTop || | |
d && d.scrollTop || 0) - (b && b.clientTop || d && d.clientTop || 0) | |
} | |
if (!a.which && (a.charCode || a.charCode === 0 ? a.charCode : a.keyCode)) a.which = a.charCode || a.keyCode; | |
if (!a.metaKey && a.ctrlKey) a.metaKey = a.ctrlKey; | |
if (!a.which && a.button !== v) a.which = a.button & 1 ? 1 : a.button & 2 ? 3 : a.button & 4 ? 2 : 0; | |
return a | |
}, | |
guid: 1E8, | |
proxy: c.proxy, | |
special: { | |
ready: { | |
setup: c.bindReady, | |
teardown: c.noop | |
}, | |
live: { | |
add: function (a) { | |
c.event.add(this, a.origType, c.extend({}, a, { | |
handler: E | |
})) | |
}, | |
remove: function (a) { | |
var b = true, | |
d = a.origType.replace(W, ""); | |
c.each(c.data(this, | |
"events").live || [], function () { | |
if (d === this.origType.replace(W, "")) return b = false | |
}); | |
b && c.event.remove(this, a.origType, E) | |
} | |
}, | |
beforeunload: { | |
setup: function (a, b, d) { | |
if (this.setInterval) this.onbeforeunload = d; | |
return false | |
}, | |
teardown: function (a, b) { | |
if (this.onbeforeunload === b) this.onbeforeunload = null | |
} | |
} | |
} | |
}; | |
var Da = s.removeEventListener ? function (a, b, d) { | |
a.removeEventListener(b, d, false) | |
} : function (a, b, d) { | |
a.detachEvent("on" + b, d) | |
}; | |
c.Event = function (a) { | |
if (!this.preventDefault) return new c.Event(a); | |
if (a && a.type) { | |
this.originalEvent = | |
a; | |
this.type = a.type | |
} else this.type = a; | |
this.timeStamp = I(); | |
this[M] = true | |
}; | |
c.Event.prototype = { | |
preventDefault: function () { | |
this.isDefaultPrevented = R; | |
var a = this.originalEvent; | |
if (a) { | |
a.preventDefault && a.preventDefault(); | |
a.returnValue = false | |
} | |
}, | |
stopPropagation: function () { | |
this.isPropagationStopped = R; | |
var a = this.originalEvent; | |
if (a) { | |
a.stopPropagation && a.stopPropagation(); | |
a.cancelBubble = true | |
} | |
}, | |
stopImmediatePropagation: function () { | |
this.isImmediatePropagationStopped = R; | |
this.stopPropagation() | |
}, | |
isDefaultPrevented: Q, | |
isPropagationStopped: Q, | |
isImmediatePropagationStopped: Q | |
}; | |
var Ea = function (a) { | |
var b = a.relatedTarget; | |
try { | |
for (; b && b !== this;) b = b.parentNode; | |
if (b !== this) { | |
a.type = a.data; | |
c.event.handle.apply(this, arguments) | |
} | |
} catch (d) {} | |
}, Fa = function (a) { | |
a.type = a.data; | |
c.event.handle.apply(this, arguments) | |
}; | |
c.each({ | |
mouseenter: "mouseover", | |
mouseleave: "mouseout" | |
}, function (a, b) { | |
c.event.special[a] = { | |
setup: function (d) { | |
c.event.add(this, b, d && d.selector ? Fa : Ea, a) | |
}, | |
teardown: function (d) { | |
c.event.remove(this, b, d && d.selector ? Fa : Ea) | |
} | |
} | |
}); | |
if (!c.support.submitBubbles) c.event.special.submit = { | |
setup: function () { | |
if (this.nodeName.toLowerCase() !== "form") { | |
c.event.add(this, "click.specialSubmit", function (a) { | |
var b = a.target, | |
d = b.type; | |
if ((d === "submit" || d === "image") && c(b).closest("form").length) return D("submit", this, arguments) | |
}); | |
c.event.add(this, "keypress.specialSubmit", function (a) { | |
var b = a.target, | |
d = b.type; | |
if ((d === "text" || d === "password") && c(b).closest("form").length && a.keyCode === 13) return D("submit", this, arguments) | |
}) | |
} else return false | |
}, | |
teardown: function () { | |
c.event.remove(this, ".specialSubmit") | |
} | |
}; | |
if (!c.support.changeBubbles) { | |
var la = | |
/textarea|input|select/i, | |
ma, Ga = function (a) { | |
var b = a.type, | |
d = a.value; | |
if (b === "radio" || b === "checkbox") d = a.checked; | |
else if (b === "select-multiple") d = a.selectedIndex > -1 ? c.map(a.options, function (e) { | |
return e.selected | |
}).join("-") : ""; | |
else if (a.nodeName.toLowerCase() === "select") d = a.selectedIndex; | |
return d | |
}, na = function (a, b) { | |
var d = a.target, | |
e, f; | |
if (!(!la.test(d.nodeName) || d.readOnly)) { | |
e = c.data(d, "_change_data"); | |
f = Ga(d); | |
if (a.type !== "focusout" || d.type !== "radio") c.data(d, "_change_data", f); | |
if (!(e === v || f === e)) | |
if (e != null || | |
f) { | |
a.type = "change"; | |
return c.event.trigger(a, b, d) | |
} | |
} | |
}; | |
c.event.special.change = { | |
filters: { | |
focusout: na, | |
click: function (a) { | |
var b = a.target, | |
d = b.type; | |
if (d === "radio" || d === "checkbox" || b.nodeName.toLowerCase() === "select") return na.call(this, a) | |
}, | |
keydown: function (a) { | |
var b = a.target, | |
d = b.type; | |
if (a.keyCode === 13 && b.nodeName.toLowerCase() !== "textarea" || a.keyCode === 32 && (d === "checkbox" || d === "radio") || d === "select-multiple") return na.call(this, a) | |
}, | |
beforeactivate: function (a) { | |
a = a.target; | |
c.data(a, "_change_data", Ga(a)) | |
} | |
}, | |
setup: function () { | |
if (this.type === | |
"file") return false; | |
for (var a in ma) c.event.add(this, a + ".specialChange", ma[a]); | |
return la.test(this.nodeName) | |
}, | |
teardown: function () { | |
c.event.remove(this, ".specialChange"); | |
return la.test(this.nodeName) | |
} | |
}; | |
ma = c.event.special.change.filters | |
} | |
s.addEventListener && c.each({ | |
focus: "focusin", | |
blur: "focusout" | |
}, function (a, b) { | |
function d(e) { | |
e = c.event.fix(e); | |
e.type = b; | |
return c.event.handle.call(this, e) | |
} | |
c.event.special[b] = { | |
setup: function () { | |
this.addEventListener(a, d, true) | |
}, | |
teardown: function () { | |
this.removeEventListener(a, | |
d, true) | |
} | |
} | |
}); | |
c.each(["bind", "one"], function (a, b) { | |
c.fn[b] = function (d, e, f) { | |
if (typeof d === "object") { | |
for (var h in d) this[b](h, e, d[h], f); | |
return this | |
} | |
if (c.isFunction(e)) { | |
f = e; | |
e = v | |
} | |
var i = b === "one" ? c.proxy(f, function (k) { | |
c(this).unbind(k, i); | |
return f.apply(this, arguments) | |
}) : f; | |
if (d === "unload" && b !== "one") this.one(d, e, f); | |
else { | |
h = 0; | |
for (var n = this.length; h < n; h++) c.event.add(this[h], d, i, e) | |
} | |
return this | |
} | |
}); | |
c.fn.extend({ | |
unbind: function (a, b) { | |
if (typeof a === "object" && !a.preventDefault) | |
for (var d in a) this.unbind(d, a[d]); | |
else { | |
d = | |
0; | |
for (var e = this.length; d < e; d++) c.event.remove(this[d], a, b) | |
} | |
return this | |
}, | |
delegate: function (a, b, d, e) { | |
return this.live(b, d, e, a) | |
}, | |
undelegate: function (a, b, d) { | |
return arguments.length === 0 ? this.unbind("live") : this.die(b, null, d, a) | |
}, | |
trigger: function (a, b) { | |
return this.each(function () { | |
c.event.trigger(a, b, this) | |
}) | |
}, | |
triggerHandler: function (a, b) { | |
if (this[0]) { | |
var d = c.Event(a); | |
d.preventDefault(); | |
d.stopPropagation(); | |
c.event.trigger(d, b, this[0]); | |
return d.result | |
} | |
}, | |
toggle: function (a) { | |
for (var b = arguments, d = 1; d < b.length;) c.proxy(a, | |
b[d++]); | |
return this.click(c.proxy(a, function (e) { | |
var f = (c.data(this, "lastToggle" + a.guid) || 0) % d; | |
c.data(this, "lastToggle" + a.guid, f + 1); | |
e.preventDefault(); | |
return b[f].apply(this, arguments) || false | |
})) | |
}, | |
hover: function (a, b) { | |
return this.mouseenter(a).mouseleave(b || a) | |
} | |
}); | |
var Ha = { | |
focus: "focusin", | |
blur: "focusout", | |
mouseenter: "mouseover", | |
mouseleave: "mouseout" | |
}; | |
c.each(["live", "die"], function (a, b) { | |
c.fn[b] = function (d, e, f, h) { | |
var i, n = 0, | |
k, o, r = h || this.selector, | |
y = h ? this : c(this.context); | |
if (c.isFunction(e)) { | |
f = e; | |
e = v | |
} | |
for (d = | |
(d || "").split(" "); | |
(i = d[n++]) != null;) { | |
h = W.exec(i); | |
k = ""; | |
if (h) { | |
k = h[0]; | |
i = i.replace(W, "") | |
} | |
if (i === "hover") d.push("mouseenter" + k, "mouseleave" + k); | |
else { | |
o = i; | |
if (i === "focus" || i === "blur") { | |
d.push(Ha[i] + k); | |
i += k | |
} else i = (Ha[i] || i) + k; | |
b === "live" ? y.each(function () { | |
c.event.add(this, K(i, r), { | |
data: e, | |
selector: r, | |
handler: f, | |
origType: i, | |
origHandler: f, | |
preType: o | |
}) | |
}) : y.unbind(K(i, r), f) | |
} | |
} | |
return this | |
} | |
}); | |
c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "), function (a, b) { | |
c.fn[b] = function (d) { | |
return d ? this.bind(b, d) : this.trigger(b) | |
}; | |
if (c.attrFn) c.attrFn[b] = true | |
}); | |
x.attachEvent && !x.addEventListener && x.attachEvent("onunload", function () { | |
for (var a in c.cache) | |
if (c.cache[a].handle) try { | |
c.event.remove(c.cache[a].handle.elem) | |
} catch (b) {} | |
}); | |
(function () { | |
function a(g) { | |
for (var j = "", l, m = 0; g[m]; m++) { | |
l = g[m]; | |
if (l.nodeType === 3 || l.nodeType === 4) j += l.nodeValue; | |
else if (l.nodeType !== 8) j += a(l.childNodes) | |
} | |
return j | |
} | |
function b(g, j, l, m, q, p) { | |
q = 0; | |
for (var u = m.length; q < u; q++) { | |
var t = m[q]; | |
if (t) { | |
t = t[g]; | |
for (var z = false; t;) { | |
if (t.sizcache === l) { | |
z = m[t.sizset]; | |
break | |
} | |
if (t.nodeType === 1 && !p) { | |
t.sizcache = l; | |
t.sizset = q | |
} | |
if (t.nodeName.toLowerCase() === j) { | |
z = t; | |
break | |
} | |
t = t[g] | |
} | |
m[q] = z | |
} | |
} | |
} | |
function d(g, j, l, m, q, p) { | |
q = 0; | |
for (var u = m.length; q < u; q++) { | |
var t = m[q]; | |
if (t) { | |
t = t[g]; | |
for (var z = false; t;) { | |
if (t.sizcache === l) { | |
z = m[t.sizset]; | |
break | |
} | |
if (t.nodeType === 1) { | |
if (!p) { | |
t.sizcache = l; | |
t.sizset = q | |
} | |
if (typeof j !== "string") { | |
if (t === j) { | |
z = true; | |
break | |
} | |
} else if (k.filter(j, [t]).length > 0) { | |
z = t; | |
break | |
} | |
} | |
t = t[g] | |
} | |
m[q] = z | |
} | |
} | |
} | |
var e = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, | |
f = 0, | |
h = Object.prototype.toString, | |
i = false, | |
n = true; | |
[0, 0].sort(function () { | |
n = false; | |
return 0 | |
}); | |
var k = function (g, j, l, m) { | |
l = l || []; | |
var q = j = j || s; | |
if (j.nodeType !== 1 && j.nodeType !== 9) return []; | |
if (!g || typeof g !== "string") return l; | |
for (var p = [], u, t, z, ba, N = true, U = w(j), O = g; | |
(e.exec(""), u = e.exec(O)) !== null;) { | |
O = u[3]; | |
p.push(u[1]); | |
if (u[2]) { | |
ba = u[3]; | |
break | |
} | |
} | |
if (p.length > 1 && r.exec(g)) | |
if (p.length === 2 && o.relative[p[0]]) t = oa(p[0] + p[1], j); | |
else | |
for (t = o.relative[p[0]] ? [j] : k(p.shift(), j); p.length;) { | |
g = p.shift(); | |
if (o.relative[g]) g += p.shift(); | |
t = oa(g, t) | |
} else { | |
if (!m && p.length > 1 && j.nodeType === 9 && !U && o.match.ID.test(p[0]) && !o.match.ID.test(p[p.length - 1])) { | |
u = k.find(p.shift(), j, U); | |
j = u.expr ? k.filter(u.expr, u.set)[0] : u.set[0] | |
} | |
if (j) { | |
u = m ? { | |
expr: p.pop(), | |
set: A(m) | |
} : k.find(p.pop(), p.length === 1 && (p[0] === "~" || p[0] === "+") && j.parentNode ? j.parentNode : j, U); | |
t = u.expr ? k.filter(u.expr, u.set) : u.set; | |
if (p.length > 0) z = A(t); | |
else N = false; | |
for (; p.length;) { | |
var G = p.pop(); | |
u = G; | |
if (o.relative[G]) u = p.pop(); | |
else G = ""; if (u == null) u = j; | |
o.relative[G](z, u, U) | |
} | |
} else z = [] | |
} | |
z || (z = t); | |
z || k.error(G || | |
g); | |
if (h.call(z) === "[object Array]") | |
if (N) | |
if (j && j.nodeType === 1) | |
for (g = 0; z[g] != null; g++) { | |
if (z[g] && (z[g] === true || z[g].nodeType === 1 && F(j, z[g]))) l.push(t[g]) | |
} else | |
for (g = 0; z[g] != null; g++) z[g] && z[g].nodeType === 1 && l.push(t[g]); | |
else l.push.apply(l, z); | |
else A(z, l); | |
if (ba) { | |
k(ba, q, l, m); | |
k.uniqueSort(l) | |
} | |
return l | |
}; | |
k.uniqueSort = function (g) { | |
if (B) { | |
i = n; | |
g.sort(B); | |
if (i) | |
for (var j = 1; j < g.length; j++) g[j] === g[j - 1] && g.splice(j--, 1) | |
} | |
return g | |
}; | |
k.matches = function (g, j) { | |
return k(g, null, null, j) | |
}; | |
k.find = function (g, j, l) { | |
var m, q; | |
if (!g) return []; | |
for (var p = 0, u = o.order.length; p < u; p++) { | |
var t = o.order[p]; | |
if (q = o.leftMatch[t].exec(g)) { | |
var z = q[1]; | |
q.splice(1, 1); | |
if (z.substr(z.length - 1) !== "\\") { | |
q[1] = (q[1] || "").replace(/\\/g, ""); | |
m = o.find[t](q, j, l); | |
if (m != null) { | |
g = g.replace(o.match[t], ""); | |
break | |
} | |
} | |
} | |
} | |
m || (m = j.getElementsByTagName("*")); | |
return { | |
set: m, | |
expr: g | |
} | |
}; | |
k.filter = function (g, j, l, m) { | |
for (var q = g, p = [], u = j, t, z, ba = j && j[0] && w(j[0]); g && j.length;) { | |
for (var N in o.filter) | |
if ((t = o.leftMatch[N].exec(g)) != null && t[2]) { | |
var U = o.filter[N], | |
O, G; | |
G = t[1]; | |
z = false; | |
t.splice(1, 1); | |
if (G.substr(G.length - 1) !== "\\") { | |
if (u === p) p = []; | |
if (o.preFilter[N]) | |
if (t = o.preFilter[N](t, u, l, p, m, ba)) { | |
if (t === true) continue | |
} else z = O = true; | |
if (t) | |
for (var ea = 0; | |
(G = u[ea]) != null; ea++) | |
if (G) { | |
O = U(G, t, ea, u); | |
var Ia = m ^ !! O; | |
if (l && O != null) | |
if (Ia) z = true; | |
else u[ea] = false; | |
else if (Ia) { | |
p.push(G); | |
z = true | |
} | |
} | |
if (O !== v) { | |
l || (u = p); | |
g = g.replace(o.match[N], ""); | |
if (!z) return []; | |
break | |
} | |
} | |
} | |
if (g === q) | |
if (z == null) k.error(g); | |
else break; | |
q = g | |
} | |
return u | |
}; | |
k.error = function (g) { | |
throw "Syntax error, unrecognized expression: " + g; | |
}; | |
var o = k.selectors = { | |
order: ["ID", | |
"NAME", "TAG" | |
], | |
match: { | |
ID: /#((?:[\w\u00c0-\uFFFF-]|\\.)+)/, | |
CLASS: /\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/, | |
NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/, | |
ATTR: /\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/, | |
TAG: /^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/, | |
CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/, | |
POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/, | |
PSEUDO: /:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ | |
}, | |
leftMatch: {}, | |
attrMap: { | |
"class": "className", | |
"for": "htmlFor" | |
}, | |
attrHandle: { | |
href: function (g) { | |
return g.getAttribute("href") | |
} | |
}, | |
relative: { | |
"+": function (g, j) { | |
var l = typeof j === "string", | |
m = l && !/\W/.test(j); | |
l = l && !m; | |
if (m) j = j.toLowerCase(); | |
m = 0; | |
for (var q = g.length, p; m < q; m++) | |
if (p = g[m]) { | |
for (; | |
(p = p.previousSibling) && p.nodeType !== 1;); | |
g[m] = l || p && p.nodeName.toLowerCase() === j ? p || false : p === j | |
} | |
l && k.filter(j, g, true) | |
}, | |
">": function (g, j) { | |
var l = typeof j === "string"; | |
if (l && !/\W/.test(j)) { | |
j = j.toLowerCase(); | |
for (var m = 0, q = g.length; m < q; m++) { | |
var p = g[m]; | |
if (p) { | |
l = p.parentNode; | |
g[m] = | |
l.nodeName.toLowerCase() === j ? l : false | |
} | |
} | |
} else { | |
m = 0; | |
for (q = g.length; m < q; m++) | |
if (p = g[m]) g[m] = l ? p.parentNode : p.parentNode === j; | |
l && k.filter(j, g, true) | |
} | |
}, | |
"": function (g, j, l) { | |
var m = f++, | |
q = d; | |
if (typeof j === "string" && !/\W/.test(j)) { | |
var p = j = j.toLowerCase(); | |
q = b | |
} | |
q("parentNode", j, m, g, p, l) | |
}, | |
"~": function (g, j, l) { | |
var m = f++, | |
q = d; | |
if (typeof j === "string" && !/\W/.test(j)) { | |
var p = j = j.toLowerCase(); | |
q = b | |
} | |
q("previousSibling", j, m, g, p, l) | |
} | |
}, | |
find: { | |
ID: function (g, j, l) { | |
if (typeof j.getElementById !== "undefined" && !l) return (g = j.getElementById(g[1])) ? [g] : [] | |
}, | |
NAME: function (g, j) { | |
if (typeof j.getElementsByName !== "undefined") { | |
for (var l = [], m = j.getElementsByName(g[1]), q = 0, p = m.length; q < p; q++) m[q].getAttribute("name") === g[1] && l.push(m[q]); | |
return l.length === 0 ? null : l | |
} | |
}, | |
TAG: function (g, j) { | |
return j.getElementsByTagName(g[1]) | |
} | |
}, | |
preFilter: { | |
CLASS: function (g, j, l, m, q, p) { | |
g = " " + g[1].replace(/\\/g, "") + " "; | |
if (p) return g; | |
p = 0; | |
for (var u; | |
(u = j[p]) != null; p++) | |
if (u) | |
if (q ^ (u.className && (" " + u.className + " ").replace(/[\t\n]/g, " ").indexOf(g) >= 0)) l || m.push(u); | |
else if (l) j[p] = false; | |
return false | |
}, | |
ID: function (g) { | |
return g[1].replace(/\\/g, "") | |
}, | |
TAG: function (g) { | |
return g[1].toLowerCase() | |
}, | |
CHILD: function (g) { | |
if (g[1] === "nth") { | |
var j = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2] === "even" && "2n" || g[2] === "odd" && "2n+1" || !/\D/.test(g[2]) && "0n+" + g[2] || g[2]); | |
g[2] = j[1] + (j[2] || 1) - 0; | |
g[3] = j[3] - 0 | |
} | |
g[0] = f++; | |
return g | |
}, | |
ATTR: function (g, j, l, m, q, p) { | |
j = g[1].replace(/\\/g, ""); | |
if (!p && o.attrMap[j]) g[1] = o.attrMap[j]; | |
if (g[2] === "~=") g[4] = " " + g[4] + " "; | |
return g | |
}, | |
PSEUDO: function (g, j, l, m, q) { | |
if (g[1] === "not") | |
if ((e.exec(g[3]) || | |
"").length > 1 || /^\w/.test(g[3])) g[3] = k(g[3], null, null, j); | |
else { | |
g = k.filter(g[3], j, l, true ^ q); | |
l || m.push.apply(m, g); | |
return false | |
} else if (o.match.POS.test(g[0]) || o.match.CHILD.test(g[0])) return true; | |
return g | |
}, | |
POS: function (g) { | |
g.unshift(true); | |
return g | |
} | |
}, | |
filters: { | |
enabled: function (g) { | |
return g.disabled === false && g.type !== "hidden" | |
}, | |
disabled: function (g) { | |
return g.disabled === true | |
}, | |
checked: function (g) { | |
return g.checked === true | |
}, | |
selected: function (g) { | |
return g.selected === true | |
}, | |
parent: function (g) { | |
return !!g.firstChild | |
}, | |
empty: function (g) { | |
return !g.firstChild | |
}, | |
has: function (g, j, l) { | |
return !!k(l[3], g).length | |
}, | |
header: function (g) { | |
return /h\d/i.test(g.nodeName) | |
}, | |
text: function (g) { | |
return "text" === g.type | |
}, | |
radio: function (g) { | |
return "radio" === g.type | |
}, | |
checkbox: function (g) { | |
return "checkbox" === g.type | |
}, | |
file: function (g) { | |
return "file" === g.type | |
}, | |
password: function (g) { | |
return "password" === g.type | |
}, | |
submit: function (g) { | |
return "submit" === g.type | |
}, | |
image: function (g) { | |
return "image" === g.type | |
}, | |
reset: function (g) { | |
return "reset" === g.type | |
}, | |
button: function (g) { | |
return "button" === g.type || g.nodeName.toLowerCase() === | |
"button" | |
}, | |
input: function (g) { | |
return /input|select|textarea|button/i.test(g.nodeName) | |
} | |
}, | |
setFilters: { | |
first: function (g, j) { | |
return j === 0 | |
}, | |
last: function (g, j, l, m) { | |
return j === m.length - 1 | |
}, | |
even: function (g, j) { | |
return j % 2 === 0 | |
}, | |
odd: function (g, j) { | |
return j % 2 === 1 | |
}, | |
lt: function (g, j, l) { | |
return j < l[3] - 0 | |
}, | |
gt: function (g, j, l) { | |
return j > l[3] - 0 | |
}, | |
nth: function (g, j, l) { | |
return l[3] - 0 === j | |
}, | |
eq: function (g, j, l) { | |
return l[3] - 0 === j | |
} | |
}, | |
filter: { | |
PSEUDO: function (g, j, l, m) { | |
var q = j[1], | |
p = o.filters[q]; | |
if (p) return p(g, l, j, m); | |
else if (q === "contains") return (g.textContent || | |
g.innerText || a([g]) || "").indexOf(j[3]) >= 0; | |
else if (q === "not") { | |
j = j[3]; | |
l = 0; | |
for (m = j.length; l < m; l++) | |
if (j[l] === g) return false; | |
return true | |
} else k.error("Syntax error, unrecognized expression: " + q) | |
}, | |
CHILD: function (g, j) { | |
var l = j[1], | |
m = g; | |
switch (l) { | |
case "only": | |
case "first": | |
for (; m = m.previousSibling;) | |
if (m.nodeType === 1) return false; | |
if (l === "first") return true; | |
m = g; | |
case "last": | |
for (; m = m.nextSibling;) | |
if (m.nodeType === 1) return false; | |
return true; | |
case "nth": | |
l = j[2]; | |
var q = j[3]; | |
if (l === 1 && q === 0) return true; | |
var p = j[0], | |
u = g.parentNode; | |
if (u && (u.sizcache !== p || !g.nodeIndex)) { | |
var t = 0; | |
for (m = u.firstChild; m; m = m.nextSibling) | |
if (m.nodeType === 1) m.nodeIndex = ++t; | |
u.sizcache = p | |
} | |
m = g.nodeIndex - q; | |
return l === 0 ? m === 0 : m % l === 0 && m / l >= 0 | |
} | |
}, | |
ID: function (g, j) { | |
return g.nodeType === 1 && g.getAttribute("id") === j | |
}, | |
TAG: function (g, j) { | |
return j === "*" && g.nodeType === 1 || g.nodeName.toLowerCase() === j | |
}, | |
CLASS: function (g, j) { | |
return (" " + (g.className || g.getAttribute("class")) + " ").indexOf(j) > -1 | |
}, | |
ATTR: function (g, j) { | |
var l = j[1]; | |
l = o.attrHandle[l] ? o.attrHandle[l](g) : g[l] != null ? g[l] : | |
g.getAttribute(l); | |
var m = l + "", | |
q = j[2], | |
p = j[4]; | |
return l == null ? q === "!=" : q === "=" ? m === p : q === "*=" ? m.indexOf(p) >= 0 : q === "~=" ? (" " + m + " ").indexOf(p) >= 0 : !p ? m && l !== false : q === "!=" ? m !== p : q === "^=" ? m.indexOf(p) === 0 : q === "$=" ? m.substr(m.length - p.length) === p : q === "|=" ? m === p || m.substr(0, p.length + 1) === p + "-" : false | |
}, | |
POS: function (g, j, l, m) { | |
var q = o.setFilters[j[2]]; | |
if (q) return q(g, l, j, m) | |
} | |
} | |
}, r = o.match.POS, | |
y; | |
for (y in o.match) { | |
o.match[y] = RegExp(o.match[y].source + /(?![^\[]*\])(?![^\(]*\))/.source); | |
o.leftMatch[y] = RegExp(/(^(?:.|\r|\n)*?)/.source + | |
o.match[y].source.replace(/\\(\d+)/g, function (g, j) { | |
return "\\" + (j - 0 + 1) | |
})) | |
} | |
var A = function (g, j) { | |
g = Array.prototype.slice.call(g, 0); | |
if (j) { | |
j.push.apply(j, g); | |
return j | |
} | |
return g | |
}; | |
try { | |
Array.prototype.slice.call(s.documentElement.childNodes, 0) | |
} catch (C) { | |
A = function (g, j) { | |
var l = j || []; | |
if (h.call(g) === "[object Array]") Array.prototype.push.apply(l, g); | |
else if (typeof g.length === "number") | |
for (var m = 0, q = g.length; m < q; m++) l.push(g[m]); | |
else | |
for (m = 0; g[m]; m++) l.push(g[m]); | |
return l | |
} | |
} | |
var B; | |
if (s.documentElement.compareDocumentPosition) B = function (g, j) { | |
if (!g.compareDocumentPosition || !j.compareDocumentPosition) { | |
if (g == j) i = true; | |
return g.compareDocumentPosition ? -1 : 1 | |
} | |
var l = g.compareDocumentPosition(j) & 4 ? -1 : g === j ? 0 : 1; | |
if (l === 0) i = true; | |
return l | |
}; | |
else if ("sourceIndex" in s.documentElement) B = function (g, j) { | |
if (!g.sourceIndex || !j.sourceIndex) { | |
if (g == j) i = true; | |
return g.sourceIndex ? -1 : 1 | |
} | |
var l = g.sourceIndex - j.sourceIndex; | |
if (l === 0) i = true; | |
return l | |
}; | |
else if (s.createRange) B = function (g, j) { | |
if (!g.ownerDocument || !j.ownerDocument) { | |
if (g == j) i = true; | |
return g.ownerDocument ? -1 : 1 | |
} | |
var l = g.ownerDocument.createRange(), | |
m = j.ownerDocument.createRange(); | |
l.setStart(g, 0); | |
l.setEnd(g, 0); | |
m.setStart(j, 0); | |
m.setEnd(j, 0); | |
l = l.compareBoundaryPoints(Range.START_TO_END, m); | |
if (l === 0) i = true; | |
return l | |
}; | |
(function () { | |
var g = s.createElement("div"), | |
j = "script" + (new Date).getTime(); | |
g.innerHTML = "<a name='" + j + "'/>"; | |
var l = s.documentElement; | |
l.insertBefore(g, l.firstChild); | |
if (s.getElementById(j)) { | |
o.find.ID = function (m, q, p) { | |
if (typeof q.getElementById !== "undefined" && !p) return (q = q.getElementById(m[1])) ? q.id === | |
m[1] || typeof q.getAttributeNode !== "undefined" && q.getAttributeNode("id").nodeValue === m[1] ? [q] : v : [] | |
}; | |
o.filter.ID = function (m, q) { | |
var p = typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id"); | |
return m.nodeType === 1 && p && p.nodeValue === q | |
} | |
} | |
l.removeChild(g); | |
l = g = null | |
})(); | |
(function () { | |
var g = s.createElement("div"); | |
g.appendChild(s.createComment("")); | |
if (g.getElementsByTagName("*").length > 0) o.find.TAG = function (j, l) { | |
var m = l.getElementsByTagName(j[1]); | |
if (j[1] === "*") { | |
for (var q = [], p = 0; m[p]; p++) m[p].nodeType === | |
1 && q.push(m[p]); | |
m = q | |
} | |
return m | |
}; | |
g.innerHTML = "<a href='#'></a>"; | |
if (g.firstChild && typeof g.firstChild.getAttribute !== "undefined" && g.firstChild.getAttribute("href") !== "#") o.attrHandle.href = function (j) { | |
return j.getAttribute("href", 2) | |
}; | |
g = null | |
})(); | |
s.querySelectorAll && function () { | |
var g = k, | |
j = s.createElement("div"); | |
j.innerHTML = "<p class='TEST'></p>"; | |
if (!(j.querySelectorAll && j.querySelectorAll(".TEST").length === 0)) { | |
k = function (m, q, p, u) { | |
q = q || s; | |
if (!u && q.nodeType === 9 && !w(q)) try { | |
return A(q.querySelectorAll(m), p) | |
} catch (t) {} | |
return g(m, | |
q, p, u) | |
}; | |
for (var l in g) k[l] = g[l]; | |
j = null | |
} | |
}(); | |
(function () { | |
var g = s.createElement("div"); | |
g.innerHTML = "<div class='test e'></div><div class='test'></div>"; | |
if (!(!g.getElementsByClassName || g.getElementsByClassName("e").length === 0)) { | |
g.lastChild.className = "e"; | |
if (g.getElementsByClassName("e").length !== 1) { | |
o.order.splice(1, 0, "CLASS"); | |
o.find.CLASS = function (j, l, m) { | |
if (typeof l.getElementsByClassName !== "undefined" && !m) return l.getElementsByClassName(j[1]) | |
}; | |
g = null | |
} | |
} | |
})(); | |
var F = s.compareDocumentPosition ? function (g, | |
j) { | |
return !!(g.compareDocumentPosition(j) & 16) | |
} : function (g, j) { | |
return g !== j && (g.contains ? g.contains(j) : true) | |
}, w = function (g) { | |
return (g = (g ? g.ownerDocument || g : 0).documentElement) ? g.nodeName !== "HTML" : false | |
}, oa = function (g, j) { | |
for (var l = [], m = "", q, p = j.nodeType ? [j] : j; q = o.match.PSEUDO.exec(g);) { | |
m += q[0]; | |
g = g.replace(o.match.PSEUDO, "") | |
} | |
g = o.relative[g] ? g + "*" : g; | |
q = 0; | |
for (var u = p.length; q < u; q++) k(g, p[q], l); | |
return k.filter(m, l) | |
}; | |
c.find = k; | |
c.expr = k.selectors; | |
c.expr[":"] = c.expr.filters; | |
c.unique = k.uniqueSort; | |
c.text = a; | |
c.isXMLDoc = | |
w; | |
c.contains = F | |
})(); | |
var eb = /Until$/, | |
fb = /^(?:parents|prevUntil|prevAll)/, | |
gb = /,/; | |
aa = Array.prototype.slice; | |
var Ja = function (a, b, d) { | |
if (c.isFunction(b)) return c.grep(a, function (f, h) { | |
return !!b.call(f, h, f) === d | |
}); | |
else if (b.nodeType) return c.grep(a, function (f) { | |
return f === b === d | |
}); | |
else if (typeof b === "string") { | |
var e = c.grep(a, function (f) { | |
return f.nodeType === 1 | |
}); | |
if (Ua.test(b)) return c.filter(b, e, !d); | |
else b = c.filter(b, e) | |
} | |
return c.grep(a, function (f) { | |
return c.inArray(f, b) >= 0 === d | |
}) | |
}; | |
c.fn.extend({ | |
find: function (a) { | |
for (var b = | |
this.pushStack("", "find", a), d = 0, e = 0, f = this.length; e < f; e++) { | |
d = b.length; | |
c.find(a, this[e], b); | |
if (e > 0) | |
for (var h = d; h < b.length; h++) | |
for (var i = 0; i < d; i++) | |
if (b[i] === b[h]) { | |
b.splice(h--, 1); | |
break | |
} | |
} | |
return b | |
}, | |
has: function (a) { | |
var b = c(a); | |
return this.filter(function () { | |
for (var d = 0, e = b.length; d < e; d++) | |
if (c.contains(this, b[d])) return true | |
}) | |
}, | |
not: function (a) { | |
return this.pushStack(Ja(this, a, false), "not", a) | |
}, | |
filter: function (a) { | |
return this.pushStack(Ja(this, a, true), "filter", a) | |
}, | |
is: function (a) { | |
return !!a && c.filter(a, this).length > | |
0 | |
}, | |
closest: function (a, b) { | |
if (c.isArray(a)) { | |
var d = [], | |
e = this[0], | |
f, h = {}, i; | |
if (e && a.length) { | |
f = 0; | |
for (var n = a.length; f < n; f++) { | |
i = a[f]; | |
h[i] || (h[i] = c.expr.match.POS.test(i) ? c(i, b || this.context) : i) | |
} | |
for (; e && e.ownerDocument && e !== b;) { | |
for (i in h) { | |
f = h[i]; | |
if (f.jquery ? f.index(e) > -1 : c(e).is(f)) { | |
d.push({ | |
selector: i, | |
elem: e | |
}); | |
delete h[i] | |
} | |
} | |
e = e.parentNode | |
} | |
} | |
return d | |
} | |
var k = c.expr.match.POS.test(a) ? c(a, b || this.context) : null; | |
return this.map(function (o, r) { | |
for (; r && r.ownerDocument && r !== b;) { | |
if (k ? k.index(r) > -1 : c(r).is(a)) return r; | |
r = r.parentNode | |
} | |
return null | |
}) | |
}, | |
index: function (a) { | |
if (!a || typeof a === "string") return c.inArray(this[0], a ? c(a) : this.parent().children()); | |
return c.inArray(a.jquery ? a[0] : a, this) | |
}, | |
add: function (a, b) { | |
var d = typeof a === "string" ? c(a, b || this.context) : c.makeArray(a), | |
e = c.merge(this.get(), d); | |
return this.pushStack(!d[0] || !d[0].parentNode || d[0].parentNode.nodeType === 11 || !e[0] || !e[0].parentNode || e[0].parentNode.nodeType === 11 ? e : c.unique(e)) | |
}, | |
andSelf: function () { | |
return this.add(this.prevObject) | |
} | |
}); | |
c.each({ | |
parent: function (a) { | |
return (a = | |
a.parentNode) && a.nodeType !== 11 ? a : null | |
}, | |
parents: function (a) { | |
return c.dir(a, "parentNode") | |
}, | |
parentsUntil: function (a, b, d) { | |
return c.dir(a, "parentNode", d) | |
}, | |
next: function (a) { | |
return c.nth(a, 2, "nextSibling") | |
}, | |
prev: function (a) { | |
return c.nth(a, 2, "previousSibling") | |
}, | |
nextAll: function (a) { | |
return c.dir(a, "nextSibling") | |
}, | |
prevAll: function (a) { | |
return c.dir(a, "previousSibling") | |
}, | |
nextUntil: function (a, b, d) { | |
return c.dir(a, "nextSibling", d) | |
}, | |
prevUntil: function (a, b, d) { | |
return c.dir(a, "previousSibling", d) | |
}, | |
siblings: function (a) { | |
return c.sibling(a.parentNode.firstChild, | |
a) | |
}, | |
children: function (a) { | |
return c.sibling(a.firstChild) | |
}, | |
contents: function (a) { | |
return c.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : c.makeArray(a.childNodes) | |
} | |
}, function (a, b) { | |
c.fn[a] = function (d, e) { | |
var f = c.map(this, b, d); | |
eb.test(a) || (e = d); | |
if (e && typeof e === "string") f = c.filter(e, f); | |
f = this.length > 1 ? c.unique(f) : f; | |
if ((this.length > 1 || gb.test(e)) && fb.test(a)) f = f.reverse(); | |
return this.pushStack(f, a, aa.call(arguments).join(",")) | |
} | |
}); | |
c.extend({ | |
filter: function (a, b, d) { | |
if (d) a = ":not(" + a + ")"; | |
return c.find.matches(a, | |
b) | |
}, | |
dir: function (a, b, d) { | |
var e = []; | |
for (a = a[b]; a && a.nodeType !== 9 && (d === v || a.nodeType !== 1 || !c(a).is(d));) { | |
a.nodeType === 1 && e.push(a); | |
a = a[b] | |
} | |
return e | |
}, | |
nth: function (a, b, d) { | |
b = b || 1; | |
for (var e = 0; a; a = a[d]) | |
if (a.nodeType === 1 && ++e === b) break; | |
return a | |
}, | |
sibling: function (a, b) { | |
for (var d = []; a; a = a.nextSibling) a.nodeType === 1 && a !== b && d.push(a); | |
return d | |
} | |
}); | |
var Ka = / jQuery\d+="(?:\d+|null)"/g, | |
fa = /^\s+/, | |
La = /(<([\w:]+)[^>]*?)\/>/g, | |
hb = /^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i, | |
Ma = /<([\w:]+)/, | |
ib = /<tbody/i, | |
jb = /<|&#?\w+;/, | |
ua = /<script|<object|<embed|<option|<style/i, | |
va = /checked\s*(?:[^=]|=\s*.checked.)/i, | |
Na = function (a, b, d) { | |
return hb.test(d) ? a : b + "></" + d + ">" | |
}, H = { | |
option: [1, "<select multiple='multiple'>", "</select>"], | |
legend: [1, "<fieldset>", "</fieldset>"], | |
thead: [1, "<table>", "</table>"], | |
tr: [2, "<table><tbody>", "</tbody></table>"], | |
td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], | |
col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"], | |
area: [1, "<map>", "</map>"], | |
_default: [0, "", ""] | |
}; | |
H.optgroup = H.option; | |
H.tbody = H.tfoot = | |
H.colgroup = H.caption = H.thead; | |
H.th = H.td; | |
if (!c.support.htmlSerialize) H._default = [1, "div<div>", "</div>"]; | |
c.fn.extend({ | |
text: function (a) { | |
if (c.isFunction(a)) return this.each(function (b) { | |
var d = c(this); | |
d.text(a.call(this, b, d.text())) | |
}); | |
if (typeof a !== "object" && a !== v) return this.empty().append((this[0] && this[0].ownerDocument || s).createTextNode(a)); | |
return c.text(this) | |
}, | |
wrapAll: function (a) { | |
if (c.isFunction(a)) return this.each(function (d) { | |
c(this).wrapAll(a.call(this, d)) | |
}); | |
if (this[0]) { | |
var b = c(a, this[0].ownerDocument).eq(0).clone(true); | |
this[0].parentNode && b.insertBefore(this[0]); | |
b.map(function () { | |
for (var d = this; d.firstChild && d.firstChild.nodeType === 1;) d = d.firstChild; | |
return d | |
}).append(this) | |
} | |
return this | |
}, | |
wrapInner: function (a) { | |
if (c.isFunction(a)) return this.each(function (b) { | |
c(this).wrapInner(a.call(this, b)) | |
}); | |
return this.each(function () { | |
var b = c(this), | |
d = b.contents(); | |
d.length ? d.wrapAll(a) : b.append(a) | |
}) | |
}, | |
wrap: function (a) { | |
return this.each(function () { | |
c(this).wrapAll(a) | |
}) | |
}, | |
unwrap: function () { | |
return this.parent().each(function () { | |
c.nodeName(this, | |
"body") || c(this).replaceWith(this.childNodes) | |
}).end() | |
}, | |
append: function () { | |
return this.domManip(arguments, true, function (a) { | |
this.nodeType === 1 && this.appendChild(a) | |
}) | |
}, | |
prepend: function () { | |
return this.domManip(arguments, true, function (a) { | |
this.nodeType === 1 && this.insertBefore(a, this.firstChild) | |
}) | |
}, | |
before: function () { | |
if (this[0] && this[0].parentNode) return this.domManip(arguments, false, function (b) { | |
this.parentNode.insertBefore(b, this) | |
}); | |
else if (arguments.length) { | |
var a = c(arguments[0]); | |
a.push.apply(a, this.toArray()); | |
return this.pushStack(a, "before", arguments) | |
} | |
}, | |
after: function () { | |
if (this[0] && this[0].parentNode) return this.domManip(arguments, false, function (b) { | |
this.parentNode.insertBefore(b, this.nextSibling) | |
}); | |
else if (arguments.length) { | |
var a = this.pushStack(this, "after", arguments); | |
a.push.apply(a, c(arguments[0]).toArray()); | |
return a | |
} | |
}, | |
remove: function (a, b) { | |
for (var d = 0, e; | |
(e = this[d]) != null; d++) | |
if (!a || c.filter(a, [e]).length) { | |
if (!b && e.nodeType === 1) { | |
c.cleanData(e.getElementsByTagName("*")); | |
c.cleanData([e]) | |
} | |
e.parentNode && | |
e.parentNode.removeChild(e) | |
} | |
return this | |
}, | |
empty: function () { | |
for (var a = 0, b; | |
(b = this[a]) != null; a++) | |
for (b.nodeType === 1 && c.cleanData(b.getElementsByTagName("*")); b.firstChild;) b.removeChild(b.firstChild); | |
return this | |
}, | |
clone: function (a) { | |
var b = this.map(function () { | |
if (!c.support.noCloneEvent && !c.isXMLDoc(this)) { | |
var d = this.outerHTML, | |
e = this.ownerDocument; | |
if (!d) { | |
d = e.createElement("div"); | |
d.appendChild(this.cloneNode(true)); | |
d = d.innerHTML | |
} | |
return c.clean([d.replace(Ka, "").replace(/=([^="'>\s]+\/)>/g, '="$1">').replace(fa, | |
"")], e)[0] | |
} else return this.cloneNode(true) | |
}); | |
if (a === true) { | |
J(this, b); | |
J(this.find("*"), b.find("*")) | |
} | |
return b | |
}, | |
html: function (a) { | |
if (a === v) return this[0] && this[0].nodeType === 1 ? this[0].innerHTML.replace(Ka, "") : null; | |
else if (typeof a === "string" && !ua.test(a) && (c.support.leadingWhitespace || !fa.test(a)) && !H[(Ma.exec(a) || ["", ""])[1].toLowerCase()]) { | |
a = a.replace(La, Na); | |
try { | |
for (var b = 0, d = this.length; b < d; b++) | |
if (this[b].nodeType === 1) { | |
c.cleanData(this[b].getElementsByTagName("*")); | |
this[b].innerHTML = a | |
} | |
} catch (e) { | |
this.empty().append(a) | |
} | |
} else c.isFunction(a) ? | |
this.each(function (f) { | |
var h = c(this), | |
i = h.html(); | |
h.empty().append(function () { | |
return a.call(this, f, i) | |
}) | |
}) : this.empty().append(a); | |
return this | |
}, | |
replaceWith: function (a) { | |
if (this[0] && this[0].parentNode) { | |
if (c.isFunction(a)) return this.each(function (b) { | |
var d = c(this), | |
e = d.html(); | |
d.replaceWith(a.call(this, b, e)) | |
}); | |
if (typeof a !== "string") a = c(a).detach(); | |
return this.each(function () { | |
var b = this.nextSibling, | |
d = this.parentNode; | |
c(this).remove(); | |
b ? c(b).before(a) : c(d).append(a) | |
}) | |
} else return this.pushStack(c(c.isFunction(a) ? | |
a() : a), "replaceWith", a) | |
}, | |
detach: function (a) { | |
return this.remove(a, true) | |
}, | |
domManip: function (a, b, d) { | |
var e, f, h = a[0], | |
i = [], | |
n; | |
if (!c.support.checkClone && arguments.length === 3 && typeof h === "string" && va.test(h)) return this.each(function () { | |
c(this).domManip(a, b, d, true) | |
}); | |
if (c.isFunction(h)) return this.each(function (o) { | |
var r = c(this); | |
a[0] = h.call(this, o, b ? r.html() : v); | |
r.domManip(a, b, d) | |
}); | |
if (this[0]) { | |
e = h && h.parentNode; | |
e = c.support.parentNode && e && e.nodeType === 11 && e.childNodes.length === this.length ? { | |
fragment: e | |
} : X(a, this, | |
i); | |
n = e.fragment; | |
if (f = n.childNodes.length === 1 ? n = n.firstChild : n.firstChild) { | |
b = b && c.nodeName(f, "tr"); | |
f = 0; | |
for (var k = this.length; f < k; f++) d.call(b ? c.nodeName(this[f], "table") ? this[f].getElementsByTagName("tbody")[0] || this[f].appendChild(this[f].ownerDocument.createElement("tbody")) : this[f] : this[f], f > 0 || e.cacheable || this.length > 1 ? n.cloneNode(true) : n) | |
} | |
i.length && c.each(i, ca) | |
} | |
return this | |
} | |
}); | |
c.fragments = {}; | |
c.each({ | |
appendTo: "append", | |
prependTo: "prepend", | |
insertBefore: "before", | |
insertAfter: "after", | |
replaceAll: "replaceWith" | |
}, function (a, b) { | |
c.fn[a] = function (d) { | |
var e = []; | |
d = c(d); | |
var f = this.length === 1 && this[0].parentNode; | |
if (f && f.nodeType === 11 && f.childNodes.length === 1 && d.length === 1) { | |
d[b](this[0]); | |
return this | |
} else { | |
f = 0; | |
for (var h = d.length; f < h; f++) { | |
var i = (f > 0 ? this.clone(true) : this).get(); | |
c.fn[b].apply(c(d[f]), i); | |
e = e.concat(i) | |
} | |
return this.pushStack(e, a, d.selector) | |
} | |
} | |
}); | |
c.extend({ | |
clean: function (a, b, d, e) { | |
b = b || s; | |
if (typeof b.createElement === "undefined") b = b.ownerDocument || b[0] && b[0].ownerDocument || s; | |
for (var f = [], h = 0, i; | |
(i = a[h]) != null; h++) { | |
if (typeof i === | |
"number") i += ""; | |
if (i) { | |
if (typeof i === "string" && !jb.test(i)) i = b.createTextNode(i); | |
else if (typeof i === "string") { | |
i = i.replace(La, Na); | |
var n = (Ma.exec(i) || ["", ""])[1].toLowerCase(), | |
k = H[n] || H._default, | |
o = k[0], | |
r = b.createElement("div"); | |
for (r.innerHTML = k[1] + i + k[2]; o--;) r = r.lastChild; | |
if (!c.support.tbody) { | |
o = ib.test(i); | |
n = n === "table" && !o ? r.firstChild && r.firstChild.childNodes : k[1] === "<table>" && !o ? r.childNodes : []; | |
for (k = n.length - 1; k >= 0; --k) c.nodeName(n[k], "tbody") && !n[k].childNodes.length && n[k].parentNode.removeChild(n[k]) | |
}!c.support.leadingWhitespace && | |
fa.test(i) && r.insertBefore(b.createTextNode(fa.exec(i)[0]), r.firstChild); | |
i = r.childNodes | |
} | |
if (i.nodeType) f.push(i); | |
else f = c.merge(f, i) | |
} | |
} | |
if (d) | |
for (h = 0; f[h]; h++) | |
if (e && c.nodeName(f[h], "script") && (!f[h].type || f[h].type.toLowerCase() === "text/javascript")) e.push(f[h].parentNode ? f[h].parentNode.removeChild(f[h]) : f[h]); | |
else { | |
f[h].nodeType === 1 && f.splice.apply(f, [h + 1, 0].concat(c.makeArray(f[h].getElementsByTagName("script")))); | |
d.appendChild(f[h]) | |
} | |
return f | |
}, | |
cleanData: function (a) { | |
for (var b, d, e = c.cache, f = c.event.special, | |
h = c.support.deleteExpando, i = 0, n; | |
(n = a[i]) != null; i++) | |
if (d = n[c.expando]) { | |
b = e[d]; | |
if (b.events) | |
for (var k in b.events) f[k] ? c.event.remove(n, k) : Da(n, k, b.handle); | |
if (h) delete n[c.expando]; | |
else n.removeAttribute && n.removeAttribute(c.expando); | |
delete e[d] | |
} | |
} | |
}); | |
var kb = /z-?index|font-?weight|opacity|zoom|line-?height/i, | |
Oa = /alpha\([^)]*\)/, | |
Pa = /opacity=([^)]*)/, | |
pa = /float/i, | |
qa = /-([a-z])/ig, | |
lb = /([A-Z])/g, | |
mb = /^-?\d+(?:px)?$/i, | |
nb = /^-?\d/, | |
ob = { | |
position: "absolute", | |
visibility: "hidden", | |
display: "block" | |
}, pb = ["Left", "Right"], | |
qb = ["Top", "Bottom"], | |
rb = s.defaultView && s.defaultView.getComputedStyle, | |
Qa = c.support.cssFloat ? "cssFloat" : "styleFloat", | |
ra = function (a, b) { | |
return b.toUpperCase() | |
}; | |
c.fn.css = function (a, b) { | |
return L(this, a, b, true, function (d, e, f) { | |
if (f === v) return c.curCSS(d, e); | |
if (typeof f === "number" && !kb.test(e)) f += "px"; | |
c.style(d, e, f) | |
}) | |
}; | |
c.extend({ | |
style: function (a, b, d) { | |
if (!a || a.nodeType === 3 || a.nodeType === 8) return v; | |
if ((b === "width" || b === "height") && parseFloat(d) < 0) d = v; | |
var e = a.style || a, | |
f = d !== v; | |
if (!c.support.opacity && b === "opacity") { | |
if (f) { | |
e.zoom = | |
1; | |
b = parseInt(d, 10) + "" === "NaN" ? "" : "alpha(opacity=" + d * 100 + ")"; | |
a = e.filter || c.curCSS(a, "filter") || ""; | |
e.filter = Oa.test(a) ? a.replace(Oa, b) : b | |
} | |
return e.filter && e.filter.indexOf("opacity=") >= 0 ? parseFloat(Pa.exec(e.filter)[1]) / 100 + "" : "" | |
} | |
if (pa.test(b)) b = Qa; | |
b = b.replace(qa, ra); | |
if (f) e[b] = d; | |
return e[b] | |
}, | |
css: function (a, b, d, e) { | |
if (b === "width" || b === "height") { | |
var f, h = b === "width" ? pb : qb; | |
d = function () { | |
f = b === "width" ? a.offsetWidth : a.offsetHeight; | |
e !== "border" && c.each(h, function () { | |
e || (f -= parseFloat(c.curCSS(a, "padding" + this, | |
true)) || 0); | |
if (e === "margin") f += parseFloat(c.curCSS(a, "margin" + this, true)) || 0; | |
else f -= parseFloat(c.curCSS(a, "border" + this + "Width", true)) || 0 | |
}) | |
}; | |
a.offsetWidth !== 0 ? d() : c.swap(a, ob, d); | |
return Math.max(0, Math.round(f)) | |
} | |
return c.curCSS(a, b, d) | |
}, | |
curCSS: function (a, b, d) { | |
var e, f = a.style; | |
if (!c.support.opacity && b === "opacity" && a.currentStyle) { | |
e = Pa.test(a.currentStyle.filter || "") ? parseFloat(RegExp.$1) / 100 + "" : ""; | |
return e === "" ? "1" : e | |
} | |
if (pa.test(b)) b = Qa; | |
if (!d && f && f[b]) e = f[b]; | |
else if (rb) { | |
if (pa.test(b)) b = "float"; | |
b = b.replace(lb, | |
"-$1").toLowerCase(); | |
f = a.ownerDocument.defaultView; | |
if (!f) return null; | |
if (a = f.getComputedStyle(a, null)) e = a.getPropertyValue(b); | |
if (b === "opacity" && e === "") e = "1" | |
} else if (a.currentStyle) { | |
d = b.replace(qa, ra); | |
e = a.currentStyle[b] || a.currentStyle[d]; | |
if (!mb.test(e) && nb.test(e)) { | |
b = f.left; | |
var h = a.runtimeStyle.left; | |
a.runtimeStyle.left = a.currentStyle.left; | |
f.left = d === "fontSize" ? "1em" : e || 0; | |
e = f.pixelLeft + "px"; | |
f.left = b; | |
a.runtimeStyle.left = h | |
} | |
} | |
return e | |
}, | |
swap: function (a, b, d) { | |
var e = {}, f; | |
for (f in b) { | |
e[f] = a.style[f]; | |
a.style[f] = | |
b[f] | |
} | |
d.call(a); | |
for (f in b) a.style[f] = e[f] | |
} | |
}); | |
if (c.expr && c.expr.filters) { | |
c.expr.filters.hidden = function (a) { | |
var b = a.offsetWidth, | |
d = a.offsetHeight, | |
e = a.nodeName.toLowerCase() === "tr"; | |
return b === 0 && d === 0 && !e ? true : b > 0 && d > 0 && !e ? false : c.curCSS(a, "display") === "none" | |
}; | |
c.expr.filters.visible = function (a) { | |
return !c.expr.filters.hidden(a) | |
} | |
} | |
var sb = I(), | |
tb = /<script(.|\s)*?\/script>/gi, | |
ub = /select|textarea/i, | |
vb = /color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i, | |
V = /=\?(&|$)/, | |
sa = | |
/\?/, | |
wb = /(\?|&)_=.*?(&|$)/, | |
xb = /^(\w+:)?\/\/([^\/?#]+)/, | |
yb = /%20/g, | |
zb = c.fn.load; | |
c.fn.extend({ | |
load: function (a, b, d) { | |
if (typeof a !== "string") return zb.call(this, a); | |
else if (!this.length) return this; | |
var e = a.indexOf(" "); | |
if (e >= 0) { | |
var f = a.slice(e, a.length); | |
a = a.slice(0, e) | |
} | |
e = "GET"; | |
if (b) | |
if (c.isFunction(b)) { | |
d = b; | |
b = null | |
} else if (typeof b === "object") { | |
b = c.param(b, c.ajaxSettings.traditional); | |
e = "POST" | |
} | |
var h = this; | |
c.ajax({ | |
url: a, | |
type: e, | |
dataType: "html", | |
data: b, | |
complete: function (i, n) { | |
if (n === "success" || n === "notmodified") h.html(f ? | |
c("<div />").append(i.responseText.replace(tb, "")).find(f) : i.responseText); | |
d && h.each(d, [i.responseText, n, i]) | |
} | |
}); | |
return this | |
}, | |
serialize: function () { | |
return c.param(this.serializeArray()) | |
}, | |
serializeArray: function () { | |
return this.map(function () { | |
return this.elements ? c.makeArray(this.elements) : this | |
}).filter(function () { | |
return this.name && !this.disabled && (this.checked || ub.test(this.nodeName) || vb.test(this.type)) | |
}).map(function (a, b) { | |
var d = c(this).val(); | |
return d == null ? null : c.isArray(d) ? c.map(d, function (e) { | |
return { | |
name: b.name, | |
value: e | |
} | |
}) : { | |
name: b.name, | |
value: d | |
} | |
}).get() | |
} | |
}); | |
c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function (a, b) { | |
c.fn[b] = function (d) { | |
return this.bind(b, d) | |
} | |
}); | |
c.extend({ | |
get: function (a, b, d, e) { | |
if (c.isFunction(b)) { | |
e = e || d; | |
d = b; | |
b = null | |
} | |
return c.ajax({ | |
type: "GET", | |
url: a, | |
data: b, | |
success: d, | |
dataType: e | |
}) | |
}, | |
getScript: function (a, b) { | |
return c.get(a, null, b, "script") | |
}, | |
getJSON: function (a, b, d) { | |
return c.get(a, b, d, "json") | |
}, | |
post: function (a, b, d, e) { | |
if (c.isFunction(b)) { | |
e = e || d; | |
d = b; | |
b = {} | |
} | |
return c.ajax({ | |
type: "POST", | |
url: a, | |
data: b, | |
success: d, | |
dataType: e | |
}) | |
}, | |
ajaxSetup: function (a) { | |
c.extend(c.ajaxSettings, a) | |
}, | |
ajaxSettings: { | |
url: location.href, | |
global: true, | |
type: "GET", | |
contentType: "application/x-www-form-urlencoded", | |
processData: true, | |
async: true, | |
xhr: x.XMLHttpRequest && (x.location.protocol !== "file:" || !x.ActiveXObject) ? function () { | |
return new x.XMLHttpRequest | |
} : function () { | |
try { | |
return new x.ActiveXObject("Microsoft.XMLHTTP") | |
} catch (a) {} | |
}, | |
accepts: { | |
xml: "application/xml, text/xml", | |
html: "text/html", | |
script: "text/javascript, application/javascript", | |
json: "application/json, text/javascript", | |
text: "text/plain", | |
_default: "*/*" | |
} | |
}, | |
lastModified: {}, | |
etag: {}, | |
ajax: function (a) { | |
function b() { | |
f.success && f.success.call(k, n, i, w); | |
f.global && e("ajaxSuccess", [w, f]) | |
} | |
function d() { | |
f.complete && f.complete.call(k, w, i); | |
f.global && e("ajaxComplete", [w, f]); | |
f.global && !--c.active && c.event.trigger("ajaxStop") | |
} | |
function e(q, p) { | |
(f.context ? c(f.context) : c.event).trigger(q, p) | |
} | |
var f = c.extend(true, {}, c.ajaxSettings, a), | |
h, i, n, k = a && a.context || f, | |
o = f.type.toUpperCase(); | |
if (f.data && f.processData && | |
typeof f.data !== "string") f.data = c.param(f.data, f.traditional); | |
if (f.dataType === "jsonp") { | |
if (o === "GET") V.test(f.url) || (f.url += (sa.test(f.url) ? "&" : "?") + (f.jsonp || "callback") + "=?"); | |
else if (!f.data || !V.test(f.data)) f.data = (f.data ? f.data + "&" : "") + (f.jsonp || "callback") + "=?"; | |
f.dataType = "json" | |
} | |
if (f.dataType === "json" && (f.data && V.test(f.data) || V.test(f.url))) { | |
h = f.jsonpCallback || "jsonp" + sb++; | |
if (f.data) f.data = (f.data + "").replace(V, "=" + h + "$1"); | |
f.url = f.url.replace(V, "=" + h + "$1"); | |
f.dataType = "script"; | |
x[h] = x[h] || function (q) { | |
n = | |
q; | |
b(); | |
d(); | |
x[h] = v; | |
try { | |
delete x[h] | |
} catch (p) {} | |
A && A.removeChild(C) | |
} | |
} | |
if (f.dataType === "script" && f.cache === null) f.cache = false; | |
if (f.cache === false && o === "GET") { | |
var r = I(), | |
y = f.url.replace(wb, "$1_=" + r + "$2"); | |
f.url = y + (y === f.url ? (sa.test(f.url) ? "&" : "?") + "_=" + r : "") | |
} | |
if (f.data && o === "GET") f.url += (sa.test(f.url) ? "&" : "?") + f.data; | |
f.global && !c.active++ && c.event.trigger("ajaxStart"); | |
r = (r = xb.exec(f.url)) && (r[1] && r[1] !== location.protocol || r[2] !== location.host); | |
if (f.dataType === "script" && o === "GET" && r) { | |
var A = s.getElementsByTagName("head")[0] || | |
s.documentElement, | |
C = s.createElement("script"); | |
C.src = f.url; | |
if (f.scriptCharset) C.charset = f.scriptCharset; | |
if (!h) { | |
var B = false; | |
C.onload = C.onreadystatechange = function () { | |
if (!B && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete")) { | |
B = true; | |
b(); | |
d(); | |
C.onload = C.onreadystatechange = null; | |
A && C.parentNode && A.removeChild(C) | |
} | |
} | |
} | |
A.insertBefore(C, A.firstChild); | |
return v | |
} | |
var F = false, | |
w = f.xhr(); | |
if (w) { | |
f.username ? w.open(o, f.url, f.async, f.username, f.password) : w.open(o, f.url, f.async); | |
try { | |
if (f.data || a && | |
a.contentType) w.setRequestHeader("Content-Type", f.contentType); | |
if (f.ifModified) { | |
c.lastModified[f.url] && w.setRequestHeader("If-Modified-Since", c.lastModified[f.url]); | |
c.etag[f.url] && w.setRequestHeader("If-None-Match", c.etag[f.url]) | |
} | |
r || w.setRequestHeader("X-Requested-With", "XMLHttpRequest"); | |
w.setRequestHeader("Accept", f.dataType && f.accepts[f.dataType] ? f.accepts[f.dataType] + ", */*" : f.accepts._default) | |
} catch (oa) {} | |
if (f.beforeSend && f.beforeSend.call(k, w, f) === false) { | |
f.global && !--c.active && c.event.trigger("ajaxStop"); | |
w.abort(); | |
return false | |
} | |
f.global && e("ajaxSend", [w, f]); | |
var g = w.onreadystatechange = function (q) { | |
if (!w || w.readyState === 0 || q === "abort") { | |
F || d(); | |
F = true; | |
if (w) w.onreadystatechange = c.noop | |
} else if (!F && w && (w.readyState === 4 || q === "timeout")) { | |
F = true; | |
w.onreadystatechange = c.noop; | |
i = q === "timeout" ? "timeout" : !c.httpSuccess(w) ? "error" : f.ifModified && c.httpNotModified(w, f.url) ? "notmodified" : "success"; | |
var p; | |
if (i === "success") try { | |
n = c.httpData(w, f.dataType, f) | |
} catch (u) { | |
i = "parsererror"; | |
p = u | |
} | |
if (i === "success" || i === "notmodified") h || | |
b(); | |
else c.handleError(f, w, i, p); | |
d(); | |
q === "timeout" && w.abort(); | |
if (f.async) w = null | |
} | |
}; | |
try { | |
var j = w.abort; | |
w.abort = function () { | |
w && j.call(w); | |
g("abort") | |
} | |
} catch (l) {} | |
f.async && f.timeout > 0 && setTimeout(function () { | |
w && !F && g("timeout") | |
}, f.timeout); | |
try { | |
w.send(o === "POST" || o === "PUT" || o === "DELETE" ? f.data : null) | |
} catch (m) { | |
c.handleError(f, w, null, m); | |
d() | |
} | |
f.async || g(); | |
return w | |
} | |
}, | |
handleError: function (a, b, d, e) { | |
if (a.error) a.error.call(a.context || a, b, d, e); | |
if (a.global)(a.context ? c(a.context) : c.event).trigger("ajaxError", [b, a, e]) | |
}, | |
active: 0, | |
httpSuccess: function (a) { | |
try { | |
return !a.status && location.protocol === "file:" || a.status >= 200 && a.status < 300 || a.status === 304 || a.status === 1223 || a.status === 0 | |
} catch (b) {} | |
return false | |
}, | |
httpNotModified: function (a, b) { | |
var d = a.getResponseHeader("Last-Modified"), | |
e = a.getResponseHeader("Etag"); | |
if (d) c.lastModified[b] = d; | |
if (e) c.etag[b] = e; | |
return a.status === 304 || a.status === 0 | |
}, | |
httpData: function (a, b, d) { | |
var e = a.getResponseHeader("content-type") || "", | |
f = b === "xml" || !b && e.indexOf("xml") >= 0; | |
a = f ? a.responseXML : a.responseText; | |
f && a.documentElement.nodeName === "parsererror" && c.error("parsererror"); | |
if (d && d.dataFilter) a = d.dataFilter(a, b); | |
if (typeof a === "string") | |
if (b === "json" || !b && e.indexOf("json") >= 0) a = c.parseJSON(a); | |
else if (b === "script" || !b && e.indexOf("javascript") >= 0) c.globalEval(a); | |
return a | |
}, | |
param: function (a, b) { | |
function d(i, n) { | |
if (c.isArray(n)) c.each(n, function (k, o) { | |
b || /\[\]$/.test(i) ? e(i, o) : d(i + "[" + (typeof o === "object" || c.isArray(o) ? k : "") + "]", o) | |
}); | |
else !b && n != null && typeof n === "object" ? c.each(n, function (k, o) { | |
d(i + "[" + k + "]", | |
o) | |
}) : e(i, n) | |
} | |
function e(i, n) { | |
n = c.isFunction(n) ? n() : n; | |
f[f.length] = encodeURIComponent(i) + "=" + encodeURIComponent(n) | |
} | |
var f = []; | |
if (b === v) b = c.ajaxSettings.traditional; | |
if (c.isArray(a) || a.jquery) c.each(a, function () { | |
e(this.name, this.value) | |
}); | |
else | |
for (var h in a) d(h, a[h]); | |
return f.join("&").replace(yb, "+") | |
} | |
}); | |
var ta = {}, Ab = /toggle|show|hide/, | |
Bb = /^([+-]=)?([\d+-.]+)(.*)$/, | |
ga, wa = [ | |
["height", "marginTop", "marginBottom", "paddingTop", "paddingBottom"], | |
["width", "marginLeft", "marginRight", "paddingLeft", "paddingRight"], | |
["opacity"] | |
]; | |
c.fn.extend({ | |
show: function (a, b) { | |
if (a || a === 0) return this.animate(S("show", 3), a, b); | |
else { | |
for (var d = 0, e = this.length; d < e; d++) { | |
var f = c.data(this[d], "olddisplay"); | |
this[d].style.display = f || ""; | |
if (c.css(this[d], "display") === "none") { | |
f = this[d].nodeName; | |
var h; | |
if (ta[f]) h = ta[f]; | |
else { | |
var i = c("<" + f + " />").appendTo("body"); | |
h = i.css("display"); | |
if (h === "none") h = "block"; | |
i.remove(); | |
ta[f] = h | |
} | |
c.data(this[d], "olddisplay", h) | |
} | |
} | |
d = 0; | |
for (e = this.length; d < e; d++) this[d].style.display = c.data(this[d], "olddisplay") || ""; | |
return this | |
} | |
}, | |
hide: function (a, b) { | |
if (a || a === 0) return this.animate(S("hide", 3), a, b); | |
else { | |
for (var d = 0, e = this.length; d < e; d++) { | |
var f = c.data(this[d], "olddisplay"); | |
!f && f !== "none" && c.data(this[d], "olddisplay", c.css(this[d], "display")) | |
} | |
d = 0; | |
for (e = this.length; d < e; d++) this[d].style.display = "none"; | |
return this | |
} | |
}, | |
_toggle: c.fn.toggle, | |
toggle: function (a, b) { | |
var d = typeof a === "boolean"; | |
if (c.isFunction(a) && c.isFunction(b)) this._toggle.apply(this, arguments); | |
else a == null || d ? this.each(function () { | |
var e = d ? a : c(this).is(":hidden"); | |
c(this)[e ? | |
"show" : "hide"]() | |
}) : this.animate(S("toggle", 3), a, b); | |
return this | |
}, | |
fadeTo: function (a, b, d) { | |
return this.filter(":hidden").css("opacity", 0).show().end().animate({ | |
opacity: b | |
}, a, d) | |
}, | |
animate: function (a, b, d, e) { | |
var f = c.speed(b, d, e); | |
if (c.isEmptyObject(a)) return this.each(f.complete); | |
return this[f.queue === false ? "each" : "queue"](function () { | |
var h = c.extend({}, f), | |
i, n = this.nodeType === 1 && c(this).is(":hidden"), | |
k = this; | |
for (i in a) { | |
var o = i.replace(qa, ra); | |
if (i !== o) { | |
a[o] = a[i]; | |
delete a[i]; | |
i = o | |
} | |
if (a[i] === "hide" && n || a[i] === "show" && !n) return h.complete.call(this); | |
if ((i === "height" || i === "width") && this.style) { | |
h.display = c.css(this, "display"); | |
h.overflow = this.style.overflow | |
} | |
if (c.isArray(a[i])) { | |
(h.specialEasing = h.specialEasing || {})[i] = a[i][1]; | |
a[i] = a[i][0] | |
} | |
} | |
if (h.overflow != null) this.style.overflow = "hidden"; | |
h.curAnim = c.extend({}, a); | |
c.each(a, function (r, y) { | |
var A = new c.fx(k, h, r); | |
if (Ab.test(y)) A[y === "toggle" ? n ? "show" : "hide" : y](a); | |
else { | |
var C = Bb.exec(y), | |
B = A.cur(true) || 0; | |
if (C) { | |
var F = parseFloat(C[2]), | |
w = C[3] || "px"; | |
if (w !== "px") { | |
k.style[r] = (F || | |
1) + w; | |
B *= (F || 1) / A.cur(true); | |
k.style[r] = B + w | |
} | |
if (C[1]) F = (C[1] === "-=" ? -1 : 1) * F + B; | |
A.custom(B, F, w) | |
} else A.custom(B, y, "") | |
} | |
}); | |
return true | |
}) | |
}, | |
stop: function (a, b) { | |
var d = c.timers; | |
a && this.queue([]); | |
this.each(function () { | |
for (var e = d.length - 1; e >= 0; e--) | |
if (d[e].elem === this) { | |
if (b) d[e](true); | |
d.splice(e, 1) | |
} | |
}); | |
b || this.dequeue(); | |
return this | |
} | |
}); | |
c.each({ | |
slideDown: S("show", 1), | |
slideUp: S("hide", 1), | |
slideToggle: S("toggle", 1), | |
fadeIn: { | |
opacity: "show" | |
}, | |
fadeOut: { | |
opacity: "hide" | |
} | |
}, function (a, b) { | |
c.fn[a] = function (d, e) { | |
return this.animate(b, | |
d, e) | |
} | |
}); | |
c.extend({ | |
speed: function (a, b, d) { | |
var e = a && typeof a === "object" ? a : { | |
complete: d || !d && b || c.isFunction(a) && a, | |
duration: a, | |
easing: d && b || b && !c.isFunction(b) && b | |
}; | |
e.duration = c.fx.off ? 0 : typeof e.duration === "number" ? e.duration : c.fx.speeds[e.duration] || c.fx.speeds._default; | |
e.old = e.complete; | |
e.complete = function () { | |
e.queue !== false && c(this).dequeue(); | |
c.isFunction(e.old) && e.old.call(this) | |
}; | |
return e | |
}, | |
easing: { | |
linear: function (a, b, d, e) { | |
return d + e * a | |
}, | |
swing: function (a, b, d, e) { | |
return (-Math.cos(a * Math.PI) / 2 + 0.5) * e + d | |
} | |
}, | |
timers: [], | |
fx: function (a, b, d) { | |
this.options = b; | |
this.elem = a; | |
this.prop = d; | |
if (!b.orig) b.orig = {} | |
} | |
}); | |
c.fx.prototype = { | |
update: function () { | |
this.options.step && this.options.step.call(this.elem, this.now, this); | |
(c.fx.step[this.prop] || c.fx.step._default)(this); | |
if ((this.prop === "height" || this.prop === "width") && this.elem.style) this.elem.style.display = "block" | |
}, | |
cur: function (a) { | |
if (this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null)) return this.elem[this.prop]; | |
return (a = parseFloat(c.css(this.elem, | |
this.prop, a))) && a > -1E4 ? a : parseFloat(c.curCSS(this.elem, this.prop)) || 0 | |
}, | |
custom: function (a, b, d) { | |
function e(h) { | |
return f.step(h) | |
} | |
this.startTime = I(); | |
this.start = a; | |
this.end = b; | |
this.unit = d || this.unit || "px"; | |
this.now = this.start; | |
this.pos = this.state = 0; | |
var f = this; | |
e.elem = this.elem; | |
if (e() && c.timers.push(e) && !ga) ga = setInterval(c.fx.tick, 13) | |
}, | |
show: function () { | |
this.options.orig[this.prop] = c.style(this.elem, this.prop); | |
this.options.show = true; | |
this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur()); | |
c(this.elem).show() | |
}, | |
hide: function () { | |
this.options.orig[this.prop] = c.style(this.elem, this.prop); | |
this.options.hide = true; | |
this.custom(this.cur(), 0) | |
}, | |
step: function (a) { | |
var b = I(), | |
d = true; | |
if (a || b >= this.options.duration + this.startTime) { | |
this.now = this.end; | |
this.pos = this.state = 1; | |
this.update(); | |
this.options.curAnim[this.prop] = true; | |
for (var e in this.options.curAnim) | |
if (this.options.curAnim[e] !== true) d = false; | |
if (d) { | |
if (this.options.display != null) { | |
this.elem.style.overflow = this.options.overflow; | |
a = c.data(this.elem, "olddisplay"); | |
this.elem.style.display = | |
a ? a : this.options.display; | |
if (c.css(this.elem, "display") === "none") this.elem.style.display = "block" | |
} | |
this.options.hide && c(this.elem).hide(); | |
if (this.options.hide || this.options.show) | |
for (var f in this.options.curAnim) c.style(this.elem, f, this.options.orig[f]); | |
this.options.complete.call(this.elem) | |
} | |
return false | |
} else { | |
f = b - this.startTime; | |
this.state = f / this.options.duration; | |
a = this.options.easing || (c.easing.swing ? "swing" : "linear"); | |
this.pos = c.easing[this.options.specialEasing && this.options.specialEasing[this.prop] || | |
a](this.state, f, 0, 1, this.options.duration); | |
this.now = this.start + (this.end - this.start) * this.pos; | |
this.update() | |
} | |
return true | |
} | |
}; | |
c.extend(c.fx, { | |
tick: function () { | |
for (var a = c.timers, b = 0; b < a.length; b++) a[b]() || a.splice(b--, 1); | |
a.length || c.fx.stop() | |
}, | |
stop: function () { | |
clearInterval(ga); | |
ga = null | |
}, | |
speeds: { | |
slow: 600, | |
fast: 200, | |
_default: 400 | |
}, | |
step: { | |
opacity: function (a) { | |
c.style(a.elem, "opacity", a.now) | |
}, | |
_default: function (a) { | |
if (a.elem.style && a.elem.style[a.prop] != null) a.elem.style[a.prop] = (a.prop === "width" || a.prop === "height" ? | |
Math.max(0, a.now) : a.now) + a.unit; | |
else a.elem[a.prop] = a.now | |
} | |
} | |
}); | |
if (c.expr && c.expr.filters) c.expr.filters.animated = function (a) { | |
return c.grep(c.timers, function (b) { | |
return a === b.elem | |
}).length | |
}; | |
c.fn.offset = "getBoundingClientRect" in s.documentElement ? function (a) { | |
var b = this[0]; | |
if (a) return this.each(function (f) { | |
c.offset.setOffset(this, a, f) | |
}); | |
if (!b || !b.ownerDocument) return null; | |
if (b === b.ownerDocument.body) return c.offset.bodyOffset(b); | |
var d = b.getBoundingClientRect(), | |
e = b.ownerDocument; | |
b = e.body; | |
e = e.documentElement; | |
return { | |
top: d.top + (self.pageYOffset || c.support.boxModel && e.scrollTop || b.scrollTop) - (e.clientTop || b.clientTop || 0), | |
left: d.left + (self.pageXOffset || c.support.boxModel && e.scrollLeft || b.scrollLeft) - (e.clientLeft || b.clientLeft || 0) | |
} | |
} : function (a) { | |
var b = this[0]; | |
if (a) return this.each(function (o) { | |
c.offset.setOffset(this, a, o) | |
}); | |
if (!b || !b.ownerDocument) return null; | |
if (b === b.ownerDocument.body) return c.offset.bodyOffset(b); | |
c.offset.initialize(); | |
var d = b.offsetParent, | |
e = b.ownerDocument, | |
f, h = e.documentElement, | |
i = e.body; | |
f = (e = e.defaultView) ? e.getComputedStyle(b, null) : b.currentStyle; | |
for (var n = b.offsetTop, k = b.offsetLeft; | |
(b = b.parentNode) && b !== i && b !== h;) { | |
if (c.offset.supportsFixedPosition && f.position === "fixed") break; | |
f = e ? e.getComputedStyle(b, null) : b.currentStyle; | |
n -= b.scrollTop; | |
k -= b.scrollLeft; | |
if (b === d) { | |
n += b.offsetTop; | |
k += b.offsetLeft; | |
if (c.offset.doesNotAddBorder && !(c.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(b.nodeName))) { | |
n += parseFloat(f.borderTopWidth) || 0; | |
k += parseFloat(f.borderLeftWidth) || 0 | |
} | |
d = b.offsetParent | |
} | |
if (c.offset.subtractsBorderForOverflowNotVisible && | |
f.overflow !== "visible") { | |
n += parseFloat(f.borderTopWidth) || 0; | |
k += parseFloat(f.borderLeftWidth) || 0 | |
} | |
} | |
if (f.position === "relative" || f.position === "static") { | |
n += i.offsetTop; | |
k += i.offsetLeft | |
} | |
if (c.offset.supportsFixedPosition && f.position === "fixed") { | |
n += Math.max(h.scrollTop, i.scrollTop); | |
k += Math.max(h.scrollLeft, i.scrollLeft) | |
} | |
return { | |
top: n, | |
left: k | |
} | |
}; | |
c.offset = { | |
initialize: function () { | |
var a = s.body, | |
b = s.createElement("div"), | |
d, e, f, h = parseFloat(c.curCSS(a, "marginTop", true)) || 0; | |
c.extend(b.style, { | |
position: "absolute", | |
top: 0, | |
left: 0, | |
margin: 0, | |
border: 0, | |
width: "1px", | |
height: "1px", | |
visibility: "hidden" | |
}); | |
b.innerHTML = "<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>"; | |
a.insertBefore(b, a.firstChild); | |
d = b.firstChild; | |
e = d.firstChild; | |
f = d.nextSibling.firstChild.firstChild; | |
this.doesNotAddBorder = e.offsetTop !== | |
5; | |
this.doesAddBorderForTableAndCells = f.offsetTop === 5; | |
e.style.position = "fixed"; | |
e.style.top = "20px"; | |
this.supportsFixedPosition = e.offsetTop === 20 || e.offsetTop === 15; | |
e.style.position = e.style.top = ""; | |
d.style.overflow = "hidden"; | |
d.style.position = "relative"; | |
this.subtractsBorderForOverflowNotVisible = e.offsetTop === -5; | |
this.doesNotIncludeMarginInBodyOffset = a.offsetTop !== h; | |
a.removeChild(b); | |
c.offset.initialize = c.noop | |
}, | |
bodyOffset: function (a) { | |
var b = a.offsetTop, | |
d = a.offsetLeft; | |
c.offset.initialize(); | |
if (c.offset.doesNotIncludeMarginInBodyOffset) { | |
b += | |
parseFloat(c.curCSS(a, "marginTop", true)) || 0; | |
d += parseFloat(c.curCSS(a, "marginLeft", true)) || 0 | |
} | |
return { | |
top: b, | |
left: d | |
} | |
}, | |
setOffset: function (a, b, d) { | |
if (/static/.test(c.curCSS(a, "position"))) a.style.position = "relative"; | |
var e = c(a), | |
f = e.offset(), | |
h = parseInt(c.curCSS(a, "top", true), 10) || 0, | |
i = parseInt(c.curCSS(a, "left", true), 10) || 0; | |
if (c.isFunction(b)) b = b.call(a, d, f); | |
d = { | |
top: b.top - f.top + h, | |
left: b.left - f.left + i | |
}; | |
"using" in b ? b.using.call(a, d) : e.css(d) | |
} | |
}; | |
c.fn.extend({ | |
position: function () { | |
if (!this[0]) return null; | |
var a = this[0], | |
b = this.offsetParent(), | |
d = this.offset(), | |
e = /^body|html$/i.test(b[0].nodeName) ? { | |
top: 0, | |
left: 0 | |
} : b.offset(); | |
d.top -= parseFloat(c.curCSS(a, "marginTop", true)) || 0; | |
d.left -= parseFloat(c.curCSS(a, "marginLeft", true)) || 0; | |
e.top += parseFloat(c.curCSS(b[0], "borderTopWidth", true)) || 0; | |
e.left += parseFloat(c.curCSS(b[0], "borderLeftWidth", true)) || 0; | |
return { | |
top: d.top - e.top, | |
left: d.left - e.left | |
} | |
}, | |
offsetParent: function () { | |
return this.map(function () { | |
for (var a = this.offsetParent || s.body; a && !/^body|html$/i.test(a.nodeName) && c.css(a, | |
"position") === "static";) a = a.offsetParent; | |
return a | |
}) | |
} | |
}); | |
c.each(["Left", "Top"], function (a, b) { | |
var d = "scroll" + b; | |
c.fn[d] = function (e) { | |
var f = this[0], | |
h; | |
if (!f) return null; | |
if (e !== v) return this.each(function () { | |
if (h = xa(this)) h.scrollTo(!a ? e : c(h).scrollLeft(), a ? e : c(h).scrollTop()); | |
else this[d] = e | |
}); | |
else return (h = xa(f)) ? "pageXOffset" in h ? h[a ? "pageYOffset" : "pageXOffset"] : c.support.boxModel && h.document.documentElement[d] || h.document.body[d] : f[d] | |
} | |
}); | |
c.each(["Height", "Width"], function (a, b) { | |
var d = b.toLowerCase(); | |
c.fn["inner" + | |
b] = function () { | |
return this[0] ? c.css(this[0], d, false, "padding") : null | |
}; | |
c.fn["outer" + b] = function (e) { | |
return this[0] ? c.css(this[0], d, false, e ? "margin" : "border") : null | |
}; | |
c.fn[d] = function (e) { | |
var f = this[0]; | |
if (!f) return e == null ? null : this; | |
if (c.isFunction(e)) return this.each(function (h) { | |
var i = c(this); | |
i[d](e.call(this, h, i[d]())) | |
}); | |
return "scrollTo" in f && f.document ? f.document.compatMode === "CSS1Compat" && f.document.documentElement["client" + b] || f.document.body["client" + b] : f.nodeType === 9 ? Math.max(f.documentElement["client" + | |
b], f.body["scroll" + b], f.documentElement["scroll" + b], f.body["offset" + b], f.documentElement["offset" + b]) : e === v ? c.css(f, d) : this.css(d, typeof e === "string" ? e : e + "px") | |
} | |
}); | |
x.jQuery = x.$ = c | |
})(window); | |
(function (x) { | |
var v, P, ca = 1, | |
L, I = this, | |
Q, R = I.postMessage && !x.browser.opera; | |
x.postMessage = function (D, E, K) { | |
if (E) { | |
D = typeof D === "string" ? D : x.param(D); | |
K = K || parent; | |
if (R) K.postMessage(D, E.replace(/([^:]+:\/\/[^\/]+).*/, "$1")); | |
else if (E) K.location = E.replace(/#.*$/, "") + "#" + +new Date + ca+++"&" + D | |
} | |
}; | |
x.receiveMessage = Q = function (D, E, K) { | |
if (R) { | |
if (D) { | |
L && Q(); | |
L = function (J) { | |
if (typeof E === "string" && J.origin !== E || x.isFunction(E) && E(J.origin) === false) return false; | |
D(J) | |
} | |
} | |
if (I.addEventListener) I[D ? "addEventListener" : "removeEventListener"]("message", | |
L, false); | |
else I[D ? "attachEvent" : "detachEvent"]("onmessage", L) | |
} else { | |
v && clearInterval(v); | |
v = null; | |
if (D) v = setInterval(function () { | |
var J = document.location.hash, | |
X = /^#?\d+&/; | |
if (J !== P && X.test(J)) { | |
P = J; | |
D({ | |
data: J.replace(X, "") | |
}) | |
} | |
}, typeof E === "number" ? E : typeof K === "number" ? K : 100) | |
} | |
} | |
})(jQuery); | |
$(document).ready(function () { | |
$("#secondary_password_tr").hide(); | |
$('<iframe id="tp_frame" width="100%" height="100%" border="0" frameborder="0" allowtransparency="true" />').prependTo("#form_panel"); | |
$("#tp_frame").hide(); | |
$.receiveMessage(function (x) { | |
x = x.data; | |
var v = x.split("|"), | |
P = v[0]; | |
$("#secondary_password_input").val(x); | |
if (P == "INIT") { | |
var ca = v[1]; | |
x = $("#unicorn_form").serialize(); | |
$.post($("#unicorn_form").attr("action"), x, function () { | |
$("#unicorn_form").hide(); | |
$("#tp_frame").show(); | |
var L = "https://api-77a304e5.duosecurity.com/frame/cisco/v1/auth?" + | |
$.param({ | |
user: $("#username").val().toLowerCase(), | |
ikey: "DAAARZ40ADZ401286AZC", | |
nonce: ca, | |
parent: document.location.href | |
}); | |
$("#tp_frame").attr("src", L) | |
}) | |
} else { | |
$("#unicorn_form").unbind("submit"); | |
$("#unicorn_form").submit() | |
} | |
}, "https://api-77a304e5.duosecurity.com"); | |
$("#unicorn_form").submit(function () { | |
$("input[type=submit]").attr("disabled", "true"); | |
var x = "https://api-77a3afe5.duosecurity.com/frame/cisco/v1/init?" + $.param({ | |
_: Number(new Date), | |
parent: document.location.href | |
}); | |
$("#tp_frame").attr("src", x); | |
return false | |
}) | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment