function isFormValid() {
    var errorMessage = '<h2>The Form is Incomplete</h2><p>The following fields are required</p><ul>';
    var isValid = true;
    var emailFilter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

    if ($('#txtName').val() == '') {
        errorMessage += '<li>Name</li>';
        $('#contact-name').addClass('error');
        isValid = false;
    }
    else {
        $('#contact-name').removeClass('error');
    }

    if ($('#txtPhone').val() == '') {
        errorMessage += '<li>Phone number</li>';
        $('#contact-phone').addClass('error');
        isValid = false;
    }
    else {
        $('#contact-phone').removeClass('error');
    }

    if ($('#txtEmail').val() == '') {
        errorMessage += '<li>Email address</li>';
        $('#contact-email').addClass('error');
        isValid = false;
    }
    else {
        if (!emailFilter.test($('#txtEmail').val())) {
            errorMessage += '<li>Valid email address</li>';
            $('#contact-email').addClass('error');
            isValid = false;
        }
        else {
            $('#contact-email').removeClass('error');
        }
    }

    if ($('#txtCompany').val() == '') {
        errorMessage += '<li>Company</li>';
        $('#contact-company').addClass('error');
        isValid = false;
    }
    else {
        $('#contact-company').removeClass('error');
    }

    if ($('#selectEmployees').val() == '--') {
        errorMessage += '<li>Employees</li>';
        $('#contact-employees').addClass('error');
        isValid = false;
    }
    else {
        $('#contact-employees').removeClass('error');
    }

    if ($('#selectRole').val() == '--') {
        errorMessage += '<li>Team role</li>';
        $('#contact-role').addClass('error');
        isValid = false;
    }
    else {
        $('#contact-role').removeClass('error');
    }

    if (!isValid)
        $('#contact-alert').show().html(errorMessage);
    else
        $('#contact-alert').hide()
    
    return isValid;
}
