/*! Copyright (C) InstantService, Inc. All rights reserved.
* All content is protected under U.S. copyright laws. Any unauthorized duplication, modification, 
* or reverse-engineering of this code without express written permission of InstantService, Inc.  
* is a violation of copyright law and is subject to penalty and prosecution. */
/*! Generated: Jan 5, 2010 6:18:04 AM */

//  Animated DIV
function ii_AnimObj() {
  this.moveTimer=null;
  this.hideTimer=null;
  this.prx=0;
  this.pry=0;
  this.flx=10;
  this.fly=10;
  this.flw=0;
  this.flh=0;
  this.flpos=0;
  this.flopac=0;
  this.flfade=0;
}
function ii_getIEel()
{
  if (document.compatMode&&document.compatMode=='BackCompat') return(document.body);
  else return((document.documentElement && typeof document.documentElement.scrollTop!='undefined')?document.documentElement:document.body);
}
function ii_reset()
{
  var el=ii_getIEel();
  ii_Anim.prx=((ii_Var.MZ)?window.pageXOffset:el.scrollLeft)+ii_Anim.flx;
  ii_Anim.pry=((ii_Var.MZ)?window.pageYOffset:el.scrollTop)+ii_Anim.fly;
}
function ii_mark()
{
  var iivar = ii_Var;
  var iianim = ii_Anim;
  if (!iivar.MZ&&!iivar.IE) return;
  var el=ii_getIEel();
  var iw=(iivar.MZ)?window.innerWidth:el.offsetWidth;
  var ih=(iivar.MZ)?window.innerHeight:el.offsetHeight;
  if ((iianim.flpos%3)==0)iianim.flx=iw-iianim.flw-30;
  if ((iianim.flpos%3)==1)iianim.flx=10;
  if ((iianim.flpos%3)==2)iianim.flx=Math.round(((iw-20)/2)-(iianim.flw/2));
  if (iianim.flpos<4)iianim.fly=10;
  else if (iianim.flpos<7)iianim.fly=Math.round(((ih-20)/2)-(iianim.flh/2));
  else if (iianim.flpos<10)iianim.fly=ih-40-iianim.flh;
}
function ii_move()
{
  var iivar = ii_Var;
  var iianim = ii_Anim;
  var el=ii_getIEel();
  var sl=((iivar.MZ)?window.pageXOffset:el.scrollLeft)+iianim.flx;
  var st=((iivar.MZ)?window.pageYOffset:el.scrollTop)+iianim.fly;

  var dx=Math.abs(sl-iianim.prx);
  var dy=Math.abs(st-iianim.pry);
  var d=Math.sqrt(dx*dx+dy*dy);
  var c=Math.round(d/20)+2;
  if (sl>iianim.prx) iianim.prx=iianim.prx+c;
  if (sl<iianim.prx) iianim.prx=iianim.prx-c;
  if (st>iianim.pry) iianim.pry=iianim.pry+c;
  if (st<iianim.pry) iianim.pry=iianim.pry-c;

  var fl = document.getElementById('invitelayer');
  (iivar.MZ)?fl.style.left=iianim.prx+"px":fl.style.posLeft=iianim.prx;
  (iivar.MZ)?fl.style.top=iianim.pry+"px":fl.style.posTop=iianim.pry;

  if (!ii_Anim.islteIE6)
  {
    (iivar.MZ)?fl.style.MozOpacity = iianim.flopac/100:fl.style.filter="alpha(opacity="+iianim.flopac+")";
    iianim.flopac+=iianim.flfade;
    if (iianim.flopac<0) iianim.flopac = 0;
    if (iianim.flopac>100) iianim.flopac = 100;
  }  
}

//  Network
function ii_getDomain()
{
  var dm = document.domain;
  if (ii_matchRegExp(dm,"^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$")) return(dm);
  var arr = dm.split('.');
  if (arr.length==3) dm = arr[1]+'.'+arr[2];
  else if (arr.length>3) dm = arr[arr.length-3]+'.'+arr[arr.length-2]+'.'+arr[arr.length-1];
  return(dm);
}
function ii_callServer(id,scr)
{
  var win = (ii_callServer.arguments.length==3)?ii_callServer.arguments[2]:window;
  var head = win.document.getElementsByTagName('head').item(0);
  var old  = win.document.getElementById(id);
  if (old) head.removeChild(old);
  var script = document.createElement('script');
  script.src = scr;
  script.type = 'text/javascript';
  script.defer = true;
  script.id = id;
  void(head.appendChild(script));
}
function ii_getProtocol()
{
  return((document.location.href.toLowerCase().indexOf("https")==0)?"https":"http");
}

//  Cookie
function ii_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)
    {
      var endstr = document.cookie.indexOf (";", j);
      if (endstr == -1) endstr = document.cookie.length;
      return unescape(document.cookie.substring(j, endstr));
    }
    i = document.cookie.indexOf(" ",i) + 1;
    if (i==0) break;
  }
  return(null);
}
function ii_setCookie(name, value)
{
  var argv = ii_setCookie.arguments;
  var argc = ii_setCookie.arguments.length;
  var expires = (argc > 2) ? argv[2] : null;
  document.cookie = name + "=" + escape(value)+
   ((expires == null) ? "" : ("; expires="+expires.toGMTString()))+
   "; path=/"+((ii_Var.domain==null||ii_Var.domain=="") ? "" : ("; domain="+ii_Var.domain));
}
function ii_upGSV(name,value)
{
  var up = false;
  var sv = '';
  var arrSV = ii_getCookie(ii_Var.GSV_COOKIE);
  arrSV=(arrSV==null)?[]:arrSV.split('_');
  if (typeof(value) == 'string')
  {
    value = value.replace(/\-/g,"%2D");
    value = value.replace(/\_/g,"%5F");
  }
  for (var i=0;i<arrSV.length;i++)
  {
    if ((arrSV[i].split('-'))[0]==name)
    {
      arrSV[i]=name+'-'+value; 
      up=true; 
      break;
    }
  }
  if (!up) arrSV[arrSV.length] = name+'-'+value;
  for (i=0;i<arrSV.length;i++)
  {
    sv += arrSV[i];
    if (i < arrSV.length - 1) 
      sv += '_';
  }
  ii_setCookie(ii_Var.GSV_COOKIE, sv, null);
}
function ii_getGSV(name)
{
  var arrSV = ii_getCookie(ii_Var.GSV_COOKIE);
  arrSV=(arrSV==null)?[]:arrSV.split('_');
  for (var i=0;i<arrSV.length;i++)
  {
    if ((arrSV[i].split('-'))[0]==name)
    {
      var s = (arrSV[i].split('-'))[1];
      s = s.replace(/\%2D/g,"-");
      s = s.replace(/\%5F/g,"_");
      return(s);
    }
  }
  return('');
}
function ii_upHLArr(arr,id,idx)
{
  var up = false;
  for (var i=0;i<arr.length;i++)
  {
    if (arr[i][0]==id)
    {
      if (idx==1||idx==2||idx==3)
      {
        if (arr[i][idx] == '') arr[i][idx] = 1;
        else arr[i][idx] = parseInt(arr[i][idx],10)+1;
      }
      if (idx==4) arr[i][idx] = parseInt(new Date().getTime()/1000);
      up = true;
      break;
    }
  }
  if (!up)
  {
    arr[arr.length] = [id,'','','',''];
    if (idx==1||idx==2||idx==3) arr[arr.length-1][idx] = 1;
    if (idx==4) arr[arr.length-1][idx] = parseInt(new Date().getTime()/1000);
  }
}
function ii_getHLArr(arr,id,idx)
{
  var val = null;
  for (var i=0;i<arr.length;i++)
  {
    if (arr[i][0]==id) 
    {
      val = parseInt(arr[i][idx],10);
      if (isNaN(val)) val = null;
      break;
    }
  }
  return(val);
}
function ii_wrapHL()
{
  var iivar = ii_Var;
  var hist = iivar.publ+'-'+iivar.pgvis+'-'+iivar.randid+'_';
  for (var i=0;i<iivar.phl.length;i++)
  {
    hist += iivar.phl[i][0]+'-'+iivar.phl[i][1]+'-'+iivar.phl[i][2];
    if (i < iivar.phl.length-1) hist += '+';
  }
  hist += '_';
  for (var i=0;i<iivar.ihl.length;i++)
  {
    hist += iivar.ihl[i][0]+'-'+iivar.ihl[i][1]+'-'+iivar.ihl[i][2]+'-'+iivar.ihl[i][3]+'-'+iivar.ihl[i][4];
    if (i < iivar.ihl.length-1) hist += '+';
  }
  hist += '_';
  for (var i=0;i<iivar.cpml.length;i++)
  {
    hist += iivar.cpml[i];
    if (i < iivar.cpml.length-1) hist += '-';
  }
  hist += '_';
  for (var i=0;i<iivar.ppml.length;i++)
  {
    hist += iivar.ppml[i];
    if (i < iivar.ppml.length-1) hist += '-';
  }
  ii_setCookie(iivar.HIST_COOKIE,hist,iivar.HIST_COOKIE_EXP);
}
function ii_unwrapHL()
{
  var iivar = ii_Var;
  var arrH = ii_getCookie(iivar.HIST_COOKIE);
  arrH=(arrH!=null)?arrH.split('_'):[];
  if (arrH.length==0) return;

  var comp = arrH[0].split('-');
  iivar.publ = comp[0]
  iivar.pgvis = comp[1];
  iivar.randid = parseInt(comp[2],10);

  iivar.phl = [];
  if (arrH[1].length > 0)
  {
    comp = arrH[1].split('+');
    for (var i=0;i<comp.length;i++)
    {
      var arrPHL = comp[i].split('-');
      iivar.phl[iivar.phl.length] = [arrPHL[0],arrPHL[1],arrPHL[2]];
    }
  }
  iivar.ihl = [];
  if (arrH[2].length > 0)
  {
    comp = arrH[2].split('+');
    for (var i=0;i<comp.length;i++)
    {
      var arrIHL = comp[i].split('-');
      iivar.ihl[iivar.ihl.length] = [arrIHL[0],arrIHL[1],arrIHL[2],arrIHL[3],arrIHL[4]];
    }
  }
  iivar.cpml = [];
  if (arrH[3].length > 0)
  {
    comp = arrH[3].split('-');
    for (var i=0;i<comp.length;i++)
    {
      iivar.cpml[iivar.cpml.length] = comp[i];
    }
  }
  iivar.ppml = [];
  if (arrH[4].length > 0)
  {
    comp = arrH[4].split('-');
    for (var i=0;i<comp.length;i++)
    {
      iivar.ppml[iivar.ppml.length] = comp[i];
    }
  }
}
function ii_resetHistCookie()
{
  ii_setCookie(ii_Var.HIST_COOKIE, '0-0-0____', ii_Var.HIST_COOKIE_EXP);
}
function ii_resetGSVCookie()
{
  ii_upGSV('DPL',0);
  ii_upGSV('TES',parseInt(new Date().getTime()/1000));
  ii_upGSV('PCT',parseInt(new Date().getTime()/1000));
  ii_upGSV('GeoIP','*');
  ii_upGSV('GeoCo','');
  ii_upGSV('GeoRg','');
  ii_upGSV('GeoCt','');
  ii_upGSV('GeoNs','');
  ii_upGSV('GeoDm','');
}

