Advertisement
Guest User

AdSafe's skeleton.js beautified

a guest
Aug 21st, 2012
501
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var adsafeVisParams = {
  2.     mode: "jss",
  3.     jsref: "http://www.elamericano.com/quantcast/sprint.html",
  4.     adsafeSrc: "http://pixel.adsafeprotected.com/rfw/st/13570/453990/skeleton.js",
  5.     adsafeSep: "?",
  6.     requrl: "",
  7.     reqquery: "",
  8.     debug: "false",
  9.     allowEnagement: "true",
  10.     trackMouse: "true",
  11.     enagementDelay: "1-5-15",
  12.     useAdTalk: "true",
  13.     adTalkDtCall: "false",
  14.     killPhrases: "",
  15.     asid: "cf951497-ebb4-11e1-ab74-003048cc6fac",
  16.     adWidth: "160",
  17.     adHeight: "600"
  18. };
  19. (function (av, f) {
  20.     var B = "3.3.9";
  21.     var ah = {
  22.         list: {},
  23.         codes: {
  24.             GET_AD_DIMENSIONS: "a",
  25.             ADTALK_GENERAL: "c",
  26.             GET_SCREEN_LOC_GET_DIMENSIONS: "d",
  27.             PHONE_HOME: "h",
  28.             KILL_IT: "k",
  29.             LOCATION_DETAILS: "l",
  30.             GET_SCREEN_LOC_PIV_CALC: "p",
  31.             GET_WIN_DIMENSIONS: "w",
  32.             ADTALK_DUBIOUS: "D"
  33.         },
  34.         add: function (e) {
  35.             if (typeof this.list[e] != E) {
  36.                 this.list[e]++;
  37.             } else {
  38.                 this.list[e] = 1;
  39.             }
  40.         },
  41.         toString: function () {
  42.             var aE = "";
  43.             for (var e in this.list) {
  44.                 if (this.list.hasOwnProperty(e)) {
  45.                     aE += e;
  46.                 }
  47.             }
  48.             return aE;
  49.         },
  50.         hasErrors: function () {
  51.             for (var e in this.list) {
  52.                 return true;
  53.             }
  54.             return false;
  55.         }
  56.     };
  57.     var q = (av.debug === "true");
  58.     var E = "undefined";
  59.     var ae = 2000;
  60.     var aw;
  61.     var O = window !== top;
  62.     var k = false;
  63.     try {
  64.         k = typeof top.innerHeight !== E;
  65.     } catch (K) {
  66.         k = false;
  67.     }
  68.     var s = false;
  69.     var y = new Date().getTime();
  70.     var ak = {};
  71.     var i = function () {
  72.         var aI = function () {};
  73.         var aH = function (aK) {
  74.             top.postMessage(aK, "*");
  75.         };
  76.         var aG, aJ, aF = false,
  77.             aE = "pm,inDoc,";
  78.         var e = aE + "log,info,warn,dir,exception,trace,group,groupEnd,groupCollapsed,profile,profileEnd,count,clear,time,timeEnd,timeStamp,table,error,memoryProfile,memoryProfileEnd";
  79.         e = e.split(",");
  80.         if (typeof console !== E && q) {
  81.             ak = console;
  82.             for (aG = 0, len = e.length; aG < len; aG++) {
  83.                 aJ = e[aG];
  84.                 if (typeof ak[aJ] === E) {
  85.                     if (typeof ak.log === E) {
  86.                         ak[aJ] = aI;
  87.                     } else {
  88.                         ak[aJ] = ak.log;
  89.                     }
  90.                 }
  91.             }
  92.             ak.pm = window.postMessage ? aH : aI;
  93.             ak.inDoc = function (aM, aL) {
  94.                 var aK = function () {
  95.                     var aN;
  96.                     try {
  97.                         if (!aF) {
  98.                             aF = document.createElement("ul");
  99.                             document.body.appendChild(aF);
  100.                         }
  101.                         aN = document.createElement("li");
  102.                         aF.appendChild(aN);
  103.                         aN.textContent = aM;
  104.                     } catch (aO) {}
  105.                 };
  106.                 if (!aL) {
  107.                     aK();
  108.                 } else {
  109.                     setTimeout(aK, aL);
  110.                 }
  111.             };
  112.         } else {
  113.             for (aG = 0, len = e.length; aG < len; aG++) {
  114.                 aJ = e[aG];
  115.                 ak[aJ] = aI;
  116.             }
  117.         }
  118.     };
  119.     i();
  120.     ak.info("v" + B + ", mode: " + av.mode);
  121.     ak.groupCollapsed("Server Parameters");
  122.     ak.dir(av);
  123.     ak.groupEnd();
  124.     var M = function (aF, aG, aE, e) {
  125.         if (typeof aF.addEventListener != E) {
  126.             if (aG === "mouseenter") {
  127.                 aF.addEventListener("mouseover", ai(aE), e);
  128.             } else {
  129.                 if (aG === "mouseleave") {
  130.                     aF.addEventListener("mouseout", ai(aE), e);
  131.                 } else {
  132.                     aF.addEventListener(aG, aE, e);
  133.                 }
  134.             }
  135.         } else {
  136.             if (typeof aF.attachEvent != E) {
  137.                 aF.attachEvent("on" + aG, aE);
  138.             }
  139.         }
  140.     };
  141.     var R = function (aE, aF, e) {
  142.         if (typeof aE.removeEventListener != E) {
  143.             if (aF === "mouseenter") {
  144.                 aF = "mouseover";
  145.                 e = ai;
  146.             } else {
  147.                 if (aF === "mouseleave") {
  148.                     aF = "mouseout";
  149.                     e = ai;
  150.                 }
  151.             }
  152.             aE.removeEventListner(aF, e);
  153.         } else {
  154.             if (typeof aE.detachEvent != E) {
  155.                 aE.detachEvent("on" + aF, e);
  156.             }
  157.         }
  158.     };
  159.     var ai = function (e) {
  160.         return function (aE) {
  161.             var aF = aE.relatedTarget;
  162.             if (this === aF || Y(this, aF)) {
  163.                 return;
  164.             }
  165.             e.call(this, aE);
  166.         };
  167.     };
  168.     var Y = function (e, aE) {
  169.         if (e === aE) {
  170.             return false;
  171.         }
  172.         while (aE && aE !== e) {
  173.             aE = aE.parentNode;
  174.         }
  175.         return aE === e;
  176.     };
  177.     var t = function (aE, e) {
  178.         var aF = "" + aE;
  179.         while (aF.length < e) {
  180.             aF = "0" + aF;
  181.         }
  182.         return aF;
  183.     };
  184.     var S = function (aH, aG) {
  185.         var aE = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");
  186.         var aF, e = [];
  187.         do {
  188.             aF = aH % aG;
  189.             e.push(aE[aF]);
  190.             aH = (aH - aF) / aG;
  191.         } while (aH > 0);
  192.         return e.reverse().join("");
  193.     };
  194.     var ay = (function () {
  195.         var aF = new Date();
  196.         var aE = Date.parse("Jan 1 " + aF.getFullYear());
  197.         var e = aF.getTime() - aE;
  198.         return S(e, 62);
  199.     }());
  200.     var l = function () {
  201.         var aH = 0,
  202.             aF = {};
  203.         var aE = function (aJ, aK, aI) {
  204.             if (typeof aJ.output === "undefined") {
  205.                 throw new Error("item with id " + aK + ' must have "output" method');
  206.             }
  207.             this.item = aJ;
  208.             this.id = aK || ++aH;
  209.             this.props = aI || {};
  210.             this.output = function () {
  211.                 return (typeof aJ.output === "function") ? aJ.output() : aJ.output;
  212.             };
  213.         };
  214.         var e = function (aK) {
  215.             var aL, aI, aJ = [];
  216.             for (aL in aF) {
  217.                 if (aF.hasOwnProperty(aL)) {
  218.                     aI = aK(aL, aF[aL]);
  219.                     if (aI) {
  220.                         aJ.push(aI);
  221.                     }
  222.                 }
  223.             }
  224.             return aJ;
  225.         };
  226.         var aG = function (aK, aL, aJ) {
  227.             var aI = new aE(aK, aL, aJ || {});
  228.             aF[aI.id] = aI;
  229.         };
  230.         return {
  231.             addItem: aG,
  232.             iterate: e,
  233.             getItem: function (aI) {
  234.                 return aF[aI];
  235.             }
  236.         };
  237.     };
  238.     l = new l();
  239.     var ap;
  240.     var ag = function () {
  241.         var aM = function (aP) {
  242.             var aO = {
  243.                 a: "top.location.href",
  244.                 b: "parent.location.href",
  245.                 c: "parent.document.referrer",
  246.                 d: "window.location.href",
  247.                 e: "window.document.referrer",
  248.                 f: "jsref",
  249.                 g: "ffCheck -- firefox result",
  250.                 q: "ffCheck -- parent.parent.parent... result"
  251.             };
  252.             ak.groupCollapsed("Detection Results");
  253.             var aQ = "";
  254.             for (var e in aP) {
  255.                 row = aP[e];
  256.                 aQ += row.key + ": " + decodeURIComponent(row.val) + "\n";
  257.             }
  258.             ak.log(aQ);
  259.             ak.dir(aO);
  260.             ak.groupEnd();
  261.         };
  262.         var aJ = function () {
  263.             var aO = {
  264.                 g: "",
  265.                 q: ""
  266.             };
  267.             try {
  268.                 aO.q = window.parent.parent.parent.parent.parent.parent.parent.parent.parent.parent.location.href;
  269.             } catch (aQ) {
  270.                 var aP = aQ.message;
  271.                 var aR = aP.substring(aP.lastIndexOf("<") + 1, aP.lastIndexOf(">"));
  272.                 if (typeof aR != E && aN()) {
  273.                     aO.g = aR;
  274.                 }
  275.             }
  276.             return aO;
  277.         };
  278.         var aN = function () {
  279.             var aP = 3;
  280.             var aO = 6;
  281.             var aS = 13;
  282.             var aX = false;
  283.             if (typeof window.navigator !== E && typeof window.navigator.userAgent !== undefined) {
  284.                 var aQ = window.navigator.userAgent;
  285.                 var e = window.navigator.userAgent.match(/Firefox\/([\.0-9]+)/);
  286.                 if (e !== null && e.length == 2) {
  287.                     var aU = e[1];
  288.                     var aR = aU.split(".");
  289.                     var aV = aR[0];
  290.                     if (parseInt(aV, 10) == aP) {
  291.                         var aT = aR[1];
  292.                         if (parseInt(aT, 10) <= aO) {
  293.                             if (aR.length == 3) {
  294.                                 var aW = aR[2];
  295.                                 if (parseInt(aW, 10) <= aS) {
  296.                                     aX = true;
  297.                                 }
  298.                             } else {
  299.                                 aX = true;
  300.                             }
  301.                         }
  302.                     }
  303.                 }
  304.             }
  305.             return aX;
  306.         };
  307.         var aF = function (e) {
  308.             for (var aP in e) {
  309.                 if (e.hasOwnProperty(aP)) {
  310.                     var aO = e[aP];
  311.                     if (aO === "" || aO === "null" || aO === E || aO === null || typeof aO === E) {
  312.                         delete e[aP];
  313.                     }
  314.                 }
  315.             }
  316.             return e;
  317.         };
  318.         var aL = function (aP) {
  319.             var e = {};
  320.             var aQ, aR;
  321.             for (aR in aP) {
  322.                 if (aP.hasOwnProperty(aR)) {
  323.                     aQ = aP[aR];
  324.                     if (typeof e[aQ] == E) {
  325.                         e[aQ] = aR;
  326.                     } else {
  327.                         e[aQ] += aR;
  328.                     }
  329.                 }
  330.             }
  331.             var aO = {};
  332.             for (aR in e) {
  333.                 if (e.hasOwnProperty(aR)) {
  334.                     aQ = e[aR];
  335.                     aO[aQ] = aR;
  336.                 }
  337.             }
  338.             return aO;
  339.         };
  340.         var aH = {};
  341.         try {
  342.             aH.a = encodeURIComponent(top.location.href);
  343.         } catch (aK) {}
  344.         try {
  345.             aH.b = encodeURIComponent(parent.location.hr...centInView ",obst:"
  346.             obstructed ",th:"
  347.             tabHidden ",reas:"
  348.             reason "};for(var aM in aH){try{if(aH.hasOwnProperty[aM]){var aF=aH[aM];if(typeof aL[aF]!==E){aO+=aK(aM,aL[aF]);}}}catch(aJ){throw aM;}}}catch(aJ){ah.add(ah.codes.LOCATION_DETAILS);var aE=(typeof aJ==="
  349.             string ")?aJ:(typeof aJ.type!=="
  350.             undefined ")?aJ.type:"
  351.             unk ";aO+=", detErr: "+aE;ak.error(aJ);}return aO;};var d=function(aH){var aF;var aE=aH.length;var e=aH[aE-1];for(aF=0;aF<aE;aF++){var aG=aH[aF];if(aG.key.indexOf("
  352.             g ")!==-1){e=aG;}}return e;};var U=function(aE){var e=new Image();e.onload=function(){ak.info("
  353.             Image loaded: "+aE);};e.src=aE;};var ar=function(){ak.groupCollapsed("
  354.             Checking
  355.             for kill phrases...");var aM=false;try{if(typeof av!=E&&typeof av.killPhrases!=E&&av.killPhrases!=="
  356.             "){var aL=av.adsafeSrc;if(aL==="
  357.             "){aL=av.requrl+av.reqquery;}var aI=av.killPhrases.split(", ");var aG="
  358.             ";for(var aH=0,aJ=aI.length;aH<aJ;aH++){var aE=decodeURIComponent(aI[aH]).replace(/^\s+|\s+$/g,"
  359.             ");if(aL.search(aE)!==-1){aG=aE;aM=true;}}var aF=(aM)?'found ("
  360.             '+aG+'
  361.             ").':"
  362.             not found.";ak.log('Kill phrases ("
  363.             '+av.killPhrases+'
  364.             ") '+aF);}else{ak.log("
  365.             Kill phrase empty or not found.");}}catch(aK){ah.add(ah.codes.KILL_IT);ak.exception(aK);}ak.groupEnd();return aM;};var Q=(typeof JSON!==E&&typeof window.postMessage!==E);var I=function(){var aE={};var aM=[];if(!Q){return;}var aH=[];var aG=function(aP){var aN,aO,aQ;aP=aP||av;if(aP.reqquery){aN=aP.reqquery.split("
  366.             anId = ")[1].split(" & ")[0];}else{aO=aP.adsafeSrc.split(" / ");aN=aO[5]+" - "+aO[6];}aQ={adId:aN,adSafeId:aP.asid};aH.push(aQ);return aQ;};var aF=function(){var aO=[];var aN={};var aQ={noMe:true};var aR=function(aS){aO.push(aS);aN[aS.pageId]=aS;if(aS.isMe){aQ=aS;}};var aP=function(){var aT,aS,aW,aV,aU=[];for(aT=0;aT<aO.length;aT++){aW=aO[aT];if(aW.isLeaf||aW.isMe||aW.selfDescription!==undefined){aV="
  367.             ";for(aS=0;aS<aW.position.length;aS++){aV+=(Number(aW.position[aS])+1).toString(36);}aV+=(aW.isMe)?" * ":"
  368.             ";aV+=(aW.adProxies.length!==0)?"."+aW.adProxies[0].adId:"
  369.             ";aU.push(aV);}}return S(aQ.unifiedId,62)+" + "+aU.join(" | ");};return{addFrame:aR,list:aO,lookup:aN,me:function(){return aQ;},output:aP};};aF=new aF();var aL=function(aQ,aP){var aN=aQ===window;var aO={position:aP.slice(0),pageId:aP.join(" - "),domObj:function(){return aQ;},isMe:aN,isLeaf:!aQ.frames.length,adProxies:aN?aH:[],selfDescription:undefined,unifiedId:y};aO.toString=function(){return JSON.stringify(aO);};aO.addDescription=function(aR){aO.selfDescription=aR;aO.adProxies=aR.adProxies;};aF.addFrame(aO);return aO;};var e=function(){var aN=function(aT,aO){var aR=aO.length,aQ=aT.frames,aS=new aL(aT,aO);if(!aS.isLeaf){for(var aP=0;aP<aQ.length;aP++){aO[aR]=aP;aN(aQ[aP],aO);}aO.pop();}};return{start:function(){aN(top,[0]);}};};e=new e();var aI=function(aP){var aO=function(aQ,aR){aR=aR||" * ";aP.getMessageTime=new Date().getTime();delete aN.updateMessage;delete aN.sendMessage;aQ.postMessage(JSON.stringify(aN),aR);};var aN={srcId:av.asid,srcKey:av.asid.split(" - ")[2],srcStart:f,getMessageTime:undefined,replyTo:document.location,sendMessage:aO,updateMessage:function(aQ){aP=aQ(aP);},messageContent:aP||{}};return aN;};var aJ=function(){var aO=[];var aP=function(){M(window,"
  370.             message ",function(aW){var aS,aV,aT,aR,aU=aF.me();try{aS=JSON.parse(aW.data);aV=aS.messageContent;if(av.asid.split(" - ")[2]!==aS.srcKey||!aS.hasOwnProperty("
  371.             messageContent ")){return;}if(aV.unifiedId<aU.unifiedId){aU.unifiedId=aV.unifiedId;}}catch(aX){return;}aO.push(aS);try{if(aV.expectedPageId!==aF.me().pageId){ah.add(ah.codes.ADTALK_DUBIOUS);}else{aR=aF.lookup[aV.self.pageId];if(aR===undefined||aR.selfDescription===undefined){aR=aR||new aL(aW.source,aV.self.pageId.split(" - "));aQ(aR);}aR.addDescription(aV.self);}}catch(aX){ah.add(ah.codes.ADTALK_DUBIOUS);}});};var aQ=function(aR){var aT=aF.me();var aS=new aI({self:aT,expectedPageId:aR.pageId,unifiedId:aT.unifiedId});aS.sendMessage(aR.domObj());};var aN=function(){var aS,aR;for(aS=0;aS<aF.list.length;aS++){aR=aF.list[aS];if(!aR.isMe){aQ(aR);}}};return{sendMessages:aN,listen:aP};};aJ=new aJ();var aK=function(){var aN=new aG();};return{sendMessages:aJ.sendMessages,listen:aJ.listen,findFrames:e.start,createAdProxy:function(aO){var aN=new aG(aO);return aN;},getFrameStore:function(){return aF;}};}();var b=function(aE){switch(av.mode){case"
  372.             jsli ":var e=V(aE);e+=X(e.length,false);U(e);break;case"
  373.             jspix ":x(aE);break;case"
  374.             jload ":ab(aE);break;default:u(aE);break;}};var p=function(){var aE;if(!ar()){if(av.useAdTalk==="
  375.             true "&&Q){try{I.createAdProxy(av);I.findFrames();I.listen();I.sendMessages();l.addItem(I.getFrameStore(),"
  376.             fm ");}catch(aF){ah.add(ah.codes.ADTALK_GENERAL);}}at();c.init();ap=ag();b(ap);if(av.adTalkDtCall==="
  377.             true "&&Q){aE=new Date().getTime();setTimeout(function(){setTimeout(function(){var e={output:new Date().getTime()-aE};l.addItem(e,"
  378.             sinceFw ",{type:a.ADTALK});if(typeof aw!=="
  379.             undefined "){l.addItem({output:aw},"
  380.             readyFired ",{type:a.ADTALK});}if(q){ak.inDoc(I.getFrameStore().output(),2000);}T(null,a.ADTALK);},0);},0);}}};p();av.NS={Output:l};})(adsafeVisParams,new Date().getTime());
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement