jQuery(document).ready(function ($) {
    let finalQuotedPrice = '';

    // Reset state when inputs change to prevent locking/sending outdated quotes
    $('#preciousuite-weight, #preciousuite-karat').on('input change', function () {
        $('#preciousuite-lock-btn').hide();
        $('#preciousuite-whatsapp-wrap').hide();
        $('#preciousuite-lead-form').hide();
        $('#preciousuite-result').hide();
        $('#preciousuite-lead-response').text('');
        $('#preciousuite-calculate-btn').show();
        finalQuotedPrice = '';
    });

    $('#preciousuite-calculate-btn').on('click', function (e) {
        e.preventDefault();

        const weight = parseFloat($('#preciousuite-weight').val());
        const karat = parseFloat($('#preciousuite-karat').val());
        const livePrice = preciousuite_data.live_price;
        const margin = preciousuite_data.buyback_percentage;
        const currency = preciousuite_data.currency || '$';

        if (weight > 0) {
            // Logic: Weight * (Karat/24) * Price * Margin
            const purity = karat / 24;
            const estimatedValue = weight * purity * livePrice * margin;
            finalQuotedPrice = currency + estimatedValue.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 });

            $('#preciousuite-result').hide().html(`
        <span class="preciousuite-result-label">Estimated Value</span>
        <span class="preciousuite-payout-val">${finalQuotedPrice}</span>
        <div class="preciousuite-rate-info">
            Price based on today's rate: <b>${currency}${livePrice}/g</b>
        </div>
`).fadeIn();

            if (preciousuite_data.enable_lead_capture === '1') {
                $(this).hide();
                $('#preciousuite-lock-btn').fadeIn();
            } else if (preciousuite_data.whatsapp_enable === '1') {
                $(this).hide(); // Hide calculate button if WhatsApp is enabled but Lead capture is off
            }

            if (preciousuite_data.whatsapp_enable === '1' && preciousuite_data.whatsapp_number) {
                var waText = "Hello! I am looking to sell my gold based on your website quote.\n\n" +
                    "- *Weight:* " + weight + "g\n" +
                    "- *Purity:* " + $('#preciousuite-karat option:selected').text() + "\n" +
                    "- *Estimated Price:* " + finalQuotedPrice + "\n\n" +
                    "Is there a good time to bring this in to your shop?";
                var waUrl = 'https://wa.me/' + preciousuite_data.whatsapp_number + '?text=' + encodeURIComponent(waText);
                $('#preciousuite-whatsapp-btn').attr('href', waUrl);
                $('#preciousuite-whatsapp-wrap').fadeIn();
            }
        } else {
            alert('Please enter a valid weight.');
        }
    });

    $('#preciousuite-lock-btn').on('click', function (e) {
        e.preventDefault();
        $(this).hide();
        $('#preciousuite-lead-form').fadeIn();
    });

    $('#preciousuite-submit-lead-btn').on('click', function (e) {
        e.preventDefault();

        const email = $('#preciousuite-email').val();
        const weight = $('#preciousuite-weight').val();
        const karat = $('#preciousuite-karat option:selected').text();
        const $responseDiv = $('#preciousuite-lead-response');

        if (!email) {
            $responseDiv.css('color', 'red').text('Please enter a valid email address.');
            return;
        }

        const button = $(this);
        button.prop('disabled', true).text('Submitting...');
        $responseDiv.text('');

        $.post(preciousuite_data.ajax_url, {
            action: 'preciousuite_submit_lead',
            nonce: preciousuite_data.nonce,
            email: email,
            weight: weight,
            karat: karat,
            price: finalQuotedPrice
        }, function (response) {
            button.prop('disabled', false).text('Submit Quote');
            if (response.success) {
                $responseDiv.css('color', '#27ae60').text(response.data.message);
                button.hide(); // Hide submit temporarily

                // Mount WhatsApp Redirect Button if enabled
                if (response.data.whatsapp_url) {
                    $responseDiv.append('<div id="preciousuite-success-wa-wrap" style="margin-top: 15px; display: none;"><a href="' + response.data.whatsapp_url + '" target="_blank" style="background: linear-gradient(135deg, #25D366, #128C7E); color: #fff; padding: 12px 24px; border-radius: 30px; text-decoration: none; display: flex; align-items: center; justify-content: center; font-weight: 700; box-shadow: 0 4px 15px rgba(37, 211, 102, 0.4);"><img src="data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\'%3E%3Cpath fill=\'%23ffffff\' d=\'M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.885-9.885 9.885m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z\'/%3E%3C/svg%3E" style="width:22px; height:22px; margin-right:8px; display:inline-block; vertical-align:middle; flex-shrink:0;" alt="WhatsApp" /><span style="display:block; line-height: 22px;">Send directly to WhatsApp</span></a></div>');
                    $('#preciousuite-success-wa-wrap').fadeIn();
                }

                // Reset the form after 8 seconds so they don't lose the button instantly
                setTimeout(function () {
                    $('#preciousuite-weight').val(''); // Clear old weight
                    $('#preciousuite-result').fadeOut(300); // Hide result
                    $('#preciousuite-whatsapp-wrap').fadeOut(300); // Hide instant WA wrap
                    $('#preciousuite-lead-form').slideUp(300, function () {
                        // Once hidden, restore the initial Calculate button
                        $('#preciousuite-calculate-btn').fadeIn(300);
                        button.show(); // Bring back hidden Submit button for next time
                        $responseDiv.text(''); // Clear success text
                    });
                }, 8000);

            } else {
                $responseDiv.css('color', 'red').text(response.data.message || 'An error occurred.');
            }
        }).fail(function () {
            button.prop('disabled', false).text('Submit Quote');
            $responseDiv.css('color', 'red').text('A server error occurred. Please try again.');
        });
    });
});