//plan type access data array for term
term = new Array();
term[0] = new Array("00","1 Year");
term[1] = new Array("01","5 Year");
term[2] = new Array("02","10 Year");
term[3] = new Array("03","15 Year");
term[4] = new Array("04","20 Year");
term[5] = new Array("05","25 Year");
term[6] = new Array("06","30 Year");

function pageSetup(obj) {
  obj.reset();
  statmsg(0);
  setFocus(obj);
  var ca_analysis_matched = false;
  var ca_analysis2_matched = false;
  if (document.cookie)  {
// get the cookie
    var cookie_value = document.cookie;
// parse cookie values non-printing chars
    cookie_value = unescape(cookie_value);
// split cookie name from all form name/value pairs
    var cookie_stuff = cookie_value.split("=");
    var cookie_nameValue = cookie_stuff[1].split("&");
    found_cookie = false;
// check quote type - if different skip cookie populate form
// check coverage amount and compare to ca_analysis value
    for (x = 0; x < cookie_nameValue.length; x++)  {
      cookie_form = cookie_nameValue[x].split(":");
      if (cookie_form[0] == "type" && cookie_form[1] == obj["type"].value)
        found_cookie = true;
      else if (cookie_form[0] == "First Client Premium")
        fcp = cookie_form[1];
      else if (cookie_form[0] == "ca_analysis")  {
        if (cookie_form[1] == "$"+fcp)
          ca_analysis_matched = true;
      }
      else if (cookie_form[0] == "Second Client Premium")
        fcp2 = cookie_form[1];
      else if (cookie_form[0] == "ca_analysis2")  {
        if (cookie_form[1] == "$"+fcp2)
          ca_analysis2_matched = true;
      }
    }
    if (found_cookie)  {
      cookie_form = "";
      var cookie_nameValue = cookie_stuff[1].split("&");
// check quote type - if different skip cookie populate form
      for (x = 0; x < cookie_nameValue.length; x++)  {
        cookie_form = cookie_nameValue[x].split(":");
// see if a radio object - check
        if (cookie_form[0] == "First Client Gender" || cookie_form[0] == "Second Client Gender" ||
            cookie_form[0] == "First Client Tobacco Use" || cookie_form[0] == "Second Client Tobacco Use")	{
// if a radio, check it (check value in cookie - check matching radio)
          if (cookie_form[1] == "1" || cookie_form[1] == "N")  {
            eval_obj = eval('obj["' + cookie_form[0] + '"][0]');
            if (eval_obj)  eval_obj.checked = true;
          }
          else if (cookie_form[1] == "2" || cookie_form[1] == "Y")  {
            eval_obj = eval('obj["' + cookie_form[0] + '"][1]');
            if (eval_obj)  eval_obj.checked = true;
          }
        }
// if 'Risk', check it (check value in cookie - check matching box)
        if (cookie_form[0] == "First Client Risk SP" || cookie_form[0] == "Second Client Risk SP" ||
            cookie_form[0] == "First Client Risk P" || cookie_form[0] == "Second Client Risk P" ||
            cookie_form[0] == "First Client Risk SR" || cookie_form[0] == "Second Client Risk SR" ||
            cookie_form[0] == "First Client Risk R" || cookie_form[0] == "Second Client Risk R")  {
	      	eval_obj = eval('obj["' + cookie_form[0] + '"]');
            if (eval_obj)  eval_obj.checked = true;
        }
// see if a select object - select
        else  {
          eval_obj = eval('obj["' + cookie_form[0] + '"]');
          if (eval_obj)  eval_obj.value = cookie_form[1];
        }
      }
    }
  }

  if (!NS4) {
// set coverage type help file link
	make_a_change_ct();
// set plan type help file link
    make_a_change_pt();
    if (typeof obj["Second_Client_Coverage_Type"] != "undefined")
      make_a_change_pt2();
// set payment schedule help file link
    make_a_change_ps();
// set joint type help file link
    if (typeof obj["Joint Type"] != "undefined")
      make_a_change_jt();
  }
// check if value from needs analysis used
  if (ca_analysis_matched)
    check_needs_value();
   else
    document.wq.ca_analysis.value = "";
  if (typeof obj["ca_analysis2"] != "undefined")  {
    if (ca_analysis2_matched)
      check_needs_value2();
     else
      document.wq.ca_analysis2.value = "";
  }
}

