www.gusucode.com > YulinCMS 雨林内容管理系统 2.0源码程序 > IAD/AdTemplate/Template_Pop.js

    function ObjectAD() {
  /* Define Variables*/
  this.ADID        = 0;
  this.ADType      = 0;
  this.ADName      = "";
  this.ImgUrl      = "";
  this.ImgWidth    = 0;
  this.ImgHeight   = 0;
  this.FlashWmode  = 0;
  this.LinkUrl     = "";
  this.LinkTarget  = 0;
  this.LinkAlt     = "";
  this.Priority    = 0;
  this.CountView   = 0;
  this.CountClick  = 0;
  this.InstallDir  = "";
  this.ADDIR       = "";
  this.OverdueDate = "";
}

function PopZoneAD(_id) {
  /* Define Common Variables*/
  this.ID          = _id;
  this.ZoneID      = 0;
  this.ZoneName    = "";
  this.ZoneWidth   = 0;
  this.ZoneHeight  = 0;
  this.ShowType    = 1;
  this.DivName     = "";
  this.Div         = null;

  /* Define Unique Variables*/
  this.LocalityType= 1;
  this.PopType     = 0;
  this.Left        = 0;
  this.Top         = 0;
  this.CookieHour  = 0;

  /* Define Objects */
  this.AllAD       = new Array();
  this.ShowAD      = null;

  /* Define Functions */
  this.AddAD       = PopZoneAD_AddAD;
  this.GetShowAD   = PopZoneAD_GetShowAD;
  this.CookieCheck = PopZoneAD_CookieCheck;
  this.Show        = PopZoneAD_Show;
  this.Struct      = PopZoneAD_Struct;
  this.Window      = PopZoneAD_Window;
  this.GetRight    = PopZoneAD_GetRight;
  this.GetTail     = PopZoneAD_GetTail;
}

function PopZoneAD_AddAD(_AD) {
  var date = new Date();
  var getdate = date.getFullYear() + "/" + (date.getMonth() + 1) + "/" + date.getDate();
  var today = new Date(getdate);
  var overdueDate = new Date(_AD.OverdueDate);
  if(today <= overdueDate) {
    this.AllAD[this.AllAD.length] = _AD;
  }
}

function PopZoneAD_GetShowAD() {
  if (this.ShowType > 1) {
    this.ShowAD = this.AllAD[0];
    return;
  }
  var num = this.AllAD.length;
  var sum = 0;
  for (var i = 0; i < num; i++) {
    sum = sum + this.AllAD[i].Priority;
  }
  if (sum <= 0) {return ;}
  var rndNum = Math.random() * sum;
  i = 0;
  j = 0;
  while (true) {
    j = j + this.AllAD[i].Priority;
    if (j >= rndNum) {break;}
    i++;
  }
  this.ShowAD = this.AllAD[i];
}

function PopZoneAD_Show() {
  if (!this.AllAD) {
    return;
  } else {
    this.GetShowAD();
  }

  if (this.ShowAD == null) return false;
  if (this.CookieCheck()) return false;
  this.DivName = "PopZoneAD_Div" + this.ZoneID;
  if (this.ShowAD.ADDIR=="") this.ShowAD.ADDIR = "AD"
  if (this.LocalityType==2) {
    this.Top = this.GetTail();
  } else if (this.LocalityType==3) {
    this.Left = this.GetRight();
  } else if (this.LocalityType==4) {
    this.Left = this.GetRight();
    this.Top = this.GetTail();
  }
  if (this.PopType == 3) {
    window.open("" + this.ShowAD.InstallDir + this.ShowAD.ADDIR + "/ADShow.aspx?ADID=" + this.ShowAD.ADID + "","","scroll:0;status:0;help:0;toolbar=0;resizable:0;dialogTop:" + this.Top + "px;dialogLeft:" + this.Left + "px;dialogWidth:" + this.ZoneWidth + "px;dialogHeight:" + this.ZoneHeight + "px");
  } else {
    var OK = this.Struct();
    if (OK) OK.document.write(this.Window());
  }
  if (this.ShowAD.CountView) {
    document.write ("<script src='" + this.ShowAD.InstallDir + this.ShowAD.ADDIR + "/ADCount.aspx?Action=View&ADID=" + this.ShowAD.ADID + "'></script>")
  }
}

function PopZoneAD_GetRight(){
    return screen.width - this.Left - this.ZoneWidth;
}

function PopZoneAD_GetTail(){
    return screen.Height - this.Top - this.ZoneHeight;
}

function PopZoneAD_Struct() {
  var winwidth = (this.PopType==4) ? (screen.width - 9): (parseInt((this.ShowAD.ImgWidth) ? this.ShowAD.ImgWidth : 350) - 4);
  var winheight = (this.PopType==4) ? (screen.height - 56): (parseInt((this.ShowAD.ImgHeight) ? this.ShowAD.ImgHeight : 250) - 4);
  var winleft = (this.PopType==4) ? 0: ((this.Left) ? this.Left : 0);
  var wintop = (this.PopType==4) ? 0: ((this.Top) ? this.Top : 0);
  return window.open("about:blank", "","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,width=" + winwidth + ",height=" + winheight + ",top=" + wintop + ",left=" + winleft);
}

