coveo-search-ui-tests
Version:
Testing framework for the Coveo JavaScript Search Framework
1,615 lines • 178 kB
JavaScript
/**
* Created by olamothe on 2016-05-16.
*/
/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery.min.map
*/ (function(
e,
t
) {
var n,
r,
i = typeof t,
o = e.document,
a = e.location,
s = e.jQuery,
u = e.$,
l = {},
c = [],
p = "1.9.1",
f = c.concat,
d = c.push,
h = c.slice,
g = c.indexOf,
m = l.toString,
y = l.hasOwnProperty,
v = p.trim,
b = function(e, t) {
return new b.fn.init(e, t, r);
},
x = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
w = /\S+/g,
T = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
N = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,
C = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
k = /^[\],:{}\s]*$/,
E = /(?:^|:|,)(?:\s*\[)+/g,
S = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,
A = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,
j = /^-ms-/,
D = /-([\da-z])/gi,
L = function(e, t) {
return t.toUpperCase();
},
H = function(e) {
(o.addEventListener ||
"load" === e.type ||
"complete" === o.readyState) &&
(q(), b.ready());
},
q = function() {
o.addEventListener
? (o.removeEventListener("DOMContentLoaded", H, !1),
e.removeEventListener("load", H, !1))
: (o.off("onreadystatechange", H), e.detachEvent("onload", H));
};
(b.fn = b.prototype = {
jquery: p,
constructor: b,
init: function(e, n, r) {
var i, a;
if (!e) return this;
if ("string" == typeof e) {
if (
((i =
"<" === e.charAt(0) &&
">" === e.charAt(e.length - 1) &&
e.length >= 3
? [null, e, null]
: N.exec(e)),
!i || (!i[1] && n))
)
return !n || n.jquery
? (n || r).find(e)
: this.constructor(n).find(e);
if (i[1]) {
if (
((n = n instanceof b ? n[0] : n),
b.merge(
this,
b.parseHTML(i[1], n && n.nodeType ? n.ownerDocument || n : o, !0)
),
C.test(i[1]) && b.isPlainObject(n))
)
for (i in n)
b.isFunction(this[i]) ? this[i](n[i]) : this.attr(i, n[i]);
return this;
}
if (((a = o.getElementById(i[2])), a && a.parentNode)) {
if (a.id !== i[2]) return r.find(e);
(this.length = 1), (this[0] = a);
}
return (this.context = o), (this.selector = e), this;
}
return e.nodeType
? ((this.context = this[0] = e), (this.length = 1), this)
: b.isFunction(e)
? r.ready(e)
: (e.selector !== t &&
((this.selector = e.selector), (this.context = e.context)),
b.makeArray(e, this));
},
selector: "",
length: 0,
size: function() {
return this.length;
},
toArray: function() {
return h.call(this);
},
get: function(e) {
return null == e
? this.toArray()
: 0 > e ? this[this.length + e] : this[e];
},
pushStack: function(e) {
var t = b.merge(this.constructor(), e);
return (t.prevObject = this), (t.context = this.context), t;
},
each: function(e, t) {
return b.each(this, e, t);
},
ready: function(e) {
return b.ready.promise().done(e), this;
},
slice: function() {
return this.pushStack(h.apply(this, arguments));
},
first: function() {
return this.eq(0);
},
last: function() {
return this.eq(-1);
},
eq: function(e) {
var t = this.length,
n = +e + (0 > e ? t : 0);
return this.pushStack(n >= 0 && t > n ? [this[n]] : []);
},
map: function(e) {
return this.pushStack(
b.map(this, function(t, n) {
return e.call(t, n, t);
})
);
},
end: function() {
return this.prevObject || this.constructor(null);
},
push: d,
sort: [].sort,
splice: [].splice
}),
(b.fn.init.prototype = b.fn),
(b.extend = b.fn.extend = function() {
var e,
n,
r,
i,
o,
a,
s = arguments[0] || {},
u = 1,
l = arguments.length,
c = !1;
for (
"boolean" == typeof s && ((c = s), (s = arguments[1] || {}), (u = 2)),
"object" == typeof s || b.isFunction(s) || (s = {}),
l === u && ((s = this), --u);
l > u;
u++
)
if (null != (o = arguments[u]))
for (i in o)
(e = s[i]),
(r = o[i]),
s !== r &&
(c && r && (b.isPlainObject(r) || (n = b.isArray(r)))
? (n
? ((n = !1), (a = e && b.isArray(e) ? e : []))
: (a = e && b.isPlainObject(e) ? e : {}),
(s[i] = b.extend(c, a, r)))
: r !== t && (s[i] = r));
return s;
}),
b.extend({
noConflict: function(t) {
return e.$ === b && (e.$ = u), t && e.jQuery === b && (e.jQuery = s), b;
},
isReady: !1,
readyWait: 1,
holdReady: function(e) {
e ? b.readyWait++ : b.ready(!0);
},
ready: function(e) {
if (e === !0 ? !--b.readyWait : !b.isReady) {
if (!o.body) return setTimeout(b.ready);
(b.isReady = !0),
(e !== !0 && --b.readyWait > 0) ||
(n.resolveWith(o, [b]),
b.fn.trigger &&
b(o)
.trigger("ready")
.off("ready"));
}
},
isFunction: function(e) {
return "function" === b.type(e);
},
isArray:
Array.isArray ||
function(e) {
return "array" === b.type(e);
},
isWindow: function(e) {
return null != e && e == e.window;
},
isNumeric: function(e) {
return !isNaN(parseFloat(e)) && isFinite(e);
},
type: function(e) {
return null == e
? e + ""
: "object" == typeof e || "function" == typeof e
? l[m.call(e)] || "object"
: typeof e;
},
isPlainObject: function(e) {
if (!e || "object" !== b.type(e) || e.nodeType || b.isWindow(e))
return !1;
try {
if (
e.constructor &&
!y.call(e, "constructor") &&
!y.call(e.constructor.prototype, "isPrototypeOf")
)
return !1;
} catch (n) {
return !1;
}
var r;
for (r in e);
return r === t || y.call(e, r);
},
isEmptyObject: function(e) {
var t;
for (t in e) return !1;
return !0;
},
error: function(e) {
throw Error(e);
},
parseHTML: function(e, t, n) {
if (!e || "string" != typeof e) return null;
"boolean" == typeof t && ((n = t), (t = !1)), (t = t || o);
var r = C.exec(e),
i = !n && [];
return r
? [t.createElement(r[1])]
: ((r = b.buildFragment([e], t, i)),
i && b(i).remove(),
b.merge([], r.childNodes));
},
parseJSON: function(n) {
return e.JSON && e.JSON.parse
? e.JSON.parse(n)
: null === n
? n
: "string" == typeof n &&
((n = b.trim(n)),
n &&
k.test(
n
.replace(S, "@")
.replace(A, "]")
.replace(E, "")
))
? Function("return " + n)()
: (b.error("Invalid JSON: " + n), t);
},
parseXML: function(n) {
var r, i;
if (!n || "string" != typeof n) return null;
try {
e.DOMParser
? ((i = new DOMParser()), (r = i.parseFromString(n, "text/xml")))
: ((r = new ActiveXObject("Microsoft.XMLDOM")),
(r.async = "false"),
r.loadXML(n));
} catch (o) {
r = t;
}
return (
(r &&
r.documentElement &&
!r.getElementsByTagName("parsererror").length) ||
b.error("Invalid XML: " + n),
r
);
},
noop: function() {},
globalEval: function(t) {
t &&
b.trim(t) &&
(e.execScript ||
function(t) {
e.eval.call(e, t);
})(t);
},
camelCase: function(e) {
return e.replace(j, "ms-").replace(D, L);
},
nodeName: function(e, t) {
return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase();
},
each: function(e, t, n) {
var r,
i = 0,
o = e.length,
a = M(e);
if (n) {
if (a) {
for (; o > i; i++) if (((r = t.apply(e[i], n)), r === !1)) break;
} else for (i in e) if (((r = t.apply(e[i], n)), r === !1)) break;
} else if (a) {
for (; o > i; i++) if (((r = t.call(e[i], i, e[i])), r === !1)) break;
} else for (i in e) if (((r = t.call(e[i], i, e[i])), r === !1)) break;
return e;
},
trim:
v && !v.call("\ufeff\u00a0")
? function(e) {
return null == e ? "" : v.call(e);
}
: function(e) {
return null == e ? "" : (e + "").replace(T, "");
},
makeArray: function(e, t) {
var n = t || [];
return (
null != e &&
(M(Object(e))
? b.merge(n, "string" == typeof e ? [e] : e)
: d.call(n, e)),
n
);
},
inArray: function(e, t, n) {
var r;
if (t) {
if (g) return g.call(t, e, n);
for (
r = t.length, n = n ? (0 > n ? Math.max(0, r + n) : n) : 0;
r > n;
n++
)
if (n in t && t[n] === e) return n;
}
return -1;
},
merge: function(e, n) {
var r = n.length,
i = e.length,
o = 0;
if ("number" == typeof r) for (; r > o; o++) e[i++] = n[o];
else while (n[o] !== t) e[i++] = n[o++];
return (e.length = i), e;
},
grep: function(e, t, n) {
var r,
i = [],
o = 0,
a = e.length;
for (n = !!n; a > o; o++) (r = !!t(e[o], o)), n !== r && i.push(e[o]);
return i;
},
map: function(e, t, n) {
var r,
i = 0,
o = e.length,
a = M(e),
s = [];
if (a)
for (; o > i; i++)
(r = t(e[i], i, n)), null != r && (s[s.length] = r);
else for (i in e) (r = t(e[i], i, n)), null != r && (s[s.length] = r);
return f.apply([], s);
},
guid: 1,
proxy: function(e, n) {
var r, i, o;
return (
"string" == typeof n && ((o = e[n]), (n = e), (e = o)),
b.isFunction(e)
? ((r = h.call(arguments, 2)),
(i = function() {
return e.apply(n || this, r.concat(h.call(arguments)));
}),
(i.guid = e.guid = e.guid || b.guid++),
i)
: t
);
},
access: function(e, n, r, i, o, a, s) {
var u = 0,
l = e.length,
c = null == r;
if ("object" === b.type(r)) {
o = !0;
for (u in r) b.access(e, n, u, r[u], !0, a, s);
} else if (
i !== t &&
((o = !0),
b.isFunction(i) || (s = !0),
c &&
(s
? (n.call(e, i), (n = null))
: ((c = n),
(n = function(e, t, n) {
return c.call(b(e), n);
}))),
n)
)
for (; l > u; u++) n(e[u], r, s ? i : i.call(e[u], u, n(e[u], r)));
return o ? e : c ? n.call(e) : l ? n(e[0], r) : a;
},
now: function() {
return new Date().getTime();
}
}),
(b.ready.promise = function(t) {
if (!n)
if (((n = b.Deferred()), "complete" === o.readyState))
setTimeout(b.ready);
else if (o.addEventListener)
o.addEventListener("DOMContentLoaded", H, !1),
e.addEventListener("load", H, !1);
else {
o.on("onreadystatechange", H), e.attachEvent("onload", H);
var r = !1;
try {
r = null == e.frameElement && o.documentElement;
} catch (i) {}
r &&
r.doScroll &&
(function a() {
if (!b.isReady) {
try {
r.doScroll("left");
} catch (e) {
return setTimeout(a, 50);
}
q(), b.ready();
}
})();
}
return n.promise(t);
}),
b.each(
"Boolean Number String Function Array Date RegExp Object Error".split(
" "
),
function(e, t) {
l["[object " + t + "]"] = t.toLowerCase();
}
);
function M(e) {
var t = e.length,
n = b.type(e);
return b.isWindow(e)
? !1
: 1 === e.nodeType && t
? !0
: "array" === n ||
("function" !== n &&
(0 === t || ("number" == typeof t && t > 0 && t - 1 in e)));
}
r = b(o);
var _ = {};
function F(e) {
var t = (_[e] = {});
return (
b.each(e.match(w) || [], function(e, n) {
t[n] = !0;
}),
t
);
}
(b.Callbacks = function(e) {
e = "string" == typeof e ? _[e] || F(e) : b.extend({}, e);
var n,
r,
i,
o,
a,
s,
u = [],
l = !e.once && [],
c = function(t) {
for (
r = e.memory && t, i = !0, a = s || 0, s = 0, o = u.length, n = !0;
u && o > a;
a++
)
if (u[a].apply(t[0], t[1]) === !1 && e.stopOnFalse) {
r = !1;
break;
}
(n = !1),
u && (l ? l.length && c(l.shift()) : r ? (u = []) : p.disable());
},
p = {
add: function() {
if (u) {
var t = u.length;
(function i(t) {
b.each(t, function(t, n) {
var r = b.type(n);
"function" === r
? (e.unique && p.has(n)) || u.push(n)
: n && n.length && "string" !== r && i(n);
});
})(arguments),
n ? (o = u.length) : r && ((s = t), c(r));
}
return this;
},
remove: function() {
return (
u &&
b.each(arguments, function(e, t) {
var r;
while ((r = b.inArray(t, u, r)) > -1)
u.splice(r, 1), n && (o >= r && o--, a >= r && a--);
}),
this
);
},
has: function(e) {
return e ? b.inArray(e, u) > -1 : !(!u || !u.length);
},
empty: function() {
return (u = []), this;
},
disable: function() {
return (u = l = r = t), this;
},
disabled: function() {
return !u;
},
lock: function() {
return (l = t), r || p.disable(), this;
},
locked: function() {
return !l;
},
fireWith: function(e, t) {
return (
(t = t || []),
(t = [e, t.slice ? t.slice() : t]),
!u || (i && !l) || (n ? l.push(t) : c(t)),
this
);
},
fire: function() {
return p.fireWith(this, arguments), this;
},
fired: function() {
return !!i;
}
};
return p;
}),
b.extend({
Deferred: function(e) {
var t = [
["resolve", "done", b.Callbacks("once memory"), "resolved"],
["reject", "fail", b.Callbacks("once memory"), "rejected"],
["notify", "progress", b.Callbacks("memory")]
],
n = "pending",
r = {
state: function() {
return n;
},
always: function() {
return i.done(arguments).fail(arguments), this;
},
then: function() {
var e = arguments;
return b
.Deferred(function(n) {
b.each(t, function(t, o) {
var a = o[0],
s = b.isFunction(e[t]) && e[t];
i[o[1]](function() {
var e = s && s.apply(this, arguments);
e && b.isFunction(e.promise)
? e
.promise()
.done(n.resolve)
.fail(n.reject)
.progress(n.notify)
: n[a + "With"](
this === r ? n.promise() : this,
s ? [e] : arguments
);
});
}),
(e = null);
})
.promise();
},
promise: function(e) {
return null != e ? b.extend(e, r) : r;
}
},
i = {};
return (
(r.pipe = r.then),
b.each(t, function(e, o) {
var a = o[2],
s = o[3];
(r[o[1]] = a.add),
s &&
a.add(
function() {
n = s;
},
t[1 ^ e][2].disable,
t[2][2].lock
),
(i[o[0]] = function() {
return i[o[0] + "With"](this === i ? r : this, arguments), this;
}),
(i[o[0] + "With"] = a.fireWith);
}),
r.promise(i),
e && e.call(i, i),
i
);
},
when: function(e) {
var t = 0,
n = h.call(arguments),
r = n.length,
i = 1 !== r || (e && b.isFunction(e.promise)) ? r : 0,
o = 1 === i ? e : b.Deferred(),
a = function(e, t, n) {
return function(r) {
(t[e] = this),
(n[e] = arguments.length > 1 ? h.call(arguments) : r),
n === s ? o.notifyWith(t, n) : --i || o.resolveWith(t, n);
};
},
s,
u,
l;
if (r > 1)
for (s = Array(r), u = Array(r), l = Array(r); r > t; t++)
n[t] && b.isFunction(n[t].promise)
? n[t]
.promise()
.done(a(t, l, n))
.fail(o.reject)
.progress(a(t, u, s))
: --i;
return i || o.resolveWith(l, n), o.promise();
}
}),
(b.support = (function() {
var t,
n,
r,
a,
s,
u,
l,
c,
p,
f,
d = o.createElement("div");
if (
(d.setAttribute("className", "t"),
(d.innerHTML =
" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"),
(n = d.getElementsByTagName("*")),
(r = d.getElementsByTagName("a")[0]),
!n || !r || !n.length)
)
return {};
(s = o.createElement("select")),
(l = s.appendChild(o.createElement("option"))),
(a = d.getElementsByTagName("input")[0]),
(r.style.cssText = "top:1px;float:left;opacity:.5"),
(t = {
getSetAttribute: "t" !== d.className,
leadingWhitespace: 3 === d.firstChild.nodeType,
tbody: !d.getElementsByTagName("tbody").length,
htmlSerialize: !!d.getElementsByTagName("link").length,
style: /top/.test(r.getAttribute("style")),
hrefNormalized: "/a" === r.getAttribute("href"),
opacity: /^0.5/.test(r.style.opacity),
cssFloat: !!r.style.cssFloat,
checkOn: !!a.value,
optSelected: l.selected,
enctype: !!o.createElement("form").enctype,
html5Clone:
"<:nav></:nav>" !== o.createElement("nav").cloneNode(!0).outerHTML,
boxModel: "CSS1Compat" === o.compatMode,
deleteExpando: !0,
noCloneEvent: !0,
inlineBlockNeedsLayout: !1,
shrinkWrapBlocks: !1,
reliableMarginRight: !0,
boxSizingReliable: !0,
pixelPosition: !1
}),
(a.checked = !0),
(t.noCloneChecked = a.cloneNode(!0).checked),
(s.disabled = !0),
(t.optDisabled = !l.disabled);
try {
delete d.test;
} catch (h) {
t.deleteExpando = !1;
}
(a = o.createElement("input")),
a.setAttribute("value", ""),
(t.input = "" === a.getAttribute("value")),
(a.value = "t"),
a.setAttribute("type", "radio"),
(t.radioValue = "t" === a.value),
a.setAttribute("checked", "t"),
a.setAttribute("name", "t"),
(u = o.createDocumentFragment()),
u.appendChild(a),
(t.appendChecked = a.checked),
(t.checkClone = u.cloneNode(!0).cloneNode(!0).lastChild.checked),
d.on &&
(d.on("onclick", function() {
t.noCloneEvent = !1;
}),
d.cloneNode(!0).click());
for (f in { submit: !0, change: !0, focusin: !0 })
d.setAttribute((c = "on" + f), "t"),
(t[f + "Bubbles"] = c in e || d.attributes[c].expando === !1);
return (
(d.style.backgroundClip = "content-box"),
(d.cloneNode(!0).style.backgroundClip = ""),
(t.clearCloneStyle = "content-box" === d.style.backgroundClip),
b(function() {
var n,
r,
a,
s =
"padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",
u = o.getElementsByTagName("body")[0];
u &&
((n = o.createElement("div")),
(n.style.cssText =
"border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px"),
u.appendChild(n).appendChild(d),
(d.innerHTML = "<table><tr><td></td><td>t</td></tr></table>"),
(a = d.getElementsByTagName("td")),
(a[0].style.cssText = "padding:0;margin:0;border:0;display:none"),
(p = 0 === a[0].offsetHeight),
(a[0].style.display = ""),
(a[1].style.display = "none"),
(t.reliableHiddenOffsets = p && 0 === a[0].offsetHeight),
(d.innerHTML = ""),
(d.style.cssText =
"box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;"),
(t.boxSizing = 4 === d.offsetWidth),
(t.doesNotIncludeMarginInBodyOffset = 1 !== u.offsetTop),
e.getComputedStyle &&
((t.pixelPosition =
"1%" !== (e.getComputedStyle(d, null) || {}).top),
(t.boxSizingReliable =
"4px" ===
(e.getComputedStyle(d, null) || { width: "4px" }).width),
(r = d.appendChild(o.createElement("div"))),
(r.style.cssText = d.style.cssText = s),
(r.style.marginRight = r.style.width = "0"),
(d.style.width = "1px"),
(t.reliableMarginRight = !parseFloat(
(e.getComputedStyle(r, null) || {}).marginRight
))),
typeof d.style.zoom !== i &&
((d.innerHTML = ""),
(d.style.cssText =
s + "width:1px;padding:1px;display:inline;zoom:1"),
(t.inlineBlockNeedsLayout = 3 === d.offsetWidth),
(d.style.display = "block"),
(d.innerHTML = "<div></div>"),
(d.firstChild.style.width = "5px"),
(t.shrinkWrapBlocks = 3 !== d.offsetWidth),
t.inlineBlockNeedsLayout && (u.style.zoom = 1)),
u.removeChild(n),
(n = d = a = r = null));
}),
(n = s = u = l = r = a = null),
t
);
})());
var O = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/,
B = /([A-Z])/g;
function P(e, n, r, i) {
if (b.acceptData(e)) {
var o,
a,
s = b.expando,
u = "string" == typeof n,
l = e.nodeType,
p = l ? b.cache : e,
f = l ? e[s] : e[s] && s;
if ((f && p[f] && (i || p[f].data)) || !u || r !== t)
return (
f || (l ? (e[s] = f = c.pop() || b.guid++) : (f = s)),
p[f] || ((p[f] = {}), l || (p[f].toJSON = b.noop)),
("object" == typeof n || "function" == typeof n) &&
(i
? (p[f] = b.extend(p[f], n))
: (p[f].data = b.extend(p[f].data, n))),
(o = p[f]),
i || (o.data || (o.data = {}), (o = o.data)),
r !== t && (o[b.camelCase(n)] = r),
u ? ((a = o[n]), null == a && (a = o[b.camelCase(n)])) : (a = o),
a
);
}
}
function R(e, t, n) {
if (b.acceptData(e)) {
var r,
i,
o,
a = e.nodeType,
s = a ? b.cache : e,
u = a ? e[b.expando] : b.expando;
if (s[u]) {
if (t && (o = n ? s[u] : s[u].data)) {
b.isArray(t)
? (t = t.concat(b.map(t, b.camelCase)))
: t in o
? (t = [t])
: ((t = b.camelCase(t)), (t = t in o ? [t] : t.split(" ")));
for (r = 0, i = t.length; i > r; r++) delete o[t[r]];
if (!(n ? $ : b.isEmptyObject)(o)) return;
}
(n || (delete s[u].data, $(s[u]))) &&
(a
? b.cleanData([e], !0)
: b.support.deleteExpando || s != s.window
? delete s[u]
: (s[u] = null));
}
}
}
b.extend({
cache: {},
expando: "jQuery" + (p + Math.random()).replace(/\D/g, ""),
noData: {
embed: !0,
object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
applet: !0
},
hasData: function(e) {
return (
(e = e.nodeType ? b.cache[e[b.expando]] : e[b.expando]), !!e && !$(e)
);
},
data: function(e, t, n) {
return P(e, t, n);
},
removeData: function(e, t) {
return R(e, t);
},
_data: function(e, t, n) {
return P(e, t, n, !0);
},
_removeData: function(e, t) {
return R(e, t, !0);
},
acceptData: function(e) {
if (e.nodeType && 1 !== e.nodeType && 9 !== e.nodeType) return !1;
var t = e.nodeName && b.noData[e.nodeName.toLowerCase()];
return !t || (t !== !0 && e.getAttribute("classid") === t);
}
}),
b.fn.extend({
data: function(e, n) {
var r,
i,
o = this[0],
a = 0,
s = null;
if (e === t) {
if (
this.length &&
((s = b.data(o)), 1 === o.nodeType && !b._data(o, "parsedAttrs"))
) {
for (r = o.attributes; r.length > a; a++)
(i = r[a].name),
i.indexOf("data-") ||
((i = b.camelCase(i.slice(5))), W(o, i, s[i]));
b._data(o, "parsedAttrs", !0);
}
return s;
}
return "object" == typeof e
? this.each(function() {
b.data(this, e);
})
: b.access(
this,
function(n) {
return n === t
? o ? W(o, e, b.data(o, e)) : null
: (this.each(function() {
b.data(this, e, n);
}),
t);
},
null,
n,
arguments.length > 1,
null,
!0
);
},
removeData: function(e) {
return this.each(function() {
b.removeData(this, e);
});
}
});
function W(e, n, r) {
if (r === t && 1 === e.nodeType) {
var i = "data-" + n.replace(B, "-$1").toLowerCase();
if (((r = e.getAttribute(i)), "string" == typeof r)) {
try {
r =
"true" === r
? !0
: "false" === r
? !1
: "null" === r
? null
: +r + "" === r ? +r : O.test(r) ? b.parseJSON(r) : r;
} catch (o) {}
b.data(e, n, r);
} else r = t;
}
return r;
}
function $(e) {
var t;
for (t in e)
if (("data" !== t || !b.isEmptyObject(e[t])) && "toJSON" !== t) return !1;
return !0;
}
b.extend({
queue: function(e, n, r) {
var i;
return e
? ((n = (n || "fx") + "queue"),
(i = b._data(e, n)),
r &&
(!i || b.isArray(r)
? (i = b._data(e, n, b.makeArray(r)))
: i.push(r)),
i || [])
: t;
},
dequeue: function(e, t) {
t = t || "fx";
var n = b.queue(e, t),
r = n.length,
i = n.shift(),
o = b._queueHooks(e, t),
a = function() {
b.dequeue(e, t);
};
"inprogress" === i && ((i = n.shift()), r--),
(o.cur = i),
i &&
("fx" === t && n.unshift("inprogress"),
delete o.stop,
i.call(e, a, o)),
!r && o && o.empty.fire();
},
_queueHooks: function(e, t) {
var n = t + "queueHooks";
return (
b._data(e, n) ||
b._data(e, n, {
empty: b.Callbacks("once memory").add(function() {
b._removeData(e, t + "queue"), b._removeData(e, n);
})
})
);
}
}),
b.fn.extend({
queue: function(e, n) {
var r = 2;
return (
"string" != typeof e && ((n = e), (e = "fx"), r--),
r > arguments.length
? b.queue(this[0], e)
: n === t
? this
: this.each(function() {
var t = b.queue(this, e, n);
b._queueHooks(this, e),
"fx" === e && "inprogress" !== t[0] && b.dequeue(this, e);
})
);
},
dequeue: function(e) {
return this.each(function() {
b.dequeue(this, e);
});
},
delay: function(e, t) {
return (
(e = b.fx ? b.fx.speeds[e] || e : e),
(t = t || "fx"),
this.queue(t, function(t, n) {
var r = setTimeout(t, e);
n.stop = function() {
clearTimeout(r);
};
})
);
},
clearQueue: function(e) {
return this.queue(e || "fx", []);
},
promise: function(e, n) {
var r,
i = 1,
o = b.Deferred(),
a = this,
s = this.length,
u = function() {
--i || o.resolveWith(a, [a]);
};
"string" != typeof e && ((n = e), (e = t)), (e = e || "fx");
while (s--)
(r = b._data(a[s], e + "queueHooks")),
r && r.empty && (i++, r.empty.add(u));
return u(), o.promise(n);
}
});
var I,
z,
X = /[\t\r\n]/g,
U = /\r/g,
V = /^(?:input|select|textarea|button|object)$/i,
Y = /^(?:a|area)$/i,
J = /^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,
G = /^(?:checked|selected)$/i,
Q = b.support.getSetAttribute,
K = b.support.input;
b.fn.extend({
attr: function(e, t) {
return b.access(this, b.attr, e, t, arguments.length > 1);
},
removeAttr: function(e) {
return this.each(function() {
b.removeAttr(this, e);
});
},
prop: function(e, t) {
return b.access(this, b.prop, e, t, arguments.length > 1);
},
removeProp: function(e) {
return (
(e = b.propFix[e] || e),
this.each(function() {
try {
(this[e] = t), delete this[e];
} catch (n) {}
})
);
},
addClass: function(e) {
var t,
n,
r,
i,
o,
a = 0,
s = this.length,
u = "string" == typeof e && e;
if (b.isFunction(e))
return this.each(function(t) {
b(this).addClass(e.call(this, t, this.className));
});
if (u)
for (t = (e || "").match(w) || []; s > a; a++)
if (
((n = this[a]),
(r =
1 === n.nodeType &&
(n.className ? (" " + n.className + " ").replace(X, " ") : " ")))
) {
o = 0;
while ((i = t[o++])) 0 > r.indexOf(" " + i + " ") && (r += i + " ");
n.className = b.trim(r);
}
return this;
},
removeClass: function(e) {
var t,
n,
r,
i,
o,
a = 0,
s = this.length,
u = 0 === arguments.length || ("string" == typeof e && e);
if (b.isFunction(e))
return this.each(function(t) {
b(this).removeClass(e.call(this, t, this.className));
});
if (u)
for (t = (e || "").match(w) || []; s > a; a++)
if (
((n = this[a]),
(r =
1 === n.nodeType &&
(n.className ? (" " + n.className + " ").replace(X, " ") : "")))
) {
o = 0;
while ((i = t[o++]))
while (r.indexOf(" " + i + " ") >= 0)
r = r.replace(" " + i + " ", " ");
n.className = e ? b.trim(r) : "";
}
return this;
},
toggleClass: function(e, t) {
var n = typeof e,
r = "boolean" == typeof t;
return b.isFunction(e)
? this.each(function(n) {
b(this).toggleClass(e.call(this, n, this.className, t), t);
})
: this.each(function() {
if ("string" === n) {
var o,
a = 0,
s = b(this),
u = t,
l = e.match(w) || [];
while ((o = l[a++]))
(u = r ? u : !s.hasClass(o)),
s[u ? "addClass" : "removeClass"](o);
} else (n === i || "boolean" === n) && (this.className && b._data(this, "__className__", this.className), (this.className = this.className || e === !1 ? "" : b._data(this, "__className__") || ""));
});
},
hasClass: function(e) {
var t = " " + e + " ",
n = 0,
r = this.length;
for (; r > n; n++)
if (
1 === this[n].nodeType &&
(" " + this[n].className + " ").replace(X, " ").indexOf(t) >= 0
)
return !0;
return !1;
},
val: function(e) {
var n,
r,
i,
o = this[0];
{
if (arguments.length)
return (
(i = b.isFunction(e)),
this.each(function(n) {
var o,
a = b(this);
1 === this.nodeType &&
((o = i ? e.call(this, n, a.val()) : e),
null == o
? (o = "")
: "number" == typeof o
? (o += "")
: b.isArray(o) &&
(o = b.map(o, function(e) {
return null == e ? "" : e + "";
})),
(r =
b.valHooks[this.type] ||
b.valHooks[this.nodeName.toLowerCase()]),
(r && "set" in r && r.set(this, o, "value") !== t) ||
(this.value = o));
})
);
if (o)
return (
(r = b.valHooks[o.type] || b.valHooks[o.nodeName.toLowerCase()]),
r && "get" in r && (n = r.get(o, "value")) !== t
? n
: ((n = o.value),
"string" == typeof n ? n.replace(U, "") : null == n ? "" : n)
);
}
}
}),
b.extend({
valHooks: {
option: {
get: function(e) {
var t = e.attributes.value;
return !t || t.specified ? e.value : e.text;
}
},
select: {
get: function(e) {
var t,
n,
r = e.options,
i = e.selectedIndex,
o = "select-one" === e.type || 0 > i,
a = o ? null : [],
s = o ? i + 1 : r.length,
u = 0 > i ? s : o ? i : 0;
for (; s > u; u++)
if (
((n = r[u]),
!(
(!n.selected && u !== i) ||
(b.support.optDisabled
? n.disabled
: null !== n.getAttribute("disabled")) ||
(n.parentNode.disabled &&
b.nodeName(n.parentNode, "optgroup"))
))
) {
if (((t = b(n).val()), o)) return t;
a.push(t);
}
return a;
},
set: function(e, t) {
var n = b.makeArray(t);
return (
b(e)
.find("option")
.each(function() {
this.selected = b.inArray(b(this).val(), n) >= 0;
}),
n.length || (e.selectedIndex = -1),
n
);
}
}
},
attr: function(e, n, r) {
var o,
a,
s,
u = e.nodeType;
if (e && 3 !== u && 8 !== u && 2 !== u)
return typeof e.getAttribute === i
? b.prop(e, n, r)
: ((a = 1 !== u || !b.isXMLDoc(e)),
a &&
((n = n.toLowerCase()),
(o = b.attrHooks[n] || (J.test(n) ? z : I))),
r === t
? o && a && "get" in o && null !== (s = o.get(e, n))
? s
: (typeof e.getAttribute !== i && (s = e.getAttribute(n)),
null == s ? t : s)
: null !== r
? o && a && "set" in o && (s = o.set(e, r, n)) !== t
? s
: (e.setAttribute(n, r + ""), r)
: (b.removeAttr(e, n), t));
},
removeAttr: function(e, t) {
var n,
r,
i = 0,
o = t && t.match(w);
if (o && 1 === e.nodeType)
while ((n = o[i++]))
(r = b.propFix[n] || n),
J.test(n)
? !Q && G.test(n)
? (e[b.camelCase("default-" + n)] = e[r] = !1)
: (e[r] = !1)
: b.attr(e, n, ""),
e.removeAttribute(Q ? n : r);
},
attrHooks: {
type: {
set: function(e, t) {
if (
!b.support.radioValue &&
"radio" === t &&
b.nodeName(e, "input")
) {
var n = e.value;
return e.setAttribute("type", t), n && (e.value = n), t;
}
}
}
},
propFix: {
tabindex: "tabIndex",
readonly: "readOnly",
for: "htmlFor",
class: "className",
maxlength: "maxLength",
cellspacing: "cellSpacing",
cellpadding: "cellPadding",
rowspan: "rowSpan",
colspan: "colSpan",
usemap: "useMap",
frameborder: "frameBorder",
contenteditable: "contentEditable"
},
prop: function(e, n, r) {
var i,
o,
a,
s = e.nodeType;
if (e && 3 !== s && 8 !== s && 2 !== s)
return (
(a = 1 !== s || !b.isXMLDoc(e)),
a && ((n = b.propFix[n] || n), (o = b.propHooks[n])),
r !== t
? o && "set" in o && (i = o.set(e, r, n)) !== t ? i : (e[n] = r)
: o && "get" in o && null !== (i = o.get(e, n)) ? i : e[n]
);
},
propHooks: {
tabIndex: {
get: function(e) {
var n = e.getAttributeNode("tabindex");
return n && n.specified
? parseInt(n.value, 10)
: V.test(e.nodeName) || (Y.test(e.nodeName) && e.href) ? 0 : t;
}
}
}
}),
(z = {
get: function(e, n) {
var r = b.prop(e, n),
i = "boolean" == typeof r && e.getAttribute(n),
o =
"boolean" == typeof r
? K && Q
? null != i
: G.test(n) ? e[b.camelCase("default-" + n)] : !!i
: e.getAttributeNode(n);
return o && o.value !== !1 ? n.toLowerCase() : t;
},
set: function(e, t, n) {
return (
t === !1
? b.removeAttr(e, n)
: (K && Q) || !G.test(n)
? e.setAttribute((!Q && b.propFix[n]) || n, n)
: (e[b.camelCase("default-" + n)] = e[n] = !0),
n
);
}
}),
(K && Q) ||
(b.attrHooks.value = {
get: function(e, n) {
var r = e.getAttributeNode(n);
return b.nodeName(e, "input")
? e.defaultValue
: r && r.specified ? r.value : t;
},
set: function(e, n, r) {
return b.nodeName(e, "input")
? ((e.defaultValue = n), t)
: I && I.set(e, n, r);
}
}),
Q ||
((I = b.valHooks.button = {
get: function(e, n) {
var r = e.getAttributeNode(n);
return r &&
("id" === n || "name" === n || "coords" === n
? "" !== r.value
: r.specified)
? r.value
: t;
},
set: function(e, n, r) {
var i = e.getAttributeNode(r);
return (
i || e.setAttributeNode((i = e.ownerDocument.createAttribute(r))),
(i.value = n += ""),
"value" === r || n === e.getAttribute(r) ? n : t
);
}
}),
(b.attrHooks.contenteditable = {
get: I.get,
set: function(e, t, n) {
I.set(e, "" === t ? !1 : t, n);
}
}),
b.each(["width", "height"], function(e, n) {
b.attrHooks[n] = b.extend(b.attrHooks[n], {
set: function(e, r) {
return "" === r ? (e.setAttribute(n, "auto"), r) : t;
}
});
})),
b.support.hrefNormalized ||
(b.each(["href", "src", "width", "height"], function(e, n) {
b.attrHooks[n] = b.extend(b.attrHooks[n], {
get: function(e) {
var r = e.getAttribute(n, 2);
return null == r ? t : r;
}
});
}),
b.each(["href", "src"], function(e, t) {
b.propHooks[t] = {
get: function(e) {
return e.getAttribute(t, 4);
}
};
})),
b.support.style ||
(b.attrHooks.style = {
get: function(e) {
return e.style.cssText || t;
},
set: function(e, t) {
return (e.style.cssText = t + "");
}
}),
b.support.optSelected ||
(b.propHooks.selected = b.extend(b.propHooks.selected, {
get: function(e) {
var t = e.parentNode;
return (
t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex),
null
);
}
})),
b.support.enctype || (b.propFix.enctype = "encoding"),
b.support.checkOn ||
b.each(["radio", "checkbox"], function() {
b.valHooks[this] = {
get: function(e) {
return null === e.getAttribute("value") ? "on" : e.value;
}
};
}),
b.each(["radio", "checkbox"], function() {
b.valHooks[this] = b.extend(b.valHooks[this], {
set: function(e, n) {
return b.isArray(n) ? (e.checked = b.inArray(b(e).val(), n) >= 0) : t;
}
});
});
var Z = /^(?:input|select|textarea)$/i,
et = /^key/,
tt = /^(?:mouse|contextmenu)|click/,
nt = /^(?:focusinfocus|focusoutblur)$/,
rt = /^([^.]*)(?:\.(.+)|)$/;
function it() {
return !0;
}
function ot() {
return !1;
}
(b.event = {
global: {},
add: function(e, n, r, o, a) {
var s,
u,
l,
c,
p,
f,
d,
h,
g,
m,
y,
v = b._data(e);
if (v) {
r.handler && ((c = r), (r = c.handler), (a = c.selector)),
r.guid || (r.guid = b.guid++),
(u = v.events) || (u = v.events = {}),
(f = v.handle) ||
((f = v.handle = function(e) {
return typeof b === i || (e && b.event.triggered === e.type)
? t
: b.event.dispatch.apply(f.elem, arguments);
}),
(f.elem = e)),
(n = (n || "").match(w) || [""]),
(l = n.length);
while (l--)
(s = rt.exec(n[l]) || []),
(g = y = s[1]),
(m = (s[2] || "").split(".").sort()),
(p = b.event.special[g] || {}),
(g = (a ? p.delegateType : p.bindType) || g),
(p = b.event.special[g] || {}),
(d = b.extend(
{
type: g,
origType: y,
data: o,
handler: r,
guid: r.guid,
selector: a,
needsContext: a && b.expr.match.needsContext.test(a),
namespace: m.join(".")
},
c
)),
(h = u[g]) ||
((h = u[g] = []),
(h.delegateCount = 0),
(p.setup && p.setup.call(e, o, m, f) !== !1) ||
(e.addEventListener
? e.addEventListener(g, f, !1)
: e.on && e.on("on" + g, f))),
p.add &&
(p.add.call(e, d), d.handler.guid || (d.handler.guid = r.guid)),
a ? h.splice(h.delegateCount++, 0, d) : h.push(d),
(b.event.global[g] = !0);
e = null;
}
},
remove: function(e, t, n, r, i) {
var o,
a,
s,
u,
l,
c,
p,
f,
d,
h,
g,
m = b.hasData(e) && b._data(e);
if (m && (c = m.events)) {
(t = (t || "").match(w) || [""]), (l = t.length);
while (l--)
if (
((s = rt.exec(t[l]) || []),
(d = g = s[1]),
(h = (s[2] || "").split(".").sort()),
d)
) {
(p = b.event.special[d] || {}),
(d = (r ? p.delegateType : p.bindType) || d),
(f = c[d] || []),
(s =
s[2] &&
RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)")),
(u = o = f.length);
while (o--)
(a = f[o]),
(!i && g !== a.origType) ||
(n && n.guid !== a.guid) ||
(s && !s.test(a.namespace)) ||
(r && r !== a.selector && ("**" !== r || !a.selector)) ||
(f.splice(o, 1),
a.selector && f.delegateCount--,
p.remove && p.remove.call(e, a));
u &&
!f.length &&
((p.teardown && p.teardown.call(e, h, m.handle) !== !1) ||
b.removeEvent(e, d, m.handle),
delete c[d]);
} else for (d in c) b.event.remove(e, d + t[l], n, r, !0);
b.isEmptyObject(c) && (delete m.handle, b._removeData(e, "events"));
}
},
trigger: function(n, r, i, a) {
var s,
u,
l,
c,
p,
f,
d,
h = [i || o],
g = y.call(n, "type") ? n.type : n,
m = y.call(n, "namespace") ? n.namespace.split(".") : [];
if (
((l = f = i = i || o),
3 !== i.nodeType &&
8 !== i.nodeType &&
!nt.test(g + b.event.triggered) &&
(g.indexOf(".") >= 0 &&
((m = g.split(".")), (g = m.shift()), m.sort()),
(u = 0 > g.indexOf(":") && "on"