var validateForm = function(f) {
    var isFilled = function(field) {return field.value !== '';},
        requiredFields = {
            'firstName':    {
                condition:  isFilled,
                msg:        'Please enter a first name'
            },
            'lastName':     {
                condition:  isFilled,
                msg:        'Please enter a last name'
            },
            'organization': {
                condition:  isFilled,
                msg:        'Please enter an organization'
            },
            'email':        {
                condition:  function(field) {return field.value.match(/.+@.+/);},
                msg:        'Please enter a valid email address'
            },
            'telephone':    {
                condition:  isFilled,
                msg:        'Please enter a telephone number'
            },
            'postalCode':   {
                condition:  isFilled,
                msg:        'Please enter a postal code'
            },
            'subject':        {
                condition:  function(field) {return $('option:selected', field).attr('value') !== '';},
                msg:        'Please select a subject'
            },
            'comment2':     {
                condition:  isFilled,
                msg:        'Please enter a comment'
            }
        },
        valid = true;


    for(var field in requiredFields) {
        if(!requiredFields[field].condition(f[field])) {
            alert(requiredFields[field].msg);
            valid = false;
            break;
        }
    }

    return valid;
};
