	$(document).ready( function() {
		var lang = null;
							
		$.getJSON("http://" + document.domain + "/language/load-json-dictionary/", function(data){
			validate(data);
		});
		
		jQuery.validator.setDefaults({ 
			errorElement: "span", 
			errorClass: "error"
		}
		); 
		
		
		function validate(lang) {
			
/*			$.validator.addMethod("postcode", function(value) {
				var postCodeReg=/^[0-9]{4}[a-zA-Z]{2}$/i;
				var postCodeReg2=/^[0-9]{4} [a-zA-Z]{2}$/i;
				
				if(postCodeReg.test(value) || postCodeReg2.test(value)){
					return true;
				}else{
					return false;
				}
				
			}, lang.provide_valid_postcode);
*/			
			$("#puzzle").validate({
				rules: {
					surname: "required", 
					email: {
						required: true,
						email: true
					},			
					address: "required", 
					city: "required", 
					postcode: "required",
					number: "required", 				
				},
				messages: {
					surname: {
						required: lang.missingField
					}, 
					email: {
						required: lang.missingField,
						email: lang.invalid_email
					}, 
					address: {
						required: lang.missingField
					}, 
					postcode: {
						required: lang.missingField
					}, 					
					city: {
						required: lang.missingField
					},
					number: {
						required: lang.missingField
					}
				}
			});
		}
	});
