<!--
// form validator by Justin Case

function alertField(form, f){
  var fname;
  if(typeof(f) == 'string') fname = f;
  else fname = f.name;
  fname = fname.charAt(0).toUpperCase() + fname.substring(1, fname.length);
  alert('Please enter a value in '+fname);
  if(typeof(f) !== 'string'){
      f.focus();
      return false;
  }
  for(var i = 0; i < form.elements.length; i++){
      if(form.elements[i].name && form.elements[i].name == f){
          form.elements[i].focus();
          return false;
      }
  }
}

function validateForm(form){
  var radioGroups = new Array();
  for(var i = 0; i < form.elements.length; i++){
      if((form.elements[i].tagName.toLowerCase() == 'select' ||
      form.elements[i].tagName.toLowerCase() == 'textarea' ||
      (form.elements[i].tagName.toLowerCase() == 'input' &&
      (form.elements[i].type.toLowerCase() == 'text' ||
      form.elements[i].type.toLowerCase() == 'file'))) &&
      form.elements[i].className.indexOf('notRequired') < 0 &&
      form.elements[i].value == ''){
          alertField(form, form.elements[i]);
          return false;
      }
      else if(form.elements[i].className.indexOf('checkEmail') >= 0 &&
      form.elements[i].value !== '' &&
      form.elements[i].value.match(/^([\w\-]+\.?)+\@([\w\-]+\.{1})+(com|net|org|edu|int|mil|gov|biz|info|aero|museum|name|coop|\w{2})$/) == null){
          alert('Please enter a valid email address.');
          form.elements[i].focus();
          return false;
      }
      else if(form.elements[i].tagName.toLowerCase() == 'input' &&
      form.elements[i].type.toLowerCase() == 'checkbox' &&
      form.elements[i].className.indexOf('notRequired') < 0 &&
      !form.elements[i].checked){
          alert('You need to agree to our TOS.');
          form.elements[i].focus();
          return false;
      }
      else if(form.elements[i].tagName.toLowerCase() == 'input' &&
      form.elements[i].type.toLowerCase() == 'radio' &&
      !radioGroups[form.elements[i].name] &&
      radioGroups[form.elements[i].name] !== null &&
      form.elements[i].className.indexOf('notRequired') < 0){
          var t = (form.elements[i].checked)? true : null;
          radioGroups[form.elements[i].name] = t;
      }
      else if(form.elements[i].tagName.toLowerCase() == 'input' &&
      form.elements[i].type.toLowerCase() == 'radio' &&
      (radioGroups[form.elements[i].name] ||
      radioGroups[form.elements[i].name] == null) &&
      form.elements[i].className.indexOf('notRequired') < 0){
          if(form.elements[i].checked) radioGroups[form.elements[i].name] = true;
      }
  }
  for(var i in radioGroups){
      if(!radioGroups[i]){
          alertField(form, i);
          return false;
      }
  }
  return true;
}