//validation for frmEnquiry
function checkPostcode()
{
 test = document.details.pcode.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
  }
 document.details.pcode.value = test; //write back to form field
 if (size < 6 || size > 8){ //Code length rule
  alert(test + " is not a valid postcode - wrong length");
  document.details.pcode.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");
   document.details.pcode.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");
   document.details.pcode.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");
   document.details.pcode.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");
   document.details.pcode.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");
   document.details.pcode.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");
   document.details.pcode.focus();
   return false;
  }
	return true;
}

function checkShort()
{
	formObj=document.frmShort;

	if (formObj.MB_NAME.value == "") {
		alert("Please enter your full name.");
		formObj.MB_NAME.focus();
		return false;
	}
	if (formObj.MB_EMAIL.value == "") {
		alert("Please enter your email address.");
		formObj.MB_EMAIL.focus();
		return false;
	}
	if (formObj.MB_EMAIL.value != formObj.EMAIL.value) {
		alert("Your repeated email address does not match.");
		formObj.MB_EMAIL.focus();
		return false;
	}
	if ((formObj.MB_EMAIL.value != "") && (!checkEmail(formObj.MB_EMAIL.value))) {
		alert("That email address is invalid.");
		formObj.MB_EMAIL.focus();
		return false;
	}
	if (eval('formObj.MB_SOURCE'))
		if (formObj.MB_SOURCE.value == "0") {
			alert("Please choose a referral source.");
			formObj.MB_SOURCE.focus();
			return false;
		}
	if (!formObj.MB_AGREED.checked) {
		alert("You must agree to the terms and conditions to continue.");
		formObj.MB_AGREED.focus();
		return false;
	}

	//Test for reCAPTCHA elements
	if (!eval('document.frmShort.CAPTCHA')) {
	    //Recaptcha complete and validated
	    if (formObj.recaptcha_response_field.value == "") {
	        alert("Please complete the reCAPTCHA challenge.");
	        formObj.recaptcha_response_field.focus();
	        return false;
	    } else {
	        // Do Validation
	        ValidateRecaptcha("frmShort");
	        //Debug
	        //alert(formObj.AJAX_OK.value);
	        //wait a bit to 
	        if (formObj.AJAX_OK.value == "") {
	            alert("The reCAPTCHA answer has not yet been validated. Please close this prompt and try submitting the form again.");
	            formObj.recaptcha_response_field.focus();
	            return false;
	        }
	        if (formObj.AJAX_OK.value == "Fail") {
	            alert("The reCAPTCHA answer is not correct - please try again. You can generate a new challenge by clicking on the refresh button in the reCAPTCHA form.");
	            Recaptcha.reload();
	            formObj.recaptcha_response_field.focus();
	            return false;
	        }
	    }
	}
	
	formObj.cmdSubmit.disabled=true;
	formObj.cmdSubmit.value="Registering...";
}

