jQuery(document).ready(function(){
	jVal = {
	
	'fullName' : function(){
			
			//inject info div into document (here goes the feedback information)
			//assign div to a variable
			//assign formfield-id to variable
			//offset() returns current position of element relative to document (an object with top & left props) we will assign position of element to our variable pos.
			jQuery('body').append('<div id="nameInfo" class="info"></div>');
			var nameInfo = jQuery('#nameInfo');
			var ele = jQuery('#uw-naam');
			var pos = ele.offset();
			
			//access css form nameInfo and calculate position.	
			nameInfo.css({
				top: pos.top-3,
				left: pos.left+ele.width()+30
			});
			
			//check if field validates of not
			if(ele.val().length < 6) {
				jVal.errors = true;
				nameInfo.removeClass('correct').addClass('error').html('&larr; Vul minimaal 6 tekens in').show();
				ele.removeClass('normal').addClass('wrong');
			} else {
				nameInfo.removeClass('error').addClass('correct').html('&radic;').show();
				ele.removeClass('wrong').addClass('normal');
			}
		},
		
			'eMail' : function(){
			
			jQuery('body').append('<div id="emailInfo" class="info"></div>');
			
			var emailInfo = jQuery('#emailInfo');
			var ele = jQuery('#uw-mail');
			var pos = ele.offset();
			
			emailInfo.css({
				top: pos.top-3,
				left: pos.left+ele.width()+30
			});
	
			var patt = /^.+@.+[.].{2,}$/i;
	
			if(!patt.test(ele.val())) {
				jVal.errors = true;
					emailInfo.removeClass('correct').addClass('error').html('&larr; Dit is een ongeldig e-mailadres <span class="meta">Voorbeeld: naam@mail.nl</span>').show();
					ele.removeClass('normal').addClass('wrong');
			} else {
					emailInfo.removeClass('error').addClass('correct').html('&radic;').show();
					ele.removeClass('wrong').addClass('normal');
			}
		},
		
			'telePhone' : function(){
			
			jQuery('body').append('<div id="phoneInfo" class="info"></div>');
			
			var phoneInfo = jQuery('#phoneInfo');
			var ele = jQuery('#telefoon');
			var pos = ele.offset();
			
			phoneInfo.css({
				top: pos.top-3,
				left: pos.left+ele.width()+30
			});
	
			var patt = /(^\+[0-9]{2}|^\+[0-9]{2}\(0\)|^\(\+[0-9]{2}\)\(0\)|^00[0-9]{2}|^0)(\d-?\s?\d-?\s?\d-?\s?\d-?\s?\d-?\s?\d-?\s?\d-?\s?\d-?\s?\d$)/i;
	
			if(!patt.test(ele.val())) {
				jVal.errors = true;
					phoneInfo.removeClass('correct').addClass('error').html('&larr; Vul uw 10 cijferige telefoonnummer in <span class="meta">036 799 90 40 of 036-7999040</span>').show();
					ele.removeClass('normal').addClass('wrong');
			} else {
					phoneInfo.removeClass('error').addClass('correct').html('&radic;').show();
					ele.removeClass('wrong').addClass('normal');
			}
		},
		
		'services' : function (){
			
			jQuery('body').append('<div id="serviceInfo" class="info"></div>');
			
			var servicesInfo = jQuery('#serviceInfo');
			var ele = jQuery('#keuze');
			var pos = ele.offset();
	
			servicesInfo.css({
				top: pos.top-3,
				left: pos.left+ele.width()+10
			});
		
			if(jQuery('input[type="checkbox"]:checked').length <= 0) {
				
				
				jVal.errors = true;
					servicesInfo.removeClass('correct').addClass('error').html('&larr; Vink tenminste 1 optie aan.').show();
					ele.removeClass('normal').addClass('wrong');
			} else {
					servicesInfo.removeClass('error').addClass('correct').html('&radic;').show();
					ele.removeClass('wrong').addClass('normal');
			}
		},
		
		'aanVraag' : function (){
			
			jQuery('body').append('<div id="aanvraagInfo" class="info"></div>');
			
			var aanvraagInfo = jQuery('#aanvraagInfo');
			var ele = jQuery('#omschrijving');
			var pos = ele.offset();
	
			aanvraagInfo.css({
				top: pos.top-3,
				left: pos.left+ele.width()+30
			});
		
			//check if field validates of not
			var patt =  /^.*?\w?\s\w+/i;
			
			if(!patt.test(ele.val())) {
				jVal.errors = true;
				aanvraagInfo.removeClass('correct').addClass('error').html('&larr; Vul in elk geval 2 woorden in').show();
				ele.removeClass('normal').addClass('wrong');
			} else {
				aanvraagInfo.removeClass('error').addClass('correct').html('&radic;').show();
				ele.removeClass('wrong').addClass('normal');
			}
		}
	
	};
	
	//bind jVal fullName function to uw-naam formfield
	jQuery('#uw-naam').change(jVal.fullName);
	//bind jVal email to email formfield
	jQuery('#uw-mail').change(jVal.eMail);
	//bind jVal email to email formfield
	jQuery('#telefoon').change(jVal.telePhone);
	//bind jVal email to email formfield
	jQuery('#keuze').change(jVal.services);
	//bind jVal email to email formfield
	jQuery('#omschrijving').change(jVal.aanVraag);
});
