function getCookieVal (offset) {
  var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1)
    endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset, endstr));
}

function FixCookieDate (date) {
  var base = new Date(0);
  var skew = base.getTime(); // dawn of (Unix) time - should be 0
  if (skew > 0)  // Except on the Mac - ahead of its time
    date.setTime (date.getTime() - skew);
}

function 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)
      return getCookieVal (j);
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0) break; 
  }
  return null;
}

function SetCookie (name,value,expires,path,domain,secure) {
  document.cookie = name + "=" + escape (value) +
    ((expires) ? "; expires=" + expires.toGMTString() : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
}

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";
  }
}

// RecordCookie - sets the cookies

function RecordCookie () {
  var expdate = new Date ();
  FixCookieDate (expdate); // Correct for Mac date bug - call only once for given Date object!
  expdate.setTime (expdate.getTime() + (168 * 60 * 60 * 1000)); // 168 hrs (7 days) from now 
  SetCookie ("clientname", document.AppraisalOrder.ClieName.value, expdate);
  SetCookie ("clientadd1", document.AppraisalOrder.ClieAddress1.value, expdate);
  SetCookie ("clientadd2", document.AppraisalOrder.ClieAddress2.value, expdate);
  SetCookie ("clientphon", document.AppraisalOrder.CliePhone.value, expdate);
  SetCookie ("clientfax", document.AppraisalOrder.ClieFax.value, expdate);
  SetCookie ("clientyourname", document.AppraisalOrder.ClieYourName.value, expdate);
  SetCookie ("clientemail", document.AppraisalOrder.ClieEmail.value, expdate);
  SetCookie ("brokerto", document.AppraisalOrder.ClieBrokerAppraisalTo.value, expdate);
  SetCookie ("brokeradd1", document.AppraisalOrder.ClieBrokerAppraisalAddress1.value, expdate);
  SetCookie ("brokeradd2", document.AppraisalOrder.ClieBrokerAppraisalAddress2.value, expdate);

  // [02-17-2003] - Sets EDI Cookies
  //SetCookie ("deliveryhard", document.AppraisalOrder.ClieDelvHard.checked, expdate);
  //SetCookie ("deliveryedi", document.AppraisalOrder.ClieDelvEDI.checked, expdate);
  //SetCookie ("deliveryboth", document.AppraisalOrder.ClieDelvEDIandHard.checked, expdate);
  SetCookie ("ediemail", document.AppraisalOrder.ClieDelvEDIEmail.value, expdate);
  
  SetCookie ("visit", "yes", expdate);
	
}

function RecordBPOCookie () {
  var expdate = new Date ();
  FixCookieDate (expdate); // Correct for Mac date bug - call only once for given Date object!
  expdate.setTime (expdate.getTime() + (168 * 60 * 60 * 1000)); // 168 hrs (7 days) from now 
  SetCookie ("clientname", document.BPOOrder.ClieName.value, expdate);
  SetCookie ("clientadd1", document.BPOOrder.ClieAddress1.value, expdate);
  SetCookie ("clientadd2", document.BPOOrder.ClieAddress2.value, expdate);
  SetCookie ("clientphon", document.BPOOrder.CliePhone.value, expdate);
  SetCookie ("clientphonext", document.BPOOrder.CliePhoneExt.value, expdate);
  SetCookie ("clientfax", document.BPOOrder.ClieFax.value, expdate);
  SetCookie ("clientemail", document.BPOOrder.ClieEmail.value, expdate);

  // [02-17-2003] - Sets EDI Cookies
  //SetCookie ("deliveryhard", document.AppraisalOrder.ClieDelvHard.checked, expdate);
  //SetCookie ("deliveryedi", document.AppraisalOrder.ClieDelvEDI.checked, expdate);
  //SetCookie ("deliveryboth", document.AppraisalOrder.ClieDelvEDIandHard.checked, expdate);
  SetCookie ("ediemail", document.BPOOrder.ClieDelvEDIEmail.value, expdate);
  
  SetCookie ("visit", "yes", expdate);
	
}

// FillIn - fills in the blanks