//  GeoLocation
function ii_initGeoIP()
{
  var iivar = ii_Var;
  if (ii_getGSV("GeoIP")!="*" && iivar.gsvr.length > 0)
     iivar.geoinit = 1;

  if (window.isgeoipapi_ip_addr!=undefined && iivar.geoinit==0)
  {
    iivar.geoinit = 1;
    ii_upGSV('GeoIP',window.isgeoipapi_ip_addr);
    ii_upGSV('GeoCo',(window.isgeoipapi_country_code!=undefined)?window.isgeoipapi_country_code:'');
    ii_upGSV('GeoRg',(window.isgeoipapi_region!=undefined)?window.isgeoipapi_region:'');
    ii_upGSV('GeoCt',(window.isgeoipapi_city!=undefined)?window.isgeoipapi_city:'');
    ii_upGSV('GeoNs',(window.isgeoipapi_netspeed!=undefined)?window.isgeoipapi_netspeed:'');
    ii_upGSV('GeoDm',(window.isgeoipapi_domain!=undefined)?window.isgeoipapi_domain:'');
  }
  
  if (iivar.geoip==null && iivar.geoinit==1)
  {
    // load gsv cookie settings into local variables for performance
    iivar.geoip = ii_getGSV("GeoIP");
    iivar.geoco = ii_getGSV("GeoCo");
    iivar.georg = ii_getGSV("GeoRg");
    iivar.geoct = ii_getGSV("GeoCt");
    iivar.geons = ii_getGSV("GeoNs");
    iivar.geodm = ii_getGSV("GeoDm");
  }
}
function ii_getIPRange(iprange)
{
  var arr = null;
  var m = ii_matchRegExp(iprange,"^([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3})(\\/([0-1]?[0-9]?|[1-2][0-9]|3[0-2]))?$"); 
  if (m != null)
  {
    var m2 = ii_matchRegExp(m[1],"^(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)$");
    if (m2[1] != null && m2[1] <= 255 && m2[2] <= 255 &&  m2[3] <= 255 && m2[4] <= 255)
      arr = [ m[1], (m[2] == undefined || m[2] == '') ? '32' : m[3] ];
  }
  return(arr);
}
function ii_ipCheck(ip,ruleip,ruleipmask)
{
  var ipa = ip.split("."); 
  var x = (ipa[0] * 16777216) + (ipa[1] * 65536) + (ipa[2] * 256) + (ipa[3] * 1);
  var ruleipa = ruleip.split("."); 
  var y = (ruleipa[0] * 16777216) + (ruleipa[1] * 65536) + (ruleipa[2] * 256) + (ruleipa[3] * 1);
  var mask = ((4294967295 << (32 - ruleipmask)) & 4294967295);
  return ((x & mask) == (y & mask));
}

//  Availability Check
function ii_doAvailCheck(checkopt,state,deptid,isabandon)
{
  var iivar = ii_Var;
  var img = (isabandon ? iivar.abavailImg : iivar.availImg);
  if (checkopt==1)
  {
    iivar.checkDeptID = deptid;
    if (deptid == -2) 
      deptid = 'Default';
  }    
  else
  {
    // deptid stored in page js var
    if (typeof(window[deptid]) != "undefined")
    {
      iivar.checkDeptID = window[deptid];
      deptid = window[deptid];
      if (deptid == "-2") 
        deptid = 'Default';      
    }
    else
    {
      ii_noshow();    
      return;
    }
  } 

  iivar.checkState = state;
  for (var i=0;i<iivar.deptavail.length;i++)
  {
    if (iivar.deptavail[i][0]==iivar.checkDeptID)
    {
      if (iivar.deptavail[i][1] == iivar.checkState)      
        setTimeout("availOnLoad(null)",500);
      else
        setTimeout("availOnError(null)",500);
      return;
    }
  }
  var timestamp = parseInt(new Date().getTime()/1000);
  var imgsrc = (iivar.checkState==2?'un':'')+"available.gif";
  img.src = ii_getProtocol() + '://'+iivar.rsvr+'/resources/smartbutton/' + iivar.accountid + '/' + deptid + '/' + imgsrc + '?src=ii3&ts=' + timestamp;
}
function availOnLoad(evt)
{
  var iivar = ii_Var;
  var found = false;
  for (var i=0;i<iivar.deptavail.length;i++)
  {
    if (iivar.deptavail[i][0]==iivar.checkDeptID)
    {
      iivar.deptavail[i][1] = iivar.checkState;
      found = true;
      break;
    }
  }
  if (!found) 
    iivar.deptavail[iivar.deptavail.length] = [iivar.checkDeptID,iivar.checkState];

  iivar.checkDeptID = 0;
  iivar.checkState = 0;

  if (evt == null || this == iivar.availImg)
    ii_show();
}
function availOnError(evt)
{
  var iivar = ii_Var;
  var found = false;
  for (var i=0;i<iivar.deptavail.length;i++)
  {
    if (iivar.deptavail[i][0]==iivar.checkDeptID)
    {
      iivar.deptavail[i][1] = (iivar.checkState==2?1:2);
      found = true;
      break;
    }
  }
  if (!found) 
    iivar.deptavail[iivar.deptavail.length] = [iivar.checkDeptID,(iivar.checkState==2?1:2)];

  iivar.checkDeptID = 0;
  iivar.checkState = 0;

  if (evt == null || this == iivar.availImg)
    ii_noshow();
}

