jQuery(document).ready(function($) {
    // Media Uploader for category image
    var mediaUploader;
    
    $('#upload-category-image-btn').on('click', function(e) {
        e.preventDefault();
        
        if (mediaUploader) {
            mediaUploader.open();
            return;
        }
        
        mediaUploader = wp.media({
            title: 'انتخاب تصویر دسته‌بندی',
            button: {
                text: 'استفاده از این تصویر'
            },
            multiple: false
        });
        
        mediaUploader.on('select', function() {
            var attachment = mediaUploader.state().get('selection').first().toJSON();
            $('#category_image_id').val(attachment.id);
            $('#category-image-preview').html('<img src="' + attachment.url + '" style="max-width: 200px; height: auto;">');
            $('#remove-category-image-btn').show();
        });
        
        mediaUploader.open();
    });
    
    $('#remove-category-image-btn').on('click', function(e) {
        e.preventDefault();
        $('#category_image_id').val('');
        $('#category-image-preview').html('');
        $(this).hide();
    });
    
    // Confirm delete actions
    $('a[onclick*="confirm"]').on('click', function(e) {
        if (!confirm('آیا مطمئن هستید؟')) {
            e.preventDefault();
        }
    });
    
    // Auto-calculate totals in order view
    function calculateOrderTotal() {
        var total = 0;
        $('.order-item-row').each(function() {
            var quantity = parseFloat($(this).find('.item-quantity').val()) || 0;
            var price = parseFloat($(this).find('.item-price').val()) || 0;
            var subtotal = quantity * price;
            $(this).find('.item-subtotal').text(subtotal.toLocaleString('fa-IR'));
            total += subtotal;
        });
        $('.order-total').text(total.toLocaleString('fa-IR'));
    }
    
    // Product type change handler
    $('#dima_product_type').on('change', function() {
        var type = $(this).val();
        
        if (type === 'variable') {
            $('.dima-variations-section').show();
            $('.dima-simple-price').hide();
        } else {
            $('.dima-variations-section').hide();
            $('.dima-simple-price').show();
        }
    });
    
    // Add variation
    $('.add-variation-btn').on('click', function(e) {
        e.preventDefault();
        var variationCount = $('.dima-variation-item').length;
        var newVariation = `
            <div class="dima-variation-item">
                <h4>متغیر #${variationCount + 1}</h4>
                <div class="dima-meta-box">
                    <label>ویژگی‌ها:</label>
                    <input type="text" name="variations[${variationCount}][attributes]" placeholder="مثلاً: قرمز, XL">
                </div>
                <div class="dima-meta-box">
                    <label>قیمت (تومان):</label>
                    <input type="number" name="variations[${variationCount}][price]" step="1" min="0">
                </div>
                <div class="dima-meta-box">
                    <label>موجودی:</label>
                    <input type="number" name="variations[${variationCount}][stock]" step="1" min="0">
                </div>
                <button type="button" class="button remove-variation-btn">حذف متغیر</button>
            </div>
        `;
        $('.dima-variations').append(newVariation);
    });
    
    // Remove variation
    $(document).on('click', '.remove-variation-btn', function(e) {
        e.preventDefault();
        if (confirm('آیا از حذف این متغیر مطمئن هستید؟')) {
            $(this).closest('.dima-variation-item').remove();
        }
    });
    
    // Coupon code auto-uppercase
    $('input[name="coupon_code"]').on('input', function() {
        $(this).val($(this).val().toUpperCase());
    });
    
    // Date picker for expiry date
    if ($.fn.datepicker) {
        $('input[name="expiry_date"]').datepicker({
            dateFormat: 'yy-mm-dd',
            minDate: 0
        });
    }
});