function submitNewsletterForm(e) {
    new Ajax.Request($('newsletter-form').getAttribute('action') + 'Validate', {
        method: 'post',
        parameters: $('newsletter-form').serialize(true),
        onSuccess: function(transport){
            if(transport.responseText.isJSON()) {
                var errors = transport.responseText.evalJSON(true);
            } else {
            	new Ajax.Updater('newsletter-result', $('newsletter-form').getAttribute('action'), {
        			method: 'post',
        			parameters: $('newsletter-form').serialize(true)
            	});
            }
            $('newsletter-errors').innerHTML = '';
            for (error in errors) {
              $('newsletter-errors').innerHTML = $('newsletter-errors').innerHTML + errors[error] + '<br />';
            } 
        }
    });
    Event.stop(e);
}
Event.observe(window, 'load', function(){Event.observe($('newsletter-submit'), 'click', submitNewsletterForm, false)}, false);