Created
December 4, 2013 21:56
-
-
Save colinhicks/7796315 to your computer and use it in GitHub Desktop.
outbrain.deob.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
window.OB_releaseVer = "131699"; | |
OBR = window.OBR || {}; | |
OBR.i = OBR.i || []; | |
OBR.na = OBR.na || {}; | |
window.OBR$ = function(d) { | |
return document.getElementById(d) | |
}; | |
OBR.c = OBR.c || function() { | |
var d = {}, a = { | |
F: function() { | |
return d | |
}, | |
j: function(a) { | |
d.S = a; | |
d.la = []; | |
d.startTime = (new Date).getTime() | |
}, | |
startTime: function() { | |
return d.startTime | |
}, | |
log: function(a) { | |
var e = ((new Date).getTime() - d.startTime) / 1E3; | |
1E3 > d.la.length && d.la.push(e + " >" + a) | |
console.log(a); | |
}, | |
printLog: function() { | |
if (d.S.b.cf) window.console.log(d.la.join("\n")); | |
else { | |
var a = d.S.a.Aa(); | |
a && (a.innerHTML = d.la.join("<br>"), a.style.display = "block") | |
} | |
return d.la.join("\n") | |
} | |
}; | |
a.j(OBR); | |
return a | |
}(); | |
OBR.printLog = OBR.c.printLog; | |
OBR.o = function() { | |
this.C = [] | |
}; | |
OBR.o.prototype.add = function(d, a) { | |
var c; | |
"string" === typeof d && "function" === typeof a && (c = {}, c.name = d, c.ue = a, this.C.push(c)) | |
}; | |
OBR.o.prototype.Bb = function(d) { | |
var a, c; | |
OBR.c.log("remove event :" + d); | |
a = 0; | |
for (c = this.C.length; a < c; a += 1) | |
if (this.C[a] && this.C[a].name && this.C[a].name === d) try { | |
this.C.splice(a, 1) | |
} catch (e) { | |
OBR.c.log("rm evnt err: " + e) | |
} | |
}; | |
OBR.o.prototype.k = function(d, a, c) { | |
var e, b, g, f; | |
a = a || []; | |
c = !! c; | |
OBR.c.log("event fire:" + d); | |
e = 0; | |
for (b = this.C.length; e < b; e += 1) | |
if (g = this.C[e].name || "", f = this.C[e].ue, g === d) try { | |
f.apply(this, a) | |
} catch (k) { | |
OBR.c.log("fire evnt *" + d + "* error: " + k) | |
}!0 === c && this.Bb(d) | |
}; | |
OBR.o.prototype.N = function() { | |
this.C = [] | |
}; | |
OBR.a = OBR.a || function() { | |
var d = {}, a = {}, c = document, | |
e = OBR; | |
a.F = function() { | |
d.S = e; | |
return d | |
}; | |
a.j = function(b) { | |
e = b | |
}; | |
a.$ = function() { | |
return function() {} | |
}; | |
a.Se = function() { | |
var b = window.jQuery; | |
return void 0 !== b ? !(/1\.(0|1|2|3|4)\.(0|1)/.test(b.fn.jquery) || /^1\.1/.test(b.fn.jquery) || /^1\.2/.test(b.fn.jquery) || /^1\.3/.test(b.fn.jquery)) : !1 | |
}; | |
a.U = function(b) { | |
return null === b || isNaN(b) ? null : e.n("outbrain_widget_" + b) | |
}; | |
a.Aa = function() { | |
return e.n("ob_holder") | |
}; | |
a.nb = function() { | |
if (!e.n(e.b.Ia)) { | |
var b = e.a.createElement("iframe", | |
e.b.Ia), | |
g = b.style; | |
g.display = "none"; | |
g.width = "1px"; | |
g.height = "1px"; | |
b.src = "about:blank"; | |
(g = a.Aa()) || (g = a.ic()); | |
e.a.mb(b, g) | |
} | |
}; | |
a.ic = function() { | |
if (c.body) return c.body; | |
var b; | |
b = e.a.za("", "", "body", !0); | |
return 0 >= b.length ? c.lastChild : b[0] | |
}; | |
a.createElement = function(b, a, f) { | |
b = c.createElement(b); | |
"string" === typeof a && b.setAttribute("id", a); | |
"string" === typeof f && (b.style.cssText = f); | |
return b | |
}; | |
a.lb = function(b) { | |
if (e.b.Nd === e.b.Nb) try { | |
document.createStyleSheet().cssText = b | |
} catch (a) {} else { | |
var f = c.createElement("style"), | |
d = c.body ? "string" === typeof c.body.style.WebkitAppearance : !1; | |
f.type = "text/css"; | |
c.getElementsByTagName("head")[0].appendChild(f); | |
f[d ? "innerText" : "innerHTML"] = b | |
} | |
}; | |
a.B = function(b, a) { | |
var f = c.createElement("script"); | |
f.type = e.b.uf; | |
f.src = b; | |
f.async = !! a; | |
f.defer = !1; | |
return f | |
}; | |
a.Zg = function(b, a) { | |
var f = e.a.createElement("link", b); | |
f.setAttribute("rel", "stylesheet"); | |
f.setAttribute("type", e.b.ee); | |
a && f.setAttribute("href", a); | |
return f | |
}; | |
a.Wd = function(b) { | |
var a = e.n("ob_iframe"); | |
a && (a.src = b) | |
}; | |
a.Qc = function() { | |
var b; | |
b = isNaN(b) ? | |
1E5 : b; | |
return Math.floor(Math.random() * b) | |
}; | |
a.eg = function(b, a, f) { | |
return b.replace(a, f) | |
}; | |
a.Ie = function(b, a) { | |
var f = []; | |
f.push('<body onload="'); | |
f.push("var js = document.createElement('script');"); | |
f.push("js.src = '" + b + "';"); | |
"number" === typeof a && f.push("js.onerror = function(){ top.OBR.extern.errorInjectionHandler(" + a + ") };"); | |
f.push("var d = document;d.getElementsByTagName('head')[0].appendChild(js);\">"); | |
f.push("<script type='text/javascript'>"); | |
f.push("window.OBR={extern:{}};"); | |
f.push("OBR.extern.returnedHtmlData=function(json,idx){(top.OBR.extern.returnedHtmlData)&& top.OBR.extern.returnedHtmlData(json,idx); };"); | |
f.push("OBR.extern.returnedIrdData=function(json,idx){(top.OBR.extern.returnedIrdData)&& top.OBR.extern.returnedIrdData (json,idx);};"); | |
f.push("OBR.extern.returnedJsonData=function(json,idx){(top.OBR.extern.returnedJsonData)&& top.OBR.extern.returnedJsonData(json,idx);};"); | |
f.push("OBR.extern.returnedError=function(json){(top.OBR.extern.returnedError)&& top.OBR.extern.returnedError(json);};"); | |
f.push("window.outbrain={};"); | |
f.push("outbrain.returnedIrdJsonData=function(json,idx){(top.outbrain.returnedIrdJsonData) && top.outbrain.returnedIrdJsonData(json,idx); };"); | |
f.push("outbrain.returnedJsonData =function(json,idx){(top.outbrain.returnedJsonData) && top.outbrain.returnedJsonData(json,idx); };"); | |
f.push("outbrain.returnedError=function(json){(top.outbrain.returnedError) && top.outbrain.returnedError(json);};"); | |
f.push("\x3c/script>"); | |
f.push("</body>"); | |
return f.join("") | |
}; | |
a.He = function() { | |
var b; | |
if (b = OBR.n("objsonpp")) | |
if (a.hf()) a.V(b.parentNode) && b.parentNode.removeChild(b); | |
else return OBR.n("objsonpp"); | |
b = document.createElement("iframe"); | |
b.id = "objsonpp"; | |
b.lg && (b.lg = | |
"seamless"); | |
(b.frameElement || b).style.cssText = "width: 0; height: 0; border: 0"; | |
b.src = "javascript:false"; | |
document.body.appendChild(b); | |
return b | |
}; | |
a.Ze = function(b) { | |
var g = a.He(), | |
g = g.contentWindow || g.contentDocument; | |
g.document && (g = g.document); | |
g.open().write(b); | |
g.close() | |
}; | |
a.H = function(b) { | |
var a = e.b.ie, | |
f, c; | |
c = a.getElementsByTagName("head"); | |
try { | |
c && 0 < c.length ? c[0].insertBefore(b, c[0].firstChild) : (f = a.getElementsByTagName("script"), f[0].insertBefore(b, f[0].firstChild)) | |
} catch (d) { | |
e.c.log("Err insertToHead:" + d) | |
} | |
}; | |
a.bf = function(b, g) { | |
var f = a.Ie(g, b); | |
a.qb(f) || a.Ze(f) | |
}; | |
a.bh = function(b) { | |
b = b || OBR; | |
return "function" !== typeof b.o ? (OBR.c.log("namespace.EventManager not function"), null) : new b.o | |
}; | |
a.L = function(b) { | |
return encodeURIComponent(b) | |
}; | |
a.V = function(b) { | |
return null !== b | |
}; | |
a.qf = function() { | |
var b, g, f, c, d; | |
b = document.getElementsByTagName("div"); | |
g = b.length; | |
d = e.b.ad; | |
for (f = 0; f < g; f += 1) | |
if (c = b[f].getAttribute(d), a.qb(c)) return !0; | |
return !1 | |
}; | |
a.pf = function(b) { | |
var g; | |
if (a.pb(b)) return !1; | |
g = b.hb().recMode || ""; | |
b = b.hb().dynamicWidgetLayout || | |
""; | |
return "1" !== (e.b.jg[g] || "") && "1" !== (e.b.kg[b] || "") || !a.qf() ? !1 : !0 | |
}; | |
a.pb = function(b) { | |
return "undefined" === typeof b || null === b | |
}; | |
a.qb = function(b) { | |
return a.pb(b) || "" === b | |
}; | |
a.za = function(b, g, f, e) { | |
var d, l, m, p, n; | |
l = []; | |
e = !! e; | |
d = a.qb(d) ? !0 : !1; | |
f = c.getElementsByTagName(f || "*"); | |
m = 0; | |
for (p = f.length; m < p; m += 1) n = "class" === b ? f[m].className : f[m].getAttribute(b), null !== n && (!1 === d && (n = n.toLowerCase(), g = g.toLowerCase()), (n = "" === b ? !0 : e ? -1 < n.indexOf(g) : n === g) && l.push(f[m])); | |
return l | |
}; | |
a.dg = function(b) { | |
var a = window; | |
a.detachEvent ? | |
a.detachEvent("onscroll", b) : a.removeEventListener && a.removeEventListener("scroll", b, !1) | |
}; | |
a.u = function(b, a, f) { | |
b.attachEvent ? b.attachEvent("on" + a, function() { | |
f.call(b) | |
}) : b.addEventListener && b.addEventListener(a, f, !1) | |
}; | |
a.mb = function(b, a) { | |
try { | |
a.appendChild(b) | |
} catch (f) { | |
e.c.log("fail insert into Dom:" + f) | |
} | |
}; | |
a.Pa = function(b) { | |
b = e.n(b); | |
!a.pb(b) && a.V(b.parentNode) && b.parentNode.removeChild(b) | |
}; | |
a.insertBefore = function(b, a) { | |
return a.parentNode.insertBefore(b, a) | |
}; | |
a.isArray = function(b) { | |
return b instanceof Array ? !0 : "[object Array]" === Object.prototype.toString.call(b) | |
}; | |
a.Sa = function(b, a) { | |
var f = /htt(p|ps)?:\/\/127\.0\.0\.1(:\d\d\d\d)?$/i; | |
return /htt(p|ps)?:\/\/([\w\-]*|[\w\-]*\.[\w\-]*)\.outbrain\.com(:\d\d\d\d)?$/i.test(b) || f.test(b) ? b : a | |
}; | |
a.Mg = function(b) { | |
b = b.replace(/^(\s*)/g, ""); | |
var a = c.createElement("div"); | |
a.innerHTML = b; | |
return a.childNodes | |
}; | |
a.D = function(b, a) { | |
return b ? b.getAttribute(a) : null | |
}; | |
a.A = function(b, a, f) { | |
b && b.setAttribute(a, f) | |
}; | |
a.Fd = function(b) { | |
b && (b.className += " ob_clicked") | |
}; | |
a.O = function(b, a) { | |
b = | |
b.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); | |
var f, c; | |
try { | |
return f = RegExp("[\\?&]" + b + "=([^&#]*)", "i"), c = f.exec(window.location.href), null === c ? a : c[1] | |
} catch (e) { | |
return a | |
} | |
}; | |
a.$d = function(b) { | |
"string" === typeof b && 0 < b.indexOf("#") && (b = b.substr(0, b.lastIndexOf("#"))); | |
return b | |
}; | |
a.Wb = function(b) { | |
var a = e.b.Z + "/strip_default.png"; | |
b.src !== a && (b.alt = "", b.title = "", b.src = a) | |
}; | |
a.me = function() { | |
var b = null, | |
a, f, e = null; | |
if ("string" === typeof window.OB_MP_feed) b = window.OB_MP_feed; | |
else if ((a = c.getElementsByTagName("head")) && | |
0 < a.length) | |
for (f = a[0].getElementsByTagName("link"), a = 0; a < f.length; a += 1) | |
if (e = f[a], null !== e.type && ("application/rss+xml" === e.type || "application/atom+xml" === e.type) && null !== e.href && "" !== e.href) { | |
b = e.href; | |
break | |
} | |
return b | |
}; | |
a.pc = function(b) { | |
var a = null; | |
b.currentStyle ? a = b.currentStyle.color : window.getComputedStyle && (a = document.defaultView.getComputedStyle(b, null).getPropertyValue("color")); | |
return a | |
}; | |
a.pg = function() { | |
var b = a.Aa(), | |
c, f; | |
a.V(b) && (c = e.a.createElement("span", "ob_a"), a.insertBefore(c, b), c.innerHTML = | |
".", f = a.pc(c), a.Pa("ob_a"), c = e.a.createElement("a", "ob_a"), c.setAttribute("href", "void(0)"), c.innerHTML = ".", a.insertBefore(c, b), b = a.pc(c), a.Pa("ob_a"), f = "rgb(0, 0, 0)" === f || "#000000" === f ? "#555" : f, a.lb(".ob-tcolor{color:" + f + "} .ob-lcolor{color:" + b + "} .ob-bgtcolor{background-color:" + f + "} .item-link-container:hover .ob-tcolor{border-color:" + f + "}")) | |
}; | |
a.Ee = function() { | |
var b = a.nc("property", "og:url", "meta", "content"); | |
null === b && (b = a.nc("rel", "canonical", "link", "href")); | |
null === b && (b = window.location.href); | |
return b | |
}; | |
a.nc = function(b, c, f, e) { | |
var d = null; | |
b = a.za(b, c, f, !1); | |
null !== b && 0 < b.length && (d = b[0].getAttribute(e)); | |
return d | |
}; | |
a.Xd = function(b) { | |
var c, f, d; | |
f = e.i[b].l("tracking", !1); | |
c = e.b.Ka; | |
b = e.i[b].l("comScoreEnabled", !0); | |
d = e.b.Xb; | |
!1 === f && (!1 === c && !0 === b && !1 === d) && (a.nb(), c = e.n(e.b.Ia)) && (c.src = e.b.Z + "/" + e.b.Oa + "3rd/comScore/comScore.htm", e.b.Xb = !0) | |
}; | |
a.Qe = function() { | |
var b = a.gb(8), | |
c = ""; | |
"string" === typeof window.name && ("" === window.name || -1 < window.name.indexOf("frame")) ? (window.name = b, c = window.name) : c = "string" === | |
typeof window.name && "" !== window.name ? window.name : b; | |
return c | |
}; | |
a.gb = function(b) { | |
var a, f; | |
a = []; | |
b = "number" === typeof b ? b : 8; | |
for (f = 0; f < b; f += 1) a.push("0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz".charAt(Math.floor(61 * Math.random()))); | |
return a.join("") | |
}; | |
a.Ca = function(b) { | |
for (var a in e.na) | |
if (e.na[a].h === b) return e.na[a]; | |
return null | |
}; | |
a.rc = function(b) { | |
var a, f; | |
f = e.i; | |
for (a = 0; a < f.length; a += 1) | |
if (f[a].ja() === b) return f[a]; | |
return null | |
}; | |
a.mf = function(b) { | |
for (var a in b) | |
if (b.hasOwnProperty(a)) return !1; | |
return !0 | |
}; | |
a.aa = function(b, a) { | |
return "function" !== typeof b ? null : "undefined" === typeof a ? b() : b(a) | |
}; | |
a.hf = function() { | |
return "Microsoft Internet Explorer" == navigator.appName | |
}; | |
a.fe = function(b, a) { | |
return b * a | |
}; | |
a.lc = function(b) { | |
if (!b || "" === b) return []; | |
b = b.replace("", "").replace("http://", "").replace("https://", "").replace("www.", "").replace("www2.", "").split("/"); | |
b.pop(); | |
return 0 < b.length ? b : [] | |
}; | |
a.Be = function(b, c) { | |
var f = a.lc(b), | |
e = [], | |
d = ""; | |
if (c >= f.length) d = f.join("."); | |
else { | |
e[0] = f[0]; | |
for (d = 1; d <= c; d += 1) e[d] = f[d]; | |
d = | |
e.join(".") | |
} | |
return d | |
}; | |
a.Me = function() { | |
return "http" + ("https:" === c.location.protocol ? "s" : "") | |
}; | |
a.Ke = function() { | |
var b, e; | |
b = c.getElementById("widgetVersionSync"); | |
null === b && (b = a.createElement("iframe", "widgetVersionSync"), e = a.createElement("div", null, "display:none; height:0px; width:0px; border:none;"), e.appendChild(b), a.ic().appendChild(e)); | |
return b | |
}; | |
a.Rg = function(b) { | |
var c; | |
c = window.OB_releaseVer; | |
isNaN(c) || (isNaN(b) || c >= b) || (b = a.Me() + "://widgets.outbrain.com/external/sync/outbrainjs.html?needToBeVer=" + b.toString(), | |
c = a.Ke(), c.src = b) | |
}; | |
a.Kd = function(b) { | |
b = b.l("widgetVersionSync", 1); | |
isNaN(b) || "" === b || (b = parseInt(b, 10) || 1, a.Rg(b)) | |
}; | |
a.Le = function(b, c) { | |
var f = b.parentNode; | |
return f ? f.tagName.toLowerCase() == c ? f : a.Le(f, c) : !1 | |
}; | |
a.j(OBR); | |
return a | |
}(); | |
OBR.M = function(d, a, c, e, b, g, f, k, h) { | |
var l, m; | |
l = this; | |
m = 0; | |
h = "function" === typeof h ? h : OBR.a.fe; | |
l.start = function() { | |
var p; | |
m += 1; | |
OBR.a.aa(d, m) ? OBR.a.aa(a, m) : (p = OBR.a.aa(k, m)) ? OBR.a.aa(e, m) : (p = m === g && 1E3 !== g) ? OBR.a.aa(e, m) : (OBR.a.aa(c, m), p = f ? h(m, b) : b, setTimeout(function() { | |
l.start() | |
}, p)) | |
}; | |
l.start() | |
}; | |
OBR.ac = OBR.ac || { | |
ef: function() { | |
return "complete" === document.readyState | |
} | |
}; | |
OBR.oe = function() { | |
var d = {}, a = []; | |
d.add = function(c) { | |
a.push(c) | |
}; | |
d.top = function() { | |
return 0 < a.length ? a.shift() : null | |
}; | |
d.Zd = function() { | |
a = [] | |
}; | |
return d | |
}; | |
OBR.b = OBR.b || function() { | |
var d = {}, a = {}, c = OBR, | |
e; | |
a.yd = "opera"; | |
a.Nb = "msie"; | |
a.sd = "firefox"; | |
a.rd = "chrome"; | |
a.Bd = "safari"; | |
a.vd = "mozilla"; | |
a.Yg = "boolean"; | |
a.rh = "string"; | |
a.ih = "object"; | |
a.sh = "undefined"; | |
a.Ia = "ob_iframe"; | |
a.vc = !0; | |
a.Oc = 0; | |
a.Ib = "outbrain_widget_"; | |
a.uf = "text/javascript"; | |
a.ee = "text/css"; | |
a.ie = document; | |
a.zc = "undefined" !== typeof document.createElement("script").async; | |
a.pd = c.a.Qe(); | |
a.bg = document.referrer; | |
a.ag = c.a.L(document.referrer); | |
a.wf = document.location.href; | |
a.gh = c.a.L(a.wf); | |
a.wa = !1; | |
a.Jd = navigator.userAgent.toLowerCase(); | |
a.mh = navigator.platform.toLowerCase(); | |
e = a.Jd; | |
a.Nd = /opera/.test(e) ? a.yd : /msie/.test(e) ? a.Nb : /firefox/.test(e) ? a.sd : /chrome/.test(e) ? a.rd : /safari/.test(e) ? a.Bd : a.vd; | |
a.Ka = !! /(iphone|ipod|symbian|android|windows ce|blackberry|palm|ipad)/.test(e); | |
a.kf = 0; | |
a.jf = function() { | |
return void 0 === window.XMLHttpRequest && void 0 !== ActiveXObject | |
}; | |
a.Wf = window.OB_platformType || null; | |
a.Ma = "number" === typeof a.Wf; | |
a.bd = null; | |
a.cc = null; | |
a.Lg = function() { | |
a.Ma && (a.bd && a.cc) && (a.bd(), a.cc()) | |
}; | |
a.sa = "string" === typeof window.OB_releaseVer ? | |
window.OB_releaseVer : "0"; | |
a.Df = !0 === window.OB_disable_odbl; | |
e = ("https:" === document.location.protocol ? "https" : "http") + "://"; | |
a.Td = "/blogutils/ExcludeRec.action?bocr="; | |
a.jh = "html"; | |
a.Ue = c.a.Sa(c.a.O("wiodb", e + "hpr.outbrain.com"), e + "hpr.outbrain.com"); | |
a.xb = c.a.Sa(c.a.O("wiodb", e + "odb.outbrain.com"), e + "odb.outbrain.com"); | |
a.Ud = "http://storage.outbrain.com/"; | |
a.Z = c.a.Sa(c.a.O("wihost", e + "widgets.outbrain.com"), e + "widgets.outbrain.com"); | |
a.Rf = c.a.Sa(c.a.O("wiout", e + "outbrain.com"), e + "outbrain.com"); | |
a.Nc = e + "log.outbrain.com/"; | |
a.Oa = "nanoWidget/"; | |
a.Sf = a.Ma ? "NANOWDGTLT13" : "NANOWDGT01"; | |
a.Af = a.Z + "/" + a.Oa + a.sa + (a.Ma ? "/moduleLT" : "/module"); | |
a.zf = a.Z + "/" + a.Oa + "3rd"; | |
a.cf = "object" === typeof window.console; | |
a.hd = c.a.$d(c.a.me()); | |
a.gd = null === a.hd ? "" : c.a.L(a.hd); | |
a.Xb = !1; | |
a.Ef = "true" === c.a.O("obdraft", !1) ? "&obDraft=true" : ""; | |
a.Ed = !1 !== c.a.O("obAbtest", !1) ? "&obAbtest=" + c.a.O("obAbtest", "") : ""; | |
a.ed = function(b) { | |
a.Ja = a.Ja || b; | |
return a.Ja | |
}; | |
a.Ja = a.ed("true" === c.a.O("advanceLoader", "false").toLowerCase()); | |
a.Fc = 0; | |
a.ma = null; | |
a.ad = "data-obscrollable"; | |
a.jg = { | |
touch_strip: "1" | |
}; | |
a.kg = { | |
"touch-strip": "1" | |
}; | |
a.F = function() { | |
d.S = c; | |
return d | |
}; | |
return a | |
}(); | |
OBR.d = OBR.d || function() { | |
var d = {}, a, c = {}; | |
d.j = function(c, b) { | |
a = c; | |
d.$f(b) | |
}; | |
d.f = { | |
Wa: "POPUPDESCRIPTION", | |
ua: "WIDGETSTATISTICS", | |
ta: "WHATIS", | |
Va: "FLYTHROUGH", | |
Za: "VIDEOPLUGIN", | |
fa: "POSCUL", | |
Xa: "SCROLL", | |
Ya: "SCROLLEXTERNAL", | |
Ob: "RECINIFRAME" | |
}; | |
d.Ad = function(a, b) { | |
var c = { | |
$g: a, | |
url: b, | |
version: -1, | |
state: 0, | |
$a: null, | |
Yb: this, | |
Pb: null, | |
Yd: function() { | |
if (2 === c.state) c.Dc(); | |
else if (0 === c.state) { | |
var b = OBR.a.B(c.url, !0); | |
c.state = 1; | |
OBR.a.H(b) | |
} | |
}, | |
Dc: function() { | |
c.state = 2; | |
"function" === typeof c.$a && c.$a.call(c.Yb, c.Pb) | |
} | |
}; | |
return c | |
}; | |
d.$f = function(c) { | |
function b(b) { | |
return a.b.Af + | |
"/" + b | |
} | |
function g(b, a) { | |
c[b] || (c[b] = new d.Ad(b, a)) | |
} | |
g(d.f.Wa, b("popupDescription.js")); | |
g(d.f.ua, b("widgetStatistics.js")); | |
g(d.f.ta, b("whatis.js")); | |
g(d.f.Va, b("flyThrough.js")); | |
g(d.f.Za, b("videoPlugin.js")); | |
g(d.f.fa, b("positionCalculation.js")); | |
g(d.f.Ob, b("recInIframe.js")); | |
g(d.f.Xa, b("scroll.js")); | |
g(d.f.Ya, a.b.zf + "/scroll/scrollExternal.js") | |
}; | |
d.Fe = function(a) { | |
return c[a] | |
}; | |
d.w = function(a, b, c, f) { | |
if (a = d.Fe(a)) a.$a = b || OBR.a.$(), a.Yb = c, a.Pb = f, a.Yd() | |
}; | |
d.oc = function(a) { | |
return c[a].state | |
}; | |
d.Q = function(e) { | |
"-1" !== | |
a.b.sa && c[e].Dc() | |
}; | |
d.j(OBR, c); | |
return d | |
}(); | |
OBR.j = OBR.j || void 0; | |
OBR.n = function(d) { | |
return document.getElementById(d) | |
}; | |
OBR.I = OBR.I || function() { | |
var d = {}, a = {}, c, e; | |
a.j = function(b) { | |
c = b = b || OBR; | |
d.oa = new c.o; | |
e = !1 | |
}; | |
a.F = function() { | |
return d | |
}; | |
d.af = function() { | |
var b, a; | |
b = c.a.createElement("iframe", "ob_ping"); | |
b.setAttribute("id", "ob_ping"); | |
b.style.border = "0px"; | |
b.style.width = "0px"; | |
b.style.height = "0px"; | |
b.setAttribute("src", c.b.xb + "/utils/ping.html?r=" + c.a.Qc()); | |
c.a.u(b, "load", function() { | |
c.c.log("ping returned"); | |
c.b.Oc = 2; | |
d.oa.k("success"); | |
c.I.Wc() | |
}); | |
a = c.a.Aa(); | |
null !== a && (c.c.log("ping inserted"), c.a.mb(b, a)) | |
}; | |
d.Vf = function() { | |
c.c.log("ping Wait"); | |
new c.M(function() { | |
return 2 === c.b.Oc | |
}, function() {}, c.a.$(), function() { | |
d.oa.k("fail"); | |
c.I.Wc() | |
}, 50, 200, !1) | |
}; | |
a.Wc = function() { | |
c.a.Pa("ob_ping") | |
}; | |
a.Of = function(b) { | |
d.oa.add("success", b) | |
}; | |
a.Nf = function(b) { | |
d.oa.add("fail", b) | |
}; | |
a.nf = function() { | |
return e | |
}; | |
a.fd = function() { | |
e = !0 | |
}; | |
a.Uf = function() { | |
d.af(); | |
d.Vf() | |
}; | |
a.t = function() { | |
d.oa.N() | |
}; | |
a.j(OBR); | |
return a | |
}(); | |
OBR.ba = OBR.ba || function() { | |
var d, a = {}, c = {}, e; | |
a.j = function(b) { | |
d = b = b || OBR; | |
e = new d.o | |
}; | |
a.F = function() { | |
return c | |
}; | |
c.bb = function(b) { | |
var a, c; | |
a = 0; | |
for (c = b.length; a < c; a += 1) d.a.A(b[a], "data-ob-mark", "true"), e.k("find", [b[a]]) | |
}; | |
c.hc = function() { | |
return d.a.za("class", "OUTBRAIN", "div", !0) | |
}; | |
c.Ae = function(b) { | |
var a, c, e = [], | |
h = []; | |
a = 0; | |
for (c = b.length; a < c; a += 1) | |
if ("string" === typeof b[a].containerId) | |
if (d.n(b[a].containerId)) { | |
var l = d.n(b[a].containerId); | |
"string" === typeof b[a].widgetId && d.a.A(l, "data-widget-id", b[a].widgetId); | |
"string" === typeof b[a].permalink && d.a.A(l, "data-src", b[a].permalink); | |
"boolean" === typeof b[a].advanceLoader && d.a.A(l, "data-advance-loader", b[a].advanceLoader); | |
"boolean" === typeof b[a].dynLoad && d.a.A(l, "data-dynLoad", b[a].dynLoad); | |
"string" === typeof b[a].widgetType && d.a.A(l, "data-widget-type", b[a].widgetType); | |
"string" === typeof b[a].timeout && d.a.A(l, "data-timeout", b[a].timeout); | |
"string" === typeof b[a].fbk && d.a.A(l, "data-fbk", b[a].fbk); | |
h.push(l) | |
} else e.push(b[a]); | |
window.OB_elements = e; | |
return h | |
}; | |
c.Je = function() { | |
var b = | |
[]; | |
"object" === typeof window.OB_elements && 0 < window.OB_elements.length && (b = window.OB_elements); | |
return b | |
}; | |
c.Ge = function() { | |
var b = [], | |
a = c.hc(), | |
f, e; | |
f = 0; | |
for (e = a.length; f < e; f += 1) { | |
var h = d.a.D(a[f], "data-ob-mark"); | |
null !== h && "true" === h || !a[f] || b.push(a[f]) | |
} | |
f = c.Je(); | |
if (0 < f.length) | |
for (d.c.log("Array of elements found!"), a = c.Ae(f), f = 0, e = a.length; f < e; f += 1) b.push(a[f]); | |
return b | |
}; | |
a.Xg = function(b) { | |
c.ec(b) | |
}; | |
c.ec = function(b) { | |
if (void 0 === b) { | |
var a = !1; | |
d.c.log("searching for containers"); | |
new d.M(function() { | |
return a | |
}, d.a.$(), | |
function() { | |
a = d.ac.ef(); | |
var b = c.Ge(); | |
a && d.c.log("checking:(" + a + ")"); | |
0 < b.length && c.bb(b) | |
}, e.k("stopSearch"), 50, 1E3, !1) | |
} else 0 < (b.length || 0) && c.bb(b) | |
}; | |
a.eh = function() { | |
return 0 < c.hc().length | |
}; | |
a.Hf = function(b) { | |
e.add("find", b) | |
}; | |
a.lh = function(b) { | |
e.add("stopSearch", b) | |
}; | |
a.dc = function() { | |
c.ec() | |
}; | |
a.pe = function(b) { | |
var a = [], | |
f, e; | |
d.q.Xe(); | |
f = 0; | |
for (e = d.i.length; f < e; f += 1) { | |
var h = d.a.U(f); | |
null !== h && ("string" === typeof b && d.a.A(h, "data-src", b), d.a.A(h, "data-ob-mark", "false"), a.push(h)) | |
} | |
0 < a.length && (d.i = [], c.bb(a)) | |
}; | |
a.t = | |
function() { | |
e.N(); | |
d.i = [] | |
}; | |
a.j(OBR); | |
return a | |
}(); | |
OBR.q = OBR.q || function() { | |
var d = {}, a = {}, c; | |
a.j = function(a) { | |
c = a = a || OBR; | |
d.zb = new c.oe; | |
d.wb = new c.o; | |
d.La = !1 | |
}; | |
d.we = function(a) { | |
var b; | |
b = a.Pe(); | |
var d, f = c.a.eg; | |
b = b && "hp" === b ? c.b.Ue + "/utils/get?url=$LNK$SRC&settings=$SET&recs=$REC&widgetJSId=$WID&key=$KEY&idx=$IDX&version=$VER&ref=$REF&apv=$APV&sig=$SIG&format=$FRT&rand=$RND$DRFT$ABTEST" : c.b.xb + "/utils/get?url=$LNK$SRC&settings=$SET&recs=$REC&widgetJSId=$WID&key=$KEY&idx=$IDX&version=$VER&ref=$REF&apv=$APV&sig=$SIG&format=$FRT&rand=$RND$DRFT$ABTEST"; | |
d = a.ja(); | |
b = f(b + ("" !== d && null !== d ? "&fbk=" + d : ""), "$LNK", c.a.L(a.ca())); | |
b = f(b, "$SRC", 0 < c.b.gd.length ? "&srcUrl=" + c.b.gd : ""); | |
b = f(b, "$IDX", a.h); | |
b = f(b, "$SET", !0); | |
b = f(b, "$REC", !0); | |
b = f(b, "$KEY", c.b.Sf); | |
b = f(b, "$WID", a.v()); | |
b = f(b, "$VER", c.b.sa); | |
b = f(b, "$REF", c.b.ag); | |
b = f(b, "$SIG", c.b.pd); | |
b = f(b, "$APV", c.b.wa); | |
b = f(b, "$FRT", a.Ce()); | |
b = f(b, "$RND", c.a.Qc()); | |
b = f(b, "$DRFT", c.b.Ef); | |
return b = f(b, "$ABTEST", c.b.Ed) | |
}; | |
d.kb = function(a, b, g) { | |
g = c.b.Ja && g; | |
var f = b.h; | |
b.s.yg(); | |
g ? c.a.bf(f, a) : (g = c.a.B(a, !0), "" !== b.ja() && c.a.u(g, "error", function() { | |
OBR.extern.errorInjectionHandler(f) | |
}), | |
c.a.H(g)); | |
d.wb.k("onOdbFire_" + f + "_" + b.v(), [b], !0); | |
c.c.log("fire this src " + a) | |
}; | |
d.zg = function(a) { | |
c.b.zc && setTimeout(function() { | |
d.Vc(a.h, a.v()) | |
}, 1E4) | |
}; | |
d.Vc = function(a, b) { | |
c.a.Pa("ob_odbCall_" + a + b) | |
}; | |
a.k = function() { | |
if (!0 !== d.La && !0 === c.I.nf()) { | |
d.La = !0; | |
var a = d.zb.top(), | |
b; | |
a ? (c.c.log("fire odb for " + a.ca()), b = d.we(a), d.kb(b, a, !0), d.zg(a)) : d.La = !1 | |
} | |
}; | |
a.Lf = function(a, b) { | |
d.wb.add("onOdbFire_" + a.h + "_" + a.v(), b) | |
}; | |
a.Gb = function(a, b) { | |
d.La = !1; | |
d.Vc(a, b) | |
}; | |
a.og = function(a) { | |
!0 === a && (OBR.b.wa = a) | |
}; | |
a.Xe = function() { | |
OBR.b.wa = !1 | |
}; | |
a.Tc = function(e) { | |
d.zb.add(e); | |
c.c.log("register odb for " + e.ca()); | |
a.k() | |
}; | |
a.Od = function(c) { | |
a.Gb(c.h, c.v()); | |
a.k() | |
}; | |
a.t = function() { | |
d.zb.Zd(); | |
d.wb.N() | |
}; | |
a.F = function() { | |
d.S = c; | |
return d | |
}; | |
a.j(OBR); | |
return a | |
}(); | |
OBR.g = OBR.g || function() { | |
function d() { | |
c.c.log("ping fail") | |
} | |
function a() { | |
c.c.log("ping success"); | |
c.I.fd(); | |
c.display.Gf(b.Id); | |
c.q.k() | |
} | |
var c, e = {}, b = {}, g; | |
b.tb = "manualDataReady"; | |
b.sb = "manualClickReady"; | |
e.j = function(b) { | |
c = b = b || OBR; | |
g = new c.o | |
}; | |
e.F = function() { | |
return b | |
}; | |
b.Id = function(a) { | |
c.c.log("rec " + a + " was rendered"); | |
var e = c.i[a]; | |
e.Y(!0); | |
e.s.Bg(); | |
0 === a && c.a.pg(); | |
b.sf(e) && b.ng(e); | |
c.a.Kd(e); | |
c.display.$e(e) | |
}; | |
b.Ne = function(b) { | |
return Math.floor(Math.random() * b) + 1 | |
}; | |
b.sf = function(a) { | |
var e = c.b.Ka, | |
d = a.l("tracking", !1); | |
if (!a.l("widgetStatistics", !1) || e || d) return !1; | |
a = a.l("wsSampling", 0); | |
return 0 === a ? !0 : b.Ne(a) === a | |
}; | |
b.ng = function(b) { | |
2 === c.d.oc(c.d.f.ua) && 2 === c.d.oc(c.d.f.fa) ? c.p.Rb(b.h) : c.d.w(c.d.f.fa, function() { | |
c.d.w(c.d.f.ua, function() { | |
c.p.Rb(b.h) | |
}, this) | |
}, this) | |
}; | |
b.Qg = function(a) { | |
c.c.log("widget was found"); | |
a = c.Ua.Hd(a); | |
0 === a.h && b.Pd(); | |
!0 === a.ff() ? c.c.log("Dynamic loader - stop odb!") : c.q.Tc(a) | |
}; | |
e.Jc = function(a, d) { | |
var h = "NA", | |
l = a && a.response ? a.response : null, | |
m; | |
if (m = c.a.Ca(d)) | |
if (g.k("onmManualOdbReturned_" + d, [l, | |
d | |
]), m.W()) return; | |
l && (l.request && l.request.widgetJsId) && (h = l.request.widgetJsId); | |
c.q.Gb(d, h); | |
m && (l && l.documents) && (m.Y(!0), e.gc(b.tb, d, h, a)); | |
c.q.k() | |
}; | |
e.Mf = function(b, a) { | |
g.add("onmManualOdbReturned_" + b, a) | |
}; | |
e.gc = function(b, a, c, e) { | |
b = b + a + c; | |
g.k(b, [e.response.documents, a]); | |
g.Bb(b) | |
}; | |
e.Gc = function(a, d) { | |
if (null !== a) { | |
var h = 0, | |
l = a.permalink, | |
m = a.widgetId, | |
p = a.widgetType, | |
n = a.fbk, | |
q = a.timeout; | |
l && "string" === typeof l && (m && "string" === typeof m) && (c.c.log("manual Odb call"), h = e.xf(l), e.Na(b.tb + h + m, d), l = c.Ua.Zb(h, l, m, !1, | |
p, n, q, !0), l.vg(), c.na[h] = l, g.k("onmManualOdbCall", [l, b.tb]), c.I.fd(), c.q.Tc(l)) | |
} | |
}; | |
e.Na = function(b, a) { | |
g.add(b, a) | |
}; | |
e.Qf = function(b) { | |
g.add("onmManualOdbCall", b) | |
}; | |
e.xf = function(b) { | |
var a = 0, | |
e = c.b; | |
null === e.ma && (e.ma = 0 < c.i.length ? c.i[0].ca() : null); | |
e.ma === b ? a = e.Fc + 1 : e.ma = b; | |
return e.Fc = a | |
}; | |
e.Ec = function(a, e) { | |
var d = OBR.n(c.b.Ia); | |
c.a.V(d) && c.a.V(d.parentNode) && d.parentNode.removeChild(d); | |
c.a.nb(); | |
"function" === typeof e && g.add(b.sb, e); | |
if (null !== a && (d = a.link) && "string" === typeof d) { | |
c.c.log("manual Click"); | |
if (null !== | |
d.match(/http:\/\/.+outbrain.com/i)) c.a.Wd(d + "&noRedirect=true"); | |
else throw "Wrong redirect link: " + d; | |
g.k(b.sb); | |
g.Bb(b.sb) | |
} | |
}; | |
b.rf = function(a) { | |
return b.yc(a) || a.l("stopWidget", !1) | |
}; | |
b.yc = function(b) { | |
return b.l("stopRater", !1) | |
}; | |
b.Pd = function() { | |
c.I.Of(a); | |
c.I.Nf(d); | |
c.b.Df || c.b.zc ? (c.c.log("async - no ping"), a()) : c.I.Uf() | |
}; | |
e.yb = function(a, d) { | |
var h, l; | |
OBR.c.log("HTML returned"); | |
(h = c.i[d]) ? (h.s.xg(), h.W() || (h.setData(a), l = h.v(), b.rf(h) || b.tf(h.Ba()) || (c.q.og(a.response.settings.apv), e.of(h) ? e.ea(d) : e.Re(h), | |
l && g.k("odbRtn_" + l, [h]))), e.se(h)) : c.c.log("odbHtmlReturned : Widget not found") | |
}; | |
b.tf = function(b) { | |
var a = !1; | |
null !== b.match(/(<\/?met|<\/?scr)/i) && (a = !0, c.c.log("SECURITY")); | |
return a | |
}; | |
e.se = function(a) { | |
b.yc(a) || (c.q.Gb(a.h, a.v()), c.q.k()) | |
}; | |
e.of = function(b) { | |
var a = !0; | |
if (b.Cc() || b.wc()) a = !1; | |
return a | |
}; | |
e.Re = function(b) { | |
var a = b.h; | |
b.Cc() ? c.d.w(c.d.f.Za, function() { | |
c.Ta.de(a) | |
}, this) : b.wc() && c.display.Ye(b) | |
}; | |
e.ea = function(b) { | |
c.display.ea(c.i[b]); | |
c.c.log("HTML - Render"); | |
e.Xf(b) | |
}; | |
e.Xf = function(b) { | |
c.a.Xd(b) | |
}; | |
e.Rc = | |
function(b, a) { | |
c.a.Fd(a); | |
var e = c.a.D(a, "data-redirect"); | |
null !== e && (a.href = e); | |
return !0 | |
}; | |
e.Sc = function(b) { | |
c.p && c.p.Mc(); | |
c.ba.pe(b); | |
return !0 | |
}; | |
e.t = function() { | |
g.N() | |
}; | |
e.Zc = function() { | |
//debugger; | |
c.ba.Hf(b.Qg); | |
c.b.Ma ? c.b.Lg() : c.ba.dc() | |
}; | |
e.Sd = function(b, a, e) { | |
if (confirm("Removing this recommendation will remove it permanently for this section and will refresh the recommendations.\n Are you sure you want to remove this recommendation?")) { | |
var d = "https://my.outbrain.com/manage/"; | |
c.c.log("isAd = " + e + " type = " + typeof e); | |
d = !1 === e ? d + ("add-zapped-document?publisherId=" + a + "&docUrl=" + c.a.L(b)) : d + ("add-rule?publisherId=" + a + "&ruleValue=" + c.a.L(b) + "&ruleType=" + e); | |
b = c.a.B(d, !0); | |
c.a.H(b) | |
} | |
}; | |
e.Rd = function(b) { | |
confirm("Removing this recommendation will remove it permanently for this section and will refresh the recommendations.\n Are you sure you want to remove this recommendation?") && (b = c.a.B(c.b.xb + c.b.Td + b + "&index=1&templateIndex=1&sig=" + c.b.pd, !0), c.a.H(b)) | |
}; | |
e.ig = function(b) { | |
b && (b.ob_exclude_resp && b.ob_exclude_resp.code && 1 !== | |
b.ob_exclude_resp.code) && e.Sc() | |
}; | |
e.Uc = function(b, a) { | |
if (a && "function" === typeof a) { | |
var e = "odbRtn_" + b; | |
g.add(e, a); | |
var d = c.Jb.sc(b); | |
d && d.df() && g.k(e, [d]) | |
} | |
}; | |
e.xe = function(b) { | |
return (b = c.Jb.sc(b)) ? b.G("tcr", -1) : null | |
}; | |
e.hg = function() { | |
c.ba.dc() | |
}; | |
e.N = function() { | |
c.p && c.p.Mc(); | |
c.display.t(); | |
c.q.t(); | |
c.I.t(); | |
this.t(); | |
c.ba.t(); | |
c.ha && c.ha.t(); | |
c.b.wa = !1 | |
}; | |
e.cg = function() { | |
this.N(); | |
this.Zc() | |
}; | |
e.j(OBR); | |
return e | |
}(); | |
OBR.display = OBR.display || function() { | |
var d, a = {}, c; | |
a.j = function(a) { | |
d = a = a || OBR; | |
c = new d.o | |
}; | |
a.tc = function(a, b) { | |
var c = d.a.Mg(a), | |
f = d.a.U(b.h); | |
f && (c && 0 < c.length) && (f.innerHTML = "", d.a.mb(c[0], f), d.c.log("element inserted")) | |
}; | |
a.kh = function(a) { | |
c.add("beforeRender", a) | |
}; | |
a.Gf = function(a) { | |
c.add("afterRender", a) | |
}; | |
a.$e = function(a) { | |
d.a.pf(a) && OBR.d.w(OBR.d.f.Xa, function(b) { | |
OBR.scroll.yf(b) | |
}, this, a) | |
}; | |
a.Ye = function(c) { | |
OBR.d.w(OBR.d.f.fa, d.a.$(), this); | |
OBR.d.w(OBR.d.f.Va, function() { | |
a.te(c) | |
}, this) | |
}; | |
a.te = function(e) { | |
a.tc(OBR.ya.Ve(e), | |
e); | |
OBR.ya.j(); | |
c.k("afterRender", [e.h]) | |
}; | |
a.ea = function(e) { | |
d.c.log("HTML - render widget with " + e.Ba()); | |
a.tc(e.Ba(), e); | |
e.Y(!0); | |
c.k("afterRender", [e.h]) | |
}; | |
a.t = function() { | |
c.N() | |
}; | |
a.j(OBR); | |
return a | |
}(); | |
OBR.md = OBR.md || function(d) { | |
var a = {}, c = {}, e = {}, b = "", | |
g = null, | |
f = null, | |
k = !1, | |
h = 0, | |
l = "html", | |
m = !1, | |
p = 4E3, | |
n = "nano", | |
q = !1, | |
s = !1, | |
r = {}, t = new OBR.o; | |
a.Wg = 0; | |
a.Vg = 1E3; | |
a.Ug = 2; | |
a.h = d; | |
a.xa = ""; | |
a.tg = function(b, a) { | |
t.add("onInjectError_" + b.h, a) | |
}; | |
a.re = function(b) { | |
t.k("onInjectError_" + b, [b], !0) | |
}; | |
a.s = { | |
Lc: -1, | |
Kc: -1, | |
Yc: -1, | |
Ea: function() { | |
var b = []; | |
b.push(a.s.Lc); | |
b.push(a.s.Kc); | |
b.push(a.s.Yc); | |
return b | |
}, | |
yg: function() { | |
a.s.Lc = (new Date).getTime() | |
}, | |
xg: function() { | |
a.s.Kc = (new Date).getTime() | |
}, | |
Bg: function() { | |
a.s.Yc = (new Date).getTime() | |
} | |
}; | |
a.ne = { | |
slow: 7E3, | |
normal: 5E3, | |
fast: 3E3, | |
qa: 5 | |
}; | |
a.setData = function(a) { | |
a && a.response && (a = a.response, a.request && (e = a.request), a.settings && (c = a.settings), a.html && (b = a.html), m = !0) | |
}; | |
a.hb = function() { | |
return c | |
}; | |
a.l = function(b, a) { | |
var e; | |
e = c[b]; | |
return "undefined" !== typeof e && null !== e ? e : a | |
}; | |
a.G = function(b, a) { | |
var c = e[b]; | |
return c ? c : a | |
}; | |
a.Ba = function() { | |
return b | |
}; | |
a.v = function() { | |
return g | |
}; | |
a.Gg = function(b) { | |
g = "string" === typeof b ? b : "NA" | |
}; | |
a.vg = function() { | |
l = "japi" | |
}; | |
a.Ce = function() { | |
return l | |
}; | |
a.oh = function(b) { | |
h = b | |
}; | |
a.ah = function() { | |
return h | |
}; | |
a.ca = function() { | |
return f | |
}; | |
a.Ag = function(b) { | |
f = b | |
}; | |
a.ff = function() { | |
return k | |
}; | |
a.rg = function(b) { | |
k = "true" === b || !0 === b | |
}; | |
a.wc = function() { | |
return "flyThrough" === a.l("displayMode", "") | |
}; | |
a.Cc = function() { | |
return "video" === a.l("displayMode", "") | |
}; | |
a.fh = function() { | |
return "recInIframe" === a.l("displayMode", "") | |
}; | |
a.df = function() { | |
return m | |
}; | |
a.Pe = function() { | |
return n | |
}; | |
a.Hg = function(b) { | |
"string" === typeof b && (n = b.toLowerCase()) | |
}; | |
a.Eg = function(b) { | |
"string" === typeof b && "" !== b && (a.xa = b) | |
}; | |
a.gf = function() { | |
return !isNaN(parseInt(a.xa, 10)) | |
}; | |
a.ja = function() { | |
var b; | |
b = parseInt(a.xa, 10); | |
return a.gf() && "number" === typeof b && 0 <= b && 10 > b ? OBR.a.Be(f, b) : a.xa | |
}; | |
a.W = function() { | |
return q | |
}; | |
a.Y = function(b) { | |
"boolean" === typeof b && (q = b) | |
}; | |
a.dh = function() { | |
return "hp" === n | |
}; | |
a.m = function() { | |
return r | |
}; | |
a.sg = function() { | |
var b = { | |
timeout: 0, | |
pa: null, | |
ab: 0, | |
Ub: !1, | |
Ff: !1, | |
Na: "", | |
Ha: !1, | |
Eb: !1, | |
Ab: !1, | |
va: !1, | |
od: "NA", | |
reason: 0, | |
ob: !0 | |
}; | |
"object" === typeof b && (r = b) | |
}; | |
a.lf = function() { | |
return s | |
}; | |
a.mc = function() { | |
return p | |
}; | |
a.ug = function(b) { | |
p = a.ne[b] || 6E3 | |
}; | |
a.wg = function(b) { | |
"boolean" === typeof b && (s = | |
b) | |
}; | |
return a | |
}; | |
OBR.Ua = OBR.Ua || function() { | |
var d = OBR, | |
a = {}, c = new d.o; | |
a.Zb = function(a, b, g, f, k, h, l, m) { | |
a = new d.md(a); | |
a.Ag(b); | |
a.Gg(g); | |
a.rg(f); | |
a.Hg(k); | |
a.Eg(h); | |
a.ug(l); | |
"boolean" === typeof m && a.wg(m); | |
c.k("onWidgetCreate", [a]); | |
return a | |
}; | |
a.Hd = function(c) { | |
var b = d.a.D(c, "data-src"), | |
g = d.a.D(c, "data-widget-id"), | |
f = d.a.D(c, "data-widget-type"), | |
k = d.a.D(c, "data-timeout"), | |
h = d.a.D(c, "data-fbk"), | |
l = d.a.D(c, "data-advance-loader"), | |
m = d.a.D(c, "data-dynLoad"); | |
d.a.A(c, "data-dynLoad", ""); | |
d.b.ed("true" === (l || "").toLowerCase()); | |
null === b && (b = d.a.Ee()); | |
l = 0 === d.i.length && d.b.ma === b ? 1 : d.i.length; | |
b = a.Zb(l, b, g, m, f, h, k, !1); | |
d.i[l] = b; | |
0 === l && (g = d.a.createElement("div", "ob_holder"), g.style.display = "none", d.a.insertBefore(g, c), d.a.nb()); | |
c.id = d.b.Ib + l; | |
return b | |
}; | |
a.Pf = function(a) { | |
c.add("onWidgetCreate", a) | |
}; | |
return a | |
}(); | |
OBR.Jb = OBR.Jb || function() { | |
var d = OBR; | |
return { | |
sc: function(a) { | |
var c, e, b; | |
if (d.i) | |
for (e = d.i.length, c = 0; c < e; c += 1) | |
if ((b = d.i[c]) && b.v() === a) return b; | |
return null | |
} | |
} | |
}(); | |
OBR.ha = OBR.ha || function() { | |
var d = {}, a = OBR, | |
c = {}, e = new a.o; | |
c.ke = function(b) { | |
b.sg(); | |
"" !== b.ja() && (b.tg(b, function() { | |
d.Te(b.h) | |
}), OBR.q.Lf(b, function() { | |
c.Fg(b) | |
}), OBR.g.Uc(b.v(), d.Kf)) | |
}; | |
c.Fg = function(b) { | |
var a; | |
a = b.m(); | |
a.timeout = b.mc(); | |
a.Ha || (a.pa = setTimeout(function() { | |
c.Vd(b) | |
}, a.timeout)) | |
}; | |
d.Kf = function(b) { | |
var a = b.m(); | |
a.Ff = !0; | |
b.l("ispartialrecs", !1) && (clearTimeout(a.pa), a.reason = 3, a.Ab = !0, c.eb(b)) | |
}; | |
d.If = function(b, d) { | |
var f; | |
b && (b.settings && !0 === b.settings.ispartialrecs) && (f = a.a.Ca(d), clearTimeout(f.m().pa), | |
c.Xc(f)) | |
}; | |
c.Jf = function(b, c) { | |
b.m().Na = c; | |
a.g.Mf(b.h, d.If) | |
}; | |
a.Ua.Pf(c.ke); | |
a.g.Qf(c.Jf); | |
d.Tb = function(b, d) { | |
var f, e, h; | |
b && b.response && (f = b.response, OBR.c.log("Cdn response returned"), (e = c.qc(d)) ? (a.q.Od(e), h = e.m(), h.rb = b, f.request && (h.od = f.request.widgetJsId || "NA"), h.Ub = (new Date).getTime(), h.Ha && !h.va ? (h.Ha = !1, c.jb(e)) : h.Eb && !h.va ? (h.Eb = !1, c.jb(e)) : h.Ab && !h.va && (h.Ab = !1, c.jb(e))) : a.c.log("Editorial Widget : Widget not found")) | |
}; | |
c.jb = function(b) { | |
var a = b.m(); | |
a.va = !0; | |
c.Xc(b); | |
d.ud(b); | |
clearTimeout(b.m().pa); | |
a.reason = 0; | |
a.ob = !0 | |
}; | |
c.qc = function(b) { | |
var c = a.i[b]; | |
return c ? c : a.a.Ca(b) | |
}; | |
c.rc = function(b) { | |
return (b = a.a.rc(b)) ? b : a.a.Ca("fbk") | |
}; | |
c.Vd = function(b) { | |
var a = b.m(); | |
b.W() || (a.reason = 1, a.Eb = !0, c.eb(b)) | |
}; | |
c.Xc = function(b) { | |
var c = b.m(); | |
b.W() && !b.l("ispartialrecs", !1) ? c.ob = !1 : (b.lf() ? a.g.gc(c.Na, b.h, c.od, c.rb) : (b.setData(c.rb), OBR.g.ea(b.h)), b.Y(!0)) | |
}; | |
d.ud = function(b) { | |
var c, d, e; | |
d = b.m(); | |
a.a.mf(b.hb()) && b.setData(d.rb); | |
e = "" !== b.ca() ? a.a.L(b.ca()) : window.location.href; | |
c = b.l("irdfb", ""); | |
"" !== c && (c += "&reason=" + d.reason || | |
"", c = c + ("&url=" + e || "") + ("&at=" + (b.m().Ub - b.m().ab) || ""), c += "&to=" + b.mc() || "", c += "&ir=" + (d.ob ? 1 : 0) || "", b = OBR.a.B(c, !1), OBR.a.H(b)) | |
}; | |
c.eb = function(b) { | |
if (0 === b.m().ab) { | |
var d = c.ve(b); | |
c.kb(d, b); | |
a.c.log("CDN call: cdnCall") | |
} | |
}; | |
c.ve = function(b) { | |
var c; | |
c = a.b.Ud; | |
b = b.ja() + "_" + b.v() + "_" + b.h; | |
return c + b | |
}; | |
d.Te = function(b) { | |
b = c.qc(b); | |
var a; | |
b && (a = b.m(), clearTimeout(a.pa), a.Ha = !0, a.reason = 2, c.eb(b)) | |
}; | |
c.kb = function(b, c) { | |
var d = a.a.B(b, !1); | |
c.m().ab = (new Date).getTime(); | |
a.a.H(d); | |
a.c.log("fire this src " + b) | |
}; | |
d.t = function() { | |
e.N() | |
}; | |
d.F = function() { | |
return c | |
}; | |
return d | |
}(); | |
OBR.extern = OBR.extern || function() { | |
var d = OBR; | |
return { | |
getStat: function() { | |
d.p.$c() | |
}, | |
showDescription: function(a, c) { | |
d.d.w(OBR.d.f.Wa, function() { | |
OBR.Pc.vf(a, c) | |
}, this) | |
}, | |
returnedHtmlData: function(a, c) { | |
d.g.yb(a, c) | |
}, | |
returnedIrdData: function(a, c) { | |
d.ha.Tb(a, c) | |
}, | |
returnedJsonData: function(a, c) { | |
d.g.Jc(a, c) | |
}, | |
returnedError: function(a) { | |
OBR.c.log("Call made using extern class"); | |
d.c.log("Callback error" + a) | |
}, | |
callRecs: function(a, c) { | |
OBR.c.log("Call made using extern class"); | |
d.g.Gc(a, c) | |
}, | |
callClick: function(a, c) { | |
OBR.c.log("Call made using extern class"); | |
d.g.Ec(a, c) | |
}, | |
callWhatIs: function(a, c, d, b, g, f) { | |
OBR.d.w(OBR.d.f.ta, function() { | |
OBR.Hb.Sb(a, c, d, b, g, f) | |
}, this); | |
return !1 | |
}, | |
recClicked: function(a, c) { | |
OBR.c.log("Call made using extern class"); | |
d.g.Rc(a, c) | |
}, | |
imageError: function(a) { | |
OBR.c.log("Call made using extern class"); | |
d.a.Wb(a) | |
}, | |
showRecInIframe: function(a, c, e, b, g) { | |
d.d.w(d.d.f.Ob, function() { | |
d.nh.ph(a, c, e, b, g) | |
}, this) | |
}, | |
errorInjectionHandler: function(a) { | |
OBR.i[a].re(a) | |
}, | |
reloadWidget: function() { | |
OBR.c.log("reload widget"); | |
d.g.cg() | |
}, | |
researchWidget: function() { | |
OBR.c.log("research widget"); | |
d.g.hg() | |
}, | |
cancelRecommendation: function(a) { | |
OBR.c.log("cancel recommendation with bocr " + a); | |
d.g.Rd(a) | |
}, | |
cancelRecs: function(a, c, e) { | |
OBR.c.log("cancel recommendation by doc url " + a + " publisher id = " + c + " isAd = " + e); | |
d.g.Sd(a, c, e) | |
}, | |
refreshWidget: function(a) { | |
OBR.c.log("refresh widget"); | |
d.g.Sc(a) | |
}, | |
getCountOfRecs: function(a) { | |
return d.g.xe(a) | |
}, | |
onOdbReturn: function(a, c) { | |
d.g.Uc(a, c) | |
}, | |
closeCard: function() { | |
d.ya.ae() | |
}, | |
closeModal: function() { | |
try { | |
d.modal.hideModal() | |
} catch (a) {} | |
}, | |
scrollLoad: function() { | |
try { | |
OBR.d.Q(OBR.d.f.Ya) | |
} catch (a) {} | |
} | |
} | |
}(); | |
window.outbrain = window.outbrain || {}; | |
window.outbrain.returnedHtmlData = function(d, a) { | |
OBR.g.yb(d, a) | |
}; | |
window.outbrain.returnedIrdJsonData = function(d, a) { | |
OBR.ha.Tb(d, a) | |
}; | |
window.outbrain.returnedJsonData = function(d, a) { | |
OBR.g.Jc(d, a) | |
}; | |
window.outbrain.returnedError = function(d) { | |
OBR.c.log("Callback error" + d) | |
}; | |
window.outbrain.callRecs = function(d, a) { | |
OBR.g.Gc(d, a) | |
}; | |
window.outbrain.callClick = function(d, a) { | |
OBR.g.Ec(d, a) | |
}; | |
window.outbrain.callWhatIs = function(d, a, c, e, b, g) { | |
OBR.d.w(OBR.d.f.ta, function() { | |
OBR.Hb.Sb(d, a, c, e, b, g) | |
}, this) | |
}; | |
window.outbrain.recClicked = function(d, a) { | |
OBR.g.Rc(d, a) | |
}; | |
window.outbrain.imageError = function(d) { | |
OBR.a.Wb(d) | |
}; | |
window.outbrain.closeModal = function() { | |
try { | |
OBR.modal.hideModal() | |
} catch (d) {} | |
}; | |
window.outbrain_rater = window.outbrain_rater || {}; | |
window.outbrain_rater.returnedHtmlData = function(d, a) { | |
OBR.g.yb(d, a) | |
}; | |
window.outbrain_rater.returnedCancelOdbData = function(d) { | |
OBR.g.ig(d) | |
}; | |
!0 === OBR.b.vc && (OBR.c.log("Widget Start!"), OBR.b.vc = !1, "boolean" === typeof window.OB_PASSIVE_MODE && !0 === window.OB_PASSIVE_MODE ? OBR.c.log("passive") : OBR.g.Zc()); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment