
function product_image_choose(key, wrap) {
    if (key !== undefined && key !== null && wrap !== undefined && wrap !== null) {
        // Инициализация
        let labels = wrap.getElementsByTagName('label');

        for (let i = 0; i <= labels.length; i++) {
            // Перебор всех элементов label (обложки изображений)

            // Инициализация
            let label = labels[i];

            if (label.getAttribute('for') === 'product_slider_image_' + key) {
                label.classList.add('active');
                label.checked = 'true';
            } else {
                label.classList.remove('active');
                label.checked = 'false';
            };
        };
    };
};

/**
 * Инициализация
 *
 * @param {number} amount
 * @param {number} page
 * @returns
 */
function panel_analogs_initializing(prod, catn, amount, page, id = 'products_list') {
    if (typeof prod === 'string' && typeof catn === 'string' && typeof amount === 'number' && typeof page === 'number'&& typeof id === 'string') {
        $.ajax({
            url: `/product/${prod}/${catn}/analogs/${page}`,
            type: 'post',
            dataType: 'json',
            data: {
                '_csrf': yii.getCsrfToken(),
                amount
            },
            success: (data, status, xhr) => {
                // Обработка ответа

                if (data !== undefined) {
                    // Получены данные с сервера

                    if (data.list !== undefined && data.list !== null) {
                        // Найдены данные поставщиков

                        // Запись cookie с номером страницы
                        Cookies.set('product_analogs_page', parseInt(Cookies.get('product_analogs_page') ?? 1) + 1, { path: window.location.pathname });

                        // Инициализация оболочки
                        let wrap = document.getElementById(id);

                        // Запись в документ
                        wrap.innerHTML += data.list;

                        // Инициализация блокировщика
                        let block = false;

                        document.onscroll = function (e) {
                            // Обработчик события: "прокрутка экрана"

                            if (wrap.lastElementChild.getBoundingClientRect().y <= window.innerHeight) {
                                // Строка в области видимости окна

                                // Генерация и запись следующей страницы
                                if (!block) panel_analogs_initializing(prod, catn, amount, parseInt(Cookies.get('product_analogs_page')), id);

                                // Блокировка
                                block = true;
                            }
                        };
                    }
                }

                // Переход к остальным обработчикам
                product_response_success(data, status, xhr);
            },
            error: product_response_error
        });

        return false;
    };

    return true;
}

function product_response(data, status, xhr) {
    // Обработка ответов

    main_response(data, status, xhr);
};

function product_response_success(data, status, xhr) {
    // Обработка ответов от удавшихся запросов

    product_response(data, status, xhr);
};

function product_response_error(data, status, xhr) {
    // Обработка ответов от неудавшихся запросов

    // Инициализация
    data = data.responseJSON;

    product_response(data, status, xhr);
};

// Запись (сброс) cookie с номером страницы
Cookies.set('product_analogs_page', 1, { path: window.location.pathname });
