jQuery( function ( $ ) { $( '#dlm-form-checkout' ).submit( function ( e ) { var form = $( this ); dlmShopResetErrorFields( form ); dlmShopRemoveErrors( form ); dlmShopShowLoading( form ); var customer = { first_name: form.find( '#dlm_first_name' ).val(), last_name: form.find( '#dlm_last_name' ).val(), company: form.find( '#dlm_company' ).val(), email: form.find( '#dlm_email' ).val(), address_1: form.find( '#dlm_address_1' ).val(), postcode: form.find( '#dlm_postcode' ).val(), city: form.find( '#dlm_city' ).val(), country: form.find( '#dlm_country' ).val(), }; var data = { payment_gateway: $( 'input[name=dlm_gateway]:checked', $( this ) ).val(), customer: customer }; if ( typeof form.data( 'order_id' ) !== "undefined" ) { data.order_id = form.data( 'order_id' ); } if ( typeof form.data( 'order_hash' ) !== "undefined" ) { data.order_hash = form.data( 'order_hash' ); } // check if required data is set var errorFields = []; var success = true; for ( var i = 0; i < dlm_strings.required_fields.length; i ++ ) { if ( customer[dlm_strings.required_fields[i]] === "" ) { success = false; errorFields.push( dlm_strings.required_fields[i] ); } } if ( success === false ) { dlmShopMarkErrorFields( form, errorFields ); dlmShopDisplayError( form, dlm_strings.error_message_required_fields ); dlmShopHideLoading( form ); return false; } $.post( dlm_strings.ajax_url_place_order, data, function ( response ) { if ( response.success === true && typeof response.redirect !== 'undefined' ) { window.location.replace( response.redirect ); return false; } else if ( response.success === false && response.error !== '' ) { dlmShopDisplayError( form, response.error ); } dlmShopHideLoading( form ); } ); return false; } ); function dlmShopMarkErrorFields( form, fields ) { for ( var i = 0; i < fields.length; i ++ ) { $( form ).find( '#dlm_' + fields[i] ).addClass( 'dlm-checkout-field-error' ); } } function dlmShopResetErrorFields( form ) { $( form ).find( '.dlm-checkout-field-error' ).removeClass( 'dlm-checkout-field-error' ); } function dlmShopDisplayError( form, errorMessage ) { var errorContainer = $( '
' ).html( errorMessage ) ); form.prepend( errorContainer ); } function dlmShopRemoveErrors( form ) { form.find( '.dlm-checkout-error' ).remove(); } function dlmShopShowLoading( form ) { $( form ).find( '#dlm_checkout_submit' ).attr( 'disabled', true ); var overlayBg = $( '