Created
August 11, 2014 17:24
-
-
Save banderson623/2873fd5635a49d8afb52 to your computer and use it in GitHub Desktop.
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
OX.AdRequest = OX.AdRequest || function(C, q) { | |
var F = OX.utils, | |
s = F.rand(), | |
J, a = {}, | |
E, H = 0, | |
g, l, h = {}, | |
x = {}, | |
m, n, D, c, d, y = { | |
o: s | |
}, | |
f = { | |
mode: null, | |
auid: null, | |
record_tmpl: null, | |
ad_units: [] | |
}, | |
w = "OX_" + s, | |
b = "ox_" + OX.Resources.ACJ + "_" + s, | |
u = "<iframe src='{src}' width='0' height='0' style='display:none;'></iframe>", | |
v = this, | |
j = OX.Hooks, | |
e = OX.Modes; | |
function G() { | |
return (y.rm > 0) && (y.rd > 0) && (y.rc < y.rm) | |
} | |
function r() { | |
if ((y.rd > 0) && (y.rm > 0) && (!y.rc)) { | |
y.rc = 0 | |
} | |
} | |
function I() { | |
var k = v.createAdRequestURL(), | |
L = y.rc && ("_" + y.rc), | |
K = b + (L || ""), | |
i = F.createScript({ | |
id: K, | |
src: k | |
}); | |
return i | |
} | |
function A(N, M) { | |
var k = x[N] || [], | |
K = OX.getHooksByType(N) || [], | |
P = K.concat(k), | |
O; | |
if (P) { | |
for (var L = 0; L < P.length; L++) { | |
O = P[L]; | |
O.apply(this, M) | |
} | |
} | |
} | |
function p(K) { | |
var i, k; | |
if (K) { | |
i = F.template(u, { | |
src: K | |
}); | |
k = F.create(i) | |
} | |
D = F.replaceOrRemove(k, D, m) | |
} | |
function o() { | |
y.rc++; | |
setTimeout(function() { | |
v.refreshAds() | |
}, 1000 * y.rd) | |
} | |
function t(k) { | |
var i; | |
if (k) { | |
i = document.createComment(" " + k.replace(/--/g, "- -")) | |
} | |
n = F.replaceOrRemove(i, n, m) | |
} | |
v.addAdUnit = function(i) { | |
v.getOrCreateAdUnit(i); | |
if (!y.auid) { | |
y.auid = [] | |
} | |
y.auid.push(i) | |
}; | |
v.addContentTopic = function(i) { | |
y.tid = y.tid || []; | |
y.tid.push(i) | |
}; | |
v.addHook = function(k, i) { | |
if (!x[i]) { | |
x[i] = [] | |
} | |
x[i].push(k) | |
}; | |
v.addPage = function(i) { | |
y.pgid = y.pgid || []; | |
y.pgid.push(i) | |
}; | |
v.addVariable = function(k, L, K, i) { | |
var M = (K || "c") + "." + k; | |
if (i || !h[M]) { | |
h[M] = [] | |
} | |
h[M].push(L) | |
}; | |
v.createAdRequestURL = function() { | |
var k, i, K = ""; | |
r(); | |
i = F.merge([y, h, F.contextArgs(), OX._customVars, OX._requestArgs]); | |
K && (K += "&"); | |
K += F.serialize(i); | |
if (c) { | |
K += "&r=" + escape(c) | |
} | |
k = F.template(F.Templates.GW_URL, { | |
gw: J, | |
v: "1.0", | |
r: OX.Resources.ACJ, | |
q: K | |
}); | |
return k | |
}; | |
v.dflt = function(K, i) { | |
var k = a[K]; | |
k && k.dflt(i) | |
}; | |
v.disableFeature = function(i) { | |
y.df = y.df || []; | |
y.df.push(i) | |
}; | |
v.disableMarket = function() { | |
v.disableFeature("m") | |
}; | |
v.disableSegmentation = function() { | |
y.ns = 1 | |
}; | |
v.enableFeature = function(i) { | |
y.ef = y.ef || []; | |
y.ef.push(i) | |
}; | |
v.enableMarket = function() { | |
v.enableFeature("m") | |
}; | |
v.enableSegmentation = function() { | |
y.ns = null | |
}; | |
v.fetchAds = function() { | |
var k, i; | |
A(j.ON_AD_REQUEST, [v]); | |
k = v.createAdRequestURL(); | |
i = F.template(F.Templates.SCRIPT, { | |
src: k, | |
id: b | |
}); | |
F.write(i) | |
}; | |
v.fetchAdsComplete = function() { | |
switch (f.mode) { | |
case e.IMMEDIATE: | |
v.showAdUnit(f.auid); | |
break; | |
case e.DEFERRED: | |
for (var i in a) { | |
if (a.hasOwnProperty(i)) { | |
if (a[i].get("anchor")) { | |
v.showAdUnit(i) | |
} | |
} | |
} | |
break; | |
default: | |
} | |
if (y.auid && y.auid.length == 1) { | |
if (y.rc == 0) { | |
v.addHook(function() { | |
G() && o() | |
}, OX.Hooks.ON_ADUNIT_RENDER_FINISH) | |
} | |
} else { | |
G() && o() | |
} | |
}; | |
v.frameCreatives = function(i) { | |
E = i | |
}; | |
v.getOrCreateAdUnit = function(i) { | |
if (!a[i]) { | |
a[i] = new OX.AdUnit(i, v.get("o")); | |
f.ad_units.push(a[i]); | |
A(j.ON_ADUNIT_CREATED, [a[i]]) | |
} | |
return a[i] | |
}; | |
v.get = function(i) { | |
return f.hasOwnProperty(i) ? f[i] : y[i] | |
}; | |
v.getQueryArgs = function() { | |
return y | |
}; | |
v.getProperties = function() { | |
return f | |
}; | |
v.isResponseEmpty = function() { | |
if (!(d && d.ads && d.ads.adunits && d.ads.adunits[0])) { | |
return true | |
} else { | |
return false | |
} | |
}; | |
v.loadAdResponse = function(K) { | |
var M = K.ads, | |
O = K.ads.adunits, | |
k, N; | |
m = m || F.get(b); | |
d = K; | |
p(M.pixels); | |
t(f.debug = M.debug); | |
for (var L = 0; L < O.length; L++) { | |
k = O[L]; | |
if (k.refresh_delay) { | |
y.rd = k.refresh_delay | |
} | |
if (k.refresh_max) { | |
y.rm = k.refresh_max | |
} | |
r(); | |
if (G()) { | |
E = 1 | |
} | |
N = function(i) { | |
A(j.ON_ADUNIT_INITIALIZED, [i]) | |
}; | |
v.getOrCreateAdUnit(k.auid).load({ | |
adunit: k, | |
rt: M.record_tmpl, | |
oninit: N, | |
chain: M.chain | |
}) | |
} | |
}; | |
v.load = function() { | |
var i; | |
A(j.ON_AD_REQUEST, [v]); | |
i = I(); | |
E = 1; | |
m = F.append(F.lastScript(), i) | |
}; | |
v.refreshAds = function() { | |
var i; | |
A(j.ON_AD_REQUEST, [v]); | |
i = I(); | |
m = F.replace(m, i) | |
}; | |
v.setAdUnitFallback = function(k, i) { | |
v.getOrCreateAdUnit(k).set("fallback", i) | |
}; | |
v.setAdUnitImpBeacon = function(k, i) { | |
v.getOrCreateAdUnit(k).set("imp_beacon", i) | |
}; | |
v.setAdUnitMarketFloor = function(k, i) { | |
v.getOrCreateAdUnit(k); | |
y.aumf = y.aumf || []; | |
y.aumf.push(k + ":" + i) | |
}; | |
v.setAdUnitNGFloor = function(k, i) { | |
v.getOrCreateAdUnit(k); | |
y.aungf = y.aungf || []; | |
y.aungf.push(k + ":" + i) | |
}; | |
v.setAdUnitSlotId = function(k, i) { | |
v.getOrCreateAdUnit(k).set("anchor", F.get(i)) | |
}; | |
v.setAnchorTarget = function(i) { | |
y.tg = i | |
}; | |
v.setClickRedirectURL = function(i) { | |
c = i | |
}; | |
v.setGateway = function(i) { | |
J = F.ensureRightProtocol(i) | |
}; | |
v.setMode = function(i) { | |
f.mode = i | |
}; | |
v.setPageURL = function(i) { | |
y.ju = F.ensureRightProtocol(i) | |
}; | |
v.setRefererURL = function(i) { | |
y.jr = i | |
}; | |
v.setRefreshDelay = function(i) { | |
y.rd = i | |
}; | |
v.setRefreshMax = function(i) { | |
y.rm = i | |
}; | |
v.setTest = function(i) { | |
y.test = i ? "true" : null | |
}; | |
v.setUserID = function(i) { | |
y.xid = i | |
}; | |
v.showAdUnit = function(K) { | |
var k = a[K], | |
i; | |
if (k) { | |
i = function() { | |
if (H) { | |
return 0 | |
} | |
if (k.get("framed")) { | |
return 1 | |
} | |
if (F.defined(E)) { | |
return E | |
} | |
return !!OX.getFramed() | |
}(); | |
k.render({ | |
framed: i, | |
onAdUnitRenderStart: function() { | |
A(j.ON_ADUNIT_RENDER_START, [k]) | |
}, | |
onAdUnitRenderFinish: function() { | |
A(j.ON_ADUNIT_RENDER_FINISH, [k]) | |
}, | |
onAdRenderStart: function() { | |
A(j.ON_AD_RENDER_START, [k]) | |
}, | |
onAdRenderFinish: function(M, N, L) { | |
A(j.ON_AD_RENDER_FINISH, [M, N, L]) | |
}, | |
onAdDefaulted: function(M, N, L) { | |
A(j.ON_AD_DEFAULTED, [M, N, L]) | |
}, | |
onAdNotDefaulted: function(M, N, L) { | |
A(j.ON_AD_NOT_DEFAULTED, [M, N, L]) | |
} | |
}) | |
} | |
}; | |
window[w] = function(i) { | |
v.loadAdResponse(i); | |
A(j.ON_AD_RESPONSE, [v]); | |
v.fetchAdsComplete() | |
}; | |
y.callback = w; | |
v.setGateway(C && C.gw || q.gw); | |
v.setPageURL(C && C.url || q.url); | |
v.setRefererURL(C && C.ref || q.ref); | |
if (!window.postMessage) { | |
v.disableFeature("c") | |
} | |
if (C) { | |
v.setMode(e.IMMEDIATE); | |
f.auid = C.auid; | |
C.auid && v.addAdUnit(f.auid); | |
C.tid && v.addContentTopic(C.tid); | |
C.aumf && v.setAdUnitMarketFloor(f.auid, C.aumf); | |
C.aungf && v.setAdUnitNGFloor(f.auid, C.aungf); | |
C.tg && v.setAnchorTarget(C.tg); | |
C.imp_beacon && v.setAdUnitImpBeacon(f.auid, C.imp_beacon); | |
C.slot_id && v.setAdUnitSlotId(f.auid, C.slot_id); | |
C.fallback && v.setAdUnitFallback(f.auid, C.fallback); | |
C.test && v.setTest(C.test); | |
C.userid && v.setUserID(C.userid); | |
C.r && v.setClickRedirectURL(C.r); | |
C.rd && v.setRefreshDelay(C.rd); | |
C.rm && v.setRefreshMax(C.rm); | |
C.md && v.disableMarket(); | |
C.ns && v.disableSegmentation(); | |
if (C.vars) { | |
for (var z in C.vars) { | |
C.vars.hasOwnProperty(z) && v.addVariable(z, C.vars[z]) | |
} | |
} | |
if (C.ef) { | |
for (var B = 0; B < C.ef.length; B++) { | |
v.enableFeature(C.ef[B]) | |
} | |
} | |
if (C.df) { | |
for (var B = 0; B < C.df.length; B++) { | |
v.disableFeature(C.df[B]) | |
} | |
} | |
if (F.defined(C.frameCreatives)) { | |
E = C.frameCreatives | |
} | |
C.forceUnframed && (H = 1); | |
C.onResponse && v.addHook(C.onResponse, j.ON_AD_RESPONSE); | |
C.onAdUnitRender && v.addHook(C.onAdUnitRender, j.ON_ADUNIT_RENDER_START); | |
C.onAdUnitLoaded && v.addHook(C.onAdUnitLoaded, j.ON_ADUNIT_RENDER_FINISH) | |
} else { | |
v.setMode(e.DEFERRED) | |
} | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment