Event.observe(window,'load', function() {
    $('form').observe('submit', function(e) {
    	e.stop();
    	$$('.form_required_action').each(function(elem) {
    		elem.removeClassName('form_required_action');
    	});
    	var submit = true;
    	$$('.form_required').each(function(elem) {
    		if($(elem).hasClassName('numeric_form_input')) {
    			if(!parseInt($F(elem).strip())) {
    				submit = false;
    				elem.addClassName('form_required_action');
    			}
    		}
    		else if($(elem).hasClassName('email_form_input')) {
    			var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
    			if (!emailPattern.test($F(elem))) {
    				submit = false;
    				elem.addClassName('form_required_action');
    			}
    		}
    		else if($F(elem).strip() == '' || $F(elem) == '_x_') {
    			submit = false;
    			elem.addClassName('form_required_action');
    		}
    	});
    	if(submit) { $('form').submit(); }
    	else {
    		$('form_message').show();
    		new Effect.Highlight('form_message', { duration:3 });
    	}
    });
});