var Samenhang = {
	init: function(){
		
		/* Form validation */
		jQuery('form').submit(function(){
			var labs = '', error = false, f = jQuery(this);
			f.find('input.required, select.required, textarea.required').each(function(){
				var e = jQuery(this);
				if(e.val() == ''){
					var label = jQuery('label[for="'+jQuery(this).attr('id')+'"]').html();
					label = label.substring(0, label.length-1);
					labs += label+', ';
				}
				if(e.hasClass('email') && Samenhang.validate('email', e.val()) === false){
					alert('Er is geen geldig email adres ingevuld');
					error = true;
				}
				if(e.hasClass('postal') && Samenhang.validate('postal', e.val()) === false){
					alert('Er is geen geldige postcode ingevuld');
					error = true;
				}				
			});

			if(labs != ''){
				alert('De volgende velden zijn verplicht: '+labs.substring(0,labs.length-2));
				return false;
			}

			if(error) return false;
		});
	},
	validate: function(type, value){
		var r;
		if(type === 'email'){
			r = new RegExp('^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$');
			return (value == '' || r.test(value) === false) ? false : true;
		}else if(type === 'postal'){		
			value = value.replace(/ /g,'').toUpperCase();
			if(!value.match(/^[1-9]\d{3}[A-Z]{2}$/)){
				return false;
			}else{
				return true;
			}
		}
	}
}
jQuery(Samenhang.init);
