$(document).ready(function() {
	var ajaxConnector = '/module/formular/ajax.php';
	
	var formstate = false;
	
	$(".formularmod").submit(function() {
		if (formstate == true) return true;
		var toSubmit = $(this); 
		var error = false;
		var mandatory = $(this).find("input[name=mandatory]").val();
		var hasMandatories = false;
		if (mandatory.indexOf(',') > -1) {
			var mandatories = mandatory.split(",");
			hasMandatories = true;
		} else if (mandatory.length > 0) {
			var mandatories = new Array(mandatory);
			hasMandatories = true;
		}
		if (hasMandatories) {
			for (var i = 0; i < mandatories.length; ++i) {
				feld = $("#feld_" + mandatories[i]);
				if (feld.attr("type") == 'checkbox') {
					if (!feld.attr("checked")) error = true;
				} else if (feld.attr("type") == 'radio') {
					if (!feld.attr("checked")) {
						if (!$("#feld_" + mandatories[i] + "_nein").attr("checked")) error = true;
					} 
				} else {
					if (feld.val() == '') error = true;
					if (feld.hasClass("feldEmail")) {
						if (!checkTheEmail(feld.val())) error = true; 
					} 
				} 
			}			
		}
		
		if (error == false) {
			if ($("input[name=hasCaptcha]").val() == '1') {
				if ($("input[name=captcha_code]").val() == '') {
					error = true;
			   		alert('Bitte füllen Sie das Codefeld korrekt aus!'); 
			   		return false;
				} else {
					$.post(ajaxConnector, 
						   { action: 'captcha',
						     captcha_code: $("input[name=captcha_code]").val() },
						   function(data) {
						   	if (data.state == false) {
						   		error = true;
						   		alert('Bitte füllen Sie das Codefeld korrekt aus!'); 
						   		return false;
						   	} else {
						   		formstate = true; 
						   		toSubmit.submit();
						   		return true; 
						   	}
						   }, 
						   'json');
				}
			} else {
				return true;
			}
		} else {
			alert('Bitte füllen Sie alle Pflichtfelder aus!');
			return false;			
		}
		return false;
	});
	
 	function checkTheEmail(inputvalue){	
	    var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
	    if(pattern.test(inputvalue)){         
			return true;   
	    }else{   
			return false; 
	    }
	}	

}); 
