Skip to content

Instantly share code, notes, and snippets.

@colinhicks
Created December 4, 2013 21:56
Show Gist options
  • Save colinhicks/7796315 to your computer and use it in GitHub Desktop.
Save colinhicks/7796315 to your computer and use it in GitHub Desktop.
outbrain.deob.js
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