var errfield=new Array();

function check_formular() {
 errfield.length=0; var erg=true, mess=false, le=false;
 with(document.forms.editor) {
   for(i=0;i<elements.length;i++) {
     e=elements[i]; en=e.name; ev=e.value; et=e.type; enl=en.toLowerCase(); if(i>0) { le=elements[(i-1)]; }
     if(en.indexOf("OPT_")<0) {
       if(et=="text" || et=="textarea") {
         if(ev.length<1) { mess=errormess; erg=false; errfield[errfield.length]=e; }
         else if(enl.indexOf("email")>-1) { if(!validEMail(ev)) { erg=false; errfield[errfield.length]=e; if(!mess) { mess=mailerrormess; } } }
       }
       else if(et=="checkbox" && e.checked==false) { erg=false; errfield[errfield.length]=e; if(!mess) { mess=confirmmess; } }
       else if(et=="radio" && !check_radio_boxes(e)) { mess=errormess; erg=false; errfield[errfield.length]=e;  }
       else if(et.indexOf("select")>-1) {
          if(e.selectedIndex<0) {  mess=errormess; erg=false; errfield[errfield.length]=e; }
          else if(e.options[e.selectedIndex].value=="") {  mess=errormess; erg=false; errfield[errfield.length]=e; }
       }
     }
   }
 } 
 if(mess) hinweisen(mess,true); 
 return erg;
}

function check_radio_boxes(el) {
  els=document.getElementsByName(el.name); erg=false;
  if(el.value==els[(els.length-1)].value) { // nur bei der letzten Radiobox alle Werte checken:
    for(ec=0;ec<els.length;ec++) { erg=(erg || els[ec].checked) ? true:false; if(erg) { return erg; } }
  }
  else { erg=true; }
  return erg;
}

function hinweisen(txt,act) {
  var e0=errfield[0];
  if(act) { alert(txt);  ival=8; if(modernbrowser) blinken(ival); ival++; window.setTimeout("hinweisen('',false)",ival*100); }
  else  if(e0.type=="text" || e0.type=="textarea" || e0.type.indexOf("select")>-1)  { e0.focus(); e0.id="InputFoc"; }
}

function blinken(ival) { for(w=0;w<errfield.length;w++) { blink_obj(errfield[w].name,0,ival) } }

function blink_obj(objname,cnt,max) {
     cnt++; obj=get_obj(objname);  if(cnt==max) mc="Inputs";
     else if(cnt/2==Math.round(cnt/2)) mc="InputFalta";
     else mc="InputFoc";
     if(obj.type=="text" || obj.type=="textarea" || obj.type.indexOf("select")>-1) { obj.id=mc;  }
     else if(obj.type.match("radio|checkbox")) { zk=obj.parentNode.parentNode; zk.style.backgroundColor=(zk.style.backgroundColor=="red") ? "":"red"; }
     code="blink_obj('"+objname+"',"+cnt+","+max+")";
     if(cnt<max) void window.setTimeout(code,100);
}

function correct_email(ev) {
  ev=trim(ev," ");
  ev=replace_it(ev," ",""); 
  ev=replace_it(ev,"á","a"); ev=replace_it(ev,"é","e"); ev=replace_it(ev,"í","i"); ev=replace_it(ev,"ó","o");  ev=replace_it(ev,"ú","u"); 
  ev=replace_it(ev,"ä","ae"); ev=replace_it(ev,"ö","oe"); ev=replace_it(ev,"ü","ue"); 
  ev=replace_it(ev,"Ä","ae"); ev=replace_it(ev,"Ö","oe"); ev=replace_it(ev,"Ü","ue"); ev=replace_it(ev,"ß","ss");
  return ev;
}