function FillIn () {
  if (GetCookie ("visit") == "yes") {
    if (GetCookie ("clientname") != null)
      document.AppraisalOrder.ClieName.value = GetCookie ("clientname");
    if (GetCookie ("clientadd1") != null)
      document.AppraisalOrder.ClieAddress1.value = GetCookie ("clientadd1");
    if (GetCookie ("clientadd2") != null)
      document.AppraisalOrder.ClieAddress2.value = GetCookie ("clientadd2");
    if (GetCookie ("clientphon") != null)
      document.AppraisalOrder.CliePhone.value = GetCookie ("clientphon");
    if (GetCookie ("clientfax") != null)
      document.AppraisalOrder.ClieFax.value = GetCookie ("clientfax");
    if (GetCookie ("clientyourname") != null)
      document.AppraisalOrder.ClieYourName.value = GetCookie ("clientyourname");
    if (GetCookie ("clientemail") != null)
      document.AppraisalOrder.ClieEmail.value = GetCookie ("clientemail");

    if (GetCookie ("brokerto") != null)
      document.AppraisalOrder.ClieBrokerAppraisalTo.value = GetCookie ("brokerto");
    if (GetCookie ("brokeradd1") != null)
      document.AppraisalOrder.ClieBrokerAppraisalAddress1.value = GetCookie ("brokeradd1");
    if (GetCookie ("brokeradd2") != null)
      document.AppraisalOrder.ClieBrokerAppraisalAddress2.value = GetCookie ("brokeradd2");

    // [02-17-2003] - Fills in things for the EDI automatically
    //if (GetCookie ("deliveryhard") == "true")
    //  document.AppraisalOrder.ClieDelvHard.checked = 1;
    //else document.AppraisalOrder.ClieDelvHard.checked = 0;
    //if (GetCookie ("deliveryedi") == "true")
    //  document.AppraisalOrder.ClieDelvEDI.checked = 1;
    //else document.AppraisalOrder.ClieDelvEDI.checked = 0;
    //if (GetCookie ("deliveryboth") == "true")
    //  document.AppraisalOrder.ClieDelvEDIandHard.checked = 1;
    //else document.AppraisalOrder.ClieDelvEDIandHard.checked = 0;
    if (GetCookie ("ediemail") != null)
      document.AppraisalOrder.ClieDelvEDIEmail.value = GetCookie ("ediemail");

  }
}

function BPOFillIn () {
  if (GetCookie ("visit") == "yes") {
    if (GetCookie ("clientname") != null)
      document.BPOOrder.ClieName.value = GetCookie ("clientname");
    if (GetCookie ("clientadd1") != null)
      document.BPOOrder.ClieAddress1.value = GetCookie ("clientadd1");
    if (GetCookie ("clientadd2") != null)
      document.BPOOrder.ClieAddress2.value = GetCookie ("clientadd2");
    if (GetCookie ("clientphon") != null)
      document.BPOOrder.CliePhone.value = GetCookie ("clientphon");
    if (GetCookie ("clientphonext") != null)
      document.BPOOrder.CliePhoneExt.value = GetCookie ("clientphonext");
    if (GetCookie ("clientfax") != null)
      document.BPOOrder.ClieFax.value = GetCookie ("clientfax");
    if (GetCookie ("clientemail") != null)
      document.BPOOrder.ClieEmail.value = GetCookie ("clientemail");

    // [02-17-2003] - Fills in things for the EDI automatically
    //if (GetCookie ("deliveryhard") == "true")
    //  document.AppraisalOrder.ClieDelvHard.checked = 1;
    //else document.AppraisalOrder.ClieDelvHard.checked = 0;
    //if (GetCookie ("deliveryedi") == "true")
    //  document.AppraisalOrder.ClieDelvEDI.checked = 1;
    //else document.AppraisalOrder.ClieDelvEDI.checked = 0;
    //if (GetCookie ("deliveryboth") == "true")
    //  document.AppraisalOrder.ClieDelvEDIandHard.checked = 1;
    //else document.AppraisalOrder.ClieDelvEDIandHard.checked = 0;
    if (GetCookie ("ediemail") != null)
      document.BPOOrder.ClieDelvEDIEmail.value = GetCookie ("ediemail");

  }
}

// DeleteCookies - remove the cookies that are set

function DeleteCookies () {
  DeleteCookie ("clientname");
  DeleteCookie ("clientadd1");
  DeleteCookie ("clientadd2");
  DeleteCookie ("clientphon");
  DeleteCookie ("clientfax");
  DeleteCookie ("clientyourname");
  DeleteCookie ("clientemail");

  DeleteCookie ("brokerto");
  DeleteCookie ("brokeradd1");
  DeleteCookie ("brokeradd2");

  // [02-17-2003] - Deletes EDI-related cookies
  DeleteCookie ("deliveryhard");
  DeleteCookie ("deliveryedi");
  DeleteCookie ("deliveryboth");
  DeleteCookie ("ediemail");
  DeleteCookie ("visit");
}
