
var Leerstring = " ist leer. Bitte geben Sie hier einen Wert ein.";

function FormularCheck(form) {
	return 	(PruefeEingabeName(form.NAME, "Name") &&
				 PruefeEingabeName(form.STRASSE, "Strasse") &&
				 PruefeEingabe(form.NUMMER, "Hausnummer") &&
				 PruefePLZ(form.PLZ) &&
				 PruefeEingabe(form.ORT, "Ort") &&
				 PruefeEingabeNummer(form.TELEFON, "Telefonnummer") &&
				 PruefeEmail(form.EMAIL))
}

function FormularCheckT(form) {
	return 	(PruefeEingabeName(form.NAME, "Name") &&
				  PruefeEingabeNummer(form.TELEFON, "Telefonnummer"))
}

// Pruefung auf Eingabe
function KontrolleNull(eingabe) {
	if ( eingabe.length == 0 ) 
   	return false;
	else 
 	return NurLeer(eingabe);
}

// Pruefung auf Leerzeichen (Eingabe ohne Inhalt)
function NurLeer(eingabe) {
	for ( var i=0; i<eingabe.length; i++ ) {
   	if ( eingabe.charAt(i) != " " ) {
	   	return true;
		}
	}
	return false;
}

// Pruefung auf  Ziffer
function IstZiffer(zeichen) {
	if( (zeichen >= "0") && (zeichen <= "9") )
		return true;
	else
		return false;
}

// Pruefung auf Ziffernfolge
function IstZiffernfolge(eingabe){
for ( var i=0; i<eingabe.length; i++ ) {
	aktzeichen = eingabe.charAt(i)
	if ( aktzeichen >= "0" && aktzeichen <= "9" )
			return true;
	else
			return false;
  }
}

// Pruefung auf Buchstabe
function IstBuchstabe(zeichen) {
		if ( (zeichen >= "a" && zeichen <= "z") || (zeichen >= "A" && zeichen <= "Z") ) 
			    return true;
		else
				return false;
}

// Pruefung auf Buchstabenfolge
function IstBuchstabenfolge(eingabe) {
	for ( var i=0; i<eingabe.length; i++ ) {
		aktzeichen = eingabe.charAt(i)
		if ( (aktzeichen >= "a" && aktzeichen<= "z") || (aktzeichen >= "A" && aktzeichen <="Z") ) 
			    return true;
		else
				return false;
	}
}

// Pruefung auf enthaltene Zeichen in einer Zeichenfolge
function IstZeichenIn(str1, str2) {
	for( i=0; i<str2.length;i++){
		var zeichen = str2.charAt(i);
		if(str1.indexOf(zeichen) == -1) return false;
	}
	return true;
}

// Kontrolle auf geforderte Zeichenanzahl
function ZaehleZeichen(eingabe, anz) {
	if ( eingabe.length == anz )
		return true;
	else
		return false;  
}

// Pruefung auf Gueltigkeitsbereich
function ZahlinBereich(eingabe, unten, oben) {
	var zahl = parseInt(eingabe);
	return ( (zahl >= unten) && (zahl <= oben) );
}

// Pruefung der Feldeingaben unter Angabe der Feldbezeichnung fuer die Generierung einer Fehlermeldung
function PruefeEingabe(eingabe, str) {
	if ( KontrolleNull(eingabe.value) && NurLeer(eingabe.value) ) {
		return true;
	}	
	else {
		eingabe.focus();
		alert("Das Feld " + str + Leerstring);
		return false;
	}
}

// Pruefung der Namen unter Angabe der Feldbezeichnung fuer die Generierung einer Fehlermeldung
function PruefeEingabeName(eingabe, str) {
	if ( KontrolleNull(eingabe.value) && NurLeer(eingabe.value) ) {
		var name = eingabe.value;
		if(name.length < 3) {
			eingabe.focus();
			alert("Bitte überprüfen Sie Ihre Eingabe");
			return false;
		}
		for(i=0; i<name.length; i++){
			if ( IstBuchstabe(name.charAt(i)) || name.charAt(i) == "-" || name.charAt(i) == "." || name.charAt(i) == " ")
			ergebnis = true;
			else {
			eingabe.focus();
			alert("Bitte überprüfen Sie Ihre Eingabe");
			return false;
			}
		}		
		return true;	
	}
	else {
		eingabe.focus();
		alert("Das Feld " + str + Leerstring);
		return false;
	}
}

