function onlyShowCheckedAnswerData(animated) {
	jQuery.each($("input:radio"), function() {
		var dataID = "fieldset#" + $(this).attr("id") + "_daten";
		
		if ($(this).attr("checked")) {
			if (animated) {
				$(dataID).slideDown();
			} else {
				$(dataID).show();
			}
		} else {
			$(dataID).find(".hinweis:visible").hide();
			if (animated) {
				$(dataID).slideUp();
			} else {
				$(dataID).hide();
			}
		}
	});
};

function elementIsNotValid(element) {
	var value = element.attr("value");
	if (value == "") {
		return true;
	} else if (element.attr("id") == "email") {
		return !(/\S+@\S+?\.\S+/.test(value));
	}
	
	return false;
};

function checkObligatoryFields() {
	var foundEmptyField = false;
	
	// Fade out all visible hints.
	$("fieldset:visible .formline.pflicht .hinweis:visible").fadeOut();
	
	jQuery.each($("fieldset:visible .formline.pflicht input, fieldset:visible .formline.pflicht textarea"), function() {
		if (elementIsNotValid($(this))) {
			if (!foundEmptyField) { // Focus the first empty field.
				$(this).focus();
				foundEmptyField = true;
			}
			$(this).siblings(".hinweis").fadeIn();
		}
	});
	
	return !foundEmptyField;
};

$(document).ready(function() {
	onlyShowCheckedAnswerData();
	
	$("input:radio").click(function() {
		onlyShowCheckedAnswerData(true);
		return true;
	});
	
	$("input:submit").click(checkObligatoryFields);
});

