Created
February 25, 2015 16:26
-
-
Save samueltc/13e62ae4ec48e35bc098 to your computer and use it in GitHub Desktop.
global-perf-minified.js
This file has been truncated, but you can view the full file.
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(a, b) { | |
function d() { | |
if (!n.isReady) { | |
try { | |
t.documentElement.doScroll("left") | |
} catch (k) { | |
setTimeout(d, 1); | |
return | |
} | |
n.ready() | |
} | |
} | |
function f(k, r) { | |
r.src ? n.ajax({ | |
url: r.src, | |
async: false, | |
dataType: "script" | |
}) : n.globalEval(r.text || r.textContent || r.innerHTML || ""); | |
r.parentNode && r.parentNode.removeChild(r) | |
} | |
function g(k, r, x, F, E, T) { | |
var V = k.length; | |
if (typeof r === "object") { | |
for (var ca in r) g(k, ca, r[ca], F, E, x); | |
return k | |
} | |
if (x !== b) { | |
F = !T && F && n.isFunction(x); | |
for (ca = 0; ca < V; ca++) E(k[ca], r, F ? x.call(k[ca], ca, E(k[ca], r)) : x, T); | |
return k | |
} | |
return V ? | |
E(k[0], r) : b | |
} | |
function j() { | |
return (new Date).getTime() | |
} | |
function l() { | |
return false | |
} | |
function o() { | |
return true | |
} | |
function v(k, r, x) { | |
x[0].type = k; | |
return n.event.handle.apply(r, x) | |
} | |
function A(k) { | |
var r, x = [], | |
F = [], | |
E = arguments, | |
T, V, ca, aa, da, ha; | |
V = n.data(this, "events"); | |
if (!(k.liveFired === this || !V || !V.live || k.button && k.type === "click")) { | |
k.liveFired = this; | |
var qa = V.live.slice(0); | |
for (aa = 0; aa < qa.length; aa++) { | |
V = qa[aa]; | |
V.origType.replace(ua, "") === k.type ? F.push(V.selector) : qa.splice(aa--, 1) | |
} | |
T = n(k.target).closest(F, k.currentTarget); | |
da = 0; | |
for (ha = T.length; da < ha; da++) | |
for (aa = 0; aa < qa.length; aa++) { | |
V = qa[aa]; | |
if (T[da].selector === V.selector) { | |
ca = T[da].elem; | |
F = null; | |
if (V.preType === "mouseenter" || V.preType === "mouseleave") F = n(k.relatedTarget).closest(V.selector)[0]; | |
if (!F || F !== ca) x.push({ | |
elem: ca, | |
handleObj: V | |
}) | |
} | |
} | |
da = 0; | |
for (ha = x.length; da < ha; da++) { | |
T = x[da]; | |
k.currentTarget = T.elem; | |
k.data = T.handleObj.data; | |
k.handleObj = T.handleObj; | |
if (T.handleObj.origHandler.apply(T.elem, E) === false) { | |
r = false; | |
break | |
} | |
} | |
return r | |
} | |
} | |
function C(k, r) { | |
return "live." + (k && k !== "*" ? k + "." : | |
"") + r.replace(/\./g, "`").replace(/ /g, "&") | |
} | |
function q(k, r) { | |
var x = 0; | |
r.each(function() { | |
if (this.nodeName === (k[x] && k[x].nodeName)) { | |
var F = n.data(k[x++]), | |
E = n.data(this, F); | |
if (F = F && F.events) { | |
delete E.handle; | |
E.events = {}; | |
for (var T in F) | |
for (var V in F[T]) n.event.add(this, T, F[T][V], F[T][V].data) | |
} | |
} | |
}) | |
} | |
function I(k, r, x) { | |
var F, E, T; | |
r = r && r[0] ? r[0].ownerDocument || r[0] : t; | |
if (k.length === 1 && typeof k[0] === "string" && k[0].length < 512 && r === t && !Za.test(k[0]) && (n.support.checkClone || !$a.test(k[0]))) { | |
E = true; | |
if (T = n.fragments[k[0]]) | |
if (T !== | |
1) F = T | |
} | |
if (!F) { | |
F = r.createDocumentFragment(); | |
n.clean(k, r, F, x) | |
} | |
if (E) n.fragments[k[0]] = T ? F : 1; | |
return { | |
fragment: F, | |
cacheable: E | |
} | |
} | |
function K(k, r) { | |
var x = {}; | |
n.each(ab.concat.apply([], ab.slice(0, r)), function() { | |
x[this] = k | |
}); | |
return x | |
} | |
function Q(k) { | |
return "scrollTo" in k && k.document ? k : k.nodeType === 9 ? k.defaultView || k.parentWindow : false | |
} | |
var n = function(k, r) { | |
return new n.fn.init(k, r) | |
}, | |
G = a.jQuery, | |
p = a.$, | |
t = a.document, | |
z, D = /^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/, | |
M = /^.[^:#\[\.,]*$/, | |
B = /\S/, | |
m = /^(\s|\u00A0)+|(\s|\u00A0)+$/g, | |
u = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, | |
y = navigator.userAgent, | |
H = false, | |
J = [], | |
R, U = Object.prototype.toString, | |
X = Object.prototype.hasOwnProperty, | |
ga = Array.prototype.push, | |
ja = Array.prototype.slice, | |
la = Array.prototype.indexOf; | |
n.fn = n.prototype = { | |
init: function(k, r) { | |
var x, F; | |
if (!k) return this; | |
if (k.nodeType) { | |
this.context = this[0] = k; | |
this.length = 1; | |
return this | |
} | |
if (k === "body" && !r) { | |
this.context = t; | |
this[0] = t.body; | |
this.selector = "body"; | |
this.length = 1; | |
return this | |
} | |
if (typeof k === "string") | |
if ((x = D.exec(k)) && (x[1] || !r)) | |
if (x[1]) { | |
F = r ? r.ownerDocument || r : t; | |
if (k = u.exec(k)) | |
if (n.isPlainObject(r)) { | |
k = [t.createElement(k[1])]; | |
n.fn.attr.call(k, r, true) | |
} else k = [F.createElement(k[1])]; | |
else { | |
k = I([x[1]], [F]); | |
k = (k.cacheable ? k.fragment.cloneNode(true) : k.fragment).childNodes | |
} | |
return n.merge(this, k) | |
} else { | |
if (r = t.getElementById(x[2])) { | |
if (r.id !== x[2]) return z.find(k); | |
this.length = 1; | |
this[0] = r | |
} | |
this.context = t; | |
this.selector = k; | |
return this | |
} else if (!r && /^\w+$/.test(k)) { | |
this.selector = k; | |
this.context = t; | |
k = t.getElementsByTagName(k); | |
return n.merge(this, k) | |
} else return !r || r.jquery ? (r || z).find(k) : n(r).find(k); | |
else if (n.isFunction(k)) return z.ready(k); | |
if (k.selector !== b) { | |
this.selector = k.selector; | |
this.context = k.context | |
} | |
return n.makeArray(k, this) | |
}, | |
selector: "", | |
jquery: "1.4.2", | |
length: 0, | |
size: function() { | |
return this.length | |
}, | |
toArray: function() { | |
return ja.call(this, 0) | |
}, | |
get: function(k) { | |
return k == null ? this.toArray() : k < 0 ? this.slice(k)[0] : this[k] | |
}, | |
pushStack: function(k, r, x) { | |
var F = n(); | |
n.isArray(k) ? ga.apply(F, k) : n.merge(F, k); | |
F.prevObject = this; | |
F.context = this.context; | |
if (r === "find") F.selector = this.selector + (this.selector ? " " : "") + x; | |
else if (r) F.selector = this.selector + | |
"." + r + "(" + x + ")"; | |
return F | |
}, | |
each: function(k, r) { | |
return n.each(this, k, r) | |
}, | |
ready: function(k) { | |
n.bindReady(); | |
if (n.isReady) k.call(t, n); | |
else J && J.push(k); | |
return this | |
}, | |
eq: function(k) { | |
return k === -1 ? this.slice(k) : this.slice(k, +k + 1) | |
}, | |
first: function() { | |
return this.eq(0) | |
}, | |
last: function() { | |
return this.eq(-1) | |
}, | |
slice: function() { | |
return this.pushStack(ja.apply(this, arguments), "slice", ja.call(arguments).join(",")) | |
}, | |
map: function(k) { | |
return this.pushStack(n.map(this, function(r, x) { | |
return k.call(r, x, r) | |
})) | |
}, | |
end: function() { | |
return this.prevObject || | |
n(null) | |
}, | |
push: ga, | |
sort: [].sort, | |
splice: [].splice | |
}; | |
n.fn.init.prototype = n.fn; | |
n.extend = n.fn.extend = function() { | |
var k = arguments[0] || {}, | |
r = 1, | |
x = arguments.length, | |
F = false, | |
E, T, V, ca; | |
if (typeof k === "boolean") { | |
F = k; | |
k = arguments[1] || {}; | |
r = 2 | |
} | |
if (typeof k !== "object" && !n.isFunction(k)) k = {}; | |
if (x === r) { | |
k = this; | |
--r | |
} | |
for (; r < x; r++) | |
if ((E = arguments[r]) != null) | |
for (T in E) { | |
V = k[T]; | |
ca = E[T]; | |
if (k !== ca) | |
if (F && ca && (n.isPlainObject(ca) || n.isArray(ca))) { | |
V = V && (n.isPlainObject(V) || n.isArray(V)) ? V : n.isArray(ca) ? [] : {}; | |
k[T] = n.extend(F, V, ca) | |
} else if (ca !== | |
b) k[T] = ca | |
} | |
return k | |
}; | |
n.extend({ | |
noConflict: function(k) { | |
a.$ = p; | |
if (k) a.jQuery = G; | |
return n | |
}, | |
isReady: false, | |
ready: function() { | |
if (!n.isReady) { | |
if (!t.body) return setTimeout(n.ready, 13); | |
n.isReady = true; | |
if (J) { | |
for (var k, r = 0; k = J[r++];) k.call(t, n); | |
J = null | |
} | |
n.fn.triggerHandler && n(t).triggerHandler("ready") | |
} | |
}, | |
bindReady: function() { | |
if (!H) { | |
H = true; | |
if (t.readyState === "complete") return n.ready(); | |
if (t.addEventListener) { | |
t.addEventListener("DOMContentLoaded", R, false); | |
a.addEventListener("load", n.ready, false) | |
} else if (t.attachEvent) { | |
t.attachEvent("onreadystatechange", | |
R); | |
a.attachEvent("onload", n.ready); | |
var k = false; | |
try { | |
k = a.frameElement == null | |
} catch (r) {} | |
t.documentElement.doScroll && k && d() | |
} | |
} | |
}, | |
isFunction: function(k) { | |
return U.call(k) === "[object Function]" | |
}, | |
isArray: function(k) { | |
return U.call(k) === "[object Array]" | |
}, | |
isPlainObject: function(k) { | |
if (!k || U.call(k) !== "[object Object]" || k.nodeType || k.setInterval) return false; | |
if (k.constructor && !X.call(k, "constructor") && !X.call(k.constructor.prototype, "isPrototypeOf")) return false; | |
for (var r in k); | |
return r === b || X.call(k, r) | |
}, | |
isEmptyObject: function(k) { | |
for (var r in k) return false; | |
return true | |
}, | |
error: function(k) { | |
throw k; | |
}, | |
parseJSON: function(k) { | |
if (typeof k !== "string" || !k) return null; | |
k = n.trim(k); | |
if (/^[\],:{}\s]*$/.test(k.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) return a.JSON && a.JSON.parse ? a.JSON.parse(k) : (new Function("return " + k))(); | |
else n.error("Invalid JSON: " + k) | |
}, | |
noop: function() {}, | |
globalEval: function(k) { | |
if (k && B.test(k)) { | |
var r = t.getElementsByTagName("head")[0] || | |
t.documentElement, | |
x = t.createElement("script"); | |
x.type = "text/javascript"; | |
if (n.support.scriptEval) x.appendChild(t.createTextNode(k)); | |
else x.text = k; | |
r.insertBefore(x, r.firstChild); | |
r.removeChild(x) | |
} | |
}, | |
nodeName: function(k, r) { | |
return k.nodeName && k.nodeName.toUpperCase() === r.toUpperCase() | |
}, | |
each: function(k, r, x) { | |
var F, E = 0, | |
T = k.length, | |
V = T === b || n.isFunction(k); | |
if (x) | |
if (V) | |
for (F in k) { | |
if (r.apply(k[F], x) === false) break | |
} else | |
for (; E < T;) { | |
if (r.apply(k[E++], x) === false) break | |
} else if (V) | |
for (F in k) { | |
if (r.call(k[F], F, k[F]) === false) break | |
} else | |
for (x = | |
k[0]; E < T && r.call(x, E, x) !== false; x = k[++E]); | |
return k | |
}, | |
trim: function(k) { | |
return (k || "").replace(m, "") | |
}, | |
makeArray: function(k, r) { | |
r = r || []; | |
if (k != null) k.length == null || typeof k === "string" || n.isFunction(k) || typeof k !== "function" && k.setInterval ? ga.call(r, k) : n.merge(r, k); | |
return r | |
}, | |
inArray: function(k, r) { | |
if (r.indexOf) return r.indexOf(k); | |
for (var x = 0, F = r.length; x < F; x++) | |
if (r[x] === k) return x; | |
return -1 | |
}, | |
merge: function(k, r) { | |
var x = k.length, | |
F = 0; | |
if (typeof r.length === "number") | |
for (var E = r.length; F < E; F++) k[x++] = r[F]; | |
else | |
for (; r[F] !== | |
b;) k[x++] = r[F++]; | |
k.length = x; | |
return k | |
}, | |
grep: function(k, r, x) { | |
for (var F = [], E = 0, T = k.length; E < T; E++) !x !== !r(k[E], E) && F.push(k[E]); | |
return F | |
}, | |
map: function(k, r, x) { | |
for (var F = [], E, T = 0, V = k.length; T < V; T++) { | |
E = r(k[T], T, x); | |
if (E != null) F[F.length] = E | |
} | |
return F.concat.apply([], F) | |
}, | |
guid: 1, | |
proxy: function(k, r, x) { | |
if (arguments.length === 2) | |
if (typeof r === "string") { | |
x = k; | |
k = x[r]; | |
r = b | |
} else if (r && !n.isFunction(r)) { | |
x = r; | |
r = b | |
} | |
if (!r && k) r = function() { | |
return k.apply(x || this, arguments) | |
}; | |
if (k) r.guid = k.guid = k.guid || r.guid || n.guid++; | |
return r | |
}, | |
uaMatch: function(k) { | |
k = k.toLowerCase(); | |
k = /(webkit)[ \/]([\w.]+)/.exec(k) || /(opera)(?:.*version)?[ \/]([\w.]+)/.exec(k) || /(msie) ([\w.]+)/.exec(k) || !/compatible/.test(k) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec(k) || []; | |
return { | |
browser: k[1] || "", | |
version: k[2] || "0" | |
} | |
}, | |
browser: {} | |
}); | |
y = n.uaMatch(y); | |
if (y.browser) { | |
n.browser[y.browser] = true; | |
n.browser.version = y.version | |
} | |
if (n.browser.webkit) n.browser.safari = true; | |
if (la) n.inArray = function(k, r) { | |
return la.call(r, k) | |
}; | |
z = n(t); | |
if (t.addEventListener) R = function() { | |
t.removeEventListener("DOMContentLoaded", | |
R, false); | |
n.ready() | |
}; | |
else if (t.attachEvent) R = function() { | |
if (t.readyState === "complete") { | |
t.detachEvent("onreadystatechange", R); | |
n.ready() | |
} | |
}; | |
(function() { | |
n.support = {}; | |
var k = t.documentElement, | |
r = t.createElement("script"), | |
x = t.createElement("div"), | |
F = "script" + j(); | |
x.style.display = "none"; | |
x.innerHTML = " <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>"; | |
var E = x.getElementsByTagName("*"), | |
T = x.getElementsByTagName("a")[0]; | |
if (!(!E || !E.length || !T)) { | |
n.support = { | |
leadingWhitespace: x.firstChild.nodeType === 3, | |
tbody: !x.getElementsByTagName("tbody").length, | |
htmlSerialize: !!x.getElementsByTagName("link").length, | |
style: /red/.test(T.getAttribute("style")), | |
hrefNormalized: T.getAttribute("href") === "/a", | |
opacity: /^0.55$/.test(T.style.opacity), | |
cssFloat: !!T.style.cssFloat, | |
checkOn: x.getElementsByTagName("input")[0].value === "on", | |
optSelected: t.createElement("select").appendChild(t.createElement("option")).selected, | |
parentNode: x.removeChild(x.appendChild(t.createElement("div"))).parentNode === | |
null, | |
deleteExpando: true, | |
checkClone: false, | |
scriptEval: false, | |
noCloneEvent: true, | |
boxModel: null | |
}; | |
r.type = "text/javascript"; | |
try { | |
r.appendChild(t.createTextNode("window." + F + "=1;")) | |
} catch (V) {} | |
k.insertBefore(r, k.firstChild); | |
if (a[F]) { | |
n.support.scriptEval = true; | |
delete a[F] | |
} | |
try { | |
delete r.test | |
} catch (ca) { | |
n.support.deleteExpando = false | |
} | |
k.removeChild(r); | |
if (x.attachEvent && x.fireEvent) { | |
x.attachEvent("onclick", function aa() { | |
n.support.noCloneEvent = false; | |
x.detachEvent("onclick", aa) | |
}); | |
x.cloneNode(true).fireEvent("onclick") | |
} | |
x = | |
t.createElement("div"); | |
x.innerHTML = "<input type='radio' name='radiotest' checked='checked'/>"; | |
k = t.createDocumentFragment(); | |
k.appendChild(x.firstChild); | |
n.support.checkClone = k.cloneNode(true).cloneNode(true).lastChild.checked; | |
n(function() { | |
var aa = t.createElement("div"); | |
aa.style.width = aa.style.paddingLeft = "1px"; | |
t.body.appendChild(aa); | |
n.boxModel = n.support.boxModel = aa.offsetWidth === 2; | |
t.body.removeChild(aa).style.display = "none" | |
}); | |
k = function(aa) { | |
var da = t.createElement("div"); | |
aa = "on" + aa; | |
var ha = aa in da; | |
if (!ha) { | |
da.setAttribute(aa, | |
"return;"); | |
ha = typeof da[aa] === "function" | |
} | |
return ha | |
}; | |
n.support.submitBubbles = k("submit"); | |
n.support.changeBubbles = k("change"); | |
k = r = x = E = T = null | |
} | |
})(); | |
n.props = { | |
"for": "htmlFor", | |
"class": "className", | |
readonly: "readOnly", | |
maxlength: "maxLength", | |
cellspacing: "cellSpacing", | |
rowspan: "rowSpan", | |
colspan: "colSpan", | |
tabindex: "tabIndex", | |
usemap: "useMap", | |
frameborder: "frameBorder" | |
}; | |
var ka = "jQuery" + j(), | |
ra = 0, | |
pa = {}; | |
n.extend({ | |
cache: {}, | |
expando: ka, | |
noData: { | |
embed: true, | |
object: true, | |
applet: true | |
}, | |
data: function(k, r, x) { | |
if (!(k.nodeName && n.noData[k.nodeName.toLowerCase()])) { | |
k = | |
k == a ? pa : k; | |
var F = k[ka], | |
E = n.cache; | |
if (!F && typeof r === "string" && x === b) return null; | |
F || (F = ++ra); | |
if (typeof r === "object") { | |
k[ka] = F; | |
E[F] = n.extend(true, {}, r) | |
} else if (!E[F]) { | |
k[ka] = F; | |
E[F] = {} | |
} | |
k = E[F]; | |
if (x !== b) k[r] = x; | |
return typeof r === "string" ? k[r] : k | |
} | |
}, | |
removeData: function(k, r) { | |
if (!(k.nodeName && n.noData[k.nodeName.toLowerCase()])) { | |
k = k == a ? pa : k; | |
var x = k[ka], | |
F = n.cache, | |
E = F[x]; | |
if (r) { | |
if (E) { | |
delete E[r]; | |
n.isEmptyObject(E) && n.removeData(k) | |
} | |
} else { | |
if (n.support.deleteExpando) delete k[n.expando]; | |
else k.removeAttribute && k.removeAttribute(n.expando); | |
delete F[x] | |
} | |
} | |
} | |
}); | |
n.fn.extend({ | |
data: function(k, r) { | |
if (typeof k === "undefined" && this.length) return n.data(this[0]); | |
else if (typeof k === "object") return this.each(function() { | |
n.data(this, k) | |
}); | |
var x = k.split("."); | |
x[1] = x[1] ? "." + x[1] : ""; | |
if (r === b) { | |
var F = this.triggerHandler("getData" + x[1] + "!", [x[0]]); | |
if (F === b && this.length) F = n.data(this[0], k); | |
return F === b && x[1] ? this.data(x[0]) : F | |
} else return this.trigger("setData" + x[1] + "!", [x[0], r]).each(function() { | |
n.data(this, k, r) | |
}) | |
}, | |
removeData: function(k) { | |
return this.each(function() { | |
n.removeData(this, | |
k) | |
}) | |
} | |
}); | |
n.extend({ | |
queue: function(k, r, x) { | |
if (k) { | |
r = (r || "fx") + "queue"; | |
var F = n.data(k, r); | |
if (!x) return F || []; | |
if (!F || n.isArray(x)) F = n.data(k, r, n.makeArray(x)); | |
else F.push(x); | |
return F | |
} | |
}, | |
dequeue: function(k, r) { | |
r = r || "fx"; | |
var x = n.queue(k, r), | |
F = x.shift(); | |
if (F === "inprogress") F = x.shift(); | |
if (F) { | |
r === "fx" && x.unshift("inprogress"); | |
F.call(k, function() { | |
n.dequeue(k, r) | |
}) | |
} | |
} | |
}); | |
n.fn.extend({ | |
queue: function(k, r) { | |
if (typeof k !== "string") { | |
r = k; | |
k = "fx" | |
} | |
if (r === b) return n.queue(this[0], k); | |
return this.each(function() { | |
var x = n.queue(this, | |
k, r); | |
k === "fx" && x[0] !== "inprogress" && n.dequeue(this, k) | |
}) | |
}, | |
dequeue: function(k) { | |
return this.each(function() { | |
n.dequeue(this, k) | |
}) | |
}, | |
delay: function(k, r) { | |
k = n.fx ? n.fx.speeds[k] || k : k; | |
r = r || "fx"; | |
return this.queue(r, function() { | |
var x = this; | |
setTimeout(function() { | |
n.dequeue(x, r) | |
}, k) | |
}) | |
}, | |
clearQueue: function(k) { | |
return this.queue(k || "fx", []) | |
} | |
}); | |
var xa = /[\n\t]/g, | |
P = /\s+/, | |
O = /\r/g, | |
L = /href|src|style/, | |
W = /(button|input)/i, | |
Z = /(button|input|object|select|textarea)/i, | |
ia = /^(a|area)$/i, | |
ma = /radio|checkbox/; | |
n.fn.extend({ | |
attr: function(k, | |
r) { | |
return g(this, k, r, true, n.attr) | |
}, | |
removeAttr: function(k) { | |
return this.each(function() { | |
n.attr(this, k, ""); | |
this.nodeType === 1 && this.removeAttribute(k) | |
}) | |
}, | |
addClass: function(k) { | |
if (n.isFunction(k)) return this.each(function(da) { | |
var ha = n(this); | |
ha.addClass(k.call(this, da, ha.attr("class"))) | |
}); | |
if (k && typeof k === "string") | |
for (var r = (k || "").split(P), x = 0, F = this.length; x < F; x++) { | |
var E = this[x]; | |
if (E.nodeType === 1) | |
if (E.className) { | |
for (var T = " " + E.className + " ", V = E.className, ca = 0, aa = r.length; ca < aa; ca++) | |
if (T.indexOf(" " + r[ca] + | |
" ") < 0) V += " " + r[ca]; | |
E.className = n.trim(V) | |
} else E.className = k | |
} | |
return this | |
}, | |
removeClass: function(k) { | |
if (n.isFunction(k)) return this.each(function(aa) { | |
var da = n(this); | |
da.removeClass(k.call(this, aa, da.attr("class"))) | |
}); | |
if (k && typeof k === "string" || k === b) | |
for (var r = (k || "").split(P), x = 0, F = this.length; x < F; x++) { | |
var E = this[x]; | |
if (E.nodeType === 1 && E.className) | |
if (k) { | |
for (var T = (" " + E.className + " ").replace(xa, " "), V = 0, ca = r.length; V < ca; V++) T = T.replace(" " + r[V] + " ", " "); | |
E.className = n.trim(T) | |
} else E.className = "" | |
} | |
return this | |
}, | |
toggleClass: function(k, r) { | |
var x = typeof k, | |
F = typeof r === "boolean"; | |
if (n.isFunction(k)) return this.each(function(E) { | |
var T = n(this); | |
T.toggleClass(k.call(this, E, T.attr("class"), r), r) | |
}); | |
return this.each(function() { | |
if (x === "string") | |
for (var E, T = 0, V = n(this), ca = r, aa = k.split(P); E = aa[T++];) { | |
ca = F ? ca : !V.hasClass(E); | |
V[ca ? "addClass" : "removeClass"](E) | |
} else if (x === "undefined" || x === "boolean") { | |
this.className && n.data(this, "__className__", this.className); | |
this.className = this.className || k === false ? "" : n.data(this, "__className__") || | |
"" | |
} | |
}) | |
}, | |
hasClass: function(k) { | |
k = " " + k + " "; | |
for (var r = 0, x = this.length; r < x; r++) | |
if ((" " + this[r].className + " ").replace(xa, " ").indexOf(k) > -1) return true; | |
return false | |
}, | |
val: function(k) { | |
if (k === b) { | |
var r = this[0]; | |
if (r) { | |
if (n.nodeName(r, "option")) return (r.attributes.value || {}).specified ? r.value : r.text; | |
if (n.nodeName(r, "select")) { | |
var x = r.selectedIndex, | |
F = [], | |
E = r.options; | |
r = r.type === "select-one"; | |
if (x < 0) return null; | |
var T = r ? x : 0; | |
for (x = r ? x + 1 : E.length; T < x; T++) { | |
var V = E[T]; | |
if (V.selected) { | |
k = n(V).val(); | |
if (r) return k; | |
F.push(k) | |
} | |
} | |
return F | |
} | |
if (ma.test(r.type) && | |
!n.support.checkOn) return r.getAttribute("value") === null ? "on" : r.value; | |
return (r.value || "").replace(O, "") | |
} | |
return b | |
} | |
var ca = n.isFunction(k); | |
return this.each(function(aa) { | |
var da = n(this), | |
ha = k; | |
if (this.nodeType === 1) { | |
if (ca) ha = k.call(this, aa, da.val()); | |
if (typeof ha === "number") ha += ""; | |
if (n.isArray(ha) && ma.test(this.type)) this.checked = n.inArray(da.val(), ha) >= 0; | |
else if (n.nodeName(this, "select")) { | |
var qa = n.makeArray(ha); | |
n("option", this).each(function() { | |
this.selected = n.inArray(n(this).val(), qa) >= 0 | |
}); | |
if (!qa.length) this.selectedIndex = -1 | |
} else this.value = ha | |
} | |
}) | |
} | |
}); | |
n.extend({ | |
attrFn: { | |
val: true, | |
css: true, | |
html: true, | |
text: true, | |
data: true, | |
width: true, | |
height: true, | |
offset: true | |
}, | |
attr: function(k, r, x, F) { | |
if (!k || k.nodeType === 3 || k.nodeType === 8) return b; | |
if (F && r in n.attrFn) return n(k)[r](x); | |
F = k.nodeType !== 1 || !n.isXMLDoc(k); | |
var E = x !== b; | |
r = F && n.props[r] || r; | |
if (k.nodeType === 1) { | |
var T = L.test(r); | |
if (r in k && F && !T) { | |
if (E) { | |
r === "type" && W.test(k.nodeName) && k.parentNode && n.error("type property can't be changed"); | |
k[r] = x | |
} | |
if (n.nodeName(k, "form") && k.getAttributeNode(r)) return k.getAttributeNode(r).nodeValue; | |
if (r === "tabIndex") return (r = k.getAttributeNode("tabIndex")) && r.specified ? r.value : Z.test(k.nodeName) || ia.test(k.nodeName) && k.href ? 0 : b; | |
return k[r] | |
} | |
if (!n.support.style && F && r === "style") { | |
if (E) k.style.cssText = "" + x; | |
return k.style.cssText | |
} | |
E && k.setAttribute(r, "" + x); | |
k = !n.support.hrefNormalized && F && T ? k.getAttribute(r, 2) : k.getAttribute(r); | |
return k === null ? b : k | |
} | |
return n.style(k, r, x) | |
} | |
}); | |
var ua = /\.(.*)$/, | |
ta = function(k) { | |
return k.replace(/[^\w\s\.\|`]/g, function(r) { | |
return "\\" + r | |
}) | |
}; | |
n.event = { | |
add: function(k, r, x, F) { | |
if (!(k.nodeType === | |
3 || k.nodeType === 8)) { | |
if (k.setInterval && k !== a && !k.frameElement) k = a; | |
var E, T; | |
if (x.handler) { | |
E = x; | |
x = E.handler | |
} | |
if (!x.guid) x.guid = n.guid++; | |
if (T = n.data(k)) { | |
var V = T.events = T.events || {}, | |
ca = T.handle; | |
if (!ca) T.handle = ca = function() { | |
return typeof n !== "undefined" && !n.event.triggered ? n.event.handle.apply(ca.elem, arguments) : b | |
}; | |
ca.elem = k; | |
r = r.split(" "); | |
for (var aa, da = 0, ha; aa = r[da++];) { | |
T = E ? n.extend({}, E) : { | |
handler: x, | |
data: F | |
}; | |
if (aa.indexOf(".") > -1) { | |
ha = aa.split("."); | |
aa = ha.shift(); | |
T.namespace = ha.slice(0).sort().join(".") | |
} else { | |
ha = []; | |
T.namespace = "" | |
} | |
T.type = aa; | |
T.guid = x.guid; | |
var qa = V[aa], | |
wa = n.event.special[aa] || {}; | |
if (!qa) { | |
qa = V[aa] = []; | |
if (!wa.setup || wa.setup.call(k, F, ha, ca) === false) | |
if (k.addEventListener) k.addEventListener(aa, ca, false); | |
else k.attachEvent && k.attachEvent("on" + aa, ca) | |
} | |
if (wa.add) { | |
wa.add.call(k, T); | |
if (!T.handler.guid) T.handler.guid = x.guid | |
} | |
qa.push(T); | |
n.event.global[aa] = true | |
} | |
k = null | |
} | |
} | |
}, | |
global: {}, | |
remove: function(k, r, x, F) { | |
if (!(k.nodeType === 3 || k.nodeType === 8)) { | |
var E, T = 0, | |
V, ca, aa, da, ha, qa, wa = n.data(k), | |
Ba = wa && wa.events; | |
if (wa && Ba) { | |
if (r && | |
r.type) { | |
x = r.handler; | |
r = r.type | |
} | |
if (!r || typeof r === "string" && r.charAt(0) === ".") { | |
r = r || ""; | |
for (E in Ba) n.event.remove(k, E + r) | |
} else { | |
for (r = r.split(" "); E = r[T++];) { | |
da = E; | |
V = E.indexOf(".") < 0; | |
ca = []; | |
if (!V) { | |
ca = E.split("."); | |
E = ca.shift(); | |
aa = RegExp("(^|\\.)" + n.map(ca.slice(0).sort(), ta).join("\\.(?:.*\\.)?") + "(\\.|$)") | |
} | |
if (ha = Ba[E]) | |
if (x) { | |
da = n.event.special[E] || {}; | |
for (ya = F || 0; ya < ha.length; ya++) { | |
qa = ha[ya]; | |
if (x.guid === qa.guid) { | |
if (V || aa.test(qa.namespace)) { | |
F == null && ha.splice(ya--, 1); | |
da.remove && da.remove.call(k, qa) | |
} | |
if (F != | |
null) break | |
} | |
} | |
if (ha.length === 0 || F != null && ha.length === 1) { | |
if (!da.teardown || da.teardown.call(k, ca) === false) za(k, E, wa.handle); | |
delete Ba[E] | |
} | |
} else | |
for (var ya = 0; ya < ha.length; ya++) { | |
qa = ha[ya]; | |
if (V || aa.test(qa.namespace)) { | |
n.event.remove(k, da, qa.handler, ya); | |
ha.splice(ya--, 1) | |
} | |
} | |
} | |
if (n.isEmptyObject(Ba)) { | |
if (r = wa.handle) r.elem = null; | |
delete wa.events; | |
delete wa.handle; | |
n.isEmptyObject(wa) && n.removeData(k) | |
} | |
} | |
} | |
} | |
}, | |
trigger: function(k, r, x, F) { | |
var E = k.type || k; | |
if (!F) { | |
k = typeof k === "object" ? k[ka] ? k : n.extend(n.Event(E), k) : n.Event(E); | |
if (E.indexOf("!") >= 0) { | |
k.type = E = E.slice(0, -1); | |
k.exclusive = true | |
} | |
if (!x) { | |
k.stopPropagation(); | |
n.event.global[E] && n.each(n.cache, function() { | |
this.events && this.events[E] && n.event.trigger(k, r, this.handle.elem) | |
}) | |
} | |
if (!x || x.nodeType === 3 || x.nodeType === 8) return b; | |
k.result = b; | |
k.target = x; | |
r = n.makeArray(r); | |
r.unshift(k) | |
} | |
k.currentTarget = x; | |
(F = n.data(x, "handle")) && F.apply(x, r); | |
F = x.parentNode || x.ownerDocument; | |
try { | |
if (!(x && x.nodeName && n.noData[x.nodeName.toLowerCase()])) | |
if (x["on" + E] && x["on" + E].apply(x, r) === false) k.result = | |
false | |
} catch (T) {} | |
if (!k.isPropagationStopped() && F) n.event.trigger(k, r, F, true); | |
else if (!k.isDefaultPrevented()) { | |
F = k.target; | |
var V, ca = n.nodeName(F, "a") && E === "click", | |
aa = n.event.special[E] || {}; | |
if ((!aa._default || aa._default.call(x, k) === false) && !ca && !(F && F.nodeName && n.noData[F.nodeName.toLowerCase()])) { | |
try { | |
if (F[E]) { | |
if (V = F["on" + E]) F["on" + E] = null; | |
n.event.triggered = true; | |
F[E]() | |
} | |
} catch (da) {} | |
if (V) F["on" + E] = V; | |
n.event.triggered = false | |
} | |
} | |
}, | |
handle: function(k) { | |
var r, x, F, E; | |
k = arguments[0] = n.event.fix(k || a.event); | |
k.currentTarget = | |
this; | |
r = k.type.indexOf(".") < 0 && !k.exclusive; | |
if (!r) { | |
x = k.type.split("."); | |
k.type = x.shift(); | |
F = RegExp("(^|\\.)" + x.slice(0).sort().join("\\.(?:.*\\.)?") + "(\\.|$)") | |
} | |
E = n.data(this, "events"); | |
x = E[k.type]; | |
if (E && x) { | |
x = x.slice(0); | |
E = 0; | |
for (var T = x.length; E < T; E++) { | |
var V = x[E]; | |
if (r || F.test(V.namespace)) { | |
k.handler = V.handler; | |
k.data = V.data; | |
k.handleObj = V; | |
V = V.handler.apply(this, arguments); | |
if (V !== b) { | |
k.result = V; | |
if (V === false) { | |
k.preventDefault(); | |
k.stopPropagation() | |
} | |
} | |
if (k.isImmediatePropagationStopped()) break | |
} | |
} | |
} | |
return k.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(k) { | |
if (k[ka]) return k; | |
var r = k; | |
k = n.Event(r); | |
for (var x = this.props.length, F; x;) { | |
F = this.props[--x]; | |
k[F] = r[F] | |
} | |
if (!k.target) k.target = k.srcElement || | |
t; | |
if (k.target.nodeType === 3) k.target = k.target.parentNode; | |
if (!k.relatedTarget && k.fromElement) k.relatedTarget = k.fromElement === k.target ? k.toElement : k.fromElement; | |
if (k.pageX == null && k.clientX != null) { | |
r = t.documentElement; | |
x = t.body; | |
k.pageX = k.clientX + (r && r.scrollLeft || x && x.scrollLeft || 0) - (r && r.clientLeft || x && x.clientLeft || 0); | |
k.pageY = k.clientY + (r && r.scrollTop || x && x.scrollTop || 0) - (r && r.clientTop || x && x.clientTop || 0) | |
} | |
if (!k.which && (k.charCode || k.charCode === 0 ? k.charCode : k.keyCode)) k.which = k.charCode || k.keyCode; | |
if (!k.metaKey && | |
k.ctrlKey) k.metaKey = k.ctrlKey; | |
if (!k.which && k.button !== b) k.which = k.button & 1 ? 1 : k.button & 2 ? 3 : k.button & 4 ? 2 : 0; | |
return k | |
}, | |
guid: 1E8, | |
proxy: n.proxy, | |
special: { | |
ready: { | |
setup: n.bindReady, | |
teardown: n.noop | |
}, | |
live: { | |
add: function(k) { | |
n.event.add(this, k.origType, n.extend({}, k, { | |
handler: A | |
})) | |
}, | |
remove: function(k) { | |
var r = true, | |
x = k.origType.replace(ua, ""); | |
n.each(n.data(this, "events").live || [], function() { | |
if (x === this.origType.replace(ua, "")) return r = false | |
}); | |
r && n.event.remove(this, k.origType, A) | |
} | |
}, | |
beforeunload: { | |
setup: function(k, r, x) { | |
if (this.setInterval) this.onbeforeunload = | |
x; | |
return false | |
}, | |
teardown: function(k, r) { | |
if (this.onbeforeunload === r) this.onbeforeunload = null | |
} | |
} | |
} | |
}; | |
var za = t.removeEventListener ? function(k, r, x) { | |
k.removeEventListener(r, x, false) | |
} : function(k, r, x) { | |
k.detachEvent("on" + r, x) | |
}; | |
n.Event = function(k) { | |
if (!this.preventDefault) return new n.Event(k); | |
if (k && k.type) { | |
this.originalEvent = k; | |
this.type = k.type | |
} else this.type = k; | |
this.timeStamp = j(); | |
this[ka] = true | |
}; | |
n.Event.prototype = { | |
preventDefault: function() { | |
this.isDefaultPrevented = o; | |
var k = this.originalEvent; | |
if (k) { | |
k.preventDefault && | |
k.preventDefault(); | |
k.returnValue = false | |
} | |
}, | |
stopPropagation: function() { | |
this.isPropagationStopped = o; | |
var k = this.originalEvent; | |
if (k) { | |
k.stopPropagation && k.stopPropagation(); | |
k.cancelBubble = true | |
} | |
}, | |
stopImmediatePropagation: function() { | |
this.isImmediatePropagationStopped = o; | |
this.stopPropagation() | |
}, | |
isDefaultPrevented: l, | |
isPropagationStopped: l, | |
isImmediatePropagationStopped: l | |
}; | |
var Aa = function(k) { | |
var r = k.relatedTarget; | |
try { | |
for (; r && r !== this;) r = r.parentNode; | |
if (r !== this) { | |
k.type = k.data; | |
n.event.handle.apply(this, arguments) | |
} | |
} catch (x) {} | |
}, | |
Ha = function(k) { | |
k.type = k.data; | |
n.event.handle.apply(this, arguments) | |
}; | |
n.each({ | |
mouseenter: "mouseover", | |
mouseleave: "mouseout" | |
}, function(k, r) { | |
n.event.special[k] = { | |
setup: function(x) { | |
n.event.add(this, r, x && x.selector ? Ha : Aa, k) | |
}, | |
teardown: function(x) { | |
n.event.remove(this, r, x && x.selector ? Ha : Aa) | |
} | |
} | |
}); | |
if (!n.support.submitBubbles) n.event.special.submit = { | |
setup: function() { | |
if (this.nodeName.toLowerCase() !== "form") { | |
n.event.add(this, "click.specialSubmit", function(k) { | |
var r = k.target, | |
x = r.type; | |
if ((x === "submit" || x === "image") && | |
n(r).closest("form").length) return v("submit", this, arguments) | |
}); | |
n.event.add(this, "keypress.specialSubmit", function(k) { | |
var r = k.target, | |
x = r.type; | |
if ((x === "text" || x === "password") && n(r).closest("form").length && k.keyCode === 13) return v("submit", this, arguments) | |
}) | |
} else return false | |
}, | |
teardown: function() { | |
n.event.remove(this, ".specialSubmit") | |
} | |
}; | |
if (!n.support.changeBubbles) { | |
var Ia = /textarea|input|select/i, | |
Fa, Ga = function(k) { | |
var r = k.type, | |
x = k.value; | |
if (r === "radio" || r === "checkbox") x = k.checked; | |
else if (r === "select-multiple") x = | |
k.selectedIndex > -1 ? n.map(k.options, function(F) { | |
return F.selected | |
}).join("-") : ""; | |
else if (k.nodeName.toLowerCase() === "select") x = k.selectedIndex; | |
return x | |
}, | |
Ja = function(k, r) { | |
var x = k.target, | |
F, E; | |
if (!(!Ia.test(x.nodeName) || x.readOnly)) { | |
F = n.data(x, "_change_data"); | |
E = Ga(x); | |
if (k.type !== "focusout" || x.type !== "radio") n.data(x, "_change_data", E); | |
if (!(F === b || E === F)) | |
if (F != null || E) { | |
k.type = "change"; | |
return n.event.trigger(k, r, x) | |
} | |
} | |
}; | |
n.event.special.change = { | |
filters: { | |
focusout: Ja, | |
click: function(k) { | |
var r = k.target, | |
x = r.type; | |
if (x === "radio" || x === "checkbox" || r.nodeName.toLowerCase() === "select") return Ja.call(this, k) | |
}, | |
keydown: function(k) { | |
var r = k.target, | |
x = r.type; | |
if (k.keyCode === 13 && r.nodeName.toLowerCase() !== "textarea" || k.keyCode === 32 && (x === "checkbox" || x === "radio") || x === "select-multiple") return Ja.call(this, k) | |
}, | |
beforeactivate: function(k) { | |
k = k.target; | |
n.data(k, "_change_data", Ga(k)) | |
} | |
}, | |
setup: function() { | |
if (this.type === "file") return false; | |
for (var k in Fa) n.event.add(this, k + ".specialChange", Fa[k]); | |
return Ia.test(this.nodeName) | |
}, | |
teardown: function() { | |
n.event.remove(this, | |
".specialChange"); | |
return Ia.test(this.nodeName) | |
} | |
}; | |
Fa = n.event.special.change.filters | |
} | |
t.addEventListener && n.each({ | |
focus: "focusin", | |
blur: "focusout" | |
}, function(k, r) { | |
function x(F) { | |
F = n.event.fix(F); | |
F.type = r; | |
return n.event.handle.call(this, F) | |
} | |
n.event.special[r] = { | |
setup: function() { | |
this.addEventListener(k, x, true) | |
}, | |
teardown: function() { | |
this.removeEventListener(k, x, true) | |
} | |
} | |
}); | |
n.each(["bind", "one"], function(k, r) { | |
n.fn[r] = function(x, F, E) { | |
if (typeof x === "object") { | |
for (var T in x) this[r](T, F, x[T], E); | |
return this | |
} | |
if (n.isFunction(F)) { | |
E = | |
F; | |
F = b | |
} | |
var V = r === "one" ? n.proxy(E, function(aa) { | |
n(this).unbind(aa, V); | |
return E.apply(this, arguments) | |
}) : E; | |
if (x === "unload" && r !== "one") this.one(x, F, E); | |
else { | |
T = 0; | |
for (var ca = this.length; T < ca; T++) n.event.add(this[T], x, V, F) | |
} | |
return this | |
} | |
}); | |
n.fn.extend({ | |
unbind: function(k, r) { | |
if (typeof k === "object" && !k.preventDefault) | |
for (var x in k) this.unbind(x, k[x]); | |
else { | |
x = 0; | |
for (var F = this.length; x < F; x++) n.event.remove(this[x], k, r) | |
} | |
return this | |
}, | |
delegate: function(k, r, x, F) { | |
return this.live(r, x, F, k) | |
}, | |
undelegate: function(k, r, x) { | |
return arguments.length === | |
0 ? this.unbind("live") : this.die(r, null, x, k) | |
}, | |
trigger: function(k, r) { | |
return this.each(function() { | |
n.event.trigger(k, r, this) | |
}) | |
}, | |
triggerHandler: function(k, r) { | |
if (this[0]) { | |
k = n.Event(k); | |
k.preventDefault(); | |
k.stopPropagation(); | |
n.event.trigger(k, r, this[0]); | |
return k.result | |
} | |
}, | |
toggle: function(k) { | |
for (var r = arguments, x = 1; x < r.length;) n.proxy(k, r[x++]); | |
return this.click(n.proxy(k, function(F) { | |
var E = (n.data(this, "lastToggle" + k.guid) || 0) % x; | |
n.data(this, "lastToggle" + k.guid, E + 1); | |
F.preventDefault(); | |
return r[E].apply(this, | |
arguments) || false | |
})) | |
}, | |
hover: function(k, r) { | |
return this.mouseenter(k).mouseleave(r || k) | |
} | |
}); | |
var Ma = { | |
focus: "focusin", | |
blur: "focusout", | |
mouseenter: "mouseover", | |
mouseleave: "mouseout" | |
}; | |
n.each(["live", "die"], function(k, r) { | |
n.fn[r] = function(x, F, E, T) { | |
var V, ca = 0, | |
aa, da, ha = T || this.selector, | |
qa = T ? this : n(this.context); | |
if (n.isFunction(F)) { | |
E = F; | |
F = b | |
} | |
for (x = (x || "").split(" "); | |
(V = x[ca++]) != null;) { | |
T = ua.exec(V); | |
aa = ""; | |
if (T) { | |
aa = T[0]; | |
V = V.replace(ua, "") | |
} | |
if (V === "hover") x.push("mouseenter" + aa, "mouseleave" + aa); | |
else { | |
da = V; | |
if (V === "focus" || | |
V === "blur") { | |
x.push(Ma[V] + aa); | |
V += aa | |
} else V = (Ma[V] || V) + aa; | |
r === "live" ? qa.each(function() { | |
n.event.add(this, C(V, ha), { | |
data: F, | |
selector: ha, | |
handler: E, | |
origType: V, | |
origHandler: E, | |
preType: da | |
}) | |
}) : qa.unbind(C(V, ha), E) | |
} | |
} | |
return this | |
} | |
}); | |
n.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(k, r) { | |
n.fn[r] = function(x) { | |
return x ? this.bind(r, x) : this.trigger(r) | |
}; | |
if (n.attrFn) n.attrFn[r] = true | |
}); | |
a.attachEvent && !a.addEventListener && a.attachEvent("onunload", function() { | |
for (var k in n.cache) | |
if (n.cache[k].handle) try { | |
n.event.remove(n.cache[k].handle.elem) | |
} catch (r) {} | |
}); | |
(function() { | |
function k(N) { | |
for (var S = "", Y, ba = 0; N[ba]; ba++) { | |
Y = N[ba]; | |
if (Y.nodeType === 3 || Y.nodeType === 4) S += Y.nodeValue; | |
else if (Y.nodeType !== 8) S += k(Y.childNodes) | |
} | |
return S | |
} | |
function r(N, S, Y, ba, fa, ea) { | |
fa = 0; | |
for (var oa = ba.length; fa < oa; fa++) { | |
var na = ba[fa]; | |
if (na) { | |
na = na[N]; | |
for (var va = false; na;) { | |
if (na.sizcache === | |
Y) { | |
va = ba[na.sizset]; | |
break | |
} | |
if (na.nodeType === 1 && !ea) { | |
na.sizcache = Y; | |
na.sizset = fa | |
} | |
if (na.nodeName.toLowerCase() === S) { | |
va = na; | |
break | |
} | |
na = na[N] | |
} | |
ba[fa] = va | |
} | |
} | |
} | |
function x(N, S, Y, ba, fa, ea) { | |
fa = 0; | |
for (var oa = ba.length; fa < oa; fa++) { | |
var na = ba[fa]; | |
if (na) { | |
na = na[N]; | |
for (var va = false; na;) { | |
if (na.sizcache === Y) { | |
va = ba[na.sizset]; | |
break | |
} | |
if (na.nodeType === 1) { | |
if (!ea) { | |
na.sizcache = Y; | |
na.sizset = fa | |
} | |
if (typeof S !== "string") { | |
if (na === S) { | |
va = true; | |
break | |
} | |
} else if (aa.filter(S, [na]).length > 0) { | |
va = na; | |
break | |
} | |
} | |
na = na[N] | |
} | |
ba[fa] = va | |
} | |
} | |
} | |
var F = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, | |
E = 0, | |
T = Object.prototype.toString, | |
V = false, | |
ca = true; | |
[0, 0].sort(function() { | |
ca = false; | |
return 0 | |
}); | |
var aa = function(N, S, Y, ba) { | |
Y = Y || []; | |
var fa = S = S || t; | |
if (S.nodeType !== 1 && S.nodeType !== 9) return []; | |
if (!N || typeof N !== "string") return Y; | |
for (var ea = [], oa, na, va, Pa, Ka = true, Na = sa(S), La = N; | |
(F.exec(""), oa = F.exec(La)) !== null;) { | |
La = oa[3]; | |
ea.push(oa[1]); | |
if (oa[2]) { | |
Pa = oa[3]; | |
break | |
} | |
} | |
if (ea.length > 1 && ha.exec(N)) | |
if (ea.length === 2 && da.relative[ea[0]]) na = Ta(ea[0] + ea[1], S); | |
else | |
for (na = da.relative[ea[0]] ? [S] : aa(ea.shift(), S); ea.length;) { | |
N = | |
ea.shift(); | |
if (da.relative[N]) N += ea.shift(); | |
na = Ta(N, na) | |
} else { | |
if (!ba && ea.length > 1 && S.nodeType === 9 && !Na && da.match.ID.test(ea[0]) && !da.match.ID.test(ea[ea.length - 1])) { | |
oa = aa.find(ea.shift(), S, Na); | |
S = oa.expr ? aa.filter(oa.expr, oa.set)[0] : oa.set[0] | |
} | |
if (S) { | |
oa = ba ? { | |
expr: ea.pop(), | |
set: wa(ba) | |
} : aa.find(ea.pop(), ea.length === 1 && (ea[0] === "~" || ea[0] === "+") && S.parentNode ? S.parentNode : S, Na); | |
na = oa.expr ? aa.filter(oa.expr, oa.set) : oa.set; | |
if (ea.length > 0) va = wa(na); | |
else Ka = false; | |
for (; ea.length;) { | |
var Ca = ea.pop(); | |
oa = Ca; | |
if (da.relative[Ca]) oa = | |
ea.pop(); | |
else Ca = ""; | |
if (oa == null) oa = S; | |
da.relative[Ca](va, oa, Na) | |
} | |
} else va = [] | |
} | |
va || (va = na); | |
va || aa.error(Ca || N); | |
if (T.call(va) === "[object Array]") | |
if (Ka) | |
if (S && S.nodeType === 1) | |
for (N = 0; va[N] != null; N++) { | |
if (va[N] && (va[N] === true || va[N].nodeType === 1 && Da(S, va[N]))) Y.push(na[N]) | |
} else | |
for (N = 0; va[N] != null; N++) va[N] && va[N].nodeType === 1 && Y.push(na[N]); | |
else Y.push.apply(Y, va); | |
else wa(va, Y); | |
if (Pa) { | |
aa(Pa, fa, Y, ba); | |
aa.uniqueSort(Y) | |
} | |
return Y | |
}; | |
aa.uniqueSort = function(N) { | |
if (ya) { | |
V = ca; | |
N.sort(ya); | |
if (V) | |
for (var S = 1; S < N.length; S++) N[S] === | |
N[S - 1] && N.splice(S--, 1) | |
} | |
return N | |
}; | |
aa.matches = function(N, S) { | |
return aa(N, null, null, S) | |
}; | |
aa.find = function(N, S, Y) { | |
var ba, fa; | |
if (!N) return []; | |
for (var ea = 0, oa = da.order.length; ea < oa; ea++) { | |
var na = da.order[ea]; | |
if (fa = da.leftMatch[na].exec(N)) { | |
var va = fa[1]; | |
fa.splice(1, 1); | |
if (va.substr(va.length - 1) !== "\\") { | |
fa[1] = (fa[1] || "").replace(/\\/g, ""); | |
ba = da.find[na](fa, S, Y); | |
if (ba != null) { | |
N = N.replace(da.match[na], ""); | |
break | |
} | |
} | |
} | |
} | |
ba || (ba = S.getElementsByTagName("*")); | |
return { | |
set: ba, | |
expr: N | |
} | |
}; | |
aa.filter = function(N, S, Y, ba) { | |
for (var fa = | |
N, ea = [], oa = S, na, va, Pa = S && S[0] && sa(S[0]); N && S.length;) { | |
for (var Ka in da.filter) | |
if ((na = da.leftMatch[Ka].exec(N)) != null && na[2]) { | |
var Na = da.filter[Ka], | |
La, Ca; | |
Ca = na[1]; | |
va = false; | |
na.splice(1, 1); | |
if (Ca.substr(Ca.length - 1) !== "\\") { | |
if (oa === ea) ea = []; | |
if (da.preFilter[Ka]) | |
if (na = da.preFilter[Ka](na, oa, Y, ea, ba, Pa)) { | |
if (na === true) continue | |
} else va = La = true; | |
if (na) | |
for (var Qa = 0; | |
(Ca = oa[Qa]) != null; Qa++) | |
if (Ca) { | |
La = Na(Ca, na, Qa, oa); | |
var bb = ba ^ !!La; | |
if (Y && La != null) | |
if (bb) va = true; | |
else oa[Qa] = false; | |
else if (bb) { | |
ea.push(Ca); | |
va = true | |
} | |
} | |
if (La !== | |
b) { | |
Y || (oa = ea); | |
N = N.replace(da.match[Ka], ""); | |
if (!va) return []; | |
break | |
} | |
} | |
} | |
if (N === fa) | |
if (va == null) aa.error(N); | |
else break; | |
fa = N | |
} | |
return oa | |
}; | |
aa.error = function(N) { | |
throw "Syntax error, unrecognized expression: " + N; | |
}; | |
var da = aa.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(N) { | |
return N.getAttribute("href") | |
} | |
}, | |
relative: { | |
"+": function(N, S) { | |
var Y = typeof S === "string", | |
ba = Y && !/\W/.test(S); | |
Y = Y && !ba; | |
if (ba) S = S.toLowerCase(); | |
ba = 0; | |
for (var fa = N.length, ea; ba < fa; ba++) | |
if (ea = N[ba]) { | |
for (; | |
(ea = | |
ea.previousSibling) && ea.nodeType !== 1;); | |
N[ba] = Y || ea && ea.nodeName.toLowerCase() === S ? ea || false : ea === S | |
} | |
Y && aa.filter(S, N, true) | |
}, | |
">": function(N, S) { | |
var Y = typeof S === "string"; | |
if (Y && !/\W/.test(S)) { | |
S = S.toLowerCase(); | |
for (var ba = 0, fa = N.length; ba < fa; ba++) { | |
var ea = N[ba]; | |
if (ea) { | |
Y = ea.parentNode; | |
N[ba] = Y.nodeName.toLowerCase() === S ? Y : false | |
} | |
} | |
} else { | |
ba = 0; | |
for (fa = N.length; ba < fa; ba++) | |
if (ea = N[ba]) N[ba] = Y ? ea.parentNode : ea.parentNode === S; | |
Y && aa.filter(S, N, true) | |
} | |
}, | |
"": function(N, S, Y) { | |
var ba = E++, | |
fa = x; | |
if (typeof S === "string" && !/\W/.test(S)) { | |
var ea = | |
S = S.toLowerCase(); | |
fa = r | |
} | |
fa("parentNode", S, ba, N, ea, Y) | |
}, | |
"~": function(N, S, Y) { | |
var ba = E++, | |
fa = x; | |
if (typeof S === "string" && !/\W/.test(S)) { | |
var ea = S = S.toLowerCase(); | |
fa = r | |
} | |
fa("previousSibling", S, ba, N, ea, Y) | |
} | |
}, | |
find: { | |
ID: function(N, S, Y) { | |
if (typeof S.getElementById !== "undefined" && !Y) return (N = S.getElementById(N[1])) ? [N] : [] | |
}, | |
NAME: function(N, S) { | |
if (typeof S.getElementsByName !== "undefined") { | |
var Y = []; | |
S = S.getElementsByName(N[1]); | |
for (var ba = 0, fa = S.length; ba < fa; ba++) S[ba].getAttribute("name") === N[1] && Y.push(S[ba]); | |
return Y.length === | |
0 ? null : Y | |
} | |
}, | |
TAG: function(N, S) { | |
return S.getElementsByTagName(N[1]) | |
} | |
}, | |
preFilter: { | |
CLASS: function(N, S, Y, ba, fa, ea) { | |
N = " " + N[1].replace(/\\/g, "") + " "; | |
if (ea) return N; | |
ea = 0; | |
for (var oa; | |
(oa = S[ea]) != null; ea++) | |
if (oa) | |
if (fa ^ (oa.className && (" " + oa.className + " ").replace(/[\t\n]/g, " ").indexOf(N) >= 0)) Y || ba.push(oa); | |
else if (Y) S[ea] = false; | |
return false | |
}, | |
ID: function(N) { | |
return N[1].replace(/\\/g, "") | |
}, | |
TAG: function(N) { | |
return N[1].toLowerCase() | |
}, | |
CHILD: function(N) { | |
if (N[1] === "nth") { | |
var S = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(N[2] === | |
"even" && "2n" || N[2] === "odd" && "2n+1" || !/\D/.test(N[2]) && "0n+" + N[2] || N[2]); | |
N[2] = S[1] + (S[2] || 1) - 0; | |
N[3] = S[3] - 0 | |
} | |
N[0] = E++; | |
return N | |
}, | |
ATTR: function(N, S, Y, ba, fa, ea) { | |
S = N[1].replace(/\\/g, ""); | |
if (!ea && da.attrMap[S]) N[1] = da.attrMap[S]; | |
if (N[2] === "~=") N[4] = " " + N[4] + " "; | |
return N | |
}, | |
PSEUDO: function(N, S, Y, ba, fa) { | |
if (N[1] === "not") | |
if ((F.exec(N[3]) || "").length > 1 || /^\w/.test(N[3])) N[3] = aa(N[3], null, null, S); | |
else { | |
N = aa.filter(N[3], S, Y, true ^ fa); | |
Y || ba.push.apply(ba, N); | |
return false | |
} else if (da.match.POS.test(N[0]) || da.match.CHILD.test(N[0])) return true; | |
return N | |
}, | |
POS: function(N) { | |
N.unshift(true); | |
return N | |
} | |
}, | |
filters: { | |
enabled: function(N) { | |
return N.disabled === false && N.type !== "hidden" | |
}, | |
disabled: function(N) { | |
return N.disabled === true | |
}, | |
checked: function(N) { | |
return N.checked === true | |
}, | |
selected: function(N) { | |
return N.selected === true | |
}, | |
parent: function(N) { | |
return !!N.firstChild | |
}, | |
empty: function(N) { | |
return !N.firstChild | |
}, | |
has: function(N, S, Y) { | |
return !!aa(Y[3], N).length | |
}, | |
header: function(N) { | |
return /h\d/i.test(N.nodeName) | |
}, | |
text: function(N) { | |
return "text" === N.type | |
}, | |
radio: function(N) { | |
return "radio" === | |
N.type | |
}, | |
checkbox: function(N) { | |
return "checkbox" === N.type | |
}, | |
file: function(N) { | |
return "file" === N.type | |
}, | |
password: function(N) { | |
return "password" === N.type | |
}, | |
submit: function(N) { | |
return "submit" === N.type | |
}, | |
image: function(N) { | |
return "image" === N.type | |
}, | |
reset: function(N) { | |
return "reset" === N.type | |
}, | |
button: function(N) { | |
return "button" === N.type || N.nodeName.toLowerCase() === "button" | |
}, | |
input: function(N) { | |
return /input|select|textarea|button/i.test(N.nodeName) | |
} | |
}, | |
setFilters: { | |
first: function(N, S) { | |
return S === 0 | |
}, | |
last: function(N, S, Y, ba) { | |
return S === | |
ba.length - 1 | |
}, | |
even: function(N, S) { | |
return S % 2 === 0 | |
}, | |
odd: function(N, S) { | |
return S % 2 === 1 | |
}, | |
lt: function(N, S, Y) { | |
return S < Y[3] - 0 | |
}, | |
gt: function(N, S, Y) { | |
return S > Y[3] - 0 | |
}, | |
nth: function(N, S, Y) { | |
return Y[3] - 0 === S | |
}, | |
eq: function(N, S, Y) { | |
return Y[3] - 0 === S | |
} | |
}, | |
filter: { | |
PSEUDO: function(N, S, Y, ba) { | |
var fa = S[1], | |
ea = da.filters[fa]; | |
if (ea) return ea(N, Y, S, ba); | |
else if (fa === "contains") return (N.textContent || N.innerText || k([N]) || "").indexOf(S[3]) >= 0; | |
else if (fa === "not") { | |
S = S[3]; | |
Y = 0; | |
for (ba = S.length; Y < ba; Y++) | |
if (S[Y] === N) return false; | |
return true | |
} else aa.error("Syntax error, unrecognized expression: " + | |
fa) | |
}, | |
CHILD: function(N, S) { | |
var Y = S[1], | |
ba = N; | |
switch (Y) { | |
case "only": | |
case "first": | |
for (; ba = ba.previousSibling;) | |
if (ba.nodeType === 1) return false; | |
if (Y === "first") return true; | |
ba = N; | |
case "last": | |
for (; ba = ba.nextSibling;) | |
if (ba.nodeType === 1) return false; | |
return true; | |
case "nth": | |
Y = S[2]; | |
var fa = S[3]; | |
if (Y === 1 && fa === 0) return true; | |
S = S[0]; | |
var ea = N.parentNode; | |
if (ea && (ea.sizcache !== S || !N.nodeIndex)) { | |
var oa = 0; | |
for (ba = ea.firstChild; ba; ba = ba.nextSibling) | |
if (ba.nodeType === 1) ba.nodeIndex = ++oa; | |
ea.sizcache = S | |
} | |
N = N.nodeIndex - fa; | |
return Y === | |
0 ? N === 0 : N % Y === 0 && N / Y >= 0 | |
} | |
}, | |
ID: function(N, S) { | |
return N.nodeType === 1 && N.getAttribute("id") === S | |
}, | |
TAG: function(N, S) { | |
return S === "*" && N.nodeType === 1 || N.nodeName.toLowerCase() === S | |
}, | |
CLASS: function(N, S) { | |
return (" " + (N.className || N.getAttribute("class")) + " ").indexOf(S) > -1 | |
}, | |
ATTR: function(N, S) { | |
var Y = S[1]; | |
N = da.attrHandle[Y] ? da.attrHandle[Y](N) : N[Y] != null ? N[Y] : N.getAttribute(Y); | |
Y = N + ""; | |
var ba = S[2]; | |
S = S[4]; | |
return N == null ? ba === "!=" : ba === "=" ? Y === S : ba === "*=" ? Y.indexOf(S) >= 0 : ba === "~=" ? (" " + Y + " ").indexOf(S) >= 0 : !S ? Y && N !== | |
false : ba === "!=" ? Y !== S : ba === "^=" ? Y.indexOf(S) === 0 : ba === "$=" ? Y.substr(Y.length - S.length) === S : ba === "|=" ? Y === S || Y.substr(0, S.length + 1) === S + "-" : false | |
}, | |
POS: function(N, S, Y, ba) { | |
var fa = da.setFilters[S[2]]; | |
if (fa) return fa(N, Y, S, ba) | |
} | |
} | |
}, | |
ha = da.match.POS, | |
qa; | |
for (qa in da.match) { | |
da.match[qa] = RegExp(da.match[qa].source + /(?![^\[]*\])(?![^\(]*\))/.source); | |
da.leftMatch[qa] = RegExp(/(^(?:.|\r|\n)*?)/.source + da.match[qa].source.replace(/\\(\d+)/g, function(N, S) { | |
return "\\" + (S - 0 + 1) | |
})) | |
} | |
var wa = function(N, S) { | |
N = Array.prototype.slice.call(N, | |
0); | |
if (S) { | |
S.push.apply(S, N); | |
return S | |
} | |
return N | |
}; | |
try { | |
Array.prototype.slice.call(t.documentElement.childNodes, 0) | |
} catch (Ba) { | |
wa = function(N, S) { | |
S = S || []; | |
if (T.call(N) === "[object Array]") Array.prototype.push.apply(S, N); | |
else if (typeof N.length === "number") | |
for (var Y = 0, ba = N.length; Y < ba; Y++) S.push(N[Y]); | |
else | |
for (Y = 0; N[Y]; Y++) S.push(N[Y]); | |
return S | |
} | |
} | |
var ya; | |
if (t.documentElement.compareDocumentPosition) ya = function(N, S) { | |
if (!N.compareDocumentPosition || !S.compareDocumentPosition) { | |
if (N == S) V = true; | |
return N.compareDocumentPosition ? | |
-1 : 1 | |
} | |
N = N.compareDocumentPosition(S) & 4 ? -1 : N === S ? 0 : 1; | |
if (N === 0) V = true; | |
return N | |
}; | |
else if ("sourceIndex" in t.documentElement) ya = function(N, S) { | |
if (!N.sourceIndex || !S.sourceIndex) { | |
if (N == S) V = true; | |
return N.sourceIndex ? -1 : 1 | |
} | |
N = N.sourceIndex - S.sourceIndex; | |
if (N === 0) V = true; | |
return N | |
}; | |
else if (t.createRange) ya = function(N, S) { | |
if (!N.ownerDocument || !S.ownerDocument) { | |
if (N == S) V = true; | |
return N.ownerDocument ? -1 : 1 | |
} | |
var Y = N.ownerDocument.createRange(), | |
ba = S.ownerDocument.createRange(); | |
Y.setStart(N, 0); | |
Y.setEnd(N, 0); | |
ba.setStart(S, | |
0); | |
ba.setEnd(S, 0); | |
N = Y.compareBoundaryPoints(Range.START_TO_END, ba); | |
if (N === 0) V = true; | |
return N | |
}; | |
(function() { | |
var N = t.createElement("div"), | |
S = "script" + (new Date).getTime(); | |
N.innerHTML = "<a name='" + S + "'/>"; | |
var Y = t.documentElement; | |
Y.insertBefore(N, Y.firstChild); | |
if (t.getElementById(S)) { | |
da.find.ID = function(ba, fa, ea) { | |
if (typeof fa.getElementById !== "undefined" && !ea) return (fa = fa.getElementById(ba[1])) ? fa.id === ba[1] || typeof fa.getAttributeNode !== "undefined" && fa.getAttributeNode("id").nodeValue === ba[1] ? [fa] : b : [] | |
}; | |
da.filter.ID = function(ba, fa) { | |
var ea = typeof ba.getAttributeNode !== "undefined" && ba.getAttributeNode("id"); | |
return ba.nodeType === 1 && ea && ea.nodeValue === fa | |
} | |
} | |
Y.removeChild(N); | |
Y = N = null | |
})(); | |
(function() { | |
var N = t.createElement("div"); | |
N.appendChild(t.createComment("")); | |
if (N.getElementsByTagName("*").length > 0) da.find.TAG = function(S, Y) { | |
Y = Y.getElementsByTagName(S[1]); | |
if (S[1] === "*") { | |
S = []; | |
for (var ba = 0; Y[ba]; ba++) Y[ba].nodeType === 1 && S.push(Y[ba]); | |
Y = S | |
} | |
return Y | |
}; | |
N.innerHTML = "<a href='#'></a>"; | |
if (N.firstChild && typeof N.firstChild.getAttribute !== | |
"undefined" && N.firstChild.getAttribute("href") !== "#") da.attrHandle.href = function(S) { | |
return S.getAttribute("href", 2) | |
}; | |
N = null | |
})(); | |
t.querySelectorAll && function() { | |
var N = aa, | |
S = t.createElement("div"); | |
S.innerHTML = "<p class='TEST'></p>"; | |
if (!(S.querySelectorAll && S.querySelectorAll(".TEST").length === 0)) { | |
aa = function(ba, fa, ea, oa) { | |
fa = fa || t; | |
if (!oa && fa.nodeType === 9 && !sa(fa)) try { | |
return wa(fa.querySelectorAll(ba), ea) | |
} catch (na) {} | |
return N(ba, fa, ea, oa) | |
}; | |
for (var Y in N) aa[Y] = N[Y]; | |
S = null | |
} | |
}(); | |
(function() { | |
var N = t.createElement("div"); | |
N.innerHTML = "<div class='test e'></div><div class='test'></div>"; | |
if (!(!N.getElementsByClassName || N.getElementsByClassName("e").length === 0)) { | |
N.lastChild.className = "e"; | |
if (N.getElementsByClassName("e").length !== 1) { | |
da.order.splice(1, 0, "CLASS"); | |
da.find.CLASS = function(S, Y, ba) { | |
if (typeof Y.getElementsByClassName !== "undefined" && !ba) return Y.getElementsByClassName(S[1]) | |
}; | |
N = null | |
} | |
} | |
})(); | |
var Da = t.compareDocumentPosition ? function(N, S) { | |
return !!(N.compareDocumentPosition(S) & 16) | |
} : function(N, S) { | |
return N !== S && (N.contains ? | |
N.contains(S) : true) | |
}, | |
sa = function(N) { | |
return (N = (N ? N.ownerDocument || N : 0).documentElement) ? N.nodeName !== "HTML" : false | |
}, | |
Ta = function(N, S) { | |
var Y = [], | |
ba = "", | |
fa; | |
for (S = S.nodeType ? [S] : S; fa = da.match.PSEUDO.exec(N);) { | |
ba += fa[0]; | |
N = N.replace(da.match.PSEUDO, "") | |
} | |
N = da.relative[N] ? N + "*" : N; | |
fa = 0; | |
for (var ea = S.length; fa < ea; fa++) aa(N, S[fa], Y); | |
return aa.filter(ba, Y) | |
}; | |
n.find = aa; | |
n.expr = aa.selectors; | |
n.expr[":"] = n.expr.filters; | |
n.unique = aa.uniqueSort; | |
n.text = k; | |
n.isXMLDoc = sa; | |
n.contains = Da | |
})(); | |
var kb = /Until$/, | |
lb = /^(?:parents|prevUntil|prevAll)/, | |
mb = /,/; | |
ja = Array.prototype.slice; | |
var cb = function(k, r, x) { | |
if (n.isFunction(r)) return n.grep(k, function(E, T) { | |
return !!r.call(E, T, E) === x | |
}); | |
else if (r.nodeType) return n.grep(k, function(E) { | |
return E === r === x | |
}); | |
else if (typeof r === "string") { | |
var F = n.grep(k, function(E) { | |
return E.nodeType === 1 | |
}); | |
if (M.test(r)) return n.filter(r, F, !x); | |
else r = n.filter(r, F) | |
} | |
return n.grep(k, function(E) { | |
return n.inArray(E, r) >= 0 === x | |
}) | |
}; | |
n.fn.extend({ | |
find: function(k) { | |
for (var r = this.pushStack("", "find", k), x = 0, F = 0, E = this.length; F < E; F++) { | |
x = r.length; | |
n.find(k, this[F], r); | |
if (F > 0) | |
for (var T = x; T < r.length; T++) | |
for (var V = 0; V < x; V++) | |
if (r[V] === r[T]) { | |
r.splice(T--, 1); | |
break | |
} | |
} | |
return r | |
}, | |
has: function(k) { | |
var r = n(k); | |
return this.filter(function() { | |
for (var x = 0, F = r.length; x < F; x++) | |
if (n.contains(this, r[x])) return true | |
}) | |
}, | |
not: function(k) { | |
return this.pushStack(cb(this, k, false), "not", k) | |
}, | |
filter: function(k) { | |
return this.pushStack(cb(this, k, true), "filter", k) | |
}, | |
is: function(k) { | |
return !!k && n.filter(k, this).length > 0 | |
}, | |
closest: function(k, r) { | |
if (n.isArray(k)) { | |
var x = [], | |
F = this[0], | |
E, T = {}, | |
V; | |
if (F && k.length) { | |
E = 0; | |
for (var ca = k.length; E < ca; E++) { | |
V = k[E]; | |
T[V] || (T[V] = n.expr.match.POS.test(V) ? n(V, r || this.context) : V) | |
} | |
for (; F && F.ownerDocument && F !== r;) { | |
for (V in T) { | |
E = T[V]; | |
if (E.jquery ? E.index(F) > -1 : n(F).is(E)) { | |
x.push({ | |
selector: V, | |
elem: F | |
}); | |
delete T[V] | |
} | |
} | |
F = F.parentNode | |
} | |
} | |
return x | |
} | |
var aa = n.expr.match.POS.test(k) ? n(k, r || this.context) : null; | |
return this.map(function(da, ha) { | |
for (; ha && ha.ownerDocument && ha !== r;) { | |
if (aa ? aa.index(ha) > -1 : n(ha).is(k)) return ha; | |
ha = ha.parentNode | |
} | |
return null | |
}) | |
}, | |
index: function(k) { | |
if (!k || | |
typeof k === "string") return n.inArray(this[0], k ? n(k) : this.parent().children()); | |
return n.inArray(k.jquery ? k[0] : k, this) | |
}, | |
add: function(k, r) { | |
k = typeof k === "string" ? n(k, r || this.context) : n.makeArray(k); | |
r = n.merge(this.get(), k); | |
return this.pushStack(!k[0] || !k[0].parentNode || k[0].parentNode.nodeType === 11 || !r[0] || !r[0].parentNode || r[0].parentNode.nodeType === 11 ? r : n.unique(r)) | |
}, | |
andSelf: function() { | |
return this.add(this.prevObject) | |
} | |
}); | |
n.each({ | |
parent: function(k) { | |
return (k = k.parentNode) && k.nodeType !== 11 ? k : null | |
}, | |
parents: function(k) { | |
return n.dir(k, | |
"parentNode") | |
}, | |
parentsUntil: function(k, r, x) { | |
return n.dir(k, "parentNode", x) | |
}, | |
next: function(k) { | |
return n.nth(k, 2, "nextSibling") | |
}, | |
prev: function(k) { | |
return n.nth(k, 2, "previousSibling") | |
}, | |
nextAll: function(k) { | |
return n.dir(k, "nextSibling") | |
}, | |
prevAll: function(k) { | |
return n.dir(k, "previousSibling") | |
}, | |
nextUntil: function(k, r, x) { | |
return n.dir(k, "nextSibling", x) | |
}, | |
prevUntil: function(k, r, x) { | |
return n.dir(k, "previousSibling", x) | |
}, | |
siblings: function(k) { | |
return n.sibling(k.parentNode.firstChild, k) | |
}, | |
children: function(k) { | |
return n.sibling(k.firstChild) | |
}, | |
contents: function(k) { | |
return n.nodeName(k, "iframe") ? k.contentDocument || k.contentWindow.document : n.makeArray(k.childNodes) | |
} | |
}, function(k, r) { | |
n.fn[k] = function(x, F) { | |
var E = n.map(this, r, x); | |
kb.test(k) || (F = x); | |
if (F && typeof F === "string") E = n.filter(F, E); | |
E = this.length > 1 ? n.unique(E) : E; | |
if ((this.length > 1 || mb.test(F)) && lb.test(k)) E = E.reverse(); | |
return this.pushStack(E, k, ja.call(arguments).join(",")) | |
} | |
}); | |
n.extend({ | |
filter: function(k, r, x) { | |
if (x) k = ":not(" + k + ")"; | |
return n.find.matches(k, r) | |
}, | |
dir: function(k, r, x) { | |
var F = []; | |
for (k = | |
k[r]; k && k.nodeType !== 9 && (x === b || k.nodeType !== 1 || !n(k).is(x));) { | |
k.nodeType === 1 && F.push(k); | |
k = k[r] | |
} | |
return F | |
}, | |
nth: function(k, r, x) { | |
r = r || 1; | |
for (var F = 0; k; k = k[x]) | |
if (k.nodeType === 1 && ++F === r) break; | |
return k | |
}, | |
sibling: function(k, r) { | |
for (var x = []; k; k = k.nextSibling) k.nodeType === 1 && k !== r && x.push(k); | |
return x | |
} | |
}); | |
var db = / jQuery\d+="(?:\d+|null)"/g, | |
Ra = /^\s+/, | |
eb = /(<([\w:]+)[^>]*?)\/>/g, | |
nb = /^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i, | |
fb = /<([\w:]+)/, | |
ob = /<tbody/i, | |
pb = /<|&#?\w+;/, | |
Za = /<script|<object|<embed|<option|<style/i, | |
$a = /checked\s*(?:[^=]|=\s*.checked.)/i, | |
gb = function(k, r, x) { | |
return nb.test(x) ? k : r + "></" + x + ">" | |
}, | |
Ea = { | |
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, "", ""] | |
}; | |
Ea.optgroup = Ea.option; | |
Ea.tbody = Ea.tfoot = Ea.colgroup = Ea.caption = Ea.thead; | |
Ea.th = | |
Ea.td; | |
if (!n.support.htmlSerialize) Ea._default = [1, "div<div>", "</div>"]; | |
n.fn.extend({ | |
text: function(k) { | |
if (n.isFunction(k)) return this.each(function(r) { | |
var x = n(this); | |
x.text(k.call(this, r, x.text())) | |
}); | |
if (typeof k !== "object" && k !== b) return this.empty().append((this[0] && this[0].ownerDocument || t).createTextNode(k)); | |
return n.text(this) | |
}, | |
wrapAll: function(k) { | |
if (n.isFunction(k)) return this.each(function(x) { | |
n(this).wrapAll(k.call(this, x)) | |
}); | |
if (this[0]) { | |
var r = n(k, this[0].ownerDocument).eq(0).clone(true); | |
this[0].parentNode && | |
r.insertBefore(this[0]); | |
r.map(function() { | |
for (var x = this; x.firstChild && x.firstChild.nodeType === 1;) x = x.firstChild; | |
return x | |
}).append(this) | |
} | |
return this | |
}, | |
wrapInner: function(k) { | |
if (n.isFunction(k)) return this.each(function(r) { | |
n(this).wrapInner(k.call(this, r)) | |
}); | |
return this.each(function() { | |
var r = n(this), | |
x = r.contents(); | |
x.length ? x.wrapAll(k) : r.append(k) | |
}) | |
}, | |
wrap: function(k) { | |
return this.each(function() { | |
n(this).wrapAll(k) | |
}) | |
}, | |
unwrap: function() { | |
return this.parent().each(function() { | |
n.nodeName(this, "body") || n(this).replaceWith(this.childNodes) | |
}).end() | |
}, | |
append: function() { | |
return this.domManip(arguments, true, function(k) { | |
this.nodeType === 1 && this.appendChild(k) | |
}) | |
}, | |
prepend: function() { | |
return this.domManip(arguments, true, function(k) { | |
this.nodeType === 1 && this.insertBefore(k, this.firstChild) | |
}) | |
}, | |
before: function() { | |
if (this[0] && this[0].parentNode) return this.domManip(arguments, false, function(r) { | |
this.parentNode.insertBefore(r, this) | |
}); | |
else if (arguments.length) { | |
var k = n(arguments[0]); | |
k.push.apply(k, this.toArray()); | |
return this.pushStack(k, "before", arguments) | |
} | |
}, | |
after: function() { | |
if (this[0] && | |
this[0].parentNode) return this.domManip(arguments, false, function(r) { | |
this.parentNode.insertBefore(r, this.nextSibling) | |
}); | |
else if (arguments.length) { | |
var k = this.pushStack(this, "after", arguments); | |
k.push.apply(k, n(arguments[0]).toArray()); | |
return k | |
} | |
}, | |
remove: function(k, r) { | |
for (var x = 0, F; | |
(F = this[x]) != null; x++) | |
if (!k || n.filter(k, [F]).length) { | |
if (!r && F.nodeType === 1) { | |
n.cleanData(F.getElementsByTagName("*")); | |
n.cleanData([F]) | |
} | |
F.parentNode && F.parentNode.removeChild(F) | |
} | |
return this | |
}, | |
empty: function() { | |
for (var k = 0, r; | |
(r = | |
this[k]) != null; k++) | |
for (r.nodeType === 1 && n.cleanData(r.getElementsByTagName("*")); r.firstChild;) r.removeChild(r.firstChild); | |
return this | |
}, | |
clone: function(k) { | |
var r = this.map(function() { | |
if (!n.support.noCloneEvent && !n.isXMLDoc(this)) { | |
var x = this.outerHTML, | |
F = this.ownerDocument; | |
if (!x) { | |
x = F.createElement("div"); | |
x.appendChild(this.cloneNode(true)); | |
x = x.innerHTML | |
} | |
return n.clean([x.replace(db, "").replace(/=([^="'>\s]+\/)>/g, '="$1">').replace(Ra, "")], F)[0] | |
} else return this.cloneNode(true) | |
}); | |
if (k === true) { | |
q(this, r); | |
q(this.find("*"), r.find("*")) | |
} | |
return r | |
}, | |
html: function(k) { | |
if (k === b) return this[0] && this[0].nodeType === 1 ? this[0].innerHTML.replace(db, "") : null; | |
else if (typeof k === "string" && !Za.test(k) && (n.support.leadingWhitespace || !Ra.test(k)) && !Ea[(fb.exec(k) || ["", ""])[1].toLowerCase()]) { | |
k = k.replace(eb, gb); | |
try { | |
for (var r = 0, x = this.length; r < x; r++) | |
if (this[r].nodeType === 1) { | |
n.cleanData(this[r].getElementsByTagName("*")); | |
this[r].innerHTML = k | |
} | |
} catch (F) { | |
this.empty().append(k) | |
} | |
} else n.isFunction(k) ? this.each(function(E) { | |
var T = | |
n(this), | |
V = T.html(); | |
T.empty().append(function() { | |
return k.call(this, E, V) | |
}) | |
}) : this.empty().append(k); | |
return this | |
}, | |
replaceWith: function(k) { | |
if (this[0] && this[0].parentNode) { | |
if (n.isFunction(k)) return this.each(function(r) { | |
var x = n(this), | |
F = x.html(); | |
x.replaceWith(k.call(this, r, F)) | |
}); | |
if (typeof k !== "string") k = n(k).detach(); | |
return this.each(function() { | |
var r = this.nextSibling, | |
x = this.parentNode; | |
n(this).remove(); | |
r ? n(r).before(k) : n(x).append(k) | |
}) | |
} else return this.pushStack(n(n.isFunction(k) ? k() : k), "replaceWith", k) | |
}, | |
detach: function(k) { | |
return this.remove(k, true) | |
}, | |
domManip: function(k, r, x) { | |
var F, E, T = k[0], | |
V = [], | |
ca; | |
if (!n.support.checkClone && arguments.length === 3 && typeof T === "string" && $a.test(T)) return this.each(function() { | |
n(this).domManip(k, r, x, true) | |
}); | |
if (n.isFunction(T)) return this.each(function(da) { | |
var ha = n(this); | |
k[0] = T.call(this, da, r ? ha.html() : b); | |
ha.domManip(k, r, x) | |
}); | |
if (this[0]) { | |
F = T && T.parentNode; | |
F = n.support.parentNode && F && F.nodeType === 11 && F.childNodes.length === this.length ? { | |
fragment: F | |
} : I(k, this, V); | |
ca = F.fragment; | |
if (E = ca.childNodes.length === 1 ? ca = ca.firstChild : ca.firstChild) { | |
r = r && n.nodeName(E, "tr"); | |
E = 0; | |
for (var aa = this.length; E < aa; E++) x.call(r ? n.nodeName(this[E], "table") ? this[E].getElementsByTagName("tbody")[0] || this[E].appendChild(this[E].ownerDocument.createElement("tbody")) : this[E] : this[E], E > 0 || F.cacheable || this.length > 1 ? ca.cloneNode(true) : ca) | |
} | |
V.length && n.each(V, f) | |
} | |
return this | |
} | |
}); | |
n.fragments = {}; | |
n.each({ | |
appendTo: "append", | |
prependTo: "prepend", | |
insertBefore: "before", | |
insertAfter: "after", | |
replaceAll: "replaceWith" | |
}, | |
function(k, r) { | |
n.fn[k] = function(x) { | |
var F = []; | |
x = n(x); | |
var E = this.length === 1 && this[0].parentNode; | |
if (E && E.nodeType === 11 && E.childNodes.length === 1 && x.length === 1) { | |
x[r](this[0]); | |
return this | |
} else { | |
E = 0; | |
for (var T = x.length; E < T; E++) { | |
var V = (E > 0 ? this.clone(true) : this).get(); | |
n.fn[r].apply(n(x[E]), V); | |
F = F.concat(V) | |
} | |
return this.pushStack(F, k, x.selector) | |
} | |
} | |
}); | |
n.extend({ | |
clean: function(k, r, x, F) { | |
r = r || t; | |
if (typeof r.createElement === "undefined") r = r.ownerDocument || r[0] && r[0].ownerDocument || t; | |
for (var E = [], T = 0, V; | |
(V = k[T]) != null; T++) { | |
if (typeof V === | |
"number") V += ""; | |
if (V) { | |
if (typeof V === "string" && !pb.test(V)) V = r.createTextNode(V); | |
else if (typeof V === "string") { | |
V = V.replace(eb, gb); | |
var ca = (fb.exec(V) || ["", ""])[1].toLowerCase(), | |
aa = Ea[ca] || Ea._default, | |
da = aa[0], | |
ha = r.createElement("div"); | |
for (ha.innerHTML = aa[1] + V + aa[2]; da--;) ha = ha.lastChild; | |
if (!n.support.tbody) { | |
da = ob.test(V); | |
ca = ca === "table" && !da ? ha.firstChild && ha.firstChild.childNodes : aa[1] === "<table>" && !da ? ha.childNodes : []; | |
for (aa = ca.length - 1; aa >= 0; --aa) n.nodeName(ca[aa], "tbody") && !ca[aa].childNodes.length && | |
ca[aa].parentNode.removeChild(ca[aa]) | |
}!n.support.leadingWhitespace && Ra.test(V) && ha.insertBefore(r.createTextNode(Ra.exec(V)[0]), ha.firstChild); | |
V = ha.childNodes | |
} | |
if (V.nodeType) E.push(V); | |
else E = n.merge(E, V) | |
} | |
} | |
if (x) | |
for (T = 0; E[T]; T++) | |
if (F && n.nodeName(E[T], "script") && (!E[T].type || E[T].type.toLowerCase() === "text/javascript")) F.push(E[T].parentNode ? E[T].parentNode.removeChild(E[T]) : E[T]); | |
else { | |
E[T].nodeType === 1 && E.splice.apply(E, [T + 1, 0].concat(n.makeArray(E[T].getElementsByTagName("script")))); | |
x.appendChild(E[T]) | |
} | |
return E | |
}, | |
cleanData: function(k) { | |
for (var r, x, F = n.cache, E = n.event.special, T = n.support.deleteExpando, V = 0, ca; | |
(ca = k[V]) != null; V++) | |
if (x = ca[n.expando]) { | |
r = F[x]; | |
if (r.events) | |
for (var aa in r.events) E[aa] ? n.event.remove(ca, aa) : za(ca, aa, r.handle); | |
if (T) delete ca[n.expando]; | |
else ca.removeAttribute && ca.removeAttribute(n.expando); | |
delete F[x] | |
} | |
} | |
}); | |
var qb = /z-?index|font-?weight|opacity|zoom|line-?height/i, | |
hb = /alpha\([^)]*\)/, | |
ib = /opacity=([^)]*)/, | |
Ua = /float/i, | |
Va = /-([a-z])/ig, | |
rb = /([A-Z])/g, | |
sb = /^-?\d+(?:px)?$/i, | |
tb = /^-?\d/, | |
ub = { | |
position: "absolute", | |
visibility: "hidden", | |
display: "block" | |
}, | |
vb = ["Left", "Right"], | |
wb = ["Top", "Bottom"], | |
xb = t.defaultView && t.defaultView.getComputedStyle, | |
jb = n.support.cssFloat ? "cssFloat" : "styleFloat", | |
Wa = function(k, r) { | |
return r.toUpperCase() | |
}; | |
n.fn.css = function(k, r) { | |
return g(this, k, r, true, function(x, F, E) { | |
if (E === b) return n.curCSS(x, F); | |
if (typeof E === "number" && !qb.test(F)) E += "px"; | |
n.style(x, F, E) | |
}) | |
}; | |
n.extend({ | |
style: function(k, r, x) { | |
if (!k || k.nodeType === 3 || k.nodeType === 8) return b; | |
if ((r === "width" || r === "height") && parseFloat(x) < 0) x = b; | |
var F = | |
k.style || k, | |
E = x !== b; | |
if (!n.support.opacity && r === "opacity") { | |
if (E) { | |
F.zoom = 1; | |
r = parseInt(x, 10) + "" === "NaN" ? "" : "alpha(opacity=" + x * 100 + ")"; | |
k = F.filter || n.curCSS(k, "filter") || ""; | |
F.filter = hb.test(k) ? k.replace(hb, r) : r | |
} | |
return F.filter && F.filter.indexOf("opacity=") >= 0 ? parseFloat(ib.exec(F.filter)[1]) / 100 + "" : "" | |
} | |
if (Ua.test(r)) r = jb; | |
r = r.replace(Va, Wa); | |
if (E) F[r] = x; | |
return F[r] | |
}, | |
css: function(k, r, x, F) { | |
if (r === "width" || r === "height") { | |
var E, T = r === "width" ? vb : wb; | |
x = function() { | |
E = r === "width" ? k.offsetWidth : k.offsetHeight; | |
F !== "border" && | |
n.each(T, function() { | |
F || (E -= parseFloat(n.curCSS(k, "padding" + this, true)) || 0); | |
if (F === "margin") E += parseFloat(n.curCSS(k, "margin" + this, true)) || 0; | |
else E -= parseFloat(n.curCSS(k, "border" + this + "Width", true)) || 0 | |
}) | |
}; | |
k.offsetWidth !== 0 ? x() : n.swap(k, ub, x); | |
return Math.max(0, Math.round(E)) | |
} | |
return n.curCSS(k, r, x) | |
}, | |
curCSS: function(k, r, x) { | |
var F, E = k.style; | |
if (!n.support.opacity && r === "opacity" && k.currentStyle) { | |
F = ib.test(k.currentStyle.filter || "") ? parseFloat(RegExp.$1) / 100 + "" : ""; | |
return F === "" ? "1" : F | |
} | |
if (Ua.test(r)) r = jb; | |
if (!x && | |
E && E[r]) F = E[r]; | |
else if (xb) { | |
if (Ua.test(r)) r = "float"; | |
r = r.replace(rb, "-$1").toLowerCase(); | |
E = k.ownerDocument.defaultView; | |
if (!E) return null; | |
if (k = E.getComputedStyle(k, null)) F = k.getPropertyValue(r); | |
if (r === "opacity" && F === "") F = "1" | |
} else if (k.currentStyle) { | |
x = r.replace(Va, Wa); | |
F = k.currentStyle[r] || k.currentStyle[x]; | |
if (!sb.test(F) && tb.test(F)) { | |
r = E.left; | |
var T = k.runtimeStyle.left; | |
k.runtimeStyle.left = k.currentStyle.left; | |
E.left = x === "fontSize" ? "1em" : F || 0; | |
F = E.pixelLeft + "px"; | |
E.left = r; | |
k.runtimeStyle.left = T | |
} | |
} | |
return F | |
}, | |
swap: function(k, r, x) { | |
var F = {}, | |
E; | |
for (E in r) { | |
F[E] = k.style[E]; | |
k.style[E] = r[E] | |
} | |
x.call(k); | |
for (E in r) k.style[E] = F[E] | |
} | |
}); | |
if (n.expr && n.expr.filters) { | |
n.expr.filters.hidden = function(k) { | |
var r = k.offsetWidth, | |
x = k.offsetHeight, | |
F = k.nodeName.toLowerCase() === "tr"; | |
return r === 0 && x === 0 && !F ? true : r > 0 && x > 0 && !F ? false : n.curCSS(k, "display") === "none" | |
}; | |
n.expr.filters.visible = function(k) { | |
return !n.expr.filters.hidden(k) | |
} | |
} | |
var yb = j(), | |
zb = /<script(.|\s)*?\/script>/gi, | |
Ab = /select|textarea/i, | |
Bb = /color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i, | |
Oa = /=\?(&|$)/, | |
Xa = /\?/, | |
Cb = /(\?|&)_=.*?(&|$)/, | |
Db = /^(\w+:)?\/\/([^\/?#]+)/, | |
Eb = /%20/g, | |
Fb = n.fn.load; | |
n.fn.extend({ | |
load: function(k, r, x) { | |
if (typeof k !== "string") return Fb.call(this, k); | |
else if (!this.length) return this; | |
var F = k.indexOf(" "); | |
if (F >= 0) { | |
var E = k.slice(F, k.length); | |
k = k.slice(0, F) | |
} | |
F = "GET"; | |
if (r) | |
if (n.isFunction(r)) { | |
x = r; | |
r = null | |
} else if (typeof r === "object") { | |
r = n.param(r, n.ajaxSettings.traditional); | |
F = "POST" | |
} | |
var T = this; | |
n.ajax({ | |
url: k, | |
type: F, | |
dataType: "html", | |
data: r, | |
complete: function(V, ca) { | |
if (ca === "success" || ca === | |
"notmodified") T.html(E ? n("<div />").append(V.responseText.replace(zb, "")).find(E) : V.responseText); | |
x && T.each(x, [V.responseText, ca, V]) | |
} | |
}); | |
return this | |
}, | |
serialize: function() { | |
return n.param(this.serializeArray()) | |
}, | |
serializeArray: function() { | |
return this.map(function() { | |
return this.elements ? n.makeArray(this.elements) : this | |
}).filter(function() { | |
return this.name && !this.disabled && (this.checked || Ab.test(this.nodeName) || Bb.test(this.type)) | |
}).map(function(k, r) { | |
k = n(this).val(); | |
return k == null ? null : n.isArray(k) ? n.map(k, | |
function(x) { | |
return { | |
name: r.name, | |
value: x | |
} | |
}) : { | |
name: r.name, | |
value: k | |
} | |
}).get() | |
} | |
}); | |
n.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function(k, r) { | |
n.fn[r] = function(x) { | |
return this.bind(r, x) | |
} | |
}); | |
n.extend({ | |
get: function(k, r, x, F) { | |
if (n.isFunction(r)) { | |
F = F || x; | |
x = r; | |
r = null | |
} | |
return n.ajax({ | |
type: "GET", | |
url: k, | |
data: r, | |
success: x, | |
dataType: F | |
}) | |
}, | |
getScript: function(k, r) { | |
return n.get(k, null, r, "script") | |
}, | |
getJSON: function(k, r, x) { | |
return n.get(k, r, x, "json") | |
}, | |
post: function(k, r, x, F) { | |
if (n.isFunction(r)) { | |
F = | |
F || x; | |
x = r; | |
r = {} | |
} | |
return n.ajax({ | |
type: "POST", | |
url: k, | |
data: r, | |
success: x, | |
dataType: F | |
}) | |
}, | |
ajaxSetup: function(k) { | |
n.extend(n.ajaxSettings, k) | |
}, | |
ajaxSettings: { | |
url: location.href, | |
global: true, | |
type: "GET", | |
contentType: "application/x-www-form-urlencoded", | |
processData: true, | |
async: true, | |
xhr: a.XMLHttpRequest && (a.location.protocol !== "file:" || !a.ActiveXObject) ? function() { | |
return new a.XMLHttpRequest | |
} : function() { | |
try { | |
return new a.ActiveXObject("Microsoft.XMLHTTP") | |
} catch (k) {} | |
}, | |
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(k) { | |
function r() { | |
E.success && E.success.call(aa, ca, V, sa); | |
E.global && F("ajaxSuccess", [sa, E]) | |
} | |
function x() { | |
E.complete && E.complete.call(aa, sa, V); | |
E.global && F("ajaxComplete", [sa, E]); | |
E.global && !--n.active && n.event.trigger("ajaxStop") | |
} | |
function F(fa, ea) { | |
(E.context ? n(E.context) : n.event).trigger(fa, ea) | |
} | |
var E = n.extend(true, {}, n.ajaxSettings, k), | |
T, V, ca, | |
aa = k && k.context || E, | |
da = E.type.toUpperCase(); | |
if (E.data && E.processData && typeof E.data !== "string") E.data = n.param(E.data, E.traditional); | |
if (E.dataType === "jsonp") { | |
if (da === "GET") Oa.test(E.url) || (E.url += (Xa.test(E.url) ? "&" : "?") + (E.jsonp || "callback") + "=?"); | |
else if (!E.data || !Oa.test(E.data)) E.data = (E.data ? E.data + "&" : "") + (E.jsonp || "callback") + "=?"; | |
E.dataType = "json" | |
} | |
if (E.dataType === "json" && (E.data && Oa.test(E.data) || Oa.test(E.url))) { | |
T = E.jsonpCallback || "jsonp" + yb++; | |
if (E.data) E.data = (E.data + "").replace(Oa, "=" + T + | |
"$1"); | |
E.url = E.url.replace(Oa, "=" + T + "$1"); | |
E.dataType = "script"; | |
a[T] = a[T] || function(fa) { | |
ca = fa; | |
r(); | |
x(); | |
a[T] = b; | |
try { | |
delete a[T] | |
} catch (ea) {} | |
wa && wa.removeChild(Ba) | |
} | |
} | |
if (E.dataType === "script" && E.cache === null) E.cache = false; | |
if (E.cache === false && da === "GET") { | |
var ha = j(), | |
qa = E.url.replace(Cb, "$1_=" + ha + "$2"); | |
E.url = qa + (qa === E.url ? (Xa.test(E.url) ? "&" : "?") + "_=" + ha : "") | |
} | |
if (E.data && da === "GET") E.url += (Xa.test(E.url) ? "&" : "?") + E.data; | |
E.global && !n.active++ && n.event.trigger("ajaxStart"); | |
ha = (ha = Db.exec(E.url)) && (ha[1] && ha[1] !== | |
location.protocol || ha[2] !== location.host); | |
if (E.dataType === "script" && da === "GET" && ha) { | |
var wa = t.getElementsByTagName("head")[0] || t.documentElement, | |
Ba = t.createElement("script"); | |
Ba.src = E.url; | |
if (E.scriptCharset) Ba.charset = E.scriptCharset; | |
if (!T) { | |
var ya = false; | |
Ba.onload = Ba.onreadystatechange = function() { | |
if (!ya && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete")) { | |
ya = true; | |
r(); | |
x(); | |
Ba.onload = Ba.onreadystatechange = null; | |
wa && Ba.parentNode && wa.removeChild(Ba) | |
} | |
} | |
} | |
wa.insertBefore(Ba, wa.firstChild); | |
return b | |
} | |
var Da = false, | |
sa = E.xhr(); | |
if (sa) { | |
E.username ? sa.open(da, E.url, E.async, E.username, E.password) : sa.open(da, E.url, E.async); | |
try { | |
if (E.data || k && k.contentType) sa.setRequestHeader("Content-Type", E.contentType); | |
if (E.ifModified) { | |
n.lastModified[E.url] && sa.setRequestHeader("If-Modified-Since", n.lastModified[E.url]); | |
n.etag[E.url] && sa.setRequestHeader("If-None-Match", n.etag[E.url]) | |
} | |
ha || sa.setRequestHeader("X-Requested-With", "XMLHttpRequest"); | |
sa.setRequestHeader("Accept", E.dataType && E.accepts[E.dataType] ? E.accepts[E.dataType] + | |
", */*" : E.accepts._default) | |
} catch (Ta) {} | |
if (E.beforeSend && E.beforeSend.call(aa, sa, E) === false) { | |
E.global && !--n.active && n.event.trigger("ajaxStop"); | |
sa.abort(); | |
return false | |
} | |
E.global && F("ajaxSend", [sa, E]); | |
var N = sa.onreadystatechange = function(fa) { | |
if (!sa || sa.readyState === 0 || fa === "abort") { | |
Da || x(); | |
Da = true; | |
if (sa) sa.onreadystatechange = n.noop | |
} else if (!Da && sa && (sa.readyState === 4 || fa === "timeout")) { | |
Da = true; | |
sa.onreadystatechange = n.noop; | |
V = fa === "timeout" ? "timeout" : !n.httpSuccess(sa) ? "error" : E.ifModified && n.httpNotModified(sa, | |
E.url) ? "notmodified" : "success"; | |
var ea; | |
if (V === "success") try { | |
ca = n.httpData(sa, E.dataType, E) | |
} catch (oa) { | |
V = "parsererror"; | |
ea = oa | |
} | |
if (V === "success" || V === "notmodified") T || r(); | |
else n.handleError(E, sa, V, ea); | |
x(); | |
fa === "timeout" && sa.abort(); | |
if (E.async) sa = null | |
} | |
}; | |
try { | |
var S = sa.abort; | |
sa.abort = function() { | |
sa && S.call(sa); | |
N("abort") | |
} | |
} catch (Y) {} | |
E.async && E.timeout > 0 && setTimeout(function() { | |
sa && !Da && N("timeout") | |
}, E.timeout); | |
try { | |
sa.send(da === "POST" || da === "PUT" || da === "DELETE" ? E.data : null) | |
} catch (ba) { | |
n.handleError(E, sa, null, ba); | |
x() | |
} | |
E.async || N(); | |
return sa | |
} | |
}, | |
handleError: function(k, r, x, F) { | |
if (k.error) k.error.call(k.context || k, r, x, F); | |
if (k.global)(k.context ? n(k.context) : n.event).trigger("ajaxError", [r, k, F]) | |
}, | |
active: 0, | |
httpSuccess: function(k) { | |
try { | |
return !k.status && location.protocol === "file:" || k.status >= 200 && k.status < 300 || k.status === 304 || k.status === 1223 || k.status === 0 | |
} catch (r) {} | |
return false | |
}, | |
httpNotModified: function(k, r) { | |
var x = k.getResponseHeader("Last-Modified"), | |
F = k.getResponseHeader("Etag"); | |
if (x) n.lastModified[r] = x; | |
if (F) n.etag[r] = | |
F; | |
return k.status === 304 || k.status === 0 | |
}, | |
httpData: function(k, r, x) { | |
var F = k.getResponseHeader("content-type") || "", | |
E = r === "xml" || !r && F.indexOf("xml") >= 0; | |
k = E ? k.responseXML : k.responseText; | |
E && k.documentElement.nodeName === "parsererror" && n.error("parsererror"); | |
if (x && x.dataFilter) k = x.dataFilter(k, r); | |
if (typeof k === "string") | |
if (r === "json" || !r && F.indexOf("json") >= 0) k = n.parseJSON(k); | |
else if (r === "script" || !r && F.indexOf("javascript") >= 0) n.globalEval(k); | |
return k | |
}, | |
param: function(k, r) { | |
function x(V, ca) { | |
if (n.isArray(ca)) n.each(ca, | |
function(aa, da) { | |
r || /\[\]$/.test(V) ? F(V, da) : x(V + "[" + (typeof da === "object" || n.isArray(da) ? aa : "") + "]", da) | |
}); | |
else !r && ca != null && typeof ca === "object" ? n.each(ca, function(aa, da) { | |
x(V + "[" + aa + "]", da) | |
}) : F(V, ca) | |
} | |
function F(V, ca) { | |
ca = n.isFunction(ca) ? ca() : ca; | |
E[E.length] = encodeURIComponent(V) + "=" + encodeURIComponent(ca) | |
} | |
var E = []; | |
if (r === b) r = n.ajaxSettings.traditional; | |
if (n.isArray(k) || k.jquery) n.each(k, function() { | |
F(this.name, this.value) | |
}); | |
else | |
for (var T in k) x(T, k[T]); | |
return E.join("&").replace(Eb, "+") | |
} | |
}); | |
var Ya = {}, | |
Gb = /toggle|show|hide/, | |
Hb = /^([+-]=)?([\d+-.]+)(.*)$/, | |
Sa, ab = [ | |
["height", "marginTop", "marginBottom", "paddingTop", "paddingBottom"], | |
["width", "marginLeft", "marginRight", "paddingLeft", "paddingRight"], | |
["opacity"] | |
]; | |
n.fn.extend({ | |
show: function(k, r) { | |
if (k || k === 0) return this.animate(K("show", 3), k, r); | |
else { | |
k = 0; | |
for (r = this.length; k < r; k++) { | |
var x = n.data(this[k], "olddisplay"); | |
this[k].style.display = x || ""; | |
if (n.css(this[k], "display") === "none") { | |
x = this[k].nodeName; | |
var F; | |
if (Ya[x]) F = Ya[x]; | |
else { | |
var E = n("<" + x + " />").appendTo("body"); | |
F = E.css("display"); | |
if (F === "none") F = "block"; | |
E.remove(); | |
Ya[x] = F | |
} | |
n.data(this[k], "olddisplay", F) | |
} | |
} | |
k = 0; | |
for (r = this.length; k < r; k++) this[k].style.display = n.data(this[k], "olddisplay") || ""; | |
return this | |
} | |
}, | |
hide: function(k, r) { | |
if (k || k === 0) return this.animate(K("hide", 3), k, r); | |
else { | |
k = 0; | |
for (r = this.length; k < r; k++) { | |
var x = n.data(this[k], "olddisplay"); | |
!x && x !== "none" && n.data(this[k], "olddisplay", n.css(this[k], "display")) | |
} | |
k = 0; | |
for (r = this.length; k < r; k++) this[k].style.display = "none"; | |
return this | |
} | |
}, | |
_toggle: n.fn.toggle, | |
toggle: function(k, | |
r) { | |
var x = typeof k === "boolean"; | |
if (n.isFunction(k) && n.isFunction(r)) this._toggle.apply(this, arguments); | |
else k == null || x ? this.each(function() { | |
var F = x ? k : n(this).is(":hidden"); | |
n(this)[F ? "show" : "hide"]() | |
}) : this.animate(K("toggle", 3), k, r); | |
return this | |
}, | |
fadeTo: function(k, r, x) { | |
return this.filter(":hidden").css("opacity", 0).show().end().animate({ | |
opacity: r | |
}, k, x) | |
}, | |
animate: function(k, r, x, F) { | |
var E = n.speed(r, x, F); | |
if (n.isEmptyObject(k)) return this.each(E.complete); | |
return this[E.queue === false ? "each" : "queue"](function() { | |
var T = | |
n.extend({}, E), | |
V, ca = this.nodeType === 1 && n(this).is(":hidden"), | |
aa = this; | |
for (V in k) { | |
var da = V.replace(Va, Wa); | |
if (V !== da) { | |
k[da] = k[V]; | |
delete k[V]; | |
V = da | |
} | |
if (k[V] === "hide" && ca || k[V] === "show" && !ca) return T.complete.call(this); | |
if ((V === "height" || V === "width") && this.style) { | |
T.display = n.css(this, "display"); | |
T.overflow = this.style.overflow | |
} | |
if (n.isArray(k[V])) { | |
(T.specialEasing = T.specialEasing || {})[V] = k[V][1]; | |
k[V] = k[V][0] | |
} | |
} | |
if (T.overflow != null) this.style.overflow = "hidden"; | |
T.curAnim = n.extend({}, k); | |
n.each(k, function(ha, qa) { | |
var wa = | |
new n.fx(aa, T, ha); | |
if (Gb.test(qa)) wa[qa === "toggle" ? ca ? "show" : "hide" : qa](k); | |
else { | |
var Ba = Hb.exec(qa), | |
ya = wa.cur(true) || 0; | |
if (Ba) { | |
qa = parseFloat(Ba[2]); | |
var Da = Ba[3] || "px"; | |
if (Da !== "px") { | |
aa.style[ha] = (qa || 1) + Da; | |
ya = (qa || 1) / wa.cur(true) * ya; | |
aa.style[ha] = ya + Da | |
} | |
if (Ba[1]) qa = (Ba[1] === "-=" ? -1 : 1) * qa + ya; | |
wa.custom(ya, qa, Da) | |
} else wa.custom(ya, qa, "") | |
} | |
}); | |
return true | |
}) | |
}, | |
stop: function(k, r) { | |
var x = n.timers; | |
k && this.queue([]); | |
this.each(function() { | |
for (var F = x.length - 1; F >= 0; F--) | |
if (x[F].elem === this) { | |
r && x[F](true); | |
x.splice(F, 1) | |
} | |
}); | |
r || this.dequeue(); | |
return this | |
} | |
}); | |
n.each({ | |
slideDown: K("show", 1), | |
slideUp: K("hide", 1), | |
slideToggle: K("toggle", 1), | |
fadeIn: { | |
opacity: "show" | |
}, | |
fadeOut: { | |
opacity: "hide" | |
} | |
}, function(k, r) { | |
n.fn[k] = function(x, F) { | |
return this.animate(r, x, F) | |
} | |
}); | |
n.extend({ | |
speed: function(k, r, x) { | |
var F = k && typeof k === "object" ? k : { | |
complete: x || !x && r || n.isFunction(k) && k, | |
duration: k, | |
easing: x && r || r && !n.isFunction(r) && r | |
}; | |
F.duration = n.fx.off ? 0 : typeof F.duration === "number" ? F.duration : n.fx.speeds[F.duration] || n.fx.speeds._default; | |
F.old = F.complete; | |
F.complete = | |
function() { | |
F.queue !== false && n(this).dequeue(); | |
n.isFunction(F.old) && F.old.call(this) | |
}; | |
return F | |
}, | |
easing: { | |
linear: function(k, r, x, F) { | |
return x + F * k | |
}, | |
swing: function(k, r, x, F) { | |
return (-Math.cos(k * Math.PI) / 2 + 0.5) * F + x | |
} | |
}, | |
timers: [], | |
fx: function(k, r, x) { | |
this.options = r; | |
this.elem = k; | |
this.prop = x; | |
if (!r.orig) r.orig = {} | |
} | |
}); | |
n.fx.prototype = { | |
update: function() { | |
this.options.step && this.options.step.call(this.elem, this.now, this); | |
(n.fx.step[this.prop] || n.fx.step._default)(this); | |
if ((this.prop === "height" || this.prop === "width") && this.elem.style) this.elem.style.display = | |
"block" | |
}, | |
cur: function(k) { | |
if (this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null)) return this.elem[this.prop]; | |
return (k = parseFloat(n.css(this.elem, this.prop, k))) && k > -1E4 ? k : parseFloat(n.curCSS(this.elem, this.prop)) || 0 | |
}, | |
custom: function(k, r, x) { | |
function F(T) { | |
return E.step(T) | |
} | |
this.startTime = j(); | |
this.start = k; | |
this.end = r; | |
this.unit = x || this.unit || "px"; | |
this.now = this.start; | |
this.pos = this.state = 0; | |
var E = this; | |
F.elem = this.elem; | |
if (F() && n.timers.push(F) && !Sa) Sa = setInterval(n.fx.tick, 13) | |
}, | |
show: function() { | |
this.options.orig[this.prop] = | |
n.style(this.elem, this.prop); | |
this.options.show = true; | |
this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur()); | |
n(this.elem).show() | |
}, | |
hide: function() { | |
this.options.orig[this.prop] = n.style(this.elem, this.prop); | |
this.options.hide = true; | |
this.custom(this.cur(), 0) | |
}, | |
step: function(k) { | |
var r = j(), | |
x = true; | |
if (k || r >= this.options.duration + this.startTime) { | |
this.now = this.end; | |
this.pos = this.state = 1; | |
this.update(); | |
this.options.curAnim[this.prop] = true; | |
for (var F in this.options.curAnim) | |
if (this.options.curAnim[F] !== | |
true) x = false; | |
if (x) { | |
if (this.options.display != null) { | |
this.elem.style.overflow = this.options.overflow; | |
k = n.data(this.elem, "olddisplay"); | |
this.elem.style.display = k ? k : this.options.display; | |
if (n.css(this.elem, "display") === "none") this.elem.style.display = "block" | |
} | |
this.options.hide && n(this.elem).hide(); | |
if (this.options.hide || this.options.show) | |
for (var E in this.options.curAnim) n.style(this.elem, E, this.options.orig[E]); | |
this.options.complete.call(this.elem) | |
} | |
return false | |
} else { | |
E = r - this.startTime; | |
this.state = E / this.options.duration; | |
k = this.options.easing || (n.easing.swing ? "swing" : "linear"); | |
this.pos = n.easing[this.options.specialEasing && this.options.specialEasing[this.prop] || k](this.state, E, 0, 1, this.options.duration); | |
this.now = this.start + (this.end - this.start) * this.pos; | |
this.update() | |
} | |
return true | |
} | |
}; | |
n.extend(n.fx, { | |
tick: function() { | |
for (var k = n.timers, r = 0; r < k.length; r++) k[r]() || k.splice(r--, 1); | |
k.length || n.fx.stop() | |
}, | |
stop: function() { | |
clearInterval(Sa); | |
Sa = null | |
}, | |
speeds: { | |
slow: 600, | |
fast: 200, | |
_default: 400 | |
}, | |
step: { | |
opacity: function(k) { | |
n.style(k.elem, | |
"opacity", k.now) | |
}, | |
_default: function(k) { | |
if (k.elem.style && k.elem.style[k.prop] != null) k.elem.style[k.prop] = (k.prop === "width" || k.prop === "height" ? Math.max(0, k.now) : k.now) + k.unit; | |
else k.elem[k.prop] = k.now | |
} | |
} | |
}); | |
if (n.expr && n.expr.filters) n.expr.filters.animated = function(k) { | |
return n.grep(n.timers, function(r) { | |
return k === r.elem | |
}).length | |
}; | |
n.fn.offset = "getBoundingClientRect" in t.documentElement ? function(k) { | |
var r = this[0]; | |
if (k) return this.each(function(E) { | |
n.offset.setOffset(this, k, E) | |
}); | |
if (!r || !r.ownerDocument) return null; | |
if (r === r.ownerDocument.body) return n.offset.bodyOffset(r); | |
var x = r.getBoundingClientRect(), | |
F = r.ownerDocument; | |
r = F.body; | |
F = F.documentElement; | |
return { | |
top: x.top + (self.pageYOffset || n.support.boxModel && F.scrollTop || r.scrollTop) - (F.clientTop || r.clientTop || 0), | |
left: x.left + (self.pageXOffset || n.support.boxModel && F.scrollLeft || r.scrollLeft) - (F.clientLeft || r.clientLeft || 0) | |
} | |
} : function(k) { | |
var r = this[0]; | |
if (k) return this.each(function(ha) { | |
n.offset.setOffset(this, k, ha) | |
}); | |
if (!r || !r.ownerDocument) return null; | |
if (r === r.ownerDocument.body) return n.offset.bodyOffset(r); | |
n.offset.initialize(); | |
var x = r.offsetParent, | |
F = r, | |
E = r.ownerDocument, | |
T, V = E.documentElement, | |
ca = E.body; | |
F = (E = E.defaultView) ? E.getComputedStyle(r, null) : r.currentStyle; | |
for (var aa = r.offsetTop, da = r.offsetLeft; | |
(r = r.parentNode) && r !== ca && r !== V;) { | |
if (n.offset.supportsFixedPosition && F.position === "fixed") break; | |
T = E ? E.getComputedStyle(r, null) : r.currentStyle; | |
aa -= r.scrollTop; | |
da -= r.scrollLeft; | |
if (r === x) { | |
aa += r.offsetTop; | |
da += r.offsetLeft; | |
if (n.offset.doesNotAddBorder && !(n.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(r.nodeName))) { | |
aa += | |
parseFloat(T.borderTopWidth) || 0; | |
da += parseFloat(T.borderLeftWidth) || 0 | |
} | |
F = x; | |
x = r.offsetParent | |
} | |
if (n.offset.subtractsBorderForOverflowNotVisible && T.overflow !== "visible") { | |
aa += parseFloat(T.borderTopWidth) || 0; | |
da += parseFloat(T.borderLeftWidth) || 0 | |
} | |
F = T | |
} | |
if (F.position === "relative" || F.position === "static") { | |
aa += ca.offsetTop; | |
da += ca.offsetLeft | |
} | |
if (n.offset.supportsFixedPosition && F.position === "fixed") { | |
aa += Math.max(V.scrollTop, ca.scrollTop); | |
da += Math.max(V.scrollLeft, ca.scrollLeft) | |
} | |
return { | |
top: aa, | |
left: da | |
} | |
}; | |
n.offset = { | |
initialize: function() { | |
var k = | |
t.body, | |
r = t.createElement("div"), | |
x, F, E, T = parseFloat(n.curCSS(k, "marginTop", true)) || 0; | |
n.extend(r.style, { | |
position: "absolute", | |
top: 0, | |
left: 0, | |
margin: 0, | |
border: 0, | |
width: "1px", | |
height: "1px", | |
visibility: "hidden" | |
}); | |
r.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>"; | |
k.insertBefore(r, k.firstChild); | |
x = r.firstChild; | |
F = x.firstChild; | |
E = x.nextSibling.firstChild.firstChild; | |
this.doesNotAddBorder = F.offsetTop !== 5; | |
this.doesAddBorderForTableAndCells = E.offsetTop === 5; | |
F.style.position = "fixed"; | |
F.style.top = "20px"; | |
this.supportsFixedPosition = F.offsetTop === 20 || F.offsetTop === 15; | |
F.style.position = F.style.top = ""; | |
x.style.overflow = "hidden"; | |
x.style.position = "relative"; | |
this.subtractsBorderForOverflowNotVisible = F.offsetTop === -5; | |
this.doesNotIncludeMarginInBodyOffset = k.offsetTop !== T; | |
k.removeChild(r); | |
n.offset.initialize = n.noop | |
}, | |
bodyOffset: function(k) { | |
var r = k.offsetTop, | |
x = k.offsetLeft; | |
n.offset.initialize(); | |
if (n.offset.doesNotIncludeMarginInBodyOffset) { | |
r += parseFloat(n.curCSS(k, "marginTop", true)) || 0; | |
x += parseFloat(n.curCSS(k, "marginLeft", true)) || 0 | |
} | |
return { | |
top: r, | |
left: x | |
} | |
}, | |
setOffset: function(k, r, x) { | |
if (/static/.test(n.curCSS(k, "position"))) k.style.position = "relative"; | |
var F = n(k), | |
E = F.offset(), | |
T = parseInt(n.curCSS(k, "top", true), 10) || 0, | |
V = parseInt(n.curCSS(k, "left", true), 10) || 0; | |
if (n.isFunction(r)) r = r.call(k, | |
x, E); | |
x = { | |
top: r.top - E.top + T, | |
left: r.left - E.left + V | |
}; | |
"using" in r ? r.using.call(k, x) : F.css(x) | |
} | |
}; | |
n.fn.extend({ | |
position: function() { | |
if (!this[0]) return null; | |
var k = this[0], | |
r = this.offsetParent(), | |
x = this.offset(), | |
F = /^body|html$/i.test(r[0].nodeName) ? { | |
top: 0, | |
left: 0 | |
} : r.offset(); | |
x.top -= parseFloat(n.curCSS(k, "marginTop", true)) || 0; | |
x.left -= parseFloat(n.curCSS(k, "marginLeft", true)) || 0; | |
F.top += parseFloat(n.curCSS(r[0], "borderTopWidth", true)) || 0; | |
F.left += parseFloat(n.curCSS(r[0], "borderLeftWidth", true)) || 0; | |
return { | |
top: x.top - | |
F.top, | |
left: x.left - F.left | |
} | |
}, | |
offsetParent: function() { | |
return this.map(function() { | |
for (var k = this.offsetParent || t.body; k && !/^body|html$/i.test(k.nodeName) && n.css(k, "position") === "static";) k = k.offsetParent; | |
return k | |
}) | |
} | |
}); | |
n.each(["Left", "Top"], function(k, r) { | |
var x = "scroll" + r; | |
n.fn[x] = function(F) { | |
var E = this[0], | |
T; | |
if (!E) return null; | |
return F !== b ? this.each(function() { | |
if (T = Q(this)) T.scrollTo(!k ? F : n(T).scrollLeft(), k ? F : n(T).scrollTop()); | |
else this[x] = F | |
}) : (T = Q(E)) ? "pageXOffset" in T ? T[k ? "pageYOffset" : "pageXOffset"] : | |
n.support.boxModel && T.document.documentElement[x] || T.document.body[x] : E[x] | |
} | |
}); | |
n.each(["Height", "Width"], function(k, r) { | |
var x = r.toLowerCase(); | |
n.fn["inner" + r] = function() { | |
return this[0] ? n.css(this[0], x, false, "padding") : null | |
}; | |
n.fn["outer" + r] = function(F) { | |
return this[0] ? n.css(this[0], x, false, F ? "margin" : "border") : null | |
}; | |
n.fn[x] = function(F) { | |
var E = this[0]; | |
if (!E) return F == null ? null : this; | |
if (n.isFunction(F)) return this.each(function(T) { | |
var V = n(this); | |
V[x](F.call(this, T, V[x]())) | |
}); | |
return "scrollTo" in E && E.document ? | |
E.document.compatMode === "CSS1Compat" && E.document.documentElement["client" + r] || E.document.body["client" + r] : E.nodeType === 9 ? Math.max(E.documentElement["client" + r], E.body["scroll" + r], E.documentElement["scroll" + r], E.body["offset" + r], E.documentElement["offset" + r]) : F === b ? n.css(E, x) : this.css(x, typeof F === "string" ? F : F + "px") | |
} | |
}); | |
a.jQuery = a.$ = n | |
})(window); | |
jQuery.ui || function(a) { | |
a.ui = { | |
version: "1.8.1", | |
plugin: { | |
add: function(b, d, f) { | |
b = a.ui[b].prototype; | |
for (var g in f) { | |
b.plugins[g] = b.plugins[g] || []; | |
b.plugins[g].push([d, f[g]]) | |
} | |
}, | |
call: function(b, d, f) { | |
if ((d = b.plugins[d]) && b.element[0].parentNode) | |
for (var g = 0; g < d.length; g++) b.options[d[g][0]] && d[g][1].apply(b.element, f) | |
} | |
}, | |
contains: function(b, d) { | |
return document.compareDocumentPosition ? b.compareDocumentPosition(d) & 16 : b !== d && b.contains(d) | |
}, | |
hasScroll: function(b, d) { | |
if (a(b).css("overflow") == "hidden") return false; | |
d = | |
d && d == "left" ? "scrollLeft" : "scrollTop"; | |
var f = false; | |
if (b[d] > 0) return true; | |
b[d] = 1; | |
f = b[d] > 0; | |
b[d] = 0; | |
return f | |
}, | |
isOverAxis: function(b, d, f) { | |
return b > d && b < d + f | |
}, | |
isOver: function(b, d, f, g, j, l) { | |
return a.ui.isOverAxis(b, f, j) && a.ui.isOverAxis(d, g, l) | |
}, | |
keyCode: { | |
ALT: 18, | |
BACKSPACE: 8, | |
CAPS_LOCK: 20, | |
COMMA: 188, | |
CONTROL: 17, | |
DELETE: 46, | |
DOWN: 40, | |
END: 35, | |
ENTER: 13, | |
ESCAPE: 27, | |
HOME: 36, | |
INSERT: 45, | |
LEFT: 37, | |
NUMPAD_ADD: 107, | |
NUMPAD_DECIMAL: 110, | |
NUMPAD_DIVIDE: 111, | |
NUMPAD_ENTER: 108, | |
NUMPAD_MULTIPLY: 106, | |
NUMPAD_SUBTRACT: 109, | |
PAGE_DOWN: 34, | |
PAGE_UP: 33, | |
PERIOD: 190, | |
RIGHT: 39, | |
SHIFT: 16, | |
SPACE: 32, | |
TAB: 9, | |
UP: 38 | |
} | |
}; | |
a.fn.extend({ | |
_focus: a.fn.focus, | |
focus: function(b, d) { | |
return typeof b === "number" ? this.each(function() { | |
var f = this; | |
setTimeout(function() { | |
a(f).focus(); | |
d && d.call(f) | |
}, b) | |
}) : this._focus.apply(this, arguments) | |
}, | |
enableSelection: function() { | |
return this.attr("unselectable", "off").css("MozUserSelect", "") | |
}, | |
disableSelection: function() { | |
return this.attr("unselectable", "on").css("MozUserSelect", "none") | |
}, | |
scrollParent: function() { | |
var b; | |
b = a.browser.msie && /(static|relative)/.test(this.css("position")) || | |
/absolute/.test(this.css("position")) ? this.parents().filter(function() { | |
return /(relative|absolute|fixed)/.test(a.curCSS(this, "position", 1)) && /(auto|scroll)/.test(a.curCSS(this, "overflow", 1) + a.curCSS(this, "overflow-y", 1) + a.curCSS(this, "overflow-x", 1)) | |
}).eq(0) : this.parents().filter(function() { | |
return /(auto|scroll)/.test(a.curCSS(this, "overflow", 1) + a.curCSS(this, "overflow-y", 1) + a.curCSS(this, "overflow-x", 1)) | |
}).eq(0); | |
return /fixed/.test(this.css("position")) || !b.length ? a(document) : b | |
}, | |
zIndex: function(b) { | |
if (b !== | |
undefined) return this.css("zIndex", b); | |
if (this.length) { | |
b = a(this[0]); | |
for (var d; b.length && b[0] !== document;) { | |
d = b.css("position"); | |
if (d == "absolute" || d == "relative" || d == "fixed") { | |
d = parseInt(b.css("zIndex")); | |
if (!isNaN(d) && d != 0) return d | |
} | |
b = b.parent() | |
} | |
} | |
return 0 | |
} | |
}); | |
a.extend(a.expr[":"], { | |
data: function(b, d, f) { | |
return !!a.data(b, f[3]) | |
}, | |
focusable: function(b) { | |
var d = b.nodeName.toLowerCase(), | |
f = a.attr(b, "tabindex"); | |
return (/input|select|textarea|button|object/.test(d) ? !b.disabled : "a" == d || "area" == d ? b.href || !isNaN(f) : !isNaN(f)) && | |
!a(b)["area" == d ? "parents" : "closest"](":hidden").length | |
}, | |
tabbable: function(b) { | |
var d = a.attr(b, "tabindex"); | |
return (isNaN(d) || d >= 0) && a(b).is(":focusable") | |
} | |
}) | |
}(jQuery); | |
(function(a) { | |
var b = a.fn.remove; | |
a.fn.remove = function(d, f) { | |
return this.each(function() { | |
if (!f) | |
if (!d || a.filter(d, [this]).length) a("*", this).add(this).each(function() { | |
a(this).triggerHandler("remove") | |
}); | |
return b.call(a(this), d, f) | |
}) | |
}; | |
a.widget = function(d, f, g) { | |
var j = d.split(".")[0], | |
l; | |
d = d.split(".")[1]; | |
l = j + "-" + d; | |
if (!g) { | |
g = f; | |
f = a.Widget | |
} | |
a.expr[":"][l] = function(o) { | |
return !!a.data(o, d) | |
}; | |
a[j] = a[j] || {}; | |
a[j][d] = function(o, v) { | |
arguments.length && this._createWidget(o, v) | |
}; | |
f = new f; | |
f.options = a.extend({}, f.options); | |
a[j][d].prototype = | |
a.extend(true, f, { | |
namespace: j, | |
widgetName: d, | |
widgetEventPrefix: a[j][d].prototype.widgetEventPrefix || d, | |
widgetBaseClass: l | |
}, g); | |
a.widget.bridge(d, a[j][d]) | |
}; | |
a.widget.bridge = function(d, f) { | |
a.fn[d] = function(g) { | |
var j = typeof g === "string", | |
l = Array.prototype.slice.call(arguments, 1), | |
o = this; | |
g = !j && l.length ? a.extend.apply(null, [true, g].concat(l)) : g; | |
if (j && g.substring(0, 1) === "_") return o; | |
j ? this.each(function() { | |
var v = a.data(this, d), | |
A = v && a.isFunction(v[g]) ? v[g].apply(v, l) : v; | |
if (A !== v && A !== undefined) { | |
o = A; | |
return false | |
} | |
}) : this.each(function() { | |
var v = | |
a.data(this, d); | |
if (v) { | |
g && v.option(g); | |
v._init() | |
} else a.data(this, d, new f(g, this)) | |
}); | |
return o | |
} | |
}; | |
a.Widget = function(d, f) { | |
arguments.length && this._createWidget(d, f) | |
}; | |
a.Widget.prototype = { | |
widgetName: "widget", | |
widgetEventPrefix: "", | |
options: { | |
disabled: false | |
}, | |
_createWidget: function(d, f) { | |
this.element = a(f).data(this.widgetName, this); | |
this.options = a.extend(true, {}, this.options, a.metadata && a.metadata.get(f)[this.widgetName], d); | |
var g = this; | |
this.element.bind("remove." + this.widgetName, function() { | |
g.destroy() | |
}); | |
this._create(); | |
this._init() | |
}, | |
_create: function() {}, | |
_init: function() {}, | |
destroy: function() { | |
this.element.unbind("." + this.widgetName).removeData(this.widgetName); | |
this.widget().unbind("." + this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass + "-disabled ui-state-disabled") | |
}, | |
widget: function() { | |
return this.element | |
}, | |
option: function(d, f) { | |
var g = d, | |
j = this; | |
if (arguments.length === 0) return a.extend({}, j.options); | |
if (typeof d === "string") { | |
if (f === undefined) return this.options[d]; | |
g = {}; | |
g[d] = f | |
} | |
a.each(g, function(l, | |
o) { | |
j._setOption(l, o) | |
}); | |
return j | |
}, | |
_setOption: function(d, f) { | |
this.options[d] = f; | |
if (d === "disabled") this.widget()[f ? "addClass" : "removeClass"](this.widgetBaseClass + "-disabled ui-state-disabled").attr("aria-disabled", f); | |
return this | |
}, | |
enable: function() { | |
return this._setOption("disabled", false) | |
}, | |
disable: function() { | |
return this._setOption("disabled", true) | |
}, | |
_trigger: function(d, f, g) { | |
var j = this.options[d]; | |
f = a.Event(f); | |
f.type = (d === this.widgetEventPrefix ? d : this.widgetEventPrefix + d).toLowerCase(); | |
g = g || {}; | |
if (f.originalEvent) { | |
d = | |
a.event.props.length; | |
for (var l; d;) { | |
l = a.event.props[--d]; | |
f[l] = f.originalEvent[l] | |
} | |
} | |
this.element.trigger(f, g); | |
return !(a.isFunction(j) && j.call(this.element[0], f, g) === false || f.isDefaultPrevented()) | |
} | |
} | |
})(jQuery); | |
(function(a) { | |
a.widget("ui.mouse", { | |
options: { | |
cancel: ":input,option", | |
distance: 1, | |
delay: 0 | |
}, | |
_mouseInit: function() { | |
var b = this; | |
this.element.bind("mousedown." + this.widgetName, function(d) { | |
return b._mouseDown(d) | |
}).bind("click." + this.widgetName, function(d) { | |
if (b._preventClickEvent) { | |
b._preventClickEvent = false; | |
d.stopImmediatePropagation(); | |
return false | |
} | |
}); | |
this.started = false | |
}, | |
_mouseDestroy: function() { | |
this.element.unbind("." + this.widgetName) | |
}, | |
_mouseDown: function(b) { | |
b.originalEvent = b.originalEvent || {}; | |
if (!b.originalEvent.mouseHandled) { | |
this._mouseStarted && | |
this._mouseUp(b); | |
this._mouseDownEvent = b; | |
var d = this, | |
f = b.which == 1, | |
g = typeof this.options.cancel == "string" ? a(b.target).parents().add(b.target).filter(this.options.cancel).length : false; | |
if (!f || g || !this._mouseCapture(b)) return true; | |
this.mouseDelayMet = !this.options.delay; | |
if (!this.mouseDelayMet) this._mouseDelayTimer = setTimeout(function() { | |
d.mouseDelayMet = true | |
}, this.options.delay); | |
if (this._mouseDistanceMet(b) && this._mouseDelayMet(b)) { | |
this._mouseStarted = this._mouseStart(b) !== false; | |
if (!this._mouseStarted) { | |
b.preventDefault(); | |
return true | |
} | |
} | |
this._mouseMoveDelegate = function(j) { | |
return d._mouseMove(j) | |
}; | |
this._mouseUpDelegate = function(j) { | |
return d._mouseUp(j) | |
}; | |
a(document).bind("mousemove." + this.widgetName, this._mouseMoveDelegate).bind("mouseup." + this.widgetName, this._mouseUpDelegate); | |
a.browser.safari || b.preventDefault(); | |
return b.originalEvent.mouseHandled = true | |
} | |
}, | |
_mouseMove: function(b) { | |
if (a.browser.msie && !b.button) return this._mouseUp(b); | |
if (this._mouseStarted) { | |
this._mouseDrag(b); | |
return b.preventDefault() | |
} | |
if (this._mouseDistanceMet(b) && | |
this._mouseDelayMet(b))(this._mouseStarted = this._mouseStart(this._mouseDownEvent, b) !== false) ? this._mouseDrag(b) : this._mouseUp(b); | |
return !this._mouseStarted | |
}, | |
_mouseUp: function(b) { | |
a(document).unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate); | |
if (this._mouseStarted) { | |
this._mouseStarted = false; | |
this._preventClickEvent = b.target == this._mouseDownEvent.target; | |
this._mouseStop(b) | |
} | |
return false | |
}, | |
_mouseDistanceMet: function(b) { | |
return Math.max(Math.abs(this._mouseDownEvent.pageX - | |
b.pageX), Math.abs(this._mouseDownEvent.pageY - b.pageY)) >= this.options.distance | |
}, | |
_mouseDelayMet: function() { | |
return this.mouseDelayMet | |
}, | |
_mouseStart: function() {}, | |
_mouseDrag: function() {}, | |
_mouseStop: function() {}, | |
_mouseCapture: function() { | |
return true | |
} | |
}) | |
})(jQuery); | |
(function(a) { | |
a.widget("ui.draggable", a.ui.mouse, { | |
widgetEventPrefix: "drag", | |
options: { | |
addClasses: true, | |
appendTo: "parent", | |
axis: false, | |
connectToSortable: false, | |
containment: false, | |
cursor: "auto", | |
cursorAt: false, | |
grid: false, | |
handle: false, | |
helper: "original", | |
iframeFix: false, | |
opacity: false, | |
refreshPositions: false, | |
revert: false, | |
revertDuration: 500, | |
scope: "default", | |
scroll: true, | |
scrollSensitivity: 20, | |
scrollSpeed: 20, | |
snap: false, | |
snapMode: "both", | |
snapTolerance: 20, | |
stack: false, | |
zIndex: false | |
}, | |
_create: function() { | |
if (this.options.helper == | |
"original" && !/^(?:r|a|f)/.test(this.element.css("position"))) this.element[0].style.position = "relative"; | |
this.options.addClasses && this.element.addClass("ui-draggable"); | |
this.options.disabled && this.element.addClass("ui-draggable-disabled"); | |
this._mouseInit() | |
}, | |
destroy: function() { | |
if (this.element.data("draggable")) { | |
this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"); | |
this._mouseDestroy(); | |
return this | |
} | |
}, | |
_mouseCapture: function(b) { | |
var d = | |
this.options; | |
if (this.helper || d.disabled || a(b.target).is(".ui-resizable-handle")) return false; | |
this.handle = this._getHandle(b); | |
if (!this.handle) return false; | |
return true | |
}, | |
_mouseStart: function(b) { | |
var d = this.options; | |
this.helper = this._createHelper(b); | |
this._cacheHelperProportions(); | |
if (a.ui.ddmanager) a.ui.ddmanager.current = this; | |
this._cacheMargins(); | |
this.cssPosition = this.helper.css("position"); | |
this.scrollParent = this.helper.scrollParent(); | |
this.offset = this.positionAbs = this.element.offset(); | |
this.offset = { | |
top: this.offset.top - | |
this.margins.top, | |
left: this.offset.left - this.margins.left | |
}; | |
a.extend(this.offset, { | |
click: { | |
left: b.pageX - this.offset.left, | |
top: b.pageY - this.offset.top | |
}, | |
parent: this._getParentOffset(), | |
relative: this._getRelativeOffset() | |
}); | |
this.originalPosition = this.position = this._generatePosition(b); | |
this.originalPageX = b.pageX; | |
this.originalPageY = b.pageY; | |
d.cursorAt && this._adjustOffsetFromHelper(d.cursorAt); | |
d.containment && this._setContainment(); | |
if (this._trigger("start", b) === false) { | |
this._clear(); | |
return false | |
} | |
this._cacheHelperProportions(); | |
a.ui.ddmanager && !d.dropBehaviour && a.ui.ddmanager.prepareOffsets(this, b); | |
this.helper.addClass("ui-draggable-dragging"); | |
this._mouseDrag(b, true); | |
return true | |
}, | |
_mouseDrag: function(b, d) { | |
this.position = this._generatePosition(b); | |
this.positionAbs = this._convertPositionTo("absolute"); | |
if (!d) { | |
d = this._uiHash(); | |
if (this._trigger("drag", b, d) === false) { | |
this._mouseUp({}); | |
return false | |
} | |
this.position = d.position | |
} | |
if (!this.options.axis || this.options.axis != "y") this.helper[0].style.left = this.position.left + "px"; | |
if (!this.options.axis || | |
this.options.axis != "x") this.helper[0].style.top = this.position.top + "px"; | |
a.ui.ddmanager && a.ui.ddmanager.drag(this, b); | |
return false | |
}, | |
_mouseStop: function(b) { | |
var d = false; | |
if (a.ui.ddmanager && !this.options.dropBehaviour) d = a.ui.ddmanager.drop(this, b); | |
if (this.dropped) { | |
d = this.dropped; | |
this.dropped = false | |
} | |
if (!this.element[0] || !this.element[0].parentNode) return false; | |
if (this.options.revert == "invalid" && !d || this.options.revert == "valid" && d || this.options.revert === true || a.isFunction(this.options.revert) && this.options.revert.call(this.element, | |
d)) { | |
var f = this; | |
a(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function() { | |
f._trigger("stop", b) !== false && f._clear() | |
}) | |
} else this._trigger("stop", b) !== false && this._clear(); | |
return false | |
}, | |
cancel: function() { | |
this.helper.is(".ui-draggable-dragging") ? this._mouseUp({}) : this._clear(); | |
return this | |
}, | |
_getHandle: function(b) { | |
var d = !this.options.handle || !a(this.options.handle, this.element).length ? true : false; | |
a(this.options.handle, this.element).find("*").andSelf().each(function() { | |
if (this == | |
b.target) d = true | |
}); | |
return d | |
}, | |
_createHelper: function(b) { | |
var d = this.options; | |
b = a.isFunction(d.helper) ? a(d.helper.apply(this.element[0], [b])) : d.helper == "clone" ? this.element.clone() : this.element; | |
b.parents("body").length || b.appendTo(d.appendTo == "parent" ? this.element[0].parentNode : d.appendTo); | |
b[0] != this.element[0] && !/(fixed|absolute)/.test(b.css("position")) && b.css("position", "absolute"); | |
return b | |
}, | |
_adjustOffsetFromHelper: function(b) { | |
if (typeof b == "string") b = b.split(" "); | |
if (a.isArray(b)) b = { | |
left: +b[0], | |
top: +b[1] || | |
0 | |
}; | |
if ("left" in b) this.offset.click.left = b.left + this.margins.left; | |
if ("right" in b) this.offset.click.left = this.helperProportions.width - b.right + this.margins.left; | |
if ("top" in b) this.offset.click.top = b.top + this.margins.top; | |
if ("bottom" in b) this.offset.click.top = this.helperProportions.height - b.bottom + this.margins.top | |
}, | |
_getParentOffset: function() { | |
this.offsetParent = this.helper.offsetParent(); | |
var b = this.offsetParent.offset(); | |
if (this.cssPosition == "absolute" && this.scrollParent[0] != document && a.ui.contains(this.scrollParent[0], | |
this.offsetParent[0])) { | |
b.left += this.scrollParent.scrollLeft(); | |
b.top += this.scrollParent.scrollTop() | |
} | |
if (this.offsetParent[0] == document.body || this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == "html" && a.browser.msie) b = { | |
top: 0, | |
left: 0 | |
}; | |
return { | |
top: b.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0), | |
left: b.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0) | |
} | |
}, | |
_getRelativeOffset: function() { | |
if (this.cssPosition == "relative") { | |
var b = this.element.position(); | |
return { | |
top: b.top - | |
(parseInt(this.helper.css("top"), 10) || 0) + this.scrollParent.scrollTop(), | |
left: b.left - (parseInt(this.helper.css("left"), 10) || 0) + this.scrollParent.scrollLeft() | |
} | |
} else return { | |
top: 0, | |
left: 0 | |
} | |
}, | |
_cacheMargins: function() { | |
this.margins = { | |
left: parseInt(this.element.css("marginLeft"), 10) || 0, | |
top: parseInt(this.element.css("marginTop"), 10) || 0 | |
} | |
}, | |
_cacheHelperProportions: function() { | |
this.helperProportions = { | |
width: this.helper.outerWidth(), | |
height: this.helper.outerHeight() | |
} | |
}, | |
_setContainment: function() { | |
var b = this.options; | |
if (b.containment == | |
"parent") b.containment = this.helper[0].parentNode; | |
if (b.containment == "document" || b.containment == "window") this.containment = [0 - this.offset.relative.left - this.offset.parent.left, 0 - this.offset.relative.top - this.offset.parent.top, a(b.containment == "document" ? document : window).width() - this.helperProportions.width - this.margins.left, (a(b.containment == "document" ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top]; | |
if (!/^(document|window|parent)$/.test(b.containment) && | |
b.containment.constructor != Array) { | |
var d = a(b.containment)[0]; | |
if (d) { | |
b = a(b.containment).offset(); | |
var f = a(d).css("overflow") != "hidden"; | |
this.containment = [b.left + (parseInt(a(d).css("borderLeftWidth"), 10) || 0) + (parseInt(a(d).css("paddingLeft"), 10) || 0) - this.margins.left, b.top + (parseInt(a(d).css("borderTopWidth"), 10) || 0) + (parseInt(a(d).css("paddingTop"), 10) || 0) - this.margins.top, b.left + (f ? Math.max(d.scrollWidth, d.offsetWidth) : d.offsetWidth) - (parseInt(a(d).css("borderLeftWidth"), 10) || 0) - (parseInt(a(d).css("paddingRight"), | |
10) || 0) - this.helperProportions.width - this.margins.left, b.top + (f ? Math.max(d.scrollHeight, d.offsetHeight) : d.offsetHeight) - (parseInt(a(d).css("borderTopWidth"), 10) || 0) - (parseInt(a(d).css("paddingBottom"), 10) || 0) - this.helperProportions.height - this.margins.top] | |
} | |
} else if (b.containment.constructor == Array) this.containment = b.containment | |
}, | |
_convertPositionTo: function(b, d) { | |
if (!d) d = this.position; | |
b = b == "absolute" ? 1 : -1; | |
var f = this.cssPosition == "absolute" && !(this.scrollParent[0] != document && a.ui.contains(this.scrollParent[0], | |
this.offsetParent[0])) ? this.offsetParent : this.scrollParent, | |
g = /(html|body)/i.test(f[0].tagName); | |
return { | |
top: d.top + this.offset.relative.top * b + this.offset.parent.top * b - (a.browser.safari && a.browser.version < 526 && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : g ? 0 : f.scrollTop()) * b), | |
left: d.left + this.offset.relative.left * b + this.offset.parent.left * b - (a.browser.safari && a.browser.version < 526 && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : | |
g ? 0 : f.scrollLeft()) * b) | |
} | |
}, | |
_generatePosition: function(b) { | |
var d = this.options, | |
f = this.cssPosition == "absolute" && !(this.scrollParent[0] != document && a.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, | |
g = /(html|body)/i.test(f[0].tagName), | |
j = b.pageX, | |
l = b.pageY; | |
if (this.originalPosition) { | |
if (this.containment) { | |
if (b.pageX - this.offset.click.left < this.containment[0]) j = this.containment[0] + this.offset.click.left; | |
if (b.pageY - this.offset.click.top < this.containment[1]) l = this.containment[1] + | |
this.offset.click.top; | |
if (b.pageX - this.offset.click.left > this.containment[2]) j = this.containment[2] + this.offset.click.left; | |
if (b.pageY - this.offset.click.top > this.containment[3]) l = this.containment[3] + this.offset.click.top | |
} | |
if (d.grid) { | |
l = this.originalPageY + Math.round((l - this.originalPageY) / d.grid[1]) * d.grid[1]; | |
l = this.containment ? !(l - this.offset.click.top < this.containment[1] || l - this.offset.click.top > this.containment[3]) ? l : !(l - this.offset.click.top < this.containment[1]) ? l - d.grid[1] : l + d.grid[1] : l; | |
j = this.originalPageX + | |
Math.round((j - this.originalPageX) / d.grid[0]) * d.grid[0]; | |
j = this.containment ? !(j - this.offset.click.left < this.containment[0] || j - this.offset.click.left > this.containment[2]) ? j : !(j - this.offset.click.left < this.containment[0]) ? j - d.grid[0] : j + d.grid[0] : j | |
} | |
} | |
return { | |
top: l - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + (a.browser.safari && a.browser.version < 526 && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : g ? 0 : f.scrollTop()), | |
left: j - this.offset.click.left - | |
this.offset.relative.left - this.offset.parent.left + (a.browser.safari && a.browser.version < 526 && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : g ? 0 : f.scrollLeft()) | |
} | |
}, | |
_clear: function() { | |
this.helper.removeClass("ui-draggable-dragging"); | |
this.helper[0] != this.element[0] && !this.cancelHelperRemoval && this.helper.remove(); | |
this.helper = null; | |
this.cancelHelperRemoval = false | |
}, | |
_trigger: function(b, d, f) { | |
f = f || this._uiHash(); | |
a.ui.plugin.call(this, b, [d, f]); | |
if (b == "drag") this.positionAbs = | |
this._convertPositionTo("absolute"); | |
return a.Widget.prototype._trigger.call(this, b, d, f) | |
}, | |
plugins: {}, | |
_uiHash: function() { | |
return { | |
helper: this.helper, | |
position: this.position, | |
originalPosition: this.originalPosition, | |
offset: this.positionAbs | |
} | |
} | |
}); | |
a.extend(a.ui.draggable, { | |
version: "1.8.1" | |
}); | |
a.ui.plugin.add("draggable", "connectToSortable", { | |
start: function(b, d) { | |
var f = a(this).data("draggable"), | |
g = f.options, | |
j = a.extend({}, d, { | |
item: f.element | |
}); | |
f.sortables = []; | |
a(g.connectToSortable).each(function() { | |
var l = a.data(this, "sortable"); | |
if (l && !l.options.disabled) { | |
f.sortables.push({ | |
instance: l, | |
shouldRevert: l.options.revert | |
}); | |
l._refreshItems(); | |
l._trigger("activate", b, j) | |
} | |
}) | |
}, | |
stop: function(b, d) { | |
var f = a(this).data("draggable"), | |
g = a.extend({}, d, { | |
item: f.element | |
}); | |
a.each(f.sortables, function() { | |
if (this.instance.isOver) { | |
this.instance.isOver = 0; | |
f.cancelHelperRemoval = true; | |
this.instance.cancelHelperRemoval = false; | |
if (this.shouldRevert) this.instance.options.revert = true; | |
this.instance._mouseStop(b); | |
this.instance.options.helper = this.instance.options._helper; | |
f.options.helper == "original" && this.instance.currentItem.css({ | |
top: "auto", | |
left: "auto" | |
}) | |
} else { | |
this.instance.cancelHelperRemoval = false; | |
this.instance._trigger("deactivate", b, g) | |
} | |
}) | |
}, | |
drag: function(b, d) { | |
var f = a(this).data("draggable"), | |
g = this; | |
a.each(f.sortables, function() { | |
this.instance.positionAbs = f.positionAbs; | |
this.instance.helperProportions = f.helperProportions; | |
this.instance.offset.click = f.offset.click; | |
if (this.instance._intersectsWith(this.instance.containerCache)) { | |
if (!this.instance.isOver) { | |
this.instance.isOver = | |
1; | |
this.instance.currentItem = a(g).clone().appendTo(this.instance.element).data("sortable-item", true); | |
this.instance.options._helper = this.instance.options.helper; | |
this.instance.options.helper = function() { | |
return d.helper[0] | |
}; | |
b.target = this.instance.currentItem[0]; | |
this.instance._mouseCapture(b, true); | |
this.instance._mouseStart(b, true, true); | |
this.instance.offset.click.top = f.offset.click.top; | |
this.instance.offset.click.left = f.offset.click.left; | |
this.instance.offset.parent.left -= f.offset.parent.left - this.instance.offset.parent.left; | |
this.instance.offset.parent.top -= f.offset.parent.top - this.instance.offset.parent.top; | |
f._trigger("toSortable", b); | |
f.dropped = this.instance.element; | |
f.currentItem = f.element; | |
this.instance.fromOutside = f | |
} | |
this.instance.currentItem && this.instance._mouseDrag(b) | |
} else if (this.instance.isOver) { | |
this.instance.isOver = 0; | |
this.instance.cancelHelperRemoval = true; | |
this.instance.options.revert = false; | |
this.instance._trigger("out", b, this.instance._uiHash(this.instance)); | |
this.instance._mouseStop(b, true); | |
this.instance.options.helper = | |
this.instance.options._helper; | |
this.instance.currentItem.remove(); | |
this.instance.placeholder && this.instance.placeholder.remove(); | |
f._trigger("fromSortable", b); | |
f.dropped = false | |
} | |
}) | |
} | |
}); | |
a.ui.plugin.add("draggable", "cursor", { | |
start: function() { | |
var b = a("body"), | |
d = a(this).data("draggable").options; | |
if (b.css("cursor")) d._cursor = b.css("cursor"); | |
b.css("cursor", d.cursor) | |
}, | |
stop: function() { | |
var b = a(this).data("draggable").options; | |
b._cursor && a("body").css("cursor", b._cursor) | |
} | |
}); | |
a.ui.plugin.add("draggable", "iframeFix", { | |
start: function() { | |
var b = | |
a(this).data("draggable").options; | |
a(b.iframeFix === true ? "iframe" : b.iframeFix).each(function() { | |
a('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({ | |
width: this.offsetWidth + "px", | |
height: this.offsetHeight + "px", | |
position: "absolute", | |
opacity: "0.001", | |
zIndex: 1E3 | |
}).css(a(this).offset()).appendTo("body") | |
}) | |
}, | |
stop: function() { | |
a("div.ui-draggable-iframeFix").each(function() { | |
this.parentNode.removeChild(this) | |
}) | |
} | |
}); | |
a.ui.plugin.add("draggable", "opacity", { | |
start: function(b, d) { | |
b = a(d.helper); | |
d = a(this).data("draggable").options; | |
if (b.css("opacity")) d._opacity = b.css("opacity"); | |
b.css("opacity", d.opacity) | |
}, | |
stop: function(b, d) { | |
b = a(this).data("draggable").options; | |
b._opacity && a(d.helper).css("opacity", b._opacity) | |
} | |
}); | |
a.ui.plugin.add("draggable", "scroll", { | |
start: function() { | |
var b = a(this).data("draggable"); | |
if (b.scrollParent[0] != document && b.scrollParent[0].tagName != "HTML") b.overflowOffset = b.scrollParent.offset() | |
}, | |
drag: function(b) { | |
var d = a(this).data("draggable"), | |
f = d.options, | |
g = false; | |
if (d.scrollParent[0] != document && d.scrollParent[0].tagName != | |
"HTML") { | |
if (!f.axis || f.axis != "x") | |
if (d.overflowOffset.top + d.scrollParent[0].offsetHeight - b.pageY < f.scrollSensitivity) d.scrollParent[0].scrollTop = g = d.scrollParent[0].scrollTop + f.scrollSpeed; | |
else if (b.pageY - d.overflowOffset.top < f.scrollSensitivity) d.scrollParent[0].scrollTop = g = d.scrollParent[0].scrollTop - f.scrollSpeed; | |
if (!f.axis || f.axis != "y") | |
if (d.overflowOffset.left + d.scrollParent[0].offsetWidth - b.pageX < f.scrollSensitivity) d.scrollParent[0].scrollLeft = g = d.scrollParent[0].scrollLeft + f.scrollSpeed; | |
else if (b.pageX - | |
d.overflowOffset.left < f.scrollSensitivity) d.scrollParent[0].scrollLeft = g = d.scrollParent[0].scrollLeft - f.scrollSpeed | |
} else { | |
if (!f.axis || f.axis != "x") | |
if (b.pageY - a(document).scrollTop() < f.scrollSensitivity) g = a(document).scrollTop(a(document).scrollTop() - f.scrollSpeed); | |
else if (a(window).height() - (b.pageY - a(document).scrollTop()) < f.scrollSensitivity) g = a(document).scrollTop(a(document).scrollTop() + f.scrollSpeed); | |
if (!f.axis || f.axis != "y") | |
if (b.pageX - a(document).scrollLeft() < f.scrollSensitivity) g = a(document).scrollLeft(a(document).scrollLeft() - | |
f.scrollSpeed); | |
else if (a(window).width() - (b.pageX - a(document).scrollLeft()) < f.scrollSensitivity) g = a(document).scrollLeft(a(document).scrollLeft() + f.scrollSpeed) | |
} | |
g !== false && a.ui.ddmanager && !f.dropBehaviour && a.ui.ddmanager.prepareOffsets(d, b) | |
} | |
}); | |
a.ui.plugin.add("draggable", "snap", { | |
start: function() { | |
var b = a(this).data("draggable"), | |
d = b.options; | |
b.snapElements = []; | |
a(d.snap.constructor != String ? d.snap.items || ":data(draggable)" : d.snap).each(function() { | |
var f = a(this), | |
g = f.offset(); | |
this != b.element[0] && b.snapElements.push({ | |
item: this, | |
width: f.outerWidth(), | |
height: f.outerHeight(), | |
top: g.top, | |
left: g.left | |
}) | |
}) | |
}, | |
drag: function(b, d) { | |
for (var f = a(this).data("draggable"), g = f.options, j = g.snapTolerance, l = d.offset.left, o = l + f.helperProportions.width, v = d.offset.top, A = v + f.helperProportions.height, C = f.snapElements.length - 1; C >= 0; C--) { | |
var q = f.snapElements[C].left, | |
I = q + f.snapElements[C].width, | |
K = f.snapElements[C].top, | |
Q = K + f.snapElements[C].height; | |
if (q - j < l && l < I + j && K - j < v && v < Q + j || q - j < l && l < I + j && K - j < A && A < Q + j || q - j < o && o < I + j && K - j < v && v < Q + j || q - j < o && o < I + j && K - j < A && | |
A < Q + j) { | |
if (g.snapMode != "inner") { | |
var n = Math.abs(K - A) <= j, | |
G = Math.abs(Q - v) <= j, | |
p = Math.abs(q - o) <= j, | |
t = Math.abs(I - l) <= j; | |
if (n) d.position.top = f._convertPositionTo("relative", { | |
top: K - f.helperProportions.height, | |
left: 0 | |
}).top - f.margins.top; | |
if (G) d.position.top = f._convertPositionTo("relative", { | |
top: Q, | |
left: 0 | |
}).top - f.margins.top; | |
if (p) d.position.left = f._convertPositionTo("relative", { | |
top: 0, | |
left: q - f.helperProportions.width | |
}).left - f.margins.left; | |
if (t) d.position.left = f._convertPositionTo("relative", { | |
top: 0, | |
left: I | |
}).left - f.margins.left | |
} | |
var z = | |
n || G || p || t; | |
if (g.snapMode != "outer") { | |
n = Math.abs(K - v) <= j; | |
G = Math.abs(Q - A) <= j; | |
p = Math.abs(q - l) <= j; | |
t = Math.abs(I - o) <= j; | |
if (n) d.position.top = f._convertPositionTo("relative", { | |
top: K, | |
left: 0 | |
}).top - f.margins.top; | |
if (G) d.position.top = f._convertPositionTo("relative", { | |
top: Q - f.helperProportions.height, | |
left: 0 | |
}).top - f.margins.top; | |
if (p) d.position.left = f._convertPositionTo("relative", { | |
top: 0, | |
left: q | |
}).left - f.margins.left; | |
if (t) d.position.left = f._convertPositionTo("relative", { | |
top: 0, | |
left: I - f.helperProportions.width | |
}).left - f.margins.left | |
} | |
if (!f.snapElements[C].snapping && | |
(n || G || p || t || z)) f.options.snap.snap && f.options.snap.snap.call(f.element, b, a.extend(f._uiHash(), { | |
snapItem: f.snapElements[C].item | |
})); | |
f.snapElements[C].snapping = n || G || p || t || z | |
} else { | |
f.snapElements[C].snapping && f.options.snap.release && f.options.snap.release.call(f.element, b, a.extend(f._uiHash(), { | |
snapItem: f.snapElements[C].item | |
})); | |
f.snapElements[C].snapping = false | |
} | |
} | |
} | |
}); | |
a.ui.plugin.add("draggable", "stack", { | |
start: function() { | |
var b = a(this).data("draggable").options; | |
b = a.makeArray(a(b.stack)).sort(function(f, g) { | |
return (parseInt(a(f).css("zIndex"), | |
10) || 0) - (parseInt(a(g).css("zIndex"), 10) || 0) | |
}); | |
if (b.length) { | |
var d = parseInt(b[0].style.zIndex) || 0; | |
a(b).each(function(f) { | |
this.style.zIndex = d + f | |
}); | |
this[0].style.zIndex = d + b.length | |
} | |
} | |
}); | |
a.ui.plugin.add("draggable", "zIndex", { | |
start: function(b, d) { | |
b = a(d.helper); | |
d = a(this).data("draggable").options; | |
if (b.css("zIndex")) d._zIndex = b.css("zIndex"); | |
b.css("zIndex", d.zIndex) | |
}, | |
stop: function(b, d) { | |
b = a(this).data("draggable").options; | |
b._zIndex && a(d.helper).css("zIndex", b._zIndex) | |
} | |
}) | |
})(jQuery); | |
(function(a) { | |
a.widget("ui.slider", a.ui.mouse, { | |
widgetEventPrefix: "slide", | |
options: { | |
animate: false, | |
distance: 0, | |
max: 100, | |
min: 0, | |
orientation: "horizontal", | |
range: false, | |
step: 1, | |
value: 0, | |
values: null | |
}, | |
_create: function() { | |
var b = this, | |
d = this.options; | |
this._mouseSliding = this._keySliding = false; | |
this._animateOff = true; | |
this._handleIndex = null; | |
this._detectOrientation(); | |
this._mouseInit(); | |
this.element.addClass("ui-slider ui-slider-" + this.orientation + " ui-widget ui-widget-content ui-corner-all"); | |
d.disabled && this.element.addClass("ui-slider-disabled ui-disabled"); | |
this.range = a([]); | |
if (d.range) { | |
if (d.range === true) { | |
this.range = a("<div></div>"); | |
if (!d.values) d.values = [this._valueMin(), this._valueMin()]; | |
if (d.values.length && d.values.length !== 2) d.values = [d.values[0], d.values[0]] | |
} else this.range = a("<div></div>"); | |
this.range.appendTo(this.element).addClass("ui-slider-range"); | |
if (d.range === "min" || d.range === "max") this.range.addClass("ui-slider-range-" + d.range); | |
this.range.addClass("ui-widget-header") | |
} | |
a(".ui-slider-handle", this.element).length === 0 && a("<a href='#'></a>").appendTo(this.element).addClass("ui-slider-handle"); | |
if (d.values && d.values.length) | |
for (; a(".ui-slider-handle", this.element).length < d.values.length;) a("<a href='#'></a>").appendTo(this.element).addClass("ui-slider-handle"); | |
this.handles = a(".ui-slider-handle", this.element).addClass("ui-state-default ui-corner-all"); | |
this.handle = this.handles.eq(0); | |
this.handles.add(this.range).filter("a").click(function(f) { | |
f.preventDefault() | |
}).hover(function() { | |
d.disabled || a(this).addClass("ui-state-hover") | |
}, function() { | |
a(this).removeClass("ui-state-hover") | |
}).focus(function() { | |
if (d.disabled) a(this).blur(); | |
else { | |
a(".ui-slider .ui-state-focus").removeClass("ui-state-focus"); | |
a(this).addClass("ui-state-focus") | |
} | |
}).blur(function() { | |
a(this).removeClass("ui-state-focus") | |
}); | |
this.handles.each(function(f) { | |
a(this).data("index.ui-slider-handle", f) | |
}); | |
this.handles.keydown(function(f) { | |
var g = true, | |
j = a(this).data("index.ui-slider-handle"), | |
l, o, v; | |
if (!b.options.disabled) { | |
switch (f.keyCode) { | |
case a.ui.keyCode.HOME: | |
case a.ui.keyCode.END: | |
case a.ui.keyCode.PAGE_UP: | |
case a.ui.keyCode.PAGE_DOWN: | |
case a.ui.keyCode.UP: | |
case a.ui.keyCode.RIGHT: | |
case a.ui.keyCode.DOWN: | |
case a.ui.keyCode.LEFT: | |
g = | |
false; | |
if (!b._keySliding) { | |
b._keySliding = true; | |
a(this).addClass("ui-state-active"); | |
l = b._start(f, j); | |
if (l === false) return | |
} | |
} | |
v = b.options.step; | |
l = b.options.values && b.options.values.length ? o = b.values(j) : o = b.value(); | |
switch (f.keyCode) { | |
case a.ui.keyCode.HOME: | |
o = b._valueMin(); | |
break; | |
case a.ui.keyCode.END: | |
o = b._valueMax(); | |
break; | |
case a.ui.keyCode.PAGE_UP: | |
o = l + (b._valueMax() - b._valueMin()) / 5; | |
break; | |
case a.ui.keyCode.PAGE_DOWN: | |
o = l - (b._valueMax() - b._valueMin()) / 5; | |
break; | |
case a.ui.keyCode.UP: | |
case a.ui.keyCode.RIGHT: | |
if (l === | |
b._valueMax()) return; | |
o = l + v; | |
break; | |
case a.ui.keyCode.DOWN: | |
case a.ui.keyCode.LEFT: | |
if (l === b._valueMin()) return; | |
o = l - v | |
} | |
b._slide(f, j, o); | |
return g | |
} | |
}).keyup(function(f) { | |
var g = a(this).data("index.ui-slider-handle"); | |
if (b._keySliding) { | |
b._keySliding = false; | |
b._stop(f, g); | |
b._change(f, g); | |
a(this).removeClass("ui-state-active") | |
} | |
}); | |
this._refreshValue(); | |
this._animateOff = false | |
}, | |
destroy: function() { | |
this.handles.remove(); | |
this.range.remove(); | |
this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider"); | |
this._mouseDestroy(); | |
return this | |
}, | |
_mouseCapture: function(b) { | |
var d = this.options, | |
f, g, j, l, o, v; | |
if (d.disabled) return false; | |
this.elementSize = { | |
width: this.element.outerWidth(), | |
height: this.element.outerHeight() | |
}; | |
this.elementOffset = this.element.offset(); | |
f = { | |
x: b.pageX, | |
y: b.pageY | |
}; | |
g = this._normValueFromMouse(f); | |
j = this._valueMax() - this._valueMin() + 1; | |
o = this; | |
this.handles.each(function(A) { | |
var C = Math.abs(g - o.values(A)); | |
if (j > C) { | |
j = C; | |
l = a(this); | |
v = A | |
} | |
}); | |
if (d.range === true && this.values(1) === d.min) { | |
v += 1; | |
l = a(this.handles[v]) | |
} | |
if (this._start(b, | |
v) === false) return false; | |
this._mouseSliding = true; | |
o._handleIndex = v; | |
l.addClass("ui-state-active").focus(); | |
d = l.offset(); | |
this._clickOffset = !a(b.target).parents().andSelf().is(".ui-slider-handle") ? { | |
left: 0, | |
top: 0 | |
} : { | |
left: b.pageX - d.left - l.width() / 2, | |
top: b.pageY - d.top - l.height() / 2 - (parseInt(l.css("borderTopWidth"), 10) || 0) - (parseInt(l.css("borderBottomWidth"), 10) || 0) + (parseInt(l.css("marginTop"), 10) || 0) | |
}; | |
g = this._normValueFromMouse(f); | |
this._slide(b, v, g); | |
return this._animateOff = true | |
}, | |
_mouseStart: function() { | |
return true | |
}, | |
_mouseDrag: function(b) { | |
var d = this._normValueFromMouse({ | |
x: b.pageX, | |
y: b.pageY | |
}); | |
this._slide(b, this._handleIndex, d); | |
return false | |
}, | |
_mouseStop: function(b) { | |
this.handles.removeClass("ui-state-active"); | |
this._mouseSliding = false; | |
this._stop(b, this._handleIndex); | |
this._change(b, this._handleIndex); | |
this._clickOffset = this._handleIndex = null; | |
return this._animateOff = false | |
}, | |
_detectOrientation: function() { | |
this.orientation = this.options.orientation === "vertical" ? "vertical" : "horizontal" | |
}, | |
_normValueFromMouse: function(b) { | |
var d; | |
if (this.orientation === "horizontal") { | |
d = this.elementSize.width; | |
b = b.x - this.elementOffset.left - (this._clickOffset ? this._clickOffset.left : 0) | |
} else { | |
d = this.elementSize.height; | |
b = b.y - this.elementOffset.top - (this._clickOffset ? this._clickOffset.top : 0) | |
} | |
d = b / d; | |
if (d > 1) d = 1; | |
if (d < 0) d = 0; | |
if (this.orientation === "vertical") d = 1 - d; | |
b = this._valueMax() - this._valueMin(); | |
return this._trimAlignValue(this._valueMin() + d * b) | |
}, | |
_start: function(b, d) { | |
var f = { | |
handle: this.handles[d], | |
value: this.value() | |
}; | |
if (this.options.values && this.options.values.length) { | |
f.value = | |
this.values(d); | |
f.values = this.values() | |
} | |
return this._trigger("start", b, f) | |
}, | |
_slide: function(b, d, f) { | |
var g; | |
if (this.options.values && this.options.values.length) { | |
g = this.values(d ? 0 : 1); | |
if (this.options.values.length === 2 && this.options.range === true && (d === 0 && f > g || d === 1 && f < g)) f = g; | |
if (f !== this.values(d)) { | |
g = this.values(); | |
g[d] = f; | |
b = this._trigger("slide", b, { | |
handle: this.handles[d], | |
value: f, | |
values: g | |
}); | |
this.values(d ? 0 : 1); | |
b !== false && this.values(d, f, true) | |
} | |
} else if (f !== this.value()) { | |
b = this._trigger("slide", b, { | |
handle: this.handles[d], | |
value: f | |
}); | |
b !== false && this.value(f) | |
} | |
}, | |
_stop: function(b, d) { | |
var f = { | |
handle: this.handles[d], | |
value: this.value() | |
}; | |
if (this.options.values && this.options.values.length) { | |
f.value = this.values(d); | |
f.values = this.values() | |
} | |
this._trigger("stop", b, f) | |
}, | |
_change: function(b, d) { | |
if (!this._keySliding && !this._mouseSliding) { | |
var f = { | |
handle: this.handles[d], | |
value: this.value() | |
}; | |
if (this.options.values && this.options.values.length) { | |
f.value = this.values(d); | |
f.values = this.values() | |
} | |
this._trigger("change", b, f) | |
} | |
}, | |
value: function(b) { | |
if (arguments.length) { | |
this.options.value = | |
this._trimAlignValue(b); | |
this._refreshValue(); | |
this._change(null, 0) | |
} | |
return this._value() | |
}, | |
values: function(b, d) { | |
var f, g, j; | |
if (arguments.length > 1) { | |
this.options.values[b] = this._trimAlignValue(d); | |
this._refreshValue(); | |
this._change(null, b) | |
} | |
if (arguments.length) | |
if (a.isArray(arguments[0])) { | |
f = this.options.values; | |
g = arguments[0]; | |
for (j = 0; j < f.length; j += 1) { | |
f[j] = this._trimAlignValue(g[j]); | |
this._change(null, j) | |
} | |
this._refreshValue() | |
} else return this.options.values && this.options.values.length ? this._values(b) : this.value(); | |
else return this._values() | |
}, | |
_setOption: function(b, d) { | |
var f, g = 0; | |
if (a.isArray(this.options.values)) g = this.options.values.length; | |
a.Widget.prototype._setOption.apply(this, arguments); | |
switch (b) { | |
case "disabled": | |
if (d) { | |
this.handles.filter(".ui-state-focus").blur(); | |
this.handles.removeClass("ui-state-hover"); | |
this.handles.attr("disabled", "disabled"); | |
this.element.addClass("ui-disabled") | |
} else { | |
this.handles.removeAttr("disabled"); | |
this.element.removeClass("ui-disabled") | |
} | |
break; | |
case "orientation": | |
this._detectOrientation(); | |
this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-" + this.orientation); | |
this._refreshValue(); | |
break; | |
case "value": | |
this._animateOff = true; | |
this._refreshValue(); | |
this._change(null, 0); | |
this._animateOff = false; | |
break; | |
case "values": | |
this._animateOff = true; | |
this._refreshValue(); | |
for (f = 0; f < g; f += 1) this._change(null, f); | |
this._animateOff = false | |
} | |
}, | |
_value: function() { | |
return this._trimAlignValue(this.options.value) | |
}, | |
_values: function(b) { | |
var d, f; | |
if (arguments.length) { | |
d = this.options.values[b]; | |
return this._trimAlignValue(d) | |
} else { | |
d = this.options.values.slice(); | |
for (f = 0; f < d.length; f += 1) d[f] = this._trimAlignValue(d[f]); | |
return d | |
} | |
}, | |
_trimAlignValue: function(b) { | |
if (b < this._valueMin()) return this._valueMin(); | |
if (b > this._valueMax()) return this._valueMax(); | |
var d = this.options.step, | |
f = b % d; | |
b -= f; | |
if (f >= d / 2) b += d; | |
return parseFloat(b.toFixed(5)) | |
}, | |
_valueMin: function() { | |
return this.options.min | |
}, | |
_valueMax: function() { | |
return this.options.max | |
}, | |
_refreshValue: function() { | |
var b = this.options.range, | |
d = this.options, | |
f = this, | |
g = !this._animateOff ? d.animate : false, | |
j, l = {}, | |
o, v, A, C; | |
if (this.options.values && this.options.values.length) this.handles.each(function(q) { | |
j = (f.values(q) - f._valueMin()) / (f._valueMax() - f._valueMin()) * 100; | |
l[f.orientation === "horizontal" ? "left" : "bottom"] = j + "%"; | |
a(this).stop(1, 1)[g ? "animate" : "css"](l, d.animate); | |
if (f.options.range === true) | |
if (f.orientation === "horizontal") { | |
if (q === 0) f.range.stop(1, 1)[g ? "animate" : "css"]({ | |
left: j + "%" | |
}, d.animate); | |
if (q === 1) f.range[g ? "animate" : "css"]({ | |
width: j - o + "%" | |
}, { | |
queue: false, | |
duration: d.animate | |
}) | |
} else { | |
if (q === | |
0) f.range.stop(1, 1)[g ? "animate" : "css"]({ | |
bottom: j + "%" | |
}, d.animate); | |
if (q === 1) f.range[g ? "animate" : "css"]({ | |
height: j - o + "%" | |
}, { | |
queue: false, | |
duration: d.animate | |
}) | |
} | |
o = j | |
}); | |
else { | |
v = this.value(); | |
A = this._valueMin(); | |
C = this._valueMax(); | |
j = C !== A ? (v - A) / (C - A) * 100 : 0; | |
l[f.orientation === "horizontal" ? "left" : "bottom"] = j + "%"; | |
this.handle.stop(1, 1)[g ? "animate" : "css"](l, d.animate); | |
if (b === "min" && this.orientation === "horizontal") this.range.stop(1, 1)[g ? "animate" : "css"]({ | |
width: j + "%" | |
}, d.animate); | |
if (b === "max" && this.orientation === "horizontal") this.range[g ? | |
"animate" : "css"]({ | |
width: 100 - j + "%" | |
}, { | |
queue: false, | |
duration: d.animate | |
}); | |
if (b === "min" && this.orientation === "vertical") this.range.stop(1, 1)[g ? "animate" : "css"]({ | |
height: j + "%" | |
}, d.animate); | |
if (b === "max" && this.orientation === "vertical") this.range[g ? "animate" : "css"]({ | |
height: 100 - j + "%" | |
}, { | |
queue: false, | |
duration: d.animate | |
}) | |
} | |
} | |
}); | |
a.extend(a.ui.slider, { | |
version: "1.8.1" | |
}) | |
})(jQuery); | |
(function(a) { | |
a.fn.extend({ | |
lazy: function(b) { | |
return this.each(function() { | |
new a.lazy(this, b) | |
}) | |
} | |
}); | |
a.lazy = function(b, d) { | |
var f = this; | |
f.inc = 0; | |
f.optionsArr = []; | |
f.options = a.extend({}, { | |
threshold: 0, | |
eventDelay: 200, | |
exclude: null, | |
onComplete: false, | |
placements: [], | |
lazyRR: false, | |
posCurtain: false, | |
posCurtainFocus: true, | |
type: "", | |
onBeforeSend: null, | |
isScrolled: false, | |
onEarlyComplete: null, | |
collectionCall: false, | |
callback: null | |
}, d || {}); | |
f.window = a(window); | |
f.wrapper = a(b); | |
f.lazySelector = typeof f.options.lazyInsertBefore !== "undefined" ? "div.lazy-load" : | |
"form.lazy-load"; | |
f.lazyInsertBefore = f.options.lazyInsertBefore !== undefined ? f.options.lazyInsertBefore : false; | |
f.hpgrid = f.options.hpgrid !== undefined ? f.options.hpgrid : false; | |
f.ignoreAjax = f.options.ignoreAjax !== undefined ? true : false; | |
f.callback = f.options.callback !== undefined ? f.options.callback : null; | |
if (a.makeArray(d).length > 1) f.optionsArr = d; | |
this.exclude = "#ajax-curtain, #Carousel, .carousel" + (f.options.exclude !== null) ? ", " + f.options.exclude : ""; | |
f.images = f.wrapper.find("img").filter(function() { | |
return !a(this).parents(f.exclude).length | |
}); | |
f.forms = f.wrapper.find(f.lazySelector).filter(function() { | |
return !a(this).parents(f.exclude).length | |
}); | |
f.formsQueue = []; | |
f.setup() | |
}; | |
a.lazy.registration = { | |
info: { | |
Author: "Ryan Fitzer", | |
Revision: "$Revision: 76380 $", | |
LastChangedBy: "$LastChangedBy: rfitze $", | |
Date: "$Date: 2011-01-19 00:55:55 +0530 (Wed, 19 Jan 2011) $" | |
} | |
}; | |
a.lazy.above = function(b, d) { | |
var f = typeof b === "string" ? a(b) : b, | |
g = d || {}; | |
return (g.container === undefined || g.container === window ? a(window).scrollTop() : (typeof g.container === "string" ? a(g.container) : g.container).offset().top) >= | |
f.offset().top + (g.threshold || 0) + f.height() | |
}; | |
a.lazy.left = function(b, d) { | |
var f = typeof b === "string" ? a(b) : b, | |
g = d || {}; | |
return (g.container === undefined || g.container === window ? a(window).scrollLeft() : (typeof g.container === "string" ? a(g.container) : g.container).offset().left) >= f.offset().left + (g.threshold || 0) + f.width() | |
}; | |
a.lazy.below = function(b, d) { | |
var f = typeof b === "string" ? a(b) : b, | |
g = d || {}; | |
if (g.container === undefined || g.container === window) { | |
var j = a(window); | |
j = j.height() + j.scrollTop() | |
} else { | |
j = typeof g.container === "string" ? | |
a(g.container) : g.container; | |
j = j.offset().top + j.height() | |
} | |
return j <= f.offset().top - (g.threshold || 0) | |
}; | |
a.lazy.right = function(b, d) { | |
var f = typeof b === "string" ? a(b) : b, | |
g = d || {}; | |
if (g.container === undefined || g.container === window) { | |
var j = a(window); | |
j = j.width() + j.scrollLeft() | |
} else { | |
j = typeof g.container === "string" ? a(g.container) : g.container; | |
j = j.offset().left + j.width() | |
} | |
return j <= f.offset().left - (g.threshold || 0) | |
}; | |
a.lazy.inView = function(b, d) { | |
return !(a.lazy.above(b, d) || a.lazy.left(b, d) || a.lazy.below(b, d) || a.lazy.right(b, | |
d)) | |
}; | |
a.extend(a.expr[":"], { | |
"above-the-fold": function(b) { | |
return a.lazy.above(a(b), { | |
threshold: 0, | |
container: window | |
}) | |
}, | |
"left-of-fold": function(b) { | |
return a.lazy.left(a(b), { | |
threshold: 0, | |
container: window | |
}) | |
}, | |
"below-the-fold": function(b) { | |
return a.lazy.below(a(b), { | |
threshold: 0, | |
container: window | |
}) | |
}, | |
"right-of-fold": function(b) { | |
return a.lazy.right(a(b), { | |
threshold: 0, | |
container: window | |
}) | |
}, | |
"in-view": function(b) { | |
return a.lazy.inView(a(b), { | |
threshold: 0, | |
container: window | |
}) | |
} | |
}); | |
a.extend(a.lazy.prototype, { | |
setup: function() { | |
var b = | |
this, | |
d = null, | |
f = "appear submit"; | |
b.wrapper.delegate("img", "appear", function(g) { | |
b.loadImage(g) | |
}); | |
b.wrapper.undelegate(b.lazySelector, "appear submit"); | |
if (parseInt(a.browser.version) == 8 && b.ignoreAjax) f = "appear"; | |
b.wrapper.delegate(b.lazySelector, f, function(g) { | |
b.formsQueue.push(g); | |
b.loadForm(b.options.isScrolled) | |
}); | |
b.window.unbind("scroll.lazy resize.lazy").bind("scroll.lazy resize.lazy", function() { | |
b.options.isScrolled = true; | |
clearTimeout(d); | |
d = setTimeout(function() { | |
b.testImages(); | |
b.testForms() | |
}, b.options.eventDelay) | |
}); | |
typeof b.options.skipEvent !== "undefined" && b.options.type && b.options.type === "tab" && b.wrapper.delegate("ul.tabs-index li a.j-lazytab", "click", function(g) { | |
g.preventDefault(); | |
b.loadContent(g) | |
}); | |
b.configImages(); | |
b.configForms() | |
}, | |
configImages: function() { | |
var b; | |
this.images.each(function() { | |
b = a(this); | |
b.data("lazy", {}); | |
b.attr("original") === undefined && b.attr("original", b.attr("src")) | |
}); | |
this.testImages() | |
}, | |
configForms: function() { | |
var b = this, | |
d; | |
b.forms.each(function() { | |
d = a(this); | |
d.data("lazy", {}); | |
b.cachePosition(d) | |
}); | |
b.testForms() | |
}, | |
testImages: function() { | |
var b = this, | |
d; | |
b.images = b.images.filter(function() { | |
d = a(this); | |
b.cachePosition(d); | |
if (b.notInView(d)) return true; | |
else { | |
d.trigger("appear"); | |
return false | |
} | |
}) | |
}, | |
testForms: function() { | |
var b = this, | |
d; | |
b.forms = b.forms.filter(function() { | |
d = a(this); | |
if (b.notInView(d)) return true; | |
else { | |
d.trigger("appear"); | |
return false | |
} | |
}) | |
}, | |
loadImage: function(b) { | |
var d = a(b.target); | |
a("<img/>").bind("load", function() { | |
d.attr("src", d.attr("original")).show() | |
}).attr("src", d.attr("original")) | |
}, | |
loadForm: function(b) { | |
var d, | |
f, g, j, l, o, v, A, C = "", | |
q = this, | |
I = "html"; | |
if (!(!q.formsQueue.length || q.loadInProgress)) { | |
q.loadInProgress = true; | |
d = q.formsQueue.shift(); | |
f = a(d.target); | |
d = f.attr("action"); | |
if (q.lazyInsertBefore) { | |
I = "json"; | |
g = a(q.lazySelector).find("input"); | |
q.options.posCurtain = false; | |
q.options.posCurtainFocus = false; | |
C = a("body"); | |
a("#trLastCol").removeClass("hidden"); | |
a(".removeItem").addClass("overlay-open"); | |
a("#see-more-reviews").hide() | |
} else { | |
g = f.serialize(); | |
C = f | |
} | |
b = typeof b !== "undefined" ? b : true; | |
if (q.optionsArr.length !== 0) { | |
q.options = | |
a.extend({}, q.options, q.optionsArr[q.inc] || {}); | |
q.inc++ | |
} | |
j = q.options.placements !== undefined ? q.options.placements : []; | |
l = q.options.lazyRR !== undefined ? true : false; | |
o = q.options.posCurtain !== undefined ? q.options.posCurtain : false; | |
v = q.options.posCurtainFocus !== undefined ? q.options.posCurtainFocus : true; | |
q.options.onBeforeSend && q.options.onBeforeSend(f); | |
if (d == "#" || q.ignoreAjax) return q.loadInProgress = false; | |
a.ajax({ | |
url: d, | |
data: g, | |
dataType: I, | |
cache: false, | |
type: "post", | |
curtain: { | |
selector: C, | |
posCurtain: o, | |
posCurtainFocus: v | |
}, | |
success: function(K) { | |
if (j.length > 0) { | |
var Q = a('[var="isHomePage"]'); | |
Q = Q.length && Q.val() == "true" ? true : false; | |
var n = a(K); | |
n.filter("script").each(function() { | |
this.src && this.src !== "" && Target.util.loadScript({ | |
src: this.src, | |
success: function() {} | |
}) | |
}); | |
n.filter("script").each(function() { | |
try { | |
a.globalEval(this.src || this.text || this.textContent || this.innerHTML || "") | |
} catch (G) {} | |
}); | |
a.each(j, function(G, p) { | |
a(K).find(p).html() && a(p).html(a(K).find(p).html()) | |
}) | |
} else if (q.lazyInsertBefore || q.hpgrid) q.options.onEarlyComplete && | |
q.options.onEarlyComplete(K, f); | |
else if (q.options.collectionCall) { | |
q.options.onEarlyComplete(K, f); | |
q.callback && q.callback() | |
} else { | |
f.replaceWith(K); | |
Q && a(".spotlight-container").hide() | |
} | |
if (o && b) { | |
if (j.length > 0) { | |
n = a(j[j.length - 1]); | |
A = n.find("h2").eq(0); | |
if (A.length === 0) A = n.find("a").eq(0) | |
} else { | |
A = q.wrapper.find("h2").eq(0); | |
if (A.length === 0) A = q.wrapper.find("a").eq(0) | |
} | |
A.attr("tabIndex", "-1"); | |
setTimeout(function() { | |
A.focus() | |
}, 1E3) | |
} | |
if (l) typeof rr_recs !== "undefined" ? q.rrCb() : setTimeout(function() { | |
q.rrCb() | |
}, 2E3); | |
q.forms = | |
q.wrapper.find(q.lazySelector).filter(function() { | |
return !a(this).parents(q.exclude).length | |
}); | |
if (Q) { | |
setTimeout(function() { | |
q.loadForm() | |
}, 1500); | |
setTimeout(function() { | |
a(".spotlight-container").show() | |
}, 1E3) | |
} else q.loadForm(); | |
q.configForms(); | |
q.loadInProgress = false; | |
q.options.onComplete && q.options.onComplete() | |
}, | |
error: function() { | |
a.overlay.currentOverlay.trigger("close.overlay"); | |
console.log("Error in lazy load") | |
} | |
}) | |
} | |
}, | |
loadContent: function(b, d) { | |
var f, g, j, l, o, v, A, C; | |
f = b.currentTarget ? a(b.currentTarget) : b; | |
g = f.attr("tagName"); | |
j = f.find("a.j-lazytab").attr("href"); | |
a("#omniPartNumber").val() != undefined && a("#omniPartNumber").val() != "" && a("#omniPartNumber").val(); | |
l = g === "LI" ? a(j) : a(f.attr("href")); | |
f = l.find("form"); | |
g = f.attr("action"); | |
j = f.serialize(); | |
if (d) { | |
o = typeof d.catEntryId !== "undefined" ? d.catEntryId : ""; | |
v = typeof d.parentId !== "undefined" ? d.parentId : ""; | |
A = typeof d.enablePluckFeature !== "undefined" ? d.enablePluckFeature : ""; | |
C = typeof d.action !== "undefined" ? d.action : ""; | |
j = j + "&isSoftRefresh=true&catEntryId=" + o + "&parentId=" + v + "&enablePluckFeature=" + | |
A | |
} | |
if (f.length == 0 || f.attr("action").indexOf(C) == -1) { | |
a(l).focus(); | |
return false | |
} | |
a.ajax({ | |
url: g, | |
data: d.method ? "" : j, | |
dataType: d.dataType ? d.dataType : "html", | |
cache: false, | |
type: d.method ? d.method : "post", | |
curtain: false, | |
success: function(q) { | |
if (l) { | |
if (l.attr("id") == "item-sizechart") a(l).html(q); | |
else l.attr("id") != "media-detail-common-sense" && a(l).replaceWith(q); | |
var I = "#" + a(l).attr("id"), | |
K = a("#ProductDetails .tabs-index li.selected").find("span a").attr("href"); | |
if (typeof K !== "undefined") { | |
a(K).show(); | |
I == K ? a(I).show() : | |
a(I).hide() | |
} | |
a(I).focus() | |
} | |
d.cb && d.cb(q) | |
}, | |
error: function() { | |
console.log("Error in loading tab ajax call") | |
} | |
}) | |
}, | |
rrCb: function(b) { | |
var d = ""; | |
if (typeof rr_recs !== "undefined") { | |
d = rr_recs.placements; | |
d.length > 0 && a.each(d, function(f, g) { | |
function j(A, C) { | |
var q = ""; | |
if (C.placementType) { | |
q += "<div id='rr_placement_" + A + "'>"; | |
q += C.html; | |
q += "</div>" | |
} | |
return q | |
} | |
var l = g.placementType, | |
o = l.replace(/\./, "-"), | |
v = a('div[id^="' + o + '"]'); | |
(function() { | |
var A = 0; | |
a.each(d, function(C, q) { | |
if (q.placementType == l) { | |
var I = a(v[A]); | |
I && I.html(j(A, q)); | |
A++ | |
} | |
}) | |
})() | |
}); | |
setTimeout(function() { | |
a('div[id^="rr_placement_"]').find("div.image-container").find("img").length === 0 && rr_call_after_flush(); | |
rr_onload_called = false; | |
RR.onloadCalled = true | |
}, typeof b != "undefined" & b === "nodelay" ? a.browser.webkit ? 0 : 0 : a.browser.webkit ? 5E3 : 2E3); | |
Target.controller.globalUtils.initRRCarousel() | |
} | |
}, | |
cachePosition: function(b) { | |
var d = b.offset(), | |
f = b.width(), | |
g = b.height(); | |
g = d.top + this.options.threshold + g; | |
f = d.left + this.options.threshold + f; | |
var j = d.top - this.options.threshold; | |
d = d.left - this.options.threshold; | |
b = b.data("lazy"); | |
if (b != null) { | |
b.top = g; | |
b.left = f; | |
b.bottom = j; | |
b.right = d | |
} | |
}, | |
notInView: function(b) { | |
var d, f, g = { | |
above: null, | |
left: null, | |
below: null, | |
right: null | |
}; | |
d = this.window.scrollTop(); | |
f = this.window.scrollLeft(); | |
g.above = d; | |
g.left = f; | |
g.below = this.window.height() + d; | |
g.right = this.window.width() + f; | |
this.eventElementPos = g; | |
return this.checkPosition.above(b, g.above) || this.checkPosition.left(b, g.left) || this.checkPosition.below(b, g.below) || this.checkPosition.right(b, g.right) | |
}, | |
checkPosition: { | |
above: function(b, d) { | |
var f = b.data("lazy"); | |
return f ? d >= f.top : true | |
}, | |
left: function(b, d) { | |
var f = b.data("lazy"); | |
return f ? d >= f.left : true | |
}, | |
below: function(b, d) { | |
var f = b.data("lazy"); | |
return f ? d <= f.bottom : true | |
}, | |
right: function(b, d) { | |
var f = b.data("lazy"); | |
return f ? d <= f.right : true | |
} | |
} | |
}) | |
})(jQuery); | |
$(window).trigger("register.framework", ["plugin", "lazy", $.lazy.registration]); | |
Target = { | |
init: function() { | |
this.support.js(); | |
this.support.testie(); | |
this.support.testMaciPad(); | |
$(document).bind("session-start.framework", $.proxy(this.handleSessionTimer, this)); | |
$(document).ready($.proxy(this.domReady, this)) | |
}, | |
support: { | |
js: function() { | |
var a = document.documentElement; | |
a.className = a.className.replace("no-js", "js-enabled") | |
}, | |
testie: function() { | |
return $.browser.msie && $.browser.version > 6 ? document.documentElement.className = " ie ie" + parseInt($.browser.version) : void 0 | |
}, | |
testMaciPad: function() { | |
if (navigator.platform.indexOf("Mac") != | |
-1 || navigator.platform.indexOf("iPad") != -1) | |
if (typeof window.chrome === "object") $("html").addClass("mchrome"); | |
else $.browser.safari && $("html").addClass("msafari") | |
}, | |
isTouch: "ontouchstart" in window || window.DocumentTouch && document instanceof DocumentTouch ? true : false | |
}, | |
domReady: function() { | |
this.updateBuffer(); | |
this.jqueryExtentions(); | |
this.console(); | |
this.touch() | |
}, | |
register: function(a, b, d, f) { | |
var g = {}, | |
j = typeof a != "string", | |
l = j ? d : b, | |
o = j ? f : d; | |
if ((j ? b : a) === "controller") { | |
if (o.utils && o.utils.length) { | |
for (i = 0; i < o.utils.length; i++) | |
if (o.utils[i] in | |
this.util) g[o.utils[i]] = this.util[o.utils[i]]; | |
o.utils = g | |
} | |
this.controller[l] = o; | |
this.controller[l].init && $(document).ready(function() { | |
o.init() | |
}) | |
} | |
}, | |
globals: {}, | |
validation: {}, | |
controller: {}, | |
util: { | |
showHide: function(a, b, d) { | |
var f, g = a.text(), | |
j = d.hideText || "see less", | |
l = d.theClass || "hidden", | |
o = d.focusContent || b; | |
o.attr("tabindex", -1); | |
a.click(function(v) { | |
a.text(); | |
v.preventDefault(); | |
f = a.text() === g ? j : g; | |
a.text(f); | |
b.toggleClass(l); | |
b.hasClass(l) ? o.get(0).focus() : a.get(0).focus() | |
}) | |
}, | |
defaultFieldValue: function(a, b) { | |
var d = | |
a.val(); | |
d !== b && d === "" && a.val(b).blur(); | |
a.live("focusin focusout", function(f) { | |
var g = a.val(); | |
f.type === "focusin" && g === b && a.val("") && a.select(); | |
f.type === "focusout" && g === "" && a.val(b) | |
}) | |
}, | |
loadScript: function(a) { | |
var b, d, f, g, j, l, o = 0, | |
v = document, | |
A = Math.random(), | |
C = a.test; | |
A = a.src + (a.cache ? "" : "?" + A); | |
var q = a.context, | |
I = a.interval && a.interval < 3E4 && a.interval || 1E3, | |
K = a.runs && a.runs * I < 3E4 && a.runs || 10, | |
Q = a.delayLoad && a.delayLoad === true && "load" || a.delayLoad && a.delayLoad || false, | |
n = a.delayLoadTarget || window; | |
if (A) { | |
g = function() { | |
if (a.success) { | |
d = | |
q === true && wnd[C] || q || window; | |
a.success.call(d, window[C]) | |
} | |
}; | |
f = function() { | |
if (a.error) { | |
q = q || window; | |
a.error.call(d) | |
} | |
}; | |
if (window[C]) return g(); | |
l = v.getElementsByTagName("script")[0]; | |
j = v.createElement("script"); | |
j.src = A; | |
j.async = true; | |
if (typeof C === "undefined") | |
if (j.readyState) j.onreadystatechange = function() { | |
if (this.readyState == "complete" || this.readyState == "loaded") { | |
j.onreadystatechange = null; | |
g() | |
} | |
}; | |
else j.onload = g; | |
else b = setInterval(function() { | |
if (o++ >= K) { | |
clearInterval(b); | |
f() | |
} | |
if (typeof window[C] !== "undefined") { | |
clearInterval(b); | |
g() | |
} | |
}, I); | |
Q ? $(n).bind(Q, function() { | |
l.parentNode ? l.parentNode.insertBefore(j, l) : $("script").first().before(j) | |
}) : l.parentNode.insertBefore(j, l) | |
} | |
}, | |
loadStyles: function(a) { | |
var b, d = ""; | |
for (b in a) d += '<link rel="stylesheet" type="text/css" href="' + a[b] + '" />'; | |
$("head").append(d) | |
}, | |
loadIframe: function(a) { | |
var b, d; | |
this.body || $("body"); | |
a = $.extend(true, {}, { | |
target: null, | |
when: "load", | |
load: null, | |
attr: { | |
scrolling: "no", | |
frameborder: "0", | |
style: "display:none;visibility:hidden", | |
allowTransparency: "true" | |
} | |
}, a || {}); | |
if (a.attr.src) { | |
b = | |
$("<iframe/>", a.attr); | |
b.bind("load", function(f) { | |
d.trigger("iframe-loaded.framework"); | |
a.load && $.isFunction(a.load) && a.load.call(d, f) | |
}); | |
d = a.target ? a.target : b; | |
if (a.when === "load") $(window).bind("load", function() { | |
d.append(b) | |
}); | |
else a.when === "ready" ? $(function() { | |
d.append(b) | |
}) : d.append(b) | |
} | |
}, | |
checkKeyCode: function(a, b, d) { | |
var f, g; | |
if (b = typeof b === "string" ? RegExp(b.replace(",", "|").replace(" ", "")) : RegExp(b)) { | |
f = $(a.target); | |
g = a.keyCode || a.which || 0; | |
b = b.exec(g); | |
g = a.metaKey || a.altKey || a.ctrlKey || a.shiftKey ? true : | |
false; | |
if (f = !g && !f.is(":input") && !f.is("textarea") && b !== null) { | |
a.theKey = parseInt(b[0]); | |
d.call(a.currentTarget, a); | |
return a.theKey | |
} else return null | |
} | |
}, | |
parseFragment: function(a) { | |
var b = {}; | |
a = /&/.test(a) ? a.split("&") : [a]; | |
for (pair in a) { | |
pairArray = a[pair].split("="); | |
pairArray.length <= 1 || (b[pairArray[0]] = pairArray[1]) | |
} | |
return b | |
}, | |
normalizeColumnHeight: function(a) { | |
var b = 0; | |
a.each(function() { | |
var d = $(this), | |
f = d.height(); | |
if (d.css("height").replace("px", "") > d.css("minHeight").replace("px", "")) b = f > b ? f : b | |
}); | |
typeof callback == | |
"function" && callback(b); | |
b && a.height(b); | |
return b | |
}, | |
faceBookLikeButton: function() { | |
var a = this, | |
b = $(".fb-like-button"); | |
if (b.length == 0) return false; | |
b.each(function() { | |
var d = $(this); | |
a.loadIframe({ | |
target: d, | |
attr: { | |
src: d.attr("data-iframe-src"), | |
style: "border:none; overflow:hidden; width:90px; height:21px;" | |
} | |
}) | |
}) | |
}, | |
tweetButton: function() { | |
if ($(".twitter-share-button").length == 0) return false; | |
this.loadScript({ | |
src: "//platform.twitter.com/widgets.js", | |
error: function() { | |
console.log("error: http://platform.twitter.com/widgets.js failed to load.") | |
}, | |
delayLoad: false, | |
cache: true | |
}) | |
} | |
}, | |
richRelevance: function(a) { | |
var b = window, | |
d = $(a.placement).eq(0), | |
f = a.context || d; | |
this.richRelevance.complete = function(g) { | |
a.complete.call(f, g) | |
}; | |
b.R3_HOME = b.R3_CATEGORY = b.R3_SEARCH = b.R3_ITEM = b.R3_REGISTRY = b.R3_ADDTOCART = b.R3_CART = b.R3_PURCHASED = b.R3_ERROR = undefined; | |
a.beforeSend && a.beforeSend.call(f); | |
this.util.loadScript({ | |
src: "//media.richrelevance.com/rrserver/js/1.0/p13n.js", | |
test: "RR", | |
context: this, | |
success: function() { | |
a.config.call(b); | |
b.R3_COMMON.setJsonCallback("Target.richRelevance.complete"); | |
b.r3() | |
}, | |
error: function() { | |
if (a.error) return a.error.call(f, "Sorry, related products are not currently available."); | |
d.removeClass("loading").append('<div class="info-msg"><p class="error-message">Sorry, related products are not currently available.</p></div>') | |
} | |
}) | |
}, | |
handleSessionTimer: function() { | |
clearInterval(Target.controller.header.counterMinutes); | |
clearInterval(Target.controller.header.counterSeconds); | |
var a = Target.controller.header.cookie.read(Target.globals.JSESSIONID), | |
b = "WC_USERACTIVITY_", | |
d = "", | |
f = | |
"", | |
g, j, l = $(".checkout").length, | |
o = $(".regSettingsSec").length, | |
v = $(".gamSession").length, | |
A, C, q, I = this, | |
K = true, | |
Q = I.handleSessionTimer; | |
o == 1 || v == 1 ? j = 1 : j = 0; | |
d = Target.controller.header.cookie.readUserActivityfromCookieForRR(a); | |
f = Target.controller.header.cookie.read("guestDisplayName"); | |
b += d; | |
Q.timeoutId && clearTimeout(Q.timeoutId); | |
Q.extendSession = function(n, G) { | |
Q.timeoutId = setTimeout(function() { | |
if (n || G) Target.controller.header.alertHtml(j, 0, 0); | |
if (f == null || f.length < 1) Target.controller.header.cookie.erase(b); | |
return true | |
}, | |
3E5) | |
}; | |
Q.timeoutId = setTimeout(function() { | |
if ($(".noAlert").length != 1) { | |
l == 1 || o == 1 || v == 1 ? g = 1 : g = 0; | |
isSecure = location.protocol == "http:" ? false : true; | |
q = new Date; | |
C = q.getTime(); | |
if (g || isSecure) K = Target.controller.header.alertHtml(j, 1, 0); | |
q = new Date; | |
A = q.getTime(); | |
if (!K || A - C > 3E5) { | |
if (A - C > 3E5) { | |
if (g || isSecure) Target.controller.header.alertHtml(j, 0, 1); | |
if (f == null || f.length < 1) Target.controller.header.cookie.erase(b); | |
return true | |
} | |
clearTimeout(Q.timeoutId); | |
return Q.extendSession(g, isSecure) | |
} | |
if (!g && !isSecure) return false; | |
$.ajax({ | |
url: "/webapp/wcs/stores/servlet/UserSessionExtensionView?isSoftRefresh=true", | |
curtain: false, | |
success: function() { | |
I.handleSessionTimer() | |
}, | |
error: function() { | |
if (g || isSecure) Target.controller.header.alertHtml(j, 0, 1); | |
if (f == null || f.length < 1) Target.controller.header.cookie.erase(b); | |
return true | |
} | |
}) | |
} | |
}, 15E5) | |
}, | |
updateBuffer: function() { | |
var a = this.updateBuffer; | |
if (a.inputAppended) a.input.val(a.input.val() === "0" ? "1" : "0"); | |
else { | |
a.input = $("<input/>", { | |
id: "virtualBufferUpdate", | |
type: "hidden", | |
value: "0" | |
}).appendTo("body"); | |
a.inputAppended = true; | |
$(document).bind("updateBuffer.framework", $.proxy(a, this)) | |
} | |
}, | |
facebookConnect: function() { | |
if ($(".fb-like-button").length == 0) return false; | |
var a = this, | |
b = document, | |
d = document.createElement("div"), | |
f = function() { | |
FB.init({ | |
appId: "181925621858687", | |
status: true, | |
cookie: true, | |
xfbml: true | |
}) | |
}, | |
g = function() { | |
console.log("error: //connect.facebook.net/en_US/all.js failed to define `window.FB` due to an unknown error.") | |
}; | |
d.id = "fb-root"; | |
b.body.appendChild(d); | |
$(window).bind("load", function() { | |
a.util.loadScript({ | |
src: "//connect.facebook.net/en_US/all.js", | |
test: "FB", | |
success: f, | |
error: g | |
}) | |
}) | |
}, | |
jqueryExtentions: function() { | |
var a = this, | |
b = $.fn.hide, | |
d = $.fn.show; | |
$.fn.hide = function(o, v) { | |
return o ? b.call(this, o, function() { | |
v && v(); | |
$(this).css("visibility", "hidden") | |
}) : b.call(this).css("visibility", "hidden") | |
}; | |
$.fn.show = function(o, v) { | |
$(this).css("visibility", "visible"); | |
return d.call(this, o, v) | |
}; | |
var f = null, | |
g = $(window); | |
g.bind("resize", function(o) { | |
f !== null && clearTimeout(f); | |
f = setTimeout(function() { | |
g.trigger("resizeEnd", o) | |
}, 250) | |
}); | |
var j = lastClick = lastClickedElement = lastMouseover = | |
lastMousedElement = null, | |
l = "#shoppingCart"; | |
a.eventDelaySpan = 250; | |
a.addMouseoverElement = function(o) { | |
return l += "," + o | |
}; | |
$(document).bind("ajaxStart", function(o) { | |
try { | |
if (o.currentTarget.activeElement.tagName !== "BODY") j = o.currentTarget.activeElement | |
} catch (v) {} | |
}); | |
$(document).bind("ajaxStop", function() { | |
j = null | |
}); | |
$.event.special.click = { | |
add: function(o) { | |
var v = o.handler, | |
A = $(this); | |
o.handler = function(C) { | |
var q = (new Date).getTime(); | |
if (A === lastClickedElement && q - lastClick < a.eventDelaySpan) { | |
C.preventDefault(); | |
return false | |
} else { | |
lastClick = | |
q; | |
lastClickedElement = A; | |
if (j && A.get(0) === j) C.preventDefault(); | |
else return v.apply(this, arguments) | |
} | |
} | |
} | |
}; | |
$.event.special.mouseover = { | |
add: function(o) { | |
var v = o.handler, | |
A = $(this); | |
o.handler = function(C) { | |
var q = (new Date).getTime(), | |
I = A.is(l); | |
if (I && A == lastMousedElement && q - lastMouseover < a.eventDelaySpan) { | |
C.preventDefault(); | |
return false | |
} else { | |
if (I) { | |
lastMouseover = q; | |
lastMousedElement = A | |
} | |
if (j && A.get(0) === j) C.preventDefault(); | |
else return v.apply(this, arguments) | |
} | |
} | |
} | |
}; | |
$(document).bind("ajaxError", function(o, v, A, C) { | |
console.log("AJAX Error."); | |
try { | |
if (v.status === 500) console.log("An Internal Server Error occured, it is possible a timeout was reached."); | |
else v.status === 404 && console.log("The page you requested does not exist."); | |
console.log(C.name, C.message); | |
console.log("Line number " + C.lineNumber + " in " + C.fileName) | |
} catch (q) {} | |
}); | |
$.fn.CEvent = function(o, v) { | |
if (o.length <= 0) return false; | |
$(this); | |
var A = $(document), | |
C = function() { | |
console.log("Event Handler Plugin callback is missing") | |
}; | |
$.each(o, function(q, I) { | |
if (I) { | |
var K = I.selector ? I.selector : "", | |
Q = I.data ? | |
I.data : [], | |
n = I.type ? I.type : "delegate", | |
G = I.eventType ? I.eventType : "click", | |
p = I.cb ? I.cb : C, | |
t = I.skipevent ? I.skipevent : false, | |
z = I.parent ? I.parent.attr ? I.parent : $(I.parent) : A; | |
K = K !== "" ? K : ""; | |
var D = function(M) { | |
t || M.preventDefault(); | |
return p.call(v, M, Q, this) | |
}; | |
if (n == "bind" || n == "live") { | |
K = K.attr ? K : $(K); | |
K.bind(G, D) | |
} else n == "delegate" && z.delegate(K, G, D) | |
} | |
}) | |
} | |
}, | |
console: function() { | |
if (!window.console) { | |
window.console = {}; | |
var a = function() {}; | |
$.each(["log", "debug", "info", "warn", "error", "time", "timeEnd", "group", "groupEnd"], function(b, | |
d) { | |
window.console[d] = a | |
}) | |
} | |
}, | |
touch: function() { | |
Target.support.isTouch && $("body").addClass("ipad") | |
} | |
}; | |
Target.init(); | |
(function() { | |
var a = this, | |
b = a._, | |
d = Array.prototype, | |
f = Object.prototype, | |
g = d.push, | |
j = d.slice, | |
l = d.concat, | |
o = f.toString, | |
v = f.hasOwnProperty; | |
f = Array.isArray; | |
var A = Object.keys, | |
C = Function.prototype.bind, | |
q = function(m) { | |
if (m instanceof q) return m; | |
if (!(this instanceof q)) return new q(m); | |
this._wrapped = m | |
}; | |
if (typeof exports !== "undefined") { | |
if (typeof module !== "undefined" && module.exports) exports = module.exports = q; | |
exports._ = q | |
} else a._ = q; | |
q.VERSION = "1.7.0"; | |
var I = function(m, u, y) { | |
if (u === void 0) return m; | |
switch (y == null ? 3 : y) { | |
case 1: | |
return function(H) { | |
return m.call(u, | |
H) | |
}; | |
case 2: | |
return function(H, J) { | |
return m.call(u, H, J) | |
}; | |
case 3: | |
return function(H, J, R) { | |
return m.call(u, H, J, R) | |
}; | |
case 4: | |
return function(H, J, R, U) { | |
return m.call(u, H, J, R, U) | |
} | |
} | |
return function() { | |
return m.apply(u, arguments) | |
} | |
}; | |
q.iteratee = function(m, u, y) { | |
if (m == null) return q.identity; | |
if (q.isFunction(m)) return I(m, u, y); | |
if (q.isObject(m)) return q.matches(m); | |
return q.property(m) | |
}; | |
q.each = q.forEach = function(m, u, y) { | |
if (m == null) return m; | |
u = I(u, y); | |
var H = m.length; | |
if (H === +H) | |
for (y = 0; y < H; y++) u(m[y], y, m); | |
else { | |
var J = q.keys(m); | |
y = | |
0; | |
for (H = J.length; y < H; y++) u(m[J[y]], J[y], m) | |
} | |
return m | |
}; | |
q.map = q.collect = function(m, u, y) { | |
if (m == null) return []; | |
u = q.iteratee(u, y); | |
y = m.length !== +m.length && q.keys(m); | |
for (var H = (y || m).length, J = Array(H), R, U = 0; U < H; U++) { | |
R = y ? y[U] : U; | |
J[U] = u(m[R], R, m) | |
} | |
return J | |
}; | |
q.reduce = q.foldl = q.inject = function(m, u, y, H) { | |
if (m == null) m = []; | |
u = I(u, H, 4); | |
var J = m.length !== +m.length && q.keys(m), | |
R = (J || m).length, | |
U = 0, | |
X; | |
if (arguments.length < 3) { | |
if (!R) throw new TypeError("Reduce of empty array with no initial value"); | |
y = m[J ? J[U++] : U++] | |
} | |
for (; U < R; U++) { | |
X = | |
J ? J[U] : U; | |
y = u(y, m[X], X, m) | |
} | |
return y | |
}; | |
q.reduceRight = q.foldr = function(m, u, y, H) { | |
if (m == null) m = []; | |
u = I(u, H, 4); | |
var J = m.length !== +m.length && q.keys(m), | |
R = (J || m).length, | |
U; | |
if (arguments.length < 3) { | |
if (!R) throw new TypeError("Reduce of empty array with no initial value"); | |
y = m[J ? J[--R] : --R] | |
} | |
for (; R--;) { | |
U = J ? J[R] : R; | |
y = u(y, m[U], U, m) | |
} | |
return y | |
}; | |
q.find = q.detect = function(m, u, y) { | |
var H; | |
u = q.iteratee(u, y); | |
q.some(m, function(J, R, U) { | |
if (u(J, R, U)) { | |
H = J; | |
return true | |
} | |
}); | |
return H | |
}; | |
q.filter = q.select = function(m, u, y) { | |
var H = []; | |
if (m == null) return H; | |
u = q.iteratee(u, y); | |
q.each(m, function(J, R, U) { | |
u(J, R, U) && H.push(J) | |
}); | |
return H | |
}; | |
q.reject = function(m, u, y) { | |
return q.filter(m, q.negate(q.iteratee(u)), y) | |
}; | |
q.every = q.all = function(m, u, y) { | |
if (m == null) return true; | |
u = q.iteratee(u, y); | |
y = m.length !== +m.length && q.keys(m); | |
var H = (y || m).length, | |
J, R; | |
for (J = 0; J < H; J++) { | |
R = y ? y[J] : J; | |
if (!u(m[R], R, m)) return false | |
} | |
return true | |
}; | |
q.some = q.any = function(m, u, y) { | |
if (m == null) return false; | |
u = q.iteratee(u, y); | |
y = m.length !== +m.length && q.keys(m); | |
var H = (y || m).length, | |
J, R; | |
for (J = 0; J < H; J++) { | |
R = y ? y[J] : J; | |
if (u(m[R], R, m)) return true | |
} | |
return false | |
}; | |
q.contains = q.include = function(m, u) { | |
if (m == null) return false; | |
if (m.length !== +m.length) m = q.values(m); | |
return q.indexOf(m, u) >= 0 | |
}; | |
q.invoke = function(m, u) { | |
var y = j.call(arguments, 2), | |
H = q.isFunction(u); | |
return q.map(m, function(J) { | |
return (H ? u : J[u]).apply(J, y) | |
}) | |
}; | |
q.pluck = function(m, u) { | |
return q.map(m, q.property(u)) | |
}; | |
q.where = function(m, u) { | |
return q.filter(m, q.matches(u)) | |
}; | |
q.findWhere = function(m, u) { | |
return q.find(m, q.matches(u)) | |
}; | |
q.max = function(m, u, y) { | |
var H = -Infinity, | |
J = -Infinity, | |
R; | |
if (u == null && m != null) { | |
m = m.length === +m.length ? m : q.values(m); | |
for (var U = 0, X = m.length; U < X; U++) { | |
y = m[U]; | |
if (y > H) H = y | |
} | |
} else { | |
u = q.iteratee(u, y); | |
q.each(m, function(ga, ja, la) { | |
R = u(ga, ja, la); | |
if (R > J || R === -Infinity && H === -Infinity) { | |
H = ga; | |
J = R | |
} | |
}) | |
} | |
return H | |
}; | |
q.min = function(m, u, y) { | |
var H = Infinity, | |
J = Infinity, | |
R; | |
if (u == null && m != null) { | |
m = m.length === +m.length ? m : q.values(m); | |
for (var U = 0, X = m.length; U < X; U++) { | |
y = m[U]; | |
if (y < H) H = y | |
} | |
} else { | |
u = q.iteratee(u, y); | |
q.each(m, function(ga, ja, la) { | |
R = u(ga, ja, la); | |
if (R < J || R === Infinity && H === Infinity) { | |
H = ga; | |
J = R | |
} | |
}) | |
} | |
return H | |
}; | |
q.shuffle = function(m) { | |
m = m && m.length === +m.length ? m : q.values(m); | |
for (var u = m.length, y = Array(u), H = 0, J; H < u; H++) { | |
J = q.random(0, H); | |
if (J !== H) y[H] = y[J]; | |
y[J] = m[H] | |
} | |
return y | |
}; | |
q.sample = function(m, u, y) { | |
if (u == null || y) { | |
if (m.length !== +m.length) m = q.values(m); | |
return m[q.random(m.length - 1)] | |
} | |
return q.shuffle(m).slice(0, Math.max(0, u)) | |
}; | |
q.sortBy = function(m, u, y) { | |
u = q.iteratee(u, y); | |
return q.pluck(q.map(m, function(H, J, R) { | |
return { | |
value: H, | |
index: J, | |
criteria: u(H, J, R) | |
} | |
}).sort(function(H, J) { | |
var R = H.criteria, | |
U = J.criteria; | |
if (R !== U) { | |
if (R > U || R === void 0) return 1; | |
if (R < U || U === void 0) return -1 | |
} | |
return H.index - J.index | |
}), "value") | |
}; | |
var K = function(m) { | |
return function(u, y, H) { | |
var J = {}; | |
y = q.iteratee(y, H); | |
q.each(u, function(R, U) { | |
var X = y(R, U, u); | |
m(J, R, X) | |
}); | |
return J | |
} | |
}; | |
q.groupBy = K(function(m, u, y) { | |
if (q.has(m, y)) m[y].push(u); | |
else m[y] = [u] | |
}); | |
q.indexBy = K(function(m, u, y) { | |
m[y] = u | |
}); | |
q.countBy = K(function(m, u, y) { | |
if (q.has(m, y)) m[y] ++; | |
else m[y] = 1 | |
}); | |
q.sortedIndex = function(m, u, y, H) { | |
y = q.iteratee(y, H, 1); | |
u = y(u); | |
H = 0; | |
for (var J = m.length; H < J;) { | |
var R = H + J >>> 1; | |
if (y(m[R]) < u) H = R + 1; | |
else J = R | |
} | |
return H | |
}; | |
q.toArray = function(m) { | |
if (!m) return []; | |
if (q.isArray(m)) return j.call(m); | |
if (m.length === +m.length) return q.map(m, q.identity); | |
return q.values(m) | |
}; | |
q.size = function(m) { | |
if (m == null) return 0; | |
return m.length === +m.length ? m.length : q.keys(m).length | |
}; | |
q.partition = function(m, u, y) { | |
u = q.iteratee(u, y); | |
var H = [], | |
J = []; | |
q.each(m, function(R, U, X) { | |
(u(R, U, X) ? H : J).push(R) | |
}); | |
return [H, J] | |
}; | |
q.first = q.head = q.take = function(m, u, y) { | |
if (m != null) { | |
if (u == null || y) return m[0]; | |
if (u < 0) return []; | |
return j.call(m, | |
0, u) | |
} | |
}; | |
q.initial = function(m, u, y) { | |
return j.call(m, 0, Math.max(0, m.length - (u == null || y ? 1 : u))) | |
}; | |
q.last = function(m, u, y) { | |
if (m != null) { | |
if (u == null || y) return m[m.length - 1]; | |
return j.call(m, Math.max(m.length - u, 0)) | |
} | |
}; | |
q.rest = q.tail = q.drop = function(m, u, y) { | |
return j.call(m, u == null || y ? 1 : u) | |
}; | |
q.compact = function(m) { | |
return q.filter(m, q.identity) | |
}; | |
var Q = function(m, u, y, H) { | |
if (u && q.every(m, q.isArray)) return l.apply(H, m); | |
for (var J = 0, R = m.length; J < R; J++) { | |
var U = m[J]; | |
if (!q.isArray(U) && !q.isArguments(U)) y || H.push(U); | |
else u ? g.apply(H, | |
U) : Q(U, u, y, H) | |
} | |
return H | |
}; | |
q.flatten = function(m, u) { | |
return Q(m, u, false, []) | |
}; | |
q.without = function(m) { | |
return q.difference(m, j.call(arguments, 1)) | |
}; | |
q.uniq = q.unique = function(m, u, y, H) { | |
if (m == null) return []; | |
if (!q.isBoolean(u)) { | |
H = y; | |
y = u; | |
u = false | |
} | |
if (y != null) y = q.iteratee(y, H); | |
H = []; | |
for (var J = [], R = 0, U = m.length; R < U; R++) { | |
var X = m[R]; | |
if (u) { | |
if (!R || J !== X) H.push(X); | |
J = X | |
} else if (y) { | |
var ga = y(X, R, m); | |
if (q.indexOf(J, ga) < 0) { | |
J.push(ga); | |
H.push(X) | |
} | |
} else q.indexOf(H, X) < 0 && H.push(X) | |
} | |
return H | |
}; | |
q.union = function() { | |
return q.uniq(Q(arguments, | |
true, true, [])) | |
}; | |
q.intersection = function(m) { | |
if (m == null) return []; | |
for (var u = [], y = arguments.length, H = 0, J = m.length; H < J; H++) { | |
var R = m[H]; | |
if (!q.contains(u, R)) { | |
for (var U = 1; U < y; U++) | |
if (!q.contains(arguments[U], R)) break; | |
U === y && u.push(R) | |
} | |
} | |
return u | |
}; | |
q.difference = function(m) { | |
var u = Q(j.call(arguments, 1), true, true, []); | |
return q.filter(m, function(y) { | |
return !q.contains(u, y) | |
}) | |
}; | |
q.zip = function(m) { | |
if (m == null) return []; | |
for (var u = q.max(arguments, "length").length, y = Array(u), H = 0; H < u; H++) y[H] = q.pluck(arguments, H); | |
return y | |
}; | |
q.object = | |
function(m, u) { | |
if (m == null) return {}; | |
for (var y = {}, H = 0, J = m.length; H < J; H++) | |
if (u) y[m[H]] = u[H]; | |
else y[m[H][0]] = m[H][1]; | |
return y | |
}; | |
q.indexOf = function(m, u, y) { | |
if (m == null) return -1; | |
var H = 0, | |
J = m.length; | |
if (y) | |
if (typeof y == "number") H = y < 0 ? Math.max(0, J + y) : y; | |
else { | |
H = q.sortedIndex(m, u); | |
return m[H] === u ? H : -1 | |
} | |
for (; H < J; H++) | |
if (m[H] === u) return H; | |
return -1 | |
}; | |
q.lastIndexOf = function(m, u, y) { | |
if (m == null) return -1; | |
var H = m.length; | |
if (typeof y == "number") H = y < 0 ? H + y + 1 : Math.min(H, y + 1); | |
for (; --H >= 0;) | |
if (m[H] === u) return H; | |
return -1 | |
}; | |
q.range = function(m, | |
u, y) { | |
if (arguments.length <= 1) { | |
u = m || 0; | |
m = 0 | |
} | |
y = y || 1; | |
for (var H = Math.max(Math.ceil((u - m) / y), 0), J = Array(H), R = 0; R < H; R++, m += y) J[R] = m; | |
return J | |
}; | |
var n = function() {}; | |
q.bind = function(m, u) { | |
var y, H; | |
if (C && m.bind === C) return C.apply(m, j.call(arguments, 1)); | |
if (!q.isFunction(m)) throw new TypeError("Bind must be called on a function"); | |
y = j.call(arguments, 2); | |
return H = function() { | |
if (!(this instanceof H)) return m.apply(u, y.concat(j.call(arguments))); | |
n.prototype = m.prototype; | |
var J = new n; | |
n.prototype = null; | |
var R = m.apply(J, y.concat(j.call(arguments))); | |
if (q.isObject(R)) return R; | |
return J | |
} | |
}; | |
q.partial = function(m) { | |
var u = j.call(arguments, 1); | |
return function() { | |
for (var y = 0, H = u.slice(), J = 0, R = H.length; J < R; J++) | |
if (H[J] === q) H[J] = arguments[y++]; | |
for (; y < arguments.length;) H.push(arguments[y++]); | |
return m.apply(this, H) | |
} | |
}; | |
q.bindAll = function(m) { | |
var u, y = arguments.length, | |
H; | |
if (y <= 1) throw Error("bindAll must be passed function names"); | |
for (u = 1; u < y; u++) { | |
H = arguments[u]; | |
m[H] = q.bind(m[H], m) | |
} | |
return m | |
}; | |
q.memoize = function(m, u) { | |
var y = function(H) { | |
var J = y.cache, | |
R = u ? u.apply(this, arguments) : | |
H; | |
q.has(J, R) || (J[R] = m.apply(this, arguments)); | |
return J[R] | |
}; | |
y.cache = {}; | |
return y | |
}; | |
q.delay = function(m, u) { | |
var y = j.call(arguments, 2); | |
return setTimeout(function() { | |
return m.apply(null, y) | |
}, u) | |
}; | |
q.defer = function(m) { | |
return q.delay.apply(q, [m, 1].concat(j.call(arguments, 1))) | |
}; | |
q.throttle = function(m, u, y) { | |
var H, J, R, U = null, | |
X = 0; | |
y || (y = {}); | |
var ga = function() { | |
X = y.leading === false ? 0 : q.now(); | |
U = null; | |
R = m.apply(H, J); | |
U || (H = J = null) | |
}; | |
return function() { | |
var ja = q.now(); | |
if (!X && y.leading === false) X = ja; | |
var la = u - (ja - X); | |
H = this; | |
J = arguments; | |
if (la <= 0 || la > u) { | |
clearTimeout(U); | |
U = null; | |
X = ja; | |
R = m.apply(H, J); | |
U || (H = J = null) | |
} else if (!U && y.trailing !== false) U = setTimeout(ga, la); | |
return R | |
} | |
}; | |
q.debounce = function(m, u, y) { | |
var H, J, R, U, X, ga = function() { | |
var ja = q.now() - U; | |
if (ja < u && ja > 0) H = setTimeout(ga, u - ja); | |
else { | |
H = null; | |
if (!y) { | |
X = m.apply(R, J); | |
H || (R = J = null) | |
} | |
} | |
}; | |
return function() { | |
R = this; | |
J = arguments; | |
U = q.now(); | |
var ja = y && !H; | |
H || (H = setTimeout(ga, u)); | |
if (ja) { | |
X = m.apply(R, J); | |
R = J = null | |
} | |
return X | |
} | |
}; | |
q.wrap = function(m, u) { | |
return q.partial(u, m) | |
}; | |
q.negate = function(m) { | |
return function() { | |
return !m.apply(this, | |
arguments) | |
} | |
}; | |
q.compose = function() { | |
var m = arguments, | |
u = m.length - 1; | |
return function() { | |
for (var y = u, H = m[u].apply(this, arguments); y--;) H = m[y].call(this, H); | |
return H | |
} | |
}; | |
q.after = function(m, u) { | |
return function() { | |
if (--m < 1) return u.apply(this, arguments) | |
} | |
}; | |
q.before = function(m, u) { | |
var y; | |
return function() { | |
if (--m > 0) y = u.apply(this, arguments); | |
else u = null; | |
return y | |
} | |
}; | |
q.once = q.partial(q.before, 2); | |
q.keys = function(m) { | |
if (!q.isObject(m)) return []; | |
if (A) return A(m); | |
var u = [], | |
y; | |
for (y in m) q.has(m, y) && u.push(y); | |
return u | |
}; | |
q.values = function(m) { | |
for (var u = | |
q.keys(m), y = u.length, H = Array(y), J = 0; J < y; J++) H[J] = m[u[J]]; | |
return H | |
}; | |
q.pairs = function(m) { | |
for (var u = q.keys(m), y = u.length, H = Array(y), J = 0; J < y; J++) H[J] = [u[J], m[u[J]]]; | |
return H | |
}; | |
q.invert = function(m) { | |
for (var u = {}, y = q.keys(m), H = 0, J = y.length; H < J; H++) u[m[y[H]]] = y[H]; | |
return u | |
}; | |
q.functions = q.methods = function(m) { | |
var u = [], | |
y; | |
for (y in m) q.isFunction(m[y]) && u.push(y); | |
return u.sort() | |
}; | |
q.extend = function(m) { | |
if (!q.isObject(m)) return m; | |
for (var u, y, H = 1, J = arguments.length; H < J; H++) { | |
u = arguments[H]; | |
for (y in u) | |
if (v.call(u, y)) m[y] = | |
u[y] | |
} | |
return m | |
}; | |
q.pick = function(m, u, y) { | |
var H = {}, | |
J; | |
if (m == null) return H; | |
if (q.isFunction(u)) { | |
u = I(u, y); | |
for (J in m) { | |
var R = m[J]; | |
if (u(R, J, m)) H[J] = R | |
} | |
} else { | |
R = l.apply([], j.call(arguments, 1)); | |
m = Object(m); | |
for (var U = 0, X = R.length; U < X; U++) { | |
J = R[U]; | |
if (J in m) H[J] = m[J] | |
} | |
} | |
return H | |
}; | |
q.omit = function(m, u, y) { | |
if (q.isFunction(u)) u = q.negate(u); | |
else { | |
var H = q.map(l.apply([], j.call(arguments, 1)), String); | |
u = function(J, R) { | |
return !q.contains(H, R) | |
} | |
} | |
return q.pick(m, u, y) | |
}; | |
q.defaults = function(m) { | |
if (!q.isObject(m)) return m; | |
for (var u = 1, y = | |
arguments.length; u < y; u++) { | |
var H = arguments[u], | |
J; | |
for (J in H) | |
if (m[J] === void 0) m[J] = H[J] | |
} | |
return m | |
}; | |
q.clone = function(m) { | |
if (!q.isObject(m)) return m; | |
return q.isArray(m) ? m.slice() : q.extend({}, m) | |
}; | |
q.tap = function(m, u) { | |
u(m); | |
return m | |
}; | |
var G = function(m, u, y, H) { | |
if (m === u) return m !== 0 || 1 / m === 1 / u; | |
if (m == null || u == null) return m === u; | |
if (m instanceof q) m = m._wrapped; | |
if (u instanceof q) u = u._wrapped; | |
var J = o.call(m); | |
if (J !== o.call(u)) return false; | |
switch (J) { | |
case "[object RegExp]": | |
case "[object String]": | |
return "" + m === "" + u; | |
case "[object Number]": | |
if (+m !== | |
+m) return +u !== +u; | |
return +m === 0 ? 1 / +m === 1 / u : +m === +u; | |
case "[object Date]": | |
case "[object Boolean]": | |
return +m === +u | |
} | |
if (typeof m != "object" || typeof u != "object") return false; | |
for (var R = y.length; R--;) | |
if (y[R] === m) return H[R] === u; | |
R = m.constructor; | |
var U = u.constructor; | |
if (R !== U && "constructor" in m && "constructor" in u && !(q.isFunction(R) && R instanceof R && q.isFunction(U) && U instanceof U)) return false; | |
y.push(m); | |
H.push(u); | |
if (J === "[object Array]") { | |
J = m.length; | |
if (U = J === u.length) | |
for (; J--;) | |
if (!(U = G(m[J], u[J], y, H))) break | |
} else { | |
R = | |
q.keys(m); | |
J = R.length; | |
if (U = q.keys(u).length === J) | |
for (; J--;) { | |
U = R[J]; | |
if (!(U = q.has(u, U) && G(m[U], u[U], y, H))) break | |
} | |
} | |
y.pop(); | |
H.pop(); | |
return U | |
}; | |
q.isEqual = function(m, u) { | |
return G(m, u, [], []) | |
}; | |
q.isEmpty = function(m) { | |
if (m == null) return true; | |
if (q.isArray(m) || q.isString(m) || q.isArguments(m)) return m.length === 0; | |
for (var u in m) | |
if (q.has(m, u)) return false; | |
return true | |
}; | |
q.isElement = function(m) { | |
return !!(m && m.nodeType === 1) | |
}; | |
q.isArray = f || function(m) { | |
return o.call(m) === "[object Array]" | |
}; | |
q.isObject = function(m) { | |
var u = typeof m; | |
return u === "function" || u === "object" && !!m | |
}; | |
q.each(["Arguments", "Function", "String", "Number", "Date", "RegExp"], function(m) { | |
q["is" + m] = function(u) { | |
return o.call(u) === "[object " + m + "]" | |
} | |
}); | |
if (!q.isArguments(arguments)) q.isArguments = function(m) { | |
return q.has(m, "callee") | |
}; | |
if (typeof /./ !== "function") q.isFunction = function(m) { | |
return typeof m == "function" || false | |
}; | |
q.isFinite = function(m) { | |
return isFinite(m) && !isNaN(parseFloat(m)) | |
}; | |
q.isNaN = function(m) { | |
return q.isNumber(m) && m !== +m | |
}; | |
q.isBoolean = function(m) { | |
return m === true || | |
m === false || o.call(m) === "[object Boolean]" | |
}; | |
q.isNull = function(m) { | |
return m === null | |
}; | |
q.isUndefined = function(m) { | |
return m === void 0 | |
}; | |
q.has = function(m, u) { | |
return m != null && v.call(m, u) | |
}; | |
q.noConflict = function() { | |
a._ = b; | |
return this | |
}; | |
q.identity = function(m) { | |
return m | |
}; | |
q.constant = function(m) { | |
return function() { | |
return m | |
} | |
}; | |
q.noop = function() {}; | |
q.property = function(m) { | |
return function(u) { | |
return u[m] | |
} | |
}; | |
q.matches = function(m) { | |
var u = q.pairs(m), | |
y = u.length; | |
return function(H) { | |
if (H == null) return !y; | |
H = Object(H); | |
for (var J = 0; J < y; J++) { | |
var R = | |
u[J], | |
U = R[0]; | |
if (R[1] !== H[U] || !(U in H)) return false | |
} | |
return true | |
} | |
}; | |
q.times = function(m, u, y) { | |
var H = Array(Math.max(0, m)); | |
u = I(u, y, 1); | |
for (y = 0; y < m; y++) H[y] = u(y); | |
return H | |
}; | |
q.random = function(m, u) { | |
if (u == null) { | |
u = m; | |
m = 0 | |
} | |
return m + Math.floor(Math.random() * (u - m + 1)) | |
}; | |
q.now = Date.now || function() { | |
return (new Date).getTime() | |
}; | |
f = { | |
"&": "&", | |
"<": "<", | |
">": ">", | |
'"': """, | |
"'": "'", | |
"`": "`" | |
}; | |
K = q.invert(f); | |
var p = function(m) { | |
var u = function(R) { | |
return m[R] | |
}, | |
y = "(?:" + q.keys(m).join("|") + ")", | |
H = RegExp(y), | |
J = RegExp(y, "g"); | |
return function(R) { | |
R = R == null ? "" : "" + R; | |
return H.test(R) ? R.replace(J, u) : R | |
} | |
}; | |
q.escape = p(f); | |
q.unescape = p(K); | |
q.result = function(m, u) { | |
if (m != null) { | |
var y = m[u]; | |
return q.isFunction(y) ? m[u]() : y | |
} | |
}; | |
var t = 0; | |
q.uniqueId = function(m) { | |
var u = ++t + ""; | |
return m ? m + u : u | |
}; | |
q.templateSettings = { | |
evaluate: /<%([\s\S]+?)%>/g, | |
interpolate: /<%=([\s\S]+?)%>/g, | |
escape: /<%-([\s\S]+?)%>/g | |
}; | |
var z = /(.)^/, | |
D = { | |
"'": "'", | |
"\\": "\\", | |
"\r": "r", | |
"\n": "n", | |
"\u2028": "u2028", | |
"\u2029": "u2029" | |
}, | |
M = /\\|'|\r|\n|\u2028|\u2029/g, | |
B = function(m) { | |
return "\\" + D[m] | |
}; | |
q.template = | |
function(m, u, y) { | |
if (!u && y) u = y; | |
u = q.defaults({}, u, q.templateSettings); | |
y = RegExp([(u.escape || z).source, (u.interpolate || z).source, (u.evaluate || z).source].join("|") + "|$", "g"); | |
var H = 0, | |
J = "__p+='"; | |
m.replace(y, function(X, ga, ja, la, ka) { | |
J += m.slice(H, ka).replace(M, B); | |
H = ka + X.length; | |
if (ga) J += "'+\n((__t=(" + ga + "))==null?'':_.escape(__t))+\n'"; | |
else if (ja) J += "'+\n((__t=(" + ja + "))==null?'':__t)+\n'"; | |
else if (la) J += "';\n" + la + "\n__p+='"; | |
return X | |
}); | |
J += "';\n"; | |
u.variable || (J = "with(obj||{}){\n" + J + "}\n"); | |
J = "var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n" + | |
J + "return __p;\n"; | |
try { | |
var R = new Function(u.variable || "obj", "_", J) | |
} catch (U) { | |
U.source = J; | |
throw U; | |
} | |
y = function(X) { | |
return R.call(this, X, q) | |
}; | |
y.source = "function(" + (u.variable || "obj") + "){\n" + J + "}"; | |
return y | |
}; | |
q.chain = function(m) { | |
m = q(m); | |
m._chain = true; | |
return m | |
}; | |
q.mixin = function(m) { | |
q.each(q.functions(m), function(u) { | |
var y = q[u] = m[u]; | |
q.prototype[u] = function() { | |
var H = [this._wrapped]; | |
g.apply(H, arguments); | |
H = y.apply(q, H); | |
return this._chain ? q(H).chain() : H | |
} | |
}) | |
}; | |
q.mixin(q); | |
q.each(["pop", "push", "reverse", "shift", "sort", "splice", | |
"unshift" | |
], function(m) { | |
var u = d[m]; | |
q.prototype[m] = function() { | |
var y = this._wrapped; | |
u.apply(y, arguments); | |
if ((m === "shift" || m === "splice") && y.length === 0) delete y[0]; | |
return this._chain ? q(y).chain() : y | |
} | |
}); | |
q.each(["concat", "join", "slice"], function(m) { | |
var u = d[m]; | |
q.prototype[m] = function() { | |
var y = u.apply(this._wrapped, arguments); | |
return this._chain ? q(y).chain() : y | |
} | |
}); | |
q.prototype.value = function() { | |
return this._wrapped | |
}; | |
typeof define === "function" && define.amd && define("underscore", [], function() { | |
return q | |
}) | |
}).call(this); | |
(function(a) { | |
a.extend(a.fn, { | |
validate: function(b) { | |
if (this.length) { | |
var d = a.data(this[0], "validator"); | |
if (d) return d; | |
d = new a.validator(b, this[0]); | |
a.data(this[0], "validator", d); | |
if (d.settings.onsubmit) { | |
this.find("input, button").filter(".cancel").click(function() { | |
d.cancelSubmit = true | |
}); | |
d.settings.submitHandler && this.find("input, button").filter(":submit").click(function() { | |
d.submitButton = this | |
}); | |
this.submit(function(f) { | |
function g() { | |
a.browser.msie && parseInt(a.browser.version) == 7 && a(d.currentForm).find(".button").attr("disabled", | |
"disabled").addClass("addtoCartDisabled"); | |
if (d.settings.submitHandler) { | |
if (d.submitButton) var j = a("<input type='hidden'/>").attr("name", d.submitButton.name).val(escape(d.submitButton.value)).appendTo(d.currentForm); | |
d.settings.submitHandler.call(d, d.currentForm); | |
d.submitButton && j.remove(); | |
return false | |
} | |
return true | |
} | |
d.settings.debug && f.preventDefault(); | |
if (d.cancelSubmit) { | |
d.cancelSubmit = false; | |
return g() | |
} | |
if (d.form()) { | |
if (d.pendingRequest) { | |
d.formSubmitted = true; | |
return false | |
} | |
return g() | |
} else return false | |
}) | |
} | |
return d | |
} else b && | |
b.debug && window.console && console.warn("nothing selected, can't validate, returning nothing") | |
}, | |
valid: function() { | |
if (this.length) | |
if (a(this[0]).is("form")) return this.validate().form(); | |
else { | |
var b = true, | |
d = a(this[0].form).validate(); | |
this.each(function() { | |
b &= d.element(this) | |
}); | |
return b | |
} | |
}, | |
removeAttrs: function(b) { | |
var d = {}, | |
f = this; | |
a.each(b.split(/\s/), function(g, j) { | |
d[j] = f.attr(j); | |
f.removeAttr(j) | |
}); | |
return d | |
}, | |
rules: function(b, d) { | |
var f = this[0]; | |
if (b) { | |
var g = a.data(f.form, "validator").settings, | |
j = g.rules, | |
l = a.validator.staticRules(f); | |
switch (b) { | |
case "add": | |
a.extend(l, a.validator.normalizeRule(d)); | |
j[f.name] = l; | |
if (d.messages) g.messages[f.name] = a.extend(g.messages[f.name], d.messages); | |
break; | |
case "remove": | |
if (!d) { | |
delete j[f.name]; | |
return l | |
} | |
var o = {}; | |
a.each(d.split(/\s/), function(v, A) { | |
o[A] = l[A]; | |
delete l[A] | |
}); | |
return o | |
} | |
} | |
f = a.validator.normalizeRules(a.extend({}, a.validator.metadataRules(f), a.validator.classRules(f), a.validator.attributeRules(f), a.validator.staticRules(f)), f); | |
if (f.required) { | |
g = f.required; | |
delete f.required; | |
f = a.extend({ | |
required: g | |
}, | |
f) | |
} | |
return f | |
} | |
}); | |
a.extend(a.expr[":"], { | |
blank: function(b) { | |
return !a.trim("" + b.value) | |
}, | |
filled: function(b) { | |
return !!a.trim("" + b.value) | |
}, | |
unchecked: function(b) { | |
return !b.checked | |
} | |
}); | |
a.validator = function(b, d) { | |
this.settings = a.extend(true, {}, a.validator.defaults, b); | |
this.currentForm = d; | |
this.init() | |
}; | |
a.validator.format = function(b, d) { | |
if (arguments.length == 1) return function() { | |
var f = a.makeArray(arguments); | |
f.unshift(b); | |
return a.validator.format.apply(this, f) | |
}; | |
if (arguments.length > 2 && d.constructor != Array) d = a.makeArray(arguments).slice(1); | |
if (d.constructor != Array) d = [d]; | |
a.each(d, function(f, g) { | |
b = b.replace(RegExp("\\{" + f + "\\}", "g"), g) | |
}); | |
return b | |
}; | |
a.extend(a.validator, { | |
defaults: { | |
messages: {}, | |
groups: {}, | |
rules: {}, | |
errorClass: "error", | |
validClass: "valid", | |
errorElement: "label", | |
focusInvalid: true, | |
errorContainer: a([]), | |
errorLabelContainer: a([]), | |
onsubmit: true, | |
ignore: [], | |
ignoreTitle: false, | |
onfocusin: function(b) { | |
this.lastActive = b; | |
if (this.settings.focusCleanup && !this.blockFocusCleanup) { | |
this.settings.unhighlight && this.settings.unhighlight.call(this, b, this.settings.errorClass, | |
this.settings.validClass); | |
this.errorsFor(b).hide() | |
} | |
}, | |
onfocusout: function(b) { | |
if (!this.checkable(b) && (b.name in this.submitted || !this.optional(b))) this.element(b) | |
}, | |
onkeyup: function(b) { | |
if (b.name in this.submitted || b == this.lastElement) this.element(b) | |
}, | |
onclick: function(b) { | |
if (b.name in this.submitted) this.element(b); | |
else b.parentNode.name in this.submitted && this.element(b.parentNode) | |
}, | |
highlight: function(b, d, f) { | |
a(b).addClass(d).removeClass(f) | |
}, | |
unhighlight: function(b, d, f) { | |
a(b).removeClass(d).addClass(f) | |
} | |
}, | |
setDefaults: function(b) { | |
a.extend(a.validator.defaults, b) | |
}, | |
messages: { | |
required: "This field is required.", | |
remote: "Please fix this field.", | |
email: "Enter a valid email address.", | |
url: "Please enter a valid URL.", | |
date: "Please enter a valid date.", | |
dateISO: "Please enter a valid date (ISO).", | |
number: "Please enter a valid number.", | |
digits: "Please enter only digits.", | |
creditcard: "Please enter a valid credit card number.", | |
equalTo: "Please enter the same value again.", | |
accept: "Please enter a value with a valid extension.", | |
maxlength: a.validator.format("Please enter no more than {0} characters."), | |
minlength: a.validator.format("Please enter at least {0} characters."), | |
rangelength: a.validator.format("Please enter a value between {0} and {1} characters long."), | |
range: a.validator.format("Please enter a value between {0} and {1}."), | |
max: a.validator.format("Please enter a value less than or equal to {0}."), | |
min: a.validator.format("Please enter a value greater than or equal to {0}.") | |
}, | |
autoCreateRanges: false, | |
prototype: { | |
init: function() { | |
function b(g) { | |
var j = | |
a.data(this[0].form, "validator"); | |
g = "on" + g.type.replace(/^validate/, ""); | |
j.settings[g] && j.settings[g].call(j, this[0]) | |
} | |
this.labelContainer = a(this.settings.errorLabelContainer); | |
this.errorContext = this.labelContainer.length && this.labelContainer || a(this.currentForm); | |
this.containers = a(this.settings.errorContainer).add(this.settings.errorLabelContainer); | |
this.submitted = {}; | |
this.valueCache = {}; | |
this.pendingRequest = 0; | |
this.pending = {}; | |
this.invalid = {}; | |
this.reset(); | |
var d = this.groups = {}; | |
a.each(this.settings.groups, function(g, | |
j) { | |
a.each(j.split(/\s/), function(l, o) { | |
d[o] = g | |
}) | |
}); | |
var f = this.settings.rules; | |
a.each(f, function(g, j) { | |
f[g] = a.validator.normalizeRule(j) | |
}); | |
a(this.currentForm).validateDelegate(":text, :password, select, textarea", "focusin focusout keyup", b).validateDelegate(":radio, :checkbox, :file, select, option", "click", b); | |
this.settings.invalidHandler && a(this.currentForm).bind("invalid-form.validate", this.settings.invalidHandler) | |
}, | |
form: function() { | |
this.checkForm(); | |
a.extend(this.submitted, this.errorMap); | |
this.invalid = | |
a.extend({}, this.errorMap); | |
this.valid() || a(this.currentForm).triggerHandler("invalid-form", [this]); | |
this.showErrors(); | |
return this.valid() | |
}, | |
checkForm: function() { | |
this.prepareForm(); | |
for (var b = 0, d = this.currentElements = this.elements(); d[b]; b++) this.check(d[b]); | |
return this.valid() | |
}, | |
element: function(b) { | |
this.lastElement = b = this.clean(b); | |
this.prepareElement(b); | |
this.currentElements = a(b); | |
var d = this.check(b); | |
if (d) delete this.invalid[b.name]; | |
else this.invalid[b.name] = true; | |
if (!this.numberOfInvalids()) this.toHide = | |
this.toHide.add(this.containers); | |
this.showErrors(); | |
return d | |
}, | |
showErrors: function(b) { | |
if (b) { | |
a.extend(this.errorMap, b); | |
this.errorList = []; | |
for (var d in b) this.errorList.push({ | |
message: b[d], | |
element: this.findByName(d)[0] | |
}); | |
this.successList = a.grep(this.successList, function(f) { | |
return !(f.name in b) | |
}) | |
} | |
this.settings.showErrors ? this.settings.showErrors.call(this, this.errorMap, this.errorList) : this.defaultShowErrors() | |
}, | |
resetForm: function() { | |
a.fn.resetForm && a(this.currentForm).resetForm(); | |
this.submitted = {}; | |
this.prepareForm(); | |
this.hideErrors(); | |
this.elements().removeClass(this.settings.errorClass) | |
}, | |
numberOfInvalids: function() { | |
return this.objectLength(this.invalid) | |
}, | |
objectLength: function(b) { | |
var d = 0, | |
f; | |
for (f in b) d++; | |
return d | |
}, | |
hideErrors: function() { | |
this.addWrapper(this.toHide).hide() | |
}, | |
valid: function() { | |
return this.size() == 0 | |
}, | |
size: function() { | |
return this.errorList.length | |
}, | |
focusInvalid: function() { | |
if (this.settings.focusInvalid) try { | |
a(this.findLastActive() || this.errorList.length && this.errorList[0].element || []).filter(":visible").focus().trigger("focusin") | |
} catch (b) {} | |
}, | |
findLastActive: function() { | |
var b = this.lastActive; | |
return b && a.grep(this.errorList, function(d) { | |
return d.element.name == b.name | |
}).length == 1 && b | |
}, | |
elements: function() { | |
var b = this, | |
d = {}; | |
return a([]).add(this.currentForm.elements).filter(":input").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function() { | |
!this.name && b.settings.debug && window.console && console.error("%o has no name assigned", this); | |
if (this.name in d || !b.objectLength(a(this).rules())) return false; | |
return d[this.name] = true | |
}) | |
}, | |
clean: function(b) { | |
return a(b)[0] | |
}, | |
errors: function() { | |
return a(this.settings.errorElement + "." + this.settings.errorClass, this.errorContext) | |
}, | |
reset: function() { | |
this.successList = []; | |
this.errorList = []; | |
this.errorMap = {}; | |
this.toShow = a([]); | |
this.toHide = a([]); | |
this.currentElements = a([]) | |
}, | |
prepareForm: function() { | |
this.reset(); | |
this.toHide = this.errors().add(this.containers) | |
}, | |
prepareElement: function(b) { | |
this.reset(); | |
this.toHide = this.errorsFor(b) | |
}, | |
check: function(b) { | |
b = this.clean(b); | |
if (this.checkable(b)) b = this.findByName(b.name)[0]; | |
var d = a(b).rules(), | |
f = false; | |
for (method in d) { | |
var g = { | |
method: method, | |
parameters: d[method] | |
}; | |
try { | |
var j = a.validator.methods[method].call(this, b.value.replace(/\r/g, ""), b, g.parameters); | |
if (j == "dependency-mismatch") f = true; | |
else { | |
f = false; | |
if (j == "pending") { | |
this.toHide = this.toHide.not(this.errorsFor(b)); | |
return | |
} | |
if (!j) { | |
this.formatAndAdd(b, g); | |
return false | |
} | |
} | |
} catch (l) { | |
this.settings.debug && window.console && console.log("exception occured when checking element " + b.id + ", check the '" + g.method + "' method", l); | |
throw l; | |
} | |
} | |
if (!f) { | |
this.objectLength(d) && | |
this.successList.push(b); | |
return true | |
} | |
}, | |
customMetaMessage: function(b, d) { | |
if (a.metadata) { | |
var f = this.settings.meta ? a(b).metadata()[this.settings.meta] : a(b).metadata(); | |
return f && f.messages && f.messages[d] | |
} | |
}, | |
customMessage: function(b, d) { | |
var f = this.settings.messages[b]; | |
return f && (f.constructor == String ? f : f[d]) | |
}, | |
findDefined: function() { | |
for (var b = 0; b < arguments.length; b++) | |
if (arguments[b] !== undefined) return arguments[b] | |
}, | |
defaultMessage: function(b, d) { | |
return this.findDefined(this.customMessage(b.name, d), this.customMetaMessage(b, | |
d), !this.settings.ignoreTitle && b.title || undefined, a.validator.messages[d], "<strong>Warning: No message defined for " + b.name + "</strong>") | |
}, | |
formatAndAdd: function(b, d) { | |
var f = this.defaultMessage(b, d.method), | |
g = /\$?\{(\d+)\}/g; | |
if (typeof f == "function") f = f.call(this, d.parameters, b); | |
else if (g.test(f)) f = jQuery.format(f.replace(g, "{$1}"), d.parameters); | |
this.errorList.push({ | |
message: f, | |
element: b | |
}); | |
this.errorMap[b.name] = f; | |
this.submitted[b.name] = f | |
}, | |
addWrapper: function(b) { | |
if (this.settings.wrapper) b = b.add(b.parent(this.settings.wrapper)); | |
return b | |
}, | |
defaultShowErrors: function() { | |
for (var b = 0; this.errorList[b]; b++) { | |
var d = this.errorList[b]; | |
this.settings.highlight && this.settings.highlight.call(this, d.element, this.settings.errorClass, this.settings.validClass); | |
this.showLabel(d.element, d.message) | |
} | |
if (this.errorList.length) this.toShow = this.toShow.add(this.containers); | |
if (this.settings.success) | |
for (b = 0; this.successList[b]; b++) this.showLabel(this.successList[b]); | |
if (this.settings.unhighlight) { | |
b = 0; | |
for (d = this.validElements(); d[b]; b++) this.settings.unhighlight.call(this, | |
d[b], this.settings.errorClass, this.settings.validClass) | |
} | |
this.toHide = this.toHide.not(this.toShow); | |
this.hideErrors(); | |
this.addWrapper(this.toShow).show() | |
}, | |
validElements: function() { | |
return this.currentElements.not(this.invalidElements()) | |
}, | |
invalidElements: function() { | |
return a(this.errorList).map(function() { | |
return this.element | |
}) | |
}, | |
showLabel: function(b, d) { | |
var f = this.errorsFor(b); | |
if (f.length) { | |
f.removeClass().addClass(this.settings.errorClass); | |
f.attr("generated") && f.html(d) | |
} else { | |
f = a("<" + this.settings.errorElement + | |
"/>").attr({ | |
"for": this.idOrName(b), | |
generated: true, | |
id: a(b).attr("id") + self.settings.errorIdAddendum | |
}).addClass(this.settings.errorClass).html(d || ""); | |
if (this.settings.wrapper) f = f.hide().show().wrap("<" + this.settings.wrapper + "/>").parent(); | |
this.labelContainer.append(f).length || (this.settings.errorPlacement ? this.settings.errorPlacement(f, a(b)) : f.insertAfter(b)) | |
} | |
if (!d && this.settings.success) { | |
f.text(""); | |
typeof this.settings.success == "string" ? f.addClass(this.settings.success) : this.settings.success(f) | |
} | |
this.toShow = | |
this.toShow.add(f) | |
}, | |
errorsFor: function(b) { | |
var d = this.idOrName(b); | |
return this.errors().filter(function() { | |
return a(this).attr("for") == d | |
}) | |
}, | |
idOrName: function(b) { | |
return this.groups[b.name] || (this.checkable(b) ? b.name : b.id || b.name) | |
}, | |
checkable: function(b) { | |
return /radio|checkbox/i.test(b.type) | |
}, | |
findByName: function(b) { | |
var d = this.currentForm; | |
return a(document.getElementsByName(b)).map(function(f, g) { | |
return g.form == d && g.name == b && g || null | |
}) | |
}, | |
getLength: function(b, d) { | |
switch (d.nodeName.toLowerCase()) { | |
case "select": | |
return a("option:selected", | |
d).length; | |
case "input": | |
if (this.checkable(d)) return this.findByName(d.name).filter(":checked").length | |
} | |
return b.length | |
}, | |
depend: function(b, d) { | |
return this.dependTypes[typeof b] ? this.dependTypes[typeof b](b, d) : true | |
}, | |
dependTypes: { | |
"boolean": function(b) { | |
return b | |
}, | |
string: function(b, d) { | |
return !!a(b, d.form).length | |
}, | |
"function": function(b, d) { | |
return b(d) | |
} | |
}, | |
optional: function(b) { | |
return !a.validator.methods.required.call(this, a.trim(b.value), b) && "dependency-mismatch" | |
}, | |
startRequest: function(b) { | |
if (!this.pending[b.name]) { | |
this.pendingRequest++; | |
this.pending[b.name] = true | |
} | |
}, | |
stopRequest: function(b, d) { | |
this.pendingRequest--; | |
if (this.pendingRequest < 0) this.pendingRequest = 0; | |
delete this.pending[b.name]; | |
if (d && this.pendingRequest == 0 && this.formSubmitted && this.form()) { | |
a(this.currentForm).submit(); | |
this.formSubmitted = false | |
} else if (!d && this.pendingRequest == 0 && this.formSubmitted) { | |
a(this.currentForm).triggerHandler("invalid-form", [this]); | |
this.formSubmitted = false | |
} | |
}, | |
previousValue: function(b) { | |
return a.data(b, "previousValue") || a.data(b, "previousValue", { | |
old: null, | |
valid: true, | |
message: this.defaultMessage(b, "remote") | |
}) | |
} | |
}, | |
classRuleSettings: { | |
required: { | |
required: true | |
}, | |
email: { | |
email: true | |
}, | |
url: { | |
url: true | |
}, | |
date: { | |
date: true | |
}, | |
dateISO: { | |
dateISO: true | |
}, | |
dateDE: { | |
dateDE: true | |
}, | |
number: { | |
number: true | |
}, | |
numberDE: { | |
numberDE: true | |
}, | |
digits: { | |
digits: true | |
}, | |
creditcard: { | |
creditcard: true | |
} | |
}, | |
addClassRules: function(b, d) { | |
b.constructor == String ? this.classRuleSettings[b] = d : a.extend(this.classRuleSettings, b) | |
}, | |
classRules: function(b) { | |
var d = {}; | |
(b = a(b).attr("class")) && a.each(b.split(" "), function() { | |
this in a.validator.classRuleSettings && | |
a.extend(d, a.validator.classRuleSettings[this]) | |
}); | |
return d | |
}, | |
attributeRules: function(b) { | |
var d = {}; | |
b = a(b); | |
for (method in a.validator.methods) { | |
var f = b.attr(method); | |
if (f) d[method] = f | |
} | |
d.maxlength && /-1|2147483647|524288/.test(d.maxlength) && delete d.maxlength; | |
return d | |
}, | |
metadataRules: function(b) { | |
if (!a.metadata) return {}; | |
var d = a.data(b.form, "validator").settings.meta; | |
return d ? a(b).metadata()[d] : a(b).metadata() | |
}, | |
staticRules: function(b) { | |
var d = {}, | |
f = a.data(b.form, "validator"); | |
if (f.settings.rules) d = a.validator.normalizeRule(f.settings.rules[b.name]) || {}; | |
return d | |
}, | |
normalizeRules: function(b, d) { | |
a.each(b, function(f, g) { | |
if (g === false) delete b[f]; | |
else if (g.param || g.depends) { | |
var j = true; | |
switch (typeof g.depends) { | |
case "string": | |
j = !!a(g.depends, d.form).length; | |
break; | |
case "function": | |
j = g.depends.call(d, d) | |
} | |
if (j) b[f] = g.param !== undefined ? g.param : true; | |
else delete b[f] | |
} | |
}); | |
a.each(b, function(f, g) { | |
b[f] = a.isFunction(g) ? g(d) : g | |
}); | |
a.each(["minlength", "maxlength", "min", "max"], function() { | |
if (b[this]) b[this] = Number(b[this]) | |
}); | |
a.each(["rangelength", "range"], function() { | |
if (b[this]) b[this] = [Number(b[this][0]), Number(b[this][1])] | |
}); | |
if (a.validator.autoCreateRanges) { | |
if (b.min && b.max) { | |
b.range = [b.min, b.max]; | |
delete b.min; | |
delete b.max | |
} | |
if (b.minlength && b.maxlength) { | |
b.rangelength = [b.minlength, b.maxlength]; | |
delete b.minlength; | |
delete b.maxlength | |
} | |
} | |
b.messages && delete b.messages; | |
return b | |
}, | |
normalizeRule: function(b) { | |
if (typeof b == "string") { | |
var d = {}; | |
a.each(b.split(/\s/), function() { | |
d[this] = true | |
}); | |
b = d | |
} | |
return b | |
}, | |
addMethod: function(b, d, f) { | |
a.validator.methods[b] = d; | |
a.validator.messages[b] = f != undefined ? f : a.validator.messages[b]; | |
d.length < 3 && a.validator.addClassRules(b, a.validator.normalizeRule(b)) | |
}, | |
methods: { | |
required: function(b, d, f) { | |
if (!this.depend(f, d)) return "dependency-mismatch"; | |
switch (d.nodeName.toLowerCase()) { | |
case "select": | |
return (b = a(d).val()) && b.length > 0; | |
case "input": | |
if (this.checkable(d)) return this.getLength(b, d) > 0; | |
default: | |
return a.trim(b).length > 0 | |
} | |
}, | |
remote: function(b, d, f) { | |
if (this.optional(d)) return "dependency-mismatch"; | |
var g = this.previousValue(d); | |
this.settings.messages[d.name] || (this.settings.messages[d.name] = {}); | |
g.originalMessage = | |
this.settings.messages[d.name].remote; | |
this.settings.messages[d.name].remote = g.message; | |
f = typeof f == "string" && { | |
url: f | |
} || f; | |
if (g.old !== b) { | |
g.old = b; | |
var j = this; | |
this.startRequest(d); | |
var l = {}; | |
l[d.name] = b; | |
a.ajax(a.extend(true, { | |
url: f, | |
mode: "abort", | |
port: "validate" + d.name, | |
dataType: "json", | |
data: l, | |
success: function(o) { | |
j.settings.messages[d.name].remote = g.originalMessage; | |
var v = o === true; | |
if (v) { | |
var A = j.formSubmitted; | |
j.prepareElement(d); | |
j.formSubmitted = A; | |
j.successList.push(d); | |
j.showErrors() | |
} else { | |
A = {}; | |
o = g.message = o || j.defaultMessage(d, | |
"remote"); | |
A[d.name] = a.isFunction(o) ? o(b) : o; | |
j.showErrors(A) | |
} | |
g.valid = v; | |
j.stopRequest(d, v) | |
} | |
}, f)); | |
return "pending" | |
} else if (this.pending[d.name]) return "pending"; | |
return g.valid | |
}, | |
minlength: function(b, d, f) { | |
return this.optional(d) || this.getLength(a.trim(b), d) >= f | |
}, | |
maxlength: function(b, d, f) { | |
return this.optional(d) || this.getLength(a.trim(b), d) <= f | |
}, | |
rangelength: function(b, d, f) { | |
b = this.getLength(a.trim(b), d); | |
return this.optional(d) || b >= f[0] && b <= f[1] | |
}, | |
min: function(b, d, f) { | |
return this.optional(d) || b >= f | |
}, | |
max: function(b, | |
d, f) { | |
return this.optional(d) || b <= f | |
}, | |
range: function(b, d, f) { | |
return this.optional(d) || b >= f[0] && b <= f[1] | |
}, | |
email: function(b, d) { | |
return this.optional(d) || /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(a.trim(b)) | |
}, | |
url: function(b, d) { | |
return this.optional(d) || /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(b) | |
}, | |
date: function(b, d) { | |
return this.optional(d) || !/Invalid|NaN/.test(new Date(b)) | |
}, | |
dateISO: function(b, d) { | |
return this.optional(d) || /^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(b) | |
}, | |
number: function(b, d) { | |
return this.optional(d) || /^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(b) | |
}, | |
digits: function(b, d) { | |
return this.optional(d) || /^\d+$/.test(b) | |
}, | |
creditcard: function(b, d) { | |
if (this.optional(d)) return "dependency-mismatch"; | |
if (b.indexOf(" ") != "-1") return false; | |
if (b.match("^[-]+[0-9]{4}$")) return true; | |
var f = a("#ccType").val() || | |
a("#cardType").val(); | |
if (typeof f == "undefined") return false; | |
if (f != null || f != "") { | |
var g = []; | |
g.Visa = /^4\d{3}-?\d{4}-?\d{4}-?\d{4}$/; | |
g.MasterCard = /^5[1-5]\d{2}-?\d{4}-?\d{4}-?\d{4}$/; | |
g.Discover = /^(6|3)[0,2,4,5,6,8,9]\d{2}-?\d{4}-?\d{4}-?(\d{2}|\d{4})$/; | |
g["American Express"] = /^3[4,7]\d{13}$/; | |
g.Diners = /^3[0,6,8]\d{12}$/; | |
g["Target Card"] = /^(?:)\d{10}$/; | |
g["Target Debit Card"] = /^6(?:)\d{15}$/; | |
g["Target Business Card"] = /^(?:)\d{10}$/; | |
g["Target Visa Credit Card"] = /^4352-?37\d{2}-?\d{4}-?\d{4}$/; | |
g["Target RBC MasterCard"] = | |
/^529083\d{2}-?\d{4}-?\d{4}$/; | |
b = b.replace(/\s+/g, "").replace(/\//g, "").replace(/\-+/g, "").replace(/^\s+|s+$/g, ""); | |
if (/[^0-9]+/.test(b)) return false; | |
f = g[f]; | |
if (typeof f == "undefined") return false; | |
return f.test(b) ? true : false | |
} else { | |
var j = f = 0; | |
g = false; | |
b = b.replace(/\D/g, ""); | |
for (var l = b.length - 1; l >= 0; l--) { | |
j = b.charAt(l); | |
j = parseInt(j, 10); | |
if (g) | |
if ((j *= 2) > 9) j -= 9; | |
f += j; | |
g = !g | |
} | |
return f % 10 == 0 | |
} | |
}, | |
accept: function(b, d, f) { | |
f = typeof f == "string" ? f.replace(/,/g, "|") : "png|jpe?g|gif"; | |
return this.optional(d) || b.match(RegExp(".(" + | |
f + ")$", "i")) | |
}, | |
equalTo: function(b, d, f) { | |
f = a(f).unbind(".validate-equalTo").bind("blur.validate-equalTo", function() { | |
a(d).valid() | |
}); | |
return b == f.val() | |
}, | |
equalToCaseInsensitive: function(b, d, f) { | |
f = a(f).unbind(".validate-equalTo").bind("blur.validate-equalTo", function() { | |
a(d).valid() | |
}); | |
return b.toLowerCase() == f.val().toLowerCase() | |
} | |
} | |
}); | |
a.format = a.validator.format | |
})(jQuery); | |
(function(a) { | |
var b = a.ajax, | |
d = {}; | |
a.ajax = function(f) { | |
f = a.extend(f, a.extend({}, a.ajaxSettings, f)); | |
var g = f.port; | |
if (f.mode == "abort") { | |
d[g] && d[g].abort(); | |
return d[g] = b.apply(this, arguments) | |
} | |
return b.apply(this, arguments) | |
} | |
})(jQuery); | |
(function(a) { | |
!jQuery.event.special.focusin && !jQuery.event.special.focusout && document.addEventListener && a.each({ | |
focus: "focusin", | |
blur: "focusout" | |
}, function(b, d) { | |
function f(g) { | |
g = a.event.fix(g); | |
g.type = d; | |
return a.event.handle.call(this, g) | |
} | |
a.event.special[d] = { | |
setup: function() { | |
this.addEventListener(b, f, true) | |
}, | |
teardown: function() { | |
this.removeEventListener(b, f, true) | |
}, | |
handler: function(g) { | |
arguments[0] = a.event.fix(g); | |
arguments[0].type = d; | |
return a.event.handle.apply(this, arguments) | |
} | |
} | |
}); | |
a.extend(a.fn, { | |
validateDelegate: function(b, | |
d, f) { | |
return this.bind(d, function(g) { | |
var j = a(g.target); | |
if (j.is(b)) return f.apply(j, arguments) | |
}) | |
} | |
}) | |
})(jQuery); | |
$.validator.addMethod("validFormatPhoneNumber", function(a, b) { | |
a = a.replace(/\s+/g, ""); | |
return this.optional(b) || a.length > 9 && a.match(/^(\([1-9]\d{2}\))[1-9]\d{2}-\d{4}$/) | |
}); | |
$.validator.addMethod("validPhoneNumber", function(a, b) { | |
a = a.replace(/\s+/g, ""); | |
return this.optional(b) || a.length > 9 && a.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/) | |
}); | |
$.validator.addMethod("validDate", function(a, b) { | |
var d = /^(0[1-9]|1[012])\/(0[1-9]|[12][0-9]|3[01])\/(19|20)\d\d$/; | |
if (a === "MM/DD/YYYY" && !this.submitAttempted) return true; | |
d.test(a); | |
return this.optional(b) || d.test(a) ? new Date(a) : false | |
}); | |
$.validator.addMethod("validDateAfterTodayuptoFive", function(a, b) { | |
var d = false; | |
if (/^\d{1,2}\/\d{1,2}\/\d{4}$/.test(a)) { | |
var f = a.split("/"); | |
d = parseInt(f[1], 10); | |
var g = parseInt(f[0], 10); | |
f = parseInt(f[2], 10); | |
d = new Date(f, g - 1, d); | |
g = new Date; | |
currentMonth = g.getMonth(); | |
currentYear = g.getFullYear() + 3; | |
currentYear2 = g.getFullYear(); | |
inputDay = g.getDate() / 1; | |
g = new Date(currentYear, currentMonth, inputDay); | |
e = new Date(currentYear2, currentMonth, inputDay); | |
d = d > g || d < e ? false : true | |
} else d = false; | |
return this.optional(b) || d | |
}); | |
$.validator.addMethod("validPhone", function(a) { | |
return a.match(/^\(\d{3}\)(\s?|\-)\d{3}\-\d{4}$/) || a.match(/^\d{3}\.\d{3}\.\d{4}$/) || a.match(/^\d{3}\-\d{3}\-\d{4}$/) || a.match(/^\d{3}\s\d{3}\s\d{4}$/) || a.match(/^\d{10}$/) | |
}); | |
$.validator.addMethod("extraPunctuation", function(a) { | |
return a.match(/^[a-zA-Z0-9\,\#\-\'\.\s\/]*$/) | |
}); | |
$.validator.addMethod("validFirstName", function(a) { | |
return a.match(/^[a-zA-Z0-9\-\'\.\s]*$/) | |
}); | |
$.validator.addMethod("validDateLotCode", function(a) { | |
return a.match(/^[a-zA-Z0-9\-\s]*$/) | |
}); | |
$.validator.addMethod("validExpiryDateLotCode", function(a) { | |
return a.match(/^[a-zA-Z0-9\-\:\s]*$/) | |
}); | |
$.validator.addMethod("validNetWeight", function(a) { | |
return a.match(/^[a-zA-Z0-9\-\.\s]*$/) | |
}); | |
$.validator.addMethod("validLastName", function(a) { | |
return a.match(/^[a-zA-Z0-9\s]*$/) | |
}, "Make sure your name is typed correctly."); | |
$.validator.addMethod("zipCode", function(a) { | |
return a.match(/(^\d{5}(-\d{4})?$)/) | |
}); | |
$.validator.addMethod("internationalZipCode", function(a) { | |
return a.match(/^[a-zA-Z0-9-\s]*$/) | |
}); | |
$.validator.addMethod("internationalNumericZipCode", function(a) { | |
return a.match(/^(\d){1}[\d\-\s]+(\d){1}$/g) || a.match(/\//g) | |
}); | |
$.validator.addMethod("zipOrCity", function(a) { | |
return /^[0-9]*[1-9]+$/.test(a) ? a.length == 5 ? true : false : /^[0]*$/.test(a) ? false : true | |
}); | |
$.validator.addMethod("validName", function(a) { | |
return a.match(/^[a-zA-Z ]*$/) | |
}); | |
$.validator.addMethod("validMiddleName", function(a) { | |
return a.match(/^[a-zA-Z ]*$/) | |
}); | |
$.validator.addMethod("validImageFile", function(a) { | |
return a.match(/(^.+\.(([jJ][pP][eE]?[gG])|([gG][iI][fF])|([pP][nN][gG]))$)/) | |
}); | |
$.validator.addMethod("validTextArea", function(a) { | |
return a.match(/^[^<>]*$/) | |
}); | |
$.validator.addMethod("poboxstring", function(a) { | |
return a.match(/^((?!(?=.*?\b[P|p]\b)(?=.*?\b[O|o]\b)(?=.*?\b[B|b]ox\b).*$).)/) | |
}, "Make sure your first name is typed correctly."); | |
$.validator.addMethod("isCommentStarted", function() { | |
var a = $("#createReview #title").val(), | |
b = $("#createReview #review").val(); | |
if (a !== "") return b === ""; | |
else if (b !== "") return a === "" | |
}); | |
$.validator.addMethod("validPassword", function(a, b) { | |
return this.optional(b) || a.length >= 8 && (/\d/.test(a) || /[A-Z]/.test(a) || /\W/.test(a)) | |
}); | |
$.validator.addMethod("loginRegex", function(a, b) { | |
return this.optional(b) || /^[^ \xC0-\xFF\'\!\s]$/.test(a) | |
}); | |
$.validator.addMethod("iszipcodeStarted", function() { | |
var a = $("#finditinaStore #Zip").val(), | |
b = $("#finditinaStore #City").val(); | |
if (a === "") return b === ""; | |
else if (b === "") return a === "" | |
}); | |
$.validator.addMethod("iscityStarted", function() { | |
var a = $("#finditinaStore #City").val(), | |
b = $("#finditinaStore #State").val(); | |
if (a === "") return b !== ""; | |
else if (a !== "") return b === "" | |
}); | |
$.validator.addMethod("emails", function(a, b) { | |
var d = true, | |
f = false, | |
g = a.split(RegExp("\\s*,\\s*", "gi")); | |
if (g.length > 1) { | |
for (var j = 0; j < g.length; j++) { | |
a = g[j]; | |
d = jQuery.validator.methods.email.call(this, a, b); | |
if (parseInt(j) + 1 === g.length && d) f = true | |
} | |
d = f | |
} else d = jQuery.validator.methods.email.call(this, a, b); | |
return d | |
}); | |
$.validator.addMethod("quantity", function(a) { | |
return /^[0]*[1-9]+[0-9]*$/.test(a) | |
}, "invalid quantity"); | |
$.validator.addClassRules("quantity", { | |
quantity: true | |
}); | |
$.validator.addClassRules("note", { | |
maxlength: 255, | |
messages: { | |
maxlength: "A note cannot be over 255 characters" | |
} | |
}); | |
$.validator.addClassRules("customItemName", { | |
required: true, | |
minlength: 2, | |
messages: { | |
minlength: "more than one character please" | |
} | |
}); | |
$.validator.addMethod("group", function(a, b) { | |
var d = $(this.currentForm), | |
f = $(b).attr("name"), | |
g = this.groups, | |
j = g[f], | |
l = [], | |
o = true; | |
$.each(g, function(v) { | |
g[v] === j && l.push(v) | |
}); | |
$.each(l, function(v, A) { | |
if (d.find('*[name="' + A + '"]').val() === "") o = false | |
}); | |
return o | |
}); | |
$.validator.addMethod("requiredIfEmpty", function(a, b) { | |
var d = $(this.currentForm), | |
f = $(b).attr("name"), | |
g = this.groups, | |
j = g[f], | |
l = [], | |
o = false; | |
$.each(g, function(v) { | |
g[v] === j && l.push(v) | |
}); | |
$.each(l, function(v, A) { | |
if (d.find('*[name="' + A + '"]').val() !== "") o = true | |
}); | |
return o | |
}); | |
$.validator.addMethod("validMonth", function() { | |
var a = true, | |
b = parseInt($("#BirthdayDay, #day").val()), | |
d = parseInt($("#year").val()), | |
f = $("#BirthdayMonth, #month").val(); | |
if (b > 29 && f == "February") a = false; | |
if (b > 30 && (f == "April" || f == "June" || f == "September" || f == "November")) a = false; | |
if (!isNaN(b) && f == "" || isNaN(b) && f !== "") a = false; | |
if (d != "" && (!isNaN(d) && f == "" || isNaN(d) && b == "")) a = false; | |
return a | |
}, "Invalid Date of Birth"); | |
$.validator.addMethod("validDayForMonth", function() { | |
var a = true, | |
b = parseInt($("#BirthdayDay, #day").val()), | |
d = parseInt($("#year").val()), | |
f = $("#BirthdayMonth, #month").val(); | |
if (b > 29 && f == "February") a = false; | |
if (b > 30 && (f == "April" || f == "June" || f == "September" || f == "November")) a = false; | |
if (isNaN(b) && f != "") a = false; | |
if (d != "" && (!isNaN(d) && f == "" || isNaN(d) && b == "")) a = false; | |
return a | |
}, "Invalid Day"); | |
$.validator.addMethod("validMonthForDay", function() { | |
var a = true, | |
b = parseInt($("#BirthdayDay, #day").val()), | |
d = parseInt($("#year").val()), | |
f = $("#BirthdayMonth, #month").val(); | |
if (b > 29 && f == "February") a = false; | |
if (b > 30 && (f == "April" || f == "June" || f == "September" || f == "November")) a = false; | |
if (!isNaN(b) && f == "") a = false; | |
if (d != "" && (!isNaN(d) && f == "" || isNaN(d) && b == "")) a = false; | |
return a | |
}, "Invalid Month"); | |
$.validator.addMethod("validYear", function() { | |
var a = true, | |
b = parseInt($("#day").val()), | |
d = $("#month").val(), | |
f = $("#year").val(); | |
if (d == "February" && b == 29) | |
if (f % 4 != 0 || f % 100 == 0 && f % 400 != 0) a = false; | |
if (!isNaN(b) && d == "" || isNaN(b) && d !== "") a = false; | |
if (f != "" && (!isNaN(f) && d == "" || isNaN(f) && b == "")) a = false; | |
if (f == "") a = false; | |
return a | |
}, "Invalid Date of Birth"); | |
$.extend($.validator.prototype, { | |
submitAttempted: false, | |
form: function() { | |
var a = $(this.currentForm), | |
b = jQuery.Event("validated"); | |
this.submitAttempted = true; | |
this.checkForm(); | |
$.extend(this.submitted, this.errorMap); | |
this.invalid = $.extend({}, this.errorMap); | |
if (this.valid()) b.valid = true; | |
else { | |
a.triggerHandler("invalid-form", [this]); | |
b.valid = false | |
} | |
a.trigger(b); | |
this.showErrors(); | |
return this.valid() | |
}, | |
focusInvalid: function() { | |
var a = $(this.currentForm); | |
if (this.settings.focusInvalid) { | |
if (!a.hasClass("no-summary")) return a.find(".error-heading").focus(); | |
try { | |
$(this.findLastActive() || this.errorList.length && this.errorList[0].element || []).filter(":visible").focus().trigger("focusin") | |
} catch (b) {} | |
} | |
} | |
}); | |
$.validator.setDefaults({ | |
errorElement: "p", | |
errorClass: "error-message", | |
invalidHandler: function(a, b) { | |
var d = $(a.currentTarget); | |
$.each(b.errorList, function(f, g) { | |
var j = $(g.element); | |
j.is("input[type=password]") && j.val(""); | |
setTimeout(function() { | |
$("p.error-message").attr("role", ""); | |
$(document).trigger("updateBuffer.framework"); | |
if ($("h3.error-heading").length > 0 && $("#Login-container").css("display") == "none") $("h3.error-heading").attr({ | |
tabindex: -1 | |
}).focus(); | |
else if ($("p.error-message:first").prev().hasClass("swatchcolor")) $("ul.swatches li:first img:first").attr({ | |
tabindex: -1 | |
}).focus().next().attr({ | |
role: "alert" | |
}); | |
else if ($("p.error-message:first").prev().prev().hasClass("sizeSelection")) $("select.sizeSelection").attr({ | |
tabindex: -1 | |
}).focus().next().next().attr({ | |
role: "alert" | |
}); | |
else $("#month").length != 1 && $("p.error-message:first").prev().attr({ | |
tabindex: -1 | |
}).focus().next().attr({ | |
role: "alert" | |
}); | |
if ($("#strengthRul").length == 1) { | |
$(".PwdStrengthTxt").html("<strong>Strength: </strong>"); | |
$(".passwordStrengthBar span").remove(); | |
$("#strengthRul ul li span").remove() | |
} | |
}, 100) | |
}); | |
b.settings.invalidSubmit = true; | |
d.find(".error-summary").remove(); | |
$.hideCurtain() | |
}, | |
showErrors: function(a, b) { | |
var d, f = this, | |
g = $(this.currentForm), | |
j = g.hasClass("no-summary") !== true, | |
l = "", | |
o = function(C) { | |
C.preventDefault(); | |
if ($.browser.msie && $.browser.version == 7) { | |
C = $(C.target).attr("href").split("#"); | |
typeof C[1] != "undefined" && $("#" + C[1]).focus() | |
} else $($(C.target).attr("href")).focus() | |
}; | |
l = function(C) { | |
var q, I = ""; | |
$.each(C, function(K, Q) { | |
var n = $(Q.element); | |
q = n.attr("type") === "radio" || n.attr("type") === "checkbox" ? n.attr("id") : n.attr("name"); | |
I += $(".ie").length != 0 ? '<li><a onclick=$("#' + | |
q + '").focus() href="javascript:void(0)">' + Q.message + "</a></li>" : '<li><a href="#' + q + '">' + Q.message + "</a></li>" | |
}); | |
return I | |
}; | |
var v = function(C, q) { | |
var I = f.errorsFor(C); | |
I.text(); | |
if (I.length) { | |
I.removeClass().addClass(f.settings.errorClass); | |
q !== undefined && I.data("valid", false); | |
I.attr("generated") && I.html(q) | |
} else { | |
I = $("<" + f.settings.errorElement + "/>").addClass(f.settings.errorClass).html(q || "").attr({ | |
"for": f.idOrName(C), | |
generated: true, | |
role: "alert", | |
id: $(C).attr("id") + f.settings.errorIdAddendum | |
}); | |
if (f.settings.wrapper) I = | |
I.hide().show().wrap("<" + f.settings.wrapper + "/>").parent(); | |
f.labelContainer.append(I).length || (f.settings.errorPlacement ? f.settings.errorPlacement(I, $(C)) : I.insertAfter(C)) | |
} | |
if (!q && f.settings.success) { | |
I.text(""); | |
typeof f.settings.success == "string" ? I.addClass(f.settings.success) : f.settings.success(I) | |
} | |
f.toShow = f.toShow.add(I) | |
}, | |
A = function(C) { | |
var q = j && g.attr("data-summary-rel"), | |
I = q && g.find(q) || g; | |
C = $(C); | |
if (q) C.insertBefore(I); | |
else if ($(".combinedError-Summary").length == 1) { | |
I.prepend(C); | |
C.hide() | |
} else I.prepend(C) | |
}; | |
$.each(f.settings.groups, function(C, q) { | |
var I = q.split(/\s/); | |
$.each(I, function(K, Q) { | |
g.find('*[name="' + Q + '"]').data("validator-group", C) | |
}) | |
}); | |
g.trigger("errors-loaded", a); | |
(function() { | |
for (var C = 0; b[C]; C++) { | |
var q = b[C]; | |
f.settings.highlight && f.settings.highlight.call(f, q.element, f.settings.errorClass, f.settings.validClass); | |
v(q.element, q.message) | |
} | |
if (b.length) f.toShow = f.toShow.add(f.containers); | |
if (f.settings.success) | |
for (C = 0; f.successList[C]; C++) v(f.successList[C]); | |
if (f.settings.unhighlight) { | |
C = 0; | |
for (q = f.validElements(); q[C]; C++) f.settings.unhighlight.call(f, | |
q[C], f.settings.errorClass, f.settings.validClass) | |
} | |
f.toHide = f.toHide.not(f.toShow); | |
f.hideErrors(); | |
f.addWrapper(f.toShow).show(); | |
setTimeout(function() { | |
$("input").removeAttr("tabindex") | |
}, 1E3) | |
})(); | |
f.submitAttempted && $.each(b, function(C, q) { | |
$(q.element).parents(".input-field").addClass("error-item") | |
}); | |
if (f.submitAttempted && j) { | |
if (f.settings.errorLabelContainer.length && b.length > 0) { | |
d = f.settings.errorLabelContainer; | |
l = l(b); | |
if (!g.find(d).length) { | |
if (d.indexOf("#") === 0) A('<div id="' + d.split("#")[1] + '"/>'); | |
else d.indexOf(".") === | |
0 && A('<div class="' + d.split(".")[1] + '"/>'); | |
g.find(d).html('<h3 class="error-heading" tabindex="-1">Please address the following:</h3><div class="error-list"><ol>' + l + "</ol></div>") | |
} | |
} else if (!g.find(".error-summary").length && b.length > 0) { | |
d = ".error-summary"; | |
l = l(b); | |
A('<div class="error-summary"/>'); | |
g.find(d).html('<h3 class="error-heading" tabindex="-1">Please address the following:</h3><div class="error-list"><ol>' + l + "</ol></div>"); | |
if ($("#photoUploadContainer .combinedError-Summary").length == 1) { | |
$(".combinedError-Summary").hide(); | |
$("#photoUploadContainer .combinedError-Summary").addClass("active").html('<h3 class="error-heading" tabindex="-1">Please address the following:</h3><div class="error-list"><ol>' + l + "</ol></div>") | |
} else { | |
$(".combinedError-Summary").addClass("active").html('<h3 class="error-heading" tabindex="-1">Please address the following:</h3><div class="error-list"><ol>' + l + "</ol></div>"); | |
$(".combinedError-Summary").show(); | |
$("h3.error-heading").focus() | |
} | |
setTimeout(function() { | |
focuElem = g.find("h3.error-heading"); | |
focuElem.focus() | |
}, | |
100) | |
} | |
g.trigger("error-summary-loaded"); | |
$("div.error-summary ol li").validateDelegate("a", "click", o) | |
} else b[0] !== undefined && g.trigger("error-inline-loaded", b) | |
}, | |
errorPlacement: function(a, b) { | |
if (a.text().length) { | |
b.parents("#giftcard").length >= 1 && b.parents(".input-step").length >= 1 && b.parents(".input-step").find(".newerrorfield").html(a); | |
if (b.hasClass("before-error-item")) b.parents(".input-step").before(a).prev().wrap('<div class="before-error-item"/>'); | |
else if (b.hasClass("input-error-before")) a.attr("role", | |
"alert").insertBefore(b); | |
else if (b.parents().hasClass("input-group")) | |
if (b.parents(".input-group").find(".input-group-title").length) b.parents(".tileInfo.narrow").length && b.parents(".input-group").find("p.error-message").length ? b.parents(".input-group").find("p.error-message:last").after(a) : b.parents(".input-group").find(".input-group-title").after(a); | |
else b.parent().hasClass("input-step") ? b.parent().append(a) : b.parents(".input-group").prepend(a); | |
else if (b.data("validator-group") || b.next().length) b.parents(".input-step").append(a); | |
else if ((b.is('input[type="radio"]') || b.is('input[type="checkbox"]')) && b.next("label").length) b.next("label").after(a); | |
else b.is("textarea") ? b.prev("label").after(a) : a.insertAfter(b); | |
setTimeout(function() { | |
$("p.error-message").length == 1 ? $("p.error-message").attr("role", "polite") : $("p.error-message").attr("role", ""); | |
$(document).trigger("updateBuffer.framework"); | |
if (!($("h3.error-heading").length > 0 && $("#Login-container").css("display") == "none")) | |
if ($("p.error-message:first").prev().hasClass("swatchcolor")) $("ul.swatches li:first img:first").attr({ | |
tabindex: -1 | |
}).focus(); | |
else if ($("p.error-message:first").prev().prev().hasClass("sizeSelection")) $("select.sizeSelection").attr({ | |
tabindex: -1 | |
}).focus(); | |
else $("#month").length != 1 && $("p.error-message:first").prev().attr({ | |
tabindex: -1 | |
}).focus() | |
}, 100) | |
} | |
}, | |
success: function(a) { | |
a.remove(); | |
a.data("valid") || a.data("valid", true).attr({ | |
role: "alert", | |
"aria-live": "rude" | |
}) | |
} | |
}); | |
(function(a) { | |
a.fn.extend({ | |
accessibleCalendar: function(f) { | |
return this.each(function() { | |
new a.AccessibleCalendar(this, f) | |
}) | |
} | |
}); | |
a.AccessibleCalendar = function(f, g) { | |
this.options = a.extend({}, { | |
eventName: "", | |
format: "m/d/Y", | |
calendars: 2, | |
starts: 7, | |
position: "right", | |
prevText: "Previous Month", | |
nextText: "Next Month", | |
onBeforeShow: "", | |
onChange: "", | |
onRender: "", | |
dateFormat: "mm/dd/yyyy", | |
defaultCalendarInputValue: "MM/DD/YYYY", | |
accessibleLinkText: "i want to enter the date manually", | |
max_years: 3, | |
recurringPriceFlag: false | |
}, g || {}); | |
this.$element = a(f); | |
this.InitializeCalendar(f) | |
}; | |
a.extend(a.AccessibleCalendar.prototype, { | |
InitializeCalendar: function(f) { | |
this.$element.DatePicker(this.GetCalendarConfig(f)).attr({ | |
"aria-live": "polite", | |
"aria-atomic": "false", | |
"aria-relevant": "all", | |
"aria-busy": "false" | |
}).bind("click", function(g) { | |
a(g.target).DatePickerHide() | |
}) | |
}, | |
GetCalendarConfig: function() { | |
var f = this, | |
g = this.$element, | |
j = g.val(); | |
Date.format = f.options.dateFormat; | |
var l = new Date, | |
o = new Date, | |
v = f.options.max_years; | |
o.setFullYear(l.getFullYear() + v); | |
if (g.hasClass("pastDate")) { | |
var A = new Date; | |
A.setFullYear(l.getFullYear() - v) | |
} else { | |
A = new Date; | |
A = A.setDate(l.getDate()) | |
} | |
if (j == f.options.defaultCalendarInputValue || j == "" || isNaN(new Date(j))) j = l.asString(); | |
l = function() { | |
g.val() == f.options.defaultCalendarInputValue || isNaN(new Date(g.val())) ? g.DatePickerSetDate(j, true) : g.DatePickerSetDate(g.val(), true) | |
}; | |
v = function(I) { | |
g.val(I).attr("aria-busy", "false").DatePickerHide().focus().siblings("a.calendarIcon").removeClass("selected") | |
}; | |
var C = function(I) { | |
var K = A; | |
return { | |
disabled: I.valueOf() < | |
K.valueOf() || I.valueOf() > o.valueOf(), | |
className: false | |
} | |
}, | |
q = function() { | |
g.attr("aria-busy", "true") | |
}; | |
return { | |
eventName: "", | |
format: f.options.format, | |
date: j, | |
current: j, | |
last: o, | |
prevLast: A, | |
calendars: f.options.calendars, | |
starts: f.options.starts, | |
position: f.options.position, | |
prev: f.options.prevText, | |
next: f.options.nextText, | |
accessibleLinkText: f.options.accessibleLinkText, | |
onBeforeShow: f.options.onBeforeShow != "" ? f.options.onBeforeShow : l, | |
onChange: f.options.onChange != "" ? f.options.onChange : v, | |
onRender: f.options.onRender != "" ? | |
f.options.onRender : C, | |
onShow: f.options.onShow != "" ? f.options.onShow : q, | |
recurringPriceFlag: f.options.recurringPriceFlag | |
} | |
} | |
}); | |
(function() { | |
Date.dayNames = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; | |
Date.abbrDayNames = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]; | |
Date.monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; | |
Date.abbrMonthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; | |
Date.firstDayOfWeek = 0; | |
Date.format = "dd/mm/yyyy"; | |
(function() { | |
function f(j, l) { | |
Date.prototype[j] || (Date.prototype[j] = l) | |
} | |
f("isLeapYear", function() { | |
var j = this.getFullYear(); | |
return j % 4 == 0 && j % 100 != 0 || j % 400 == 0 | |
}); | |
f("isWeekend", function() { | |
return this.getDay() == 0 || this.getDay() == 6 | |
}); | |
f("isWeekDay", function() { | |
return !this.isWeekend() | |
}); | |
f("getDaysInMonth", function() { | |
return [31, this.isLeapYear() ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][this.getMonth()] | |
}); | |
f("getDayName", function(j) { | |
return j ? Date.abbrDayNames[this.getDay()] : | |
Date.dayNames[this.getDay()] | |
}); | |
f("getMonthName", function(j) { | |
return j ? Date.abbrMonthNames[this.getMonth()] : Date.monthNames[this.getMonth()] | |
}); | |
f("getDayOfYear", function() { | |
var j = new Date("1/1/" + this.getFullYear()); | |
return Math.floor((this.getTime() - j.getTime()) / 864E5) | |
}); | |
f("getWeekOfYear", function() { | |
return Math.ceil(this.getDayOfYear() / 7) | |
}); | |
f("setDayOfYear", function(j) { | |
this.setMonth(0); | |
this.setDate(j); | |
return this | |
}); | |
f("addYears", function(j) { | |
this.setFullYear(this.getFullYear() + j); | |
return this | |
}); | |
f("addMonths", | |
function(j) { | |
var l = this.getDate(); | |
this.setMonth(this.getMonth() + j); | |
l > this.getDate() && this.addDays(-this.getDate()); | |
return this | |
}); | |
f("addDays", function(j) { | |
this.setTime(this.getTime() + j * 864E5); | |
return this | |
}); | |
f("addHours", function(j) { | |
this.setHours(this.getHours() + j); | |
return this | |
}); | |
f("addMinutes", function(j) { | |
this.setMinutes(this.getMinutes() + j); | |
return this | |
}); | |
f("addSeconds", function(j) { | |
this.setSeconds(this.getSeconds() + j); | |
return this | |
}); | |
f("zeroTime", function() { | |
this.setMilliseconds(0); | |
this.setSeconds(0); | |
this.setMinutes(0); | |
this.setHours(0); | |
return this | |
}); | |
f("asString", function(j) { | |
j = j || Date.format; | |
j = j.split("mm").length > 1 ? j.split("mmmm").join(this.getMonthName(false)).split("mmm").join(this.getMonthName(true)).split("mm").join(g(this.getMonth() + 1)) : j.split("m").join(this.getMonth() + 1); | |
return j = j.split("yyyy").join(this.getFullYear()).split("yy").join((this.getFullYear() + "").substring(2)).split("dd").join(g(this.getDate())).split("d").join(this.getDate()) | |
}); | |
Date.fromString = function(j) { | |
var l = Date.format, | |
o = new Date("01/01/1970"); | |
if (j == "") return o; | |
j = j.toLowerCase(); | |
for (var v = "", A = [], C = /(dd?d?|mm?m?|yy?yy?)+([^(m|d|y)])?/g, q; | |
(q = C.exec(l)) != null;) { | |
switch (q[1]) { | |
case "d": | |
case "dd": | |
case "m": | |
case "mm": | |
case "yy": | |
case "yyyy": | |
v += "(\\d+\\d?\\d?\\d?)+"; | |
A.push(q[1].substr(0, 1)); | |
break; | |
case "mmm": | |
v += "([a-z]{3})"; | |
A.push("M") | |
} | |
if (q[2]) v += q[2] | |
} | |
j = j.match(RegExp(v)); | |
if (j == null) return o; | |
else | |
for (l = 0; l < A.length; l++) { | |
v = j[l + 1]; | |
switch (A[l]) { | |
case "d": | |
o.setDate(v); | |
break; | |
case "m": | |
o.setMonth(Number(v) - 1); | |
break; | |
case "M": | |
for (C = 0; C < Date.abbrMonthNames.length; C++) | |
if (Date.abbrMonthNames[C].toLowerCase() == | |
v) break; | |
o.setMonth(C); | |
break; | |
case "y": | |
o.setYear(v) | |
} | |
} | |
return o | |
}; | |
var g = function(j) { | |
j = "0" + j; | |
return j.substring(j.length - 2) | |
} | |
})() | |
})(); | |
var b = function() { | |
var f = { | |
years: "datepickerViewYears", | |
moths: "datepickerViewMonths", | |
days: "datepickerViewDays" | |
}, | |
g = { | |
wrapper: '<div class="datepicker"><div class="datepickerBorderT" /><div class="datepickerBorderB" /><div class="datepickerBorderL" /><div class="datepickerBorderR" /><div class="datepickerBorderTL" /><div class="datepickerBorderTR" /><div class="datepickerBorderBL" /><div class="datepickerBorderBR" /><div class="datepickerContainer"><table cellspacing="0" cellpadding="0"><tbody><tr></tr></tbody></table></div></div>', | |
head: ["<td>", '<table cellspacing="0" cellpadding="0">', "<thead>", "<tr>", '<th class="datepickerGoPrev"><a href="#"><span class="screen-reader-only"><%=prev%></span><span><</span></a></th>', '<th colspan="5" class="datepickerMonth"><span></span></th>', '<th class="datepickerGoNext"><a href="#"><span class="screen-reader-only"><%=next%></span><span>></span></a></th>', "</tr>", '<tr class="datepickerDoW">', "<th><span><%=day1%></span></th>", "<th><span><%=day2%></span></th>", "<th><span><%=day3%></span></th>", | |
"<th><span><%=day4%></span></th>", "<th><span><%=day5%></span></th>", "<th><span><%=day6%></span></th>", "<th><span><%=day7%></span></th>", "</tr>", "</thead>", "</table></td>" | |
], | |
space: '<td class="datepickerSpace"><div></div></td>', | |
days: ['<tbody class="datepickerDays">', "<tr>", '<td class="<%=weeks[0].days[0].classname%>"><a href="#"><%=weeks[0].days[0].accessibilityText%></a></td>', '<td class="<%=weeks[0].days[1].classname%>"><a href="#"><%=weeks[0].days[1].accessibilityText%></a></td>', '<td class="<%=weeks[0].days[2].classname%>"><a href="#"><%=weeks[0].days[2].accessibilityText%></a></td>', | |
'<td class="<%=weeks[0].days[3].classname%>"><a href="#"><%=weeks[0].days[3].accessibilityText%></a></td>', '<td class="<%=weeks[0].days[4].classname%>"><a href="#"><%=weeks[0].days[4].accessibilityText%></a></td>', '<td class="<%=weeks[0].days[5].classname%>"><a href="#"><%=weeks[0].days[5].accessibilityText%></a></td>', '<td class="<%=weeks[0].days[6].classname%> last"><a href="#"><%=weeks[0].days[6].accessibilityText%></a></td>', "</tr>", "<tr>", '<td class="<%=weeks[1].days[0].classname%>"><a href="#"><%=weeks[1].days[0].accessibilityText%></a></td>', | |
'<td class="<%=weeks[1].days[1].classname%>"><a href="#"><%=weeks[1].days[1].accessibilityText%></a></td>', '<td class="<%=weeks[1].days[2].classname%>"><a href="#"><%=weeks[1].days[2].accessibilityText%></a></td>', '<td class="<%=weeks[1].days[3].classname%>"><a href="#"><%=weeks[1].days[3].accessibilityText%></a></td>', '<td class="<%=weeks[1].days[4].classname%>"><a href="#"><%=weeks[1].days[4].accessibilityText%></a></td>', '<td class="<%=weeks[1].days[5].classname%>"><a href="#"><%=weeks[1].days[5].accessibilityText%></a></td>', | |
'<td class="<%=weeks[1].days[6].classname%> last"><a href="#"><%=weeks[1].days[6].accessibilityText%></a></td>', "</tr>", "<tr>", '<td class="<%=weeks[2].days[0].classname%>"><a href="#"><%=weeks[2].days[0].accessibilityText%></a></td>', '<td class="<%=weeks[2].days[1].classname%>"><a href="#"><%=weeks[2].days[1].accessibilityText%></a></td>', '<td class="<%=weeks[2].days[2].classname%>"><a href="#"><%=weeks[2].days[2].accessibilityText%></a></td>', '<td class="<%=weeks[2].days[3].classname%>"><a href="#"><%=weeks[2].days[3].accessibilityText%></a></td>', | |
'<td class="<%=weeks[2].days[4].classname%>"><a href="#"><%=weeks[2].days[4].accessibilityText%></a></td>', '<td class="<%=weeks[2].days[5].classname%>"><a href="#"><%=weeks[2].days[5].accessibilityText%></a></td>', '<td class="<%=weeks[2].days[6].classname%> last"><a href="#"><%=weeks[2].days[6].accessibilityText%></a></td>', "</tr>", "<tr>", '<td class="<%=weeks[3].days[0].classname%>"><a href="#"><%=weeks[3].days[0].accessibilityText%></a></td>', '<td class="<%=weeks[3].days[1].classname%>"><a href="#"><%=weeks[3].days[1].accessibilityText%></a></td>', | |
'<td class="<%=weeks[3].days[2].classname%>"><a href="#"><%=weeks[3].days[2].accessibilityText%></a></td>', '<td class="<%=weeks[3].days[3].classname%>"><a href="#"><%=weeks[3].days[3].accessibilityText%></a></td>', '<td class="<%=weeks[3].days[4].classname%>"><a href="#"><%=weeks[3].days[4].accessibilityText%></a></td>', '<td class="<%=weeks[3].days[5].classname%>"><a href="#"><%=weeks[3].days[5].accessibilityText%></a></td>', '<td class="<%=weeks[3].days[6].classname%> last"><a href="#"><%=weeks[3].days[6].accessibilityText%></a></td>', | |
"</tr>", "<tr>", '<td class="<%=weeks[4].days[0].classname%>"><a href="#"><%=weeks[4].days[0].accessibilityText%></a></td>', '<td class="<%=weeks[4].days[1].classname%>"><a href="#"><%=weeks[4].days[1].accessibilityText%></a></td>', '<td class="<%=weeks[4].days[2].classname%>"><a href="#"><%=weeks[4].days[2].accessibilityText%></a></td>', '<td class="<%=weeks[4].days[3].classname%>"><a href="#"><%=weeks[4].days[3].accessibilityText%></a></td>', '<td class="<%=weeks[4].days[4].classname%>"><a href="#"><%=weeks[4].days[4].accessibilityText%></a></td>', | |
'<td class="<%=weeks[4].days[5].classname%>"><a href="#"><%=weeks[4].days[5].accessibilityText%></a></td>', '<td class="<%=weeks[4].days[6].classname%> last"><a href="#"><%=weeks[4].days[6].accessibilityText%></a></td>', "</tr>", "<tr>", '<td class="<%=weeks[5].days[0].classname%>"><a href="#"><%=weeks[5].days[0].accessibilityText%></a></td>', '<td class="<%=weeks[5].days[1].classname%>"><a href="#"><%=weeks[5].days[1].accessibilityText%></a></td>', '<td class="<%=weeks[5].days[2].classname%>"><a href="#"><%=weeks[5].days[2].accessibilityText%></a></td>', | |
'<td class="<%=weeks[5].days[3].classname%>"><a href="#"><%=weeks[5].days[3].accessibilityText%></a></td>', '<td class="<%=weeks[5].days[4].classname%>"><a href="#"><%=weeks[5].days[4].accessibilityText%></a></td>', '<td class="<%=weeks[5].days[5].classname%>"><a href="#"><%=weeks[5].days[5].accessibilityText%></a></td>', '<td class="<%=weeks[5].days[6].classname%> last"><a href="#"><%=weeks[5].days[6].accessibilityText%></a></td>', "</tr>", "</tbody>" | |
], | |
months: ['<tbody class="<%=className%>">', "<tr>", | |
'<td colspan="1"><a href="#"><span><%=data[0]%></span></a></td>', '<td colspan="2"><a href="#"><span><%=data[1]%></span></a></td>', '<td colspan="2"><a href="#"><span><%=data[2]%></span></a></td>', '<td colspan="2"><a href="#"><span><%=data[3]%></span></a></td>', "</tr>", "<tr>", '<td colspan="1"><a href="#"><span><%=data[4]%></span></a></td>', '<td colspan="2"><a href="#"><span><%=data[5]%></span></a></td>', '<td colspan="2"><a href="#"><span><%=data[6]%></span></a></td>', '<td colspan="2"><a href="#"><span><%=data[7]%></span></a></td>', | |
"</tr>", "<tr>", '<td colspan="1"><a href="#"><span><%=data[8]%></span></a></td>', '<td colspan="2"><a href="#"><span><%=data[9]%></span></a></td>', '<td colspan="2"><a href="#"><span><%=data[10]%></span></a></td>', '<td colspan="2"><a href="#"><span><%=data[11]%></span></a></td>', "</tr>", "</tbody>" | |
] | |
}, | |
j = { | |
flat: false, | |
starts: 1, | |
prev: "◀", | |
next: "▶", | |
lastSel: false, | |
mode: "single", | |
view: "days", | |
calendars: 1, | |
format: "Y-m-d", | |
position: "bottom", | |
eventName: "click", | |
onRender: function() { | |
return {} | |
}, | |
onChange: function() { | |
return true | |
}, | |
onShow: function() { | |
return true | |
}, | |
onBeforeShow: function() { | |
return true | |
}, | |
onHide: function() { | |
return true | |
}, | |
locale: { | |
days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], | |
daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], | |
daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"], | |
months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], | |
monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", | |
"Dec" | |
], | |
weekMin: "wk" | |
}, | |
accessibleLinkText: "i want to enter the date manually" | |
}, | |
l = function(p) { | |
var t = a(p).data("datepicker"), | |
z = a(p), | |
D = Math.floor(t.calendars / 2), | |
M, B, m, u, y = 0, | |
H, J, R, U, X, ga = new Date(t.last); | |
ga.setMonth(ga.getMonth() - t.calendars); | |
var ja = new Date(t.prevLast); | |
ja.setMonth(ja.getMonth()); | |
z.find("td>table tbody").remove(); | |
for (var la = 0; la < t.calendars; la++) { | |
M = new Date(t.current); | |
t.calendars > 1 ? M.addMonths(-D + la + 1) : M.addMonths(-D + la); | |
X = z.find("table").eq(la + 1); | |
switch (X[0].className) { | |
case "datepickerViewDays": | |
m = | |
v(M, "B Y"); | |
break; | |
case "datepickerViewMonths": | |
m = M.getFullYear(); | |
break; | |
case "datepickerViewYears": | |
m = M.getFullYear() - 6 + " - " + (M.getFullYear() + 5) | |
} | |
X.find("thead tr:first th:eq(1) span").text(m); | |
m = M.getFullYear() - 6; | |
B = { | |
data: [], | |
className: "datepickerYears" | |
}; | |
for (U = 0; U < 12; U++) B.data.push(m + U); | |
U = tmpl(g.months.join(""), B); | |
M.setDate(1); | |
B = { | |
weeks: [], | |
test: 10 | |
}; | |
u = M.getMonth(); | |
m = (M.getDay() - t.starts) % 7; | |
M.addDays(-(m + (m < 0 ? 7 : 0))); | |
H = -1; | |
for (y = 0; y < 42;) { | |
J = parseInt(y / 7, 10); | |
R = y % 7; | |
if (!B.weeks[J]) { | |
H = M.getWeekNumber(); | |
B.weeks[J] = { | |
week: H, | |
days: [] | |
} | |
} | |
B.weeks[J].days[R] = { | |
text: M.getDate(), | |
accessibilityText: v(M, "A B e Y", true), | |
classname: [] | |
}; | |
u != M.getMonth() && B.weeks[J].days[R].classname.push("datepickerNotInMonth"); | |
M.getDay() == 0 && B.weeks[J].days[R].classname.push("datepickerSunday"); | |
M.getDay() == 6 && B.weeks[J].days[R].classname.push("datepickerSaturday"); | |
H = t.onRender(M); | |
var ka = M.valueOf(); | |
if (H.selected || t.date == ka || a.inArray(ka, t.date) > -1 || t.mode == "range" && ka >= t.date[0] && ka <= t.date[1]) B.weeks[J].days[R].classname.push("datepickerSelected"); | |
if (t.recurringPriceFlag) { | |
var ra = a("#endDate").val(), | |
pa = a("#startDate").val(); | |
ra = new Date(ra); | |
pa = (new Date(pa)).getTime(); | |
ra = ra.getTime(); | |
sdateVal = typeof a("#startDate").val() !== "undefined" && a("#startDate").val() != "" ? pa : t.date; | |
if (ka < sdateVal || ka > ra) B.weeks[J].days[R].classname.push("datepickerDisabled") | |
} | |
if (H.disabled) | |
if (t.recurringPriceFlag) { | |
ka = (new Date).getDate(); | |
M.getDate() != ka && B.weeks[J].days[R].classname.push("datepickerDisabled") | |
} else B.weeks[J].days[R].classname.push("datepickerDisabled"); | |
H.className && B.weeks[J].days[R].classname.push(H.className); | |
B.weeks[J].days[R].classname = B.weeks[J].days[R].classname.join(" "); | |
y++; | |
M.addDays(1) | |
} | |
M = tmpl(g.days.join(""), B); | |
M = a(M); | |
M.find("td.datepickerDisabled a").each(function() { | |
var xa = a(this).html(); | |
a(this).after(xa).remove() | |
}); | |
M = '<tbody class="datepickerDays">' + M.html() + "</tbody>"; | |
U = M + U; | |
X.append(U); | |
X.find("a.calendarAccessibility").bind("click", function() { | |
a(a(p).data("inputEl")).focus().DatePickerHide(); | |
return false | |
}).bind("keydown", function(xa) { | |
if (xa.which == | |
9 && !xa.shiftKey) { | |
X.find("a:first").focus(); | |
xa.preventDefault(); | |
return false | |
} | |
}); | |
if (t.calendars > 1) { | |
if (la == 0 && t.current.valueOf() < ja.valueOf()) { | |
X.find("th.datepickerGoNext a").addClass("hidden"); | |
X.find("th.datepickerGoPrev a").addClass("disabled").text(t.prev + " disabled").bind("click", function() { | |
return false | |
}) | |
} else if (la == 0) { | |
X.find("th.datepickerGoNext a").addClass("hidden"); | |
X.find("th.datepickerGoPrev a").removeClass("disabled").text(t.prev).unbind("click") | |
} else X.find("th.datepickerGoPrev a").removeClass("disabled").text(t.prev); | |
if (la == t.calendars - 1 && t.current.valueOf() > ga.valueOf()) { | |
if (t.current.getMonth() !== ga.getMonth()) { | |
X.find("th.datepickerGoPrev a").addClass("hidden"); | |
X.find("th.datepickerGoNext a").addClass("disabled").text(t.next + " disabled").bind("click", function() { | |
return false | |
}) | |
} | |
} else if (la == t.calendars - 1) { | |
X.find("th.datepickerGoPrev a").addClass("hidden"); | |
X.find("th.datepickerGoNext a").removeClass("disabled").text(t.next).unbind("click") | |
} else X.find("th.datepickerGoNext a").removeClass("disabled").text(t.next) | |
} | |
} | |
}, | |
o = function(p, t) { | |
if (p.constructor == Date) return new Date(p); | |
for (var z = p.split(/\W+/), D = t.split(/\W+/), M, B, m, u, y, H = new Date, J = 0; J < z.length; J++) switch (D[J]) { | |
case "d": | |
case "e": | |
M = parseInt(z[J], 10); | |
break; | |
case "m": | |
B = parseInt(z[J], 10) - 1; | |
break; | |
case "Y": | |
case "y": | |
m = parseInt(z[J], 10); | |
m += m > 100 ? 0 : m < 29 ? 2E3 : 1900; | |
break; | |
case "H": | |
case "I": | |
case "k": | |
case "l": | |
u = parseInt(z[J], 10); | |
break; | |
case "P": | |
case "p": | |
if (/pm/i.test(z[J]) && u < 12) u += 12; | |
else if (/am/i.test(z[J]) && u >= 12) u -= 12; | |
break; | |
case "M": | |
y = parseInt(z[J], 10) | |
} | |
return new Date(m === | |
undefined ? H.getFullYear() : m, B === undefined ? H.getMonth() : B, M === undefined ? H.getDate() : M, u === undefined ? H.getHours() : u, y === undefined ? H.getMinutes() : y, 0) | |
}, | |
v = function(p, t, z) { | |
var D = p.getMonth(), | |
M = p.getDate(), | |
B = p.getFullYear(); | |
p.getWeekNumber(); | |
var m = p.getDay(), | |
u = p.getHours(), | |
y = u >= 12, | |
H = y ? u - 12 : u, | |
J = p.getDayOfYear(); | |
if (H == 0) H = 12; | |
var R = p.getMinutes(), | |
U = p.getSeconds(); | |
t = t.split(""); | |
for (var X, ga = 0; ga < t.length; ga++) { | |
X = t[ga]; | |
switch (t[ga]) { | |
case "a": | |
X = p.getDayName(); | |
break; | |
case "A": | |
X = z ? '<span class="screen-reader-only">' + | |
p.getDayName(true) + ", </span>" : p.getDayName(true); | |
break; | |
case "b": | |
X = p.getMonthName(); | |
break; | |
case "B": | |
X = z ? '<span class="screen-reader-only">' + p.getMonthName(true) + ", </span>" : p.getMonthName(true); | |
break; | |
case "C": | |
X = 1 + Math.floor(B / 100); | |
break; | |
case "d": | |
X = M < 10 ? "0" + M : M; | |
break; | |
case "e": | |
X = z ? "<span>" + M + "</span>" : M; | |
break; | |
case "H": | |
X = u < 10 ? "0" + u : u; | |
break; | |
case "I": | |
X = H < 10 ? "0" + H : H; | |
break; | |
case "j": | |
X = J < 100 ? J < 10 ? "00" + J : "0" + J : J; | |
break; | |
case "k": | |
X = u; | |
break; | |
case "l": | |
X = H; | |
break; | |
case "m": | |
X = D < 9 ? "0" + (1 + D) : 1 + D; | |
break; | |
case "M": | |
X = R < 10 ? "0" + | |
R : R; | |
break; | |
case "p": | |
case "P": | |
X = y ? "PM" : "AM"; | |
break; | |
case "s": | |
X = Math.floor(p.getTime() / 1E3); | |
break; | |
case "S": | |
X = U < 10 ? "0" + U : U; | |
break; | |
case "u": | |
X = m + 1; | |
break; | |
case "w": | |
X = m; | |
break; | |
case "y": | |
X = ("" + B).substr(2, 2); | |
break; | |
case "Y": | |
X = z ? '<span class="screen-reader-only">' + B + "</span>" : B | |
} | |
t[ga] = X | |
} | |
return t.join("") | |
}, | |
A = function(p) { | |
if (!Date.prototype.tempDate) { | |
Date.prototype.tempDate = null; | |
Date.prototype.months = p.months; | |
Date.prototype.monthsShort = p.monthsShort; | |
Date.prototype.days = p.days; | |
Date.prototype.daysShort = p.daysShort; | |
Date.prototype.getMonthName = | |
function(t) { | |
return this[t ? "months" : "monthsShort"][this.getMonth()] | |
}; | |
Date.prototype.getDayName = function(t) { | |
return this[t ? "days" : "daysShort"][this.getDay()] | |
}; | |
Date.prototype.addDays = function(t) { | |
this.setDate(this.getDate() + t); | |
this.tempDate = this.getDate() | |
}; | |
Date.prototype.addMonths = function(t) { | |
if (this.tempDate == null) this.tempDate = this.getDate(); | |
this.setDate(1); | |
this.setMonth(this.getMonth() + t); | |
this.setDate(Math.min(this.tempDate, this.getMaxDays())) | |
}; | |
Date.prototype.addYears = function(t) { | |
if (this.tempDate == | |
null) this.tempDate = this.getDate(); | |
this.setDate(1); | |
this.setFullYear(this.getFullYear() + t); | |
this.setDate(Math.min(this.tempDate, this.getMaxDays())) | |
}; | |
Date.prototype.getMaxDays = function() { | |
var t = new Date(Date.parse(this)), | |
z = 28, | |
D; | |
D = t.getMonth(); | |
for (z = 28; t.getMonth() == D;) { | |
z++; | |
t.setDate(z) | |
} | |
return z - 1 | |
}; | |
Date.prototype.getFirstDay = function() { | |
var t = new Date(Date.parse(this)); | |
t.setDate(1); | |
return t.getDay() | |
}; | |
Date.prototype.getWeekNumber = function() { | |
var t = new Date(this); | |
t.setDate(t.getDate() - (t.getDay() + 6) % 7 + 3); | |
var z = | |
t.valueOf(); | |
t.setMonth(0); | |
t.setDate(4); | |
return Math.round((z - t.valueOf()) / 6048E5) + 1 | |
}; | |
Date.prototype.getDayOfYear = function() { | |
var t = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0), | |
z = new Date(this.getFullYear(), 0, 0, 0, 0, 0); | |
return Math.floor((t - z) / 24 * 60 * 60 * 1E3) | |
} | |
} | |
}, | |
C = function(p) { | |
var t = a(p).data("datepicker"), | |
z = a("#" + t.id); | |
if (!t.extraHeight) { | |
p = a(p).find("div"); | |
t.extraHeight = p.get(0).offsetHeight + p.get(1).offsetHeight; | |
t.extraWidth = p.get(2).offsetWidth + p.get(3).offsetWidth | |
} | |
var D = z.find("table:first").get(0); | |
p = D.offsetWidth; | |
D = D.offsetHeight; | |
z.css({ | |
width: p + t.extraWidth + "px", | |
height: D + t.extraHeight + "px" | |
}).find("div.datepickerContainer").css({ | |
width: p + "px", | |
height: D + "px" | |
}) | |
}, | |
q = function(p) { | |
if (a(p.target).is("span")) p.target = p.target.parentNode; | |
var t = a(p.target); | |
if (t.is("a")) { | |
p.target.blur(); | |
if (t.hasClass("datepickerDisabled")) return false; | |
var z = a(this).data("datepicker"); | |
p = t.parent(); | |
var D = p.parent().parent().parent(), | |
M = a("table", this).index(D.get(0)) - 1, | |
B = new Date(z.current), | |
m = false, | |
u = false; | |
if (p.is("th")) | |
if (p.hasClass("datepickerWeek") && | |
z.mode == "range" && !p.next().hasClass("datepickerDisabled")) { | |
var y = parseInt(p.next().text(), 10); | |
B.addMonths(M - Math.floor(z.calendars / 2)); | |
if (p.next().hasClass("datepickerNotInMonth")) B.addMonths(y > 15 ? -1 : 1); | |
B.setDate(y); | |
z.date[0] = B.setHours(0, 0, 0, 0).valueOf(); | |
B.setHours(23, 59, 59, 0); | |
B.addDays(6); | |
z.date[1] = B.valueOf(); | |
m = u = true; | |
z.lastSel = false | |
} else if (p.hasClass("datepickerMonth")) return false; | |
else { | |
if (p.parent().parent().is("thead")) { | |
switch (D.get(0).className) { | |
case "datepickerViewDays": | |
z.current.addMonths(p.hasClass("datepickerGoPrev") ? | |
-1 : 1); | |
break; | |
case "datepickerViewMonths": | |
z.current.addYears(p.hasClass("datepickerGoPrev") ? -1 : 1); | |
break; | |
case "datepickerViewYears": | |
z.current.addYears(p.hasClass("datepickerGoPrev") ? -12 : 12) | |
} | |
u = true | |
} | |
} else if (p.is("td") && !p.hasClass("datepickerDisabled")) { | |
switch (D.get(0).className) { | |
case "datepickerViewMonths": | |
z.current.setMonth(D.find("tbody.datepickerMonths td").index(p)); | |
z.current.addMonths(Math.floor(z.calendars / 2) - M); | |
D.get(0).className = "datepickerViewDays"; | |
break; | |
case "datepickerViewYears": | |
z.current.setFullYear(parseInt(t.text(), | |
10)); | |
D.get(0).className = "datepickerViewMonths"; | |
break; | |
default: | |
y = parseInt(t.find("span:eq(2)").text(), 10); | |
z.calendars > 1 ? B.addMonths(M - Math.floor(z.calendars / 2 - 1)) : B.addMonths(M - Math.floor(z.calendars / 2)); | |
if (p.hasClass("datepickerNotInMonth")) B.addMonths(y > 15 ? -1 : 1); | |
B.setDate(y); | |
switch (z.mode) { | |
case "multiple": | |
y = B.setHours(0, 0, 0, 0).valueOf(); | |
a.inArray(y, z.date) > -1 ? a.each(z.date, function(H, J) { | |
if (J == y) { | |
z.date.splice(H, 1); | |
return false | |
} | |
}) : z.date.push(y); | |
break; | |
case "range": | |
z.lastSel || (z.date[0] = B.setHours(0, | |
0, 0, 0).valueOf()); | |
y = B.setHours(23, 59, 59, 0).valueOf(); | |
if (y < z.date[0]) { | |
z.date[1] = z.date[0] + 86399E3; | |
z.date[0] = y - 86399E3 | |
} else z.date[1] = y; | |
z.lastSel = !z.lastSel; | |
break; | |
default: | |
z.date = B.valueOf() | |
} | |
} | |
m = u = true | |
} | |
u && l(this); | |
m && z.onChange.apply(this, I(z)) | |
} | |
return false | |
}, | |
I = function(p) { | |
var t; | |
if (p.mode == "single") { | |
t = new Date(p.date); | |
return [v(t, p.format), t, p.el] | |
} else { | |
t = [ | |
[], | |
[], p.el | |
]; | |
a.each(p.date, function(z, D) { | |
var M = new Date(D); | |
t[0].push(v(M, p.format)); | |
t[1].push(M) | |
}); | |
return t | |
} | |
}, | |
K = function() { | |
var p = document.compatMode == "CSS1Compat"; | |
return { | |
l: window.pageXOffset || (p ? document.documentElement.scrollLeft : document.body.scrollLeft), | |
t: window.pageYOffset || (p ? document.documentElement.scrollTop : document.body.scrollTop), | |
w: window.innerWidth || (p ? document.documentElement.clientWidth : document.body.clientWidth), | |
h: window.innerHeight || (p ? document.documentElement.clientHeight : document.body.clientHeight) | |
} | |
}, | |
Q = function(p, t, z) { | |
if (p == t) return true; | |
if (p.contains) return p.contains(t); | |
if (p.compareDocumentPosition) return !!(p.compareDocumentPosition(t) & 16); | |
for (t = t.parentNode; t && t != z;) { | |
if (t == p) return true; | |
t = t.parentNode | |
} | |
return false | |
}, | |
n = function() { | |
var p = a("#" + a(this).data("datepickerId")); | |
if (!p.is(":visible")) { | |
var t = p.get(0); | |
l(t); | |
var z = p.data("datepicker"); | |
z.onBeforeShow.apply(this, [p.get(0)]); | |
var D = a(this).offset(), | |
M = K(), | |
B = D.top, | |
m = D.left; | |
p.css("display", "none"); | |
p.css({ | |
visibility: "hidden", | |
display: "block" | |
}); | |
C(t); | |
switch (z.position) { | |
case "top": | |
B -= t.offsetHeight; | |
break; | |
case "left": | |
m -= t.offsetWidth; | |
break; | |
case "right": | |
m += this.offsetWidth + 37; | |
break; | |
case "bottom": | |
B += | |
this.offsetHeight | |
} | |
if (B + t.offsetHeight > M.t + M.h) B = D.top - t.offsetHeight; | |
if (B < M.t) B = D.top + this.offsetHeight + t.offsetHeight; | |
if (m + t.offsetWidth > M.l + M.w) m = D.left - t.offsetWidth; | |
if (m < M.l) m = D.left + this.offsetWidth; | |
p.css({ | |
visibility: "visible", | |
display: "block", | |
top: B + "px", | |
left: m + "px" | |
}); | |
z.onShow.apply(this, [p.get(0)]) != false && p.show(); | |
var u = a(this); | |
p.unbind("keyup").bind("keyup", function() { | |
p.keyup(function(y) { | |
console.log("indisde"); | |
if (y.keyCode == 27) { | |
p.hide(); | |
u.parents("form").find("a.calendarIcon").focus() | |
} | |
}) | |
}); | |
a(document).bind("mousedown", { | |
cal: p, | |
trigger: this | |
}, G) | |
} | |
return false | |
}, | |
G = function(p) { | |
if (p.target != p.data.trigger && !Q(p.data.cal.get(0), p.target, p.data.cal.get(0))) { | |
if (p.data.cal.data("datepicker").onHide.apply(this, [p.data.cal.get(0)]) != false) { | |
p.data.cal.hide(); | |
a("#" + p.data.cal.attr("id") + "_icon").removeClass("selectedCalendarIcon"); | |
a(p.data.trigger).attr("aria-busy", "false") | |
} | |
a(document).unbind("mousedown", G) | |
} | |
}; | |
return { | |
init: function(p) { | |
p = a.extend({}, j, p || {}); | |
A(p.locale); | |
p.calendars = Math.max(1, parseInt(p.calendars, | |
10) || 1); | |
p.mode = /single|multiple|range/.test(p.mode) ? p.mode : "single"; | |
return this.each(function() { | |
if (!a(this).data("datepicker")) { | |
p.el = this; | |
if (p.date.constructor == String) { | |
p.date = o(p.date, p.format); | |
p.date.setHours(0, 0, 0, 0) | |
} | |
if (p.mode != "single") | |
if (p.date.constructor != Array) { | |
p.date = [p.date.valueOf()]; | |
p.mode == "range" && p.date.push((new Date(p.date[0])).setHours(23, 59, 59, 0).valueOf()) | |
} else { | |
for (var t = 0; t < p.date.length; t++) p.date[t] = o(p.date[t], p.format).setHours(0, 0, 0, 0).valueOf(); | |
if (p.mode == "range") p.date[1] = | |
(new Date(p.date[1])).setHours(23, 59, 59, 0).valueOf() | |
} else p.date = p.date.valueOf(); | |
p.current = p.current ? o(p.current, p.format) : new Date; | |
p.current.setDate(1); | |
p.current.setHours(0, 0, 0, 0); | |
t = "datepicker_" + parseInt(Math.random() * 1E3); | |
var z; | |
p.id = t; | |
a(this).data("datepickerId", p.id); | |
var D = a(g.wrapper).attr("id", t).bind("click", q).data("datepicker", p).data("inputEl", this); | |
p.className && D.addClass(p.className); | |
var M = ""; | |
for (t = 0; t < p.calendars; t++) { | |
z = p.starts; | |
if (t > 0) M += g.space; | |
M += tmpl(g.head.join(""), { | |
week: p.locale.weekMin, | |
prev: p.prev, | |
next: p.next, | |
day1: p.locale.daysMin[z++ % 7], | |
day2: p.locale.daysMin[z++ % 7], | |
day3: p.locale.daysMin[z++ % 7], | |
day4: p.locale.daysMin[z++ % 7], | |
day5: p.locale.daysMin[z++ % 7], | |
day6: p.locale.daysMin[z++ % 7], | |
day7: p.locale.daysMin[z++ % 7] | |
}) | |
} | |
D.find("tr:first").append(M).find("table").addClass(f[p.view]); | |
l(D.get(0)); | |
if (p.flat) { | |
D.appendTo(this.parentNode).show().css("position", "relative"); | |
C(D.get(0)) | |
} else { | |
D.appendTo(document.body); | |
a(this).bind(p.eventName, n) | |
} | |
$iconLink = a('<a href="#" id="' + D.attr("id") + '_icon" class="calendarIcon" title="pick a day from the calendar"></a>'); | |
$iconLink.bind("click", { | |
cal: D, | |
trigger: this | |
}, function(B) { | |
a(B.data.trigger).DatePickerShow().attr("aria-busy", "true"); | |
a(B.target).addClass("selectedCalendarIcon"); | |
return false | |
}); | |
a(this).after($iconLink) | |
} | |
}) | |
}, | |
showPicker: function() { | |
return this.each(function() { | |
if (a(this).data("datepickerId")) { | |
n.apply(this); | |
a("#" + a(this).data("datepickerId")).find("a:first").focus() | |
} | |
}) | |
}, | |
hidePicker: function() { | |
return this.each(function() { | |
a(this).data("datepickerId") && a("#" + a(this).data("datepickerId")).hide() | |
}) | |
}, | |
setDate: function(p, | |
t) { | |
return this.each(function() { | |
if (a(this).data("datepickerId")) { | |
var z = a("#" + a(this).data("datepickerId")), | |
D = z.data("datepicker"); | |
D.date = p; | |
if (D.date.constructor == String) { | |
D.date = o(D.date, D.format); | |
D.date.setHours(0, 0, 0, 0) | |
} | |
if (D.mode != "single") | |
if (D.date.constructor != Array) { | |
D.date = [D.date.valueOf()]; | |
D.mode == "range" && D.date.push((new Date(D.date[0])).setHours(23, 59, 59, 0).valueOf()) | |
} else { | |
for (var M = 0; M < D.date.length; M++) D.date[M] = o(D.date[M], D.format).setHours(0, 0, 0, 0).valueOf(); | |
if (D.mode == "range") D.date[1] = | |
(new Date(D.date[1])).setHours(23, 59, 59, 0).valueOf() | |
} else D.date = D.date.valueOf(); | |
if (t) D.current = new Date(D.mode != "single" ? D.date[0] : D.date); | |
l(z.get(0)) | |
} | |
}) | |
}, | |
getDate: function(p) { | |
if (this.size() > 0) return I(a("#" + a(this).data("datepickerId")).data("datepicker"))[p ? 0 : 1] | |
}, | |
clear: function() { | |
return this.each(function() { | |
if (a(this).data("datepickerId")) { | |
var p = a("#" + a(this).data("datepickerId")), | |
t = p.data("datepicker"); | |
if (t.mode != "single") { | |
t.date = []; | |
l(p.get(0)) | |
} | |
} | |
}) | |
}, | |
fixLayout: function() { | |
return this.each(function() { | |
if (a(this).data("datepickerId")) { | |
var p = | |
a("#" + a(this).data("datepickerId")); | |
p.data("datepicker").flat && C(p.get(0)) | |
} | |
}) | |
} | |
} | |
}(); | |
a.fn.extend({ | |
DatePicker: b.init, | |
DatePickerHide: b.hidePicker, | |
DatePickerShow: b.showPicker, | |
DatePickerSetDate: b.setDate, | |
DatePickerGetDate: b.getDate, | |
DatePickerClear: b.clear, | |
DatePickerLayout: b.fixLayout | |
}); | |
var d = {}; | |
this.tmpl = function f(g, j) { | |
var l = !/\W/.test(g) ? d[g] = d[g] || f(document.getElementById(g).innerHTML) : new Function("obj", "var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('" + g.replace(/[\r\t\n]/g, | |
" ").split("<%").join("\t").replace(/((^|%>)[^\t]*)'/g, "$1\r").replace(/\t=(.*?)%>/g, "',$1,'").split("\t").join("');").split("%>").join("p.push('").split("\r").join("\\'") + "');}return p.join('');"); | |
return j ? l(j) : l | |
} | |
})(jQuery); | |
$(window).trigger("register.framework", ["plugin", "AccessibleCalendar", $.AccessibleCalendar.registration]); | |
var swfobject = function() { | |
function a() { | |
if (!ka) { | |
try { | |
var L = m.getElementsByTagName("body")[0].appendChild(m.createElement("span")); | |
L.parentNode.removeChild(L) | |
} catch (W) { | |
return | |
} | |
ka = true; | |
L = H.length; | |
for (var Z = 0; Z < L; Z++) H[Z]() | |
} | |
} | |
function b(L) { | |
if (ka) L(); | |
else H[H.length] = L | |
} | |
function d(L) { | |
if (typeof B.addEventListener != t) B.addEventListener("load", L, false); | |
else if (typeof m.addEventListener != t) m.addEventListener("load", L, false); | |
else if (typeof B.attachEvent != t) K(B, "onload", L); | |
else if (typeof B.onload == "function") { | |
var W = | |
B.onload; | |
B.onload = function() { | |
W(); | |
L() | |
} | |
} else B.onload = L | |
} | |
function f() { | |
var L = m.getElementsByTagName("body")[0], | |
W = m.createElement(z); | |
W.setAttribute("type", D); | |
var Z = L.appendChild(W); | |
if (Z) { | |
var ia = 0; | |
(function() { | |
if (typeof Z.GetVariable != t) { | |
var ma = Z.GetVariable("$version"); | |
if (ma) { | |
ma = ma.split(" ")[1].split(","); | |
O.pv = [parseInt(ma[0], 10), parseInt(ma[1], 10), parseInt(ma[2], 10)] | |
} | |
} else if (ia < 10) { | |
ia++; | |
setTimeout(arguments.callee, 10); | |
return | |
} | |
L.removeChild(W); | |
Z = null; | |
g() | |
})() | |
} else g() | |
} | |
function g() { | |
var L = J.length; | |
if (L > 0) | |
for (var W = | |
0; W < L; W++) { | |
var Z = J[W].id, | |
ia = J[W].callbackFn, | |
ma = { | |
success: false, | |
id: Z | |
}; | |
if (O.pv[0] > 0) { | |
var ua = I(Z); | |
if (ua) | |
if (Q(J[W].swfVersion) && !(O.wk && O.wk < 312)) { | |
G(Z, true); | |
if (ia) { | |
ma.success = true; | |
ma.ref = j(Z); | |
ia(ma) | |
} | |
} else if (J[W].expressInstall && l()) { | |
ma = {}; | |
ma.data = J[W].expressInstall; | |
ma.width = ua.getAttribute("width") || "0"; | |
ma.height = ua.getAttribute("height") || "0"; | |
if (ua.getAttribute("class")) ma.styleclass = ua.getAttribute("class"); | |
if (ua.getAttribute("align")) ma.align = ua.getAttribute("align"); | |
var ta = {}; | |
ua = ua.getElementsByTagName("param"); | |
for (var za = ua.length, Aa = 0; Aa < za; Aa++) | |
if (ua[Aa].getAttribute("name").toLowerCase() != "movie") ta[ua[Aa].getAttribute("name")] = ua[Aa].getAttribute("value"); | |
o(ma, ta, Z, ia) | |
} else { | |
v(ua); | |
ia && ia(ma) | |
} | |
} else { | |
G(Z, true); | |
if (ia) { | |
if ((Z = j(Z)) && typeof Z.SetVariable != t) { | |
ma.success = true; | |
ma.ref = Z | |
} | |
ia(ma) | |
} | |
} | |
} | |
} | |
function j(L) { | |
var W = null; | |
if ((L = I(L)) && L.nodeName == "OBJECT") | |
if (typeof L.SetVariable != t) W = L; | |
else if (L = L.getElementsByTagName(z)[0]) W = L; | |
return W | |
} | |
function l() { | |
return !ra && Q("6.0.65") && (O.win || O.mac) && !(O.wk && O.wk < 312) | |
} | |
function o(L, | |
W, Z, ia) { | |
ra = true; | |
ja = ia || null; | |
la = { | |
success: false, | |
id: Z | |
}; | |
var ma = I(Z); | |
if (ma) { | |
if (ma.nodeName == "OBJECT") { | |
X = A(ma); | |
ga = null | |
} else { | |
X = ma; | |
ga = Z | |
} | |
L.id = M; | |
if (typeof L.width == t || !/%$/.test(L.width) && parseInt(L.width, 10) < 310) L.width = "310"; | |
if (typeof L.height == t || !/%$/.test(L.height) && parseInt(L.height, 10) < 137) L.height = "137"; | |
m.title = m.title.slice(0, 47) + " - Flash Player Installation"; | |
ia = O.ie && O.win ? "ActiveX" : "PlugIn"; | |
ia = "MMredirectURL=" + B.location.toString().replace(/&/g, "%26") + "&MMplayerType=" + ia + "&MMdoctitle=" + m.title; | |
if (typeof W.flashvars != t) W.flashvars += "&" + ia; | |
else W.flashvars = ia; | |
if (O.ie && O.win && ma.readyState != 4) { | |
ia = m.createElement("div"); | |
Z += "SWFObjectNew"; | |
ia.setAttribute("id", Z); | |
ma.parentNode.insertBefore(ia, ma); | |
ma.style.display = "none"; | |
(function() { | |
ma.readyState == 4 ? ma.parentNode.removeChild(ma) : setTimeout(arguments.callee, 10) | |
})() | |
} | |
C(L, W, Z) | |
} | |
} | |
function v(L) { | |
if (O.ie && O.win && L.readyState != 4) { | |
var W = m.createElement("div"); | |
L.parentNode.insertBefore(W, L); | |
W.parentNode.replaceChild(A(L), W); | |
L.style.display = "none"; | |
(function() { | |
L.readyState == | |
4 ? L.parentNode.removeChild(L) : setTimeout(arguments.callee, 10) | |
})() | |
} else L.parentNode.replaceChild(A(L), L) | |
} | |
function A(L) { | |
var W = m.createElement("div"); | |
if (O.win && O.ie) W.innerHTML = L.innerHTML; | |
else if (L = L.getElementsByTagName(z)[0]) | |
if (L = L.childNodes) | |
for (var Z = L.length, ia = 0; ia < Z; ia++) !(L[ia].nodeType == 1 && L[ia].nodeName == "PARAM") && L[ia].nodeType != 8 && W.appendChild(L[ia].cloneNode(true)); | |
return W | |
} | |
function C(L, W, Z) { | |
var ia, ma = I(Z); | |
if (O.wk && O.wk < 312) return ia; | |
if (ma) { | |
if (typeof L.id == t) L.id = Z; | |
if (O.ie && O.win) { | |
var ua = | |
"", | |
ta; | |
for (ta in L) | |
if (L[ta] != Object.prototype[ta]) | |
if (ta.toLowerCase() == "data") W.movie = L[ta]; | |
else if (ta.toLowerCase() == "styleclass") ua += ' class="' + L[ta] + '"'; | |
else if (ta.toLowerCase() != "classid") ua += " " + ta + '="' + L[ta] + '"'; | |
ta = ""; | |
for (var za in W) | |
if (W[za] != Object.prototype[za]) ta += '<param name="' + za + '" value="' + W[za] + '" />'; | |
ma.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + ua + ">" + ta + "</object>"; | |
R[R.length] = L.id; | |
ia = I(L.id) | |
} else { | |
za = m.createElement(z); | |
za.setAttribute("type", D); | |
for (var Aa in L) | |
if (L[Aa] != | |
Object.prototype[Aa]) | |
if (Aa.toLowerCase() == "styleclass") za.setAttribute("class", L[Aa]); | |
else Aa.toLowerCase() != "classid" && za.setAttribute(Aa, L[Aa]); | |
for (ua in W) | |
if (W[ua] != Object.prototype[ua] && ua.toLowerCase() != "movie") { | |
L = za; | |
ta = ua; | |
Aa = W[ua]; | |
Z = m.createElement("param"); | |
Z.setAttribute("name", ta); | |
Z.setAttribute("value", Aa); | |
L.appendChild(Z) | |
} | |
ma.parentNode.replaceChild(za, ma); | |
ia = za | |
} | |
} | |
return ia | |
} | |
function q(L) { | |
var W = I(L); | |
if (W && W.nodeName == "OBJECT") | |
if (O.ie && O.win) { | |
W.style.display = "none"; | |
(function() { | |
if (W.readyState == | |
4) { | |
var Z = I(L); | |
if (Z) { | |
for (var ia in Z) | |
if (typeof Z[ia] == "function") Z[ia] = null; | |
Z.parentNode.removeChild(Z) | |
} | |
} else setTimeout(arguments.callee, 10) | |
})() | |
} else W.parentNode.removeChild(W) | |
} | |
function I(L) { | |
var W = null; | |
try { | |
W = m.getElementById(L) | |
} catch (Z) {} | |
return W | |
} | |
function K(L, W, Z) { | |
L.attachEvent(W, Z); | |
U[U.length] = [L, W, Z] | |
} | |
function Q(L) { | |
var W = O.pv; | |
L = L.split("."); | |
L[0] = parseInt(L[0], 10); | |
L[1] = parseInt(L[1], 10) || 0; | |
L[2] = parseInt(L[2], 10) || 0; | |
return W[0] > L[0] || W[0] == L[0] && W[1] > L[1] || W[0] == L[0] && W[1] == L[1] && W[2] >= L[2] ? true : | |
false | |
} | |
function n(L, W, Z, ia) { | |
if (!(O.ie && O.mac)) { | |
var ma = m.getElementsByTagName("head")[0]; | |
if (ma) { | |
Z = Z && typeof Z == "string" ? Z : "screen"; | |
if (ia) xa = pa = null; | |
if (!pa || xa != Z) { | |
ia = m.createElement("style"); | |
ia.setAttribute("type", "text/css"); | |
ia.setAttribute("media", Z); | |
pa = ma.appendChild(ia); | |
if (O.ie && O.win && typeof m.styleSheets != t && m.styleSheets.length > 0) pa = m.styleSheets[m.styleSheets.length - 1]; | |
xa = Z | |
} | |
if (O.ie && O.win) pa && typeof pa.addRule == z && pa.addRule(L, W); | |
else pa && typeof m.createTextNode != t && pa.appendChild(m.createTextNode(L + | |
" {" + W + "}")) | |
} | |
} | |
} | |
function G(L, W) { | |
if (P) { | |
var Z = W ? "visible" : "hidden"; | |
if (ka && I(L)) I(L).style.visibility = Z; | |
else n("#" + L, "visibility:" + Z) | |
} | |
} | |
function p(L) { | |
return /[\\\"<>\.;]/.exec(L) != null && typeof encodeURIComponent != t ? encodeURIComponent(L) : L | |
} | |
var t = "undefined", | |
z = "object", | |
D = "application/x-shockwave-flash", | |
M = "SWFObjectExprInst", | |
B = window, | |
m = document, | |
u = navigator, | |
y = false, | |
H = [function() { | |
y ? f() : g() | |
}], | |
J = [], | |
R = [], | |
U = [], | |
X, ga, ja, la, ka = false, | |
ra = false, | |
pa, xa, P = true, | |
O = function() { | |
var L = typeof m.getElementById != t && typeof m.getElementsByTagName != | |
t && typeof m.createElement != t, | |
W = u.userAgent.toLowerCase(), | |
Z = u.platform.toLowerCase(), | |
ia = Z ? /win/.test(Z) : /win/.test(W); | |
Z = Z ? /mac/.test(Z) : /mac/.test(W); | |
W = /webkit/.test(W) ? parseFloat(W.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false; | |
var ma = !+"\u000b1", | |
ua = [0, 0, 0], | |
ta = null; | |
if (typeof u.plugins != t && typeof u.plugins["Shockwave Flash"] == z) { | |
if ((ta = u.plugins["Shockwave Flash"].description) && !(typeof u.mimeTypes != t && u.mimeTypes[D] && !u.mimeTypes[D].enabledPlugin)) { | |
y = true; | |
ma = false; | |
ta = ta.replace(/^.*\s+(\S+\s+\S+$)/, | |
"$1"); | |
ua[0] = parseInt(ta.replace(/^(.*)\..*$/, "$1"), 10); | |
ua[1] = parseInt(ta.replace(/^.*\.(.*)\s.*$/, "$1"), 10); | |
ua[2] = /[a-zA-Z]/.test(ta) ? parseInt(ta.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0 | |
} | |
} else if (typeof B.ActiveXObject != t) try { | |
var za = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); | |
if (za) | |
if (ta = za.GetVariable("$version")) { | |
ma = true; | |
ta = ta.split(" ")[1].split(","); | |
ua = [parseInt(ta[0], 10), parseInt(ta[1], 10), parseInt(ta[2], 10)] | |
} | |
} catch (Aa) {} | |
return { | |
w3: L, | |
pv: ua, | |
wk: W, | |
ie: ma, | |
win: ia, | |
mac: Z | |
} | |
}(); | |
(function() { | |
if (O.w3) { | |
if (typeof m.readyState != | |
t && m.readyState == "complete" || typeof m.readyState == t && (m.getElementsByTagName("body")[0] || m.body)) a(); | |
if (!ka) { | |
typeof m.addEventListener != t && m.addEventListener("DOMContentLoaded", a, false); | |
if (O.ie && O.win) { | |
m.attachEvent("onreadystatechange", function() { | |
if (m.readyState == "complete") { | |
m.detachEvent("onreadystatechange", arguments.callee); | |
a() | |
} | |
}); | |
B == top && function() { | |
if (!ka) { | |
try { | |
m.documentElement.doScroll("left") | |
} catch (L) { | |
setTimeout(arguments.callee, 0); | |
return | |
} | |
a() | |
} | |
}() | |
} | |
O.wk && function() { | |
ka || (/loaded|complete/.test(m.readyState) ? | |
a() : setTimeout(arguments.callee, 0)) | |
}(); | |
d(a) | |
} | |
} | |
})(); | |
(function() { | |
O.ie && O.win && window.attachEvent("onunload", function() { | |
for (var L = U.length, W = 0; W < L; W++) U[W][0].detachEvent(U[W][1], U[W][2]); | |
L = R.length; | |
for (W = 0; W < L; W++) q(R[W]); | |
for (var Z in O) O[Z] = null; | |
O = null; | |
for (var ia in swfobject) swfobject[ia] = null; | |
swfobject = null | |
}) | |
})(); | |
return { | |
registerObject: function(L, W, Z, ia) { | |
if (O.w3 && L && W) { | |
var ma = {}; | |
ma.id = L; | |
ma.swfVersion = W; | |
ma.expressInstall = Z; | |
ma.callbackFn = ia; | |
J[J.length] = ma; | |
G(L, false) | |
} else ia && ia({ | |
success: false, | |
id: L | |
}) | |
}, | |
getObjectById: function(L) { | |
if (O.w3) return j(L) | |
}, | |
embedSWF: function(L, W, Z, ia, ma, ua, ta, za, Aa, Ha) { | |
var Ia = { | |
success: false, | |
id: W | |
}; | |
if (O.w3 && !(O.wk && O.wk < 312) && L && W && Z && ia && ma) { | |
G(W, false); | |
b(function() { | |
Z += ""; | |
ia += ""; | |
var Fa = {}; | |
if (Aa && typeof Aa === z) | |
for (var Ga in Aa) Fa[Ga] = Aa[Ga]; | |
Fa.data = L; | |
Fa.width = Z; | |
Fa.height = ia; | |
Ga = {}; | |
if (za && typeof za === z) | |
for (var Ja in za) Ga[Ja] = za[Ja]; | |
if (ta && typeof ta === z) | |
for (var Ma in ta) | |
if (typeof Ga.flashvars != t) Ga.flashvars += "&" + Ma + "=" + ta[Ma]; | |
else Ga.flashvars = Ma + "=" + ta[Ma]; | |
if (Q(ma)) { | |
Ja = C(Fa, | |
Ga, W); | |
Fa.id == W && G(W, true); | |
Ia.success = true; | |
Ia.ref = Ja | |
} else if (ua && l()) { | |
Fa.data = ua; | |
o(Fa, Ga, W, Ha); | |
return | |
} else G(W, true); | |
Ha && Ha(Ia) | |
}) | |
} else Ha && Ha(Ia) | |
}, | |
switchOffAutoHideShow: function() { | |
P = false | |
}, | |
ua: O, | |
getFlashPlayerVersion: function() { | |
return { | |
major: O.pv[0], | |
minor: O.pv[1], | |
release: O.pv[2] | |
} | |
}, | |
hasFlashPlayerVersion: Q, | |
createSWF: function(L, W, Z) { | |
if (O.w3) return C(L, W, Z) | |
}, | |
showExpressInstall: function(L, W, Z, ia) { | |
O.w3 && l() && o(L, W, Z, ia) | |
}, | |
removeSWF: function(L) { | |
O.w3 && q(L) | |
}, | |
createCSS: function(L, W, Z, ia) { | |
O.w3 && n(L, W, Z, ia) | |
}, | |
addDomLoadEvent: b, | |
addLoadEvent: d, | |
getQueryParamValue: function(L) { | |
var W = m.location.search || m.location.hash; | |
if (W) { | |
if (/\?/.test(W)) W = W.split("?")[1]; | |
if (L == null) return p(W); | |
W = W.split("&"); | |
for (var Z = 0; Z < W.length; Z++) | |
if (W[Z].substring(0, W[Z].indexOf("=")) == L) return p(W[Z].substring(W[Z].indexOf("=") + 1)) | |
} | |
return "" | |
}, | |
expressInstallCallback: function() { | |
if (ra) { | |
var L = I(M); | |
if (L && X) { | |
L.parentNode.replaceChild(X, L); | |
if (ga) { | |
G(ga, true); | |
if (O.ie && O.win) X.style.display = "block" | |
} | |
ja && ja(la) | |
} | |
ra = false | |
} | |
} | |
} | |
}(); | |
if (typeof TARGET == "undefined") TARGET = {}; | |
if (typeof log == "undefined") var log = function(a) { | |
try { | |
console.log(a) | |
} catch (b) {} | |
}; | |
TARGET.EverestVideoPlayer = function(a, b, d, f, g, j) { | |
if (typeof TARGET.EverestVideoPlayer.instances == "undefined") TARGET.EverestVideoPlayer.instances = []; | |
this.videoPlayerId = TARGET.EverestVideoPlayer.instances.length; | |
TARGET.EverestVideoPlayer.instances.push(this); | |
this.containerId_ = a; | |
this.flashId_ = "flashVideoPlayer" + this.videoPlayerId; | |
this.flashPlayer_ = null; | |
this.name = "TARGET.EverestVideoPlayer.instances[" + this.videoPlayerId + "]"; | |
this.playerUrl_ = f || null; | |
this.expressInstallUrl_ = null; | |
this.flashParams_ = [{ | |
name: "allowScriptAccess", | |
value: "always" | |
}, { | |
name: "allowFullScreen", | |
value: "true" | |
}, { | |
name: "wmode", | |
value: "window" | |
}]; | |
this.flashVars_ = []; | |
this.width_ = b || 558; | |
this.height_ = d || 322; | |
this.version_ = "9.0.115"; | |
this.movieLoadTimeout_ = 2E3; | |
this.retryInterval_ = 50; | |
this.isSWFReady = this.flashHasLoaded_ = false; | |
this.currentStream = null; | |
if (typeof j == "object") | |
for (var l in j) this.addFlashVar(l, j[l]); | |
this.addFlashVar("objectName", this.name); | |
this.addFlashVar("readyCallback", this.name + ".onSWFReady"); | |
this.createFlashPlayer(); | |
if (j && j.source) this.currentStream = | |
j | |
}; | |
TARGET.EverestVideoPlayer.prototype.onSWFReady = function() { | |
if (this.isSWFReady != true) { | |
this.isSWFReady = true; | |
if (this.currentStream) try { | |
if (this.flashPlayer_ == null) this.flashPlayer_ = this.getFlashPlayer(); | |
this.flashPlayer_.source(this.currentStream); | |
log("success") | |
} catch (a) { | |
log("error " + a) | |
} | |
} | |
}; | |
TARGET.EverestVideoPlayer.prototype.setFlashId = function(a) { | |
this.flashId_ = a | |
}; | |
TARGET.EverestVideoPlayer.prototype.setPlayerUrl = function(a) { | |
this.playerUrl_ = a | |
}; | |
TARGET.EverestVideoPlayer.prototype.setVersion = function(a) { | |
this.version_ = a | |
}; | |
TARGET.EverestVideoPlayer.prototype.setExpressInstallUrl = function(a) { | |
this.expressInstallUrl_ = a | |
}; | |
TARGET.EverestVideoPlayer.prototype.addParameter = function(a, b) { | |
for (var d = false, f = 0; !d && f < this.flashParams_.length; ++f) | |
if (a == this.flashParams_[f].name) { | |
this.flashParams_[f].value = b; | |
d = true | |
} | |
d || this.flashParams_.push({ | |
name: a, | |
value: b | |
}) | |
}; | |
TARGET.EverestVideoPlayer.prototype.addFlashVar = function(a, b) { | |
this.flashVars_.push({ | |
name: a, | |
value: b | |
}) | |
}; | |
TARGET.EverestVideoPlayer.prototype.movieIsLoaded = function() { | |
log("movieIsLoaded :: " + this.flashHasLoaded_ + " : " + this.flashPlayer_ + " : " + this.flashPlayer_.PercentLoaded()); | |
if (this.flashHasLoaded_) return true; | |
try { | |
if (this.flashPlayer_ && this.flashPlayer_.PercentLoaded()) | |
if (this.flashPlayer_.PercentLoaded() == 100) return this.flashHasLoaded_ = true; | |
else return false; | |
else return false | |
} catch (a) { | |
log("movieIsLoaded: error" + a); | |
return false | |
} | |
}; | |
TARGET.EverestVideoPlayer.prototype.playVideo = function(a) { | |
this.currentStream = a; | |
this.flashPlayer_ = this.getFlashPlayer(); | |
if (this.flashPlayer_ == null) { | |
this.createFlashPlayer(); | |
this.flashPlayer_ = this.getFlashPlayer(); | |
log("success") | |
} else if (this.isSWFReady) this.flashPlayer_.source(a); | |
else this.currentStream = a | |
}; | |
TARGET.EverestVideoPlayer.prototype.pause = function() { | |
this.flashPlayer_ = this.getFlashPlayer(); | |
this.flashPlayer_ != null && this.flashPlayer_.pause() | |
}; | |
TARGET.EverestVideoPlayer.prototype.play = function() { | |
this.flashPlayer_ = this.getFlashPlayer(); | |
this.flashPlayer_ != null && this.flashPlayer_.playVideo() | |
}; | |
TARGET.EverestVideoPlayer.prototype.stop = function() { | |
this.flashPlayer_ = this.getFlashPlayer(); | |
this.flashPlayer_ != null && this.flashPlayer_.stopVideo() | |
}; | |
TARGET.EverestVideoPlayer.prototype.close = function() { | |
this.flashPlayer_ = this.getFlashPlayer(); | |
this.flashPlayer_ != null && this.flashPlayer_.close() | |
}; | |
TARGET.EverestVideoPlayer.prototype.getFlashPlayer = function() { | |
var a = null, | |
b = document.getElementById(this.flashId_); | |
if (b) { | |
var d = b.getElementsByTagName("object")[0]; | |
if (!d || d && typeof b.SetVariable != "undefined") a = b; | |
else if (typeof d.SetVariable != "undefined") a = d | |
} | |
return a | |
}; | |
TARGET.EverestVideoPlayer.prototype.createFlashPlayer = function(a) { | |
if (typeof swfobject != "undefined") { | |
for (var b = {}, d = {}, f = 0; f < this.flashVars_.length; ++f) b[this.flashVars_[f].name] = this.flashVars_[f].value; | |
if (typeof a != "undefined") b.defaultVideo = escape(a); | |
if (this.width_ >= 0) b.width = this.width_; | |
if (this.height_ >= 0) b.height = this.height_; | |
for (f = 0; f < this.flashParams_.length; ++f) d[this.flashParams_[f].name] = this.flashParams_[f].value; | |
try { | |
swfobject.embedSWF(this.playerUrl_, this.containerId_, this.width_, this.height_, | |
this.version_, this.expressInstallUrl_, b, d, { | |
id: this.flashId_, | |
name: this.flashId_ | |
}); | |
log("player created"); | |
return true | |
} catch (g) { | |
log("error " + g); | |
return false | |
} | |
} else if (typeof SWFObject != "undefined") { | |
b = new SWFObject(this.playerUrl_, this.flashId_, this.width_, this.height_, this.version_); | |
for (f = 0; f < this.flashParams_.length; ++f) b.addParam(this.flashParams_[f].name, this.flashParams_[f].value); | |
typeof a != "undefined" && b.addVariable("defaultVideo", escape(a)); | |
for (f = 0; f < this.flashVars_.length; ++f) b.addVariable(this.flashVars_[f].name, | |
this.flashVars_[f].value); | |
this.width_ >= 0 && b.addVariable("width", this.width_); | |
this.height_ >= 0 && b.addVariable("height", this.height_); | |
try { | |
if (b.write(this.containerId_)) { | |
log("player created"); | |
return true | |
} else return false | |
} catch (j) { | |
log("error " + j); | |
return false | |
} | |
} | |
}; | |
(function(a) { | |
var b = a(window), | |
d = a(document), | |
f = { | |
overlayId: "overlay", | |
overlayType: "modal", | |
mode: false, | |
template: "default", | |
content: false, | |
image: false, | |
data: null, | |
closeLink: true, | |
validate: true, | |
position: "body", | |
x: false, | |
y: false, | |
width: false, | |
height: false, | |
intercept: false, | |
passForm: false, | |
curtainClose: false, | |
componentPop: false, | |
gMap: { | |
QuickView: "Quick Info", | |
addtocart: "Add to Cart" | |
}, | |
gMapVal: null | |
}, | |
g = a.extend({ | |
target: false, | |
contentOverride: false | |
}, f); | |
a.fn.overlay = function(j) { | |
d.delegate(this.selector, "click.overlay", { | |
options: j | |
}, | |
function(l) { | |
l.preventDefault(); | |
new a.overlay(this, a.extend({}, f, l.data.options instanceof jQuery ? { | |
contentOverride: l.data.options | |
} : l.data.options || {}), false) | |
}); | |
return this | |
}; | |
a.overlay = function(j, l, o) { | |
this.isLoad = o ? o : false; | |
this.body = a("body"); | |
this.options = l; | |
this.element = j ? a(j) : this.options.target instanceof jQuery ? this.options.target.eq(0) : this.options.target && a(this.options.target).eq(0); | |
this.options.target = this.element.length ? this.element : false; | |
this.setup() | |
}; | |
a.overlay.load = function(j) { | |
j = a.extend({}, | |
g, j || {}); | |
new a.overlay(false, j, true) | |
}; | |
a.overlay.exception = function(j, l, o) { | |
o = typeof j === "boolean" ? j : typeof l === "boolean" ? l : typeof o === "boolean" ? o : true; | |
l = a.isFunction(j) ? j : a.isFunction(l) ? l : a.isFunction(o) ? o : false; | |
var v = j = typeof j === "string" ? j : "Stopped due to an undefined exception."; | |
try { | |
o && console.log("Overlay.js exception, " + j); | |
l && l() | |
} catch (A) { | |
window.console && console.log(A) | |
} | |
window.onerror = function() { | |
return true | |
}; | |
setTimeout(function() { | |
window.onerror = null | |
}, 100); | |
throw v; | |
}; | |
a.overlay.preventDuplicate = | |
function(j, l) { | |
l = typeof l === "boolean" ? l : true; | |
var o = j && j instanceof jQuery && j.length ? j.eq(0) : j && (j = a(j)) && j.length ? j : false, | |
v = function() { | |
a.overlay.currentOverlay.find(".module-title:first").length ? a.overlay.currentOverlay.find(".module-title:first").focus() : a.overlay.currentOverlay.find(".content").focus() | |
}; | |
o || a.overlay.exception('The "target" supplied to "$.overlay.preventDuplicate" was not valid.', l); | |
o.hasClass("overlay-open") && a.overlay.exception('"$.overlay.preventDuplicate" found this overlay already open.', | |
v, l) | |
}; | |
a.overlay.prototype = { | |
inited: false, | |
setup: function() { | |
var j = this.body.find("#overlay-loader"), | |
l = this.body.find("#overlay-curtain"); | |
this.curtain = l.length ? l : a('<div id="overlay-curtain"></div>').appendTo(this.body); | |
this.loadAnimation = j.length ? j : a('<div id="overlay-loader"></div>').appendTo(this.body); | |
this.element && a.overlay.preventDuplicate(this.element, false); | |
this.consolidateOptions(); | |
this.init() | |
}, | |
init: function() { | |
var j = this, | |
l = "click.closeOverlay"; | |
if (j.element) { | |
j.element.data("overlay", {}); | |
for (option in j.options) j.element.data("overlay")[option] = | |
j.options[option]; | |
if (j.element.hasClass("overlay-open")) return false; | |
else a.overlay.originalTarget || j.element.addClass("overlay-open state-disabled") | |
} | |
j.body.bind("loading.overlay", function() { | |
j.body.addClass("overlay-loading").unbind("loading.overlay") | |
}).bind("loaded.overlay", function() { | |
j.preloader("hide"); | |
j.body.removeClass("overlay-loading").unbind("loaded.overlay") | |
}); | |
l = Target.support.isTouch ? "click.closeOverlay touchend" : l; | |
j.body.bind(l, function(o) { | |
if (a.overlay.activeOverlay) | |
if (a.overlay.currentOverlay) | |
if (!a(o.target).parents(".overlay, .modal, .datepicker").length) | |
if (!a(o.target).is(".prevFrame, .nextFrame, #zoompicker")) { | |
a.overlay.currentOverlay.trigger("close.overlay", [true]); | |
return false | |
} | |
}); | |
if (a.overlay.activeOverlay) { | |
j.body.bind("overlay-removed", function() { | |
j.getContent() | |
}); | |
a.overlay.overlayFlow = true; | |
a.overlay.currentOverlay.trigger("close.overlay") | |
} else { | |
a.overlay.overlayFlow = false; | |
a.overlay.originalTarget = j.element; | |
j.preloader("show"); | |
j.getContent() | |
} | |
}, | |
getContent: function() { | |
var j = this, | |
l = arguments; | |
l = l.length ? l[0] : j.options.content; | |
var o = j.inited === false && a.isFunction(j.options.intercept); | |
j.currentTemplate = a.overlay.activeOverlay && !j.options.contentOverride ? a.overlay.currentOverlay : | |
a('<div class="overlay {templateClass}"><div class="content" tabindex="-1"></div><div id="overlay-loading-curtain"></div></div>'.replace("{templateClass}", j.options.template)); | |
j.currentTemplate.find(".content"); | |
var v = j.currentTemplate.find("form"); | |
v = j.options.data !== null && !j.inited ? j.options.data : j.inited && v.length ? v.serialize() : null; | |
try { | |
if (typeof l != "undefined" && l != false && l.search(/^\/qi\//i) == 0) { | |
j.options.overlayId = "QuickView"; | |
j.options.backLog = "true" | |
} | |
} catch (A) {} | |
j.inited || j.body.trigger("loading.overlay"); | |
if (j.options.passForm) v = a(j.options.passForm).serialize(); | |
if (j.options.overlayId) { | |
if (j.options.overlayId === "QuickView") j.options.overlayType = "modal"; | |
if (typeof gomez !== "undefined") { | |
if (j.options.gMapVal) j.options.gMap[j.options.overlayId] = j.options.gMapVal; | |
try { | |
if (typeof j.options.gMap[j.options.overlayId] !== "undefined") { | |
gomez.startInterval(j.options.gMap[j.options.overlayId]); | |
gomez.pgId = j.options.gMap[j.options.overlayId] | |
} | |
} catch (C) {} | |
} | |
} | |
if (j.options.contentOverride) { | |
j.show(j.options.contentOverride); | |
j.inited = true | |
} else if (j.options.image) { | |
l = j.options.image.split("|"); | |
var q = l[0], | |
I = l[1] ? "?" + l[1].replace("*", "&") : "", | |
K = l[2] || "", | |
Q = l[3] || ""; | |
l = l[4] || ""; | |
v = new Image; | |
v.src = q + I; | |
v.alt = K; | |
v.width = Q; | |
v.height = l; | |
j.show(v); | |
j.inited = true | |
} else { | |
try { | |
if (l != "" && l.indexOf("QuickInfoView?") > -1) { | |
l = l.replace("QuickInfoView?", "qi?"); | |
q = l.split("?")[0]; | |
I = l.split("?")[1].split("&"); | |
K = l.split("?")[1]; | |
for (var n = "", G = 0; G < I.length; G++) { | |
Q = I[G].split("="); | |
if (Q[0] == "partNumber") n = Q[1] | |
} | |
if (n != "" && n != "undefined") l = q + "/-/A-" + n + "?" + K | |
} else if (a("body").hasClass("tsa") && | |
l.indexOf("/p/")) l = l.replace("/p/", "/qi/") | |
} catch (p) {} | |
a.ajax({ | |
url: l, | |
data: v, | |
dataType: o ? "json" : "html", | |
cache: false, | |
type: "POST", | |
curtain: false, | |
success: function(t, z, D) { | |
z = t; | |
if ((D = D.getResponseHeader("X-Redirect")) && D !== "") return window.location.replace(D); | |
if (o) { | |
if (z = j.options.intercept.call(j, t)) { | |
if (z.overlayOptions) | |
for (option in z.overlayOptions) j.options[option] && (j.options[option] = z.overlayOptions[option]); | |
z.overlayOptions.html ? j.show(z.overlayOptions.html) : a.overlay.exception("No html was returned via the object's overlayOptions.html property") | |
} | |
} else j.show(t); | |
j.inited = true | |
}, | |
error: function(t) { | |
fromQi = false; | |
if (t.status === 404) | |
if (t.responseText) j.show(t.responseText); | |
else { | |
overlay.attr("aria-busy", "false"); | |
overlay.removeClass("loading") | |
} | |
t = "Request failed: " + j.options.content; | |
window.console && console.log(t) | |
} | |
}) | |
} | |
}, | |
show: function(j) { | |
var l = this, | |
o; | |
if (a.overlay.activeOverlay) { | |
o = a.overlay.currentOverlay; | |
if (a.overlay.currentOverlay.redirect) { | |
l.body.bind("overlay-removed", function() { | |
window.location.href = a.overlay.currentOverlay.redirect | |
}); | |
return o.trigger("close.overlay") | |
} | |
o.find(".content").html(j); | |
o.trigger("overlay-before-show"); | |
l.processContent(); | |
o.trigger("reposition.overlay"); | |
o.trigger("overlay-show") | |
} else { | |
var v = b.width(), | |
A = b.height(), | |
C = l.options.overlayType === "modal", | |
q = {}; | |
q.left = "-9999em"; | |
l.options.width && (q.width = l.options.width + "px"); | |
l.options.height && (q.height = l.options.height + "px"); | |
var I = function() { | |
var K = l.position(); | |
if (C) { | |
b.bind("resize.overlay", function() { | |
l.curtain.width(b.width()); | |
l.curtain.height(b.height()) | |
}); | |
if (Target.support.isTouch) { | |
v = window.innerWidth; | |
A = window.innerHeight | |
} | |
A = | |
a.browser.msie && parseInt(a.browser.version) >= 8 ? A + 20 : A; | |
l.curtain.css({ | |
width: v, | |
height: A, | |
opacity: 0.3, | |
background: "#000" | |
}); | |
l.curtain.stop().fadeIn("fast", function() { | |
l.curtain.addClass("curtain-open"); | |
o.css({ | |
top: K.y, | |
left: K.x | |
}); | |
o.addClass("modal"); | |
o.fadeIn(500, function() { | |
o.trigger("overlay-show"); | |
l.body.trigger("loaded.overlay") | |
}) | |
}) | |
} else { | |
if (a.ui.draggable) { | |
o.prepend('<div class="drag-handle"/>'); | |
o.draggable({ | |
handle: ".drag-handle", | |
containment: "document", | |
start: function() { | |
o.data("reposition", false) | |
} | |
}) | |
} | |
o.css({ | |
top: K.y, | |
left: K.x | |
}); | |
o.addClass("layer"); | |
o.fadeIn(500, function() { | |
o.trigger("overlay-show"); | |
l.body.trigger("loaded.overlay") | |
}) | |
} | |
}; | |
l.loadingCurtainMarkup = l.currentTemplate.find("#overlay-loading-curtain"); | |
l.currentTemplate.attr("id", l.options.overlayId); | |
l.currentTemplate.css(q); | |
l.body.append(l.currentTemplate); | |
o = a.overlay.currentOverlay = l.currentTemplate; | |
delete l.currentTemplate; | |
a.overlay.activeOverlay = true; | |
o.data("options", l.options); | |
contentArea = o.find(".content"); | |
contentArea.html(j); | |
o.bind("overlay-loading", | |
function() { | |
o.attr("aria-busy", "true"); | |
o.addClass("loading"); | |
l.loadingCurtainMarkup.css({ | |
opacity: 0.6, | |
"background-color": "#fff", | |
width: o.width(), | |
height: o.height() | |
}) | |
}); | |
o.bind("overlay-show", function() { | |
o.attr("aria-busy", "false"); | |
o.removeClass("loading"); | |
if (!o.isSecure) { | |
o.unbind("keydown.overlay").bind("keydown.overlay", function(K) { | |
l.options.mode === "force" || !l.options.closeLink || K.keyCode === 27 && o.trigger("close.overlay", [true]) | |
}); | |
o.find(".module-title").length ? l.shiftFocus(o.find(".module-title").get(0)) : | |
l.shiftFocus(o.find(".content").get(0)) | |
} | |
}); | |
o.bind("close.overlay", function(K, Q) { | |
l.remove(Q) | |
}); | |
o.bind("reposition.overlay", function() { | |
if (o.data("reposition") !== false) { | |
var K = l.position(); | |
o.css({ | |
top: K.y, | |
left: K.x | |
}) | |
} | |
}); | |
o.bind("retemplate.overlay", function(K, Q, n) { | |
K = o.hasClass("layer") ? "overlay layer " : "overlay modal "; | |
Q = Q ? Q : o.attr("id"); | |
o.attr({ | |
id: Q, | |
"class": K + n | |
}) | |
}); | |
if (o.isSecure) o.bind("loaded-ssl", function() { | |
o.trigger("overlay-before-show"); | |
I() | |
}); | |
else { | |
o.trigger("overlay-before-show"); | |
l.processContent(); | |
I() | |
} | |
} | |
}, | |
shiftFocus: function(j) { | |
var l = a(j); | |
setTimeout(function() { | |
l.attr("tabindex", -1); | |
j.focus(); | |
a(document).trigger("updateBuffer.framework"); | |
if (j === a.overlay.originalTarget) a.overlay.originalTarget = false; | |
l.removeAttr("tabindex") | |
}, 0) | |
}, | |
remove: function(j) { | |
a.overlay.overlayFlow = j ? false : true; | |
if (a.overlay.activeOverlay) { | |
var l, o, v; | |
a.overlay.activeOverlay = false; | |
l = this; | |
o = l.body; | |
v = a.overlay.currentOverlay.data("options").overlayId; | |
a.overlay.currentOverlay.trigger("overlay-before-hide"); | |
if (a.browser.msie && a.browser.version < | |
8) { | |
l.curtain.css({ | |
height: 0, | |
width: 0, | |
visibility: "visible", | |
display: "block" | |
}).removeClass("curtain-open"); | |
try { | |
a.hideCurtain(); | |
if (v && typeof v !== "undefined") { | |
v = a("#" + v); | |
typeof v !== "undefined" && v.remove() | |
} | |
} catch (A) {} | |
a.overlay.currentOverlay = false; | |
o.trigger("overlay-hide", ["#" + l.options.overlayId]); | |
o.trigger("overlay-removed").unbind("overlay-removed") | |
} else a.overlay.currentOverlay.fadeOut("fast", function() { | |
if (l.curtain.hasClass("curtain-open")) { | |
l.curtain.fadeOut("fast", function() { | |
l.curtain.css({ | |
height: 0, | |
width: 0, | |
visibility: "visible", | |
display: "block" | |
}).removeClass("curtain-open") | |
}); | |
b.unbind("resize.overlay") | |
} | |
try { | |
a.hideCurtain(); | |
if (v && typeof v !== "undefined") { | |
v = a("#" + v); | |
typeof v !== "undefined" && v.remove() | |
} | |
} catch (C) {} | |
a.overlay.currentOverlay = false; | |
o.trigger("overlay-hide", ["#" + l.options.overlayId]); | |
o.trigger("overlay-removed").unbind("overlay-removed") | |
}); | |
b.unbind("resize.overlay"); | |
if (!a.overlay.overlayFlow) | |
if (a.overlay.originalTarget) { | |
a.overlay.originalTarget.removeClass("overlay-open state-disabled"); | |
l.shiftFocus(a.overlay.originalTarget); | |
a(document).trigger("updateBuffer.framework") | |
} | |
l.inited = false | |
} | |
}, | |
processContent: function() { | |
var j = this, | |
l = a.overlay.currentOverlay, | |
o = l.find("form"); | |
if (!j.inited) { | |
j.options.componentPop && l.append('<div id="arrow-icon"></div>'); | |
j.options.mode !== "force" && j.options.closeLink && l.append('<a id="close" href="#close" class="icon-sprite close"><span class="screen-reader-only">Close</span></a>'); | |
l.delegate("a.async", "click", function(v) { | |
j.getContent(v.currentTarget.href); | |
return false | |
}); | |
l.delegate("#close, .close, .cancel", "click", function() { | |
l.trigger("close.overlay", [true]); | |
return false | |
}) | |
} | |
o.length && o.each(function(v, A) { | |
A = a(this); | |
A.data("overlay-form", true); | |
A.data("overlay-form-index", v); | |
A.delegate("input:submit, button", "click", function() { | |
var C = a(this), | |
q = C.attr("name"), | |
I = C.attr("class").replace(/button/, ""), | |
K = function() { | |
var Q; | |
if (a.browser.msie) { | |
if (C.is("button")) { | |
var n = C.html(); | |
C.html(""); | |
Q = C.attr("value"); | |
C.html(n) | |
} | |
} else Q = C.attr("value"); | |
return Q | |
}(); | |
I = a('<input type="hidden" name="' + | |
q + '" class="' + I + '" value="' + K + '"/>'); | |
C.parent().find('input[name="' + q + '"]').length || C.after(I) | |
}); | |
j.submitHandler(A) | |
}) | |
}, | |
submitHandler: function(j) { | |
var l = this, | |
o = j.data("overlay-form-index"), | |
v = j.data("events"), | |
A = l.options.validate, | |
C = Target.validation, | |
q = C.length ? C[o] : C, | |
I = j.find("input, button").hasClass("sync"), | |
K, Q; | |
a.overlay.currentOverlay.bind("overlay-show", function(n) { | |
a.overlay.currentOverlay.unbind(n); | |
if (A && q.submitHandler) { | |
j.bind("pausesubmit.overlay", { | |
submitHandler: q.submitHandler | |
}, function(G) { | |
G.data.submitHandler.call(j.data("validator"), | |
j.get(0)) | |
}); | |
delete q.submitHandler | |
} | |
K = v && v.pausesubmit ? v.pausesubmit.length - 1 : 0; | |
v && v.submit ? j.bind("resumesubmit.overlay", { | |
submitHandler: v.submit[0].handler | |
}, function(G) { | |
!K-- && G.data.submitHandler.call(j.get(0), G) | |
}) : j.bind("resumesubmit.overlay", function() { | |
K-- || (I ? j.get(0).submit() : l.getContent(j.attr("action"))) | |
}); | |
j.unbind("submit").bind("submit.overlay", function(G) { | |
G.preventDefault(); | |
Q = v && v.pausesubmit ? "pausesubmit" : "resumesubmit"; | |
A && j.validate(q).form() && a.overlay.currentOverlay.trigger("overlay-loading") && | |
j.trigger(Q + ".overlay"); | |
!A && a.overlay.currentOverlay.trigger("overlay-loading") && j.trigger(Q + ".overlay") | |
}) | |
}) | |
}, | |
position: function() { | |
if (this.options.x || this.options.y) return { | |
x: this.options.x ? this.options.x + "px" : 0, | |
y: this.options.y ? this.options.y + "px" : 0 | |
}; | |
var j = a(window), | |
l = j.width(), | |
o = j.height(); | |
a("#Core"); | |
var v = j.scrollTop(), | |
A = j.scrollLeft(), | |
C = this.options.overlayType === "layer", | |
q = this.options.overlayType === "modal", | |
I = this.options.position === "targetAbove", | |
K = this.options.position === "targetCenter", | |
Q = this.options.position === | |
"targetBelow"; | |
j = this.options.position; | |
var n = a.overlay.currentOverlay.width(), | |
G = a.overlay.currentOverlay.height(), | |
p = G > o ? v + 10 + "px" : false, | |
t = { | |
x: (l - n) / 2 + "px", | |
y: p ? p : (o - G) / 2 + v + "px" | |
}; | |
if (C) { | |
if (!this.element) | |
if (this.options.position.jquery && !this.options.position.is("body") && this.options.position.length) { | |
l = this.options.position; | |
o = l.offset().top; | |
v > o && a("html, body").animate({ | |
scrollTop: o - 10 | |
}, "fast"); | |
return { | |
x: l.offset().left + "px", | |
y: l.offset().top + "px" | |
} | |
} else return t; | |
q = this.element.width(); | |
C = this.element.offset().top; | |
var z = this.element.offset().left; | |
q = q + z; | |
z = this.getViewportOffset({ | |
viewportWidth: l, | |
viewportTop: v, | |
positionRight: q + n, | |
positionTop: C - G / 2 | |
}); | |
if (I) return { | |
x: q - z.x + "px", | |
y: p ? p : C + z.y - G + "px" | |
}; | |
else if (K) return { | |
x: (l - n) / 2 + A + "px", | |
y: (o - G) / 2 + v + "px" | |
}; | |
else if (Q) return { | |
x: q - z.x + "px", | |
y: C + z.y + "px" | |
}; | |
else if (this.options.position.jquery && !this.options.position.is("body") && j.length) { | |
l = this.element.closest(j); | |
l = l.length ? l : j; | |
o = l.offset().top; | |
v > o && a("html, body").animate({ | |
scrollTop: o - 10 | |
}, "fast"); | |
return { | |
x: l.offset().left + "px", | |
y: l.offset().top + | |
"px" | |
} | |
} else return t | |
} | |
if (q) return t | |
}, | |
preloader: function(j) { | |
var l, o, v; | |
if (j === "hide") this.loadAnimation.hide(); | |
else { | |
l = a(window); | |
j = l.width(); | |
o = l.height(); | |
l.scrollTop(); | |
l = this.loadAnimation.width(); | |
v = this.loadAnimation.height(); | |
wBody = this.body.width(); | |
hBody = this.body.height(); | |
this.loadAnimation.hide(); | |
this.loadAnimation.css({ | |
top: o / 2 - v / 2, | |
left: j / 2 - l / 2 | |
}); | |
this.loadAnimation.fadeIn() | |
} | |
}, | |
getViewportOffset: function(j) { | |
var l = { | |
x: 0, | |
y: 0 | |
}; | |
if (j.positionRight > j.viewportWidth) l.x = j.positionRight - j.viewportWidth + 10; | |
if (j.viewportTop > | |
j.positionTop) l.y = j.viewportTop - j.positionTop + 10; | |
return l | |
}, | |
consolidateOptions: function() { | |
var j = this, | |
l = j.options, | |
o = {}; | |
j.element && j.element.attr("href") !== undefined && (o = j.parseQueryString(j.element.attr("href"))); | |
a.each(["x", "y", "mode", "data", "width", "height", "template", "overlayId", "image", "gMap", "gMapVal"], function(v, A) { | |
j.options[A] = o[A] !== undefined ? o[A] : l[A] | |
}); | |
j.options.position = /^target/.test(o.position) ? o.position : a(o.position).eq(0).length && a(o.position).eq(0) || a(j.options.position); | |
j.options.overlayType = | |
o.overlayType !== undefined ? o.overlayType : j.element && j.element.hasClass("layer") ? "layer" : j.element && j.element.hasClass("modal") ? "modal" : j.options.overlayType; | |
j.options.content = o.content !== undefined ? o.content : j.options.content ? j.options.content : j.element ? j.element.attr("href") : j.options.content; | |
j.options.closeLink = o.closeLink !== undefined ? o.closeLink === "true" : j.options.closeLink; | |
j.options.validate = a.validator ? o.validate !== undefined && o.validate === "true" || j.options.validate : false; | |
j.options.passForm = o.passForm !== | |
undefined ? a(o.passForm).eq(0).length && a(o.passForm).eq(0) || false : j.options.passForm; | |
if ((j.options.content === "" || j.options.content === "#" || !j.options.content) && !j.options.contentOverride) a.overlay.exception("self.options.content and self.options.contentOverride are false.") | |
}, | |
parseQueryString: function(j) { | |
var l = {}; | |
j = j.split("?")[1]; | |
if (!j) return false; | |
j = decodeURI(j); | |
j = j.split("&"); | |
for (var o = 0; o < j.length; o++) | |
if (j[o]) { | |
var v = j[o].indexOf("="); | |
if (v == -1) l[j[o]] = ""; | |
else l[j[o].substring(0, v)] = j[o].substr(v + | |
1).replace(/#amp#/, "&") | |
} | |
return l | |
} | |
} | |
})(jQuery); | |
$(window).trigger("register.framework", ["plugin", "Overlay", $.overlay.registration]); | |
$(".modal:not(.overlay), .layer:not(.overlay)").overlay(); | |
(function(a) { | |
function b(m, u, y, H) { | |
H = { | |
data: H || (u ? u.data : {}), | |
_wrap: u ? u._wrap : null, | |
tmpl: null, | |
parent: u || null, | |
nodes: [], | |
calls: v, | |
nest: A, | |
wrap: C, | |
html: q, | |
update: I | |
}; | |
m && a.extend(H, m, { | |
nodes: [], | |
parent: u | |
}); | |
if (y) { | |
H.tmpl = y; | |
H._ctnt = H._ctnt || H.tmpl(a, H); | |
H.key = ++D; | |
(B.length ? p : G)[D] = H | |
} | |
return H | |
} | |
function d(m, u, y) { | |
var H; | |
y = y ? a.map(y, function(J) { | |
return typeof J === "string" ? m.key ? J.replace(/(<\w+)(?=[\s>])(?![^>]*_tmplitem)([^>]*)/g, "$1 " + Q + '="' + m.key + '" $2') : J : d(J, m, J._ctnt) | |
}) : m; | |
if (u) return y; | |
y = y.join(""); | |
y.replace(/^\s*([^<\s][^<]*)?(<[\w\W]+>)([^>]*[^>\s])?\s*$/, | |
function(J, R, U, X) { | |
H = a(U).get(); | |
o(H); | |
if (R) H = f(R).concat(H); | |
if (X) H = H.concat(f(X)) | |
}); | |
return H ? H : f(y) | |
} | |
function f(m) { | |
var u = document.createElement("div"); | |
u.innerHTML = m; | |
return a.makeArray(u.childNodes) | |
} | |
function g(m) { | |
return new Function("jQuery", "$item", "var $=jQuery,call,_=[],$data=$item.data;with($data){_.push('" + a.trim(m).replace(/([\\'])/g, "\\$1").replace(/[\r\t\n]/g, " ").replace(/\$\{([^\}]*)\}/g, "{{= $1}}").replace(/\{\{(\/?)(\w+|.)(?:\(((?:[^\}]|\}(?!\}))*?)?\))?(?:\s+(.*?)?)?(\(((?:[^\}]|\}(?!\}))*?)\))?\s*\}\}/g, | |
function(u, y, H, J, R, U, X) { | |
u = a.tmpl.tag[H]; | |
if (!u) throw "Template command not found: " + H; | |
H = u._default || []; | |
if (U && !/\w$/.test(R)) { | |
R += U; | |
U = "" | |
} | |
if (R) { | |
R = l(R); | |
X = X ? "," + l(X) + ")" : U ? ")" : ""; | |
X = U ? R.indexOf(".") > -1 ? R + l(U) : "(" + R + ").call($item" + X : R; | |
U = U ? X : "(typeof(" + R + ")==='function'?(" + R + ").call($item):(" + R + "))" | |
} else U = X = H.$1 || "null"; | |
J = l(J); | |
return "');" + u[y ? "close" : "open"].split("$notnull_1").join(R ? "typeof(" + R + ")!=='undefined' && (" + R + ")!=null" : "true").split("$1a").join(U).split("$1").join(X).split("$2").join(J ? J.replace(/\s*([^\(]+)\s*(\((.*?)\))?/g, | |
function(ga, ja, la, ka) { | |
return (ka = ka ? "," + ka + ")" : la ? ")" : "") ? "(" + ja + ").call($item" + ka : ga | |
}) : H.$2 || "") + "_.push('" | |
}) + "');}return _;") | |
} | |
function j(m, u) { | |
m._wrap = d(m, true, a.isArray(u) ? u : [n.test(u) ? u : a(u).html()]).join("") | |
} | |
function l(m) { | |
return m ? m.replace(/\\'/g, "'").replace(/\\\\/g, "\\") : null | |
} | |
function o(m) { | |
function u(ja) { | |
function la(P) { | |
P += y; | |
pa = R[P] = R[P] || b(pa, G[pa.parent.key + y] || pa.parent) | |
} | |
var ka, ra = ja, | |
pa, xa; | |
if (xa = ja.getAttribute(Q)) { | |
for (; ra.parentNode && (ra = ra.parentNode).nodeType === 1 && !(ka = ra.getAttribute(Q));); | |
if (ka !== xa) { | |
ra = ra.parentNode ? ra.nodeType === 11 ? 0 : ra.getAttribute(Q) || 0 : 0; | |
if (!(pa = G[xa])) { | |
pa = p[xa]; | |
pa = b(pa, G[ra] || p[ra]); | |
pa.key = ++D; | |
G[D] = pa | |
} | |
M && la(xa) | |
} | |
ja.removeAttribute(Q) | |
} else if (M && (pa = a.data(ja, "tmplItem"))) { | |
la(pa.key); | |
G[pa.key] = pa; | |
ra = (ra = a.data(ja.parentNode, "tmplItem")) ? ra.key : 0 | |
} | |
if (pa) { | |
for (ka = pa; ka && ka.key != ra;) { | |
ka.nodes.push(ja); | |
ka = ka.parent | |
} | |
delete pa._ctnt; | |
delete pa._wrap; | |
a.data(ja, "tmplItem", pa) | |
} | |
} | |
var y = "_" + M, | |
H, J, R = {}, | |
U, X, ga; | |
U = 0; | |
for (X = m.length; U < X; U++) | |
if ((H = m[U]).nodeType === 1) { | |
J = H.getElementsByTagName("*"); | |
for (ga = J.length - 1; ga >= 0; ga--) u(J[ga]); | |
u(H) | |
} | |
} | |
function v(m, u, y, H) { | |
if (!m) return B.pop(); | |
B.push({ | |
_: m, | |
tmpl: u, | |
item: this, | |
data: y, | |
options: H | |
}) | |
} | |
function A(m, u, y) { | |
return a.tmpl(a.template(m), u, y, this) | |
} | |
function C(m, u) { | |
var y = m.options || {}; | |
y.wrapped = u; | |
return a.tmpl(a.template(m.tmpl), m.data, y, m.item) | |
} | |
function q(m, u) { | |
var y = this._wrap; | |
return a.map(a(a.isArray(y) ? y.join("") : y).filter(m || "*"), function(H) { | |
if (u) H = H.innerText || H.textContent; | |
else { | |
var J; | |
if (!(J = H.outerHTML)) { | |
J = document.createElement("div"); | |
J.appendChild(H.cloneNode(true)); | |
J = J.innerHTML | |
} | |
H = J | |
} | |
return H | |
}) | |
} | |
function I() { | |
var m = this.nodes; | |
a.tmpl(null, null, null, this).insertBefore(m[0]); | |
a(m).remove() | |
} | |
var K = a.fn.domManip, | |
Q = "_tmplitem", | |
n = /^[^<]*(<[\w\W]+>)[^>]*$|\{\{\! /, | |
G = {}, | |
p = {}, | |
t, z = { | |
key: 0, | |
data: {} | |
}, | |
D = 0, | |
M = 0, | |
B = []; | |
a.each({ | |
appendTo: "append", | |
prependTo: "prepend", | |
insertBefore: "before", | |
insertAfter: "after", | |
replaceAll: "replaceWith" | |
}, function(m, u) { | |
a.fn[m] = function(y) { | |
var H = []; | |
y = a(y); | |
var J, R, U; | |
J = this.length === 1 && this[0].parentNode; | |
t = G || {}; | |
if (J && J.nodeType === 11 && J.childNodes.length === 1 && | |
y.length === 1) { | |
y[u](this[0]); | |
H = this | |
} else { | |
R = 0; | |
for (U = y.length; R < U; R++) { | |
M = R; | |
J = (R > 0 ? this.clone(true) : this).get(); | |
a(y[R])[u](J); | |
H = H.concat(J) | |
} | |
M = 0; | |
H = this.pushStack(H, m, y.selector) | |
} | |
y = t; | |
t = null; | |
a.tmpl.complete(y); | |
return H | |
} | |
}); | |
a.fn.extend({ | |
tmpl: function(m, u, y) { | |
return a.tmpl(this[0], m, u, y) | |
}, | |
tmplItem: function() { | |
return a.tmplItem(this[0]) | |
}, | |
template: function(m) { | |
return a.template(m, this[0]) | |
}, | |
domManip: function(m, u, y) { | |
if (m[0] && a.isArray(m[0])) { | |
for (var H = a.makeArray(arguments), J = m[0], R = J.length, U = 0, X; U < R && !(X = a.data(J[U++], | |
"tmplItem"));); | |
if (X && M) H[2] = function(ga) { | |
a.tmpl.afterManip(this, ga, y) | |
}; | |
K.apply(this, H) | |
} else K.apply(this, arguments); | |
M = 0; | |
t || a.tmpl.complete(G); | |
return this | |
} | |
}); | |
a.extend({ | |
tmpl: function(m, u, y, H) { | |
var J = !H; | |
if (J) { | |
H = z; | |
m = a.template[m] || a.template(null, m); | |
p = {} | |
} else if (!m) { | |
m = H.tmpl; | |
G[H.key] = H; | |
H.nodes = []; | |
H.wrapped && j(H, H.wrapped); | |
return a(d(H, null, H.tmpl(a, H))) | |
} | |
if (!m) return []; | |
if (typeof u === "function") u = u.call(H || {}); | |
y && y.wrapped && j(y, y.wrapped); | |
u = a.isArray(u) ? a.map(u, function(R, U) { | |
if (R) R.$index = U; | |
return R ? b(y, | |
H, m, R) : null | |
}) : [b(y, H, m, u)]; | |
return J ? a(d(H, null, u)) : u | |
}, | |
tmplItem: function(m) { | |
var u; | |
if (m instanceof a) m = m[0]; | |
for (; m && m.nodeType === 1 && !(u = a.data(m, "tmplItem")) && (m = m.parentNode);); | |
return u || z | |
}, | |
template: function(m, u) { | |
if (u) { | |
if (typeof u === "string") u = g(u); | |
else if (u instanceof a) u = u[0] || {}; | |
if (u.nodeType) u = a.data(u, "tmpl") || a.data(u, "tmpl", g(u.innerHTML)); | |
return typeof m === "string" ? a.template[m] = u : u | |
} | |
return m ? typeof m !== "string" ? a.template(null, m) : a.template[m] || a.template(null, n.test(m) ? m : a(m)) : null | |
}, | |
encode: function(m) { | |
return ("" + | |
m).split("<").join("<").split(">").join(">").split('"').join(""").split("'").join("'") | |
} | |
}); | |
a.extend(a.tmpl, { | |
tag: { | |
tmpl: { | |
_default: { | |
$2: "null" | |
}, | |
open: "if($notnull_1){_=_.concat($item.nest($1,$2));}" | |
}, | |
wrap: { | |
_default: { | |
$2: "null" | |
}, | |
open: "$item.calls(_,$1,$2);_=[];", | |
close: "call=$item.calls();_=call._.concat($item.wrap(call,_));" | |
}, | |
each: { | |
_default: { | |
$2: "$index, $value" | |
}, | |
open: "if($notnull_1){$.each($1a,function($2){with(this){", | |
close: "}});}" | |
}, | |
"if": { | |
open: "if(($notnull_1) && $1a){", | |
close: "}" | |
}, | |
"else": { | |
_default: { | |
$1: "true" | |
}, | |
open: "}else if(($notnull_1) && $1a){" | |
}, | |
html: { | |
open: "if($notnull_1){_.push($1a);}" | |
}, | |
"=": { | |
_default: { | |
$1: "$data" | |
}, | |
open: "if($notnull_1){_.push($.encode($1a));}" | |
}, | |
"!": { | |
open: "" | |
} | |
}, | |
complete: function() { | |
G = {} | |
}, | |
afterManip: function(m, u, y) { | |
var H = u.nodeType === 11 ? a.makeArray(u.childNodes) : u.nodeType === 1 ? [u] : []; | |
y.call(m, u); | |
o(H); | |
M++ | |
} | |
}) | |
})(jQuery); | |
Target.register("controller", "PDPCache", { | |
_catid: null, | |
priceItemsList: [], | |
_merchandiseAssoc: [], | |
_hashMap: {}, | |
_merchandiseInfo: null, | |
_jsonPrice: null, | |
_promoCb: null, | |
_priceCb: null, | |
_imageCb: null, | |
_restoreJSON: null, | |
_restoreCb: {}, | |
_cacheURL: null, | |
_urlCb: null, | |
_customCb: null, | |
urlContainer: null, | |
_view: null, | |
_isPortable: null, | |
_skipAjax: null, | |
init: function() { | |
this.loadInterface() | |
}, | |
loadInterface: function() { | |
this.jsonPrice = this._restoreJSON = Target.globals.refreshItems; | |
this.priceItemsList = ["display", "offer", "list", "offer_range", | |
"list_range", "map_price" | |
]; | |
this.jsonPrice && this._hashMapObj() | |
}, | |
load: function(a) { | |
if (a) { | |
this._catid = a.catid ? a.catid : ""; | |
this.preserveCb(a); | |
this._context = a.context ? a.context : null; | |
this._promoCb = a.promoCb ? a.promoCb : null; | |
this._priceCb = a.priceCb ? a.priceCb : null; | |
this._imageCb = a.pimage ? a.pimage : null; | |
this._buttonCb = a.buttonCb ? a.buttonCb : null; | |
this._relatedProdCb = a.relatedProdCb ? a.relatedProdCb : null; | |
this._zoomParamCb = a.zoomParamCb ? a.zoomParamCb : null; | |
this._urlCb = a.urlCb ? a.urlCb : null; | |
this._customCb = a.customCb ? a.customCb : | |
null; | |
this.urlContainer = a.elem !== undefined ? $(a.elem) : $("#fetchRefreshContent"); | |
this._view = a.view !== undefined ? true : false; | |
this._isPortable = a.isPortable !== undefined ? true : false; | |
this._skipAjax = a.skipAjax !== undefined && (a.skipAjax == "true" || a.skipAjax == "PDP_SKIP_AJAX") ? true : false; | |
if (this.urlContainer !== undefined) this._cacheURL = this.urlContainer.attr("href"); | |
if (this._skipAjax) return false; | |
else this._isPortable ? this._handleCallback() : this._loadPriceCache() | |
} | |
}, | |
_loadPriceCache: function() { | |
var a = this, | |
b = urlObj = {}, | |
d = Target.controller.header, | |
f = a._cacheURL; | |
if (d !== undefined && f && f !== "") { | |
urlObj = d.unSerialize(f); | |
$.trim(urlObj.catentryId) !== "" ? $.ajax({ | |
url: f, | |
dataType: "json", | |
type: "POST", | |
data: b, | |
curtain: false, | |
success: function(g) { | |
if (g) { | |
if (!(g.error && $.trim(g.error) !== "")) | |
if (g) { | |
a.jsonPrice = g; | |
if (!a._view) a._restoreJSON = g; | |
if (Target.globals.refreshItems) Target.globals.refreshItems = g; | |
if (Target.globals.refreshQIItems !== undefined) Target.globals.refreshQIItems = g; | |
a._handleCallback() | |
} | |
} else console.log("AJAX call to fetch updated ProductDetails failed") | |
}, | |
error: function() { | |
console.log("There was some error in fetching the details."); | |
a._handleCallback() | |
} | |
}) : a._handleCallback() | |
} | |
}, | |
_handleCallback: function() { | |
this._hashMapObj(); | |
this._handleRelatedProducts(); | |
this._catid && this.handlePriceCache(this._catid, true) | |
}, | |
_handleCollectionObj: function(a) { | |
a && this._getItemAttributeById(a) | |
}, | |
handlePriceCache: function(a, b) { | |
if (a) { | |
var d = this._getItemAttributeById(a), | |
f = this.urlContainer.attr("rel"), | |
g = this._getCatType(a), | |
j = $("#fetchQIRefreshContent") ? $("#fetchQIRefreshContent") : | |
null; | |
this._priceCb && this._priceCb.call(this._context, d, a); | |
j != null && j.attr("frmCheckout") && this._customCb && this._customCb.call(this._context, d); | |
this._urlCb && this._urlCb.call(this._context, d, a); | |
this._promoCb && this._promoCb.call(this._context, d, b, a); | |
this._buttonCb && this._buttonCb.call(this._context, d, a, g); | |
if (b) { | |
this._relatedProdCb && this._relatedProdCb.call(this._context, this.getMerchandiseAssocCategory()); | |
if (typeof f != "undefined" && f && f != "") | |
if (this._catid != f) { | |
d = this._getItemAttributeById(f); | |
if (Target.controller.header.getObjSize(d) > | |
0) { | |
this._imageCb && this._imageCb.call(this._context, d.primary_image, d); | |
this._zoomParamCb && this._zoomParamCb.call(this._context, d.partNumber) | |
} | |
} else { | |
this._imageCb && this._imageCb.call(this._context, d.primary_image, d); | |
this._zoomParamCb && this._zoomParamCb.call(this._context, d.partNumber) | |
} else { | |
this._imageCb && this._imageCb.call(this._context, d.primary_image, d); | |
this._zoomParamCb && this._zoomParamCb.call(this._context, d.partNumber) | |
} | |
} else { | |
this._imageCb && this._imageCb.call(this._context, d.primary_image, d); | |
this._zoomParamCb && | |
this._zoomParamCb.call(this._context, d.partNumber) | |
} | |
} | |
}, | |
_hashMapObj: function() { | |
var a = this, | |
b = ""; | |
if (a.jsonPrice) { | |
b = a.jsonPrice.length > 0 ? a.jsonPrice : []; | |
$.each(b, function(d, f) { | |
a._hashMap[f.catentry_id] = f | |
}) | |
} | |
}, | |
_getItemAttributeById: function(a) { | |
var b = "", | |
d = ""; | |
if (this._hashMap && a) { | |
b = this._hashMap[a]; | |
if (typeof b != "undefined") d = b.Attributes | |
} | |
return d | |
}, | |
_handleRelatedProducts: function() { | |
var a = this, | |
b = ""; | |
if (!a.jsonPrice) return false; | |
b = a.jsonPrice.length > 0 ? a.jsonPrice : []; | |
$.each(b, function(d, f) { | |
typeof f.isRelatedProd != | |
"undefined" && f.isRelatedProd == "true" && a._merchandiseAssoc.push(f.catentry_id) | |
}) | |
}, | |
getMerchandiseAssocCategory: function() { | |
return this._merchandiseAssoc | |
}, | |
_getCatType: function(a) { | |
return (a = this._hashMap[a]) ? a.catent_type : "" | |
}, | |
getObjByPartNumber: function(a) { | |
var b = {}; | |
a !== undefined && a !== "" && $.each(this._hashMap, function(d, f) { | |
if (f) | |
if (a === f.Attributes.partNumber) { | |
b = f; | |
return false | |
} | |
}); | |
return b | |
}, | |
_setPriceJSON: function(a) { | |
if (a) { | |
this.jsonPrice = a; | |
this._hashMapObj() | |
} | |
}, | |
restoreJSON: function() { | |
return this._restoreJSON | |
}, | |
preserveCb: function(a) { | |
var b = this; | |
if (b._context) return false; | |
if (typeof a.elem === "undefined") b._restoreCb._urlContainer = $("#fetchRefreshContent"); | |
if (typeof a === "object") { | |
a = jQuery.extend(true, {}, a); | |
$.each(a, function(d, f) { | |
var g = f ? f : null; | |
if (d === "pimage") b._restoreCb._imageCb = g; | |
else if (d === "elem") b._restoreCb._urlContainer = $(g); | |
else b._restoreCb["_" + d] = g | |
}) | |
} | |
}, | |
restoreCb: function() { | |
if (this._restoreCb) { | |
this._catid = this._restoreCb._catid ? this._restoreCb._catid : null; | |
this._context = this._restoreCb._context ? this._restoreCb._context : | |
null; | |
this._promoCb = this._restoreCb._promoCb ? this._restoreCb._promoCb : null; | |
this._priceCb = this._restoreCb._priceCb ? this._restoreCb._priceCb : null; | |
this._imageCb = this._restoreCb._imageCb ? this._restoreCb._imageCb : null; | |
this._buttonCb = this._restoreCb._buttonCb ? this._restoreCb._buttonCb : null; | |
this._relatedProdCb = this._restoreCb._relatedProdCb ? this._restoreCb._relatedProdCb : null; | |
this._zoomParamCb = this._restoreCb._zoomParamCb ? this._restoreCb._zoomParamCb : null; | |
this._urlCb = this._restoreCb._urlCb ? this._restoreCb._urlCb : | |
null; | |
this.urlContainer = this._restoreCb._urlContainer ? this._restoreCb._urlContainer : null; | |
this._view = this._restoreCb._view ? this._restoreCb._view : null | |
} | |
} | |
}); | |
(function() { | |
function a() { | |
var m = "{}"; | |
if (n == "userDataBehavior") { | |
K.load("jStorage"); | |
try { | |
m = K.getAttribute("jStorage") | |
} catch (u) {} | |
try { | |
t = K.getAttribute("jStorage_update") | |
} catch (y) {} | |
I.jStorage = m | |
} | |
g(); | |
o(); | |
v() | |
} | |
function b() { | |
var m; | |
clearTimeout(p); | |
p = setTimeout(function() { | |
if (n == "localStorage" || n == "globalStorage") m = I.jStorage_update; | |
else if (n == "userDataBehavior") { | |
K.load("jStorage"); | |
try { | |
m = K.getAttribute("jStorage_update") | |
} catch (u) {} | |
} | |
if (m && m != t) { | |
t = m; | |
var y = C.parse(C.stringify(q.__jstorage_meta.CRC32)), | |
H; | |
a(); | |
H = C.parse(C.stringify(q.__jstorage_meta.CRC32)); | |
var J, R = [], | |
U = []; | |
for (J in y) | |
if (y.hasOwnProperty(J)) | |
if (H[J]) y[J] != H[J] && String(y[J]).substr(0, 2) == "2." && R.push(J); | |
else U.push(J); | |
for (J in H) | |
if (H.hasOwnProperty(J)) y[J] || R.push(J); | |
d(R, "updated"); | |
d(U, "deleted") | |
} | |
}, 25) | |
} | |
function d(m, u) { | |
m = [].concat(m || []); | |
if (u == "flushed") { | |
m = []; | |
for (var y in G) G.hasOwnProperty(y) && m.push(y); | |
u = "deleted" | |
} | |
y = 0; | |
for (var H = m.length; y < H; y++) { | |
if (G[m[y]]) | |
for (var J = 0, R = G[m[y]].length; J < R; J++) G[m[y]][J](m[y], u); | |
if (G["*"]) { | |
J = 0; | |
for (R = G["*"].length; J < R; J++) G["*"][J](m[y], u) | |
} | |
} | |
} | |
function f() { | |
var m = | |
(+new Date).toString(); | |
if (n == "localStorage" || n == "globalStorage") I.jStorage_update = m; | |
else if (n == "userDataBehavior") { | |
K.setAttribute("jStorage_update", m); | |
K.save("jStorage") | |
} | |
b() | |
} | |
function g() { | |
if (I.jStorage) try { | |
q = C.parse(String(I.jStorage)) | |
} catch (m) { | |
I.jStorage = "{}" | |
} else I.jStorage = "{}"; | |
Q = I.jStorage ? String(I.jStorage).length : 0; | |
if (!q.__jstorage_meta) q.__jstorage_meta = {}; | |
if (!q.__jstorage_meta.CRC32) q.__jstorage_meta.CRC32 = {} | |
} | |
function j() { | |
if (q.__jstorage_meta.PubSub) { | |
for (var m = +new Date - 2E3, u = 0, y = q.__jstorage_meta.PubSub.length; u < | |
y; u++) | |
if (q.__jstorage_meta.PubSub[u][0] <= m) { | |
q.__jstorage_meta.PubSub.splice(u, q.__jstorage_meta.PubSub.length - u); | |
break | |
} | |
q.__jstorage_meta.PubSub.length || delete q.__jstorage_meta.PubSub | |
} | |
try { | |
I.jStorage = C.stringify(q); | |
if (K) { | |
K.setAttribute("jStorage", I.jStorage); | |
K.save("jStorage") | |
} | |
Q = I.jStorage ? String(I.jStorage).length : 0 | |
} catch (H) {} | |
} | |
function l(m) { | |
if (!m || typeof m != "string" && typeof m != "number") throw new TypeError("Key name must be string or numeric"); | |
if (m == "__jstorage_meta") throw new TypeError("Reserved key name"); | |
return true | |
} | |
function o() { | |
var m, u, y, H, J = Infinity, | |
R = false, | |
U = []; | |
clearTimeout(M); | |
if (!(!q.__jstorage_meta || typeof q.__jstorage_meta.TTL != "object")) { | |
m = +new Date; | |
y = q.__jstorage_meta.TTL; | |
H = q.__jstorage_meta.CRC32; | |
for (u in y) | |
if (y.hasOwnProperty(u)) | |
if (y[u] <= m) { | |
delete y[u]; | |
delete H[u]; | |
delete q[u]; | |
R = true; | |
U.push(u) | |
} else if (y[u] < J) J = y[u]; | |
if (J != Infinity) M = setTimeout(o, J - m); | |
if (R) { | |
j(); | |
f(); | |
d(U, "deleted") | |
} | |
} | |
} | |
function v() { | |
var m; | |
if (q.__jstorage_meta.PubSub) { | |
var u, y = D; | |
for (m = q.__jstorage_meta.PubSub.length - 1; m >= 0; m--) { | |
u = | |
q.__jstorage_meta.PubSub[m]; | |
if (u[0] > D) { | |
y = u[0]; | |
var H = u[1]; | |
u = u[2]; | |
if (z[H]) | |
for (var J = 0, R = z[H].length; J < R; J++) z[H][J](H, C.parse(C.stringify(u))) | |
} | |
} | |
D = y | |
} | |
} | |
var A = window.jQuery || window.$ || (window.$ = {}), | |
C = { | |
parse: window.JSON && (window.JSON.parse || window.JSON.decode) || String.prototype.evalJSON && function(m) { | |
return String(m).evalJSON() | |
} || A.parseJSON || A.evalJSON, | |
stringify: Object.toJSON || window.JSON && (window.JSON.stringify || window.JSON.encode) || A.toJSON | |
}; | |
if (!C.parse || !C.stringify) throw Error("No JSON support found, include //cdnjs.cloudflare.com/ajax/libs/json2/20110223/json2.js to page"); | |
var q = { | |
__jstorage_meta: { | |
CRC32: {} | |
} | |
}, | |
I = { | |
jStorage: "{}" | |
}, | |
K = null, | |
Q = 0, | |
n = false, | |
G = {}, | |
p = false, | |
t = 0, | |
z = {}, | |
D = +new Date, | |
M, B = { | |
isXML: function(m) { | |
return (m = (m ? m.ownerDocument || m : 0).documentElement) ? m.nodeName !== "HTML" : false | |
}, | |
encode: function(m) { | |
if (!this.isXML(m)) return false; | |
try { | |
return (new XMLSerializer).serializeToString(m) | |
} catch (u) { | |
try { | |
return m.xml | |
} catch (y) {} | |
} | |
return false | |
}, | |
decode: function(m) { | |
var u = "DOMParser" in window && (new DOMParser).parseFromString || window.ActiveXObject && function(y) { | |
var H = new ActiveXObject("Microsoft.XMLDOM"); | |
H.async = "false"; | |
H.loadXML(y); | |
return H | |
}; | |
if (!u) return false; | |
m = u.call("DOMParser" in window && new DOMParser || window, m, "text/xml"); | |
return this.isXML(m) ? m : false | |
} | |
}; | |
A.jStorage = { | |
version: "0.4.3", | |
set: function(m, u, y) { | |
l(m); | |
y = y || {}; | |
if (typeof u == "undefined") { | |
this.deleteKey(m); | |
return u | |
} | |
if (B.isXML(u)) u = { | |
_is_xml: true, | |
xml: B.encode(u) | |
}; | |
else if (typeof u == "function") return; | |
else if (u && typeof u == "object") u = C.parse(C.stringify(u)); | |
q[m] = u; | |
for (var H = q.__jstorage_meta.CRC32, J = C.stringify(u), R = J.length, U = 2538058380 ^ R, X = 0, ga; R >= | |
4;) { | |
ga = J.charCodeAt(X) & 255 | (J.charCodeAt(++X) & 255) << 8 | (J.charCodeAt(++X) & 255) << 16 | (J.charCodeAt(++X) & 255) << 24; | |
ga = (ga & 65535) * 1540483477 + (((ga >>> 16) * 1540483477 & 65535) << 16); | |
ga ^= ga >>> 24; | |
ga = (ga & 65535) * 1540483477 + (((ga >>> 16) * 1540483477 & 65535) << 16); | |
U = (U & 65535) * 1540483477 + (((U >>> 16) * 1540483477 & 65535) << 16) ^ ga; | |
R -= 4; | |
++X | |
} | |
switch (R) { | |
case 3: | |
U ^= (J.charCodeAt(X + 2) & 255) << 16; | |
case 2: | |
U ^= (J.charCodeAt(X + 1) & 255) << 8; | |
case 1: | |
U ^= J.charCodeAt(X) & 255; | |
U = (U & 65535) * 1540483477 + (((U >>> 16) * 1540483477 & 65535) << 16) | |
} | |
U ^= U >>> 13; | |
U = (U & 65535) * | |
1540483477 + (((U >>> 16) * 1540483477 & 65535) << 16); | |
U ^= U >>> 15; | |
H[m] = "2." + (U >>> 0); | |
this.setTTL(m, y.TTL || 0); | |
d(m, "updated"); | |
return u | |
}, | |
get: function(m, u) { | |
l(m); | |
if (m in q) return q[m] && typeof q[m] == "object" && q[m]._is_xml ? B.decode(q[m].xml) : q[m]; | |
return typeof u == "undefined" ? null : u | |
}, | |
deleteKey: function(m) { | |
l(m); | |
if (m in q) { | |
delete q[m]; | |
typeof q.__jstorage_meta.TTL == "object" && m in q.__jstorage_meta.TTL && delete q.__jstorage_meta.TTL[m]; | |
delete q.__jstorage_meta.CRC32[m]; | |
j(); | |
f(); | |
d(m, "deleted"); | |
return true | |
} | |
return false | |
}, | |
setTTL: function(m, | |
u) { | |
var y = +new Date; | |
l(m); | |
u = Number(u) || 0; | |
if (m in q) { | |
if (!q.__jstorage_meta.TTL) q.__jstorage_meta.TTL = {}; | |
if (u > 0) q.__jstorage_meta.TTL[m] = y + u; | |
else delete q.__jstorage_meta.TTL[m]; | |
j(); | |
o(); | |
f(); | |
return true | |
} | |
return false | |
}, | |
getTTL: function(m) { | |
var u = +new Date; | |
l(m); | |
if (m in q && q.__jstorage_meta.TTL && q.__jstorage_meta.TTL[m]) return (m = q.__jstorage_meta.TTL[m] - u) || 0; | |
return 0 | |
}, | |
flush: function() { | |
q = { | |
__jstorage_meta: { | |
CRC32: {} | |
} | |
}; | |
j(); | |
f(); | |
d(null, "flushed"); | |
return true | |
}, | |
storageObj: function() { | |
function m() {} | |
m.prototype = q; | |
return new m | |
}, | |
index: function() { | |
var m = [], | |
u; | |
for (u in q) q.hasOwnProperty(u) && u != "__jstorage_meta" && m.push(u); | |
return m | |
}, | |
storageSize: function() { | |
return Q | |
}, | |
currentBackend: function() { | |
return n | |
}, | |
storageAvailable: function() { | |
return !!n | |
}, | |
listenKeyChange: function(m, u) { | |
l(m); | |
G[m] || (G[m] = []); | |
G[m].push(u) | |
}, | |
stopListening: function(m, u) { | |
l(m); | |
if (G[m]) | |
if (u) | |
for (var y = G[m].length - 1; y >= 0; y--) G[m][y] == u && G[m].splice(y, 1); | |
else delete G[m] | |
}, | |
subscribe: function(m, u) { | |
m = (m || "").toString(); | |
if (!m) throw new TypeError("Channel not defined"); | |
z[m] || | |
(z[m] = []); | |
z[m].push(u) | |
}, | |
publish: function(m, u) { | |
m = (m || "").toString(); | |
if (!m) throw new TypeError("Channel not defined"); | |
var y = m; | |
if (!q.__jstorage_meta) q.__jstorage_meta = {}; | |
if (!q.__jstorage_meta.PubSub) q.__jstorage_meta.PubSub = []; | |
q.__jstorage_meta.PubSub.unshift([+new Date, y, u]); | |
j(); | |
f() | |
}, | |
reInit: function() { | |
a() | |
} | |
}; | |
(function() { | |
var m = false; | |
if ("localStorage" in window) try { | |
window.localStorage.setItem("_tmptest", "tmpval"); | |
m = true; | |
window.localStorage.removeItem("_tmptest") | |
} catch (u) {} | |
if (m) try { | |
if (window.localStorage) { | |
I = | |
window.localStorage; | |
n = "localStorage"; | |
t = I.jStorage_update | |
} | |
} catch (y) {} else if ("globalStorage" in window) try { | |
if (window.globalStorage) { | |
I = window.location.hostname == "localhost" ? window.globalStorage["localhost.localdomain"] : window.globalStorage[window.location.hostname]; | |
n = "globalStorage"; | |
t = I.jStorage_update | |
} | |
} catch (H) {} else { | |
K = document.createElement("link"); | |
if (K.addBehavior) { | |
K.style.behavior = "url(#default#userData)"; | |
document.getElementsByTagName("head")[0].appendChild(K); | |
try { | |
K.load("jStorage") | |
} catch (J) { | |
K.setAttribute("jStorage", | |
"{}"); | |
K.save("jStorage"); | |
K.load("jStorage") | |
} | |
m = "{}"; | |
try { | |
m = K.getAttribute("jStorage") | |
} catch (R) {} | |
try { | |
t = K.getAttribute("jStorage_update") | |
} catch (U) {} | |
I.jStorage = m; | |
n = "userDataBehavior" | |
} else { | |
K = null; | |
return | |
} | |
} | |
g(); | |
o(); | |
if (n == "localStorage" || n == "globalStorage") "addEventListener" in window ? window.addEventListener("storage", b, false) : document.attachEvent("onstorage", b); | |
else n == "userDataBehavior" && setInterval(b, 1E3); | |
v(); | |
"addEventListener" in window && window.addEventListener("pageshow", function(X) { | |
X.persisted && b() | |
}, false) | |
})() | |
})(); | |
Target.register("controller", "header", { | |
_photoUploadObj: [], | |
_grdaElems: null, | |
json: [], | |
_moreLikeThis: null, | |
skipCTA: false, | |
$body: "", | |
counterMinutes: "", | |
counterSeconds: "", | |
init: function() { | |
this.loadInterface() | |
}, | |
loadInterface: function() { | |
var a = this; | |
a._grdaElems = $("a[grda]"); | |
a.$body = $("body"); | |
a.json = Target.globals.giftcarditems; | |
a._handleReviews(); | |
a._removeCookie(); | |
a.readPerf(); | |
(a.$body.find("div#facetedNav").hasClass("leftNav") ? true : false) || a.$body.find("#Main, #registry-portal").prepend('<a name="mainBody"></a>'); | |
var b = Target.controller.header.cookie.read("axbFocusCookie"); | |
if (b) { | |
b = $("#inCartList").find(".j_reward#" + b).next("p"); | |
$(document).trigger("updateBuffer.framework"); | |
b.attr("tabindex", -1).focus(); | |
Target.controller.header.cookie.erase("axbFocusCookie") | |
} | |
try { | |
$(".tipnoteTrigger").tipNote() | |
} catch (d) { | |
console.log(d.message) | |
} | |
var f = { | |
".c .w4>div": "parent" | |
}, | |
g; | |
for (g in f) $(g).each(function() { | |
var j = $(this), | |
l = j.children(), | |
o = j.children(":hidden").size(); | |
j = f[g] == "self" ? j : j.parent(".w4"); | |
l.length == o && j.hide() | |
}); | |
$("#addToCart").attr("disabled", | |
""); | |
window.onbeforeunload = function() { | |
$("#rr-slider").is(":visible") || $("#addToCart, .addToCart").attr("disabled", "disabled"); | |
$("#checkoutitemLevelService--input .startSending .calendar").length > 0 && Target.controller.checkoutUtils.updateSubscriptionValue() | |
}; | |
$.fn.CEvent([{ | |
selector: "#privacy-step input[name='registryPublic']", | |
skipevent: true, | |
cb: function() { | |
if ($("input[name='registryPublic']:checked").val() == "true") { | |
$("#public-settings").show(); | |
$("#screen-name").val($("#screenName").val()); | |
try { | |
$("#featured_list_hidden").attr("checked") !== | |
false && $("#featured_list_hidden").attr("checked") !== "" ? $("#featured_list").attr("checked", true) : $("#featured_list").attr("checked", false) | |
} catch (j) {} | |
} else $("#public-settings").hide() | |
} | |
}, { | |
selector: "#list-is-for", | |
eventType: "change", | |
skipevent: true, | |
cb: function() { | |
var j = $("#list-is-for").val(); | |
if (j === "OR") { | |
$("#organization-step").show(); | |
$("#friend-step").hide() | |
} else if (j === "OT") { | |
$("#friend-step").show(); | |
$("#organization-step").hide() | |
} else if (j === "LO") { | |
$("#friend-step").hide(); | |
$("#organization-step").hide() | |
} | |
} | |
}, { | |
selector: "div#ProductCollection .tileImage, .content .quick-info>a>img, .quickInfo-container,div.content div.image-container img", | |
eventType: "mouseover mouseout focusin focusout", | |
skipevent: true, | |
cb: function(j, l, o) { | |
tileImage = $(o); | |
button = parentElm = null; | |
if (tileImage.closest(".collection-product")[0]) parentElm = tileImage.closest(".collection-product"); | |
else if (tileImage.closest(".tile")[0]) parentElm = tileImage.closest(".tile"); | |
else if (tileImage.closest(".quick-info")[0]) parentElm = tileImage.closest(".quick-info") | |
} | |
}, { | |
selector: ".j_tmCokie", | |
skipevent: true, | |
cb: function() { | |
Target.controller.header.cookie.erase("TMN") | |
} | |
}, { | |
selector: "div.error-summary ol li", | |
cb: function(j) { | |
$($(j.target).attr("href")).focus() | |
} | |
}, { | |
selector: "#CreateTargetList", | |
eventType: "overlay-show", | |
skipevent: true, | |
cb: function() { | |
$("#list-is-for-create").change(function() { | |
a.handleCreateListOverlay(this.value) | |
}) | |
} | |
}, { | |
selector: "#privacy-step-create input[name='privacy']", | |
skipevent: true, | |
cb: function() { | |
$("input[name='privacy']:checked").val() == "public" ? $("#public-settings-create").show() : | |
$("#public-settings-create").hide() | |
} | |
}, { | |
selector: "#ieSix", | |
skipevent: true, | |
cb: function() { | |
Target.controller.header.cookie.create("browserVer", "ie6"); | |
$.overlay.currentOverlay.trigger("close.overlay", [true]) | |
} | |
}, { | |
selector: ".overlay", | |
skipevent: true, | |
eventType: "overlay-before-show", | |
cb: function() { | |
$("#Login-container").hide() | |
} | |
}], a); | |
$.validator.addMethod("validEmailSubject", function(j, l) { | |
var o = /^((?!<|>).)*$/i; | |
return this.optional(l) || o.test(j) | |
}); | |
$.validator.addMethod("validListTitle", function(j, l) { | |
var o = /^[a-zA-Z0-9&.,'!\-\s\"]+$/i; | |
return this.optional(l) || o.test(j) | |
}); | |
$.validator.addMethod("validFullName", function(j) { | |
return j.match(/^[a-zA-Z0-9\-]*\s[a-zA-Z0-9\-\s]+$/) | |
}); | |
$.validator.addMethod("filterChars", function(j, l, o) { | |
l = o.illegalChars ? o.illegalChars : "<>"; | |
o = []; | |
for (var v = 0; v < j.length; v++) { | |
charA = j.charAt(v); | |
l.indexOf(charA) != -1 && $.inArray(charA, o) == -1 && o.push(charA) | |
} | |
if (o.length) { | |
o.join(" ").replace("<", "<").replace(">", ">"); | |
$.validator.messages.filterChars = "Enter a valid password using the rules listed below."; | |
return false | |
} | |
return true | |
}); | |
setTimeout(function() { | |
$("iframe[src*='fls.doubleclick.net']").hide() | |
}, 5E3); | |
$.browser.msie && parseInt($.browser.version) < 7 && Target.controller.header.cookie.read("browserVer") == null && $.overlay.load({ | |
content: "Iesixpopup", | |
mode: "force", | |
overlayId: "ieErroroverlay" | |
}); | |
a.cookie.create("isCokkie", "true", 1); | |
if (a.cookie.read("s_sess") == null) { | |
b = $("#noscript").text(); | |
b = b.replace(/javascript/, "cookie"); | |
$("#noscript").html(b); | |
a.cookie.read("erase") | |
} | |
$("#MainMenu>li").each(function() { | |
$(this).find("div.hover").prepend('<div class="menuLiBase" style="width:' + | |
($(this).width() + 20) + 'px;"></div>') | |
}); | |
a.InitializeAjaxRequest(a.navRequestComponents); | |
a.$body.delegate("#list-is-for-create", "change", function() { | |
var j = $(this).val(), | |
l = $("#organization-step-create, #friend-step-create"); | |
if (j === "friend") { | |
$("#friend-step-create").show(); | |
$("#organization-step-create").hide() | |
} | |
j === "organization" ? l.show() : l.hide() | |
}); | |
a.$body.delegate("#heroZoomImage, li a.scene7,dd a.scene7", "click", function() { | |
var j = $(this).attr("id"), | |
l, o = null; | |
l = $.trim($("#omniItemPartNumber").val()) != null && | |
$.trim($("#omniItemPartNumber").val()).length > 0 ? $("#omniItemPartNumber").val() : $("#omniPartNumber").val(); | |
o = j == "heroZoomImage" ? "hero image" : $(this).attr("rel"); | |
try { | |
s_clickInteraction(o, l) | |
} catch (v) { | |
console.log(v.message) | |
} | |
}); | |
a.$body.delegate("#sizeChart", "click", function() { | |
var j = null; | |
j = $.trim($("#omniItemPartNumber").val()) != null && $.trim($("#omniItemPartNumber").val()).length > 0 ? $("#omniItemPartNumber").val() : $("#omniPartNumber").val(); | |
try { | |
s_clickInteraction("size chart", j) | |
} catch (l) { | |
console.log(l.message) | |
} | |
}); | |
a.$body.delegate("#heroImageBundle", "click", function() { | |
var j = null; | |
j = $("#omniPartNumber").val(); | |
try { | |
s_clickInteraction("hero image", j) | |
} catch (l) { | |
console.log(l.message) | |
} | |
}); | |
a.$body.delegate("a.submitmapform, .submitMAPform", "click", function(j) { | |
j.preventDefault(); | |
j = ""; | |
j = $(this); | |
j = j.hasClass("submitMAPform") ? j.attr("catalog") : j.attr("rel"); | |
if (j !== "") { | |
j = $("#OrderItemAddForm_" + j); | |
typeof j !== "undefined" && Cart.link(j) | |
} | |
}) | |
}, | |
handleCreateListOverlay: function(a) { | |
var b = $("#organization-step-create"), | |
d = $("#friend-step-create"), | |
f = $("#public-settings-create"), | |
g = $("input[name='privacy']:checked").val(); | |
d.hide(); | |
b.hide(); | |
switch (a) { | |
case "OT": | |
d.show(); | |
$("#CreateTargetList #public").attr("checked", "checked"); | |
g = $("input[name='privacy']:checked").val(); | |
g == "public" ? f.show() : f.hide(); | |
$("#organization", "#friendsFirstName", "#friendsLastName").val(""); | |
break; | |
case "OR": | |
b.show(); | |
$("#CreateTargetList #public").attr("checked", "checked"); | |
g = $("input[name='privacy']:checked").val(); | |
g == "public" ? f.show() : f.hide(); | |
$("#organization", "#friendsFirstName", | |
"#friendsLastName").val(""); | |
break; | |
case "LO": | |
$("#CreateTargetList #private").attr("checked", "checked"); | |
f.hide(); | |
$("#organization", "#friendsFirstName", "#friendsLastName").val(""); | |
break; | |
default: | |
$("#CreateTargetList #private").attr("checked", "checked"); | |
f.hide() | |
} | |
}, | |
timer: function(a, b, d) { | |
a = { | |
timer: setTimeout(b, a), | |
callback: null | |
}; | |
if (typeof d == "function") a.callback = d; | |
return a | |
}, | |
clearTimer: function(a) { | |
clearTimeout(a.timer); | |
typeof a.callback == "function" && a.callback(); | |
return this | |
}, | |
getClass: function(a) { | |
var b = $(a).attr("class"); | |
return b = $(a).hasClass("more") ? b.replace("more", "") : b | |
}, | |
cookie: { | |
areCookiesEnabled: function() { | |
var a = navigator.cookieEnabled ? true : false; | |
if (typeof navigator.cookieEnabled == "undefined" && !a) { | |
document.cookie = "testcookie"; | |
a = document.cookie.indexOf("testcookie") != -1 ? true : false | |
} | |
return a | |
}, | |
create: function(a, b, d, f) { | |
f = f ? f : Target.globals.cookieDomain; | |
if (d) { | |
var g = new Date; | |
g.setTime(g.getTime() + d * 24 * 60 * 60 * 1E3); | |
d = "; expires=" + g.toGMTString() | |
} else d = ""; | |
document.cookie = a + "=" + b + d + "; path=/;" + (f === undefined ? "domain=.target.com" : | |
"domain=" + f) | |
}, | |
read: function(a) { | |
if (Target.controller.header.cookie.areCookiesEnabled()) { | |
a = a + "="; | |
for (var b = document.cookie.split(";"), d = 0; d < b.length; d++) { | |
for (var f = b[d]; f.charAt(0) == " ";) f = f.substring(1, f.length); | |
if (f.indexOf(a) == 0) return f.substring(a.length, f.length) | |
} | |
} | |
return null | |
}, | |
erase: function(a) { | |
this.create(a, "", -1) | |
}, | |
readUserActivityfromCookieForRR: function(a) { | |
var b = ""; | |
a = a !== undefined && a ? a : ""; | |
for (var d = document.cookie.split(";"), f = 0; f < d.length; f++) { | |
for (var g = d[f]; g.charAt(0) == " ";) g = g.substring(1, | |
g.length); | |
if (g.indexOf("WC_USERACTIVITY_") == 0) b = g.substring(16, g.indexOf("=")) | |
} | |
if (b == "" || b == null) b = a; | |
return b | |
}, | |
getUserID: function() { | |
var a = ""; | |
a = []; | |
var b = Target.controller.header.cookie.readUserActivityfromCookieForRR(); | |
if (b === "") { | |
a = unescape(Target.controller.header.cookie.read("WC_PERSISTENT")); | |
a = a.split(","); | |
if (a.length > 1) { | |
a = a[0].split("_"); | |
if (a.length > 0) b = a[a.length - 1] | |
} | |
} | |
return b | |
} | |
}, | |
s_dblclick: function(a, b, d) { | |
b = b + ":" + d; | |
d = $('<iframe width="0" height="0" frameborder="0"></iframe>'); | |
var f = $("body"); | |
d.attr("src", | |
"http://fls.doubleclick.net/activityi;src=2906542;type=searc320;cat=refin681;u6=" + a + ";u12=" + b + ";ord=1;num=1"); | |
f.append(d) | |
}, | |
InitializeAjaxRequest: function() { | |
var a = $("#dynamicAjaxURL").val(); | |
if ($("#dynamicAjaxFrm1").get(0) != undefined) { | |
a = $("#dynamicAjaxFrm1").attr("action"); | |
$.ajax({ | |
url: Target.controller.headerNew.getProtocol(a), | |
type: "POST", | |
data: $("form#dynamicAjaxFrm1").serialize(), | |
dataType: "json", | |
curtain: false, | |
success: function(b) { | |
$("#PLP_For_Grid").html(b.PLP_For_Grid); | |
$("#facetedNav").resultListController(); | |
$("#productListing").lazy({ | |
threshold: 800 | |
}); | |
searchInlineScript(); | |
Target.controller.globalUtils.imgMap() | |
}, | |
error: function() { | |
this.errorMethod && this.errorMethod() | |
} | |
}) | |
} | |
return false | |
}, | |
updateSourceComponents: function(a, b) { | |
try { | |
$(b).each(function(f, g) { | |
$("div#" + g).html(a[g]); | |
if (g == "PLP_For_Grid") { | |
$("#facetedNav").resultListController(); | |
$("#productListForm").productListingController() | |
} | |
}) | |
} catch (d) {} | |
}, | |
_handleReviews: function() { | |
var a = this, | |
b = ""; | |
$("a[review]").length != 0 && a.$body.delegate("a[review]", "click", function(d) { | |
d.preventDefault(); | |
b = $(this).attr("review"); | |
if ($.trim(b) != "") { | |
d = a.unSerialize(b); | |
a.getObjSize(d) != 0 && $.overlay.load({ | |
content: b, | |
target: $(this), | |
overlayId: d.overlayId, | |
overlayType: d.overlayType, | |
template: d.template | |
}) | |
} | |
}) | |
}, | |
_removeCookie: function() { | |
$("a[removecookie]").length !== 0 && this.$body.delegate("a[removecookie]", "click", function() { | |
Target.controller.header.cookie.erase("isFullPageVisited") | |
}) | |
}, | |
setColorAttributes: function(a, b) { | |
var d = $("#" + a).find("select[name=cardValue]"), | |
f = ""; | |
f = this.getItemsByName(this.toTitleCase(b)); | |
d.children().remove(); | |
var g = this.toTitleCase(b), | |
j = ""; | |
j = g == "MAIL" ? "P" : g == "E-MAIL" ? "E" : "M"; | |
$("#attr-send-type").val(j); | |
$.each(f.items, function(l, o) { | |
d.append("<option catid='" + o[1] + "' value='" + f.catid[l] + "'>" + o[1] + "</option>"); | |
$("#catEntryId").val(f.catid[l]); | |
$("#productId").val(f.catid[l]); | |
$(".error.giftCardsError").attr("id", "FormErrors_" + f.catid[l]) | |
}); | |
g = $("#cardValue :selected").val(); | |
$("#catEntryId").val(g); | |
$("#productId").val(g); | |
$(".error.giftCardsError").attr("id", "FormErrors_" + g); | |
$("body").delegate("#cardValue", | |
"change keypress", | |
function() { | |
var l = $("#cardValue :selected").val(); | |
$("#catEntryId").val(l); | |
$("#productId").val(l); | |
$(".error.giftCardsError").attr("id", "FormErrors_" + l) | |
}); | |
this.sortItem("cardValue") | |
}, | |
sortItem: function(a) { | |
var b = []; | |
$("#" + a).children().each(function() { | |
$(this).html() && b.push(parseInt($(this).html().toString().replace("$", ""))) | |
}); | |
b.sort(function(d, f) { | |
return d - f | |
}); | |
$("#" + a).children().each(function(d) { | |
$("#" + a + " option:contains(" + b[d] + ")").appendTo("#" + a) | |
}); | |
$("#" + a + " option").removeAttr("selected"); | |
$("#" + a + " option:first").attr("selected", "selected").trigger("change") | |
}, | |
uniqueArray: function(a) { | |
var b = [], | |
d = ""; | |
$.each(a, function(f, g) { | |
d = "" + g.itemname; | |
d = d.replace(/-quot-/g, '"'); | |
d = d.split(",")[1]; | |
$.inArray(d, b) === -1 && b.push(d) | |
}); | |
return b | |
}, | |
getItemsByName: function(a, b) { | |
var d = this, | |
f = "", | |
g = "", | |
j = "", | |
l = {}, | |
o = "", | |
v = [], | |
A = ""; | |
l.items = []; | |
l.catid = []; | |
if (typeof b != "undefined" && b != "") { | |
var C = eval("Target.globals.entitledItem1_" + b); | |
if (typeof C != "undefined") A = C.itemdetails | |
} else { | |
if (!d.json) return; | |
A = d.json.itemdetails | |
} | |
A.length > | |
0 && $.each(A, function(q, I) { | |
$.each(I.Attributes, function(K, Q) { | |
j = K; | |
f = K.split(":"); | |
g = f[f.length - 1]; | |
if (Q == 1) | |
if (typeof a != "undefined" && a == g) | |
if (d.getObjSize(I.Attributes) > 1) { | |
o = d.getItem(I.Attributes, j); | |
typeof o === "object" && l.catid.push(I.catentry_id); | |
l.items.push(o) | |
} else { | |
if (d.getObjSize(I.Attributes) == 1) { | |
o = d.getItem(I.Attributes, j); | |
typeof o === "object" && l.catid.push(I.catentry_id); | |
l.items.push(o); | |
return false | |
} | |
} else { | |
o = d.getItem(I.Attributes); | |
var n = {}; | |
n.catid = I.catentry_id; | |
n.itemname = o; | |
v.push(n) | |
} | |
}) | |
}); | |
return typeof a != | |
"undefined" && a ? l : v | |
}, | |
_getCatEntryId: function(a, b) { | |
var d = "", | |
f = "", | |
g = ""; | |
g = typeof b != "undefined" ? this.getItemsByName(a, b) : this.getItemsByName(); | |
if (a && typeof g === "object") | |
if (typeof b != "undefined") d = g.catid; | |
else $.each(g, function(j, l) { | |
f = "" + l.itemname; | |
f = f.replace(/-quot-/g, '"'); | |
a = a.replace(/-quot-/g, '"'); | |
f = f.indexOf(",") != -1 ? f.split(",")[1] : f; | |
if (a === f) { | |
d = l.catid; | |
return false | |
} | |
}); | |
return d | |
}, | |
_setJSON: function(a) { | |
this.json = null; | |
if (typeof a != "undefined") this.json = a | |
}, | |
getObjSize: function(a) { | |
var b = 0, | |
d; | |
for (d in a) a.hasOwnProperty(d) && | |
b++; | |
return b | |
}, | |
getItem: function(a) { | |
var b = [], | |
d = ""; | |
d = ""; | |
if (typeof a == "object") | |
for (var f in a) { | |
d = f.split(":"); | |
d = d[d.length - 1]; | |
b.push(d) | |
} | |
return b | |
}, | |
toTitleCase: function(a) { | |
var b = ""; | |
if (a && typeof a != "undefined") b = a.substr(0, 1).toUpperCase() + a.substr(1, a.length); | |
return b | |
}, | |
_constructDropDownList: function(a) { | |
var b = "", | |
d = typeof a != "undefined" ? a : $("#attributeType_2"); | |
b = this.getItemsByName(); | |
var f = []; | |
$.each(b, function(g, j) { | |
var l = "" + j.itemname; | |
l = l.replace(/-quot-/g, '"'); | |
l = l.split(",")[1]; | |
$.inArray(l, f) === -1 && f.push(l) | |
}); | |
if (b.length > 0 && typeof b != "undefined") { | |
d.html('<option value="">Please make a selection</option>'); | |
$.each(f, function(g, j) { | |
d.append("<option value='" + j + "'>" + j + "</option>") | |
}) | |
} | |
}, | |
_UpdateSizeDropDown: function(a, b, d) { | |
var f = "", | |
g = typeof a != "undefined" ? a : $("#attributeType_2"); | |
f = this.getItemsByName(b, d); | |
var j = $.parseJSON($("#itemPrice").html()), | |
l = [], | |
o = [], | |
v = true; | |
if (f.items.length > 0 && typeof f != "undefined") { | |
$.each(f.items, function(q, I) { | |
I = "" + I; | |
I = I.replace(/-quot-/g, '"'); | |
I = I.split(",")[1]; | |
l.push(I) | |
}); | |
$.each(f.catid, | |
function(q, I) { | |
o.push(I) | |
}) | |
} | |
if (l.length > 0 && o.length > 0) { | |
var A = $.trim($("input[name='productId']").val()), | |
C = $.trim($("#attributeType_2").find("option:selected").val()); | |
g.html('<option value="">' + $("#attributeType_2 option").first().text() + "</option>"); | |
$("#OrderItemAddForm_catEntryId_" + A).val(o[0]); | |
$.each(l, function(q, I) { | |
if (v == true) { | |
var K = "", | |
Q = "", | |
n = $("#isSubscriptionPrice").val(), | |
G = $(".product-info-block .priceSection"); | |
$.each(j, function(t) { | |
if (typeof o[q] !== "undefined" && o[q] == j[t].catentry_id) { | |
K = j[t].Attributes.price.offer; | |
Q = j[t].Attributes.price.subsPrice; | |
if (n != undefined && n == "true") { | |
G.find(".discountedprice").text(Q); | |
G.find(".currentprice").html("<del>" + K + "</del>"); | |
G.find(".currentprice").show() | |
} else { | |
G.find(".discountedprice").text(K); | |
G.find(".currentprice").html("") | |
} | |
} | |
}) | |
} | |
var p = C == I ? "selected =selected" : ""; | |
typeof I !== "undefined" && g.append("<option id = '" + I + "' catid='" + o[q] + "' value='" + I + "' " + p + ">" + I + "</option>"); | |
p != "" && $("#OrderItemAddForm_catEntryId_" + A).val(o[q]); | |
v = false | |
}) | |
} | |
}, | |
_fiatSetAttributes: function(a, b, d) { | |
var f = | |
$("#" + a).find("select[name=attr-sizeSelection]"), | |
g = ""; | |
d = typeof d != "undefined" ? true : false; | |
var j = f.find("option:selected").val(), | |
l = "", | |
o = "", | |
v = "", | |
A = false; | |
g = this.getItemsByName(b); | |
f.html('<option value="">Please make a selection</option>'); | |
$.each(g.items, function(q, I) { | |
o = "" + I[1]; | |
o = o.replace(/-quot-/g, '"'); | |
l = ""; | |
if (typeof j !== "undefined" && j === I[1]) { | |
l = "selected = selected"; | |
A = true; | |
v = g.catid[q] | |
} | |
f.append("<option catid='" + g.catid[q] + "' value='" + I[1] + "' " + l + ">" + o + "</option>") | |
}); | |
if (A) typeof v != "undefined" && v !== | |
"" && f.trigger("change"); | |
else { | |
f.find("option:first").trigger("change"); | |
$("#" + a).find("#catentryNO,#dpciNO").text(" ") | |
} | |
if (g.items.length == 0 && !d) { | |
$(".sizeContainer").addClass("hidden"); | |
this.refreshTabs(g.catid); | |
try { | |
Target.controller.PDPCache.handlePriceCache(g.catid, false) | |
} catch (C) {} | |
} else $(".sizeContainer").removeClass("hidden") | |
}, | |
_getFIATSObj: function(a) { | |
var b = typeof Target.globals.dpciJSON != "undefined" ? Target.globals.dpciJSON : [], | |
d = {}; | |
a && $.each(b, function(f, g) { | |
if (a === g.catentry_id) { | |
d = g.Attributes; | |
return false | |
} | |
}); | |
return d | |
}, | |
_handleUpdateFIATS: function(a) { | |
var b = $("#FindinStore"), | |
d = b.find(".fiats-product"), | |
f = b.find("#dpciNO"), | |
g = b.find("#catentryNO"), | |
j = b.find("#pickUpInStoreQty"), | |
l = $("#partNum_fiats"); | |
b = b.find("#ValidDpci"); | |
var o = $("#catEntID_fiats"), | |
v = $("#attributeList"), | |
A = $("#ffFlowIdentifier"); | |
A = typeof A !== "undefined" ? A.val() : ""; | |
if (typeof a != "undefined" && this.getObjSize(a) > 0) { | |
d.attr("src", a.ThumbnailImage); | |
f.html(a.dpci); | |
g.html(a.onlineItem); | |
j.html(a.PickUpInStore); | |
l.val(a.onlineItem); | |
o.val(a.catentryId); | |
b.val(a.dpci); | |
if (A == "PRIMARY") { | |
entitledItemJSON = eval("(" + $(".content #entitledItem").html() + ")"); | |
catid = a.catentryId; | |
var C = []; | |
$.each(entitledItemJSON, function(q, I) { | |
if (catid === I.catentry_id) { | |
fiatsObj = I.Attributes; | |
count = 0; | |
$.each(fiatsObj, function(K) { | |
C[count] = K; | |
count++ | |
}); | |
return false | |
} | |
}); | |
v.val(C) | |
} | |
} | |
}, | |
_prePopulateVariatons: function(a, b) { | |
if (b.length > 0) { | |
var d = $("#input-field-FIATS-swatchColor ul.swatches").find("input:checked"), | |
f = d.val(); | |
d = d.attr("catid"); | |
var g = ""; | |
a.find("span.clrValHolderFIATS").html(f); | |
if (b.hasClass("fiatsSingleVar")) { | |
if (d) { | |
g = | |
this._getFIATSObj(d); | |
this.getObjSize(g) > 0 && this._handleUpdateFIATS(g) | |
} | |
} else this._fiatsFilteredList(f) | |
} else { | |
f = $("select#fiatsAttrType_1"); | |
d = $("select#fiatsAttrType_1 option:selected").val(); | |
if (f.hasClass("fiatsWithDropDown")) this._fiatsFilteredList(d); | |
else if (d) { | |
g = this._getFIATSObj(d); | |
this.getObjSize(g) > 0 && this._handleUpdateFIATS(g) | |
} | |
} | |
}, | |
_fiatsFilteredList: function(a) { | |
var b = $("select#fiatsAttrType_2"), | |
d = $("select#fiatsAttrType_2 option:selected").val(), | |
f = "", | |
g = ""; | |
g = ""; | |
if (a) { | |
f = this.getItemsByName(a); | |
b.html('<option value="">Please make a selection</option>'); | |
$.each(f.items, function(j, l) { | |
var o = "" + l[1]; | |
o = o.replace(/-quot-/g, '"'); | |
d === o ? b.append("<option catid='" + f.catid[j] + "' value=" + l[1] + " selected>" + o + "</option>") : b.append("<option catid='" + f.catid[j] + "' value=" + l[1] + ">" + o + "</option>") | |
}); | |
if (g = $("select#fiatsAttrType_2 option:selected").attr("catid")) { | |
g = this._getFIATSObj(g); | |
this.getObjSize(g) > 0 && this._handleUpdateFIATS(g) | |
} | |
} | |
}, | |
unSerialize: function(a) { | |
var b = {}; | |
a = a.replace(/^.*\?/, "").split("&"); | |
for (var d = | |
a.length, f = 0, g; f < d; f++) | |
if (a[f]) { | |
g = a[f].split("="); | |
b[g[0]] = g[1] | |
} | |
return b | |
}, | |
getLocationObj: function() { | |
var a = {}; | |
return a = this.unSerialize(window.location.href) | |
}, | |
setMoreLikeThis: function() { | |
this._moreLikeThis = true | |
}, | |
constructCategoryCookie: function(a) { | |
var b = Target.controller.reviewed.cookie, | |
d = a.length; | |
if (d == 0) return false; | |
var f = ""; | |
$.each(a, function(g, j) { | |
f += j; | |
if (g !== d - 1) f += "|" | |
}); | |
b.create("RecentlyViewedCategory", f) | |
}, | |
setCategoryCookie: function(a) { | |
var b = Target.controller.reviewed.cookie, | |
d = categoryCookieArr = []; | |
d = 0; | |
var f = false; | |
if (typeof b != "undefined") { | |
d = b.read("RecentlyViewedCategory"); | |
if ($.trim(a) !== "") { | |
if (d !== null) { | |
categoryCookieArr = d.split("|"); | |
$.each(categoryCookieArr, function(g, j) { | |
if (j == $.trim(a)) f = true | |
}); | |
d = d.split("|").length; | |
d === 5 && !f && this.removeByIndex(categoryCookieArr, 0) | |
} | |
if (!f) { | |
categoryCookieArr.push(a); | |
this.constructCategoryCookie(categoryCookieArr) | |
} | |
} | |
} | |
}, | |
removeByIndex: function(a, b) { | |
a.splice(b, 1) | |
}, | |
setSkipCTA: function(a) { | |
this.skipCTA = a | |
}, | |
readPerf: function() { | |
var a = Target.controller.header.cookie.read("Pref"), | |
b = "N"; | |
if (a == null) a = "F=N|Sub=N"; | |
else b = "Y"; | |
if (Target.globals.bopisFlag == "ENABLE_ALL") { | |
if (a.indexOf("F=N") !== -1) { | |
a = a.replace("F=N", "F=Y"); | |
Target.controller.header.cookie.erase("Pref") | |
} | |
} else if (Target.globals.bopisFlag == "ENABLE_FOR_SELECT_GUESTS") { | |
if (b == "N" && a.indexOf("F=Y") !== -1) { | |
console.log("in select guest and F= Y"); | |
a = a.replace("F=Y", "F=N"); | |
Target.controller.header.cookie.erase("Pref") | |
} | |
} else { | |
a = a.replace("F=Y", "F=N"); | |
Target.controller.header.cookie.erase("Pref") | |
} | |
Target.controller.header.cookie.create("Pref", | |
a, 14); | |
try { | |
var d = $("#productListing"); | |
if (d.length == 1 && $("#isDLP").val() != "true") | |
if (a = Target.controller.reviewed.cookie.read("Pref")) a.indexOf("F=Y") !== -1 ? d.addClass("FFTrue") : d.addClass("FFFalse"); | |
if (!$("body").hasClass("checkout")) { | |
var f = Target.controller.reviewed.cookie.read("Pref").split("|"); | |
f[1] == "Sub=Y" && typeof f[1] != "undefined" && $("body").addClass("teamMember") | |
} | |
} catch (g) {} | |
}, | |
getSkipCTA: function() { | |
return this.skipCTA | |
}, | |
alertHtml: function(a) { | |
if (a == 1) { | |
$(".sessionTimeOut").show(); | |
$(".sessionTimeOut").attr("tabindex", | |
"-1").focus(); | |
Target.controller.header.sessionMinsSecs() | |
} | |
}, | |
sessionMinsSecs: function() { | |
var a = Target.controller.header, | |
b = a.cookie.read(Target.globals.JSESSIONID), | |
d = "WC_USERACTIVITY_"; | |
b = a.cookie.readUserActivityfromCookieForRR(b); | |
d += b; | |
var f = a.cookie.read("guestDisplayName"); | |
$(".checkout"); | |
$(".regSettingsSec"); | |
$(".gamSession"); | |
isSecure = location.protocol == "http:" ? false : true; | |
var g = 60, | |
j, l = 5; | |
$(".timer").text("Your session will expire in 5 minutes due to inactivity."); | |
if (a.counterMinutes != "") { | |
clearInterval(a.counterMinutes); | |
clearInterval(a.counterSeconds) | |
} | |
setTimeout(function() { | |
$(document).trigger("updateBuffer.framework"); | |
$(".sessionTimeOut").removeAttr("tabindex") | |
}, 500); | |
a.counterMinutes = setInterval(function() { | |
l--; | |
j = "Your session will expire in " + l + " minutes due to inactivity."; | |
$(".timer").text(j); | |
if (l == 1) { | |
clearInterval(a.counterMinutes); | |
o() | |
} | |
}, 59E3); | |
var o = function() { | |
a.counterSeconds = setInterval(function() { | |
g--; | |
if (g > 0) { | |
j = "Your session will expire in " + g + " seconds due to inactivity."; | |
$(".timer").text(j) | |
} else { | |
clearInterval(a.counterSeconds); | |
clearInterval(a.counterMinutes); | |
if (f == null || f.length > 0) a.cookie.erase(d); | |
location.href = Target.globals.sessionEnd | |
} | |
}, 1E3) | |
} | |
}, | |
strengthMeter: function() { | |
var a = { | |
weak: { | |
text: "weak", | |
more: "This password is valid, but it could be stronger. Make it atleast 9 characters long, or add a mix of special characters, numbers or capital letters." | |
}, | |
good: { | |
text: "good", | |
more: "To make this password even more secure, add a few more characters, especially special characters, numbers, or capital letters." | |
}, | |
strong: { | |
text: "strong", | |
more: "Congratulations! Your password is strong and secure." | |
}, | |
xstrong: { | |
text: "extra strong", | |
more: "Wow, this password is really secure! You have done a great job protecting your Target.com account." | |
} | |
}, | |
b = $(".passwordStrengthBar"), | |
d = $(".PwdStrengthTxt"); | |
return { | |
_html: function(f) { | |
return '<strong>Strength: </strong><span class="tooltipIconInfo">' + f.text + '</span><div class="tipnoteTrigger strengthInfo tipType-info"><a class="tipnoteRef" href="#" rel="nofollow">more information about strength: ' + f.text + '</a><span style="visibility: hidden; display: none;" class="tooltipBox"><span tabindex="-1" class="tipnoteText"><h2 tabindex="-1" class="screen-reader-only">password strength</h2><p>' + | |
f.more + '</p><a href="#tipnoteClose" class="tipnoteClose screen-reader-only">close</a></span></span></div>' | |
}, | |
_weak: function() { | |
b.html("<span class='strengthWeak'></span>"); | |
d.html(this._html(a.weak)) | |
}, | |
_good: function() { | |
b.html("<span class='strengthGood'></span>"); | |
d.html(this._html(a.good)) | |
}, | |
_strong: function() { | |
b.html("<span class='strengthStrong'></span>"); | |
d.html(this._html(a.strong)) | |
}, | |
_xstrong: function() { | |
b.html("<span class='strengthStrong'></span>"); | |
d.html(this._html(a.xstrong)) | |
} | |
} | |
}, | |
passwordValidator: function(a) { | |
if (typeof a === | |
"undefined") throw Error("selector is undefined"); | |
var b = this, | |
d = $("ul.pass-requirements li, #strengthRul ul li"), | |
f = { | |
isvalidLength: function(g) { | |
return g.length >= 8 && g.length <= 20 | |
}, | |
isValidPass: function(g) { | |
var j = /^\d*$/.test(g), | |
l = /^\W*$/.test(g), | |
o = /^[a-z]*$/.test(g); | |
g = /^[A-Z]*$/.test(g); | |
return j || l || o || g ? false : true | |
}, | |
isValidChars: function(g) { | |
return $.validator.methods.filterChars(g, "", { | |
illegalChars: "<>" | |
}) | |
}, | |
passType: function(g) { | |
this.digit = /[0-9]/.test(g); | |
this.alpha = /[a-z]/.test(g); | |
this.upper = /[A-Z]/.test(g); | |
return this | |
}, | |
isWeek: function(g) { | |
return g != "" | |
}, | |
isGood: function(g) { | |
if (typeof g === "undefined") throw Error("password is not defined!"); | |
return g.length >= 9 && this.passType(g).alpha && this.passType(g).upper | |
}, | |
isStrong: function(g) { | |
if (typeof g === "undefined") throw Error("password is not defined!"); | |
return g.length >= 11 && this.passType(g).alpha && this.passType(g).upper && this.passType(g).digit | |
}, | |
isxStrong: function(g) { | |
if (typeof g === "undefined") throw Error("password is not defined!"); | |
return g.length >= 15 && this.passType(g).alpha && | |
this.passType(g).upper && this.passType(g).digit | |
} | |
}; | |
$("body").delegate(a, "keyup blur", function() { | |
var g = $.trim($(this).val()), | |
j = b.showHideError(), | |
l = b.strengthMeter(), | |
o = false, | |
v = false; | |
if (g == "") { | |
$(".PwdStrengthTxt").html("<strong>Strength: </strong>"); | |
$(".passwordStrengthBar span").remove() | |
} | |
f.isWeek(g) && l._weak(); | |
f.isGood(g) && l._good(); | |
f.isStrong(g) && l._strong(); | |
f.isxStrong(g) && l._xstrong(); | |
$(".strengthInfo").tipNote(); | |
if (g == "") j._onRemove(d); | |
else { | |
if (f.isvalidLength(g)) { | |
j._onRemove(d.eq(0)); | |
d.eq(0).append(j._onSuccess()); | |
o = true | |
} else { | |
j._onRemove(d.eq(0)); | |
d.eq(0).append(j._onError()); | |
o = false | |
} | |
if (o && f.isValidPass(g)) { | |
j._onRemove(d.eq(1)); | |
d.eq(1).append(j._onSuccess()); | |
v = true | |
} | |
if (o && !f.isValidPass(g)) { | |
j._onRemove(d.eq(1)); | |
d.eq(1).append(j._onError()); | |
v = false | |
} | |
if (o && v && f.isValidChars(g)) { | |
j._onRemove(d.eq(2)); | |
d.eq(2).append(j._onSuccess()) | |
} | |
if (!f.isValidChars(g)) { | |
j._onRemove(d.eq(2)); | |
d.eq(2).append(j._onError()) | |
} | |
} | |
}) | |
}, | |
showHideError: function() { | |
return { | |
element: '<span class="sprite"></span>', | |
_onError: function() { | |
return $(this.element).html('<span class="screen-reader-only"> failed</span>').addClass("error") | |
}, | |
_onSuccess: function() { | |
return $(this.element).html('<span class="screen-reader-only"> passed</span>').addClass("success") | |
}, | |
_onRemove: function(a) { | |
typeof a !== "undefined" && $(".sprite", a).remove() | |
} | |
} | |
}, | |
openLoginPopUpWindow: function() { | |
window.open("https://" + location.host + "/PopUpLoginWindow", "signWindow", "scrollbars=yes, resizable=yes, location=yes, top=" + (window.innerHeight / 2 - 175) + ", left=" + (window.innerWidth / 2 - 350) + ", width=760, height=400") | |
}, | |
checkoutSignInPopUpWindow: function(a) { | |
if (typeof a === "undefined") a = | |
null; | |
window.open("CheckoutSignInWindow?" + a, "signWindow", "scrollbars=yes, resizable=yes, location=yes, top=" + (window.innerHeight / 2 - 175) + ", left=" + (window.innerWidth / 2 - 350) + ", width=760, height=400") | |
} | |
}); | |
Target.register("controller", "globalUtils", { | |
init: function() { | |
this.loadInterface() | |
}, | |
loadInterface: function() { | |
var a = this, | |
b = function() { | |
var f = new Date, | |
g = f.getMonth() + 1; | |
f = f.getDate(); | |
var j = []; | |
months = ["JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"]; | |
return j = { | |
month: months[g - 1], | |
day: f | |
} | |
}(); | |
$(".getDay").html(b.day); | |
$(".getMonth").html(b.month); | |
b = $("#QuickView #isPortableQIFlag"); | |
var d = typeof b !== "undefined" ? b.attr("rel") : "false"; | |
$("body").delegate("#QuickView", "overlay-before-show", function() { | |
if (d !== | |
"true") | |
if ($(this).find(".component-carousel-3").length > 0) a.checkIfCarousal(".component-carousel-3"); | |
else $(this).find(".component-carousel-4").length > 0 && a.checkIfCarousal(".component-carousel-4") | |
}); | |
$("body").delegate(".WATAgging", "click", function() { | |
console.log("lnk", $(this).parent().siblings("input.lnk").val()); | |
var f = $(this).parent().siblings("input.lnk").val(); | |
try { | |
s_clickInteraction("Page Name: promotion link", f) | |
} catch (g) { | |
console.log(g.message) | |
} | |
}); | |
a.checkIfCarousal(".component-carousel-1"); | |
d !== "true" && | |
a.checkIfCarousal(".component-carousel-3"); | |
a.checkIfCarousal(".component-carousel-4"); | |
a.checkIfCarousal(".component-carousel-5"); | |
a.checkIfCarousal(".component-carousel-6"); | |
a.checkIfCarousal(".component-carousel-recmm-4"); | |
a.expandDescComponent(); | |
a.imgMap(); | |
a.recurringMethod(); | |
a.updateESRBCookieValue(); | |
$("#blockDVMCall").length == 0 && a.DvmAdInit(); | |
$(".CMS-t1 .category-link").delegate("li a.offer-overlay", "click", function(f) { | |
f.preventDefault(); | |
var g = $(this).offset(); | |
f = parseInt(g.left) - 128; | |
g = parseInt(g.top) + | |
20; | |
var j = this.href; | |
$(this); | |
$.overlay.load({ | |
content: j, | |
overlayType: "layer", | |
x: f, | |
y: g, | |
width: 350, | |
overlayId: "offerOverlayView", | |
closeLink: true, | |
componentPop: true | |
}) | |
}); | |
$("body").bind("overlay-hide", function(f, g) { | |
g === "#offerOverlayView" && $(void 0).focus() | |
}); | |
$("body").delegate(".wide-ft-category-images.three-category-images > ul li, .wide-ft-category-images.four-category-images > ul li", "focusout mouseenter mouseleave click", function(f) { | |
var g = f.type, | |
j = $(f.target), | |
l = $(this), | |
o = l.find(".productContainer"), | |
v = l.find(".productOverDetails"); | |
l = function() { | |
o.show(); | |
v.hide(); | |
o.parent("li").removeClass("selected") | |
}; | |
try { | |
var A = j.closest(".productOverDetails").find("ul.bottom-category-links li").length, | |
C = j.closest(".productOverDetails").find("ul.category-links li").length, | |
q = j.parent("li").is(":last-child"), | |
I = j.parent("li").parent().is("ul.bottom-category-links"), | |
K = j.parent("li").parent().is("ul.category-links"); | |
if (A && q && I || C && !A && q && K) l() | |
} catch (Q) {} | |
if (g == "click" && j.is(".product-title a.npcatTitle")) { | |
f.preventDefault(); | |
$(".productContainer").show(); | |
$(".productOverDetails").hide(); | |
j.closest("div").next("div.productOverDetails").show(); | |
j.closest("div.productContainer").hide(); | |
j.closest("li").find("div.productOverDetails p.product-title a").focus(); | |
j.closest("li").addClass("selected") | |
} | |
if (g == "mouseover") { | |
o.hide(); | |
v.show(); | |
o.parent("li").addClass("selected") | |
} else g == "mouseout" && l() | |
}); | |
$("body").delegate("#addtocart.overlay a", "click", function() { | |
var f = $(this).attr("title"), | |
g = $(this).parent().attr("class").indexOf("legalnote"); | |
if (f !== "undefined" && g !== | |
"undefined") | |
if (f == "view cart") try { | |
s_cartOverlayInteraction("lnk_crt_editcart") | |
} catch (j) { | |
console.log(j.message) | |
} else if (f == "Continue Shopping") { | |
$.overlay.currentOverlay.trigger("close.overlay", [true]); | |
try { | |
s_clickInteraction("ATC Layer: Continue Shopping") | |
} catch (l) { | |
console.log(l.message) | |
} | |
} else if (g != -1) try { | |
s_clickInteraction("ATC Layer: View our return policy") | |
} catch (o) { | |
console.log(o.message) | |
} | |
}); | |
$("body").delegate("#addtocart", "overlay-before-hide", function() { | |
document.activeElement.id == "close" && typeof s_clickInteraction != | |
"undefined" && s_clickInteraction("ATC Layer: Close Overlay") | |
}) | |
}, | |
showProgress: function(a) { | |
animationstart = function() { | |
a.find(".progressbar").animate({ | |
width: "100%" | |
}, 1500, function() { | |
animationstop() | |
}) | |
}; | |
animationstop = function() { | |
a.find(".progressbar").animate({ | |
width: "0" | |
}, 0); | |
animationstart() | |
}; | |
animationstart() | |
}, | |
addlistModError: function(a) { | |
a.prepend('<p style="position: absolute;top: -13px;width: 100%;color:#c00;" class="itemnotaddedlist">item not added to list</p>'); | |
a.find("#addToListPDP").html("please try again") | |
}, | |
clearAddtoList: function(a) { | |
a = !a ? $(".addtolistbutton") : a; | |
a.html(Target.controller.header.listModHTML) | |
}, | |
addtolistMOD: function(a, b) { | |
Target.controller.header.unSerialize(a); | |
currentTarget = b.parents("li.addtolistbutton"); | |
if (!Target.controller.header.listModHTML) Target.controller.header.listModHTML = currentTarget.html(); | |
currentTarget.find(".itemnotaddedlist").remove(); | |
currentTarget.find("#addToListPDP").html("add to list"); | |
currentTarget.addClass("progressing").find("#addToListPDP").append('<div class="progressbar" style="z-index:2;position:absolute;left:2px;bottom:1px;background:#c00;height:2px;border-radius:4px"></div>').focus(); | |
Target.controller.header.cookie.erase("listcallbackUrl"); | |
this.showProgress(currentTarget); | |
$.ajax({ | |
type: "POST", | |
url: a, | |
datatype: "JSON", | |
curtain: false, | |
success: function(d) { | |
currentTarget.find(".progressbar").remove(); | |
if (d != "") | |
if (typeof d == "object" && typeof d.ListModJSON != "undefined") { | |
_isSuccess = !!d.ListModJSON.Success; | |
_isFailure = !!d.ListModJSON.Failure; | |
if (_isSuccess) { | |
currentTarget.find(".listmainblock").addClass("added").focus(); | |
setTimeout(function() { | |
currentTarget.addClass("viewinglist").focus() | |
}, 1200) | |
} else if (_isFailure) { | |
currentTarget.prepend('<p style="position: absolute;top: -15px;width: 100%;color:#c00;">' + | |
d.ListModJSON.FailureMessage + "</p>"); | |
d.ListModJSON.ErrorCode == "5001" ? currentTarget.find("#addToListPDP").html("edit your list").attr("href", currentTarget.find(".viewlist a").attr("href")) : currentTarget.find("#addToListPDP").html("please try again") | |
} | |
} else if (eval("(" + d + ")").overLayId == "registrySignin") { | |
Target.controller.header.cookie.create("listcallbackUrl", a); | |
Target.controller.globalUtils.openLoginPopUp() | |
} else Target.controller.globalUtils.addlistModError(currentTarget); | |
else Target.controller.globalUtils.addlistModError(currentTarget) | |
}, | |
error: function() { | |
currentTarget.find(".progressbar").remove(); | |
Target.controller.globalUtils.addlistModError(currentTarget) | |
} | |
}) | |
}, | |
addToListColCallback: function(a, b) { | |
var d = $(b), | |
f = d.closest("li.CollectionItem").attr("parentid"), | |
g = $("#OrderItemAddForm_catEntryId_" + f).val(), | |
j = $("#quantity_" + f).val(), | |
l = $("#listModeFlag").length > 0 && $("#listModeFlag").val() == "Y" ? "Y" : "N"; | |
f = a == null && $("#OrderItemAddForm_" + f).valid() ? true : a != null && a != "" ? true : false; | |
Target.controller.header.cookie.erase("listcallbackUrl"); | |
var o = | |
d.closest("li.addtolistbutton"), | |
v = d.children("span").first(), | |
A = d.find("span.progressAnnounce"); | |
if (a == null) { | |
a = $(b).attr("rev"); | |
a += "&catEntryId_0=" + g + "&quantity_0=" + j; | |
if (l == "Y") a += "&colItem=" + $(b).attr("id") | |
} | |
o.find("p.error").remove(); | |
if (f) { | |
Target.controller.globalOverlay.setAxbFocusElem(d); | |
if (l == "Y") { | |
$(".itemnotaddedlist").remove(); | |
d.find(".progressAnnounce").text("Adding to list is in progress"); | |
d.append('<div class="progressbar"></div>'); | |
var C = function() { | |
$(".progressbar").animate({ | |
width: "100%" | |
}, | |
1500, | |
function() { | |
$(".progressbar").animate({ | |
width: "0" | |
}, 0); | |
C() | |
}) | |
}, | |
q = function(I, K) { | |
var Q = $("<p>").addClass("error").html(I); | |
o.prepend(Q); | |
A.text(K) | |
}; | |
C(); | |
o.find("p.error").remove(); | |
$.ajax({ | |
type: "POST", | |
url: a, | |
datatype: "JSON", | |
curtain: false, | |
success: function(I) { | |
d.find(".progressbar").remove(); | |
if (typeof I == "object" && typeof I.ListModJSON != "undefined" && typeof I.ListModJSON.Success != "undefined") { | |
A.empty(); | |
d.addClass("positive"); | |
v.text("added to list"); | |
d.attr("href", "/targetlists"); | |
d.removeClass("addToListCol"); | |
d.attr("tabindex", 0).focus(); | |
setTimeout(function() { | |
v.text("view your list"); | |
d.removeClass("positive").attr("tabindex", 0).focus() | |
}, 2E3) | |
} else if (typeof I == "object" && typeof I.ListModJSON != "undefined" && typeof I.ListModJSON.Failure != "undefined") { | |
if (I.ListModJSON.ErrorCode == "5001") { | |
q(I.ListModJSON.FailureMessage, "there are too many items on the your list, please edit your list before adding more items."); | |
v.text("edit your list"); | |
d.attr("href", "/targetlists"); | |
d.removeClass("addToListCol") | |
} else { | |
q(I.ListModJSON.FailureMessage, | |
"an error occurred, please try again"); | |
v.text("please try again") | |
} | |
d.attr("tabindex", 0).focus() | |
} else { | |
Target.controller.header.cookie.create("listcallbackUrl", a); | |
Target.controller.globalUtils.openLoginPopUp() | |
} | |
}, | |
error: function() { | |
d.find(".progressbar").remove(); | |
q("system error occurred"); | |
v.text("please try again"); | |
A.text("an error occured, please try again"); | |
d.attr("tabindex", 0).focus() | |
} | |
}) | |
} else Target.controller.grda.HandleGRDAResponse(a, function() {}, false) | |
} | |
}, | |
openLoginPopUp: function() { | |
var a = window.location.pathname.substring(1); | |
Target.controller.header.cookie.create("basePageURLForPOPup", a); | |
typeof Target.globals.loginPopupURL != "undefined" && window.open(Target.globals.loginPopupURL, "signWindow", "scrollbars=yes, resizable=yes, location=yes, top=" + (window.innerHeight / 2 - 175) + ", left=" + (window.innerWidth / 2 - 350) + ", width=760, height=400") | |
}, | |
updateESRBCookieValue: function() { | |
var a = Target.controller.reviewed.cookie.read("esrbResponse"); | |
typeof a != "undefined" && a != "" && $("#esrbResponse").val(a) | |
}, | |
checkIfCarousal: function(a) { | |
var b = $(a); | |
b.length > 0 && b.each(function() { | |
if (!($(this).data("checked-carousal") != null || $(this).find("li:first").hasClass("carousel-panel"))) { | |
$(this).data("checked-carousal", true); | |
$(this).parents("div.section").show(); | |
var d = $(this).find(">li").length, | |
f = parseInt(a.replace(/[.a-zA-Z-]+/i, "")), | |
g = $(this).hasClass("loop") ? true : false, | |
j = $(this).hasClass("pagination") ? true : false, | |
l = $(this).hasClass("autoRotate") ? true : false; | |
g = l ? true : false; | |
var o = $(this).hasClass("encapsulated") ? true : false, | |
v = $(this).hasClass("displayCount") ? | |
true : false, | |
A = $(this).hasClass("paginationCount") ? true : false; | |
if (d) | |
if (f < d) { | |
d = { | |
increment: f, | |
pagination: j, | |
centerPagination: false, | |
encapsulateControls: o, | |
displayCount: v, | |
paginationCount: A, | |
autoRotate: l, | |
pingPong: false, | |
loop: g | |
}; | |
if ($.browser.msie && $(".primaryImgContainer").length) d = $.extend(true, d, { | |
postFrameChange: function() { | |
var C = $(".primaryImgContainer a.nextFrame"), | |
q = $(".primaryImgContainer a.prevFrame"); | |
if (C.length) { | |
C.css({ | |
backgroundPosition: "-396px -1426px" | |
}); | |
C.live("hover", function() { | |
C.attr("style", "backgroundPosition:-385px -1426px;") | |
}) | |
} | |
if (q.length) { | |
q.css({ | |
backgroundPosition: "-374px -1426px" | |
}); | |
q.live("hover", function() { | |
q.attr("style", "backgroundPosition:-363px -1426px;") | |
}) | |
} | |
} | |
}); | |
if ($("#media-player.vms").length > 0) d = $.extend(true, d, { | |
stateChange: function() { | |
$("#media-player ul li.component-container.carousel-panel").removeAttr("aria-hidden"); | |
$("#media-player ul li.component-container.carousel-panel.state-visible").attr("aria-hidden", "false"); | |
$("#media-player ul li.component-container.carousel-panel.state-hidden").attr("aria-hidden", "true") | |
} | |
}); | |
$(this).tileCarousel(d) | |
} else $(this).tileCarousel({ | |
increment: d, | |
skipNav: true | |
}) | |
} | |
}) | |
}, | |
expandDescComponent: function() { | |
$("a.waRRtag, a.expandDesc").each(function() { | |
if ($(this).children().length == 0) { | |
var a = $(this), | |
b = a.text(), | |
d = a.attr("title"); | |
a.bind("mouseover focus", function() { | |
$(this).html("").append(d) | |
}); | |
a.bind("mouseout blur", function() { | |
$(this).html("").append(b) | |
}); | |
a.bind("mousedown", function() { | |
$(this).unbind("focus") | |
}) | |
} | |
}) | |
}, | |
PDPRRexpandDescComponent: function() { | |
$("a.waRRtag, a.expandDesc").each(function() { | |
var a = $(this), | |
b = a[0].firstChild.textContent; | |
title = a.attr("title"); | |
a.bind("mouseover focus", function() { | |
a.text(title) | |
}); | |
a.bind("mouseout blur", function() { | |
a.text(b) | |
}); | |
a.bind("mousedown", function() { | |
a.unbind("focus") | |
}) | |
}) | |
}, | |
renderRRfromJson: function(a, b, d) { | |
var f = 0; | |
templateToUse = ""; | |
templateToUse = typeof renderRRfromJsonVarstemp != "undefined" ? a + "_temp" in renderRRfromJsonVarstemp ? renderRRfromJsonVarstemp[a + "_temp"] : renderRRfromJsonVars[a] : renderRRfromJsonVars[a]; | |
for (var g in RR.data.JSON.placements) | |
if (RR.data.JSON.placements[g].placement_name == b) { | |
responseobj = RR.data.JSON.placements[g]; | |
f = 1; | |
if ("collapse" in templateToUse.placementvalues) | |
if ("minresponsedata" in templateToUse.placementvalues.collapse) | |
if (responseobj.items.length <= templateToUse.placementvalues.collapse.minresponsedata) f = 2; | |
break | |
} | |
if (!(f == 0 || f == 2)) { | |
a = {}; | |
for (var j in templateToUse) a[j] = templateToUse[j]; | |
j = ""; | |
f = responseobj.items; | |
g = ""; | |
var l = /\<[a-zA-Z0-9\"\'\=\s\#]*(type=['"]checkbox['"])[a-zA-Z0-9\"\'\s\=\#]*\/\>/gi, | |
o = /(<!--startscreenreaderonly--\>)[\'\<a-zA-Z0-9\-\>\\\#\s\=\-\/]+(<!--endscreenreaderonly--\>)/gi, | |
v; | |
for (v in templateToUse) { | |
if (v.indexOf("placementvalues") == | |
-1) { | |
if (v.indexOf("loop") > -1) { | |
j = ""; | |
if (v.indexOf("loopfirstitem") > -1) f = [f[0]]; | |
for (var A in f) { | |
var C = templateToUse[v], | |
q = 0, | |
I = ""; | |
if ("collapse" in templateToUse.placementvalues) | |
if ("maxresponsedata" in templateToUse.placementvalues.collapse) | |
if (A == templateToUse.placementvalues.collapse.maxresponsedata) break; | |
var K = f[A].channel; | |
if (K.indexOf(" ") > -1) K = K.replace(/\s/gi, ""); | |
if (K == "storeonly") { | |
if (f[A].soipricedisplay == "N") I += templateToUse.placementvalues.pricevarybystore + templateToUse.placementvalues.storemessages; | |
else if (f[A].soipricedisplay == "Y") { | |
q = 1; | |
K = ""; | |
K = f[A].salePriceMax == f[A].salePriceMin ? templateToUse.placementvalues.isStandaloneSalesPrice : templateToUse.placementvalues.isRangeSalesPrice; | |
K = K.replace(o, ""); | |
I += K + templateToUse.placementvalues.storepricemsg | |
} | |
if (C.match(l)) C = C.replace(l, "") | |
} else I += f[A].mapflag == "Y" && (K == "online" || K == "webonly" || K == "crossover") ? templateToUse.placementvalues.seelowprice : f[A].salePriceMax != "" && f[A].salePriceMin != "" ? f[A].salePriceMax == f[A].salePriceMin ? templateToUse.placementvalues.isStandaloneSalesPrice : | |
templateToUse.placementvalues.isRangeSalesPrice : templateToUse.placementvalues.isStandaloneSalesPrice; | |
if (f[A].priceMax != "" && f[A].priceMin != "") | |
if (f[A].priceMax != f[A].salePriceMax || f[A].priceMin != f[A].salePriceMin) I += f[A].priceMax != f[A].priceMin ? templateToUse.placementvalues.isRangeOriginalPrice : templateToUse.placementvalues.isStandaloneOriginalPrice; | |
if (q == 1) I += templateToUse.placementvalues.storemessages; | |
if (f[A].primaryPromoDescription == "") C = C.replace(globalhtmlreplace.promoText, ""); | |
if (f[A].relationItemType == | |
"VAP") C = C.replace("<li", "<li variation='true'"); | |
C = C.replace(/#pricedisplay#/, I); | |
if (f[A].productReviews == "") C = C.replace(/((<!-- start product rating --\>)[\'\<a-zA-Z0-9\-\>\#\!\s*\/\=\.\%\_\&\*\@\;\?\:\)\(\|]+(<!-- end product rating --\>))/gi, ""); | |
j += d == "#dlpRightRail_2" || d == ".perso-pdpvertical-3" ? this.multipleMatchFunction(C, templateToUse.placementvalues.placementdata, f[A], d) : this.multipleMatchFunction(C, templateToUse.placementvalues.placementdata, f[A], f[A], A == 0 ? "" : d) | |
} | |
templateToUse[v] = v.indexOf("loopfirstitem") > | |
-1 ? j : "<ul>" + j + "</ul>" | |
} else if (templateToUse.placementvalues.placementdata.length > 1) templateToUse[v] = this.multipleMatchFunction(templateToUse[v], templateToUse.placementvalues.placementdata, responseobj, d, A == 0 ? "" : d); | |
g += templateToUse[v] | |
} | |
templateToUse[v] = a[v] | |
} | |
$(d).html(g); | |
d = templateToUse.placementvalues; | |
if ("componentseperator" in d) | |
if (b in d.componentseperator) | |
if ("lineseperator" in d.componentseperator[b]) { | |
b = d.componentseperator[b]; | |
d = b.lineseperator; | |
if (d != "") { | |
$(b.lineplaceholer + d).addClass(b.classname); | |
"checkboxcheck" in b && $(b.lineplaceholer + d).find(b.checkboxcheck) && $(b.lineplaceholer + d + b.checkboxcheck).attr("checked", "checked"); | |
"addhtmlcontent" in b && $(b.addhtmlcontent).insertAfter(b.lineplaceholer + d) | |
} | |
} | |
Target.controller.globalUtils.expandDescComponent(); | |
Target.controller.globalUtils.checkIfCarousal(".component-carousel-1"); | |
Target.controller.globalUtils.checkIfCarousal(".component-carousel-3"); | |
Target.controller.globalUtils.checkIfCarousal(".component-carousel-4"); | |
Target.controller.globalUtils.checkIfCarousal(".component-carousel-5"); | |
Target.controller.globalUtils.checkIfCarousal(".component-carousel-6") | |
} | |
}, | |
setrrImgServer: function(a, b) { | |
return window.location.protocol === "https:" ? "https://" + b : "http://" + a | |
}, | |
setrrImgSrc: function(a, b, d, f) { | |
a = this.setrrImgServer(a, b) + d; | |
b = a.lastIndexOf("."); | |
return a.slice(0, b) + "_" + f + "x" + f + a.slice(b, a.length) | |
}, | |
multipleMatchFunction: function(a, b, d, f) { | |
var g = ""; | |
f = f == ".perso-pdpvertical-3" || f == "#dlpRightRail_2" ? 24 : 36; | |
for (var j in b) { | |
var l = b[j].match(/[a-z0-9A-Z\.\-\_]+/); | |
if (l in d) | |
if (d[l] != "") { | |
if (d[l].indexOf("'") > | |
-1) d[l] = d[l].replace(/\'/gi, "'"); | |
pattern = RegExp(b[j], "gi"); | |
if (l == "rating") { | |
a = a.replace(pattern, ratingsclass[d[l]]); | |
var o = ""; | |
d[l].indexOf(".0") > -1 ? o = parseInt(d[l]) : o = d[l]; | |
a = a.replace(/#screenRating#/gi, o) | |
} else if (l == "productlinktitle") { | |
if (d[l].length >= f) { | |
o = d[l].substring(0, f - 3); | |
o += "..." | |
} else o = d[l]; | |
a = a.replace(pattern, d[l]); | |
a = a.replace(/#producttitledisplay#/gi, o) | |
} else if (l.toString().indexOf("PromoDescription") > -1 && a.indexOf("#promotext#") > -1) g += templateToUse.placementvalues.isPromo.replace(/#promoTextDisplay#/gi, | |
d[l]); | |
else a = a.replace(pattern, d[l]) | |
} else { | |
pattern = l != "productReviews" ? l == "category" ? /((<!-- startcategory --\>)[\'\<a-zA-Z0-9\-\>\#\!\s*\/\=\.\%\_\&\*\@\;\?\:\)\(\|]+(<!-- endcategory --\>))/gi : RegExp(globalhtmlreplace[l], "gi") : /((<!-- start product rating --\>)[\'\<a-zA-Z0-9\-\>\#\!\s*\/\=\.\%\_\&\*\@\;\?\:\)\(\|]+(<!-- end product rating --\>))/gi; | |
a = a.replace(pattern, d[l]) | |
} else if (l.toString().indexOf("custimg_") > -1) { | |
l = l.toString().split("_")[1]; | |
l = this.setrrImgSrc(d.imageServer, d.imageServerSSL, | |
d.image, l); | |
a = a.replace(/#custimg#/gi, l) | |
} else { | |
pattern = l != "productReviews" ? RegExp(globalhtmlreplace[l], "gi") : /((<!-- start product rating --\>)[\'\<a-zA-Z0-9\-\>\#\!\s*\/\=\.\%\_\&\*\@\;\?\:\)\(\|]+(<!-- end product rating --\>))/gi; | |
a = a.replace(pattern, "") | |
} | |
} | |
if (g != "") a = a.replace(/#promotext#/, g); | |
return a | |
}, | |
imgMap: function() { | |
$.each($(".imagemp"), function() { | |
var a = $(this).attr("cords"); | |
if (typeof a != "undefined" && a != "null" && $.trim(a) != "") | |
if (a.split(",").length == 4) { | |
if (typeof $(this).parents(".component")[0] != | |
"undefined" && typeof $(this).parents(".component").find(".image-container")[0] != "undefined") { | |
$(this).parents(".component").find(".image-container").attr("offsetLeft"); | |
$(this).parents(".component").find(".image-container").attr("offsetTop") | |
} else if (typeof $(this).siblings(".image-container")[0] != "undefined") { | |
$(this).siblings(".image-container").attr("offsetLeft"); | |
$(this).siblings(".image-container").attr("offsetTop") | |
} | |
var b = parseInt(a.split(",")[2]) - parseInt(a.split(",")[0]) + "px", | |
d = parseInt(a.split(",")[3]) - | |
parseInt(a.split(",")[1]) + "px", | |
f = parseInt(a.split(",")[0]) + "px"; | |
a = parseInt(a.split(",")[1]) + "px"; | |
$(this).css({ | |
left: f, | |
top: a, | |
width: b, | |
height: d | |
}) | |
} | |
}) | |
}, | |
initRRCarousel: function() { | |
this.checkIfCarousal(".component-carousel-1"); | |
this.checkIfCarousal(".component-carousel-3"); | |
this.checkIfCarousal(".component-carousel-4"); | |
this.checkIfCarousal(".component-carousel-5"); | |
this.checkIfCarousal(".component-carousel-recmm-4"); | |
$(".component-carousel-4coloumns").tileCarousel({ | |
increment: 4, | |
pagination: true, | |
centerPagination: false, | |
encapsulateControls: true | |
}); | |
this.expandDescComponent() | |
}, | |
calculateAge: function(a, b, d) { | |
b = (d + (a <= 9 ? "0" + a : a) + b).match(/(\d{4})(\d{2})(\d{2})/); | |
var f = new Date(b[1], b[2] - 1, b[3]); | |
b = new Date; | |
d = Math.floor((b.getTime() - f.getTime()) / 1E3 / 60 / 60 / 24); | |
for (var g = 0, j = f.getFullYear(); j <= b.getFullYear(); j++) { | |
f = j % 4 == 0 && (j % 100 != 0 || j % 400 == 0) ? 366 : 365; | |
if (!(parseInt(a) >= b.getMonth() + 1 && parseInt(a) >= b.getMonth() + 1 && b.getFullYear() == j)) | |
if (d >= f) { | |
d -= f; | |
g++ | |
} | |
} | |
return g | |
}, | |
getDemoLinkURL: function(a) { | |
var b = Target.controller.reviewed.cookie.read("esrbResponse"); | |
if (b != null && b != "") { | |
b = b.split("_"); | |
var d = $("input[name=ageLimitVer]").val(), | |
f = b[1]; | |
if (b[0] == "YES") | |
if (f >= d) { | |
b = $("#demoOnClick"); | |
d = b.attr("rel"); | |
b.attr({ | |
href: d, | |
target: "_blank" | |
}); | |
b.removeClass("layer"); | |
a && $("#demoOnClick").trigger("click", ["fromDemoLink"]) | |
} | |
} | |
}, | |
recurringMethod: function() { | |
$(".subscribeme").live("click", function() { | |
var a = $(this), | |
b = a.parents("form.no-summary, #modal-check-low-price").find(".button.addtoCart .buttonText, .addtoCart.state-shaded .buttonText"), | |
d = a.parents("form.no-summary, #modal-check-low-price").find(".button.addtoCart, .addtoCart.state-shaded"), | |
f = new Date, | |
g = f.getDate(), | |
j = f.getMonth() + 1; | |
f = f.getFullYear(); | |
var l = a.parents("form.no-summary, #modal-check-low-price").find(".itemLevelService--input"); | |
a.parents("form.no-summary, #modal-check-low-price").find(".babyalertmsg").remove(); | |
if (typeof $(this).parents("#ProductDetailsTop")[0] == "undefined") { | |
a.is(":checked") ? l.show() : l.hide(); | |
a.is(":checked") && l.css("display", "table") | |
} else if (a.is(":checked")) { | |
a.parents("#itemLevelService").animate({ | |
width: "100%" | |
}, 370, function() { | |
l.show(); | |
$("#addToCart").html("subscribe") | |
}); | |
l.css("display", "table") | |
} else { | |
a.parents("#itemLevelService").animate({ | |
width: "228" | |
}, 370, function() { | |
l.hide(); | |
$("#addToCart").html("add to cart") | |
}); | |
a.parents("#itemLevelService").removeClass("expand") | |
} | |
if (a.closest(".j_primaryInfo").length || a.closest("#qinfo").length) { | |
b = a.closest("form.order-item"); | |
b = b.find("#addToCart").length ? b.find("#addToCart") : b.find("#qiAddToCart"); | |
d = b.find(".buttonText"); | |
if (a.is(":checked")) { | |
b.hasClass("state-shaded") ? b.removeClass("addtoCart").removeClass("state-shaded").addClass("subscribe-faded button") : | |
b.removeClass("addtoCart").addClass("subscribe"); | |
b.attr("title", "subscribe"); | |
d.find(".cart-icon").hide(); | |
d.html("subscribe").attr("title", "subscribe"); | |
b = $("#staticTextData"); | |
b = typeof b !== "undefined" ? b.attr("data-json") : null; | |
b = (b ? $.parseJSON(b) : null).subscribeShipMsg; | |
typeof $(this).parents("#ProductDetailsTop") == "undefined" && $("#.shippingPrmLi .shpPrmMsg").html(b) | |
} else { | |
b.hasClass("subscribe-faded") ? b.removeClass("subscribe-faded").removeClass("button").addClass("state-shaded").addClass("addtoCart") : | |
b.removeClass("subscribe").addClass("addtoCart"); | |
b.attr("title", "add to Cart"); | |
d.find(".cart-icon").show(); | |
d.html("add to cart").attr("title", "add to cart"); | |
a.closest(".j_primaryInfo").length ? $(".shippingPrmLi .shpPrmMsg").html(Target.controller.productDetails._pdpShipPromoMsg) : $(".shippingPrmLi .shpPrmMsg").html(Target.controller.globalOverlay._quickInfoShipPromoMsg) | |
} | |
} else { | |
a.is(":checked") ? b.html("subscribe") : b.html("add to cart"); | |
a.is(":checked") ? d.find(".cart-icon").hide() : d.find(".cart-icon").show(); | |
a.is(":checked") ? d.attr("title", "subscribe") : d.attr("title", "add to cart") | |
} | |
babySubscribe = a.parents("form.no-summary, #modal-check-low-price").find(".calendar"); | |
if (g < 10) g = "0" + g; | |
if (j < 10) j = "0" + j; | |
curDate = j + "/" + g + "/" + f; | |
a = $("#startDate").val(); | |
$("#endDate").val(); | |
if (typeof a !== "undefined" && a != "") curDate = a; | |
babySubscribe.attr("value", curDate) | |
}) | |
}, | |
recurringOrderValidate: function(a, b) { | |
var d = b.parents("form.no-summary").find(".babyalertmsg"), | |
f = b.parents("form.no-summary").find(".itemLevelService"); | |
d.remove(); | |
f.before('<p style="clear: both;" class="error-message babyalertmsg" id="babyalertmsg">please uncheck subscribe to add this item to your ' + a + "</p>"); | |
setTimeout(function() { | |
$(document).trigger("updateBuffer.framework"); | |
$("#babyalertmsg.babyalertmsg").attr({ | |
role: "alert", | |
tabindex: "-1" | |
}).focus() | |
}, 1E3) | |
}, | |
RRAddToCart: function() { | |
var a = ""; | |
$("#rr_addtocart, #addToCartOverlay").click(function() { | |
function b(o, v) { | |
var A = 0; | |
o.find(" > li").each(function() { | |
var C = $(this).find("input[type='checkbox']:checked"); | |
$.inArray(C.val(), | |
v) >= 0 && A++ | |
}); | |
return A | |
} | |
var d = 0, | |
f = ""; | |
a = ""; | |
if ($(this).hasClass("state-disabled") !== true) { | |
$("#item_page-pdp_horizontal_2 li").find("input:checked").each(function(o) { | |
if (o > 0) a += "&"; | |
a = a + "partNumber_" + o + "=" + $(this).val() + "&quantity_" + o + "=1" | |
}); | |
$.ajaxSetup({ | |
traditional: true, | |
cache: false | |
}); | |
var g = Target.controller.reviewed.cookie.read("esrbResponse"); | |
if (g != null && g != "") a = a + "&esrbResponse=" + g; | |
$.ajax({ | |
url: "/checkout_itemadd?" + a + "&fromScript=true&overlay=true&fromRR=Y&errorViewName=ErrorResponse", | |
dataType: "json", | |
type: "POST", | |
success: function(o) { | |
if (typeof o.errorMessage != "undefined" && o.errorMessage != "" && o.errorMessage != null) | |
if (o.errorMessageKey == "ESRBRATING_MATURE_TEXT" || o.errorMessageKey == "ESRBRATING_FAILURE") j(o); | |
else { | |
o = "<div class='errorBlock' style='float:right;margin-top:0px;clear:both;'>" + o.errorMessage + "</div>"; | |
$(".errorBlock").remove(); | |
$("#item_page-pdp_horizontal_2").children().length > 0 && $("#item_page-pdp_horizontal_2").after(o) | |
} else o.partNumWithOOS != null && typeof o.partNumWithOOS != "undefined" && o.partNumWithOOS != | |
"" ? l(o) : j(o) | |
} | |
}); | |
var j = function(o) { | |
$.overlay.load({ | |
contentOverride: o.responseHtml, | |
overlayId: o.overlayId, | |
template: o.template, | |
mode: false, | |
target: "#rr_addtocart" | |
}); | |
formerrordisplay("", o.productId) | |
}, | |
l = function(o) { | |
var v = 0; | |
partNumberOutOfStockList = o.partNumWithOOS; | |
var A = $("#rr_addtocart").parent().prev(), | |
C = "<img class='img-soldout' src='" + $("#oosImagePath").val() + "' alt='sold out' />", | |
q = 0; | |
o = ""; | |
var I = b(A, partNumberOutOfStockList); | |
A.find(" > li").each(function() { | |
var p = $(this).find("input[type='checkbox']:checked"); | |
if (typeof p.val() != "undefined") | |
if ($.inArray(p.val(), partNumberOutOfStockList) >= 0) { | |
if (d == 0) { | |
$(this).find("input[type='checkbox']:checked").replaceWith(""); | |
$(this).find("a.layer:first").after(C); | |
p = ""; | |
p = $(this).find("a.layer:first > img").attr("alt"); | |
if (p.indexOf("quick info") > -1) p = p.replace("quick info", ""); | |
$(this).find("a.layer:first > img").attr("alt", p); | |
$(this).find("label").remove(); | |
$(this).find("a.layer:first > img").unwrap().wrap("<p class='pImage' style='display:inline'></p>"); | |
$(this).find("a").click(function(t) { | |
t.preventDefault() | |
}); | |
$(this).find("a").attr("href", ""); | |
cloneli = $(this).clone(); | |
$(this).find(".small-product-image").length > 0 ? productimage = cloneli.find(".small-product-image,.product-image")[0].outerHTML : productimage = cloneli.find(".product-image")[0].outerHTML; | |
$(this).find(".small-product-price").length > 0 ? productprice = cloneli.find(".small-product-price,.product-price")[0].outerHTML : productprice = cloneli.find(".product-price")[0].outerHTML; | |
$(this).find(".small-product-name").length > 0 ? productname = cloneli.find(".small-product-name,.product-name")[0].outerHTML : | |
productname = cloneli.find(".product-name")[0].outerHTML; | |
v += 1; | |
p = v; | |
p = "<div class='RRaddtoCartOverlay'><span class='spandottedImg'>............</span>" + p + " of " + I + "<span class='spandottedImgRight'>............</span></div>"; | |
f += I > 1 ? "<li>" + p + productimage + productprice + productname + "</li>" : productimage + productprice + productname | |
} | |
} else typeof p.val() != "undefined" && q++ | |
}); | |
if (I > 1) f = "<div id='ModalCarousel' class='modelCarouselDisp'><ul class='component-carousel-1'>" + f + "</ul></div>"; | |
A = f; | |
if (q > 0) o = "<div class='addinstockitems'><p class='reviewerrorweight'>Add in-stock items to my cart.</p> <a id='addToCartOverlay' class='button rraddtocart layer' title='add items to cart' name='addToCartOverlay' href='#'><span class='buttonText'>add to cart</span></a></div>"; | |
else $(".rraddtocart").addClass("state-disabled"); | |
var K = $("#reviewSelectionError").val(), | |
Q = $("#reviewError").val(), | |
n = $("#oosError").val(), | |
G = $("#oosMsg").val(); | |
$.overlay.load({ | |
contentOverride: "<div class='main-content'><h2>" + G + "</h2>" + ("<div class='add2cartnew-leftside add2cartnew-leftside-width'>" + A + ("<div class='quantityOOSMessage'><div class='dispQuantity'>Quantity : <span>1</span></div><div class='OOSError'>" + n + "</div></div>") + "</div>") + ("<div class='add2cartnew-rightside add2cartnew-rightsidealignment'><p>" + | |
K + "</p>" + o + "<div class='addinstockitems'><p class='reviewerrorweight'>" + Q + "</p><button title='review items' class='button addtoCart' id='reviewitems' value='1' name='reviewitems' type='submit'><span class='buttonText'>Review Items</span></button></div></div>") + "</div>", | |
target: "#rr_addtocart" | |
}); | |
$("#overlay").addClass("OOS-Overlay"); | |
$("#addToCartOverlay").click(function() { | |
$(".checkBoxTree").trigger("click"); | |
$("#rr_addtocart").trigger("click") | |
}); | |
$("#reviewitems").click(function() { | |
$.overlay.currentOverlay.trigger("close.overlay", | |
true); | |
$(".checkBoxTree").find(":checked").length == 0 ? $(".rraddtocart").addClass("state-disabled") : $(".rraddtocart").removeClass("state-disabled") | |
}); | |
Target.controller.globalUtils.checkIfCarousal(".component-carousel-1"); | |
d = 1 | |
} | |
} | |
}) | |
}, | |
PersoAddToCart: function() { | |
var a = "", | |
b = $(".perso-horizantol-2 .rraddtocart"), | |
d = $(".perso-horizantol-3 .rraddtocart"), | |
f = $(".perso-horizantol-2 .checkBoxTree"), | |
g = $(".perso-horizantol-3 .checkBoxTree"), | |
j = $(".perso-pdpvertical-3 .checkBoxTree"), | |
l = $(".perso-pdpvertical-3 .rraddtocart"); | |
f.find(":checked").length == 0 ? b.addClass("state-disabled").append("<span class='screen-reader-only'> disabled</span>") : b.removeClass("state-disabled"); | |
g.find(":checked").length == 0 ? d.addClass("state-disabled").append("<span class='screen-reader-only'> disabled</span>") : d.removeClass("state-disabled"); | |
j.find(":checked").length == 0 ? l.addClass("state-disabled").append("<span class='screen-reader-only'> disabled</span>") : l.removeClass("state-disabled"); | |
$(".checkBoxTree").click(function() { | |
$(".rraddtocart").find("span.screen-reader-only").remove(); | |
a = ""; | |
f.find(":checked").length == 0 ? b.addClass("state-disabled").append("<span class='screen-reader-only'> disabled</span>") : b.removeClass("state-disabled"); | |
g.find(":checked").length == 0 ? d.addClass("state-disabled").append("<span class='screen-reader-only'> disabled</span>") : d.removeClass("state-disabled"); | |
j.find(":checked").length == 0 ? l.addClass("state-disabled").append("<span class='screen-reader-only'> disabled</span>") : l.removeClass("state-disabled") | |
}); | |
$("#rr_addtocart, #addToCartOverlay").click(function() { | |
function o(Q, | |
n) { | |
var G = 0; | |
Q.find(" > li").each(function() { | |
var p = $(this).find("input[type='checkbox']:checked"); | |
$.inArray(p.val(), n) >= 0 && G++ | |
}); | |
return G | |
} | |
var v = 0, | |
A = ""; | |
a = ""; | |
if ($(this).hasClass("state-disabled") !== true) { | |
$(".checkBoxTree").find(":checked").each(function(Q) { | |
if (Q > 0) a += "&"; | |
a = a + "partNumber_" + Q + "=" + $(this).val() + "&quantity_" + Q + "=1" | |
}); | |
$.ajaxSetup({ | |
traditional: true, | |
cache: false | |
}); | |
var C = Target.controller.reviewed.cookie.read("esrbResponse"); | |
if (C != null && C != "") a = a + "&esrbResponse=" + C; | |
$.ajax({ | |
url: "/checkout_itemadd?" + | |
a + "&fromScript=true&overlay=true&fromRR=Y&errorViewName=ErrorResponse", | |
dataType: "json", | |
type: "POST", | |
success: function(Q) { | |
if (typeof Q.errorMessage != "undefined" && Q.errorMessage != "" && Q.errorMessage != null) | |
if (Q.errorMessageKey == "ESRBRATING_MATURE_TEXT" || Q.errorMessageKey == "ESRBRATING_FAILURE") q(Q); | |
else { | |
Q = "<div class='errorBlock' style='float:right;margin-top:0px;clear:both;'>" + Q.errorMessage + "</div>"; | |
$(".errorBlock").remove(); | |
if ($(".perso-horizantol-2").children().length > 0) $(".perso-horizantol-2").after(Q); | |
else if ($(".perso-horizantol-3").children().length > 0) $(".perso-horizantol-3").after(Q); | |
else $(".perso-pdpvertical-3").children().length > 0 && $(".perso-pdpvertical-3").after(Q) | |
} else Q.partNumWithOOS != null && typeof Q.partNumWithOOS != "undefined" && Q.partNumWithOOS != "" ? I(Q) : q(Q) | |
} | |
}); | |
var q = function(Q) { | |
$.overlay.load({ | |
contentOverride: Q.responseHtml, | |
overlayId: Q.overlayId, | |
template: Q.template, | |
mode: false, | |
target: "#rr_addtocart" | |
}); | |
K("", Q.productId) | |
}, | |
I = function(Q) { | |
var n = 0; | |
partNumberOutOfStockList = Q.partNumWithOOS; | |
var G = $("#rr_addtocart").parent().prev(), | |
p = "<img class='img-soldout' src='" + $("#oosImagePath").val() + "' alt='sold out' />", | |
t = 0; | |
Q = ""; | |
var z = o(G, partNumberOutOfStockList); | |
G.find(" > li").each(function() { | |
var u = $(this).find("input[type='checkbox']:checked"); | |
if (typeof u.val() != "undefined") | |
if ($.inArray(u.val(), partNumberOutOfStockList) >= 0) { | |
if (v == 0) { | |
$(this).find("input[type='checkbox']:checked").replaceWith(""); | |
$(this).find("a.layer:first").after(p); | |
u = ""; | |
u = $(this).find("a.layer:first > img").attr("alt"); | |
if (u.indexOf("quick info") > -1) u = u.replace("quick info", ""); | |
$(this).find("a.layer:first > img").attr("alt", u); | |
$(this).find("label").remove(); | |
$(this).find("a.layer:first > img").unwrap().wrap("<p class='pImage' style='display:inline'></p>"); | |
$(this).find("a").click(function(y) { | |
y.preventDefault() | |
}); | |
$(this).find("a").attr("href", ""); | |
cloneli = $(this).clone(); | |
$(this).find(".small-product-image").length > 0 ? productimage = cloneli.find(".small-product-image,.product-image")[0].outerHTML : productimage = cloneli.find(".product-image")[0].outerHTML; | |
$(this).find(".small-product-price").length > 0 ? productprice = cloneli.find(".small-product-price,.product-price")[0].outerHTML : productprice = cloneli.find(".product-price")[0].outerHTML; | |
$(this).find(".small-product-name").length > 0 ? productname = cloneli.find(".small-product-name,.product-name")[0].outerHTML : productname = cloneli.find(".product-name")[0].outerHTML; | |
n += 1; | |
u = n; | |
u = "<div class='RRaddtoCartOverlay'><span class='spandottedImg'>............</span>" + u + " of " + z + "<span class='spandottedImgRight'>............</span></div>"; | |
A += z > 1 ? "<li>" + u + productimage + productprice + productname + "</li>" : productimage + productprice + productname | |
} | |
} else typeof u.val() != "undefined" && t++ | |
}); | |
if (z > 1) A = "<div id='ModalCarousel' class='modelCarouselDisp'><ul class='component-carousel-1'>" + A + "</ul></div>"; | |
G = A; | |
if (t > 0) Q = "<div class='addinstockitems'><p class='reviewerrorweight'>Add in-stock items to my cart.</p> <a id='addToCartOverlay' class='button rraddtocart layer' title='add items to cart' name='addToCartOverlay' href='#'><span class='buttonText'>add to cart</span></a></div>"; | |
else $(".rraddtocart").addClass("state-disabled"); | |
var D = $("#reviewSelectionError").val(), | |
M = $("#reviewError").val(), | |
B = $("#oosError").val(), | |
m = $("#oosMsg").val(); | |
$.overlay.load({ | |
contentOverride: "<div class='main-content'><h2>" + m + "</h2>" + ("<div class='add2cartnew-leftside add2cartnew-leftside-width'>" + G + ("<div class='quantityOOSMessage'><div class='dispQuantity'>Quantity : <span>1</span></div><div class='OOSError'>" + B + "</div></div>") + "</div>") + ("<div class='add2cartnew-rightside add2cartnew-rightsidealignment'><p>" + | |
D + "</p>" + Q + "<div class='addinstockitems'><p class='reviewerrorweight'>" + M + "</p><button title='review items' class='button addtoCart' id='reviewitems' value='1' name='reviewitems' type='submit'><span class='buttonText'>Review Items</span></button></div></div>") + "</div>", | |
target: "#rr_addtocart" | |
}); | |
$("#overlay").addClass("OOS-Overlay"); | |
$("#addToCartOverlay").click(function() { | |
$(".checkBoxTree").trigger("click"); | |
$("#rr_addtocart").trigger("click") | |
}); | |
$("#reviewitems").click(function() { | |
$.overlay.currentOverlay.trigger("close.overlay", | |
true); | |
$(".checkBoxTree").find(":checked").length == 0 ? $(".rraddtocart").addClass("state-disabled") : $(".rraddtocart").removeClass("state-disabled") | |
}); | |
Target.controller.globalUtils.checkIfCarousal(".component-carousel-1"); | |
v = 1 | |
}, | |
K = function(Q, n, G, p, t, z) { | |
var D = "", | |
M = $("#FormErrors_" + n); | |
D = M.html(); | |
D = Q !== "" ? "<div class='errorBlock'>" + Q + "</div>" : ""; | |
$(".addtoCartDisabled").removeAttr("disabled"); | |
M.html(D); | |
Q = $("#FormErrors_AddToCart"); | |
if (typeof Q !== "undefined" && !Q.hasClass("giftCardsError")) | |
if (p == "TRUE") $("#FormErrors_SpecialItemPrice").append(D); | |
else if (t) $("#FormErrors_QuickInfoAddToCart").append(D); | |
else if (isStorePickUp) { | |
$(".searchFiat").append(D); | |
$(".qtyEdit").val(z); | |
$(".findStoreResult").addClass("fiatHide"); | |
$(".fiatSearch").removeClass("fiatHide"); | |
$(".fiatSearch").addClass("fiatShow"); | |
$("ul.findStore").removeClass("fiatHide"); | |
$("ul.findStore").addClass("fiatShow"); | |
$(".storesTabularData").removeClass("fiatShow"); | |
$(".storesTabularData").addClass("fiatHide"); | |
$("#replaceEdit").addClass("hidden"); | |
$("#pickUpInStoreQty").removeClass("hidden"); | |
$("body").delegate(".qtyEdit ", "keyup", function() { | |
$(".qtyhidden").val($(this).val()) | |
}) | |
} else { | |
var B = $("#FormErrors_AddToCart"); | |
B.append(D); | |
B.html() && B.html().length !== 0 && setTimeout(function() { | |
$(document).trigger("updateBuffer.framework"); | |
B.focus().attr({ | |
role: "alert", | |
tabindex: "-1" | |
}) | |
}, 1E3) | |
} | |
if (n != G && !isStorePickUp) { | |
$("#FormErrors_" + G).append(D); | |
if (M !== undefined) { | |
z = M.siblings('input[name^="quantity_"]'); | |
if (z !== undefined && z.length) { | |
n = z.attr("name").split("_")[1]; | |
$("#collection").length && z.val() === "0" && $("#catEntryId_" + | |
n).remove() | |
} | |
} | |
} | |
} | |
} | |
}); | |
$(".perso_vertical_6_1").ready(function() { | |
var o = $(".perso_vertical_6_1 ul li"); | |
o.eq(0).addClass("lastRowItem"); | |
o.eq(1).addClass("lastRowItem"); | |
o.filter(":odd").addClass("lastlistItem") | |
}) | |
}, | |
DvmAdInit: function() { | |
var a = document.createElement("script"); | |
a.async = true; | |
a.type = "text/javascript"; | |
a.src = ("https:" == document.location.protocol ? "https:" : "http:") + "//www.googletagservices.com/tag/js/gpt.js"; | |
var b = document.getElementsByTagName("script")[0]; | |
b.parentNode.insertBefore(a, b); | |
console.log("Dvm Ad Init ::", | |
a.src) | |
}, | |
getObjSize: function(a) { | |
var b = 0, | |
d; | |
if (typeof a == "string") b = a.length; | |
else | |
for (d in a) a.hasOwnProperty(d) && b++; | |
return b | |
}, | |
DvmAdDisplay: function(a) { | |
var b = this, | |
d, f, g, j, l; | |
try { | |
b.getObjSize(a) != 0 && googletag.cmd.push(function() { | |
$.each(dfp_placements.dfp_adUnit, function(v, A) { | |
d = $.trim(A.dfp_placementID); | |
f = $.trim(A.dfp_category); | |
g = A.dfp_dimension; | |
if (b.getObjSize(d) != 0 && b.getObjSize(f) != 0 && b.getObjSize(g) != 0) { | |
j = googletag.defineSlot(f, g, d); | |
j.addService(googletag.pubads()); | |
b.getObjSize(A.dfp_adLevelTargetVal) != | |
0 && $.each(A.dfp_adLevelTargetVal, function(C, q) { | |
$.each(q, function(I, K) { | |
b.getObjSize(I) != 0 && j.setTargeting(I, K) | |
}) | |
}); | |
j.setCollapseEmptyDiv(true) | |
} | |
}); | |
googletag.pubads().addEventListener("slotRenderEnded", function() { | |
$("iframe").attr("title", "3rd party advertisement"); | |
$("#dvm_gpt-category_page-site_merch_promo_global_slot iframe").attr("title", "Target Promotions"); | |
$("#dvm_gpt-category_page-site_merch_promo_banner iframe").attr("title", "Target Promotions"); | |
$("iframe").attr("role", "presentation") | |
}); | |
googletag.pubads().enableSingleRequest(); | |
googletag.pubads().enableAsyncRendering(); | |
l = dfp_placements.dfp_ppid; | |
l != "-1002" && b.getObjSize(l) != 0 && googletag.pubads().setPublisherProvidedId(l); | |
googletag.enableServices(); | |
b.getObjSize(a.dfp_pageLevelTargetVal) != 0 && $.each(a.dfp_pageLevelTargetVal, function(v, A) { | |
$.each(A, function(C, q) { | |
if (typeof q.s_vi === "undefined" || q.s_vi == "") q.s_vi = gpt_siteCatalystId != "" ? gpt_siteCatalystId : ""; | |
b.getObjSize(C) != 0 && googletag.pubads().setTargeting(C, q) | |
}) | |
}); | |
$.each(dfp_placements.dfp_adUnit, function(v, A) { | |
d = $.trim(A.dfp_placementID); | |
googletag.display(d) | |
}) | |
}) | |
} catch (o) { | |
console.log(o.message) | |
} | |
}, | |
validateReferrer: function() { | |
if (document.referrer && document.referrer != "") { | |
ref = document.referrer; | |
ref_hostname = ref.match(/:\/\/(.[^/]+)/)[1]; | |
ostVal = ref_hostname.indexOf("target.com") > -1 ? false : true | |
} else ostVal = false; | |
return ostVal | |
}, | |
DVMAdDisplayAfterLazy: function(a) { | |
setTimeout(function() { | |
$.each(a.dfp_adUnit, function(b, d) { | |
dfpPlacementId = $.trim(d.dfp_placementID); | |
contentLength = $("#" + dfpPlacementId).html().trim().length; | |
!contentLength > 0 && googletag.display(dfpPlacementId) | |
}) | |
}, | |
300); | |
msnryFunction(3) | |
} | |
}); | |
var imageMaxWidth = 0; | |
function s7jsonResponse(a) { | |
$.each(a, function(b, d) { | |
if (b == "image.width") imageMaxWidth = d | |
}) | |
} | |
function s7jsonError() { | |
imageMaxWidth = 0 | |
} | |
$(".pdp-rightrail").undelegate(); | |
function miniOverlay(a) { | |
this._defaultConfig = $.extend({ | |
zIndex: 100, | |
x: 0, | |
y: 0, | |
contentID: "miniOverlay", | |
parentContainer: "body", | |
content: "", | |
wraperClass: "miniOverlay", | |
prefetch: function() {}, | |
postfetch: function() {}, | |
preClose: function() {}, | |
postClose: function() {}, | |
origin: $(document), | |
closeOtherMiniOverlays: false | |
}, a); | |
_mo = this; | |
this._construct = function(b) { | |
b.closeOtherMiniOverlays && $(".overlay-content-wrap").parent().remove(); | |
b.prefetch(); | |
var d = "<div " + (b.wraperClass != "" ? 'class="' + b.wraperClass + '"' : "") + (b.contentID != "" ? | |
' id="' + b.contentID + '"' : "") + "><div class='esrb-curtain'></div><div class='overlay-content-wrap'>" + (b.content != "" ? b.content : "") + "</div>" + (b.close ? "<div id='close-button'><a title='Close overlay' class='overlay-close' href='#'>Close overlay</a></div>" : "") + "</div>"; | |
$(b.parentContainer).append(d); | |
$(b.parentContainer).find(".overlay-close").bind("click", function(f) { | |
f.preventDefault(); | |
f.stopPropagation(); | |
_mo.closeOverlay(null) | |
}); | |
b.postfetch() | |
}(this._defaultConfig); | |
this.closeOverlay = function() { | |
_mo._defaultConfig.preClose(); | |
$("." + _mo._defaultConfig.wraperClass).hide().remove(); | |
_mo._defaultConfig.origin.attr("tabindex", -1).focus(); | |
_mo._defaultConfig.postClose() | |
} | |
} | |
shopLook = function(a, b) { | |
this._cfg = { | |
preAjax: function() {}, | |
postAjax: function() {}, | |
productTemplate: "", | |
_container: $(document), | |
postFetching: function() {}, | |
postSwatchChange: function() {}, | |
preFetching: function() {}, | |
postAddToCart: function() {}, | |
isVariationItem: false, | |
isSecondVAriation: false, | |
not_online: '<span class="store-only"><span class="x-grey">currently unavailable online</span> </span>', | |
out_of_stock: '<span class="out-of-stock" role="alert" aria-hidden="true">out of stock</span>', | |
store_only: '<span class="store-only"><span class="x-grey">available</span> only in stores</span>', | |
add_to_cart_button: '<a title="add" class="button new-small-button perso-addtocart" href="#add-to-cart"><span class="buttonText">add</span></a>', | |
currentSwatch: "", | |
preorder_button: '<a class="button new-preorder-button perso-addtocart" title="pre-order now"><span class="buttonText">pre-order now</span></a>', | |
addToCartURL: "/checkout_itemadd?", | |
added_to_cart_button: '<span title="added" class="button new-small-button button-added"><span class="buttonText" role="alert">added</span></span>', | |
initiated: false, | |
ESRBTemplate: "<p>Please certify that you are old enough to buy this item. You must be age ##age## or older.</p><span class='esrb-buttons'><button class='button esrb-yes'><span class='buttonText '>yes. <span class='age-statement'> I am age ##age## or older.</span></span></button></span><span class='esrb-buttons'><button class='button esrb-no'><span class='buttonText'>no <span class='age-statement'> I am under ##age##.</span></span></button></span>" | |
}; | |
var d = this; | |
this.addedTCIN = false; | |
for (var f in b) this._cfg[f] = | |
b[f]; | |
for (f in this._cfg) this[f] = this._cfg[f]; | |
d.partObj = a; | |
this.changeSwatch = function(g, j, l) { | |
this.nullSize = true; | |
this.currentVariation = ""; | |
this.currentSwatch = g; | |
this.currentVariation = d.sizeSelection; | |
try { | |
j = 0; | |
if (typeof this.currentVariation != "undefined") { | |
j = this.findIndex(this.swatchObject['"' + this.currentSwatch + '"'].sizes, this.currentVariation); | |
if (!j > 0) { | |
this.nullSize = true; | |
j = 0; | |
this.sizeSelection = "" | |
} else this.nullSize = false | |
} | |
currentCatID = this.swatchObject['"' + g + '"'].catID[j]; | |
this.paintResponse(this.prepareProductContent(this.partObj.products[this.partObj.map[currentCatID]]), | |
l); | |
this._container.find(".product-wrap").replaceWith(this._html); | |
this.postSwatchChange(this) | |
} catch (o) { | |
console.log("null selection of swatch"); | |
this._container.find(".swatch-wrap .swatchcolor").removeClass("selected").text("").append('<span class="default-selection">Please make a selection</span>'); | |
return false | |
} | |
}; | |
this.createSlider = function(g, j) { | |
if (typeof g.swatches != "undefined" && g.swatches.length > 0) { | |
d.isVariationItem = true; | |
try { | |
if (typeof eval(g.variations) != "undefined") { | |
var l = {}; | |
d.colors = []; | |
var o = g.swatches, | |
v; | |
for (v in o) | |
for (jj in o[v].Attributes) | |
if (o[v].Attributes[jj] == 1) { | |
var A = jj.split(":"); | |
d.firstvariation = A[0]; | |
typeof l['"' + A[1] + '"'] == "undefined" && d.colors.push(A[1].replace(/-quot-/g, '"')); | |
if (d.partObj.map[o[v].catentry_id] == d.partNumber) d.defaultSwatch = A[1].replace(/-quot-/g, '"') | |
} else { | |
d.isSecondVAriation = true; | |
var C = jj.split(":"); | |
d.secondVariationText = C[0] | |
} | |
d.swatchObject = eval(g.variations) | |
} else d.swatchObject = this.prepareSwatchesObject(g.swatches) | |
} catch (q) { | |
console.log("some error occured while calling prepareSwatchesObject") | |
} | |
} else d.isVariationItem = | |
false; | |
l = {}; | |
try { | |
l = d.prepareProductContent(g.products[j]) | |
} catch (I) { | |
console.log("some error occured while calling prepareProductContent") | |
} | |
this.preFetching(l); | |
isPainted = d.paintResponse(l, d.productTemplate); | |
d.getBulkShipping(); | |
if (isPainted) { | |
d._container.html(d._html); | |
d.addListners(); | |
return d.initiated = true | |
} | |
}; | |
this.getBulkShipping = function() { | |
var g = ""; | |
try { | |
g = typeof d.partObj.bulkShipping != "undefind" && d.partObj.bulkShipping.bulkShippingFlag == "Y" ? "<div class='bulk-order'><span class='truck-icon'> </span><span class='oversizeLbl'>" + | |
d.partObj.bulkShipping.oversizeLbl + "</span><div class='oversizeNotice tipnoteTrigger tipType-info'><p><a href=\"#\" rel=\"nofollow\" class=\"tipnoteRef\">More information bulk shipping</a></p><div class='tooltipBox'><div class='tipnoteText'><div class='tipnoteTitle'>" + d.partObj.bulkShipping.tipnoteTitle + "</div>Certain fragile or oversized items may incur an oversized handling fee. This fee will be reflected in checkout.</div><a title='close' class='tipnoteClose screen-reader-only' href='#tipnoteClose'>close</a></div></div></div>" : | |
"" | |
} catch (j) { | |
console.log("bulk shipping may be undefined") | |
} | |
d._html += g | |
}; | |
this.addListners = function() { | |
this._container.delegate(".perso-swatchtool", "click", function(g) { | |
g.stopPropagation(); | |
g.preventDefault(); | |
d.swatchSelection = $(this).find("input").val(); | |
d.swatchSelection != "" && d._container.find(".selection-error").hide(); | |
d.changeSwatch(d.swatchSelection, d.partNumber, d.productTemplate) | |
}); | |
this._container.delegate(".swatchesList", "change", function(g) { | |
g.stopPropagation(); | |
g.preventDefault(); | |
d.swatchSelection = | |
this.value; | |
d.swatchSelection != "" && d._container.find(".selection-error").hide(); | |
d.changeSwatch(d.swatchSelection, d.partNumber, d.productTemplate) | |
}); | |
this._container.delegate(".second-variation", "change", function(g) { | |
g.stopPropagation(); | |
g.preventDefault(); | |
d.sizeSelection = this.value; | |
d.sizeSelection != "" && d._container.find(".swatch-error").remove(); | |
d.changeSwatch(d.currentSwatch, d.partNumber, d.productTemplate, d.sizeSelection) | |
}); | |
this._container.delegate(".perso-addtocart", "click", function(g) { | |
g.preventDefault(); | |
g.stopPropagation(); | |
d.addToCart(d.partNumber) | |
}); | |
this._container.delegate("#esrb .esrb-yes", "click", function(g) { | |
g.preventDefault(); | |
g.stopPropagation(); | |
g = ""; | |
g = "YES_" + d.ageLimit + "_" + d.ageLimit + "_ESRBPAGE"; | |
Target.controller.reviewed.cookie.create("esrbResponse", g); | |
g = "esrbResponse=" + g + "; path=/"; | |
d.esrbOverlay.closeOverlay(); | |
d.addToCart(d.addedTCIN, g) | |
}); | |
this._container.delegate("#esrb .esrb-no", "click", function(g) { | |
g.preventDefault(); | |
g.stopPropagation(); | |
d.esrbOverlay.closeOverlay() | |
}); | |
this._container.find(".tipnoteTrigger").tipNote({ | |
showLeft: true | |
}); | |
return true | |
}; | |
this.prepareProductContent = function(g) { | |
var j = {}; | |
j.primary_image = g.Attributes.thumb_img != null ? g.Attributes.thumb_img : null; | |
if (g.Attributes.price.formattedOfferPrice == "Too low to display") j.see_low_price = '<div class="seelow-wrap"><a href="' + g.Attributes.seoUrl + '" class="seelow" title="see low price">see low price</a></div>'; | |
else { | |
if (g.Attributes.price.formattedOfferPrice != "null" && g.Attributes.price.formattedOfferPrice != "") j.offerprice = '<div class="priceclass"><strong class="screen-reader-only">Sale Price</strong><span class="priceval">' + | |
g.Attributes.price.formattedOfferPrice + "</span></div>"; | |
if (g.Attributes.price.formattedListPrice != "null" && g.Attributes.price.formattedListPrice != "") j.regprice = '<div class="regtext">Reg: <del><strong class="screen-reader-only">Original Price</strong>' + g.Attributes.price.formattedListPrice + "</del></div>" | |
} | |
try { | |
if (g.Attributes.price.eyeBrow != "null" && g.Attributes.price.eyeBrow != "" && g.Attributes.price.formattedOfferPrice != "Too low to display") j.eyebrow = '<div class="eyebrow" id="eyebrow" >' + g.Attributes.price.eyeBrow + | |
"</div>" | |
} catch (l) { | |
console.log('Error at "Eyebrow"') | |
} | |
try { | |
g.Attributes.promo.overview[0].short_desc = g.Attributes.promo.overview[0].short_desc.replace(/-quot-/g, '"'); | |
j.promo = typeof g.Attributes.promo.overview[0].short_desc != undefined ? '<div class="product-promotion">' + g.Attributes.promo.overview[0].short_desc + "</div>" : "" | |
} catch (o) { | |
console.log("Error at promo") | |
} | |
d.swatchesTemplate = ""; | |
if (d.isVariationItem) { | |
j.swatchesTemplate = d.createSwatches(); | |
d._selectedSwatch = typeof d.currentSwatch == "undefined" || d.currentSwatch == | |
"" ? d.defaultSwatch : d.currentSwatch; | |
if (typeof d.swatchObject['"' + d._selectedSwatch + '"'] != "undefined" && typeof d.swatchObject['"' + d._selectedSwatch + '"'].sizes != "undefined") j.secondvariation = '<div class="second-variation-wrap"><span class="variation-text">' + d.secondVariationText + ':</span><span class="variation-selection">' + d.createSecondVariation(d._selectedSwatch) + "</span></div>"; | |
else if (typeof d._selectedSwatch == "undefined" && d.isSecondVAriation) j.secondvariation = '<div class="second-variation-wrap"><span class="variation-text">' + | |
d.secondVariationText + ':</span><span class="variation-selection">' + d.createSecondVariation(d._selectedSwatch) + "</span></div>"; | |
j.firstvariation = d.firstvariation | |
} | |
j.out_of_stock = j.addtocartbutton = ""; | |
j.addedtocartbutton = d.added_to_cart_button; | |
if (d._container.find(".swatch-error").length > 0) j.swatch_error = '<p class="error-message swatch-error" role="alert">Please choose a ' + d.secondVariationText + ".</p>"; | |
if (!d.initiated && typeof d.partObj.addToCart != "undefined" && d.partObj.addToCart.a2Cstatus == "YES") j.addtocartbutton = | |
d.added_to_cart_button; | |
else if (!d.initiated && typeof d.partObj.addToCart != "undefined" && d.partObj.addToCart.a2Cstatus == "NO") j.responseerrors = '<p class="error-message swatch-error" role="alert">' + d.partObj.addToCart.msg + "</p>"; | |
else if (d.nullSize) j.addtocartbutton = d.add_to_cart_button; | |
else if (d.isVariationItem && !d.initiated) j.addtocartbutton = d.add_to_cart_button; | |
else if (g.Attributes.inventory.channel_code != 1 && g.Attributes.inventory.isBuyable == "true") | |
if (g.Attributes.inventory.inv_code == 6) { | |
d.oos = true; | |
j.out_of_stock = !d.initiated ? d.out_of_stock.replace(/role.*?\s/, "") : d.out_of_stock | |
} else j.addtocartbutton = d.getAddToCartButton(g); | |
else j.addtocartbutton = d.store_only; | |
j.sliderpartnumber = d.partNumber; | |
if (g.productTitle != "") { | |
g.productTitle.replace(/-quot-/g, '"'); | |
j.title = g.productTitle; | |
j.shortTitle = g.productTitle.length > 36 ? g.productTitle.substring(0, 36) + "..." : g.productTitle; | |
j.PDPURL = g.Attributes.seoUrl | |
} | |
if (d.isVariationItem) j.var_height = d.isSecondVAriation ? " double-var" : " single-var"; | |
return j | |
}; | |
this.getAddToCartButton = | |
function(g) { | |
if (g.Attributes.inventory.channel_code != 1 && g.Attributes.inventory.isBuyable == "true") return g.Attributes.inventory.inv_code == 1 ? this.add_to_cart_button + '<span class="allow-time"><span class="screen-reader-only">Alert</span> ' + g.Attributes.inventory.status + "</span>" : g.Attributes.inventory.inv_code == 3 ? this.add_to_cart_button + '<span class="inv-message">' + g.Attributes.inventory.status + '</span><span class="sup-msg">' + g.Attributes.inventory.sup_msg + "</span>" : g.Attributes.inventory.inv_code == | |
4 ? this.preorder_button + '<span class="release-date">' + this.getReleaseDate(g.Attributes.inventory.status) + "</span>" : g.Attributes.inventory.inv_code == 5 ? '<span class="release-date">' + this.getReleaseDate(g.Attributes.inventory.status) + "</span>" : g.Attributes.inventory.inv_code == 6 ? "" : this.add_to_cart_button | |
}; | |
this.getReleaseDate = function(g) { | |
return '<span class="rd">' + this.partObj.staticText.releaseDate + '</span><span class="rdt">' + g.replace(/release\sdate\:/, "") + "</span>" | |
}; | |
this.createSwatches = function() { | |
var g = | |
"", | |
j = ""; | |
if (d.colors.length > 0) { | |
if (d.colors.length < 10 && d.firstvariation.match(/(color|variation)/)) { | |
for (var l in d.swatchObject) { | |
j = d.partObj.products[d.partObj.map[d.swatchObject[l].catID[0]]].Attributes.thumb_img.replace(/\/\w+\.?\w+$/, "/" + d.partObj.products[d.partObj.map[d.swatchObject[l].catID[0]]].Attributes.partNumber + "_Swatch.jpg"); | |
g += '<li class="perso-swatchtool ' + ('"' + d.currentSwatch + '"' == l ? "selected" : "") + '" ><input type="radio" ' + ('"' + d.currentSwatch + '"' == l ? "checked" : "") + ' name="attr-swatchColor" title=' + | |
l + " value=" + l + " alt=" + l + ' src="' + d.partObj.products[d.partObj.map[d.swatchObject[l].catID[0]]].Attributes.thumb_img + '" class="qiWithVariation" ><img width="12" height="12" src="' + j + '" alt=""></li>' | |
} | |
g = '<ul class="perso-swatches">' + g + "</ul>" | |
} else g = d.createDropDown(d.colors, d.currentSwatch, "attr-swatchColor", "", "swatchesList", "Please make a selection"); | |
g = '<div class="swatch-wrap"><label class="colorlegend">' + d.firstvariation + ':</label><span class="swatchcolor selected"> ' + (d.currentSwatch != "" ? | |
d.currentSwatch : '<span class="default-selection">Please make a selection</span>') + "</span>" + g + "</div>" | |
} else g = '<div class="swatch-wrap" ><fieldset><legend class="colorlegend">' + d.firstvariation + ': </legend><span class="swatchcolor"> ' + d.currentSwatch + "</span>" + g + "</fieldset></div>"; | |
return g | |
}; | |
this.createSecondVariation = function(g) { | |
d.isSecondVAriation = true; | |
d.selectedSize = ""; | |
return typeof g != "undefined" ? d.createDropDown(d.swatchObject['"' + g + '"'].sizes, d.currentVariation, "secondvariation", "", "second-variation", | |
"Please make a selection") : d.createDropDown(d.sizeVals, d.currentVariation, "secondvariation", "", "second-variation", "Please make a selection") | |
}; | |
this.createDropDown = function(g, j, l, o, v, A) { | |
A = "<option value=''>" + (typeof A != "undefined" ? A : "Select Item") + "</option>"; | |
for (var C in g) A += '<option value="' + g[C] + '" ' + (j != "" && g[C] == j ? 'selected="selected"' : "") + " >" + g[C] + "</option>"; | |
return "<select " + (l != "" ? 'name="' + l + '"' : "") + " " + (v != "" ? 'class="' + v + '"' : "") + " " + (o != "" ? 'id="' + o + '"' : "") + ">" + A + "</select>" | |
}; | |
this.paintResponse = | |
function(g, j) { | |
var l, o; | |
for (o in g) { | |
l = RegExp("##" + o.toString() + "##", "g"); | |
j = j.replace(l, g[o]) | |
} | |
this._html = j = j.replace(/##\w+\b##/g, ""); | |
return true | |
}; | |
this.prepareSwatchesObject = function(g) { | |
var j = {}; | |
d.colors = []; | |
d.sizeVals = []; | |
for (var l in g) | |
for (jj in g[l].Attributes) | |
if (g[l].Attributes[jj] == 1) { | |
var o = jj.split(":"); | |
d.firstvariation = o[0]; | |
if (typeof j['"' + o[1] + '"'] == "undefined") { | |
d.colors.push(o[1].replace(/-quot-/g, '"')); | |
j['"' + o[1] + '"'] = {} | |
} | |
if (typeof j['"' + o[1] + '"'].catID == "undefined") j['"' + o[1] + '"'].catID = []; | |
if (d.partObj.map[g[l].catentry_id] == | |
d.partNumber) d.defaultSwatch = o[1].replace(/-quot-/g, '"'); | |
j['"' + o[1] + '"'].catID.push(g[l].catentry_id.replace(/-quot-/g, '"')) | |
} else { | |
d.isSecondVAriation = true; | |
var v = jj.split(":"); | |
d.secondVariationText = v[0]; | |
if (typeof j['"' + o[1] + '"'].sizes == "undefined") j['"' + o[1] + '"'].sizes = []; | |
v[1] = v[1].replace(/-quot-/g, '"'); | |
j['"' + o[1] + '"'].sizes.push(v[1]); | |
$.inArray(v[1], d.sizeVals) == -1 && d.sizeVals.push(v[1]) | |
} | |
return j | |
}; | |
d.createSlider(a, this.partNumber) && d.postFetching(d); | |
this.init = void 0; | |
this.addToCart = function(g, j) { | |
this.addedTCIN = | |
false; | |
if (this.isVariationItem) { | |
if (typeof d.swatchSelection == "undefined" || d.swatchSelection == "") this.showSwatchError("Please choose a " + this.firstvariation + "."); | |
if (this.isSecondVAriation && (typeof d.sizeSelection == "undefined" || d.sizeSelection == "")) this.showError(g, "Please choose a " + this.secondVariationText + ".") | |
} else this.addedTCIN = g; | |
if (this.isSecondVAriation) { | |
if (this.currentSwatch != "" && this.sizeSelection != "") { | |
this.elementIndex = this.findIndex(this.swatchObject['"' + this.currentSwatch + '"'].sizes, this._container.find(".second-variation option:selected").val()); | |
var l = this.swatchObject['"' + this.currentSwatch + '"'].catID[this.elementIndex]; | |
if (typeof l != "undefined" && l != "") this.addedTCIN = this.partObj.map[l] | |
} | |
} else if (typeof this.currentSwatch != "undefined" && this.currentSwatch != "") this.addedTCIN = this.partObj.map[this.swatchObject['"' + this.currentSwatch + '"'].catID[0]]; | |
if (!this.addedTCIN) return false; | |
this.ajaxurl = this.addToCartURL + "partNumber_0=" + this.addedTCIN.toString() + "&quantity_0=1&fromScript=true&overlay=true&errorViewName=ErrorResponse&fromAddTocartOverlay=Y&noRespHtmlNeeded=Y&" + | |
(typeof j != "undefined" ? "&" + j : "") + "&" + this.getESRBCookie(); | |
$.ajax({ | |
dataType: "json", | |
url: this.ajaxurl, | |
type: "POST", | |
success: function(o) { | |
d.manageAddToCartResponse(o) | |
} | |
}) | |
}; | |
this.getESRBCookie = function() { | |
var g = Target.controller.header.cookie.read("esrbResponse"); | |
return g != "" ? "esrbResponse=" + g : "" | |
}; | |
this.manageAddToCartResponse = function(g) { | |
if (typeof g.errorMessageKey != undefined && g.errorMessage != "" && g.errorMessage != null) | |
if (g.errorMessageKey == "SHOP_INVENTORY_EQUAL") { | |
this.partObj.products[this.addedTCIN].Attributes.inventory.inv_code = | |
6; | |
this.handleOOS(this.addedTCIN) | |
} else if (g.errorMessageKey == "ESRBRATING_MATURE_TEXT" || g.errorMessageKey == "ESRBRATING_FAILURE") { | |
this.ageLimit = g.quantityUpdate; | |
this.handleESRB(this.ageLimit) | |
} else this.showError(this.partNumber, g.errorMessage); | |
else if (g.overlayId != undefined && g.overlayId == "addtocart") { | |
typeof g.responseHtml != "undefined" && g.responseHtml != null && g.responseHtml != "" && Target.controller.reviewed.cookie.create("cartQty", g.responseHtml); | |
this._cart_count = parseInt($("#mini-cart-icon .count").text().match(/\d+/)) + | |
1; | |
$("#mini-cart-icon .count").text(this._cart_count); | |
this._container.find(".perso-addtocart").replaceWith(this.added_to_cart_button); | |
this._container.find(".button-wrap").attr("tabindex", "-1").focus() | |
} | |
this.postAddToCart(this, g) | |
}; | |
this.handleESRB = function(g) { | |
this.esrbOverlay = new miniOverlay({ | |
zIndex: 400, | |
parentContainer: d._container.find(".product-wrap"), | |
contentID: "esrb", | |
wraperClass: "esrbOverlay", | |
content: '<div class="esrb-wraper">' + d.ESRBTemplate.replace(/##age##/g, g) + "</div>", | |
closeOtherMiniOverlays: true, | |
close: false, | |
prefetch: function() { | |
typeof d.esrbOverlay != "undefined" && d.esrbOverlay.closeOverlay(); | |
d._container.find(".bulk-order").hide() | |
}, | |
postfetch: function() { | |
var j = $("#esrb").parents(".list-wrap:first").position(); | |
console.log(j); | |
$("#esrb").css({ | |
left: j.left + "px", | |
top: j.top + "px" | |
}); | |
window.setTimeout(function() { | |
$("#" + _mo._defaultConfig.contentID).find("p:first").attr("tabindex", "-1").focus() | |
}, 100); | |
console.log("postfetch called") | |
}, | |
preClose: function() { | |
d._container.find(".bulk-order").show() | |
}, | |
origin: d._container.find(".perso-addtocart") | |
}) | |
}; | |
this.showError = function(g, j) { | |
this._container.find(".swatch-error").length > 0 ? this._container.find(".swatch-error").text(j).show() : $('<p class="error-message swatch-error" role="alert">' + j + "</p>").insertBefore(this._container.find(".button-wrap")) | |
}; | |
this.showSwatchError = function(g) { | |
this._container.find(".selection-error").length > 0 ? this._container.find(".selection-error").text(g).show() : this._container.find(".swatch-wrap").append($('<p class="error-message selection-error" role="alert">' + g + "</p>")) | |
}; | |
this.handleOOS = function(g) { | |
g = this.partObj.products[g].Attributes.inventory; | |
if (g.channel_code != 1) | |
if (g.inv_code == 6) { | |
this._container.find(".perso-addtocart").remove(); | |
this._container.find(".prod-image .out-of-stock").length > 0 ? this._container.find(".prod-image .out-of-stock").show() : this._container.find(".prod-image").prepend(this.out_of_stock); | |
g = this._container.find(".prod-image img"); | |
var j = g.attr("alt"); | |
g.attr("alt", j.replace("quick info", "out of stock")); | |
this._container.find("a.layer").replaceWith(g); | |
var l = this._container.find("p.button-wrap").append('<span class="blank-span screen-reader-only"> </span>'); | |
window.setTimeout(function() { | |
l.attr("tabindex", "-1").focus() | |
}, 100) | |
} else { | |
this._container.find(".perso-addtocart").removeAttr("aria-hidden").show(); | |
this._container.find(".prod-image .out-of-stock").hide(); | |
this._container.find(".store-only").remove() | |
} else this._container.find(".perso-addtocart").replaceWith(this.store_only) | |
}; | |
this.handleA2CButton = function(g, j) { | |
try { | |
this._container.find(".button-wrap").html(this.getAddToCartButton(this.partObj.products[j])) | |
} catch (l) { | |
console.log("Error in getAddToCartButton >>" + | |
l) | |
} | |
}; | |
this.findIndex = function(g, j) { | |
for (var l in g) | |
if (g[l] == j) return l; | |
else l++; | |
return null | |
}; | |
this.findAddedTCIN = function(g) { | |
if (this.isVariationItem) | |
if (this.isSecondVAriation) { | |
if (this.currentSwatch != "") | |
if (this._container.find(".second-variation option:selected").val() != "") { | |
this.elementIndex = this.findIndex(this.swatchObject['"' + this.currentSwatch + '"'].sizes, this._container.find(".second-variation option:selected").val()); | |
g = this.swatchObject['"' + this.currentSwatch + '"'].catID[this.elementIndex]; | |
if (typeof g == | |
"undefined" || g == "") return false; | |
else this.addedTCIN = this.partObj.map[g] | |
} else return false | |
} else if (typeof this.currentSwatch != "undefined" && this.currentSwatch != "") this.addedTCIN = this.partObj.map[this.swatchObject['"' + this.currentSwatch + '"'].catID[0]]; | |
else return false; | |
else this.addedTCIN = g; | |
return this.addedTCIN | |
} | |
}; | |
zoomImage = function(a) { | |
if (typeof $("#zoomoverlay")[0] == "undefined") { | |
$("body").append('<div id="zoomoverlay" class="zoomView"></div>'); | |
$("body").append('<div id="zoompicker"> </div>') | |
} | |
if ($("#dynamicImageFlag").val() == "true") var b = a.attr("src").split("?")[0] + "?scl=1"; | |
else { | |
selectedAltImg = a.parents(".HeroPrimContainer").siblings().find(".imgAnchor.selectedImage").siblings("#imagePosition"); | |
pNumber = typeof a.parent().siblings(".zoomItemPartNum")[0] != "undefined" ? a.parent().siblings(".zoomItemPartNum").val() : | |
a.parent().siblings(".zoomProductPartNum").val(); | |
if (a.attr("src").match("_Alt[0-9]{2}")) pNumber += a.attr("src").match("_Alt[0-9]{2}"); | |
b = "http://target.scene7.com/is/image/Target/" + pNumber + "?scl=1" | |
} | |
var d = a.offset(), | |
f = d.left, | |
g = d.left + a.width(), | |
j = d.top + a.height(), | |
l = d.top, | |
o = a.width(), | |
v = a.height(), | |
A = a.attr("zoomVar"); | |
A = eval(A)[0]; | |
var C = A.width, | |
q = A.height; | |
A = A.position; | |
b = b; | |
var I = $("#zoomoverlay"); | |
$("#zoompicker"); | |
var K = a.parents(".HeroPrimContainer").siblings().find(".zoomMessage"); | |
rollovermessage = a.parents(".HeroPrimContainer").siblings().find(".rollovermessage"); | |
zoominit = false; | |
leftPosition = typeof A != "undefined" && A == "left" ? d.left - C - 38 : d.left + o + 38; | |
if (typeof a.parents("#QuickView")[0] != "undefined") { | |
q = $("#QuickView").height() - 107; | |
q = q > 520 ? 520 : q | |
} | |
I.css({ | |
top: a.parent().offset().top, | |
left: leftPosition, | |
width: C, | |
height: q | |
}); | |
I.html("<img src='" + b + "' id='zoomedImage'>"); | |
$(document).mousemove(function(Q) { | |
zoominit = true; | |
if ((Q.pageX < f || Q.pageX > g || Q.pageY > j || Q.pageY < l) == true) { | |
$("#zoomoverlay,#zoompicker").remove(); | |
K.hide(); | |
rollovermessage.show(); | |
$(document).unbind("mousemove") | |
} | |
}); | |
$("#zoomedImage").load(function() { | |
$("#zoompicker").show(); | |
I.show(); | |
rollovermessage.hide(); | |
if ($("#zoomedImage").width() < 610) { | |
K.show(); | |
I.hide() | |
} else $("#zoompicker,.rolloverzoom").live("mousemove", function(Q) { | |
var n = $("#zoomedImage"), | |
G = n.width(); | |
zoomedImageHeight = n.height(); | |
zoomPickerWidth = I.width() / n.width() * o; | |
zoomPickerHeight = I.height() / n.height() * v; | |
var p = Q.pageX - zoomPickerWidth / 2, | |
t = Q.pageY - zoomPickerHeight / 2; | |
p = p < f ? f : p; | |
p = p + zoomPickerWidth >= g ? g - zoomPickerWidth : p; | |
t = t + zoomPickerHeight >= j ? j - zoomPickerHeight : | |
t; | |
t = t < l ? l : t; | |
$("#zoompicker").css({ | |
width: zoomPickerWidth, | |
height: zoomPickerHeight, | |
top: t, | |
left: p | |
}).show(); | |
aspectratiowidth = G / o; | |
aspectratioheight = zoomedImageHeight / o; | |
if (I.width() != 0) { | |
zoomedImageleft = -(aspectratiowidth * (Q.pageX - d.left) - I.width() / 2); | |
zoomedImagetop = -(aspectratioheight * (Q.pageY - d.top) - I.height() / 2); | |
if (zoomedImageleft < 0 && zoomedImagetop < 0) imagePos = { | |
left: zoomedImageleft, | |
top: zoomedImagetop | |
}; | |
else if (zoomedImageleft >= 0 && zoomedImagetop >= 0) imagePos = { | |
left: 0, | |
top: 0 | |
}; | |
if (zoomedImageleft >= 0 && zoomedImagetop < | |
0) imagePos = { | |
left: 0, | |
top: zoomedImagetop | |
}; | |
if (zoomedImageleft < 0 && zoomedImagetop >= 0) imagePos = { | |
left: zoomedImageleft, | |
top: 0 | |
}; | |
if (-zoomedImageleft + I.width() >= G) imagePos = zoomedImagetop <= 0 && -zoomedImagetop + q <= zoomedImageHeight ? { | |
left: "auto", | |
right: 0, | |
top: zoomedImagetop | |
} : { | |
left: "auto", | |
right: 0, | |
top: 0 | |
}; | |
if (-zoomedImagetop + I.height() >= zoomedImageHeight) imagePos = zoomedImageleft <= 0 && -zoomedImageleft + C <= G ? { | |
top: "auto", | |
bottom: 0, | |
left: zoomedImageleft | |
} : -zoomedImageleft + C > G ? { | |
top: "auto", | |
bottom: 0, | |
left: "auto", | |
right: 0 | |
} : { | |
top: "auto", | |
bottom: 0, | |
left: 0 | |
}; | |
n.css(imagePos) | |
} | |
}) | |
}).error(function() { | |
K.show() | |
}) | |
}; | |
shopLookOverlay = { | |
_sliderTemplate: '<div class="product-wrap" partnumber="##sliderpartnumber##"><div class="left-wrap"><div class="prod-image">##out_of_stock##<a href="/QuickInfoView?partNumber=##sliderpartnumber##&overlayId=QuickView&width=700" class="layer" title="##title## quick information"><img width="106" height="106" src="##primary_image##" alt="##title## quick info"></a></div>##promo##</div><div class="right-wrap##var_height##"> ##price_vary####see_low_price####eyebrow##<div class="prod-price">##offerprice####regprice##</div><div class="prod-name"><span class="productTitle"><a class="productClick" title="##title##" href="##PDPURL##">##shortTitle##</a></span></div>##swatchesTemplate####secondvariation####responseerrors####swatch_error##<p class="button-wrap">##addtocartbutton##</p>##store_only##</div>##bulkshipping##</div>', | |
baseURL: "/ShopThisLook?pNums=", | |
overlayID: "shop-look", | |
addToCartURL: "/checkout_itemadd?", | |
init: function() { | |
$(".pdp-rightrail").delegate("#rr_shopthislook", "click", function(a) { | |
shopLookOverlay.event_target = this; | |
a.stopPropagation(); | |
if (!$(a.currentTarget).hasClass("state-disabled")) { | |
var b = shopLookOverlay.getPartNumberObject("[componentname]"); | |
shopLookOverlay.partNumbers = b; | |
shopLookOverlay.selectedProducts = shopLookOverlay.getSelectedProducts("[componentname]"); | |
shopLookOverlay.origin = $(a.target); | |
if ($('[componentname] [variation="true"]').length > | |
0) shopLookOverlay.vapFlag = true; | |
shopLookOverlay.vapChecked = $(this).find('[componentname] [variation="true"] input:checked').length > 0 ? true : false; | |
a = ""; | |
for (var d in shopLookOverlay.selectedProducts) a += shopLookOverlay.selectedProducts[d] + "|"; | |
a != "" ? shopLookOverlay.a2c.init() : shopLookOverlay.triggerShopLookOverlay(b) | |
} | |
}) | |
}, | |
triggerShopLookOverlay: function() { | |
var a = shopLookOverlay.baseURL, | |
b; | |
for (b in shopLookOverlay.partNumbers) a += shopLookOverlay.partNumbers[b] + "|"; | |
a = a.replace(/\|$/, ""); | |
a += shopLookOverlay.vapFlag ? | |
"&vapFlag=YES" : "&vapFlag=NO"; | |
this._esrb = Target.controller.header.cookie.read("esrbResponse"); | |
if (this._esrb != "") a += "&esrbResponse=" + this._esrb; | |
try { | |
$.ajax({ | |
url: a, | |
type: "GET", | |
success: function(f) { | |
shopLookOverlay.manageResponse(eval("(" + f + ")")) | |
}, | |
error: function() { | |
console.log("failed") | |
} | |
}) | |
} catch (d) { | |
console.log(d) | |
} | |
}, | |
manageResponse: function(a) { | |
shopLookOverlay.sliders = {}; | |
overlayContent = ""; | |
slider = {}; | |
currentSwatch = currenttcin = ""; | |
currentObject = {}; | |
_parent = {}; | |
overlayContent = '<div id="' + shopLookOverlay.overlayID + '"><h2 class="module-title">shop these items.</h2><ul class=\'wrapper-ul\'><li><ul class=\'product-list plist-1\'><li class="list-wrap product-0"></li><li class="list-wrap product-1"></li></ul></li><li><ul class=\'product-list plist-2\'><li class="list-wrap product-2"></li><li class="list-wrap product-3"></li></ul></li></div>'; | |
$.overlay.load({ | |
target: $(shopLookOverlay.event_target), | |
width: 725, | |
contentOverride: overlayContent | |
}); | |
shopLookOverlay.Overlay = $("#" + shopLookOverlay.overlayID); | |
var b = 0, | |
d; | |
d = a.shoplook; | |
$.each(shopLookOverlay.partNumbers, function(j, l) { | |
if (typeof d[l] != "undefined") { | |
d[l].products[l].productTitle = d[l].products[l].productTitle.replace(/-quot-/g, '"'); | |
slider = new shopLook(d[l], { | |
partNumber: l, | |
productTitle: d[l].products[l].productTitle, | |
productTemplate: shopLookOverlay._sliderTemplate, | |
_container: shopLookOverlay.Overlay.find(".product-" + | |
b), | |
add_to_cart_button: '<a title="add" class="button new-small-button perso-addtocart" href="#add-to-cart"><span class="buttonText">add</span><span class="screen-reader-only"> ' + d[l].products[l].productTitle + "</span></a>", | |
added_to_cart_button: '<span class="button new-small-button button-added" role="alert" ><span class="screen-reader-only"> </span><span class="buttonText">added <span class="screen-reader-only"> ' + d[l].products[l].productTitle + " to cart.</span></span></span>", | |
preFetching: function() {}, | |
postSwatchChange: function(o) { | |
try { | |
if (typeof o.oos != "undefined" && o.oos) { | |
o.oos = false; | |
o._container.find(".button-wrap").append('<span class="screen-reader-only oos" role="alert">out of stock</span>'); | |
var v = o._container.find(".prod-image img"); | |
v.attr("alt", o.productTitle + " out of stock"); | |
v.unwrap() | |
} else o._container.find(".button-wrap .oos").remove(); | |
o._container.find(".perso-swatches .qiWithVariation[checked]").focus() | |
} catch (A) { | |
console.log(A) | |
} | |
}, | |
postAddToCart: function(o) { | |
try { | |
$('.pdp-rightrail [partNumber="' + | |
o.addedTCIN + '"] .image-container img'); | |
o.partObj.products[o.addedTCIN].Attributes.inventory.inv_code == 6 && shopLookOverlay.updateOOS(o.addedTCIN); | |
this._cart_count = parseInt($("#mini-cart-icon .count").text().match(/\d+/)); | |
this._cart_count > 0 ? shopLookOverlay.Overlay.find("#checkout-wrap button").removeAttr("tabindex").removeClass("checkout-disabled").find(".buttonText").html("review cart") : shopLookOverlay.Overlay.find("#checkout-wrap button").addClass("checkout-disabled") | |
} catch (v) { | |
console.log(v) | |
} | |
}, | |
postFetching: function() {} | |
}); | |
shopLookOverlay.sliders[l] = slider; | |
b++ | |
} | |
}); | |
shopLookOverlay.Overlay.append('<div id="overlay-footer"><div id="checkout-wrap"><button class="button perso-checkout checkout-disabled" title="review cart" name="checkout" tabindex="-1"><span class="buttonText">review cart<span class="screen-reader-only"> disabled</span>.</span></button><a href="#" id="continue-shopping" class="close" title="continue shopping" >continue shopping</a></div></div>'); | |
shopLookOverlay.Overlay.find(" #checkout-wrap button").bind("click", | |
function() { | |
if (parseInt($("#mini-cart-icon .count").text()) > 0) document.location.href = "/checkout_cartview?updatePrices=1" | |
}); | |
$("#" + shopLookOverlay.overlayID).trigger("reposition.overlay"); | |
typeof a.ESRB.esrbFlag != "undefined" && a.ESRB.esrbFlag == "YES" && shopLookOverlay.triggerESRB(a.ESRB.esrbAgeValue); | |
parseInt($("#mini-cart-icon .count").text().match(/\d+/)) > 0 ? shopLookOverlay.Overlay.find("#checkout-wrap button").removeClass("checkout-disabled").removeAttr("tabindex").find(".buttonText").html("review cart") : | |
shopLookOverlay.Overlay.find("#checkout-wrap button").addClass("checkout-disabled"); | |
try { | |
typeof a.cartInfo != "undefined" && a.cartInfo.cartQty != null && a.cartInfo.cartPrice != null && Target.controller.reviewed.cookie.create("cartQty", a.cartInfo.cartQty + "|" + a.cartInfo.cartPrice) | |
} catch (f) { | |
console.log(f) | |
} | |
for (var g in shopLookOverlay.OOSPartNumbers) { | |
shopLookOverlay.updateOOS(shopLookOverlay.OOSPartNumbers[g]); | |
shopLookOverlay.Overlay.find('[partnumber="' + shopLookOverlay.OOSPartNumbers[g] + '"] .button-wrap').hide() | |
} | |
for (g in shopLookOverlay.selectedProducts) typeof shopLookOverlay.OOSPartNumbers != | |
"undefined" && $.inArray(shopLookOverlay.selectedProducts[g], shopLookOverlay.OOSPartNumbers) == -1 && shopLookOverlay.updateOverlayAdded(shopLookOverlay.selectedProducts[g]); | |
$.each(shopLookOverlay.Overlay.find(".list-wrap"), function() { | |
$(this).find(".out-of-stock").length > 0 && shopLookOverlay.updateOOS($(this).find("[partnumber]").attr("partnumber"), $(this), true) | |
}) | |
}, | |
triggerESRB: function(a) { | |
shopLookOverlay.esrbOverlay = new miniOverlay({ | |
zIndex: 99999, | |
parentContainer: $("body"), | |
contentID: "shoplook-esrb", | |
wraperClass: "esrbOverlay", | |
content: '<div class="esrb-wraper">' + shopLookOverlay.esrbOverlayTemplate.replace(/##age##/g, " " + a + " ") + "</div>", | |
closeOtherMiniOverlays: true, | |
close: false, | |
prefetch: function() { | |
typeof shopLookOverlay.esrbOverlay != "undefined" && shopLookOverlay.esrbOverlay.closeOverlay() | |
}, | |
postfetch: function() { | |
var b = $("#" + _mo._defaultConfig.contentID); | |
$("#shoplook-esrb .overlay-content-wrap").css({ | |
top: $(shopLookOverlay.event_target).position().top - 400 + "px", | |
left: $(document).width() / 2 - $("#shoplook-esrb .overlay-content-wrap").width() / | |
2 + "px" | |
}); | |
$(".esrb-curtain").css({ | |
height: $(document).height() + "px" | |
}); | |
window.setTimeout(function() { | |
b.find("p:first").attr("tabindex", "-1").focus(); | |
$(document).trigger("updateBuffer.framework") | |
}, 100); | |
b.find(".esrb-yes").bind("click", function(d) { | |
d.stopPropagation(); | |
shopLookOverlay.esrbOverlay.closeOverlay(); | |
shopLookOverlay.handleESRBYes(a) | |
}); | |
b.find(".esrb-no").bind("click", function(d) { | |
d.stopPropagation(); | |
shopLookOverlay.esrbOverlay.closeOverlay() | |
}) | |
}, | |
origin: $(shopLookOverlay.event_target) | |
}) | |
}, | |
updateOOS: function(a, | |
b) { | |
console.log("updateOOS"); | |
var d, f; | |
try { | |
var g = $('.pdp-rightrail [partNumber="' + a + '"] .image-container'); | |
if (!g.length > 0) g = $('.pdp-rightrail [partNumber="' + a + '"] .small-product-image'); | |
f = g.find("img"); | |
d = f.attr("alt"); | |
f.attr("alt", d.replace("quick info", "out of stock")); | |
!g.find(".out-of-stock").length > 0 && g.prepend(shopLookOverlay.out_of_stock); | |
g.find("a.layer").replaceWith(f); | |
f = typeof b != "undefined" ? b.find(".prod-image img") : shopLookOverlay.Overlay.find('[partnumber="' + a + '"] .prod-image img'); | |
d = f.attr("alt"); | |
f.attr("alt", d.replace("quick info", "out of stock")); | |
shopLookOverlay.Overlay.find('[partnumber="' + a + '"] .prod-image a.layer').replaceWith(f) | |
} catch (j) { | |
console.log(j) | |
} | |
}, | |
handleESRBYes: function(a) { | |
Target.controller.reviewed.cookie.create("esrbResponse", "YES_" + a + "_" + a + "_ESRBPAGE"); | |
shopLookOverlay.a2c.init() | |
}, | |
updateOverlayAdded: function(a) { | |
var b = parseInt($("#mini-cart-icon .count").text().match(/\d+/)); | |
b = isNaN(b) ? 0 : b; | |
b += 1; | |
if (b > 0) { | |
shopLookOverlay.Overlay.find("#checkout-wrap button").removeClass("checkout-disabled").removeAttr("tabindex").find(".buttonText").html("review cart"); | |
$("#mini-cart-icon .count").text(b) | |
} else shopLookOverlay.Overlay.find("#checkout-wrap button").addClass("checkout-disabled"); | |
this.pTitle = shopLookOverlay.sliders[a].partObj.products[a].productTitle; | |
shopLookOverlay.Overlay.find('[partnumber="' + a + '"] .perso-addtocart').replaceWith(shopLookOverlay.addedButton.replace("disabled", this.pTitle + " to cart")) | |
}, | |
generic_error: '<p class="error-message swatch-error" role="alert">some error occured. please try later</p>', | |
out_of_stock: '<span class="out-of-stock" role="alert" aria-hidden="true">out of stock</span>', | |
addedButton: '<a class="button new-small-button button-added" title="added"><span class="buttonText">added <span class="screen-reader-only">disabled</span></a></span>', | |
esrbOverlayTemplate: "<p>Please certify that you are old enough to buy this item. You must be age ##age## or older.</p><span class='esrb-buttons'><button class='button esrb-yes'><span class='buttonText '>yes. <span class='age-statement'> I am age ##age## or older.</span></span></button></span><span class='esrb-buttons'><button class='button esrb-no'><span class='buttonText'>no. <span class='age-statement'> I am under ##age##.</span></span></button></span>", | |
getPartNumberObject: function(a) { | |
var b = [], | |
d; | |
$(a + " [partnumber]").length > 0 ? $.each($(a + " [partnumber]"), function() { | |
b.push($(this).attr("partnumber")) | |
}) : $.each($(a + " a.layer"), function() { | |
d = $(this).attr("href").match(/partNumber\=\d+/).toString().replace(/partNumber\=/, ""); | |
b.push(d); | |
$(this).parents("li").attr("partnumber", d) | |
}); | |
return b | |
}, | |
getSelectedProducts: function(a) { | |
var b = []; | |
$(a).find("li").not("[variation]").find("input:checked").length > 0 ? $.each($(a).find("li").not("[variation]").find("input:checked"), | |
function() { | |
b.push($(this).parents("li:first").attr("partnumber")) | |
}) : $.each($(a).find("li").not("[variation]").find("input:checked"), function() { | |
b.push($(this).closest("li").find("a.layer").attr("href").match(/partNumber\=\d+/).toString().replace(/partNumber\=/, "")) | |
}); | |
return b | |
}, | |
a2c: { | |
init: function() { | |
var a = Target.controller.reviewed.cookie.read("esrbResponse"), | |
b = ""; | |
if (a != null && a != "") b = "esrbResponse=" + a; | |
a = ""; | |
for (var d in shopLookOverlay.selectedProducts) a += "&partNumber_" + d + "=" + shopLookOverlay.selectedProducts[d] + | |
"&quantity_" + d + "=1"; | |
b = shopLookOverlay.addToCartURL + a + "&fromScript=true&overlay=true&errorViewName=ErrorResponse&&" + b + "&forShopThisOverlay=Y"; | |
$.ajaxSetup({ | |
traditional: true, | |
cache: false | |
}); | |
$.ajax({ | |
url: b, | |
dataType: "text/html", | |
type: "POST", | |
success: function(f) { | |
f = eval("(" + f + ")"); | |
f.responseHtml != "undefined" && f.responseHtml != null && f.responseHtml != "" && Target.controller.reviewed.cookie.create("cartQty", f.responseHtml); | |
shopLookOverlay.a2c.manageResponse(f) | |
} | |
}) | |
}, | |
manageResponse: function(a) { | |
if (typeof a.OOSPartNo != "undefined" && | |
a.OOSPartNo != null) { | |
shopLookOverlay.OOSPartNumbers = a.OOSPartNo; | |
shopLookOverlay.triggerShopLookOverlay() | |
} else if (a.errorMessageKey == "ESRBRATING_MATURE_TEXT" || a.errorMessageKey == "ESRBRATING_FAILURE") shopLookOverlay.triggerESRB(a.quantityUpdate); | |
else if (a.partNumCantBeAdded !== null || a.errorMessage != "") shopLookOverlay.triggerShopLookOverlay(); | |
else if (typeof a.overlayId != "undefined" && a.overlayId == "addtocart") | |
if (shopLookOverlay.vapChecked) shopLookOverlay.triggerShopLookOverlay(); | |
else { | |
$.overlay.load({ | |
target: $(shopLookOverlay.event_target), | |
width: 740, | |
y: 10, | |
x: $("body").width() / 2 - 362.5, | |
contentOverride: '<div id="addtocart">' + a.responseHtml + "</div>" | |
}); | |
$("#addtocart #ModalCarousel #multiItemList").addClass("component-carousel-1"); | |
Target.controller.globalUtils.checkIfCarousal(".component-carousel-1") | |
} | |
} | |
} | |
}; | |
$(document).ready(function() { | |
if ($(".ipad").length == "0" && typeof $("#rollOverZoom")[0] != "undefined" && $("#rollOverZoom").val() == "true") { | |
$("head").append("<style>.rollovermessage{display: block !important} </style>"); | |
$(".rollovermessage").show(); | |
$(".rolloverzoom").live("mouseover", function(b) { | |
$(b.target).closest("a").unbind("click").undelegate("click"); | |
$("body").delegate("#heroZoomImage,#heroImageBundle", "click", function(d) { | |
d.preventDefault(); | |
return false | |
}); | |
$("#media-player").length < 1 && zoomImage($(b.target)); | |
$(b.target).parents(".HeroPrimContainer").siblings().find(".rollovermessage").hide() | |
}).mouseout(function() { | |
$("#zoompicker, .rolloverzoom").unbind("mousemove") | |
}); | |
$("#zoompicker").live("mouseout", function() { | |
$("#zoompicker,#zoomoverlay").hide() | |
}); | |
$(document).bind("keyup", function() { | |
if ($(":focus").attr("id") == "heroZoomImage" || $(":focus").attr("id") == "heroImage" || $(":focus").hasClass("views") || $(":focus").hasClass("j-lazytab")) $(".zoomBox").css("left", "-10000px") && $(".rollovermessage").show(); | |
typeof $(":focus").parents(".zoomBox")[0] != | |
"undefined" && $(".zoomBox").css("left", "auto") && $(".rollovermessage").hide() | |
}) | |
} else $("head").append("<style>.zoomBox{left: auto !important}</style>"); | |
$(".swatchtool input").live("focus", function() { | |
$(this).parent().addClass("swatchfoccused") | |
}); | |
$(".swatchtool input").live("focusout", function() { | |
$(this).parent().removeClass("swatchfoccused") | |
}); | |
try { | |
shopLookOverlay.init() | |
} catch (a) { | |
console.log(a) | |
} | |
$("body").delegate("#input-step-send-payment-type input[name='attr-send-type']", "keyup change", function() { | |
if ($(this).is(":checked")) | |
if (typeof $(this).attr("rel") != | |
"undefined") { | |
$("#input-step-send-payment-type input[name='attr-send-type']").parent().find("span.screen-reader-only").remove(); | |
$(this).parent().append('<span class="screen-reader-only" aria-live="rude" >' + $(this).attr("rel") + " radio button checked</span>").focus() | |
} | |
}) | |
}); | |
Slider = { | |
init: function() { | |
var a, b; | |
$("#addtocart").delegate("a.selectoption", "click", function(d) { | |
d.preventDefault(); | |
!$(d.currentTarget).parent().find(".button-added").length > 0 && $(d.currentTarget).parent().prepend('<p class="button-added button" style="display:none" ><span class="screen-reader-only"> </span><span class="buttonText">added</span><span class="screen-reader-only"> ' + $(d.currentTarget).parents("li:first").find(".productName a").attr("title") + " to cart</span></p>"); | |
var f = ""; | |
b = $(d.target); | |
a = b.parents("li:first"); | |
d = Target.controller.reviewed.cookie.read("esrbResponse"); | |
var g = ""; | |
if (d != null && d != "") g = "esrbResponse=" + d; | |
f = a.find(".layer").attr("href").match(/partNumber\=\d+/).toString().replace(/partNumber\=/, ""); | |
d = "/ShopThisLook?pNums=" + f + "&" + g; | |
$.ajaxSetup({ | |
traditional: true, | |
cache: false | |
}); | |
$.ajax({ | |
url: d, | |
type: "GET", | |
success: function(j) { | |
Slider.newSlider(eval("(" + j + ")"), a, b, f) | |
} | |
}) | |
}) | |
}, | |
_template: '<div class="product-wrap" partnumber="##sliderpartnumber##"><div id="left-wrap"><div class="screen-reader-only slider-product-title"><h2 class="screen-reader-only">##title##</h2></div><div class="prod-image">##out_of_stock##<a href="/QuickInfoView?partNumber=##sliderpartnumber##&overlayId=QuickView&width=700" class="layer" title="##title## quick information"><img width="106" height="106" src="##primary_image##" alt="##title## quick info"></a></div>##price_vary####see_low_price##<div class="prod-price">##offerprice####regprice##</div><div class="prod-name"><span class="productTitle"><a class="productClick" title="##title##" href="##PDPURL##">##shortTitle##</a></span>##promo##</div></div><div id="right-wrap">##swatchesTemplate####secondvariation##<p class="button-wrap">##addtocartbutton##</p>##store_only##</div></div>', | |
newSlider: function(a, b, d, f) { | |
Slider._ol = new miniOverlay({ | |
zIndex: 400, | |
parentContainer: b, | |
contentID: "sliderWrap", | |
content: '<div class="slider-wraper"></div>', | |
close: true, | |
prefetch: function() { | |
typeof Slider._ol != "undefined" && Slider._ol.closeOverlay() | |
}, | |
postfetch: function() { | |
Slider.newInstance = new shopLook(a.shoplook[f], { | |
partNumber: f, | |
productTemplate: Slider._template, | |
_container: b.find(".slider-wraper"), | |
add_to_cart_button: '<a title="add" class="button new-small-button perso-addtocart" href="#add-to-cart"><span class="buttonText">add</span><span class="screen-reader-only"> ##title##</span></a>', | |
postSwatchChange: function(l) { | |
try { | |
if (typeof l.oos != "undefined" && l.oos) { | |
l.oos = false; | |
l._container.find(".button-wrap").append('<span class="screen-reader-only oos" role="alert">out of stock</span>'); | |
var o = l._container.find(".prod-image img"); | |
o.attr("alt", l.productTitle + " out of stock"); | |
o.unwrap() | |
} else l._container.find(".button-wrap .oos").remove(); | |
l._container.find(".perso-swatches .qiWithVariation[checked]").focus() | |
} catch (v) { | |
console.log(v) | |
} | |
}, | |
postFetching: function(l) { | |
l._container.find("a.layer").focus() | |
}, | |
postAddToCart: function(l, o) { | |
if (!(typeof o.errorMessageKey != undefined && o.errorMessage != "" && o.errorMessage != null)) { | |
$("#addtocart .col-right h3").text("cart summary (" + (parseInt($("#addtocart .col-right h3").text().match(/\d+/)) + 1) + " items)"); | |
var v = parseFloat(o.priceForRRItem) + parseFloat($("#addtocart .col-right .additional").text().substring(1).replace(",", "")); | |
v = a2c.numberWithCommas(v.toFixed(2)); | |
$("#addtocart .col-right .additional").text("$" + v); | |
v = parseFloat(o.priceForRRItem) + parseFloat($("#addtocart .col-right .overlaysubtotal").text().substring(1).replace(",", | |
"")); | |
v = a2c.numberWithCommas(v.toFixed(2)); | |
$("#addtocart .col-right .overlaysubtotal").text("$" + v); | |
Slider._ol.closeOverlay(); | |
var A = d.parents("li:first"); | |
A.find(".selectoption").remove(); | |
window.setTimeout(function() { | |
A.find(".buttonContainer .button-added").show(); | |
A.find(".buttonContainer").attr("tabindex", -1).focus().attr("role", "alert") | |
}, 200) | |
} | |
} | |
}); | |
var g = $("#addtocart .product-listing:visible li.product-list").length, | |
j = d.parents("li:first").index(); | |
$("#sliderWrap").removeClass("sliderRight").removeClass("sliderLeft"); | |
if (g > 3) j > 1 ? $("#sliderWrap").addClass("sliderRight") : $("#sliderWrap").addClass("sliderLeft"); | |
else j > 0 ? $("#sliderWrap").addClass("sliderRight") : $("#sliderWrap").addClass("sliderLeft"); | |
window.setTimeout(function() { | |
$("#sliderWrap h2").length > 0 ? $("#sliderWrap h2").attr("tabindex", -1).focus() : $("#sliderWrap a.layer").attr("tabindex", -1).focus() | |
}, 200) | |
}, | |
origin: d | |
}) | |
} | |
}; | |
try { | |
var GlobalFooterLinks = function() { | |
var a = ["http://www.target.com/store-locator/find-stores", "http://www.target.com/pharmacy/clinic-home", "http://www.target.com/spot/optical", "http://www.target.com/pharmacy/main", "http://www.targetphoto.com", "http://www.target.com/c/target-portrait-studio-ways-to-shop/-/N-559ua", "http://corporate.target.com", "http://corporate.target.com/careers", "http://investors.target.com/phoenix.zhtml?c=65828&p=irol-IRHome", "http://corporate.target.com/corporate-responsibility", | |
"http://www.target.com/HelpContent?help=/sites/html/TargetOnline/help/affiliates/affiliates.html", "http://www.abullseyeview.com", "http://www.target.com/spot/team-services", "http://www.target.com/c/company-store/-/N-5xtb9", "http://weeklyad.target.com", "http://coupons.target.com/mcp/pd.cfm?encp=bw3Edh8NsU3vzmfu%2BCqxk1gE5kAdfbx6dC45DH8m6FuvNQDwYVl3xOH31DkRj79yzb%2BSNmiA400y%0D%0ALhj%2FXmLy9zzvNW3gItgBqLI6rw64%2FkWKY9O5GIrSJTepqrrRVKgryKJ1kkXm6v4vKD0bkrAj4w%3D%3D", "http://www.target.com/c/clearance/-/N-5q0ga", | |
"http://www.target.com/np/all-the-deals/-/N-5tdty", "http://www.target.com/HelpContent?help=/sites/html/TargetOnline/help/help.html", "http://www.target.com/webapp/wcs/stores/servlet/ManageOrder", "http://www.target.com/HelpContent?help=/sites/html/TargetOnline/help/returns_and_refunds/returns_and_refunds.html", "http://www.target.com/c/pickup-in-store/-/N-55fqz", "http://www.target.com/HelpContent?help=/sites/html/TargetOnline/help/orders_and_shipping/orders_and_shipping.html", "http://www.target.com/HelpContent?help=/sites/html/TargetOnline/help/product_safety_and_recalls/product_safety_and_recalls.html", | |
"http://www.target.com/spot/size-charts", "http://www.target.com/HelpContent?help=/sites/html/TargetOnline/help/contact_us/contact_us.html", "http://www.target.com/redcard/main", "http://www.target.com/redcard/main", "https://rcam.target.com", "http://www.target.com/redcard/main", "http://www.target.com/spot/privacy-policy", "http://www.target.com/spot/privacy-policy#collectedonline", "http://www.target.com/spot/terms-conditions", "http://www.target.com/spot/privacy-policy#CaliforniaResidents", "http://www.target.com/HelpContent?help=/sites/html/TargetOnline/help/orders_and_shipping/more_help_with_orders/CA_SupplyChain_Act.html", | |
"http://www.target.com/HelpContent?help=/sites/html/TargetOnline/help/technical_info_about_this_site/technical_info_about_this_site.html" | |
], | |
b = $(".globalfooter-quicklinks, #defaultLinks"); | |
return { | |
init: function() { | |
function d(f) { | |
f = f.split("#"); | |
return a[f[1]] + "#" + f[2] | |
} | |
b.delegate("a", "mousedown", function(f) { | |
f.preventDefault(); | |
if ($(this).attr("href").charAt(0) === "#") { | |
var g = d($(this).attr("href")); | |
switch (f.which) { | |
case 1: | |
window.location.href = g; | |
default: | |
$(this).attr("href", g) | |
} | |
} | |
}); | |
b.delegate("a", "focus", function(f) { | |
f.preventDefault(); | |
$(this).attr("href").charAt(0) === "#" && $(this).attr("href", d($(this).attr("href"))) | |
}) | |
}() | |
} | |
}; | |
window.globalFooterLinks = new GlobalFooterLinks | |
} catch (e$$172) {} | |
function buildQInfo() { | |
Slider.init(); | |
$("#addtocart").delegate("#crossSell-atc", "click", function(a) { | |
var b = $(a.target), | |
d = b.parents("li.tab"); | |
if (b.parent().hasClass("buttonContainer") || b.parent().hasClass("addtoCart")) { | |
a.stopPropagation(); | |
a.preventDefault(); | |
a = b.parents(".buttonContainer:first"); | |
!a.find(".button-added").length > 0 && a.prepend('<p class="button-added button" style="display:none"><span class="screen-reader-only"> </span><span class="buttonText">added</span><span class="screen-reader-only">' + a.parents("li:first").find(".productName a").attr("title") + | |
" to cart</span></p>"); | |
a = a.find("a.addtoCart").attr("clicked", "true").parents("li:first").find(".image-container a.layer").attr("href").match(/partNumber\=\d+/).toString().split("="); | |
a2c.init(a[1]) | |
} else if ($(a.target).parent().hasClass("tabhead") && !$(a.target).hasClass("selected-text")) { | |
$(a.target).hasClass("selected-text") && a.stopPropagation(); | |
a = $(this).parent(); | |
$(this).find("[aria-hidden]").show().removeAttr("aria-hidden").removeAttr("tabindex"); | |
$(this).find("span.selected-text").remove(); | |
$(".dynamicTab li.tab").removeClass("selected"); | |
d.find("a:first").attr("tabindex", -1).attr("aria-hidden", "true").hide(); | |
d.prepend('<span class="selected-text">' + d.find("a:first").attr("title").replace(/^view\s/, "") + '</span><span class="blank-span screen-reader-only"> </span>'); | |
d.addClass("selected"); | |
window.setTimeout(function() { | |
d.find(".blank-span").attr("tabindex", -1).focus() | |
}, 100); | |
a2c.addTipNote() | |
} | |
}); | |
a2c.addTipNote() | |
} | |
a2c = { | |
baseURL: "/checkout_itemadd?", | |
addTipNote: function() { | |
window.setTimeout(function() { | |
$.each($("#crossSell-atc .tipnoteTrigger"), function() { | |
$(this).parents("li:first").index() > 2 ? $(this).tipNote({ | |
showLeft: true | |
}) : $(this).tipNote() | |
}) | |
}, 500) | |
}, | |
init: function(a) { | |
var b = Target.controller.reviewed.cookie.read("esrbResponse"), | |
d = ""; | |
if (b != null && b != "") d = "esrbResponse=" + b; | |
a = a2c.baseURL + "partNumber_0=" + a + "&quantity_0=1&fromScript=true&overlay=true&fromAddTocartOverlay=Y&errorViewName=ErrorResponse&noRespHtmlNeeded=Y&" + | |
d; | |
$.ajaxSetup({ | |
traditional: true, | |
cache: false | |
}); | |
$.ajax({ | |
url: a, | |
dataType: "json", | |
type: "POST", | |
success: function(f) { | |
f.responseHtml != "undefined" && f.responseHtml != null && f.responseHtml != "" && Target.controller.reviewed.cookie.create("cartQty", f.responseHtml); | |
a2c.manageResponse(f) | |
} | |
}) | |
}, | |
manageResponse: function(a) { | |
$("#addtocart p.errorBlock").remove(); | |
var b = $('#addtocart a[clicked="true"]').parents("li:first"); | |
if (typeof a.errorMessageKey != undefined && a.errorMessage != "" && a.errorMessage != null) | |
if (a.errorMessageKey == "SHOP_INVENTORY_EQUAL") { | |
a = | |
b.find("a.layer img"); | |
var d = a.attr("alt"); | |
a.attr("alt", d.replace("quick info", "out of stock")); | |
b.find(".image-container").html("").append(a).append('<p class="outofstock" aria-hidden="true">out of stock</p>'); | |
b.find(".product-block").append('<p class="screen-reader-only outofstock-hidden">out of stock</p>'); | |
window.setTimeout(function() { | |
b.find("p.outofstock-hidden").attr("tabindex", "-1").focus() | |
}, 200); | |
$('#addtocart a[clicked="true"]').parent().remove() | |
} else if (a.errorMessageKey == "ESRBRATING_MATURE_TEXT" || | |
a.errorMessageKey == "ESRBRATING_FAILURE") $.overlay.load({ | |
contentOverride: a.responseHtml, | |
overlayId: typeof a.overlayId !== "undefined" ? a.overlayId : "", | |
template: a.template, | |
mode: false | |
}); | |
else b.find("p.errorBlock").length > 0 ? b.find("p.errorBlock").attr("role", "alert").text(a.errorMessage) : b.find(".productName").append('<p class="errorBlock" role="alert">' + a.errorMessage + "</p>"); | |
else if (a.overlayId != undefined && a.overlayId == "addtocart") { | |
$("#addtocart .col-right h3").text("cart summary (" + (parseInt($("#addtocart .col-right h3").text().match(/\d+/)) + | |
1) + " items)"); | |
d = parseFloat(a.priceForRRItem) + parseFloat($("#addtocart .col-right .additional").text().substring(1).replace(",", "")); | |
d = a2c.numberWithCommas(d.toFixed(2)); | |
$("#addtocart .col-right .additional").text("$" + d); | |
a = parseFloat(a.priceForRRItem) + parseFloat($("#addtocart .col-right .overlaysubtotal").text().substring(1).replace(",", "")); | |
a = a2c.numberWithCommas(a.toFixed(2)); | |
$("#addtocart .col-right .overlaysubtotal").text("$" + a); | |
$("#addtocart a[clicked]").hide(); | |
b.find(".addtoCart").remove(); | |
b.find(".button-added").show().attr("role", | |
"alert").attr("tabindex", -1).focus(); | |
window.setTimeout(function() { | |
try { | |
$(document).trigger("updateBuffer.framework") | |
} catch (f) { | |
console.log(f) | |
} | |
}, 200) | |
} | |
$("#addtocart a[clicked]").removeAttr("clicked") | |
}, | |
formatPrices: function(a) { | |
return a.toFixed(2) | |
}, | |
numberWithCommas: function(a) { | |
return a.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") | |
} | |
}; | |
function validateGridBorder(a) { | |
a.children().each(function() { | |
$(this).position().left <= 0 && $(this).css("border-left", "none") | |
}) | |
} | |
function loadLazy(a) { | |
a.lazy({ | |
lazyRR: true, | |
hpgrid: true, | |
threshold: 500, | |
eventDelay: 0, | |
onEarlyComplete: function(b, d) { | |
Target.controller.globalUtils.initRRCarousel(); | |
d.parent(".lazy-container").replaceWith(b) | |
}, | |
onComplete: function() { | |
msnryFunction(5) | |
} | |
}) | |
} | |
function msnryFunction(a) { | |
var b = document.querySelector("#flexible_grid_container"); | |
cont = $("#flexible_grid_container"); | |
if (1 <= a) { | |
a--; | |
new Masonry(b, { | |
columnWidth: 1 | |
}); | |
validateGridBorder(cont); | |
loadLazy(cont); | |
setTimeout(function() { | |
msnryFunction(a) | |
}, 500) | |
} else return false | |
}; | |
Target.register("controller", "reviewed", { | |
maxItems: 10, | |
minItems: 1, | |
maxIncrement: 7, | |
reviewedLength: 0, | |
cookieMaxLength: 1200, | |
reviewedProducts: [], | |
products: [], | |
cookieName: "recentlyviewed", | |
cookieNameToDelete: "reviewed", | |
message: '<p class="message">as you view items on Target.com, we\'ll keep track of them here.</p>', | |
itemsViews: "#RecentViews", | |
itemsWrapper: "#RecentViewItems", | |
reviewCount: ".counter", | |
itemsWrap: ".items-set", | |
items: ".items", | |
summaryWrap: ".summary", | |
reviewedIcon: "#reviewed-icon", | |
recentNavView: ".recentNavView a", | |
reviewedLinks: "#reviewed-icon, .recentNavView a", | |
reviewWrapper: "#rvCore", | |
markup: '<ul class="items"></ul>', | |
cookie: Target.controller.header.cookie, | |
init: function() { | |
this.loadInterface() | |
}, | |
loadInterface: function() { | |
var a = this; | |
a.reviewWrapper = $(a.reviewWrapper); | |
a.markup = $(a.markup); | |
a.itemsWrapper = $(a.itemsWrapper); | |
a.itemsWrap = a.itemsWrapper.find(a.itemsWrap); | |
a.summaryWrap = a.itemsWrapper.find(a.summaryWrap); | |
a.items = a.summaryWrap.find(a.items); | |
a.reviewCount = a.summaryWrap.find(a.reviewCount); | |
a.processItems(); | |
a.itemsWrap.hide(); | |
a.handleNav(); | |
a.deleteOldCookie(); | |
a.reviewedLength > 0 ? a.hide() : a.summaryWrap.append(a.message); | |
$("body").delegate("#reviewed-icon", "click", function(b) { | |
b.preventDefault(); | |
$(this).hasClass("viewedopen") ? a.toggleShow() : a.toggleHide() | |
}); | |
$("body").delegate(".recentNavView a", "click keyup", function(b) { | |
b.preventDefault(); | |
var d = b.type; | |
if (d === "click" && b.keyCode != 27) $(this).parents("div#rvCore").find("a#reviewed-icon").hasClass("viewedclose") ? a.toggleHide() : a.toggleShow(); | |
else if (d === "keyup" && | |
b.keyCode == 27) a.toggleHide(); | |
else return false | |
}) | |
}, | |
toggleShow: function() { | |
this.itemsWrap.show(); | |
this.handleNav(); | |
if (!(this.reviewedLength <= this.minItems)) { | |
this.show(); | |
var a = this.reviewedLength * 131 + 20; | |
a = this.reviewedLength == this.maxIncrement - 1 ? 792 : a; | |
a = this.reviewedLength >= this.maxIncrement ? 952 : a; | |
this.reviewWrapper.animate({ | |
width: a | |
}); | |
$(this.reviewedIcon).removeClass("viewedopen").addClass("viewedclose"); | |
$(this.reviewedIcon).children().text("Recently viewed items collapse"); | |
$(this.recentNavView).children().text("collapse"); | |
$(this.recentNavView).focus(); | |
$(this.recentNavView).first().focus() | |
} | |
}, | |
toggleHide: function() { | |
this.itemsWrap.hide(); | |
this.handleNav(); | |
if (!(this.reviewedLength <= this.minItems)) { | |
$(this.reviewedIcon).removeClass("viewedclose").addClass("viewedopen"); | |
this.reviewWrapper.animate({ | |
width: 160 | |
}); | |
$(this.reviewedIcon).children().text("Recently viewed items expand"); | |
$(this.recentNavView).children().text("expand"); | |
$(this.recentNavView).focus(); | |
$(this.recentNavView).first().focus(); | |
this.hide() | |
} | |
}, | |
clear: function() { | |
this.reviewCount.empty(); | |
this.items.empty(); | |
this.itemsWrap.empty(); | |
this.reviewWrapper.find(".message").remove() | |
}, | |
show: function() { | |
this.clear(); | |
this.itemsWrap.html(this.markup); | |
var a = this.itemsWrap.find("ul:eq(0)"); | |
this.buildContent("items", function(b) { | |
a.html(b) | |
}); | |
this.reviewedLength > this.maxIncrement && this.itemsWrap.find("ul:eq(0)").tileCarousel({ | |
incrementMode: "tile", | |
accessible: true, | |
loop: false, | |
increment: this.maxIncrement, | |
displayCount: false, | |
containerDelta: -1 | |
}) | |
}, | |
addItems: function(a) { | |
var b = this, | |
d = b.cookie.read(b.cookieName); | |
d = unescape(d); | |
d = escape(d); | |
var f = false, | |
g = false; | |
if (parseInt(a.length + (d === null ? 0 : d.length)) > b.cookieMaxLength) g = true; | |
if (d !== "null") { | |
$.each(b.products, function(l) { | |
var o = a.split("|"); | |
if (b.products[l][0] == o[0]) { | |
f = true; | |
return false | |
} | |
}); | |
if (f !== true) { | |
if (d == escape(a)) return false; | |
if (typeof b.maxItems !== "undefined" && typeof b.maxItems === "number") { | |
d = (d !== null ? unescape(d) + "##" : "") + escape(a); | |
var j = d.split("##"); | |
if (j.length > b.maxItems || g === true) { | |
j.splice(0, 1); | |
d = j.join("##") | |
} | |
b.cookieName == "recentlyviewed" && b.cookie.create(b.cookieName, | |
d, 365) | |
} | |
} | |
} else { | |
a = unescape(a); | |
d = escape(a); | |
b.cookieName == "recentlyviewed" && b.cookie.create(b.cookieName, d, 365) | |
} | |
$("body").delegate("#QuickView", "overlay-before-hide", function() { | |
b.processItems(); | |
b.hide() | |
}) | |
}, | |
hide: function() { | |
this.clear(); | |
this.handleNav(); | |
var a = this.summaryWrap.find("ul:eq(0)"); | |
this.buildContent("summary", function(b) { | |
a.append(b) | |
}) | |
}, | |
handleNav: function() { | |
if (this.reviewedLength <= 1) { | |
$(this.reviewedIcon).children().text("Expand Inactive"); | |
$(this.reviewedIcon).addClass("inActive") | |
} else { | |
$(this.reviewedIcon).children().text("Recently viewed items expand"); | |
$(this.reviewedIcon).removeClass("inActive") | |
} | |
}, | |
processItems: function() { | |
var a = this.cookie.read(this.cookieName); | |
if (a !== null) { | |
a = unescape(this.cookie.read(this.cookieName)); | |
this.reviewedProducts = a.split("##") | |
} else { | |
this._updateRecentlyReviewed(); | |
return false | |
} | |
this.reviewedLength = this.reviewedProducts.length > this.maxItems ? this.maxItems : this.reviewedProducts.length; | |
a = this.reviewedProducts.length > this.maxItems ? this.reviewedProducts.length - this.maxItems : 0; | |
for (var b = 0, d = this.reviewedProducts.length - 1; d >= a; d--) { | |
this.products[b] = | |
this.reviewedProducts[d].split("|") !== null ? this.reviewedProducts[d].split("|") : this.reviewedProducts[d]; | |
b++ | |
} | |
this._updateRecentlyReviewed() | |
}, | |
buildContent: function(a, b) { | |
var d = this.reviewedLength, | |
f = "", | |
g = 0, | |
j = Target.globals.mediapath != undefined ? Target.globals.mediapath : "", | |
l = "", | |
o = "", | |
v = "", | |
A = ""; | |
l = ""; | |
if (a == "summary") d = 1; | |
for (; g < d; g++) | |
if (this.products[g]) { | |
if (this.products[g][0].search("_")) { | |
A = this.products[g][0].split("_"); | |
this.products[g][0] = A[1] == "" || A[1] == undefined || A[1] == null ? A[0] : A[0] + "_" + A[1]; | |
A = this.products[g][0] | |
} | |
l = | |
A.split("_")[0]; | |
l = "http://www.target.com/p/-/A-" + l; | |
o = this.products[g][1]; | |
if (o.length > 30) o = $.trim(o.substring(0, 30)) + "..."; | |
v = "/img/p/" + this.products[g][0].substring(0, 2) + "/" + this.products[g][0].substring(2, 4) + "/" + this.products[g][0] + "_75x75.jpg"; | |
f += '<li><div class="image"><a href="' + l + '" title="' + this.products[g][1] + '"><img alt="' + this.products[g][1] + '" src="' + Target.controller.headerNew.getProtocol(j) + v + '"/></a></div><div class="link"><a href="' + l + '" title="' + this.products[g][1] + '">' + o + "</a></div></li>" | |
} | |
b(f) | |
}, | |
cookie: { | |
create: function(a, b, d, f) { | |
f = f ? f : Target.globals.cookieDomain; | |
if (d) { | |
var g = new Date; | |
g.setTime(g.getTime() + d * 24 * 60 * 60 * 1E3); | |
d = "; expires=" + g.toGMTString() | |
} else d = ""; | |
document.cookie = a + "=" + b + d + "; path=/;" + (f === undefined ? "domain=.target.com" : "domain=" + f) | |
}, | |
read: function(a) { | |
a = a + "="; | |
for (var b = document.cookie.split(";"), d = 0; d < b.length; d++) { | |
for (var f = b[d]; f.charAt(0) == " ";) f = f.substring(1, f.length); | |
if (f.indexOf(a) == 0) return f.substring(a.length, f.length) | |
} | |
return null | |
}, | |
erase: function(a) { | |
this.create(a, "", -1) | |
} | |
}, | |
_updateRecentlyReviewed: function() { | |
var a = ""; | |
a = this.reviewWrapper.find(".recentNavView"); | |
switch (this.reviewedLength) { | |
case 0: | |
a.find("a").remove(); | |
$(this.reviewedIcon).remove(); | |
break; | |
case 1: | |
a.html("recently viewed items"); | |
$(this.reviewedIcon).remove(); | |
break; | |
default: | |
a.html("<a href='#'>recently viewed items <span class='screen-reader-only'>expand</span></a><a href='#' class='screen-reader-only' tabindex='-1'>recently viewed items</a>"); | |
$(this.reviewedIcon).remove(); | |
this.reviewWrapper.append('<a id="reviewed-icon" href="#" class="viewedopen"><span class="screen-reader-only">Recent viewed items expand</span></a>') | |
} | |
}, | |
deleteOldCookie: function() { | |
this.cookie.erase(this.cookieNameToDelete) | |
} | |
}); | |
(function(a) { | |
function b(g) { | |
if (g) { | |
if (typeof f[g] === "string") return g; | |
g = g.charAt(0).toUpperCase() + g.slice(1); | |
for (var j, l = 0, o = d.length; l < o; l++) { | |
j = d[l] + g; | |
if (typeof f[j] === "string") return j | |
} | |
} | |
} | |
var d = "Webkit Moz ms Ms O".split(" "), | |
f = document.documentElement.style; | |
if (typeof define === "function" && define.amd) define(function() { | |
return b | |
}); | |
else a.getStyleProperty = b | |
})(window); | |
(function(a) { | |
function b(l) { | |
var o = parseFloat(l); | |
return l.indexOf("%") === -1 && !isNaN(o) && o | |
} | |
function d(l) { | |
var o = l("boxSizing"), | |
v; | |
(function() { | |
if (o) { | |
var A = document.createElement("div"); | |
A.style.width = "200px"; | |
A.style.padding = "1px 2px 3px 4px"; | |
A.style.borderStyle = "solid"; | |
A.style.borderWidth = "1px 2px 3px 4px"; | |
A.style[o] = "border-box"; | |
var C = document.body || document.documentElement; | |
C.appendChild(A); | |
var q = g(A); | |
v = b(q.width) === 200; | |
C.removeChild(A) | |
} | |
})(); | |
return function(A) { | |
if (typeof A === "string") A = document.querySelector(A); | |
if (!(!A || typeof A !== "object" || !A.nodeType)) { | |
var C = g(A); | |
if (C.display === "none") { | |
var q = { | |
width: 0, | |
height: 0, | |
innerWidth: 0, | |
innerHeight: 0, | |
outerWidth: 0, | |
outerHeight: 0 | |
}; | |
C = 0; | |
for (A = j.length; C < A; C++) q[j[C]] = 0; | |
return q | |
} | |
q = {}; | |
q.width = A.offsetWidth; | |
q.height = A.offsetHeight; | |
A = q.isBorderBox = !!(o && C[o] && C[o] === "border-box"); | |
for (var I = 0, K = j.length; I < K; I++) { | |
var Q = j[I], | |
n = parseFloat(C[Q]); | |
q[Q] = !isNaN(n) ? n : 0 | |
} | |
I = q.paddingLeft + q.paddingRight; | |
K = q.paddingTop + q.paddingBottom; | |
Q = q.marginLeft + q.marginRight; | |
n = q.marginTop + q.marginBottom; | |
var G = q.borderLeftWidth + q.borderRightWidth, | |
p = q.borderTopWidth + q.borderBottomWidth; | |
A = A && v; | |
var t = b(C.width); | |
if (t !== false) q.width = t + (A ? 0 : I + G); | |
C = b(C.height); | |
if (C !== false) q.height = C + (A ? 0 : K + p); | |
q.innerWidth = q.width - (I + G); | |
q.innerHeight = q.height - (K + p); | |
q.outerWidth = q.width + Q; | |
q.outerHeight = q.height + n; | |
return q | |
} | |
} | |
} | |
var f = document.defaultView, | |
g = f && f.getComputedStyle ? function(l) { | |
return f.getComputedStyle(l, null) | |
} : function(l) { | |
return l.currentStyle | |
}, | |
j = ["paddingLeft", "paddingRight", "paddingTop", "paddingBottom", "marginLeft", | |
"marginRight", "marginTop", "marginBottom", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth" | |
]; | |
if (typeof define === "function" && define.amd) define(["get-style-property"], d); | |
else a.getSize = d(a.getStyleProperty) | |
})(window); | |
(function(a) { | |
var b = document.documentElement, | |
d = function() {}; | |
if (b.addEventListener) d = function(g, j, l) { | |
g.addEventListener(j, l, false) | |
}; | |
else if (b.attachEvent) d = function(g, j, l) { | |
g[j + l] = l.handleEvent ? function() { | |
var o = a.event; | |
o.target = o.target || o.srcElement; | |
l.handleEvent.call(l, o) | |
} : function() { | |
var o = a.event; | |
o.target = o.target || o.srcElement; | |
l.call(g, o) | |
}; | |
g.attachEvent("on" + j, g[j + l]) | |
}; | |
var f = function() {}; | |
if (b.removeEventListener) f = function(g, j, l) { | |
g.removeEventListener(j, l, false) | |
}; | |
else if (b.detachEvent) f = function(g, | |
j, l) { | |
g.detachEvent("on" + j, g[j + l]); | |
try { | |
delete g[j + l] | |
} catch (o) { | |
g[j + l] = undefined | |
} | |
}; | |
b = { | |
bind: d, | |
unbind: f | |
}; | |
if (typeof define === "function" && define.amd) define(b); | |
else a.eventie = b | |
})(this); | |
(function(a) { | |
function b(l) { | |
if (typeof l === "function") b.isReady ? l() : j.push(l) | |
} | |
function d(l) { | |
l = l.type === "readystatechange" && g.readyState !== "complete"; | |
if (!(b.isReady || l)) { | |
b.isReady = true; | |
l = 0; | |
for (var o = j.length; l < o; l++)(0, j[l])() | |
} | |
} | |
function f(l) { | |
l.bind(g, "DOMContentLoaded", d); | |
l.bind(g, "readystatechange", d); | |
l.bind(a, "load", d); | |
return b | |
} | |
var g = a.document, | |
j = []; | |
b.isReady = false; | |
if (typeof define === "function" && define.amd) define(["eventie"], f); | |
else a.docReady = f(a.eventie) | |
})(this); | |
(function(a) { | |
function b() {} | |
function d(j, l) { | |
if (g) return l.indexOf(j); | |
for (var o = l.length; o--;) | |
if (l[o] === j) return o; | |
return -1 | |
} | |
var f = b.prototype, | |
g = Array.prototype.indexOf ? true : false; | |
f._getEvents = function() { | |
return this._events || (this._events = {}) | |
}; | |
f.getListeners = function(j) { | |
var l = this._getEvents(), | |
o, v; | |
if (typeof j === "object") { | |
o = {}; | |
for (v in l) | |
if (l.hasOwnProperty(v) && j.test(v)) o[v] = l[v] | |
} else o = l[j] || (l[j] = []); | |
return o | |
}; | |
f.getListenersAsObject = function(j) { | |
var l = this.getListeners(j), | |
o; | |
if (l instanceof Array) { | |
o = {}; | |
o[j] = l | |
} | |
return o || l | |
}; | |
f.addListener = function(j, l) { | |
var o = this.getListenersAsObject(j), | |
v; | |
for (v in o) o.hasOwnProperty(v) && d(l, o[v]) === -1 && o[v].push(l); | |
return this | |
}; | |
f.on = f.addListener; | |
f.defineEvent = function(j) { | |
this.getListeners(j); | |
return this | |
}; | |
f.defineEvents = function(j) { | |
for (var l = 0; l < j.length; l += 1) this.defineEvent(j[l]); | |
return this | |
}; | |
f.removeListener = function(j, l) { | |
var o = this.getListenersAsObject(j), | |
v, A; | |
for (A in o) | |
if (o.hasOwnProperty(A)) { | |
v = d(l, o[A]); | |
v !== -1 && o[A].splice(v, 1) | |
} | |
return this | |
}; | |
f.off = f.removeListener; | |
f.addListeners = function(j, l) { | |
return this.manipulateListeners(false, j, l) | |
}; | |
f.removeListeners = function(j, l) { | |
return this.manipulateListeners(true, j, l) | |
}; | |
f.manipulateListeners = function(j, l, o) { | |
var v, A, C = j ? this.removeListener : this.addListener; | |
j = j ? this.removeListeners : this.addListeners; | |
if (typeof l === "object" && !(l instanceof RegExp)) | |
for (v in l) { | |
if (l.hasOwnProperty(v) && (A = l[v])) typeof A === "function" ? C.call(this, v, A) : j.call(this, v, A) | |
} else | |
for (v = o.length; v--;) C.call(this, l, o[v]); | |
return this | |
}; | |
f.removeEvent = function(j) { | |
var l = | |
typeof j, | |
o = this._getEvents(), | |
v; | |
if (l === "string") delete o[j]; | |
else if (l === "object") | |
for (v in o) o.hasOwnProperty(v) && j.test(v) && delete o[v]; | |
else delete this._events; | |
return this | |
}; | |
f.emitEvent = function(j, l) { | |
var o = this.getListenersAsObject(j), | |
v, A, C; | |
for (A in o) | |
if (o.hasOwnProperty(A)) | |
for (v = o[A].length; v--;) { | |
C = l ? o[A][v].apply(null, l) : o[A][v](); | |
C === true && this.removeListener(j, o[A][v]) | |
} | |
return this | |
}; | |
f.trigger = f.emitEvent; | |
f.emit = function(j) { | |
var l = Array.prototype.slice.call(arguments, 1); | |
return this.emitEvent(j, l) | |
}; | |
if (typeof define === "function" && define.amd) define(function() { | |
return b | |
}); | |
else a.EventEmitter = b | |
})(this); | |
(function(a) { | |
function b() {} | |
function d(g) { | |
function j(v) { | |
if (!v.prototype.option) v.prototype.option = function(A) { | |
if (g.isPlainObject(A)) this.options = g.extend(true, this.options, A) | |
} | |
} | |
function l(v, A) { | |
g.fn[v] = function(C) { | |
if (typeof C === "string") { | |
for (var q = f.call(arguments, 1), I = 0, K = this.length; I < K; I++) { | |
var Q = g.data(this[I], v); | |
if (Q) | |
if (!g.isFunction(Q[C]) || C.charAt(0) === "_") o("no such method '" + C + "' for " + v + " instance"); | |
else { | |
Q = Q[C].apply(Q, q); | |
if (Q !== undefined) return Q | |
} else o("cannot call methods on " + v + " prior to initialization; attempted to call '" + | |
C + "'") | |
} | |
return this | |
} else return this.each(function() { | |
var n = g.data(this, v); | |
if (n) { | |
n.option(C); | |
n._init() | |
} else { | |
n = new A(this, C); | |
g.data(this, v, n) | |
} | |
}) | |
} | |
} | |
if (g) { | |
var o = typeof console === "undefined" ? b : function(v) { | |
console.error(v) | |
}; | |
g.bridget = function(v, A) { | |
j(A); | |
l(v, A) | |
} | |
} | |
} | |
var f = Array.prototype.slice; | |
typeof define === "function" && define.amd ? define(["jquery"], d) : d(a.jQuery) | |
})(window); | |
(function(a, b) { | |
function d(v, A) { | |
return v[j](A) | |
} | |
function f(v, A) { | |
v.parentNode || document.createDocumentFragment().appendChild(v); | |
for (var C = v.parentNode.querySelectorAll(A), q = 0, I = C.length; q < I; q++) | |
if (C[q] === v) return true; | |
return false | |
} | |
function g(v, A) { | |
v.parentNode || document.createDocumentFragment().appendChild(v); | |
return d(v, A) | |
} | |
var j = function() { | |
if (b.matchesSelector) return "matchesSelector"; | |
for (var v = ["webkit", "moz", "ms", "o"], A = 0, C = v.length; A < C; A++) { | |
var q = v[A] + "MatchesSelector"; | |
if (b[q]) return q | |
} | |
}(), | |
l; | |
if (j) { | |
var o = | |
document.createElement("div"); | |
l = d(o, "div") ? d : g | |
} else l = f; | |
if (typeof define === "function" && define.amd) define(function() { | |
return l | |
}); | |
else window.matchesSelector = l | |
})(this, Element.prototype); | |
(function(a) { | |
function b(n, G) { | |
if (n) { | |
this.element = n; | |
this.layout = G; | |
this.position = { | |
x: 0, | |
y: 0 | |
}; | |
this._create() | |
} | |
} | |
var d = a.getSize, | |
f = a.getStyleProperty, | |
g = a.EventEmitter, | |
j = document.defaultView, | |
l = j && j.getComputedStyle ? function(n) { | |
return j.getComputedStyle(n, null) | |
} : function(n) { | |
return n.currentStyle | |
}, | |
o = f("transition"), | |
v = f("transform"); | |
v = o && v; | |
var A = !!f("perspective"), | |
C = { | |
WebkitTransition: "webkitTransitionEnd", | |
MozTransition: "transitionend", | |
OTransition: "otransitionend", | |
transition: "transitionend" | |
}[o], | |
q = ["transform", | |
"transition", "transitionDuration", "transitionProperty" | |
], | |
I = function() { | |
for (var n = {}, G = 0, p = q.length; G < p; G++) { | |
var t = q[G], | |
z = f(t); | |
if (z && z !== t) n[t] = z | |
} | |
return n | |
}(); | |
(function(n, G) { | |
for (var p in G) n[p] = G[p]; | |
return n | |
})(b.prototype, g.prototype); | |
b.prototype._create = function() { | |
this.css({ | |
position: "absolute" | |
}) | |
}; | |
b.prototype.handleEvent = function(n) { | |
var G = "on" + n.type; | |
this[G] && this[G](n) | |
}; | |
b.prototype.getSize = function() { | |
this.size = d(this.element) | |
}; | |
b.prototype.css = function(n) { | |
var G = this.element.style; | |
try { | |
for (var p in n) G[I[p] || | |
p] = n[p] | |
} catch (t) {} | |
}; | |
b.prototype.getPosition = function() { | |
var n = l(this.element), | |
G = this.layout.options, | |
p = G.isOriginLeft; | |
G = G.isOriginTop; | |
var t = parseInt(n[p ? "left" : "right"], 10); | |
n = parseInt(n[G ? "top" : "bottom"], 10); | |
t = isNaN(t) ? 0 : t; | |
n = isNaN(n) ? 0 : n; | |
var z = this.layout.size; | |
t -= p ? z.paddingLeft : z.paddingRight; | |
n -= G ? z.paddingTop : z.paddingBottom; | |
this.position.x = t; | |
this.position.y = n | |
}; | |
b.prototype.layoutPosition = function() { | |
var n = this.layout.size, | |
G = this.layout.options, | |
p = {}; | |
if (G.isOriginLeft) { | |
p.left = this.position.x + n.paddingLeft + | |
"px"; | |
p.right = "" | |
} else { | |
p.right = this.position.x + n.paddingRight + "px"; | |
p.left = "" | |
} | |
if (G.isOriginTop) { | |
p.top = this.position.y + n.paddingTop + "px"; | |
p.bottom = "" | |
} else { | |
p.bottom = this.position.y + n.paddingBottom + "px"; | |
p.top = "" | |
} | |
this.css(p); | |
this.emitEvent("layout", [this]) | |
}; | |
var K = A ? function(n, G) { | |
return "translate3d(" + n + "px, " + G + "px, 0)" | |
} : function(n, G) { | |
return "translate(" + n + "px, " + G + "px)" | |
}; | |
b.prototype._transitionTo = function(n, G) { | |
this.getPosition(); | |
var p = this.position.x, | |
t = this.position.y, | |
z = parseInt(n, 10), | |
D = parseInt(G, 10); | |
z = z === | |
this.position.x && D === this.position.y; | |
this.setPosition(n, G); | |
if (z && !this.isTransitioning) this.layoutPosition(); | |
else { | |
p = n - p; | |
t = G - t; | |
z = {}; | |
D = this.layout.options; | |
p = D.isOriginLeft ? p : -p; | |
t = D.isOriginTop ? t : -t; | |
z.transform = K(p, t); | |
this.transition({ | |
to: z, | |
onTransitionEnd: this.layoutPosition, | |
isCleaning: true | |
}) | |
} | |
}; | |
b.prototype.goTo = function(n, G) { | |
this.setPosition(n, G); | |
this.layoutPosition() | |
}; | |
b.prototype.moveTo = v ? b.prototype._transitionTo : b.prototype.goTo; | |
b.prototype.setPosition = function(n, G) { | |
this.position.x = parseInt(n, 10); | |
this.position.y = parseInt(G, 10) | |
}; | |
b.prototype._nonTransition = function(n) { | |
this.css(n.to); | |
n.isCleaning && this._removeStyles(n.to); | |
n.onTransitionEnd && n.onTransitionEnd.call(this) | |
}; | |
b.prototype._transition = function(n) { | |
var G = this.layout.options.transitionDuration; | |
if (parseFloat(G)) { | |
var p = n.to, | |
t = [], | |
z; | |
for (z in p) t.push(z); | |
z = {}; | |
z.transitionProperty = t.join(","); | |
z.transitionDuration = G; | |
this.element.addEventListener(C, this, false); | |
if (n.isCleaning || n.onTransitionEnd) this.on("transitionEnd", function(D) { | |
n.isCleaning && | |
D._removeStyles(p); | |
n.onTransitionEnd && n.onTransitionEnd.call(D); | |
return true | |
}); | |
n.from && this.css(n.from); | |
this.css(z); | |
this.css(p); | |
this.isTransitioning = true | |
} else this._nonTransition(n) | |
}; | |
b.prototype.transition = b.prototype[o ? "_transition" : "_nonTransition"]; | |
b.prototype.onwebkitTransitionEnd = function(n) { | |
this.ontransitionend(n) | |
}; | |
b.prototype.onotransitionend = function(n) { | |
this.ontransitionend(n) | |
}; | |
b.prototype.ontransitionend = function(n) { | |
if (n.target === this.element) { | |
this.removeTransitionStyles(); | |
this.element.removeEventListener(C, | |
this, false); | |
this.isTransitioning = false; | |
this.emitEvent("transitionEnd", [this]) | |
} | |
}; | |
b.prototype._removeStyles = function(n) { | |
var G = {}, | |
p; | |
for (p in n) G[p] = ""; | |
this.css(G) | |
}; | |
var Q = { | |
transitionProperty: "", | |
transitionDuration: "" | |
}; | |
b.prototype.removeTransitionStyles = function() { | |
this.css(Q) | |
}; | |
b.prototype.removeElem = function() { | |
this.element.parentNode.removeChild(this.element); | |
this.emitEvent("remove", [this]) | |
}; | |
b.prototype.remove = o ? function() { | |
var n = this; | |
this.on("transitionEnd", function() { | |
n.removeElem(); | |
return true | |
}); | |
this.hide() | |
} : | |
b.prototype.removeElem; | |
b.prototype.reveal = function() { | |
this.css({ | |
display: "" | |
}); | |
var n = this.layout.options; | |
this.transition({ | |
from: n.hiddenStyle, | |
to: n.visibleStyle, | |
isCleaning: true | |
}) | |
}; | |
b.prototype.hide = function() { | |
this.css({ | |
display: "" | |
}); | |
var n = this.layout.options; | |
this.transition({ | |
from: n.visibleStyle, | |
to: n.hiddenStyle, | |
isCleaning: true, | |
onTransitionEnd: function() { | |
this.css({ | |
display: "none" | |
}) | |
} | |
}) | |
}; | |
b.prototype.destroy = function() { | |
this.css({ | |
position: "", | |
left: "", | |
right: "", | |
top: "", | |
bottom: "", | |
transition: "", | |
transform: "" | |
}) | |
}; | |
a.Outlayer = { | |
Item: b | |
} | |
})(window); | |
(function(a) { | |
function b(B, m) { | |
for (var u in m) B[u] = m[u]; | |
return B | |
} | |
function d(B) { | |
var m = []; | |
if (p.call(B) === "[object Array]") m = B; | |
else if (typeof B.length === "number") | |
for (var u = 0, y = B.length; u < y; u++) m.push(B[u]); | |
else m.push(B); | |
return m | |
} | |
function f(B) { | |
return B.replace(/(.)([A-Z])/g, function(m, u, y) { | |
return u + "-" + y | |
}).toLowerCase() | |
} | |
function g(B, m) { | |
if (typeof B === "string") B = K.querySelector(B); | |
if (!B || !t(B)) Q && Q.error("Bad " + this.settings.namespace + " element: " + B); | |
else { | |
this.element = B; | |
this.options = b({}, this.options); | |
b(this.options, | |
m); | |
var u = ++D; | |
this.element.outlayerGUID = u; | |
M[u] = this; | |
this._create(); | |
this.options.isInitLayout && this.layout() | |
} | |
} | |
function j(B, m) { | |
B.prototype[m] = b({}, g.prototype[m]) | |
} | |
var l = a.Outlayer, | |
o = l.Item, | |
v = a.docReady, | |
A = a.EventEmitter, | |
C = a.eventie, | |
q = a.getSize, | |
I = a.matchesSelector, | |
K = a.document, | |
Q = a.console, | |
n = a.jQuery, | |
G = function() {}, | |
p = Object.prototype.toString, | |
t = typeof HTMLElement === "object" ? function(B) { | |
return B instanceof HTMLElement | |
} : function(B) { | |
return B && typeof B === "object" && B.nodeType === 1 && typeof B.nodeName === "string" | |
}, | |
z = Array.prototype.indexOf ? function(B, m) { | |
return B.indexOf(m) | |
} : function(B, m) { | |
for (var u = 0, y = B.length; u < y; u++) | |
if (B[u] === m) return u; | |
return -1 | |
}, | |
D = 0, | |
M = {}; | |
g.prototype.settings = { | |
namespace: "outlayer", | |
item: l.Item | |
}; | |
g.prototype.options = { | |
containerStyle: { | |
position: "relative" | |
}, | |
isInitLayout: true, | |
isOriginLeft: true, | |
isOriginTop: true, | |
isResizeBound: true, | |
transitionDuration: "0.4s", | |
hiddenStyle: { | |
opacity: 0, | |
transform: "scale(0.001)" | |
}, | |
visibleStyle: { | |
opacity: 1, | |
transform: "scale(1)" | |
} | |
}; | |
b(g.prototype, A.prototype); | |
g.prototype._create = | |
function() { | |
this.reloadItems(); | |
this.stamps = []; | |
this.stamp(this.options.stamp); | |
b(this.element.style, this.options.containerStyle); | |
this.options.isResizeBound && this.bindResize() | |
}; | |
g.prototype.reloadItems = function() { | |
this.items = this._getItems(this.element.children) | |
}; | |
g.prototype._getItems = function(B) { | |
B = this._filterFindItemElements(B); | |
for (var m = this.settings.item, u = [], y = 0, H = B.length; y < H; y++) { | |
var J = new m(B[y], this, this.options.itemOptions); | |
u.push(J) | |
} | |
return u | |
}; | |
g.prototype._filterFindItemElements = function(B) { | |
B = | |
d(B); | |
var m = this.options.itemSelector; | |
if (!m) return B; | |
for (var u = [], y = 0, H = B.length; y < H; y++) { | |
var J = B[y]; | |
I(J, m) && u.push(J); | |
J = J.querySelectorAll(m); | |
for (var R = 0, U = J.length; R < U; R++) u.push(J[R]) | |
} | |
return u | |
}; | |
g.prototype.getItemElements = function() { | |
for (var B = [], m = 0, u = this.items.length; m < u; m++) B.push(this.items[m].element); | |
return B | |
}; | |
g.prototype.layout = function() { | |
this._resetLayout(); | |
this._manageStamps(); | |
this.layoutItems(this.items, this.options.isLayoutInstant !== undefined ? this.options.isLayoutInstant : !this._isLayoutInited); | |
this._isLayoutInited = true | |
}; | |
g.prototype._init = g.prototype.layout; | |
g.prototype._resetLayout = function() { | |
this.getSize() | |
}; | |
g.prototype.getSize = function() { | |
this.size = q(this.element) | |
}; | |
g.prototype._getMeasurement = function(B, m) { | |
var u = this.options[B], | |
y; | |
if (u) { | |
if (typeof u === "string") y = this.element.querySelector(u); | |
else if (t(u)) y = u; | |
this[B] = y ? q(y)[m] : u | |
} else this[B] = 0 | |
}; | |
g.prototype.layoutItems = function(B, m) { | |
B = this._getItemsForLayout(B); | |
this._layoutItems(B, m); | |
this._postLayout() | |
}; | |
g.prototype._getItemsForLayout = function(B) { | |
for (var m = [], u = 0, y = B.length; u < y; u++) { | |
var H = B[u]; | |
H.isIgnored || m.push(H) | |
} | |
return m | |
}; | |
g.prototype._layoutItems = function(B, m) { | |
if (!B || !B.length) this.emitEvent("layoutComplete", [this, B]); | |
else { | |
this._itemsOn(B, "layout", function() { | |
this.emitEvent("layoutComplete", [this, B]) | |
}); | |
for (var u = [], y = 0, H = B.length; y < H; y++) { | |
var J = B[y], | |
R = this._getItemLayoutPosition(J); | |
R.item = J; | |
R.isInstant = m; | |
u.push(R) | |
} | |
this._processLayoutQueue(u) | |
} | |
}; | |
g.prototype._getItemLayoutPosition = function() { | |
return { | |
x: 0, | |
y: 0 | |
} | |
}; | |
g.prototype._processLayoutQueue = function(B) { | |
for (var m = | |
0, u = B.length; m < u; m++) { | |
var y = B[m]; | |
this._positionItem(y.item, y.x, y.y, y.isInstant) | |
} | |
}; | |
g.prototype._positionItem = function(B, m, u, y) { | |
y ? B.goTo(m, u) : B.moveTo(m, u) | |
}; | |
g.prototype._postLayout = function() { | |
var B = this._getContainerSize(); | |
if (B) { | |
this._setContainerMeasure(B.width, true); | |
this._setContainerMeasure(B.height, false) | |
} | |
}; | |
g.prototype._getContainerSize = G; | |
g.prototype._setContainerMeasure = function(B, m) { | |
if (B !== undefined) { | |
var u = this.size; | |
if (u.isBorderBox) B += m ? u.paddingLeft + u.paddingRight + u.borderLeftWidth + u.borderRightWidth : | |
u.paddingBottom + u.paddingTop + u.borderTopWidth + u.borderBottomWidth; | |
B = Math.max(B, 0); | |
this.element.style[m ? "width" : "height"] = B + "px" | |
} | |
}; | |
g.prototype._itemsOn = function(B, m, u) { | |
function y() { | |
H++; | |
H === J && u.call(R); | |
return true | |
} | |
for (var H = 0, J = B.length, R = this, U = 0, X = B.length; U < X; U++) B[U].on(m, y) | |
}; | |
g.prototype.ignore = function(B) { | |
if (B = this.getItem(B)) B.isIgnored = true | |
}; | |
g.prototype.unignore = function(B) { | |
(B = this.getItem(B)) && delete B.isIgnored | |
}; | |
g.prototype.stamp = function(B) { | |
if (B = this._find(B)) { | |
this.stamps = this.stamps.concat(B); | |
for (var m = 0, u = B.length; m < u; m++) this.ignore(B[m]) | |
} | |
}; | |
g.prototype.unstamp = function(B) { | |
if (B = this._find(B)) | |
for (var m = 0, u = B.length; m < u; m++) { | |
var y = B[m], | |
H = z(this.stamps, y); | |
H !== -1 && this.stamps.splice(H, 1); | |
this.unignore(y) | |
} | |
}; | |
g.prototype._find = function(B) { | |
if (B) { | |
if (typeof B === "string") B = this.element.querySelectorAll(B); | |
return B = d(B) | |
} | |
}; | |
g.prototype._manageStamps = function() { | |
if (this.stamps && this.stamps.length) { | |
this._getBoundingRect(); | |
for (var B = 0, m = this.stamps.length; B < m; B++) this._manageStamp(this.stamps[B]) | |
} | |
}; | |
g.prototype._getBoundingRect = | |
function() { | |
var B = this.element.getBoundingClientRect(), | |
m = this.size; | |
this._boundingRect = { | |
left: B.left + m.paddingLeft + m.borderLeftWidth, | |
top: B.top + m.paddingTop + m.borderTopWidth, | |
right: B.right - (m.paddingRight + m.borderRightWidth), | |
bottom: B.bottom - (m.paddingBottom + m.borderBottomWidth) | |
} | |
}; | |
g.prototype._manageStamp = G; | |
g.prototype._getElementOffset = function(B) { | |
var m = B.getBoundingClientRect(), | |
u = this._boundingRect; | |
B = q(B); | |
return { | |
left: m.left - u.left - B.marginLeft, | |
top: m.top - u.top - B.marginTop, | |
right: u.right - m.right - B.marginRight, | |
bottom: u.bottom - m.bottom - B.marginBottom | |
} | |
}; | |
g.prototype.handleEvent = function(B) { | |
var m = "on" + B.type; | |
this[m] && this[m](B) | |
}; | |
g.prototype.bindResize = function() { | |
if (!this.isResizeBound) { | |
C.bind(a, "resize", this); | |
this.isResizeBound = true | |
} | |
}; | |
g.prototype.unbindResize = function() { | |
C.unbind(a, "resize", this); | |
this.isResizeBound = false | |
}; | |
g.prototype.onresize = function() { | |
this.resizeTimeout && clearTimeout(this.resizeTimeout); | |
var B = this; | |
this.resizeTimeout = setTimeout(function() { | |
B.resize() | |
}, 100) | |
}; | |
g.prototype.resize = function() { | |
var B = | |
q(this.element); | |
if (!(this.size && B && B.innerWidth === this.size.innerWidth)) { | |
this.layout(); | |
delete this.resizeTimeout | |
} | |
}; | |
g.prototype.addItems = function(B) { | |
B = this._getItems(B); | |
if (B.length) { | |
this.items = this.items.concat(B); | |
return B | |
} | |
}; | |
g.prototype.appended = function(B) { | |
B = this.addItems(B); | |
if (B.length) { | |
this.layoutItems(B, true); | |
this.reveal(B) | |
} | |
}; | |
g.prototype.prepended = function(B) { | |
B = this._getItems(B); | |
if (B.length) { | |
var m = this.items.slice(0); | |
this.items = B.concat(m); | |
this._resetLayout(); | |
this.layoutItems(B, true); | |
this.reveal(B); | |
this.layoutItems(m) | |
} | |
}; | |
g.prototype.reveal = function(B) { | |
if (B && B.length) | |
for (var m = 0, u = B.length; m < u; m++) B[m].reveal() | |
}; | |
g.prototype.hide = function(B) { | |
if (B && B.length) | |
for (var m = 0, u = B.length; m < u; m++) B[m].hide() | |
}; | |
g.prototype.getItem = function(B) { | |
for (var m = 0, u = this.items.length; m < u; m++) { | |
var y = this.items[m]; | |
if (y.element === B) return y | |
} | |
}; | |
g.prototype.getItems = function(B) { | |
if (B && B.length) { | |
for (var m = [], u = 0, y = B.length; u < y; u++) { | |
var H = this.getItem(B[u]); | |
H && m.push(H) | |
} | |
return m | |
} | |
}; | |
g.prototype.remove = function(B) { | |
B = d(B); | |
var m = | |
this.getItems(B); | |
this._itemsOn(m, "remove", function() { | |
this.emitEvent("removeComplete", [this, m]) | |
}); | |
B = 0; | |
for (var u = m.length; B < u; B++) { | |
var y = m[B]; | |
y.remove(); | |
this.items.splice(z(this.items, y), 1) | |
} | |
}; | |
g.prototype.destroy = function() { | |
var B = this.element.style; | |
B.height = ""; | |
B.position = ""; | |
B.width = ""; | |
B = 0; | |
for (var m = this.items.length; B < m; B++) this.items[B].destroy(); | |
this.unbindResize(); | |
delete this.element.outlayerGUID | |
}; | |
g.data = function(B) { | |
return (B = B && B.outlayerGUID) && M[B] | |
}; | |
g.create = function(B, m) { | |
function u() { | |
g.apply(this, | |
arguments) | |
} | |
b(u.prototype, g.prototype); | |
j(u, "options"); | |
j(u, "settings"); | |
b(u.prototype.options, m); | |
u.prototype.settings.namespace = B; | |
u.data = g.data; | |
u.Item = function() { | |
o.apply(this, arguments) | |
}; | |
u.Item.prototype = new g.Item; | |
u.prototype.settings.item = u.Item; | |
v(function() { | |
var y = f(B), | |
H = K.querySelectorAll(".js-" + y); | |
y = "data-" + y + "-options"; | |
for (var J = 0, R = H.length; J < R; J++) { | |
var U = H[J], | |
X = U.getAttribute(y), | |
ga; | |
try { | |
ga = X && JSON.parse(X) | |
} catch (ja) { | |
if (Q) Q.error("Error parsing " + y + " on " + U.nodeName.toLowerCase() + (U.id ? "#" + U.id : | |
"") + ": " + ja); | |
continue | |
} | |
X = new u(U, ga); | |
n && n.data(U, B, X) | |
} | |
}); | |
n && n.bridget && n.bridget(B, u); | |
return u | |
}; | |
g.Item = o; | |
a.Outlayer = g | |
})(window); | |
(function(a) { | |
function b(f, g) { | |
var j = f.create("masonry"); | |
j.prototype._resetLayout = function() { | |
this.getSize(); | |
this._getMeasurement("columnWidth", "outerWidth"); | |
this._getMeasurement("gutter", "outerWidth"); | |
this.measureColumns(); | |
var l = this.cols; | |
for (this.colYs = []; l--;) this.colYs.push(0); | |
this.maxY = 0 | |
}; | |
j.prototype.measureColumns = function() { | |
var l = this._getSizingContainer(), | |
o = this.items[0]; | |
o = o && o.element; | |
if (!this.columnWidth) this.columnWidth = o ? g(o).outerWidth : this.size.innerWidth; | |
this.columnWidth += this.gutter; | |
this._containerWidth = g(l).innerWidth; | |
this.cols = Math.floor((this._containerWidth + this.gutter) / this.columnWidth); | |
this.cols = Math.max(this.cols, 1) | |
}; | |
j.prototype._getSizingContainer = function() { | |
return this.options.isFitWidth ? this.element.parentNode : this.element | |
}; | |
j.prototype._getItemLayoutPosition = function(l) { | |
l.getSize(); | |
var o = Math.ceil(l.size.outerWidth / this.columnWidth); | |
o = Math.min(o, this.cols); | |
var v = this._getColGroup(o), | |
A = Math.min.apply(Math, v); | |
o = d(v, A); | |
var C = { | |
x: this.columnWidth * o, | |
y: A | |
}; | |
l = A + l.size.outerHeight; | |
v = this.cols + 1 - v.length; | |
for (A = 0; A < v; A++) this.colYs[o + A] = l; | |
return C | |
}; | |
j.prototype._getColGroup = function(l) { | |
if (l === 1) return this.colYs; | |
for (var o = [], v = this.cols + 1 - l, A = 0; A < v; A++) { | |
var C = this.colYs.slice(A, A + l); | |
o[A] = Math.max.apply(Math, C) | |
} | |
return o | |
}; | |
j.prototype._manageStamp = function(l) { | |
var o = g(l); | |
l = this._getElementOffset(l); | |
var v = this.options.isOriginLeft ? l.left : l.right, | |
A = v + o.outerWidth; | |
v = Math.floor(v / this.columnWidth); | |
v = Math.max(0, v); | |
A = Math.floor(A / this.columnWidth); | |
A = Math.min(this.cols - 1, A); | |
o = (this.options.isOriginTop ? | |
l.top : l.bottom) + o.outerHeight; | |
for (l = v; l <= A; l++) this.colYs[l] = Math.max(o, this.colYs[l]) | |
}; | |
j.prototype._getContainerSize = function() { | |
this.maxY = Math.max.apply(Math, this.colYs); | |
var l = { | |
height: this.maxY | |
}; | |
if (this.options.isFitWidth) l.width = this._getContainerFitWidth(); | |
return l | |
}; | |
j.prototype._getContainerFitWidth = function() { | |
for (var l = 0, o = this.cols; --o;) { | |
if (this.colYs[o] !== 0) break; | |
l++ | |
} | |
return (this.cols - l) * this.columnWidth - this.gutter | |
}; | |
j.prototype.resize = function() { | |
var l = this._getSizingContainer(); | |
l = g(l); | |
if (!(this.size && | |
l && l.innerWidth === this._containerWidth)) { | |
this.layout(); | |
delete this.resizeTimeout | |
} | |
}; | |
return j | |
} | |
var d = Array.prototype.indexOf ? function(f, g) { | |
return f.indexOf(g) | |
} : function(f, g) { | |
for (var j = 0, l = f.length; j < l; j++) | |
if (f[j] === g) return j; | |
return -1 | |
}; | |
if (typeof define === "function" && define.amd) define(["outlayer", "get-size"], b); | |
else a.Masonry = b(a.Outlayer, a.getSize) | |
})(window); | |
(function(a, b) { | |
var d = a.document, | |
f = d.createElement("li").getAttributeNode("tabindex"), | |
g = f ? "tabIndex" : "tabindex"; | |
f = null; | |
var j = b('<div class="carousel-container"/>'), | |
l = b('<div class="carousel-viewport"/>'), | |
o = b('<a href="#"/>'), | |
v = b('<span class="disabled"/>'), | |
A = b('<div class="carousel-controls"/>'), | |
C = b('<div class="carousel-controls-wrapper"/>'), | |
q = b('<ul class="carousel-pagination"/>'), | |
I = b('<div class="carousel-display-counter"/>'), | |
K = b('<li class="component-container carousel-panel-spacer state-hidden"/>'), | |
Q = b('<div class="tgt_gn_acc_title" id="jtoggleLink"><a href="#">Stop Automatically Rotating Carousel</a></div>'), | |
n = function(G, p, t) { | |
t[G].replaceWith(t[p]); | |
t[G] = t[p] | |
}; | |
b.TileCarousel = function(G, p) { | |
var t = this; | |
this.cacheObj = {}; | |
this.elementNode = G; | |
this.element = b(G); | |
this.options = b.extend({}, { | |
prevText: "Previous item{plural} in list", | |
nextText: "Next item{plural} in list", | |
frameText: "Page {number} of {total}", | |
frameCurrentText: "Current Page", | |
counterText: "{number} of {total}", | |
increment: 1, | |
incrementMode: "frame", | |
speed: 750, | |
easing: "swing", | |
animating: false, | |
loop: false, | |
pagination: false, | |
centerPagination: true, | |
encapsulateControls: false, | |
displayCount: false, | |
paginationCount: false, | |
accessible: true, | |
showTile: 0, | |
wrapperDelta: 0, | |
viewportDelta: 0, | |
preFrameChange: null, | |
postFrameChange: null, | |
lazyLoadTiles: false, | |
autoRotate: false, | |
autoRotateTime: 3E3, | |
autoRotateRestartTime: 7E3, | |
pingPong: true, | |
skipNav: false, | |
isLazyLoaded: false, | |
stateChange: null | |
}, p || {}); | |
b.each(["increment", "speed", "showTile", "wrapperDelta", "viewportDelta"], function() { | |
t.options[this] = parseInt(t.options[this], | |
10) | |
}); | |
if (this.element.hasClass("component-lazy-carousel")) | |
if (this.lazyUrl = this.element.attr("data-lazy-url")) this.lazyLoadTiles = true; | |
else console.log("no data-lazy-url attribute"); | |
this.setup() | |
}; | |
b.extend(b.TileCarousel.prototype, { | |
setup: function() { | |
var G, p = this, | |
t = this.element; | |
G = this.elementNode.parentNode; | |
var z = this.elementNode.nextSibling, | |
D = j.clone(), | |
M = l.clone(); | |
A.clone(); | |
var B = this.options, | |
m = B.showTile, | |
u = I.clone(), | |
y = ""; | |
this.wrapper = D; | |
this.carousel = t; | |
this.viewport = M; | |
this.counter = u; | |
if (!B.skipNav) { | |
D.append(M); | |
M.append(t); | |
z ? b(z).before(D) : b(G).append(D) | |
} | |
t.delegate(".carousel-panel", "focusin focusout mouseenter mouseleave", function(H) { | |
var J = H.type === "focusin" || H.type === "mouseenter" ? "add" : "remove"; | |
b(H.currentTarget)[J + "Class"]("state-focus"); | |
p.options.autoRotate && p.stopAutoRotate() | |
}); | |
p.options.autoRotate && t.hover(function() { | |
p.stopAutoRotate(false) | |
}, function() { | |
p.options.autoRotateRestartTime && p.startAutoRotate(p.options.autoRotateRestartTime) | |
}); | |
G = this.normalizeState(); | |
if (!B.skipNav) { | |
y = G.tileWidth * B.increment; | |
D.css("width", y + B.wrapperDelta + "px"); | |
M.css("width", y + B.viewportDelta + "px"); | |
t.css("width", G.tileWidth * G.curTileLength + "px"); | |
M[0].scrollLeft = G.offset | |
} | |
B.skipNav || this.buildNavigation(); | |
B.displayCount && this.wrapper.append(u) && this.updateDisplayCount(); | |
B.paginationCount && this.wrapper.append(u) && this.updatePaginationCount(); | |
this.lazyloadCache = Array(G.curTileLength); | |
this.lazyloadImages(G.index, G.index + B.increment); | |
m > 0 && this.jumpToTile(m); | |
if (this.options.autoRotate) this.setupAutoRotate(); | |
else this.autoRotating = | |
false | |
}, | |
cache: function(G, p) { | |
var t = this.cacheObj, | |
z = t[G] !== "undefined" ? t[G] : undefined; | |
if (!p) return z; | |
t[G] = p; | |
return t | |
}, | |
normalizeState: function() { | |
var G = [], | |
p = 0, | |
t = this.state, | |
z = this.carousel, | |
D = this.element.children("li").toArray(), | |
M = D, | |
B = b(D[0]); | |
t = B.outerWidth(true); | |
var m = B.outerHeight(true), | |
u = this.options, | |
y = u.loop; | |
B = u.increment; | |
var H = D.length, | |
J = H, | |
R = Math.ceil(J / B); | |
t = this.state = { | |
index: p, | |
offset: 0, | |
spacers: 0, | |
loopReset: false, | |
prevIndex: false, | |
tileObj: b(D), | |
tileArr: D, | |
origTileLength: H, | |
curTileLength: J, | |
tileWidth: t, | |
tileHeight: m, | |
curTile: false, | |
prevTile: false, | |
frameArr: [], | |
origFrameLength: R, | |
curFrameLength: R, | |
frameWidth: B * t, | |
curFrame: [], | |
prevFrame: [], | |
frameIndex: 0, | |
prevFrameIndex: 0 | |
}; | |
this.toggleAria(D, "add", "carousel-panel"); | |
if (u.pagination) | |
for (; J % B !== 0;) { | |
D.push(K[0].cloneNode(true)); | |
t.spacers++; | |
J++ | |
} | |
if (y) { | |
for (; J % B !== 0;) | |
for (p = 0; p < H; p++, J++) D.push(M[p].cloneNode(true)); | |
for (p = B - 1; p >= 0; p--, t.spacers++) G.push(D[H - 1 - p].cloneNode(true)); | |
D = G.concat(D); | |
for (p = 0; p < B; p++, t.spacers++) D.push(M[p].cloneNode(true)); | |
p = B | |
} | |
G = 0; | |
M = D.length / B; | |
for (H = 1; G < M; G++, | |
H++) t.frameArr.push(D.slice(B * G, B * H)); | |
t.index = p; | |
t.offset = t.index ? t.frameWidth : t.offset; | |
t.tileArr = D; | |
t.tileObj = b(t.tileArr); | |
t.curTile = t.tileObj.eq(t.index); | |
t.curTileLength = t.tileArr.length; | |
t.curFrameLength = Math.ceil(t.curTileLength / B); | |
t.frameIndex = Math.ceil(t.index / B); | |
t.prevFrameIndex = t.frameIndex; | |
t.curFrame = t.frameArr[t.frameIndex]; | |
t.tileDelta = B * t.curFrameLength - t.curTileLength; | |
this.toggleAria(t.curFrame, "remove"); | |
this.lazyLoadTiles && this.setupLazyTiles(); | |
z.html(t.tileArr); | |
return t | |
}, | |
setupAutoRotate: function() { | |
var G = | |
this; | |
this.stopAutoRotateLink = Q.clone(true).click(function(p) { | |
var t = b(this).find("a"); | |
if (t.hasClass("j-start")) { | |
t.removeClass("j-start").html("Stop Automatically Rotating Carousel"); | |
G.startAutoRotate() | |
} else { | |
t.addClass("j-start").html("Start Automatically Rotating Carousel"); | |
G.stopAutoRotate(false) | |
} | |
p.preventDefault() | |
}); | |
this.viewport.before(this.stopAutoRotateLink); | |
this.autoRotateTimeout = null; | |
this.pingPongDirection = 1; | |
this.startAutoRotate() | |
}, | |
startAutoRotate: function(G) { | |
var p = this; | |
if (typeof p.stopAutoRotateLink !== | |
"undefined") { | |
p.stopAutoRotateLink.show(); | |
if (p.stopAutoRotateLink.find("a.j-start").length > 0) return | |
} | |
p.autoRotating = true; | |
G = G || p.options.autoRotateTime; | |
p.autoRotateTimeout && clearTimeout(p.autoRotateTimeout); | |
p.autoRotateTimeout = setTimeout(function() { | |
p.rotate() | |
}, G) | |
}, | |
stopAutoRotate: function(G) { | |
var p = this; | |
if (typeof p.stopAutoRotateLink !== "undefined") { | |
p.stopAutoRotateLink.hide(); | |
if (p.stopAutoRotateLink.find("a.j-start").length > 0) return | |
} | |
p.autoRotating = false; | |
p.autoRotateTimeout && clearTimeout(p.autoRotateTimeout); | |
if (p.options.autoRotateRestartTime && G !== false) p.autoRotateTimeout = setTimeout(function() { | |
p.rotate() | |
}, p.options.autoRotateRestartTime) | |
}, | |
rotate: function() { | |
if (this.options.pingPong) { | |
var G = this.state.frameIndex + this.pingPongDirection + 1; | |
if (G <= 1) this.pingPongDirection = 1; | |
else if (G > this.state.curFrameLength) G = 1 | |
} else G = this.state.frameIndex + 2; | |
this.jumpToFrame(G, false); | |
this.startAutoRotate() | |
}, | |
setupLazyTiles: function() { | |
var G = this.state.frameArr[this.state.frameIndex]; | |
b.each(G, function(p, t) { | |
b(t).addClass("lazy-loaded") | |
}); | |
G.lazyLoaded = true | |
}, | |
updateState: function(G, p, t) { | |
var z = this.state, | |
D = this.options, | |
M = D.loop, | |
B = D.increment; | |
G = G > z.curTileLength - B ? z.curTileLength - B : G < 0 ? 0 : G; | |
var m = Math.ceil(G / B), | |
u = G === 0, | |
y = G === z.curTileLength - B; | |
if (M = M && !p && (u || y)) { | |
if (u) G = z.curTileLength - B * 2; | |
else if (y) G = B; | |
m = Math.ceil(G / B) | |
} | |
b.extend(this.state, { | |
index: G, | |
offset: z.tileWidth * G, | |
loopReset: M, | |
prevIndex: z.index, | |
prevTile: z.curTile, | |
curTile: y && z.tileDelta && D.incrementMode === "frame" ? z.tileArr[G + z.tileDelta] : z.tileArr[G], | |
curFrame: z.tileArr.slice(y ? G : G, B + | |
G), | |
prevFrame: M ? z.prevFrame : z.curFrame, | |
frameIndex: m, | |
prevFrameIndex: z.frameIndex | |
}); | |
this.lazyLoadTiles && !D.isLazyLoaded && this.lazyLoad(p, t); | |
p && this.animate(t); | |
return z | |
}, | |
lazyLoad: function() { | |
var G = this, | |
p = [], | |
t = this.state.frameIndex; | |
p = G.state.frameArr[t]; | |
var z = G.state.frameArr; | |
if (!G.options.isLazyLoaded) { | |
G.options.isLazyLoaded = true; | |
if (p.lazyLoaded) console.log("frame loaded"); | |
else { | |
var D = [], | |
M = z.shift(); | |
G.autoRotating && z.pop(); | |
b.each(z, function(m, u) { | |
var y = b(u); | |
y.hasClass("lazy-loaded") || D.push(y) | |
}); | |
if (D.length) { | |
G.options.autoRotate && | |
G.stopAutoRotate(); | |
var B = function(m) { | |
m && b("img", m).each(function() { | |
if (typeof m == "undefined") return false; | |
if (!this.src) this.src = b(this).attr("original") | |
}) | |
}; | |
b.ajax({ | |
url: G.lazyUrl + "&lazyids=all", | |
type: "get", | |
dataType: "json", | |
curtain: false, | |
success: function(m) { | |
if (m.success) { | |
p.lazyLoaded = true; | |
var u = false; | |
if (G.carousel.hasClass("msm-flexibility-carousel")) u = true; | |
for (var y = 0; y < D.length; y++) { | |
var H = !u ? y : y + 1; | |
D[y].addClass("lazy-loaded").html(m.result[H]); | |
y == 0 && B(D[0]) | |
} | |
try { | |
u || M && typeof b(M) !== "undefined" && b(M).html(m.result[D.length - | |
1]); | |
Target.controller.globalUtils.imgMap() | |
} catch (J) {} | |
m = G.element.children("li").toArray(); | |
G.state.tileObj = b(m); | |
b(d).trigger("updateBuffer.framework"); | |
if (t === G.state.frameIndex && !G.animating && G.autoRotating !== true) { | |
console.log("This is still the current frame, focus the first loaded tile"); | |
D[0].focus() | |
} else console.log(t + " is no longer the current frame"); | |
G.options.autoRotate && G.options.autoRotateRestartTime && G.startAutoRotate(G.options.autoRotateRestartTime) | |
} else console.log("/lazy-carousel/get.php?lazy-ids=: " + | |
m.result) | |
}, | |
error: function(m) { | |
console.log("/lazy-carousel/get.php?lazy-ids=: " + m.result) | |
} | |
}) | |
} | |
} | |
} | |
}, | |
buildNavigation: function() { | |
var G, p = this, | |
t = p.state, | |
z = t.index, | |
D = p.wrapper, | |
M = p.options; | |
G = M.increment; | |
var B = G > 1 ? "s" : "", | |
m = B ? G : "", | |
u = A.clone(), | |
y = C.clone(), | |
H = t.tileWidth * M.increment + M.viewportDelta; | |
G = M.prevText.replace("{number}", m).replace("{plural}", B); | |
p.prev = o.clone().attr("class", "prevFrame").text(G); | |
G = M.nextText.replace("{number}", m).replace("{plural}", B); | |
p.next = o.clone().attr("class", "nextFrame").text(G); | |
p.prevDisabled = v.clone().addClass("prevFrame"); | |
p.nextDisabled = v.clone().addClass("nextFrame"); | |
p.prevBtn = p.prev; | |
p.nextBtn = p.next; | |
p.prevBtn.attr("title", "Previous"); | |
p.nextBtn.attr("title", "Next"); | |
D.delegate(".prevFrame, .nextFrame", "click", function(pa) { | |
var xa = b(this), | |
P = xa.attr("class"); | |
pa.preventDefault(); | |
p.options.autoRotate ? p.stopAutoRotate() : p.stopAutoRotate(false); | |
if (p.carousel.hasClass("aria-busy") || xa.hasClass("disabled")) return false; | |
p[P]() | |
}); | |
if (Target.support.isTouch) { | |
var J = 0, | |
R = 0, | |
U = 0, | |
X = 0, | |
ga = | |
0, | |
ja = 0, | |
la = null, | |
ka = null, | |
ra = function() { | |
ja = ga = X = U = R = J = 0; | |
ka = la = null | |
}; | |
D.delegate("div.carousel-viewport", "touchstart", function() { | |
b(event.touches[0].target); | |
J = event.touches.length; | |
if (J == 1) { | |
R = event.touches[0].pageX; | |
U = event.touches[0].pageY | |
} else ra(event) | |
}); | |
D.delegate("div.carousel-viewport", "touchmove", function() { | |
if (event.touches.length == 1) { | |
X = event.touches[0].pageX; | |
ga = event.touches[0].pageY; | |
event.preventDefault() | |
} else ra(event) | |
}); | |
D.delegate("div.carousel-viewport", "touchend", function(pa) { | |
if (J == 1 && X != 0) { | |
ja = | |
Math.round(Math.sqrt(Math.pow(X - R, 2) + Math.pow(ga - U, 2))); | |
if (ja >= 70) { | |
event.preventDefault(); | |
la = Math.round(Math.atan2(ga - U, R - X) * 180 / Math.PI); | |
if (la < 0) la = 360 - Math.abs(la); | |
ka = la <= 45 && la >= 0 ? "left" : la <= 360 && la >= 315 ? "left" : la >= 135 && la <= 225 ? "right" : la > 45 && la < 135 ? "down" : "up"; | |
pa = b(pa.target).closest(".carousel-container"); | |
var xa = null, | |
P = false; | |
if (ka == "right") { | |
P = b(pa).find("span.prevFrame").hasClass("disabled"); | |
xa = "prevFrame" | |
} else if (ka == "left") { | |
P = b(pa).find("span.nextFrame").hasClass("disabled"); | |
xa = "nextFrame" | |
} | |
if (ka == | |
"right" || ka == "left") { | |
p.options.autoRotate ? p.stopAutoRotate() : p.stopAutoRotate(false); | |
p.carousel.hasClass("aria-busy") || P || p[xa]() | |
} | |
} | |
} | |
ra(event) | |
}) | |
} | |
if (t.curTileLength <= M.increment) { | |
p.prevBtn = p.prevDisabled; | |
p.nextBtn = p.nextDisabled | |
} | |
if (z === 0) p.prevBtn = p.prevDisabled; | |
p.viewportWidth = H; | |
if (M.encapsulateControls) { | |
y.append(u); | |
u.append(p.prevBtn); | |
M.pagination && p.buildPagination(u); | |
u.append(p.nextBtn); | |
D.append(y); | |
controlsWidth = p.prevBtn.outerWidth(true) + p.pagination.outerWidth(true) + p.nextBtn.outerWidth(true); | |
u.css({ | |
position: "relative", | |
width: controlsWidth + "px", | |
left: H / 2 - controlsWidth / 2 + "px" | |
}) | |
} else { | |
D.prepend(p.prevBtn); | |
M.pagination && p.buildPagination(D); | |
D.append(p.nextBtn) | |
} | |
}, | |
updateNavigation: function() { | |
var G, p, t = this.state; | |
G = t.index; | |
var z = this.options, | |
D = G === 0, | |
M = G + this.options.increment >= t.curTileLength; | |
G = this.prevBtn !== this.prev; | |
p = this.nextBtn !== this.next; | |
if (z.loop) { | |
D = t.curFrameLength - 2; | |
t = t.frameIndex; | |
G = t - 1; | |
G = G === D ? 0 : G; | |
t = t > D ? 1 : t === 0 ? D : t; | |
if (z.pagination) { | |
this.pagination.find("li.current").remove(); | |
this.pagination.find("li").find("a").removeClass("selected"); | |
this.pagination.find("li.j-hidden").removeClass("j-hidden"); | |
this.paginationLinks.eq(G).parent("li").addClass("j-hidden").after("<li class='current'>current page " + t + " of " + D + "</li>") | |
} | |
} else { | |
if (D) n("prevBtn", "prevDisabled", this); | |
else G && n("prevBtn", "prev", this); | |
if (M) n("nextBtn", "nextDisabled", this); | |
else p && n("nextBtn", "next", this); | |
if (z.pagination) { | |
this.paginationLinks.eq(t.prevFrameIndex).parent("li").show(); | |
this.paginationLinks.eq(t.frameIndex).parent("li").hide(); | |
this.pagination.find("li.current").remove(); | |
this.pagination.find("li").find("a").removeClass("selected"); | |
this.paginationLinks.eq(t.frameIndex).parent("li").after("<li class='current'>current page " + (t.frameIndex + 1) + " of " + t.curFrameLength + "</li>") | |
} | |
} | |
}, | |
buildPagination: function(G) { | |
var p, t, z, D = this, | |
M = D.state; | |
t = D.options; | |
z = []; | |
var B = /\{number\}/g, | |
m = /\{total\}/, | |
u = /\{current\}/, | |
y = " selected", | |
H = /\{selected\}/, | |
J = /\{frameText\}/g, | |
R = this.options.loop, | |
U = M.frameIndex, | |
X = q.clone(); | |
M = M.curFrameLength; | |
G.append(X); | |
M = R ? M - 2 : M; | |
G = 0; | |
for (var ga = 1; G < M; G++, ga++) { | |
y = (p = | |
U === G) ? y : ""; | |
p = p ? t.frameCurrentText : ""; | |
frameText = t.frameText.replace(B, ga).replace(m, M); | |
z.push('<li><a class="carousel-frame{selected}" data-carousel-frame="{number}" href="#" title="{frameText}">{frameText}</a></li>'.replace(B, ga).replace(u, p).replace(H, y).replace(m, M).replace(J, frameText)) | |
} | |
this.pagination = X.append(z.join("")); | |
this.paginationLinks = X.find("a"); | |
t = this.paginationLinks.get(0); | |
R ? this.paginationLinks.eq(0).parent("li").addClass("j-hidden").after("<li class='current'>current page 1 of " + | |
M + "</li>") : this.paginationLinks.eq(0).parent("li").hide().after("<li class='current'>current page 1 of " + M + "</li>"); | |
setTimeout(function() { | |
b(d).trigger("updateBuffer.framework") | |
}, 500); | |
if (this.options.centerPagination) { | |
t = t.outerWidth(true); | |
z = t * M; | |
X.css({ | |
width: t * M + "px", | |
left: D.viewportWidth / 2 - z / 2 + "px" | |
}) | |
} | |
X.delegate(".carousel-frame", "click", function(ja) { | |
var la = b(this), | |
ka = la.attr("data-carousel-frame"); | |
ja.preventDefault(); | |
D.options.autoRotate ? D.stopAutoRotate() : D.stopAutoRotate(false); | |
if (D.carousel.hasClass("state-busy") || | |
la.hasClass("selected")) return false; | |
R && ka++; | |
D.jumpToFrame(ka) | |
}) | |
}, | |
jumpToTile: function(G) { | |
var p = this.state; | |
G = parseInt(G, 10); | |
var t = G - 1; | |
t = t < 0 ? p.curTileLength - increment : t; | |
if (t === p.index || G > p.curTileLength - p.spacers) return this.carousel; | |
this.updateState(t, true); | |
return this.carousel | |
}, | |
jumpToFrame: function(G, p) { | |
var t = this.state; | |
G = parseInt(G, 10); | |
var z = this.options.increment, | |
D = G * z - z; | |
D = D < 0 ? 0 : D; | |
if (D === t.index || G > t.curFrameLength) return this.carousel; | |
this.lazyloadImages(D, D + z); | |
this.updateState(D, true, p); | |
return this.carousel | |
}, | |
prevFrame: function() { | |
var G = this.state.index; | |
if (this.options.incrementMode === "tile") G--; | |
else G -= this.options.increment; | |
this.updateState(G, true); | |
return this.carousel | |
}, | |
nextFrame: function() { | |
var G = this.state.index; | |
if (this.options.incrementMode === "tile") G++; | |
else G += this.options.increment; | |
this.updateState(G, true); | |
return this.carousel | |
}, | |
reset: function() { | |
var G = this.state.index; | |
G = this.options; | |
G = G.loop ? G.increment : 0; | |
this.updateState(G, true); | |
return this.carousel | |
}, | |
animate: function(G) { | |
var p = this, | |
t = p.state, | |
z = t.index, | |
D = z, | |
M = this.options, | |
B = this.element, | |
m = M.loop, | |
u = M.increment, | |
y = M.preFrameChange, | |
H = M.postFrameChange, | |
J = z === 0, | |
R = z === t.curTileLength - u; | |
p.carousel.trigger("preFrameChange", [t]); | |
y && y.call(p, t); | |
B.addClass("state-busy"); | |
p.toggleAria(t.tileArr, "remove"); | |
p.updateNavigation(); | |
p.animating = true; | |
p.viewport.stop().animate({ | |
scrollLeft: t.offset | |
}, M.speed, M.easing, function() { | |
if (m) { | |
if (J || R) | |
if (p.updateState(z, false).loopReset) p.viewport[0].scrollLeft = t.offset; | |
if (J) D = t.curTileLength - u * 2; | |
p.lazyloadImages(D, D + u); | |
p.lazyloadImages(D - | |
u, D); | |
p.lazyloadImages(D + u, D + u * 2) | |
} else p.lazyLoadTiles || p.lazyloadImages(z, z + u); | |
p.updateDisplayCount(); | |
p.updatePaginationCount(); | |
p.toggleAria(t.tileArr, "add"); | |
p.toggleAria(t.curFrame, "remove"); | |
if (G !== false) p.options.autoRotate ? setTimeout(function() { | |
var U = p.viewport.prev(); | |
typeof U !== "undefined" && U.attr("id") == "jtoggleLink" && U.show().find("a").attr("tabindex", -1).focus() | |
}, 1E3) : t.curTile.focus(); | |
B.removeClass("state-busy"); | |
p.animating = false | |
}); | |
p.carousel.trigger("postFrameChange", [t]); | |
H && H.call(p, t) | |
}, | |
lazyloadImages: function(G, p) { | |
var t = this.state.tileObj; | |
if (!this.state.curTileLength % this.options.increment) | |
if (this.lazyloadCache[G]) return; | |
for (var z = G; z < p; z++) { | |
this.lazyloadCache[z] = true; | |
b("img", t[z]).each(function() { | |
if (typeof t[z] == "undefined") return false; | |
if (!this.src) this.src = b(this).attr("original") | |
}) | |
} | |
}, | |
updateDisplayCount: function() { | |
var G, p, t = this.state; | |
G = t.index; | |
var z = this.options; | |
p = z.increment; | |
t = t.curTileLength - t.spacers; | |
if (z.displayCount) { | |
if (z.loop) G -= p; | |
p = G + p > t ? t : G + p; | |
spanText = G = G + 1; | |
spanText += | |
G < p ? "-" + p : G; | |
this.counter.html(z.counterText.replace("{number}", spanText).replace("{total}", t)) | |
} | |
}, | |
updatePaginationCount: function() { | |
var G = this.state, | |
p = this.options, | |
t = G.curFrameLength; | |
G = G.frameIndex; | |
G = G + 1; | |
G = G === t ? 0 : G; | |
if (p.paginationCount) { | |
G = G > t ? 1 : G === 0 ? t : G; | |
G = "Page " + G; | |
this.counter.html(p.counterText.replace("{number}", G).replace("{total}", t)) | |
} | |
}, | |
toggleAria: function(G, p, t) { | |
var z, D = 0, | |
M = G.length, | |
B = /\sstate-hidden/, | |
m = /\sstate-visible/, | |
u = /carousel-panel-spacer/, | |
y = p === "add" ? true : false; | |
t = t ? " " + t : ""; | |
for (var H = | |
this.cache("hasAriaInited"); D < M; D++) { | |
p = G[D]; | |
z = p.className + t; | |
if (!u.test(z)) { | |
z = y ? z.replace(m, " state-hidden") : z.replace(B, " state-visible"); | |
p.className = z.replace(/^\s/, ""); | |
if (!H) { | |
p.className += " state-hidden"; | |
p.setAttribute(g, "-1") | |
} | |
} | |
} | |
this.cache("hasAriaInited", true); | |
this.options.stateChange != null && this.options.stateChange.call(this) | |
} | |
}); | |
b.fn.tileCarousel = function(G) { | |
if (this.length) return this.each(function() { | |
var p = b.data(this, "tileCarousel"); | |
if (p) return p; | |
b.data(this, "tileCarousel", new b.TileCarousel(this, | |
G)) | |
}) | |
} | |
})(this, jQuery); | |
(function() { | |
$.hideCurtain = function() { | |
$("#ajax-curtain").remove() | |
}; | |
$.fn.extend({ | |
showCurtain: function(a) { | |
return this.each(function() { | |
new $.ShowCurtain(this, a) | |
}) | |
} | |
}); | |
$.ShowCurtain = function(a, b) { | |
this.options = $.extend({}, { | |
curtainBg: "#fff", | |
opacity: 0.6, | |
delay: 0, | |
loadingIndicator: Target.globals.loadingIndicatorImage, | |
curtainMarkup: '<div id="ajax-curtain"></div>' | |
}, b || {}); | |
this.element = $(a); | |
var d = $("body"), | |
f = {}; | |
f = this.element.is("body") ? true : false; | |
var g = $(this.options.curtainMarkup), | |
j = f ? $(document) : this.element; | |
$(window).height(); | |
var l = $.browser.msie ? $(window).width() : $(document).width(), | |
o = $(window).height(); | |
j.width(); | |
j.height(); | |
var v = $('<img src="' + this.options.loadingIndicator + '" />'); | |
f && v.css({ | |
top: "50%", | |
right: "50%", | |
position: "fixed" | |
}); | |
g.append(v); | |
this.options.posCurtain = typeof this.options.posCurtain !== "undefined" ? this.options.posCurtain : false; | |
this.options.posCurtainFocus = typeof this.options.posCurtainFocus !== "undefined" ? this.options.posCurtainFocus : true; | |
f = this.options.posCurtain ? { | |
width: "50px", | |
height: "50px", | |
top: "50%", | |
left: "50%", | |
background: this.options.curtainBg, | |
position: "relative", | |
display: "block" | |
} : { | |
width: f ? l : j.outerWidth(), | |
height: f ? o : j.outerHeight(), | |
top: f ? 0 : j.offset().top + "px", | |
left: f ? 0 : j.offset().left + "px", | |
opacity: this.options.opacity, | |
background: this.options.curtainBg, | |
position: "fixed", | |
display: "none" | |
}; | |
g.css(f); | |
$("#ajax-curtain").remove(); | |
if (this.options.posCurtain) { | |
g.append('<span class="screen-reader-only"> Loading Content. Please wait ... </span>'); | |
g.attr("tabindex", -1); | |
this.element.html(g); | |
this.options.posCurtainFocus && | |
setTimeout(function() { | |
$(g).focus() | |
}, 100) | |
} else d.append(g); | |
setTimeout(function() { | |
g.show() | |
}, this.options.delay) | |
} | |
})(); | |
$.extend($.ajaxSettings, { | |
curtain: {} | |
}); | |
$(document).ready(function() { | |
$(document).bind("ajaxSend", function(a, b, d) { | |
a = d.curtain; | |
var f; | |
if (a.selector === undefined) f = $("body"); | |
else if (typeof(a.selector === "string")) f = $(a.selector); | |
else if (typeof(a.selector === "object")) f = a.selector; | |
a !== false && f.showCurtain(a) | |
}); | |
$(document).bind("ajaxStop", function() { | |
$.hideCurtain() | |
}); | |
$(document).bind("ajaxComplete", function() { | |
$.hideCurtain() | |
}) | |
}); | |
Cart = { | |
currentform: "", | |
setForm: function(a) { | |
this.currentform = $(a) | |
}, | |
getForm: function() { | |
return this.currentform | |
}, | |
target: null, | |
add: function(a, b, d) { | |
if (typeof d == "undefined" && typeof $(a).attr("productsubmitinfojson") != "undefined") d = $(a).find(".addtoCart"); | |
this.currentform = $(a); | |
a = $(a); | |
var f = ""; | |
f = ""; | |
var g = a.data("validator"); | |
g = typeof d != "undefined" ? d : g ? g.submitButton : ""; | |
d = a.attr("action"); | |
$("#path").val(); | |
b = typeof b != "undefined" ? b : false; | |
var j = typeof a.attr("productSubmitInfoJSON") != "undefined" ? $.parseJSON(a.attr("productSubmitInfoJSON")) : | |
false, | |
l = typeof a.find("input[name='catEntryId']") != "undefined" ? a.find("input[name='catEntryId']") : j.catEntryId; | |
f = typeof a.find("input[name='fromPLP']") != "undefined" ? a.find("input[name='fromPLP']") : j.fromPLP; | |
var o = typeof a.find("input[name='childCatEntryId']") != "undefined" ? a.find("input[name='childCatEntryId']") : j.childCatEntryId, | |
v = a.attr("id") == "quickInfo" ? true : false, | |
A = a.attr("id").indexOf("fiatsAddToCartFrm") == 0; | |
specialVal = a.find("input:hidden[name='isSpecialPrice']").val(); | |
$(".error,#FormErrors_AddToCart").html(""); | |
$(".errorBlock,.error-summary,#overlay-loading-curtain").hide(); | |
if (j) { | |
if (f == "true") | |
if (o != "") j.cidHidden = o | |
} else f.length && f.val() === "true" && o.length && o.val() !== "" && l.val(o.val()); | |
f = a.serialize(); | |
f += "&fromScript=true"; | |
if (j.fromPLP) { | |
o = a.find(".babyDuration option:selected").val(); | |
if (o != "" && typeof o != "undefined") { | |
o = o.split("-"); | |
f += "&fulfillmentInterval=" + o[0] + "&fulfillmentIntervalUOM=" + o[1] | |
} | |
if (a.find(".subscribeme").is(":checked")) f += "&recOrd=Y&recOrdStDt=" + a.find(".calendar").val() + "&recOrdfreq=" + a.find(".babyDuration option:selected").html() | |
} | |
if (j) f += | |
"&" + decodeURIComponent($.param(j)); | |
currentTagTokens = f.split("&"); | |
existingData = ""; | |
f = 0; | |
for (j = currentTagTokens.length; f < j; f++) | |
if (currentTagTokens[f].indexOf("swatchesList_") == -1) existingData = existingData + currentTagTokens[f] + "&"; | |
if (typeof g !== "undefined" && g !== "") Cart.target = g; | |
f = $("#formParameters").val(); | |
if (typeof f !== "undefined") { | |
g = $(a).attr("esrbResponse").value; | |
existingData = ""; | |
f = f; | |
currentTagTokens = f.split("&"); | |
f = 0; | |
for (j = currentTagTokens.length; f < j; f++) | |
if (currentTagTokens[f].indexOf("esrbResponse") == | |
-1) existingData = existingData + currentTagTokens[f] + "&"; | |
existingData = existingData + "esrbResponse=" + g + "&ageRestrictionSelection=" + $(a).attr("ageRestrictionSelection").value | |
} | |
var C = function(K) { | |
var Q = false, | |
n = typeof K.overlayId !== "undefined" ? K.overlayId : ""; | |
if (n == "modal-check-low-price") Q = "force"; | |
else if (n == "esrbOverlay") Q = "force"; | |
K.grRecommandation == "Y" && Cart.grRecommandation(K); | |
$.hideCurtain(); | |
if (typeof K.recurringOrder != "undefined" && null != K.recurringOrder && K.recurringOrder == "true") window.location.href = K.checkoutURL; | |
else { | |
Q = typeof FiatsApp !== "undefined" && FiatsApp.isModalVisible() === true ? { | |
contentOverride: K.responseHtml, | |
overlayId: K.overlayId, | |
template: K.template, | |
mode: Q, | |
target: FiatsApp.guestSelectedButton !== undefined ? FiatsApp.guestSelectedButton : null | |
} : { | |
contentOverride: K.responseHtml, | |
overlayId: K.overlayId, | |
template: K.template, | |
mode: Q | |
}; | |
typeof FiatsApp !== "undefined" && FiatsApp.closeOverlay(); | |
$.overlay.load(Q); | |
I("", K.productId) | |
} | |
}, | |
q = function(K) { | |
var Q = typeof K.esrbResponse !== "undefined" && K.esrbResponse != null ? K.esrbResponse : | |
false, | |
n = typeof K.errorMessageKey !== "undefined" ? K.errorMessageKey : ""; | |
if (K && K.errorMessage == "") { | |
if (Q) | |
if (Q && Q != "") { | |
var G = Q.split("_"); | |
if (G[0] == "YES") { | |
$("input[name='esrbResponse'][type='hidden']").val(G[0] + "_" + G[1] + "_" + G[2] + "_CONFPAGE"); | |
Target.controller.reviewed.cookie.create("esrbResponse", "YES_" + G[1] + "_" + G[2] + "_CONFPAGE; path=/", 365) | |
} | |
} | |
C(K) | |
} else if (K) | |
if (a.attr("id") == "buytogether") $("<div class='errorBlock'>" + K.errorMessage + "</div>").insertBefore(".buytogether-button"); | |
else if (n == "ESRBRATING_MATURE_TEXT") C(K); | |
else if (n == "ESRBRATING_FAILURE") C(K); | |
else { | |
var p = K.productId; | |
Q = K.quantity; | |
var t = K.errorMessageKey, | |
z = K.requestProperties.countVal, | |
D = K.recurringOrder, | |
M = K.fromMyAcc, | |
B = K.pdpURL; | |
n = K.isAddToCartRecommendation; | |
if (typeof D != "undefined" && null != D && D == "Y" && null != M && M == "Y") window.location.href = B; | |
if (t == "INVALID_PARAMETER_VALUE") K.errorMessage = "Please enter a valid number"; | |
if (t.indexOf("SHOP_INVENTORY_FIRST_ITEM_FOR_STORE") !== -1 || t.indexOf("SHOP_INVENTORY_SECOND_ITEM_FOR_STORE") !== -1 || t.indexOf("SHOP_INVENTORY_EQUAL_FOR_STORE") !== | |
-1 || t.indexOf("SHOP_MAX_PURCHASE_LIMIT_FIRST_ITEM") != -1 || t == "ERR_MAX_LINE_QUANTITY" || t == "ERR_AVL_INVENTORY" || t == "SHOP_MAX_PURCHASE_LIMIT_SECOND_ITEM" || t == "SHOP_MAX_PURCHASE_LIMIT_EQUAL" || t == "SHOP_INVENTORY_FIRST_ITEM" || t == "SHOP_INVENTORY_SECOND_ITEM" || t == "SHOP_INVENTORY_EQUAL") { | |
G = K.quantityUpdate; | |
A || $("#quantity_" + Q + ",#quantity_" + p + ",#attr-quantity_" + p + ",#attr-quantity_" + Q + ",#attr_quantity_" + Q).val(G); | |
if (z != null) { | |
p = "" + z; | |
t = "" + p.substring(0, p.indexOf("-")); | |
Q == t && $("#attr_quantity_" + p.substring(p.indexOf("-") + | |
1)).val(G) | |
} | |
} | |
if (typeof n != "undefined" && null != n && n == "true") | |
if (K.overlayId == "addToRegistry") { | |
$.hideCurtain(); | |
$.overlay.load({ | |
contentOverride: K.overlayHtml, | |
overlayId: K.overlayId, | |
template: "small", | |
width: K.width | |
}) | |
} else { | |
G = K.errorMessage !== "" ? "<div class='errorBlock'>" + K.errorMessage + "</div>" : ""; | |
K = $("#frmAddToCartother_" + K.itemLineNum); | |
typeof K !== "undefined" && K.find("#FormErrors_AddToCart").html(G) | |
} else I(K.errorMessage, K.quantity, K.productId, K.isSpecialPriceOverlay, v, G); | |
$("#ajax-curtain").hide() | |
} | |
}; | |
$.ajaxSetup({ | |
traditional: true, | |
cache: false | |
}); | |
var I = function(K, Q, n, G, p, t) { | |
var z = "", | |
D = $("#FormErrors_" + Q); | |
z = D.html(); | |
z = K !== "" ? "<div class='errorBlock'>" + K + "</div>" : ""; | |
$(".addtoCartDisabled").removeAttr("disabled"); | |
if (specialVal == "true") $("#FormErrors_seelowprice_" + l.val()).append(z); | |
else { | |
D.html(z); | |
K = $("#FormErrors_AddToCart"); | |
if (typeof K !== "undefined" && !K.hasClass("giftCardsError")) | |
if (G == "TRUE") $("#FormErrors_SpecialItemPrice").append(z); | |
else if (p) $("#FormErrors_QuickInfoAddToCart").append(z); | |
else if (A) { | |
$("#findStore").append(z); | |
$(".fiatSearch,.findStore.input-step").removeClass("fiatHide"); | |
$(".findStoreResult,#searchResults").addClass("fiatHide"); | |
$("#searchResults, #change-location").hide(); | |
$("#search-location, #pickUpInStoreQty").show(); | |
$(".qtyEdit").val(t); | |
$("#replaceEdit").addClass("hidden"); | |
$("#pickUpInStoreQty").removeClass("hidden"); | |
$("body").delegate(".qtyEdit ", "keyup", function() { | |
$(".qtyhidden").val($(this).val()) | |
}); | |
$("#FiatsFormErrors").length && $("#FiatsFormErrors").html(z); | |
$("#FiatsFormErrors").length && $(".pickuphere, .shiptostore").focus() | |
} else { | |
var M = | |
$("#FormErrors_AddToCart"); | |
M.append(z); | |
if (M.html() && M.html().length !== 0) { | |
$(".exceptionMsg").css("display", "block"); | |
setTimeout(function() { | |
$(document).trigger("updateBuffer.framework"); | |
M.focus().attr({ | |
role: "alert", | |
tabindex: "-1" | |
}) | |
}, 1E3) | |
} | |
} | |
} | |
if (Q != n && !A) { | |
specialVal !== "true" && $("#FormErrors_" + n).append(z); | |
if (D !== undefined) { | |
t = D.siblings('input[name^="quantity_"]'); | |
if (t !== undefined && t.length) { | |
Q = t.attr("name").split("_")[1]; | |
$("#collection").length && t.val() === "0" && $("#catEntryId_" + Q).remove() | |
} | |
} | |
} | |
}; | |
b ? Target.controller.grda.HandleGRDAResponse(a, | |
function(K) { | |
q(K) | |
}, false, existingData) : $.ajax({ | |
url: d, | |
data: existingData, | |
dataType: "json", | |
type: "POST", | |
success: function(K) { | |
q(K) | |
} | |
}) | |
}, | |
link: function(a) { | |
if (typeof $(a).attr("productSubmitInfoJSON") != "undefined") { | |
productSubmitInfoJSON = $.parseJSON($(a).attr("productSubmitInfoJSON")); | |
productSubmitInfoJSON.isSpecialPrice = "TRUE"; | |
$(a).attr("productSubmitInfoJSON", JSON.stringify(productSubmitInfoJSON)); | |
Cart.add($(a)); | |
productSubmitInfoJSON.isSpecialPrice = ""; | |
$(a).attr("productSubmitInfoJSON", JSON.stringify(productSubmitInfoJSON)) | |
} else { | |
var b = | |
$(a).find('input[name="isSpecialPrice"]'); | |
b.val("TRUE"); | |
Cart.add($(a)); | |
b.val("") | |
} | |
}, | |
addToCartTagging: function(a, b, d) { | |
var f = a.attr("id") === "quickInfo" ? true : false, | |
g = a.find('input[name="productId"]').val(); | |
a.find('input[name="catEntryId"]').val(); | |
var j = $("#quantity_" + g).val(); | |
if (f === true) { | |
b = $(a).find('input[name="isSpecialPrice"]').val(); | |
d = $("#omnitureQuickInfo").attr("omniture").split("-"); | |
j = a.find('input[name="quantity"]').val(); | |
if (b && b == "TRUE") try { | |
s_quickInfoInteraction("pqi: see low price") | |
} catch (l) { | |
console.log(l.message) | |
} else try { | |
s_quickInfoInteraction("pqi: add to cart") | |
} catch (o) { | |
console.log(o.message) | |
} | |
b = | |
d[0]; | |
g = d[1]; | |
a = d[2] === "" ? $("#addToCart").parents(a).find("p.module-title.salePrice").text() : d[2]; | |
d = d[3]; | |
f = $.trim(a).replace(/[$]/, "") | |
} else { | |
a = $("#price_" + g).text(); | |
f = a.split("$")[1] | |
} | |
if (a) { | |
a = $.trim(a) !== "" ? parseFloat(f) * parseFloat(j) : ""; | |
try { | |
s_cartAdd(g, a.toString(), j, b, d) | |
} catch (v) { | |
console.log(v.message) | |
} | |
} | |
}, | |
createQtyCookie: function(a, b) { | |
var d = Target.controller.header.cookie.read("cartQty"), | |
f, g; | |
if (typeof a === "string" && a != null) f = a.split("|"); | |
try { | |
if (d != null) g = d.split("|"); | |
else if (d == null && (a == "" || a == null || | |
typeof a == "undefined")) a = "0|0.0" | |
} catch (j) {} | |
f = null != g && typeof g[0] !== "undefined" && typeof f !== "undefined" && g[0] != f[0]; | |
if (d == null || f) { | |
Target.controller.header.cookie.erase("cartQty"); | |
Target.controller.header.cookie.create("cartQty", a, 365, b) | |
} | |
}, | |
grRecommandation: function(a) { | |
d = a.grRecomUrl; | |
a = window.location.href.split("?")[1]; | |
var b = "/gift-registry/backToRegistry?registryId=" + $("#registry_Id").val(); | |
Target.controller.header.cookie.create("BacktoRegistry", b, Target.globals.hostName); | |
b = Target.controller.header.cookie.read("esrbResponse"); | |
b = b != "undefined" && b != "" && b != null ? b : ""; | |
var d = d + "?" + a + "&pageName=pdp&esrbResponse=" + b; | |
$.ajax({ | |
type: "get", | |
url: d, | |
curtain: true, | |
success: function(f) { | |
f = $.parseJSON(f); | |
var g = $("#gr-ajax-curtain"); | |
typeof g != "undefined" && g.hide(); | |
$("#recommandation").append(f.recommandationHtml) | |
}, | |
error: function() { | |
console.log("Error with ajax") | |
} | |
}) | |
} | |
}; | |
$(document).ready(function() { | |
var a = $("body"); | |
a.delegate("#esrbOverlay", "overlay-before-show", function() { | |
$("#OrderItemAddForm").validate({ | |
submitHandler: function(b) { | |
Cart.add(b) | |
} | |
}) | |
}); | |
a.delegate("#checkoutCall", "click", function() { | |
try { | |
s_beginCheckout($("#partNums").val()) | |
} catch (b) { | |
console.log(b.message) | |
} | |
$(window).attr("location", $("#checkoutLink").val()) | |
}); | |
a.delegate("#esrbOverlay", "overlay-show", function() { | |
var b = $("#OrderItemAddForm"), | |
d = b.find("input[name='ageRestrictionSelection']").val(), | |
f = b.find("input[name='ageRestrictioPrvSelection']").val(); | |
$(".button.no").click(function() { | |
b.attr("esrbResponse").value = "NO_" + d + "_" + f + "_ESRBPAGE" | |
}); | |
$(".button.yes").click(function() { | |
$("input[name='esrbResponse'][type='hidden']").val("YES_" + d + "_" + d + "_ESRBPAGE"); | |
Target.controller.reviewed.cookie.create("esrbResponse", "YES_" + d + "_" + d + "_ESRBPAGE; path=/", 365) | |
}) | |
}); | |
a.delegate(".qtyUpdate", "click", function(b) { | |
b.preventDefault(); | |
b = $(this).siblings(".qtynumber"); | |
var d = $("#servicePrice"), | |
f = parseInt(b.val()), | |
g = $(this).hasClass("upArrow") ? f + 1 : f - 1; | |
f = parseFloat(d.text().replace("$", | |
"").replace(",", "")) / f * g; | |
f = "$ " + f.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1,"); | |
$(".serviceplansec").find(".error-message").remove(); | |
if (g != 0) { | |
if (g > $(".productInfoUnit").find(".qty").text()) { | |
$(".serviceplansec").find(".cartCol4").append("<p class='error-message' role='alert' aria-live='rude'>You may purchase only one plan per covered item</p>"); | |
return false | |
} | |
} else { | |
$(".serviceplansec").append("<p class='error-message screen-reader-only' role='alert' aria-live='rude'>You can't decrease less than 1 quantity.</p>"); | |
return false | |
} | |
parseInt(g) > 1 ? $(".price .eachprice").show() : $(".price .eachprice").hide(); | |
b.val(g).focus(); | |
d.text(f) | |
}); | |
a.delegate("#addtocart", "overlay-show", function() { | |
$("body").delegate("#sevicePlanAdd", "click", function(u) { | |
u.preventDefault(); | |
u = $("#sevicePlanAddForm"); | |
var y = $("#addtocart"); | |
$(this).hasClass("state-disabled") || $.ajax({ | |
url: u.attr("action"), | |
data: u.serialize(), | |
type: "post", | |
dataType: "json", | |
success: function(J) { | |
y.find(".col-right").remove(); | |
y.find("#sevicePlanAddForm").remove(); | |
$("#crossSell-atc").before(J.summaryJsp); | |
$("#addtocart").attr("tabindex", -1).focus() | |
}, | |
error: function() { | |
console.log("Error with ajax") | |
} | |
}); | |
try { | |
s_clickInteraction("Checkout: Add to Cart layer: Add ESP") | |
} catch (H) {} | |
}); | |
rr_onload_called = true; | |
if (typeof gomez !== "undefined") try { | |
gomez.endInterval("Add to Cart") | |
} catch (b) {} | |
if ($(".j_tmCokie").length > 0) try { | |
var d = $("#preOrder").val(), | |
f = $("#fullFillMethodForOmniture").val(), | |
g = s.prop1, | |
j = $("#priceForOmniture").val(), | |
l = $("#quantityForOmniture").val(), | |
o = $("#partNumbersForOmniture").val(), | |
v = s.split(o, ":"); | |
if (d == | |
"true") d = true; | |
f = typeof f != "undefined" && f != "" ? "flexible" : "standard"; | |
if (g == "product details") g = "product detail"; | |
else if (g == "dynamic landing page") g = "dlp"; | |
s.linkTrackVars = "events,products,eVar35"; | |
s.linkTrackEvents = "scAdd,scOpen,event34,event35,event36,event18"; | |
s.events = "scAdd,scOpen,event34,event35,event36,event18"; | |
s.products = ""; | |
j = s.repl(j, "$", ""); | |
if (g) s.eVar35 = g; | |
if (j && l) | |
for (var A = s.split(j, ":"), C = s.split(l, ":"), q = 0, I = 0, K = v.length; I < K; I++) { | |
if (q > 0) s.products = A[I] && C[I] ? d == true ? s.products + ",;" + v[I] + ";;;event34=" + | |
A[I] + "|event35=" + C[I] + "|event18=1;eVar74=" + f : s.products + ",;" + v[I] + ";;;event34=" + A[I] + "|event35=" + C[I] + ";eVar74=" + f : d == true ? s.products + ",;" + v[I] + ";;;event18=1;eVar74=" + f : s.products + ",;" + v[I] + ";eVar74=" + f; | |
else { | |
s.products = A[I] && C[I] ? d == true ? ";" + v[I] + ";;;event34=" + A[I] + "|event35=" + C[I] + "|event18=1;eVar74=" + f : ";" + v[I] + ";;;event34=" + A[I] + "|event35=" + C[I] + ";eVar74=" + f : d == true ? ";" + v[I] + ";;;event18=1;eVar74=" + f : ";" + v[I] + ";eVar74=" + f; | |
q = 1 | |
} | |
if (s.pageName.indexOf("virtual") != -1) s.products += "|eVar48=" + jsonParamMap.partNumber | |
} else { | |
I = | |
0; | |
for (K = v.length; I < K; I++) { | |
if (q > 0) s.products = d == true ? s.products + ",;" + v[I] + ";;;event18=1;eVar74=" + f : s.products + ",;" + v[I] + ";eVar74=" + f; | |
else { | |
s.products = d == true ? ";" + v[I] + ";;;event18=1;eVar74=" + f : ";" + v[I] + ";eVar74=" + f; | |
q = 1 | |
} | |
if (s.pageName.indexOf("virtual") != -1) s.products += "|eVar48=" + jsonParamMap.partNumber | |
} | |
} | |
s.prop2 = s.prop21; | |
var Q = s.split(s.prop2, ":"), | |
n = s.pageName, | |
G = s.prop9, | |
p = s.eVar35, | |
t = s.prop2, | |
z = s.channel; | |
s.prop1 = Q[0]; | |
if (n.indexOf("product details") != -1) { | |
n.replace("product details", "product detail"); | |
s.pageName = | |
n | |
} | |
if (n.indexOf("search") != -1 || G.indexOf("category") != -1) s.eVar35 = "product listing"; | |
if (p == "quick info") { | |
var D = window.location.href; | |
s.eVar35 = D.indexOf("weeklyad") != -1 ? "weekly ads" : D.indexOf("dailydeals") != -1 ? "daily deals" : D.indexOf("checkout_cartview") != -1 ? "cart cross sell" : D.indexOf("baby.catalogs") != -1 ? "baby catalog" : D.indexOf("wedding.catalogs") != -1 ? "wedding catalog" : "quick info"; | |
s.pageName = s.prop3 | |
} | |
if (p == "registry") s.eVar35 = s.prop1; | |
if (t.indexOf("collections") != -1) s.eVar35 = "product collection pages"; | |
if (n.indexOf("virtual") != -1) s.eVar35 = "virtual bundle"; | |
if (s.eVar32 == "daily deals") s.eVar35 = "daily deals"; | |
if (s.eVar32 == "dlp" || s.eVar32 == "DLP") s.eVar35 = "dlp quick info"; | |
if (n.indexOf("product details") == -1) { | |
s.prop1 = s.prop9 = "cart overlay"; | |
s.prop2 = s.prop3 = pid = z + ": cart add"; | |
s.prop21 = s.prop22 = s.eVar29 = s.eVar5 = "" | |
} | |
if (n.indexOf("thematic") == -1) s.pageName = s.prop3; | |
var M = s.t(); | |
M && document.write(M); | |
s.products = s.events = s.eVar35 = "" | |
} catch (B) {} else try { | |
s.manageVars("clearVars"); | |
s.pageName = "errors:spa add to cart"; | |
s.channel = "errors"; | |
s.prop2 = "errors: spa add to cart"; | |
s.prop3 = "errors: spa add to cart"; | |
s.prop1 = "errors: spa add to cart"; | |
s.prop9 = "akamai error"; | |
s.prop24 = "akamai errors"; | |
s.t() | |
} catch (m) {} | |
$("#multiItemList").tileCarousel(); | |
$("#ModalCarousel").delegate("a.prevFrame,a.nextFrame", "click", function() { | |
setTimeout(function() { | |
var u = $("#multiItemList").find(".state-visible .retPol").val(); | |
$(".col-right").find(".upadateRP").html(u) | |
}, 1E3) | |
}); | |
$(".tipnoteTrigger").tipNote() | |
}); | |
a.delegate("#modal-check-low-price", "overlay-show", | |
function() { | |
var b = $("#removeCartForm"), | |
d = b.attr("action"), | |
f = parseInt(b.find("#quantity").val()); | |
Target.controller.globalOverlay.setAxbFocusElem($("#see-low-price a")); | |
$("#removeFromCart").click(function(g) { | |
$.miniCart.update(f); | |
Cart.createQtyCookie(f); | |
g.preventDefault(); | |
g = b.serialize(); | |
$.ajax({ | |
url: d, | |
data: g, | |
dataType: "json", | |
type: "POST", | |
success: function() { | |
$.hideCurtain(); | |
var j = $("p#see-low-price"); | |
typeof j != "undefined" && j.find("a").focus() | |
} | |
}) | |
}); | |
$("#keepInCart").click(function(g) { | |
console.log("#keepInCart"); | |
g.preventDefault(); | |
var j = $("#keepInCartForm"); | |
g = j.attr("action"); | |
j = j.serialize(); | |
$.ajax({ | |
xhrFields: { | |
withCredentials: true | |
}, | |
url: g, | |
data: j, | |
dataType: "json", | |
type: "POST", | |
success: function(l) { | |
$.overlay.load({ | |
contentOverride: l.responseHtml, | |
overlayId: l.overlayId, | |
template: l.template | |
}); | |
l.grRecommandation == "Y" && Cart.grRecommandation(l) | |
} | |
}) | |
}) | |
}); | |
a.bind("overlay-hide", function(b, d) { | |
$(".addtoCartDisabled").removeAttr("disabled"); | |
if (d === "#esrbOverlay" || d === "#addtocart" || d === "#QuickView") { | |
$.hideCurtain(); | |
Cart.target && | |
$(Cart.target).focus() | |
} | |
}); | |
a.delegate("#checkOutLink", "click", function(b) { | |
var d = $(this); | |
b.preventDefault(); | |
try { | |
s_beginCheckout(d.attr("omniture")) | |
} catch (f) { | |
console.log(f.message) | |
} | |
window.location.href = d.attr("href") | |
}); | |
$("body").delegate("#cartCheckout", "click", function(b) { | |
b.preventDefault(); | |
if ($("#promoCode").length > 0 && $("#promoCode").val() != "") { | |
$("#fromCartContinue").val("true"); | |
$("#redeem-code").submit(); | |
$("#fromCartContinue").val("false") | |
} else setTimeout(function() { | |
window.location.href = d | |
}, 1E3); | |
b = | |
$("#inpCartCheckout").val(); | |
var d = $("#inpCartCheckoutUrl").val(); | |
try { | |
s_beginCheckout(b) | |
} catch (f) { | |
console.log(f.message) | |
} | |
}); | |
a.delegate(".submitMAPform", "click", function() { | |
var b = $(this).attr("catalog"); | |
if (b != "") { | |
b = $("#OrderItemAddForm_" + b); | |
Cart.link(b) | |
} | |
}); | |
a.delegate(".regSeeLowPrice", "click", function(b) { | |
b.preventDefault(); | |
b = $(".regSeeLowPrice").attr("id"); | |
b = $("#frmAddToCartother_" + b); | |
var d = $(b).find('input[name="isSpecialPrice"]'); | |
d.val("true"); | |
Cart.add($(b)); | |
d.val("false") | |
}); | |
a = Target.controller.header.cookie.read("axbFocusCookie"); | |
if (a != null) { | |
a = $("#inCartList").find(".j_reward#" + a).next("p"); | |
$(document).trigger("updateBuffer.framework"); | |
a.attr("tabindex", -1).focus(); | |
Target.controller.header.cookie.erase("axbFocusCookie") | |
} | |
$("#writeReview").click(function() { | |
var b = $("#tcinReviewId").val(); | |
if (typeof b != "undefined") try { | |
s_clickInteraction("manage orders: write review", b) | |
} catch (d) { | |
console.log(d.message) | |
} | |
}); | |
$(".shippingmethod").click(function() { | |
$(".needFaster").focus() | |
}) | |
}); | |
Target.register("controller", "globalOverlay", { | |
utils: ["defaultFieldValue"], | |
header: null, | |
_isPortable: false, | |
iviewer: {}, | |
isSingleVariation: false, | |
_hashMap: {}, | |
_eshashMap: {}, | |
_eshashStoreMap: {}, | |
isESInProgress: false, | |
init: function() { | |
this.header = Target.controller.header; | |
this.cacheController = Target.controller.PDPCache; | |
this.QuickView(); | |
this.createEventHandlers(); | |
this.mediaPlayer(); | |
this.registryBackUrl(); | |
this.gmRegistryBackUrl(); | |
this.updateShareUrl(); | |
this._quickInfoShipPromoMsg = "" | |
}, | |
createEventHandlers: function() { | |
function a() { | |
var p = | |
"single", | |
t = $(".singleItem .swatches"), | |
z = $(".singleItem select[name=attr-sizeSelection]"); | |
if (t.length && z.length) p = "multiple"; | |
return p | |
} | |
function b(p, t, z) { | |
if (t == "show" && z.inventory != undefined) | |
if (z.inventory == "0") { | |
p.removeClass("disabled"); | |
p.find(".buttonText").html("add free gift to cart") | |
} else if (z.inventory == "6") { | |
p.addClass("disabled"); | |
p.find(".buttonText").html("add free gift to cart out of stock disabled") | |
} else { | |
p.addClass("disabled"); | |
p.find(".buttonText").html("add free gift to cart disabled") | |
} else { | |
p.addClass("disabled"); | |
p.find(".buttonText").html("add free gift to cart disabled") | |
} | |
} | |
function d(p, t, z) { | |
var D = v(t, z), | |
M = p.find("option:selected").val(); | |
if (D.items != undefined && D.items.length > 0) { | |
var B = '<option value="">Make a selection</option>'; | |
$.each(D.items, function(m, u) { | |
var y = "" + u[1]; | |
y = y.replace(/-quot-/g, '"'); | |
var H = ""; | |
if (M !== "" && M == u[1]) { | |
H = "selected=selected"; | |
catid = D.catid[m] | |
} | |
B += "<option catid='" + D.catid[m] + "' value='" + u[1] + "' " + H + ">" + y + "</option>" | |
}); | |
p.html(B) | |
} | |
} | |
function f(p, t) { | |
if ($.isEmptyObject(t)) return false; | |
var z = | |
p.parents(".singleItem").find(".number"), | |
D = p.parents(".singleItem").find(".fESOleftAlign img:eq(0)"), | |
M = p.parents(".singleItem").find("#fgPartNumber"); | |
z.html('<span class="screen-reader-only">sale price </span>' + t.price + "<span>value</span> "); | |
D.attr("src", t.image); | |
M.val(t.partNumber) | |
} | |
function g(p, t) { | |
if (p.length) { | |
var z = false, | |
D = ""; | |
t == "add" && $.each(p, function(M, B) { | |
if (B.status == "out") { | |
$(B.element).parents("li").find(".button").attr("disabled", true); | |
z = $(B.element).parents("li").find(".button").hasClass("selectButtonFront") ? | |
true : false; | |
if (!z) { | |
D = $(B.element).parents("li").find(".button .buttonText"); | |
D.text(D.text().replace(/Disabled/g, " ") + " Disabled") | |
} | |
} | |
}); | |
t == "remove" && $.each(p, function(M, B) { | |
if (B.status == "out") { | |
$(B.element).parents("li").find(".button").removeAttr("disabled"); | |
z = $(B.element).parents("li").find(".button").hasClass("selectButtonFront") ? true : false; | |
if (!z) { | |
D = $(B.element).parents("li").find(".button .buttonText"); | |
D.text(D.text().replace(/Disabled/g, " ")) | |
} | |
} | |
}) | |
} | |
} | |
function j() { | |
var p = [], | |
t = $("#freeGiftSpecialOffers .front_tile"); | |
$.each(t, function(z) { | |
var D = $(this), | |
M = {}; | |
M.place = z; | |
M.id = D.parents("li").attr("data-parentid"); | |
M.element = D; | |
M.status = "out"; | |
if (D.find(".button").hasClass("free_gift_item_selected")) M.status = "in"; | |
p.push(M) | |
}); | |
return p | |
} | |
function l() { | |
var p = $("#freeGiftCounter").val(), | |
t = $(".decl_get_gift_cont"), | |
z = Target.controller.globalOverlay.getSelectedFreeGiftItems(); | |
z = C(z); | |
var D = parseInt(z, 10); | |
if (parseInt(z, 10) >= 1) t.find(".notify").length && D > 0 && t.find(".notify").show().find(".counter").text(D); | |
else t.find(".notify").length && | |
t.find(".notify").hide(); | |
if (parseInt(z, 10) >= parseInt(p, 10)) return "stopthem"; | |
return "proceed" | |
} | |
function o(p, t) { | |
var z = Target.globals.refreshGiftItems, | |
D = {}; | |
$.each(z, function(M) { | |
if (z[M].Attributes.parentCatentry_id == p) | |
if (z[M].catentry_id == t) { | |
D.title = z[M].Attributes.itemtitle; | |
D.price = z[M].Attributes.price.formattedOfferPrice; | |
D.buyable = z[M].Attributes.inventory.isBuyable; | |
D.inventory = z[M].Attributes.inventory.inv_code; | |
D.image = z[M].Attributes.primary_image; | |
D.partNumber = z[M].Attributes.partNumber; | |
return D | |
} | |
}); | |
return D | |
} | |
function v(p, t) { | |
if (Target.globals.giftentitileditems.length != 0) { | |
var z = lastitem = el = sizeAttr = "", | |
D = {}, | |
M = [], | |
B = Target.globals.giftentitileditems; | |
D.items = []; | |
D.catid = []; | |
B.length > 0 && $.each(B, function(m, u) { | |
u.parentcatentry_id == t && $.each(u.itemdetails, function(y, H) { | |
$.each(H.Attributes, function(J, R) { | |
el = J; | |
z = J.split(":"); | |
lastitem = z[z.length - 1]; | |
if (R == 1) | |
if (typeof p != "undefined" && p == lastitem) { | |
var U = H.Attributes, | |
X = 0, | |
ga; | |
for (ga in U) U.hasOwnProperty(ga) && X++; | |
if (X > 1) { | |
sizeAttr = A(H.Attributes, el); | |
typeof sizeAttr === | |
"object" && D.catid.push(H.catentry_id); | |
D.items.push(sizeAttr) | |
} | |
} else { | |
sizeAttr = A(H.Attributes); | |
U = {}; | |
U.catid = H.catentry_id; | |
U.itemname = sizeAttr; | |
M.push(U) | |
} | |
}) | |
}) | |
}); | |
return typeof p != "undefined" && p ? D : M | |
} | |
} | |
function A(p) { | |
var t = [], | |
z = ""; | |
z = ""; | |
if (typeof p == "object") | |
for (var D in p) { | |
z = D.split(":"); | |
z = z[z.length - 1]; | |
t.push(z) | |
} | |
return t | |
} | |
function C(p) { | |
var t = "", | |
z = 0, | |
D = []; | |
$(p).each(function() { | |
t = $(this); | |
var M = t.find(".qtynumber").text(); | |
z += parseInt(M, 10); | |
D.push(M) | |
}); | |
return z | |
} | |
function q(p) { | |
p.empty().removeAttr("generated").addClass("screen-reader-only") | |
} | |
function I(p, t, z) { | |
p.html(t).attr({ | |
generated: "true" | |
}); | |
z == "add" ? p.addClass("screen-reader-only") : p.removeClass("screen-reader-only") | |
} | |
fromQi = false; | |
var K = this, | |
Q = $("body"); | |
$("body").delegate("#recommandation .addtoCart", "click", function(p) { | |
p.preventDefault(); | |
var t = $(this); | |
p = p.currentTarget.id; | |
var z = t.parent(z); | |
Cart.add(z, false, p) | |
}); | |
Q.delegate("#addListQickInfo", "click", function(p) { | |
p.preventDefault(); | |
p = $(this); | |
var t = { | |
context: this, | |
etype: "click", | |
regUrl: "" | |
}, | |
z = $("#QuickView"), | |
D = p.attr("catalogEntryID"); | |
z = z.find("#OrderItemAddForm_catEntryId_" + | |
D).val(); | |
D = $("#quickInfo #quantity_" + D).val(); | |
var M = ""; | |
if (p.parents("form.no-summary").find(".subscribeme").is(":checked")) Target.controller.globalUtils.recurringOrderValidate("list", p); | |
else if ($("#quickInfo").validate(Target.validation).form()) { | |
M = p.attr("rev"); | |
M += "&catEntryId_0=" + z + "&quantity_0=" + D; | |
t.regUrl = M; | |
Target.controller.grda.HandleGRDAResponse(t, function() {}, false) | |
} else return false | |
}); | |
$("body").delegate(".subscribeme", "change", function(p) { | |
p.preventDefault(); | |
$("#subscribeFromCart,#keepInCart").toggleClass("sub-btnhidden") | |
}); | |
$("body").delegate("#subscribeFromCart", "click", function() { | |
var p = $(this).attr("subUrl"), | |
t = { | |
isSubscribeme: true, | |
babyDuration: $(".overlay .itemLevelService").find("select[id=babyDuration]").val() | |
}; | |
$.ajax({ | |
url: p, | |
type: "post", | |
data: t, | |
dataType: "json", | |
success: function(z) { | |
z != undefined && z.hasOwnProperty("success") && z.success == "true" ? $("#keepInCart").trigger("click") : console.log("error") | |
}, | |
error: function() { | |
console.log("Ajax error") | |
} | |
}) | |
}); | |
$(document).delegate(".singleFreePromotion", "click mouseenter", function(p) { | |
p.preventDefault(); | |
$("#singleFreeGiftPDP").toggle(); | |
$("#singleFreeGiftPDP").is(":visible") ? ($("#singleFreeGiftPDP").find("p.unavailable").length ? $("#singleFreeGiftPDP").find("p.unavailable") : $("#singleFreeGiftPDP").find("img")).attr({ | |
tabindex: "-1" | |
}).focus() : $(this).focus(); | |
return false | |
}); | |
$(document).delegate(".singleFreePromotion", "mouseleave", function(p) { | |
p.preventDefault(); | |
$("#singleFreeGiftPDP").hide(); | |
return false | |
}); | |
$(document).delegate("#singleFreeGiftPDP", "mouseenter", function(p) { | |
p.preventDefault(); | |
$("#singleFreeGiftPDP").show().find("img").focus(); | |
return false | |
}); | |
$(document).delegate("#singleFreeGiftPDP", "mouseleave", function(p) { | |
p.preventDefault(); | |
$("#singleFreeGiftPDP").hide(); | |
$(".singleFreePromotion").attr("tabindex", "0").focus(); | |
return false | |
}); | |
$(document).delegate("#singleFreeGiftPDP a.screen-reader-only", "click", function(p) { | |
p.preventDefault(); | |
$("#singleFreeGiftPDP").hide(); | |
$(".singleFreePromotion").attr("tabindex", "0").focus(); | |
return false | |
}); | |
$("body").bind($.browser.mozilla ? "keypress" : "keydown", function(p) { | |
if ((p.keyCode ? p.keyCode : p.which) == | |
"27") | |
if ($("#singleFreeGiftPDP").length && $("#singleFreeGiftPDP").is(":visible")) { | |
p.preventDefault(); | |
$("#singleFreeGiftPDP a.screen-reader-only").trigger("click"); | |
return false | |
} | |
}); | |
$(document).delegate("#singleFreeGiftPDP a.screen-reader-only", "focusin", function(p) { | |
p.preventDefault(); | |
$(this).css({ | |
width: "65px", | |
overflow: "visible", | |
left: "235px", | |
bottom: "25px", | |
"text-align": "right", | |
position: "absolute" | |
}); | |
return false | |
}); | |
$(document).delegate("#singleFreeGiftPDP a.screen-reader-only", "focusout", function(p) { | |
p.preventDefault(); | |
$(this).removeAttr("style"); | |
$("#singleFreeGiftPDP a.screen-reader-only").trigger("click"); | |
return false | |
}); | |
$(document).delegate(".singleItem select[name=attr-sizeSelection]", "change", function() { | |
var p = $(this), | |
t = p.find("option:selected").val() != "Make a selection" || p.find("option:selected").val() != "" ? p.find("option:selected").val() : false, | |
z = t ? p.find("option:selected").attr("catid") != undefined ? p.find("option:selected").attr("catid") : false : false, | |
D = p.parents(".fESOleftAlign").attr("data-parentid"), | |
M = a(), | |
B = | |
$(".singleItem #getGiftCard"); | |
if (!t) { | |
b(B, "hide", ""); | |
return false | |
} | |
if (z) { | |
if (M == "mulitple") { | |
t = p.parents(".SingleTitle").find(".color_selected"); | |
if (t.length && t.html() != null && t.html() == "") { | |
b(B, "hide", ""); | |
return false | |
} | |
} | |
z = o(D, z); | |
if (!$.isEmptyObject(z)) { | |
f(p, z); | |
b(B, "show", z) | |
} | |
} | |
}); | |
$(document).delegate(".singleItem .swatches input[class=attr-swatchColor]", "change", function() { | |
var p = $(this), | |
t = p.attr("catid") != undefined ? p.attr("catid") : "", | |
z = p.val(), | |
D = p.parents(".colors").find(".color_selected"), | |
M = p.parents(".fESOleftAlign").attr("data-parentid"), | |
B = p.parents(".fESOleftAlign").find(".sizeSelection.valid"), | |
m = a(), | |
u = $(".singleItem #getGiftCard"); | |
if (t == "") return false; | |
$(D).length && $(D).html(z); | |
$(".singleItem .swatches .swatchtool").removeClass("selected"); | |
p.parent("li").addClass("selected"); | |
if (m == "multiple") { | |
d(B, z, M); | |
z = $(".singleItem select[name=attr-sizeSelection] option:selected"); | |
if (!(z.attr("val") != undefined || z.val() != "Make a selection" || z.val() != "" ? z.val() : false)) { | |
b(u, "hide", ""); | |
return false | |
} | |
} | |
t = o(M, t); | |
if (!$.isEmptyObject(t)) { | |
f(p, t); | |
b(u, "show", | |
t) | |
} | |
}); | |
$(document).delegate(".singleItem #getGiftCard", "click", function() { | |
var p = $(this), | |
t = p.parents(".singleItem"); | |
if (p.hasClass("disabled")) return false; | |
p = Cart.getForm(); | |
var z = ""; | |
p.find('input:hidden[class^="freeGiftPartNo"],input[class^="freeGiftQty"],input[class^="freeGiftPromoId"]').remove(); | |
p.find('input[name="catEntryId"]').length > 0 && p.find('input[name="catEntryId"]').attr("name", "catEntryId_0"); | |
p.find('input[name="quantity"]').length > 0 && p.find('input[name="quantity"]').attr("name", "quantity_0"); | |
var D = t.find("#fgPartNumber").val(), | |
M = t.find("#fgPromoId").val(); | |
t = t.find(".qtynumber").text(); | |
z += '<input id="CFGPartnumber_0" type="hidden" value="' + D + '" name="CFGPartnumber_0" class="freeGiftPartNo">'; | |
z += '<input id="CFGQty_0" type="hidden" value="' + t + '" name="CFGQty_0" class="freeGiftQty">'; | |
z += '<input id="promotionId" type="hidden" value="' + M + '" name="promotionId" class="freeGiftPromoId">'; | |
p.append(z); | |
Cart.add(p, false, $("#addToCart")) | |
}); | |
var n = false; | |
$(document).delegate("#freeGiftItemList .fESOBottomAlign .small", | |
"click", | |
function() { | |
$("#freeGiftItemList .fESOBottomAlign").removeClass("flip"); | |
var p = $(this); | |
$("#freeGiftItemList .fESOBottomAlign"); | |
$(this).parents(".fESOBottomAlign").toggleClass("flip"); | |
p.parents(".fESOBottomAlign").find(".back_tile .small_images").attr("tabindex", "-1").focus() | |
}); | |
$(document).delegate('#freeGiftItemList .fESOBottomAlign .item_selection select[name="attr-sizeSelection"]', "change", function() { | |
var p = $(this), | |
t = p.find("option:selected").attr("catid") != undefined ? p.find("option:selected").attr("catid") : | |
"", | |
z = p.parents(".fESOBottomAlign").find("#fgPartNumber").val(); | |
p.find("option:selected").val(); | |
var D = p.parents(".fESOBottomAlign").attr("data-parentid"), | |
M = p.parents(".back_tile").find(".color_selected").html(), | |
B = p.parents(".fESOBottomAlign").find(".sizeSelection.valid"), | |
m = p.parents(".fESOBottomAlign").find(".swatches"); | |
n = false; | |
if (B.length && m.length) n = true; | |
if (n) { | |
B.find("option:selected").val(); | |
if (M == "" || M == undefined) { | |
p.parents(".fESOBottomAlign").find(".back_tile .button").removeClass("selectButton selectButtonOOS").addClass("selectButtonFront"); | |
return false | |
} | |
} | |
if (t == "") { | |
p.parents(".fESOBottomAlign").find(".back_tile .button").removeClass("selectButton selectButtonOOS").addClass("selectButtonFront"); | |
return false | |
} | |
M = false; | |
M = o(D, t); | |
if ($.isEmptyObject(M)) p.parents(".fESOBottomAlign").find(".back_tile .button").removeClass("selectButton selectButtonOOS").addClass("selectButtonFront"); | |
else { | |
t = p.parents(".fESOBottomAlign").find(".front_tile .offerPrice"); | |
D = p.parents(".fESOBottomAlign").find(".back_tile .small_images"); | |
B = p.parents(".fESOBottomAlign").find(".front_tile .image-container"); | |
m = p.parents(".fESOBottomAlign").find(".back_tile .item_price"); | |
var u = M.price == "Too low to display" ? '<span class="screen-reader-only">sale price </span>' + M.price : '<span class="screen-reader-only">sale price </span>' + M.price + " <span>value</span>"; | |
z = M.partNumber; | |
t.html(u); | |
m.html(u); | |
B.find("img").attr("src", M.image); | |
D.find("img").attr("src", M.image); | |
if (M.inventory == "0") { | |
p.parents(".fESOBottomAlign").find(".back_tile .button").removeClass("selectButtonFront selectButtonOOS").addClass("selectButton"); | |
M = | |
p.parents(".fESOBottomAlign").find(".back_tile .button .buttonText"); | |
M.text(M.text().replace(/Disabled/g, " ")) | |
} else if (M.inventory == "6") { | |
p.parents(".fESOBottomAlign").find(".back_tile .button").removeClass("selectButton selectButtonFront").addClass("selectButtonOOS"); | |
M = p.parents(".fESOBottomAlign").find(".back_tile .button .buttonText"); | |
M.text(M.text().replace(/Disabled/g, " ") + " Disabled") | |
} else p.parents(".fESOBottomAlign").find(".back_tile .button").removeClass("selectButton selectButtonOOS").addClass("selectButtonFront") | |
} | |
p.parents(".fESOBottomAlign").find("#fgPartNumber").val(z) | |
}); | |
$(document).delegate('#freeGiftItemList .fESOBottomAlign .swatches .swatchtool input[class="attr-swatchColor"]', "change", function() { | |
var p = $(this); | |
p.attr("src"); | |
var t = p.attr("catid") != undefined ? p.attr("catid") : false, | |
z = p.parents(".fESOBottomAlign").attr("data-parentid"), | |
D = p.parents(".fESOBottomAlign").find("#fgPartNumber").val(), | |
M = p.val(), | |
B = p.parents(".fESOBottomAlign").find(".sizeSelection.valid"), | |
m = p.parents(".fESOBottomAlign").find(".swatches"), | |
u = ""; | |
$("#freeGiftItemList .fESOBottomAlign .swatches .swatchtool").removeClass("selected"); | |
p.parent("li").addClass("selected"); | |
p.parents("fieldset.colors").find(".color_selected").html(M); | |
n = false; | |
if (B.length && m.length) n = true; | |
if (n) { | |
d(B, M, z); | |
u = B.find("option:selected").val(); | |
if (u == "" || u == "Make a selection") { | |
p.parents(".fESOBottomAlign").find(".back_tile .button").removeClass("selectButton selectButtonOOS").addClass("selectButtonFront"); | |
return false | |
} | |
} | |
p.parents("li").find(".newerrorfield").text(""); | |
t = o(z, t); | |
if ($.isEmptyObject(t)) p.parents(".fESOBottomAlign").find(".back_tile .button").removeClass("selectButton selectButtonOOS").addClass("selectButtonFront"); | |
else { | |
z = p.parents(".fESOBottomAlign").find(".front_tile .offerPrice"); | |
M = p.parents(".fESOBottomAlign").find(".back_tile .small_images"); | |
B = p.parents(".fESOBottomAlign").find(".front_tile .image-container"); | |
m = p.parents(".fESOBottomAlign").find(".back_tile .item_price"); | |
D = t.partNumber; | |
u = t.price == "Too low to display" ? '<span class="screen-reader-only">sale price </span>' + t.price : '<span class="screen-reader-only">sale price </span>' + t.price + " <span>value</span>"; | |
z.html(u); | |
m.html(u); | |
B.find("img").attr("src", | |
t.image); | |
M.find("img").attr("src", t.image); | |
if (t.inventory == "0") { | |
p.parents(".fESOBottomAlign").find(".back_tile .button").removeClass("selectButtonFront selectButtonOOS").addClass("selectButton"); | |
t = p.parents(".fESOBottomAlign").find(".back_tile .button .buttonText"); | |
t.text(t.text().replace(/Disabled/g, " ")) | |
} else if (t.inventory == "6") { | |
p.parents(".fESOBottomAlign").find(".back_tile .button").removeClass("selectButton selectButtonFront").addClass("selectButtonOOS"); | |
t = p.parents(".fESOBottomAlign").find(".back_tile .button .buttonText"); | |
t.text(t.text().replace(/Disabled/g, " ") + " Disabled") | |
} else p.parents(".fESOBottomAlign").find(".back_tile .button").removeClass("selectButton selectButtonOOS").addClass("selectButtonFront") | |
} | |
p.parents(".fESOBottomAlign").find("#fgPartNumber").val(D) | |
}); | |
$(document).delegate(".free-promotion-offer, .multipleFreePromotion", "click", function(p) { | |
p.preventDefault(); | |
if ($(this).hasClass(".singleFreePromotion")) return false; | |
p = $("#FreeGiftOverlayDisplay").val(); | |
var t = $("#qiReturnBack").val(), | |
z = $("#freeGiftOverlayUrl").val() != | |
"" ? $("#freeGiftOverlayUrl").val() : "", | |
D = Target.controller.globalOverlay.getParameterByName("width", z), | |
M = Target.controller.globalOverlay.getParameterByName("freeGiftPartNumbers", z), | |
B = Target.controller.globalOverlay.getParameterByName("partNumber", z), | |
m = $(this).hasClass(".free-promotion-offer") ? ".free-promotion-offer" : ".multipleFreePromotion"; | |
t = "freeGiftPartNumbers=" + M + "&qiReturnBack=" + t + "&mode=view&partNumber=" + B; | |
p && z != "" && $.overlay.load({ | |
content: "/FreeGiftDisplayView", | |
overlayId: "freeGiftSpecialOffers", | |
target: m, | |
overlayType: "modal", | |
width: D, | |
data: t, | |
curtain: true | |
}) | |
}); | |
$(document).delegate("#freeGiftSpecialOffers .selectButtonFront.free_gift_item_selected", "click", function() { | |
var p = $(this); | |
p.toggleClass("free_gift_item_selected").val("select"); | |
var t = p.find(".buttonText"), | |
z = t.text().replace("selected", "select"); | |
t.text(z.replace(/Disabled/g, " ") + " Disabled"); | |
t = p.parents(".fESOBottomAlign").find(".back_tile .button"); | |
z = t.find(".buttonText"); | |
var D = z.text().replace("selected", "select"); | |
z.text(D.replace(/Disabled/g, | |
" ")); | |
t.removeClass("free_gift_item_selected").val("select"); | |
l("select", $(this)) == "stopthem" ? g(j(), "add") : g(j(), "remove"); | |
p.attr("tabindex", "0").focus() | |
}); | |
$(document).delegate("#freeGiftItemList .selectButton, #freeGiftSpecialOffers .selectButton", "click", function() { | |
var p = $(this), | |
t = $("#freeGiftCounter").val(), | |
z = p.parents("li").find(".qtynumber").text(), | |
D = Target.controller.globalOverlay.getSelectedFreeGiftItems(), | |
M = C(D); | |
D = $(this).hasClass("free_gift_item_selected") ? true : false; | |
var B = $(this).find("span.buttonText"), | |
m = B.html(), | |
u = D ? parseInt(M) : parseInt(M) + parseInt(z, 10), | |
y = ""; | |
if (parseInt(M, 10) > parseInt(t, 10) || z > parseInt(t, 10)) { | |
p.removeClass("free_gift_item_selected"); | |
$("#getGiftCard").attr("disabled", true); | |
$("#getGiftCard").addClass("disabled"); | |
return false | |
} else if (u > parseInt(t, 10)) { | |
p.removeClass("free_gift_item_selected"); | |
M == t ? $("#getGiftCard").removeAttr("disabled") : $("#getGiftCard").attr("disabled", true); | |
M == t ? $("#getGiftCard").removeClass("disabled") : $("#getGiftCard").addClass("disabled"); | |
y = l("select", $(this)); | |
y == "stopthem" ? g(j(), "add") : g(j(), "remove"); | |
return false | |
} else { | |
p.toggleClass("free_gift_item_selected", p.val() == "select" ? p.val("selected") : p.val("select")); | |
t = Target.controller.globalOverlay.getSelectedFreeGiftItems(); | |
z = p.parents(".fESOBottomAlign").hasClass("flip") ? true : false; | |
$.isArray(t) && C(t); | |
D ? B.html(m.replace("selected", "select")) : B.html(m.replace("select", "selected")); | |
if (z) { | |
D = p.parents(".fESOBottomAlign").find(".front_tile .selectButtonFront"); | |
if (p.val() == "select") { | |
D.val("select"); | |
D.removeClass("free_gift_item_selected"); | |
B = D.find(".buttonText").text().replace("selected", "select"); | |
B = B.replace(/Disabled/g, " ") + " Disabled"; | |
D.find(".buttonText").text(B); | |
p.attr("tabindex", "0").focus() | |
} else { | |
p.parents(".fESOBottomAlign").toggleClass("flip"); | |
D.val("selected"); | |
D.addClass("free_gift_item_selected"); | |
B = D.find(".buttonText").text().replace("select", "selected"); | |
B = B.replace(/Disabled/g, " "); | |
D.find(".buttonText").text(B); | |
D.attr("tabindex", "0").focus() | |
} | |
} else p.attr("tabindex", "0").focus(); | |
$("#getGiftCard").removeAttr("disabled"); | |
$("#getGiftCard").removeClass("disabled"); | |
y = l("select", $(this)); | |
y == "stopthem" ? g(j(), "add") : g(j(), "remove") | |
} | |
var H = []; | |
$("#freeGiftItemList li.fESOBottomAlign, .singleItemButton").each(function() { | |
$(this).find(".selectButton").hasClass("free_gift_item_selected") && H.push(1) | |
}); | |
if (H.length) $("button#getGiftCard span.buttonText").html("add free gift to cart"); | |
else { | |
$("#getGiftCard").attr("disabled", true); | |
$("#getGiftCard").addClass("disabled"); | |
$("button#getGiftCard span.buttonText").html("add free gift to cart disabled") | |
} | |
}); | |
$(document).delegate("#freeGiftItemList a.upArrow, #freeGiftSpecialOffers a.upArrow", "click", function(p) { | |
p.preventDefault(); | |
q($(".arrow-reached-maxmin")); | |
p = $("#freeGiftCounter").val(); | |
var t = $(this).parent().find(".qtynumber"); | |
$(this).parents(".selectboxwrap"); | |
var z = parseInt(t.text()), | |
D = Target.controller.globalOverlay.getSelectedFreeGiftItems(), | |
M = C(D), | |
B = ($(this).parents("li").find(".selectButton").hasClass("free_gift_item_selected") ? true : false) ? parseInt(M) : parseInt(M) + parseInt(z, 10); | |
D = ""; | |
if (parseInt(M, | |
10) >= parseInt(p, 10)) { | |
D = l("arrow", $(this)); | |
D == "stopthem" ? g(j(), "add") : g(j(), "remove"); | |
I($(this).parent(".selectboxwrap").find(".arrow-reached-maxmin"), '<span aria-hidden="true">Max</span><span class="screen-reader-only"> maximum</span> quantity has been reached', "remove"); | |
return false | |
} | |
if (B >= parseInt(p, 10)) { | |
$(this).closest(".selectButton").removeClass("free_gift_item_selected"); | |
D = l("arrow", $(this)); | |
D == "stopthem" ? g(j(), "add") : g(j(), "remove"); | |
I($(this).parent(".selectboxwrap").find(".arrow-reached-maxmin"), | |
'<span aria-hidden="true">Max</span><span class="screen-reader-only"> maximum</span> quantity has been reached', "remove"); | |
return false | |
} | |
if (z == p) { | |
D = l("arrow", $(this)); | |
D == "stopthem" ? g(j(), "add") : g(j(), "remove"); | |
I($(this).parent(".selectboxwrap").find(".arrow-reached-maxmin"), '<span aria-hidden="true">Max</span><span class="screen-reader-only"> maximum</span> quantity has been reached', "remove"); | |
return false | |
} else { | |
z == "" || z < "0" ? t.text(1) : t.text(parseInt(t.text()) + 1); | |
M && $("#getGiftCard").removeAttr("disabled"); | |
M && $("#getGiftCard").removeClass("disabled"); | |
t = t.text(); | |
p = "Quantity: " + t; | |
D = l("arrow", $(this)); | |
D == "stopthem" ? g(j(), "add") : g(j(), "remove"); | |
I($(this).parent(".selectboxwrap").find(".arrow-reached-maxmin"), p, "add") | |
} | |
}); | |
$(document).delegate("#freeGiftItemList a.downArrow, #freeGiftSpecialOffers a.downArrow", "click", function(p) { | |
p.preventDefault(); | |
q($(".arrow-reached-maxmin")); | |
$("#freeGiftCounter").val(); | |
$(this).parents(".selectboxwrap"); | |
p = $(this).parent().find(".qtynumber"); | |
var t = parseInt(p.text()), | |
z = Target.controller.globalOverlay.getSelectedFreeGiftItems(), | |
D = ""; | |
C(z) && $("#getGiftCard").removeAttr("disabled").removeClass("disabled"); | |
$("li.redText").remove(); | |
if (t > 1) { | |
p.text(parseInt(p.text()) - 1); | |
t = p.text(); | |
c = p.parents(".selectboxwrap"); | |
p = "Quantity: " + t; | |
D = l("arrow", $(this)); | |
D == "stopthem" ? g(j(), "add") : g(j(), "remove"); | |
I($(this).parent(".selectboxwrap").find(".arrow-reached-maxmin"), p, "add") | |
} else { | |
D = l("arrow", $(this)); | |
D == "stopthem" ? g(j(), "add") : g(j(), "remove"); | |
I($(this).parent(".selectboxwrap").find(".arrow-reached-maxmin"), '<span aria-hidden="true">Min</span><span class="screen-reader-only"> minimum</span> quantity has been reached', | |
"remove") | |
} | |
}); | |
$(document).delegate("#freeGiftSpecialOffers .getGiftCardMultipleItems", "click", function() { | |
if ($(this).hasClass("disabled")) return false; | |
var p = Target.controller.globalOverlay.getSelectedFreeGiftItems(), | |
t = 0, | |
z = Cart.getForm(); | |
z.find('input:hidden[class^="freeGiftPartNo"],input[class^="freeGiftQty"],input[class^="freeGiftPromoId"]').remove(); | |
z.find('input[name="catEntryId"]').length > 0 && z.find('input[name="catEntryId"]').attr("name", "catEntryId_0"); | |
z.find('input[name="quantity"]').length > 0 && | |
z.find('input[name="quantity"]').attr("name", "quantity_0"); | |
t = parseInt(t, 10); | |
catId = html = ""; | |
for (var D = 0; D < p.length; D++) { | |
var M = p[D].find("#fgPartNumber").val(), | |
B = "CFGQty_" + t, | |
m = p[D].find("#fgPromoId").val(), | |
u = "CFGPartnumber_" + t; | |
qtycart = p[D].find(".qtynumber").text(); | |
html += '<input id="' + u + '" type="hidden" value="' + M + '" name="' + u + '" class="freeGiftPartNo">'; | |
html += '<input id="' + B + '" type="hidden" value="' + qtycart + '" name="' + B + '" class="freeGiftQty">'; | |
html += '<input id="promotionId" type="hidden" value="' + | |
m + '" name="promotionId" class="freeGiftPromoId">'; | |
t += 1 | |
} | |
z.append(html); | |
Cart.add(z, false, $("#addToCart")) | |
}); | |
$(document).delegate(".declineGift, .noGiftAvailable", "click", function(p) { | |
p.preventDefault(); | |
if ($.overlay.activeOverlay) { | |
p = Cart.getForm(); | |
Cart.add(p, false, $("#addToCart")); | |
$.overlay.currentOverlay.trigger("close.overlay", [true]) | |
} | |
}); | |
$("body").delegate("#media-player .carousel-panel a.scene7", "click mouseover mouseout", function(p) { | |
var t = $(this), | |
z = t.parent(), | |
D = $("#media-player .carouselviewport .video-playing-title"), | |
M = t.find("span.video-thumbnail-title").text(), | |
B = t.find("img").attr("alt") + " selected"; | |
switch (p.type) { | |
case "click": | |
p = t.find("img").attr("id"); | |
$("#target_player").get(0).sendNotification("changeMedia", { | |
entryId: p | |
}); | |
var m = t.parents("ul.component-carousel-qinfo").find("li").has("div.selectedImage"); | |
a_tag_bc = m.find(".aBackup").val(); | |
selected_image = m.find("img"); | |
img_alt_title = $(a_tag_bc).attr("title"); | |
selected_image.attr("title", img_alt_title); | |
currentSelectedDiv = m.find("div.selectedImage"); | |
selected_image.removeClass("selectedThumbnailClass"); | |
m.find("div.video-play-icon").show(); | |
m.find("div.video-thumbnail-overlay").show(); | |
if (typeof currentSelectedDiv !== undefined && m.find("a").hasClass("scene7") == false) { | |
m.append($(a_tag_bc).html(currentSelectedDiv.html())); | |
m.find("a.scene7 img").attr("alt", m.find("div.scene7 span").text()) | |
} else m.find("a.scene7").show(); | |
m.find("a.scene7").attr("href", "#"); | |
currentSelectedDiv.hide(); | |
D.html(M); | |
$("#" + p).addClass("selectedThumbnailClass"); | |
if (typeof z !== "undefined" && z.find("div").hasClass("selectedImage") == false) { | |
chil = | |
t.html(); | |
new_div = $("<div class='scene7 imgAnchor selectedImage' title='Now Playing' />").html(chil); | |
z.append(new_div) | |
} else z.find("div.selectedImage").show(); | |
z.find("div.selectedImage").find("div.video-play-icon").hide(); | |
z.find("div.selectedImage").find("div.video-thumbnail-overlay").hide(); | |
t.hide(); | |
t.removeAttr("href"); | |
new_div.find("img").attr("alt", B); | |
$("#target_player").focus(); | |
break; | |
case "mouseover": | |
if (t.find("img").hasClass("selectedThumbnailClass") == false) { | |
z = t.parent(); | |
t.find("div.video-thumbnail-overlay").hide(); | |
typeof z !== "undefined" && z.hasClass("state-focus") == true && z.removeClass("state-focus") | |
} | |
break; | |
case "mouseout": | |
t.find("img").hasClass("selectedThumbnailClass") == false && t.find("div.video-thumbnail-overlay").show() | |
} | |
}); | |
$(document).delegate("#specialOffersInPDP a.specialCoupons", "click", function(p) { | |
p.preventDefault(); | |
var t = $(p.currentTarget); | |
p = t.attr("href"); | |
var z = $("#specialOffersInPDP"); | |
t.addClass("couponSpinner"); | |
t.append('<span class="screen-reader-only" role="alert" aria-live="rude" tabindex="0" generated="true"> Please wait, apply coupon is in progress</span>').find("span.screen-reader-only:eq(1)").focus(); | |
$.ajax({ | |
type: "GET", | |
url: p, | |
dataType: "json", | |
curtain: false, | |
success: function(D) { | |
t.replaceWith(D.TcouponJSON.Failure != undefined && D.TcouponJSON.Failure != "undefined" ? '<p class="specialCouponsWarning" role="alert" aria-live="rude" generated="true"><span class="specialCoupWarn"> Sorry, the coupon was not applied </span><span class="specialCoupWarn specialCoupWarnRefres">Please refresh this page and try again.</span></p>' : '<span class="specialCouponsChanged" role="alert" aria-live="rude" generated="true"> coupon applied</span>'); | |
if (z.find(".specialCouponsWarning").length) z.find(".specialCouponsWarning").attr("tabindex", "0").focus().removeAttr("tabindex"); | |
else z.find(".specialCouponsChanged").length ? z.find(".specialCouponsChanged").attr("tabindex", "0").focus().removeAttr("tabindex") : z.attr("tabindex", "0").focus().removeAttr("tabindex") | |
}, | |
error: function() { | |
window.console != undefined && console.log(" error handler -- ") | |
} | |
}) | |
}); | |
Q.delegate("#addRegistryQickInfo, #gmAddRegistryQickInfo", "click", function(p) { | |
p.preventDefault(); | |
var t = $(this), | |
z = { | |
context: this, | |
etype: "click", | |
regUrl: "" | |
}, | |
D = $("#QuickView"), | |
M = t.attr("catalogEntryID"), | |
B = D.find("#OrderItemAddForm_catEntryId_" + M).val(); | |
M = $("#quickInfo #quantity_" + M).val(); | |
var m = ""; | |
m = t.parents("form.no-summary").find(".subscribeme"); | |
D = D.find(".zoomItemPartNum"); | |
D = D.length ? D.val() : ""; | |
if (m.is(":checked")) Target.controller.globalUtils.recurringOrderValidate("registry", t); | |
else if ($("#quickInfo").validate(Target.validation).form()) { | |
$("input[name=preSelFlag]").val(); | |
m = p.currentTarget.id == "gmAddRegistryQickInfo" ? | |
t.attr("href") : t.attr("rev"); | |
m += "&catEntryId_0=" + B; | |
if (typeof D != "undefined" && D != "") { | |
m += "&partNumber=" + D; | |
z.regUrl = m | |
} | |
if (typeof M != "undefined" && M != "") { | |
m += "&quantity_0=" + M; | |
z.regUrl = m | |
} | |
p.currentTarget.id == "gmAddRegistryQickInfo" ? $.ajax({ | |
url: m, | |
success: function(u) { | |
u.overlayHtml != "" && u.overlayHtml !== "undefined" ? $.overlay.load({ | |
contentOverride: u.overlayHtml, | |
overlayId: u.overlayId, | |
template: u.template | |
}) : console.log("Else condition...") | |
} | |
}) : Target.controller.grda.HandleGRDAResponse(z, function() {}, false) | |
} else return false | |
}); | |
Q.delegate(".grChooseRegistry li a", "click", function(p) { | |
p.preventDefault(); | |
p = $(this).attr("href"); | |
try { | |
var t = $(".regtype").find("img"), | |
z = t.length > 0 ? t.attr("alt").toLowerCase() : ""; | |
datalayer.trackClick({ | |
clickId: "registryAdd", | |
data: { | |
products: typeof datalayer.QIOverlay != "undefined" && datalayer.QIOverlay.products ? Array(datalayer.QIOverlay.products) : datalayer.products, | |
method: "registry", | |
registryType: z | |
} | |
}) | |
} catch (D) {} | |
$.ajax({ | |
url: p, | |
type: "post", | |
cache: false, | |
curtain: true, | |
dataType: "json", | |
success: function(M) { | |
if (M.overlayHtml != | |
"" && M.overlayHtml !== "undefined") $.overlay.load({ | |
contentOverride: M.overlayHtml, | |
overlayId: M.overlayId, | |
template: M.template | |
}); | |
else window.location.href = M.redirectToURL | |
}, | |
error: function() { | |
console.log("Request failed") | |
} | |
}) | |
}); | |
Q.delegate("#CreateTargetList", "overlay-show", function() { | |
$(this).find("#privacy-step-create input[name=privacy]").bind("click", function() { | |
var p = $(this).val() === "public" ? "show" : "hide"; | |
$("#public-settings-create")[p]() | |
}) | |
}); | |
Q.delegate("#addToList", "overlay-show", function() { | |
var p = $(this), | |
t = $("#listName"), | |
z = $("#listName").val(); | |
z !== undefined && z !== "" && K.utils.defaultFieldValue(t, z); | |
$("form#createNewList").submit(function() { | |
var D = ""; | |
if (D = p.find("input:hidden[name='isMaxListCount']").val()) { | |
$("#overlay-loading-curtain").hide(); | |
p.find("p.j_listMaxCount").removeClass("hidden").show(); | |
e.stopPropagation(); | |
return false | |
} | |
}) | |
}); | |
Q.delegate("#addToRegistry", "overlay-before-show", function() { | |
$(this).find("#registry-create").unbind("pausesubmit.overlay").bind("pausesubmit.overlay", function() { | |
Target.controller.avs.HandleAvsResponse($(this)) | |
}) | |
}); | |
Q.delegate("#createAcc button.size-small", "click", function(p) { | |
p.preventDefault(); | |
$.overlay.load({ | |
content: $(this).closest("form").attr("action") + "&" + $("#reviewSignin").serialize(), | |
overlayId: "account-create" | |
}) | |
}); | |
Q.delegate("#socialSyndication", "overlay-before-show", function() { | |
$(".share-email").click(function() { | |
if ($("#share-email-container").is(":visible")) return false; | |
$("#recipient_name,#recipient_email,#subject").val(""); | |
$("#message").val("I thought you'd like this item i found on Target.com today"); | |
$("#share-email-container-email-sent").hide(); | |
$("#share-email-container").show("750", function() { | |
$(this).find("#name").focus() | |
}); | |
return false | |
}); | |
$("#share-via-email .button").bind("click", function() { | |
$("#shareErrors .error-summary").remove() | |
}) | |
}); | |
Q.delegate("#reg-AddToCart", "click", function(p) { | |
p.preventDefault(); | |
var t = $(this); | |
p = $("#QuickView"); | |
t = t.attr("catalogEntryID"); | |
p.find("#OrderItemAddForm_catEntryId_" + t).val(); | |
$("#quickInfo #quantity_" + t).val(); | |
if ($("#quickInfo").validate(Target.validation).form()) Cart.add($("#quickInfo"), | |
false); | |
else return false | |
}); | |
var G = function() { | |
if (!$.overlay.activeOverlay) | |
if (typeof K.axbFocusElem != "undefined" && K.axbFocusElem) K.axbFocusElem.focus(); | |
else { | |
var p = Target.controller.header.cookie.read("axbFocusCookie"); | |
typeof p != "undefined" && p && p != "#no-id" && typeof $(p) != "undefined" && $(p).focus() | |
} | |
}; | |
Q.delegate("#notifyPri, #notifyDis", "overlay-before-show", function() { | |
$("a#notifyMeBtn").addClass("overlay-open state-disabled") | |
}); | |
Q.delegate("#subscribeme", "click", function() { | |
$("#babyDuration").val($("#babyDuration option:first").val()) | |
}); | |
Q.bind("overlay-hide", function(p, t) { | |
K.isSingleVariation = false; | |
var z = function() { | |
$.hideCurtain(); | |
typeof Cart.target !== "undefined" && $(Cart.target).focus() | |
}; | |
$(".addtoCartDisabled").removeAttr("disabled"); | |
if (t === "#addToList") setTimeout(G, 500); | |
else if (t === "#esrbOverlay") z(); | |
else if (t === "#addtocart") { | |
z(); | |
if (Target.controller.header._moreLikeThis) { | |
location.replace("OrderItemDisplay?updatePrices=1&calculationUsageId=-1&calculationUsageId=-2&calculationUsageId=-7&orderId=."); | |
location.replace("checkout_cartview?updatePrices=1&calculationUsageId=-1&calculationUsageId=-2&calculationUsageId=-7&orderId=.") | |
} | |
} else if (t === | |
"#notifyMe") { | |
$(".notify").removeClass("overlay-open state-disabled"); | |
setTimeout(function() { | |
$(".notify").focus() | |
}, 500) | |
} else if (t === "#notifyPri" || t === "#notifyDis") { | |
var D = $(".notify"); | |
z = function() { | |
D.addClass("overlay-open state-disabled") | |
}; | |
if (typeof D !== "undefined") { | |
D.removeClass("overlay-open state-disabled").removeAttr("disabled"); | |
var M = D.attr("href"); | |
if (M === "") return false; | |
$.overlay.load({ | |
target: "#notifyMeBtn", | |
content: M, | |
overlayId: "notifyMe", | |
overlayType: "layer" | |
}); | |
setTimeout(z, 100) | |
} | |
} | |
}); | |
Q.delegate("#registrySignin,#addToRegistry,#CreateTargetList,#shopCollection,#babyhelp", | |
"overlay-before-hide", | |
function() { | |
$(this); | |
$("a.state-disabled").removeAttr("disabled"); | |
K.axbFocusElem && K.axbFocusElem.focus() | |
}); | |
Q.delegate("#add-to-cart", "overlay-before-show", function() { | |
$("#multiItemList").tileCarousel(); | |
$("sup.tipnoteTrigger").attr("tabIndex", 0).bind("focus", function() { | |
$(this).addClass("isFocused") | |
}).blur(function() { | |
$(this).removeClass("isFocused") | |
}) | |
}) | |
}, | |
QuickView: function() { | |
var a = this, | |
b = $("body"); | |
b.delegate("#QuickView", "overlay-before-hide", function() { | |
var d = {}; | |
if (a.cacheController) | |
if (d = | |
a.cacheController.restoreJSON()) { | |
a.cacheController._setPriceJSON(d); | |
a.cacheController.restoreCb() | |
} | |
}); | |
b.delegate("#QuickView, #LargeView", "overlay-show keydown", function(d) { | |
$("#heroImage", this); | |
$(".thumbnail dd", this); | |
if (d.type == "keydown") { | |
if (d.which == 9) { | |
var f = $(this).find("a[href], area[href], .module-title, input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]"), | |
g = "", | |
j = $(":focus"), | |
l = ""; | |
focusedItemIndex = | |
""; | |
g = f.filter("a[href], area[href], .module-title, input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]").filter(":visible"); | |
l = g.length; | |
focusedItemIndex = g.index(j); | |
if (d.shiftKey) focusedItemIndex == 0 && g.get(l - 1).focus(); | |
else focusedItemIndex == l - 1 && g.get(0).focus() | |
} | |
} else { | |
$("#QuickView").find(".swatches").swatches({ | |
wrapper: "#QuickView", | |
updateImg: "#heroImage", | |
swatchInfoHolder: ".colorValHolderQI", | |
handler: a.qiSwatchHandler, | |
context: a | |
}); | |
var o = $(this); | |
overlayId = o.attr("id"); | |
catid = swatches = ""; | |
radioButtons = $("#QuickView input[type=radio]"); | |
qiJSON = typeof Target.globals.entitledItem1 != "undefined" ? Target.globals.entitledItem1 : []; | |
a.header.getObjSize(qiJSON) !== 0 && a.header._setJSON(qiJSON); | |
if (overlayId === "QuickView") { | |
$(".tipnoteTrigger").tipNote(); | |
o.find(".HeroPrimContainer").length && $("#QuickView").iviewer({ | |
initCallback: function() { | |
a.iviewer = this | |
}, | |
altImages: Target.globals.AltImagesJsonQi, | |
imgWidth: 265, | |
imgHeight: 265, | |
zoomRatio: 100, | |
imgMinWidth: 265, | |
imgMaxWidth: 465, | |
imgMinHeight: 265, | |
imgMaxHeight: 465, | |
carouselCb: a.carouselCb, | |
zoomCb: a.zoomCb, | |
context: a | |
}); | |
if (typeof gomez !== "undefined") try { | |
gomez.endInterval("Quick Info") | |
} catch (v) {} | |
if (extpkgQI = typeof Target.globals.extrnalPkgMsg !== "undefined" ? Target.globals.extrnalPkgMsg : "") { | |
extpkgQI = extpkgQI.length > 0 ? extpkgQI : []; | |
$.each(extpkgQI, function(I, K) { | |
a._hashMap[K.catentry_id] = K | |
}) | |
} | |
a.loadQICache(o); | |
swatches = $("#QuickView input[name=attr-swatchColor]"); | |
$.each(swatches, function() { | |
if ($(this).hasClass("qiSingleVariation")) { | |
var I = | |
a.header._getCatEntryId($(this).val()); | |
I && $(this).attr({ | |
catid: I | |
}) | |
} | |
}); | |
var A = $("#QuickView select.qiSingleVariation"); | |
d = ""; | |
d = a.header.getItemsByName(); | |
A.html('<option value="">Please make a selection</option>'); | |
typeof d !== "undefined" && $.each(d, function(I, K) { | |
var Q = "" + K.itemname; | |
Q = Q.replace(/-quot-/g, '"'); | |
A.append("<option catid='" + K.catid + "' value='" + Q + "' >" + Q + "</option>") | |
}); | |
$("#QuickView select.qiWithVariation").bind("change", function() { | |
var I = $(this), | |
K = $("select.qiWithVariation option:selected"); | |
K.attr("catid"); | |
K = K.val(); | |
if ($.trim(K) == "") { | |
a.isSingleVariation = false; | |
a._constructDropDownList() | |
} else if (K) { | |
a._updateVariations(K); | |
if (I.hasClass("j_colorDropdown")) { | |
I = a.header.getItemsByName(K).catid[0]; | |
I = a.cacheController._getItemAttributeById(I); | |
a.imageQICb(true, I, true, I.quickInfo_image) | |
} | |
} | |
}); | |
$("#QuickView select.qiSingleVariation").bind("change", function() { | |
$(this); | |
var I = $("select.qiSingleVariation option:selected"), | |
K = I.attr("catid"), | |
Q = I.val(); | |
I = $("#qiExtPackage"); | |
a.isSingleVariation = Q == "" ? false : true; | |
a.invokeQICbHandlers(1, | |
Q, K); | |
if (typeof K !== "undefined" && K != "") { | |
K = a.qiExtPackaging(K); | |
if (typeof K !== "undefined" && K != "") K == "extpkghide" ? I.addClass("hidden").html("") : I.removeClass("hidden").html("<span id='extMsg'><strong class='bold-black-text'>Is this a gift?</strong> Please note that this item ships in its own packaging and will not be concealed.</span>") | |
} else I.addClass("hidden").html("") | |
}); | |
a._setRefreshContentHandler(); | |
o.delegate("#QuickView select[name=attr-swatchColor]", "change", function() { | |
var I = $(this), | |
K = $("select[name=attr-swatchColor] option:selected").val(); | |
$("#QuickView .payment-type"); | |
if (I.hasClass("j_giftcard")) { | |
I = o.find("#input-step-send-payment-type").find("ul > li.input-field"); | |
var Q = o.find("#input-step-send-payment-type").find("ul > li.input-field > input"); | |
if ($.trim(K) == "") { | |
I.show(); | |
Q.attr("checked", false).attr("catid", ""); | |
a.isSingleVariation = false; | |
a.invokeQICbHandlers(2, null, null); | |
return false | |
} else { | |
var n = "", | |
G = "", | |
p = $("#QuickView #input-step-send-payment-type ul"); | |
n = p.find("input:radio[name=attr-send-type]:checked").attr("rel"); | |
G = p.find("input:radio[name=attr-send-type]:checked").attr("catid"); | |
I.hide(); | |
Q.attr("checked", false); | |
optionObj = a.header.getItemsByName($.trim(K)); | |
$.each(optionObj.items, function(D, M) { | |
var B = "" + M[1]; | |
B = B.replace(/-quot-/g, '"'); | |
var m = $('input[rel^="' + B + '"]'); | |
if (typeof m != "undefined") | |
if (B === m.attr("rel")) { | |
$("li.j_" + B).show(); | |
m.attr({ | |
catid: optionObj.catid[D] | |
}); | |
if (n == B && typeof n != "undefined") { | |
m.attr("checked", true); | |
G = optionObj.catid[D] | |
} | |
} | |
}); | |
if (G != "" && typeof G !== "undefined") { | |
a.isSingleVariation = typeof n !== "undefined" && $("input:radio[name='attr-send-type']").is(":checked") ? | |
true : false; | |
a.invokeQICbHandlers(1, n, G); | |
K = $("#qiExtPackage"); | |
if (typeof G !== "undefined" && G != "") var t = a.qiExtPackaging(G), | |
z = "<span id='extMsg'><strong class='bold-black-text'>Is this a gift?</strong> Please note that this item ships in its own packaging and will not be concealed.</span>"; | |
if (typeof t !== "undefined" && t != "") t == "extpkghide" ? K.addClass("hidden").html("") : K.removeClass("hidden").html(z) | |
} | |
} | |
} else if (I.hasClass("qiWithVariation") || I.hasClass("swatchesList qiSingleVariation")) { | |
K = $("select[name=attr-swatchColor] option:selected").val(); | |
if ($.trim(K) == "") { | |
a._constructDropDownList(); | |
a.isSingleVariation = false; | |
a.invokeQICbHandlers(2, null, null); | |
t = a.cacheController._getItemAttributeById(Q); | |
if (a.iviewer && $.isEmptyObject(a.iviewer) === false) { | |
a.iviewer.createAltImages(t.partNumber); | |
a.initHeroImage() | |
} | |
} else { | |
a._updateVariations(K); | |
if (I.hasClass("j_colorDropdown")) { | |
Q = a.header.getItemsByName(K).catid[0]; | |
t = a.cacheController._getItemAttributeById(Q); | |
z = t.quickInfo_image; | |
a.imageQICb(true, t, true, z); | |
if (a.iviewer && $.isEmptyObject(a.iviewer) === false) { | |
K = | |
a.iviewer.getDefaultValues(); | |
a.iviewer.createAltImages(t.partNumber); | |
a.iviewer.loadImage(z, "", K.min); | |
a.initHeroImage(); | |
typeof t.partNumber !== "undefined" && t.partNumber !== "" && $(".zoomItemPartNum").val(t.partNumber) | |
} | |
} | |
} | |
} | |
}); | |
o.delegate("#QuickView input[name=attr-send-type]", "click", function() { | |
var I = $(this), | |
K = I.attr("rel"), | |
Q = I.attr("catid"); | |
if (I.hasClass("refreshContents")) { | |
a.isSingleVariation = typeof Q !== "undefined" && Q != "" ? true : false; | |
a.invokeQICbHandlers(1, K, Q) | |
} | |
I = $("#qiExtPackage"); | |
if (typeof Q !== "undefined" && | |
Q != "") var n = a.qiExtPackaging(Q), | |
G = "<span id='extMsg'><strong class='bold-black-text'>Is this a gift?</strong> Please note that this item ships in its own packaging and will not be concealed.</span>"; | |
if (typeof n !== "undefined" && n != "") n == "extpkghide" ? I.addClass("hidden").html("") : I.removeClass("hidden").html(G) | |
}); | |
try { | |
f = $(".overlay-open").attr("href"); | |
var C = null; | |
if (f != "") { | |
f = f.substring(f.indexOf("?") + 1).split("&"); | |
$.each(f, function(I, K) { | |
if (K.split("=")[0] == "qtyFromCart") C = K.split("=")[1]; | |
K.split("=")[0] == | |
"fromCartPage" && K.split("=")[1] == "Y" && $("#fetchQIRefreshContent").length > 0 && $("#fetchQIRefreshContent").attr("frmCheckout", "Y") | |
}); | |
C != null && C != "" && $("input[name='quantity_0']").val(C) | |
} | |
} catch (q) {} | |
} | |
} | |
}) | |
}, | |
carouselCb: function(a, b, d) { | |
this.imgTitle = d.imgTitle; | |
this.initHeroImage() | |
}, | |
zoomCb: function(a, b, d) { | |
a = d ? d.width : 0; | |
var f = d ? d.zoom : 0, | |
g = d ? d.min : 0; | |
d = d ? d.max : 0; | |
var j = b.container.find(".zoomInEn"), | |
l = b.container.find(".zoomOutEn"), | |
o = b.container.find(".zoomRefreshEn"), | |
v = b.container.find(".iviewer_zoom_in_off"), | |
A = b.container.find(".iviewer_zoom_out_off"), | |
C = b.container.find(".iviewer_zoom_refresh_off"), | |
q = $("#heroZoomImage"); | |
b = typeof b.container.find("#Hero") !== "undefined" ? b.container.find("#Hero") : false; | |
if (typeof j !== "undefined" && typeof l !== "undefined" && typeof q !== "undefined" && typeof C !== "undefined" && b) | |
if (a <= g) { | |
v.hide(); | |
j.show(); | |
l.hide(); | |
A.show(); | |
o.hide(); | |
C.show(); | |
b.removeClass("zoomImageBorder"); | |
q.removeClass("cursorMove") | |
} else { | |
if (a >= d || f) { | |
j.hide(); | |
v.show() | |
} else { | |
v.hide(); | |
j.show() | |
} | |
A.hide(); | |
l.show(); | |
C.hide(); | |
o.show(); | |
b.addClass("zoomImageBorder"); | |
q.addClass("cursorMove") | |
} | |
}, | |
qiExtPackaging: function(a) { | |
var b = "", | |
d = "extpkghide", | |
f = ""; | |
f = typeof Target.globals.extrnalPkgMsg !== "undefined" ? Target.globals.extrnalPkgMsg : ""; | |
f != "" && $.each(f, function(g) { | |
b = f[g].Attributes.FACILITY_TYPE; | |
if (typeof a !== "undefined" && a == f[g].catentry_id) | |
if (typeof b !== "undefined" && (b == "ShipAlone" || b == "shipalone")) d = "showmsg" | |
}); | |
return d | |
}, | |
qiSwatchHandler: function(a) { | |
var b = a.find("input[name=attr-swatchColor]"), | |
d = b.val(); | |
b.parents("form").attr("id"); | |
b.closest("form").find("span.colorValHolderQI"); | |
var f = b.attr("catid"); | |
a = b.attr("src"); | |
var g = $("#qiExtPackage"), | |
j = $("#renderImgfromScene7").length > 0 && $("#renderImgfromScene7").val() == "Y" ? true : false; | |
b.attr("checked", true); | |
if (a != "") { | |
partNum = a.substr(a.lastIndexOf("/") + 1, a.length); | |
if (j) partNum = partNum.split("?")[0]; | |
else if (a.search(".jpg") !== -1) { | |
partNum = partNum.split(".")[0]; | |
partNum = partNum.split("_")[0] | |
} | |
} | |
if (this.iviewer && $.isEmptyObject(this.iviewer) === false) iviewerObj = this.iviewer.getDefaultValues(); | |
if (b.hasClass("qiSingleVariation")) { | |
this.isSingleVariation = true; | |
this.invokeQICbHandlers(1, d, f); | |
if (typeof f !== "undefined" && f !== "") { | |
b = this.qiExtPackaging(f); | |
if (typeof b !== "undefined" && b != "") b == "extpkghide" ? g.addClass("hidden").html("") : g.removeClass("hidden").html("<span id='extMsg'><strong class='bold-black-text'>Is this a gift?</strong> Please note that this item ships in its own packaging and will not be concealed.</span>") | |
} | |
if ((a.search(".jpg") !== -1 || a != "" && j) && this.iviewer && $.isEmptyObject(this.iviewer) === | |
false) { | |
if (typeof partNum !== "undefined" && partNum !== "") { | |
$(".zoomItemPartNum").val(partNum); | |
this.iviewer.createAltImages(partNum) | |
} | |
this.initHeroImage(); | |
this.iviewer.loadImage(a, "", iviewerObj.min) | |
} | |
} else if (b.hasClass("qiWithVariation")) { | |
this._updateVariations(d); | |
itemObj.quickInfo_image = b.attr("src"); | |
b = $("#QuickView select.refreshContents"); | |
g = b.find("option:selected").val(); | |
b = b.find("option:selected").attr("catid"); | |
if (typeof b !== "undefined" && b !== "") { | |
this.isSingleVariation = true; | |
this.invokeQICbHandlers(2, | |
g, b) | |
} else { | |
this.isSingleVariation = false; | |
this.invokeQICbHandlers(2, null, null) | |
} | |
if ((a.search(".jpg") !== -1 || a != "" && j) && this.iviewer && $.isEmptyObject(this.iviewer) === false) { | |
if (typeof partNum !== "undefined" && partNum !== "") { | |
$(".zoomItemPartNum").val(partNum); | |
this.iviewer.createAltImages(partNum) | |
} | |
this.initHeroImage(true); | |
this.iviewer.loadImage(a, "", iviewerObj.min) | |
} | |
this.imageQICb(true, itemObj, true, a) | |
} | |
}, | |
invokeQICbHandlers: function(a, b, d) { | |
var f = this, | |
g = $("#QuickView"), | |
j = g.find("#collectionSeeLowPrice").length ? g.find("#collectionSeeLowPrice").attr("pid") : | |
null; | |
j = g.find("#fetchQIRefreshContent").length ? g.find("#fetchQIRefreshContent").attr("pid") : j; | |
var l = g.find("#seeLowprice"), | |
o = g.find("#seeLowPriceLink"), | |
v = g.find("#seeLPLinkBtn"), | |
A = Target.controller.PDPCache, | |
C = $(".isProductBuyable").val(), | |
q = Target.controller.reviewed.cookie.read("Pref"); | |
updateMapPriceInfo = function(K, Q) { | |
var n = noOfObj = ""; | |
if (K && Q) { | |
n = eval("(" + $("#catEntryStatusVS").html() + ")"); | |
for (noOfObj = 0; noOfObj < n.length; noOfObj++) | |
if (n[noOfObj].catentry_id === Q) { | |
g.find("#tileImageVS").attr("src", n[noOfObj].PrimaryImage); | |
var G = n[noOfObj].shipFromStore; | |
if (q.indexOf("SFS=Y") != -1 && C == "1" && (n[noOfObj].channelCode != "1" && n[noOfObj].invCode == "6" || n[noOfObj].channelCode == "1") && G == "Y") { | |
G = function(t, z) { | |
if (typeof t !== undefined && t !== "" && $.isEmptyObject(t) !== true && t.availability_status == "In Stock" && t.saleable_quantity > "0") { | |
o.hide(); | |
l.show(); | |
g.find("#OrderItemAddForm_catEntryId_" + K).val(Q); | |
g.find("#OrderItemAddForm_productId_" + K).val(Q) | |
} else { | |
l.hide(); | |
o.show(); | |
z = z.replace(/&/g, "&"); | |
v.attr("href", z) | |
} | |
}; | |
var p = f._eshashMap; | |
p != "undefined" && | |
p && $.isEmptyObject(p) !== "true" ? G(f._eshashMap[dpci], n[noOfObj].url) : f.esCartDisplay(G, n[noOfObj].dpci, n[noOfObj].url) | |
} else { | |
l.hide(); | |
o.show(); | |
G = n[noOfObj].url; | |
G = G.replace(/&/g, "&"); | |
v.attr("href", G) | |
} | |
} | |
} | |
}; | |
d || (d = j); | |
b && a == 1 && g.find(".colorValHolderQI").html(b); | |
if (typeof A !== "undefined" && d !== "") | |
if (l[0] !== undefined) try { | |
updateMapPriceInfo(j, d) | |
} catch (I) {} else { | |
g.find("#OrderItemAddForm_catEntryId_" + j).val(d); | |
g.find("#OrderItemAddForm_productId_" + j).val(d); | |
A.handlePriceCache(d, false) | |
} | |
}, | |
promoQICb: function(a, | |
b, d) { | |
if (extpkgQI && typeof this._hashMap[d] != "undefined") { | |
b = this._hashMap[d].Attributes.REVIEW_CONTENT_PROVIDER; | |
expReviewSrc = typeof b !== "undefined" ? b : "" | |
} else expReviewSrc = ""; | |
if (a) { | |
b = $("#promotions_QI"); | |
d = a.promoCallOut; | |
var f = $("#PromoCallOut"), | |
g = a.tabs.isCNETReviewTab, | |
j = a.promo, | |
l = $("#cnet_reviewQI"), | |
o = $("#babyCenter_review"), | |
v = b.find("#overviewPromo"); | |
store = this._eshashMap[a.dpci]; | |
pickUpInStore = a.pickUpInStore; | |
isDisplayCouponLink = a.inventory.isDisplayCouponLink; | |
isITARequired = a.inventory.isITARequired; | |
freeGiftPromotion = a.promo.freeGift.freeGiftPromotion; | |
freeGiftLinkText = a.promo.freeGift.freeGiftLinkText; | |
freeGiftOverlayUrl = a.promo.freeGift.freeGiftOverlayUrl; | |
freeGift_promo_url = a.promo.freeGift.freeGift_promo_url; | |
freeGift_overlay_visible = a.promo.freeGift.FreeGiftOverlayVisible; | |
freeGiftOverlayDiffentiator = freeGift_overlay_visible == true || freeGift_overlay_visible == "true" ? "multipleFreePromotion" : "singleFreePromotion"; | |
fgItmPriceRange = a.promo.freeGift.fgItmPriceRange; | |
freeGftDet = a.promo.freeGift; | |
itaAvailability = | |
false; | |
$("#FreeGiftOverlayDisplay").val(freeGift_overlay_visible); | |
$("#freeGiftOverlayUrl").val(freeGiftOverlayUrl); | |
if (store != null) | |
if (typeof pickUpInStore !== "undefined" && pickUpInStore == "Y") | |
if (store.availability_status == "In Stock" && store.saleable_quantity > "0") itaAvailability = true; | |
if (f.length > 0) { | |
f.empty(); | |
$("#PromoCallOutBlockQI").tmpl(d, { | |
strTrim: function(A) { | |
return A.replace(/\s/g, "").toLowerCase() | |
} | |
}).appendTo(f) | |
} | |
if (typeof b !== "undefined") { | |
v.remove(); | |
b.empty(); | |
$(".free-promotion-offer").remove() | |
} | |
if (typeof l !== | |
"undefined") | |
if (g == "true") l.show().addClass("shownCnet"); | |
else g == "false" && l.hide().removeClass("shownCnet"); | |
expReviewSrc == "1" ? o.removeClass("hidden").addClass("shownBabycenter") : o.addClass("hidden").removeClass("shownBabycenter"); | |
if (j.overview.length > 0) { | |
$(b).empty(); | |
$("#promoQI-template").tmpl(j, { | |
itaAvailability: itaAvailability, | |
isDisplayCouponLink: isDisplayCouponLink, | |
isITARequired: isITARequired, | |
freeGiftPromotion: freeGiftPromotion, | |
freeGiftLinkText: freeGiftLinkText, | |
freeGiftOverlayUrl: freeGiftOverlayUrl, | |
freeGiftLinkClass: freeGiftOverlayDiffentiator, | |
freeGiftprice: fgItmPriceRange | |
}).appendTo(b) | |
} else if (freeGiftPromotion == true) { | |
$(b).empty(); | |
$("#FreeGiftTmpl").tmpl(j, { | |
freeGiftPromotion: freeGiftPromotion, | |
freeGiftLinkText: freeGiftLinkText, | |
freeGiftOverlayUrl: freeGiftOverlayUrl, | |
freeGift_promo_url: freeGift_promo_url, | |
freeGiftLinkClass: freeGiftOverlayDiffentiator, | |
freeGiftprice: fgItmPriceRange | |
}).appendTo(b) | |
} | |
if (typeof freeGiftPromotion !== "undefined" && freeGiftPromotion == true) { | |
b.hasClass("freeGiftWithPadding") || | |
b.addClass("freeGiftWithPadding"); | |
if (typeof freeGift_overlay_visible !== "undefined" && freeGift_overlay_visible == "false") { | |
$("#singleFreeGiftPDP").empty(); | |
!$("#singleFreeGiftPDP").length && b.append('<div id="singleFreeGiftPDP" class="tooltipBox" tabindex="0"></div>'); | |
$("#SingleFGToolTipTmpl").tmpl(freeGftDet).appendTo("#singleFreeGiftPDP") | |
} | |
} else b.hasClass("freeGiftWithPadding") && b.removeClass("freeGiftWithPadding") | |
} | |
}, | |
priceQICb: function(a) { | |
var b = a.retPolicy_msg, | |
d = a.catent_type, | |
f = a.inventory.channel_code, | |
g = a.inventory.inv_code, | |
j = a.price.subscriptionPrice, | |
l = a.price.subscriptionPricePerUnit, | |
o = $("#retPolicy"), | |
v = $("#itemLevelService"), | |
A = $("#subscribeme"), | |
C = $("#staticTextData"); | |
C = (C = typeof C !== "undefined" ? C.attr("data-json") : null) ? $.parseJSON(C) : null; | |
var q = false, | |
I = "", | |
K = typeof a.price.formattedOfferPrice !== "undefined" ? a.price.formattedOfferPrice : ""; | |
if (v.length && f != "1" && g != "3" && g != "4" && g != "5" && g != "6") { | |
v.show(); | |
q = true | |
} else if (v.length) { | |
v.hide(); | |
if (A.is(":checked")) { | |
A.attr("checked", false); | |
$("#itemLevelService--input").hide() | |
} | |
} | |
if (q && | |
j != "") { | |
typeof l !== "undefined" && l !== "" ? I = '<span class="pricePUnit">(' + l + "/per unit)</span>" : I = ""; | |
$("#itemLevelService--text").find("#subscribePrice").html('<span class="price">' + j + '</span><span class="priceType"> ' + C.subscribeMsg + "</span>" + I) | |
} else $("#itemLevelService--text").find("#subscribePrice").html('<span class="priceType">' + C.subscribeMsg + "</span>"); | |
K == "Too low to display" && q && $("#itemLevelService--text").find("#subscribePrice").html(""); | |
$(".productInfoBlock .quickInfoSumDetails #qi_price_main,#multipackPPU").empty(); | |
$("#priceQI-template").tmpl(a).appendTo("#qi_price_main"); | |
$("#ppuQI-template").tmpl(a).appendTo("#multipackPPU"); | |
if (o != "undefined" && d == "ITEM") { | |
o.empty(); | |
if (null != b && b != "") { | |
o.hasClass("hidden") && o.removeClass("hidden"); | |
$(o).append("<span id='omni_QI_retPolicy'>" + b + "</span>"); | |
a = $("#omni_QI_retPolicy a").attr("href"); | |
$("#omni_QI_retPolicy a").attr("href", a) | |
} | |
} else if (o != "undefined" && d == "PRODUCT") o.hasClass("hidden") || o.addClass("hidden") | |
}, | |
imageQICb: function() {}, | |
buttonsQICb: function(a, b, d) { | |
if (a) | |
if (a && | |
b) { | |
var f = this, | |
g = a.catent_type, | |
j = Target.controller.reviewed.cookie.read("Pref"), | |
l = a.dpci, | |
o = a.inventory.inv_code, | |
v = a.inventory.sup_msg, | |
A = a.inventory.channel_code, | |
C = $("#QuickView"), | |
q = C.find("#textblock1"), | |
I = C.find("#textblock2"), | |
K = C.find("#buttons-links"), | |
Q = C.find("#input-step-Quantity"), | |
n = C.find("#pre-order-notsell"), | |
G = $("input[name=fiatsURL]").val(), | |
p = $(".quantity").val(), | |
t = "", | |
z = $("input[name=notifyURL]").val(); | |
C.find("#catentryTypeSFS").val(); | |
var D = $("#staticTextData"); | |
var M = (D = typeof D !== "undefined" ? | |
D.attr("data-json") : null) ? $.parseJSON(D) : null; | |
D = M.subscribeShipMsg; | |
var B = a.marketPU, | |
m = a.marketSFS, | |
u = $("#checkMarketPlace").length > 0 ? $("#checkMarketPlace").val() : ""; | |
m = f._isMarketEligible(m); | |
f._isMarketEligible(B); | |
B = j && j.indexOf("SFS=Y") != -1 ? "Y" : ""; | |
var y = Target.controller.header.cookie.read("cpref"); | |
y = typeof y != "undefined" && y != null ? y.split("=") : ""; | |
y = typeof y !== "undefined" && y !== null ? y[1] : ""; | |
var H = a.shipFromStore, | |
J = typeof $("#contractPhones") !== "undefined" ? $("#contractPhones").val() : "", | |
R = typeof $("#qinfo #subscribeme") !== | |
"undefined" && $("#qinfo #subscribeme").length ? 1 : 0, | |
U = a.promo.shipAndHandlingPromo[0], | |
X = typeof C.find("[id^=entitledItem]") !== "undefined" && C.find("[id^=entitledItem]").length ? false : true; | |
if (typeof j != "undefined" && j != null && j.indexOf("SFS=Y") != -1) B = "Y"; | |
if (!$("#entitledItem").length) | |
if (J == "Contract" && g == "ITEM" && (A == "0" || A == "2")) return false; | |
if (!M) return false; | |
if (g != "BUNDLE") { | |
K.hasClass("hidden") && K.removeClass("hidden"); | |
Q.hasClass("hidden") && Q.removeClass("hidden"); | |
n != "undefined" && !n.hasClass("hidden") && | |
n.addClass("hidden"); | |
q.empty(); | |
$("#textblock1QI-template").tmpl(a, { | |
statTxt: M, | |
isItemSFSEligible: H, | |
isUserSFSEligible: B, | |
isESInProgress: f.isESInProgress, | |
notifyMeURL: z, | |
shipHandPromoObj: U, | |
qisubscribemelen: R, | |
store: f._eshashMap[l], | |
prefCookie: j, | |
itaCartLoader: X, | |
checkMarketPlace: u, | |
isEligibleforMarketSFS: m, | |
customFunction: function(ga, ja) { | |
if (ga === "sub-string") { | |
ja = ja.substr(ja.indexOf(":") + 2, ja.length); | |
return $.trim(ja) | |
} else if (ga === "pre-order-notsell") { | |
ja = ja; | |
var la = M.releaseDate, | |
ka = $("#pre-order-notsell"); | |
$("#buttons-links").addClass("hidden"); | |
$("#input-field-quantity").addClass("hidden"); | |
typeof ka != "undefined" && ka.hasClass("hidden") && ka.removeClass("hidden").html(""); | |
ja = ja.substr(ja.indexOf(":") + 2, ja.length); | |
ka.html('<span id="releaseDatetxt">' + la + " " + ja + "</span>") | |
} else if (ga === "bulkycheck") { | |
la = ""; | |
if ($("#isBulkyCheck").length) la = $("#isBulkyCheck").attr("data"); | |
return la | |
} else if (ga === "ita") { | |
la = function(ra) { | |
if (typeof ra !== undefined && ra !== "" && $.isEmptyObject(ra) !== true) ra.availability_status == "In Stock" && ra.saleable_quantity > 0 && q.html('<p class="butonblock"><button type="submit" name="addToCart" value="1" id="qiAddToCart" class="button addtoCart" title="add to cart"><span class="buttonText screen-reader-only">' + | |
M.addToCart + "</span></button></p>"); | |
else if (A == "1") q.html('<p class="txtBold"><span class="x-grey"></span>' + M.channelMsg1 + "</p>"); | |
else o == "3" ? q.html('<p class="butonblock"><button type="submit" name="addToCart" value="1" id="qiAddToCart" class="button addtoCart" title="add to cart"><span class="buttonText screen-reader-only">' + M.addToCart + '</span></button></p><ul class="promoMsgs"><li><p class="orange-txt"><span class="screen-reader-only">alert </span> ' + (typeof a.inventory != "undefined" && typeof a.inventory.status != | |
"undefined" ? a.inventory.status : "") + " " + v + "</p></li></ul>") : q.html('<p class="txtBold"><span class="x-grey"></span>' + M.notAvailable + "</p>") | |
}; | |
ka = f._eshashMap; | |
if (typeof ka != "undefined" && f.isESInProgress && ka && $.isEmptyObject(ka) !== "true") la(f._eshashMap[l]); | |
else if (!f.isESInProgress) { | |
q.html('<p class="addToCartLoader"><span class="retrieved">retrieving data...</span></p>'); | |
f.esCartDisplay(la, l) | |
} | |
return "" | |
} | |
} | |
}).appendTo(q); | |
I.empty(); | |
if (G.length) { | |
if (p > 1) t = "&quantity=" + p; | |
G = G.split("?"); | |
G = G[0] + "?overlayId=FindinStore&catalogEntryID=" + | |
b + "&partNumber=" + a.partNumber + "&ValidDpci=" + l + t + "&pageType=quickInfo" | |
} | |
$("#textblock2QI-template").tmpl(a, { | |
statTxt: M, | |
fiatsURL: G, | |
prefCookie: j, | |
cprefCookie: y, | |
checkMarketPlace: u, | |
subString: function(ga) { | |
ga = ga.substr(ga.indexOf(":") + 2, ga.length); | |
return $.trim(ga) | |
} | |
}).appendTo(I); | |
if ($("#qinfo #subscribeme").length) { | |
U.shippingPromotionMsg != "" ? f._quickInfoShipPromoMsg = U.shippingPromotionMsg : f._quickInfoShipPromoMsg = ""; | |
C = $("#qinfo #subscribeme"); | |
b = C.closest("form.order-item").find("#qiAddToCart"); | |
g = b.find(".buttonText"); | |
if (C.is(":checked")) { | |
d == "PRODUCT" ? b.removeClass("addtoCart").removeClass("state-shaded").removeClass("subscribe").addClass("subscribe-faded button") : b.removeClass("addtoCart").removeClass("state-shaded").removeClass("subscribe-faded").addClass("subscribe"); | |
b.attr("title", "subscribe"); | |
g.html("subscribe").attr("title", "subscribe"); | |
$(".shippingPrmLi .shpPrmMsg").html(D) | |
} else { | |
d == "PRODUCT" ? b.removeClass("subscribe-faded").removeClass("subscribe").removeClass("button").addClass("state-shaded").addClass("addtoCart") : | |
b.removeClass("subscribe-faded").removeClass("subscribe").removeClass("state-shaded").addClass("addtoCart"); | |
b.attr("title", "add to Cart"); | |
g.html("add to cart").attr("title", "add to cart") | |
} | |
} else { | |
d = $("#qiAddToCart"); | |
C = C.find("[id^=entitledItem]").length; | |
if (d.length) | |
if (f.isSingleVariation || !C) d.addClass("button").removeClass("state-shaded"); | |
else d.hasClass("state-shaded") || d.removeClass("button").addClass("state-shaded") | |
} | |
$(".tipnoteTrigger").tipNote() | |
} | |
} | |
}, | |
customCb: function(a) { | |
try { | |
var b = a.preselect, | |
d = | |
b.var1, | |
f = b.var2, | |
g = b.vtype, | |
j = b.ptype; | |
$("#fetchQIRefreshContent").removeAttr("frmCheckout"); | |
if (d != "") j == "swatches" ? $("[id='" + d + "']").trigger("click") : $("#attributeType_1").val(d).trigger("change"); | |
if (f != "" && g == "double") j == "giftcard" ? $("[id='" + f + "']").trigger("click") : $("#attributeType_2").val(f).trigger("change") | |
} catch (l) { | |
console.log(l.message) | |
} | |
}, | |
updateUrlCb: function(a, b) { | |
var d = $("#QuickView"); | |
urlFinal = url0 = url2 = url3 = ""; | |
count2 = -1; | |
var f = a.portability.portableQI, | |
g = a.portability.zipcode, | |
j = a.portability.priceOverride; | |
if (b && d !== undefined) { | |
if (a) | |
if (f == "true" && j == "true") d.find("#seoURL3").hasClass("hidden") || d.find("#seoURL3").addClass("hidden"); | |
else { | |
d.find("#seoURL2").hasClass("hidden") && d.find("#seoURL2").removeClass("hidden"); | |
d.find("#seoURL3").hasClass("hidden") && d.find("#seoURL3").removeClass("hidden"); | |
if (a.seoUrl == "") a.seoUrl = d.find("#seoURL3").attr("href"); | |
d.find("#seoURL3").attr("href", a.seoUrl + "#?lnk=sc_qi_detailbutton") | |
} | |
d.find("form#quickInfo input[name='catEntryId']").val(b); | |
f == "true" && g != "" && d.find("form#quickInfo input[name='zipcode']").val(b) | |
} | |
}, | |
updateZoomParam: function() {}, | |
loadQICache: function(a) { | |
var b = {}; | |
b = a.find("#fetchQIRefreshContent").attr("pid"); | |
var d = $("#isPortableQIFlag").attr("rel") == undefined ? false : true, | |
f = Target.controller.PDPCache; | |
b = { | |
context: this, | |
catid: b ? b : "", | |
view: true, | |
elem: "#fetchQIRefreshContent", | |
promoCb: this.promoQICb, | |
priceCb: this.priceQICb, | |
pimage: this.imageQICb, | |
buttonCb: this.buttonsQICb, | |
customCb: this.customCb, | |
urlCb: this.updateUrlCb, | |
zoomParamCb: this.updateZoomParam | |
}; | |
if (d) { | |
this._isPortable = true; | |
b = $.extend(b, { | |
isPortable: true | |
}) | |
} else this._isPortable = | |
false; | |
try { | |
f._setPriceJSON(Target.globals.refreshQIItems); | |
this.updateQICachedItemId(a); | |
f.load(b) | |
} catch (g) {} | |
a = Target.controller.reviewed.cookie.read("esrbResponse"); | |
$("#esrbResponse").val(a) | |
}, | |
updateQICachedItemId: function(a) { | |
var b = ""; | |
b = itemObj = {}; | |
var d = "", | |
f = Target.controller.PDPCache; | |
d = Target.controller.header; | |
var g = $.overlay.currentOverlay; | |
if (g.data("options")) { | |
b = g.data("options").content; | |
g = g.data("options").overlayId; | |
a = a.find("#fetchQIRefreshContent"); | |
if (g === "QuickView" && b !== "") { | |
b = b.split("?")[1]; | |
if (d && b) { | |
b = d.unSerialize(b); | |
if (d.getObjSize(b) > 0) { | |
d = b.partNumber !== undefined ? b.partNumber : ""; | |
if (d !== "") { | |
itemObj = f.getObjByPartNumber(d); | |
a !== undefined && itemObj !== undefined && a.attr("rel", itemObj.catentry_id) | |
} | |
} | |
} | |
} | |
} | |
}, | |
_isMarketEligible: function(a) { | |
var b = Target.controller.header.cookie.read("cpref"), | |
d = true; | |
if (($("#checkMarketPlace").length > 0 ? $("#checkMarketPlace").val() : "") == "true" && typeof a != "undefined" && a != "" && b != null) { | |
acpref = b.replace("MKT=", ""); | |
acpref = acpref.split(":"); | |
$.each(acpref, function(f, g) { | |
if ($.inArray(g, | |
a.split(",")) >= 0) { | |
d = true; | |
return false | |
} else d = false | |
}) | |
} | |
return d | |
}, | |
esCartDisplay: function(a, b, d) { | |
var f = this, | |
g = $.overlay.currentOverlay, | |
j = $("#saleableQtyAjaxTimeout"), | |
l = $("#saleableQtyURL"), | |
o = g.find("#dpciHidden"), | |
v = $("#ValidDpci"); | |
v = typeof v !== "undefined" ? v.val() : ""; | |
var A = ""; | |
g.find("#catentryTypeSFS").val(); | |
l = typeof l !== "undefined" ? l.val() : ""; | |
j = typeof j !== "undefined" ? j.val() : "6000"; | |
o = typeof o !== "undefined" ? o.val() : ""; | |
f.isESInProgress = true; | |
if (typeof o !== "undefined" && o != "") { | |
o = o.split(","); | |
vJsonString = ""; | |
for (i = 0; i < o.length - 1; i++) { | |
if (i > 0) vJsonString += ","; | |
vJsonString += JSON.stringify({ | |
product_id: o[i], | |
desired_quantity: 1, | |
multichannel_options: [{ | |
multichannel_option: "shipguest" | |
}] | |
}) | |
} | |
A = '{"products": [' + vJsonString + "]}" | |
} else if (v != "") A = JSON.stringify({ | |
products: [{ | |
product_id: v, | |
desired_quantity: 1, | |
multichannel_options: [{ | |
multichannel_option: "shipguest" | |
}] | |
}] | |
}); | |
if (A != "" && l != "") $.ajax({ | |
url: l, | |
type: "post", | |
dataType: "json", | |
data: A, | |
cache: false, | |
contentType: "application/json; charset=utf-8", | |
timeout: j, | |
curtain: false, | |
success: function(C) { | |
$(".addToCartLoader ").addClass("hidden"); | |
f.esHashMap(C); | |
if (a && b) d != "undefined" ? a(f._eshashMap[b], d) : a(f._eshashMap[b]) | |
}, | |
error: function() { | |
f._eshashMap = {}; | |
a(f._eshashMap[b]) | |
} | |
}); | |
else { | |
f._eshashMap = {}; | |
a(f._eshashMap[b]) | |
} | |
}, | |
esHashMap: function(a) { | |
var b = this; | |
products = ""; | |
products = a != null ? a.products ? a.products : false : false; | |
b._eshashMap = {}; | |
products && $.each(products, function(d, f) { | |
var g = {}; | |
$.each(f.stores, function(j, l) { | |
if (l.availability_status == "In Stock" && l.saleable_quantity > 0) { | |
g = l; | |
return false | |
} | |
}); | |
b._eshashMap[f.product_id] = g | |
}) | |
}, | |
_setRefreshContentHandler: function() { | |
var a = | |
this; | |
$("#QuickView select.refreshContents").bind("change", function() { | |
$(this); | |
var b = $("select.refreshContents option:selected"), | |
d = b.attr("catid"), | |
f = b.val(); | |
b = $("#qiExtPackage"); | |
var g = $("#fetchQIRefreshContent").length > 0 ? $("#fetchQIRefreshContent") : ""; | |
if ($.trim(f) === "") { | |
a.isSingleVariation = false; | |
g && g.addClass("refreshSelect"); | |
a.invokeQICbHandlers(2, null, null) | |
} else if (typeof d !== "undefined" && d !== "") { | |
g = a.qiExtPackaging(d); | |
a.isSingleVariation = true; | |
a.invokeQICbHandlers(2, f, d); | |
itemObj = a.cacheController._getItemAttributeById(d); | |
imgSrc = itemObj.quickInfo_image; | |
d = a.iviewer.getDefaultValues(); | |
a.iviewer.createAltImages(itemObj.partNumber); | |
a.iviewer.loadImage(imgSrc, "", d.min); | |
a.initHeroImage(); | |
if (typeof g !== "undefined" && g != "") g == "extpkghide" ? b.addClass("hidden").html("") : b.removeClass("hidden").html("<span id='extMsg'><strong class='bold-black-text'>Is this a gift?</strong> Please note that this item ships in its own packaging and will not be concealed.</span>") | |
} | |
}) | |
}, | |
_updateVariations: function(a) { | |
var b = Target.controller.header.getItemsByName(a), | |
d = "", | |
f = "", | |
g = false; | |
relname = sCatEntryId = ""; | |
var j = $("#QuickView select.refreshContents"); | |
d = j.find("option:selected").val(); | |
relname = j.find("option:selected").attr("rel"); | |
j.html('<option value="">Please make a selection</option>'); | |
b.items && $.each(b.items, function(A, C) { | |
var q = "" + C[1]; | |
if (d == C[1]) { | |
f = "selected=selected"; | |
g = true; | |
sCatEntryId = b.catid[A] | |
} | |
q = q.replace(/-quot-/g, '"'); | |
if (q !== "" && q !== "undefined") { | |
$("<option catid='" + b.catid[A] + "' value='" + C[1] + "' " + f + ">" + q + "</option>").appendTo(j); | |
f = "" | |
} | |
}); | |
a = j.find("option:selected").attr("catid"); | |
var l = $("#qiExtPackage"); | |
if (typeof a !== "undefined" && a != "") var o = this.qiExtPackaging(a), | |
v = "<span id='extMsg'><strong class='bold-black-text'>Is this a gift?</strong> Please note that this item ships in its own packaging and will not be concealed.</span>"; | |
if (typeof o !== "undefined" && o != "") o == "extpkghide" ? l.addClass("hidden").html("") : l.removeClass("hidden").html(v); | |
if (g) typeof sCatEntryId != "undefined" && sCatEntryId != "" && j.trigger("change"); | |
else { | |
o = $("#qiAddToCart"); | |
o.hasClass("state-shaded") || o.removeClass("button").addClass("state-shaded") | |
} | |
}, | |
_constructDropDownList: function() { | |
var a = "", | |
b = $("#QuickView select.refreshContents"); | |
a = this.header.getItemsByName(); | |
uniqueNames = Target.controller.header.uniqueArray(a); | |
if (a.length > 0 && typeof a != "undefined") { | |
b.html('<option value="">Please make a selection</option>'); | |
$.each(uniqueNames, function(d, f) { | |
b.append("<option value='" + f + "'>" + f + "</option>") | |
}) | |
} | |
}, | |
initHeroImage: function(a) { | |
var b = {}, | |
d = this.iviewer.getDefaultValues(), | |
f = this.iviewer; | |
b.width = d.min; | |
b.zoom = 0; | |
b.min = d.min; | |
b.max = d.max; | |
this.iviewer.container.find(".zoomBox").show(); | |
this.iviewer.container.find(".zoomMessage").hide(); | |
this.iviewer.reset(); | |
this.zoomCb(false, f, b); | |
a != true && a != "undefined" && a != null && this.iviewer.container.find("#Hero").focus() | |
}, | |
getSelectedFreeGiftItems: function() { | |
var a = "", | |
b = []; | |
$("#freeGiftSpecialOffers").find("li, .singleItemButton").each(function() { | |
a = $(this); | |
a.find(".selectButton").hasClass("free_gift_item_selected") && b.push(a) | |
}); | |
return b | |
}, | |
mediaPlayer: function() { | |
function a() { | |
var d = $("#media-player").find(".tabs-index li"), | |
f = $("#media-player").find(".tabs-section").hide(), | |
g = $(".mediaplayer-tabs-section").hide(); | |
d.bind("click", function() { | |
var C = $(this), | |
q = C.find("a").get(0).hash; | |
d.removeClass("selected"); | |
C.addClass("selected"); | |
f.hide().trigger("hide.tabsection"); | |
g.hide().trigger("hide.tabsection"); | |
$(q).show().focus().blur().trigger("show.tabsection"); | |
return false | |
}); | |
var j = d.filter("li.selected"); | |
if (j.length > 0) j.trigger("click"); | |
else { | |
d.filter("li:first").addClass("selected"); | |
f.filter(":first").show(); | |
g.filter(":first").show() | |
} | |
j = $("#image-thumbnails li a"); | |
var l = $("#image-container img"), | |
o = $(".media-caption #image-title"), | |
v = $(".media-caption #image-desc"); | |
j.click(function() { | |
l.attr("src", $(this).attr("href")); | |
o.html($(this).attr("title")); | |
v.html($(this).attr("desc")); | |
return false | |
}); | |
var A = j.filter("a.selected"); | |
A.length > 0 ? A.trigger("click") : j.first().trigger("click"); | |
j.length < 2 && j.parent().parent().hide() | |
} | |
function b(d, f) { | |
var g = new TARGET.EverestVideoPlayer("video-player", d, f, Target.globals.mediapath + "/media/swf/TargetEverestVideoPlayer.swf", "videoPlayer"), | |
j = $("#video-thumbnails li a"), | |
l = $(".media-caption #video-title"), | |
o = $(".media-caption #video-desc"), | |
v = $(".media-caption #video-time"), | |
A = $("#video-thumbnails li"), | |
C = $("#playButton"), | |
q = $("#pauseButton"), | |
I = $("#stopButton"), | |
K = $("#closeButton"); | |
j.click(function() { | |
var Q = $(this), | |
n = Q.get(0).href, | |
G = n.substring(0, n.indexOf("?poster")), | |
p = Target.controller.header.unSerialize(n), | |
t = p.poster, | |
z = p.captions; | |
p = p.length; | |
u5 = Q.attr("rel"); | |
G = G !== "" ? G : n.substring(0, n.indexOf("?")); | |
A.removeClass("on"); | |
Q.parent().addClass("on"); | |
g.playVideo({ | |
autoplay: true, | |
source: G, | |
poster: t, | |
allowFullScreen: true, | |
isCaptioning: true, | |
captions: z === "false" ? false : z | |
}); | |
l.html(Q.attr("title")); | |
o.html(Q.attr("desc")); | |
v.html(p); | |
return false | |
}); | |
C.click(function() { | |
g.play(); | |
return false | |
}); | |
q.click(function() { | |
g.pause(); | |
return false | |
}); | |
I.click(function() { | |
g.stop(); | |
return false | |
}); | |
K.click(function() { | |
g.close(); | |
return false | |
}); | |
C = j.filter("a.selected"); | |
C.length > 0 ? C.trigger("click") : j.first().trigger("click"); | |
j.length < 1 && j.parent().parent().parent().parent().hide() | |
} | |
$("body").delegate("#media-player", | |
"overlay-show", | |
function() { | |
var d = $(this).attr("id"), | |
f = w = h = ""; | |
if (d === "media-player") { | |
f = 5; | |
w = 600; | |
h = 338 | |
} | |
$(".media-thumbnails").tileCarousel({ | |
increment: f, | |
pagination: true, | |
centerPagination: false, | |
encapsulateControls: true | |
}); | |
a(); | |
b(w, h) | |
}) | |
}, | |
registryBackUrl: function() { | |
var a = Target.controller.header.cookie.read("guestDisplayName"), | |
b = Target.controller.header.cookie.read("registryCallRequire"), | |
d = Target.controller.header.cookie.read("registryOverlayCookie"), | |
f = Target.globals.loadListGRDA + d, | |
g = $("input[name='jWaitView']"); | |
if ((d = Target.controller.header.cookie.read("listcallbackUrl")) && $("#listModeFlag").val() == "Y" && a) { | |
a = Target.controller.header.unSerialize(d).colItem; | |
b = Target.controller.header.unSerialize(d).pageFrom; | |
switch (typeof a !== "undefined" && a !== "" ? "col" : typeof b !== "undefined" && b !== "" ? "pdp" : "") { | |
case "pdp": | |
Target.controller.globalUtils.addtolistMOD(d, $("#addToListPDP")); | |
break; | |
case "col": | |
Target.controller.globalUtils.addToListColCallback(d, "#" + a) | |
} | |
} else if (g.length > 0 && g.val() === "jWaitView") b = "N"; | |
else a && b === "Y" && | |
$.ajax({ | |
url: f, | |
success: function(j) { | |
$("#loadList").html(j); | |
j = $("#pdpRegsitryUrl").attr("href"); | |
if (typeof j != "undefined" && j != "") { | |
Target.controller.grda.removeCachedCookie(); | |
Target.controller.grda.HandleGRDAResponse(j, function() {}) | |
} | |
} | |
}) | |
}, | |
gmRegistryBackUrl: function() { | |
var a = "gmRegistryCallRequire", | |
b = "gmRegistryOverlayCookie", | |
d = Target.controller.header.cookie.read("guestDisplayName"); | |
a = Target.controller.header.cookie.read(a); | |
b = Target.controller.header.cookie.read(b); | |
b = decodeURIComponent(b); | |
if (d && a === "Y") { | |
Target.controller.header.cookie.erase("gmRegistryCallRequire"); | |
Target.controller.header.cookie.erase("gmRegistryOverlayCookie"); | |
$.ajax({ | |
url: b, | |
success: function(f) { | |
console.log("success condition..."); | |
f.overlayHtml != "" && f.overlayHtml !== "undefined" && $.overlay.load({ | |
contentOverride: f.overlayHtml, | |
overlayId: f.overlayId, | |
template: f.template | |
}) | |
} | |
}) | |
} | |
}, | |
updateShareUrl: function() { | |
var a = document.location.href, | |
b = $("#facebookLikeURL"), | |
d = $("#TwitterShareBtn"), | |
f = $("#pinit-params"), | |
g = $("#social-other").find("a.mailbox"), | |
j = Target.controller.header.unSerialize(location.href).preSelFlag, | |
l = Target.controller.header.unSerialize(location.href).regMode; | |
if (typeof j != "undefined" && typeof l != "undefined" && typeof j != "" && typeof l != "") { | |
j = location.protocol + "//" + location.host + ":80" + location.search; | |
l = location.protocol + "//" + location.host + location.search; | |
var o = location.search.substr(1), | |
v = b.length ? $.parseJSON(b.attr("data-json")) : "", | |
A = d.length ? d.attr("href") : "", | |
C = f.length ? $.parseJSON(f.attr("data-json")) : "", | |
q = g.length ? g.attr("href") : ""; | |
if (v != "") { | |
v.url = j; | |
b.attr("data-json", JSON.stringify(v)) | |
} | |
A != "" && | |
d.attr("href", A.split("...")[0] + "... " + l); | |
if (C != null && C != "") { | |
C.url = j; | |
C.refurl = j; | |
f.attr("data-json", JSON.stringify(C)) | |
} | |
q != null && q != "" && g.attr("href", q + this.prepareParam(q, o)) | |
} | |
$("body").delegate(".socialGooolePlus", "click", function() { | |
var I, K = "https://plus.google.com/share?url=" + encodeURIComponent(a); | |
I = "height=400,"; | |
I += "width=800,"; | |
I += "scrollbars=yes"; | |
window.open(K, "popupwindow", I).focus(); | |
return false | |
}) | |
}, | |
prepareParam: function(a, b) { | |
var d = ""; | |
a == "" || a == null || b == "" || b == null || (d = a.indexOf("?") != -1 ? "&" + b : | |
"?" + b); | |
return d | |
}, | |
setAxbFocusElem: function(a) { | |
Target.controller.header.cookie.erase("axbFocusCookie"); | |
this.axbFocusElem = typeof a != "undefined" ? a : false | |
}, | |
getParameterByName: function(a, b) { | |
a = a.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); | |
var d = RegExp("[\\?&]" + a + "=([^&#]*)").exec(b); | |
return d == null ? "" : decodeURIComponent(d[1].replace(/\+/g, " ")) | |
}, | |
createAccessibilityCookie: function() { | |
if (typeof this.axbFocusElem != "undefined" && this.axbFocusElem) { | |
var a = this.axbFocusElem.attr("id"); | |
a = typeof a != "undefined" ? a : "no-id"; | |
Target.controller.header.cookie.create("axbFocusCookie", "#" + a, 1) | |
} | |
} | |
}); | |
(function(a) { | |
a.fn.simpleTip = function(b) { | |
if (this.length) return this.each(function() { | |
if (a.data(this, "simpleTip")) return this; | |
a.data(this, "simpleTip", new a.simpleTip(this, b)) | |
}) | |
}; | |
a.simpleTip = function(b, d) { | |
this.options = a.extend({}, { | |
x: 0, | |
y: 0, | |
width: null, | |
height: null, | |
tooltipID: "tooltip-wrapper", | |
tooltipContentClass: "tip-content", | |
useContainer: false, | |
useTitle: false, | |
useAlt: false, | |
tipPos: false | |
}, d || {}); | |
this.element = a(b); | |
if (this.element.length) { | |
this.title = this.element.attr("title"); | |
this.element.removeAttr("title"); | |
this.setup() | |
} | |
}; | |
a.simpleTip.prototype = { | |
setup: function() { | |
var b = this; | |
if (a("#" + b.options.tooltipID).length) b.tooltip = a("#" + b.options.tooltipID); | |
else { | |
b.tooltip = a('<div id="' + this.options.tooltipID + '"><div class="tooltip-content"></div></div>'); | |
a("body").append(b.tooltip) | |
} | |
b.element.bind("mouseenter", function(d) { | |
b.display(d) | |
}); | |
b.element.bind("mouseleave", function() { | |
b.hide() | |
}) | |
}, | |
display: function(b) { | |
var d = { | |
display: "block", | |
visibility: "visible" | |
}; | |
this.tooltip.css({ | |
opacity: "0", | |
display: "none", | |
height: "auto", | |
visibility: "hidden" | |
}); | |
if (this.options.tipPos) { | |
var f = parseInt(Math.ceil(this.element.offset().top)), | |
g = parseInt(Math.ceil(this.element.offset().left)); | |
d.left = g - 15; | |
d.top = a.browser.msie ? parseInt(f) - parseInt(63) : parseInt(f) - parseInt(58); | |
this.options.width = 40; | |
this.options.height = 40 | |
} else { | |
d.left = b.pageX - this.options.x; | |
d.top = b.pageY + this.options.y - this.tooltip.height() | |
} | |
if (this.options.width) d.width = this.options.width; | |
if (this.options.height) d.height = this.options.height; | |
b = this.options.useTitle ? b.currentTarget.title : this.options.useAlt ? | |
b.currentTarget.alt : this.options.useContainer ? a(this.element).html() : this.element.find("." + this.options.tooltipContentClass).html(); | |
this.tooltip.find(".tooltip-content").html(b); | |
this.tooltip.stop().css(d).animate({ | |
opacity: "1", | |
display: "block", | |
visibility: "visible" | |
}, 200) | |
}, | |
hide: function() { | |
this.element.removeClass("tooltip_open"); | |
a("#" + this.options.tooltipID).css({ | |
display: "none", | |
visibility: "hidden" | |
}) | |
} | |
}; | |
a(window).trigger("register.framework", ["plugin", "simpleTip", a.simpleTip.registration]); | |
a.fn.tipNote = | |
function(b) { | |
if (this.length) return this.each(function() { | |
if (a.data(this, "tipNote")) return this; | |
a.data(this, "tipNote", new a.tipNote(this, b)) | |
}) | |
}; | |
a.tipNote = function(b, d) { | |
this.options = a.extend({}, { | |
showLeft: false, | |
focusClass: "hasFocus" | |
}, d || {}); | |
this.element = a(b); | |
this.element.length && this.setup() | |
}; | |
a.tipNote.prototype = { | |
close: null, | |
isTipOpen: false, | |
tipnoteRef: null, | |
tooltipBox: null, | |
tipnoteText: null, | |
tipnoteTrigger: null, | |
setup: function() { | |
var b = this, | |
d = b.tipnoteTrigger = b.element, | |
f = b.tipnoteRef = d.find(".tipnoteRef"), | |
g = | |
b.tooltipBox = d.find(".tooltipBox"), | |
j = b.tipnoteText = g.find(".tipnoteText").attr("tabindex", "-1"), | |
l = b.close = g.find(".tipnoteClose"); | |
f.bind("click", function(o) { | |
o.preventDefault(); | |
b.showTipNote() | |
}); | |
d.bind("mouseenter mouseleave", function(o) { | |
var v = o.type === "mouseenter" ? "add" : "remove"; | |
o.type === "mouseenter" ? b.showTipNote() : b.hideTipNote(); | |
b.handleFocusClass(v) | |
}); | |
d.bind("focusin focusout", function(o) { | |
var v = o.target === f.get(0); | |
j.get(0); | |
var A = o.target === l.get(0); | |
if (o.type === "focusin") | |
if (v && !b.isTipOpen) b.handleFocusClass("add"); | |
else if (v && b.isTipOpen) { | |
b.handleFocusClass("add"); | |
b.hideTipNote() | |
} else A && l.removeClass("screen-reader-only"); | |
else if (v && !b.isTipOpen) b.handleFocusClass("remove"); | |
else if (A) { | |
b.handleFocusClass("remove"); | |
b.hideTipNote() | |
} | |
}); | |
l.bind("click", function(o) { | |
o.preventDefault(); | |
b.hideTipNote(); | |
f.get(0).focus() | |
}) | |
}, | |
handleFocusClass: function(b) { | |
this.tipnoteTrigger[b + "Class"](this.options.focusClass) | |
}, | |
showTipNote: function() { | |
var b = a(document).width(); | |
this.tipnoteTrigger.offset().left + this.tipnoteTrigger.width() + | |
this.tooltipBox.width() + 46 > b || this.options.showLeft ? this.tooltipBox.addClass("showLeft") : this.tooltipBox.removeClass("showLeft"); | |
this.isTipOpen = true; | |
this.tooltipBox.show(); | |
(b = this.tooltipBox.find("h2")) ? b.focus(): this.tipnoteText.focus().attr("role", "alert") | |
}, | |
hideTipNote: function() { | |
this.isTipOpen = false; | |
this.tipnoteText.removeAttr("role"); | |
this.close.addClass("screen-reader-only"); | |
this.tooltipBox.hide() | |
} | |
}; | |
a(window).trigger("register.framework", ["plugin", "tipNote", a.tipNote.registration]); | |
a(document).ready(function() { | |
a(".tipnoteTrigger").tipNote() | |
}) | |
})(jQuery); | |
(function(a) { | |
a.fn.extend({ | |
ratings: function(b) { | |
return this.each(function() { | |
new a.Ratings(this, b) | |
}) | |
} | |
}); | |
a.Ratings = function(b, d) { | |
this.options = a.extend({}, { | |
hoverClass: "hover", | |
selectedClass: "selected", | |
halfClasses: "one-half-star two-half-star three-half-star four-half-star" | |
}, d || {}); | |
this.element = a(b); | |
this.selectedIndex = this.currentIndex = 0; | |
this.labels = this.element.find("label"); | |
this.radios = this.element.find("input[type=radio]"); | |
this.InitializeStage() | |
}; | |
a.extend(a.Ratings.prototype, { | |
InitializeStage: function() { | |
var b = | |
this; | |
b.element.parent(".ratings-form-wrapper").addClass("enhanced"); | |
if (!b.element.hasClass("read-only")) { | |
b.element.bind("focusout", function(d) { | |
b.DeactivateRating(d) | |
}); | |
b.element.bind("mouseleave", function(d) { | |
b.DeactivateRating(d) | |
}); | |
b.labels.bind("mouseover", function(d) { | |
b.ActivateRating(d) | |
}); | |
b.labels.bind("click", function(d) { | |
b.DeactivateRating(d) | |
}); | |
b.radios.bind("focus", function(d) { | |
b.ActivateRating(d) | |
}); | |
b.radios.bind("change", function(d) { | |
b.SelectRating(d) | |
}); | |
a.browser.webkit && b.radios.bind("click", function(d) { | |
b.SelectRating(d); | |
b.DeactivateRating(d) | |
}) | |
} | |
}, | |
ActivateRating: function(b) { | |
b = a(b.currentTarget); | |
var d = b.attr("id"); | |
if (b.is("label")) var f = this.element.find("#" + b.attr("for")).val(); | |
else if (b.is('input[type="radio"]')) f = this.element.find("#" + d).val(); | |
this.element.removeClass(this.options.hoverClass + this.currentIndex); | |
this.currentIndex = f; | |
this.element.addClass(this.options.hoverClass + this.currentIndex) | |
}, | |
SelectRating: function(b) { | |
b = a(b.currentTarget); | |
var d = b.attr("id"); | |
if (b.is("label")) var f = this.element.find("#" + b.attr("for")).val(); | |
else if (b.is('input[type="radio"]') && b.attr("checked")) f = this.element.find("#" + d).val(); | |
this.element.removeClass().addClass("ratings-form"); | |
this.selectedIndex = f; | |
this.element.addClass(this.options.selectedClass + this.selectedIndex) | |
}, | |
DeactivateRating: function(b) { | |
var d = this.options.hoverClass + this.currentIndex, | |
f = this.options.halfClasses; | |
if (b.type === "mouseleave" || b.type === "focusout") this.options.halfClasses = null; | |
this.element.removeClass(d + " " + f); | |
this.currentIndex = 0 | |
} | |
}) | |
})(jQuery); | |
(function(a) { | |
a.fn.extend({ | |
formRatings: function(b) { | |
return this.each(function() { | |
new a.FormRatings(this, b) | |
}) | |
} | |
}); | |
a.FormRatings = function(b, d) { | |
this.options = a.extend({}, { | |
className: "rating", | |
onClassName: "rating_selected", | |
chosenClassName: "rating_chosen", | |
containerClass: "ratings-form", | |
infoPClass: "ratingInfo" | |
}, d || {}); | |
this.$element = a(b); | |
this.selectedIndex = 0; | |
this.isFocused = false; | |
this.currentIndex = 0; | |
this.$LABELs = this.$element.find("li label"); | |
this.$RADIOs = this.$element.find("li input[type=radio]"); | |
this.InitializeRatings() | |
}; | |
a.extend(a.FormRatings.prototype, { | |
InitializeRatings: function() { | |
var b = this; | |
b.checkForSelectedIndex(); | |
b.$LABELs.live("mouseover", function(d) { | |
b.HandleMouseOver(d) | |
}).live("mouseout", function(d) { | |
b.HandleMouseOut(d) | |
}); | |
b.$RADIOs.live("keyup", function(d) { | |
if (d.which == 9 || b.IsArrowKey(d.which)) b.HandleKeyUp(d) | |
}) | |
}, | |
checkForSelectedIndex: function() { | |
this.selectedIndex = this.$LABELs.find("span." + this.options.onClassName).length | |
}, | |
HandleMouseOver: function(b) { | |
this.ActivateRating(b, this.GetIndex(b.target)) | |
}, | |
HandleMouseOut: function(b) { | |
b.type == | |
"keydown" && this.IsArrowKey(b.which) ? this.DeactivateRating(this.GetIndex(b.target, b.which)) : this.DeactivateRating(this.GetIndex(b.target)) | |
}, | |
HandleKeyUp: function(b) { | |
var d = this.GetIndex(b.target, b.which); | |
if (this.selectedIndex > d) | |
if (this.isFocused) this.selectedIndex != 1 && this.ClearRatings(this.selectedIndex, d, true); | |
else { | |
this.$RADIOs.eq(this.selectedIndex - 1).focus(); | |
return this.isFocused = true | |
} else { | |
if (this.selectedIndex != 0) | |
if (this.isFocused) this.ActivateRating(b, d); | |
else { | |
this.$RADIOs.eq(this.selectedIndex - | |
1).focus(); | |
return this.isFocused = true | |
} | |
this.ActivateRating(b, d) | |
} | |
this.selectedIndex = d; | |
this.isFocused = true | |
}, | |
IsArrowKey: function(b) { | |
return b == 37 || b == 38 || b == 39 || b == 40 ? true : false | |
}, | |
GetIndex: function(b, d) { | |
if (b.tagName.toLowerCase() == "input") { | |
if (d) { | |
var f = this.$LABELs.index(a(b).siblings("label").eq(0)) + 1; | |
if (d == 39 || d == 40) { | |
if (f != this.$LABELs.length) f += 1 | |
} else if (d == 37 || d == 38) | |
if (f != 0) f -= 1 | |
} else f = this.$LABELs.index(a(b).siblings("label").eq(0)) + 1; | |
return f | |
} else return this.$LABELs.index(a(b).parent()) + 1 | |
}, | |
ActivateRating: function(b, | |
d) { | |
this.selectedIndex < d && this.HighlightRatings(d) | |
}, | |
DeactivateRating: function(b) { | |
this.selectedIndex < b && this.ClearRatings(b, this.selectedIndex) | |
}, | |
HighlightRatings: function(b) { | |
this.$element.find("li label:lt(" + b + ")").find("span:eq(0)").attr("class", this.options.onClassName); | |
a("." + this.options.infoPClass, this.$element.parent()).html(this.$LABELs.eq(b - 1).children("span:first").html() + this.$LABELs.eq(b - 1).children("span:last").html()) | |
}, | |
ClearRatings: function(b, d, f) { | |
for (d = d ? d : 0; b > d;) { | |
var g = b - 1; | |
this.$element.find("li label:eq(" + | |
g + ")").find("span:eq(0)").attr("class", this.options.className); | |
b -= 1 | |
} | |
if (this.selectedIndex == 0) a("." + this.options.infoPClass, this.$element.parent()).html(""); | |
else { | |
g = f ? this.selectedIndex - 2 : this.selectedIndex - 1; | |
a("." + this.options.infoPClass, this.$element.parent()).html(this.$LABELs.eq(g).children("span:first").html() + " " + this.$LABELs.eq(g).children("span:last").html()) | |
} | |
} | |
}) | |
})(jQuery); | |
(function(a) { | |
a.fn.extend({ | |
swatches: function(b) { | |
return this.each(function() { | |
new a.Swatches(this, b) | |
}) | |
} | |
}); | |
a.Swatches = function(b, d) { | |
this.options = a.extend({}, { | |
wrapper: null, | |
updateImg: ".hero", | |
swatchInfoHolder: null, | |
selectedClassName: "selected", | |
swatchInfoText: "alt" | |
}, d || {}); | |
this.element = a(b); | |
this.InitializeStage() | |
}; | |
a.extend(a.Swatches.prototype, { | |
SelectedSwatch: null, | |
InitializeStage: function() { | |
var b = this; | |
b.element.bind("click", function(d) { | |
d = d.target; | |
if (d.type !== "radio") { | |
liElem = a(d).closest("li"); | |
d = liElem.find('input[name=attr-swatchColor],input[name^="input-swatch-color"],input[name=pdp-attr-swatchColor]'); | |
liElem.parents().find('p[htmlfor="attr-swatchColor"]').remove() | |
} | |
b.UpdateMainImage(d); | |
b.UpdateSwatchArea(d); | |
b.options.handler !== undefined && b.options.handler.call(b.options.context, b.SelectedSwatch) | |
}); | |
b.element.parents("form").bind("reset", function() { | |
a(this).find(".selected").removeClass("selected") | |
}) | |
}, | |
UpdateMainImage: function(b) { | |
if (this.options.wrapper !== null) { | |
b = b.src != "" ? a(b).closest("li").find("input:radio").attr("src") : b.src; | |
this.element.parents(this.options.wrapper).find(this.options.updateImg).attr("src", | |
b) | |
} | |
}, | |
UpdateSwatchArea: function(b) { | |
b = a(b); | |
this.SelectedSwatch !== null && this.SelectedSwatch.removeClass(this.options.selectedClassName); | |
this.SelectedSwatch = b.parents("li"); | |
this.SelectedSwatch.addClass(this.options.selectedClassName); | |
console.log(this.options); | |
if (this.options.swatchInfoHolder !== null) this.element.parents(this.options.wrapper).find(this.options.swatchInfoHolder).html(this.options.swatchInfoText === "title" ? b.attr("title") : b.attr("alt")) | |
} | |
}) | |
})(jQuery); | |
(function(a) { | |
var b = (a.browser.msie ? "paste" : "input") + ".mask", | |
d = window.orientation != undefined; | |
a.mask = { | |
definitions: { | |
"9": "[0-9]", | |
a: "[A-Za-z]", | |
"*": "[A-Za-z0-9]" | |
} | |
}; | |
a.fn.extend({ | |
caret: function(f, g) { | |
if (this.length != 0) | |
if (typeof f == "number") { | |
g = typeof g == "number" ? g : f; | |
return this.each(function() { | |
if (this.setSelectionRange) this.setSelectionRange(f, g); | |
else if (this.createTextRange) { | |
var l = this.createTextRange(); | |
l.collapse(true); | |
l.moveEnd("character", g); | |
l.moveStart("character", f); | |
l.select() | |
} | |
}) | |
} else { | |
if (this[0].setSelectionRange) { | |
f = | |
this[0].selectionStart; | |
g = this[0].selectionEnd | |
} else if (document.selection && document.selection.createRange) { | |
var j = document.selection.createRange(); | |
f = 0 - j.duplicate().moveStart("character", -1E5); | |
g = f + j.text.length | |
} | |
return { | |
begin: f, | |
end: g | |
} | |
} | |
}, | |
unmask: function() { | |
return this.trigger("unmask") | |
}, | |
mask: function(f, g) { | |
if (!f && this.length > 0) { | |
var j = a(this[0]), | |
l = j.data("tests"); | |
return a.map(j.data("buffer"), function(q, I) { | |
return l[I] ? q : null | |
}).join("") | |
} | |
g = a.extend({ | |
placeholder: "_", | |
completed: null | |
}, g); | |
var o = a.mask.definitions; | |
l = []; | |
var v = f.length, | |
A = null, | |
C = f.length; | |
a.each(f.split(""), function(q, I) { | |
if (I == "?") { | |
C--; | |
v = q | |
} else if (o[I]) { | |
l.push(RegExp(o[I])); | |
if (A == null) A = l.length - 1 | |
} else l.push(null) | |
}); | |
return this.each(function() { | |
function q(D) { | |
for (; ++D <= C && !l[D];); | |
return D | |
} | |
function I(D) { | |
var M = a(this).caret(); | |
D = D.keyCode; | |
t = D < 16 || D > 16 && D < 32 || D > 32 && D < 41; | |
if (M.begin - M.end != 0 && (!t || D == 8 || D == 46)) | |
for (var B = M.end, m = M.begin; m < B && m < C; m++) | |
if (l[m]) p[m] = g.placeholder; | |
if (D == 8 || D == 46 || d && D == 127) { | |
for (M = M.begin + (D == 46 ? 0 : -1); !l[M] && --M >= 0;); | |
for (D = | |
M; D < C; D++) | |
if (l[D]) { | |
p[D] = g.placeholder; | |
B = q(D); | |
if (B < C && l[D].test(p[B])) p[D] = p[B]; | |
else break | |
} | |
Q(); | |
G.caret(Math.max(A, M)); | |
return false | |
} else if (D == 27) { | |
G.caret(0, n()); | |
return false | |
} | |
} | |
function K(D) { | |
if (t) { | |
t = false; | |
return D.keyCode == 8 ? false : null | |
} | |
D = D || window.event; | |
var M = D.charCode || D.keyCode || D.which, | |
B = a(this).caret(); | |
if (D.ctrlKey || D.altKey || D.metaKey) return true; | |
else if (M >= 32 && M <= 125 || M > 186) { | |
D = q(B.begin - 1); | |
if (D < C) { | |
M = String.fromCharCode(M); | |
if (l[D].test(M)) { | |
B = D; | |
for (var m = g.placeholder; B < C; B++) | |
if (l[B]) { | |
var u = q(B), | |
y = p[B]; | |
p[B] = m; | |
if (u < C && l[u].test(y)) m = y; | |
else break | |
} | |
p[D] = M; | |
Q(); | |
D = q(D); | |
a(this).caret(D); | |
g.completed && D == C && g.completed.call(G) | |
} | |
} | |
} | |
return false | |
} | |
function Q() { | |
return G.val(p.join("")).val() | |
} | |
function n(D) { | |
for (var M = G.val(), B = -1, m = 0, u = 0; m < C; m++) | |
if (l[m]) { | |
for (p[m] = g.placeholder; u++ < M.length;) { | |
var y = M.charAt(u - 1); | |
if (l[m].test(y)) { | |
p[m] = y; | |
B = m; | |
break | |
} | |
} | |
if (u > M.length) break | |
} else if (p[m] == M[u] && m != v) { | |
u++; | |
B = m | |
} | |
if (!(!D && B + 1 < v)) | |
if (D || B + 1 >= v) { | |
Q(); | |
D || G.val(G.val().substring(0, B + 1)) | |
} | |
return v ? m : A | |
} | |
var G = a(this), | |
p = a.map(f.split(""), | |
function(D) { | |
if (D != "?") return o[D] ? g.placeholder : D | |
}), | |
t = false, | |
z = G.val(); | |
G.data("buffer", p).data("tests", l); | |
G.attr("readonly") || G.one("unmask", function() { | |
G.unbind(".mask").removeData("buffer").removeData("tests") | |
}).bind("blur.mask", function() { | |
n(); | |
G.val() != z && G.change() | |
}).bind("keydown.mask", I).bind("keypress.mask", K).bind(b, function() { | |
setTimeout(function() { | |
G.caret(n(true)) | |
}, 0) | |
}); | |
n() | |
}) | |
} | |
}) | |
})(jQuery); | |
Target.register("controller", "grda", { | |
init: function() { | |
this.loadInterface() | |
}, | |
_linkHandler: null, | |
ajaxRequest: null, | |
_loadLink: null, | |
_headerController: null, | |
_overlayController: null, | |
_showCuratin: false, | |
_selector: null, | |
_xhr: [], | |
_hoverDelay: 1E3, | |
$body: $("body"), | |
loadInterface: function() { | |
var a = this; | |
$("#ShopMenu"); | |
a._loadLink = $(".pageLoadGRDA"); | |
a.$body = $("body"); | |
a.options = { | |
delayParam: 500, | |
maxHits: 60, | |
grdaInterval: "", | |
grdaParam: "" | |
}; | |
a._headerController = Target.controller.header; | |
a._overlayController = Target.controller.globalOverlay; | |
a.$body.delegate(".grdaLink", "click", function(b) { | |
b.preventDefault(); | |
b = $(this); | |
var d = { | |
context: this, | |
etype: "click" | |
}; | |
a._headerController.cookie.erase("isFullPageVisited"); | |
b.hasClass("axbSetFocus") && a._overlayController.setAxbFocusElem(b); | |
b.hasClass("loadmodal") ? a.HandleGRDAResponse(d, function() {}, true) : a.HandleGRDAResponse(d, function() {}) | |
}); | |
a.$body.delegate(".fullPageLink", "click", function(b) { | |
b.preventDefault(); | |
b = $(this); | |
var d = new Date; | |
if (typeof b != "undefined") { | |
var f = b.attr("href"); | |
if (typeof f != "undefined" && | |
f != "") f = f + "&accessedOn=" + d.getTime() | |
} | |
window.location.href = f | |
}) | |
}, | |
HandleGRDAResponse: function(a, b, d, f) { | |
var g = this, | |
j = "", | |
l = "", | |
o = "", | |
v = typeof a.context != "undefined" ? a.context : typeof a.elem != "undefined" ? a.elem : a; | |
l = typeof a.etype != "undefined" ? a.etype : ""; | |
if (v && v != undefined) g.options.grdaParam = $(v); | |
if (typeof a == "string") { | |
l = a; | |
o = Target.controller.header.unSerialize(l); | |
g._showCuratin = o.posCur ? o.posCur : false; | |
g._selector = o.sel ? o.sel : false | |
} else if (l == "click") { | |
l = a.regUrl || g.options.grdaParam.attr("grda"); | |
j = typeof a.datas != | |
"undefined" ? a.datas : "" | |
} else if (l == "hover") l = g.options.grdaParam.attr("grdalink"); | |
else { | |
j = l == "customevent" || l == "lazy" ? typeof a.datas != "undefined" ? a.datas : "" : typeof f != "undefined" ? f : g.options.grdaParam.serialize(); | |
l = g.options.grdaParam.attr("action") | |
} | |
g.grdaParam = $(v); | |
g.callback = b; | |
g.grdaData = j; | |
g.callInit(0, g.grdaData, l); | |
g.grdaParam.hasClass("grdaHover") || d && $.overlay.load({ | |
contentOverride: '<div id="specifications"><p align="center">one moment...</p><p class="loading"></p></div>', | |
overlayId: "wait", | |
closeLink: false, | |
width: 200, | |
height: 150 | |
}); | |
g.$body.delegate("#wait", "overlay-before-hide", function() { | |
clearTimeout(g.grdaDelay) | |
}); | |
return false | |
}, | |
callInit: function(a, b, d, f) { | |
var g = this; | |
f = f; | |
g.grdaDelay = setTimeout(function() { | |
g.getGrda(b, d, f) | |
}, a) | |
}, | |
callAbort: function() { | |
if (this._xhr && this._xhr.length > 0) { | |
var a = this._xhr.pop(); | |
a && a.abort() | |
} | |
}, | |
getGrda: function(a, b, d) { | |
var f = this; | |
d = d ? d : 0; | |
$.ajaxSetup({ | |
traditional: true, | |
cache: false | |
}); | |
if (a instanceof Object) a.jsRequest = "true"; | |
else a += "&jsRequest=true"; | |
var g = f._headerController.unSerialize(b), | |
j = { | |
url: Target.controller.headerNew.getProtocol(b), | |
data: a, | |
type: "post", | |
dataType: "json", | |
curtain: false, | |
cache: false, | |
success: function(l, o, v) { | |
if ((o = v.getResponseHeader("X-Redirect")) && o !== "") return window.location.replace(o); | |
if (l != null) { | |
o = typeof l != "undefined" ? l.status : ""; | |
if (o === "inprogress") { | |
f.delayParam += 100; | |
d += 1; | |
d < f.options.maxHits ? f.callInit(f.options.delayParam, l, b, d) : d = 0 | |
} else { | |
$.hideCurtain(); | |
switch (o) { | |
case "complete": | |
case "customeventcomplete": | |
if (o == "complete") f.grdaData.responseData = l; | |
typeof f.callback == | |
"function" && f.callback(l); | |
break; | |
case "command": | |
$.overlay.activeOverlay && $.overlay.currentOverlay.data("options").overlayId === "wait" && $.overlay.currentOverlay.trigger("close.overlay"); | |
break; | |
case "htmlReplace": | |
f.callback(l); | |
break; | |
case "avsError": | |
Target.controller.avs.openModal(l, "small", "force"); | |
break; | |
case "redirectOverLay": | |
var A = { | |
content: l.redirectURL, | |
overlayId: l.overLayId, | |
overlayType: "modal" | |
}; | |
o = {}; | |
if (l.shareByMailData !== undefined) { | |
console.log("response..." + l.shareByMailData); | |
o.data = l.shareByMailData | |
} | |
$.overlay.load($.extend(A, | |
o)); | |
break; | |
case "listOverLay": | |
case "share-options": | |
v = typeof l.width != "undefined" ? l.width : ""; | |
var C = typeof l.template != "undefined" ? l.template : ""; | |
A = o = {}; | |
$.hideCurtain(); | |
A = { | |
contentOverride: l.overlayHtml, | |
overlayId: l.overLayId, | |
overlayType: "modal", | |
width: "", | |
template: "default" | |
}; | |
if (v != "") o.width = v; | |
if (C != "") o.template = C; | |
A = $.extend(A, o); | |
o = $("input[name=preSelFlag_Base]").val(); | |
if (o == "false" || typeof o == "undefined") $.overlay.load(A); | |
else if (l.itemAddedStatus == "Added" || l.itemAddedStatus == "PartialAdd") { | |
$("#" + l.itemOverlay).parent().append(l.overlayHtml); | |
$.overlay.currentOverlay.trigger("close.overlay", [true]) | |
} else $.overlay.load(A); | |
break; | |
default: | |
window.location = o === "completePage" ? b + "?" + $.param(l) : o === "completePageLink" ? b.substring(0, b.indexOf("?")) + "?" + $.param(l) : o === "redirect" || o === "urlRedirect" ? l.redirectURL : o === "waitRedirect" ? l.redirectURL + "?" + $.param(l) : "" | |
} | |
} | |
} | |
}, | |
error: function() { | |
console.log(); | |
return window.location.href = "/GenericApplicationError" | |
} | |
}; | |
if (f._showCuratin && f._selector && g.sel == "#rightContainer") { | |
extObj1 = { | |
curtain: { | |
selector: f._selector, | |
posCurtain: f._showCuratin | |
} | |
}; | |
j = $.extend(j, extObj1) | |
} | |
typeof a.showCurt != "undefined" && $("body").showCurtain(); | |
(a = $.ajax(j)) && f._xhr.push(a) | |
}, | |
handleAVS: function(a) { | |
if (a.avsFlag == "false" && a.hasError == "N") { | |
if ($.overlay.currentOverlay) { | |
self.modalOpenedLink = $("a.overlay-open").attr("href"); | |
modalOpenedFlag = true | |
} | |
Target.controller.avs.openModal(a, "small", "force"); | |
return false | |
} else if (a.hasError == "Y") { | |
form.attr("ACTION", a.errorUrl); | |
form.get(0).submit() | |
} else self.redirectPage(a.avsFwdURL) | |
}, | |
redirectPage: function(a) { | |
window.location.href = | |
a | |
}, | |
removeCachedCookie: function() { | |
var a = Target.controller.reviewed.cookie.read("registryCallRequire"); | |
Target.controller.reviewed.cookie.read("registryOverlayCookie"); | |
if (typeof a != "undefined" && (a === "Y" || a === "listDelete" || a === "listCreate")) { | |
Target.controller.reviewed.cookie.erase("registryCallRequire"); | |
Target.controller.reviewed.cookie.erase("registryOverlayCookie") | |
} | |
}, | |
_updateRecentlyViewed: function(a) { | |
$("div.recentlyViewed"); | |
var b = ""; | |
b = ""; | |
var d = Target.globals.userIDForRegistry; | |
if (typeof d === "undefined") d = | |
this._headerController.cookie.getUserID(); | |
if (typeof d != "undefined" && d != null && d != "" && d != "null") { | |
b = "TGTRnLCookie"; | |
b = unescape(this._headerController.cookie.read(d + b)); | |
if (typeof b != "undefined" && b != null && b != "" && b != "null") { | |
b = b.split("~"); | |
var f = []; | |
$.each(b, function(g, j) { | |
var l = {}, | |
o = "", | |
v = j.split(":"); | |
l.detail = typeof v[0] != "undefined" ? v[0].indexOf("+") != -1 ? v[0].replace(/\+/g, " ") : v[0] : ""; | |
l.listId = v[1]; | |
if (v.length > 2) o = v[2]; | |
l.eventType = o; | |
f.push(l) | |
}); | |
this._constructRecentlyViewed(f, a) | |
} else this._constructRecentlyViewed([], | |
a) | |
} else this._constructRecentlyViewed([], a) | |
}, | |
_constructRecentlyViewed: function(a, b) { | |
var d = "", | |
f = "", | |
g = "", | |
j = "", | |
l = isList = false; | |
if (b === "R") { | |
d = $("div.recentlyViewed"); | |
f = d.find("input[name=newListGGVURL]").val(); | |
d.find("p").remove() | |
} else if (b === "L") { | |
d = $("div#guest ul.recentlyViewedLists"); | |
f = $("div#guest").find("input[name=newListGGVURL]").val(); | |
d.find("li").remove() | |
} | |
d.hide(); | |
d.prev("p.findList").hide(); | |
if (a.length > 0) { | |
var o = "", | |
v = CountL = 0; | |
$.each(a, function(A, C) { | |
g = C.detail; | |
j = g.replace(/[""]/g, """).replace(/[']/g, | |
"'"); | |
if (b === "R") { | |
if (C.eventType == "WD" || C.eventType == "BB") | |
if (v < 3) { | |
l = true; | |
var q = f + "registryType=" + C.eventType; | |
q += "®istryId=" + C.listId + "&listId=" + C.listId; | |
o += '<p><a title="' + j + '" href="" grda="' + q + '" class="grdaLink">' + g + "</a></p>"; | |
v++ | |
} | |
} else if (b === "L") | |
if (C.eventType == "OT" || C.eventType == "other") | |
if (CountL < 3) { | |
isList = true; | |
o += '<li><a title="' + j + '" href="" grda="' + f + "®istryId=" + C.listId + "&listId=" + C.listId + '" class="grdaLink"> ' + g + "</a></li>"; | |
CountL++ | |
} | |
}); | |
if (b == "R" && l || b == "L" && isList) { | |
d.show(); | |
d.prev("p.findList").show(); | |
d.append(o) | |
} | |
} | |
} | |
}); | |
jQuery.extend({ | |
stringify: this.JSON && this.JSON.stringify ? this.JSON.stringify : function(a) { | |
var b = typeof a; | |
if (b != "object" || a === null) { | |
if (b == "string") a = '"' + a + '"'; | |
return String(a) | |
} else { | |
var d, f, g = [], | |
j = a && a.constructor == Array; | |
for (d in a) { | |
f = a[d]; | |
b = typeof f; | |
if (a.hasOwnProperty(d)) { | |
if (b == "string") f = '"' + f + '"'; | |
else if (b == "object" && f !== null) f = jQuery.stringify(f); | |
g.push((j ? "" : '"' + d + '":') + String(f)) | |
} | |
} | |
return (j ? "[" : "{") + String(g) + (j ? "]" : "}") | |
} | |
} | |
}); | |
var PluckSDK = function() { | |
function a(P) { | |
return (P || "").replace(/^(\s|\u00A0)+|(\s|\u00A0)+$/g, "") | |
} | |
function b(P) { | |
return (P != null ? Object.prototype.toString.call(P) : null) === "[object String]" | |
} | |
function d(P) { | |
return (P != null ? Object.prototype.toString.call(P) : null) === "[object Array]" | |
} | |
function f(P) { | |
return (P != null ? Object.prototype.toString.call(P) : null) === "[object Object]" | |
} | |
function g(P, O) { | |
if (!(P instanceof O)) throw "The 'new' keyword must be used when creating a new sdk object"; | |
} | |
function j(P, O) { | |
if (P && O) { | |
P = P.split(".").pop(); | |
if (b(O)) | |
if (parseInt(O).toString() == O) O = parseInt(O); | |
if (P == "DaysOfWeek") { | |
if (0 == O) return "None"; | |
if (1 == O) return "Sunday"; | |
if (2 == O) return "Monday"; | |
if (4 == O) return "Tuesday"; | |
if (8 == O) return "Wednesday"; | |
if (16 == O) return "Thursday"; | |
if (32 == O) return "Friday"; | |
if (64 == O) return "Saturday"; | |
if (127 == O) return "All"; | |
var L = o(P, O); | |
return L.join(",") | |
} | |
if (P == "FeedActivityTypes") { | |
if (0 == O) return "None"; | |
if (1 == O) return "Comment"; | |
if (2 == O) return "Review"; | |
if (4 == O) return "BlogPost"; | |
if (8 == O) return "ForumPost"; | |
if (16 == O) return "Photo"; | |
if (32 == O) return "Video"; | |
if (64 == O) return "Discussions"; | |
if (127 == O) return "AllCommunity"; | |
if (128 == O) return "CustomItem"; | |
if (256 == O) return "WallPost"; | |
if (512 == O) return "Badge"; | |
if (1024 == O) return "CommunityGroupMembership"; | |
if (2048 == O) return "CustomActivity"; | |
if (4096 == O) return "Event"; | |
if (8192 == O) return "UserStatus"; | |
if (16384 == O) return "Message"; | |
if (32768 == O) return "Forum"; | |
if (65536 == O) return "Poll"; | |
if (131072 == O) return "UserReaction"; | |
if (262143 == O) return "All"; | |
if (262144 == O) return "Administrative"; | |
if (524287 == O) return "AllWithAdministrative"; | |
L = o(P, O); | |
return L.join(",") | |
} | |
if (P == | |
"ModerationQueueType") { | |
if (1 == O) return "Abuse"; | |
if (2 == O) return "PreModeration"; | |
if (4 == O) return "Spam"; | |
L = o(P, O); | |
return L.join(",") | |
} | |
if (P == "ModerationNotesActionType") { | |
if (0 == O) return "None"; | |
if (1 == O) return "Approve"; | |
if (2 == O) return "Block"; | |
if (4 == O) return "Delete"; | |
if (7 == O) return "All"; | |
L = o(P, O); | |
return L.join(",") | |
} | |
} | |
return null | |
} | |
function l(P, O) { | |
if (P && O) { | |
P = P.split(".").pop(); | |
if (!b(O)) return O; | |
return v(P, O.split(",")) | |
} | |
return null | |
} | |
function o(P, O) { | |
if (P && O) { | |
P = P.split(".").pop(); | |
if (b(O)) | |
if (parseInt(O).toString() == O) O = parseInt(O); | |
if (P == "DaysOfWeek") { | |
var L = []; | |
1 == (1 & O) && L.push("Sunday"); | |
2 == (2 & O) && L.push("Monday"); | |
4 == (4 & O) && L.push("Tuesday"); | |
8 == (8 & O) && L.push("Wednesday"); | |
16 == (16 & O) && L.push("Thursday"); | |
32 == (32 & O) && L.push("Friday"); | |
64 == (64 & O) && L.push("Saturday"); | |
127 == (127 & O) && L.push("All"); | |
return L | |
} | |
if (P == "FeedActivityTypes") { | |
L = []; | |
1 == (1 & O) && L.push("Comment"); | |
2 == (2 & O) && L.push("Review"); | |
4 == (4 & O) && L.push("BlogPost"); | |
8 == (8 & O) && L.push("ForumPost"); | |
16 == (16 & O) && L.push("Photo"); | |
32 == (32 & O) && L.push("Video"); | |
64 == (64 & O) && L.push("Discussions"); | |
127 == (127 & O) && L.push("AllCommunity"); | |
128 == (128 & O) && L.push("CustomItem"); | |
256 == (256 & O) && L.push("WallPost"); | |
512 == (512 & O) && L.push("Badge"); | |
1024 == (1024 & O) && L.push("CommunityGroupMembership"); | |
2048 == (2048 & O) && L.push("CustomActivity"); | |
4096 == (4096 & O) && L.push("Event"); | |
8192 == (8192 & O) && L.push("UserStatus"); | |
16384 == (16384 & O) && L.push("Message"); | |
32768 == (32768 & O) && L.push("Forum"); | |
65536 == (65536 & O) && L.push("Poll"); | |
131072 == (131072 & O) && L.push("UserReaction"); | |
262143 == (262143 & O) && L.push("All"); | |
262144 == (262144 & O) && L.push("Administrative"); | |
524287 == (524287 & O) && L.push("AllWithAdministrative"); | |
return L | |
} | |
if (P == "ModerationQueueType") { | |
L = []; | |
1 == (1 & O) && L.push("Abuse"); | |
2 == (2 & O) && L.push("PreModeration"); | |
4 == (4 & O) && L.push("Spam"); | |
return L | |
} | |
if (P == "ModerationNotesActionType") { | |
L = []; | |
1 == (1 & O) && L.push("Approve"); | |
2 == (2 & O) && L.push("Block"); | |
4 == (4 & O) && L.push("Delete"); | |
7 == (7 & O) && L.push("All"); | |
return L | |
} | |
} | |
return [] | |
} | |
function v(P, O) { | |
if (P && O && typeof O.length !== "undefined") { | |
P = P.split(".").pop(); | |
if (P == "DaysOfWeek") { | |
for (var L = 0, W = 0; W < O.length; W++) { | |
value = a(O[W]); | |
if (value == | |
"None") L |= 0; | |
if (value == "Sunday") L |= 1; | |
if (value == "Monday") L |= 2; | |
if (value == "Tuesday") L |= 4; | |
if (value == "Wednesday") L |= 8; | |
if (value == "Thursday") L |= 16; | |
if (value == "Friday") L |= 32; | |
if (value == "Saturday") L |= 64; | |
if (value == "All") L |= 127 | |
} | |
return L | |
} | |
if (P == "FeedActivityTypes") { | |
for (W = L = 0; W < O.length; W++) { | |
value = a(O[W]); | |
if (value == "None") L |= 0; | |
if (value == "Comment") L |= 1; | |
if (value == "Review") L |= 2; | |
if (value == "BlogPost") L |= 4; | |
if (value == "ForumPost") L |= 8; | |
if (value == "Photo") L |= 16; | |
if (value == "Video") L |= 32; | |
if (value == "Discussions") L |= 64; | |
if (value == | |
"AllCommunity") L |= 127; | |
if (value == "CustomItem") L |= 128; | |
if (value == "WallPost") L |= 256; | |
if (value == "Badge") L |= 512; | |
if (value == "CommunityGroupMembership") L |= 1024; | |
if (value == "CustomActivity") L |= 2048; | |
if (value == "Event") L |= 4096; | |
if (value == "UserStatus") L |= 8192; | |
if (value == "Message") L |= 16384; | |
if (value == "Forum") L |= 32768; | |
if (value == "Poll") L |= 65536; | |
if (value == "UserReaction") L |= 131072; | |
if (value == "All") L |= 262143; | |
if (value == "Administrative") L |= 262144; | |
if (value == "AllWithAdministrative") L |= 524287 | |
} | |
return L | |
} | |
if (P == "ModerationQueueType") { | |
for (W = | |
L = 0; W < O.length; W++) { | |
value = a(O[W]); | |
if (value == "Abuse") L |= 1; | |
if (value == "PreModeration") L |= 2; | |
if (value == "Spam") L |= 4 | |
} | |
return L | |
} | |
if (P == "ModerationNotesActionType") { | |
for (W = L = 0; W < O.length; W++) { | |
value = a(O[W]); | |
if (value == "None") L |= 0; | |
if (value == "Approve") L |= 1; | |
if (value == "Block") L |= 2; | |
if (value == "Delete") L |= 4; | |
if (value == "All") L |= 7 | |
} | |
return L | |
} | |
} | |
return null | |
} | |
function A() { | |
for (var P = document.cookie.split(/\s*;\s*/), O = "", L = 0; L < P.length; L++) { | |
var W = P[L].indexOf("="), | |
Z = P[L].substr(0, W); | |
if (Z && Z.toLowerCase() == "at".toLowerCase()) { | |
O = P[L].substr(W + | |
1); | |
break | |
} | |
} | |
if (O) { | |
O = decodeURIComponent(O); | |
P = O.split(/[\?&=]/); | |
for (L = 0; L < P.length; L++) | |
if (P[L] && P[L].toLowerCase() == "h") return P[L + 1] | |
} | |
if (PluckSDK.athToken) return PluckSDK.athToken; | |
else if (window.pluckAppProxy && window.pluckAppProxy.ath) return window.pluckAppProxy.ath; | |
else if (window.pluckAthToken) return window.pluckAthToken | |
} | |
function C(P, O) { | |
return P + (P.indexOf("?") > 0 ? "&" : "?") + O | |
} | |
function q() { | |
if (la.length > 0) | |
if (K()) | |
for (; la.length > 0;) { | |
var P = la.shift(); | |
J.CallDAPI(P.url, P.request, "PluckSDKflcb", P.asyncToken, document.location.toString()) | |
} | |
} | |
function I() { | |
var P = document.body.appendChild(document.createElement("div")); | |
P.id = "PluckSDKflashProxyDIV"; | |
var O = m; | |
window.PluckSDKflashready = function() { | |
var L = document.getElementById("PluckSDKflashProxy"); | |
if (L != null && typeof L.CallDAPI !== "undefined") { | |
J = L; | |
R = true; | |
q() | |
} | |
}; | |
window.PluckSDKflashstatus = function(L) { | |
H("pluck flash proxy status: " + L) | |
}; | |
P.innerHTML = navigator.userAgent.indexOf("MSIE") != -1 && navigator.userAgent.indexOf("Opera") == -1 ? '<OBJECT id=PluckSDKflashProxy height=0 width=0 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000> <PARAM NAME="FlashVars" VALUE="onLoadCallbackName=PluckSDKflashready&onStatusCallbackName=PluckSDKflashstatus&podRevisionNumber=0"><PARAM NAME="Movie" VALUE="' + | |
C(O, "onLoadCallbackName=PluckSDKflashready&onStatusCallbackName=PluckSDKflashstatus&podRevisionNumber=0") + '"><PARAM NAME="Src" VALUE="' + C(O, "onLoadCallbackName=PluckSDKflashready&onStatusCallbackName=PluckSDKflashstatus&podRevisionNumber=0") + '"><PARAM NAME="AllowScriptAccess" VALUE="always"><PARAM NAME="AllowNetworking" VALUE="all"><PARAM NAME="AllowFullScreen" VALUE="true"><PARAM NAME="wmode" VALUE="window"><PARAM NAME="Width" VALUE="0"><PARAM NAME="Height" VALUE="0"></OBJECT>' : '<object id="PluckSDKflashProxy" width="0" height="0" type="application/x-shockwave-flash" data="' + | |
O + '" style="visibility: visible;"><param name="autostart" value="true"/><param name="width" value="0"/><param name="height" value="0"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><param name="wmode" value="window"/><param name="flashvars" value="onLoadCallbackName=PluckSDKflashready&onStatusCallbackName=PluckSDKflashstatus&podRevisionNumber=0"/></object>'; | |
return false | |
} | |
function K() { | |
if (!R && ja) { | |
ka++; | |
if (ka <= 1) | |
if (document.body && (typeof document.readyState == | |
"undefined" || /loaded|complete/.test(document.readyState))) I(); | |
else { | |
var P = I; | |
if (window.addEventListener) window.addEventListener("load", P, false); | |
else window.attachEvent ? window.attachEvent("onload", P) : H("pluck addLoadEvent failure") | |
} | |
} | |
return R | |
} | |
function Q(P) { | |
for (var O in P) | |
if (P.hasOwnProperty(O)) | |
if (typeof P[O] === "string") { | |
if (0 == P[O].indexOf(xa)) try { | |
P[O] = new Date(P[O].substr(xa.length)) | |
} catch (L) { | |
try { | |
P[O] = new Date(P[O].substr(xa.length).replace("GMT", "UTC")) | |
} catch (W) {} | |
} | |
} else if (f(P[O])) Q(P[O]); | |
else if (d(P[O])) | |
for (var Z = | |
0; Z < P[O].length; Z++) Q(P[O][Z]) | |
} | |
function n(P) { | |
for (var O in P) | |
if (P.hasOwnProperty(O)) | |
if ((P[O] != null ? Object.prototype.toString.call(P[O]) : null) === "[object Date]") { | |
P[O] = xa + P[O].toGMTString(); | |
P[O] = P[O].replace("UTC", "GMT") | |
} else if (f(P[O])) n(P[O]); | |
else if (d(P[O])) | |
for (var L = 0; L < P[O].length; L++) n(P[O][L]) | |
} | |
function G(P, O, L, W) { | |
var Z = ra[O]; | |
if (P == null) Z.callback(null, W || "unknown response error"); | |
else { | |
W = []; | |
for (var ia = 0; ia < P.Envelopes.length; ia++) { | |
var ma = P.Envelopes[ia].Payload; | |
Q(ma); | |
W.push(ma) | |
} | |
if (y) { | |
console.group("pluck " + | |
Z.asyncToken.replace(/request_/, "response_") + " via " + L); | |
for (ia = 0; ia < W.length; ia++) { | |
console.group(W[ia].ObjectType); | |
console.dir(W[ia]); | |
console.groupEnd() | |
} | |
console.groupEnd() | |
} | |
Z.callback(W) | |
} | |
delete ra[O] | |
} | |
function p(P) { | |
var O = P.url, | |
L = null; | |
if (P.hasOwnProperty("chunking")) { | |
L = P.chunking.chunks.shift(); | |
O = C(O, "ctk=" + P.chunking.chunkToken + "&crm=" + P.chunking.chunks.length); | |
P.chunking.chunks.length == 0 ? H("pluck " + P.asyncToken + " via jsonp final chunk " + O.length) : H("pluck " + P.asyncToken + " via jsonp chunk " + O.length) | |
} else { | |
L = | |
P.request; | |
H("pluck " + P.asyncToken + " via jsonp") | |
} | |
window[P.asyncToken] = PluckSDK.jsonpcb(P.asyncToken); | |
O = C(O, "jsonRequest=" + L + "&cb=" + P.asyncToken); | |
if (P.bypassBrowserCaching) O = C(O, "u=" + Math.floor(Math.random() * 2147483647)); | |
P = document.getElementsByTagName("head")[0]; | |
L = document.createElement("script"); | |
L.type = "text/javascript"; | |
L.charset = "UTF-8"; | |
L.src = O; | |
P.appendChild(L) | |
} | |
function t(P, O) { | |
var L = X - P.url.length - 200; | |
escapedJsonRequest = encodeURIComponent(O); | |
if (escapedJsonRequest.length < L) { | |
P.request = escapedJsonRequest; | |
p(P); | |
return true | |
} | |
if (escapedJsonRequest.length > u) { | |
H("pluck jsonp request size exceeded " + u + " limit"); | |
return false | |
} | |
if (ja) { | |
if (R) return false; | |
K() | |
} | |
P.bypassBrowserCaching = true; | |
for (var W = []; O.length > 0;) { | |
var Z = "", | |
ia = ""; | |
Z = O.substr(0, L); | |
for (ia = encodeURIComponent(Z); ia.length > L;) { | |
Z = O.substr(0, Z.length - (ia.length - L)); | |
ia = encodeURIComponent(Z) | |
} | |
W.push(ia); | |
O = O.substr(Z.length) | |
} | |
P.chunking = { | |
chunkToken: "i", | |
chunks: W | |
}; | |
p(P); | |
return true | |
} | |
var z = function(P, O) { | |
for (var L in O) P[L] = O[L]; | |
return P | |
}, | |
D = { | |
UserRequest: function(P) { | |
g(this, | |
arguments.callee); | |
this.ObjectType = "Requests.Users.UserRequest"; | |
return z(this, P) | |
}, | |
UserKey: function(P) { | |
g(this, arguments.callee); | |
this.ObjectType = "Models.Users.UserKey"; | |
return z(this, P) | |
}, | |
CustomCollectionKey: function(P) { | |
g(this, arguments.callee); | |
this.ObjectType = "Models.Custom.CustomCollectionKey"; | |
return z(this, P) | |
}, | |
AddCustomCollectionActionRequest: function(P) { | |
g(this, arguments.callee); | |
this.ObjectType = "Requests.Custom.AddCustomCollectionActionRequest"; | |
return z(this, P) | |
}, | |
InsertIntoCollectionActionRequest: function(P) { | |
g(this, | |
arguments.callee); | |
this.ObjectType = "Requests.Custom.InsertIntoCollectionActionRequest"; | |
return z(this, P) | |
}, | |
ItemScoresRequest: function(P) { | |
g(this, arguments.callee); | |
this.ObjectType = "Requests.Reactions.ItemScoresRequest"; | |
return z(this, P) | |
}, | |
CommentActionRequest: function(P) { | |
g(this, arguments.callee); | |
this.ObjectType = "Requests.Reactions.CommentActionRequest"; | |
return z(this, P) | |
}, | |
PhotoKey: function(P) { | |
g(this, arguments.callee); | |
this.ObjectType = "Models.Media.PhotoKey"; | |
return z(this, P) | |
}, | |
ReviewKey: function(P) { | |
g(this, arguments.callee); | |
this.ObjectType = "Models.Reactions.ReviewKey"; | |
return z(this, P) | |
}, | |
CommentKey: function(P) { | |
g(this, arguments.callee); | |
this.ObjectType = "Models.Reactions.CommentKey"; | |
return z(this, P) | |
}, | |
ExternalResourceKey: function(P) { | |
g(this, arguments.callee); | |
this.ObjectType = "Models.External.ExternalResourceKey"; | |
return z(this, P) | |
}, | |
PhotoRequest: function(P) { | |
g(this, arguments.callee); | |
this.ObjectType = "Requests.Media.PhotoRequest"; | |
return z(this, P) | |
}, | |
CreateAvatarPhotoActionRequest: function(P) { | |
g(this, arguments.callee); | |
this.ObjectType = | |
"Requests.Media.CreateAvatarPhotoActionRequest"; | |
return z(this, P) | |
}, | |
CreatePhotoActionRequest: function(P) { | |
g(this, arguments.callee); | |
this.ObjectType = "Requests.Media.CreatePhotoActionRequest"; | |
return z(this, P) | |
}, | |
SetItemScoreActionRequest: function(P) { | |
g(this, arguments.callee); | |
this.ObjectType = "Requests.Reactions.SetItemScoreActionRequest"; | |
return z(this, P) | |
}, | |
ReportAbuseActionRequest: function(P) { | |
g(this, arguments.callee); | |
this.ObjectType = "Requests.Moderation.ReportAbuseActionRequest"; | |
return z(this, P) | |
}, | |
DeleteImageRequest: function(P) { | |
g(this, | |
arguments.callee); | |
this.ObjectType = "Requests.Media.DeleteImageRequest"; | |
return z(this, P) | |
}, | |
PathForUserRequest: function(P) { | |
g(this, arguments.callee); | |
this.ObjectType = "Requests.Presence.PathForUserRequest"; | |
return z(this, P) | |
}, | |
ActionResponse: function(P) { | |
g(this, arguments.callee); | |
this.ObjectType = "Responses.System.ActionResponse"; | |
return z(this, P) | |
}, | |
AbuseClassificationEnum: { | |
StandardAbuse: "StandardAbuse", | |
WordFilterAbuse: "WordFilterAbuse", | |
SpamAbuse: "SpamAbuse", | |
KeywordWatchList: "KeywordWatchList", | |
None: "None" | |
}, | |
ContentBlockingEnum: { | |
Unblocked: "Unblocked", | |
BlockedByAdmin: "BlockedByAdmin" | |
}, | |
ActivityAction: { | |
None: "None", | |
Added: "Added", | |
Updated: "Updated", | |
Deleted: "Deleted", | |
Open: "Open", | |
Close: "Close", | |
Move: "Move", | |
NotApproved: "NotApproved", | |
AddedToGallery: "AddedToGallery", | |
Cleared: "Cleared", | |
Accepted: "Accepted" | |
}, | |
ActivityType: { | |
AbuseReport: "AbuseReport", | |
Comment: "Comment", | |
CustomItem: "CustomItem", | |
Blog: "Blog", | |
BlogPost: "BlogPost", | |
Forum: "Forum", | |
ForumDiscussion: "ForumDiscussion", | |
ForumPost: "ForumPost", | |
PhotoGallery: "PhotoGallery", | |
VideoGallery: "VideoGallery", | |
Photo: "Photo", | |
Video: "Video", | |
Event: "Event", | |
CommunityGroup: "CommunityGroup", | |
CommunityGroupInvitation: "CommunityGroupInvitation", | |
CommunityGroupUserBan: "CommunityGroupUserBan", | |
CommunityGroupRegistration: "CommunityGroupRegistration", | |
CommunityGroupMembership: "CommunityGroupMembership", | |
Rating: "Rating", | |
Recommendation: "Recommendation", | |
Review: "Review", | |
Message: "Message", | |
Watch: "Watch", | |
UserProfile: "UserProfile", | |
PrivateMessage: "PrivateMessage", | |
Friend: "Friend", | |
Image: "Image", | |
Poll: "Poll", | |
UserPollAnswer: "UserPollAnswer", | |
Badging: "Badging" | |
}, | |
ApprovalStateEnum: { | |
PendingApproval: "PendingApproval", | |
Approved: "Approved", | |
Rejected: "Rejected", | |
Deleted: "Deleted" | |
}, | |
BlogPostStateSearchTypeEnum: { | |
Published: "Published", | |
Draft: "Draft", | |
All: "All" | |
}, | |
ContentPolicyActionEnum: { | |
Comment: "Comment", | |
SubmitContent: "SubmitContent", | |
ReportAbuse: "ReportAbuse", | |
Create: "Create", | |
Update: "Update", | |
Delete: "Delete", | |
Review: "Review", | |
All: "All" | |
}, | |
ContentPolicyEnum: { | |
Undefined: "Undefined", | |
Disallowed: "Disallowed", | |
Allowed: "Allowed", | |
ApprovalRequired: "ApprovalRequired" | |
}, | |
DaysOfWeek: { | |
None: "None", | |
Sunday: "Sunday", | |
Monday: "Monday", | |
Tuesday: "Tuesday", | |
Wednesday: "Wednesday", | |
Thursday: "Thursday", | |
Friday: "Friday", | |
Saturday: "Saturday", | |
All: "All", | |
fromString: function(P) { | |
return l("DaysOfWeek", P) | |
}, | |
toString: function(P) { | |
return j("DaysOfWeek", P) | |
}, | |
fromArray: function(P) { | |
return v("DaysOfWeek", P) | |
}, | |
toArray: function(P) { | |
return o("DaysOfWeek", P) | |
} | |
}, | |
CommunityGroupVisibility: { | |
Private: "Private", | |
Public: "Public" | |
}, | |
MembershipTier: { | |
NonMember: "NonMember", | |
Invited: "Invited", | |
Pending: "Pending", | |
Member: "Member", | |
Manager: "Manager", | |
GroupAdmin: "GroupAdmin", | |
All: "All", | |
Banned: "Banned" | |
}, | |
SexEnum: { | |
Female: "Female", | |
Male: "Male", | |
None: "None" | |
}, | |
FeedActivityTypes: { | |
None: "None", | |
Comment: "Comment", | |
Review: "Review", | |
BlogPost: "BlogPost", | |
ForumPost: "ForumPost", | |
Photo: "Photo", | |
Video: "Video", | |
Discussions: "Discussions", | |
AllCommunity: "AllCommunity", | |
CustomItem: "CustomItem", | |
WallPost: "WallPost", | |
Badge: "Badge", | |
CommunityGroupMembership: "CommunityGroupMembership", | |
CustomActivity: "CustomActivity", | |
Event: "Event", | |
UserStatus: "UserStatus", | |
Message: "Message", | |
Forum: "Forum", | |
Poll: "Poll", | |
UserReaction: "UserReaction", | |
All: "All", | |
Administrative: "Administrative", | |
AllWithAdministrative: "AllWithAdministrative", | |
fromString: function(P) { | |
return l("FeedActivityTypes", P) | |
}, | |
toString: function(P) { | |
return j("FeedActivityTypes", P) | |
}, | |
fromArray: function(P) { | |
return v("FeedActivityTypes", P) | |
}, | |
toArray: function(P) { | |
return o("FeedActivityTypes", P) | |
} | |
}, | |
FeedActivityAction: { | |
Create: "Create", | |
Update: "Update", | |
Delete: "Delete" | |
}, | |
CopyMediaTypeEnum: { | |
KeepOriginalMedia: "KeepOriginalMedia", | |
CreateNewMedia: "CreateNewMedia" | |
}, | |
GalleryViewState: { | |
Open: "Open", | |
ViewOnly: "ViewOnly", | |
Closed: "Closed" | |
}, | |
PointsAndBadgingState: { | |
Active: "Active", | |
Inactive: "Inactive" | |
}, | |
BadgeFamilyType: { | |
Assigned: "Assigned", | |
Earned: "Earned" | |
}, | |
MessageReadState: { | |
Unread: "Unread", | |
Read: "Read", | |
All: "All" | |
}, | |
ReviewItemState: { | |
Active: "Active", | |
Inactive: "Inactive", | |
NotDiscoverable: "NotDiscoverable" | |
}, | |
ApprovalSetting: { | |
Everyone: "Everyone", | |
Nobody: "Nobody", | |
NoChange: "NoChange" | |
}, | |
BlogType: { | |
Personal: "Personal", | |
Group: "Group", | |
Public: "Public" | |
}, | |
SearchTypeEnum: { | |
User: "User", | |
Comment: "Comment", | |
Blog: "Blog", | |
BlogPost: "BlogPost", | |
ForumPost: "ForumPost", | |
Gallery: "Gallery", | |
Photo: "Photo", | |
Video: "Video", | |
CommunityGroup: "CommunityGroup", | |
Event: "Event", | |
All: "All", | |
Poll: "Poll", | |
Review: "Review" | |
}, | |
ContentType: { | |
Article: "Article", | |
UserPhoto: "UserPhoto", | |
PublicPhoto: "PublicPhoto", | |
UserVideo: "UserVideo", | |
PublicVideo: "PublicVideo", | |
UserPhotoGallery: "UserPhotoGallery", | |
PublicPhotoGallery: "PublicPhotoGallery", | |
PublicVideoGallery: "PublicVideoGallery", | |
PublicBlog: "PublicBlog", | |
GroupBlog: "GroupBlog", | |
UserBlog: "UserBlog", | |
BlogPost: "BlogPost", | |
Discussion: "Discussion", | |
Persona: "Persona", | |
CommunityGroup: "CommunityGroup", | |
Review: "Review" | |
}, | |
DiscoveryActivity: { | |
Commented: "Commented", | |
Rated: "Rated", | |
Recent: "Recent", | |
Recommended: "Recommended", | |
Reviewed: "Reviewed", | |
MostActive: "MostActive", | |
MostViewed: "MostViewed", | |
LeastViewed: "LeastViewed", | |
Created: "Created", | |
fromString: function(P) { | |
return l("DiscoveryActivity", P) | |
}, | |
toString: function(P) { | |
return j("DiscoveryActivity", P) | |
} | |
}, | |
SortEnum: { | |
TimeStampDescending: "TimeStampDescending", | |
TimeStampAscending: "TimeStampAscending" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment