function nl_newsletter_submit( form ){ jQuery( "form#nl_newsletter .invalid" ).removeClass( 'invalid' ); jQuery( "form#nl_newsletter p").slideUp( 'fast', function(){ jQuery(this).remove(); }); jQuery .ajax({ type: "POST", dataType: "json", url: form.action, data: { "email": jQuery( "input#nl_newsletter_email" ).val(), "email_verify": jQuery( "input#nl_newsletter_email_verify" ).val(), "region": jQuery( "select#nl_newsletter_region" ).val(), "ajax": '1' }, success: function( json ){ if( json.success ){ jQuery( "form#nl_newsletter").prepend('

'+json.data.message+'

'); jQuery( "form#nl_newsletter p").slideDown('fast'); jQuery( "form#nl_newsletter fieldset" ).slideUp( 'fast' ); jQuery( "form#nl_newsletter input.submit" ).fadeOut( 'fast' ); }else{ if( json.data.message ){ jQuery( "form#nl_newsletter").prepend('

'+json.data.message+'

'); jQuery( "form#nl_newsletter p").slideDown('fast'); } for( field in json.data.invalid_fields ){ jQuery( "form#nl_newsletter [@name="+json.data.invalid_fields[field]+"]" ).addClass( 'invalid' ); } } }, error: function( object, msg, exception ){ alert( 'Sorry, there was an error sending your data, please try again later' ); } }); return false; } /** * Alter DOM when ready.. add hook on newsletter form */ if(typeof jQuery != "undefined"){ jQuery(document).ready( function() { jQuery("form#nl_newsletter").submit( function() { return nl_newsletter_submit(this) } ); } ); }