
// Function to display alert with text for empty/null fields.
function validateRequired(field,alertTxt) {
    with (field) {
    	if (value==null||value==""||value==" "||value==undefined) {
    		alert(alertTxt);
    		return false;
    	} else {
    		return true;
    	}
	}
}


// Validate email address
function validateEmail(address, alertTxt){
	var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if(address.match(emailRegEx)){
		return true;
	}else{
		alert(alertTxt);
		return false;
	}
}


// Validates any UK postcode (excludes British Forces postcodes)
function validatePostcode(postcode, alertTxt){
	var postcodeRegEx = /^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? {1}[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)$/;
	if(postcode.toUpperCase().match(postcodeRegEx)){
		return true;
	}else{
		alert(alertTxt);
		return false;
	}
}


// Validate enquiry form.
function validateEnquiry(f) {
	with (f) {
		if (validateRequired(name,"Name must be filled out!")==false) {
			name.focus();return false;
		}
		if (validateRequired(companyName,"Company must be filled out!")==false) {
			companyName.focus();return false;
		}
		if (validateRequired(email,"Email must be filled out!")==false) {
			email.focus();return false;
		}
		if (validateEmail(email.value,"Invalid Email Address!")==false) {
			email.focus();return false;
		}
		if (validateRequired(phoneNumber,"Phone number must be filled out!")==false) {
			phoneNumber.focus();return false;
		}   	
		if (validateRequired(address1,"Address Line 1 must be filled out!")==false) {
			address1.focus();return false;
		}
		if (validateRequired(town,"Town/City must be filled out!")==false) {
			town.focus();return false;
		}
		if (validateRequired(county,"County must be filled out!")==false) {
			county.focus();return false;
		}
		if (validateRequired(postCode,"Postcode must be filled out!")==false) {
			postCode.focus();return false;
		}
	}
	
	// Either comments or literature must be requested.
	var oneChecked = false;
	for ( i=0; i<f.elements.length; i++ ) {
	    if ( f.elements[i].type=="checkbox" ) {
	        if ( f.elements[i].checked == true ) {
	            oneChecked = true;
            }
	    }
	}
	if ( ( f.comments.value == null || f.comments.value == "" || f.comments.value == " " || f.comments.value == undefined ) && ( oneChecked == false ) ) { 
        alert("Please enter some comments or request our literature.");return false;		
	}
	
}
