function fpv() { try { if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){ return (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g, ",").match(/^,?(.+),?$/)[1]; } } catch(e) {} return '0,0,0'; } function gL() { if (top && top != self) { var loc = document.referrer || document.location; } else if (window && location) { var loc = window.location; } else { var loc = document.location; } loc = loc + ''; if (loc && loc.length > 1000) {loc = loc.substring(0,1000);} return loc; } function gRF() { var mrf = ''; if (document && document.referrer && document.referrer != document.location) { mrf = document.referrer + ''; if (mrf && mrf.length > 1000) {mrf = mrf.substring(0,1000);} } return mrf; } function modEnc(v) { if (v) { var v = encodeURIComponent(v); v = v.replace(/%2F/g, '_@2F');v = v.replace(/%3F/g, '_@3F');v = v.replace(/%26/g, '_@26');v = v.replace(/%3B/g, '_@3B');v = v.replace(/%5C/g, '_');v = v.replace(/%255c/g, '_');v = v.replace(/%23/g, '_@23');v = v.replace(/%253B/g, '_@3B');v = v.replace(/%253F/g, '_@3F'); v = v.replace(/\'|\(|\)|\!/g, ''); return v; } else { return ''; } } function gSWHD() { var w = (screen.width) ? screen.width:0;var h = (screen.height) ? screen.height:0;var px = 1; if (w && window && window.devicePixelRatio && window.devicePixelRatio > 0 && window.devicePixelRatio < 100) { px = window.devicePixelRatio; } return w+'x'+h+'x'+px; } function gMDL() { var modDL = ''; if (typeof(modDataLayer) == 'object') { for (var key in modDataLayer) { var obj = modDataLayer[key]; for (var prop in obj) { if (obj.hasOwnProperty(prop)){ modDL += prop+'='+obj[prop]+';'; } } } } modDL += ''; if (modDL && modDL.length > 6) { return 'mod_data_layer='+modDL; } else { return ''; } } var modAd = { }; modAd._dL = { }; modAd.fp = fpv(); modAd.loc = modEnc(gL()); modAd.mrf = modEnc(gRF()); modAd.swhd = gSWHD(); modAd.mDL = modEnc(gMDL()); if (modAd.loc && modAd.loc.indexOf('https') > -1) { modAd.proto = 'https:'; } else if (window && window.location && window.location.protocol == 'https:') { modAd.proto = 'https:'; } else { modAd.proto = 'http:'; } modAd.getDLVal = function (c, p) { return (typeof modAd._dL[c] == 'object' && typeof modAd._dL[c][p] != 'undefined') ? modAd._dL[c][p] : null; }; modAd.getTargeting = function (v) { if (v == 'all') { return (typeof modAd._dL['t'] == 'object') ? modAd._dL['t'] : null; } else { return (typeof modAd._dL['t'] == 'object' && typeof modAd._dL['t'][v] != 'undefined') ? modAd._dL['t'][v] : null; } }; modAd.connect = { _offers: { }, _tUrl: function (o_id) { var of = this._offers[o_id]; if (of) { return "//ad.wsod.com/embed/"+of["i"]+"/"+of["p"]+"."+of["c"]+".jslite."+of["t"]+"/1447800390"; } }, fetchOffers: function (callback) { // @TODO: Pass in array of types to limit offers returned, handle async case var offers = { }; for (var o_id in this._offers) { offers[o_id] = { type: this._offers[o_id].t, dealId: this._offers[o_id].d, bid: this._offers[o_id].b }; } callback(offers); }, // Return targeting values for offer getTargetVals: function (o_id, fmt) { fmt = fmt || null; var of = this._offers[o_id]; var delim = (fmt == 'semi') ? ';' : '&'; if (of) return 'mod_oid=' + o_id + delim + 'mod_type=' + of['t'] + delim + 'mod_did=' + of['d'] + delim + 'mod_bid=' + of['b']; else return ''; }, renderTag: function (o_id) { // @TODO: Handle async case var tag_url = this._tUrl(o_id); if (tag_url) document.write(''); } } var modASN; try { modASN = document.querySelector("script[src*='37693cfc748049e45d87b8c7d8b9aacd/0.0.async']"); } catch (e) { var scripts = document.getElementsByTagName('script'); for (var i = 0; i < scripts.length; i++) { if (scripts[i].src.indexOf('37693cfc748049e45d87b8c7d8b9aacd/0.0.async') >= 0) { modASN = scripts[i]; } } } var modTag = '//cms.wsod.com/pub/37693cfc748049e45d87b8c7d8b9aacd/1.0.async/1447800390;'+modAd.fp+';'+modAd.swhd+';'+modAd.loc+';'+modAd.mrf+';'+modAd.mDL+';'; var modNew = document.createElement("script"); modNew.setAttribute("type", "text/javascript"); modNew.setAttribute("src", modTag); modNew.setAttribute("async", "async"); modASN.parentNode.appendChild(modNew);