function checkWholeForm(myForm) 
{	
    var formOk=true;
    var why = "";
	//check the text fields that are required numbers or text
	why += checkText(document.enquiry.firstName.value, "You didn't enter a First Name\n");
	why += checkText(document.enquiry.lastName.value, "You didn't enter a Last Name\n");
	why += checkNumberedText(document.enquiry.telephone.value, "You didn't enter a Contact Number\n", "The Contact Number needs to be numbers only.\n", "The Contact Number is the wrong length. If it isn't a mobile number, try adding an area code.\n", 10);
	why += checkEmail(document.enquiry.emailAddress.value, "You didn't enter an Email Address\n", "Your email address does not match.\n", "Please enter a valid email address.\n", "The email address contains illegal characters.\n");

if (why != "") 
	{
       alert(why);
       formOk=false;
    }
	else
	{
	   formOk=true;
	}
	 if (formOk==true)
	 {
	  document.enquiry.submit()
	 }
	 return formOk;

}

// check any text box
function checkText(strng, err) 
{
	var error="";
	if (strng == "") 
		{
		   error = err;
		}
	return error; 
}

// valid selector from dropdown list
function checkDrop(choice, err) {
	var error = "";
	if (choice == "") {
		error = err;
		}    
	return error;
}    

// phone number - strip out delimiters and check for correct length

function checkNumberedText(strng, err1, err2, err3, length) 
{
	var error = "";
	if (strng == ""){
	   error = err1;
	}else{	
	var stripped = strng.replace(/[\(\)\.\-\ ]/g, ''); //strip out acceptable non-numeric characters
		if (isNaN(parseInt(stripped))) {
			
		   error = err2; 
		}else{
			if ((length != "") && (stripped.length != length)){
//			if (!(stripped.length == length)) {
				error = err3;
			} 
		}
	}
	return error;
}


// email
function checkEmail(strng, err1, err2, err3, err4) 
{
	var error="";
	if (strng == "") {
	   error = err1;
	}
	else
	{
		var emailFilter=/^.+@.+\..{2,4}$/;
		if (!(emailFilter.test(strng))) { 
		   error = err3;
		}else{
		//test email for illegal characters
		   var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
			if (strng.match(illegalChars)) {
				error = err4;
			}
		}
	}
	 
return error;    
}


// check date of birth
function checkDOB (strng) 
{
var error="";
if (strng == "") 
{
   error = "You didn't enter a Date of Birth.\n";
}
else
{
var dateFilter = /^.{2}\/.{2}\/.{4}$/
if (!(dateFilter.test(strng))) 
{ 
   error = "Your date was invalid it should be in the dd/mm/yyyy format. e.g. 03/12/1980\n";
}
else
{
var stripped = strng.replace(/[\(\)\.\-\ ]/g, ''); //strip out acceptable non-numeric characters
    if (isNaN(parseInt(stripped))) 
	{
       error = "The date needs to be in numeric format. \n";
    }
}
}
return error; 
}

// password - between 6-8 chars, uppercase, lowercase, and numeral

function checkPassword (strng) {
var error = "";
if (strng == "") {
   error = "You didn't enter a password.\n";
}

    var illegalChars = /[\W_]/; // allow only letters and numbers
    
    if ((strng.length < 6) || (strng.length > 8)) {
       error = "The password is the wrong length.\n";
    }
    else if (illegalChars.test(strng)) {
      error = "The password contains illegal characters.\n";
    } 
    else if (!((strng.search(/(a-z)+/)) && (strng.search(/(A-Z)+/)) && (strng.search(/(0-9)+/)))) {
       error = "The password must contain at least one uppercase letter, one lowercase letter, and one numeral.\n";
    }  
return error;    
}    


// username - 4-10 chars, uc, lc, and underscore only.
function checkUsername (strng) {
var error = "";
if (strng == "") {
   error = "You didn't enter a username.\n";
}


    var illegalChars = /\W/; // allow letters, numbers, and underscores
    if ((strng.length < 4) || (strng.length > 10)) {
       error = "The username is the wrong length.\n";
    }
    else if (illegalChars.test(strng)) {
    error = "The username contains illegal characters.\n";
    } 
return error;
}       


// was textbox altered
function isDifferent(strng) {
var error = ""; 
  if (strng != "Can\'t touch this!") {
     error = "You altered the inviolate text area.\n";
  }
return error;
}

// exactly one radio button is chosen
function checkRadio(checkvalue) {
var error = "";
   if (!(checkvalue)) {
       error = "Please check a radio button.\n";
    }
return error;
}