var loadPaymentOptionsBox = function()
{
    if (window.jQuery) {
        console.log('loading it now');
        var monthsAvailable = 12;
            
        console.log('ma', monthsAvailable);
        var product = {"id":4093,"shopify_id":6873420497011,"deposit":300,"quarter_available":"2","year_available":2020,"preorder_quantity":100,"created_at":null,"updated_at":null,"deposit_variant":"40192272662643","full_prepayment_variant":"40192272629875","prepurchase_nonphysical_product":"6875074068595","full_preorder_amount":"849.00","installment_variant":"40192272695411","offer_payment_plan":1,"offer_prepay_in_full":1,"title":"Nero","thumbnail":"https:\/\/cdn.shopify.com\/s\/files\/1\/0153\/7422\/1412\/products\/upmdmcv-01b_19.jpg?v=1655776506","sku":"UPMDMCV-01","vendor":"Prime 1 Studio","archived_at":null,"received_at":null};
        var paymentPlans = {"paymentPlans":{"2":{"monthlyPayment":27450,"extraFirstMonth":0},"3":{"monthlyPayment":18300,"extraFirstMonth":0},"4":{"monthlyPayment":13725,"extraFirstMonth":0},"5":{"monthlyPayment":10980,"extraFirstMonth":0},"6":{"monthlyPayment":9150,"extraFirstMonth":0},"7":{"monthlyPayment":7842,"extraFirstMonth":6},"8":{"monthlyPayment":6862,"extraFirstMonth":4},"9":{"monthlyPayment":6100,"extraFirstMonth":0},"10":{"monthlyPayment":5490,"extraFirstMonth":0},"11":{"monthlyPayment":4990,"extraFirstMonth":10},"12":{"monthlyPayment":4575,"extraFirstMonth":0}},"amountFinanced":549,"amountFinancedInCents":54900,"lowestPayment":4575};
        var monthAbbrevs = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
        var deposit = 300;

        function setPaymentPlanDetails(numberOfPayments, plan, monthDay) {
            var now = new Date();
            var thisMonth = now.getMonth();
            var nextMonth = (thisMonth + 1) % 12;
            var currentYear = now.getFullYear();
            var tableHTML = '<table class="table table-condensed"><tbody>';
            tableHTML += '<tr><td>Non-Refundable Deposit</td><td class="text-right"><span>$' + deposit.toFixed(2) + '</span></td></tr>';

            for (var loopCount = 1; loopCount <= numberOfPayments; loopCount++) {
                nextMonth = (thisMonth + loopCount) % 12;
                if (nextMonth == 0) {
                    currentYear++;
                }
                paymentAmount = (loopCount === 1) ? (plan.monthlyPayment + plan.extraFirstMonth) : plan.monthlyPayment;
                tableHTML += '<tr><td>' + monthAbbrevs[nextMonth] + ' ' + monthDay + 'th, ' + currentYear +
                            '</td><td class="text-right"><span>$' +
                            (paymentAmount / 100).toFixed(2) +
                            '</span></td></tr>';
            }
            tableHTML += '</tbody></table>';
            jQuery('#payment-table-target').html('');
            jQuery('#payment-table-target').append(tableHTML);
        }

        function updatedBox() {
            if(paymentPlans) {
                var monthDay = jQuery('#payment_day_prepay').val();
                var numberOfPayments = jQuery('#num_payments_prepay').val();
                console.log('num payments', numberOfPayments);
                var plan = paymentPlans.paymentPlans[numberOfPayments];
                console.log(paymentPlans);
                setPaymentPlanDetails(numberOfPayments, plan, monthDay);
            }
        }

        jQuery('#lowest-monthly-payment').html((paymentPlans.lowestPayment/100).toFixed(2));
        var $numPaymentsInput = jQuery('#num_payments_prepay');
        for (var i = 2; i <= monthsAvailable; i++) {
            $numPaymentsInput.append($("<option>", { value: i, html: i, selected: (i == monthsAvailable)}));
        }
        updatedBox();
        jQuery(document).on('change', '#num_payments_prepay, #payment_day_prepay', function(e){updatedBox();e.target.blur();});
        jQuery(document).on('click', 'div.payment-plan-box-wrapper .header-bar', function(){
            if (jQuery('div.payment-plan-box-wrapper .header-bar').hasClass('open')) {
                jQuery('div.payment-plan-box-wrapper .header-bar').removeClass('open')
                jQuery('div.payment-plan-box-wrapper .payment-plan-details-form').removeClass('open');
            } else {
                jQuery('div.payment-plan-box-wrapper .header-bar').addClass('open')
                jQuery('div.payment-plan-box-wrapper .payment-plan-details-form').addClass('open');
            }
        });
        jQuery(document).on('click', '#prepay_apply_pan_btn', function(e){
            var monthDay = jQuery('#payment_day_prepay').val();
            var numberOfPayments = jQuery('#num_payments_prepay').val();
            e.preventDefault();
            $atcButton = jQuery('#prepay_apply_pan_btn');
            window.addToCartFlyout._secretCompassUpdateCart({
                quantity: 1,
                id: product.installment_variant,
                properties: {
                    payment_plan__is_preorder: true,
                    payment_plan__has_payment_plan: 1,
                    payment_plan__deposit_only: true,
                    payment_plan__payment_day: monthDay,
                    payment_plan__number_of_payments: numberOfPayments
                }
            }, $atcButton);
        });
        jQuery(document).on('click', '#prepay_deposit_only_btn', function(e){
            e.preventDefault();
            $atcButton = jQuery('#prepay_deposit_only_btn');
            window.addToCartFlyout._secretCompassUpdateCart({
                quantity: 1,
                id: product.deposit_variant,
                properties: {
                    payment_plan__is_preorder: true,
                    payment_plan__has_payment_plan: 0,
                    payment_plan__deposit_only: true,
                }
            }, $atcButton);
        });
        jQuery(document).on('click', '#prepay_full_payment_btn', function(e){
            e.preventDefault();
            $atcButton = jQuery('#prepay_full_payment_btn');
            window.addToCartFlyout._secretCompassUpdateCart({
                quantity: 1,
                id: product.full_prepayment_variant,
                properties: {
                    payment_plan__is_preorder: true,
                    payment_plan__has_payment_plan: 0,
                    payment_plan__paid_in_full: true,
                }
            }, $atcButton);
        });
        jQuery('#prepay_deposit_only_btn span.atc-button--text').text('Deposit ($' + deposit.toFixed(2) + ')');
        jQuery('div.payment-plan-box-wrapper').addClass('loaded');
        if (!product.offer_payment_plan || !paymentPlans) {
            jQuery('div.payment-plan-box-wrapper').hide();
        }
        if (!!product.offer_prepay_in_full) {
            jQuery('#prepay_full_payment_btn').text('Full Payment ($' + product.full_preorder_amount + ')');
            jQuery('#prepay_full_payment_btn').show();
        }
    } else {
        window.setTimeout(loadPaymentOptionsBox, 300);
        console.log('not yet');
    }
}

loadPaymentOptionsBox();

