File: /var/www/html/ielts-store/wp-content/themes/oceanwp/assets/js/third/woo/woo-multistep-checkout.js
var $j = jQuery.noConflict();
$j(document).ready(function(){
    "use strict";
    // Woo multi-step checkout
    oceanwpWooMultiStepCheckout();
} );
/* ==============================================
WOOCOMMERCE MULTI-STEP CHECKOUT
============================================== */
function oceanwpWooMultiStepCheckout() {
    "use strict"
    var body                = $j( 'body' ),
        login               = $j( '#checkout_login' ),
        billing             = $j( '#customer_billing_details' ),
        shipping            = $j( '#customer_shipping_details' ),
        order               = $j( '#order_review' ),
        payment             = $j( '#order_checkout_payment' ),
        form_actions        = $j( '#form_actions' ),
        coupon              = $j( '#checkout_coupon' ),
        steps               = new Array( login, billing, shipping, order, payment );
    body.on( 'updated_checkout', function( e ) {
        steps[4] = $j( '#order_checkout_payment' );
        if ( e.type == 'updated_checkout' ) {
            steps[4] = $j( '#order_checkout_payment' );
        }
        $j( '#order_checkout_payment' ).find( 'input[name=payment_method]' ).on( 'click', function() {
            if ( $j( '.payment_methods input.input-radio' ).length > 1 ) {
                var target_payment_box = $j( 'div.payment_box.' + $j( this ).attr( 'ID' ) );
                if ( $j( this ).is( ':checked' ) && ! target_payment_box.is( ':visible' ) ) {
                    $j( 'div.payment_box' ).filter( ':visible' ).slideUp( 250 );
                    if ( $j( this ).is( ':checked' ) ) {
                        $j( 'div.payment_box.' + $j( this ).attr( 'ID' )).slideDown( 250 );
                    }
                }
            } else {
                $j( 'div.payment_box' ).show();
            }
            if ( $j( this ).data( 'order_button_text' )) {
                $j( '#place_order' ).val( $j( this ).data( 'order_button_text' ) );
            } else {
                $j( '#place_order' ).val( $j( '#place_order' ).data( 'value' ) );
            }
        } );
    } );
    form_actions.find( '.button.prev' ).add( '.button.next' ).on( 'click', function( e ) {
        var $this           = $j( this ),
            timeline        = $j( '#owp-checkout-timeline' ),
            action          = $this.data( 'action' ),
            current_step    = form_actions.data( 'step' ),
            next_step       = current_step + 1,
            prev_step       = current_step - 1,
            prev            = form_actions.find( '.button.prev' ),
            next            = form_actions.find( '.button.next' ),
            checkout_form   = $j( 'form.woocommerce-checkout' ),
            is_logged_in    = oceanwpLocalize.is_logged_in,
            button_title;
        timeline.find( '.active' ).removeClass( 'active' );
            if ( action == 'next' ) {
                var billingField  = $j( '.woocommerce-billing-fields p.validate-required input, .woocommerce-billing-fields p.validate-required select' ),
                    createAccount = checkout_form.find( '.woocommerce-account-fields p.create-account input' );
                if ( createAccount.is( ":checked" ) == true ) {
                    var reqAccntDetails = $j( '.woocommerce-account-fields p#account_password_field input, .woocommerce-account-fields p#account_username_field input' );
                } else {
                    var reqAccntDetails = '';
                }
                var inputField = $j.merge( billingField, reqAccntDetails );
                console.log(inputField);
                inputField.filter(function() {
                    if ( '' == $j( this ).val() ) {
                        $j( this ).css(
                            'border-color', '#ff0000'
                        );
                    } else {
                        $j( this ).css(
                            'border-color', ''
                        );
                    }
                });
                if ( 0 === inputField.filter(function() {
                        return ! this.value;
                    }).length ) {
                    form_actions.data( 'step', next_step );
                    steps[current_step].fadeOut( 120, function() {
                        steps[next_step].fadeIn( 120 );
                    } );
                    $j( '#timeline-' + next_step ).toggleClass( 'active' );
                    $j( checkout_form ).find( '.ocean-multistep-error-notice' ).remove();
                } else if ( current_step == 0 && is_logged_in == false ) {
                    form_actions.data( 'step', next_step );
                    steps[current_step].fadeOut( 120, function() {
                        steps[next_step].fadeIn( 120 );
                    } );
                    $j( '#timeline-' + next_step ).toggleClass( 'active' );
                    $j( checkout_form ).find( '.ocean-multistep-error-notice' ).remove();
                } else {
                    $j(window).scrollTop( $j( '#content-wrap' ).offset().top );
                    if ( 0 === $j( checkout_form ).find( '.ocean-multistep-error-notice' ).length ) {
                        $j( checkout_form ).prepend( '<div class="ocean-multistep-error-notice"><ul class="woocommerce-error" role="alert"></ul></div>' );
                        $j( '.ocean-multistep-error-notice' ).html( '<ul class="woocommerce-error" role="alert">' );
                        $j( '.woocommerce-error' ).prepend( '<li >' + oceanwpLocalize.multistep_checkout_error + '</li>' );
                    }
                    $j( '#timeline-' + current_step ).addClass( 'active' );
                }
            } else if ( action == 'prev' ) {
                form_actions.data( 'step', prev_step );
                steps[current_step].fadeOut( 120, function() {
                    steps[prev_step].fadeIn( 120 );
                } );
                $j( '#timeline-' + prev_step ).toggleClass( 'active' );
                $j( checkout_form ).find( '.ocean-multistep-error-notice' ).remove();
            }
            current_step = form_actions.data( 'step' );
            if ( ( current_step == 1
                    && is_logged_in == true ) ||
                ( is_logged_in == false
                    && ( ( current_step == 0
                        && oceanwpLocalize.login_reminder_enabled == 1 )
                    ||  ( current_step == 1
                        && oceanwpLocalize.login_reminder_enabled == 0 ) ) ) ) {
                prev.fadeOut( 120 );
            } else {
                prev.fadeIn( 120 );
            }
            // Next title
            if ( is_logged_in == false
                && ( ( current_step == 0
                        && oceanwpLocalize.login_reminder_enabled == 1 )
                    ||  ( current_step == 1
                        && oceanwpLocalize.login_reminder_enabled == 0 ) )  ) {
                next.val( oceanwpLocalize.no_account_btn );
            } else {
                next.val( oceanwpLocalize.next );
            }
            // Last step
            if ( current_step == 3 ) {
                checkout_form.removeClass( 'processing' );
                coupon.fadeIn( 80 );
                next.fadeOut( 120 );
            } else {
                checkout_form.addClass( 'processing' );
                coupon.fadeOut( 80 );
                next.fadeIn( 120 );
            }
    });
}