//  Invitation Display
function ii_noshow()
{
  var iivar = ii_Var;
  if (iivar.trigru > 0)
  {
    var rule = ii_getRuleOrInv(ii_Rules,iivar.trigru);
    
    if (rule[9]==1) 
      ii_executeRuleTriggeredEvent(rule[10],rule[11],rule[12],rule[0],rule[4]);

    if (rule[3]>=2)
    {
      if (window.ISVT_onInviteNotOffered && rule[2]!=0) 
        ISVT_onInviteNotOffered(iivar.trigru,rule[2]);
      ii_stop();
    }
    else
    {
      ii_continue(iivar.evalidx,100);
    }
  }
}
function ii_show()
{
  var iivar = ii_Var;
  if (iivar.trigru > 0)
  {
    var rule = ii_getRuleOrInv(ii_Rules,iivar.trigru);
    var inv = ii_getRuleOrInv(ii_Inv,rule[2]);
    if (rule[9]==1) 
      ii_executeRuleTriggeredEvent(rule[10],rule[11],rule[12],rule[0],rule[4]);    
          
    if (inv != null)
    {
      iivar.invtoshow = inv[0];

      if (inv[2] == 3)
      {
        // javascript alert
        ii_display();
      }
      else
      {
        // pre-load images
        var ii_img1=null;
        var ii_img2=null;
        var ii_img3=null;
        if (navigator.appName.indexOf("Microsoft") != -1 && navigator.platform.indexOf("Mac") != -1)
        { 
          ii_img1 = document.createElement('IMG');
          ii_img2 = document.createElement('IMG');
          ii_img3 = document.createElement('IMG'); 
        }
        else
        { 
          ii_img1 = new Image();
          ii_img2 = new Image();
          ii_img3 = new Image(); 
        }
        if (inv[15].length>0) ii_img2.src = inv[15];
        if (inv[23].length>0) ii_img3.src = inv[23];
        ii_img1.onload = function (evt) { this.onload=null; ii_display(); }
        ii_img1.src = inv[10];
      }
    }
    else 
    {
      if (rule[3]==1 || rule[1]==3)
        ii_continue(iivar.evalidx,100); 
      else 
        ii_stop();
    }
  }
}
function ii_display()
{
  var ii_HIDEDIV = 'ii_div_hide(\u0027[%0]\u0027,\u0027[%1]\u0027,[%2],[%3],[%4]);';
  var ii_HIDEPOP = 'self.close();';
  var ii_POPSCR1 = 'var ii_IE=!!(document.all&&document.getElementById);var ii_MZ=(!ii_IE)?!!(document.getElementById):false;var ii_gpop = true;function ii_callServer(id,scr) {  var win = (ii_callServer.arguments.length==3) ? ii_callServer.arguments[2] : window;var head = win.document.getElementsByTagName(\u0027head\u0027).item(0); var old = win.document.getElementById(id);  if (old) head.removeChild(old);  script = document.createElement(\u0027script\u0027);  script.src = scr;  script.type = \u0027text/javascript\u0027;  script.defer = true;  script.id = id;  void(head.appendChild(script));}\r\n';
  var ii_POPSCR2 = 'function ii_executeInvitationAcceptedEvent(param1,param2,param3){var js=ii_invTokenReplace(ii_custacc,ii_inv[0],ii_inv[1]);eval(js);}\r\n';
  var ii_POPSCR3 = 'function ii_executeInvitationDeclinedEvent(param1,param2,param3){var js=ii_invTokenReplace(ii_custdecl,ii_inv[0],ii_inv[1]);eval(js);}\r\n';
  var ii_POPSCR4 = 'function ii_invTokenReplace(js,arg3,arg4) { arg4 = arg4.replace(/\\u0027/g,\u0027\\\\\\\'\u0027);js=js.replace(/\\[\\%INVITATIONID\\%\\]/g,arg3);js=js.replace(/\\[\\%INVITATIONNAME\\%\\]/g,arg4);return(js);}\r\n';
  var ii_POPSCR5 = 'var ii_inv;var ii_custacc;var ii_custdecl;';
  var ii_EVENTA = 'ii_executeInvitationAcceptedEvent(\u0027[%0]\u0027,\u0027[%1]\u0027,\u0027[%2]\u0027,\u0027[%3]\u0027,\u0027[%4]\u0027);\r\n';
  var ii_EVENTD = 'ii_executeInvitationDeclinedEvent(\u0027[%0]\u0027,\u0027[%1]\u0027,\u0027[%2]\u0027,\u0027[%3]\u0027,\u0027[%4]\u0027);\r\n';
  var ii_TRACK = 'var op=window;if (window.ii_gpop) { if (window.opener&amp;&amp;!window.opener.closed)op=window.opener;else op=null; }';
  var ii_TRACKA = 'if (op!=null&amp;&amp;op.ISVT_onInviteAccepted) op.ISVT_onInviteAccepted(\u0027[%0]\u0027,\u0027[%1]\u0027);';
  var ii_TRACKD = 'if (op!=null&amp;&amp;op.ISVT_onInviteDeclined) op.ISVT_onInviteDeclined(\u0027[%0]\u0027,\u0027[%1]\u0027);';
  var ii_POPACC = 'if (op!=null) {op.ii_upHLArr(op.ii_Var.ihl,op.ii_Var.invtoshow,2); op.ii_wrapHL(); }';
  var ii_POPDECL = 'if (op!=null) {op.ii_upHLArr(op.ii_Var.ihl,op.ii_Var.invtoshow,3); op.ii_wrapHL(); }';  
  var ii_BKGRND = '\u003cimg src=\u0022[%0]\u0022 alt="" style=\u0022left:0px;top:0px;width:[%1]px;height:[%2]px;\u0022/\u003e';
  var ii_INPLYR = '\u003cdiv id=\u0022[%0]\u0022 style=\u0022position:absolute;left:[%1]px;top:[%2]px;\u0022\u003e';
  var ii_INPIMG = '\u003cimg src=\u0022[%0]\u0022 alt="" style=\u0022top:0px;left:0px;\u0022 onclick=\u0022[%1][%2][%3][%4]\u0022 onmouseover=\u0022this.style.cursor=\u0027pointer\u0027\u0022 onmouseout=\u0022this.style.cursor=\u0027\u0027\u0022/\u003e';
  var ii_INPFRM = '\u003cform name=\u0022[%0]\u0022 method=\u0022post\u0022 action=\u0022\u0022\u003e\u003cinput style=\u0022font:normal 11px Arial, Helvetica, sans-serif;text-align:center;background-color:#E4E4E4;color:#000000;\u0022 type=\u0022button\u0022 name=\u0022[%1]\u0022 value=\u0022[%2]\u0022 onclick=\u0022[%3][%4][%5][%6]\u0022/\u003e\u003c/form\u003e';
  var ii_POPCL = 'window.open(\u0027[%0]\u0027,\u0027chatclient\u0027,\u0027width=[%1],height=[%2],scrollbars=0\u0027);';
  var ii_ORIGCL = 'if (op!=null) op.document.location=\u0027[%0]\u0027;';
  
  var iivar = ii_Var;
  var out = '';
  var popcl = '';
  var inv = ii_getRuleOrInv(ii_Inv,iivar.invtoshow);
  var rule = ii_getRuleOrInv(ii_Rules,iivar.trigru);

  // update offered stats
  ii_upHLArr(iivar.ihl,inv[0],1);
  ii_upHLArr(iivar.ihl,inv[0],4);
  ii_wrapHL();

  ii_executeInvitationOfferedEvent(inv[25],inv[26],inv[27],inv[0],inv[1]);
  if (window.ISVT_onInviteOffered) 
    ISVT_onInviteOffered(iivar.trigru,iivar.invtoshow);

  iivar.evalru[ii_getRuleOrInvIdx(ii_Rules,iivar.trigru)][4] = ii_getRuleOrInvIdx(ii_Inv,iivar.invtoshow);
    
  if (inv[2] == 1 || inv[2] == 2)
  {
    out += "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n";
    out += "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\r\n";
    out += '<head>\r\n<title></title>\r\n';
    if (inv[2] == 2)
    {
      out += iivar.scrinc + '\r\n';
      out += '<script type=\"text/javascript\">\r\n//<![CDATA[\r\n';
      out += ii_POPSCR1 + ii_POPSCR2 + ii_POPSCR3 + ii_POPSCR4 + ii_POPSCR5;
      out += '\r\n//]]>\r\n</script>\r\n';
    }
    out += '</head>\r\n<body style="margin-left:0px;margin-top:0px;"><div id="iibody" style="position:relative;">\r\n';
    out += ii_rt(ii_BKGRND,inv,[ii_encodeHTML(inv[10],0),11,12],1);
    out += ii_rt(ii_INPLYR,inv,['iiacc',13,14],1);
  
    var event = ii_rt(ii_EVENTA,inv,[ii_encodeHTML(inv[28],1),ii_encodeHTML(inv[29],1),ii_encodeHTML(inv[30],1),0,ii_encodeHTML(inv[1],1)],1);
    var track = ii_TRACK + ii_rt(ii_TRACKA,inv,[0,''+rule[8]],1);
    var hide = '';
    if (inv[2] == 1) hide = ii_rt(ii_HIDEDIV,inv,[4,'aclk',7,(inv[9]==1?'-3':'0'),0],1);
    else hide = ii_POPACC + ii_HIDEPOP;
    var accurl = ii_encodeHTML(ii_parsejs(inv[17]),0);    
    if (inv[18]==1) popcl = ii_rt(ii_POPCL,inv,[accurl,19,20],1); 
    else if (inv[18]==2) popcl = ii_rt(ii_ORIGCL,inv,[accurl],1); 
    if (inv[15].length > 0) out += ii_rt(ii_INPIMG,inv,[15,event,track,popcl,hide],0);
    else if (inv[16].length > 0) out += ii_rt(ii_INPFRM,inv,['iiaccfrm','iiaccbtn',ii_encodeHTML(inv[16],0),event,track,popcl,hide],0);
  
    out += '</div>';
    out += ii_rt(ii_INPLYR,inv,['iidecl',21,22],1);
  
    event = ii_rt(ii_EVENTD,inv,[ii_encodeHTML(inv[31],1),ii_encodeHTML(inv[32],1),ii_encodeHTML(inv[33],1),0,ii_encodeHTML(inv[1],1)],1);
    track = ii_TRACK + ii_rt(ii_TRACKD,inv,[0,''+rule[8]],1);
    var hide = '';
    if (inv[2] == 1) hide = ii_rt(ii_HIDEDIV,inv,[4,'dclk',8,(inv[9]==1?'-3':'0'),0],1);
    else hide = ii_POPDECL + ii_HIDEPOP;
    if (inv[23].length > 0) out += ii_rt(ii_INPIMG,inv,[23,event,track,hide,''],0);
    else if (inv[24].length > 0) out += ii_rt(ii_INPFRM,inv,['iideclfrm','iideclbtn',ii_encodeHTML(inv[24],0),event,track,hide,''],0);

    out += '</div></div></body></html>';

    if (inv[2] == 1)
    {
      if (inv[4]=='invitelayer')
      {
        // animated div 
        var invlayer=document.getElementById(inv[4]);
        var divRef = document.getElementById('invitelayercontent');
        var ifrRef = document.getElementById('divshim');
        ii_Anim = new ii_AnimObj();
        ii_Anim.islteIE6 = (ifrRef == null ? false : true);
        ii_Anim.flx=10;
        ii_Anim.fly=10;
        ii_Anim.flw=inv[11];
        ii_Anim.flh=inv[12];
        ii_Anim.flpos=inv[5];
        ii_Anim.flopac=(inv[9]==1?0:100);
        ii_Anim.flfade=(inv[9]==1?3:0);
        invlayer.style.width=ii_Anim.flw;
        invlayer.style.height=ii_Anim.flh;
        divRef.style.display = 'block';
        divRef.innerHTML = out;
        divRef.childNodes[0].data = '';

        if (ii_Anim.islteIE6)
        {
          ifrRef.style.display = 'block';
          ifrRef.style.width = ii_Anim.flw+'px';
          ifrRef.style.height = ii_Anim.flh+'px';
          ifrRef.style.top = '0px';
          ifrRef.style.left = '0px';
          ifrRef.style.filter='progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';
          ifrRef.style.zIndex = divRef.style.zIndex-1;
        }
        else
        {
          invlayer.style.filter='alpha(opacity=0);-moz-opacity:0.0;';
        }
        
        ii_mark();
        window.onresize=ii_mark;
        ii_reset();
        ii_Anim.moveTimer=setInterval('ii_move();',25);
        setTimeout("document.getElementById('"+inv[4]+"').style.visibility='visible'", 40);
        ii_Anim.flpos=inv[6];
        ii_mark();
        
        ii_Anim.hideTimer=setTimeout("ii_div_hide('"+inv[4]+"','auto',"+inv[8]+","+(inv[9]==1?-3:0)+","+inv[0]+");",(inv[7]*1000));
      }
      else
      {
        // custom div 
        divRef = document.getElementById(inv[4]);
        if (divRef)
        {
          divRef.innerHTML = out;
          divRef.style.visibility = 'visible';
        }
      }
    }
    else if (inv[2]==2)
    {
      // popup
      var win=window.open('','InstantInvite','width='+inv[11]+',height='+inv[12]);
      if (win) { win.document.close(); win.document.write( out ); win.document.close(); win.ii_inv = inv; win.ii_custacc = iivar.CustomAcceptedJS; win.ii_custdecl = iivar.CustomDeclinedJS; win.focus(); }
    }
  }
  
  if (inv[2] == 3)
  {
    // javascript confirm
    if (confirm(inv[3]))
    {
      ii_executeInvitationAcceptedEvent(inv[28],inv[29],inv[30],inv[0],inv[1]);
      if (window.ISVT_onInviteAccepted) 
        ISVT_onInviteAccepted(iivar.invtoshow,rule[8]);
        
      ii_upHLArr(iivar.ihl,iivar.invtoshow,2); 
      ii_wrapHL();        
        
      var accurl = ii_parsejs(inv[17]);    
      if (inv[18]==1)
        window.open(accurl,'InstantInvite','width='+inv[19]+',height='+inv[20]+'');
      else if (inv[18]==2)
        document.location=accurl;
    }
    else
    {
      ii_executeInvitationDeclinedEvent(inv[31],inv[32],inv[33],inv[0],inv[1]);
      if (window.ISVT_onInviteDeclined) 
        ISVT_onInviteDeclined(iivar.invtoshow,rule[8]);
        
      ii_upHLArr(iivar.ihl,iivar.invtoshow,3); 
      ii_wrapHL();        
    }
  }
  
  if (rule[3]==1 || rule[3]==3)
    ii_continue(iivar.evalidx,100);
  else
    ii_stop();
}
function ii_rt(s,inv,va,enc)
{
  for (var i=0;i<va.length;i++)
  {
    if (typeof(va[i]) == 'number')
    {
      if (enc == 1) s = s.replace('[%'+i+']',(''+inv[va[i]]).replace(/\u0027/g,'\\\''));
      else s = s.replace('[%'+i+']',inv[va[i]]);
    }
    else 
    {
      if (enc == 1) s = s.replace('[%'+i+']',va[i].replace(/\u0027/g,'\\\''));
      else s = s.replace('[%'+i+']',va[i]);
    }
  }
  return(s);
}
function ii_parsejs(s)
{
  var regexp = /\[\%jsvar\:([a-zA-Z_\.]*)\%\]/;
  var match = regexp.exec(s);
  while (match != null)
  {
    result = eval("'"+window.ii_jsvar[match[1]]+"'");
    s = s.replace(/\[\%jsvar\:([a-zA-Z_\.]*)\%\]/, result);
    match = regexp.exec(s);
  }
  return(s);
}
function ii_div_hide(layer,action,pos,fade,invid)
{ 
  var iivar = ii_Var;
  if (invid == iivar.lastinvhid) return;  // don't allow hide to occur more than once
  iivar.lastinvhid = invid;
  var bAnim = (layer == 'invitelayer');
  if (bAnim) clearTimeout(ii_Anim.hideTimer);
  if (action=="auto"||action=="aclk"||action=="dclk")
  {
    if (action=="aclk") { ii_upHLArr(iivar.ihl,invid,2); ii_wrapHL(); }
    if (action=="dclk") { ii_upHLArr(iivar.ihl,invid,3); ii_wrapHL(); }
    if (bAnim && pos > 0) { ii_Anim.flpos=pos;ii_Anim.flfade=fade;ii_mark(); }
    if (bAnim) setTimeout('ii_div_clear(\''+layer+'\');',(action=="auto")?1000:500); 
  }
}
function ii_div_clear(layer)
{
  document.getElementById(layer).style.visibility='hidden';
  clearInterval(ii_Anim.moveTimer);
}

