var Submit = {
	printPage: function()
	{
		if (confirm(Webtext.get("sorag_print")))
		{
			window.print();
		}
	},
	check: function()
	{
		var error = false;
		$(".sorag_answers:not(.sorag_extra *)").each(function()
			{
				if (!$(this).find(":radio:checked").length)
				{
					alert(Webtext.get("sorag_js_error_1"));
					error = true;
					return false;
				}
			}
		);
		if (!error)
		{
			var num_missing = 0;
			$(".sorag_option :checked").each(function()
				{
					if ($(this).val() == "-" || $(this).is(":checkbox")) num_missing++;
				}
			);
			if (num_missing > 4)
			{
				alert(Webtext.get("sorag_js_error_2"));
				error = true;
			}
		}
		
		if (!error)
		{
			// überprüfe, ob bei Frage 13 ein Item der Untergruppen markiert ist und wenn ja, markiere die zugehörige versteckte Checkbox
			if ($(".sorag_suboptions :checked").length)
			{
				$("#substitute_13").get(0).checked = true;
			}
			
			function getMinMax(elem)
			{
				var arr_return = [];
				var max_value = 0;
				$(elem).find(":radio").each(function() {
						if (parseInt(this.value) > max_value) max_value = parseInt(this.value);
					}
				);
				arr_return[0] = max_value;
				max_value = 0;
				$(elem).find(":radio").each(function() {
						if (parseInt(this.value) < max_value) max_value = parseInt(this.value);
					}
				);
				arr_return[1] = max_value;
				return arr_return;
			}
	
			var sum_max_pos = 0;
			var sum_max_neg = 0;
			// berechne die Maximalwerte aller Items, die bewertet worden sind und nicht ersetzt wurden
			$(".sorag_answers:not(.sorag_extra *):has(:checked[value!='-'])").each(function()
				{
					// Item darf nicht ersetzt worden sein
					if (!$(this).find(":checkbox:checked").length)
					{
						sum_max_pos += getMinMax(this)[0];
						sum_max_neg += getMinMax(this)[1];
					}
				}
			);
			var sum_miss_pos = 0;
			var sum_miss_neg = 0;
			$(".sorag_answers:not(.sorag_extra *):has(:checked[value='-'])").each(function()
				{
					sum_miss_pos += getMinMax(this)[0];
					sum_miss_neg += getMinMax(this)[1];
				}
			);
			
			// schreibe Maximalwerte in hidden-Fields, damit per CF erreichbar
			$("#sorag_box input:hidden").eq(0).val(sum_max_pos);
			$("#sorag_box input:hidden").eq(1).val(sum_max_neg);
			$("#sorag_box input:hidden").eq(2).val(sum_miss_pos);
			$("#sorag_box input:hidden").eq(3).val(sum_miss_neg);
		}
		
		return !error;
	}
};
