function val_email(str) {

	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);

	if (str.indexOf(at)==-1){
		return false;
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		return false;
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		return false;
	}

	if (str.indexOf(at,(lat+1))!=-1){
		return false;
	}

	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		return false;
	}

	if (str.indexOf(dot,(lat+2))==-1){
		return false;
	}
	
	if (str.indexOf(" ")!=-1){
		return false;
	}

	return true;
}

function check_callback(){
	var submit_form = true;
	var theform = document.getElementById('callback');
	var name = document.getElementById('name');
	var name_length = name.value.length;
	var email = document.getElementById('email');
	var email_length = email.value.length;


	if (name_length < 1) {
		alert('Please enter your name');
		name.focus();
		return false;
	}

	var tel = document.getElementById('telno');
	var tel_length = tel.value.length;

	if (tel_length < 10) {
		alert('Please enter a valid telephone number');
		tel.focus();
		return false;
	}

	if (email_length < 1) {
		alert('Please enter your email address');
		email.focus();
		return false;
	} else {
		var is_email = val_email(email.value);
		if (is_email == false) {
			alert('Please enter a proper email address');
			email.focus();
			return false;
		}
	}
	
	if (submit_form == true) {
		theform.submit();
	}
}

function check_contact() {
	var submit_form = true;
	var theform = document.getElementById('enquiry');
	var name = document.getElementById('ename');
	var name_length = name.value.length;
	var email = document.getElementById('eemail');
	var email_length = email.value.length;


	if (name_length < 1) {
		alert('Please enter your name');
		name.focus();
		return false;
	}
/*
	var tel = document.getElementById('etelno');
	var tel_length = tel.value.length;

	if (tel_length < 1) {
		alert('Please enter your telephone number');
		tel.focus();
		return false;
	}
*/
	if (email_length < 1) {
		alert('Please enter your email address');
		email.focus();
		return false;
	} else {
		var is_email = val_email(email.value);
		if (is_email == false) {
			alert('Please enter a proper email address');
			email.focus();
			return false;
		}
	}
	if (submit_form == true) {
		theform.submit();
	}
}

function postit(this_pc) { //check postcode format is valid 
	var test = '';
	var size = '0';

	var test_box=document.getElementById(this_pc);
	var test = test_box.value;
	size = test.length;

	test = test.toUpperCase(); //Change to uppercase
	while (test.slice(0,1) == " ") //Strip leading spaces
	{
		test = test.substr(1,size-1);size = test.length
	}
	while(test.slice(size-1,size)== " ") //Strip trailing spaces
	{test = test.substr(0,size-1);size = test.length
	}

	test_box.value = test; //write back to form field
	if (size < 6 || size > 8){ //Code length rule
	alert(test + " is not a valid postcode - wrong length");
	test_box.focus();
	return false;
	}
	if (!(isNaN(test.charAt(0)))){ //leftmost character must be alpha character rule
	alert(test + " is not a valid postcode - cannot start with a number");
	test_box.focus();
	return false;
	}
	if (isNaN(test.charAt(size-3))){ //first character of inward code must be numeric rule
	alert(test + " is not a valid postcode - alpha character in wrong position");
	test_box.focus();
	return false;
	}
	if (!(isNaN(test.charAt(size-2)))){ //second character of inward code must be alpha rule
	alert(test + " is not a valid postcode - number in wrong position");
	test_box.focus();
	return false;
	}
	if (!(isNaN(test.charAt(size-1)))){ //third character of inward code must be alpha rule
	alert(test + " is not a valid postcode - number in wrong position");
	test_box.focus();
	return false;
	}
	if (!(test.charAt(size-4) == " ")){//space in position length-3 rule
	alert(test + " is not a valid postcode - no space or space in wrong position");
	test_box.focus();
	return false;
	}
	count1 = test.indexOf(" ");count2 = test.lastIndexOf(" ");
	if (count1 != count2){//only one space rule
	alert(test + " is not a valid postcode - only one space allowed");
	test_box.focus();
	return false;
	}
	// alert("Postcode Format OK");
	return true;
}

function check_postcode() {
	var pc_box=document.getElementById('postcode');
	var theform = document.getElementById('availability');
	var size=0;
	var ok=true;

	size = pc_box.value.length;
	if(size > 0) {
		ok=postit('postcode');
		if(ok == false) {
			pc_box.className='error_border';
			pc_box.focus();
			return false;
		}
	} else {
		alert('Please enter your postcode.');
		pc_box.className='error_border';
		pc_box.focus();
		return false;
	}
	if (ok == true) {
		theform.submit();
	}
}

function check_booking() {
	var submit_form = true;
	var theform = document.getElementById('booking');
	var name = document.getElementById('bname');
	var name_length = name.value.length;
	var email = document.getElementById('bemail');
	var email_length = email.value.length;


	if (name_length < 1) {
		alert('Please enter your name');
		name.focus();
		return false;
	}

	var tel = document.getElementById('btelno');
	var tel_length = tel.value.length;

	if (tel_length < 1) {
		alert('Please enter your telephone number');
		tel.focus();
		return false;
	}

	if (email_length < 1) {
		alert('Please enter your email address');
		email.focus();
		return false;
	} else {
		var is_email = val_email(email.value);
		if (is_email == false) {
			alert('Please enter a proper email address');
			email.focus();
			return false;
		}
	}
	if (submit_form == true) {
		theform.submit();
	}
}
