// Form validation



// Callback Request
function validateForm_Callback(f) {

// Strip whitespace and place into variables
	name				= stripWhitespace(f.name.value);
	email				= stripWhitespace(f.email.value);
	telephone			= stripWhitespace(f.telephone.value);
	//clinic			= 'clinic'.join(", ");
	//treatment			= 'treatment'.join(", ");
	//clinic			= document.getElementById('clinic').value;
	//treatment			= document.getElementById('treatment').value;
		
	// Check required fields have information
	if(name.length == 0)					{ alert('Please tell us your name'); f.name.focus(); return false; }
	if(email.length == 0)					{ alert('Please enter your email address'); f.email.focus(); return false; }
	if(!validateEmail(email))				{ alert('This email address does not appear to be valid, please check it'); f.email.focus(); return false; }
	//if(telephone.length == 0)				{ alert('Please enter your phone number'); f.telephone.focus(); return false; }
	if(!validateTelephone(telephone)) 		{ alert('This telephone number is not valid, please check and try again'); f.telephone.focus(); return false; }
	
	// If all ok then return true (validation passed)
	return true;

}



// Brochure Request
function validateForm_Brochures(f) {

// Strip whitespace and place into variables
	name				= stripWhitespace(f.name.value);
	email				= stripWhitespace(f.email.value);
	//telephone			= stripWhitespace(f.telephone.value);
	address				= stripWhitespace(f.address.value);
	brochure			= stripWhitespace(f.brochure.value);
	
	
	// Check required fields have information
	if(name.length == 0)					{ alert('Please tell us your name'); f.name.focus(); return false; }
	if(email.length == 0)					{ alert('Please enter your email address'); f.email.focus(); return false; }
	if(!validateEmail(email))				{ alert('This email address does not appear to be valid, please check it'); f.email.focus(); return false; }
	
	if(address.length == 0)					{ alert('Please enter your address'); f.address.focus(); return false; }
	if(brochure.length == 0)				{ alert('Please specify which brochure you would like'); f.brochure.focus(); return false; }

	
	// If all ok then return true (validation passed)
	return true;

}



// Book Appointment
function validateForm_Appointment(f) {

// Strip whitespace and place into variables
	name				= stripWhitespace(f.name.value);
	email				= stripWhitespace(f.email.value);
	telephone			= stripWhitespace(f.telephone.value);
	//address				= stripWhitespace(f.address.value);
	
	
	// Check required fields have information
	if(name.length == 0)					{ alert('Please tell us your name'); f.name.focus(); return false; }
	if(email.length == 0)					{ alert('Please enter your email address'); f.email.focus(); return false; }
	if(!validateEmail(email))				{ alert('This email address does not appear to be valid, please check it'); f.email.focus(); return false; }
	
	// If all ok then return true (validation passed)
	return true;

}



// FAQ
function validateForm_FAQ(f) {

// Strip whitespace and place into variables
	name				= stripWhitespace(f.name.value);
	telephone			= stripWhitespace(f.telephone.value);
	email				= stripWhitespace(f.email.value);
	question			= stripWhitespace(f.question.value);
	
	
	// Check required fields have information
	if(name.length == 0)					{ alert('Please tell us your name'); f.name.focus(); return false; }
	if(email.length == 0)					{ alert('Please enter your email address'); f.email.focus(); return false; }
	if(!validateEmail(email))				{ alert('This email address does not appear to be valid, please check it'); f.email.focus(); return false; }
	if(question.length == 0)				{ alert('Please ask us your question'); f.question.focus(); return false; }

	
	// If all ok then return true (validation passed)
	return true;

}







/* function to validate postcode */
function validatePostcode(postcode) {

var regex = /^[A-Za-z]{1,2}\d{1,2}[A-Za-z]? \d[A-Za-z]{2}$/;
return regex.test(postcode);
}



/* Function to validate email */
function validateEmail(email) {
  var regex = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
  return regex.test(email);
}



/* Function to validate Telephone number, ie 11-13 digits */
function validateTelephone(telephone) {
telephone = telephone.replace (/[^\d]/g,'');
var regex = /^\d{11,13}/;
return regex.test(telephone);
}




/* Remove white space from start & end of string */
function stripWhitespace(str) {
	str = this != window ? this : str;
	return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}
