<?php

use Battles\Template;
use Battles\User;

require_once 'config.php';
$hostel = mysql_fetch_array(mysql_query('SELECT `id`, `uid`, `type`, `time` FROM `hostel` WHERE `uid` = "' . User::getInstance()->getId() . '" LIMIT 1'));
$error = '';
$rs = '';
$base = [1 => ['type' => 'Сумка'], 2 => ['type' => 'Сундук'], 3 => ['type' => 'Комната'], 4 => ['type' => 'Амбар']];
$times = [1 => 7, 2 => 14, 3 => 21, 4 => 28];
$cost = [1 => [8, 16, 24, 32], 2 => [15, 30, 45, 60], 3 => [25, 50, 75, 100], 4 => [40, 80, 120, 160]];

function remove_hostel_items($u)
{
    $itms = mysql_query('SELECT `id`, `owner` FROM `inventory` WHERE `owner` = "-101' . $u . '"');
    while ($pl = mysql_fetch_array($itms)) {
        mysql_query('UPDATE `inventory` SET `owner` = "' . $u . '" WHERE `id` = "' . $pl['id'] . '" AND `owner` = "-101' . $u . '"');
    }
}

function select_arenda($u, $type, $redirect = false)
{
    $hostel = mysql_fetch_array(mysql_query('SELECT `id` FROM `hostel` WHERE `uid` = "' . $u['id'] . '" LIMIT 1'));
    $price = [1 => 8, 2 => 15, 3 => 25, 4 => 40];
    if (!isset($u['id'])) {
        $r = 'Персонаж не найден ...';
    } else {
        if ($type > 0 && $type <= 4) {
            if (isset($hostel['id'])) {
                $r = 'Не более 1 арендованного места ...';
            } else {
                if ($u['money'] >= $price[$type]) {
                    $u['money'] -= $price[$type];
                    mysql_query('UPDATE `users` SET `money` = "' . $u['money'] . '" WHERE `id` = "' . $u['id'] . '" LIMIT 1');
                    mysql_query('INSERT INTO `hostel` (`uid`, `type`, `time`) VALUES ("' . $u['id'] . '", "' . $type . '", "' . (time() + 60 * 60 * 24 * 7) . '")');
                    $r = 'Поздравляем с успешной арендой ...';
                } else {
                    $r = 'Недостаточно денег ...';
                }
            }
        } else {
            $r = 'Неверный тип аренды ...';
        }
    }
    if ($redirect) {
        header('Location: main.php');
    }
    return $r;
}

if ($_GET['exit'] == 1) {
    if ($user['sleep'] == 0) {
        mysql_query('UPDATE `users`,`online` SET `users`.`room` = 26, `online`.`room` = 26 WHERE `users`.`id` = "' . User::getInstance()->getId() . '" AND `online`.`id` = "' . User::getInstance()->getId() . '"');
        header('Location: city.php');
    } else {
        $error = 'Вы спите ...';
    }
}

if ($_GET['to_room'] == 1) {
    if (isset($hostel['id'])) {
        if ($hostel['time'] > time()) {
            mysql_query('UPDATE `users`,`online` SET `users`.`room` = 661, `online`.`room` = 661 WHERE `users`.`id` = "' . User::getInstance()->getId() . '" AND `online`.`id` = "' . User::getInstance()->getId() . '"');
            header('Location: hostel_room.php');
        } else {
            $error = 'У Вас просрочена аренда. Оплатите что-бы продолжить пользоваться нашими услугами ...';
        }
    } else {
        $error = 'У Вас, нету комнаты ...';
    }
}

