/* Validator für Input Felder */

$(document).ready(function() {

	//////////////////////////////////////////
	// Definition der Werte 				//
	//////////////////////////////////////////

	//Fehlermeldung
	var var_errorMsg = 'Bitte ausfüllen';
	//TAG um die Fehlermeldung
	var var_errorTag = 'div';
	//Klasse der Fehlermeldung
	var var_errorClass = 'inputError';
	//Klasse Pflichtfelder
	var var_requiredClass = 'required';	
	/*---------------------------------------------------------------------------*/
	//Fehlermeldung bei Pflichfeldgruppen (nur eins wird davon benötigt)
	var var_errorGroupMsg = 'Bitte füllen Sie bitte eines der Felder aus.';
	//Klasse der Fehlermeldung bei Pflichfeldgruppen (nur eins wird davon benötigt)
	var var_errorGroupClass = 'inputErrorGroup';
	//Klasse Pflichfeldgruppe (nur eins wird davon benötigt)
	var var_requiredGroupClass = 'requiredGroup';
	
	
	//////////////////////////////////////////
	// DONT EDIT AFTER THIS 				//
	// UNLESS YOU KNOW WHAT YOU'R DOING     //
	//////////////////////////////////////////

	/* Aktionen beim Drücken eines Buttons */
	$('button[type=submit], input[type=submit]').each(function(i) { //Aktion auf alle Buttons und Inputfelder mit dem Typ Submit setzen
		$(this).click(function (e) {
			var var_returnedClear = false; //Variable zum Abfragen, ob ein Feld leergelassen wurde
			var var_returnedGroupClear = true; //Variable zu Abfragen, ob ein Feld einer Feldgruppe leergelassen wurde
	
			
			/* Alle Pflichfelder werden durchgegangen */
			if(typeof $(this).parents('form:first').find('input.'+var_requiredClass).val() != 'undefined') {
				$(this).parents('form:first').find('input.'+var_requiredClass).each(function(i){ //Alle Pflichtfelder innerhalb des Forms des Buttons werden abgefragt
					if ($(this).val() == '') { //Wenn Feldwert leer ist
		
						if ($(this).next().text() != var_errorMsg) {
							$(this).after("<"+var_errorTag+" class='"+var_errorClass+"'>"+var_errorMsg+"</"+var_errorTag+">");	//Wenn Error Nachricht kein Inhalt von nächstem Element ist, wird die Error Nachricht hinter das Inputfeld hinzugefügt
						}
						var_returnedClear = true; // Es wurde ein Feld leergelassen, also wird Wert True gesetzt
					} else {
						if ($(this).next().text() == var_errorMsg) {
							$(this).next().remove();
						}
					}
				});	
			}
			
			
			/* Alle Pflichtfelder, bei denen jedoch nur ein Wert ausgefüllt sein muss, werden durchgegangen */
			if (typeof $(this).parents('form:first').find('input.'+var_requiredGroupClass).val() != 'undefined') {
				$(this).parents('form:first').find('input.'+var_requiredGroupClass+'[type="text"]').each(function(i){ //Alle Pflichtfelder innerhalb des Forms des Buttons werden abgefragt
					if ($(this).val() != '') {
						var_returnedGroupClear = false; //Mindestens ein Feld ist ausgefüllt, also wird der Wert auf False gesetzt					
					}
				});
			} else {
				var_returnedGroupClear = false;
			}
			
			if (var_returnedGroupClear == true && $(this).parents('form:first').next().text() != var_errorGroupMsg) {
				$(this).parents('form:first').after("<"+var_errorTag+" class='"+var_errorGroupClass+"'>"+var_errorGroupMsg+"</"+var_errorTag+">");	//Wenn nach dem Durchgehen immer noch True, dann sind alle Felder leer (Nachricht wird eingeblendet)
			} else if (var_returnedGroupClear == false && $(this).parents('form:first').next().text() == var_errorGroupMsg) {
				$(this).parents('form:first').next().remove();
			}
			
			if (var_returnedClear == true || var_returnedGroupClear == true) {
				return false; //Wenn Variablenwert True (als wenn mindestens ein Feld leer war, wird Buttonaktion nicht ausgeführt)
			}	
		});	
	});	

});