var nothing; //<script>
function validateform(oForm) {
	//1.Stelle Erforderlichkeit	m = Mandatoery|o = Optional
	//2.Stelle Datentyp			e = Emailadresse|n = Nummerisch|a = Aplhanummerisch
	//3.Stelle frei für Erweiterungen
	//4.Stelle frei für Erweiterungen
	//5.Stelle frei für Erweiterungen


	var oChar1;	//Für erste Stelle
	var oChar2; //Für zweite Stelle
	var oField; // Für den aktuellen Feldnamen
	var oRealFieldName; // Für den aktuellen Feldnamen (Optionale Buchstaben absgeschnitten

	var isError;//true = Fehler|False = Kein Fehler
	var msg = "\nPlease fill in the following fields:\n";
	var error_fields = "";	// Der Errorstring
	var i = 0;				// Nur ein Zaehlstring 
	for(i = 0; i < oForm.length; i++)
	{
		oField = oForm.elements[i];				// Aktuell4es Feldobject wird erstellt
		oRealFieldName = oField.name.substr(5); // der echte Name wird extrahiert
		oChar1 = oField.name.charAt(0);			// Erstes Zeichen wird gelesen.
		if (oChar1 == "m") {
			//Feld wird verlangt. Weiterer Test:
			oChar2 = oField.name.charAt(1);
			switch(oChar2) {
			case "e":	//Email
				if (isError = validate_e(oField.value)) { error_fields +=  "\n Error, (no valid Email) in: "  + oRealFieldName;}
				break;
			case "n":	//Nummerisch
				if (isError = validate_n(oField.value)) { error_fields +=  "\n Error, (no number) in: "  + oRealFieldName;}
				break;
			case "a":	//Aplhanummrisch  //alert (oChar2);
				if (isError = validate_a(oField.value)) { error_fields +=  "\n Error, (no Text) in: "  + oRealFieldName;}
				break;
			default:
				isError = true;
				alert("Form error! Please check all Fieldnames");
				break;
			}
			
			if (isError) {
				//Fehler im Feld

//				alert ("Error " + oChar2 + " : Name=" + oField.Name + " Value=" + oField.Value);
//				return false;
			} 

			//Feld ist in Ordnung. Weiter gehts
			else { continue;}

		}
		//Feld ist Optional. Weiter gehts
		else { continue;}
	}

	//Fals Fehler vorhanden waren, dann wird eine Errornachricht ausgeben.
	if(error_fields != "")
	{
		msg += error_fields;
		alert(msg);
		return false;
	}


}

// Validierung der alphanummerischen Felder
function validate_a(oValue) {
	if (oValue.length == 0) {return true;}
	return false;//Kein Fehler wurde gefunden
}

// Validierung der nummerischen Felder
function validate_n(oValue) {
	var oTmpChar;
	if (oValue.length == 0) {return true;}
	// Überprüfung ob nur Zahlen eingeben wurden.
	for(i = 0; i < oValue.length; i++) {
		oTmpChar = oValue.charAt(i);
		if (oTmpChar != 0 && oTmpChar != 1 && oTmpChar != 2 && 
			oTmpChar != 3 && oTmpChar != 4 && oTmpChar != 5 && 
			oTmpChar != 6 && oTmpChar != 7 && oTmpChar != 8 && 
			oTmpChar != 9) { return true;}
	}
	return false;//Kein Fehler wurde gefunden
}


// Validierung der Emailadresse
function validate_e(oValue) {
	adresse = oValue;
	et = 0;		//Zählt wie oft @ vorkommt
	er = 0;		//Speichert den Errorcode

	if (adresse.length < 6) er = 1;				//Jede Email Adresse bracuht mindestens 6 Zeichen
	if((adresse.lastIndexOf(".") != adresse.length -3) &&				//Zwei Zeicehn hinter letzten Punkt 
		(adresse.lastIndexOf(".") != adresse.length -4)) er = 3;		//Drei Zeicehn hinter letzten Punkt
	
 	if(er == 0) for(x = 0; (x <= adresse.length-1);x++) {				//Wenn noch kein Fehler vorliegt jedes Zeichen einzeln überprüfen
  		if(adresse.charAt(x) == "@") { 
  			et++; 									//Wenn @ vorkommt Zähler erhöhen
  			if(adresse.charAt(x+1) == ".") 	//Wenn das darauf folgende Zeichen . ist 	
  				{er = 6}							//er auf 6 setzen
  			if(x == 0) 							//Wenn @ das 0. Zeichen ist
  				{er = 7}							//er auf 7 setzen
  			}
  		
  		if((adresse.charAt(x) == ".")&&		//Wenn das aktuelle Zeichen . ist
  			(adresse.charAt(x+1) == ".") &&	//und das darauf folgende auch
  			(et == 1)) 							//und die Zeichen hinter @ überprüft werden
  				{ er = 5};							//er auf 5 setzen
  			
 	 	if((adresse.charAt(x) < 0) || (adresse.charAt(x) > 127)) 	//Wenn das Zeichen nicht zwischen 32 und 127
 		{er = 4;}								//er auf 4 setzen
 	 }
   	
   	if (et != 1) er = 2;							//Wenn @ nich einmal vorkommt ist er = 2
	if (er != 0) {								//Wenn es einen Fehler gab
//		alert("Die Email Adresse ist ungültig. Error #" + er);		//Fehlermeldung ausgeben
  	 	return(true);	//Falls alles in Ordnung ist, dann wird True zurückgeben, also wurde ein Fehler gefunden.
  } 
  //Fehler (er):
  // 0		= Kein Fehler
  // 1		= Weniger als 6 Zeichen
  // 2 		= Weniger oder mehr als ein @ vorhanden
  // 3		= Hinter dem letzten Punkt sind nicht 2 oder 3 Zeichen
  // 4		= Ein unerlaubtes Sonderzeichen kommt vor
  // 5 		= Hinter dem @ folgen zwei Punkte aufeinander
  // 6		= Auf das @ folgt sofort ein Punkt
  // 7		= Vor dem @ stehen keine weiteren Zeichen
  return(false);
}


var nothing; //</script>