// Pruefung der Telefonnr unter Angabe der Feldbezeichnung fuer die Generierung einer Fehlermeldung
function PruefeEingabeNummer(eingabe, str) {
	if ( KontrolleNull(eingabe.value) && NurLeer(eingabe.value) ) {
		var nummer = eingabe.value;
		if(nummer.length < 3) {
			eingabe.focus();
			alert("Bitte überprüfen Sie Ihre Eingabe");
			return false;
		}
		for(i=0; i<nummer.length; i++){
	
			if ( IstZiffer(nummer.charAt(i)) || nummer.charAt(i) == "-"  || nummer.charAt(i) == " "  || nummer.charAt(i) == "/"  || nummer.charAt(i) == "("  || nummer.charAt(i) == ")")
			ergebnis = true;
			else {
			eingabe.focus();
			alert("Bitte überprüfen Sie Ihre Eingabe");
			return false;
			}
		}		
		return true;	
	}
	else {
		eingabe.focus();
		alert("Das Feld " + str + Leerstring);
		return false;
	}
}

// Pruefung auf Richtigkeit der PLZ
function PruefePLZ(eingabe) {
	if ( IstZiffernfolge(eingabe.value) && ZaehleZeichen(eingabe.value, 5) && ZahlinBereich(eingabe.value, 01000, 99999) ) {
		return true;
	}	
	else {
		eingabe.focus();
		alert("Ungültige deutsche PLZ - bitte überprüfen Sie Ihre Eingabe");
		return false;
	}
}

// einfache Pruefung des Hostnamens auf Plausibilitaet
function PruefeHostname(hname) {
	var trenner1 = hname.indexOf(".");
	var trenner2 = hname.lastIndexOf(".");
	if ( (trenner1 == -1) || (trenner2 == -1) ) return false;
	var name = hname.substring(0,trenner1);
	if (name.length < 3) return false;
	var tld = hname.substring(trenner2 + 1, hname.length);
	if(  (tld.length < 2) || (tld.length > 4)) return false;
	for(i=0; i<name.length; i++){
		if ( IstZiffer(name.charAt(i)) || IstBuchstabe(name.charAt(i)) || name.charAt(i) == "-" || name.charAt(i) == "_")
		ergebnis = true;
		else
		return false;		
	}
	return (IstBuchstabenfolge(tld) && ergebnis);
	
}

// einfache Pruefung des Usernamens auf Plausibilitaet
function PruefeUsername(name) {
	for(i=0; i<name.length; i++) {
		if ( IstZiffer(name.charAt(i)) || IstBuchstabe(name.charAt(i)) || name.charAt(i) == "-" || name.charAt(i) == "_" || name.charAt(i) == ".")
		ergebnis = true;
		else
		return false;		
	}
	return (ergebnis);
}

// Pruefung der E-Mail-Adresse
function PruefeEmail(eingabe){
	var adresse = eingabe.value;
	if ( adresse.length == 0 ) return true;
	 
	var trenner = adresse.lastIndexOf("@");
	if ( (adresse.length < 8) || (trenner == -1) ){
	eingabe.focus();
	alert("Ungültige e-mail-Adresse - bitte überprüfen Sie Ihre Eingabe");
	return false;
	}
	var username = adresse.substring(0, trenner);
	var hostname = adresse.substring(trenner+1, adresse.length);
	
	if( PruefeHostname(hostname) && PruefeUsername(username) )
		return true;
	else{
	eingabe.focus();
	alert("Ungültige e-mail-Adresse - bitte überprüfen Sie Ihre Eingabe");
	return false;
	}

}
