function Validate(id) {
  var f=document.getElementById(id);
  var Errors=new Array();
  for (var i=0; i<f.length; i++) {
    if (f.elements[i].getAttribute('validate')) {
      var Name=f.elements[i].name;
      var Value=f.elements[i].value;
      var Title=f.elements[i].title;
      var Req=f.elements[i].getAttribute('validate');
      if (Req=='required') {
        if (Value.length==0)
          Errors[Errors.length]="Please fill in the "+Title+" field.";
      }
      else if (Req=='email') {
        if (Value.indexOf('@')<1)
          Errors[Errors.length]="Please enter a valid email address for the "+Title+" field.";
      }
    }
  }
  if (Errors.length > 0) {
    var Intro='The following errors occurred while trying to submit the form. Please correct them and try again.';
    var Msg='';
    var FE=document.getElementById('FormErrors');
    if (FE) {
      Msg+='<p><strong>'+Intro+'</strong></p>\n<ul>\n';
      for (var i=0; i<Errors.length; i++)
        Msg+='<li>'+Errors[i]+'</li>\n';
      Msg+='</ul>\n';
      document.getElementById('FormErrors').style.display='block';
      document.getElementById('FormErrors').innerHTML=Msg;
    }
    else {
      Msg+=Intro+'\n\n';
      for (var i=0; i<Errors.length; i++)
        Msg+=Errors[i]+'\n';
      alert(Msg);    
    }
    return false;
  }
  else
    return true;
}