//  Abandonment
function ii_trap()
{
  var iivar = ii_Var;
  iivar.abshown = true;
  this.onbeforeunload=null;
  if (iivar.abdeptcheck != 0)
  {
    for (var i=0;i<iivar.deptavail.length;i++)
    {
      if (iivar.deptavail[i][0] == iivar.abdeptcheck)
      {
        if (iivar.deptavail[i][1] == iivar.abcheckstate)
          return iivar.abmsg;
      }
    }
    return;
  }
  return iivar.abmsg;
}
function ii_delay_abandon(e) 
{
  window.onbeforeunload = null;
  var ii_timer = setTimeout('window.onbeforeunload=ii_trap;', 2000);
  var ii_el = null;

  if (!e)
    var e = window.event;
  if (e.target)
    ii_el = e.target;
  else if (e.srcElement)
    ii_el = e.srcElement;
  if (ii_el.nodeType == 3) // for safari
    ii_el = ii_el.parentNode;

  if (ii_el != null)
  {
    var ii_tagname = ii_el.tagName;
    if (ii_tagname != null)
    {
      ii_tagname = ii_tagname.toLowerCase();
      if (ii_tagname == "a" || ii_tagname == "area" || ii_tagname == "img")
      {
        clearTimeout(ii_timer);
      }
      else if (ii_tagname == "input")
      {
        if (ii_el.getAttribute)
        {
          var ii_type = ii_el.getAttribute("type");
          if (ii_type != null)
          {
            ii_type = ii_type.toLowerCase();
            if (ii_type == "image" ||ii_type == "submit" || ii_type == "button")
              clearTimeout(ii_timer);
          }
        }
      }
    }
  }
  return true;
}

