function isValidEmail(str) {
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
}

function IsEmpty(aTextField) {
   if ((aTextField.value.length==0) ||
   (aTextField.value==null)) {
      return true;
   }
   else { return false; }
}

// Checks if a given date string is in
// one of the valid formats:
// a) YYYY/M/D format
// b) YYYY-M-D format
// c) YYYY.M.D format
// d) YYYY_M_D format
function isDate(s)
{
  if (s.search(/^\d{4}[\/|\-|\.|_]\d{1,2}[\/|\-|\.|_]\d{1,2}/g) != 0)
    return false;
  // remove other separators that are not valid with the Date class
  s = s.replace(/[\-|\.|_]/g, "-");
  return (s);
}

function check_lookup_parent(form)
{
  var vStatus = '';
  var vFocus = 0;

  if ((IsEmpty(form.email)))
  {
    vStatus += 'You must enter at least one email address!\n';
    if (vFocus<1) {
      vFocus++;
      form.email.focus();
    }
  }
  if (!IsEmpty(form.email)) {
//      if (!isValidEmail(form.email.value))
      if (!echeck(form.email.value))
      {
        vStatus += 'The email address is invalid!\n';
        if (vFocus<1) {
          vFocus++;
          form.email.focus();
        }
      }
  }
  if (vStatus !== '') {
    alert(vStatus);
    return false;
  } else {
    return true;
  }
}


function check_valid_parent(form)
{
  var vStatus = '';
  var vFocus = 0;

  if ( (IsEmpty(form.fname)) && (IsEmpty(form.mname)) )
  {
    vStatus += 'You must enter at least one Parent\'s name!\n';
    form.fname.focus();
    vFocus++;
  }
  if (IsEmpty(form.address))
  {
      vStatus += 'You must enter a value for Address!\n';
      if (vFocus<1) {
        vFocus++;
        form.address.focus();
      }
  }
  if (IsEmpty(form.city))
  {
    vStatus += 'You must enter a value for City!\n';
      if (vFocus<1) {
        vFocus++;
        form.city.focus();
      }
  }
  if (IsEmpty(form.state))
  {
    vStatus += 'You must enter a value for State!\n';
      if (vFocus<1) {
        vFocus++;
        form.state.focus();
      }
  }
  if (IsEmpty(form.zip))
  {
    vStatus += 'You must enter a value for Zip!\n';
    if (vFocus<1) {
      vFocus++;
      form.zip.focus();
    }
  }
  if ((IsEmpty(form.fphone)) && (IsEmpty(form.mphone)))
  {
    vStatus += 'You must enter at least one Parent\'s telephone number!\n';
    if (IsEmpty(form.fname)) {
      if (vFocus<1) {
        vFocus++;
        form.fname.focus();
      }
    }
    if (IsEmpty(form.fname)) {
      if (vFocus<1) {
        vFocus++;
        form.fname.focus();
      }
    }
  }
  if ((IsEmpty(form.femail)) && (IsEmpty(form.memail)))
  {
    vStatus += 'You must enter at least one Parent\'s email address!\n';
    if (vFocus<1) {
      vFocus++;
      form.femail.focus();
    }
  }
  if (!IsEmpty(form.femail)) {
      if (!echeck(form.femail.value))
      {
        vStatus += 'The Father\'s email address is invalid!\n';
        if (vFocus<1) {
          vFocus++;
          form.femail.focus();
        }
      }
  }
  if (!IsEmpty(form.memail)) {
      if (!echeck(form.memail.value))
      {
        vStatus += 'The Mother\'s email address is invalid!\n';
        if (vFocus<1) {
          vFocus++;
          form.memail.focus();
        }
      }
  }
  if (IsEmpty(form.insurance))
  {
    vStatus += 'You must enter a value for Insurance Carrier!\n';
    if (vFocus<1) {
      vFocus++;
      form.insurance.focus();
    }
  }
  if (IsEmpty(form.policynum))
  {
    vStatus += 'You must enter a value for Policy Number!\n';
    if (vFocus<1) {
      vFocus++;
      form.policynum.focus();
    }
  }
  if (IsEmpty(form.ename))
  {
    vStatus += 'You must enter a value for Emergency Contact!\n';
    if (vFocus<1) {
      vFocus++;
      form.ename.focus();
    }
  }
  if (IsEmpty(form.erelationship))
  {
    vStatus += 'You must enter a value for Relationship to Participant!\n';
    if (vFocus<1) {
      vFocus++;
      form.erelationship.focus();
    }
  }
  if (IsEmpty(form.ephone))
  {
    vStatus += 'You must enter a value for Emergency Contact Telephone number!\n';
    if (vFocus<1) {
      vFocus++;
      form.ephone.focus();
    }
  }
  if (vStatus !== '') {
    alert(vStatus);
    return false;
  } else {
    return true;
  }
}


function check_valid_child(form)
{
  var vStatus = '';
  var vFocus = 0;

  if (IsEmpty(form.fname))
  {
      vStatus += 'You must enter a First Name!\n';
      if (vFocus<1) {
        vFocus++;
        form.fname.focus();
      }
  }
  if (IsEmpty(form.lname))
  {
    vStatus += 'You must enter a Last Name!\n';
      if (vFocus<1) {
        vFocus++;
        form.lname.focus();
      }
  }
  if (IsEmpty(form.bday) || (form.bday.value == 'YYYY-MM-DD') || (form.bday.value == '0000-00-00') || (isDate(form.bday.value) === false))
  {
    vStatus += 'You must enter a valid Birthday in the form of YYYY-MM-DD!\n';
      if (vFocus<1) {
        vFocus++;
        form.bday.focus();
      }
  }
/*
  if (form.bday.length<8)
  {
    vStatus += 'You must enter a valid Birthday in the form of YYYY-MM-DD!\n';
      if (vFocus<1) {
        vFocus++;
        form.bday.focus();
      }
  }
  if (IsEmpty(form.mdate) || (form.mdate.value == 'YYYY-MM-DD'))
  {
    vStatus += 'You must enter the date of the Physical in the form of YYYY-MM-DD!\n';
      if (vFocus<1) {
        vFocus++;
        form.mdate.focus();
      }
  }
*/
  if ((form.mdate.len>0) && ((form.bday.length<8) || (isDate(form.bday.value) === false)))
  {
    vStatus += 'If you enter the Date of the Physical it must be in the form of YYYY-MM-DD!\n';
      if (vFocus<1) {
        vFocus++;
        form.mdate.focus();
      }
  }
  if (vStatus !== '') {
    alert(vStatus);
    return false;
  } else {
    return true;
  }
}

function echeck(str) {
  var at="@"
  var dot="."
  var lat=str.indexOf(at)
  var lstr=str.length
  var ldot=str.indexOf(dot)
  if (str.indexOf(at)==-1){
     alert("Invalid E-mail Address")
     return false
  }
  if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
     alert("Invalid E-mail Address")
     return false
  }
  if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
      alert("Invalid E-mail Address")
      return false
  }
   if (str.indexOf(at,(lat+1))!=-1){
      alert("Invalid E-mail Address")
      return false
   }
   if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
      alert("Invalid E-mail Address")
      return false
   }
   if (str.indexOf(dot,(lat+2))==-1){
      alert("Invalid E-mail Address")
      return false
   }
   if (str.indexOf(" ")!=-1){
      alert("Invalid E-mail Address")
      return false
   }
   return true
}
