String.prototype.basicTrim = function () {
  return (this.replace(/\s+$/,"").replace(/^\s+/,""));
  };

function entferneTags(stri) {
  stri = stri.replace(/-<br>/, "");
  stri = stri.replace(/<br>/, " ");
  stri = stri.replace(/\*/, "");
  return stri;
}

function pruefeFelder(formular, zusatzcheck, farbenormal, farbefehler) {
 var laenge = formular.length;
 var feld;
 var typ;
 var wert;
 var ganzz;
 var kommaz;
 var klasse;
 var fehler = '';
 for (var i = 0; i < laenge; i++) {
     feld = formular[i].name;
     if (document.getElementById(feld)!=null) {
        wert = formular[i].value; /*alert(wert);*/
        typ = document.getElementById(feld).getAttribute('datentyp');
         try {
             document.getElementById('feld_'+feld).style.color = farbenormal;
         }
         catch(e) {
         }
        ganzz = wert.match(/^[0-9]+$/);
        kommaz = wert.match(/^[0-9]+,[0-9]+$/);
        datum = wert.match(/^([0-9]{1}|[0-9]{2})\.([0-9]{1}|[0-9]{2})\.([0-9]{2}|[0-9]{4})$/);
        if (typ=='int') {
           if (ganzz == null && wert != '') {
              fehler += entferneTags(document.getElementById('feld_'+feld).innerHTML) + '\n'
              fehler += 'Ungültige Dateneingabe: Bitte geben Sie eine ganze Zahl ein.\n\n';
              document.getElementById('feld_'+feld).style.color = farbefehler;
           }
        }
        else if (typ=='intM') {
           if (ganzz == null) {
              fehler += 'Pflichtfeld: ' + entferneTags(document.getElementById('feld_'+feld).innerHTML) + '\n'
              fehler += 'Ungültige Dateneingabe: Bitte geben Sie eine ganze Zahl ein.\n\n';
              document.getElementById('feld_'+feld).style.color = farbefehler;
           }
        }
        else if (typ=='float') {
           if (kommaz == null && wert != '') {
              fehler += entferneTags(document.getElementById('feld_'+feld).innerHTML) + '\n'
              fehler += 'Ungültige Dateneingabe: Bitte geben Sie eine Fließkommazahl ein.\n\n';
              document.getElementById('feld_'+feld).style.color = farbefehler;
           }
        }
        else if (typ=='floatM') {
           if (kommaz == null) {
              fehler += 'Pflichtfeld: ' + entferneTags(document.getElementById('feld_'+feld).innerHTML) + '\n'
              fehler += 'Ungültige Dateneingabe: Bitte geben Sie eine Fließkommazahl ein.\n\n';
              document.getElementById('feld_'+feld).style.color = farbefehler;
           }
        }
        else if (typ=='intfloat') {
           if (kommaz == null && ganzz == null && wert != '') {
              fehler += entferneTags(document.getElementById('feld_'+feld).innerHTML) + '\n'
              fehler += 'Ungültige Dateneingabe: Bitte geben Sie eine Ganz- oder Fließkommazahl ein.\n\n';
              document.getElementById('feld_'+feld).style.color = farbefehler;
           }
        }
        else if (typ=='intfloatM') {
           if (kommaz == null && ganzz == null) {
              fehler += 'Pflichtfeld: ' + entferneTags(document.getElementById('feld_'+feld).innerHTML) + '\n'
              fehler += 'Ungültige Dateneingabe: Bitte geben Sie eine Ganz- oder Fließkommazahl ein.\n\n';
              document.getElementById('feld_'+feld).style.color = farbefehler;
           }
        }
         else if (typ=='datumM') {
           if (datum == null) {
              fehler += 'Pflichtfeld: ' + entferneTags(document.getElementById('feld_'+feld).innerHTML) + '\n'
              fehler += 'Ungültige Dateneingabe: Bitte geben Sie ein gültiges Datum ein.\n\n';
              document.getElementById('feld_'+feld).style.color = farbefehler;
           }
        }
        else if (typ=='m') {
           if (wert.basicTrim() == '') {
              fehler += 'Pflichtfeld: ' + entferneTags(document.getElementById('feld_'+feld).innerHTML) + '\n'
              fehler += 'Dateneingabe fehlt.\n\n';
              document.getElementById('feld_'+feld).style.color = farbefehler;
           }
        }
        else if (typ=='agbm') {
           if (!document.getElementById(feld).checked) {
              fehler += 'Pflichtfeld: AGB\n'; // + entferneTags(document.getElementById('feld_'+feld).innerHTML) + '\n'
              fehler += 'Sie haben die AGB nicht bestätigt.\n\n';
              document.getElementById('feld_'+feld).style.color = farbefehler;
           }
        }
     }
 }
 if (fehler != '') {
     alert(fehler);
     return false;
 }
 else {
     if (zusatzcheck == null) {
        return true;
     }
     else {
        return zusatzcheck(formular);
     }
 }
}