//  Engine
function ii_checkRules(evalidx)
{
  var iivar = ii_Var;
  
  if (evalidx == 0) 
    iivar.runcnt++;
  
  // check for abandon flag on page enter
  if (iivar.abshown == true && iivar.abflag != 9999)
  {
    iivar.trigru = ii_Rules[parseInt(iivar.abflag,10)][0];
    
    iivar.evalru[parseInt(iivar.abflag,10)][2] = 2;
    iivar.evalru[parseInt(iivar.abflag,10)][3] = iivar.trigrucnt++;

    // cancel abandonment setup
    iivar.abflag = 9999;
    window.onbeforeunload=null; 
    iivar.abmsg = null;
    iivar.abdeptcheck = 0;
    iivar.abcheckstate = 0;
    document.onclick=null;
    return;
  }
  
  var cmpl = 0;
  for (var idx=evalidx;idx<ii_Rules.length;idx++)
  {
    iivar.evalidx = idx;
    
    // see if rule is disabled or if it's already been triggered and skip
    if (iivar.evalru[idx][2]==0 || iivar.evalru[idx][3]>0) 
    {
      cmpl++;
      continue;
    }
    else
    { 
      iivar.evalru[idx][2] = 2;
    }
        
    // check conditions
    var bTrig = true;    
    var condArr = ii_Rules[idx][5];
    for (var idx2=0;idx2<condArr.length;idx2++)
    {
      // conditionState:  0=not checked, 1=true, 2=false, 3=pending (abandonment)   
      var conditionState = 2; 
      var c = condArr[idx2].split('`');
      switch(c[0])
      {
        case '1': 
          if (iivar.pgvis == 1) conditionState = 1; 
          break;
        case '2': 
          if (!iivar.abshown)
          {
            iivar.abmsg = c[1];
            window.onbeforeunload=ii_trap; 
            if (iivar.IE) document.onclick=ii_delay_abandon;          
            else if (iivar.MZ) window.captureEvents(Event.CLICK);window.onclick = ii_delay_abandon;
            iivar.abflag = idx;
            conditionState = 3;
            
            if (iivar.runcnt == 1 && ii_Rules[idx][6] == 1)
            {
              iivar.abdeptcheck = ii_Rules[idx][8];
              iivar.abcheckstate = ii_Rules[idx][7];
              ii_doAvailCheck(1,ii_Rules[idx][7],ii_Rules[idx][8],true);
            }
          }
          break;
        case '3': 
          if (ii_compOp(iivar.pgvis,c[1],c[2],c[3],0)) 
            conditionState = 1; 
          break;
        case '4': 
          if ((c[2]==7 || c[2]==9) && ii_contains(iivar.cpml,c[1]) && !ii_contains(iivar.stringNoContain,c[1]) &&
              ii_compOp(ii_getHLArr(iivar.phl,c[1],1),c[4],c[5],c[6],0)) 
          {
            conditionState = 1; 
          }
          else if (c[2]==8 && ii_contains(iivar.cpml,c[1]) && ii_contains(iivar.stringNoContain,c[1]) &&
                   ii_compOp(ii_getHLArr(iivar.phl,c[1],2),c[4],c[5],c[6],0))
          { 
            conditionState = 1;
          }
          break;
        case '5': 
          if (ii_compOp(iivar.randid,c[1],c[2],c[3],0) && ii_compOp(iivar.randid,c[4],c[5],c[6],0)) conditionState = 1; 
          break;
        case '10':
          if ((c[2]==7 || c[2]==9) && ii_contains(iivar.ppml,c[1]) && !ii_contains(iivar.stringNoContain,c[1]))
          { 
            conditionState = 1;
          }
          else if (c[2]==8 && ii_contains(iivar.ppml,c[1]) && ii_contains(iivar.stringNoContain,c[1]))
          { 
            conditionState = 1;
          }
          break;
        case '11': 
          if ((c[2]==7 || c[2]==9) && !ii_contains(iivar.stringNoContain,c[1]) &&
              ii_compOp(iivar.referrer,iivar.urlStrings[c[1]],c[2],c[3],1))
          { 
            conditionState = 1;
          }
          else if (c[2]==8 && ii_contains(iivar.stringNoContain,c[1]) &&
                   ii_compOp(iivar.referrer,iivar.urlStrings[c[1]],c[2],c[3],1))
          { 
            conditionState = 1;
          }
          break;
        case '12':
          if ((c[2]==7 || c[2]==9) && !ii_contains(iivar.stringNoContain,c[1]))
          {
            for (var idx3=0;idx3<iivar.phl.length;idx3++)
            {
              var cnt = ii_getHLArr(iivar.phl,c[1],1);
              if (cnt != null && cnt > 0)
              { 
                if (!ii_contains(iivar.cpml,c[1]) || cnt > 1)
                  conditionState = 1;
                break;
              }
            }
          }
          else if (c[2]==8 && ii_contains(iivar.stringNoContain,c[1]))
          { 
            for (var idx3=0;idx3<iivar.phl.length;idx3++)
            {
              var cnt = ii_getHLArr(iivar.phl,c[1],2);
              if (cnt != null && cnt > 0)
              { 
                if (!ii_contains(iivar.cpml,c[1]) || cnt > 1)
                  conditionState = 1;
                break;
              }
            }
          }
          break;
        case '30':
          if (iivar.geoinit==1)
          {
            if ((c[2]==9 && ii_matchRegExp(iivar.geoip,c[1])) ||
                ((c[2]==7 || c[2]==8) && ii_compOp(iivar.geoip,c[1],c[2],0,1)))
            { 
              conditionState = 1;
            }
            else if (c[2]==1 || c[2]==2)
            {  
              var found = false;
              var ips = ii_extractStrings(c[1]);
              for (var idx3=0;idx3<ips.length;idx3++)
              {
                var arrNet = ii_getIPRange(ips[idx3]);
                if (arrNet != null)
                {
                  if (ii_ipCheck(iivar.geoip,arrNet[0],arrNet[1]))
                    found = true;
                }
              }
              if (c[2]==1 && found) conditionState = 1;
              else if (c[2]==2 && !found) conditionState = 1;
            }
          }
          else if (iivar.gsvr.length == 0)
          {
            conditionState = 1;
          }
          break; 
        case '31':case '32':case '33':case '34':case '35':
          if (iivar.geoinit==1)
          {
            var geostr = '';
            if (c[0] == '31') geostr = iivar.geoco;
            else if (c[0] == '32') geostr = iivar.georg;
            else if (c[0] == '33') geostr = iivar.geoct;
            else if (c[0] == '34') geostr = iivar.geons;
            else if (c[0] == '35') geostr = iivar.geodm;
            
            if (ii_compOp(geostr,c[1],c[2],0,1))
            {
              conditionState = 1;
              break;
            }
          }
          else if (iivar.gsvr.length == 0)
          {
            conditionState = 1;
          }
          break;
        case '50':case '51': 
          var tm = parseInt(new Date().getTime()/1000);
          var cktime = ( c[0] == '50' ? iivar.tmentpg : parseInt(iivar.tmes,10) );
          var threshold = parseInt(c[1],10);
          if (ii_compOp(tm-cktime,threshold,c[2],c[3],0)) conditionState = 1;
          break;
        case '70': 
          var decl = ii_getHLArr(iivar.ihl,ii_Rules[idx][2],3);
          if (decl==null||decl==0) conditionState = 1;
          break;
        case '71':
          var decl = 0;
          for (var idx3=0;idx3<iivar.ihl.length;idx3++) 
          {
            if (!isNaN(parseInt(iivar.ihl[idx3][3],10))) 
              decl += parseInt(iivar.ihl[idx3][3],10);
          }
          if (decl==0) conditionState = 1;
          break;
        case '72':
          var off = ii_getHLArr(iivar.ihl,ii_Rules[idx][2],1);
          if (off==null) off = 0;
          if (ii_compOp(off,c[1],c[2],c[3],0)) conditionState = 1;
          break;
        case '73':
          var off = 0;
          for (var idx3=0;idx3<iivar.ihl.length;idx3++) 
          { 
            if (!isNaN(parseInt(iivar.ihl[idx3][1],10))) 
              off += parseInt(iivar.ihl[idx3][1],10);
          }
          if (ii_compOp(off,c[1],c[2],c[3],0)) conditionState = 1;
          break;
        case '74':
          var tm = parseInt(new Date().getTime()/1000);
          var threshold = parseInt(c[1],10);
          var ts = ii_getHLArr(iivar.ihl,ii_Rules[idx][2],4);
          if (ts==null||ii_compOp(threshold,tm-ts,c[2],c[3],0)) conditionState = 1;
          break;
        case '75':
          var tm = parseInt(new Date().getTime()/1000);
          var threshold = parseInt(c[1],10);
          var conditionState = 1;
          for (var idx3=0;idx3<iivar.ihl.length;idx3++)
          {
            var ts = iivar.ihl[idx3][4];
            if (ts!=null&&ii_compOp(tm-ts,threshold,c[2],c[3],0))
            { 
              conditionState = 2;
              break;
            }
          }
          break;
        case '76': 
          var acc = ii_getHLArr(iivar.ihl,ii_Rules[idx][2],2);
          if (acc==null||acc==0) conditionState = 1;
          break;
        case '77':
          var acc = 0;
          for (var idx3=0;idx3<iivar.ihl.length;idx3++) 
          {
            if (!isNaN(parseInt(iivar.ihl[idx3][2],10))) 
              acc += parseInt(iivar.ihl[idx3][2],10);
          }
          if (acc==0) conditionState = 1;
          break;
        case '80':case '81':case '82':
          var cv = ii_getCookie(c[1]);
          if (c[0]=='80' && (cv==null?(c[4]==0?1:0):(c[4]==1?1:0))) conditionState = 1;        
          if (cv != null)
          {
            if ((c[0]=='81' && ii_compOp(cv,c[4],c[5],c[6],1)) ||
                (c[0]=='82' && !isNaN(cv) && ii_compOp(parseFloat(cv),c[4],c[5],c[6],1)))
            {
              conditionState = 1;
              break;
            }
          }
          break;
        case '90':case '91':case '92':
          var el = ii_validateParam(0,c[1]);
          if (el != null)
          {
            if ((c[0]=='90' && typeof(el)=='string') || (c[0]=='91' && typeof(el)=='number'))
            {
              if ((c[0]=='90' && typeof(el)=='string' && ii_compOp(el,c[4],c[5],c[6],1)) ||
                  (c[0]=='91' && typeof(el)=='number' && ii_compOp(el,c[4],c[5],c[6],1)))
              {
                conditionState = 1;
                break;
              }
            }
            else if ((c[0]=='92') && typeof(el)=='boolean')
            {
              if (ii_compOp(el,(c[4]==0?false:true),1,c[6])) 
                conditionState = 1;
            }
          }
          break;
        case '100':case '101':case '102':case '103':case '104':case '105':case '106':case '107':
          var el = null;
          if (c[0]=='100'||c[0]=='101'||c[0]=='102'||c[0]=='103') el = ii_validateParam(1,c[1]);
          else el = ii_validateParam(2,c[1]);
          
          if (el != null)
          { 
            if ( ((c[0]=='100'||c[0]=='104') && ii_compOp(el.value,c[4],c[5],c[6],1)) || 
                 ((c[0]=='101'||c[0]=='105') && !isNaN(el.value) && ii_compOp(parseFloat(el.value),c[4],c[5],c[6],1)) ||
                 ((c[0]=='102'||c[0]=='106') && ii_compOp((el.checked==true?1:0),c[4],1,c[6],0)) ||
                 ((c[0]=='103'||c[0]=='107') && ii_compOp(el.selectedIndex,c[4],c[5],c[6],1)) )
            {
              conditionState = 1;
            }
          }
          break;
        default: 
      }
      
      iivar.evalru[idx][1][idx2] = conditionState;
      if (conditionState > 1)
      {
        // don't check any more conditions
        bTrig = false;
        break; 
      }
    }
    
    if (bTrig)
    {
      iivar.trigru = ii_Rules[idx][0];
      iivar.evalru[idx][3] = ++iivar.trigrucnt;

      // cancel any abandons
      iivar.abflag = 9999;
      window.onbeforeunload=null; 
      iivar.abmsg = null;
      document.onclick=null;
      return;
    }
  }
  
  if (cmpl==ii_Rules.length)
    ii_stop();
  else
    ii_continue(0,2500); 
}
function ii_continue(evalidx,intvl)
{
  setTimeout("ii_restart("+evalidx+");",intvl);
}
function ii_stop()
{
  ii_Var.run = false;
}
function ii_getRuleOrInv(arr,id)
{
  for (var i=0;i<arr.length;i++)
  {
    if (arr[i][0]==id) 
      return(arr[i]);
  }
  return(null);
}
function ii_getRuleOrInvIdx(arr,id)
{
  for (var i=0;i<arr.length;i++)
  {
    if (arr[i][0]==id) 
      return(i);
  }
  return(-1);
}
function ii_compOp(x,y,op,cs,mv)
{
  var arr = [];
  var bflag = false;
  if (mv==1 && op!=9) // using multiple values and is not a regexp
    arr = ii_extractStrings(y);
  else
    arr[0] = y;

  var isxstr = (typeof x == 'string');
  var isystr = (typeof y == 'string');
  
  for (var i=0;i<arr.length;i++)
  {
    if (op==1 && cs==0 && isxstr && isystr) { if (arr[i].toLowerCase() == x.toLowerCase()) { bflag = true; break; } } 
    else if (op==1) { if (arr[i] == x) { bflag = true; break; } } 
    else if (op==2 && cs==0 && isxstr && isystr) { if (arr[i].toLowerCase() != x.toLowerCase()) { bflag = true; } else { bflag = false; break; } } 
    else if (op==2) { if (arr[i] != x) { bflag = true; } else { bflag = false; break; } } 
    else if (op==3) { if (x > arr[i]) { bflag = true; break; } } 
    else if (op==4) { if (x < arr[i]) { bflag = true; break; } } 
    else if (op==5) { if (x <= arr[i]) { bflag = true; break; } }
    else if (op==6) { if (x >= arr[i]) { bflag = true; break; } }
    else if (op==7 && cs==0) { if (x.toLowerCase().indexOf(arr[i].toLowerCase()) != -1) { bflag = true; break; } } 
    else if (op==7 && cs==1) { if (x.indexOf(arr[i]) !=- 1) { bflag = true; break; } }
    else if (op==8 && cs==0) { if (x.toLowerCase().indexOf(arr[i].toLowerCase()) == -1) { bflag = true; } else { bflag = false; break; } }
    else if (op==8 && cs==1) { if (x.indexOf(arr[i]) == -1) { bflag = true; } else { bflag = false; break; } }
    else if (op==9) { if (ii_matchRegExp(x,arr[i]) != null) { bflag = true; break; } }
  }
  return(bflag); 
}
function ii_validateParam(type,param)
{
  // 0=js var, 1=form field, 2=dom id
  if (type==2) return(document.getElementById(param));
  var phead = (type == 0 ? window : window.document);
  
  var evalstr = '';
  
  var a1 = param.split('.');
  for (var i=0;i<a1.length;i++)
  {
    var el = a1[i];
    
    var c = ii_matchRegExp(el,"^([^\\]']*)\\['?([^']*)'?\\]$");
    if (c!= null)
      evalstr += c[1] + "`" + c[2];
    else
      evalstr += el;
      
    if (i < a1.length-1) 
      evalstr += "`";
  }
  
  var result = null;
  var a2 = evalstr.split('`');
  for (var i=0;i<a2.length;i++)
  {
    if (i==0) 
    {
      if (typeof(phead[a2[0]]) == 'undefined') { result = null; break; }
      else { result = phead[a2[0]]; }
    }
    else if (i==1)
    {
      if (typeof(phead[a2[0]][a2[1]]) == 'undefined') { result = null; break; }
      else { result = phead[a2[0]][a2[1]] }
    }
    else if (i==2)
    {
      if (typeof(phead[a2[0]][a2[1]][a2[2]]) == 'undefined') { result = null; break; }
      else { result = phead[a2[0]][a2[1]][a2[2]]; }
    }
    else if (i==3)
    {
      if (typeof(phead[a2[0]][a2[1]][a2[2]][a2[3]]) == 'undefined') { result = null; break; }
      else { result = phead[a2[0]][a2[1]][a2[2]][a2[3]]; }
    }
  }
  return(result);
}
function ii_matchRegExp(s,tok)
{
  var re = ii_Var.tokenizedexps[tok];
  if(!re) re = ii_Var.tokenizedexps[tok] = new RegExp(tok);
  return(re.exec(s));
};

