String.prototype.isValidEmail = function() { return (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(this));};
$(function () {
    $('form.should-validate').submit(function () {
        reqs = $('.required', this);
        
        for (var i=0; i < reqs.length; i++) {
            var f = $(reqs[i]);
            var err = '';
            var choose = 'enter your';
            var tag = f.get(0).tagName.toLowerCase();
            
            if ( tag == 'select') choose = 'choose';
            
            if (f.attr('value')=='') {
                err = "Please " + choose + " " + $('label[for=' + f.attr('id') + ']').text().replace(/:?\s*\*\s*$/, '').toLowerCase() + ".";
                err = err.replace(/:/gi, '');
            }
            if (f.hasClass('valid-mail') && !f.attr('value').isValidEmail()) {
                err = "Please enter a valid e-mail address.";
            }
            if (err.length) {
                alert(err);
                f.focus();
                return false;
            }
        }
        
        return true;
    });
});
