Advertisement
LevGolovlev

Untitled

May 29th, 2020
1,082
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.    (function() {
  2.         /*Calculation of the parameters window*/
  3.         function afParametersWindow() {
  4.             var param = {};
  5.             var d = parent.document, db = d.body, de = d.documentElement, dc = d.compatMode == "CSS1Compat";
  6.             param.cw = dc && de.clientWidth || self.innerWidth || db.clientWidth;
  7.             param.ch = dc && de.clientHeight || self.innerHeight || db.clientHeight;
  8.             param.sl = self.pageXOffset || dc && de.scrollLeft || db.scrollLeft;
  9.             param.st = self.pageYOffset || dc && de.scrollTop || db.scrollTop;
  10.             param.sh = dc && de.scrollHeight || db.scrollHeight || db.offsetHeight;
  11.             param.sw = dc && de.scrollWidth || db.scrollWidth || db.offsetWidth;
  12.             param.sh = param.sh < param.ch ? param.ch : param.sh;
  13.             return param;
  14.         }
  15.         /*Calculation position (left and top) and size (width and height) object*/
  16.         function afParametersObject(obj) {
  17.             var param = {};
  18.             param.w = obj.offsetWidth;
  19.             param.h = obj.offsetHeight;
  20.             param.l = 0;
  21.             param.t = 0;
  22.             while (obj) {
  23.                 param.l += obj.offsetLeft;
  24.                 param.t += obj.offsetTop;
  25.                 obj = obj.offsetParent;
  26.             }
  27.             return param;
  28.         }
  29.         /*Calculation parametrs (width and height) of the visible area banner*/
  30.         function afCalculationParam(posObj, sizeObj, sizeWin, scroll) {
  31.             var param = 0;
  32.             if (posObj >= scroll) {
  33.                 if (posObj >= (scroll + sizeWin) ) {
  34.                     return param;
  35.                 } else if (posObj < (scroll + sizeWin) ) {
  36.                     if ( (posObj + sizeObj) <= (scroll + sizeWin) ) {
  37.                         return param = sizeObj;
  38.                     } else if ( (posObj + sizeObj) > (scroll+sizeWin) ) {
  39.                         return param = scroll + sizeWin - posObj;
  40.                     }
  41.                 }
  42.             } else if (posObj < scroll) {
  43.                 if ( (posObj + sizeObj) > scroll) {
  44.                     if ( (posObj + sizeObj) > (scroll + sizeWin) ) {
  45.                         return param = sizeWin;
  46.                     } else if ( (posObj + sizeObj) <= (scroll + sizeWin) ) {
  47.                         return param = posObj + sizeObj - scroll;
  48.                     }
  49.                 } else if ( (posObj +  sizeObj) <= scroll) {
  50.                     return param;
  51.                 }
  52.             }
  53.         }
  54.         /*Calculation of the visible area banner*/
  55.         function afCalculationAreaBanner(obj) {
  56.             var w = 0, //Width of the visible area banner
  57.                 h = 0, //Height of the visible area banner
  58.                 paramWindow = afParametersWindow(),
  59.                 cw = paramWindow.cw,
  60.                 ch = paramWindow.ch,
  61.                 sl = paramWindow.sl,
  62.                 st = paramWindow.st,
  63.                 paramObj = afParametersObject(obj),
  64.                 ow = paramObj.w,
  65.                 oh = paramObj.h,
  66.                 ol = paramObj.l,
  67.                 ot = paramObj.t,
  68.                 s = {}; //Area banner
  69.             s.smax = ow*oh; //Maximum area banner
  70.             s.svis = 0; //Visible area banner
  71.             s.spct = 0; //Area banner as a percentage
  72.             w = afCalculationParam(ol, ow, cw, sl); //Calculation width (w) of the visible area banner
  73.             h = afCalculationParam(ot, oh, ch, st); //Calculation height (h) of the visible area banner
  74.             s.svis = w*h;
  75.             s.spct = (s.svis * 100) / s.smax;
  76.             return s;
  77.         }
  78.  
  79.         var afFlagFocus = true;
  80.         parent.onfocus = new Function("afFlagFocus = true;");
  81.         parent.document.onactivate = parent.onfocus; //for IE
  82.         parent.document.body.onmouseover = new Function("afFlagFocus = true;");
  83.         parent.onblur = new Function("afFlagFocus = false;");
  84.         var afEvent%bannerID% = new Image();
  85.         function afCountSeconds%bannerID%() {
  86.             var obj = parent.document.getElementById('AdFox_banner_%random1%');
  87.             if (obj) {
  88.                 var s = afCalculationAreaBanner(obj);
  89.                 var spct = Math.ceil(s.spct);
  90.                 if (afFlagFocus) {
  91.                     if (spct >= 1) {
  92.                         afEvent%bannerID%.src = '%event1%'; //1 event
  93.                             if (spct == 100) {
  94.                                 afEvent%bannerID%.src = '%event2%'; //2 event
  95.                             }
  96.                     }
  97.                 }
  98.                 setTimeout(function() {afCountSeconds%bannerID%();}, 1000);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement