function isValidEmail(emailAddr) {
    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(emailAddr)){
        return true;
    }
    return false;
}

function validateContactForm(f) {

    var Msg = "";

    if (f.firstname.value == "") {
        Msg = "Please enter your first name.\n\n";
        f.firstname.focus();
        alert(Msg);
        return false;
    }

    if (f.lastname.value == "") {
        Msg = "Please enter your last name.\n\n";
        f.firstname.focus();
        alert(Msg);
        return false;
    }

    
    if (f.postcode.value != "") {
        if (!(/^[\d]+$/.test(f.postcode.value))) {
            Msg = "The post code you have entered is not valid.\n Post codes must be numeric (no spaces are allowed)\n\n";
            f.postcode.focus();
            alert(Msg);
            return false;
        }
    }

    if (f.telnum.value != "") {
        if (!(/^[\d]+$/.test(f.telnum.value))) {
            Msg = "The telephone number you have entered is not valid.\n Telephone numbers must be numeric (no spaces are allowed)\n\n";
            f.telnum.focus();
            alert(Msg);
            return false;
        }
    }

    if (f.email.value != "") {
        if (!isValidEmail(f.email.value)) {
            Msg = "The email address you have entered in not valid.\n\n";
            f.email.focus();
            alert(Msg);
            return false;
        }
    }else{
        Msg = "Please enter a valid email address.\n\n";
        f.email.focus();
        alert(Msg);
        return false;
    }

    if (f.comments.value == "") {
        Msg = "Please enter your comments.\n\n";
        f.comments.focus();
        alert(Msg);
        return false;
    }

    f.sendBtn.disabled=true;
    f.resetBtn.disabled=true;
    
    return true;

}
