$(document).ready(function() {

    $('form#mainform').bind('submit', function(e) {

        if ($('input#required_fields').length == 0 && $('input#required_fields_email').length == 0)
            return false;

        var _required = $('input#required_fields').length > 0 ? $('input#required_fields').val() : false;
        var _required_email = $('input#required_fields_email').length > 0 ? $('input#required_fields_email').val() : false;

        if (_required) {

            _fields = _required.split(',');

            for (var i = 0; i < _fields.length; i++) {

                var _field = $('*[name="'+_fields[i]+'"]');
                if ((_field.attr('type') == 'radio' && !_field.is(':checked')) || _field.val().length <= 1) {
                    alert('Please fill all fields marked with *');
                    _field.focus();
                    return false;
                }

            }

        }

        if (_required_email) {

            _fields = _required_email.split(',');

            for (var i = 0; i < _fields.length; i++) {

                var _field = $('*[name="'+_fields[i]+'"]');
                if (!(/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/).test(_field.val())) {
                    alert('Please provide a valid email.');
                    _field.focus();
                    return false;
                }

            }

        }

        return true;

    });

});
