var valid=true,validMessage="";
var submitted=false;

function validate(fld,expr,message) {
   validMessage=message?message:"";
   var value="";
   if (fld.type=="select-one") {
       value=fld.options[fld.selectedIndex].value
//       alert(typeof(value)+":"+value)
       if (typeof(value)!="string") value=fld.options[fld.selectedIndex].text
   } else {
       value=fld.value
   }
   var re = new RegExp(expr)
   var ma = re.exec(value)
   if (!ma || ma[0]!=value) {
      valid=false;
      return false
   }
   valid=true;
   return true
}

function validateForm(form) {
   valid=true;
   for(var c=0;c<form.elements.length;c++) {
      if (form.elements[c].onchange) {
         form.elements[c].onchange()
         if (!valid) {
            var msg=validMessage
            if (msg=="") {
               var name=form.elements[c].name
               if (name.indexOf("_")>=0) name=name.substr(name.indexOf("_")+1) 
               msg=name+": ungültige Eingabe"
            }
            alert(msg)
            if (form.elements[c].type!="select-one") {
               form.elements[c].select();
            }
            form.elements[c].focus()
            return false
         }
      }
   }
   if (submitted) { 
      return false;
   }
   submitted=true;
   return true
}

