//
// Es wird ein Formular geprüft und je nach Eingabe ein Absenden abgelehnt oder nur auf Fehler hingewiesen.
// 2005 Matthias Haase
//
// geprüft werden:
// Name, Vorname, Ort, PLZ, Strasse, Telefon, email
// 
//
// Aufruf:
// <form action="http://tools.hctm.de/f2m/f2m.php"  method="post" onSubmit="return testForm()" name="formular">
// <script src="js/formularcheck_kontakt.js" language="javascript"><!-- --></script>
//

function testForm() 
{
//------------- Einstellungen --------
// Farben:
		var Farbeschriftnormal = "#005493"; // welche Farbe hat die Schrift?
		var FarbeSchriftfehler = "#ff0000"; // Welche Farbe soll die Fehlermeldung haben?

//Felder und Marker sollen keine gleichen Namen haben, das mag der ie nicht! 
                FelderID = new Array("Name", "Vorname", "Ort", "PLZ", "Strasse", "Telefon", "email", "Geburtstag", "alter");
                MarkerID = new Array("MarkName", "MarkVorname", "MarkOrt", "MarkPLZ", "MarkStrasse", "MarkTelefon", "Markemail", "MarkGeburtstag", "Markalter");
                
                
// das nicht ändern                
                FehlerID = new Array(FelderID.length);
                
// ändern: Fehlermeldungen hier eintragen: Gleiche Fehler werden nur einmal ausgegeben, so lassen sie PLZ,ORT,Str. zu Adresse fehlt zusammen fassen                
                FehlerID[0] = "- Ihr Name ist unvollständig.\n";
                FehlerID[1] = "- Ihr Name ist unvollständig.\n";
                FehlerID[2] = "- Ihre Adresse ist unvollständig.\n";
                FehlerID[3] = "- Ihre Adresse ist unvollständig.\n";
                FehlerID[4] = "- Ihre Adresse ist unvollständig.\n";
                FehlerID[5] = "- Bitte geben Sie eine Telefonnummer ein.\n";
                FehlerID[6] = "- Keine eMail-Adresse angegeben.\n";
                FehlerID[7] = "- Bitte geben Sie Ihr Geburtsdatum an.\n";
                FehlerID[8] = "- Bitte bestätigen Sie uns das Sie über 18 sind.\n";
//              FehlerID[XXXXXXXXXXXXX] = "mehr Fehler\n";  
                
//------------- ende Einstellungen --------                
// 
//
// ab hier nichts mehr ändern!             
//                
//
                var AnzahlID = FelderID.length - 1;
                           
                var fehler = false;
                var Kundenname = true;
                var Kundenadresse = true;
                var KundenTeleadresse = true;
                var postAdresse = true;
                var Kundenemail = true;
                var KundenTelefon = true;
                var Geburtstag = true;
                var alter = true;
                var letzteFehlernachricht = "kein Fehler";
                
                var Fehlernachricht = "Sie haben einige wichtige Angaben nicht ausgefüllt!\n \n";

// ein test
if (FelderID.Lenght != MarkerID.lenght)	alert("Fehler Anzahl FelderID und MarkerID, diese müssen gleichsein")	

// alle in markerid in farbe normal
		for (var i = 0; i <= AnzahlID; i++)

		 document.getElementById(MarkerID[i]).style.color = Farbeschriftnormal;

// alle fehler anzeichnen		
		for (var i = 0; i <= AnzahlID; i++)
		{
			if (document.formular[FelderID[i]].value == '')
			{
			fehler = true; 
			document.getElementById(MarkerID[i]).style.color = FarbeSchriftfehler;
			
			if (letzteFehlernachricht != FehlerID[i])
				{
				 Fehlernachricht += FehlerID[i];
				 letzteFehlernachricht = FehlerID[i];
				 /*alert(letzteFehlernachricht);*/
				}
			}
		}
// -Test Beziehung 1 -----------------------------------------------------------------
		if (document.formular[FelderID[0]].value == '')
		{
			Kundenname = false;
			postAdresse = false;}
		
//		/* Ueberpruefen des Mitteilungs-Feldes auf Inhalt */
		if (document.formular[FelderID[1]].value == '')
		{		
			Kundenname = false;
			postAdresse = false;
		}		


// -Test Beziehung 2 -----------------------------------------------------------------
		if (document.formular[FelderID[2]].value == '')
		{
		Kundenadresse = false;
		postAdresse = false;
		}	
		if (document.formular[FelderID[3]].value == '')
		{
		Kundenadresse = false;
		postAdresse = false;
		}	
		if (document.formular[FelderID[4]].value == '')
		{
		Kundenadresse = false;
		postAdresse = false;
		}
			

// -Test Beziehung 3 -----------------------------------------------------------------
		if (document.formular[FelderID[5]].value == '')
		{
		KundenTeleadresse = false;
		KundenTelefon = false;
		}	

// Ueberpruefen des eMail-Feldes auf Inhalt
		if (document.formular[FelderID[6]].value.indexOf("@") == -1) 
		{
			Fehlernachricht += "- Keine gueltige eMail-Adresse angegeben.\n";
			fehler = true;
			KundenTeleadresse = false;
			Kundenemail =  false;
			document.getElementById(MarkerID[6]).style.color = FarbeSchriftfehler
		}

// Ueberpruefen der über18Jahre Box auf Inhalt
if (document.formular.alter.checked == false)
		{
		alter = false;
		
		document.getElementById("Markalter").style.color = FarbeSchriftfehler
		}	




// wenn Angaben	gemacht wurden und diese reichen um den Kunden zu erreichen -  dann nur ein Hinweis auf fehlende Daten	

if (fehler)
{
	if (postAdresse == true || KundenTelefon == true || Kundenemail == true ) 	
		{
                Fehlernachricht += "\n Wollen Sie das Formular so wirklich absenden?";
                
                Check = confirm(Fehlernachricht);
                if (Check == true)
                return true;
                if (Check == false)
             	return false;
		}
}
// alles leer, kein absenden
        if (fehler)
		{
                 Fehlernachricht += "\nSo können wir Sie nicht erreichen! \nBitte vervollstaendigen Sie die Angaben.";
                 alert(Fehlernachricht);
                 return false; //Formular wird nicht abgeschickt.
         } 
		 else
		 {
         return true;  //Formular wird abgeschickt.
         }




 }

