'use strict';

jQuery(document).ready(function ($) {
    var currentTemplateId = null;
    var searchTimer = null;
    var i18n = window.nbdTemplatesGlobal || {};

    // Mở popup khi click vào template
    $(document).on('click', '.nbdesigner-template-global', function () {
        currentTemplateId = $(this).data('id');
        $('#nbd-product-search').val('');
        $('#nbd-product-results').html('<p>' + (i18n.typeToSearch || '') + '</p>');
        $('#nbd-assign-product-modal').css('display', 'flex');
    });

    // Đóng popup
    $(document).on('click', '#nbd-modal-close, #nbd-modal-cancel', function () {
        $('#nbd-assign-product-modal').hide();
        currentTemplateId = null;
    });

    // Click ra ngoài đóng popup
    $(document).on('click', '#nbd-assign-product-modal', function (e) {
        if ($(e.target).is('#nbd-assign-product-modal')) {
            $(this).hide();
            currentTemplateId = null;
        }
    });

    // Search sản phẩm
    $(document).on('input', '#nbd-product-search', function () {
        clearTimeout(searchTimer);
        var keyword = $.trim($(this).val());
        if (keyword.length < 2) {
            $('#nbd-product-results').html('<p>' + (i18n.typeToSearch || '') + '</p>');
            return;
        }
        $('#nbd-product-results').html('<p>' + (i18n.searching || '') + '</p>');
        searchTimer = setTimeout(function () {
            $.post(ajaxurl, {
                action: 'nbd_search_products',
                keyword: keyword,
                nonce: i18n.nonceSearch
            }, function (res) {
                if (!res.success || !res.data.length) {
                    $('#nbd-product-results').html('<p>' + (i18n.noProducts || '') + '</p>');
                    return;
                }
                var html = '<ul>';
                $.each(res.data, function (i, p) {
                    html += '<li data-product-id="' + p.id + '">';
                    if (p.thumbnail) {
                        html += '<img src="' + p.thumbnail + '" alt="">';
                    }
                    html += '<span>' + p.name + '</span></li>';
                });
                html += '</ul>';
                $('#nbd-product-results').html(html);
            });
        }, 350);
    });

    // Chọn sản phẩm
    $(document).on('click', '#nbd-product-results li', function () {
        var productId = $(this).data('product-id');
        if (!currentTemplateId) return;
        var link_create_template = i18n.baseLinkCreateTemplate + '&product_id=' + productId + '&template_global_id=' + currentTemplateId;
        window.location.href = link_create_template;
    });
}(jQuery));