Created
November 12, 2018 13:51
-
-
Save cxspxr/cb6e57007064b4388e721b3b3880ea27 to your computer and use it in GitHub Desktop.
unminified lipscore
This file contains hidden or 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
Picked up JAVA_TOOL_OPTIONS: -Xmx671m - XX: CICompilerCount = 2 - Dfile.encoding = UTF - 8 | |
/* | |
jQuery JavaScript Library v2.1.0-pre -ajax/script,-ajax/jsonp,-css,-css/addGetHookIf,-css/curCSS,-css/defaultDisplay,-css/hiddenVisibleSelectors,-css/support,-css/swap,-css/var/cssExpand,-css/var/getStyles,-css/var/isHidden,-css/var/rmargin,-css/var/rnumnonpx,-effects,-effects/Tween,-effects/animatedSelector,-dimensions,-offset,-deprecated,-event/alias,-event,-event/support,-wrap,-exports/amd,-core/ready | |
http://jquery.com/ | |
Includes Sizzle.js | |
http://sizzlejs.com/ | |
Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors | |
Released under the MIT license | |
http://jquery.org/license | |
Date: 2013-12-05T03:19Z | |
*/ | |
var O, aa, S; | |
S = document.createElement("link"); | |
S.href = "https://static.lipscore.com/assets/lipscore-v1.css"; | |
S.rel = "stylesheet"; | |
O = document.getElementsByTagName("head")[0]; | |
(aa = O.getElementsByTagName("link")[0]) ? O.insertBefore(S, aa): O.appendChild(S); | |
this.LipscoreVanillaEvent = function() { | |
function a() {} | |
a.addListener = function(a, b, c) { | |
return a.addEventListener ? a.addEventListener(b, c) : a.attachEvent("on" + b, function() { | |
return c.call(a) | |
}) | |
}; | |
a.trigger = function(a, b, c) { | |
null == c && (c = {}); | |
if ("function" === typeof window.CustomEvent) var e = new CustomEvent(b, c); | |
else e = document.createEvent("CustomEvent"), e.initCustomEvent(b, !0, !0, c); | |
return a.dispatchEvent(e) | |
}; | |
return a | |
}(); | |
(function() { | |
var a = [].indexOf || function(b) { | |
for (var c = 0, a = this.length; c < a; c++) | |
if (c in this && this[c] === b) return c; | |
return -1 | |
}; | |
var d = function() { | |
function b() { | |
this.xg(); | |
this.Ce = this.oa = !1; | |
this.callbacks = {} | |
} | |
b.prototype.init = function(c) { | |
this.appId = c.apiKey; | |
this.Og = c["autoPurchase?"] ? c.autoPurchase : !0; | |
this.jh = c["expandable?"] ? c.expandable : !0; | |
return this.De = c.autoAuth ? c.autoAuth : !1 | |
}; | |
b.prototype.apiKey = function() { | |
return this.appId | |
}; | |
b.prototype.isAutoPurchase = function() { | |
return this.Og | |
}; | |
b.prototype.isExpandable = | |
function() { | |
return this.jh | |
}; | |
b.prototype.isInitialized = function() { | |
return this.oa | |
}; | |
b.prototype.isInitializationStarted = function() { | |
return this.Ce | |
}; | |
b.prototype.initWidgets = function() { | |
return this.isInitialized() ? lipscore.xd.get() : lipscore.yd.init() | |
}; | |
b.prototype.on = function(c, b) { | |
return this.callbacks[c] = b | |
}; | |
b.prototype.off = function(c) { | |
return this.on(c, null) | |
}; | |
b.prototype.isLoggedIn = function() { | |
return this.isInitialized() && lipscore.ba.get().sa | |
}; | |
b.prototype.getLoginPopoverBlock = function() { | |
var c; | |
if (c = lipscore.ka.get()) return c.f() | |
}; | |
b.prototype.xg = function() { | |
this.gb = 5; | |
this.Ze = "brand"; | |
this.dd = "#e92631"; | |
this.af = "compact"; | |
this.Ye = "1-star"; | |
this.ke = {}; | |
this.ie = this.xe = this.Ec = !1; | |
this.Yc = this.Le = "" | |
}; | |
b.prototype.vc = function(c) { | |
var b; | |
this.gb = "10-stars" === c.rating_type ? 10 : 5; | |
this.Ze = c.rating_star_type; | |
this.dd = c.rating_star_color; | |
this.af = c.rating_widget_type; | |
this.Ye = c.rating_small_type; | |
this.Ec = c.cancelled; | |
this.xe = c.hide_widgets; | |
this.ie = c.enable_heatmap; | |
this.Le = parseInt(c.min_visible_votes || 0, 10); | |
this.hh = c.enable_review_modal; | |
this.Yc = c.name || | |
""; | |
var a = c.features; | |
var d = []; | |
var h = 0; | |
for (b = a.length; h < b; h++) c = a[h], d.push(this.ke[c] = 1) | |
}; | |
b.prototype.vg = function() { | |
this.oa = !0; | |
return this.Ce = !1 | |
}; | |
b.prototype.wg = function() { | |
window.LipscoreVanillaEvent.trigger(document, "lipscore-created") | |
}; | |
b.prototype.na = function(c, b) { | |
if (c = this.callbacks[c]) return c(b) | |
}; | |
b.prototype.rb = function() { | |
return 10 === this.gb | |
}; | |
b.prototype.yg = function() { | |
return "1-star" === this.Ye | |
}; | |
b.prototype.wc = function() { | |
return "compact" === this.af | |
}; | |
b.prototype.Pd = function(c) { | |
return null != this.ke[c] | |
}; | |
b.prototype.qb = function() { | |
var c; | |
return c = this.appId, 0 <= a.call(lipscore.j.ni(), c) | |
}; | |
b.prototype.Od = function() { | |
return 0 <= lipscore.Pg.indexOf(this.appId.toLowerCase()) | |
}; | |
b.prototype.Nd = function() { | |
if (null != window.lipscoreIframeResizeHandler) return window.lipscoreIframeResizeHandler() | |
}; | |
return b | |
}(); | |
window.lipscore = new d | |
}).call(this); | |
(function(a) { | |
function d(k, b) { | |
if (k === b) return V = !0, 0; | |
var a = b.compareDocumentPosition && k.compareDocumentPosition && k.compareDocumentPosition(b); | |
return a ? a & 1 ? k === w || c.contains(w, k) ? -1 : b === w || c.contains(w, b) ? 1 : 0 : a & 4 ? -1 : 1 : k.compareDocumentPosition ? -1 : 1 | |
} | |
function b(c, b) { | |
return b.toUpperCase() | |
} | |
function c(k, b) { | |
return new c.fn.init(k, b) | |
} | |
function e(k) { | |
var b = k.length, | |
a = c.type(k); | |
return "function" === a || c.isWindow(k) ? !1 : 1 === k.nodeType && b ? !0 : "array" === a || 0 === b || "number" === typeof b && 0 < b && b - 1 in k | |
} | |
function f(k, b, a) { | |
if (c.isFunction(b)) return c.grep(k, | |
function(c, k) { | |
return !!b.call(c, k, c) !== a | |
}); | |
if (b.nodeType) return c.grep(k, function(c) { | |
return c === b !== a | |
}); | |
if ("string" === typeof b) { | |
if (ua.test(b)) return c.filter(b, k, a); | |
b = c.filter(b, k) | |
} | |
return c.grep(k, function(c) { | |
return 0 <= T.call(b, c) !== a | |
}) | |
} | |
function g(c, b) { | |
for (; | |
(c = c[b]) && 1 !== c.nodeType;); | |
return c | |
} | |
function h(k) { | |
var b = ca[k] = {}; | |
c.each(k.match(K) || [], function(c, k) { | |
b[k] = !0 | |
}); | |
return b | |
} | |
function l() { | |
Object.defineProperty(this.cache = {}, 0, { | |
get: function() { | |
return {} | |
} | |
}); | |
this.expando = c.expando + Math.random() | |
} | |
function m(k, | |
b, a) { | |
if (void 0 === a && 1 === k.nodeType) | |
if (a = "data-" + b.replace(va, "-$1").toLowerCase(), a = k.getAttribute(a), "string" === typeof a) { | |
try { | |
a = "true" === a ? !0 : "false" === a ? !1 : "null" === a ? null : +a + "" === a ? +a : wa.test(a) ? c.parseJSON(a) : a | |
} catch (L) {} | |
B.set(k, b, a) | |
} else a = void 0; | |
return a | |
} | |
function p(k, b) { | |
return c.nodeName(k, "table") && c.nodeName(11 !== b.nodeType ? b : b.firstChild, "tr") ? k.getElementsByTagName("tbody")[0] || k.appendChild(k.ownerDocument.createElement("tbody")) : k | |
} | |
function q(c) { | |
c.type = (null !== c.getAttribute("type")) + "/" + | |
c.type; | |
return c | |
} | |
function D(c) { | |
var k = xa.exec(c.type); | |
k ? c.type = k[1] : c.removeAttribute("type"); | |
return c | |
} | |
function t(c, b) { | |
for (var k = 0, a = c.length; k < a; k++) x.set(c[k], "globalEval", !b || x.get(b[k], "globalEval")) | |
} | |
function z(k, b) { | |
var a, e; | |
if (1 === b.nodeType) { | |
if (x.hasData(k)) { | |
var d = x.ra(k); | |
var r = x.set(b, d); | |
if (d = d.je) | |
for (e in delete r.handle, r.je = {}, d) | |
for (r = 0, a = d[e].length; r < a; r++) c.event.add(b, e, d[e][r]) | |
} | |
B.hasData(k) && (k = B.ra(k), k = c.extend({}, k), B.set(b, k)) | |
} | |
} | |
function n(k, b) { | |
var a = k.getElementsByTagName ? k.getElementsByTagName(b || | |
"*") : k.querySelectorAll ? k.querySelectorAll(b || "*") : []; | |
return void 0 === b || b && c.nodeName(k, b) ? c.merge([k], a) : a | |
} | |
function v(b) { | |
return function(k, a) { | |
"string" !== typeof k && (a = k, k = "*"); | |
var e = 0, | |
d = k.toLowerCase().match(K) || []; | |
if (c.isFunction(a)) | |
for (; k = d[e++];) "+" === k[0] ? (k = k.slice(1) || "*", (b[k] = b[k] || []).unshift(a)) : (b[k] = b[k] || []).push(a) | |
} | |
} | |
function y(k, b, a, e) { | |
function d(g) { | |
var E; | |
r[g] = !0; | |
c.each(k[g] || [], function(c, k) { | |
c = k(b, a, e); | |
if ("string" === typeof c && !f && !r[c]) return b.ya.unshift(c), d(c), !1; | |
if (f) return !(E = | |
c) | |
}); | |
return E | |
} | |
var r = {}, | |
f = k === W; | |
return d(b.ya[0]) || !r["*"] && d("*") | |
} | |
function u(b, a) { | |
var k, e, d = c.ajaxSettings.flatOptions || {}; | |
for (k in a) void 0 !== a[k] && ((d[k] ? b : e || (e = {}))[k] = a[k]); | |
e && c.extend(!0, b, e); | |
return b | |
} | |
function C(b, a, e, d) { | |
var k; | |
if (c.isArray(a)) c.each(a, function(c, k) { | |
e || ya.test(b) ? d(b, k) : C(b + "[" + ("object" === typeof k ? c : "") + "]", k, e, d) | |
}); | |
else if (e || "object" !== c.type(a)) d(b, a); | |
else | |
for (k in a) C(b + "[" + k + "]", a[k], e, d) | |
} | |
var A = [], | |
F = A.slice, | |
da = A.concat, | |
X = A.push, | |
T = A.indexOf, | |
U = {}, | |
za = U.toString, | |
Aa = U.hasOwnProperty, | |
Ba = "".trim, | |
G = {}, | |
w = a.document, | |
Ca = a.jQuery, | |
Da = a.$, | |
Ea = /^-ms-/, | |
Fa = /-([\da-z])/gi; | |
c.fn = c.prototype = { | |
jquery: "2.1.0-pre -ajax/script,-ajax/jsonp,-css,-css/addGetHookIf,-css/curCSS,-css/defaultDisplay,-css/hiddenVisibleSelectors,-css/support,-css/swap,-css/var/cssExpand,-css/var/getStyles,-css/var/isHidden,-css/var/rmargin,-css/var/rnumnonpx,-effects,-effects/Tween,-effects/animatedSelector,-dimensions,-offset,-deprecated,-event/alias,-event,-event/support,-wrap,-exports/amd,-core/ready", | |
constructor: c, | |
La: "", | |
length: 0, | |
toArray: function() { | |
return F.call(this) | |
}, | |
get: function(c) { | |
return null != c ? 0 > c ? this[c + this.length] : this[c] : F.call(this) | |
}, | |
pushStack: function(b) { | |
b = c.merge(this.constructor(), b); | |
b.$c = this; | |
b.context = this.context; | |
return b | |
}, | |
each: function(b, a) { | |
return c.each(this, b, a) | |
}, | |
map: function(b) { | |
return this.pushStack(c.map(this, function(c, k) { | |
return b.call(c, k, c) | |
})) | |
}, | |
slice: function() { | |
return this.pushStack(F.apply(this, arguments)) | |
}, | |
first: function() { | |
return this.eq(0) | |
}, | |
last: function() { | |
return this.eq(-1) | |
}, | |
eq: function(c) { | |
var b = | |
this.length; | |
c = +c + (0 > c ? b : 0); | |
return this.pushStack(0 <= c && c < b ? [this[c]] : []) | |
}, | |
end: function() { | |
return this.$c || this.constructor(null) | |
}, | |
push: X, | |
sort: A.sort, | |
splice: A.splice | |
}; | |
c.extend = c.fn.extend = function() { | |
var b, a, e, d = arguments[0] || {}, | |
f = 1, | |
g = arguments.length, | |
h = !1; | |
"boolean" === typeof d && (h = d, d = arguments[f] || {}, f++); | |
"object" === typeof d || c.isFunction(d) || (d = {}); | |
f === g && (d = this, f--); | |
for (; f < g; f++) | |
if (null != (b = arguments[f])) | |
for (a in b) { | |
var l = d[a]; | |
var n = b[a]; | |
d !== n && (h && n && (c.isPlainObject(n) || (e = c.isArray(n))) ? (e ? (e = !1, l = l && c.isArray(l) ? l : []) : l = l && c.isPlainObject(l) ? l : {}, d[a] = c.extend(h, l, n)) : void 0 !== n && (d[a] = n)) | |
} | |
return d | |
}; | |
c.extend({ | |
expando: "jQuery" + ("2.1.0-pre -ajax/script,-ajax/jsonp,-css,-css/addGetHookIf,-css/curCSS,-css/defaultDisplay,-css/hiddenVisibleSelectors,-css/support,-css/swap,-css/var/cssExpand,-css/var/getStyles,-css/var/isHidden,-css/var/rmargin,-css/var/rnumnonpx,-effects,-effects/Tween,-effects/animatedSelector,-dimensions,-offset,-deprecated,-event/alias,-event,-event/support,-wrap,-exports/amd,-core/ready" + | |
Math.random()).replace(/\D/g, ""), | |
Vk: !0, | |
error: function(c) { | |
throw Error(c); | |
}, | |
noop: function() {}, | |
noConflict: function(b) { | |
a.$ === c && (a.$ = Da); | |
b && a.jQuery === c && (a.jQuery = Ca); | |
return c | |
}, | |
isFunction: function(b) { | |
return "function" === c.type(b) | |
}, | |
isArray: Array.isArray, | |
isWindow: function(c) { | |
return null != c && c === c.window | |
}, | |
isNumeric: function(c) { | |
return 0 <= c - parseFloat(c) | |
}, | |
isPlainObject: function(b) { | |
if ("object" !== c.type(b) || b.nodeType || c.isWindow(b)) return !1; | |
try { | |
if (b.constructor && !Aa.call(b.constructor.prototype, "isPrototypeOf")) return !1 | |
} catch (r) { | |
return !1 | |
} | |
return !0 | |
}, | |
isEmptyObject: function(c) { | |
for (var b in c) return !1; | |
return !0 | |
}, | |
type: function(c) { | |
return null == c ? c + "" : "object" === typeof c || "function" === typeof c ? U[za.call(c)] || "object" : typeof c | |
}, | |
globalEval: function(b) { | |
var a = eval; | |
if (b = c.trim(b)) 1 === b.indexOf("use strict") ? (a = w.createElement("script"), a.text = b, w.head.appendChild(a).parentNode.removeChild(a)) : a(b) | |
}, | |
sb: function(c) { | |
return c.replace(Ea, "ms-").replace(Fa, b) | |
}, | |
nodeName: function(c, b) { | |
return c.nodeName && c.nodeName.toLowerCase() === b.toLowerCase() | |
}, | |
each: function(c, | |
b, a) { | |
var k = 0, | |
d = c.length; | |
var f = e(c); | |
if (a) | |
if (f) | |
for (; k < d && (f = b.apply(c[k], a), !1 !== f); k++); | |
else | |
for (k in c) { | |
if (f = b.apply(c[k], a), !1 === f) break | |
} else if (f) | |
for (; k < d && (f = b.call(c[k], k, c[k]), !1 !== f); k++); | |
else | |
for (k in c) | |
if (f = b.call(c[k], k, c[k]), !1 === f) break; | |
return c | |
}, | |
trim: function(c) { | |
return null == c ? "" : Ba.call(c) | |
}, | |
makeArray: function(b, a) { | |
a = a || []; | |
null != b && (e(Object(b)) ? c.merge(a, "string" === typeof b ? [b] : b) : X.call(a, b)); | |
return a | |
}, | |
inArray: function(c, b, a) { | |
return null == b ? -1 : T.call(b, c, a) | |
}, | |
merge: function(c, b) { | |
for (var a = +b.length, k = 0, d = c.length; k < a; k++) c[d++] = b[k]; | |
c.length = d; | |
return c | |
}, | |
grep: function(c, b, a) { | |
for (var k = [], d = 0, e = c.length, f = !a; d < e; d++) a = !b(c[d], d), a !== f && k.push(c[d]); | |
return k | |
}, | |
map: function(c, b, a) { | |
var k = 0, | |
d = c.length, | |
f = []; | |
if (e(c)) | |
for (; k < d; k++) { | |
var r = b(c[k], k, a); | |
null != r && f.push(r) | |
} else | |
for (k in c) r = b(c[k], k, a), null != r && f.push(r); | |
return da.apply([], f) | |
}, | |
Mb: 1, | |
proxy: function(b, a) { | |
if ("string" === typeof a) { | |
var k = b[a]; | |
a = b; | |
b = k | |
} | |
if (c.isFunction(b)) { | |
var d = F.call(arguments, 2); | |
k = function() { | |
return b.apply(a || this, d.concat(F.call(arguments))) | |
}; | |
k.Mb = b.Mb = b.Mb || c.Mb++; | |
return k | |
} | |
}, | |
now: Date.now, | |
support: G | |
}); | |
c.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(c, b) { | |
U["[object " + b + "]"] = b.toLowerCase() | |
}); | |
A = a.document.documentElement; | |
var V, Ga = A.webkitMatchesSelector || A.mozMatchesSelector || A.oMatchesSelector || A.msMatchesSelector; | |
c.extend({ | |
find: function(b, a, d, e) { | |
var k, f = 0; | |
d = d || []; | |
a = a || w; | |
if (!b || "string" !== typeof b) return d; | |
if (1 !== (k = a.nodeType) && 9 !== k) return []; | |
if (e) | |
for (; a = e[f++];) c.find.matchesSelector(a, b) && d.push(a); | |
else c.merge(d, a.querySelectorAll(b)); | |
return d | |
}, | |
unique: function(c) { | |
var b, a = [], | |
k = 0, | |
e = 0; | |
V = !1; | |
c.sort(d); | |
if (V) { | |
for (; b = c[k++];) b === c[k] && (e = a.push(k)); | |
for (; e--;) c.splice(a[e], 1) | |
} | |
return c | |
}, | |
text: function(b) { | |
var a, k = "", | |
d = 0; | |
if (a = b.nodeType) { | |
if (1 === a || 9 === a || 11 === a) return b.textContent; | |
if (3 === a || 4 === a) return b.nodeValue | |
} else | |
for (; a = b[d++];) k += c.text(a); | |
return k | |
}, | |
contains: function(c, b) { | |
var a = 9 === c.nodeType ? c.documentElement : c; | |
b = b && b.parentNode; | |
return c === b || !(!b || 1 !== b.nodeType || !a.contains(b)) | |
}, | |
isXMLDoc: function(c) { | |
return "HTML" !== | |
(c.ownerDocument || c).documentElement.nodeName | |
}, | |
ub: { | |
Mg: {}, | |
match: { | |
Dc: /^(?:checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped)$/i, | |
xi: /^[\x20\t\r\n\f]*[>+~]/ | |
} | |
} | |
}); | |
c.extend(c.find, { | |
matches: function(b, a) { | |
return c.find(b, null, null, a) | |
}, | |
matchesSelector: function(c, b) { | |
return Ga.call(c, b) | |
}, | |
attr: function(c, b) { | |
return c.getAttribute(b) | |
} | |
}); | |
var ea = c.ub.match.xi, | |
fa = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, | |
ua = /^.[^:#\[\.,]*$/; | |
c.filter = function(b, a, d) { | |
var e = | |
a[0]; | |
d && (b = ":not(" + b + ")"); | |
return 1 === a.length && 1 === e.nodeType ? c.find.matchesSelector(e, b) ? [e] : [] : c.find.matches(b, c.grep(a, function(c) { | |
return 1 === c.nodeType | |
})) | |
}; | |
c.fn.extend({ | |
find: function(b) { | |
var a, d = [], | |
e = this, | |
k = e.length; | |
if ("string" !== typeof b) return this.pushStack(c(b).filter(function() { | |
for (a = 0; a < k; a++) | |
if (c.contains(e[a], this)) return !0 | |
})); | |
for (a = 0; a < k; a++) c.find(b, e[a], d); | |
d = this.pushStack(1 < k ? c.unique(d) : d); | |
d.La = this.La ? this.La + " " + b : b; | |
return d | |
}, | |
filter: function(c) { | |
return this.pushStack(f(this, c || [], !1)) | |
}, | |
not: function(c) { | |
return this.pushStack(f(this, c || [], !0)) | |
}, | |
is: function(b) { | |
return !!f(this, "string" === typeof b && ea.test(b) ? c(b) : b || [], !1).length | |
} | |
}); | |
var Ha = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/; | |
(c.fn.init = function(b, a) { | |
if (!b) return this; | |
if ("string" === typeof b) { | |
var d = "<" === b[0] && ">" === b[b.length - 1] && 3 <= b.length ? [null, b, null] : Ha.exec(b); | |
if (!d || !d[1] && a) return !a || a.jquery ? (a || Y).find(b) : this.constructor(a).find(b); | |
if (d[1]) { | |
if (a = a instanceof c ? a[0] : a, c.merge(this, c.parseHTML(d[1], a && a.nodeType ? a.ownerDocument || | |
a : w, !0)), fa.test(d[1]) && c.isPlainObject(a)) | |
for (d in a) | |
if (c.isFunction(this[d])) this[d](a[d]); | |
else this.attr(d, a[d]) | |
} else(a = w.getElementById(d[2])) && a.parentNode && (this.length = 1, this[0] = a), this.context = w, this.La = b; | |
return this | |
} | |
if (b.nodeType) return this.context = this[0] = b, this.length = 1, this; | |
if (c.isFunction(b)) return "undefined" !== typeof Y.ready ? Y.ready(b) : b(c); | |
void 0 !== b.La && (this.La = b.La, this.context = b.context); | |
return c.makeArray(b, this) | |
}).prototype = c.fn; | |
var Y = c(w); | |
var Ia = /^(?:parents|prev(?:Until|All))/, | |
Ja = { | |
children: !0, | |
contents: !0, | |
next: !0, | |
prev: !0 | |
}; | |
c.extend({ | |
dir: function(b, a, d) { | |
for (var e = [], k = void 0 !== d; | |
(b = b[a]) && 9 !== b.nodeType;) | |
if (1 === b.nodeType) { | |
if (k && c(b).is(d)) break; | |
e.push(b) | |
} | |
return e | |
}, | |
tf: function(c, b) { | |
for (var a = []; c; c = c.nextSibling) 1 === c.nodeType && c !== b && a.push(c); | |
return a | |
} | |
}); | |
c.fn.extend({ | |
has: function(b) { | |
var a = c(b, this), | |
d = a.length; | |
return this.filter(function() { | |
for (var b = 0; b < d; b++) | |
if (c.contains(this, a[b])) return !0 | |
}) | |
}, | |
closest: function(b, a) { | |
for (var d, e = 0, k = this.length, f = [], g = ea.test(b) || "string" !== | |
typeof b ? c(b, a || this.context) : 0; e < k; e++) | |
for (d = this[e]; d && d !== a; d = d.parentNode) | |
if (11 > d.nodeType && (g ? -1 < g.index(d) : 1 === d.nodeType && c.find.matchesSelector(d, b))) { | |
f.push(d); | |
break | |
} | |
return this.pushStack(1 < f.length ? c.unique(f) : f) | |
}, | |
index: function(b) { | |
return b ? "string" === typeof b ? T.call(c(b), this[0]) : T.call(this, b.jquery ? b[0] : b) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 | |
}, | |
add: function(b, a) { | |
b = "string" === typeof b ? c(b, a) : c.makeArray(b && b.nodeType ? [b] : b); | |
b = c.merge(this.get(), b); | |
return this.pushStack(c.unique(b)) | |
}, | |
addBack: function(c) { | |
return this.add(null == c ? this.$c : this.$c.filter(c)) | |
} | |
}); | |
c.each({ | |
parent: function(c) { | |
return (c = c.parentNode) && 11 !== c.nodeType ? c : null | |
}, | |
parents: function(b) { | |
return c.dir(b, "parentNode") | |
}, | |
parentsUntil: function(b, a, d) { | |
return c.dir(b, "parentNode", d) | |
}, | |
next: function(c) { | |
return g(c, "nextSibling") | |
}, | |
prev: function(c) { | |
return g(c, "previousSibling") | |
}, | |
nextAll: function(b) { | |
return c.dir(b, "nextSibling") | |
}, | |
prevAll: function(b) { | |
return c.dir(b, "previousSibling") | |
}, | |
nextUntil: function(b, a, d) { | |
return c.dir(b, "nextSibling", | |
d) | |
}, | |
prevUntil: function(b, a, d) { | |
return c.dir(b, "previousSibling", d) | |
}, | |
siblings: function(b) { | |
return c.tf((b.parentNode || {}).firstChild, b) | |
}, | |
children: function(b) { | |
return c.tf(b.firstChild) | |
}, | |
contents: function(b) { | |
return b.contentDocument || c.merge([], b.childNodes) | |
} | |
}, function(b, a) { | |
c.fn[b] = function(d, e) { | |
var k = c.map(this, a, d); | |
"Until" !== b.slice(-5) && (e = d); | |
e && "string" === typeof e && (k = c.filter(e, k)); | |
1 < this.length && (Ja[b] || c.unique(k), Ia.test(b) && k.reverse()); | |
return this.pushStack(k) | |
} | |
}); | |
var K = /\S+/g, | |
ca = {}; | |
c.Callbacks = | |
function(b) { | |
function a(c) { | |
d = b.memory && c; | |
e = !0; | |
l = f || 0; | |
f = 0; | |
g = n.length; | |
for (k = !0; n && l < g; l++) | |
if (!1 === n[l].apply(c[0], c[1]) && b.dm) { | |
d = !1; | |
break | |
} | |
k = !1; | |
n && (t ? t.length && a(t.shift()) : d ? n = [] : m.disable()) | |
} | |
b = "string" === typeof b ? ca[b] || h(b) : c.extend({}, b); | |
var d, e, k, f, g, l, n = [], | |
t = !b.once && [], | |
m = { | |
add: function() { | |
if (n) { | |
var e = n.length; | |
(function Ka(a) { | |
c.each(a, function(a, d) { | |
a = c.type(d); | |
"function" === a ? b.unique && m.has(d) || n.push(d) : d && d.length && "string" !== a && Ka(d) | |
}) | |
})(arguments); | |
k ? g = n.length : d && (f = e, a(d)) | |
} | |
return this | |
}, | |
remove: function() { | |
n && | |
c.each(arguments, function(b, a) { | |
for (var d; - 1 < (d = c.inArray(a, n, d));) n.splice(d, 1), k && (d <= g && g--, d <= l && l--) | |
}); | |
return this | |
}, | |
has: function(b) { | |
return b ? -1 < c.inArray(b, n) : !(!n || !n.length) | |
}, | |
empty: function() { | |
n = []; | |
g = 0; | |
return this | |
}, | |
disable: function() { | |
n = t = d = void 0; | |
return this | |
}, | |
disabled: function() { | |
return !n | |
}, | |
lock: function() { | |
t = void 0; | |
d || m.disable(); | |
return this | |
}, | |
locked: function() { | |
return !t | |
}, | |
fireWith: function(c, b) { | |
!n || e && !t || (b = b || [], b = [c, b.slice ? b.slice() : b], k ? t.push(b) : a(b)); | |
return this | |
}, | |
fire: function() { | |
m.fireWith(this, | |
arguments); | |
return this | |
}, | |
fired: function() { | |
return !!e | |
} | |
}; | |
return m | |
}; | |
c.extend({ | |
Deferred: function(b) { | |
var a = [ | |
["resolve", "done", c.Callbacks("once memory"), "resolved"], | |
["reject", "fail", c.Callbacks("once memory"), "rejected"], | |
["notify", "progress", c.Callbacks("memory")] | |
], | |
d = "pending", | |
e = { | |
state: function() { | |
return d | |
}, | |
always: function() { | |
k.done(arguments).fail(arguments); | |
return this | |
}, | |
then: function() { | |
var b = arguments; | |
return c.Deferred(function(d) { | |
c.each(a, function(a, f) { | |
var g = c.isFunction(b[a]) && b[a]; | |
k[f[1]](function() { | |
var b = | |
g && g.apply(this, arguments); | |
if (b && c.isFunction(b.promise)) b.promise().done(d.resolve).fail(d.reject).progress(d.notify); | |
else d[f[0] + "With"](this === e ? d.promise() : this, g ? [b] : arguments) | |
}) | |
}); | |
b = null | |
}).promise() | |
}, | |
promise: function(b) { | |
return null != b ? c.extend(b, e) : e | |
} | |
}, | |
k = {}; | |
e.pipe = e.then; | |
c.each(a, function(c, b) { | |
var f = b[2], | |
g = b[3]; | |
e[b[1]] = f.add; | |
g && f.add(function() { | |
d = g | |
}, a[c ^ 1][2].disable, a[2][2].lock); | |
k[b[0]] = function() { | |
k[b[0] + "With"](this === k ? e : this, arguments); | |
return this | |
}; | |
k[b[0] + "With"] = f.fireWith | |
}); | |
e.promise(k); | |
b && b.call(k, k); | |
return k | |
}, | |
when: function(b) { | |
function a(c, b, a) { | |
return function(d) { | |
b[c] = this; | |
a[c] = 1 < arguments.length ? F.call(arguments) : d; | |
a === l ? g.notifyWith(b, a) : --f || g.resolveWith(b, a) | |
} | |
} | |
var d = 0, | |
e = F.call(arguments), | |
k = e.length, | |
f = 1 !== k || b && c.isFunction(b.promise) ? k : 0, | |
g = 1 === f ? b : c.Deferred(), | |
h; | |
if (1 < k) { | |
var l = Array(k); | |
var n = Array(k); | |
for (h = Array(k); d < k; d++) e[d] && c.isFunction(e[d].promise) ? e[d].promise().done(a(d, h, e)).fail(g.reject).progress(a(d, n, l)) : --f | |
} | |
f || g.resolveWith(h, e); | |
return g.promise() | |
} | |
}); | |
var P = c.ra = | |
function(b, a, d, e, f, g, h) { | |
var k = 0, | |
r = b.length, | |
l = null == d; | |
if ("object" === c.type(d)) | |
for (k in f = !0, d) c.ra(b, a, k, d[k], !0, g, h); | |
else if (void 0 !== e && (f = !0, c.isFunction(e) || (h = !0), l && (h ? (a.call(b, e), a = null) : (l = a, a = function(b, a, d) { | |
return l.call(c(b), d) | |
})), a)) | |
for (; k < r; k++) a(b[k], d, h ? e : e.call(b[k], k, a(b[k], d))); | |
return f ? b : l ? a.call(b) : r ? a(b[0], d) : g | |
}; | |
c.Rd = function(c) { | |
return 1 === c.nodeType || 9 === c.nodeType || !+c.nodeType | |
}; | |
l.uid = 1; | |
l.accepts = c.Rd; | |
l.prototype = { | |
key: function(b) { | |
if (!l.accepts(b)) return 0; | |
var a = {}, | |
d = b[this.expando]; | |
if (!d) { | |
d = l.uid++; | |
try { | |
a[this.expando] = { | |
value: d | |
}, Object.defineProperties(b, a) | |
} catch (L) { | |
a[this.expando] = d, c.extend(b, a) | |
} | |
} | |
this.cache[d] || (this.cache[d] = {}); | |
return d | |
}, | |
set: function(b, a, d) { | |
var e; | |
b = this.key(b); | |
var k = this.cache[b]; | |
if ("string" === typeof a) k[a] = d; | |
else if (c.isEmptyObject(k)) c.extend(this.cache[b], a); | |
else | |
for (e in a) k[e] = a[e]; | |
return k | |
}, | |
get: function(c, b) { | |
c = this.cache[this.key(c)]; | |
return void 0 === b ? c : c[b] | |
}, | |
ra: function(b, a, d) { | |
if (void 0 === a || a && "string" === typeof a && void 0 === d) return d = this.get(b, a), | |
void 0 !== d ? d : this.get(b, c.sb(a)); | |
this.set(b, a, d); | |
return void 0 !== d ? d : a | |
}, | |
remove: function(b, a) { | |
var d = this.key(b); | |
b = this.cache[d]; | |
if (void 0 === a) this.cache[d] = {}; | |
else | |
for (c.isArray(a) ? d = a.concat(a.map(c.sb)) : (d = c.sb(a), d = a in b ? [a, d] : d in b ? [d] : d.match(K) || []), a = d.length; a--;) delete b[d[a]] | |
}, | |
hasData: function(b) { | |
return !c.isEmptyObject(this.cache[b[this.expando]] || {}) | |
} | |
}; | |
var x = new l, | |
B = new l, | |
wa = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, | |
va = /([A-Z])/g; | |
c.extend({ | |
hasData: function(c) { | |
return B.hasData(c) || x.hasData(c) | |
}, | |
data: function(c, b, a) { | |
return B.ra(c, b, a) | |
}, | |
removeData: function(c, b) { | |
B.remove(c, b) | |
}, | |
Jk: function(c, b, a) { | |
return x.ra(c, b, a) | |
}, | |
Kk: function(c, b) { | |
x.remove(c, b) | |
} | |
}); | |
c.fn.extend({ | |
data: function(b, a) { | |
var d, e = this[0], | |
k = e && e.attributes; | |
if (void 0 === b) { | |
if (this.length) { | |
var f = B.get(e); | |
if (1 === e.nodeType && !x.get(e, "hasDataAttrs")) { | |
for (d = k.length; d--;) { | |
var g = k[d].name; | |
0 === g.indexOf("data-") && (g = c.sb(g.slice(5)), m(e, g, f[g])) | |
} | |
x.set(e, "hasDataAttrs", !0) | |
} | |
} | |
return f | |
} | |
return "object" === typeof b ? this.each(function() { | |
B.set(this, b) | |
}) : | |
P(this, function(a) { | |
var d = c.sb(b); | |
if (e && void 0 === a) { | |
var k = B.get(e, b); | |
if (void 0 !== k) return k; | |
k = B.get(e, d); | |
if (void 0 !== k) return k; | |
k = m(e, d, void 0); | |
if (void 0 !== k) return k | |
} else this.each(function() { | |
var c = B.get(this, d); | |
B.set(this, d, a); - 1 !== b.indexOf("-") && void 0 !== c && B.set(this, b, a) | |
}) | |
}, null, a, 1 < arguments.length, null, !0) | |
}, | |
removeData: function(c) { | |
return this.each(function() { | |
B.remove(this, c) | |
}) | |
} | |
}); | |
c.extend({ | |
queue: function(b, a, d) { | |
if (b) { | |
a = (a || "fx") + "queue"; | |
var e = x.get(b, a); | |
d && (!e || c.isArray(d) ? e = x.ra(b, a, c.makeArray(d)) : | |
e.push(d)); | |
return e || [] | |
} | |
}, | |
dequeue: function(b, a) { | |
function d() { | |
c.dequeue(b, a) | |
} | |
a = a || "fx"; | |
var e = c.queue(b, a), | |
k = e.length, | |
f = e.shift(), | |
g = c.Qd(b, a); | |
"inprogress" === f && (f = e.shift(), k--); | |
f && ("fx" === a && e.unshift("inprogress"), delete g.stop, f.call(b, d, g)); | |
!k && g && g.empty.fire() | |
}, | |
Qd: function(b, a) { | |
var d = a + "queueHooks"; | |
return x.get(b, d) || x.ra(b, d, { | |
empty: c.Callbacks("once memory").add(function() { | |
x.remove(b, [a + "queue", d]) | |
}) | |
}) | |
} | |
}); | |
c.fn.extend({ | |
queue: function(b, a) { | |
var d = 2; | |
"string" !== typeof b && (a = b, b = "fx", d--); | |
return arguments.length < | |
d ? c.queue(this[0], b) : void 0 === a ? this : this.each(function() { | |
var d = c.queue(this, b, a); | |
c.Qd(this, b); | |
"fx" === b && "inprogress" !== d[0] && c.dequeue(this, b) | |
}) | |
}, | |
dequeue: function(b) { | |
return this.each(function() { | |
c.dequeue(this, b) | |
}) | |
}, | |
clearQueue: function(c) { | |
return this.queue(c || "fx", []) | |
}, | |
promise: function(b, a) { | |
function d() { | |
--k || f.resolveWith(g, [g]) | |
} | |
var e, k = 1, | |
f = c.Deferred(), | |
g = this, | |
h = this.length; | |
"string" !== typeof b && (a = b, b = void 0); | |
for (b = b || "fx"; h--;)(e = x.get(g[h], b + "queueHooks")) && e.empty && (k++, e.empty.add(d)); | |
d(); | |
return f.promise(a) | |
} | |
}); | |
var ha = /^(?:checkbox|radio)$/i; | |
(function() { | |
var c = w.createDocumentFragment().appendChild(w.createElement("div")); | |
c.innerHTML = "<input type='radio' checked='checked' name='t'/>"; | |
G.Tg = c.cloneNode(!0).cloneNode(!0).lastChild.checked; | |
c = w.createElement("input"); | |
c.type = "checkbox"; | |
c.checked = !0; | |
G.Ai = c.cloneNode(!0).checked | |
})(); | |
var ia = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, | |
ja = /<([\w:]+)/, | |
La = /<|&#?\w+;/, | |
Ma = /<(?:script|style|link)/i, | |
Na = /checked\s*(?:[^=]|=\s*.checked.)/i, | |
ka = | |
/^$|\/(?:java|ecma)script/i, | |
xa = /^true\/(.*)/, | |
Oa = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g, | |
H = { | |
Ne: [1, "<select multiple='multiple'>", "</select>"], | |
fk: [1, "<table>", "</table>"], | |
Ok: [2, "<table><colgroup>", "</colgroup></table>"], | |
im: [2, "<table><tbody>", "</tbody></table>"], | |
ck: [3, "<table><tbody><tr>", "</tr></tbody></table>"], | |
ug: [0, "", ""] | |
}; | |
H.al = H.Ne; | |
H.tbody = H.fm = H.Pk = H.caption = H.fk; | |
H.gm = H.ck; | |
c.extend({ | |
clone: function(b, a, d) { | |
var e, f = b.cloneNode(!0), | |
k = c.contains(b.ownerDocument, b); | |
if (!(G.Ai || 1 !== b.nodeType && 11 !== | |
b.nodeType || c.isXMLDoc(b))) { | |
var g = n(f); | |
var h = n(b); | |
var l = 0; | |
for (e = h.length; l < e; l++) { | |
var r = h[l], | |
m = g[l], | |
v = m.nodeName.toLowerCase(); | |
if ("input" === v && ha.test(r.type)) m.checked = r.checked; | |
else if ("input" === v || "textarea" === v) m.defaultValue = r.defaultValue | |
} | |
} | |
if (a) | |
if (d) | |
for (h = h || n(b), g = g || n(f), l = 0, e = h.length; l < e; l++) z(h[l], g[l]); | |
else z(b, f); | |
g = n(f, "script"); | |
0 < g.length && t(g, !k && n(b, "script")); | |
return f | |
}, | |
be: function(b, a, d, e) { | |
for (var f, k, g, h = a.createDocumentFragment(), l = [], r = 0, m = b.length; r < m; r++) | |
if ((f = b[r]) || 0 === f) | |
if ("object" === | |
c.type(f)) c.merge(l, f.nodeType ? [f] : f); | |
else if (La.test(f)) { | |
k = k || h.appendChild(a.createElement("div")); | |
g = (ja.exec(f) || ["", ""])[1].toLowerCase(); | |
g = H[g] || H.ug; | |
k.innerHTML = g[1] + f.replace(ia, "<$1></$2>") + g[2]; | |
for (g = g[0]; g--;) k = k.lastChild; | |
c.merge(l, k.childNodes); | |
k = h.firstChild; | |
k.textContent = "" | |
} else l.push(a.createTextNode(f)); | |
h.textContent = ""; | |
for (r = 0; f = l[r++];) | |
if (!e || -1 === c.inArray(f, e)) | |
if (b = c.contains(f.ownerDocument, f), k = n(h.appendChild(f), "script"), b && t(k), d) | |
for (g = 0; f = k[g++];) ka.test(f.type || "") && d.push(f); | |
return h | |
}, | |
Ib: function(b) { | |
for (var a, d, e, f, k, g, h = c.event.special, l = 0; void 0 !== (d = b[l]); l++) { | |
if (c.Rd(d) && (k = d[x.expando]) && (a = x.cache[k])) { | |
e = Object.keys(a.je || {}); | |
if (e.length) | |
for (g = 0; void 0 !== (f = e[g]); g++) h[f] ? c.event.remove(d, f) : c.Jl(d, f, a.handle); | |
x.cache[k] && delete x.cache[k] | |
} | |
delete B.cache[d[B.expando]] | |
} | |
} | |
}); | |
c.fn.extend({ | |
text: function(b) { | |
return P(this, function(b) { | |
return void 0 === b ? c.text(this) : this.empty().each(function() { | |
if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) this.textContent = | |
b | |
}) | |
}, null, b, arguments.length) | |
}, | |
append: function() { | |
return this.Ta(arguments, function(c) { | |
1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || p(this, c).appendChild(c) | |
}) | |
}, | |
prepend: function() { | |
return this.Ta(arguments, function(c) { | |
if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { | |
var b = p(this, c); | |
b.insertBefore(c, b.firstChild) | |
} | |
}) | |
}, | |
before: function() { | |
return this.Ta(arguments, function(c) { | |
this.parentNode && this.parentNode.insertBefore(c, this) | |
}) | |
}, | |
after: function() { | |
return this.Ta(arguments, function(c) { | |
this.parentNode && | |
this.parentNode.insertBefore(c, this.nextSibling) | |
}) | |
}, | |
remove: function(b, a) { | |
for (var d = b ? c.filter(b, this) : this, e = 0; null != (b = d[e]); e++) a || 1 !== b.nodeType || c.Ib(n(b)), b.parentNode && (a && c.contains(b.ownerDocument, b) && t(n(b, "script")), b.parentNode.removeChild(b)); | |
return this | |
}, | |
empty: function() { | |
for (var b, a = 0; null != (b = this[a]); a++) 1 === b.nodeType && (c.Ib(n(b, !1)), b.textContent = ""); | |
return this | |
}, | |
clone: function(b, a) { | |
b = null == b ? !1 : b; | |
a = null == a ? b : a; | |
return this.map(function() { | |
return c.clone(this, b, a) | |
}) | |
}, | |
html: function(b) { | |
return P(this, | |
function(b) { | |
var a = this[0] || {}, | |
d = 0, | |
e = this.length; | |
if (void 0 === b && 1 === a.nodeType) return a.innerHTML; | |
if ("string" === typeof b && !Ma.test(b) && !H[(ja.exec(b) || ["", ""])[1].toLowerCase()]) { | |
b = b.replace(ia, "<$1></$2>"); | |
try { | |
for (; d < e; d++) a = this[d] || {}, 1 === a.nodeType && (c.Ib(n(a, !1)), a.innerHTML = b); | |
a = 0 | |
} catch (J) {} | |
} | |
a && this.empty().append(b) | |
}, null, b, arguments.length) | |
}, | |
replaceWith: function() { | |
var b = arguments[0]; | |
this.Ta(arguments, function(a) { | |
b = this.parentNode; | |
c.Ib(n(this)); | |
b && b.replaceChild(a, this) | |
}); | |
return b && (b.length || | |
b.nodeType) ? this : this.remove() | |
}, | |
detach: function(b) { | |
return this.remove(b, !0) | |
}, | |
Ta: function(b, a) { | |
b = da.apply([], b); | |
var d, e = 0, | |
f = this.length, | |
k = this, | |
g = f - 1, | |
h = b[0], | |
l = c.isFunction(h); | |
if (l || 1 < f && "string" === typeof h && !G.Tg && Na.test(h)) return this.each(function(c) { | |
var d = k.eq(c); | |
l && (b[0] = h.call(this, c, d.html())); | |
d.Ta(b, a) | |
}); | |
if (f) { | |
var t = c.be(b, this[0].ownerDocument, !1, this); | |
var r = t.firstChild; | |
1 === t.childNodes.length && (t = r); | |
if (r) { | |
r = c.map(n(t, "script"), q); | |
for (d = r.length; e < f; e++) { | |
var m = t; | |
e !== g && (m = c.clone(m, !0, !0), | |
d && c.merge(r, n(m, "script"))); | |
a.call(this[e], m, e) | |
} | |
if (d) | |
for (t = r[r.length - 1].ownerDocument, c.map(r, D), e = 0; e < d; e++) m = r[e], ka.test(m.type || "") && !x.ra(m, "globalEval") && c.contains(t, m) && (m.src ? c.Md && c.Md(m.src) : c.globalEval(m.textContent.replace(Oa, ""))) | |
} | |
} | |
return this | |
} | |
}); | |
c.each({ | |
appendTo: "append", | |
prependTo: "prepend", | |
insertBefore: "before", | |
insertAfter: "after", | |
replaceAll: "replaceWith" | |
}, function(b, a) { | |
c.fn[b] = function(b) { | |
for (var d = [], e = c(b), f = e.length - 1, k = 0; k <= f; k++) b = k === f ? this : this.clone(!0), c(e[k])[a](b), X.apply(d, | |
b.get()); | |
return this.pushStack(d) | |
} | |
}); | |
c.fn.delay = function(b, a) { | |
b = c.fx ? c.fx.bm[b] || b : b; | |
return this.queue(a || "fx", function(c, a) { | |
var d = setTimeout(c, b); | |
a.stop = function() { | |
clearTimeout(d) | |
} | |
}) | |
}; | |
(function() { | |
var b = w.createElement("input"), | |
c = w.createElement("select"), | |
a = c.appendChild(w.createElement("option")); | |
b.type = "checkbox"; | |
G.Ug = "" !== b.value; | |
G.Ei = a.selected; | |
c.disabled = !0; | |
G.Di = !a.disabled; | |
b = w.createElement("input"); | |
b.value = "t"; | |
b.type = "radio"; | |
G.Si = "t" === b.value | |
})(); | |
var Q = c.ub.Mg; | |
c.fn.extend({ | |
attr: function(b, | |
a) { | |
return P(this, c.attr, b, a, 1 < arguments.length) | |
}, | |
removeAttr: function(b) { | |
return this.each(function() { | |
c.removeAttr(this, b) | |
}) | |
} | |
}); | |
c.extend({ | |
attr: function(b, a, d) { | |
var e, f = b.nodeType; | |
if (b && 3 !== f && 8 !== f && 2 !== f) { | |
if ("undefined" === typeof b.getAttribute) return c.prop(b, a, d); | |
if (1 !== f || !c.isXMLDoc(b)) { | |
a = a.toLowerCase(); | |
var k = c.Ng[a] || (c.ub.match.Dc.test(a) ? Pa : void 0) | |
} | |
if (void 0 !== d) | |
if (null === d) c.removeAttr(b, a); | |
else { | |
if (k && "set" in k && void 0 !== (e = k.set(b, d, a))) return e; | |
b.setAttribute(a, d + ""); | |
return d | |
} else { | |
if (k && "get" in | |
k && null !== (e = k.get(b, a))) return e; | |
e = c.find.attr(b, a); | |
return null == e ? void 0 : e | |
} | |
} | |
}, | |
removeAttr: function(b, a) { | |
var d = 0, | |
e = a && a.match(K); | |
if (e && 1 === b.nodeType) | |
for (; a = e[d++];) { | |
var f = c.Vb[a] || a; | |
c.ub.match.Dc.test(a) && (b[f] = !1); | |
b.removeAttribute(a) | |
} | |
}, | |
Ng: { | |
type: { | |
set: function(b, a) { | |
if (!G.Si && "radio" === a && c.nodeName(b, "input")) { | |
var d = b.value; | |
b.setAttribute("type", a); | |
d && (b.value = d); | |
return a | |
} | |
} | |
} | |
} | |
}); | |
var Pa = { | |
set: function(b, a, d) { | |
!1 === a ? c.removeAttr(b, d) : b.setAttribute(d, d); | |
return d | |
} | |
}; | |
c.each(c.ub.match.Dc.source.match(/\w+/g), | |
function(b, a) { | |
var d = Q[a] || c.find.attr; | |
Q[a] = function(b, c, a) { | |
if (!a) { | |
var e = Q[c]; | |
Q[c] = f; | |
var f = null != d(b, c, a) ? c.toLowerCase() : null; | |
Q[c] = e | |
} | |
return f | |
} | |
}); | |
var Qa = /^(?:input|select|textarea|button)$/i; | |
c.fn.extend({ | |
prop: function(b, a) { | |
return P(this, c.prop, b, a, 1 < arguments.length) | |
}, | |
removeProp: function(b) { | |
return this.each(function() { | |
delete this[c.Vb[b] || b] | |
}) | |
} | |
}); | |
c.extend({ | |
Vb: { | |
"for": "htmlFor", | |
"class": "className" | |
}, | |
prop: function(b, a, d) { | |
var e, f = b.nodeType; | |
if (b && 3 !== f && 8 !== f && 2 !== f) { | |
if (1 !== f || !c.isXMLDoc(b)) { | |
a = c.Vb[a] || | |
a; | |
var g = c.We[a] | |
} | |
return void 0 !== d ? g && "set" in g && void 0 !== (e = g.set(b, d, a)) ? e : b[a] = d : g && "get" in g && null !== (e = g.get(b, a)) ? e : b[a] | |
} | |
}, | |
We: { | |
tabIndex: { | |
get: function(b) { | |
return b.hasAttribute("tabindex") || Qa.test(b.nodeName) || b.href ? b.tabIndex : -1 | |
} | |
} | |
} | |
}); | |
G.Ei || (c.We.selected = { | |
get: function(b) { | |
(b = b.parentNode) && b.parentNode && b.parentNode.selectedIndex; | |
return null | |
} | |
}); | |
c.each("tabIndex readOnly maxLength cellSpacing cellPadding rowSpan colSpan useMap frameBorder contentEditable".split(" "), function() { | |
c.Vb[this.toLowerCase()] = | |
this | |
}); | |
var Z = /[\t\r\n\f]/g; | |
c.fn.extend({ | |
addClass: function(b) { | |
var a, d, e, f = 0, | |
g = this.length; | |
var k = "string" === typeof b && b; | |
if (c.isFunction(b)) return this.each(function(a) { | |
c(this).addClass(b.call(this, a, this.className)) | |
}); | |
if (k) | |
for (k = (b || "").match(K) || []; f < g; f++) { | |
var h = this[f]; | |
if (a = 1 === h.nodeType && (h.className ? (" " + h.className + " ").replace(Z, " ") : " ")) { | |
for (e = 0; d = k[e++];) 0 > a.indexOf(" " + d + " ") && (a += d + " "); | |
a = c.trim(a); | |
h.className !== a && (h.className = a) | |
} | |
} | |
return this | |
}, | |
removeClass: function(b) { | |
var a, d, e, f = 0, | |
g = this.length; | |
var k = 0 === arguments.length || "string" === typeof b && b; | |
if (c.isFunction(b)) return this.each(function(a) { | |
c(this).removeClass(b.call(this, a, this.className)) | |
}); | |
if (k) | |
for (k = (b || "").match(K) || []; f < g; f++) { | |
var h = this[f]; | |
if (a = 1 === h.nodeType && (h.className ? (" " + h.className + " ").replace(Z, " ") : "")) { | |
for (e = 0; d = k[e++];) | |
for (; 0 <= a.indexOf(" " + d + " ");) a = a.replace(" " + d + " ", " "); | |
a = b ? c.trim(a) : ""; | |
h.className !== a && (h.className = a) | |
} | |
} | |
return this | |
}, | |
toggleClass: function(b, a) { | |
var d = typeof b; | |
return "boolean" === typeof a && "string" === | |
d ? a ? this.addClass(b) : this.removeClass(b) : c.isFunction(b) ? this.each(function(d) { | |
c(this).toggleClass(b.call(this, d, this.className, a), a) | |
}) : this.each(function() { | |
if ("string" === d) | |
for (var a, e = 0, f = c(this), g = b.match(K) || []; a = g[e++];) f.hasClass(a) ? f.removeClass(a) : f.addClass(a); | |
else if ("undefined" === d || "boolean" === d) this.className && x.set(this, "__className__", this.className), this.className = this.className || !1 === b ? "" : x.get(this, "__className__") || "" | |
}) | |
}, | |
hasClass: function(b) { | |
b = " " + b + " "; | |
for (var c = 0, a = this.length; c < | |
a; c++) | |
if (1 === this[c].nodeType && 0 <= (" " + this[c].className + " ").replace(Z, " ").indexOf(b)) return !0; | |
return !1 | |
} | |
}); | |
var Ra = /\r/g; | |
c.fn.extend({ | |
val: function(b) { | |
var a, d, e = this[0]; | |
if (arguments.length) { | |
var f = c.isFunction(b); | |
return this.each(function(d) { | |
1 === this.nodeType && (d = f ? b.call(this, d, c(this).val()) : b, null == d ? d = "" : "number" === typeof d ? d += "" : c.isArray(d) && (d = c.map(d, function(b) { | |
return null == b ? "" : b + "" | |
})), a = c.kb[this.type] || c.kb[this.nodeName.toLowerCase()], a && "set" in a && void 0 !== a.set(this, d, "value") || (this.value = | |
d)) | |
}) | |
} | |
if (e) { | |
if ((a = c.kb[e.type] || c.kb[e.nodeName.toLowerCase()]) && "get" in a && void 0 !== (d = a.get(e, "value"))) return d; | |
d = e.value; | |
return "string" === typeof d ? d.replace(Ra, "") : null == d ? "" : d | |
} | |
} | |
}); | |
c.extend({ | |
kb: { | |
Ne: { | |
get: function(b) { | |
var c = b.attributes.value; | |
return !c || c.specified ? b.value : b.text | |
} | |
}, | |
select: { | |
get: function(b) { | |
for (var a, d = b.options, e = b.selectedIndex, f = (b = "select-one" === b.type || 0 > e) ? null : [], g = b ? e + 1 : d.length, k = 0 > e ? g : b ? e : 0; k < g; k++) | |
if (a = d[k], !(!a.selected && k !== e || (G.Di ? a.disabled : null !== a.getAttribute("disabled")) || | |
a.parentNode.disabled && c.nodeName(a.parentNode, "optgroup"))) { | |
a = c(a).val(); | |
if (b) return a; | |
f.push(a) | |
} | |
return f | |
}, | |
set: function(b, a) { | |
for (var d, e = b.options, f = c.makeArray(a), g = e.length; g--;) | |
if (a = e[g], a.selected = 0 <= c.inArray(c(a).val(), f)) d = !0; | |
d || (b.selectedIndex = -1); | |
return f | |
} | |
} | |
} | |
}); | |
c.each(["radio", "checkbox"], function() { | |
c.kb[this] = { | |
set: function(b, a) { | |
if (c.isArray(a)) return b.checked = 0 <= c.inArray(c(b).val(), a) | |
} | |
}; | |
G.Ug || (c.kb[this].get = function(b) { | |
return null === b.getAttribute("value") ? "on" : b.value | |
}) | |
}); | |
var la = c.now(), | |
ma = /\?/; | |
c.parseJSON = function(b) { | |
return JSON.parse(b + "") | |
}; | |
c.parseXML = function(b) { | |
if (!b || "string" !== typeof b) return null; | |
try { | |
var a = new DOMParser; | |
var d = a.parseFromString(b, "text/xml") | |
} catch (L) { | |
d = void 0 | |
} | |
d && !d.getElementsByTagName("parsererror").length || c.error("Invalid XML: " + b); | |
return d | |
}; | |
var Sa = /#.*$/, | |
na = /([?&])_=[^&]*/, | |
Ta = /^(.*?):[ \t]*([^\r\n]*)$/mg, | |
Ua = /^(?:GET|HEAD)$/, | |
Va = /^\/\//, | |
oa = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/, | |
pa = {}, | |
W = {}, | |
qa = "*/".concat("*"); | |
try { | |
var M = location.href | |
} catch (k) { | |
M = | |
w.createElement("a"), M.href = "", M = M.href | |
} | |
var N = oa.exec(M.toLowerCase()) || []; | |
c.extend({ | |
active: 0, | |
lastModified: {}, | |
Ic: {}, | |
ajaxSettings: { | |
url: M, | |
type: "GET", | |
isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(N[1]), | |
global: !0, | |
processData: !0, | |
async: !0, | |
contentType: "application/x-www-form-urlencoded; charset=UTF-8", | |
accepts: { | |
"*": qa, | |
text: "text/plain", | |
html: "text/html", | |
xml: "application/xml, text/xml", | |
json: "application/json, text/javascript" | |
}, | |
contents: { | |
xml: /xml/, | |
html: /html/, | |
json: /json/ | |
}, | |
responseFields: { | |
xml: "responseXML", | |
text: "responseText", | |
json: "responseJSON" | |
}, | |
converters: { | |
"* text": String, | |
"text html": !0, | |
"text json": c.parseJSON, | |
"text xml": c.parseXML | |
}, | |
flatOptions: { | |
url: !0, | |
context: !0 | |
} | |
}, | |
ajaxSetup: function(b, a) { | |
return a ? u(u(b, c.ajaxSettings), a) : u(c.ajaxSettings, b) | |
}, | |
ajaxPrefilter: v(pa), | |
Kg: v(W), | |
ajax: function(b, a) { | |
function d(b, a, d, g) { | |
var l = a; | |
if (2 !== r) { | |
r = 2; | |
h && clearTimeout(h); | |
e = void 0; | |
f = g || ""; | |
u.readyState = 0 < b ? 4 : 0; | |
g = 200 <= b && 300 > b || 304 === b; | |
if (d) { | |
var p = n; | |
for (var y = u, q, C, F, E, J = p.contents, x = p.ya; | |
"*" === x[0];) x.shift(), void 0 === q && | |
(q = p.mimeType || y.getResponseHeader("Content-Type")); | |
if (q) | |
for (C in J) | |
if (J[C] && J[C].test(q)) { | |
x.unshift(C); | |
break | |
} | |
if (x[0] in d) F = x[0]; | |
else { | |
for (C in d) { | |
if (!x[0] || p.converters[C + " " + x[0]]) { | |
F = C; | |
break | |
} | |
E || (E = C) | |
} | |
F = F || E | |
} | |
F ? (F !== x[0] && x.unshift(F), p = d[F]) : p = void 0 | |
} | |
a: { | |
d = n; | |
q = p; | |
C = u; | |
F = g; | |
var L; | |
y = {}; | |
J = d.ya.slice(); | |
if (J[1]) | |
for (w in d.converters) y[w.toLowerCase()] = d.converters[w]; | |
for (E = J.shift(); E;) { | |
d.responseFields[E] && (C[d.responseFields[E]] = q); | |
!I && F && d.dataFilter && (q = d.dataFilter(q, d.dataType)); | |
var I = E; | |
if (E = J.shift()) | |
if ("*" === | |
E) E = I; | |
else if ("*" !== I && I !== E) { | |
var w = y[I + " " + E] || y["* " + E]; | |
if (!w) | |
for (L in y) | |
if (p = L.split(" "), p[1] === E && (w = y[I + " " + p[0]] || y["* " + p[0]])) { | |
!0 === w ? w = y[L] : !0 !== y[L] && (E = p[0], J.unshift(p[1])); | |
break | |
} | |
if (!0 !== w) | |
if (w && d["throws"]) q = w(q); | |
else try { | |
q = w(q) | |
} catch (Wa) { | |
p = { | |
state: "parsererror", | |
error: w ? Wa : "No conversion from " + I + " to " + E | |
}; | |
break a | |
} | |
} | |
} | |
p = { | |
state: "success", | |
data: q | |
} | |
} | |
if (g) | |
if (n.ifModified && ((l = u.getResponseHeader("Last-Modified")) && (c.lastModified[A] = l), (l = u.getResponseHeader("etag")) && (c.Ic[A] = l)), 204 === b || "HEAD" === | |
n.type) l = "nocontent"; | |
else if (304 === b) l = "notmodified"; | |
else { | |
l = p.state; | |
var ba = p.data; | |
var B = p.error; | |
g = !B | |
} else if (B = l, b || !l) l = "error", 0 > b && (b = 0); | |
u.status = b; | |
u.statusText = (a || l) + ""; | |
g ? v.resolveWith(t, [ba, l, u]) : v.rejectWith(t, [u, l, B]); | |
u.statusCode(D); | |
D = void 0; | |
k && m.trigger(g ? "ajaxSuccess" : "ajaxError", [u, n, g ? ba : B]); | |
z.fireWith(t, [u, l]); | |
k && (m.trigger("ajaxComplete", [u, n]), --c.active || c.event.trigger("ajaxStop")) | |
} | |
} | |
"object" === typeof b && (a = b, b = void 0); | |
a = a || {}; | |
var e, f, g, h, k, l, n = c.ajaxSetup({}, a), | |
t = n.context || n, | |
m = | |
n.context && (t.nodeType || t.jquery) ? c(t) : c.event, | |
v = c.Deferred(), | |
z = c.Callbacks("once memory"), | |
D = n.statusCode || {}, | |
p = {}, | |
q = {}, | |
r = 0, | |
C = "canceled", | |
u = { | |
readyState: 0, | |
getResponseHeader: function(b) { | |
var c; | |
if (2 === r) { | |
if (!g) | |
for (g = {}; c = Ta.exec(f);) g[c[1].toLowerCase()] = c[2]; | |
c = g[b.toLowerCase()] | |
} | |
return null == c ? null : c | |
}, | |
getAllResponseHeaders: function() { | |
return 2 === r ? f : null | |
}, | |
setRequestHeader: function(b, c) { | |
var a = b.toLowerCase(); | |
r || (b = q[a] = q[a] || b, p[b] = c); | |
return this | |
}, | |
overrideMimeType: function(b) { | |
r || (n.mimeType = b); | |
return this | |
}, | |
statusCode: function(b) { | |
var c; | |
if (b) | |
if (2 > r) | |
for (c in b) D[c] = [D[c], b[c]]; | |
else u.always(b[u.status]); | |
return this | |
}, | |
abort: function(b) { | |
b = b || C; | |
e && e.abort(b); | |
d(0, b); | |
return this | |
} | |
}; | |
v.promise(u).complete = z.add; | |
u.success = u.done; | |
u.error = u.fail; | |
n.url = ((b || n.url || M) + "").replace(Sa, "").replace(Va, N[1] + "//"); | |
n.type = a.method || a.type || n.method || n.type; | |
n.ya = c.trim(n.dataType || "*").toLowerCase().match(K) || [""]; | |
null == n.crossDomain && (b = oa.exec(n.url.toLowerCase()), n.crossDomain = !(!b || b[1] === N[1] && b[2] === N[2] && (b[3] || ("http:" === | |
b[1] ? "80" : "443")) === (N[3] || ("http:" === N[1] ? "80" : "443")))); | |
n.data && n.processData && "string" !== typeof n.data && (n.data = c.param(n.data, n.traditional)); | |
y(pa, n, a, u); | |
if (2 === r) return u; | |
(k = n.global) && 0 === c.active++ && c.event.trigger("ajaxStart"); | |
n.type = n.type.toUpperCase(); | |
n.Pc = !Ua.test(n.type); | |
var A = n.url; | |
n.Pc || (n.data && (A = n.url += (ma.test(A) ? "&" : "?") + n.data, delete n.data), !1 === n.cache && (n.url = na.test(A) ? A.replace(na, "$1_=" + la++) : A + (ma.test(A) ? "&" : "?") + "_=" + la++)); | |
n.ifModified && (c.lastModified[A] && u.setRequestHeader("If-Modified-Since", | |
c.lastModified[A]), c.Ic[A] && u.setRequestHeader("If-None-Match", c.Ic[A])); | |
(n.data && n.Pc && !1 !== n.contentType || a.contentType) && u.setRequestHeader("Content-Type", n.contentType); | |
u.setRequestHeader("Accept", n.ya[0] && n.accepts[n.ya[0]] ? n.accepts[n.ya[0]] + ("*" !== n.ya[0] ? ", " + qa + "; q=0.01" : "") : n.accepts["*"]); | |
for (l in n.headers) u.setRequestHeader(l, n.headers[l]); | |
if (n.beforeSend && (!1 === n.beforeSend.call(t, u, n) || 2 === r)) return u.abort(); | |
C = "abort"; | |
for (l in { | |
success: 1, | |
error: 1, | |
complete: 1 | |
}) u[l](n[l]); | |
if (e = y(W, n, a, | |
u)) { | |
u.readyState = 1; | |
k && m.trigger("ajaxSend", [u, n]); | |
n.async && 0 < n.timeout && (h = setTimeout(function() { | |
u.abort("timeout") | |
}, n.timeout)); | |
try { | |
r = 1, e.send(p, d) | |
} catch (I) { | |
if (2 > r) d(-1, I); | |
else throw I; | |
} | |
} else d(-1, "No Transport"); | |
return u | |
}, | |
getJSON: function(b, a, d) { | |
return c.get(b, a, d, "json") | |
}, | |
getScript: function(b, a) { | |
return c.get(b, void 0, a, "script") | |
} | |
}); | |
c.each(["get", "post"], function(b, a) { | |
c[a] = function(b, d, e, f) { | |
c.isFunction(d) && (f = f || e, e = d, d = void 0); | |
return c.ajax({ | |
url: b, | |
type: a, | |
dataType: f, | |
data: d, | |
success: e | |
}) | |
} | |
}); | |
c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), | |
function(b, a) { | |
c.fn[a] = function(b) { | |
return this.on(a, b) | |
} | |
}); | |
c.Md = function(b) { | |
return c.ajax({ | |
url: b, | |
type: "GET", | |
dataType: "script", | |
async: !1, | |
global: !1, | |
"throws": !0 | |
}) | |
}; | |
var Xa = /%20/g, | |
ya = /\[\]$/, | |
ra = /\r?\n/g, | |
Ya = /^(?:submit|button|image|reset|file)$/i, | |
Za = /^(?:input|select|textarea|keygen)/i; | |
c.param = function(b, a) { | |
function d(b, a) { | |
a = c.isFunction(a) ? a() : null == a ? "" : a; | |
f[f.length] = encodeURIComponent(b) + "=" + encodeURIComponent(a) | |
} | |
var e, f = []; | |
void 0 === a && (a = c.ajaxSettings && c.ajaxSettings.traditional); | |
if (c.isArray(b) || b.jquery && | |
!c.isPlainObject(b)) c.each(b, function() { | |
d(this.name, this.value) | |
}); | |
else | |
for (e in b) C(e, b[e], a, d); | |
return f.join("&").replace(Xa, "+") | |
}; | |
c.fn.extend({ | |
serialize: function() { | |
return c.param(this.serializeArray()) | |
}, | |
serializeArray: function() { | |
return this.map(function() { | |
var b = c.prop(this, "elements"); | |
return b ? c.makeArray(b) : this | |
}).filter(function() { | |
var b = this.type; | |
return this.name && !c(this).is(":disabled") && Za.test(this.nodeName) && !Ya.test(b) && (this.checked || !ha.test(b)) | |
}).map(function(b, a) { | |
b = c(this).val(); | |
return null == | |
b ? null : c.isArray(b) ? c.map(b, function(b) { | |
return { | |
name: a.name, | |
value: b.replace(ra, "\r\n") | |
} | |
}) : { | |
name: a.name, | |
value: b.replace(ra, "\r\n") | |
} | |
}).get() | |
} | |
}); | |
c.ajaxSettings.xhr = function() { | |
if (this.isLocal) try { | |
return new ActiveXObject("Microsoft.XMLHTTP") | |
} catch (k) {} | |
try { | |
return new XMLHttpRequest | |
} catch (k) {} | |
}; | |
var $a = 0, | |
sa = {}, | |
ab = { | |
0: 200, | |
1223: 204 | |
}, | |
R = c.ajaxSettings.xhr(); | |
G.cors = !!R && "withCredentials" in R; | |
G.ajax = R = !!R; | |
c.Kg(function(b) { | |
var c; | |
if (G.cors || R && !b.crossDomain) return { | |
send: function(a, d) { | |
var e, f = b.xhr(), | |
g = ++$a; | |
f.open(b.type, | |
b.url, b.async, b.username, b.password); | |
if (b.xhrFields) | |
for (e in b.xhrFields) f[e] = b.xhrFields[e]; | |
b.mimeType && f.overrideMimeType && f.overrideMimeType(b.mimeType); | |
b.crossDomain || a["X-Requested-With"] || (a["X-Requested-With"] = "XMLHttpRequest"); | |
for (e in a) f.setRequestHeader(e, a[e]); | |
c = function(b) { | |
return function() { | |
c && (delete sa[g], c = f.onload = f.onerror = null, "abort" === b ? f.abort() : "error" === b ? d(f.status, f.statusText) : d(ab[f.status] || f.status, f.statusText, "string" === typeof f.responseText ? { | |
text: f.responseText | |
} : void 0, | |
f.getAllResponseHeaders())) | |
} | |
}; | |
f.onload = c(); | |
f.onerror = c("error"); | |
c = sa[g] = c("abort"); | |
f.send(b.Pc && b.data || null) | |
}, | |
abort: function() { | |
c && c() | |
} | |
} | |
}); | |
c.parseHTML = function(b, a, d) { | |
if (!b || "string" !== typeof b) return null; | |
"boolean" === typeof a && (d = a, a = !1); | |
a = a || w; | |
var e = fa.exec(b); | |
d = !d && []; | |
if (e) return [a.createElement(e[1])]; | |
e = c.be([b], a, d); | |
d && d.length && c(d).remove(); | |
return c.merge([], e.childNodes) | |
}; | |
var ta = c.fn.load; | |
c.fn.load = function(b, a, d) { | |
if ("string" !== typeof b && ta) return ta.apply(this, arguments); | |
var e, f, g = this, | |
h = | |
b.indexOf(" "); | |
if (0 <= h) { | |
var l = b.slice(h); | |
b = b.slice(0, h) | |
} | |
c.isFunction(a) ? (d = a, a = void 0) : a && "object" === typeof a && (e = "POST"); | |
0 < g.length && c.ajax({ | |
url: b, | |
type: e, | |
dataType: "html", | |
data: a | |
}).done(function(b) { | |
f = arguments; | |
g.html(l ? c("<div>").append(c.parseHTML(b)).find(l) : b) | |
}).complete(d && function(b, c) { | |
g.each(d, f || [b.responseText, c, b]) | |
}); | |
return this | |
}; | |
return a.jQuery = a.$ = c | |
})(this); | |
(function() { | |
function a(b) { | |
var c = require("crypto"), | |
a = require("buffer").Gk; | |
return function(d) { | |
if ("string" === typeof d) return c.ah("sha1").update(d, "utf8").digest("hex"); | |
if (d.constructor === ArrayBuffer) d = new Uint8Array(d); | |
else if (void 0 === d.length) return b(d); | |
return c.ah("sha1").update(new a(d)).digest("hex") | |
} | |
} | |
function d(c) { | |
return function(a) { | |
return (new b(!0)).update(a)[c]() | |
} | |
} | |
function b(b) { | |
b ? (q[0] = q[16] = q[1] = q[2] = q[3] = q[4] = q[5] = q[6] = q[7] = q[8] = q[9] = q[10] = q[11] = q[12] = q[13] = q[14] = q[15] = 0, this.ta = q) : this.ta = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; | |
this.Xa = 1732584193; | |
this.Ya = 4023233417; | |
this.Za = 2562383102; | |
this.$a = 271733878; | |
this.bb = 3285377520; | |
this.block = this.start = this.xa = this.Oc = 0; | |
this.Jc = this.Ob = !1; | |
this.first = !0 | |
} | |
var c = "object" === typeof window ? window : {}, | |
e = !c.Ik && "object" === typeof process && process.uk && process.uk.node; | |
e && (c = global); | |
var f = !c.Hk && "object" === typeof module && module.kh, | |
g = "function" === typeof define && define.Lk, | |
h = "0123456789abcdef".split(""), | |
l = [-2147483648, 8388608, 32768, 128], | |
m = [24, 16, 8, 0], | |
p = ["hex", "array", | |
"digest", "arrayBuffer" | |
], | |
q = []; | |
b.prototype.update = function(b) { | |
if (!this.Jc) { | |
var a = "string" !== typeof b; | |
a && b.constructor === c.ArrayBuffer && (b = new Uint8Array(b)); | |
for (var d, e = 0, f, g = b.length || 0, h = this.ta; e < g;) { | |
this.Ob && (this.Ob = !1, h[0] = this.block, h[16] = h[1] = h[2] = h[3] = h[4] = h[5] = h[6] = h[7] = h[8] = h[9] = h[10] = h[11] = h[12] = h[13] = h[14] = h[15] = 0); | |
if (a) | |
for (f = this.start; e < g && 64 > f; ++e) h[f >> 2] |= b[e] << m[f++ & 3]; | |
else | |
for (f = this.start; e < g && 64 > f; ++e) d = b.charCodeAt(e), 128 > d ? h[f >> 2] |= d << m[f++ & 3] : (2048 > d ? h[f >> 2] |= (192 | d >> 6) << m[f++ & | |
3] : (55296 > d || 57344 <= d ? h[f >> 2] |= (224 | d >> 12) << m[f++ & 3] : (d = 65536 + ((d & 1023) << 10 | b.charCodeAt(++e) & 1023), h[f >> 2] |= (240 | d >> 18) << m[f++ & 3], h[f >> 2] |= (128 | d >> 12 & 63) << m[f++ & 3]), h[f >> 2] |= (128 | d >> 6 & 63) << m[f++ & 3]), h[f >> 2] |= (128 | d & 63) << m[f++ & 3]); | |
this.mi = f; | |
this.xa += f - this.start; | |
64 <= f ? (this.block = h[16], this.start = f - 64, this.hash(), this.Ob = !0) : this.start = f | |
} | |
4294967295 < this.xa && (this.Oc += this.xa / 4294967296 << 0, this.xa %= 4294967296); | |
return this | |
} | |
}; | |
b.prototype.finalize = function() { | |
if (!this.Jc) { | |
this.Jc = !0; | |
var b = this.ta, | |
c = this.mi; | |
b[16] = this.block; | |
b[c >> 2] |= l[c & 3]; | |
this.block = b[16]; | |
56 <= c && (this.Ob || this.hash(), b[0] = this.block, b[16] = b[1] = b[2] = b[3] = b[4] = b[5] = b[6] = b[7] = b[8] = b[9] = b[10] = b[11] = b[12] = b[13] = b[14] = b[15] = 0); | |
b[14] = this.Oc << 3 | this.xa >> 29; | |
b[15] = this.xa << 3; | |
this.hash() | |
} | |
}; | |
b.prototype.hash = function() { | |
var b = this.Xa, | |
c = this.Ya, | |
a = this.Za, | |
d = this.$a, | |
e = this.bb, | |
f, g = this.ta; | |
for (f = 16; 80 > f; ++f) { | |
var h = g[f - 3] ^ g[f - 8] ^ g[f - 14] ^ g[f - 16]; | |
g[f] = h << 1 | h >>> 31 | |
} | |
for (f = 0; 20 > f; f += 5) { | |
var l = c & a | ~c & d; | |
h = b << 5 | b >>> 27; | |
e = h + l + e + 1518500249 + g[f] << 0; | |
c = c << 30 | c >>> 2; | |
l = | |
b & c | ~b & a; | |
h = e << 5 | e >>> 27; | |
d = h + l + d + 1518500249 + g[f + 1] << 0; | |
b = b << 30 | b >>> 2; | |
l = e & b | ~e & c; | |
h = d << 5 | d >>> 27; | |
a = h + l + a + 1518500249 + g[f + 2] << 0; | |
e = e << 30 | e >>> 2; | |
l = d & e | ~d & b; | |
h = a << 5 | a >>> 27; | |
c = h + l + c + 1518500249 + g[f + 3] << 0; | |
d = d << 30 | d >>> 2; | |
l = a & d | ~a & e; | |
h = c << 5 | c >>> 27; | |
b = h + l + b + 1518500249 + g[f + 4] << 0; | |
a = a << 30 | a >>> 2 | |
} | |
for (; 40 > f; f += 5) l = c ^ a ^ d, h = b << 5 | b >>> 27, e = h + l + e + 1859775393 + g[f] << 0, c = c << 30 | c >>> 2, l = b ^ c ^ a, h = e << 5 | e >>> 27, d = h + l + d + 1859775393 + g[f + 1] << 0, b = b << 30 | b >>> 2, l = e ^ b ^ c, h = d << 5 | d >>> 27, a = h + l + a + 1859775393 + g[f + 2] << 0, e = e << 30 | e >>> 2, l = d ^ e ^ b, h = a << 5 | a >>> 27, c = | |
h + l + c + 1859775393 + g[f + 3] << 0, d = d << 30 | d >>> 2, l = a ^ d ^ e, h = c << 5 | c >>> 27, b = h + l + b + 1859775393 + g[f + 4] << 0, a = a << 30 | a >>> 2; | |
for (; 60 > f; f += 5) l = c & a | c & d | a & d, h = b << 5 | b >>> 27, e = h + l + e - 1894007588 + g[f] << 0, c = c << 30 | c >>> 2, l = b & c | b & a | c & a, h = e << 5 | e >>> 27, d = h + l + d - 1894007588 + g[f + 1] << 0, b = b << 30 | b >>> 2, l = e & b | e & c | b & c, h = d << 5 | d >>> 27, a = h + l + a - 1894007588 + g[f + 2] << 0, e = e << 30 | e >>> 2, l = d & e | d & b | e & b, h = a << 5 | a >>> 27, c = h + l + c - 1894007588 + g[f + 3] << 0, d = d << 30 | d >>> 2, l = a & d | a & e | d & e, h = c << 5 | c >>> 27, b = h + l + b - 1894007588 + g[f + 4] << 0, a = a << 30 | a >>> 2; | |
for (; 80 > f; f += 5) l = c ^ a ^ d, h = b << | |
5 | b >>> 27, e = h + l + e - 899497514 + g[f] << 0, c = c << 30 | c >>> 2, l = b ^ c ^ a, h = e << 5 | e >>> 27, d = h + l + d - 899497514 + g[f + 1] << 0, b = b << 30 | b >>> 2, l = e ^ b ^ c, h = d << 5 | d >>> 27, a = h + l + a - 899497514 + g[f + 2] << 0, e = e << 30 | e >>> 2, l = d ^ e ^ b, h = a << 5 | a >>> 27, c = h + l + c - 899497514 + g[f + 3] << 0, d = d << 30 | d >>> 2, l = a ^ d ^ e, h = c << 5 | c >>> 27, b = h + l + b - 899497514 + g[f + 4] << 0, a = a << 30 | a >>> 2; | |
this.Xa = this.Xa + b << 0; | |
this.Ya = this.Ya + c << 0; | |
this.Za = this.Za + a << 0; | |
this.$a = this.$a + d << 0; | |
this.bb = this.bb + e << 0 | |
}; | |
b.prototype.hex = function() { | |
this.finalize(); | |
var b = this.Xa, | |
c = this.Ya, | |
a = this.Za, | |
d = this.$a, | |
e = this.bb; | |
return h[b >> 28 & 15] + h[b >> 24 & 15] + h[b >> 20 & 15] + h[b >> 16 & 15] + h[b >> 12 & 15] + h[b >> 8 & 15] + h[b >> 4 & 15] + h[b & 15] + h[c >> 28 & 15] + h[c >> 24 & 15] + h[c >> 20 & 15] + h[c >> 16 & 15] + h[c >> 12 & 15] + h[c >> 8 & 15] + h[c >> 4 & 15] + h[c & 15] + h[a >> 28 & 15] + h[a >> 24 & 15] + h[a >> 20 & 15] + h[a >> 16 & 15] + h[a >> 12 & 15] + h[a >> 8 & 15] + h[a >> 4 & 15] + h[a & 15] + h[d >> 28 & 15] + h[d >> 24 & 15] + h[d >> 20 & 15] + h[d >> 16 & 15] + h[d >> 12 & 15] + h[d >> 8 & 15] + h[d >> 4 & 15] + h[d & 15] + h[e >> 28 & 15] + h[e >> 24 & 15] + h[e >> 20 & 15] + h[e >> 16 & 15] + h[e >> 12 & 15] + h[e >> 8 & 15] + h[e >> 4 & 15] + h[e & 15] | |
}; | |
b.prototype.toString = b.prototype.hex; | |
b.prototype.digest = | |
function() { | |
this.finalize(); | |
var b = this.Xa, | |
c = this.Ya, | |
a = this.Za, | |
d = this.$a, | |
e = this.bb; | |
return [b >> 24 & 255, b >> 16 & 255, b >> 8 & 255, b & 255, c >> 24 & 255, c >> 16 & 255, c >> 8 & 255, c & 255, a >> 24 & 255, a >> 16 & 255, a >> 8 & 255, a & 255, d >> 24 & 255, d >> 16 & 255, d >> 8 & 255, d & 255, e >> 24 & 255, e >> 16 & 255, e >> 8 & 255, e & 255] | |
}; | |
b.prototype.array = b.prototype.digest; | |
b.prototype.arrayBuffer = function() { | |
this.finalize(); | |
var b = new ArrayBuffer(20), | |
c = new DataView(b); | |
c.setUint32(0, this.Xa); | |
c.setUint32(4, this.Ya); | |
c.setUint32(8, this.Za); | |
c.setUint32(12, this.$a); | |
c.setUint32(16, | |
this.bb); | |
return b | |
}; | |
var D = function() { | |
var c = d("hex"); | |
e && (c = a(c)); | |
c.create = function() { | |
return new b | |
}; | |
c.update = function(b) { | |
return c.create().update(b) | |
}; | |
for (var f = 0; f < p.length; ++f) { | |
var g = p[f]; | |
c[g] = d(g) | |
} | |
return c | |
}(); | |
f ? module.kh = D : (c.sha1 = D, g && define(function() { | |
return D | |
})) | |
})(); | |
lipscore.jQuery = window.jQuery.noConflict(!0); | |
(function(a) { | |
function d(b) { | |
var c = b.length, | |
a = c % 4; | |
b = (0 < c ? e[b.charAt(0)] << 18 : 0) | (1 < c ? e[b.charAt(1)] << 12 : 0) | (2 < c ? e[b.charAt(2)] << 6 : 0) | (3 < c ? e[b.charAt(3)] : 0); | |
b = [f(b >>> 16), f(b >>> 8 & 255), f(b & 255)]; | |
b.length -= [0, 0, 2, 1][a]; | |
return b.join("") | |
} | |
function b(b) { | |
switch (b.length) { | |
case 4: | |
return b = ((7 & b.charCodeAt(0)) << 18 | (63 & b.charCodeAt(1)) << 12 | (63 & b.charCodeAt(2)) << 6 | 63 & b.charCodeAt(3)) - 65536, f((b >>> 10) + 55296) + f((b & 1023) + 56320); | |
case 3: | |
return f((15 & b.charCodeAt(0)) << 12 | (63 & b.charCodeAt(1)) << 6 | 63 & b.charCodeAt(2)); | |
default: | |
return f((31 & | |
b.charCodeAt(0)) << 6 | 63 & b.charCodeAt(1)) | |
} | |
} | |
var c = a.Base64Decoder, | |
e = function(b) { | |
for (var c = {}, a = 0, d = b.length; a < d; a++) c[b.charAt(a)] = a; | |
return c | |
}("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"), | |
f = String.fromCharCode, | |
g = /[\u00c0-\u00df][\u0080-\u00bf]|[\u00e0-\u00ef][\u0080-\u00bf]{2}|[\u00f0-\u00f7][\u0080-\u00bf]{3}/g, | |
h = a.atob ? function(b) { | |
return a.atob(b) | |
} : function(b) { | |
return b.replace(/[\s\S]{1,4}/g, d) | |
}; | |
a.Base64Decoder = { | |
decode: function(c) { | |
return h(String(c).replace(/[-_]/g, function(b) { | |
return "-" == | |
b ? "+" : "/" | |
}).replace(/[^A-Za-z0-9\+\/]/g, "")).replace(g, b) | |
}, | |
noConflict: function() { | |
var b = a.Base64Decoder; | |
a.Base64Decoder = c; | |
return b | |
} | |
} | |
})(this); | |
(function() { | |
function a(c, a) { | |
if (!a) { | |
c = d(c); | |
a = ""; | |
for (var e = c.length, f = 0, l, m, p; f < e;) | |
if (m = c[f++], 127 >= m) a += String.fromCharCode(m); | |
else { | |
if (191 < m && 223 >= m) p = m & 31, l = 1; | |
else if (239 >= m) p = m & 15, l = 2; | |
else if (247 >= m) p = m & 7, l = 3; | |
else throw "not a UTF-8 string"; | |
for (var q = 0; q < l; ++q) { | |
m = c[f++]; | |
if (128 > m || 191 < m) throw "not a UTF-8 string"; | |
p <<= 6; | |
p += m & 63 | |
} | |
if (55296 <= p && 57343 >= p) throw "not a UTF-8 string"; | |
if (1114111 < p) throw "not a UTF-8 string"; | |
65535 >= p ? a += String.fromCharCode(p) : (p -= 65536, a += String.fromCharCode((p >> 10) + 55296), a += String.fromCharCode((p & | |
1023) + 56320)) | |
} | |
return a | |
} | |
a = ""; | |
var D = c.indexOf("="); - 1 === D && (D = c.length); | |
e = 0; | |
for (var t = D >> 3 << 3; e < t;) { | |
f = b[c.charAt(e++)]; | |
l = b[c.charAt(e++)]; | |
m = b[c.charAt(e++)]; | |
p = b[c.charAt(e++)]; | |
q = b[c.charAt(e++)]; | |
var z = b[c.charAt(e++)]; | |
var n = b[c.charAt(e++)]; | |
var v = b[c.charAt(e++)]; | |
a += String.fromCharCode((f << 3 | l >>> 2) & 255) + String.fromCharCode((l << 6 | m << 1 | p >>> 4) & 255) + String.fromCharCode((p << 4 | q >>> 1) & 255) + String.fromCharCode((q << 7 | z << 2 | n >>> 3) & 255) + String.fromCharCode((n << 5 | v) & 255) | |
} | |
f = D - t; | |
2 === f ? (f = b[c.charAt(e++)], l = b[c.charAt(e++)], | |
a += String.fromCharCode((f << 3 | l >>> 2) & 255)) : 4 === f ? (f = b[c.charAt(e++)], l = b[c.charAt(e++)], m = b[c.charAt(e++)], p = b[c.charAt(e++)], a += String.fromCharCode((f << 3 | l >>> 2) & 255) + String.fromCharCode((l << 6 | m << 1 | p >>> 4) & 255)) : 5 === f ? (f = b[c.charAt(e++)], l = b[c.charAt(e++)], m = b[c.charAt(e++)], p = b[c.charAt(e++)], q = b[c.charAt(e++)], a += String.fromCharCode((f << 3 | l >>> 2) & 255) + String.fromCharCode((l << 6 | m << 1 | p >>> 4) & 255) + String.fromCharCode((p << 4 | q >>> 1) & 255)) : 7 === f && (f = b[c.charAt(e++)], l = b[c.charAt(e++)], m = b[c.charAt(e++)], p = | |
b[c.charAt(e++)], q = b[c.charAt(e++)], z = b[c.charAt(e++)], n = b[c.charAt(e++)], a += String.fromCharCode((f << 3 | l >>> 2) & 255) + String.fromCharCode((l << 6 | m << 1 | p >>> 4) & 255) + String.fromCharCode((p << 4 | q >>> 1) & 255) + String.fromCharCode((q << 7 | z << 2 | n >>> 3) & 255)); | |
return a | |
} | |
function d(c) { | |
c = c.replace(/=/g, ""); | |
for (var a, d, e, l, m, p, q, D, t = [], z = 0, n = c.length, v = 0, y = n >> 3 << 3; v < y;) a = b[c.charAt(v++)], d = b[c.charAt(v++)], e = b[c.charAt(v++)], l = b[c.charAt(v++)], m = b[c.charAt(v++)], p = b[c.charAt(v++)], q = b[c.charAt(v++)], D = b[c.charAt(v++)], t[z++] = | |
(a << 3 | d >>> 2) & 255, t[z++] = (d << 6 | e << 1 | l >>> 4) & 255, t[z++] = (l << 4 | m >>> 1) & 255, t[z++] = (m << 7 | p << 2 | q >>> 3) & 255, t[z++] = (q << 5 | D) & 255; | |
a = n - y; | |
2 === a ? (a = b[c.charAt(v++)], d = b[c.charAt(v++)], t[z++] = (a << 3 | d >>> 2) & 255) : 4 === a ? (a = b[c.charAt(v++)], d = b[c.charAt(v++)], e = b[c.charAt(v++)], l = b[c.charAt(v++)], t[z++] = (a << 3 | d >>> 2) & 255, t[z++] = (d << 6 | e << 1 | l >>> 4) & 255) : 5 === a ? (a = b[c.charAt(v++)], d = b[c.charAt(v++)], e = b[c.charAt(v++)], l = b[c.charAt(v++)], m = b[c.charAt(v++)], t[z++] = (a << 3 | d >>> 2) & 255, t[z++] = (d << 6 | e << 1 | l >>> 4) & 255, t[z++] = (l << 4 | m >>> | |
1) & 255) : 7 === a && (a = b[c.charAt(v++)], d = b[c.charAt(v++)], e = b[c.charAt(v++)], l = b[c.charAt(v++)], m = b[c.charAt(v++)], p = b[c.charAt(v++)], q = b[c.charAt(v++)], t[z++] = (a << 3 | d >>> 2) & 255, t[z++] = (d << 6 | e << 1 | l >>> 4) & 255, t[z++] = (l << 4 | m >>> 1) & 255, t[z++] = (m << 7 | p << 2 | q >>> 3) & 255); | |
return t | |
} | |
var b = { | |
A: 0, | |
B: 1, | |
C: 2, | |
D: 3, | |
E: 4, | |
F: 5, | |
G: 6, | |
H: 7, | |
I: 8, | |
J: 9, | |
K: 10, | |
L: 11, | |
M: 12, | |
N: 13, | |
O: 14, | |
P: 15, | |
Q: 16, | |
R: 17, | |
S: 18, | |
T: 19, | |
U: 20, | |
V: 21, | |
W: 22, | |
X: 23, | |
Y: 24, | |
Z: 25, | |
2: 26, | |
3: 27, | |
4: 28, | |
5: 29, | |
6: 30, | |
7: 31 | |
}, | |
c = { | |
decode: a | |
}; | |
a.Mk = d; | |
("object" === typeof window ? window : {}).base32 = c | |
})(); | |
lipscore.j = function() { | |
function a() {} | |
var d = JSON.parse('["7179f974019fc82923a8bd14", "889c3f3e4b6ac67269261324", "12f7f5deb7c21c5576ea43b1"]'); | |
var b = "lipscore-rating-slider lipscore-rating-small lipscore-review-post lipscore-review-count lipscore-testimonial lipscore-service-review-testimonial lipscore-service-review-badge-starred lipscore-service-review-badge".split(" "); | |
var c = ["lipscore-rating", "lipscore-rating-slider", "lipscore-review-post", "lipscore-purchase"]; | |
var e = "lipscore-rating-slider lipscore-rating-small lipscore-review-post lipscore-review-count lipscore-service-review-badge lipscore-service-review-badge-starred lipscore-service-review-testimonial lipscore-testimonial".split(" "); | |
var f = "lipscore-rating lipscore-rating-slider lipscore-review-post lipscore-purchase lipscore-review-list lipscore-service-review-list".split(" "); | |
a.Wk = function() { | |
return "https://wapi.lipscore.com" | |
}; | |
a.Zk = function() { | |
return "https://users.lipscore.com" | |
}; | |
a.Xk = function() { | |
return "https://static.lipscore.com/assets" | |
}; | |
a.Uc = function(b) { | |
null == b && (b = "en"); | |
return "no" === b ? "https://www.lipscore.no/" : "https://www.lipscore.com/" | |
}; | |
a.ni = function() { | |
return d | |
}; | |
a.nm = function() { | |
return "//img.youtube.com/vi" | |
}; | |
a.Bl = function() { | |
return "lipscore-rating" | |
}; | |
a.El = function() { | |
return "lipscore-rating-slider" | |
}; | |
a.Fl = function() { | |
return "lipscore-rating-slider" | |
}; | |
a.Gl = function() { | |
return "lipscore-embeded-slider" | |
}; | |
a.Hl = function() { | |
return "lipscore-rating-small" | |
}; | |
a.Il = function() { | |
return "ls-stars-value" | |
}; | |
a.Dl = function() { | |
return "ls-selected-value" | |
}; | |
a.Cl = function() { | |
return "ls-review-modal" | |
}; | |
a.Rl = function() { | |
return "lipscore-review-post" | |
}; | |
a.Sl = function() { | |
return "lipscore-review-post" | |
}; | |
a.Nl = function() { | |
return "lipscore-review-list" | |
}; | |
a.Ll = function() { | |
return "ls-review-flag-value" | |
}; | |
a.Ka = | |
function() { | |
return "ls-review-id" | |
}; | |
a.Tl = function() { | |
return "ls-review-vote-score" | |
}; | |
a.Pl = function() { | |
return "ls-media-type" | |
}; | |
a.Ol = function() { | |
return "ls-media-id" | |
}; | |
a.Kl = function() { | |
return "lipscore-review-count" | |
}; | |
a.Ml = function() { | |
return '["inappropriate", "fake", "spam"]' | |
}; | |
a.Ql = function() { | |
return "ls-review-paging" | |
}; | |
a.em = function() { | |
return "lipscore-testimonial" | |
}; | |
a.Wl = function() { | |
return "lipscore-service-review-list" | |
}; | |
a.Ul = function() { | |
return "lipscore-service-review-badge" | |
}; | |
a.Vl = function() { | |
return "lipscore-service-review-badge-starred" | |
}; | |
a.$l = function() { | |
return "lipscore-service-review-testimonial" | |
}; | |
a.Zl = function() { | |
return "service_review" | |
}; | |
a.Xl = function() { | |
return "lipscore-service-review-modal-list" | |
}; | |
a.Yl = function() { | |
return "lipscore-service-review-modal-toggle" | |
}; | |
a.Yk = function() { | |
return "ls-lipscore-product-id" | |
}; | |
a.ml = function() { | |
return "ls-product-rating" | |
}; | |
a.tl = function() { | |
return "ls-product-votes" | |
}; | |
a.jl = function() { | |
return "ls-product-name" | |
}; | |
a.el = function() { | |
return "ls-brand" | |
}; | |
a.hl = function() { | |
return "ls-product-id" | |
}; | |
a.pl = function() { | |
return "ls-sku" | |
}; | |
a.ql = function() { | |
return ["ls-sku", "ls-id"] | |
}; | |
a.sl = function() { | |
return "ls-product-url" | |
}; | |
a.nl = function() { | |
return "ls-product-review-count" | |
}; | |
a.gl = function() { | |
return "ls-description" | |
}; | |
a.il = function() { | |
return "ls-image-url" | |
}; | |
a.kl = function() { | |
return "ls-price" | |
}; | |
a.ll = function() { | |
return "ls-price-currency" | |
}; | |
a.dl = function() { | |
return "ls-availability" | |
}; | |
a.fl = function() { | |
return "ls-category" | |
}; | |
a.rl = function() { | |
return "ls-testimonial" | |
}; | |
a.u = function() { | |
return "ls-product-type" | |
}; | |
a.ol = function() { | |
return "ls-product-reviews" | |
}; | |
a.ul = function() { | |
return "lipscore-purchase" | |
}; | |
a.vl = function() { | |
return "ls-email" | |
}; | |
a.wl = function() { | |
return "ls-name" | |
}; | |
a.xl = function() { | |
return "ls-voucher-descr" | |
}; | |
a.yl = function() { | |
return "ls-voucher-code" | |
}; | |
a.zl = function() { | |
return "ls-template" | |
}; | |
a.Dk = function() { | |
return "ls-widget-id" | |
}; | |
a.mm = function() { | |
return "ls-widget-width" | |
}; | |
a.jm = function() { | |
return "ls-widget-height" | |
}; | |
a.km = function() { | |
return "ls-readonly" | |
}; | |
a.$k = function() { | |
return 767 | |
}; | |
a.Rg = function() { | |
return b | |
}; | |
a.Sg = function() { | |
return c | |
}; | |
a.Th = function() { | |
return e | |
}; | |
a.Uh = function() { | |
return f | |
}; | |
return a | |
}(); | |
lipscore.locale = { | |
common: { | |
image: "Bilde", | |
login: "Login", | |
logout: "Logg ut", | |
remove: "Slett", | |
powered_by: "Levert av Lipscore.no" | |
}, | |
rating: { | |
login_to_rate: "Logg inn for \u00e5 gi en rating", | |
votes: "Stemmer" | |
}, | |
review: { | |
confirm_flag: "Er du sikker p\u00e5 at du vil flagge denne anmeldelsen?", | |
login_to_flag: "Logg inn for \u00e5 flagge omtalen", | |
login_to_vote: "Vennligst logg inn", | |
overwrite: "Du har allerede anmeldt dette produktet, vil du overskrive den?", | |
publish: "Publiser", | |
purchased: "Kj\u00f8pt", | |
buyer: "kj\u00f8per", | |
read_more: "Les mer", | |
read_less: "Les mindre", | |
youtube_link: "YouTube video link", | |
write_review: "Skriv en anmeldelse...", | |
reviews: "Anmeldelser", | |
agree: "Jeg gir %{member_site_name} mitt samtykke til \u00e5 publisere denne omtalen", | |
product_review_instructions: " ", | |
service_review_instructions: "Her kan du skrive din omtale. Den kan v\u00e6re s\u00e5 kort eller lang du vil (min 10 tegn), men en god omtale forteller andre om akkurat din opplevelse. Beskriv gjerne aspekter som kanskje ikke er s\u00e5 \u00e5penbare. ", | |
flags: { | |
fake: "Falsk", | |
inappropriate: "Upassende", | |
spam: "Spam" | |
}, | |
messages: { | |
auth: "Du m\u00e5 v\u00e6re innlogget for \u00e5 skrive en anmeldelse, trykk p\u00e5 Facebook/Twitter/Google-knappen for \u00e5 logge inn", | |
few_chars: "Anmeldelsen er for kort, 10 tegn er minimum", | |
many_chars: "Anmeldelsen er for lang, 4000 tegn er maksimum", | |
media: "Din anmeldelse er lagret men fordi den inneholder bilde/video/link m\u00e5 den kontrolleres. Du vil f\u00e5 en epost n\u00e5r kontrollen er utf\u00f8rt.", | |
regular: "Din anmeldelse er lagret og publisert! Du vil finne den igjen ved \u00e5 oppdatere siden", | |
delayed_publishing: "Din anmeldelse har blitt lagret! Du vil f\u00e5 en epost n\u00e5r den blir publisert.", | |
agree_required: "Du m\u00e5 gi %{member_site_name} samtykke til \u00e5 publisere denne omtalen" | |
}, | |
statuses: { | |
edited: "Endret", | |
moderated: "Kontrollert", | |
"new": "Ny" | |
} | |
}, | |
service_review: { | |
badge: { | |
based_on_votes: "Basert p\u00e5 %{votes} stemmer" | |
}, | |
modal: { | |
title: "Omtaler", | |
rating_distribution: "Fordeling" | |
} | |
}, | |
regret_modal: { | |
dear: "Kj\u00e6re", | |
message: "Vi beklager at du ikke har mottatt alle produktene fra oss enda. <br/>Dersom dette er uventet og du tror at noe er galt s\u00e5 ta kontakt med oss umiddelbart." | |
}, | |
reviews_modal: { | |
email1_header: "Takk!", | |
email1_text: "Vi h\u00e5per alt gikk som forventet med forsendelsen", | |
email2_header: "Takk!", | |
email2_text: "Din rating er n\u00e5 lagret", | |
service_header: "Takk!", | |
service_text: "Din stjernerating er lagret", | |
question: "Gi din tilbakemelding n\u00e5", | |
reward: "Gi din anmeldelse n\u00e5<br/>(du vil f\u00e5 en p\u00e5skj\u00f8nnelse p\u00e5 epost for \u00e5 gi din mening)" | |
}, | |
edit_review_modal: { | |
title: "Rediger din omtale" | |
}, | |
review_modal: { | |
title: "Supert! Skriv gjerne ogs\u00e5 en omtale:" | |
}, | |
lang: "no" | |
}; | |
lipscore.c = function() { | |
function a() {} | |
a.placeholder = /(?:\{\{|%\{)(.*?)(?:\}\}?)/gm; | |
a.t = function(a, b) { | |
var c; | |
null == b && (b = {}); | |
var d = lipscore.locale; | |
var f = a.split("."); | |
var g = 0; | |
for (c = f.length; g < c; g++) { | |
var h = f[g]; | |
d = d[h]; | |
if (!d) return a | |
} | |
return "string" !== typeof d ? a : this.fi(d, b) | |
}; | |
a.lang = function() { | |
return lipscore.locale.lang | |
}; | |
a.fi = function(a, b) { | |
null == b && (b = {}); | |
var c = a.match(this.placeholder); | |
if (!c) return a; | |
for (; c.length;) { | |
var d = c.shift(); | |
var f = d.replace(this.placeholder, "$1"); | |
f = null != b[f] ? b[f].toString().replace(/\$/gm, "_#$#_") : | |
""; | |
d = new RegExp(d.replace(/\{/gm, "\\{").replace(/\}/gm, "\\}")); | |
a = a.replace(d, f) | |
} | |
return a.replace(/_#\$#_/g, "$") | |
}; | |
return a | |
}(); | |
this.LipscoreRatingStarsSvg = function() { | |
function a() {} | |
var d = { | |
brand: { | |
gc: "0 0 20 20", | |
html: '<g transform="matrix(0.921855,0,0,1,-0.245974,0)">\n <path d="M11.765,17.88L10.572,17L3.521,20L5.148,18.5L2.436,17L4.606,13L0.267,7L1.352,8C1.387,7.92 3.521,6 3.521,6L6.775,6L11.115,0L10.603,1.509L11.765,1.722L11.765,5.075L10.589,1.55L8.403,8L1.352,8L6.775,12L5.148,18.5L10.572,14L11.765,15L11.765,17.88Z"/>\n</g>\n<g class="lipscore-star-last-half" transform="matrix(1,0,0,1.01905,0,-0.381027)">\n <path d="M10,1.947L12,2.337L13,6.262L20,8.224L18,8.224L19,10.187L15,13.131L16,20L14.75,19.019L12,19.019L10,17.449L10,14.558L14.676,18.73L13,12.15L18,8.224L11.5,8.224L10,3.44L10,1.947Z"/>\n</g>' | |
}, | |
sharp: { | |
gc: "0 0 19 18.1", | |
html: '<g transform="matrix(0.925652,0,0,1,-0.420427,0)">\n <path d="M11.365,1.998L11.365,14.023L10.729,13.57L4.379,18.09L7.06,11.103L0.454,6.91L8.462,7.112L10.729,0L11.365,1.998Z"/>\n</g>\n<g class="lipscore-star-last-half">\n <path d="M9.511,0C9.511,0 11.609,7.112 11.609,7.112L19,6.91L19,6.924L12.906,11.103L15.388,18.09L9.511,13.57C9.511,13.57 9.511,0 9.511,0Z"/>\n</g>' | |
}, | |
smooth: { | |
gc: "0 0 19 18.1", | |
html: '<g transform="matrix(0.858427,0,0,1.03642,0,-0.349508)">\n <path d="M11.766,1.714L11.766,14.658L11.079,14.308L4.232,17.792L6.116,11.322L0,7.004L8.012,6.489L11.079,0.337L11.766,1.714Z"/>\n</g>\n<g class="lipscore-star-last-half" transform="matrix(1,0,0,1,-183.489,-464)">\n <path d="M195.633,470.376L202.511,470.91L197.261,475.384L198.878,482.09L193,478.48L193,464L195.633,470.376Z"/>\n</g>' | |
}, | |
thick: { | |
gc: "0 0 19 18.1", | |
html: '<g transform="matrix(0.896868,0,0,0.983811,-0.279534,0)">\n <path d="M11.573,1.193L11.573,15.61L10.916,15.3L4.362,18.388L5.558,11.752L0.312,7.024L7.605,6.01L10.916,0L11.573,1.193Z"/>\n</g>\n<g class="lipscore-star-last-half" transform="matrix(1,0,0,1,-133.489,-464)">\n <path d="M142.989,464.021L143,464L145.97,469.912L152.511,470.91L147.805,475.561L148.878,482.09L143,479.052L142.989,479.058L142.989,464.021Z"/>\n</g>' | |
} | |
}; | |
a.html = function(b) { | |
null == b && (b = {}); | |
var c = null != | |
b.size ? ' width="' + b.size + '" height="' + b.size + '" ' : ""; | |
var a = d[b.type]; | |
return '<svg viewBox="' + a.gc + '" class="' + b.Wj + ' lipscore-svg-rating-star" fill="' + b.color + '" ' + c + " " + b.Vi + ' style="fill-rule:evenodd;">\n' + a.html + "\n</svg>" | |
}; | |
return a | |
}(); | |
lipscore.Pg = "c94a2a7fc3ad9e5d1a141515,df7eab74ccc1cb0fc584b888,ca6ca12fb74a44dd3cc1f801,e0b22d9000dc0f32da604f7c,1f45ee06ed55515b9d72560a,54c3e9a0f694ebe394f6f922,2616dc198530c6b46aa05d24,b9c966607c05fddcfe7f55a6,18c9cf0a6c96ef59d7fb4a89,7e8e95291bcaf8223f6be152,5ed5ed7ddb98be23fd0f98df"; | |
lipscore.Jf = function() { | |
var a = document.createElement("script"); | |
a.type = "text/javascript"; | |
a.innerHTML = "window.__lo_site_id = 82039;\n(function() {\n var wa = document.createElement('script'); wa.type = 'text/javascript'; wa.async = true;\n wa.src = 'https://d10lpsik1i8c69.cloudfront.net/w.js';\n var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(wa, s);\n})();"; | |
document.getElementsByTagName("head")[0].appendChild(a) | |
}; | |
lipscore.Ld = function() { | |
function a() { | |
this.items = []; | |
this.ee() | |
} | |
a.prototype.ee = function() { | |
var a; | |
var b = lipscore.a.Mc(this.Df(), this.Ef()); | |
var c = []; | |
var e = 0; | |
for (a = b.length; e < a; e++) { | |
var f = b[e]; | |
this.vb(f) ? c.push(void 0) : c.push(this.items.push(this.de(f))) | |
} | |
}; | |
a.prototype.init = function() { | |
var a; | |
this.ee(); | |
var b = this.items; | |
var c = []; | |
var e = 0; | |
for (a = b.length; e < a; e++) { | |
var f = b[e]; | |
c.push(f.init()) | |
} | |
return c | |
}; | |
a.prototype.vb = function(a) { | |
var b; | |
var c = this.items; | |
var d = 0; | |
for (b = c.length; d < b; d++) { | |
var f = c[d]; | |
if (a === f.f()) return f | |
} | |
}; | |
a.prototype.oh = function(a) { | |
var b; | |
var c = this.items; | |
var d = 0; | |
for (b = c.length; d < b; d++) { | |
var f = c[d]; | |
var g = f.f().getAttribute("ls-lipscore-product-id"); | |
if (g === a) return f | |
} | |
}; | |
return a | |
}(); | |
lipscore.dg = function() { | |
function a(a, b) { | |
var c; | |
this.g = lipscore.qa.get(); | |
this.type = b; | |
this.u = b.Rc() ? lipscore.mc.fg : lipscore.mc.Of; | |
this.g.ib(this.html(a.has_discount)); | |
this.b = this.g.b; | |
this.Ve = lipscore.a.getElementsByClassName(this.Ad, this.b)[0]; | |
var d = a.products; | |
var f = 0; | |
for (c = d.length; f < c; f++) b = d[f], this.Eg(b); | |
this.Wb = a.reminder_token | |
} | |
a.prototype.nb = "lipscore-reviews-modal"; | |
a.prototype.Ad = "lipscore-reviews-products-wrapper"; | |
a.prototype.Qf = "div"; | |
a.prototype.Pf = "lipscore-product-row"; | |
a.prototype.Ed = "lipscore-reviews-modal-review-wrapper"; | |
a.prototype.Hf = "lipscore-reviews-modal-discount"; | |
a.prototype.html = function(a) { | |
a = a ? lipscore.c.t("reviews_modal.reward") : lipscore.c.t("reviews_modal.question"); | |
return '<div class="lipscore-delivered-box"></div>\n<div class="lipscore-reviews-modal-confirm">\n <div class="lipscore-reviews-modal-thank">' + lipscore.c.t("reviews_modal." + this.type.getName() + "_header") + '</div>\n <div class="lipscore-reviews-modal-hope">' + lipscore.c.t("reviews_modal." + this.type.getName() + "_text") + '</div>\n</div>\n<div class="lipscore-reviews-modal-items">\n <div class="lipscore-reviews-modal-inner-title">' + | |
a + ':</div>\n <div class="' + this.Ad + '"></div>\n</div>' | |
}; | |
a.prototype.Li = function(a) { | |
return '<div class="lipscore-reviews-modal-rating-wrapper">\n ' + this.Ni(a) + '\n <div class="lipscore-reviews-modal-rating-slider lipscore-rating-slider" ls-lipscore-product-id="' + a.id + '" ls-review-modal="false"></div>\n</div>\n<div class="' + this.Ed + ' lipscore-hidden">\n <div class="' + this.Hf + '"></div>\n <div class="lipscore-review-post" ls-lipscore-product-id="' + a.id + '" ' + lipscore.j.u() + '="' + this.u + '"></div>\n<div>' | |
}; | |
a.prototype.Ni = function(a) { | |
return this.type.Rc() ? "" : '<div class="lipscore-reviews-modal-product-name">' + a.name + "</div>" | |
}; | |
a.prototype.hj = function() { | |
return lipscore.a.getElementsByClassName("lipscore-review-post", this.b) | |
}; | |
a.prototype.show = function() { | |
return this.g.show(this.nb) | |
}; | |
a.prototype.Tc = function() { | |
return !lipscore.a.Fe(this.b) | |
}; | |
a.prototype.Eg = function(a) { | |
var b = document.createElement(this.Qf); | |
lipscore.a.addClass(b, this.Pf); | |
b.innerHTML = this.Li(a); | |
this.Ve.appendChild(b) | |
}; | |
a.prototype.Qj = function(a) { | |
if (a = | |
lipscore.a.getElementsByClassName(this.Ed, a.parentNode.parentNode)[0]) lipscore.a.show(a), a = lipscore.a.getElementsByClassName("lipscore-review-textarea", a)[0], a.focus() | |
}; | |
a.prototype.vj = function(a) { | |
var b; | |
if (a.has_discount && a.discount_descr && 0 < a.discount_descr.length) { | |
var c = lipscore.a.getElementsByClassName("lipscore-reviews-modal-discount", this.b); | |
var d = []; | |
var f = 0; | |
for (b = c.length; f < b; f++) { | |
var g = c[f]; | |
g.textContent = a.discount_descr; | |
d.push(lipscore.a.show(g)) | |
} | |
return d | |
} | |
}; | |
return a | |
}(); | |
lipscore.sd = function() { | |
function a() {} | |
a.Zb = function(a) { | |
return lipscore.i.request({ | |
url: "https://users.lipscore.com/current", | |
type: "GET", | |
statusCode: { | |
200: function(b) { | |
if (0 < b.id && (lipscore.ba.get().Zb(b), a)) return a() | |
} | |
} | |
}) | |
}; | |
a.eb = function(d, b) { | |
var c; | |
var e = window.open("https://users.lipscore.com/sign_in/" + d, "_blank", "width=640,height=480,top=" + (screen.height - 480) / 2 + ",left=" + (screen.width - 640) / 2 + ",location=no,menubar=no,resizable=no,scrollbars=no,status=yes,titlebar=no,toolbar=no"); | |
e.focus(); | |
return c = setInterval(function() { | |
if (e.closed) return clearInterval(c), | |
a.Zb(b) | |
}, 500) | |
}; | |
a.Wc = function() { | |
return lipscore.i.request({ | |
url: "https://users.lipscore.com/sign_out", | |
type: "GET" | |
}) | |
}; | |
return a | |
}(); | |
lipscore.Lf = function() { | |
function a() {} | |
a.get = function(a, b, c) { | |
return lipscore.i.request({ | |
url: "https://wapi.lipscore.com/initial_data/products/show", | |
data: { | |
sku: a.w, | |
internal_id: a.ua, | |
widgets: a.types.sort().join(",") | |
}, | |
type: "GET", | |
success: function(c, d, g) { | |
return b(a, c, g) | |
}, | |
error: function() { | |
return c(a) | |
} | |
}) | |
}; | |
return a | |
}(); | |
lipscore.Mf = function() { | |
function a() {} | |
a.get = function(a) { | |
return lipscore.i.request({ | |
url: "https://wapi.lipscore.com/initial_data/settings/show", | |
type: "GET", | |
success: function(b) { | |
return a(b) | |
} | |
}) | |
}; | |
return a | |
}(); | |
lipscore.Tf = function() { | |
function a() {} | |
a.post = function(a) { | |
if (0 < a.length) return a = lipscore.a.nk(a), lipscore.i.request({ | |
url: "https://wapi.lipscore.com/products", | |
data: { | |
products: a | |
}, | |
type: "POST" | |
}) | |
}; | |
return a | |
}(); | |
lipscore.Dd = function() { | |
function a() {} | |
a.get = function(a, b) { | |
return lipscore.i.request({ | |
url: "https://wapi.lipscore.com/invitations/" + a, | |
type: "GET", | |
statusCode: { | |
200: function(c) { | |
return b(c) | |
} | |
} | |
}) | |
}; | |
a.nj = function() { | |
var a; | |
var b = lipscore.Cd.get().Ue; | |
var c = []; | |
var e = b[0].getAttribute("ls-email"); | |
var f = b[0].getAttribute("ls-name"); | |
var g = b[0].getAttribute("ls-voucher-code"); | |
var h = b[0].getAttribute("ls-voucher-descr"); | |
var l = b[0].getAttribute("ls-template"); | |
var m = 0; | |
for (a = b.length; m < a; m++) { | |
var p = b[m]; | |
c.push(lipscore.fa.Ub(p)) | |
} | |
return lipscore.i.request({ | |
url: "https://wapi.lipscore.com/invitations", | |
data: { | |
invitation: { | |
buyer_email: e, | |
buyer_name: f, | |
discount_descr: h, | |
discount_voucher: g, | |
lang: lipscore.c.lang(), | |
template: l | |
}, | |
products: c | |
}, | |
type: "POST" | |
}) | |
}; | |
return a | |
}(); | |
lipscore.Vf = function() { | |
function a() {} | |
a.get = function(a, b) { | |
return lipscore.i.request({ | |
url: "https://wapi.lipscore.com/products/" + b + "/rating_distribution", | |
type: "GET", | |
success: function(b) { | |
return a(b) | |
} | |
}) | |
}; | |
return a | |
}(); | |
lipscore.Fd = function() { | |
function a() {} | |
a.post = function(a, b, c, e, f) { | |
var d = f.Hh(); | |
d = null != d ? lipscore.fa.Ub(d) : null; | |
return lipscore.i.request({ | |
url: "https://wapi.lipscore.com/products/" + b + "/ratings", | |
data: { | |
lipscore: c, | |
ab: lipscore.zb.get().za(), | |
reminder_token: e, | |
lang: lipscore.c.lang(), | |
product: d | |
}, | |
type: "POST", | |
statusCode: { | |
201: function(b) { | |
return a(b) | |
} | |
}, | |
beforeSend: function() { | |
f.disable(); | |
return !0 | |
}, | |
complete: function() { | |
return f.enable() | |
} | |
}) | |
}; | |
a.get = function(a, b) { | |
return lipscore.i.request({ | |
url: "https://wapi.lipscore.com/ratings/" + | |
b, | |
type: "GET", | |
statusCode: { | |
200: function(b) { | |
return a(b) | |
} | |
} | |
}) | |
}; | |
return a | |
}(); | |
lipscore.Gd = function() { | |
function a() {} | |
a.post = function(a, b) { | |
return lipscore.i.request({ | |
url: "https://wapi.lipscore.com/review_images", | |
data: b, | |
processData: !1, | |
contentType: !1, | |
type: "POST", | |
statusCode: { | |
201: function(b) { | |
return a(b.id, b.thumb_url) | |
} | |
} | |
}) | |
}; | |
a["delete"] = function(a) { | |
return lipscore.i.request({ | |
url: "https://wapi.lipscore.com/review_images/" + a + "/destroy", | |
type: "POST" | |
}) | |
}; | |
return a | |
}(); | |
lipscore.ob = function() { | |
function a() {} | |
a.index = function(a, b, c) { | |
return lipscore.i.request({ | |
url: "https://wapi.lipscore.com/products/" + b + "/reviews", | |
data: { | |
page: c | |
}, | |
type: "GET", | |
success: function(b, c, d) { | |
a(b, c, d); | |
return lipscore.na("widgets-loaded") | |
} | |
}) | |
}; | |
a.get = function(a, b) { | |
return lipscore.i.request({ | |
url: "https://wapi.lipscore.com/reviews/" + b, | |
type: "GET", | |
statusCode: { | |
200: function(b) { | |
return a(b) | |
} | |
} | |
}) | |
}; | |
a.Kb = function(a, b, c) { | |
return lipscore.i.request({ | |
url: "https://wapi.lipscore.com/reviews/" + b + "/flags", | |
data: { | |
flag: c | |
}, | |
type: "POST", | |
statusCode: { | |
201: function() { | |
return a() | |
} | |
} | |
}) | |
}; | |
a.hc = function(a, b, c) { | |
return lipscore.i.request({ | |
url: "https://wapi.lipscore.com/reviews/" + b + "/votes", | |
data: { | |
points: c | |
}, | |
type: "POST", | |
statusCode: { | |
201: function() { | |
return a() | |
} | |
} | |
}) | |
}; | |
a.post = function(d, b, c, e, f, g, h) { | |
var l = b.f(); | |
var m = l.getAttribute("ls-lipscore-product-id"); | |
l = lipscore.fa.Ub(l); | |
return lipscore.i.request({ | |
url: "https://wapi.lipscore.com/products/" + m + "/reviews", | |
data: { | |
force: h, | |
text: c, | |
video: e, | |
images: f, | |
lang: lipscore.c.lang(), | |
reminder_token: g, | |
ab: lipscore.zb.get().za(), | |
product: l, | |
agreement: lipscore.Ea.Xd() | |
}, | |
type: "POST", | |
statusCode: { | |
201: function(b) { | |
return d(b) | |
}, | |
409: function() { | |
if (confirm(lipscore.c.t("review.overwrite"))) return a.post(d, b, c, e, f, g, !0) | |
} | |
}, | |
beforeSend: function() { | |
return b.eh() | |
}, | |
complete: function() { | |
return b.gh() | |
} | |
}) | |
}; | |
return a | |
}(); | |
lipscore.lb = function() { | |
function a() {} | |
a.wa = function(a) { | |
this.set(a, !0); | |
this.yf(!0) | |
}; | |
a.set = function(a, b) { | |
null == b && (b = !1); | |
if (b || !1 === lipscore.ba.get().sa) return lipscore.ba.get().Zb(a) | |
}; | |
a.yf = function(a) { | |
if (a || !1 === lipscore.ba.get().sa) 0 < lipscore.ba.get().za() ? lipscore.na("logged-in") : lipscore.na("logged-out") | |
}; | |
return a | |
}(); | |
lipscore.xd = function() { | |
function a() {} | |
a.get = function() { | |
var a; | |
if (!lipscore.Od()) { | |
var b = lipscore.ga.Nh(); | |
if (0 < b.length) { | |
lipscore.ga.nh(b); | |
lipscore.ga.Lg(b); | |
var c = lipscore.Kf.Fk(b); | |
var e = c.length; | |
var f = []; | |
var g = []; | |
var h = 0; | |
for (a = c.length; h < a; h++) b = c[h], g.push(lipscore.Lf.get(b, function(b, a, c) { | |
var d; | |
e--; | |
a.paging = lipscore.Bd.Oe(c); | |
a.id || (lipscore.ga.zi(b.types) && f.push(lipscore.fa.Ub(b.ta[0])), a = lipscore.fa.fe()); | |
var g = b.ta; | |
c = 0; | |
for (d = g.length; c < d; c++) b = g[c], lipscore.ga.kd(b, a); | |
if (0 === e) return lipscore.pg.set(function() { | |
lipscore.na("widgets-loaded"); | |
lipscore.pb.show(); | |
lipscore.ie && new lipscore.Jf; | |
if (!lipscore.Ec) return lipscore.Tf.post(f) | |
}) | |
}, function(b) { | |
var a; | |
var c = lipscore.fa.fe(); | |
var d = b.ta; | |
var e = []; | |
var f = 0; | |
for (a = d.length; f < a; f++) b = d[f], e.push(lipscore.ga.kd(b, c)); | |
return e | |
})); | |
return g | |
} | |
} | |
}; | |
return a | |
}(); | |
lipscore.yd = function() { | |
function a() {} | |
a.init = function() { | |
var a; | |
if (!lipscore.isInitialized() && !lipscore.isInitializationStarted() && null != window.lipscoreInit && (window.lipscoreInit(), !lipscore.Od())) return lipscore.wg(), (a = lipscore.ca.Aa(location.href, "lipscore_token")) && lipscore.nc.init(a), a = lipscore.ca.Aa(location.href, "lipscore_review_data"), null == a && (a = lipscore.ca.Aa(location.href, "lipscore_rating_data")), a && lipscore.Eb.init(a), lipscore.xd.get(), lipscore.isAutoPurchase() && lipscore.Uf.create(), document.onclick = | |
function() { | |
lipscore.jc.ve(); | |
lipscore.la.get().Qb(); | |
lipscore.h.get().Pb(); | |
return lipscore.h.get().Rb() | |
}, lipscore.vg() | |
}; | |
return a | |
}(); | |
lipscore.mb = function() { | |
function a() {} | |
a.eb = function(a) { | |
return lipscore.sd.eb(a, function() { | |
lipscore.pb.wa(); | |
return lipscore.na("logged-in") | |
}) | |
}; | |
a.Wc = function() { | |
lipscore.sd.Wc(); | |
lipscore.ba.get().sh(); | |
lipscore.Da.get().ac(); | |
return lipscore.na("logged-out") | |
}; | |
return a | |
}(); | |
window.onload = function() { | |
return lipscore.yd.init() | |
}; | |
lipscore.nc = function() { | |
function a() {} | |
a.init = function(b) { | |
var a; | |
var c = lipscore.ud.zf(b); | |
(a = null != c && null != c.invitation) && d(c); | |
return lipscore.Dd.get(a ? c.invitation.invitation_token : b, function(b) { | |
a || d(b); | |
var c = lipscore.ha.get(); | |
if (null != c) return c.vj(b.invitation) | |
}) | |
}; | |
var d = function(b) { | |
return 0 < parseInt(lipscore.ca.Aa(location.href, "lipscore_received"), 10) ? (lipscore.vc(b.settings), lipscore.zb.get().oj(b.invitation.ab_test), lipscore.nc.Rj(b.invitation)) : lipscore.Zf.get().show(b.invitation.user) | |
}; | |
a.Pj = | |
function(b) { | |
var a; | |
(a = lipscore.ha.get()) && a.Tc() && a.Qj(b.f()) | |
}; | |
a.Rj = function(a) { | |
var d; | |
lipscore.ha.create(a, c()); | |
lipscore.la.get().init(); | |
lipscore.Da.get().init(); | |
a = lipscore.ha.get().hj(); | |
var e = 0; | |
for (d = a.length; e < d; e++) { | |
var h = a[e]; | |
h = lipscore.Da.get().vb(h); | |
h.wj(); | |
h.Ra() | |
} | |
b(); | |
return lipscore.ha.get().show() | |
}; | |
var b = function() { | |
var b = lipscore.ca.Aa(location.href, "ls_pre_rate_p"); | |
var a = lipscore.la.get().oh(b); | |
if (null != a) return b = lipscore.ca.Aa(location.href, "ls_pre_rate_v"), a.qf(b), a.$b(b), lipscore.Ab.post(a) | |
}; | |
var c = function() { | |
var b = lipscore.ca.Aa(location.href, "ls_type"); | |
return new lipscore.$f(b) | |
}; | |
return a | |
}(); | |
lipscore.Uf = function() { | |
function a() {} | |
a.create = function() { | |
if (0 < lipscore.Cd.get().Ue.length) return lipscore.Dd.nj() | |
}; | |
return a | |
}(); | |
lipscore.Ab = function() { | |
function a() {} | |
a.set = function(a) { | |
var b; | |
if (b = lipscore.Ca.get().f()) { | |
var c = Math.round(10 * a.lipscore) / 10; | |
b.setAttribute("ls-product-rating", c); | |
return b.setAttribute("ls-product-votes", a.votes) | |
} | |
}; | |
a.show = function() { | |
var a, b; | |
lipscore.Ca.get().init(); | |
lipscore.la.get().init(); | |
if (a = lipscore.Ca.get().f()) { | |
var c = parseInt(a.getAttribute("ls-product-votes"), 10); | |
if (lipscore.o.He(c)) { | |
var e = lipscore.o.fc(a); | |
a = a.getAttribute("ls-product-review-count"); | |
lipscore.Ca.get().ld(e); | |
lipscore.Ca.get().Kj(c); | |
lipscore.Ca.get().Aj(a) | |
} else lipscore.Ca.get().reset() | |
} | |
var f = lipscore.a.getElementsByClassName("lipscore-rating-small"); | |
var g = []; | |
var h = 0; | |
for (b = f.length; h < b; h++) a = f[h], e = lipscore.o.fc(a), e = null != e ? parseFloat(e) : 0, c = parseInt(a.getAttribute("ls-product-votes"), 10), 0 < e && lipscore.o.He(c) ? g.push(new lipscore.Yf(a, e)) : g.push(void 0); | |
return g | |
}; | |
a.post = function(d) { | |
var b; | |
var c = lipscore.la.get().items; | |
var e = []; | |
var f = 0; | |
for (b = c.length; f < b; f++) { | |
var g = c[f]; | |
if (g === d || g.wb()) { | |
var h = g.Lh(); | |
var l = g.f(); | |
var m = l.getAttribute("ls-lipscore-product-id"); | |
var p = g; | |
e.push(lipscore.Fd.post(function(b) { | |
null == b.user || null == lipscore.ha.get() && !lipscore.De || (lipscore.lb.wa(b.user), lipscore.pb.wa()); | |
a.set(b); | |
a.show(); | |
p.Xe(h); | |
lipscore.ga.kd(l, b); | |
lipscore.nc.Pj(p); | |
lipscore.na("rating-posted", b); | |
if (p.Ha) return lipscore.ma.showModal(p, h) | |
}, m, h, lipscore.ha.Wb(), g)) | |
} | |
} | |
return e | |
}; | |
return a | |
}(); | |
lipscore.Jd = function() { | |
function a() {} | |
a.show = function(a, b, c) { | |
var d = lipscore.la.get(); | |
d.init(); | |
if (b) { | |
var f = a.Ti; | |
f = d.vb(f); | |
f.Xe(b) | |
} | |
b = lipscore.Da.get(); | |
b.init(); | |
b = b.vb(a.gj); | |
b.Ra(); | |
c && b.nd(c); | |
a.show(); | |
return b.focus() | |
}; | |
return a | |
}(); | |
lipscore.Eb = function() { | |
function a() {} | |
a.init = function(a) { | |
a = lipscore.ud.zf(a); | |
if (a.review) { | |
var b = a.review; | |
lipscore.ob.get(function(b) { | |
return lipscore.Eb.Be(b) | |
}, b.edit_token) | |
} | |
if (a.rating && !a.review) return a = a.rating, lipscore.Fd.get(function(b) { | |
return lipscore.Eb.Be(b) | |
}, a.edit_token) | |
}; | |
a.Be = function(a) { | |
if (null != a.user) return lipscore.vc(a.settings), lipscore.lb.wa(a.user), lipscore.pb.wa(), lipscore.Eb.showModal(a) | |
}; | |
a.showModal = function(a) { | |
var b, c; | |
lipscore.Db.init(a.product); | |
var d = lipscore.Db.get(); | |
a.review && | |
(c = a.review.text); | |
a.rating && (b = a.rating.lipscore); | |
return lipscore.Jd.show(d, b, c) | |
}; | |
return a | |
}(); | |
lipscore.ma = function() { | |
function a() {} | |
var d = ["flagged", "fix_requested", "removed"]; | |
a.Bg = function(b) { | |
var a = b.Qc; | |
var d = new FormData; | |
d.append("image", a.files[0]); | |
var f = new Image; | |
f.src = window.URL.createObjectURL(a.files[0]); | |
return f.onload = function() { | |
var a = b.Dg(this.width, this.height); | |
return lipscore.Gd.post(function(c, d) { | |
if (c = b.Td(a, "image", c, d)) { | |
var e = c.cf; | |
e.onclick = function(a) { | |
return lipscore.aa.Ke(a, e, b) | |
}; | |
return c.image.onclick = lipscore.aa.Je | |
} | |
}, d) | |
} | |
}; | |
a.Fg = function(b) { | |
var a, d, f; | |
if ((a = prompt(lipscore.c.t("review.youtube_link"), | |
"")) && 0 < a.length && (d = lipscore.ca.Aa(a, "v"))) { | |
a = b.Ia; | |
var g = 0; | |
for (f = a.length; g < f; g++) { | |
var h = a[g]; | |
h = h.hb; | |
"video" === h.getAttribute("ls-media-type") && b.df(h) | |
} | |
if (a = b.Cg(d, "//img.youtube.com/vi/" + d + "/2.jpg")) { | |
var l = a.cf; | |
l.onclick = function(a) { | |
return lipscore.aa.Ke(a, l, b) | |
}; | |
return a.image.onclick = lipscore.aa.Je | |
} | |
} | |
}; | |
a.Yi = function(b, a) { | |
var c = a.getAttribute("ls-media-type"); | |
var d = a.getAttribute("ls-media-id"); | |
b.df(a); | |
if ("image" === c) return lipscore.Gd["delete"](d) | |
}; | |
a.Kb = function(b, a) { | |
b = lipscore.h.get().oe; | |
a = lipscore.h.get().lf; | |
if (confirm(lipscore.c.t("review.confirm_flag"))) return lipscore.ob.Kb(function() { | |
return lipscore.h.get().fh(b) | |
}, b, a) | |
}; | |
a.post = function(b, a) { | |
null == a && (a = !1); | |
if (lipscore.Ea.ki(b)) { | |
var c = b.ja.innerHTML; | |
var f = b.Mh(); | |
var g = b.zh(); | |
return lipscore.ob.post(function(a) { | |
null != a.user && null != lipscore.ha.get() && (lipscore.lb.wa(a.user), lipscore.pb.wa()); | |
b.Pi("media_content" === a.flag, "low" === a.rating_status, 0 <= d.indexOf(a.status)); | |
return lipscore.na("review-published", a) | |
}, b, c, f, g, lipscore.ha.Wb(), a) | |
} | |
}; | |
a.show = function(b, | |
a) { | |
var c, d = this; | |
var g = lipscore.h.get(); | |
lipscore.Ea.cb(g, b, a, function(b) { | |
return lipscore.rc.get().bi(b) | |
}, function(b) { | |
return d.show(b, !0) | |
}); | |
g = lipscore.a.getElementsByClassName("lipscore-review-count"); | |
var h = []; | |
var l = 0; | |
for (c = g.length; l < c; l++) b = g[l], a = b.getAttribute("ls-product-review-count"), h.push(new lipscore.bg(b, a)); | |
return h | |
}; | |
a.hc = function() { | |
var b = lipscore.h.get().mf; | |
var a = lipscore.h.get().Cf; | |
var d = lipscore.h.get().hd; | |
return lipscore.ob.hc(function() { | |
return b.innerHTML = (parseInt(b.innerHTML, 10) + | |
d).toString() | |
}, a, d) | |
}; | |
a.showModal = function(b, a) { | |
b = b.f(); | |
b = { | |
id: b.getAttribute("ls-lipscore-product-id"), | |
type: b.getAttribute(lipscore.j.u()) | |
}; | |
lipscore.Id.init(b); | |
return lipscore.Jd.show(lipscore.Id.get(), a, "") | |
}; | |
return a | |
}(); | |
lipscore.eg = function() { | |
function a() {} | |
a.init = function() { | |
lipscore.rc.get().ci(); | |
return lipscore.rc.get().ai() | |
}; | |
return a | |
}(); | |
lipscore.hg = function() { | |
function a() {} | |
a.show = function() { | |
var a; | |
var b = lipscore.a.getElementsByClassName("lipscore-service-review-badge"); | |
var c = 0; | |
for (a = b.length; c < a; c++) { | |
var e = b[c]; | |
new lipscore.gg(e) | |
} | |
b = lipscore.a.getElementsByClassName("lipscore-service-review-badge-starred"); | |
var f = []; | |
c = 0; | |
for (a = b.length; c < a; c++) e = b[c], f.push(new lipscore.Kd(e)); | |
return f | |
}; | |
return a | |
}(); | |
lipscore.jg = function() { | |
function a() {} | |
a.show = function(a, b) { | |
var c = this; | |
var d = lipscore.ig.get(); | |
return lipscore.Ea.cb(d, a, b, null, function(b) { | |
return c.show(b, !0) | |
}) | |
}; | |
return a | |
}(); | |
lipscore.mg = function() { | |
function a() {} | |
a.show = function(a) { | |
var b = new lipscore.lg(a); | |
a = a.getAttribute("ls-lipscore-product-id"); | |
lipscore.Vf.get(function(a) { | |
a = new lipscore.Wf(a.distribution); | |
return b.Ag(a) | |
}, a); | |
return this.cb(b) | |
}; | |
a.cb = function(a, b, c) { | |
var d = this; | |
return lipscore.Ea.cb(a.Bh(), b, c, function() { | |
return a.show() | |
}, function(b) { | |
return d.cb(a, b, !0) | |
}) | |
}; | |
return a | |
}(); | |
lipscore.og = function() { | |
function a() {} | |
a.show = function() { | |
var a; | |
var b = lipscore.a.getElementsByClassName("lipscore-service-review-testimonial"); | |
var c = []; | |
var e = 0; | |
for (a = b.length; e < a; e++) { | |
var f = b[e]; | |
c.push(new lipscore.ng(f)) | |
} | |
return c | |
}; | |
return a | |
}(); | |
lipscore.pg = function() { | |
function a() {} | |
a.set = function(b) { | |
var a; | |
return (a = lipscore.tc.getSettings()) ? d(a, b) : lipscore.Mf.get(function(a) { | |
return d(a, b) | |
}) | |
}; | |
a.get = function() { | |
return lipscore.tc.getSettings() | |
}; | |
var d = function(b, a) { | |
lipscore.tc.md(b); | |
b.settings && lipscore.vc(b.settings); | |
lipscore.ga.Qh(); | |
lipscore.ga.Rh(); | |
lipscore.lb.set(b.user); | |
return a() | |
}; | |
return a | |
}(); | |
lipscore.tg = function() { | |
function a() {} | |
a.show = function() { | |
var a; | |
var b = lipscore.a.getElementsByClassName("lipscore-testimonial"); | |
var c = []; | |
var e = 0; | |
for (a = b.length; e < a; e++) { | |
var f = b[e]; | |
c.push(new lipscore.sg(f)) | |
} | |
return c | |
}; | |
return a | |
}(); | |
lipscore.pb = function() { | |
function a() {} | |
a.wa = function() { | |
var a = lipscore.ba.get(); | |
lipscore.Da.get().pa(a.pe(), a.getName()); | |
lipscore.la.get().pa(); | |
lipscore.la.get().wb() && lipscore.Ab.post(null); | |
lipscore.h.get().Bf && lipscore.ma.hc(); | |
lipscore.h.get().me && lipscore.ma.Kb(); | |
lipscore.h.get().pa() | |
}; | |
a.show = function() { | |
lipscore.eg.init(); | |
lipscore.Ab.show(); | |
lipscore.ma.show(); | |
lipscore.tg.show(); | |
lipscore.jg.show(); | |
lipscore.hg.show(); | |
lipscore.og.show(); | |
lipscore.lb.yf(); | |
lipscore.Da.get(); | |
if (!lipscore.isExpandable()) return lipscore.Da.get().Ra() | |
}; | |
return a | |
}(); | |
lipscore.zb = function() { | |
function a() {} | |
var d = null; | |
a.get = function() { | |
return null != d ? d : d = new b | |
}; | |
var b = function() { | |
function b() {} | |
b.prototype.za = function() { | |
if (null != this.Gb) return this.Gb.id | |
}; | |
b.prototype.Ah = function() { | |
if (null != this.Gb) return this.Gb.landing_template | |
}; | |
b.prototype.oj = function(b) { | |
this.Gb = b | |
}; | |
return b | |
}(); | |
return a | |
}(); | |
lipscore.Gf = function() { | |
function a(a, b) { | |
this.url = a; | |
this.data = b; | |
this.value = ""; | |
this.wh() | |
} | |
a.prototype.value = function() { | |
return this.value | |
}; | |
a.prototype.wh = function() { | |
try { | |
this.value = this.pk() | |
} catch (b) { | |
var a = b; | |
console.log("Lipscore bearer generation error: " + a) | |
} | |
}; | |
a.prototype.pk = function() { | |
return window.btoa(this.kk()) | |
}; | |
a.prototype.kk = function() { | |
return this.kj() + "_" + this.ih() | |
}; | |
a.prototype.kj = function() { | |
return Date.now() | |
}; | |
a.prototype.ih = function() { | |
return sha1(this.vh()) | |
}; | |
a.prototype.vh = function() { | |
return this.qk() + | |
this.Ji() | |
}; | |
a.prototype.Ji = function() { | |
return this.data instanceof FormData ? "" : decodeURIComponent(lipscore.ca.dh(this.data)) | |
}; | |
a.prototype.qk = function() { | |
var a = this.url.replace("https://wapi.lipscore.com", ""); | |
return lipscore.ca.Wi(a) | |
}; | |
return a | |
}(); | |
lipscore.ba = function() { | |
function a() {} | |
var d = null; | |
a.get = function() { | |
return null != d ? d : d = new b | |
}; | |
var b = function() { | |
function b() { | |
this.sa = !1; | |
this.tb = {} | |
} | |
b.prototype.pe = function() { | |
return this.tb.avatar_thumb_url | |
}; | |
b.prototype.getName = function() { | |
return this.tb.name | |
}; | |
b.prototype.za = function() { | |
return this.tb.id | |
}; | |
b.prototype.Zb = function(b) { | |
if ((this.tb = b) && 0 < b.id) return this.sa = !0 | |
}; | |
b.prototype.sh = function() { | |
this.tb = null; | |
this.sa = !1 | |
}; | |
return b | |
}(); | |
return a | |
}(); | |
lipscore.mc = function() { | |
function a(a) { | |
this.name = function() { | |
switch (a) { | |
case "product": | |
return d; | |
case "service": | |
return b; | |
default: | |
return d | |
} | |
}() | |
} | |
var d = "product"; | |
var b = "service"; | |
a.Of = d; | |
a.fg = b; | |
a.prototype.getName = function() { | |
return this.name | |
}; | |
a.prototype.ii = function() { | |
return this.name === d | |
}; | |
a.prototype.Rc = function() { | |
return this.name === b | |
}; | |
return a | |
}(); | |
lipscore.$f = function() { | |
function a(a) { | |
this.name = function() { | |
switch (a) { | |
case "email1": | |
return d; | |
case "email2": | |
return b; | |
case "service": | |
return c; | |
default: | |
return d | |
} | |
}() | |
} | |
var d = "email1"; | |
var b = "email2"; | |
var c = "service"; | |
a.prototype.getName = function() { | |
return this.name | |
}; | |
a.prototype.Rc = function() { | |
return this.name === c | |
}; | |
return a | |
}(); | |
lipscore.qc = function() { | |
function a(b) { | |
this.bf = b; | |
this.ye = this.ea("ls-image-url"); | |
this.ae = this.ea("ls-brand"); | |
this.name = this.ea("ls-product-name"); | |
this.ce = this.ea("ls-category"); | |
this.cd = this.ea("ls-product-votes"); | |
this.Xb = this.ea("ls-product-review-count"); | |
this.$d = lipscore.gb; | |
this.Se = this.ea("ls-price-currency"); | |
this.Re = this.ea("ls-price"); | |
this.url = this.ea("ls-product-url"); | |
this.kf = this.xh(); | |
this.w = this.ea("ls-sku").split(";")[0]; | |
b = this.ea("ls-description"); | |
b = lipscore.a.lj(b); | |
this.description = b.trim().substr(0, | |
d); | |
b = this.ea("ls-product-rating"); | |
b = lipscore.o.xf(b); | |
this.Ui = lipscore.o.va(b); | |
this.Zd = "1" === this.ea("ls-availability") ? "http://schema.org/InStock" : "http://schema.org/OutOfStock" | |
} | |
var d = 200; | |
a.prototype.Mi = function() { | |
return this.stringify(this.ad()) | |
}; | |
a.prototype.Fi = function() { | |
var b = window.location.protocol + "//" + window.location.host; | |
b = { | |
"@context": "http://schema.org", | |
"@type": "Organization", | |
"@id": "" + b + "/#organization", | |
url: b, | |
aggregateRating: this.Wd(), | |
review: this.jf() | |
}; | |
return this.stringify(b) | |
}; | |
a.prototype.Oi = | |
function(b) { | |
b = b ? this.Te() : this.ad(); | |
b.review = this.jf(); | |
return this.stringify(b) | |
}; | |
a.prototype.Te = function() { | |
return { | |
"@context": "http://schema.org", | |
"@type": "Product", | |
"@id": "" + this.url + "#this", | |
name: this.name | |
} | |
}; | |
a.prototype.ad = function() { | |
var b = this.Te(); | |
b.url = this.url; | |
b.aggregateRating = this.Wd(); | |
this.Ba(this.description) && (b.description = this.description); | |
this.Ba(this.ye) && (b.image = this.ye); | |
this.Ba(this.w) && (b.productID = "sku:" + this.w); | |
this.Ba(this.ae) && (b.brand = { | |
"@type": "Brand", | |
name: this.ae | |
}); | |
this.Ba(this.ce) && | |
(b.category = this.ce); | |
this.Ba(this.Re) && this.Ba(this.Se) && (b.offers = { | |
"@type": "Offer", | |
price: this.Re, | |
priceCurrency: this.Se | |
}, this.Ba(this.Zd) && (b.offers.availability = this.Zd)); | |
return b | |
}; | |
a.prototype.Wd = function() { | |
if (0 < this.Xb || 0 < this.cd) { | |
var b = { | |
"@type": "AggregateRating", | |
ratingValue: this.Ui, | |
bestRating: this.$d, | |
worstRating: 0 | |
}; | |
0 < this.Xb && (b.reviewCount = this.Xb); | |
0 < this.cd && (b.ratingCount = this.cd); | |
return b | |
} | |
}; | |
a.prototype.jf = function() { | |
var b; | |
var a = this.kf; | |
var d = []; | |
var f = 0; | |
for (b = a.length; f < b; f++) { | |
var g = a[f]; | |
d.push({ | |
"@type": "Review", | |
author: { | |
"@type": "Person", | |
name: g.user.name || g.user | |
}, | |
datePublished: g.created_at, | |
reviewBody: g.text, | |
reviewRating: { | |
"@type": "Rating", | |
ratingValue: lipscore.o.va(g.lipscore), | |
bestRating: this.$d, | |
worstRating: 0 | |
} | |
}) | |
} | |
return d | |
}; | |
a.prototype.ea = function(b) { | |
return this.bf[b] || "" | |
}; | |
a.prototype.xh = function() { | |
return this.bf.reviews || [] | |
}; | |
a.prototype.Ba = function(b) { | |
return null != b && 0 < b.toString().length | |
}; | |
a.prototype.stringify = function(b) { | |
return JSON.stringify(b, "", 2) | |
}; | |
return a | |
}(); | |
lipscore.jc = function() { | |
function a() {} | |
a.hk = function(a, b) { | |
a.preventDefault(); | |
a.stopPropagation(); | |
lipscore.a.toggleClass(b, "lipscore-dropdown-menu-active"); | |
lipscore.la.get().Qb(); | |
lipscore.h.get().Pb(); | |
return lipscore.h.get().Rb() | |
}; | |
a.ve = function() { | |
var a; | |
var b = lipscore.a.getElementsByClassName("lipscore-dropdown-menu"); | |
var c = []; | |
var e = 0; | |
for (a = b.length; e < a; e++) { | |
var f = b[e]; | |
c.push(lipscore.a.removeClass(f, "lipscore-dropdown-menu-active")) | |
} | |
}; | |
return a | |
}(); | |
lipscore.kc = function() { | |
function a() {} | |
a.lh = function(a) { | |
a.stopPropagation(); | |
return lipscore.mb.eb("facebook") | |
}; | |
a.Oh = function(a) { | |
a.stopPropagation(); | |
return lipscore.mb.eb("gplus") | |
}; | |
a.lk = function(a) { | |
a.stopPropagation(); | |
return lipscore.mb.eb("twitter") | |
}; | |
a.Qk = function(a) { | |
a.stopPropagation(); | |
return lipscore.mb.eb("custom") | |
}; | |
return a | |
}(); | |
lipscore.lc = function() { | |
function a() {} | |
a.Wg = function() { | |
return lipscore.qa.get().hide() | |
}; | |
a.ui = function(a) { | |
if (a.target === a.currentTarget) return lipscore.qa.get().hide() | |
}; | |
a.Xg = function(a) { | |
if (27 === a.which) return lipscore.qa.get().hide() | |
}; | |
return a | |
}(); | |
lipscore.Rf = function() { | |
function a() {} | |
a.Zc = function(a) { | |
a.preventDefault(); | |
if (lipscore.a.hasClass(this, "active")) return !1; | |
a = this.getAttribute("pageNum"); | |
return this.Zc(a) | |
}; | |
return a | |
}(); | |
lipscore.Bb = function() { | |
function a() {} | |
a.Xj = function(a, b, c) { | |
a.stopPropagation(); | |
if (c.isEnabled()) return a = c.re(b), c.qf(a), c.$b(a), lipscore.ba.get().sa || lipscore.ha.get() || lipscore.De ? lipscore.Ab.post(c) : c.Mj() | |
}; | |
a.Yj = function(a, b) { | |
if (b.isEnabled()) return a = b.re(a), b.$b(a) | |
}; | |
a.Zj = function(a, b, c) { | |
if (c.isEnabled() && (a = a.toElement || a.relatedTarget) && a.parentNode !== b && a !== b) return c.ff(), c.le(), c.Kc() | |
}; | |
a.fj = function(a) { | |
a.preventDefault(); | |
lipscore.na("review-count-link-clicked"); | |
if (a = lipscore.h.get().f()) return lipscore.a.mj(a) | |
}; | |
return a | |
}(); | |
lipscore.aa = function() { | |
function a() {} | |
a.Zh = function(a) { | |
return a.Qc.click() | |
}; | |
a.Yh = function(a) { | |
return lipscore.ma.Bg(a) | |
}; | |
a.vk = function(a) { | |
return lipscore.ma.Fg(a) | |
}; | |
a.qh = function(a) { | |
a.preventDefault(); | |
a.stopPropagation(); | |
lipscore.jc.ve(); | |
lipscore.h.get().Cj(this); | |
return lipscore.ba.get().sa ? lipscore.ma.Kb() : lipscore.h.get().ik(this) | |
}; | |
a.ri = function(a) { | |
a.preventDefault(); | |
return lipscore.mb.Wc() | |
}; | |
a.Je = function(a) { | |
a.preventDefault(); | |
return lipscore.a.toggleClass(this.parentNode, "lipscore-review-media-frame-active") | |
}; | |
a.Ke = | |
function(a, b, c) { | |
a.preventDefault(); | |
return lipscore.ma.Yi(c, b.parentNode.parentNode) | |
}; | |
a.Ii = function(a, b) { | |
a.preventDefault(); | |
a = lipscore.Db.get() && lipscore.Db.get().Tc(); | |
return lipscore.ma.post(b, a) | |
}; | |
a.Af = function(a) { | |
a.stopPropagation(); | |
lipscore.h.get().Dj(this); | |
return lipscore.ba.get().sa ? lipscore.ma.hc() : lipscore.h.get().jk(this) | |
}; | |
a.Ci = function(a) { | |
a.preventDefault(); | |
var b = lipscore.oc.Dh(this); | |
a = lipscore.oc.Ch(this); | |
return lipscore.Nf.get().Nj(b, a) | |
}; | |
a.Ki = function(a, b) { | |
a.onfocus = null; | |
if (!b.active) return b.Ra() | |
}; | |
return a | |
}(); | |
lipscore.sc = function() { | |
function a() {} | |
a.Fc = function(a) { | |
a.stopPropagation(); | |
return lipscore.mg.show(this) | |
}; | |
return a | |
}(); | |
lipscore.qg = function() { | |
function a() {} | |
a.gk = function(a, b, c) { | |
a.stopPropagation(); | |
return b.Sj(c) | |
}; | |
return a | |
}(); | |
lipscore.i = function() { | |
function a() {} | |
a.request = function(a) { | |
var b = lipscore.jQuery.extend(!0, {}, { | |
global: !1, | |
dataType: "json", | |
xhrFields: { | |
withCredentials: !0 | |
} | |
}, a); | |
b.url = lipscore.ca.Vd(b.url, { | |
api_key: lipscore.appId | |
}); | |
"POST" === b.type && (a = (new lipscore.Gf(b.url, b.data)).value, b.url = lipscore.ca.Vd(b.url, { | |
bearer: a | |
})); | |
return lipscore.jQuery.ajax(b) | |
}; | |
return a | |
}(); | |
lipscore.ud = function() { | |
function a() {} | |
a.zf = function(a) { | |
a = decodeURIComponent(a); | |
try { | |
var b = a.replace(/a/g, "="); | |
var c = JSON.parse(base32.decode(b)) | |
} catch (e) { | |
try { | |
c = JSON.parse(Base64Decoder.decode(a)) | |
} catch (f) { | |
c = null | |
} | |
} | |
return c | |
}; | |
return a | |
}(); | |
lipscore.wd = function() { | |
function a() {} | |
a.rh = function(a) { | |
return "review.flags." + a | |
}; | |
a.cm = function(a) { | |
return "review.statuses." + a | |
}; | |
a.Uc = function() { | |
return lipscore.j.Uc(lipscore.c.lang()) | |
}; | |
return a | |
}(); | |
lipscore.Kf = function() { | |
function a() {} | |
var d = []; | |
a.ad = function() { | |
var b = lipscore.fa.bd((void 0).block); | |
var a = function(b) { | |
if (null != b) return { | |
Dk: null, | |
lm: (void 0).type, | |
id: b, | |
block: (void 0).block | |
} | |
}; | |
if (lipscore.fa.Ge(b.ua)) return a(b.ua); | |
if (lipscore.fa.Ge(b.w)) return a(b.w) | |
}; | |
a.Fk = function(a) { | |
var c, f; | |
var g = 0; | |
for (c = a.length; g < c; g++) { | |
var h = a[g]; | |
var l = lipscore.fa.bd(h.block); | |
if (0 === d.length) b(l.ua, l.w, h.type, h.block); | |
else { | |
var m = null; | |
var p = 0; | |
for (f = d.length; p < f; p++) { | |
var q = d[p]; | |
if (q.ua === l.ua && q.w === l.w) { | |
m = q; | |
break | |
} | |
} | |
m ? | |
(m.ta.push(h.block), -1 === m.types.indexOf(h.type) && m.types.push(h.type)) : b(l.ua, l.w, h.type, h.block) | |
} | |
} | |
return d | |
}; | |
var b = function(b, a, f, g) { | |
return d.push({ | |
ua: b, | |
w: a, | |
types: [f], | |
ta: [g] | |
}) | |
}; | |
return a | |
}(); | |
lipscore.Bd = function() { | |
function a() {} | |
a.Oe = function(a) { | |
this.xhr = a; | |
return JSON.parse(this.xhr.getResponseHeader("X-Pagination")) | |
}; | |
return a | |
}(); | |
lipscore.fa = function() { | |
function a() {} | |
var d = { | |
id: 0, | |
votes: 0, | |
lipscore: 0, | |
review_count: 0 | |
}; | |
a.bd = function(b) { | |
return { | |
ua: this.ei(b), | |
w: this.w(b) | |
} | |
}; | |
a.Ub = function(b) { | |
var a = this.bd(b); | |
return { | |
name: b.getAttribute("ls-product-name"), | |
brand: b.getAttribute("ls-brand"), | |
url: b.getAttribute("ls-product-url"), | |
image_url: b.getAttribute("ls-image-url"), | |
price: b.getAttribute("ls-price"), | |
currency: b.getAttribute("ls-price-currency"), | |
category: b.getAttribute("ls-category"), | |
internal_id: a.ua, | |
sku_values: a.w | |
} | |
}; | |
a.w = function(b) { | |
var a; | |
var d = ["ls-sku", "ls-id"]; | |
var f = 0; | |
for (a = d.length; f < a; f++) { | |
var g = d[f]; | |
g = b.getAttribute(g); | |
if (null != g) break | |
} | |
if (null != g) return g | |
}; | |
a.ei = function(b) { | |
var a = b.getAttribute("ls-product-id"); | |
!a && lipscore.ga.ji(b) && (a = "service_review"); | |
return a | |
}; | |
a.fe = function() { | |
return d | |
}; | |
a.Ge = function(b) { | |
return null != b && 0 < b.toString().length | |
}; | |
a.$g = function(b, a) { | |
var c = function(c) { | |
var d = b.getAttribute(c); | |
if (null != d) return a.setAttribute(c, d) | |
}; | |
c("ls-product-name"); | |
c("ls-brand"); | |
c("ls-product-url"); | |
c("ls-description"); | |
c("ls-image-url"); | |
c("ls-price"); | |
c("ls-price-currency"); | |
c("ls-category"); | |
c("ls-product-id"); | |
return c("ls-sku") | |
}; | |
return a | |
}(); | |
lipscore.o = function() { | |
function a() {} | |
a.va = function(a) { | |
return lipscore.rb() ? Math.round(10 * a) / 10 : Math.round(a / 2 * 10) / 10 | |
}; | |
a.fc = function(a) { | |
a = a.getAttribute("ls-product-rating"); | |
return this.xf(a) | |
}; | |
a.xf = function(a) { | |
return null != a ? parseFloat(a) : 0 | |
}; | |
a.He = function(a) { | |
return a >= lipscore.Le | |
}; | |
return a | |
}(); | |
lipscore.ag = function() { | |
function a() {} | |
var d = { | |
xs: { | |
height: 0, | |
width: 480 | |
}, | |
s: { | |
height: 0, | |
width: 750 | |
}, | |
m: { | |
height: 0, | |
width: 970 | |
} | |
}; | |
a.Gg = function(b, a) { | |
var c; | |
null == a && (a = d); | |
var f = lipscore.a.Wa(b, "width"); | |
var g = lipscore.a.Wa(b, "height"); | |
var h = []; | |
for (c in a) { | |
var l = a[c]; | |
if (null != l.width && f <= l.width || null != l.height && g <= l.height) { | |
lipscore.a.addClass(b, "lipscore-view-" + c); | |
break | |
} else h.push(void 0) | |
} | |
}; | |
return a | |
}(); | |
lipscore.Ea = function() { | |
function a() {} | |
a.cb = function(a, b, c, e, f) { | |
var d, h; | |
var l = function(b, c) { | |
var d = JSON.parse('["inappropriate", "fake", "spam"]'); | |
c.callback = f; | |
lipscore.Ea.Zi(a, b, d, c); | |
if (e) return e(b) | |
}; | |
if ((d = a.f()) && (!a.ij() || c)) { | |
c = d.getAttribute("ls-lipscore-product-id"); | |
d.getAttribute("ls-product-review-count"); | |
if (h = JSON.parse(d.getAttribute("ls-product-reviews"))) { | |
d.removeAttribute("ls-product-reviews"); | |
var m = JSON.parse(d.getAttribute("ls-review-paging")); | |
return l(h, m) | |
} | |
if (null != c && 0 < parseInt(c, 10)) return lipscore.ob.index(function(a, | |
b, c) { | |
m = lipscore.Bd.Oe(c); | |
return l(a, m) | |
}, c, b) | |
} | |
}; | |
a.ki = function(a) { | |
var b = a.Jh(); | |
var c = !lipscore.ba.get().sa && !lipscore.ha.get(); | |
var d = a.Ig.checked; | |
var f = null; | |
c && (f = lipscore.c.t("review.messages.auth")); | |
d || (f = lipscore.c.t("review.messages.agree_required", { | |
member_site_name: lipscore.Yc | |
})); | |
!f && 10 > b.length && (f = lipscore.c.t("review.messages.few_chars")); | |
!f && 4E3 < b.length && (f = lipscore.c.t("review.messages.many_chars")); | |
f && a.error(f); | |
return !f | |
}; | |
a.Zi = function(a, b, c, e) { | |
var d, g, h; | |
a.di(b.length, c); | |
var l = d = 0; | |
for (h = | |
b.length; 0 <= h ? d < h : d > h; l = 0 <= h ? ++d : --d) { | |
c = b[l]; | |
l = a.Kh(l); | |
l.nd(c.text); | |
l.qj(c.user.name, c.user.avatar_thumb_url); | |
l.uj(c.created_at); | |
l.Jj(c.votes_up, c.votes_down); | |
c.purchase_date && l.yj(c.purchase_date); | |
c.lipscore && l.ld(c.lipscore); | |
l.Bj(c.id); | |
l.zj(c.review_reply); | |
c.video && l.Ij(c.video); | |
var m = c.images; | |
var p = 0; | |
for (g = m.length; p < g; p++) { | |
var q = m[p]; | |
l.xj(q.thumb_url, q.image_url) | |
} | |
p = l.Ak; | |
q = l.zk; | |
p.setAttribute(lipscore.j.Ka(), c.id); | |
q.setAttribute(lipscore.j.Ka(), c.id); | |
p.onclick = lipscore.aa.Af; | |
q.onclick = lipscore.aa.Af; | |
g = l.flags; | |
q = 0; | |
for (p = g.length; q < p; q++) l = g[q], l.setAttribute(lipscore.j.Ka(), c.id), l.onclick = lipscore.aa.qh | |
} | |
e && new lipscore.Sf(a.f(), e.callback, e.page, e.total_pages) | |
}; | |
a.Xd = function() { | |
return lipscore.c.t("review.agree", { | |
member_site_name: lipscore.Yc | |
}) | |
}; | |
return a | |
}(); | |
lipscore.tc = function() { | |
function a() {} | |
a.md = function(a) { | |
return sessionStorage.setItem("settings", JSON.stringify(a)) | |
}; | |
a.getSettings = function() { | |
return JSON.parse(sessionStorage.getItem("settings")) | |
}; | |
a.Al = function() { | |
var a = this.getSettings(); | |
a.rk = { | |
id: -1 | |
}; | |
return this.md(a) | |
}; | |
a.am = function(a) { | |
var b = this.getSettings(); | |
b.rk = a; | |
return this.md(b) | |
}; | |
return a | |
}(); | |
lipscore.Fb = function() { | |
function a() {} | |
a.select = function(a) { | |
if (!(0 < a.length)) return null; | |
var b = this.Uj(a); | |
return 4 >= a.length ? b : b.slice(0, 4) | |
}; | |
a.Uj = function(a) { | |
var b; | |
for (b = a.length; 0 < --b;) { | |
var c = ~~(Math.random() * (b + 1)); | |
var d = a[c]; | |
a[c] = a[b]; | |
a[b] = d | |
} | |
return a | |
}; | |
a.ed = function(a) { | |
return JSON.parse(a.getAttribute("ls-testimonial")) | |
}; | |
return a | |
}(); | |
lipscore.ca = function() { | |
function a() {} | |
var d = ["lipscore_user_token", "lipscore_review_data", "lipscore_token", "lipscore_rating_data"]; | |
a.Aa = function(a, c) { | |
var b; | |
if (a = this.getQuery(a)) { | |
var d = a.split("&"); | |
a = 0; | |
for (b = d.length; a < b; a++) { | |
var g = d[a]; | |
g = g.split("="); | |
if (g[0] === c) return decodeURI(g[1]) | |
} | |
} | |
return null | |
}; | |
a.Vd = function(a, c) { | |
c = lipscore.jQuery.param(c); | |
a = a.split("#"); | |
a[0] += (-1 !== a[0].indexOf("?") ? "&" : "?") + c; | |
return a.join("#") | |
}; | |
a.getQuery = function(a) { | |
var b = this.Yd(a); | |
return a.substring(a.indexOf("?") + 1, -1 !== | |
b ? b : a.length) | |
}; | |
a.Wi = function(a) { | |
var b = this.Yd(a); | |
return -1 !== b ? a.substr(0, b - 1) : a | |
}; | |
a.Yd = function(a) { | |
return a.indexOf("#") | |
}; | |
a.dh = function(a) { | |
a = lipscore.a.Hc(a); | |
return lipscore.jQuery.param(a) | |
}; | |
a.bh = function() { | |
var a; | |
var c = document.URL; | |
var e = function(a) { | |
var b = c.indexOf("?" + a); - 1 === b && (b = c.indexOf("&" + a)); | |
return c = 0 < b ? c.substring(0, b) : c | |
}; | |
var f = 0; | |
for (a = d.length; f < a; f++) { | |
var g = d[f]; | |
e(g) | |
} | |
return c | |
}; | |
return a | |
}(); | |
(function() { | |
var a = [].indexOf || function(a) { | |
for (var b = 0, c = this.length; b < c; b++) | |
if (b in this && this[b] === a) return b; | |
return -1 | |
}; | |
lipscore.a = function() { | |
function d() {} | |
var b = "Jan Feb Mar Apr May June July Aug Sept Oct Nov Dec".split(" "); | |
d.addClass = function(a, b) { | |
this.block = a; | |
this["class"] = b; | |
if (a = a.getAttribute("class")) { | |
if (0 > a.indexOf(this["class"])) return this.block.setAttribute("class", a + (" " + this["class"])) | |
} else return this.block.setAttribute("class", this["class"]) | |
}; | |
d.Nk = function(a) { | |
this.bc = a; | |
return this.bc.charAt(0).toUpperCase() + | |
this.bc.slice(1) | |
}; | |
d.Qg = function(a) { | |
this.bc = a; | |
return this.bc.replace(/(?:^|[-_])(\w)/g, function(a, b) { | |
return b ? b.toUpperCase() : "" | |
}) | |
}; | |
d.Rk = function(a) { | |
this.ia = a; | |
a = 10 < this.ia.getDate() ? this.ia.getDate().toString() : "0" + this.ia.getDate(); | |
return "" + b[this.ia.getMonth()] + " " + a + " " + this.ia.getFullYear() | |
}; | |
d.Ua = function(a) { | |
this.ia = a; | |
a = 10 <= this.ia.getDate() ? this.ia.getDate().toString() : "0" + this.ia.getDate(); | |
var b = this.ia.getMonth() + 1; | |
return "" + this.ia.getFullYear() + "-" + (10 <= b ? b.toString() : "0" + b) + "-" + a | |
}; | |
d.hasClass = | |
function(a, b) { | |
this.block = a; | |
this["class"] = b; | |
return void 0 === a.className ? !1 : (a = a.getAttribute("class")) && 0 <= a.indexOf(this["class"]) | |
}; | |
d.se = function(a, b) { | |
return a.id === b | |
}; | |
d.removeClass = function(a, b) { | |
this.block = a; | |
this["class"] = b; | |
if (a = a.getAttribute("class")) return this.block.setAttribute("class", a.replace(this["class"], "").trim()) | |
}; | |
d.$i = function(a, b, d) { | |
this.block = a; | |
this.Bi = b; | |
this.yi = d; | |
this.removeClass(this.block, this.Bi); | |
return this.addClass(this.block, this.yi) | |
}; | |
d.toggleClass = function(a, b) { | |
this.block = | |
a; | |
this["class"] = b; | |
return this.hasClass(this.block, this["class"]) ? this.removeClass(this.block, this["class"]) : this.addClass(this.block, this["class"]) | |
}; | |
d.hide = function(a) { | |
this.block = a; | |
return this.addClass(this.block, "lipscore-hidden") | |
}; | |
d.show = function(a) { | |
this.block = a; | |
return this.removeClass(this.block, "lipscore-hidden") | |
}; | |
d.hm = function(a) { | |
this.block = a; | |
return this.toggleClass(this.block, "lipscore-hidden") | |
}; | |
d.Fe = function(a) { | |
this.block = a; | |
return this.hasClass(this.block, "lipscore-hidden") | |
}; | |
d.jd = function(a, | |
b) { | |
this.block = a; | |
null !== b.top && (this.block.style.top = b.top + "px"); | |
null !== b.left && (this.block.style.left = b.left + "px") | |
}; | |
d.Mc = function(a, b) { | |
a = Array.prototype.slice.call(lipscore.a.getElementsByClassName(a)); | |
null != b && (b = document.getElementById(b)) && a.push(b); | |
return a | |
}; | |
d.mj = function(a) { | |
var b = function() { | |
return null != window.pageYOffset ? window.pageYOffset : document.documentElement.clientHeight ? document.documentElement.scrollTop : document.body.scrollTop | |
}; | |
var c = function(a, d) { | |
if (!(0 >= d)) { | |
var e = (a - b()) / d; | |
return setTimeout(function() { | |
top.window.scroll(0, | |
b() + e); | |
return c(a, d - 1) | |
}, 0) | |
} | |
}; | |
var d = document.documentElement.clientTop || document.body.clientTop || 0; | |
a = a.getBoundingClientRect().top + b() - d; | |
return c(a, 50) | |
}; | |
d.Lc = function(a) { | |
var b; | |
this.block = a; | |
var c = {}; | |
if (this.block.hasAttributes()) { | |
var d = this.block.attributes; | |
var h = 0; | |
for (b = d.length; h < b; h++) a = d[h], c[a.name] = a.value | |
} | |
return c | |
}; | |
d.lj = function(a) { | |
this.text = a; | |
return this.text.replace(/(<([^>]+)>)/ig, "").replace(/(\r\n|\n|\r)/gm, " ") | |
}; | |
d.Uk = function() { | |
var b = window; | |
var d = "inner"; | |
0 <= a.call(window, "innerWidth") || | |
(d = "client", b = document.documentElement || document.body); | |
return 767 >= b[d + "Width"] | |
}; | |
d.te = function(a, b) { | |
return a.parentNode && (this.hasClass(a.parentNode, b) || this.te(a.parentNode, b)) | |
}; | |
d.nk = function(a) { | |
var b = {}; | |
return a.filter(function(a) { | |
a = JSON.stringify(a); | |
return b.hasOwnProperty(a) ? !1 : b[a] = !0 | |
}) | |
}; | |
d.getElementsByClassName = function(a, b) { | |
null == b && (b = document); | |
return b.getElementsByClassName(a) || [] | |
}; | |
d.Wa = function(a, b) { | |
var c; | |
null == c && (c = "px"); | |
a = window.getComputedStyle(a).getPropertyValue(b); | |
return null != c ? | |
parseInt(a.replace(c, ""), 10) : a | |
}; | |
d.Hc = function(a, b) { | |
var c; | |
var d = null; | |
if (Array.isArray(a)) { | |
var e = []; | |
var l = 0; | |
for (d = a.length; l < d; l++) { | |
var m = a[l]; | |
e.push(this.Hc(m, b)) | |
} | |
d = e | |
} | |
if (lipscore.jQuery.isPlainObject(a)) | |
for (d = {}, l = Object.keys(a).sort(b), e = 0, c = l.length; e < c; e++) m = l[e], d[m] = this.Hc(a[m], b); | |
return d || a | |
}; | |
return d | |
}() | |
}).call(this); | |
lipscore.ga = function() { | |
function a() {} | |
var d = ["r", "r_sl", "rw_p", "rw_l"]; | |
var b = ["r", "r_sl"]; | |
var c = ["rw_p", "rw_l", "rw_c"]; | |
a.Nh = function() { | |
var a; | |
var b = []; | |
var c = document.getElementById("lipscore-rating"); | |
var d = document.getElementById("lipscore-review-list"); | |
var e = document.getElementById("lipscore-service-review-list"); | |
c && b.push({ | |
type: "r", | |
block: c | |
}); | |
d && b.push({ | |
type: "rw_l", | |
block: d | |
}); | |
e && b.push({ | |
type: "srw_l", | |
block: e | |
}); | |
d = lipscore.a.Mc("lipscore-review-post", "lipscore-review-post"); | |
e = 0; | |
for (a = d.length; e < a; e++) c = | |
d[e], b.push({ | |
type: "rw_p", | |
block: c | |
}); | |
d = lipscore.a.Mc("lipscore-rating-slider", "lipscore-rating-slider"); | |
e = 0; | |
for (a = d.length; e < a; e++) c = d[e], b.push({ | |
type: "r_sl", | |
block: c | |
}); | |
d = lipscore.a.getElementsByClassName("lipscore-rating-small"); | |
e = 0; | |
for (a = d.length; e < a; e++) c = d[e], b.push({ | |
type: "r_sm", | |
block: c | |
}); | |
d = lipscore.a.getElementsByClassName("lipscore-review-count"); | |
e = 0; | |
for (a = d.length; e < a; e++) c = d[e], b.push({ | |
type: "rw_c", | |
block: c | |
}); | |
d = lipscore.a.getElementsByClassName("lipscore-testimonial"); | |
a = 0; | |
for (e = d.length; a < e; a++) c = | |
d[a], b.push({ | |
type: "t", | |
block: c | |
}); | |
d = lipscore.a.getElementsByClassName("lipscore-service-review-badge"); | |
a = 0; | |
for (e = d.length; a < e; a++) c = d[a], b.push({ | |
type: "srw_b", | |
block: c | |
}); | |
d = lipscore.a.getElementsByClassName("lipscore-service-review-badge-starred"); | |
a = 0; | |
for (e = d.length; a < e; a++) c = d[a], b.push({ | |
type: "srw_bs", | |
block: c | |
}); | |
d = lipscore.a.getElementsByClassName("lipscore-service-review-testimonial"); | |
a = 0; | |
for (e = d.length; a < e; a++) c = d[a], b.push({ | |
type: "srw_t", | |
block: c | |
}); | |
a = []; | |
e = 0; | |
for (d = b.length; e < d; e++) c = b[e], null === c.block.getAttribute("ls-lipscore-product-id") && | |
a.push(c); | |
return a | |
}; | |
a.kd = function(a, b) { | |
this.block = a; | |
this.data = b; | |
null != this.data.id && this.block.setAttribute("ls-lipscore-product-id", this.data.id); | |
null != this.data.votes && this.block.setAttribute("ls-product-votes", this.data.votes); | |
null != this.data.lipscore && this.block.setAttribute("ls-product-rating", Math.round(10 * this.data.lipscore) / 10); | |
null != this.data.review_count && this.block.setAttribute("ls-product-review-count", this.data.review_count); | |
null != this.data.testimonials && g(this.block) && this.block.setAttribute("ls-testimonial", | |
JSON.stringify(lipscore.Fb.select(this.data.testimonials))); | |
if (null != this.data.reviews && m(this.block) && (this.block.setAttribute("ls-product-reviews", JSON.stringify(this.data.reviews)), this.data.paging)) return this.block.setAttribute("ls-review-paging", JSON.stringify(this.data.paging)) | |
}; | |
a.Lg = function(a) { | |
var b; | |
var c = this.Ek = a; | |
var d = []; | |
var e = 0; | |
for (b = c.length; e < b; e++) a = c[e], a.block.getAttribute("ls-product-url") ? d.push(void 0) : d.push(a.block.setAttribute("ls-product-url", lipscore.ca.bh())) | |
}; | |
a.nh = function(a) { | |
var b; | |
var c = null; | |
var d = []; | |
var e = 0; | |
for (b = a.length; e < b; e++) { | |
var f = a[e]; | |
this.gi(f) ? c = f : this.hi(f) && d.push(f) | |
} | |
if (null != c) | |
for (b = [], a = 0, e = d.length; a < e; a++) f = d[a], b.push(lipscore.fa.$g(c.block, f.block)) | |
}; | |
a.gi = function(a) { | |
var c = a.block; | |
c = c.getAttribute("ls-product-id") || lipscore.fa.w(c); | |
return 0 <= b.indexOf(a.type) && c | |
}; | |
a.hi = function(a) { | |
return 0 <= c.indexOf(a.type) | |
}; | |
a.ph = function(a) { | |
for (a = a.parentElement; null != a && null == a.getAttribute("ls-product-id");) a = a.parentElement; | |
return a | |
}; | |
a.Qh = function() { | |
var a; | |
if (lipscore.Ec) { | |
var b = | |
lipscore.j.Sg(); | |
var c = 0; | |
for (a = b.length; c < a; c++) { | |
var d = b[c]; | |
f(d, "cancelled") | |
} | |
b = lipscore.j.Rg(); | |
var g = []; | |
c = 0; | |
for (a = b.length; c < a; c++) d = b[c], g.push(e(d, "cancelled")) | |
} | |
}; | |
a.Rh = function() { | |
var a; | |
if (lipscore.xe) { | |
var b = lipscore.qa.get().yh(); | |
var c = lipscore.j.Uh(); | |
var d = 0; | |
for (a = c.length; d < a; d++) { | |
var g = c[d]; | |
f(g, "hidden") | |
} | |
c = lipscore.j.Th(); | |
var h = []; | |
d = 0; | |
for (a = c.length; d < a; d++) g = c[d], h.push(e(g, "hidden", b)) | |
} | |
}; | |
a.zi = function(a) { | |
var b; | |
for (b = a.length; 0 < b;) return a = a[0], 0 <= d.indexOf(a) ? !0 : !1 | |
}; | |
var e = function(a, b, c) { | |
var d; | |
null == c && (c = null); | |
var e = Array.from(lipscore.a.getElementsByClassName(a)); | |
var f = []; | |
var g = 0; | |
for (d = e.length; g < d; g++) { | |
var h = e[g]; | |
c && lipscore.a.te(h, c) ? f.push(void 0) : f.push(lipscore.a.$i(h, a, "" + b + "-" + a)) | |
} | |
return f | |
}; | |
var f = function(a, b) { | |
var c; | |
if (c = document.getElementById(a)) return c.setAttribute("id", "" + b + "-" + a) | |
}; | |
a.ji = function(a) { | |
return "lipscore-service-review-list" === a.getAttribute("id") || lipscore.a.hasClass(a, "lipscore-service-review-badge") || lipscore.a.hasClass(a, "lipscore-service-review-testimonial") | |
}; | |
a.Ej = function(a) { | |
var b = a.getAttribute("ls-widget-width"); | |
var c = a.getAttribute("ls-widget-height"); | |
var d = ""; | |
null != b && (d += "width:" + b + ";"); | |
null != c && (d += "height:" + c + ";"); | |
0 < d.length && a.setAttribute("style", d) | |
}; | |
var g = function(a) { | |
return h(a) || l(a) | |
}; | |
var h = function(a) { | |
return lipscore.a.hasClass(a, "lipscore-testimonial") | |
}; | |
var l = function(a) { | |
return lipscore.a.hasClass(a, "lipscore-service-review-testimonial") | |
}; | |
var m = function(a) { | |
return q(a) || p(a) | |
}; | |
var p = function(a) { | |
return lipscore.a.se(a, "lipscore-service-review-list") | |
}; | |
var q = function(a) { | |
return lipscore.a.se(a, "lipscore-review-list") | |
}; | |
return a | |
}(); | |
lipscore.Ff = function() { | |
function a(a) { | |
this.v = document.createElement(d); | |
lipscore.a.addClass(this.v, b); | |
this.v.innerHTML = e; | |
lipscore.a.hide(this.v); | |
a.appendChild(this.v); | |
this.cc = lipscore.a.getElementsByClassName(c, this.v)[0] | |
} | |
var d = "div"; | |
var b = "lipscore-alert"; | |
var c = "lipscore-alert-text"; | |
var e = '<div class="lipscore-alert-icon"></div>\n<div class="' + c + '"></div>'; | |
a.prototype.reset = function() { | |
lipscore.a.hide(this.v); | |
lipscore.a.removeClass(this.v, this.li); | |
return this.cc.textContent = "" | |
}; | |
a.prototype.error = function(a) { | |
return this.show("lipscore-alert-error", | |
a) | |
}; | |
a.prototype.success = function(a) { | |
return this.show("lipscore-alert-success", a) | |
}; | |
a.prototype.rd = function(a) { | |
this.show("lipscore-alert-warning", a) | |
}; | |
a.prototype.show = function(a, b) { | |
this.reset(); | |
this.li = a; | |
this.cc.textContent = b; | |
lipscore.a.addClass(this.v, a); | |
return lipscore.a.show(this.v) | |
}; | |
return a | |
}(); | |
lipscore.Pa = function() { | |
function a() {} | |
a.Ae = function() { | |
var a = document.createElement("span"); | |
lipscore.a.addClass(a, "lipscore-demo-mode-label"); | |
a.textContent = "Demo-mode"; | |
return a | |
}; | |
a.append = function(a) { | |
return a.appendChild(this.Ae()) | |
}; | |
a.prepend = function(a) { | |
return a.insertBefore(this.Ae(), a.firstChild) | |
}; | |
return a | |
}(); | |
lipscore.vd = function() { | |
function a(a) { | |
var e = document.createElement(d); | |
lipscore.a.addClass(e, b); | |
a.appendChild(e); | |
lipscore.a.getElementsByClassName(c, a)[0].onclick = function(a) { | |
return lipscore.jc.hk(a, e) | |
}; | |
this.v = e | |
} | |
var d = "div"; | |
var b = "lipscore-dropdown-menu"; | |
var c = "lipscore-dropdown-toggle"; | |
a.prototype.Hb = function(a, b) { | |
var c; | |
var d = document.createElement("div"); | |
d.innerHTML = '<span class="lipscore-dropdown-menu-item">\n <span class="lipscore-dropdown-menu-item-text"></span>\n</span>'; | |
var e = lipscore.a.getElementsByClassName("lipscore-dropdown-menu-item", | |
d)[0]; | |
lipscore.a.getElementsByClassName("lipscore-dropdown-menu-item-text", d)[0].textContent = a; | |
this.v.appendChild(d); | |
if (b) | |
for (c in b) a = b[c], e.setAttribute(c, a); | |
return e | |
}; | |
return a | |
}(); | |
lipscore.If = function() { | |
function a(a) { | |
var g = document.createElement(d); | |
lipscore.a.addClass(g, "lipscore-dropdown"); | |
lipscore.a.addClass(g, b); | |
var l = document.createElement(c); | |
l.innerHTML = f; | |
lipscore.a.addClass(l, e); | |
g.appendChild(l); | |
this.ti = new lipscore.vd(g); | |
a.appendChild(g) | |
} | |
var d = "div"; | |
var b = "lipscore-flags-dropdown"; | |
var c = "div"; | |
var e = "lipscore-flags-toggle"; | |
var f = '<span class="lipscore-dropdown-toggle lipscore-flags-tick"></span>'; | |
a.prototype.Hb = function(a, b) { | |
return this.ti.Hb(a, b) | |
}; | |
a.Sk = function() { | |
return "lipscore-flags-tick" | |
}; | |
return a | |
}(); | |
lipscore.ka = function() { | |
function a() {} | |
var d = null; | |
a.get = function() { | |
return d | |
}; | |
a.show = function(a, e) { | |
null == d && (d = new b(e)); | |
d.Hi(a); | |
return lipscore.Nd() | |
}; | |
a.hide = function() { | |
if (d) return d.f().parentNode.removeChild(d.f()), d = null, lipscore.Nd() | |
}; | |
var b = function() { | |
function a(a) { | |
this.b = document.createElement(b); | |
this.b.innerHTML = l; | |
lipscore.a.addClass(this.b, d); | |
a && (lipscore.a.getElementsByClassName(h, this.b)[0].textContent = a); | |
this.Vc = new lipscore.zd; | |
lipscore.a.getElementsByClassName(g, this.b)[0].appendChild(this.Vc.f()); | |
lipscore.a.addClass(this.b, | |
d) | |
} | |
var b = "div"; | |
var d = "lipscore-login-popover"; | |
var g = "lipscore-login-popover-content"; | |
var h = "lipscore-login-popover-title"; | |
var l = '<div class="lipscore-login-popover-arrow"></div>\n<div class="' + h + '"></div>\n<div class="' + g + '">\n</div>'; | |
a.prototype.f = function() { | |
return this.b | |
}; | |
a.prototype["in"] = function(a) { | |
return 0 < lipscore.a.getElementsByClassName(d, a).length | |
}; | |
a.prototype.Hi = function(a) { | |
document.body.appendChild(this.b); | |
var b = this.b.offsetHeight; | |
var c = parseInt(this.b.style.marginTop, 10); | |
var d = parseInt(this.b.style.marginLeft, | |
10); | |
isNaN(c) && (c = 0); | |
isNaN(d) && (d = 0); | |
var e = this.Eh(a); | |
a = { | |
top: e.top + a.offsetHeight + c, | |
left: e.left + a.offsetWidth / 2 - this.b.offsetWidth / 2 + d | |
}; | |
lipscore.a.jd(this.b, a); | |
d = this.b.offsetHeight; | |
d !== b && (a.top = a.top + b - d, lipscore.a.jd(this.b, a)); | |
0 > a.left && (b = -2 * a.left, a.left = 0, lipscore.a.jd(this.b, a), a = this.b.offsetWidth, d = lipscore.a.getElementsByClassName("lipscore-login-popover-arrow", this.b)[0], d.style.left = b ? 50 * (1 - b / a) + "%" : "") | |
}; | |
a.prototype.Eh = function(a) { | |
var b = a.getBoundingClientRect(); | |
if (b.width || b.height) { | |
var c = | |
a.ownerDocument; | |
a = c.defaultView || c.parentWindow; | |
c = c.documentElement; | |
return { | |
top: b.top + a.pageYOffset - c.clientTop, | |
left: b.left + a.pageXOffset - c.clientLeft | |
} | |
} | |
return { | |
top: b.top, | |
left: b.left | |
} | |
}; | |
return a | |
}(); | |
return a | |
}(); | |
lipscore.zd = function() { | |
function a() { | |
this.b = document.createElement(d); | |
this.b.innerHTML = g; | |
lipscore.a.addClass(this.b, b); | |
this.mh = lipscore.a.getElementsByClassName(c, this.b)[0]; | |
this.mk = lipscore.a.getElementsByClassName(f, this.b)[0]; | |
this.Ph = lipscore.a.getElementsByClassName(e, this.b)[0]; | |
this.l() | |
} | |
var d = "div"; | |
var b = "lipscore-login-box"; | |
var c = "lipscore-login-link-facebook"; | |
var e = "lipscore-login-link-gplus"; | |
var f = "lipscore-login-link-twitter"; | |
var g = '<div class="lipscore-review-link-box-item"><span class="' + | |
c + '" title="Facebook"></span></div>\n<div class="lipscore-review-link-box-item"><span class="' + e + '" title="Google+"></span></div>\n<div class="lipscore-review-link-box-item"><span class="' + f + '" title="Twitter"></span></div>'; | |
a.prototype.f = function() { | |
return this.b | |
}; | |
a.prototype.l = function() { | |
this.mh.onclick = lipscore.kc.lh; | |
this.mk.onclick = lipscore.kc.lk; | |
this.Ph.onclick = lipscore.kc.Oh | |
}; | |
return a | |
}(); | |
lipscore.Nf = function() { | |
function a() {} | |
var d = null; | |
a.get = function() { | |
return null != d ? d : d = new b | |
}; | |
var b = function() { | |
function a() { | |
this.g = lipscore.qa.get() | |
} | |
a.prototype.Nj = function(a, b) { | |
if ("image" === a) return this.Lj(b); | |
if ("video" === a) return this.Tj(b) | |
}; | |
a.prototype.Lj = function(a) { | |
var b = document.createElement("img"); | |
var c = this.g; | |
b.onload = function() { | |
var a = document.createElement("img"); | |
a.src = b.src; | |
c.ib(a.outerHTML); | |
return c.show("lipscore-media-modal") | |
}; | |
return b.src = a | |
}; | |
a.prototype.Tj = function(a) { | |
var b = 560; | |
var c = | |
315; | |
768 > screen.width && (b = 280, c = 220); | |
this.g.ib('<iframe width="' + b + '" height="' + c + '" src="//www.youtube.com/embed/' + a + '?badge=0&html5=1" frameborder="0" allowfullscreen>\n</iframe>'); | |
return this.g.show("lipscore-media-modal") | |
}; | |
return a | |
}(); | |
return a | |
}(); | |
lipscore.qa = function() { | |
function a() {} | |
var d = null; | |
a.get = function() { | |
return null != d ? d : d = new b | |
}; | |
var b = function() { | |
function a() { | |
this.b = document.createElement(b); | |
this.b.setAttribute("tabindex", -1); | |
this.b.setAttribute("id", d); | |
this.b.innerHTML = p; | |
document.body.appendChild(this.b); | |
lipscore.a.hide(this.b); | |
this.Me = lipscore.a.getElementsByClassName(l, this.b)[0]; | |
this.Vg = lipscore.a.getElementsByClassName(g, this.b)[0]; | |
this.title = lipscore.a.getElementsByClassName(h, this.b)[0]; | |
this.vi = document.getElementById(m); | |
this.l() | |
} | |
var b = "div"; | |
var d = "lipscore-modal"; | |
var g = "lipscore-close"; | |
var h = "lipscore-modal-title"; | |
var l = "lipscore-modal-body"; | |
var m = "lipscore-modal-content"; | |
var p = '<div class="lipscore-modal-dialog">\n <div id="' + m + '">\n <div class="lipscore-modal-header">\n <span class="' + h + '"></span>\n <button type="button" class="' + g + '" />\n </div>\n <div class="' + l + '"></div>\n </div>\n</div>'; | |
a.prototype.show = function(a) { | |
if (!this.Sc) return this.Sc = !0, this.vi.setAttribute("class", a), this.b.onkeyup = lipscore.lc.Xg, | |
this.zg(), this.Hg(), lipscore.a.show(this.b), this.b.focus(), lipscore.a.addClass(document.body, "lipscore-modal-open") | |
}; | |
a.prototype.hide = function() { | |
if (this.Sc) return this.Sc = !1, this.b.onkeyup = null, this.Me.innerHTML = "", lipscore.a.hide(this.b), this.Xi(), this.aj(), lipscore.a.removeClass(document.body, "lipscore-modal-open") | |
}; | |
a.prototype.zg = function() { | |
this.Sa = document.createElement("div"); | |
lipscore.a.addClass(this.Sa, "lipscore-modal-backdrop"); | |
document.body.appendChild(this.Sa) | |
}; | |
a.prototype.Xi = function() { | |
this.Sa && | |
(this.Sa.parentNode.removeChild(this.Sa), this.Sa = null) | |
}; | |
a.prototype.ib = function(a) { | |
this.Me.innerHTML = a | |
}; | |
a.prototype.Gj = function() { | |
var a = lipscore.c.t("service_review.modal.title"); | |
this.title.innerHTML = a | |
}; | |
a.prototype.l = function() { | |
this.Vg.onclick = lipscore.lc.Wg; | |
this.b.onclick = lipscore.lc.ui | |
}; | |
a.prototype.Hg = function() { | |
if (document.body.scrollHeight > document.documentElement.clientHeight) { | |
var a = this.si(); | |
var b = parseInt(document.body.paddingRight || 0, 10); | |
document.body.style.paddingRight = b + a + "px" | |
} | |
}; | |
a.prototype.aj = | |
function() { | |
document.body.style.paddingRight = "" | |
}; | |
a.prototype.si = function() { | |
var a = document.createElement("div"); | |
a.className = "lipscore-modal-scrollbar-measure"; | |
document.body.appendChild(a); | |
var b = a.offsetWidth - a.clientWidth; | |
document.body.removeChild(a); | |
return b | |
}; | |
a.prototype.yh = function() { | |
return "lipscore-modal-dialog" | |
}; | |
a.prototype.f = function() { | |
return this.b | |
}; | |
return a | |
}(); | |
return a | |
}(); | |
lipscore.Sf = function() { | |
function a(a, m, p, q) { | |
this.root = a; | |
this.Gi = m; | |
this.page = p; | |
this.ec = q; | |
this.v = document.createElement(d); | |
lipscore.a.addClass(this.v, b); | |
if (1 < this.ec) { | |
a = Math.floor((this.page - 1) / h); | |
p = a * h + 1; | |
a = p + h - 1; | |
a > this.ec && (a = this.ec); | |
1 < p && this.Sd(p - 1, c, e); | |
for (m = q = p; p <= a ? q <= a : q >= a; m = p <= a ? ++q : --q) this.Ud(m); | |
a < this.ec && this.Sd(a + 1, f, g) | |
} | |
this.root.appendChild(this.v) | |
} | |
var d = "ul"; | |
var b = "lipscore-paginator"; | |
var c = "prev"; | |
var e = "«"; | |
var f = "next"; | |
var g = "»"; | |
var h = 5; | |
a.prototype.Ud = function(a) { | |
var b = | |
document.createElement("li"); | |
b.setAttribute("pageNum", a); | |
b.innerHTML = '<a href="#">' + a + "</a>"; | |
a === this.page && lipscore.a.addClass(b, "active"); | |
b.Zc = this.Gi; | |
b.onclick = lipscore.Rf.Zc; | |
this.v.appendChild(b); | |
return b | |
}; | |
a.prototype.Sd = function(a, b, c) { | |
a = this.Ud(a); | |
lipscore.a.addClass(a, b); | |
a.getElementsByTagName("a")[0].innerHTML = c | |
}; | |
a.bl = function() { | |
return "active" | |
}; | |
a.cl = function() { | |
return "pageNum" | |
}; | |
return a | |
}(); | |
lipscore.Cd = function() { | |
function a() {} | |
var d = null; | |
a.get = function() { | |
return null != d ? d : d = new b | |
}; | |
var b = function() { | |
return function() { | |
this.Ue = lipscore.a.getElementsByClassName("lipscore-purchase") | |
} | |
}(); | |
return a | |
}(); | |
lipscore.Wf = function() { | |
function a(a) { | |
this.b = document.createElement("div"); | |
lipscore.a.addClass(this.b, "lipscore-rating-distribution"); | |
this.ge = a; | |
this.$j = new lipscore.Qa; | |
null != this.ge && (this.b.innerHTML = this.html()) | |
} | |
a.prototype.html = function() { | |
var a; | |
var b = ""; | |
var c = this.ge; | |
for (a in c) { | |
var e = c[a]; | |
b += this.jj(a, e) | |
} | |
return '<div class="lipscore-rating-distribution-content">\n ' + b + "\n</div>" | |
}; | |
a.prototype.jj = function(a, b) { | |
return "<div class='lipscore-rating-distribution-row'>\n <div class='lipscore-rating-distribution-stars'>\n " + | |
this.$j.Va(a) + '\n </div>\n <div class="lipscore-rating-distribution-count"><span>' + b + "</span></div>\n</div>" | |
}; | |
a.prototype.f = function() { | |
return this.b | |
}; | |
return a | |
}(); | |
(function() { | |
function a(a, c) { | |
function b() { | |
this.constructor = a | |
} | |
for (var f in c) d.call(c, f) && (a[f] = c[f]); | |
b.prototype = c.prototype; | |
a.prototype = new b; | |
a.da = c.prototype; | |
return a | |
} | |
var d = {}.hasOwnProperty; | |
lipscore.la = function() { | |
function b() {} | |
var c; | |
var d = null; | |
b.get = function() { | |
return null != d ? d : d = new f | |
}; | |
var f = function(b) { | |
function d() { | |
return c = d.da.constructor.apply(this, arguments) | |
} | |
a(d, b); | |
d.prototype.Df = function() { | |
return "lipscore-rating-slider" | |
}; | |
d.prototype.Ef = function() { | |
return "lipscore-rating-slider" | |
}; | |
d.prototype.de = | |
function(a) { | |
return new lipscore.Xf(a) | |
}; | |
d.prototype.wb = function() { | |
var a; | |
var b = this.items; | |
var c = 0; | |
for (a = b.length; c < a; c++) { | |
var d = b[c]; | |
if (d.wb()) return !0 | |
} | |
}; | |
d.prototype.pa = function() { | |
return lipscore.ka.hide() | |
}; | |
d.prototype.Qb = function() { | |
var a; | |
var b = this.items; | |
var c = []; | |
var d = 0; | |
for (a = b.length; d < a; d++) { | |
var e = b[d]; | |
e.wb() ? c.push(e.Qb()) : c.push(void 0) | |
} | |
return c | |
}; | |
return d | |
}(lipscore.Ld); | |
return b | |
}() | |
}).call(this); | |
lipscore.Xf = function() { | |
function a(a) { | |
this.b = a; | |
this.enabled = !0; | |
this.Ha = this.b.getAttribute("ls-review-modal"); | |
this.Ha = null != this.Ha ? "true" === this.Ha : lipscore.hh | |
} | |
a.prototype.html = function() { | |
return '<div class="lipscore-rating-slider-stars-wrapper">\n ' + this.od() + "\n</div>" | |
}; | |
a.prototype.od = function() { | |
var a; | |
var b = lipscore.rb() ? 10 : 5; | |
var c = lipscore.rb() ? 1 : 2; | |
var e = lipscore.Fa.get().Nc(this.b); | |
var f; | |
var g = []; | |
for (a = f = 1; 1 <= b ? f <= b : f >= b; a = 1 <= b ? ++f : --f) g.push(lipscore.Fa.get().Lb("lipscore-rating-star lipscore-rating-star-inactive", | |
e, a * c)); | |
return g.join("") | |
}; | |
a.prototype.init = function() { | |
if (!this.oa) return lipscore.a.addClass(this.b, "lipscore-rating-slider"), this.b.innerHTML = this.html(), this.tk = lipscore.rb() ? 1 : 2, this.jb = lipscore.a.getElementsByClassName("lipscore-rating-slider-stars-wrapper", this.b)[0], this.Oa = lipscore.a.getElementsByClassName("lipscore-rating-star", this.jb), lipscore.qb() && !this.Ee() && lipscore.Pa.append(this.b), this.l(), this.oa = !0 | |
}; | |
a.prototype.f = function() { | |
return this.b | |
}; | |
a.prototype.Lh = function() { | |
return parseInt(this.jb.getAttribute("ls-selected-value"), | |
10) | |
}; | |
a.prototype.re = function(a) { | |
return parseInt(a.getAttribute("ls-stars-value"), 10) | |
}; | |
a.prototype.Xe = function(a) { | |
this.dc ? this.Kc() : (this.fb = a, this.le()) | |
}; | |
a.prototype.qf = function(a) { | |
this.jb.setAttribute("ls-selected-value", a) | |
}; | |
a.prototype.ff = function() { | |
var a; | |
if (this.b) { | |
this.gd(); | |
var b = this.Oa; | |
var c = []; | |
var e = 0; | |
for (a = b.length; e < a; e++) { | |
var f = b[e]; | |
c.push(lipscore.a.addClass(f, "lipscore-rating-star-inactive")) | |
} | |
return c | |
} | |
}; | |
a.prototype.gd = function() { | |
this.Nb && lipscore.a.removeClass(this.Nb, "lipscore-star-incomplete") | |
}; | |
a.prototype.$b = function(a) { | |
var b; | |
this.gd(); | |
var c = 0; | |
var d = this.Oa; | |
var f = []; | |
var g = 0; | |
for (b = d.length; g < b; g++) { | |
var h = d[g]; | |
c < a ? lipscore.a.removeClass(h, "lipscore-rating-star-inactive") : lipscore.a.addClass(h, "lipscore-rating-star-inactive"); | |
f.push(c += this.tk) | |
} | |
return f | |
}; | |
a.prototype.le = function() { | |
this.fb && this.$b(this.fb) | |
}; | |
a.prototype.Mj = function() { | |
this.Qe = !0; | |
return lipscore.ka.show(this.jb, lipscore.c.t("rating.login_to_rate")) | |
}; | |
a.prototype.Qb = function() { | |
this.Qe = !1; | |
return lipscore.ka.hide() | |
}; | |
a.prototype.wb = | |
function() { | |
return this.Qe | |
}; | |
a.prototype.Hj = function(a) { | |
this.dc = a; | |
this.Kc() | |
}; | |
a.prototype.Kc = function() { | |
var a, b; | |
if (this.b && 0 < this.dc) { | |
this.gd(); | |
var c = Math.floor(this.dc); | |
var e = a = 0; | |
for (b = this.Oa.length - 1; 0 <= b ? a <= b : a >= b; e = 0 <= b ? ++a : --a) e < c ? lipscore.a.removeClass(this.Oa[e], "lipscore-rating-star-inactive") : lipscore.a.addClass(this.Oa[e], "lipscore-rating-star-inactive"); | |
if (this.dc - c) return this.Nb = this.Oa[c], lipscore.a.removeClass(this.Nb, "lipscore-rating-star-inactive"), lipscore.a.addClass(this.Nb, "lipscore-star-incomplete") | |
} | |
}; | |
a.prototype.Ee = function() { | |
return lipscore.a.hasClass(this.b, "lipscore-embeded-slider") | |
}; | |
a.prototype.disable = function() { | |
return this.enabled = !1 | |
}; | |
a.prototype.enable = function() { | |
return this.enabled = !0 | |
}; | |
a.prototype.isEnabled = function() { | |
return this.enabled | |
}; | |
a.prototype.Hh = function() { | |
return this.Ee() ? lipscore.ga.ph(this.f()) : this.f() | |
}; | |
a.prototype.l = function() { | |
var a; | |
var b = this; | |
var c = this.Oa; | |
var e = 0; | |
for (a = c.length; e < a; e++) { | |
var f = c[e]; | |
f.onmouseover = function() { | |
return lipscore.Bb.Yj(this, b) | |
}; | |
f.onclick = function(a) { | |
return lipscore.Bb.Xj(a, | |
this, b) | |
} | |
} | |
this.jb.onmouseout = function(a) { | |
return lipscore.Bb.Zj(a, this, b) | |
}; | |
window.LipscoreVanillaEvent.addListener(this.b, "lipscore-slider-reset", function() { | |
return b.ff() | |
}); | |
lipscore.a.removeClass(this.jb, "lipscore-rating-stars-inactive") | |
}; | |
return a | |
}(); | |
(function() { | |
function a(a, b) { | |
return function() { | |
return a.apply(b, arguments) | |
} | |
} | |
lipscore.Yf = function() { | |
function d(b, c) { | |
this.html = a(this.html, this); | |
var d = lipscore.Fa.get().Nc(b); | |
c = lipscore.o.va(c); | |
b.innerHTML = this.html(d, c); | |
lipscore.qb() && 0 < c && lipscore.Pa.append(b) | |
} | |
d.prototype.html = function(a, c) { | |
a = new lipscore.Qa({ | |
xb: a, | |
Xc: 5 | |
}); | |
if (lipscore.yg()) return "" + a.Yg() + ' <span class="lipscore-rating-selected-value">' + c + "</span>"; | |
lipscore.rb() && (c /= 2); | |
return a.Va(c) | |
}; | |
return d | |
}() | |
}).call(this); | |
lipscore.Qa = function() { | |
function a(a) { | |
a || (a = {}); | |
this.Xc = a.Xc || lipscore.gb; | |
this.xb = a.xb || null | |
} | |
a.prototype.Va = function(a) { | |
var b = Math.floor(a); | |
b = a - b ? b + 1 : 0; | |
var c, d; | |
var f = []; | |
var g = c = 1; | |
for (d = this.Xc; 1 <= d ? c <= d : c >= d; g = 1 <= d ? ++c : --c) { | |
var h = "lipscore-rating-star"; | |
g === b ? h += " lipscore-star-incomplete" : g > a && (h += " lipscore-rating-star-inactive"); | |
f.push(lipscore.Fa.get().Lb(h, this.xb)) | |
} | |
return f.join("") | |
}; | |
a.prototype.Yg = function() { | |
return lipscore.Fa.get().Lb("lipscore-rating-star", this.xb) | |
}; | |
return a | |
}(); | |
lipscore.Ca = function() { | |
function a() {} | |
var d = null; | |
a.get = function() { | |
return null != d ? d : d = new b | |
}; | |
var b = function() { | |
function a() { | |
if (this.b = document.getElementById("lipscore-rating")) this.fd = null != this.b.getAttribute("ls-readonly"), lipscore.a.addClass(this.b, "lipscore-rating") | |
} | |
a.prototype.Wh = function() { | |
return "" + this.vf() + '\n<span class="lipscore-compact-rating-wrapper">\n <span class="lipscore-rating-value lipscore-compact-rating-value"></span> <span class="lipscore-rating-votes lipscore-compact-rating-votes">/ <span></span></span>\n</span>\n' + | |
this.gf(!0) | |
}; | |
a.prototype.Xh = function() { | |
var a = "#000000" === lipscore.dd ? "lipscore-light-rating-value" : ""; | |
return '<div class="lipscore-big-rating-star-wrapper">\n ' + lipscore.Fa.get().Lb("lipscore-big-rating-current") + '\n <div class="lipscore-big-rating-value-wrapper">\n <span class="lipscore-rating-value lipscore-big-rating-value ' + a + '"></span>\n </div>\n</div>\n<div class="lipscore-big-rating-wrapper">\n <div class="lipscore-big-rating-wrapper-inner">\n <div class="lipscore-big-rating-info-wrapper">\n <span class="lipscore-rating-votes lipscore-big-rating-votes">' + | |
lipscore.c.t("rating.votes") + ": <span></span></span> " + this.gf(!1) + "\n </div>\n " + this.vf() + "\n </div>\n</div>" | |
}; | |
a.prototype.vf = function() { | |
return this.fd ? '<div class="lipscore-rating-slider-readonly"></div>' : '<div class="lipscore-rating-slider lipscore-embeded-slider"></div>' | |
}; | |
a.prototype.gf = function(a) { | |
a = a ? ' (<span class="lipscore-rating-review-count"></span>)' : ': <span class="lipscore-rating-review-count"></span>'; | |
return '<a href="#lipscore-review-list" class="lipscore-rating-review-link lipscore-hidden">' + | |
lipscore.c.t("review.reviews") + a + "</a>" | |
}; | |
a.prototype.init = function() { | |
if (!this.oa && this.b) return this.b.innerHTML = lipscore.wc() ? this.Wh() : this.Xh(), this.Ma = this.fd ? lipscore.a.getElementsByClassName("lipscore-rating-slider-readonly", this.b)[0] : lipscore.a.getElementsByClassName("lipscore-rating-slider", this.b)[0], this.sk = lipscore.a.getElementsByClassName("lipscore-rating-value")[0], this.Bk = lipscore.a.getElementsByClassName("lipscore-rating-votes")[0].getElementsByTagName("span")[0], this.hf = lipscore.a.getElementsByClassName("lipscore-rating-review-link", | |
this.b)[0], this.dj = lipscore.a.getElementsByClassName("lipscore-rating-review-count", this.b)[0], this.Ha = this.b.getAttribute("ls-review-modal"), this.u = this.b.getAttribute(lipscore.j.u()), this.Fj(), lipscore.qb() && (lipscore.wc() ? lipscore.Pa.append(this.b) : lipscore.Pa.append(this.Ma.parentNode)), this.l(), this.oa = !0 | |
}; | |
a.prototype.f = function() { | |
return this.b | |
}; | |
a.prototype.Kj = function(a) { | |
this.Bk.textContent = a | |
}; | |
a.prototype.ld = function(a) { | |
a = lipscore.o.va(a); | |
this.sk.textContent = a; | |
if (this.fd) { | |
var b = lipscore.Fa.get().Nc(this.Ma); | |
b = new lipscore.Qa({ | |
xb: b | |
}); | |
this.Ma.innerHTML = b.Va(a) | |
} else lipscore.wc() && lipscore.la.get().vb(this.Ma).Hj(a) | |
}; | |
a.prototype.Aj = function(a) { | |
null != a && 0 < a && (this.dj.textContent = a, lipscore.a.show(this.hf)) | |
}; | |
a.prototype.Fj = function() { | |
var a = this.b.getAttribute("ls-lipscore-product-id"); | |
this.Ma.setAttribute("ls-lipscore-product-id", a); | |
this.Ha && this.Ma.setAttribute("ls-review-modal", this.Ha); | |
this.u && this.Ma.setAttribute(lipscore.j.u(), this.u) | |
}; | |
a.prototype.l = function() { | |
this.hf.onclick = lipscore.Bb.fj | |
}; | |
a.prototype.reset = | |
function() { | |
if (this.b) return this.b.innerHTML = "" | |
}; | |
return a | |
}(); | |
return a | |
}(); | |
lipscore.Zf = function() { | |
function a() {} | |
var d = null; | |
a.get = function() { | |
return null != d ? d : d = new b | |
}; | |
var b = function() { | |
function a() { | |
this.g = lipscore.qa.get(); | |
this.g.ib(this.html()); | |
this.b = this.g.b | |
} | |
a.prototype.html = function() { | |
return '<div class="lipscore-support-box"></div>\n<div class="lipscore-regret-modal-title lipscore-hidden"></div>\n<div class="lipscore-regret-modal-message">' + lipscore.c.t("regret_modal.message") + "</div>" | |
}; | |
a.prototype.show = function(a) { | |
this.pa(a.name); | |
return this.g.show("lipscore-regret-modal") | |
}; | |
a.prototype.pa = function(a) { | |
var b = lipscore.a.getElementsByClassName("lipscore-regret-modal-title", this.b)[0]; | |
b.textContent = "" + lipscore.c.t("regret_modal.dear") + " " + a + ","; | |
return lipscore.a.show(b) | |
}; | |
return a | |
}(); | |
return a | |
}(); | |
lipscore.Cb = function() { | |
function a(a) { | |
this.b = lipscore.a.getElementsByClassName(d, a)[0]; | |
this.ze = this.b.getElementsByTagName("img")[0] | |
} | |
var d = "lipscore-review-avatar"; | |
a.html = function() { | |
return '<div class="' + d + '">\n <img src="">\n</div>' | |
}; | |
a.prototype.nf = function(a) { | |
null != a ? (this.ze.setAttribute("src", a), lipscore.a.show(this.b)) : (this.ze.setAttribute("src", ""), lipscore.a.hide(this.b)) | |
}; | |
return a | |
}(); | |
lipscore.bg = function() { | |
function a(a, b) { | |
this.b = a; | |
this.tj(b) | |
} | |
a.prototype.tj = function(a) { | |
a = null != a ? parseInt(a, 10) : 0; | |
this.b.textContent = a; | |
lipscore.na("review-count-set", { | |
target: this.b, | |
value: a | |
}) | |
}; | |
return a | |
}(); | |
lipscore.pc = function() { | |
function a() { | |
this.b = this.Jb() | |
} | |
var d = '<a href="' + lipscore.wd.Uc() + '" target="_blank">' + lipscore.c.t("common.powered_by") + "</a>"; | |
a.prototype.Jb = function() { | |
return null | |
}; | |
a.prototype.Kh = function(a) { | |
return this.Yb[a] | |
}; | |
a.prototype.f = function() { | |
return this.b | |
}; | |
a.prototype.di = function(a, c) { | |
var b; | |
if (this.b) { | |
lipscore.a.addClass(this.b, "lipscore-review-list-container"); | |
this.b.innerHTML = ""; | |
this.Yb = []; | |
for (b = 0; 0 <= a ? b < a : b > a; 0 <= a ? ++b : --b) { | |
var f = new lipscore.oc(c); | |
this.b.appendChild(f.f()); | |
this.Yb.push(f) | |
} | |
0 < | |
a && (a = document.createElement("div"), lipscore.a.addClass(a, "lipscore-review-list-footer"), lipscore.Pd("remove_branding") || (a.innerHTML = d), lipscore.qb() && lipscore.Pa.append(a), this.b.appendChild(a)) | |
} | |
}; | |
a.prototype.fh = function(a) { | |
var b; | |
var d = this.Yb; | |
var f = 0; | |
for (b = d.length; f < b; f++) { | |
var g = d[f]; | |
if (a === g.Ka.toString()) { | |
g.disable(); | |
break | |
} | |
} | |
}; | |
a.prototype.ik = function(a) { | |
var b; | |
a = lipscore.a.getElementsByClassName("lipscore-flags-tick", a.parentNode.parentNode.parentNode)[0]; | |
return (b = lipscore.ka.get()) && b["in"](a.parentNode) ? | |
this.Pb() : lipscore.ka.show(a, lipscore.c.t("review.login_to_flag")) | |
}; | |
a.prototype.Pb = function() { | |
this.bj(); | |
return lipscore.ka.hide() | |
}; | |
a.prototype.jk = function(a) { | |
var b; | |
return (b = lipscore.ka.get()) && b["in"](a.parentNode) ? this.Rb() : lipscore.ka.show(a, lipscore.c.t("review.login_to_vote")) | |
}; | |
a.prototype.Rb = function() { | |
this.cj(); | |
return lipscore.ka.hide() | |
}; | |
a.prototype.Dj = function(a) { | |
this.Bf = !0; | |
this.Cf = a.getAttribute(lipscore.j.Ka()); | |
this.hd = parseInt(a.getAttribute("ls-review-vote-score"), 10); | |
a = lipscore.a.getElementsByClassName("lipscore-review-vote-score", | |
a.parentNode); | |
this.mf = 0 > this.hd ? a[1] : a[0] | |
}; | |
a.prototype.cj = function() { | |
this.Bf = !1; | |
this.mf = this.hd = this.Cf = null | |
}; | |
a.prototype.Cj = function(a) { | |
this.me = !0; | |
this.oe = a.getAttribute(lipscore.j.Ka()); | |
this.lf = a.getAttribute("ls-review-flag-value") | |
}; | |
a.prototype.bj = function() { | |
this.me = !1; | |
this.lf = this.oe = null | |
}; | |
a.prototype.pa = function() { | |
this.Rb(); | |
return this.Pb() | |
}; | |
a.prototype.ij = function() { | |
return null != this.Yb | |
}; | |
return a | |
}(); | |
lipscore.oc = function() { | |
function a(a) { | |
var n; | |
var y = document.createElement(d); | |
y.innerHTML = z; | |
lipscore.a.addClass(y, b); | |
this.hb = y; | |
this.cc = lipscore.a.getElementsByClassName(c, y)[0]; | |
this.Ie = lipscore.a.getElementsByClassName(e, y)[0]; | |
this.Ac = lipscore.a.getElementsByClassName(f, y)[0]; | |
this.Gc = lipscore.a.getElementsByClassName(g, y)[0]; | |
var u = lipscore.a.getElementsByClassName(l, y); | |
this.Ak = u[0]; | |
this.zk = u[1]; | |
u = lipscore.a.getElementsByClassName(h, y); | |
this.yk = u[0]; | |
this.xk = u[1]; | |
this.Qi = lipscore.a.getElementsByClassName(m, | |
y)[0]; | |
this.Ri = lipscore.a.getElementsByClassName(p, y)[0]; | |
this.ne = lipscore.a.getElementsByClassName(q, y)[0]; | |
this.ef = lipscore.a.getElementsByClassName(D, y)[0]; | |
this.$e = lipscore.a.getElementsByClassName(t, y)[0]; | |
this.Bc = new lipscore.Cb(this.hb); | |
y = new lipscore.If(this.ne); | |
this.flags = []; | |
u = 0; | |
for (n = a.length; u < n; u++) { | |
var C = a[u]; | |
var A = {}; | |
A["ls-review-flag-value"] = C; | |
C = y.Hb(lipscore.c.t(lipscore.wd.rh(C)), A); | |
this.flags.push(C) | |
} | |
} | |
var d = "div"; | |
var b = "lipscore-review-box"; | |
var c = "lipscore-review-text"; | |
var e = "lipscore-review-media"; | |
var f = "lipscore-review-author"; | |
var g = "lipscore-review-created-at"; | |
var h = "lipscore-review-vote-score"; | |
var l = "lipscore-review-vote-thumb"; | |
var m = "lipscore-review-purchase"; | |
var p = "lipscore-review-purchase-info"; | |
var q = "lipscore-review-flag-wrapper"; | |
var D = "lipscore-review-reply"; | |
var t = "lipscore-review-rating-stars-wrapper"; | |
var z = '<div class="lipscore-review-header">\n <div class="lipscore-review-info">\n ' + lipscore.Cb.html() + '\n <div class="lipscore-review-info-wrapper">\n <div>\n <span class="lipscore-strong ' + | |
f + '"></span> \n <span class="lipscore-text-muted lipscore-review-info-delim">\u2022</span> \n <span class="' + g + ' lipscore-review-date"></span>\n </div>\n <div>\n <div class="' + t + ' lipscore-hidden">\n </div>\n </div>\n </div>\n </div>\n <div class="' + m + ' lipscore-hidden">\n <div class="lipscore-review-purchase-icon">\n <img src="https://static.lipscore.com/assets/verified_buyer_new.png" />\n <span>\n ' + lipscore.c.t("review.buyer") + | |
'\n </span>\n </div>\n <div class="' + p + '">\n </div>\n </div>\n</div>\n<div class="lipscore-review-content">\n <div class="' + c + '"></div>\n <div class="' + e + ' lipscore-hidden"></div>\n <div class="' + D + ' lipscore-hidden"></div>\n</div>\n<div class="lipscore-review-footer">\n <div class="lipscore-review-vote-wrapper">\n <span ls-review-vote-score="1" class="' + l + ' lipscore-review-vote-thumb-up"></span>\n <span class="' + h + '"></span> \n <span ls-review-vote-score="-1" class="' + | |
l + ' lipscore-review-vote-thumb-down"></span>\n <span class="' + h + '"></span>\n </div>\n <div class="' + q + '">\n </div>\n</div>'; | |
a.prototype.disable = function() { | |
var a = document.createElement("div"); | |
a.innerHTML = "<span>reported</span>"; | |
lipscore.a.addClass(a, "lipscore-review-box-muted"); | |
this.hb.appendChild(a); | |
return lipscore.a.addClass(this.ne, "lipscore-review-flag-wrapper-muted") | |
}; | |
a.prototype.f = function() { | |
return this.hb | |
}; | |
a.prototype.qj = function(a, b) { | |
this.Ac.textContent = a; | |
this.Bc.nf(b) | |
}; | |
a.prototype.xj = | |
function(a, b) { | |
this.pf("image", b, a) | |
}; | |
a.prototype.yj = function(a) { | |
lipscore.a.removeClass(this.Qi, "lipscore-hidden"); | |
this.Ri.textContent = lipscore.a.Ua(new Date(a)) | |
}; | |
a.prototype.ld = function(a) { | |
var b = new lipscore.Qa; | |
a = lipscore.o.va(a); | |
this.$e.innerHTML = b.Va(a); | |
lipscore.a.removeClass(this.$e, "lipscore-hidden") | |
}; | |
a.prototype.uj = function(a) { | |
this.Gc.textContent = lipscore.a.Ua(new Date(a)) | |
}; | |
a.prototype.nd = function(a) { | |
this.cc.textContent = a | |
}; | |
a.prototype.Ij = function(a) { | |
this.pf("video", a, "//img.youtube.com/vi/" + a + | |
"/2.jpg") | |
}; | |
a.prototype.Jj = function(a, b) { | |
this.yk.textContent = a; | |
this.xk.textContent = b | |
}; | |
a.prototype.pf = function(a, b, c) { | |
var d = document.createElement("div"); | |
lipscore.a.addClass(d, "lipscore-review-media-item"); | |
d.innerHTML = '<a href="#open-media" data-media-type="' + a + '" data-media-id="' + b + '">\n <img class="lipscore-review-media-image" src="' + c + '">\n ' + ("video" === a ? '<div class="lipscore-video-play-icon"></div>' : "") + "\n</a>"; | |
d.getElementsByTagName("a")[0].onclick = lipscore.aa.Ci; | |
this.Ie.appendChild(d); | |
lipscore.a.removeClass(this.Ie, | |
"lipscore-hidden") | |
}; | |
a.prototype.Bj = function(a) { | |
this.Ka = a | |
}; | |
a.prototype.zj = function(a) { | |
if (null != a) { | |
var b = lipscore.a.Ua(new Date(a.created_at)); | |
this.ef.innerHTML = '<span class="lipscore-review-reply-header">\n <span class="lipscore-strong">' + a.member_site + '</span>\n <span class="lipscore-review-date">(' + b + ')</span>: \n</span>\n<span class="lipscore-review-reply-text">' + a.text + "</span>"; | |
lipscore.a.show(this.ef) | |
} | |
}; | |
a.Dh = function(a) { | |
return a.getAttribute("data-media-type") | |
}; | |
a.Ch = function(a) { | |
return a.getAttribute("data-media-id") | |
}; | |
return a | |
}(); | |
(function() { | |
function a(a, c) { | |
function b() { | |
this.constructor = a | |
} | |
for (var f in c) d.call(c, f) && (a[f] = c[f]); | |
b.prototype = c.prototype; | |
a.prototype = new b; | |
a.da = c.prototype; | |
return a | |
} | |
var d = {}.hasOwnProperty; | |
lipscore.h = function() { | |
function b() {} | |
var c; | |
var d = null; | |
b.get = function() { | |
return null != d ? d : d = new f | |
}; | |
var f = function(b) { | |
function d() { | |
return c = d.da.constructor.apply(this, arguments) | |
} | |
a(d, b); | |
d.prototype.Jb = function() { | |
return document.getElementById("lipscore-review-list") | |
}; | |
return d | |
}(lipscore.pc); | |
return b | |
}() | |
}).call(this); | |
lipscore.Hd = function() { | |
function a(a) { | |
this.product = a; | |
this.g = lipscore.qa.get(); | |
this.u = new lipscore.mc(this.product.type); | |
this.g.ib(this.html(a)); | |
this.b = this.g.b; | |
this.Ve = lipscore.a.getElementsByClassName(d, this.b)[0]; | |
this.gj = lipscore.a.getElementsByClassName("lipscore-review-post", this.b)[0]; | |
this.Ti = lipscore.a.getElementsByClassName("lipscore-rating-slider", this.b)[0] | |
} | |
a.prototype.nb = ""; | |
a.prototype.uc = ""; | |
var d = "lipscore-reviews-products-wrapper"; | |
a.prototype.html = function() { | |
return '<div class="lipscore-reviews-modal-items">\n <div class="lipscore-reviews-modal-inner-title">' + | |
this.uc + "</div>\n <div class='lipscore-reviews-products-wrapper'>\n <div class=\"lipscore-reviews-modal-rating-wrapper\">\n " + this.wi() + '\n <div class="lipscore-reviews-modal-rating-slider lipscore-rating-slider" ls-lipscore-product-id="' + this.product.id + '" ls-review-modal="false"></div>\n </div>\n <div class="lipscore-review-modal-review-wrapper">\n <div class="lipscore-review-post" ls-lipscore-product-id="' + this.product.id + '" ' + lipscore.j.u() + '="' + this.u.getName() + '"></div>\n <div>\n </div>\n<div>' | |
}; | |
a.prototype.wi = function() { | |
return this.product.name && this.u.ii() ? ' <div class="lipscore-reviews-modal-product-name">' + this.product.name + "</div> " : "" | |
}; | |
a.prototype.show = function() { | |
return this.g.show(this.nb) | |
}; | |
a.prototype.Tc = function() { | |
return !lipscore.a.Fe(this.b) | |
}; | |
return a | |
}(); | |
(function() { | |
function a(a, c) { | |
function b() { | |
this.constructor = a | |
} | |
for (var f in c) d.call(c, f) && (a[f] = c[f]); | |
b.prototype = c.prototype; | |
a.prototype = new b; | |
a.da = c.prototype; | |
return a | |
} | |
var d = {}.hasOwnProperty; | |
lipscore.Db = function() { | |
function b() {} | |
var c; | |
var d = null; | |
b.get = function() { | |
return d | |
}; | |
b.init = function(a) { | |
return d = new f(a) | |
}; | |
var f = function(b) { | |
function d() { | |
return c = d.da.constructor.apply(this, arguments) | |
} | |
a(d, b); | |
d.prototype.nb = "lipscore-review-edit-modal"; | |
d.prototype.uc = lipscore.c.t("edit_review_modal.title"); | |
return d | |
}(lipscore.Hd); | |
return b | |
}() | |
}).call(this); | |
(function() { | |
function a(a, c) { | |
function b() { | |
this.constructor = a | |
} | |
for (var f in c) d.call(c, f) && (a[f] = c[f]); | |
b.prototype = c.prototype; | |
a.prototype = new b; | |
a.da = c.prototype; | |
return a | |
} | |
var d = {}.hasOwnProperty; | |
lipscore.Id = function() { | |
function b() {} | |
var c; | |
var d = null; | |
b.get = function() { | |
return d | |
}; | |
b.init = function(a) { | |
return d = new f(a) | |
}; | |
var f = function(b) { | |
function d() { | |
return c = d.da.constructor.apply(this, arguments) | |
} | |
a(d, b); | |
d.prototype.nb = "lipscore-review-modal"; | |
d.prototype.uc = lipscore.c.t("review_modal.title"); | |
return d | |
}(lipscore.Hd); | |
return b | |
}() | |
}).call(this); | |
(function() { | |
function a(a, c) { | |
function b() { | |
this.constructor = a | |
} | |
for (var f in c) d.call(c, f) && (a[f] = c[f]); | |
b.prototype = c.prototype; | |
a.prototype = new b; | |
a.da = c.prototype; | |
return a | |
} | |
var d = {}.hasOwnProperty; | |
lipscore.Da = function() { | |
function b() {} | |
var c; | |
var d = null; | |
b.get = function() { | |
return null != d ? d : d = new f | |
}; | |
var f = function(b) { | |
function d() { | |
return c = d.da.constructor.apply(this, arguments) | |
} | |
a(d, b); | |
d.prototype.Df = function() { | |
return "lipscore-review-post" | |
}; | |
d.prototype.Ef = function() { | |
return "lipscore-review-post" | |
}; | |
d.prototype.de = | |
function(a) { | |
return new lipscore.cg(a) | |
}; | |
d.prototype.pa = function(a, b) { | |
var c; | |
var d = this.items; | |
var e = []; | |
var f = 0; | |
for (c = d.length; f < c; f++) { | |
var g = d[f]; | |
e.push(g.pa(a, b)) | |
} | |
return e | |
}; | |
d.prototype.ac = function() { | |
var a; | |
var b = this.items; | |
var c = []; | |
var d = 0; | |
for (a = b.length; d < a; d++) { | |
var e = b[d]; | |
c.push(e.ac()) | |
} | |
return c | |
}; | |
d.prototype.Ra = function() { | |
var a; | |
var b = this.items; | |
var c = []; | |
var d = 0; | |
for (a = b.length; d < a; d++) { | |
var e = b[d]; | |
c.push(e.Ra()) | |
} | |
return c | |
}; | |
return d | |
}(lipscore.Ld); | |
return b | |
}() | |
}).call(this); | |
lipscore.cg = function() { | |
function a(a) { | |
this.b = a; | |
this.oa = !1; | |
this.init() | |
} | |
var d = '<div class="lipscore-review-media-frame">\n <span class="lipscore-review-media-remove" title="' + lipscore.c.t("common.remove") + '"></span>\n <img class="lipscore-review-media-image" alt="Media Attachment" src="">\n</div>'; | |
var b = function() { | |
function a(a, b, c, d) { | |
this.hb = a; | |
this.type = b; | |
this.id = c; | |
this.cf = lipscore.a.getElementsByClassName("lipscore-review-media-remove", a)[0]; | |
this.image = lipscore.a.getElementsByClassName("lipscore-review-media-image", | |
a)[0]; | |
a.getElementsByTagName("img")[0].setAttribute("src", d) | |
} | |
a.prototype.za = function() { | |
return this.id | |
}; | |
return a | |
}(); | |
var c = '<div class="lipscore-review-form-wrapper">\n <div class="lipscore-review-alert-wrapper lipscore-review-alert-wrapper-stretched">\n </div>\n <div class="lipscore-review-form">\n <div class="lipscore-review-auth-box-wrapper lipscore-hidden">\n <div class="lipscore-review-auth-header">' + lipscore.c.t("common.login") + '</div>\n </div>\n <div class="lipscore-review-postbox lipscore-review-postbox-stretched">\n <button class="lipscore-btn lipscore-btn-dark lipscore-review-dummy-button">\n ' + | |
lipscore.c.t("review.publish") + '\n </button>\n <div class="lipscore-review-header lipscore-hidden">\n <div class="lipscore-review-info">\n ' + lipscore.Cb.html() + '\n <div class="lipscore-review-info-wrapper">\n <div>\n <div class="lipscore-dropdown lipscore-user-dropdown">\n <span class="lipscore-dropdown-toggle">\n <span class="lipscore-strong lipscore-review-author"></span>\n <span class="lipscore-caret"></span> \n </span>\n </div>\n <span class="lipscore-text-muted lipscore-review-info-delim">\u2022</span> \n <span class="lipscore-review-created-at lipscore-review-date"></span>\n </div>\n </div>\n </div>\n <div class="lipscore-review-media-box-wrapper">\n <div class="lipscore-review-link-box">\n <div class="lipscore-review-link-box-item">\n <span class="lipscore-review-link-image" title="' + | |
lipscore.c.t("common.image") + '"></span>\n <input class="lipscore-hidden" type="file" name="lipscore-review-image" accept="image/*">\n </div>\n <div class="lipscore-review-link-box-item">\n <span class="lipscore-review-link-video" title="Youtube"></span>\n </div>\n </div>\n </div>\n </div>\n <div class="lipscore-review-content-wrapper">\n <div class="lipscore-review-textarea lipscore-review-text" contenteditable="true" placeholder="' + | |
lipscore.c.t("review.write_review") + '"></div>\n <div class="lipscore-review-media-wrapper lipscore-hidden">\n <div class="lipscore-review-media-list"></div>\n </div>\n </div>\n </div>\n <div class="lipscore-review-form-footer lipscore-hidden">\n <div class="lipscore-review-form-footer-content">\n <div class="lipscore-review-form-footer-item">\n <label class="lipscore-review-form-agree-label">\n <input type="checkbox" value="1" class="lipscore-review-form-agree-button">\n <span class="lipscore-review-form-agree-text"></span>\n </label>\n </div>\n <div class="lipscore-review-form-footer-item">\n <button class="lipscore-review-post-button lipscore-btn lipscore-btn-dark">\n ' + | |
lipscore.c.t("review.publish") + "\n </button>\n </div>\n </div>\n </div>\n </div>\n</div>"; | |
a.prototype.init = function() { | |
if (!this.oa) { | |
this.b.innerHTML = c; | |
this.ja = lipscore.a.getElementsByClassName("lipscore-review-textarea", this.b)[0]; | |
this.Tb = lipscore.a.getElementsByClassName("lipscore-review-post-button", this.b)[0]; | |
this.$h = lipscore.a.getElementsByClassName("lipscore-review-link-image", this.b)[0]; | |
this.wk = lipscore.a.getElementsByClassName("lipscore-review-link-video", this.b)[0]; | |
this.Sb = lipscore.a.getElementsByClassName("lipscore-review-media-wrapper", this.b)[0]; | |
this.Ja = lipscore.a.getElementsByClassName("lipscore-review-media-list", this.b)[0]; | |
this.zc = lipscore.a.getElementsByClassName("lipscore-review-auth-box-wrapper", this.b)[0]; | |
this.Qc = this.b.getElementsByTagName("input")[0]; | |
this.Ia = []; | |
this.Pe = lipscore.a.getElementsByClassName("lipscore-review-postbox", this.b)[0]; | |
this.Gc = lipscore.a.getElementsByClassName("lipscore-review-created-at", this.b)[0]; | |
this.Ac = lipscore.a.getElementsByClassName("lipscore-review-author", | |
this.b)[0]; | |
this.ue = lipscore.a.getElementsByClassName("lipscore-review-header", this.b)[0]; | |
this.uh = lipscore.a.getElementsByClassName("lipscore-review-form", this.b)[0]; | |
var a = lipscore.a.getElementsByClassName("lipscore-user-dropdown", this.b)[0]; | |
this.yc = lipscore.a.getElementsByClassName("lipscore-review-alert-wrapper", this.b)[0]; | |
this.th = lipscore.a.getElementsByClassName("lipscore-review-form-footer", this.b)[0]; | |
this.Zg = lipscore.a.getElementsByClassName("lipscore-review-content-wrapper", this.b)[0]; | |
this.he = | |
lipscore.a.getElementsByClassName("lipscore-review-dummy-button", this.b)[0]; | |
this.Ig = lipscore.a.getElementsByClassName("lipscore-review-form-agree-button", this.b)[0]; | |
this.Jg = lipscore.a.getElementsByClassName("lipscore-review-form-agree-text", this.b)[0]; | |
this.Bc = new lipscore.Cb(this.b); | |
this.Vc = new lipscore.zd; | |
lipscore.a.getElementsByClassName("lipscore-review-auth-box-wrapper", this.b)[0].appendChild(this.Vc.f()); | |
this.Ga = new lipscore.Ff(this.yc); | |
this.pi = (new lipscore.vd(a)).Hb(lipscore.c.t("common.logout")); | |
this.l(); | |
this.rj(); | |
this.pj(); | |
lipscore.qb() && lipscore.Pa.prepend(this.b); | |
this.active = !1; | |
this.u = this.b.getAttribute(lipscore.j.u()); | |
return this.oa = this.b | |
} | |
}; | |
a.prototype.f = function() { | |
return this.b | |
}; | |
a.prototype.Jh = function() { | |
return this.ja.textContent.replace(/\s+/g, "") | |
}; | |
a.prototype.isInitialized = function() { | |
return this.oa | |
}; | |
a.Tk = function() { | |
return "lipscore-review-textarea" | |
}; | |
a.prototype.nd = function(a) { | |
this.ja.innerHTML = a | |
}; | |
a.prototype.l = function() { | |
var a = this; | |
this.Tb.onclick = function(b) { | |
return lipscore.aa.Ii(b, | |
a) | |
}; | |
this.$h.onclick = function() { | |
return lipscore.aa.Zh(a) | |
}; | |
this.wk.onclick = function() { | |
return lipscore.aa.vk(a) | |
}; | |
this.Qc.onchange = function() { | |
return lipscore.aa.Yh(a) | |
}; | |
this.pi.onclick = lipscore.aa.ri; | |
lipscore.isExpandable() && (this.ja.onfocus = function() { | |
return lipscore.aa.Ki(this, a) | |
}) | |
}; | |
a.prototype.clear = function() { | |
this.ja.innerHTML = ""; | |
this.Ja.innerHTML = ""; | |
this.Ia = []; | |
this.Ga.reset(); | |
lipscore.a.addClass(this.Sb, "lipscore-hidden"); | |
return lipscore.a.removeClass(this.ja, "lipscore-review-textarea-media") | |
}; | |
a.prototype.rj = | |
function() { | |
var a = lipscore.c.t("review.publish"); | |
this.b && (this.Tb.textContent = a, this.he.textContent = a) | |
}; | |
a.prototype.Ra = function() { | |
if (this.b) { | |
this.active = !0; | |
this.sf(); | |
lipscore.a.hide(this.he); | |
lipscore.a.show(this.zc); | |
lipscore.a.show(this.th); | |
lipscore.a.addClass(this.Zg, "lipscore-review-content-wrapper-active"); | |
this.ja.setAttribute("placeholder", this.ej()); | |
var a = lipscore.ba.get(); | |
0 < a.za() ? this.pa(a.pe(), a.getName()) : this.ac(); | |
return this.focus() | |
} | |
}; | |
a.prototype.pa = function(a, b) { | |
if (this.b && this.active) return lipscore.a.hide(this.zc), | |
this.stretch(), lipscore.a.show(this.ue), this.Bc.nf(a), this.Gc.textContent = lipscore.a.Ua(new Date), this.Ac.textContent = b, this.Ga.reset() | |
}; | |
a.prototype.ac = function() { | |
if (this.active) return lipscore.a.show(this.zc), lipscore.a.hide(this.ue), this.sf() | |
}; | |
a.prototype.stretch = function() { | |
lipscore.a.addClass(this.Pe, "lipscore-review-postbox-stretched"); | |
return lipscore.a.addClass(this.yc, "lipscore-review-alert-wrapper-stretched") | |
}; | |
a.prototype.sf = function() { | |
lipscore.a.removeClass(this.Pe, "lipscore-review-postbox-stretched"); | |
return lipscore.a.removeClass(this.yc, "lipscore-review-alert-wrapper-stretched") | |
}; | |
a.prototype.Cg = function(a, b) { | |
var c = document.createElement("div"); | |
this.Ja.appendChild(c); | |
return this.Td(c, "video", a, b) | |
}; | |
a.prototype.Td = function(a, c, g, h) { | |
a.setAttribute("class", "lipscore-review-media-list-item"); | |
a.innerHTML = d; | |
a.setAttribute("ls-media-type", c); | |
a.setAttribute("ls-media-id", g); | |
1 === this.Ja.childNodes.length && (lipscore.a.removeClass(this.Sb, "lipscore-hidden"), lipscore.a.addClass(this.ja, "lipscore-review-textarea-media")); | |
a = new b(a, c, g, h); | |
this.Ia.push(a); | |
return a | |
}; | |
a.prototype.Dg = function(a, b) { | |
var c = document.createElement("div"); | |
c.setAttribute("class", "lipscore-review-media-list-item"); | |
c.innerHTML = '<div class="lipscore-review-media-frame-uploading">\n <div></div>\n</div>'; | |
c.getElementsByTagName("div")[1].setAttribute("style", "width: " + 75 / b * a + "px"); | |
0 === this.Ja.childNodes.length && (lipscore.a.removeClass(this.Sb, "lipscore-hidden"), lipscore.a.addClass(this.ja, "lipscore-review-textarea-media")); | |
this.Ja.appendChild(c); | |
return c | |
}; | |
a.prototype.df = function(a) { | |
var b; | |
var c = []; | |
var d = this.Ia; | |
var e = 0; | |
for (b = d.length; e < b; e++) { | |
var m = d[e]; | |
a !== m.hb && c.push(m) | |
} | |
this.Ia = c; | |
this.Ja.removeChild(a); | |
0 === this.Ja.childNodes.length && (lipscore.a.addClass(this.Sb, "lipscore-hidden"), lipscore.a.removeClass(this.ja, "lipscore-review-textarea-media")) | |
}; | |
a.prototype.Mh = function() { | |
var a; | |
var b = this.Ia; | |
var c = 0; | |
for (a = b.length; c < a; c++) { | |
var d = b[c]; | |
if ("video" === d.type) return d.za() | |
} | |
return null | |
}; | |
a.prototype.zh = function() { | |
var a; | |
var b = []; | |
var c = this.Ia; | |
var d = 0; | |
for (a = | |
c.length; d < a; d++) { | |
var l = c[d]; | |
"image" === l.type && b.push(l.za()) | |
} | |
return b | |
}; | |
a.prototype.error = function(a) { | |
return this.Ga.error(a) | |
}; | |
a.prototype.Pi = function(a, b, c) { | |
this.clear(); | |
this.Sh && this.Vh(); | |
b ? (a = lipscore.c.t("review.messages.delayed_publishing"), this.Ga.rd(a)) : a ? (a = lipscore.c.t("review.messages.media"), this.Ga.rd(a)) : c ? (a = lipscore.c.t("review.messages.delayed_publishing"), this.Ga.rd(a)) : (a = lipscore.c.t("review.messages.regular"), this.Ga.success(a)) | |
}; | |
a.prototype.Vh = function() { | |
lipscore.a.addClass(this.uh, | |
"hidden") | |
}; | |
a.prototype.wj = function() { | |
this.Sh = !0 | |
}; | |
a.prototype.gh = function() { | |
return this.Tb.disabled = !1 | |
}; | |
a.prototype.eh = function() { | |
return this.Tb.disabled = !0 | |
}; | |
a.prototype.pj = function() { | |
this.Jg.innerHTML = lipscore.Ea.Xd() | |
}; | |
a.prototype.ej = function() { | |
return lipscore.c.t("review." + (this.u || "product") + "_review_instructions") | |
}; | |
a.prototype.focus = function() { | |
return this.ja.focus() | |
}; | |
return a | |
}(); | |
lipscore.ha = function() { | |
function a() {} | |
var d = null; | |
a.create = function(a, e) { | |
var c = b(); | |
return null != c ? d = new c(a, e) : d = new lipscore.dg(a, e) | |
}; | |
a.get = function() { | |
return d | |
}; | |
a.Wb = function() { | |
return null != d ? d.Wb : null | |
}; | |
var b = function() { | |
var a; | |
(a = lipscore.zb.get().Ah()) && (a = lipscore.a.Qg(a)); | |
return lipscore["ReviewsModalInner" + a + "View"] | |
}; | |
return a | |
}(); | |
lipscore.rc = function() { | |
function a() {} | |
var d = null; | |
a.get = function() { | |
return null != d ? d : d = new b | |
}; | |
var b = function() { | |
function a() {} | |
a.prototype.ci = function() { | |
var a; | |
this.isEnabled() && !this.qe() && (a = document.getElementById("lipscore-rating")) && (a = new lipscore.qc(lipscore.a.Lc(a)), this.xc(a.Mi(), "lipscore-richsnippet-product")) | |
}; | |
a.prototype.bi = function(a) { | |
var b; | |
if (this.isEnabled() && !this.Ih() && (b = document.getElementById("lipscore-review-list"))) return b = lipscore.a.Lc(b), b.reviews = a, b = new lipscore.qc(b), a = null != | |
this.qe(), this.xc(b.Oi(a), "lipscore-richsnippet-product-reviews") | |
}; | |
a.prototype.ai = function() { | |
var a, b; | |
if (this.isEnabled() && !this.Fh() && (a = this.Gh())) { | |
a = lipscore.a.Lc(a); | |
if (b = lipscore.a.getElementsByClassName("lipscore-service-review-testimonial")[0]) a.kf = lipscore.Fb.ed(b); | |
a = new lipscore.qc(a); | |
return this.xc(a.Fi(), "lipscore-richsnippet-organization") | |
} | |
}; | |
a.prototype.xc = function(a, b) { | |
var c = document.createElement("script"); | |
c.type = "application/ld+json"; | |
c.innerHTML = a; | |
c.setAttribute("id", b); | |
a = document.getElementsByTagName("head")[0]; | |
return a.insertBefore(c, a.getElementsByTagName("script")[0]) | |
}; | |
a.prototype.isEnabled = function() { | |
return lipscore.Pd("richsnippets") | |
}; | |
a.prototype.Fh = function() { | |
return document.getElementById("lipscore-richsnippet-organization") | |
}; | |
a.prototype.qe = function() { | |
return document.getElementById("lipscore-richsnippet-product") | |
}; | |
a.prototype.Ih = function() { | |
return document.getElementById("lipscore-richsnippet-product-reviews") | |
}; | |
a.prototype.Gh = function() { | |
var a; | |
var b = ["lipscore-service-review-badge-starred", "lipscore-service-review-badge", | |
"lipscore-service-review-testimonial" | |
]; | |
d; | |
var c = 0; | |
for (a = b.length; c < a; c++) { | |
var d = b[c]; | |
if (d = lipscore.a.getElementsByClassName(d)[0]) break | |
} | |
return d | |
}; | |
return a | |
}(); | |
return a | |
}(); | |
lipscore.td = function() { | |
function a(a) { | |
this.ic = document.createElement("div"); | |
this.ic.innerHTML = this.Ck(a); | |
this.b = this.ic.childNodes[0]; | |
new lipscore.Kd(this.b) | |
} | |
a.prototype.Ck = function(a) { | |
return '<div\n class=lipscore-service-review-badge-starred\n ls-product-votes="' + a.getAttribute("ls-product-votes") + '"\n ls-product-rating="' + a.getAttribute("ls-product-rating") + '"\n ls-lipscore-product-id="' + a.getAttribute("ls-lipscore-product-id") + '"\n ls-widget-height="100%"\n ls-widget-width=""\n></div>' | |
}; | |
return a | |
}(); | |
lipscore.Kd = function() { | |
function a(a) { | |
if (this.b = a) a = lipscore.o.fc(this.b), this.fb = lipscore.o.va(a), this.qd = this.b.getAttribute("ls-product-votes"), this.width = this.b.getAttribute("ls-widget-width"), this.height = this.b.getAttribute("ls-widget-height"), this.b.innerHTML = this.html(), lipscore.a.addClass(this.b, "lipscore-service-review-modal-toggle"), this.l() | |
} | |
a.prototype.ak = function(a, b, c, e) { | |
return '<svg class="lipscore-service-review-badge-svg" viewbox="0 0 2362 1974" ' + (c ? "width='" + c + "'" : "") + " " + (e ? "height='" + | |
e + "'" : "") + '>\n <g class="lipscore-service-review-badge-arc" fill="none" fill-rule="evenodd">\n <path class="lipscore-service-review-badge-arc-base" fill="#429521" d="M1180,1C528.6,1,0,533.1,0,1180.5H387v0.1h0c0.5-437.5,355.4-793,793-793c437.9,0,793,355,793,793h387.5C2359.5,533.1,1831.4,1,1180,1z"/>\n <g class="lipscore-service-review-badge-stars" fill="none" fill-rule="evenodd">\n <polygon fill="#FFFFFF" points="245 939.5 163.298 982.453 178.902 891.477 112.803 827.047 204.149 813.773 245 731 285.851 813.773 377.197 827.047 311.098 891.477 326.702 982.453"/>\n <polygon fill="#FFFFFF" points="563 467.5 481.298 510.453 496.902 419.477 430.803 355.047 522.149 341.773 563 259 603.851 341.773 695.197 355.047 629.098 419.477 644.702 510.453"/>\n <polygon fill="#FFFFFF" points="1180 268.5 1098.298 311.453 1113.902 220.477 1047.803 156.047 1139.149 142.773 1180 60 1220.851 142.773 1312.197 156.047 1246.098 220.477 1261.702 311.453"/>\n <polygon fill="#FFFFFF" points="1790 477.343 1708.298 520.453 1724.051 429.428 1657.803 365.047 1749.241 351.9 1790 269 1830.759 351.9 1922.197 365.047 1855.949 429.428 1871.702 520.453"/>\n <polygon fill="#FFFFFF" points="2105 939.343 2023.298 982.453 2039.051 891.428 1972.803 827.047 2064.241 813.9 2105 731 2145.759 813.9 2237.197 827.047 2170.949 891.428 2186.702 982.453"/>\n </g>\n </g>\n <text class="lipscore-service-review-badge-rating-text" x="50%" y="1030" font-family="\'Open Sans\', sans-serif" fill="#000000" font-size="500px">\n <tspan class="lipscore-service-review-badge-rating-value" dx="75" text-anchor="middle" font-weight="800" font-size="530px">' + | |
a + '</tspan><tspan font-size="200px" text-anchor="end">/' + lipscore.gb + '</tspan>\n </text>\n <text class="lipscore-service-review-badge-votes-text" x="50%" y="1394" font-family="\'Open Sans\', sans-serif" fill="#000000" font-size="180px" font-weight="800">\n <tspan text-anchor="middle">' + b + '</tspan>\n </text>\n <g class="lipscore-service-review-logo" fill-rule="nonzero" transform="translate(419.406 1571.636)">\n <path fill="#E92631" d="M373.43675,160.867237 L417.554735,160.867237 L281.142318,106.55299 L260.553332,42.6004116 C260.553332,42.6004116 248.725049,39.3038567 235.65668,37.3925564 C220.570946,35.1860857 203.960321,34.3268773 203.960321,34.3268773 L246.529682,160.867237 L370.283135,160.867237 L268.062082,243.26065 L329.016161,401.416372 L329.016161,256.88524 L384.499622,215.584786 C384.499622,215.584786 383.861779,206.18902 380.455993,189.536743 C379.290075,183.808687 374.920107,166.680045 373.43675,160.867237 Z M86.306429,365.651091 L133.236857,242.658619 L28.6365013,159.552122 L162.174173,159.552122 L214.38535,0.262477826 L122.532958,110.530482 L53.7437908,110.530482 C53.7437908,110.530482 46.4456776,122.147331 40.1058125,134.269768 C34.0685523,145.80771 28.9242724,157.655434 28.2419285,159.239417 L0.535798681,137.224393 L72.8939212,261.298182 L48.5045762,324.204513 C48.5045762,324.204513 57.6064508,336.943593 63.9997166,344.165036 C73.9026036,355.363969 83.6749549,364.45872 85.5647515,366.191749 L64.521858,381.610741 L206.689697,342.344332 L262.55883,381.800702 C262.55883,381.800702 277.37756,376.093104 289.544049,370.140016 C301.956775,364.061263 311.71726,357.737021 311.71726,357.737021 L203.147442,280.078023 L86.306429,365.651091 Z"/>\n <path fill="#C8141E" d="M303.580079,158.474213 L281.928678,149.681804 L261.396919,84.6019879 C261.396919,84.6019879 250.66204,82.0403733 240.064138,80.0266185 C230.154103,78.1431655 220.32149,76.8046109 220.32149,76.8046109 L247.454977,158.474213 L303.580079,158.474213 Z M215.947139,41.3802951 L210.548433,47.35937 L212.177275,52.3641428 L215.947139,41.3802951 Z M384.807827,203.671163 C384.807827,203.671163 383.622672,196.510487 382.854406,192.453363 C382.553651,190.880858 382.309473,189.711104 382.309473,189.711104 L349.601592,176.491395 L316.283268,203.671163 L374.287347,203.671163 L282.640366,277.102138 L330.377077,402.203692 L330.377077,255.756337 L379.507387,218.815783 L374.382636,203.671163 L384.807827,203.671163 Z M298.339195,366.548388 C298.339195,366.548388 302.683769,364.232569 306.513188,361.984864 C309.943585,359.968147 312.903493,357.992891 312.903493,357.992891 L289.191471,340.665716 L298.339195,366.548388 Z M166.408874,353.769929 L207.40688,342.380368 L263.582606,382.377092 C263.582606,382.377092 267.144025,380.934889 270.467221,379.557835 C273.61473,378.245934 276.538905,376.996221 276.538905,376.996221 L204.110483,325.781698 L166.408874,353.769929 Z M44.0878319,169.348489 L33.3589085,191.339875 L40.8807682,204.367092 L87.7241467,204.367092 L44.0878319,169.348489 Z M50.6627592,221.155292 L73.216427,260.228058 L62.588748,287.902379 L73.1955826,306.425961 L60.3435057,339.481154 C60.3435057,339.481154 65.4980342,345.981436 70.595985,351.350462 C77.1054012,358.214996 84.2609948,364.972921 85.9553485,366.548388 L64.5838573,382.314903 L101.222401,372.018101 L110.87337,348.166952 L86.6551259,366.039026 L120.461806,276.672735 L50.6627592,221.155292 Z M123.460425,154.055798 L54.3105335,154.055798 L52.7174239,157.043854 L162.85341,157.043854 L190.499074,72.0456345 L123.460425,154.055798 Z"/>\n <polyline fill="#3F3334" points="476.127 108.485 527.735 108.485 527.735 270.833 618.351 270.833 618.351 310.136 476.127 310.136 476.127 108.485"/>\n <path fill="#3F3334" d="M635.08301 100.082624L685.279788 100.082624 685.279788 139.500895 635.08301 139.500895 635.08301 100.082624zM635.08301 158.939734L685.279788 158.939734 685.279788 310.135705 635.08301 310.135705 635.08301 158.939734zM749.354523 290.431328L749.354523 368.950568 702.012048 368.950568 702.012048 162.502104 749.354523 162.502104 749.354523 184.402129C755.880969 175.680244 763.108603 169.245905 771.044781 165.106538 778.978506 160.96717 788.103763 158.897487 798.418096 158.897487 816.668609 158.897487 831.655898 166.223077 843.382416 180.864356 855.104033 195.508111 860.968514 214.360551 860.968514 237.416728 860.968514 260.47538 855.104033 279.327821 843.382416 293.969099 831.655898 308.61533 816.668609 315.935969 798.418096 315.935969 788.103763 315.935969 778.978506 313.866285 771.044781 309.726918 763.108603 305.587551 755.880969 299.155687 749.354523 290.431328L749.354523 290.431328zM780.829546 193.619153C770.691735 193.619153 762.910015 197.379738 757.489289 204.900909 752.066111 212.424556 749.354523 223.263162 749.354523 237.416728 749.354523 251.57277 752.066111 262.411376 757.489289 269.932547 762.910015 277.458669 770.691735 281.216779 780.829546 281.216779 790.967357 281.216779 798.702495 277.478475 804.037411 270.001866 809.372326 262.522783 812.039785 251.661895 812.039785 237.416728 812.039785 223.176513 809.372326 212.310674 804.037411 204.834065 798.702495 197.354982 790.967357 193.619153 780.829546 193.619153L780.829546 193.619153zM999.378594 118.789922L999.378594 145.506946C989.004685 140.536629 979.217835 136.825861 970.015536 134.384699 960.813237 131.943537 951.927043 130.724213 943.356964 130.724213 928.472214 130.724213 916.991917 133.617908 908.918585 139.400269 900.840225 145.187659 896.806069 153.416211 896.806069 164.08341 896.806069 173.033501 899.487983 179.791322 904.856829 184.356873 910.223166 188.922424 920.396372 192.608052 935.371434 195.408725L951.881883 198.797692C972.268443 202.686959 987.313748 209.532772 997.012794 219.342674 1006.70933 229.152576 1011.55885 242.283565 1011.55885 258.73564 1011.55885 278.355445 1004.99581 293.226169 991.869741 303.352844 978.743668 313.477006 959.503636 318.537829 934.154665 318.537829 924.591091 318.537829 914.417885 317.454265 903.63755 315.282108 892.857206 313.114979 881.693024 309.907026 870.144987 305.655733L870.144987 277.450379C881.243947 283.687788 892.114603 288.391613 902.761976 291.551799 913.404329 294.719528 923.868558 296.300878 934.154665 296.300878 949.759438 296.300878 961.804213 293.226169 970.286482 287.079268 978.763739 280.929852 983.006128 272.160775 983.006128 260.772037 983.006128 250.826375 979.960438 243.050356 973.871569 237.44398 967.7827 231.842631 957.790119 227.639106 943.898863 224.833404L927.250424 221.580197C906.861362 217.512431 892.114603 211.139263 883.002616 202.458178 873.890637 193.782122 869.334644 181.712071 869.334644 166.253053 869.334644 148.352873 875.626726 134.248939 888.2109 123.941252 900.797575 113.636078 918.138445 108.484748 940.243534 108.484748 949.719297 108.484748 959.370673 109.34456 969.202683 111.059156 979.034693 112.77878 989.095005 115.353188 999.378594 118.789922M1137.0508 168.400608L1137.0508 191.745667C1130.17618 187.859857 1123.27705 184.940466 1116.36077 182.992528 1109.43959 181.047106 1102.45714 180.073137 1095.40851 180.073137 1079.63243 180.073137 1067.38311 185.212272 1058.65566 195.48299 1049.93066 205.756226 1045.57061 220.166943 1045.57061 238.717658 1045.57061 257.273407 1049.93066 271.68664 1058.65566 281.954842 1067.38311 292.225561 1079.63243 297.362178 1095.40851 297.362178 1102.45714 297.362178 1109.43959 296.390726 1116.36077 294.442788 1123.27705 292.499883 1130.17618 289.580492 1137.0508 285.689649L1137.0508 308.76542C1130.26196 312.02205 1123.23539 314.465782 1115.96374 316.096614 1108.69209 317.722413 1100.95967 318.537829 1092.7616 318.537829 1070.46628 318.537829 1052.75403 311.345054 1039.61996 296.95447 1026.48834 282.566404 1019.92498 263.152456 1019.92498 238.717658 1019.92498 213.920453 1026.55451 194.418419 1039.81847 180.20904 1053.0849 166.004694 1071.26035 158.897487 1094.3522 158.897487 1101.83953 158.897487 1109.15774 159.690253 1116.2946 161.273267 1123.43391 162.856282 1130.35264 165.232062 1137.0508 168.400608M1220.71089 158.897487C1241.54678 158.897487 1257.90696 165.954359 1269.80111 180.073137 1281.69527 194.194432 1287.64113 213.73925 1287.64113 238.717658 1287.64113 263.607981 1281.69527 283.130149 1269.80111 297.294227 1257.90696 311.458306 1241.54678 318.537829 1220.71089 318.537829 1199.79292 318.537829 1183.40618 311.458306 1171.55548 297.294227 1159.7072 283.130149 1153.78306 263.607981 1153.78306 238.717658 1153.78306 213.73925 1159.7072 194.194432 1171.55548 180.073137 1183.40618 165.954359 1199.79292 158.897487 1220.71089 158.897487L1220.71089 158.897487zM1220.71089 180.073137C1207.86318 180.073137 1197.70716 185.300357 1190.24284 195.754795 1182.77611 206.204201 1179.04394 220.526833 1179.04394 238.717658 1179.04394 256.910999 1182.75438 271.231115 1190.17766 281.683037 1197.60095 292.137476 1207.77627 297.362178 1220.71089 297.362178 1233.47169 297.362178 1243.58426 292.117342 1251.05099 281.615085 1258.51772 271.117863 1262.2523 256.820397 1262.2523 238.717658 1262.2523 220.710553 1258.51772 206.433223 1251.05099 195.888182 1243.58426 185.345658 1233.47169 180.073137 1220.71089 180.073137L1220.71089 180.073137zM1388.03469 186.594833C1385.39841 184.925355 1382.52805 183.697114 1379.42598 182.907531 1376.32154 182.120528 1372.90028 181.723156 1369.16219 181.723156 1355.89564 181.723156 1345.71462 186.434853 1338.61674 195.850506 1331.51414 205.268738 1327.96756 218.792289 1327.96756 236.421157L1327.96756 318.537829 1304.37339 318.537829 1304.37339 162.654459 1327.96756 162.654459 1327.96756 186.87351C1332.8973 177.408831 1339.3166 170.379991 1347.22545 165.78699 1355.12958 161.193988 1364.73843 158.897487 1376.04727 158.897487 1377.66215 158.897487 1379.44725 159.013602 1381.4026 159.245832 1383.36031 159.478063 1385.52371 159.826409 1387.90702 160.288289L1388.03469 186.594833M1521.89277 232.337782L1521.89277 244.55644 1412.79613 244.55644C1413.82417 261.750645 1418.74681 274.850152 1427.56166 283.854963 1436.37412 292.86229 1448.64606 297.362178 1464.37987 297.362178 1473.49118 297.362178 1482.32516 296.186872 1490.87941 293.831226 1499.43367 291.480613 1507.92098 287.952177 1516.34613 283.243401L1516.34613 306.865299C1507.8373 310.665541 1499.11091 313.562281 1490.16934 315.553003 1481.22539 317.541209 1472.15951 318.537829 1462.95973 318.537829 1439.91967 318.537829 1421.67075 311.480957 1408.21776 297.362178 1394.75999 283.243401 1388.03469 264.149075 1388.03469 240.076685 1388.03469 215.191395 1394.4205 195.437689 1407.18494 180.820602 1419.95416 166.206031 1437.16787 158.897487 1458.83322 158.897487 1478.26081 158.897487 1493.62882 165.481217 1504.93487 178.648676 1516.24094 191.816135 1521.89277 209.715021 1521.89277 232.337782L1521.89277 232.337782zM1498.16416 225.009105C1497.99201 211.343336 1494.3604 200.438404 1487.26931 192.291794 1480.17344 184.147701 1470.78241 180.073137 1459.09144 180.073137 1445.85122 180.073137 1435.25284 184.011798 1427.30346 191.884086 1419.34929 199.758891 1414.77331 210.845026 1413.56835 225.142491L1498.16416 225.009105 1498.16416 225.009105z"/>\n </g>\n</svg>' | |
}; | |
a.prototype.html = function() { | |
var a = lipscore.c.t("service_review.badge.based_on_votes", { | |
votes: this.qd | |
}); | |
return this.ak(this.fb, a, null != this.width ? this.width : "100px", null != this.height ? this.height : "100px") | |
}; | |
a.prototype.l = function() { | |
this.b.onclick = lipscore.sc.Fc | |
}; | |
return a | |
}(); | |
lipscore.gg = function() { | |
function a(a) { | |
if (this.b = a) a = lipscore.o.fc(this.b), this.fb = lipscore.o.va(a), this.qd = this.b.getAttribute("ls-product-votes"), this.Xb = this.b.getAttribute("ls-product-review-count"), this.b.innerHTML = this.html(), lipscore.a.addClass(this.b, "lipscore-service-review-modal-toggle"), this.l() | |
} | |
a.prototype.html = function() { | |
return "" + this.fb + " / " + lipscore.gb + '\n<br/>\n<span class="lipscore-service-review-badge-review-count">BASED ON ' + this.qd + " REVIEWS</span>" | |
}; | |
a.prototype.l = function() { | |
this.b.onclick = | |
lipscore.sc.Fc | |
}; | |
return a | |
}(); | |
(function() { | |
function a(a, c) { | |
function b() { | |
this.constructor = a | |
} | |
for (var f in c) d.call(c, f) && (a[f] = c[f]); | |
b.prototype = c.prototype; | |
a.prototype = new b; | |
a.da = c.prototype; | |
return a | |
} | |
var d = {}.hasOwnProperty; | |
lipscore.ig = function() { | |
function b() {} | |
var c; | |
var d = null; | |
b.get = function() { | |
return null != d ? d : d = new f | |
}; | |
var f = function(b) { | |
function d() { | |
return c = d.da.constructor.apply(this, arguments) | |
} | |
a(d, b); | |
d.prototype.Jb = function() { | |
return document.getElementById("lipscore-service-review-list") | |
}; | |
return d | |
}(lipscore.pc); | |
return b | |
}() | |
}).call(this); | |
(function() { | |
function a(a, d) { | |
function c() { | |
this.constructor = a | |
} | |
for (var e in d) b.call(d, e) && (a[e] = d[e]); | |
c.prototype = d.prototype; | |
a.prototype = new c; | |
a.da = d.prototype; | |
return a | |
} | |
var d, b = {}.hasOwnProperty; | |
lipscore.kg = function(b) { | |
function c() { | |
return d = c.da.constructor.apply(this, arguments) | |
} | |
a(c, b); | |
c.prototype.Jb = function() { | |
return document.getElementById("lipscore-service-review-modal-list") | |
}; | |
return c | |
}(lipscore.pc) | |
}).call(this); | |
lipscore.lg = function() { | |
function a(a) { | |
this.g = lipscore.qa.get(); | |
this.g.Gj(); | |
this.g.ib(this.html(a)) | |
} | |
a.prototype.html = function(a) { | |
var b = a.getAttribute("ls-lipscore-product-id"); | |
return '<div class="lipscore-service-review-modal-info">\n <div class="lipscore-service-review-modal-badge">\n ' + this.Cc(a) + '\n </div>\n <div class="lipscore-service-review-modal-distribution">\n <div class="lipscore-service-review-modal-distribution-title">\n ' + lipscore.c.t("service_review.modal.rating_distribution") + | |
'\n </div>\n </div>\n</div>\n<div id="lipscore-service-review-modal-list" ls-lipscore-product-id=' + b + "></div>" | |
}; | |
a.prototype.Cc = function(a) { | |
return (new lipscore.td(a)).ic.innerHTML | |
}; | |
a.prototype.show = function() { | |
return this.g.show("lipscore-service-review-modal") | |
}; | |
a.prototype.Bh = function() { | |
return this.oi || (this.oi = new lipscore.kg) | |
}; | |
a.prototype.Ag = function(a) { | |
return lipscore.a.getElementsByClassName("lipscore-service-review-modal-distribution", this.g.f())[0].appendChild(a.f()) | |
}; | |
return a | |
}(); | |
lipscore.ng = function() { | |
function a(a) { | |
if (this.b = a) a = lipscore.Fb.ed(this.b), null != a && 0 < a.length ? (lipscore.ga.Ej(this.b), lipscore.a.addClass(this.b, "lipscore-service-review-modal-toggle"), this.b.innerHTML = this.html(), this.Vj = lipscore.a.getElementsByClassName(d, this.b)[0], this.uf = new lipscore.rg(a), this.Vj.appendChild(this.uf.f()), lipscore.ag.Gg(this.b, b), this.uf.resize(), this.l()) : lipscore.a.addClass(this.b, "lipscore-hidden") | |
} | |
var d = "lipscore-service-review-testimonial-text-wrapper"; | |
var b = { | |
xs: { | |
height: 100, | |
width: 480 | |
}, | |
s: { | |
height: 140, | |
width: 520 | |
}, | |
m: { | |
height: 180, | |
width: 750 | |
} | |
}; | |
a.prototype.html = function() { | |
return '<div class="lipscore-service-review-testimonial-content">\n <div class="lipscore-service-review-testimonial-badge-wrapper">\n ' + this.Cc() + '\n </div>\n <div class="' + d + '">\n </div>\n</div>' | |
}; | |
a.prototype.Cc = function() { | |
return (new lipscore.td(this.b)).ic.innerHTML | |
}; | |
a.prototype.l = function() { | |
this.b.onclick = lipscore.sc.Fc | |
}; | |
return a | |
}(); | |
lipscore.Fa = function() { | |
function a() {} | |
var d = null; | |
a.get = function() { | |
return null != d ? d : d = new b | |
}; | |
var b = function() { | |
function a() {} | |
a.prototype.Lb = function(a, b, c) { | |
return window.LipscoreRatingStarsSvg.html({ | |
size: b, | |
type: lipscore.Ze, | |
Wj: a, | |
color: lipscore.dd, | |
Vi: null != c ? ' ls-stars-value="' + c + '" ' : "" | |
}) | |
}; | |
a.prototype.Nc = function(a) { | |
a = lipscore.a.Wa(a, "font-size"); | |
return 1.5 * parseInt(a, 10) + "px" | |
}; | |
return a | |
}(); | |
return a | |
}(); | |
lipscore.rg = function() { | |
function a(a) { | |
this.pd = a; | |
this.b = document.createElement("div"); | |
lipscore.a.addClass(this.b, d); | |
this.b.innerHTML = this.html(); | |
this.Na = lipscore.a.getElementsByClassName(b, this.b); | |
this.yb = lipscore.a.getElementsByClassName(c, this.b); | |
this.l() | |
} | |
var d = "lipscore-testimonial-slider"; | |
var b = "lipscore-testimonial-slider-slide"; | |
var c = "lipscore-testimonial-slider-tick"; | |
a.prototype.resize = function() { | |
return this.sj() | |
}; | |
a.prototype.html = function() { | |
return "" + this.ek() + "\n" + this.bk() | |
}; | |
a.prototype.ek = | |
function() { | |
var a, b; | |
var c = this.pd; | |
var d = []; | |
var l = a = 0; | |
for (b = c.length; a < b; l = ++a) { | |
var m = c[l]; | |
d.push(this.dk(m, 0 === l)) | |
} | |
return d.join("") | |
}; | |
a.prototype.dk = function(a, c) { | |
var d = new lipscore.Qa; | |
c = c ? "lipscore-slide-active" : ""; | |
var e = lipscore.o.va(a.lipscore || 0); | |
d = 0 < e ? d.Va(e) : ""; | |
return '<div class="' + b + " " + c + ' lipscore-icon-quote-left">\n <div class="lipscore-testimonial-slider-slide-content">\n <div class="lipscore-testimonial-slider-header">\n <div class="lipscore-testimonial-slider-info">\n <span class="lipscore-testimonial-slider-user">\n ' + | |
a.user + "\n </span>\n " + d + '\n </div>\n <span class="lipscore-testimonial-slider-date">\n ' + lipscore.a.Ua(new Date(a.created_at)) + '\n </span>\n </div>\n <div class="lipscore-testimonial-slider-text">\n ' + a.text + "\n </div>\n </div>\n</div>" | |
}; | |
a.prototype.bk = function() { | |
var a, b; | |
var d = []; | |
var h = a = 0; | |
for (b = this.pd.length - 1; 0 <= b ? a <= b : a >= b; h = 0 <= b ? ++a : --a) h = 0 === h ? "lipscore-tick-active" : "", d.push('<span class="' + c + " " + h + ' lipscore-icon-circle"></span>'); | |
h = 1 < this.pd.length ? | |
"" : "lipscore-hidden"; | |
return '<div class="lipscore-testimonial-slider-switcher ' + h + '">\n ' + d.join("") + "\n</div>" | |
}; | |
a.prototype.f = function() { | |
return this.b | |
}; | |
a.prototype.sj = function() { | |
var a; | |
var b = this.Na[0]; | |
var c = lipscore.a.getElementsByClassName("lipscore-testimonial-slider-header", b)[0]; | |
var d = lipscore.a.getElementsByClassName("lipscore-testimonial-slider-text", b)[0]; | |
b = lipscore.a.Wa(b, "height"); | |
c = lipscore.a.Wa(c, "height"); | |
d = lipscore.a.Wa(d, "line-height"); | |
c = Math.floor((b - c) / d) * d + c + "px"; | |
var l = lipscore.a.getElementsByClassName("lipscore-testimonial-slider-slide-content", | |
this.b); | |
var m = 0; | |
for (a = l.length; m < a; m++) d = l[m], d.style.maxHeight = c; | |
m = this.Na; | |
a = []; | |
c = 0; | |
for (l = m.length; c < l; c++) d = m[c], a.push(d.style.fontSize = b + "px"); | |
return a | |
}; | |
a.prototype.l = function() { | |
var a, b, c = this; | |
this.wf(); | |
var d = function(a) { | |
return c.yb[a].onclick = function(b) { | |
return lipscore.qg.gk(b, c, a) | |
} | |
}; | |
var l = []; | |
var m = a = 0; | |
for (b = this.yb.length - 1; 0 <= b ? a <= b : a >= b; m = 0 <= b ? ++a : --a) l.push(d(m)) | |
}; | |
a.prototype.Oj = function() { | |
var a, b; | |
var c = this.Na; | |
var d = []; | |
var l = a = 0; | |
for (b = c.length; a < b; l = ++a) { | |
var m = c[l]; | |
if (lipscore.a.hasClass(m, | |
"lipscore-slide-active")) { | |
this.we(); | |
l = null != this.Na[l + 1] ? l + 1 : 0; | |
this.rf(this.Na[l], this.yb[l]); | |
break | |
} else d.push(void 0) | |
} | |
return d | |
}; | |
a.prototype.Sj = function(a) { | |
this.we(); | |
this.rf(this.Na[a], this.yb[a]); | |
return this.wf() | |
}; | |
a.prototype.rf = function(a, b) { | |
lipscore.a.addClass(a, "lipscore-slide-active"); | |
lipscore.a.addClass(b, "lipscore-tick-active") | |
}; | |
a.prototype.we = function() { | |
var a; | |
var b = this.Na; | |
var c = 0; | |
for (a = b.length; c < a; c++) { | |
var d = b[c]; | |
lipscore.a.removeClass(d, "lipscore-slide-active") | |
} | |
b = this.yb; | |
var l = []; | |
c = 0; | |
for (a = b.length; c < a; c++) d = b[c], l.push(lipscore.a.removeClass(d, "lipscore-tick-active")) | |
}; | |
a.prototype.wf = function() { | |
var a = this; | |
clearInterval(this.interval); | |
return this.interval = window.setInterval(function() { | |
return a.Oj() | |
}, 1E4) | |
}; | |
return a | |
}(); | |
lipscore.sg = function() { | |
function a(a) { | |
if (this.b = a) a = lipscore.Fb.ed(this.b), null != a && 0 < a.length && (this.b.innerHTML = this.html(a[0]), this.resize()) | |
} | |
a.prototype.html = function(a) { | |
return '<div class="lipscore-testimonial-content">\n <span class="lipscore-icon-quote-left"></span>\n <div class="lipscore-testimonial-header">\n <div class="lipscore-testimonial-info">\n <span class="lipscore-testimonial-user">\n ' + a.user + "\n </span>\n " + this.od(a) + '\n </div>\n <span class="lipscore-testimonial-date">\n ' + | |
lipscore.a.Ua(new Date(a.created_at)) + '\n </span>\n </div>\n <div class="lipscore-testimonial-text">\n ' + a.text + "\n </div>\n</div>" | |
}; | |
a.prototype.od = function(a) { | |
var b = new lipscore.Qa; | |
a = lipscore.o.va(a.lipscore || 0); | |
return 0 < a ? b.Va(a) : "" | |
}; | |
a.prototype.resize = function() { | |
return lipscore.a.getElementsByClassName("lipscore-icon-quote-left", this.b)[0].style.fontSize = Math.min(lipscore.a.getElementsByClassName("lipscore-testimonial-content", this.b)[0].offsetHeight, 150) + "px" | |
}; | |
return a | |
}(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment