<?php

use Battles\Database\Db;
use Battles\InventoryItem;
use Battles\Template;
use Battles\User;
use Battles\UserInfo;

require_once "functions.php";

$d = mysql_fetch_array(mysql_query("SELECT SUM(`massa`) AS `mass` FROM `inventory` WHERE `owner` = '{$user['id']}' AND `dressed` = 0 AND `setsale` = 0"));
$in = mysql_fetch_array(mysql_query('SELECT COUNT(*) AS `cnt` FROM `inventory` WHERE `owner` = "-101' . $user['id'] . '"'));
$hostel = mysql_fetch_array(mysql_query('SELECT * FROM `hostel` WHERE `uid` = "' . $user['id'] . '" LIMIT 1'));

$base = [1 => 15, 2 => 30, 3 => 50, 4 => 100];
$vips = [1 => 0.15, 2 => 0.30, 3 => 0.45];

function get_meshok(): object
{
    $allweight = Db::getInstance()->ofetch('select sum(weight) as items_weight_sum from inventory where on_sale = 0 and owner_id = ?', User::getInstance()->getId());
    $stat = new UserInfo(User::getInstance()->getId());
    return (object)[
            'currentweight' => $allweight->items_weight_sum,
            'maxweight' => $stat->getMaxWeight() + $allweight->items_weight_sum,
    ];
}


