function trlog_CookiesEnabled()
{
  var cookieEnabled = (navigator.cookieEnabled) ? true : false;

  if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled)
  { 
    document.cookie = "testcookie";
    cookieEnabled = (document.cookie.indexOf("testcookie") != -1) ? true : false;
  }

  return cookieEnabled;
}

function trlog_CreateCookie(name,value,minutes)
{
  if (minutes)
  {
    var date = new Date();
    date.setTime(date.getTime() + (minutes * 60 * 1000));
    var expires = "; expires=" + date.toGMTString();
  }
  else 
    var expires = "";
  document.cookie = name + "=" + value + expires + "; path=/";
}

function trlog_ReadCookie(name)
{
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for (var i=0; i < ca.length;i++)
  {
    var c = ca[i];
    while (c.charAt(0) == ' ')
      c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) 
      return c.substring(nameEQ.length,c.length);
  }
  return null;
}

function trlog_VoidFunc()
{
  return;
}

function trlog_GenerateSessionID()
{
  sCharset = 'abcdefghijklmnopqrstuvwxyz0123456789';
  sResult = '';
  for (i = 1; i <= 32; i++)
    sResult += sCharset.charAt(Math.round(Math.random() * 37));
  return sResult;
}

function trlog_GetURL(iWebsiteID, CVPointID, CVParam, iIncomingSourceID, bImage)
{
  var trlog_sw = screen.width;
  var trlog_cd;
  navigator.appName!="Netscape" ? trlog_cd = screen.colorDepth : trlog_cd = screen.pixelDepth;
  trlog_sw ? "" : trlog_sw = "u";
  trlog_cd ? "" : trlog_cd = "u";

  if (bImage)
    var trlog_url = "/trlog_image_local.php?ws=" + iWebsiteID;
  else
    var trlog_url = "/trlog.php_local?ws=" + iWebsiteID;
  var trlog_params = "&ref=" + escape(document.referrer) + "&sw=" + trlog_sw + "&cd=" + trlog_cd;

  if ((CVPointID != undefined) && (CVPointID != null))
  {
    trlog_params = "&cp=" + CVPointID + trlog_params;
    if (CVParam != undefined)
      trlog_params = "&cpp=" + escape(CVParam) + trlog_params;
  }

  if ((iIncomingSourceID != undefined) && (iIncomingSourceID != null))
    trlog_params += "&is=" + iIncomingSourceID;

  if (trlog_CookiesEnabled())
  {
    // Cookies are enabled
    dtNow = new Date();
    iNow = dtNow.getTime();

    // Get the Site Cookie
    sSessionID = null;
    sCookieName = 'trlogws' + iWebsiteID;
    sCookieValue = trlog_ReadCookie(sCookieName);

    if (sCookieValue != null)
    {
      arCookie = sCookieValue.split("|");
      if (arCookie.length == 2)
      {
        arCookie[0] = parseInt(arCookie[0]);
        if (iNow <= arCookie[0])
          sSessionID = arCookie[1];
      }
      bReenteringVisitor = true;
    }
    else
    {
      bReenteringVisitor = false;
      var arCookie = new Array(2);
    }

    if (sSessionID == null)
    {
      var sSessionID = trlog_GenerateSessionID();
      arCookie[1] = sSessionID;
    }

    // Update the Site Cookie
    arCookie[0] = iNow + (30 * 60 * 1000);
    trlog_CreateCookie(sCookieName, arCookie[0] + "|" + arCookie[1], 10 * 365 * 24 * 60);

    trlog_params += "&co=y&js=y&sid=" + sSessionID;
  }
  else
  {
    // Cookies are disabled
    bReenteringVisitor = false;
    trlog_params += "&co=n&js=y";
  }

  if (bReenteringVisitor)
    trlog_params += "&rv=y";
  else
    trlog_params += "&rv=n";

  trlog_params = trlog_params + "&p=" + escape(window.location.href);

  return trlog_url + trlog_params;
}

function trlog_Log(iWebsiteID, CVPointID, CVParam, iIncomingSourceID)
{
  if ((iIncomingSourceID == undefined) || (iIncomingSourceID == null))
  {
    var sLoc = window.location.href;
    var iPos = sLoc.indexOf('&is=');
    if (iPos < 0)
      var iPos = sLoc.indexOf('?is=');
    if (iPos > -1)
    {
      sLoc = sLoc.substr(iPos + 4, 10000);
      iPos = sLoc.indexOf('&');
      if (iPos > -1)
        sLoc = sLoc.substr(0, iPos);
      iIncomingSourceID = parseInt(sLoc);
    }
  }

  var img = new Image(1, 1);
  img.src = trlog_GetURL(iWebsiteID, CVPointID, CVParam, iIncomingSourceID, true) + '&preventcache=' + Math.round(Math.random() * 10000000);
  img.onload = function() { trlog_VoidFunc(); }
}

function trlog_Link(iWebsiteID, CVPointID, CVParam, iIncomingSourceID, sAnchorParams, sAnchorContent)
{
  document.write('<a href="' + trlog_GetURL(iWebsiteID, CVPointID, CVParam, iIncomingSourceID, false) + '"' + sAnchorParams + '>' + sAnchorContent + '</a>');
}