//  Miscellaneous
function ii_contains(p1,p2)
{
  for (var i=0;i<p1.length;i++) 
  {
    if (p1[i] == p2) 
      return true;
  }
  return false;
}
function ii_reverse(p1)
{
  var rev = '';
  if (p1.length > 0)
    rev = p1.split("").reverse().join("");
  return rev;
}
function ii_findMatches(src)
{
  var iivar = ii_Var;
  for (var i=0;i<iivar.urlStrings.length;i++)
  {
    if (!ii_contains(iivar.stringNoContain,i))
    {
      var subarr = (iivar.stringTypes[i] == 2) ? [iivar.urlStrings[i]] : ii_extractStrings(iivar.urlStrings[i]); 
      for (var j=0;j<subarr.length;j++)
      {
        if ((iivar.stringTypes[i] == 0 && src.toLowerCase().indexOf(subarr[j].toLowerCase()) !=-1) ||
            (iivar.stringTypes[i] == 1 && src.indexOf(subarr[j]) != -1) ||
            (iivar.stringTypes[i] == 2 && new RegExp(subarr[j]).exec(src) != null))
        {
          iivar.cpml[iivar.cpml.length] = i;
          ii_upHLArr(iivar.phl,i,1);
          break;
        }
      }
    }
  }
}
function ii_findNoMatches(src)
{
  var iivar = ii_Var;
  for (var i=0;i<iivar.urlStrings.length;i++)
  {
    if (ii_contains(iivar.stringNoContain,i))
    {
      var found = true;
      var subarr = ii_extractStrings(iivar.urlStrings[i]);
      for (var j=0;j<subarr.length;j++)
      {
        if ((iivar.stringTypes[i] == 0 && src.toLowerCase().indexOf(subarr[j].toLowerCase()) != -1) ||
            (iivar.stringTypes[i] == 1 && src.indexOf(subarr[j]) != -1))
        {
          found = false;        
        }
      }
      if (found) 
      {
        iivar.cpml[iivar.cpml.length] = i;
        ii_upHLArr(iivar.phl,i,2);
      }
    }
  }   
}
function ii_extractStrings(x)
{
  var y = (ii_reverse(x).split(/[\s]*,(?!\\)[\s]*/).reverse());
  for (var i=0;i<y.length;i++) 
    y[i] = ii_reverse(y[i]).replace(/\\,/g,',');
  return(y);
}
function ii_decodeHTML(str)
{
  var regex = /&#([0-9a-fA-F]*);/;
  var match = regex.exec(str);
  while (match != null)
  {
    str = str.replace(/&#([0-9a-fA-F])*;/, String.fromCharCode(match[1]));
    var match = regex.exec(str);
  }
  return(str);
}
function ii_encodeHTML(str,esc_apos)
{
  var x = '';
  var y = 0;
  for (var i=0;i<str.length;i++)
  {
    y = str.charCodeAt(i);
    if (y == 39 && esc_apos == 1) x += '\\&#'+y+';';
    else x += '&#'+y+';';
  }
  return(x);
}

//  Events
function ii_invTokenReplace(js,arg3,arg4)
{
  arg4 = arg4.replace(/\u0027/g,'\\\''); 
  js = js.replace(/\[\%INVITATIONID\%\]/g,arg3);
  js = js.replace(/\[\%INVITATIONNAME\%\]/g,arg4);
  return(js);
}
function ii_ruleTokenReplace(js,arg3,arg4)
{
  arg4 = arg4.replace(/\u0027/g,'\\\''); 
  js = js.replace(/\[\%RULEID\%\]/g,arg3);
  js = js.replace(/\[\%RULENAME\%\]/g,arg4);
  return(js);
}
function ii_executeInvitationOfferedEvent(param1,param2,param3) 
{ 
  var arg=ii_executeInvitationOfferedEvent.arguments;
  eval(ii_invTokenReplace(ii_Var.CustomOfferedJS,arg[3],arg[4])); 
}
function ii_executeInvitationAcceptedEvent(param1,param2,param3) 
{ 
  var arg=ii_executeInvitationAcceptedEvent.arguments; 
  eval(ii_invTokenReplace(ii_Var.CustomAcceptedJS,arg[3],arg[4])); 
}
function ii_executeInvitationDeclinedEvent(param1,param2,param3) 
{
  var arg=ii_executeInvitationDeclinedEvent.arguments;
  eval(ii_invTokenReplace(ii_Var.CustomDeclinedJS,arg[3],arg[4])); 
}
function ii_executeRuleTriggeredEvent(param1,param2,param3) 
{ 
  var arg=ii_executeRuleTriggeredEvent.arguments;
  eval(ii_ruleTokenReplace(ii_Var.CustomTriggeredJS,arg[3],arg[4])); 
}

//  Diagnostics
function ii_loadDiag()
{
  var iivar = ii_Var;
  ii_unwrapHL();
  iivar.diag = [ iivar.run, iivar.runcnt, ii_getGSV("TES"), iivar.tmentpg, iivar.pgvis,
    iivar.randid, iivar.abflag, iivar.trigru, iivar.invtoshow, iivar.trigrucnt, iivar.phl, iivar.ihl, 
    iivar.cpml, iivar.ppml, iivar.deptavail, iivar.evalru,  ii_getGSV("GeoIP"), ii_getGSV("GeoCo"), 
    ii_getGSV("GeoRg"),  ii_getGSV("GeoCt"), ii_getGSV("GeoNs"),  ii_getGSV("GeoDm"),
    iivar.publ, iivar.deploy, iivar.domain ];
}
function ii_getDiag(idx) 
{ 
  return(ii_Var.diag[idx]); 
}

//  Setup
function ii_restart(evalidx)
{
  var iivar = ii_Var;
  iivar.trigru = 0;
  
  // geoip setup
  ii_initGeoIP();
  
  // clear eval state prior to start of run
  if (evalidx == 0)
  {
    for (var i=0;i<iivar.evalru.length;i++)
    {
      if (iivar.evalru[i][2] > 1) iivar.evalru[i][2] = 1;
      for (var j=0;j<iivar.evalru[i][1].length;j++)
        iivar.evalru[i][1][j] = 0;
    }
  }

  ii_checkRules(evalidx);

  if (iivar.trigru > 0)
  { 
    var rule = ii_getRuleOrInv(ii_Rules,iivar.trigru);
    if (rule[6]>=1) 
      ii_doAvailCheck(rule[6],rule[7],rule[8],false);
    else 
      ii_show(); // skip availability check
  }
}
function ii_init()
{
  var iivar = ii_Var;
  iivar.deploy = (window.ii_deployment ? window.ii_deployment : ii_getGSV("DPL"));
  if (iivar.deploy > 0 && iivar.jscalled == 0)
  {
    if (iivar.deploy==1) ii_callServer('II3_TestRules.js',ii_getProtocol()+'://'+iivar.rsvr+'/resources/smartbutton/'+iivar.accountid+'/II3_TestRules.js?src=ii3&ts='+iivar.pct);
    if (iivar.deploy==2) ii_callServer('II3_Rules.js',ii_getProtocol()+'://'+iivar.rsvr+'/resources/smartbutton/'+iivar.accountid+'/II3_Rules.js?src=ii3&ts='+iivar.pct);
    iivar.jscalled = 1;
    ii_upGSV("DPL",iivar.deploy);
  }
  
  if (window.ii_Rules && window.ii_Rules.length > 0)
  {
    if (iivar.vtscrloc.length > 0) 
      ii_callServer(iivar.vtscrname,ii_getProtocol()+'://'+iivar.vtscrloc);          
  
    ii_unwrapHL();

    if (iivar.publ != iivar.publishversion)
      ii_resetHistCookie();

    iivar.publ = iivar.publishversion;
    iivar.pgvis = parseInt(iivar.pgvis,10)+1;
    iivar.ppml = iivar.cpml;
    iivar.cpml = [];
    
    if (iivar.randid == 0)
      iivar.randid = Math.floor(Math.random()*100+1);
      
    iivar.tmes  = ii_getGSV("TES");
      
    ii_findMatches(document.location.href);
    ii_findNoMatches(document.location.href);
    
    ii_wrapHL();    

    for (var i=0;i<ii_Rules.length;i++)
    {
      iivar.evalru[i] = [ii_Rules[i][0],new Array(ii_Rules[i][5].length),(ii_Rules[i][1]==0?0:1),0,-1];
      for (var j=0;j<ii_Rules[i][5].length;j++) 
        iivar.evalru[i][1][j] = 0;
    }

    iivar.run = true;
    ii_restart(0);
  } 
  else
  {
    setTimeout('ii_init();',1000);
  }
}
function ii_start()
{
  var iivar = ii_Var;
  if (iivar.IE||iivar.MZ)
  {
    if (document.location.host.indexOf(iivar.domain)!=-1)
    {
      if (iivar.ishosted)
      {
        var ts = (parseInt(new Date().getTime()/1000));
        iivar.pct = ii_getGSV("PCT");
        if ((ts-iivar.cachetimeout)>=iivar.pct) 
        { 
          iivar.pct = ts;
          ii_upGSV("PCT",iivar.pct);
        }

        if (ii_getGSV("DPL")==0)
          ii_callServer('II3_Servers.js',ii_getProtocol()+'://'+iivar.rsvr+'/resources/smartbutton/'+iivar.accountid+'/II3_Servers.js?src=ii3&ts='+ts);
      }

      if (ii_getGSV("GeoIP")=="*" && iivar.gsvr.length > 0)
        ii_callServer('geoipAPI.js',ii_getProtocol()+'://'+iivar.gsvr+'/geoipAPI.js?src=ii3&ts='+ts);
 
      ii_init();
    }
  }
}

// Declarations
function ii_VarObj() 
{
  this.IE=!!(document.all&&document.getElementById);
  this.MZ=(!this.IE)?!!(document.getElementById):false;

  this.version=14;
  this.accountid = 7463;
  this.ishosted = true;
  this.domain = '';
  this.rsvr = 'rs.instantservice.com';
  this.gsvr = 'gs.instantservice.com';
  this.vtscrname = '';
  this.vtscrloc = '';

  // Session/History Cookies 
  this.GSV_COOKIE = 'IS3_GSV';
  this.HIST_COOKIE = 'IS3_History';
  this.HIST_COOKIE_EXP = new Date();
  if (this.HIST_COOKIE_EXP != null)
    this.HIST_COOKIE_EXP.setTime(this.HIST_COOKIE_EXP.getTime()+(60*60*1000));
  
  // Page JS vars
  this.run = true;
  this.runcnt = 0;
  this.tmentpg = parseInt(new Date().getTime()/1000);    // time user entered page
  this.trigru = 0;                                       // id of last rule triggered
  this.trigrucnt = 0;                                    // number of rules that have triggered
  this.lastinvhid = 0;                                   // id of last invitation hidden  
  this.invtoshow = 0;
  this.referrer = document.referrer;
  this.evalidx = 0;                       // idx used to keep track of engine state
  this.deptavail = [];                    // department availabilities checked
  this.evalru = [];                       // rules previously evaluated
  this.deploy = 0;
  this.jscalled = 0;
  this.cachetimeout = 300;
  this.geoinit = 0;
  this.geoip = null;
  this.geoco = null;
  this.georg = null;
  this.geoct = null;
  this.geons = null;
  this.geodm = null;
  this.tmes  = null;
  this.diag = [];  
  
  // GHV/HL
  this.publ = 0;      // most recent rule publish time
  this.pct = 0;       // timestamp to avoid proxy server caching
  this.pgvis = 0;     // total pages visited
  this.randid = 0;    // random id btwn 1-100
  this.phl  = [];     // page match history list
  this.ihl  = [];     // invitation history list
  this.cpml = [];     // current page match list
  this.ppml = [];     // prev page match list  

  // regular expression cache
  this.tokenizedexps = { };
  
  // Abandonment
  this.abflag=9999;
  this.abshown=false;
  this.abmsg=null;
  this.abdeptcheck=0;
  this.abcheckstate=0;
  
  // Avail Check
  this.availImg=null;
  this.abavailImg=null;
  this.checkDeptID=0;
  this.checkState=0;
  if (navigator.appName.indexOf("Microsoft") != -1 && navigator.platform.indexOf("Mac") != -1)
  {
    this.availImg = document.createElement('IMG');
    this.abavailImg = document.createElement('IMG');
  }
  else
  {
    this.availImg = new Image();
    this.abavailImg = new Image();
  }
  this.availImg.title = 'availimg';
  this.availImg.onload = availOnLoad;
  this.availImg.onerror = availOnError;
  this.abavailImg.title = 'abavailimg';
  this.abavailImg.onload = availOnLoad;
  this.abavailImg.onerror = availOnError;
}

ii_Var = new ii_VarObj();
ii_Var.domain += ii_getDomain();
if (navigator.cookieEnabled)
{ 
  if (ii_getCookie(ii_Var.HIST_COOKIE) == null) ii_resetHistCookie();
  if (ii_getCookie(ii_Var.GSV_COOKIE) == null) ii_resetGSVCookie();
}

//
//  Customer Hosted Only (blank if IS-Hosted)
//


//
// Animated DIV Elements
//
document.write('<div id="invitelayer" style="position:absolute;left:10px;top:10px;visibility:hidden;z-index:1000;">');
document.write('<div id="invitelayercontent" style="position:relative;left:0px;top:0px;z-index:100">&nbsp;</div>');
document.write('<!--[if lte IE 6]><iframe id="divshim" src="javascript:\'&lt;html&gt;&lt;/html&gt;\'" scrolling="no" frameborder="0" style="position:absolute;top:0px;left:0px;display:none;"></iframe><![endif]--></div>');

if (ii_Var.IE||ii_Var.MZ)
  ii_start();
