function setValidateRule(level, onload) {
	if(!onload)
		onload = false;
	/* set message */
	if(level == "level_lager")
		var message = "Gelieve een keuze te maken tussen 'gewoon' lager onderwijs en 'buitengewoon' lager onderwijs<br />";
	else if(level == "level_secundair")
		var message = "Gelieve een keuze te maken tussen de verschillende secundaire niveaus<br />";
	else if(level == "level_hogeschool")
		var message = "Gelieve een keuze te maken tussen 'lerarenopleiding' en 'andere'<br />";
	/* remove other rules */
	if(onload == false) {
		$(".excl_checkbox_help:not(."+level+")").each(function() { $(this).rules("remove"); });
		$(".excl_checkbox_help:not(."+level+")").each(function() { $(this).val("") });
	}
	/* add rule */
	$("#"+level+"_select").rules("add", {
		required: true,
		messages: {
			required: message
		}
	});
	return true;
}


$(document).ready(function() {
													 
	$("#school_form").validate({
		errorLabelContainer: ".error_message",
		errorPlacement: function(error, element) {
			if ( element.is(":radio") )
				error.appendTo( element.parent().prev() );
			else if ( element.is(":checkbox") )
				error.insertAfter( element.parents("table") );
			else if ( element.is(".excl_checkbox_help") )
				error.insertAfter( element.parents("table") );
			else
				error.insertAfter(element);
		}
  });

													 
	/* KLEUTER */
	$(".level_kleuter.main").click(function() {
		if($(this).attr("checked"))
			$(".main, .sub").filter(":not(.level_kleuter, .level_lager)").removeAttr("checked");	
	});
	
	/* LAGER */
	if($(".level_lager.main").attr("checked")) {
		setValidateRule("level_lager", true);
		if($(".level_lager.sub:checked").length > 0) {
			$("#level_lager_select").val("1");
		}
	}
	
	$(".level_lager.sub").click(function() {
		$("#school_form").validate();																		
		if($(this).attr("checked")) {
			$(".main, .sub").filter(":not(.level_lager, .level_kleuter)").removeAttr("checked");	
			$(".level_lager.main").attr("checked", "checked");
			$(".level_lager.sub").not(this).removeAttr("checked");	
			$("#level_lager_select").val("1");
		}
		else {
			$("#level_lager_select").val("");
		}
	});
	
	$(".level_lager.main").click(function() {
		if($(this).attr("checked")) {
			$(".main, .sub").filter(":not(.level_lager, .level_kleuter)").removeAttr("checked");	
			setValidateRule("level_lager");
		}
		else {
			$(".level_lager.sub").removeAttr("checked");	
			$("#level_lager_select").rules("remove", "required");
			$("#level_lager_select").val("");
		}
	});
	
	/* SECUNDAIR */	
	if($(".level_secundair.main").attr("checked")) {
		setValidateRule("level_secundair", true);
		if($(".level_secundair.sub:checked").length > 0) {
			$("#level_secundair_select").val("1");
		}
	}
	
	$(".level_secundair.sub").click(function() {
		$("#school_form").validate();																		
		if($(this).attr("checked")) {
			$(".main, .sub").filter(":not(.level_secundair)").removeAttr("checked");	
			$(".level_secundair.main").attr("checked", "checked");
			if($(this).hasClass("level_buso"))
				$(".level_secundair.sub").not(this).removeAttr("checked");
			else
				$(".level_secundair.sub.level_buso").removeAttr("checked");
			$("#level_secundair_select").val("1");
		}
		else {
			$("#level_secundair").val("");
		}
	});
	
	$(".level_secundair.main").click(function() {
		if($(this).attr("checked")) {
			$(".main, .sub").filter(":not(.level_secundair)").removeAttr("checked");	
			setValidateRule("level_secundair");
		}
		else {
			$(".level_secundair.sub").removeAttr("checked");	
			$("#level_secundair_select").rules("remove", "required");
			$("#level_secundair_select").val("");
		}
	});
	
	/* DKO */
	$(".level_dko.main").click(function() {
		if($(this).attr("checked"))
			$(".main, .sub").filter(":not(.level_dko)").removeAttr("checked");	
	});
	
	/* HOGESCHOOL */
	if($(".level_hogeschool.main").is(":checked")) {
		setValidateRule("level_hogeschool", true);
		if($(".level_hogeschool.sub:checked").length > 0) {
			$("#level_hogeschool_select").val("1");
		}
	}

	$(".level_hogeschool.sub").click(function() {
		$("#school_form").validate();																		
		if($(this).attr("checked")) {
			$(".main, .sub").filter(":not(.level_hogeschool)").removeAttr("checked");	
			$(".level_hogeschool.main").attr("checked", "checked");
			$(".level_hogeschool.sub").not(this).removeAttr("checked");	
			$("#level_hogeschool_select").val("1");
		}
		else {
			$("#level_hogeschool_select").val("");
		}
	});
	
	$(".level_hogeschool.main").click(function() {
		if($(this).attr("checked")) {
			$(".main, .sub").filter(":not(.level_hogeschool)").removeAttr("checked");	
			setValidateRule("level_hogeschool");
		}
		else {
			$(".level_hogeschool.sub").removeAttr("checked");	
			$("#level_hogeschool_select").rules("remove", "required");
			$("#level_hogeschool_select").val("");
		}
	});
	
	/* CVO_CDO_BASIS */
	$(".level_cvo_cdo_basis.main").click(function() {
		if($(this).attr("checked"))
			$(".main, .sub").filter(":not(.level_cvo_cdo_basis)").removeAttr("checked");	
	});
		
});