// set form defaults
function setDefaults()
{
  f = window.document.myForm;
  f.date.value = getCurrentDate();
}

// form validations
function validateForm(saveType)
{
  var valid = true;
  var focusField = "";
  var msg = "The following errors were found one this form:\n**************************************************\n\n";
  f = window.document.myForm;

  if (f.firstname.value == "")
  {
    msg = msg + "The Registrants First Name field must be entered in order to register guests. \n";
    valid = false;
    if (focusField == "")
    {
      focusField = f.firstname;
    }
  }
  if (f.lastname.value == "")
  {
    msg = msg + "The Registrants Last Name field must be entered in order to register guests. \n";
    valid = false;
    if (focusField == "")
    {
      focusField = f.lastname;
    }
  }

  if (f.email.value == "")
  {
    msg = msg + "The Email field must be entered in order to register. \n";
    valid = false;
    if (focusField == "")
    {
      focusField = f.email;
    }
  }
  else
  {
    if (!validateEmail(f.email.value))
    {
      f.email.focus();
      return(false);
    }
  }

  var one_guest_min = false;
  // process guest records
  if ((!isUndefined(f.guest_max)) && (f.guest_max.value > 0))
  {
    for (x=0; x < f.guest_max.value; x++)
    {
      var f_name = eval("f.guest_first_name_" + x);
      var l_name = eval("f.guest_last_name_" + x);
      if (
           (
             (!isUndefined(f_name)) && (f_name.value != "") &&
             (!isUndefined(l_name)) && (l_name.value == "")
           ) ||
           (
             (!isUndefined(f_name)) && (f_name.value == "") &&
             (!isUndefined(l_name)) && (l_name.value != "")
           )
         )
      {
        msg = msg + "Guest \"" + (x + 1) + "\" First and Last Name fields must be entered in order to register a guest. \n";
        valid = false;
        if (focusField == "")
        {
          focusField = f_name;
        }
      }
      if (
           (!isUndefined(f_name)) && (f_name.value != "") &&
           (!isUndefined(l_name)) && (l_name.value != "")
         )
      {
        one_guest_min = true;
      }
    }
  }

  if (!one_guest_min)
  {
    msg = msg + "At least one Guest must be entered in order to register. \n";
    valid = false;
    if (focusField == "")
    {
      focusField = f.guest_first_name_0;
    }
  }

  if (valid)
  {
    f.process.value = saveType;
    f.submit();
  }
  else
  {
    f.process.value = saveType;
    if (saveType == "finish")
    {
      if (f.groupId.value != 0)
      {
        if (!confirm("You have missing fields on this page. \n\nIf you would like to fix the errors on this page, click \"OK\" to view the errors and then click \"Finish Registration Process\". \n\nIf you do not need to process this form but you would like to \"Finalize\" previous registrations click \"Cancel\". \n\nClicking \"Cancel\" will not lose any registrations you have previously submitted, it simply signifies that you do not wish to process this particular page."))
        {
          f.process.value = "finish_no_process";
          f.submit();
          return true;
        }
      }
    }

    alert (msg);
    if (focusField != "")
    {
      focusField.focus();
    }

    return false;
  }
}
