      


function mo(src)
{
  if (!src.contains(event.fromElement))
  {
    src.style.cursor = 'hand';
    src.bgColor = '#010101';
  }
}
function mu(src)
{
  if (!src.contains(event.toElement))
  {
    src.style.cursor = 'default';
    src.bgColor = '#8d1313';
  }
}


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].id
       if (!value) 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) {
   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
}

var last=null;
var lastcolor="";


function formError( err, form ) {
   alert( err[0].toString() );
   if ( last ) 
      last.style.backgroundColor = lastcolor;
   last = form[err[0].name];
   if (last) {
      lastcolor=last.style.backgroundColor
      last.style.backgroundColor="#FFC0C0"
   }
   alert("Eingabefehler: "+err[0].message)
   if (last) {
      last.focus;
      last.select()
   }

}