if ($_GET['pays'] && (int)$_GET['pays'] >= 1 && (int)$_GET['pays'] <= 4) {
    if (isset($hostel['id'])) {
        if (User::getInstance()->getMoney() >= $cost[$hostel['type']][(int)$_GET['pays']]) {
            $time = $hostel['time'] + 60 * 60 * 24 * $times[(int)$_GET['pays']];
            User::getInstance()->setMoney(User::getInstance()->getMoney() -= $cost[$hostel['type']][(int)$_GET['pays']]);
            $hostel['time'] = $time;
            mysql_query('UPDATE `users` SET `money` = "' . User::getInstance()->getMoney() . '" WHERE `id` = "' . User::getInstance()->getId() . '" LIMIT 1');
            mysql_query('UPDATE `hostel` SET `time` = "' . $time . '" WHERE `uid` = "' . User::getInstance()->getId() . '" AND `id` = "' . $hostel['id'] . '" LIMIT 1');
            $error = 'Всё прошло успешно ...';
        } else {
            $error = 'Недостаточно денег ...';
        }
    } else {
        $error = 'Ошибка #1';
    }
}

if (isset($_POST['select']) && isset($_POST['tariff'])) {
    if ($_POST['tariff'] == 0) {
        $error = 'Выберите тариф ...';
    } else {
        $error = select_arenda(User::getInstance(), (int)$_POST['tariff']);
    }
}

if ($_GET['del'] == 1) {
    if (isset($hostel['id']) && $hostel['time'] > time()) {
        mysql_query('DELETE FROM `hostel` WHERE `uid` = "' . User::getInstance()->getId() . '" AND `id` = "' . $hostel['id'] . '" LIMIT 1');
        remove_hostel_items(User::getInstance()->getId());
        $error = 'Вы успешно отказались от аренды ...';
        unset($hostel);
    } elseif (isset($hostel['id']) && $hostel['time'] < time()) {
        $error = 'Нельзя отказаться от услуг если имеется задолежнность ...';
    }
}

if (isset($_POST['deselect']) && isset($_POST['retariff'])) {
    if (isset($hostel['id']) && $hostel['time'] > time()) {
        mysql_query('DELETE FROM `hostel` WHERE `uid` = "' . User::getInstance()->getId() . '" AND `id` = "' . $hostel['id'] . '" LIMIT 1');
        remove_hostel_items(User::getInstance()->getId());
        select_arenda(User::getInstance(), (int)$_POST['retariff'], true);
    } elseif (isset($hostel['id']) && $hostel['time'] < time()) {
        $error = 'Нельзя сменить услугу если имеется задолежнность ...';
    }
}

if ($_GET['sleep'] && $user['sleep'] == 0) {
    if ($user['sleep_time'] <= time()) {
        $sl = 2;
        mysql_query('UPDATE `users` SET `sleep` = "' . (time() + 60 * 60 * $sl) . '", `sleep_time` = "' . (time() + 60 * 60 * 8) . '" WHERE `id` = "' . User::getInstance()->getId() . '" LIMIT 1');
        mysql_query('INSERT INTO `effects` (`type`, `name`, `time`, `owner`) VALUES ("8", "Сон", "' . (time() + 60 * 60 * $sl) . '", "' . User::getInstance()->getId() . '")');
        $ef = mysql_query('SELECT `id`, `time`, `type` FROM `effects` WHERE `owner` = "' . User::getInstance()->getId() . '" AND `type` != 11 AND `type` != 12 AND `type` != 13 AND `type` != 14 AND `type` != 5 AND `type` != 4 AND `type` != 2 AND `type` != 3 AND `type` != 8');
        while ($pl = mysql_fetch_array($ef)) {
            $tm = $pl['time'] - time();
            mysql_query('UPDATE `effects` SET `sleep` = "' . $tm . '" WHERE `id` = "' . $pl['id'] . '" AND `owner` = "' . User::getInstance()->getId() . '"');
        }
        header('Location: hostel.php');
    } else {
        $error = 'Нельзя спать ... Приходите через : ' . timeOut($user['sleep_time'] - time());
    }
}