function show_item($row, $txt, $place)
{
    if (($row['maxdur'] <= $row['duration']) || ($row['dategoden'] && $row['dategoden'] <= time())) {
        InventoryItem::destroyItem($row['id']);
    }
    $r = '';

    $ntxt = "В инвентаре";
    if ($txt == "В сундук") {
        $ntxt = "В сундуке";
    }

    $magic = db::c()->query('SELECT * FROM `magic` WHERE `id` = ?i', $$row['magic'])->fetch_assoc();
    $incmagic = mysql_fetch_array(mysql_query('SELECT * FROM `magic` WHERE `id` = \'' . $row['includemagic'] . '\' LIMIT 1'));
    $incmagic['name'] = $row['includemagicname'];
    $incmagic['cur'] = $row['includemagicdex'];
    $incmagic['max'] = $row['includemagicmax'];
    if (!$magic) {
        $magic['chanse'] = $incmagic['chanse'];
        $magic['time'] = $incmagic['time'];
        $magic['targeted'] = $incmagic['targeted'];
    }
    if (isset($row['id'])) {
        $r .= '<div id="inv_' . $row['id'] . '"><table><tbody>';
        $r .= '<tr valign="top" style="border: 2px groove threedface;">';
        $r .= '<td class="even links original"><img src="/i/sh/' . $row['img'] . '">
          <span class="pk-new">
            <a href="javascript: void(0);" style="display: none;">' . $ntxt . '</a><a href="?search=1&otdel=' . $row['otdel'] . '&place=' . $place . '&itm=' . $row['id'] . '&set=1" name="imt" id="itm_' . $row['id'] . '">' . $txt . '</a>
          </span></td>';
        $r .= '<input type="hidden" name="itid" value="' . $row['id'] . '" />';
        $r .= '<td class="even item">';
        $r .= '<div class="thinginfo"><a href="javascript: void(0);">' . $row['name'] . '</a> <img src="/i/align_' . $row['nalign'] . '.gif" />  (масса: ' . $row['massa'] . ') ' . (($row['present']) ? ' <img src="i/podarok.gif" width="16" height="18" title="Этот предмет вам подарил ' . $row['present'] . '. Вы не сможете передать этот предмет кому-либо еще." />' : "") . '<br />';

        if ($row['ecost'] > 0) {
            $r .= '<b>Цена: ' . $row['ecost'] . ' екр.</b> &nbsp; &nbsp;<br />';
        } elseif ($row['point'] > 0) {
            $r .= '<b>Цена: <font color=blue>' . $row['point'] . ' реп.</font></b> &nbsp; &nbsp;<br />';
        } else {
            $r .= '<b>Цена: ' . $row['cost'] . ' кр.</b> &nbsp; &nbsp;<br />';
        }

        if ($row['zeton'] > 0) {
            $r .= '<b>Жетон: ' . $row['zeton'] . '</b>&nbsp<br />';
        }

        $r .= 'Долговечность: ' . $row['duration'] . '/' . $row['maxdur'] . '<br />';
        if (!$row['needident']) {

            if ($magic['chanse']) {
                if ($magic['chanse'] >= 95) {
                    $magic['chanse'] = 95;
                }
                $r .= 'Вероятность срабатывания: ' . $magic['chanse'] . '%<br />';
            }
            if ($magic['time']) {
                $r .= 'Продолжительность действия магии: ' . $magic['time'] . ' мин.<br />';
            }
            if ($row['goden']) {
                $r .= 'Срок годности: ' . $row['goden'] . ' дн. (до ' . date("Y.m.d H:i", $row['dategoden']) . ')<br />';
            }

            $r .= '<div class="need">';
            $user = [];

            if ($row['nsila']) {
                $r .= '&bull; ';
                if ($row['nsila'] > $user['sila']) {
                    $r .= '<span class="red">';
                }
                $r .= 'Требуется Сила: ' . $row['nsila'] . '</span><br />';
            }
            if ($row['nlovk']) {
                $r .= '&bull; ';
                if ($row['nlovk'] > $user['lovk']) {
                    $r .= '<span class="red">';
                }
                $r .= 'Требуется Ловкость: ' . $row['nlovk'] . '</span><br />';
            }
            if ($row['ninta']) {
                $r .= '&bull; ';
                if ($row['ninta'] > $user['inta']) {
                    $r .= '<span class="red">';
                }
                $r .= 'Требуется Интуиция: ' . $row['ninta'] . '</span><br />';
            }
            if ($row['nvinos']) {
                $r .= '&bull; ';
                if ($row['nvinos'] > $user['vinos']) {
                    $r .= '<span class="red">';
                }
                $r .= 'Требуется Выносливость: ' . $row['nvinos'] . '</span><br />';
            }
            if ($row['nlevel']) {
                $r .= '&bull; ';
                if ($row['nlevel'] > $user['level']) {
                    $r .= '<span class="red">';
                }
                $r .= 'Требуется Уровень: ' . $row['nlevel'] . '</span><br />';
            }
            if ($row['nintel']) {
                $r .= '&bull; ';
                if ($row['nintel'] > $user['intel']) {
                    $r .= '<span class="red">';
                }
                $r .= 'Требуется Интеллект: ' . $row['nintel'] . '</span><br />';
            }
            if ($row['nnoj']) {
                $r .= '&bull; ';
                if ($row['nnoj'] > $user['noj']) {
                    $r .= '<span class="red">';
                }
                $r .= 'Требуется Мастерство владения ножами и кастетами: ' . $row['nnoj'] . '</span><br />';
            }
            if ($row['ntopor']) {
                $r .= '&bull; ';
                if ($row['ntopor'] > $user['topor']) {
                    $r .= '<span class="red">';
                }
                $r .= 'Требуется Мастерство владения топорами и секирами: ' . $row['ntopor'] . '</span><br />';
            }
            if ($row['ndubina']) {
                $r .= '&bull; ';
                if ($row['ndubina'] > $user['dubina']) {
                    $r .= '<span class="red">';
                }
                $r .= 'Требуется Мастерство владения дубинами и булавами: ' . $row['ndubina'] . '</span><br />';
            }
            if ($row['nmech']) {
                $r .= '&bull; ';
                if ($row['nmech'] > $user['mech']) {
                    $r .= '<span class="red">';
                }
                $r .= 'Требуется Мастерство владения мечами: ' . $row['nmech'] . '</span><br />';
            }
            if ($row['nfire']) {
                $r .= '&bull; ';
                if ($row['nfire'] > $user['mfire']) {
                    $r .= '<span class="red">';
                }
                $r .= 'Требуется Магия Огня: ' . $row['nfire'] . '</span><br />';
            }
            if ($row['nwater']) {
                $r .= '&bull; ';
                if ($row['nwater'] > $user['mwater']) {
                    $r .= '<span class="red">';
                }
                $r .= 'Требуется Магия Воды: ' . $row['nwater'] . '</span><br />';
            }
            if ($row['nair']) {
                $r .= '&bull; ';
                if ($row['nair'] > $user['mair']) {
                    $r .= '<span class="red">';
                }
                $r .= 'Требуется Магия Воздуха:: ' . $row['nair'] . '</span><br />';
            }
            if ($row['nearth']) {
                $r .= '&bull; ';
                if ($row['nearth'] > $user['mearth']) {
                    $r .= '<span class="red">';
                }
                $r .= 'Требуется Магия Земли: ' . $row['nearth'] . '</span><br />';
            }
            if ($row['nlight']) {
                $r .= '&bull; ';
                if ($row['nlight'] > $user['mlight']) {
                    $r .= '<span class="red">';
                }
                $r .= 'Требуется Магия Света: ' . $row['nlight'] . '</span><br />';
            }
            if ($row['ngray']) {
                $r .= '&bull; ';
                if ($row['ngray'] > $user['mgray']) {
                    $r .= '<span class="red">';
                }
                $r .= 'Требуется Магия Равновесия: ' . $row['ngray'] . '</span><br />';
            }
            if ($row['ndark']) {
                $r .= '&bull; ';
                if ($row['ndark'] > $user['mdark']) {
                    $r .= '<span class="red">';
                }
                $r .= 'Требуется Магия Тьмы: ' . $row['ndark'] . '</span><br />';
            }

            $r .= '</div><br />';
            $r .= '<div class="bonus">';

            if ($row['minu']) $r .= '+' . $row['minu'] . ' Минимальное наносимое повреждение <br />';
            if ($row['maxu']) $r .= '+' . $row['maxu'] . ' Максимальное наносимое повреждение <br />';
            if ($row['gsila']) $r .= '+' . $row['gsila'] . ' Сила <br />';
            if ($row['glovk']) $r .= '+' . $row['glovk'] . ' Ловкость <br />';
            if ($row['ginta']) $r .= '+' . $row['ginta'] . ' Интуиция <br />';
            if ($row['gintel']) $r .= '+' . $row['gintel'] . ' Интеллект <br />';
            if ($row['ghp']) $r .= '+' . $row['ghp'] . ' Уровень жизни <br />';
            if ($row['mfkrit']) $r .= '+' . $row['mfkrit'] . '% Мф. критических ударов <br />';
            if ($row['mfakrit']) $r .= '+' . $row['mfakrit'] . '% Мф. против крит. ударов <br />';
            if ($row['mfuvorot']) $r .= '+' . $row['mfuvorot'] . '% Мф. увертливости <br />';
            if ($row['mfauvorot']) $r .= '+' . $row['mfauvorot'] . '% Мф. против увертливости <br />';
            if ($row['gnoj']) $r .= '+' . $row['gnoj'] . ' Мастерство владения ножами и кастетами <br />';
            if ($row['gtopor']) $r .= '+' . $row['gtopor'] . ' Мастерство владения топорами и секирами <br />';
            if ($row['gdubina']) $r .= '+' . $row['gdubina'] . ' Мастерство владения дубинами и булавами <br />';
            if ($row['gmech']) $r .= '+' . $row['gmech'] . ' Мастерство владения мечами <br />';
            if ($row['gfire']) $r .= '+' . $row['gfire'] . ' Мастерство владения стихией Огня <br />';
            if ($row['gwater']) $r .= '+' . $row['gwater'] . ' Мастерство владения стихией Воды <br />';
            if ($row['gair']) $r .= '+' . $row['gair'] . ' Мастерство владения стихией Воздуха <br />';
            if ($row['gearth']) $r .= '+' . $row['gearth'] . ' Мастерство владения стихией Земли <br />';
            if ($row['glight']) $r .= '+' . $row['glight'] . ' Мастерство владения магией Светa <br />';
            if ($row['ggray']) $r .= '+' . $row['ggray'] . ' Мастерство владения Cерой магией <br />';
            if ($row['gdark']) $r .= '+' . $row['gdark'] . ' Мастерство владения магией Тьмы <br />';
            if ($row['bron1']) $r .= '+' . $row['bron1'] . ' Броня головы <br />';
            if ($row['bron2']) $r .= '+' . $row['bron2'] . ' Броня корпуса <br />';
            if ($row['bron3']) $r .= '+' . $row['bron3'] . ' Броня пояса <br />';
            if ($row['bron4']) $r .= '+' . $row['bron4'] . ' Броня ног <br />';
            if ($row['gmeshok']) $r .= '+' . $row['gmeshok'] . ' Увеличивает рюкзак: <br />';

            $r .= '</div">';

            if ($row['letter']) $r .= 'На бумаге записан текст: <div style="background-color:#FAF0E6;"> ' . nl2br($row['letter']) . '</div><br />';
            if ($magic['name'] && $row['type'] != 50) $r .= '<span style="color: maroon;">Наложены заклятия:</span> ' . $magic['name'] . '<br />';
            if ($row['text']) $r .= 'На ручке выгравирована надпись: <center>' . $row['text'] . '</center><br />';
            if ($incmagic['max']) $r .= 'Встроено заклятие <img src="i/magic/' . $incmagic['img'] . '" /> ' . $incmagic['cur'] . ' шт.<br />';
            if ($row['podzem']) $r .= '<span style="font-size: 11px; color: #990000">Предмет из подземелья</span><br />';
            if ($row['laba'] == 1) $r .= '<span style="font-size: 11px; color: #990000">Пропадёт если не найти выход</span><br />';
            if ($row['laba'] == 2) $r .= '<span style="font-size: 11px; color: #990000">Предмет пропадёт после выхода</span><br />';
            if ($row['isrep']) $r .= '<small><span style="color: maroon;">Предмет не подлежит ремонту</span></small><br />';
            if ($row['free_bron']) $r .= '+' . $row['free_bron'] . ' Улучшений брони <br />';
            if ($row['free_stat']) $r .= '+' . $row['free_stat'] . ' Улучшений параметров <br />';
            if ($row['free_mf']) $r .= '+' . $row['free_mf'] . ' Улучшений модификаторов <br />';
            $r .= '</div>';
        } else {
            $r .= '<span style="color: maroon;"><b>Свойства предмета не идентифицированы</b></span><br />';
        }

        $osob = [22, 23];
        if (in_array($row['type'], $osob)) {
            $r .= 'Особенности:<br />';
            if ($row['type'] == 22) {
                $r .= '&bull; может одеваться под броню';
            } elseif ($row['type'] == 23) {
                $r .= '&bull; может одеваться на броню';
            }
        }

        $r .= '</td>';

        $r .= '</tr>';

        $r .= '</tbody></table></div>';
    }
    return $r;
}