function PopZoneAD_Window() {
  var strWin;
  strWin = "<html><head><meta http-equiv='content-type' content='text/html; charset=gb2312'><title>";
  strWin += (this.PopType==4) ? "背投广告" : "POPAD";
  strWin += "</title>";
  if (this.PopType==2||this.PopType==4) {
    strWin += "\n<Script language='Javascript'>\n";
    strWin += "blur();\n";
    strWin += "<\/Script>";
  }
  strWin += "</head><body scroll=no style='margin:0;border:none'>";
  strWin += AD_Content(this.ShowAD);
  strWin += "</body></html>";
  return strWin;
}

function PopZoneAD_CookieCheck() {
  if (!this.CookieHour) return false;
  var Now = new Date();
  var strToday = String(Now.getYear()) + String(Now.getMonth() + 1) + String(Now.getDate());
  var ADCookie = "AD_Cookie_" + this.ZoneID
  if (GetCookie(ADCookie) == strToday)
    return true;
  else {
    Now.setTime(Now.getTime() + (parseFloat(typeof(this.CookieHour) == "undefined" ? 24 : parseFloat(this.CookieHour)) * 60 * 60 * 1000));
    AD_SetCookie(ADCookie, strToday, Now);
    return false;
  }
}

function GetCookie(name) {
  var arg = name + "=";
  var alen = arg.length;
  var clen = document.cookie.length;
  var i = 0;
  while (i < clen) {
    var j = i + alen;
    if (document.cookie.substring(i, j) == arg)
      return GetCookieVal (j);
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0) break; 
  }
  return null;
}

function GetCookieVal(offset) {
  var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1)
    endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset, endstr));
}

function AD_SetCookie(name, value)
{
    var argv = AD_SetCookie.arguments;
    var argc = AD_SetCookie.arguments.length;
    var expires = (argc > 2) ? argv[2]: null;
    var path = (argc > 3) ? argv[3]: null;
    var domain = (argc > 4) ? argv[4]: null;
    var secure = (argc > 5) ? argv[5]: false;
    document.cookie = name + "=" + escape(value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : "");
}

function AD_Content(o) {
  var str = "";
  if (o.ADType == 1 || o.ADType == 2) {
  imgurl = o.ImgUrl .toLowerCase()
    if (o.InstallDir.indexOf("http://") != - 1) imgurl = o.InstallDir.substr(0, o.InstallDir.length - 1) + imgurl;
    if (imgurl.indexOf(".swf") !=  - 1) {
      str = "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0'";
      str += " name='AD_" + o.ADID + "' id='AD_" + o.ADID + "'";
      str += " width='" + o.ImgWidth + "px'";
      str += " height='" + o.ImgHeight + "px'";
      if (o.style) str += " style='" + o.style + "'";
      if (o.extfunc) str += " " + o.extfunc + " ";
      str += ">";
      str += "<param name='movie' value='" + imgurl + "'>";
      if (o.FlashWmode == 1) str += "<param name='wmode' value='Transparent'>";
      if (o.play) str += "<param name='play' value='" + o.play + "'>";
      if (typeof(o.loop) != "undefined") str += "<param name='loop' value='" + o.loop + "'>";
      str += "<param name='quality' value='autohigh'>";
      str += "<embed ";
      str += " name='AD_" + o.ADID + "' id='AD_" + o.ADID + "'";
      str += " width='" + o.ImgWidth + "px'";
      str += " height='" + o.ImgHeight + "px'";
      if (o.style) str += " style='" + o.style + "'";
      if (o.extfunc) str += " " + o.extfunc + " ";
      str += " src='" + imgurl + "'";
      if (o.FlashWmode == 1) str += " wmode='Transparent'";
      if (o.play) str += " play='" + o.play + "'";
      if (typeof(o.loop) != "undefined") str += " loop='" + o.loop + "'";
      str += " quality='autohigh'"
      str += " pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' type='application/x-shockwave-flash'></embed>";
      str += "</object>";
    } else if (imgurl.indexOf(".gif") !=  - 1 || imgurl.indexOf(".jpg") !=  - 1 || imgurl.indexOf(".jpeg") !=  - 1 || imgurl.indexOf(".bmp") !=  - 1 || imgurl.indexOf(".png") !=  - 1) {
      if (o.LinkUrl) {
        if (o.CountClick) o.LinkUrl = o.InstallDir + o.ADDIR + "/ADCount.aspx?Action=Click&ADID=" + o.ADID
        str += "<a href='" + o.LinkUrl + "' target='" + ((o.LinkTarget == 0) ? "_self" : "_blank") + "' title='" + o.LinkAlt + "'>";
      }
      str += "<img ";
      str += " name='AD_" + o.ADID + "' id='AD_" + o.ADID + "'";
      if (o.style) str += " style='" + o.style + "'";
      if (o.extfunc) str += " " + o.extfunc + " ";
      str += " src='" + imgurl + "'";
      if (o.ImgWidth) str += " width='" + o.ImgWidth + "px'";
      if (o.ImgHeight) str += " height='" + o.ImgHeight + "px'";
      str += " border='0'>";
      if (o.LinkUrl) str += "</a>";
    }
  } else if (o.ADType == 3 || o.ADType == 4) {
    str = o.ADIntro
  } else if (o.ADType == 5) {
    str = "<iframe id='" + "AD_" + o.ADID + "' marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no width=100% height=100% src='" + o.ADIntro + "'>wait</iframe>";
  }
  return str;
}