/*--------------------------------------
   Apptix spid tracking - spidtrack.js
----------------------------------------*/

var AOD2_SPID_COOKIE_NAME = "aod2-spid";
var AOD2_SPID_COOKIE_EXP_DAYS = 45;

var AOD2_SPID_COOKIE = getCookie(AOD2_SPID_COOKIE_NAME);

var AOD2_SPID_VAL = getUrlParam("spid");
var AOD2_SPID_FRAG = null;
if ((AOD2_SPID_COOKIE != null) && (AOD2_SPID_COOKIE != "undefined"))
{
   if ((AOD2_SPID_VAL != null) && (AOD2_SPID_VAL != ""))
   {
      AOD2_SPID_FRAG = AOD2_SPID_VAL;
      deleteCookie(AOD2_SPID_COOKIE_NAME, null, false);
      setCookieByDays(AOD2_SPID_COOKIE_NAME, AOD2_SPID_FRAG, AOD2_SPID_COOKIE_EXP_DAYS, null, false);
   } else {
      AOD2_SPID_FRAG = AOD2_SPID_COOKIE;
   }
} else {
   if ((AOD2_SPID_VAL != null) && (AOD2_SPID_VAL != ""))
   {
      AOD2_SPID_FRAG = AOD2_SPID_VAL;
      setCookieByDays(AOD2_SPID_COOKIE_NAME, AOD2_SPID_FRAG, AOD2_SPID_COOKIE_EXP_DAYS, null, false);
   }
}

/*********************************/
function getUrlParam(paramName)
/*********************************/
{
   var paramsStr = document.location.search;

   if (paramsStr.length > 1)
   {
      paramsStr = paramsStr.substring(1);
      var params = paramsStr.split("&");
      for (var i = 0; i < params.length; i++)
      {
         paramToks = params[i].split("=");
         if (paramToks.length > 1)
         {
            var paramKey = paramToks[0];
            if (paramKey == paramName)
            {
               var paramVal = paramToks[1];
               paramVal = paramVal.replace(/\+/g, " ");
               paramVal = paramVal.replace(/%20/g, " ");
               return paramVal;
            }
         }
      }
   }
   return null;
}

/*********************************/
function setCookieByDays(name, value, days, path, domain, secure)
/*********************************/
{
   if (days != 0)
   {
      var exp = null;
      if (days != null)
      {
         exp = new Date();
         exp.setTime(exp.getTime() + days * (24 * 60 * 60 * 1000)); 
      }
      path="/";
      setCookie(name, value, exp, path, domain, secure);
   }
}


/*********************************/
function setCookie(name, value, expires, path, domain, secure)
/*********************************/
{
   var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
   document.cookie = curCookie;
}

/*********************************/
function getCookie(name)
/*********************************/
{
   var dc = document.cookie;
   var prefix = name + "=";
   var begin = dc.indexOf("; " + prefix);
   if (begin == -1)
   {
      begin = dc.indexOf(prefix);
      if (begin != 0) return null;
   }
   else begin += 2;

   var end = document.cookie.indexOf(";", begin);
   if (end == -1)
      end = dc.length;
   return unescape(dc.substring(begin + prefix.length, end));
}


/*********************************/
function deleteCookie(name, path, domain)
/*********************************/
{
   if (getCookie(name))
   {
      document.cookie = name + "=" +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      "; expires=Thu, 01-Jan-70 00:00:01 GMT";
   }
}

/*********************************/
function getAOD2_SPID(defaultHtml)
/*********************************/
{
   return (AOD2_SPID_FRAG != null) ? AOD2_SPID_FRAG : defaultHtml;
}