function show_itm_hostel($uid, $otdel, $type = 1)
{
    $r = '';
    if ($type != 1) {
        $sql = $uid;
        $txt = 'В сундук';
    } else {
        $sql = '-101' . $uid . '';
        $txt = 'В инвентарь';
    }
    $data = mysql_query("SELECT * FROM `inventory` WHERE `otdel` = '{$otdel}' AND `owner` = " . $sql . " AND `dressed`='0' ORDER BY `id` ASC");
    while ($pl = mysql_fetch_array($data)) {
        $r .= show_item($pl, 10, $txt, $type);
    }
    if ($r == '') {
        $r = '<tr><td width="100%" align="center" class="even"><center><b>Пусто. <br />Попробуйте другой вариант фильтрации.</center></b></td></tr>';
    }
    return $r;
}

if ($user['vip'] > 0 && $user['vip_time'] > time()) {
    $count = $base[$hostel['type']];
    $count += floor($base[$hostel['type']] * $vips[$user['vip']]);
} else {
    $count = $base[$hostel['type']];
}

if ($_GET['search']) {
    $r = show_itm_hostel($user['id'], (int)$_GET['otdel'], (int)$_GET['place']);
} else {
    $r = '<tr><td width="100%" align="center" class="even" style="text-align: center;"><b><center>Поиск ...</center></b></td></tr>';
}

