$(function() {
	var rechtsform = $("form[name=page1] select:first :selected").val();
	
	if(rechtsform >= 3) {
		$("tr.bezeichnung").hide();
		$("tr:hidden input").attr("disabled","disabled");	
	} else {
		$("tr.bezeichnung input").removeAttr("disabled");
		$("form[name=page1] fieldset#person input").removeAttr("disabled");
	}
	if(rechtsform == 4) {
		$("form[name=page1] fieldset#person").hide();
		$("form[name=page1] fieldset#person input").attr("disabled","disabled");
	}
	
	$("form[name=page1] select:first").change(function() {
		var sel = $(this).find("option:selected").val();
		if(sel < 3) {
			$("tr:hidden input").removeAttr("disabled");
			$("tr.bezeichnung").show();
		} else {
			$("tr.bezeichnung").hide();
			$("tr:hidden input").attr("disabled","disabled");
		}
		if(sel == 4) {
			$("form[name=page1] fieldset#person").hide();
			$("form[name=page1] fieldset#person input").attr("disabled","disabled");
		} else {
			$("form[name=page1] fieldset#person input").removeAttr("disabled");
			$("form[name=page1] fieldset#person").show();
		
		}
	});
	
	// seite 3
	var schaetzung = $("form[name=page3] input[type=radio]:checked");
	var strom = $("form[name=page3] input[type=checkbox]:eq(0)");
	var andere = $("form[name=page3] input[type=checkbox]:eq(1)");
	var kohle = $("form[name=page3] input[type=checkbox]:eq(2)");
	var kraft = $("form[name=page3] input[type=checkbox]:eq(3)");
	var oele = $("form[name=page3] input[type=checkbox]:eq(4)");
	var gas = $("form[name=page3] input[type=checkbox]:eq(5)");
	var waerme = $("form[name=page3] input[type=checkbox]:eq(6)");
	var highlight = "#d4e8e6";
	var border = "2px #fff solid";

	if($(schaetzung).val() == 0) {
		$("tr.strom,tr.kohle,tr.kraft,tr.oele,tr.gas,tr.waerme,tr.andere").hide();
		
                $("tr:hidden input, tr:hidden select").attr("disabled","disabled").hide();
	}
	if(!$(andere).is(":checked")) {
		$("tr.kohle,tr.waerme,tr.gas,tr.kraft,tr.oele").hide();
		$("tr:hidden input:checked").removeAttr("checked");
	} else {
		$("tr.andere").css("backgroundColor",highlight);
		$("tr.andere:eq(1)").css("borderBottom",border);
	}
	$(andere).click(function() {
		if(this.checked){
			$("tr.andere").css("backgroundColor",highlight);
			$("tr.andere:eq(1)").css("borderBottom","2px #fff solid");
			$("tr:hidden input, tr:hidden select").removeAttr("disabled").show();
			$("tr.kohle,tr.waerme,tr.gas,tr.kraft,tr.oele").show();
		 	$("input:checkbox").each(function() {
 				var row = $(this).parent().parent().get(0).className.split(" ");
 				toggleCheckboxes(this,row[0],highlight,border);
 			});
		} else {
			$("tr.andere").css("backgroundColor","");
			$("tr.andere:eq(1)").css("borderBottom","");
			$("tr.kohle,tr.waerme,tr.gas,tr.kraft,tr.oele").hide();
            $("tr[class=andere error],tr[class=kohle error],tr[class=waerme error],tr[class=[gas error],tr[class=kraft error],tr[class=oele error]").remove();
			$("tr:hidden input, tr:hidden select").attr("disabled","disabled").hide();
			$("tr:hidden input:checked").removeAttr("checked");
		}
	});
	
	$("form[name=page3] input[type=radio]").click(function() {
		if($(this).val() == 1) {
			$("tr:hidden input, tr:hidden select").removeAttr("disabled").show();
			$("tr.strom,tr.kohle,tr.kraft,tr.oele,tr.gas,tr.waerme,tr.andere").show();
			if(!$(andere).is(":checked")) {
				$("tr.kohle,tr.waerme,tr.gas,tr.kraft,tr.oele").hide();
				$("tr:hidden input:checked").removeAttr("checked");
			}
		 	$("input:checkbox").each(function() {
 				var row = $(this).parent().parent().get(0).className.split(" ");
 				toggleCheckboxes(this,row[0],highlight,border);
 			});
		} else {
			$("tr.strom,tr.kohle,tr.kraft,tr.oele,tr.gas,tr.waerme,tr.andere").hide();
			$("tr.error").remove();
			$("tr:hidden input, tr:hidden select").attr("disabled","disabled").hide();
			$("tr:hidden input:checked").removeAttr("checked");
		}
	});
	
 	$("form[name=page3] input:checkbox:not(:eq(1))").each(function() {
 		var row = $(this).parent().parent().get(0).className.split(" ");
 		toggleCheckboxes(this,row[0],highlight,border);
 	});
 	$("form[name=page3] input:checkbox:not(:eq(1))").click(function() {
 		var row = $(this).parent().parent().get(0).className.split(" ");
		toggleCheckboxes(this,row[0],highlight,border);
 	});
 	// seite 4
 	var evaluierung = $("form[name=page4] input[class=status]:checked");
 	var bereich = $("form[name=page4] input[class=bereich]:checked");
 	
 	if($(evaluierung).val() == 1) { 
		$("td.nein").hide(); 
 	} else {
 		$("tr.ja,tr.ja_bereich").hide();
 	}
 	if($(bereich).val() == 0) {
 		$("tr.ja_bereich").hide();
 		$("tr.ja_bereich input").attr("disabled","disabled");
 	} else {
 		$("tr.ja_bereich input").removeAttr("disabled");
 	}
 	
 	$("form[name=page4] input[class=status]").click(function() {
 		if($(this).val() == 1) {
 			$("td.nein").hide();
			if($(bereich).val() == 1){	
				$("tr.ja,tr.ja_bereich").show();
				$("tr.ja_bereich input").removeAttr("disabled");
			} else
				$("tr.ja").show();
 		} else {
 			$("tr.ja,tr.ja_bereich").hide();
			$("tr.ja_bereich input").attr("disabled","disabled");
			$("form[name=page4] input[class=bereich]:selected").removeAttr("checked");	
			$("form[name=page4] input[class=bereich]:first").attr("checked","checked");
 			$("td.nein").show();
 		}
 	});
 	$("form[name=page4] input[class=bereich]").click(function() {
 		if($(this).val() == 1) {
	 		$("tr.ja_bereich input").removeAttr("disabled");
	 		$("tr.ja_bereich").show();
 		} else {
 			$("tr.ja_bereich").hide();
 			$("tr.ja_bereich input").attr("disabled","disabled");	
 		}
 	});	
});
function toggleCheckboxes(element,class_name,highlight,border) {
	if(element.checked) {
		$("tr."+class_name).css("backgroundColor",highlight);
		$("tr."+class_name+":gt(2)").css("borderBottom",border);
		$("tr."+class_name+":gt(0) input,tr."+class_name+":gt(0) select").removeAttr("disabled").show();
		$("tr."+class_name+":gt(0)").show();
	} else {
		$("tr."+class_name).css("backgroundColor","");
		$("tr."+class_name+":gt(2)").css("borderBottom","");
		$("tr."+class_name+":gt(0) input,tr."+class_name+":gt(0) select").attr("disabled","disabled").hide();
		$("tr."+class_name+":gt(0)").hide();
                $("tr[class*="+class_name+" error]").remove();
	}
}	