jQuery( document ).ready( function() { if ( jQuery( '.iwacontact' ).length > 0 ) { jQuery( '.iwacontact' ).submit( function() { var currentForm = jQuery( this ); currentForm.find( '.buttons .ajax-result' ).hide(); currentForm.find( '.buttons .ajax-result' ).removeClass( 'error' ); var validationError = 0; var firstError = 1; currentForm.find( ':input' ).each( function( i ) { jQuery( this ).removeClass( 'error' ); jQuery( this ).parent().children( '.ajax-feedback' ).remove(); if ( jQuery( this ).hasClass( 'required-field' ) && ( jQuery( this ).val() == '' || jQuery( this ).val() == null ) ) { validationError = 1; jQuery( this ).addClass( 'error' ); jQuery( this ).after( 'This field is required' ); jQuery( this ).parent().children( '.ajax-feedback' ).fadeIn(); } else if ( jQuery( this ).hasClass( 'validate-email' ) && !jQuery( this ).val().match( /^[A-Z0-9._%-]+@[A-Z0-9._%-]+.[A-Z]{2,4}$/i ) ) { validationError = 1; jQuery( this ).addClass( 'error' ); jQuery( this ).after( 'Please enter a valid email address' ); jQuery( this ).parent().children( '.ajax-feedback' ).fadeIn(); } if ( validationError && firstError ) { this.focus(); firstError = 0; } } ); if ( validationError ) { currentForm.find( '.buttons .ajax-result' ).addClass( 'error' ); currentForm.find( '.buttons .ajax-result' ).html( "There was an error processing your request" ); currentForm.find( '.buttons .ajax-result' ).fadeIn(); return false; } currentForm.find( '.ajax-loading' ).show(); var postData = currentForm.find( ':input').serialize(); var submitURL = currentForm.attr( 'action' ); jQuery.ajax( { type: "POST", url: submitURL, data: postData, complete: function( html ) { currentForm.find( '.ajax-loading' ).hide(); currentForm.find( '.buttons .ajax-result' ).html( "Your message has been sent successfully!" ); currentForm.find( '.buttons .ajax-result' ).fadeIn(); currentForm.find( ':input' ).attr( 'disabled', 'disabled' ); currentForm.find( '.buttons #submit' ).addClass( 'disabled' ); } } ); return false; } ); } } );