File: /home/assotraipi/www/wp-content/plugins/download-monitor/assets/js/shop/checkout.js
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 = $( '<div>' ).addClass( "dlm-checkout-error" );
errorContainer.append( $( '<img>' ).attr( 'src', dlm_strings.icon_error ).attr( 'alt', 'Checkout error' ).addClass( 'dlm-checkout-error-icon' ) );
errorContainer.append( $( '<p>' ).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 = $( '<div>' ).addClass( 'dlm-checkout-overlay-bg' );
var overlay = $( '<div>' ).addClass( 'dlm-checkout-overlay' );
overlay.append( $( '<h2>' ).html( dlm_strings.overlay_title ) );
overlay.append( $( '<span>' ).html( dlm_strings.overlay_body ) );
overlay.append( $( '<img>' ).attr( 'src', dlm_strings.overlay_img_src ) );
$( 'body' ).append( overlayBg );
$( 'body' ).append( overlay );
overlayBg.fadeIn( 300, function () {
overlay.css( 'display', 'block' ).css( 'top', '47%' );
overlay.animate( {
"top": "+=3%"
}, 300 );
} );
}
function dlmShopHideLoading( form ) {
var overlay = $( '.dlm-checkout-overlay:first' );
var overlayBg = $( '.dlm-checkout-overlay-bg:first' );
overlay.fadeOut( 300, function () {
overlay.remove();
} );
overlayBg.fadeOut( 300, function () {
overlayBg.remove();
$( form ).find( '#dlm_checkout_submit' ).attr( 'disabled', false );
} );
}
} );