function checkRegister()
{
    formObj = document.frmRegister;
	
	if (formObj.MB_ID.value.length <6) {
		alert("You must choose a User ID of at least 6 characters");
		formObj.MB_ID.focus();
		return false;
	}
	if (formObj.MB_PASSWORD.value.length < 6) {
		alert("You must choose a Password of at least 6 characters.");
		formObj.MB_PASSWORD.focus();
		return false;
	}
	if (formObj.MB_PASSWORD.value.toLowerCase() == "password") {
		alert("You cannot use that as your Password.");
		formObj.MB_PASSWORD.focus();
		return false;
	}
	if (formObj.MB_PASSWORD.value == formObj.MB_ID.value) {
		alert("You cannot use your User ID as your Password.");
		formObj.MB_PASSWORD.focus();
		return false;
	}
	if (formObj.REPEAT.value != formObj.MB_PASSWORD.value) {
		alert("The passwords entered do not match.");
		formObj.MB_PASSWORD.focus();
		return false;
	}
	if (formObj.MB_NAME.value == "") {
		alert("Please enter your full name.");
		formObj.MB_NAME.focus();
		return false;
	}
//depends on ST_PERSONAL
	if (formObj.ST_PERSONAL.value != "ON")
	{
		if (formObj.MB_JOBTITLE.value == "") {
			alert("Please enter your job title.");
			formObj.MB_JOBTITLE.focus();
			return false;
		}
		if (formObj.MB_ORGANISATION.value == "") {
			alert("Please enter your organisation.");
			formObj.MB_ORGANISATION.focus();
			return false;
		}
	}
/*
	if (formObj.SUBS.value == "ON")
	{
		if (formObj.MB_AD1.value == "") {
			alert("Please enter the first line of your address.");
			formObj.MB_AD1.focus();
			return false;
		}
		if (formObj.MB_AD4.value == "") {
			alert("Please enter your city.");
			formObj.MB_AD4.focus();
			return false;
		}
	}
*/
	if (formObj.MB_POSTCODE.value == "") {
		alert("Please enter your postcode.");
		formObj.MB_POSTCODE.focus();
		return false;
	}

	if (formObj.MB_EMAIL.value == "") {
		alert("Please enter your email address.");
		formObj.MB_EMAIL.focus();
		return false;
	}
	if (formObj.MB_EMAIL.value != formObj.EMAIL.value) {
		alert("Your repeated email address does not match.");
		formObj.MB_EMAIL.focus();
		return false;
	}
	if ((formObj.MB_EMAIL.value != "") && (!checkEmail(formObj.MB_EMAIL.value))) {
		alert("That email address is invalid.");
		formObj.MB_EMAIL.focus();
		return false;
	}
	if (eval('formObj.MB_SOURCE'))
		if (formObj.MB_SOURCE.value == "0") {
			alert("Please choose a referral source.");
			formObj.MB_SOURCE.focus();
			return false;
		}
		
	//Voucher
	if (eval('formObj.VOUCHER')) {
		if (formObj.VOUCHER1.value.length + formObj.VOUCHER2.value.length + formObj.VOUCHER3.value.length + formObj.VOUCHER4.value.length > 0) {
			if (formObj.VOUCHER1.value.length != 4) {
				alert("Invalid voucher code.");
				formObj.VOUCHER1.focus();
				return false;
			}
			if (formObj.VOUCHER2.value.length != 4) {
				alert("Invalid voucher code.");
				formObj.VOUCHER2.focus();
				return false;
			}
			if (formObj.VOUCHER3.value.length != 4) {
				alert("Invalid voucher code.");
				formObj.VOUCHER3.focus();
				return false;
			}
			if (formObj.VOUCHER4.value.length != 4) {
				alert("Invalid voucher code.");
				formObj.VOUCHER4.focus();
				return false;
			}
			if (formObj.VOUCHER.value.length != 16) {
				alert("Voucher code has not been validated.");
				formObj.cmdValidate.focus();
				return false;
			}
		}
	}
	
	//T&Cs
	if (!formObj.MB_AGREED.checked) {
		alert("You must agree to the terms and conditions to continue.");
		formObj.MB_AGREED.focus();
		return false;
	}

	//Test for reCAPTCHA elements
	if (!eval('document.frmRegister.CAPTCHA')) {
	    //Recaptcha complete and validated
	    if (formObj.recaptcha_response_field.value == "") {
	        alert("Please complete the reCAPTCHA challenge.");
	        formObj.recaptcha_response_field.focus();
	        return false;
	    } else {
	        // Do Validation
	        ValidateRecaptcha("frmRegister");
	        //Debug
	        //alert(formObj.AJAX_OK.value);
	        //wait a bit to 
	        if (formObj.AJAX_OK.value == "") {
	            alert("The reCAPTCHA answer has not yet been validated. Please close this prompt and try submitting the form again.");
	            formObj.recaptcha_response_field.focus();
	            return false;
	        }
	        if (formObj.AJAX_OK.value == "Fail") {
	            alert("The reCAPTCHA answer is not correct - please try again. You can generate a new challenge by clicking on the refresh button in the reCAPTCHA form.");
	            Recaptcha.reload();
	            formObj.recaptcha_response_field.focus();
	            return false;
	        }
	    }
	}
	
	//Concatenate voucher bits
	if (eval('formObj.VOUCHER')) {
		formObj.VOUCHER.value=formObj.VOUCHER1.value + formObj.VOUCHER2.value + formObj.VOUCHER3.value + formObj.VOUCHER4.value;
	}

	formObj.cmdSubmit.disabled=true;
	formObj.cmdSubmit.value="Registering...";
}