if ($_GET['set'] && $_GET['set'] == 1) {
    $it = mysql_fetch_array(mysql_query('SELECT `id`, `owner` FROM `inventory` WHERE `id` = "' . (int)$_GET['itm'] . '" LIMIT 1'));
    if (isset($it['id'])) {
        if ($it['owner'] == $user['id']) {
            if ($in['cnt'] < $count) {
                mysql_query('UPDATE `inventory` SET `owner` = "-101' . $user['id'] . '" WHERE `id` = "' . $it['id'] . '" LIMIT 1');
                $in['cnt']++;
            } else {
                $error = 'Не хватает места ...';
            }
        } elseif ($it['owner'] == '-101' . $user['id']) {
            mysql_query('UPDATE `inventory` SET `owner` = "' . $user['id'] . '" WHERE `id` = "' . $it['id'] . '" LIMIT 1');
            $in['cnt']--;
        }
    }
    unset($it);
    header('Location: hostel_room.php?search=1&otdel=' . $_GET['otdel'] . '&place=' . $_GET['place']);
}

if ($_GET['search']) {
    $r = show_itm_hostel($user['id'], (int)$_GET['otdel'], (int)$_GET['place']);
}

#######
$w = (270 * get_meshok()->currentweight / get_meshok()->allweight);

$w_a = 270 - $w;
$h = (270 * $in['cnt'] / $count);
$h_a = 270 - $h;
#######

if ($_GET['go_back'] == 1) {
    mysql_query('UPDATE `users`,`online` SET `users`.`room` = 660, `online`.`room` = 660 WHERE `users`.`id` = "' . $user['id'] . '" AND `online`.`id` = "' . $user['id'] . '"');
    header('Location: hostel.php');
}

