var greenLight = new Array();
var dPopURL = "http://www.nichecastle.com/promo/console/";
var dPopWidth = 1000;
var dPopHeight = 912;

greenLight.push("javascript:");
greenLight.push("members");
greenLight.push("support");
greenLight.push("sobv");
greenLight.push("index1");
greenLight.push("index2");
greenLight.push("index3");
greenLight.push("tour");
greenLight.push("signup.php");

greenLight.push("vip");
greenLight.push("skin");
greenLight.push("nats.");
greenLight.push("trannypay");
greenLight.push("http://www.google.com");

document.cookie = "pud=; expires=Sat, 23 Feb 2008 21:06:12 UTC;";
var g_sPrimeLoc;

function Set_Cookie(name, value, expires, path, domain, secure) {
  // set time, it's in milliseconds
  var today = new Date();
  today.setTime(today.getTime());

  /*
if the expires variable is set, make the correct
expires time, the current script below will set
it for x number of days, to make it for hours,
delete * 24, for minutes, delete * 60 * 24
*/
  if (expires) {
    expires = expires * 1000 * 60 * 60 * 24;
  }
  var expires_date = new Date(today.getTime() + (expires));

  document.cookie = name + "=" + escape(value) + ((expires) ? ";expires=" + expires_date.toGMTString() : "") + ((path) ? ";path=" + path : "") + ((domain) ? ";domain=" + domain : "") + ((secure) ? ";secure" : "");
}

function Get_Cookie(check_name) {
  // first we'll split this cookie up into name/value pairs
  // note: document.cookie only returns name=value, not the other components
  var a_all_cookies = document.cookie.split(';');
  var a_temp_cookie = '';
  var cookie_name = '';
  var cookie_value = '';
  var b_cookie_found = false; // set boolean t/f default f
  for (i = 0; i < a_all_cookies.length; i++) {
    // now we'll split apart each name=value pair
    a_temp_cookie = a_all_cookies[i].split('=');

    // and trim left/right whitespace while we're at it
    cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');

    // if the extracted name matches passed check_name
    if (cookie_name == check_name) {
      b_cookie_found = true;
      // we need to handle case where cookie has no value but exists (no = sign, that is):
      if (a_temp_cookie.length > 1) {
        cookie_value = unescape(a_temp_cookie[1].replace(/^\s+|\s+$/g, ''));
      }
      // note that in cases where cookie is initialized but no value, null is returned
      return cookie_value;
    }
    a_temp_cookie = null;
    cookie_name = '';
  }
  if (!b_cookie_found) {
    return null;
  }
}

// this deletes the cookie when called
function Delete_Cookie(name, path, domain) {
  if (Get_Cookie(name)) {
    document.cookie = name + "=" + ((path) ? ";path=" + path : "") + ((domain) ? ";domain=" + domain : "") + ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
  }
}

function loader() {
  var AlreadyPopped = Get_Cookie('yui') ? true : false;
  if (!AlreadyPopped) {
    Set_Cookie('yui', 'ran', '', '/', '', '');
    var aAnchorTags = document.getElementsByTagName("a");
    for (var i = 0; i < aAnchorTags.length; i++) {

      var bSkip = false;

      for (nK in greenLight) {
        if (aAnchorTags[i].href.indexOf(greenLight[nK]) > -1) {
          bSkip = true;
        }
      }

      if (!bSkip) {
        aAnchorTags[i].onclick = pUD;
      }
    }
  }
}

function pUD(sPrimeLoc, sPopLoc, nWidth, nHeight) {
  if (!sPrimeLoc) {
    sPrimeLoc = this;
  }
  if (!sPopLoc) {
    sPopLoc = dPopURL;
  }

  if (!nWidth && dPopWidth) {
    nWidth = dPopWidth;
  }
  if (!nHeight && dPopHeight) {
    nHeight = dPopHeight;
  }

  pU(this, dPopURL, nWidth, nHeight);
  return true;
}

// Launch functions 
function pU(sPrimeLoc, sPopLoc, nWidth, nHeight) {

  sPrimeLoc = "dink.php?url=" + escape(sPrimeLoc);
  sPopLoc = "dink.php?pud=1&url=" + escape(sPopLoc);

  if (!nHeight) {
    nHeight = 0;
  }
  if (!nWidth) {
    nWidth = 0;
  }

  if (!nHeight && !nWidth) {
    if (navigator.appName == "Microsoft Internet Explorer") {
      nHeight = (document.body.clientHeight * 1) - 1;
      nWidth = (document.body.clientWidth * 1) - 1;
    }
    else {
      nHeight = (document.height * 1) - 1;
      nWidth = (document.width * 1) - 1;
    }
  }

  var sNewWindowDimensions = "height=" + nHeight + ",width=" + nWidth;

  window.open(sPopLoc, '_blank', "menubar=1,resizable=1,scrollbars=1,status=1,location=0,toolbar=1," + sNewWindowDimensions);
  window.focus();
  g_sPrimeLoc = sPrimeLoc;
  return true;
}

// Destination functions 
function RedirectPopunder(sLocation) {
  document.cookie = "pud=" + escape(sLocation);
}

// Popunder functions 
if (location.href.match(/pud=1/)) {
  AlternateLocationPoller();
  setTimeout("TabDetector()", 50);
}

function TabDetector() {
  if (location.search.indexOf('redirected=true') == -1) {
    var bIsTab = false;

    try {
      if (navigator.appName == "Microsoft Internet Explorer") {
        if (document.body.clientHeight == opener.document.body.clientHeight && document.body.clientWidth == opener.document.body.clientWidth) {
          bIsTab = true;
        }
      }
      else { if (document.height == opener.document.height && document.width == opener.document.width) {
          bIsTab = true;
        }
      }
    }
    catch(e) {}

    if (bIsTab) {
      var sSwapLocation = false;

      try {
        sSwapLocation = opener.g_sPrimeLoc;
        opener.location.replace(location.href + (location.href.indexOf('?') > -1 ? '&' : '?') + 'redirected=true');
      }
      catch(e) {}

      if (sSwapLocation) {
        location.replace(sSwapLocation);
      }
    }
    else {
      try {
        //opener.location.replace(opener.g_sPrimeLoc);
        opener.location = opener.g_sPrimeLoc;
      }
      catch(f) {}
    }
  }
}

function AlternateLocationPoller() {
  if (document.cookie.indexOf('pud=') > -1) {
    document.cookie.match(/pud=([^;]+)/);
    document.cookie = "pud=; expires=Sat, 23 Feb 2008 21:06:12 UTC;";
    location.replace(RegExp.$1 + (RegExp.$1.indexOf('?') > -1 ? '&' : '?') + 'redirected=true');
  }
  else {
    setTimeout("AlternateLocationPoller()", 100);
  }
}
