// this code validates all 3 form fields

var FormValidation =
{
  init: function()
  {
    var forms = document.getElementsByTagName("form");
        for (var i = 0; i < forms.length; i++)
    {
      Core.addEventListener(forms[i], "submit", FormValidation.submit);
    }
  },
  
  rules:
  {
    required: /./,
    email: /^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/
  },
  
  errors:
  {
    required: "Please fill in this required field.",
    email: "Please enter a valid email address."
  },
  
  submit: function(event)
  {
    var fields = this.elements;
    for (var i = 0; i < fields.length; i++)
    {
      var className = fields[i].className;
      var classRegExp = /(^| )(\S+)( |$)/g;
      var classResult;
      while (classResult = classRegExp.exec(className))
      {
        var oneClass = classResult[2];
        var rule = FormValidation.rules[oneClass];
        if (typeof rule != "undefined")
        {
          if (!rule.test(fields[i].value))
          {
            fields[i].focus();
            alert(FormValidation.errors[oneClass]);
            Core.preventDefault(event);
            return;
          }
        }
      }
    }
  }
};

Core.start(FormValidation);