(function($){
	
	$(document).ready(function(){
		
		$('form.validate').submit(function(){
			
			var allPassed = true;
			var msg = 'Niet alle verplichte velden zijn ingevuld, deze zijn rood gemarkeerd..';
			
			$that = $(this);
			
			// check if all required elements are filled in
			$that.find('.required').each(function(){
				if ($(this).val() == "")
				{
					msg = 'Niet alle verplichte velden zijn ingevuld, deze zijn rood gemarkeerd.';
					allPassed = false;
					$(this).css({
						'background-color' : '#e6b3b3',
						'border' : '1px solid #bd4444'
					});
				}
				else
				{
					$(this).css({
						'background-color' : '#dff7dc',
						'border' : '1px solid #a0da9d'
					});
				}
			});
			
			// check if requiredEmail elements are filled in
			$that.find('.requiredEmail').each(function(){
				
				if ($(this).val() === "")
				{
					msg = 'Niet alle verplichte velden zijn ingevuld, deze zijn rood gemarkeerd';
					allPassed = false;
					$(this).css({
						'background-color' : '#e6b3b3',
						'border' : '1px solid #bd4444'
					});
				}
				else
				{
					var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
					if(reg.test($(this).val()) == false) 
					{
						allPassed = false;
						msg = 'Vul een geldig emailadres in aub';
						$(this).css({
							'background-color' : '#e6b3b3',
							'border' : '1px solid #bd4444'
						});
					}
					else
					{
						$(this).css({
							'background-color' : '#dff7dc',
							'border' : '1px solid #a0da9d'
						});
					}
				}
			});
			
			if ( ! allPassed )
				alert(msg);
			
			return allPassed;
			
		});
		
	});
	
})(jQuery);
