$(document).ready(function(){
	
	$(function() {
		// make numeric at every action
		$("#Voter_Number").numeric();
	});
	
	/*
	$(":checkbox[name='Boss_Other_Pets[11]']").click(function() {
		//if($(":checkbox[name='Boss_Other_Pets[11]']").attr('checked')) { // works too
		if($(":checkbox[name='Boss_Other_Pets[11]']").is(':checked')) {
			for($i = 0; $i < 11; $i++) {
				$(":checkbox[name='Boss_Other_Pets[" + $i + "]']").removeAttr("checked");
			}
		}
	});
	*/
	$("form").submit(function() {
		var _required = errmsg("_required");
		var _numbers = errmsg("_numbers");
		var _wrong = errmsg("_wrong");
		
		/*********************** Voter ***********************/
		// check birthday
		var day = $(":input[name='Voter_Age_Day']").val();
		var month = $(":input[name='Voter_Age_Month']").val();
		var year = $(":input[name='Voter_Age_Year']").val();
		$("#Voter_Birthday_Warning").empty();
		if ( (day == "01" && month == "01" && year == "1991") ||
			(day == "" && month == "" && year == "") ) {
				$("#Voter_Birthday_Warning").append( errmsg("Uw leeftijd invullen is verplicht") );
				$("#Voter_Age_Day").focus();
				return false;
		}
		
		// birthday (Y-m-d) is selectbox and cannot be wrong or corrected
		var slength = $("#Voter_First_Name").val().length;
		$("#Voter_First_Name_Warning").empty();
		if (slength < 1) {
			$("#Voter_First_Name_Warning").append(_required);
			$("#Voter_First_Name").focus();
			return false;
		}
		
		var slength = $("#Voter_Last_Name").val().length;
		$("#Voter_Last_Name_Warning").empty();
		if (slength < 1) {
			$("#Voter_Last_Name_Warning").append(_required);
			$("#Voter_Last_Name").focus();
			return false;
		}
	
		var slength = $("#Voter_Street").val().length;
		$("#Voter_Street_Warning").empty();
		if (slength < 1) {
			$("#Voter_Street_Warning").append(_required);
			$("#Voter_Street").focus();
			return false;
		}
		
		var val = $("#Voter_Number").val();
		$("#Voter_Number_Warning").empty();
		if(!is_numeric(val)) {
			$("#Voter_Number_Warning").append(_numbers);
			$("#Voter_Number").focus();
			return false;
		} else if(val.length < 1) {
			$("#Voter_Number_Warning").append(_required);
			$("#Voter_Number").focus();
			return false;
		}
		
		var ZC = $("#Voter_Zipcode").val();
		$("#Voter_Zipcode_Warning").empty();
		if(is_empty(ZC)) {
			$("#Voter_Zipcode_Warning").append(_required);
			$("#Voter_Zipcode").focus();
			return false;
		} else if (!is_valid_zipcode(ZC)) {
			$("#Voter_Zipcode_Warning").append(_wrong);
			$("#Voter_Zipcode").focus();
			return false;
		}
		
		var slength = $("#Voter_City").val().length;
		$("#Voter_City_Warning").empty();
		if (slength < 1) {
			$("#Voter_City_Warning").append(_required);
			$("#Voter_City").focus();
			return false;
		}
		
		var PN = $("#Voter_Phone_Number").val();
		$("#Voter_Phone_Number_Warning").empty();
		if(is_empty(PN)) {
			$("#Voter_Phone_Number_Warning").append(_required);
			$("#Voter_Phone_Number").focus();
			return false;
		} else {
			if(!is_numeric(PN) || PN.length != 10) {
				$("#Voter_Phone_Number_Warning").append( errmsg("Het telefoonnummer moet inclusief het netnummer uit precies tien cijfers bestaan") );
				$("#Voter_Phone_Number").focus();
				return false;
			}
		}
		
		var EA = $("#Voter_Email_Address").val();
		$("#Voter_Email_Address_Warning").empty();
		if(is_empty(EA)) {
			$("#Voter_Email_Address_Warning").append(_required);
			$("#Voter_Email_Address").focus();
			return false;
		} else {
			if(!is_valid_emailaddress(EA)) {
				$("#Voter_Email_Address_Warning").append(_wrong);
				$("#Voter_Email_Address").focus();
				return false;
			} else {
				// valid e-mailaddress
				var Regex =/\@((telfort|tiscali|versatel)+\.)+([a-zA-Z0-9]{2,7})+$/;
				if(Regex.test(EA)){
					$("#Voter_Email_Address_Warning").append( errmsg("Het blijkt dat niet alle uitnodigingen naar e-mailadressen van Versatel en Telfort daadwerkelijk worden afgeleverd. Wil je er zeker van zijn dat je uitnodiging wordt afgeleverd, stuur dan ook nog een uitnodiging vanaf je eigen e-mail account. Of neem een gratis e-mail account bij Hotmail, MSN of Google Gmail.") );
					return false;
				}
			}
		}
		
		var rules = $(":checkbox[name='Voter_Accepted_Rules']").val();
		$("#Voter_Accepted_Rules_Warning").empty();
		if(!$(":checkbox[name='Voter_Accepted_Rules']").is(':checked')) {
			$("#Voter_Accepted_Rules_Warning").append(_required);
			$("#Voter_Accepted_Rules").focus();
			return false;
		}
		
		var UC = $("#Voter_User_Comment").val();
		$("#Voter_User_Comment_Warning").empty();
		if(is_empty(UC)) {
			$("#Voter_User_Comment_Warning").append(_required);
			$("#Voter_User_Comment").focus();
			return false;
		}
		
		//var Assurance = $("input[@name='Voter_Insurance_Information']").is(":selected");
		//window.alert(Assurance);
		
		/*********************** End ***********************/
		return true;
	});
});