Template::header('hostel_room');
?>
    <script src="js/ajaxLoad.js"></script>
    <link rel="stylesheet" type="text/css" href="css/hostel.css"/>
    <div class="contentContainer" id="hostelContainer">
        <div id="systemMsg" class="system-msg"></div>
        <div class="buttonContainer">
            <input type="button" class="btns" value="Обновить" onclick="location.href='hostel_room.php';"/>
            <input type="button" class="btns button-route" value="Спуститься" onclick="location.href='?go_back=1';"/>
            <h1>Комнатуха</h1>
        </div>
        <style type="text/css">
            .hides {
                display: none;
            }

            #hstInventory td.item {
                width: 85%;
            }

            #hstInventory td.links {
                text-align: center;
                vertical-align: middle;
                width: 117px;
            }

            #hstInventory td.links span {
                display: block;
            }

            #hstInventory td.original span.pk-current {
                display: none;
            }

            #hstInventory td.moved {
                font-weight: bold;
            }

            #hstInventory td.odd {
                background-color: #c7c7c7;
            }

            #hstInventory td.even {
                background-color: #d5d5d5;
            }

            label {
                font-weight: bold;
                margin-right: 15px;
            }
        </style>
        <script>
            function hide_this(id) {
                const node = document.getElementById(id);
                if (node) {
                    node.style.display = 'none';
                }
            }
        </script>
        <div style="overflow: hidden;">
            <fieldset id="hstInventoryA" style="width: 377px; float: left; text-align: center;">
                <legend>Фильтр инвентаря</legend>
                <div style="height: 53px">
                    <form method="GET">
                        <input type="radio" class="radio" id="hstF1" name="place" value="2"/><label
                                for="hstF1">мешок</label>
                        <input type="radio" class="radio" id="hstF2" name="place" value="1"/><label
                                for="hstF2">сундук</label>

                        <div style="height: 5px;overflow: hidden;"></div>
                        <select name="otdel">
                            <option value="-1">&nbsp;</option>
                            <optgroup label="Оружие">
                                <option value="1">кастеты,ножи</option>
                                <option value="11">топоры</option>
                                <option value="12">дубины,булавы</option>
                                <option value="13">мечи</option>
                            </optgroup>
                            <optgroup label="Одежда">
                                <option value="2">сапоги</option>
                                <option value="21">перчатки</option>
                                <option value="22">легкая броня</option>
                                <option value="23">тяжелая броня</option>
                                <option value="24">шлемы</option>
                            </optgroup>
                            <optgroup label="Щиты">
                                <option value="3">щиты</option>
                            </optgroup>
                            <optgroup label="Ювелирные товары">
                                <option value="4">серьги</option>
                                <option value="41">ожерелья</option>
                                <option value="42">кольца</option>
                            </optgroup>
                            <optgroup label="Заклинания">
                                <option value="5">нейтральные</option>
                                <option value="51">боевые и защитные</option>
                            </optgroup>
                            <optgroup label="Амуниция">
                                <option value="6">амуниция</option>
                            </optgroup>
                        </select>&nbsp;
                        <input type="submit" class="button" style="margin-right: 20px;" value="Поиск" name="search"/>
                    </form>
                </div>
            </fieldset>
            <fieldset id="hstInventoryB">
                <legend>Состояние</legend>
                <div style="height: 53px">
                    <div class="progressBar" style='height:14px'><img title="Мешок за спиной" src="/i/bag.gif"
                                                                      height="14px"><img title="Мешок за спиной"
                                                                                         src="/i/660000.gif"
                                                                                         style="width: <?= $w; ?>px; height: 14px;"><img
                                title="Мешок за спиной" src="/i/1silver.gif"
                                style=" width: <?= $w_a; ?>px; height:14px"><tt
                                style="font-size:13px"> <?= InventoryItem::getWeightData() ?> </tt></div>
                    <div class="progressBar" style='height:14px'><img title="Заполнение сундука" src="/i/chest.gif"
                                                                      height="14px"><img title="Заполнение сундука"
                                                                                         src="/i/1blue.gif"
                                                                                         style=" width: <?= $h; ?>px; height:14px"><img
                                title="Заполнение сундука" src="/i/1silver.gif"
                                style=" width: <?= $h_a; ?>px; height:14px"><tt
                                style="font-size:13px"> <?= $in['cnt']; ?>/<?= $count; ?></tt></div>
                </div>
            </fieldset>
        </div>

        <div id="hstInventory" style="width: 100%; background-color: #a5a5a5;">
            <?= $r; ?>
        </div>

<?php
if (!empty($error)) {
    echo sprintf('<div style="text-align: center; font-weight: bold; color: #f80000;">%s</div>', $error);
}