$(document).ready(function() {
	var error_minLength = $("#firstname").attr("error_minLength");
	var error_firstnameRequired = $("#firstname").attr("error_required");
	var error_lastnameRequired = $("#lastname").attr("error_required");
	
	var error_emailRemote = $("#email").attr("error_remote");
	var error_emailRequired = $("#email").attr("error_required");
	var error_validEmail = $("#email").attr("error_validEmail");
	var error_emailConfirmRequired = $("#email_confirm").attr("error_required");
	var error_emailEqualTo = $("#email_confirm").attr("error_equalTo");
	
	var error_addressRequired = $("#address").attr("error_required");
	
	var error_zipNumber = $("#zip").attr("error_number");
	var error_zipRequired = $("#zip").attr("error_required");
	
	var error_professionRequired = $("#professionTable").attr("error_required");
		
	var validator = $("#newsletterForm").validate({
		rules: {
			firstname: "required",
			email: {
				required: true,
				email: true,
				remote: "/includes/newsletter/newsLetterCheckEmail_doc.php"
			},
			email_confirm: {
				required: true,
				email: true,
				equalTo: "#email"
			},
			address: {
				required: true
			},
			zip: {
				required: true,
				number: true
			},
			profession:{
				required: true
			}
		},
		messages: {
			firstname: {
				required : error_firstnameRequired
			},
			email: {
				required: error_emailRequired,
				email: error_validEmail,
				remote: jQuery.format("{0} er optaget")
			},
			email_confirm: {
				required: error_emailConfirmRequired,
				equalTo: error_emailEqualTo
			},
			address: {
				required: error_addressRequired
			},
			zip: {
				required: error_zipRequired,
				number: error_zipNumber
			},
			profession: {
				required: error_professionRequired
			}
		},
		// the errorPlacement has to take the table layout into account
		errorPlacement: function(error, element) {
			if ( element.is(":radio") )
				error.appendTo( "#profError" );
			else
				error.appendTo( element.next().next() );
		}
	});
});
