function validateForm_Contact(){
	var state = new Object();
	state.isValid = true;
	state.message ="Het spijt ons! \nDe aanvraag is niet verzonden omdat enkele gegevens niet juist ingevuld zijn. Om de aanvraag alsnog te verzenden verzoeken wij u om de betreffende velden te corrigeren."
	
	// validate name
	var validationResult = validateName();
	if(!validationResult.isValid){
		state.isValid = false;
	};
	
	// validate email
	validationResult = validateEmail();
	if(!validationResult.isValid){
		state.isValid = false;
	};
	
	// validate omschrijving
	validationResult = validateDescription();
	if(!validationResult.isValid){
		state.isValid = false;
	};
	
	return state;
}

function validateName(){
	var field = gElement('contactFormName');
	var state = new Object();
	state.isValid = true;
	state.field = 'Naam';
	
	// minimaal 2 karakters
	field.value = trim(field.value);
	if(field.value.length < 2){
		state.isValid = false;
		state.message = "U dient minimaal 2 karakters in te voeren.";
	}
	
	var validationResponse = gElement('nameValidationResponse');
	var tr = validationResponse.parentNode.parentNode;
	if(!state.isValid){
		addClass(tr, 'notValid');
		validationResponse.innerHTML = state.message;
	}
	else if(hasClass(tr, 'notValid')){
		removeClass(tr, 'notValid');
		validationResponse.innerHTML = '';
	}
	
	return state;
}

function validateEmail(){
	var field = gElement('contactFormEmail');
	var state = new Object();
	state.isValid = true;
	state.field = 'Email';
		
	if(!/^([\w]+)(\.[\w]+)*@([\w\-]+)(\.[\w]{2,4})(\.[a-z]{2})?$/i.test(field.value)){
		state.isValid = false;
		state.message = "Het emailadres is onjuist. <br/> Voorbeeld juiste format info@usableDesign.nl";
    }
	
	var validationResponse = gElement('emailValidationResponse');
	var tr = validationResponse.parentNode.parentNode;
	if(!state.isValid){
		addClass(tr, 'notValid');
		validationResponse.innerHTML = state.message;
	}
	else if(hasClass(tr, 'notValid')){
		removeClass(tr, 'notValid');
		validationResponse.innerHTML = '';
	}
	
	return state;
}

function validateDescription(){
	var field = gElement('contactFormDescription');
	var state = new Object();
	state.isValid = true;
	state.field = 'Vraag/Opmerking';
	
	// minimaal 2 karakters
	field.value = trim(field.value);
	if(field.value.length < 15){
		state.isValid = false;
		state.message = "U dient minimaal 15 karakters in te voeren.";
	}
	
	var validationResponse = gElement('descriptionValidationResponse');
	var tr = validationResponse.parentNode.parentNode;
	if(!state.isValid){
		addClass(tr, 'notValid');
		validationResponse.innerHTML = state.message;
	}
	else if(hasClass(tr, 'notValid')){
		removeClass(tr, 'notValid');
		validationResponse.innerHTML = '';
	}
	
	return state;
}
