<?php

declare(strict_types=1);

use yii\bootstrap\ActiveForm;

use app\models\Product;
use app\models\ProductGroup;
use app\models\Search;

?>

<link href="/css/pages/product.css" rel="stylesheet">

<div id="page_product" class="container mb-auto">
    <div class="row py-3">
        <article class="col-12">
            <div class="p-3 d-flex flex-column rounded">
                <div id="product_slider" class="row px-3 profile_panel">
                    <div class="col-1 product_slider_preview p-0 pr-3 mb-3 d-flex flex-column">
                        <?php
                        // Инициализация
                        $covr_not_found = true;

                        // Проверка на то, что обложка установлена
                        foreach (!empty($model['imgs']) && is_array($model['imgs']) ? $model['imgs'] : [] as $image) {
                            if ($image['covr'] ?? false) {
                                $covr_not_found = false;
                            }
                        }

                        foreach (!empty($model['imgs']) && is_array($model['imgs']) ? $model['imgs'] : [] as $key => $image) {
                            // Перебор изображений для генерации обложек

                            // Инициализация
                            $h150 = $image['h150'] ?? Product::cover($prod, 150);

                            if (($image['covr'] ?? false) || ($covr_not_found && $key === 0)) {
                                echo <<<HTML
                                        <label class="p-0 mb-2 rounded unselectable active" for="product_slider_image_$key" onclick="return product_image_choose('$key', this.parentElement);">
                                HTML;
                            } else {
                                echo <<<HTML
                                        <label class="p-0 mb-2 rounded unselectable" for="product_slider_image_$key" onclick="return product_image_choose('$key', this.parentElement);">
                                HTML;
                            }

                            echo <<<HTML
                                    <img class="img-fluid" src="$h150"/>
                                </label>
                            HTML;
                        }
                        ?>

                        <?php if (
                            !yii::$app->user->isGuest
                            && (yii::$app->user->identity->type === 'administrator'
                                || yii::$app->user->identity->type === 'moderator')
                        ) : ?>
                            <input id="product_slider_image_new" type="file" class="d-none" onchange="return product_panel_images_write('<?= $model['catn'] ?>', '<?= $model['prod'] ?>', this);" multiple />
                            <label class="p-0 mb-2 button_write unselectable" for="product_slider_image_new" role="button">
                                <img class="img-fluid rounded" src="/img/covers/h150/product_new.png" />
                            </label>
                        <?php endif ?>
                    </div>
                    <div class="col product_slider_image">
                        <?php

                        // Инициализация
                        $checked = '';

                        foreach (!empty($model['imgs']) && is_array($model['imgs']) ? $model['imgs'] : [null]  as $key => $image) {
                            // Перебор изображений для генерации полных версий

                            // Инициализация
                            $orig = $image['orig'] ?? Product::cover($model['prod'], 0);

                            if (($image['covr'] ?? false) || ($covr_not_found && $key === 0)) {
                                // Если это изображение является обложкой или обложка не найдена

                                // Реинициализация
                                $checked = 'checked';
                            }

                            // Генерация изображения
                            if (
                                !yii::$app->user->isGuest
                                && (yii::$app->user->identity->type === 'administrator'
                                    || yii::$app->user->identity->type === 'moderator')
                            ) {
                                // Инициализация артикула
                                $catn = $model['catn'];
                                $prod = $model['prod'];

                                echo <<<HTML
                                    <input type="radio" id="product_slider_image_$key" name="slider" $checked/>
                                    <div class="col p-0 unselectable">
                                        <img class="mb-3 img-fluid w-100 rounded" src="$orig"/>
                                        <div class="d-flex justify-content-center">
                                            <button class="flex-grow-1 mr-3 btn button_blue button_clean" onclick="return product_panel_images_cover_write('$catn', '$prod', '$key');">Сделать обложкой</button>
                                            <button class="btn button_red button_clean" onclick="return product_panel_images_delete('$catn', '$prod', '$key');">Удалить</button>
                                        </div>
                                    </div>
                                HTML;
                            } else {
                                echo <<<HTML
                                    <input type="radio" id="product_slider_image_$key" name="slider" $checked/>
                                    <div class="col p-0 unselectable">
                                        <img class="img-fluid rounded" src="$orig"/>
                                    </div>
                                HTML;
                            }

                            // Деинициализация
                            $checked = '';
                        }
                        ?>
                    </div>
                    <div class="ml-4 px-3 d-flex flex-column w-50">
                        <div class="row mb-2">
                            <?php if (
                                !yii::$app->user->isGuest
                                && (yii::$app->user->identity->type === 'administrator'
                                    || yii::$app->user->identity->type === 'moderator')
                            ) : ?>
                                <h2 id="name_<?= $model['catn'] ?>" class="mt-auto my-0 w-100 mb-1 product_name" role="button" onclick="return product_panel_name_edit('<?= $model['catn'] ?>', '<?= $model['prod'] ?>', this);">
                                    <?= $model['name'] ?? 'Неизвестно' ?>
                                </h2>
                                <h1 id="catn_<?= $model['catn'] ?>" class="mr-auto my-auto pointer-event product_catn" role="button" onclick="return product_panel_catn_edit('<?= $model['catn'] ?>', '<?= $model['prod'] ?>', this, true);">
                                    <?= $model['catn'] ?? '' ?>
                                </h1>
                                <h3 id="prod_<?= $model['catn'] ?>" class="mt-auto my-0 product_prod" role="button" onclick="return product_panel_prod_edit('<?= $model['catn'] ?>', '<?= $model['prod'] ?>', this, true);">
                                    <?= $model['prod'] ?? 'Неизвестно' ?>
                                </h3>
                            <?php else : ?>
                                <h2 id="name_<?= $model['catn'] ?>" class="mt-auto my-0 w-100 mb-1 product_name">
                                    <?= $model['name'] ?? 'Неизвестно' ?>
                                </h2>
                                <h1 id="catn_<?= $model['catn'] ?>" class="mr-auto my-auto pointer-event product_catn">
                                    <?= $model['catn'] ?? '' ?>
                                </h1>
                                <h3 id="prod_<?= $model['catn'] ?>" class="mt-auto my-0 product_prod">
                                    <?= $model['prod'] ?? 'Неизвестно' ?>
                                </h3>
                            <?php endif ?>
                        </div>

                        <div class="dropdown-divider px-0 mb-2"></div>

                        <!-- Информация о товаре -->

                        <?php if (
                            !yii::$app->user->isGuest
                            && (yii::$app->user->identity->type === 'administrator'
                                || yii::$app->user->identity->type === 'moderator')
                        ) : ?>
                            <section id="prod_<?= $model['catn'] ?>_info" class="col">
                                <!-- Габариты -->
                                <p class="form-control-sm p-0 h-auto">
                                    <b>Габариты:</b><span id="prod_<?= $model['catn'] ?>_dmns_x" class="ml-1 pointer-event" role="button" onclick="return product_panel_dimensions_edit('<?= $model['catn'] ?>', '<?= $model['prod'] ?>', this, 'x');"><?= empty($model['dmns']['x']) ? '0' : $model['dmns']['x'] ?></span><span class="mr-1">см</span><small>x</small><span id="prod_<?= $model['catn'] ?>_dmns_y" class="ml-1 pointer-event" role="button" onclick="return product_panel_dimensions_edit('<?= $model['catn'] ?>', '<?= $model['prod'] ?>', this, 'y');"><?= empty($model['dmns']['y']) ? '0' : $model['dmns']['y'] ?></span><span class="mr-1">см</span><small>x</small><span id="prod_<?= $model['catn'] ?>_dmns_z" class="ml-1 pointer-event" role="button" onclick="return product_panel_dimensions_edit('<?= $model['catn'] ?>', '<?= $model['prod'] ?>', this, 'z');"><?= empty($model['dmns']['z']) ? '0' : $model['dmns']['z'] ?></span><span class="mr-1">см</span>
                                </p>
                                <!-- Вес -->
                                <p class="form-control-sm p-0 h-auto">
                                    <b>Вес:</b><span id="prod_<?= $model['catn'] ?>_dmns_x" class="ml-1 pointer-event" role="button" onclick="return product_panel_weight_edit('<?= $model['catn'] ?>', '<?= $model['prod'] ?>', this);"><?= empty($model['wght']) ? '0' : $model['wght'] ?></span><span class="mr-1">кг</span>
                                </p>
                            </section>
                        <?php else : ?>
                            <section id="prod_<?= $model['catn'] ?>_info" class="col mb-1">
                                <!-- Габариты -->
                                <p class="form-control-sm p-0 h-auto">
                                    <b>Габариты:</b><span id="prod_<?= $model['catn'] ?>_dmns_x" class="ml-1"><?= empty($model['dmns']['x']) ? '0' : $model['dmns']['x'] ?></span><span class="mr-1">см</span><small>x</small><span id="prod_<?= $model['catn'] ?>_dmns_y" class="ml-1"><?= empty($model['dmns']['y']) ? '0' : $model['dmns']['y'] ?></span><span class="mr-1">см</span><small>x</small><span id="prod_<?= $model['catn'] ?>_dmns_z" class="ml-1"><?= empty($model['dmns']['z']) ? '0' : $model['dmns']['z'] ?></span><span class="mr-1">см</span>
                                </p>
                                <!-- Вес -->
                                <p class="form-control-sm p-0 h-auto">
                                    <b>Вес:</b><span id="prod_<?= $model['catn'] ?>_dmns_x" class="ml-1"><?= empty($model['wght']) ? '0' : $model['wght'] ?>кг</span>
                                </p>
                            </section>
                        <?php endif ?>

                        <div class="dropdown-divider px-0 mb-2"></div>

                        <!-- Описание -->

                        <div class="row mb-3 h-100 product_panel d-flex flex-column">
                            <?php if (
                                !yii::$app->user->isGuest
                                && (yii::$app->user->identity->type === 'administrator'
                                    || yii::$app->user->identity->type === 'moderator')
                            ) : ?>
                                <p id="description_<?= $model['catn'] ?>" class="mt-0 ml-0 text-break pointer-event product_description" role="button" onclick="return product_panel_description_edit('<?= $model['catn'] ?>', '<?= $model['prod'] ?>', this);"><?= $model['dscr'] ?? 'Без описания' ?></p>
                            <?php else : ?>
                                <p id="description_<?= $model['catn'] ?>" class="mt-0 ml-0 text-break pointer-event product_description"><?= $model['dscr'] ?? 'Без описания' ?></p>
                            <?php endif ?>
                        </div>

                        <?php
                        if (
                            !yii::$app->user->isGuest
                            && (yii::$app->user->identity->type === 'administrator'
                                || yii::$app->user->identity->type === 'moderator')
                        ) {
                            echo '<div class="row">';

                            // Инициализация артикула
                            $catn = $model['catn'];
                            $prod = $model['prod'];

                            if (isset($model['stts']) && $model['stts'] === 'active') {
                                // Товар активен

                                echo <<<HTML
                                    <button class="col btn button_red button_clean" onclick="return product_panel_product_stts('$catn', '$prod', 'inactive');">Деактивировать</button>
                                HTML;
                            } else {
                                // Товар неактивен, либо что-то с ним ещё

                                echo <<<HTML
                                    <button class="col btn button_green button_clean" onclick="return product_panel_product_stts('$catn', '$prod', 'active');">Активировать</button>
                                HTML;
                            }

                            echo <<<HTML
                                <button class="ml-3 col-3 btn button_red button_clean" onclick="return product_panel_delete('{$model['catn']}', '{$model['prod']}');">Удалить</button>
                            HTML;

                            echo '</div>';
                        }
                        ?>
                    </div>
                </div>

                <!-- <div class="row mt-3 mx-0">
                    <p class="ml-0">Время для повышения релевантности в поисковиках</p>
                    <time class="ml-auto"></time>
                </div> -->
            </div>

            <?php if (!yii::$app->user->isGuest
                        && (yii::$app->user->identity->type === 'administrator'
                            || yii::$app->user->identity->type === 'moderator')) : ?>
                <div class="my-3 p-3 d-flex rounded">
                    <input type="text" class="mr-2 col-2 form-control button_clean" title="Производитель" placeholder="Производитель" value="<?= $model['prod'] ?>">
                    <input type="text" class="mr-2 col form-control button_clean" title="Артикулы (через запятую)" placeholder="Артикулы (через запятую)">
                    <button class="col-3 btn button_green button_clean" onclick="return product_panel_connect('<?= $model['catn'] ?>', '<?= $model['prod'] ?>', this.parentElement.children[1].value, this.parentElement.children[0].value, 'products_list');">Подключить аналог</button>
                </div>
            <?php endif ?>

            <div id="products_list" class="mt-2 rounded"></div>
        </article>
    </div>
</div>

<script src="/js/product.js" defer></script>
<?php if (
    !yii::$app->user->isGuest
    && (yii::$app->user->identity->type === 'administrator'
        || yii::$app->user->identity->type === 'moderator')
) : ?>
    <script src="/js/product_panel.js" defer></script>
<?php endif ?>
<script>
if (document.readyState === "complete") {
    // Документ загружен

    // Инициализация списка аналогов
    panel_analogs_initializing('<?= $model['prod'] ?>', '<?= $model['catn'] ?>', 10, 1);
} else {
    // Документ не загружен

    // Обработчик события загрузки документа
    document.addEventListener('DOMContentLoaded', function() {
        // Обработчик события инициализации

        // Инициализация списка аналогов
        panel_analogs_initializing('<?= $model['prod'] ?>', '<?= $model['catn'] ?>', 10, 1);
    }, false);
};
</script>
