function checkWholeForm(propertySearchForm) {
	var why = "";

		why += checkDropdown(propertySearchForm.title.selectedIndex, "TITLE");
		if (why != "") {
			alert(why);
			propertySearchForm.title.focus();
			return false;
		}
		why += isEmpty(propertySearchForm.firstName.value, "FIRST NAME");
		if (why != "") {
			alert(why);
			propertySearchForm.firstName.focus();
			return false;
		}
		why += isEmpty(propertySearchForm.familyName.value, "FAMILY NAME");
		if (why != "") {
			alert(why);
			propertySearchForm.familyName.focus();
			return false;
		}

		why += checkEmail(propertySearchForm.email.value, "EMAIL");
		if (why != "") {
			alert(why);
			propertySearchForm.email.focus();
			return false;
		}
		why += isEmpty(propertySearchForm.mobile.value, "MOBILE");
		if (why != "") {
			alert(why);
			propertySearchForm.mobile.focus();
			return false;
		}
		why += isEmpty(propertySearchForm.homePhone.value, "HOME PHONE");
		if (why != "") {
			alert(why);
			propertySearchForm.homePhone.focus();
			return false;
		}
		why += checkDropdown(propertySearchForm.preferredContact.value, "PREFERRED CONTACT");
		if (why != "") {
			alert(why);
			propertySearchForm.preferredContact.focus();
			return false;
		}
		why += isEmpty(propertySearchForm.preferredSuburb1.value, "PREFERRED SUBURB");
		if (why != "") {
			alert(why);
			propertySearchForm.preferredSuburb1.focus();
			return false;
		}
		why += isEmpty(propertySearchForm.priceTo.value, "MAXIMUM PRICE");
		if (why != "") {
			alert(why);
			propertySearchForm.priceTo.focus();
			return false;
		}
		why += checkDropdown(propertySearchForm.numberBedrooms.selectedIndex, "NUMBER OF BEDROOMS");
		if (why != "") {
			alert(why);
			propertySearchForm.numberBedrooms.focus();
			return false;
		}
		why += checkDropdown(propertySearchForm.numberBathrooms.selectedIndex, "NUMBER OF BATHROOMS");
		if (why != "") {
			alert(why);
			propertySearchForm.numberBathrooms.focus();
			return false;
		}
		why += checkDropdown(propertySearchForm.numberCarSpaces.selectedIndex, "NUMBER OF CAR SPACES");
		if (why != "") {
			alert(why);
			propertySearchForm.numberCarSpaces.focus();
			return false;
		}	
	return true;
}

// email

function checkEmail (strng) {
var error="";
if (strng == "") {
   error = "You didn't enter an email address.\n";
}

    var emailFilter=/^.+@.+\..{2,3}$/;
    if (!(emailFilter.test(strng))) { 
       error = "Please enter a valid email address.\n";
    }
    else {
//test email for illegal characters
       var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
         if (strng.match(illegalChars)) {
          error = "The email address contains illegal characters.\n";
       }
    }
return error;    
}

// non-empty textbox

function isEmpty(strng, fldName) {
var error = "";
  if (strng.length == 0) {
     error = "The " + fldName + " field has not been filled in.\n"
  }
return error;	  
}
// valid selector from dropdown list

function checkDropdown(choice, fldName) {
var error = "";
    if (choice == 0) {
    error = "You didn't choose an option from the " + fldName + " drop-down list.\n";
    }    
return error;
}