function setFocus(obj) {
  obj[0].focus();
  return;
};

function validate_page(obj) {
//validate Zip Code for numbers
  var tmpV=obj['Zip Code'].value;
  var tmpN=obj['Zip Code'].name;
  for (var ii =0; ii < tmpV.length; ii++)    {
    var c = tmpV.charCodeAt(ii);
//dashes && numbers only
    if ( (c > 57 || c < 45) )        {
        alert("Allowed text for this field\ndigits 0-9\nPlease Re-enter");
        obj['Zip Code'].focus();
        return false;
    }
    else if (tmpV.length < 5)	{
        alert("Allowed length for this field\n5 digits 0-9\nPlease Complete");
        obj['Zip Code'].focus();
        return false;
    }
  }
  return fc_val_date(obj);
};

// obj = form name
// startIndex = where DOB fields start in the form
function val_date(obj, startIndex)  {
// number of days in each month Jan - Dec
  var months = new Array ("31","29","31","30","31","30","31","31","30","31","30","31");
// month
  tmpMonthIndex=obj[startIndex].selectedIndex;//selected item in option list
  tmpMonthName=obj[startIndex].name;//selection field name
  tmpMonthText=obj[startIndex].options[tmpMonthIndex].text;//selection value
// day
  tmpDayIndex=obj[startIndex+1].selectedIndex;//selected item in option list
  tmpDayName=obj[startIndex+1].name;//selection field name
  tmpDayText=obj[startIndex+1].options[tmpDayIndex].text;//selection value
  tmpDayIndex += 1;//add one for array offset
// year
  tmpYearIndex=obj[startIndex+2].selectedIndex;//selected item in option list
  tmpYearName=obj[startIndex+2].name;//selection field name
  tmpYearText=obj[startIndex+2].options[tmpYearIndex].text;//selection value
  tmpYearIndex += 1;//add one for array offset
//check proper month to day value (jan ==max 31 days, feb = max 29 days)
  if (tmpDayIndex > months[tmpMonthIndex])  {
    tmpString1="The number of days in " + tmpMonthText + "\nhas been incorrectly set.\nPlease Re-select.";
    alert(tmpString1);
    obj[startIndex+1].focus();
    return false;
  }
//check proper year to day value (leap year feb = max 29 days || max 28 days)
//formula:  yr/4 ==0 && yr/100 !=0 || yr/400 ==0
//February && 29
  if (tmpMonthIndex == 1 && tmpDayIndex == 29)  {
    if ( (tmpYearText % 4 ==0 && tmpYearText % 100 != 0) || ( tmpYearText % 400 == 0) )    {
    }
    else    {
      tmpString1="The number of days in " + tmpMonthText + "\nhas been incorrectly set.\nPlease Re-select.";
      alert(tmpString1);
      obj[startIndex+1].focus();
      return false;
    }
  }
//birthdate range validation (no older than 95, no younger than today)
  var today = new Date();
  var m = today.getMonth(today);
  var d = today.getDate();
  var tmpYear19 = "19";
  yy = new String(today.getYear());
  var y;
//add first 2 digits from year returned if year <= 1999
  if (yy <= 99)  {
    y = tmpYear19+yy;
  }
  else  {
    y = yy.replace(/^1/, "20");
  }
//check against todays date to ensure proper birthdate entered
  if (tmpMonthIndex > m)  {
    if (tmpYearText >= y)    {
      alert("Your Birthdate has been set incorrectly.\nPlease Re-enter.");
      obj[startIndex].focus();
      return false;
    }
  }
  if (tmpMonthIndex == m)  {
    if (tmpDayIndex > d)    {
      if (tmpYearText >= y)      {
        alert("Your Birthdate has been set incorrectly.\nPlease Re-enter.");
        obj[startIndex].focus();
        return false;
      }
    }
  }
  if (tmpYearText >= y)  {
    alert("Your Birthdate has been set incorrectly.\nPlease Re-enter.");
    obj[startIndex].focus();
    return false;
  }
//check for maximum age (95)
  if ( (y-tmpYearText) > 95)  {
    alert("The maximum age is 95.\nPlease Re-enter.");
    obj[startIndex+1].focus();
    return false;
  }
// make sure items have been selected for
// Coverage Amount, Coverage Type, Payment Schedule
  if (submitting)  {
    submitting = val_ca_ct_ps();
    if (submitting)  {
// save a cookie
      submitting = setCookie(obj);
    }
// submit
    return submitting;
  }
};
// fix for duplicate Risk entries, state select
  function setCookie(obj)  {
    if (NS4) return true;
    var cookie_name = "wq";
    var cookie_value = "";
    for (x = 0; x < obj.length; x++)  {
      if ( (obj[x].name == "First Client Gender" && obj[x].checked) ||
           (obj[x].name == "Second Client Gender" && obj[x].checked) ||
           (obj[x].name == "First Client Risk SP" && obj[x].checked) ||
           (obj[x].name == "First Client Risk P" && obj[x].checked) ||
           (obj[x].name == "First Client Risk SR" && obj[x].checked) ||
           (obj[x].name == "First Client Risk R" && obj[x].checked) ||
           (obj[x].name == "Second Client Risk SP" && obj[x].checked) ||
           (obj[x].name == "Second Client Risk P" && obj[x].checked) ||
           (obj[x].name == "Second Client Risk SR" && obj[x].checked) ||
           (obj[x].name == "Second Client Risk R" && obj[x].checked) ||
           (obj[x].name == "First Client Tobacco Use" && obj[x].checked) ||
           (obj[x].name == "Second Client Tobacco Use" && obj[x].checked) ||
            obj[x].name != "First Client Gender" && obj[x].name != "Second Client Gender" &&
            obj[x].name != "First Client Risk SP" && obj[x].name != "First Client Risk P" &&
            obj[x].name != "First Client Risk SR" && obj[x].name != "First Client Risk R" &&
            obj[x].name != "Second Client Risk SP" && obj[x].name != "Second Client Risk P" &&
            obj[x].name != "Second Client Risk SR" && obj[x].name != "Second Client Risk R" &&
            obj[x].name != "First Client Tobacco Use" && obj[x].name != "Second Client Tobacco Use")  {
        if (obj[x].name == "First Client Premium" || obj[x].name == "Second Client Premium")  {
          tmp_value = obj[x].value;
          tmp_value = tmp_value.replace(/\$/g, "")
          cookie_value += obj[x].name +":"+tmp_value + "&";
        }
        else
          cookie_value += obj[x].name +":"+obj[x].value + "&";
      }
    }
    expireDate = new Date;
    expireDate.setDate(expireDate.getDate()+60);
    document.cookie = cookie_name +"=" + escape(cookie_value) + "expires=" + expireDate.toGMTString() ;
    return true;
  }

// find 'First Client Month' form field index
function fc_val_date(obj)  {
  var ret = "false";
  for (form_index = 0; form_index < obj.length; form_index++)  {
    if (obj[form_index].name == "month")  {
      return val_date(obj, form_index);
    }
  }
  return ret;
};
// find 'Second Client Birth Month' form field index
function sc_val_date(obj)  {
  var ret = "false";
  for (form_index = 0; form_index < obj.length; form_index++)  {
    if (obj[form_index].name == "Birth month")  {
      ret = val_date(obj, form_index);
    }
  }
  return ret;
};


