setCookie();

function checkInfo()
{
   if ((document.location.search.indexOf("affiliate=") == -1) &&
       (document.cookie.indexOf("affiliate=") == -1)) {

       return false;
   }

   return true;
}

function getAffiliateID()
{
   var result;
   if (result = (document.location.search).match(/affiliateid=([^&]*)/))
   {
      if (result[1] != '')
        return unescape(result[1]);
      else
        return '';
   }
   else if ((document.cookie.indexOf("affiliate=")) != -1)
      return getCookieValue('affiliateid');
   else
      return '';
}

function getCompanyName()
{
   var result;
   if (result = (document.location.search).match(/companyname=([^&]*)/))
   {
      if (result[1] != '')
        return unescape(result[1]);
      else
        return '';
   }
   else if ((document.cookie.indexOf("affiliate=")) != -1)
      return getCookieValue('companyname');
   else
      return '';
}

function getContactName()
{
   var result;
   if (result = (document.location.search).match(/contactname=([^&]*)/))
   {
      if (result[1] != '')
        return unescape(result[1]);
      else
        return '';
   }
   else if ((document.cookie.indexOf("affiliate=")) != -1)
      return getCookieValue('contactname');
   else
      return '';
}

function getAddress()
{
   var result;
   if (result = (document.location.search).match(/address=([^&]*)/))
   {
      if (result[1] != '') {
        result[1].replace(/\015/,"<br>");
        return unescape(result[1]);
      }
      else
        return '';
   }
   else if ((document.cookie.indexOf("affiliate=")) != -1)
      return getCookieValue('address');
   else
      return '';
}

function getCity()
{
   var result;
   if (result = (document.location.search).match(/city=([^&]*)/))
   {
      if (result[1] != '')
        return unescape(result[1]);
      else
        return '';
   }
   else if ((document.cookie.indexOf("affiliate=")) != -1)
      return getCookieValue('city');
   else
      return '';
}

function getState()
{
   var result;
   if (result = (document.location.search).match(/state=([^&]*)/))
   {
      if (result[1] != '')
        return unescape(result[1]);
      else
        return '';
   }
   else if ((document.cookie.indexOf("affiliate=")) != -1)
      return getCookieValue('state');
   else
      return '';
}

function getZipcode()
{
   var result;
   if (result = (document.location.search).match(/zipcode=([^&]*)/))
   {
      if (result[1] != '')
        return unescape(result[1]);
      else
        return '';
   }
   else if ((document.cookie.indexOf("affiliate=")) != -1)
      return getCookieValue('zipcode');
   else
      return '';
}

function getCountry()
{
   var result;
   if (result = (document.location.search).match(/country=([^&]*)/))
   {
      if (result[1] != '')
        return unescape(result[1]);
      else
        return '';
   }
   else if ((document.cookie.indexOf("affiliate=")) != -1)
      return getCookieValue('country');
   else
      return '';
}

function getPhoneNumber()
{
   var result;
   if (result = (document.location.search).match(/phonenumber=([^&]*)/))
   {
      if (result[1] != '')
        return unescape(result[1]);
      else
        return '';
   }
   else if ((document.cookie.indexOf("affiliate=")) != -1)
      return getCookieValue('phonenumber');
   else
      return '';
}

function getFax()
{
   var result;
   if (result = (document.location.search).match(/fax=([^&]*)/))
   {
      if (result[1] != '')
        return unescape(result[1]);
      else
        return '';
   }
   else if ((document.cookie.indexOf("affiliate=")) != -1)
      return getCookieValue('fax');
   else
      return '';
}

function getEmailAddress()
{
   var result;
   if (result = (document.location.search).match(/emailaddress=([^&]*)/))
   {
      if (result[1] != '')
        return unescape(result[1]);
      else
        return '';
   }
   else if ((document.cookie.indexOf("affiliate=")) != -1)
      return getCookieValue('emailaddress');
   else
      return '';
}

function getReturnURL()
{
   var result;
   if (result = (document.location.search).match(/returnurl=([^&]*)/))
   {
      if (result[1] != '')
        return unescape(result[1]);
      else
        return '';
   }
   else if ((document.cookie.indexOf("affiliate=")) != -1)
      return getCookieValue('returnurl');
   else
      return '';
}

function getOrderURL()
{
   var result;
   if (result = (document.location.search).match(/orderurl=([^&]*)/))
   {
      if (result[1] != '')
        return unescape(result[1]);
      else
        return '';
   }
   else if ((document.cookie.indexOf("affiliate=")) != -1)
      return getCookieValue('orderurl');
   else
      return '';
}

function getAccount()
{
   var result;
   if (result = (document.location.search).match(/target=([^&]*)/))
   {
      if (result[1] != '')
        return unescape(result[1]);
      else
        return '';
   }
   else if ((document.cookie.indexOf("affiliate=")) != -1)
      return getCookieValue('target');
   else
      return '';
}

function setCookie()
{
   if (document.location.search && checkInfo()) {

      var expires = new Date();
      expires.setYear(parseInt(expires.getFullYear())+5);
      
      document.cookie = "affiliate=" + 
          "affiliateid="      + escape(getAffiliateID())+
          "&companyname="     + escape(getCompanyName())+
          "&contactname="     + escape(getContactName())+
          "&address="         + escape(getAddress())+
          "&city="            + escape(getCity())+
          "&state="           + escape(getState())+
          "&zipcode="         + escape(getZipcode())+
          "&country="         + escape(getCountry())+
          "&phonenumber="     + escape(getPhoneNumber())+
          "&fax="             + escape(getFax())+
          "&emailaddress="    + escape(getEmailAddress())+
          "&returnurl="       + escape(getReturnURL())+
          "&orderurl="        + escape(getOrderURL())+
          "&target="          + escape (getAccount())+
          "; expires="        + expires.toGMTString()+
          "; path=/";
   }

   return 1;
}

function deleteCookie()
{
   var expires = "expires=Fri, 02-Jan-1970 00:00:00 GMT;";
   var cookieInfo = "affiliate=; path=/; "+expires
   document.cookie = cookieInfo;
}

function getCookieValue(key)
{
   var pos = document.cookie.indexOf("affiliate=");
   pos += 10;
   var end = document.cookie.indexOf(";",pos);
   if (end == -1)
     end = document.cookie.length;
   var value = document.cookie.substring(pos,end);
   var list = value.split('&');
   for (i=0;i<list.length;i++)
   {
      k = (list[i].split('='))[0];
      if (k == key)
      {
         v = (list[i].split('='))[1];
         return unescape(v);
      }
   }
}