if ($_GET['unsleep'] && $user['sleep'] > 0) {
    mysql_query('UPDATE `users` SET `sleep` = "0" WHERE `id` = "' . User::getInstance()->getId() . '" LIMIT 1');
    mysql_query('DELETE FROM `effects` WHERE `owner` = "' . User::getInstance()->getId() . '" AND `type` = "8" LIMIT 1');
    $ef = mysql_query('SELECT `id`, `time`, `sleep` FROM `effects` WHERE `owner` = "' . User::getInstance()->getId() . '" AND `sleep` != 0');
    while ($pl = mysql_fetch_array($ef)) {
        $tm = time() + $pl['sleep'];
        mysql_query('UPDATE `effects` SET `time` = "' . $tm . '", `sleep` = "0" WHERE `id` = "' . $pl['id'] . '" AND `owner` = "' . User::getInstance()->getId() . '"');
    }
    header('Location: hostel.php');
}
Template::header('Хостел');
?>
<script src="js/ajaxLoad.js"></script>
<? if (isset($hostel['id'])) { ?>
    <script>
        $(document).ready(function () {
            $("#retariff option[value='<?=$hostel['type']; ?>']").remove();
        });
    </script>
<? } ?>
<link rel="stylesheet" href="css/hostel.css"/>
<div class="contentContainer">
    <div style="text-align: center;"><span class="hs">Гостиница, Холл</span></div>
    <div class="buttonContainer">
        <? if ($user['sleep'] == 0) { ?>
            <input type="button" class="btns button-route" value="Уснуть" onclick="location.href='?sleep=1';"/>
        <? } else { ?>
            <input type="button" class="btns button-route" value="Пробудиться" onclick="location.href='?unsleep=1';"/>
        <? } ?>
        <input type="button" class="btns" value="Обновить" onclick="location.href='main.php';"/>
        <input type="button" class="btns button-route" value="На улицу" onclick="location.href='?exit=1';"/>
        <input type="button" class="btns button-route" value="Комната" onclick="location.href='?to_room=1';"/>
    </div>

    <div id="hostelLeft">
        <div id="hostelInteractive">
            <? if (!isset($hostel['id'])) { ?>
                <fieldset class="hostelClientState">
                    <legend>Станьте нашим клиентом</legend>
                    <form method="post" style="text-align: center; width: 100%;">
                        <input type="hidden" name="act" value="settariff"/>
                        <p>Выберите подходящий для Вас вариант обслуживания:</p>
                        <div style="text-align: center; width: 100%;">
                            <select name="tariff" class="tariff">
                                <option value="0">Выбор ...</option>
                                <option value="1">Сумка</option>
                                <option value="2">Сундук</option>
                                <option value="3">Комната</option>
                                <option value="4">Амбар</option>
                            </select>
                            <input type="submit" class="button" value="Выбрал" name="select"/>
                            <? if ($error != '') {
                                echo '<br /><b style="color: Red;">' . $error . '</b><br />';
                            } ?>
                        </div>
                    </form>
                </fieldset>
            <? } else { ?>
                <fieldset class="hostelClientState">
                    <legend>Добро пожаловать!</legend>
                    <form method="post" style="text-align: center; width: 100%;">
                        <p>Вы выбрали вариант предоставления жилья : <b><?= $base[$hostel['type']]['type']; ?></b></p>
                        <p>Аренда оплачена по: <? echo date('h:i d.m.y', $hostel['time']); ?>
                            (<small><? echo timeOut($hostel['time'] - time()); ?></small>)</p>
                        <div style="text-align: center; width: 100%;">
                            Сменить вариант аренды <select name="retariff" id="retariff">
                                <option value="0">Выбор ...</option>
                                <option value="1">Сумка</option>
                                <option value="2">Сундук</option>
                                <option value="3">Комната</option>
                                <option value="4">Амбар</option>
                            </select>
                            <input type="submit" class="button" value="Сменить" name="deselect"/>
                        </div>
                    </form>
                    <a href="javascript: void(0);" style="float: left; margin-left: 3px;"
                       onclick="if(confirm('Вы уверены?')) { location.href='?del=1'; }">Расторгнуть договор</a> <a
                            href="javascript: void(0);"
                            onclick="ajaxLoad('/hostel_checkpoint.php', 'hostelInteractive', {act:'pay'})"
                            style="float: right; margin-right: 3px;">Внести предоплату</a>
                    <? if ($error != '') {
                        echo '<br /><center><b style="color: Red;">' . $error . '</b></center><br />';
                    } ?>
                </fieldset>
            <? } ?>
        </div>
        <fieldset class="hostelRules" style="overflow: hidden;">
            <legend>Правила проживания</legend>
            <div style="overflow: auto; height: 168px !important; margin: 0; padding: 0;">
                <div style="margin: 0; padding: 0; height: 100%;">
                    <h2>И что я получу за свои кровные?</h2>
                    У нас ты можешь:
                    <br/>- хранить свое барахло и прочий хлам.
                    <h2>Охрана у вас есть? Не воруют?</h2>
                    Самые любопытные могут получить в сурло прямо здесь - в холле.
                    <br/>- Устраивать беспорядки в комнатах не позволено.
                    <br/>- Прислуга у нас проверенная - пожитки твои не тронут.
                    <h2>И сколько стоит всё это удовольствие?</h2>
                    - Комнаты есть разные, для людей разного достатка. Смотри справа расценки.
                    <br/>- Платить нужно каждый день. Пока не заплатишь - на лестницу не ногой.
                    <br/>- Вместимость - это сколько твоих вещей влезет в комнату, имеется ввиду общая масса инвентаря.

                    <h2>Как всем этим пользоваться?</h2>
                    Всё просто. Плати и живи.
                    <br/>Приходишь, платишь по долгам, проходишь в аппартаменты. В сундуке есть секции для каждого вида
                    вещей, фильтр поможет разобраться.
                    <h2>Что ещё мне нужно знать?</h2>
                    - При смене размера комнаты, ты теряешь оставшееся оплаченное время.
                    <br/>- При просрочке платы более 60 суток, мы оставляем за собой право сдать вещи на аукцион для
                    погашения задолжености.
                    <br/>- Если долг будет разумный, то подарки забирать с полки не будем.
                    <br/>- Быстро сориентироваться с шмотом поможет фильтр предметов.
                    <br/>- Если что потеряешь - твои проблемы.
                </div>
            </div>
        </fieldset>
    </div>

    <div id="hostelRight">
        <fieldset>
            <legend>Тарифы и услуги</legend>
            <br/>
            <table class="tarifsList" cellpadding="0" cellspacing="0">
                <caption>Сумка</caption>
                <tbody>
                <tr>
                    <td class="tarifListLabel">Вместимость</td>
                    <td class="tarifListValue">15 ед.</td>
                </tr>
                <tr>
                    <td class="tarifListLabel">Стоимость (7 сут.)</td>
                    <td class="tarifListValue">8.00 кр.</td>
                </tr>
                </tbody>
            </table>
            <br/>
            <table class="tarifsList" cellpadding="0" cellspacing="0">
                <caption>Сундук</caption>
                <tbody>
                <tr>
                    <td class="tarifListLabel">Вместимость</td>
                    <td class="tarifListValue">30 ед.</td>
                </tr>
                <tr>
                    <td class="tarifListLabel">Стоимость (7 сут.)</td>
                    <td class="tarifListValue">15.00 кр.</td>
                </tr>
                </tbody>
            </table>
            <br/>
            <table class="tarifsList" cellpadding="0" cellspacing="0">
                <caption>Комната</caption>
                <tbody>
                <tr>
                    <td class="tarifListLabel">Вместимость</td>
                    <td class="tarifListValue">50 ед.</td>
                </tr>
                <tr>
                    <td class="tarifListLabel">Стоимость (7 сут.)</td>
                    <td class="tarifListValue">25.00 кр.</td>
                </tr>
                </tbody>
            </table>
            <br/>
            <table class="tarifsList" cellpadding="0" cellspacing="0">
                <caption>Амбар</caption>
                <tbody>
                <tr>
                    <td class="tarifListLabel">Вместимость</td>
                    <td class="tarifListValue">100 ед.</td>
                </tr>
                <tr>
                    <td class="tarifListLabel">Стоимость (7 сут.)</td>
                    <td class="tarifListValue">40.00 кр.</td>
                </tr>
                </tbody>
            </table>
        </fieldset>
    </div>
</div>