function ist_Emailadresse(strEmail){
	var Ergebnis = false;
	if (strEmail.match(/^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i)){
    	Ergebnis = true;
	}
	return Ergebnis;
}

function ist_Gutschein(strGutschein){
	var Ergebnis = false;
	if (strGutschein.match(/^[A-Z0-9]{9}$/)){
    	Ergebnis = true;
	}
	return Ergebnis;
}

function ist_Schaltjahr(Jahr) {
	var Eins = new Date(Jahr, 1, 28).getTime();
	var Zwei = new Date(Jahr, 2, 1).getTime();
	var Tage = (Zwei - Eins) / 86400000;
	var Erg  = "1";
	if(Tage == 1) {
    	Erg = "0";
    	return Erg;
 	} else {
    	return Erg;
 	}
	return Erg;
}

function ist_Datum(strDatum){
	var Ergebnis = false;
   	var re = new RegExp("^([0-9]{2,2}[.]{1,1}){2,2}[0-9]{4,4}$");
  	if (strDatum.match(re)) {
         var myDate  = strDatum.split(".")
         var Tag     = myDate[0];
         var Monat   = myDate[1];
         var Jahr    = myDate[2];
         var Datum   = Tag + "." + Monat + "." + Jahr;
         var Days = new Array("31", "28", "31", "30", "31", "30", "31", "31", "30", "31", "30", "31");
         if(ist_Schaltjahr(Jahr) == "1") {
             Days[1] = "29";
         }
         if(	Tag > 0 && Tag < 32 &&
             	Monat > 0 && Monat < 13 &&
             	Jahr > 1900 && Jahr < 2000) {
            if(Tag <= Days[Monat - 1]) {
            	Ergebnis = true;
         	}
    	}
  	}
	return Ergebnis;
}

function Grossschreibung(strWort){
   Zeichen_Beginn = strWort.substring(0,1);
   return Zeichen_Beginn.toUpperCase() + strWort.substring(1);
}

function Mehrzahl(strWort, intAnzahl){
	if (intAnzahl > 1) {
		switch (strWort) {
		  case "das folgende Feld":
		    strWort = "die folgenden Felder";
		  break;
		}
	}
	return strWort;
}

function Formulareingabenpruefen(FormularName){
	var Fehlermeldung = '';
	var Fehlermeldung_Pflichtfelder = '';
	var Fehlermeldung_Emailadressen = '';
	var Fehlermeldung_Wiederholungen = '';
	var Fehlermeldung_Datum = '';
	var Fehlermeldung_Gutschein = '';
	var FormularFelder = document.getElementById(FormularName).elements;
	for(var i = 0; i < FormularFelder.length; i++){
		if (FormularFelder[i].name.length > 0) {
			if ( FormularFelder[i].name.lastIndexOf("_") == (FormularFelder[i].name.length - 1)) {
				if (FormularFelder[i].value == "") {
					Fehlermeldung_Pflichtfelder += Grossschreibung(FormularFelder[i].name.substring(0,FormularFelder[i].name.lastIndexOf("_"))) + ", ";
				}
			}
			if	( (FormularFelder[i].name.lastIndexOf("Tag") > -1) || (FormularFelder[i].name.lastIndexOf("tag") > -1) ){
				FormularFelder[i].value = FormularFelder[i].value.replace("-", "");
				var test = FormularFelder[i].value;
				if (test.length > 0) {
					if (! ist_Datum(test)){
						Fehlermeldung_Datum = Texxt(1005) + "\n";
					}
				}
			}
			if	( (FormularFelder[i].name.lastIndexOf("Email") > -1) || (FormularFelder[i].name.lastIndexOf("email") > -1) ){
				var test = FormularFelder[i].value;
				if (test.length > 0) {
					if (! ist_Emailadresse(test)){
						Fehlermeldung_Emailadressen = Texxt(1002) + "\n";
					}
				}
			}
			if	( (FormularFelder[i].name.lastIndexOf("Gutschein") > -1) || (FormularFelder[i].name.lastIndexOf("gutschein") > -1) ){
				FormularFelder[i].value = FormularFelder[i].value.replace(" ", ""); // ... jedes Leerzeichen einzeln...
				FormularFelder[i].value = FormularFelder[i].value.replace(" ", "");
				FormularFelder[i].value = FormularFelder[i].value.replace(" ", "");
				FormularFelder[i].value = FormularFelder[i].value.replace(" ", "");
				FormularFelder[i].value = FormularFelder[i].value.toUpperCase();
				var test = FormularFelder[i].value;
				if (test.length > 0) {
					if (! ist_Gutschein(test)){
						Fehlermeldung_Gutschein = Texxt(1006) + "\n";
					}
				}
			}
			if (FormularFelder[i].name.lastIndexOf("_wdh") > -1) {
				var Feldname = FormularFelder[i].name;
				Feldname = Feldname.substring(0,Feldname.lastIndexOf("_wdh"));
				if (FormularFelder[Feldname]) {
					var testWert_1 = FormularFelder[i].value;
					var testWert_2 = FormularFelder[Feldname].value;
					if (! (testWert_1 == testWert_2)) {
						Fehlermeldung_Wiederholungen = Texxt(1004) + "\n";
					}
				} else {
					alert("Wiederholung: " + Feldname);
				}
			}
		}
	}

	if (Fehlermeldung_Pflichtfelder.length > 0){
		Fehlermeldung_Pflichtfelder = Fehlermeldung_Pflichtfelder.substring(0,(Fehlermeldung_Pflichtfelder.length-2));
		var aryTest = Fehlermeldung_Pflichtfelder.split(',');
		Fehlermeldung += Texxt(1003).replace(/das folgende Feld/g, Mehrzahl('das folgende Feld',aryTest.length)) + Fehlermeldung_Pflichtfelder + "\n";
	}
	if (Fehlermeldung_Emailadressen.length > 0){
		Fehlermeldung += Fehlermeldung_Emailadressen + "\n";
	}
	if (Fehlermeldung_Wiederholungen.length > 0){
		Fehlermeldung += Fehlermeldung_Wiederholungen + "\n";
	}
	if (Fehlermeldung_Datum.length > 0){
		Fehlermeldung += Fehlermeldung_Datum + "\n";
	}
	if (Fehlermeldung_Gutschein.length > 0){
		Fehlermeldung += Fehlermeldung_Gutschein + "\n";
	}
	if (Fehlermeldung.length > 0){
		Fehlermeldung += Texxt(1001);
		alert(Fehlermeldung);
		return false;
	}
	return true;
}

function textarea_begrenzer(feldname, maximum) {
	if (document.getElementById('novar_' + feldname)) {
		if (document.getElementById('novar_' + feldname).value = "") {
			document.getElementById('novar_' + feldname).value = maximum;
		}
	} else {
		alert('novar_' + feldname + " gibt es nicht.");
	}
	if (document.getElementById(feldname)){
		if (document.getElementById(feldname).value.length > maximum) {
			document.getElementById(feldname).value = document.getElementById(feldname).value.substring(0, maximum);
		} else {
			if (document.getElementById('novar_' + feldname)) {
				document.getElementById('novar_' + feldname).value = maximum - document.getElementById(feldname).value.length;
			}
		}
	} else {
		alert(feldname + " gibt es nicht.");
	}
}
