<?php

/* Главный игровой файл. */

use Captcha\Captcha;
use Core\Config;
use Core\Database;
use Core\Db;
use JetBrains\PhpStorm\NoReturn;
use User\Clan;
use User\UserIp;

if (!defined('GAME_VERSION')) {
    require_once '_incl_data/autoload.php';
}

$code = PassGen::intCode();
Database::init();

define('IP', UserIp::get());
$u = User::start();

#[NoReturn] function gameexit(int $uid): void
{
    setcookie('login', '', 0, '', Config::get('host'));
    setcookie('login', '', 0);
    setcookie('auth', '', 0);
    Db::sql('update users set online = unix_timestamp() - 420 where id = ?', [$uid]);
    exit(Config::get('exit'));
}

if (empty($u->info)) {
    exit(Config::get('exit'));
}

$filter = new Filter();
$chat = new Chat();
$userclan = new Clan($u->info);

ini_set('max_execution_time', '120');

if (isset($_GET['showcode'])) {
    $security = new Captcha();
    $security->width(107)->height(26)->newImage();
    $_SESSION['code'] = $security->getSum();
    exit();
}

if (isset($u->info['joinIP']) && $u->info['joinIP'] == 1 && $u->info['ip'] != IP || isset($_GET['exit'])) {
    gameexit($u->info['id']);
}

if ($u->info['online'] < time() - 60) {
    $filter->setOnline($u->info['online'], $u->info['id']);
    Db::sql('update users set online = unix_timestamp(), timeMain = unix_timestamp() where id = ?', [$u->info['id']]);
}

$u->stats = $u->getStats($u->info['id'], 0);

if (!isset($_COOKIE['d1c'])) {
    $detect = new MobileDetect;
    $deviceType = $detect->isMobile() ? $detect->isTablet() ? 'tablet' : 'phone' : 'computer';
    $_COOKIE['d1c'] = $deviceType;
    setcookie('d1c', $deviceType, (time() + 86400));
} else {
    $deviceType = $_COOKIE['d1c'];
}

?>

<!DOCTYPE html>
<html lang="ru-RU">
<head>
    <title><?= Config::get('title') ?></title>
    <meta name="description" content="<?= Config::get('desc') ?>"/>
    <meta name="keywords" content="<?= Config::get('keys') ?>"/>
    <meta name="msapplication-config" content="browserconfig.xml"/>
    <link rel="stylesheet" href="i/main.css">
    <link rel="stylesheet" href="css/club.css"/>
    <link rel="stylesheet" href="css/windows.css"/>
    <link rel="stylesheet" href="css/hack.css"/>
    <script>
        window.des = 1;

        <?= $userclan->isRegistered() ? "const clanImage = '" . Images::getSrc($userclan->getLogo()) . "';" : 'let clanImage;' ?>

        // Нихуясебе! Это суперглобальный объект, который тянется во все файлы и все яваскриты. let\const не использовать!
        var c = {
                noEr: 0,
                noErTmr: 0,
                url: '<?= Config::get('host') ?>',
                https: '<?= Config::get('https') ?>',
                img: '<?= Config::get('img') ?>',
                img2: '<?= Config::get('img2') ?>',
                uid: <?= $u->info['id'] ?>,
                login: '<?= $u->info['login'] ?>',
                city: '<?= $u->info['city'] ?>',
                lvl: <?= $u->info['level'] ?>,
                rnd: <?= $code ?>,
                filter: 0,
                time: <?= time() ?>,
                pl: 0,
                align: <?= $u->info['align'] ?>,
                clan: <?= $userclan->getId() ?>,
                admin: <?= $u->info['admin'] ?>,
                sound: 0,
                money: <?= $u->info['money'] ?>
            },
            sd4key = "<?= $u->info['nextAct'] ?>",
            lafstReg = {};

        // Проверка на совпедение города.
        function ctest(city) {
            if (city !== c['city']) {
                top.location = '/bk';
            }
        }

        let enterUse = 0;

        function testKey(event) {
            if (event.keyCode === 10 || event.keyCode === 13) {
                if (enterUse === 0) {
                    chat.subSend();
                    enterUse = 1;
                    setTimeout('enterUse = 0', 1000);
                }
            }
        }

        setInterval('c.time++', 1000);
    </script>
    <script type="text/javascript" src="js/jquery.js"></script>
    <script>
        $.ajaxSetup({cache: false});
        $(window).error(function () {
            return true;
        });

        //Есть зависимость в interface.js - infoMenu()!
        window.iusrno = {};

        function ignoreUser(u) {
            if (iusrno[u] === undefined || iusrno[u] === 0) {
                $('#main').attr({'src': 'main.php?friends=1&ignore=' + u + ''});
            } else {
                $('#main').attr({'src': 'main.php?friends=1&ignore=' + u + ''});
            }
        }
    </script>
    <script type="text/javascript" src="js/jqueryrotate.js"></script>
    <script type="text/javascript" src="js/jquery.zclip.js"></script>
    <script type="text/javascript" src="js/jquery.cookie.js"></script>
    <script type="text/javascript" src="js/title.js"></script>

    <script type="text/javascript" src="js/gameEngine.js?<?= time() ?>"></script>
    <script type="text/javascript" src="js/interface.js"></script>

    <script type="text/javascript" src="js/onlineList.js"></script>
    <script type="text/javascript" src="js/hpregen.js"></script>
    <script type="text/javascript" src="js/jquery-fireHint.js"></script>

    <script type="text/javascript" src="js/trainingModals/registration/index.js"></script>

    <?php if ($deviceType == 'tablet' || $deviceType == 'phone'): ?>
        <style>
            #touchmain {
                padding: 0;
                border: 0;
                overflow: auto;
                margin: 0;
            }
        </style>
        <script type="text/javascript" src="js/jquery.nicescroll.js"></script>
        <script>
            $(document).ready(function () {
                $("#touchmain").niceScroll("#main", {autohidemode: false, boxzoom: false});
            });
        </script>
    <?php endif; ?>

    <link href="./js/trainingModals/registration/trainingModalStyles.css" rel="stylesheet">

    <style>
        /* Additional classes examples */
        .woman a {
            color: #C33;
        }

        .woman a:hover {
            color: #ff0000;
        }

        img {
            vertical-align: bottom;
        }

        /* Стили с динамически-генерируемым именем для telegraf.php */
        #tgf_loadingLine {
            height: 18px;
            width: 100%;
            color: #776b4a;
            background-color: #ddd5bf;
            position: relative;
        }

        .tfpgs {
            padding: 5px;
            background-color: #d4cbb4;
            border-bottom: 1px solid #988e73;
            border-top: 1px solid #eae3d0;
            cursor: default;
            text-align: center;
        }

        .tgf_msg0 {
            padding: 5px;
            background-color: #c6b893;
            border-bottom: 1px solid #988e73;
            border-top: 1px solid #eae3d0;
            cursor: default;
        }

        .tgf_msg1 {
            padding: 5px;
            background-color: #d4cbb4;
            border-bottom: 1px solid #988e73;
            border-top: 1px solid #eae3d0;
            cursor: default;
        }

        .tgf_msgt {
            color: #988e73;
            padding-left: 2px;
            padding-right: 2px;
            border-right: 1px solid #b1a993;
        }

        .tf_btn1 {
            background-color: #ddd5bf;
            padding: 3px 10px;
            margin: 1px;
            color: #988e73;
            cursor: pointer;
            -moz-border-radius: 4px;
            -webkit-border-radius: 4px;
            border-radius: 4px;
        }

        .tf_btn1:hover {
            background-color: #b7ae96;
            color: #ddd5bf;
            cursor: pointer;
        }

        .tf_btn11 {
            background-color: #988e73;
            padding: 3px 10px;
            margin: 1px;
            color: #ddd5bf;
            cursor: pointer;
            -moz-border-radius: 4px;
            -webkit-border-radius: 4px;
            border-radius: 4px;
        }

        .qel0 {
            display: none;
            position: absolute;
            z-index: 100000;
            border: 4px solid #f5cc50;
            border-radius: 4px;
        }

        /* Стили с динамически-генерируемым именем для logs.php, btl_bac.php, location\btl_.php */
        /* цвета команд */
        .CSSteam0 {
            font-weight: bold;
            cursor: pointer;
        }

        .CSSteam1 {
            font-weight: bold;
            color: #6666CC;
            cursor: pointer;
        }

        .CSSteam2 {
            font-weight: bold;
            color: #B06A00;
            cursor: pointer;
        }

        .CSSteam3 {
            font-weight: bold;
            color: #269088;
            cursor: pointer;
        }

        .CSSteam4 {
            font-weight: bold;
            color: #A0AF20;
            cursor: pointer;
        }

        .CSSteam5 {
            font-weight: bold;
            color: #0F79D3;
            cursor: pointer;
        }

        .CSSteam6 {
            font-weight: bold;
            color: #D85E23;
            cursor: pointer;
        }

        .CSSteam7 {
            font-weight: bold;
            color: #5C832F;
            cursor: pointer;
        }

        .CSSteam8 {
            font-weight: bold;
            color: #842B61;
            cursor: pointer;
        }

        .CSSteam9 {
            font-weight: bold;
            color: navy;
            cursor: pointer;
        }

        .CSSvs {
            font-weight: bold;
        }

        .buttons:hover {
            background-color: #EFEFEF;
        }

        .buttons:active {
            color: #777777;
        }

        .buttons {
            background-color: #E9E9E9;
        }

        .menutop2 {
            color: #003366;
        }

        .menutop2:hover {
            color: #446B93;
        }

        .klan {
            font-weight: bold;
            color: green;
            background-color: #99FFCC;
        }

        .redColor {
            color: #FF0000;
            font-weight: bold;
        }

        .borderWhite {
            border: 1px solid #f2f0f0;
        }

        .date21 {
            font-family: Courier, serif;
            font-size: 8pt;
            text-decoration: underline;
            font-weight: normal;
            color: #007000;
            background-color: #00FFAA
        }


        .zoneCh_no {
            float: left;
            overflow: hidden;
            height: 18px;
            width: 18px;
        }

        .inpBtl {
            color: #000000;
            text-decoration: none;
            background-color: #ECE9D8;
            border: 1px solid #000000;
        }

        .zoneCh_yes {
            float: left;
            overflow: hidden;
            height: 18px;
            width: 18px;
            background-color: #A9AFB1;
        }

        body {
            background-color: #e8e8e8;
        }

        .st1222 {
            font-size: 18px;
            color: #990000;
            font-weight: bold;
        }

        .crop {
            float: left;
            overflow: hidden;
            height: 18px;
            width: 18px;
        }

        .radio_off {
            margin-left: 0;
        }

        .radio_on {
            margin-left: -18px;
        }

        .battle_hod_style {
            border-bottom-width: 1px;
            border-bottom-style: solid;
            border-bottom-color: #AEAEAE;
        }

        .zbtn1l, .zbtn1r, .zbtn1r2, .zbtn2l, .zbtn2r, .zbtn2r2, .zbtn2r3 {
            width: 9px;
            height: 18px;
            background-image: url(<?= Config::img() ?>/tab.png);
            background-repeat: repeat-x;
        }

        .zbtn1l {
            background-position: 0 0;
        }

        .zbtn1r {
            background-position: -18px 0;
        }

        .zbtn1r2 {
            background-position: 18px 0;
        }

        .zbtn2l {
            background-position: -36px 0;
        }

        .zbtn2r {
            background-position: -54px 0;
        }

        .zbtn2r2 {
            background-position: -90px 0;
        }

        .zbtn2r3 {
            background-position: 54px 0;
        }

        .zbtn1c, .zbtn2c {
            border-bottom-width: 1px;
            border-bottom-style: solid;
            border-bottom-color: #000000;
            cursor: default;
            padding-left: 5px;
            padding-right: 5px;
            FONT-FAMILY: Verdana, Arial, Helvetica, Tahoma, sans-serif;
        }

        .zbtn1c {
            background-color: #808080;
            border-top-width: 1px;
            border-top-style: solid;
            border-top-color: #000000;
            color: #FFFFFF;
        }

        .zbtn2c {
            background-color: #D5D2C9;
            color: #000000;
            font-weight: bold;
        }

        .proza {
            filter: progid:DXImageTransform.Microsoft.Alpha(opacity=87); /* IE 5.5+*/
            -moz-opacity: 0.87; /* Mozilla 1.6 и ниже */
            opacity: 0.87; /* CSS3 - Mozilla 1.7b +, Firefox 0.9 +, Safari 1.2+, Opera 9+ */
        }

        .nobtn12 {
            border: 0;
            bottom: 80px;
            left: 225px;
            position: absolute;
        }

        .nobtn12:active {
            bottom: 79px;
        }

        .inpreg1 {
            padding: 2px;
            font-size: 14px;
            color: #003144;
            background-color: #f6f4ec;
            border: 1px solid #d1cdb8;
            width: 178px;
        }

        .inpreg2 {
            font-size: 12px;
            color: #003144;
            background-color: #f6f4ec;
            border: 1px solid #d1cdb8;
        }

        #errorreg {
            position: absolute;
            width: 680px;
            top: 0;
            left: 0;
            text-align: center;
            color: red;
            font-weight: bold;
        }

        #qsst {
            position: absolute;
            z-index: 10000000;
            cursor: default;
            display: none;
        }

        #onbon {
            position: absolute;
            z-index: 100;
            cursor: default;
            display: none;
            bottom: 30px;
            left: 18px;
        }

        #mini_qsst {
            position: absolute;
            z-index: 100;
            cursor: default;
            display: none;
            bottom: 10px;
            right: 18px;
        }
    </style>
</head>

<body>

<div style="display:none" class="qel0" id="qel0"></div>
<noscript>В вашем браузере отсутствует поддержка <strong>javascript</strong></noscript>

<script>
    window.onLoad = function () {
        bodyLoaded();
        chat.sendMsg(["new", "<?=time()?>", "1", "", "<?=$u->info['login']?>", "global:<b style='background-color:#ffcccc'>&nbsp; Приветствуем в игре, не забываем поздороваться и прочесть новости проекта!  <a href='/n' target='_blank'>читать новости</a> &nbsp;</b>", "red", "1", "1", "0"]);
    }
    if (window.top !== window.self) {
        document.write = "";
        window.top.location = window.self.location;
        setTimeout(function () {
            document.body.innerHTML = 'Ошибка доступа.';
        }, 500);
        window.self.onload = function () {
            document.body.innerHTML = 'Ошибка доступа.';
        };
    }

    function cc(el) {
        $(window).resize(function () {
            $(el).css({
                position: 'absolute',
                left: ($(document).width() - $(el).outerWidth()) / 2,
                top: ($(document).height() - $(el).outerHeight()) / 2
            });
        });
        $(window).resize();
    }

    const lasts = [-1, -1];

    function myexpLineTop27(e1, e2) {
        $('#exp23mkrtkm').attr('title', "Опыт персонажа" + "\n" + e1 + " / " + e2);
        $('#exp23mkrtkm').html(Math.ceil(e1 / e2 * 100) + '%!');
        if (Math.ceil(e1 / e2 * 100) < 1) {
            $('#myexplin233').attr('width', '1%');
        } else {
            if (lasts[1] < e2) {
                $('#myexplin233').css('width', '1%');
            }
            if (lasts[0] !== e1 || lasts[1] !== e2) {
                $('#myexplin233').animate({'width': Math.ceil(e1 / e2 * 100) + '%'}, 3000);
            }
        }
        lasts[0] = e1;
        lasts[1] = e2;
    }

    let smlk1 = 0;

    function smiles1load() {
        if (smlk1 === 0) {
            $('#btnsmlrz').html('<small>&nbsp; Общие смайлики &nbsp;</small>');
            smlk1 = 1;
            $('#smilesDiv').hide();
            $('#smilesDiv2').show();
            $('#smilesDiv3').hide();
        } else {
            $('#btnsmlrz').html('<small>&nbsp; Личные смайлики &nbsp;</small>');
            smlk1 = 0;
            $('#smilesDiv').show();
            $('#smilesDiv2').hide();
            $('#smilesDiv3').hide();
        }
    }
</script>

<div id="qsst"></div>
<div id="ttl" class="ttl_css" style="display:none;z-index:1111;"></div>
<div id="nfml" style="display:none;position:absolute;"></div>
<div id="persmenu" style="display:none;z-index:1110;"></div>
<div id="windows" style="position:absolute;z-index:1101;"></div>
<div id="wupbox" onmouseup="win.WstopDrag()" onmousemove="win.WmoveDrag(event)" onselectstart="return false"></div>
<div id="chconfig">
    <div style="font-weight: bold; text-align: center;">Настройки чата</div>
    <img title="Эпическая линия (o_O)" src="<?= Config::img() ?>/1x1.gif" alt="hr"><br>
    Скорость обновления: <SELECT id="chcf0">
        <OPTION value='-1'>никогда</OPTION>
        <OPTION value='1'>15 сек.</OPTION>
        <OPTION selected value='2'>30 сек.</OPTION>
        <OPTION value='3'>1 мин.</OPTION>
        <OPTION value='4'>5 мин.</OPTION>
    </SELECT><br>
    <div>Сортировка списка онлайн: <SELECT id="chcf8">
            <OPTION value='0' selected>По логину</OPTION>
            <OPTION value='1'>По уровню</OPTION>
            <OPTION value='2'>По склоности</OPTION>
            <OPTION value='3'>По клану</OPTION>
        </SELECT>
        <input name="chcf9" type="checkbox" id="chcf9" value="1"><small>По убыванию</small></div>
    <div><input name="chcf12" type="checkbox" id="chcf12" value="1"> Экономия трафика</div>
    <div style="display:<?php
    if ($u->info['admin'] > 0 || ($u->info['align'] > 1 && $u->info['align'] < 2) || ($u->info['align'] > 3 && $u->info['align'] < 4)) {
        echo '';
    } else {
        echo 'none;';
    } ?>"><input name="chcf7" type="checkbox" id="chcf7" value="1"> <span
                title="Получать сообщения от персонажей на которых наложено заклятие молчания">Сообщения с молчанкой</span>
    </div>
    <img title="Эпическая линия (o_O)" src="<?= Config::img() ?>/1x1.gif" alt="hr">
    <div>&nbsp; &nbsp;&nbsp; <span><a href="javascript:void(0)" onclick="chat.ignorListOpen();chconf();">Список игнорируемых</a></span>
    </div>
</div>
<!-- ресайзы -->
<div id="actionDiv" style="position:absolute;"></div>
<div id="reline1" onselectstart="return false">
    <img src="<?= Config::img() ?>/1x1.gif" width="9" height="4" style="float:left; display:block; position:absolute; background-image:url(<?= Config::img() ?>/i/lite/_top_24.gif);" alt="">
    <img src="<?= Config::img() ?>/1x1.gif" width="10" height="4" style="float:right; display:block; background-image:url(<?= Config::img() ?>/i/lite/_top_28.gif);" alt="">
</div>
<div id="reline2" onselectstart="return false"></div>
<!-- ресайзы -->
<div id="upbox" onselectstart="return false"></div>
<div id="mainHeader" style="position:absolute; top:0; left:0; height:37px; width:100%;"
     onselectstart="return false">
    <div title="Новая почта"
         style="display:none; position:absolute; left: 198px; top: 13px; width:24px; height:15px; background-image:url(<?= Config::img() ?>/i/mail2.gif);"
         class="postdiv" id="postdiv"></div>
    <div style="background: url(<?= Config::img() ?>/i/lite/capitalcity/top_lite_cap_11.gif) repeat-x bottom; ">
        <table cellspacing="0" cellpadding="0" style="background: url('<?= Config::img() ?>/i/lite/top_lite_cap_03.gif') repeat-x top; border: 0; width: 100%;">
            <tr>
                <td style="text-align: left">
                    <img src="<?= Config::img() ?>/i/lite/capitalcity/top_lite_cap_01.gif" width="64" height="14" class="db" style="padding-left:15px;"/>
                </td>
                <td class="main_text" style="position: relative; width:225px; text-align: right;">
                    <table style="width: 565px; border: 0;" cellspacing="0" cellpadding="0">
                        <tr style="vertical-align: bottom; text-align: center;">
                            <td style="width: 31px; height: 14px;">
                                <img class="db" height="14" src="<?= Config::img() ?>/i/lite/mennu112_06_lite.gif" width="31" alt="">
                            </td>
                            <td style="text-align: center;">
                                <table style="width: 100%; height: 14px; border: 0; background-image: url('<?= Config::img() ?>/i/lite/mennu112_06.gif')" cellspacing="0" cellpadding="0">
                                    <tr style="text-align: center;">
                                        <td id="el1" class="main_text" onClick="this.style.backgroundColor='#404040'; this.style.color='#FFFFFF'; showtable('1');" style="text-align: center;">
                                            Знания
                                        </td>
                                        <td style="width: 1px;">
                                            <img class="db" height="11" src="<?= Config::img() ?>/i/lite/mennu112_09.gif" width="1" alt="">
                                        </td>
                                        <td id="el2" class="main_text"
                                            onClick="this.style.backgroundColor='#404040'; this.style.color='#FFFFFF'; showtable('2');" style="background:#404040; color:#FFFFFF; text-align: center;">
                                            Персонаж
                                        </td>
                                        <td style="width: 1px;">
                                            <img class="db" height="11" src="<?= Config::img() ?>/i/lite/mennu112_09.gif" width="1" alt="">
                                        </td>
                                        <td id="el3" class="main_text" onClick="if(confirm('Выйти из игры?')){ top.location = '/bk?exit&rnd=<?= $code ?>'; }" style="text-align: center;">
                                            Выход
                                        </td>
                                    </tr>
                                </table>
                            </td>
                            <td style="width: 38px;">
                                <img class="db" height="14" src="<?= Config::img() ?>/i/lite/mennu112_04_lite.gif" width="37" alt="">
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
            <tr>
                <td style="text-align: left">
                    <img style="display:block; float:left; margin-left:17px;" src="<?= Config::img() ?>/i/lite/top_lite_cap_07.gif" width="15" height="17" alt="">
                    <img src="<?= Config::img() ?>/i/lite/capitalcity/top_lite_cap_08.gif" width="152" height="17" class="db" alt="">
                </td>
                <td style="text-align: right;">
                    <table cellspacing="0" cellpadding="0" style="background-image:url('<?= Config::img() ?>/i/lite/top_lite_cap_15.gif'); border: 0; width: 565px;">
                        <tr>
                            <td style="text-align: right;" class="menutop">
                                <table style="width: 100%; border: 0;" cellpadding="0" cellspacing="0">
                                    <tr>
                                        <td style="width: 20px;">
                                            <img class="db" src="<?= Config::img() ?>/i/lite/top_lite_13.gif" width="20" height="17" alt="">
                                        </td>
                                        <td style="font-size:10px; text-align: center; vertical-align: top; background-image: url('<?= Config::img() ?>/i/lite/top_lite_low_15.gif')">
                                            <span style="display:none; text-align:center;" id="menu1">
                                                <a href="/main.php?referals" target="main" class="menutop" style="color:green">Реферал</a> |
                                                <a href="/forum/" target="_blank" class="menutop">Форум</a> |
                                                <a href="/encicl/law.html" target="_blank" class="menutop" style="color: red">Законы</a> |
                                                <a href="/rating_pers" target="_blank" class="menutop">Рейтинг</a> |
                                                <a href="/rating_clans" target="_blank" class="menutop">Кланы</a> |
                                                <a href="/main.php?security" target="main" class="menutop" style="color:green">Безопасность</a> |
                                                <a href="/news_script/lib/pisheri.html" target="_blank" class="menutop" style="color: darkgreen">Всё о пещерах</a>
                                            </span>
                                            <span style="display:; text-align:center;" id="menu2">
                                                    <a href="/main.php?inv=1&rn=<?= $code ?>" target="main" class="menutop">Инвентарь</a> |
                                                    <span style="display:; text-align:center;" id="menu2">
                                                        <a href="/main.php?titul" target="main" class="menutop" style="color:green"> Достижения</a> |
                                                        <a href="/main.php?skills=1&side=5" target="main" class="menutop">Умения</a> |
                                                        <a href="/main.php?zayvka=1" target="main" class="menutop">Поединки</a> |
                                                        <a href="/forum/?read=10957&rnd=1" target="_blank" class="menutop" style="color:red">Всем игрокам</a> |
                                                        <a href="/n" target="_blank" class="menutop" style="color:blue">Новости</a> |
                                                        <a href="/settings" target="_blank" class="menutop">Анкета</a>
                                                    </span>
                                        </td>
                                        <td style="width: 22px;">
                                            <img class="db" src="<?= Config::img() ?>/i/lite/top_lite_18.gif" width="22" height="17" alt="">
                                        </td>
                                    </tr>
                                </table>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
        </table>
    </div>
    <table class="deleteStyles" style="width: 100%; border: 0;" cellspacing="0" cellpadding="0">
        <tr>
            <td style="width: 15px; height: 6px;">
                <img class="db" src="<?= Config::img() ?>/i/lite/_lit_20.gif" width="15" height="6" alt=""></td>
            <td style="background-image: url('<?= Config::img() ?>/i/lite/_top_20s.gif')"></td>
            <td style="width: 24px; height: 6px;">
                <img class="db" src="<?= Config::img() ?>/i/lite/_lit_27.gif" width="24" height="6" alt="">
            </td>
        </tr>
    </table>
    <!-- -->
</div>
<table id="globalMain" style="width: 100%; height: 100%; border: 0;" cellspacing="0" cellpadding="0">
    <tr id="headerTd">
        <td style="width: 9px; background-color: #d6d6d6;"></td>
        <td style="background-color: #d6d6d6;">&nbsp;</td>
        <td style="width: 12px; background-color: #d6d6d6;"></td>
    </tr>
    <tr id="sectionTd">
        <td class="deleteStyles" style="background-color: #d6d6d6; background-image: url('<?= Config::img() ?>/i/lite/_top_24.gif')"></td>
        <td style="vertical-align: top; background-color: #e2e0e0;" id="main_td">
            <div id="touchmain" style="margin-top:3px;">
                <iframe id="main" name="main" src="main.php" style="display:block;padding:0;margin:0;width:100%;border:0;" scrolling="auto"></iframe>
            </div>
        </td>
        <td class="deleteStyles" style="background-color: #d6d6d6; background-image: url('<?= Config::img() ?>/i/lite/_top_28.gif')"></td>
    </tr>
    <tr class="allChat">
        <td class="deleteStyles" style="background-color: #d6d6d6; background-image: url('<?= Config::img() ?>/i/lite/_top_24.gif')"></td>
        <td id="chat" style="vertical-align: top; height: 40%; background-color: #eee;">
            <table cellspacing="0" cellpadding="0" style="border-top:1px solid #CCCCCC; width: 100%; height: 100%; border: 0;">
                <tr>
                    <td id="chat_block" style="position:relative;border-top:1px solid #808080; vertical-align: top;">
                        <!-- display:block;-->
                        <div id="mini_qsst" onClick='qn_slk()' style="cursor:pointer"></div>
                        <div id="onbon"></div>
                        <div id="chat_menus" unselectable="on" onselectstart="return false;"
                             style="display:block;position:absolute; right:0; top:3px; padding-right:20px; height:18px; text-align:right; white-space:nowrap;">
                            <!-- -->
                            <table style="margin-top:-3px; border: 0; text-align: right;" cellpadding="0" cellspacing="0">
                                <tr>
                                    <td>
                                        <div id="chat_menu" style="text-align:right; white-space:nowrap;"></div>
                                    </td>
                                    <td style="display:none; width: 3px;" id="scroll_none"></td>
                                </tr>
                            </table>
                            <!-- -->
                        </div>

                        <div id="ttSmiles" onselectstart="return false" style="display:none;z-index:1100;">
                            <div id="smilesDiv">Загрузка смайликов</div>
                            <div id="smilesDiv2" style="display:none">
                                <?php
                                echo '<small>Новые смайлики возможно купить в <a href="/ekr.php" target="_blank">Коммерческом Отделе</a><br>Обновите страницу, если купленный смайлик не отобразился</small><hr>';
                                //
                                if (empty($u->info['add_smiles'])) { ?>
                                    <div style="text-align: center; color: grey;">У вас нет личных смайликов</div>
                                    <?php
                                } else {
                                    $ex = explode(',', $u->info['add_smiles']);
                                    $i = 0;
                                    while ($i < count($ex)) {
                                        echo '<img src="<?= Config::img() ?>/i/smile/' . $ex[$i] . '.gif" title=":' . $ex[$i] . ':" style="cursor:pointer" onclick="chat.addSmile(\'' . $ex[$i] . '\');"> ';
                                        $i++;
                                    }
                                } ?>
                            </div>
                            <div id="smilesDiv3" style="display:none"></div>
                            <div style="padding-left:5px; padding-right:5px; text-align: center;">
                                <button class="btn fl" style="display:none; padding:0; margin: 5px 2px 0 0;" disabled="disabled">
                                    <small>&nbsp; Купить &nbsp;</small></button>
                                <button class="btn fl" style="padding:0; margin: 5px 0 0;" id="btnsmlrz" onClick="smiles1load();">
                                    <small>&nbsp; Личные смайлики &nbsp;</small></button>
                                <button class="btn fr" style="padding:0; margin: 5px 0 0;" onClick="chat.lookSmiles()">
                                    <small>&nbsp; Закрыть &nbsp;</small></button>
                            </div>
                        </div>
                        <div id="chat_list" style="cursor:default;">
                            <div id="canals">
                                <div id="canal5"></div>
                                <div id="canal4"></div>
                                <div id="canal2"></div>
                                <div id="canal7"></div>
                                <div id="canal3"></div>
                                <div id="canal6" style="display:none;"></div>
                            </div>
                        </div>
                    </td>
                    <td style="border-left:2px solid #CCCCCC;border-top:1px solid #808080; background-color: #faf2f2; vertical-align: top; width: 350px;" id="online">

                        <div id="online_list" style="cursor:default;">
                            <div style="margin-top:5px; text-align: center;">
                                <button class="btn" id="robtn" onClick="chat.reflesh()">Обновить</button>
                                <button TYPE=button class="btn"
                                        onClick="window.open('/monitoring', 'monitoring', 'location=yes,menubar=yes,status=yes,resizable=yes,toolbar=yes,scrollbars=yes,scrollbars=yes')"
                                        title="Монитор заявок\турниров">
                                    <img src="<?= Config::img() ?>/i/fighttype0.gif" width="20" height="20" alt="fight type">
                                </button>
                            </div>
                            <span class="db" style="padding:0 0 8px 0;font-size: 10pt; color:#8f0000;"><b id="roomName"></b></span>
                            <div id="onlist"></div>
                            <div style="padding:5px;margin-top:5px;">
                                <div>
                                    <input type="checkbox" value="1" checked id="autoRefOnline">
                                    <label for="autoRefOnline">Обновлять автомат.</label>
                                </div>
                                <div>
                                    <input name="chcf10" type="checkbox" id="chcf10" checked value="0">
                                    <label for="chcf10">Показать всех игроков</label>
                                </div>
                            </div>
                        </div>

                    </td>
                </tr>
            </table>
        </td>
        <td style="background-color: #d6d6d6; background-image: url('<?= Config::img() ?>/i/lite/_top_28.gif');" class="deleteStyles"></td>
    </tr>
    <tr class="allChat">
        <td style="vertical-align: bottom; height: 30px;" class="deleteStyles">
            <img class="db" src="<?= Config::img() ?>/i/lite/bkf_l_r1_02.gif" width="9" height="30" alt=""></td>
        <td style="background-color: #e9e9e9; background-image: url('<?= Config::img() ?>/i/buttons/chat_bg.gif'); height: 30px;">
            <table style="width: 100%; border: 0; height: 26px;" cellspacing="0" cellpadding="0">
                <tr>
                    <td style="width: 30px" id="chatLeftIcon">
                        <img class="db" src="<?= Config::img() ?>/b___.gif" width="30" height="30" title="Чат" alt="Чат">
                    </td>
                    <td style="width: 100px; text-align: center; display:none;" id="trader1">
                        <div id="trader" style="border:1px solid #CCCCCC;padding:2px; margin-left:-2px; width:90%;"
                             class="klan"><small id="moneyGM"><b>Торговый чат</b></small></div>
                    </td>
                    <td>
                        <input type="hidden" name="trader" id="trader_val" value="0">
                        <input onmouseup="top.chat.inObj=undefined;" type="text" name="textmsg" id="textmsg" maxlength="240" onKeyPress="top.testKey(event)"
                               style="width:100%;font-size:11pt;margin-bottom:2px; border-radius: 5px; -webkit-border-radius: 5px;	-moz-border-radius: 5px;"/>
                    </td>
                    <td style="width: 6px">&nbsp;</td>
                    <td style="width: 30px" id="sendButtonTextMsg">
                        <img onClick="chat.subSend();" src="<?= Config::img() ?>/1x1.gif" class="db cp chatBtn2_1" alt=""></td>
                    <td style="width: 5px"></td>
                    <td style="width: 30px">
                        <button onClick="chat.voiceMessage()" title="Записать голосовое сообщение" id="record">
                            Запись
                        </button>
                    </td>
                    <td style="width: 30px">
                        <img onClick="chat.clear();" class="db cp" title="Очистить окно чата"
                             src="<?= Config::img() ?>/i/buttons/chatBtn3.gif" alt="Очистить окно чата">
                    </td>
                    <td style="width: 10px">&nbsp;</td>
                    <td style="width: 30px">
                        <img id="chbtn8" class="db cp chatBtn8_1" onClick="chat.lookSmiles()" title="Смайлики"
                             src="<?= Config::img() ?>/1x1.gif" alt="Смайлики">
                    </td>
                    <td style="width: 16px; background-color: #bab7b3;">
                        <img src="<?= Config::img() ?>/i/buttons/chat_explode.gif" width="16" height="30" class="db" alt="">
                    </td>
                    <td style="width: 30px">
                        <img onclick="top.getUrl('main','main.php?inv=1&rnd='+c.rnd);" class="db cp" title="Инвентарь"
                             src="<?= Config::img() ?>/i/buttons/chatBtn13.gif" alt="Инвентарь">
                    </td>

                    <td style="width: 30px">
                        <img onClick="top.getUrl('main','main.php?transfer=1&rnd='+c.rnd);" class="db cp" title="Передачи"
                             src="<?= Config::img() ?>/i/buttons/chatBtn16.gif" alt="Передачи">
                    </td>

                    <td style="width: 30px">
                        <img onClick="top.getUrl('main','main.php?add_eff=1&rnd='+c.rnd);" class="db cp" title="Обкаст"
                             src="<?= Config::img() ?>/i/buttons/chatBtn151.gif" alt="Обкаст">
                    </td>
                    <?php
                    if ($u->info['align'] == 50 || $u->info['admin'] > 0) { ?>
                        <td style="width: 30px">
                            <img onClick="top.getUrl('main','main.php?alhp=1&rnd='+c.rnd);" class="db cp"
                                 src="<?= Config::img() ?>/i/buttons/chatBtn20.gif" alt="">
                        </td>
                        <?php
                    }
                    if ($u->info['align'] >= 1.1 && $u->info['align'] < 2) { ?>
                        <td style="width: 30px">
                            <img onClick="top.getUrl('main','main.php?light=1&rnd='+c.rnd);" class="db cp" title="Панель Паладина"
                                 src="<?= Config::img() ?>/i/buttons/chatBtn15.gif" alt="Панель паладина">
                        </td>
                        <?php
                    }
                    if ($u->info['vip'] > time()) { ?>
                        <!-- VIP -->
                        <td style="width: 30px">
                            <img onClick="top.getUrl('main','main.php?vip=1&rnd='+c.rnd);" class="db cp"
                                 src="<?= Config::img() ?>/i/buttons/a___ang17.gif"
                                 onMouseOver="top.hi(this,'<b>Панель Благодати Ангела <?= $u->info['login'] ?></b>',event,3,0,1,0,'');"
                                 onMouseOut="top.hic();" onMouseDown="top.hic();" alt="">
                        </td>

                        <?php
                    } ?>
                    <td style="width: 30px">
                        <img onClick="top.getUrl('main','main.php?friends=1&rnd='+c.rnd);" class="db cp" title="Друзья"
                             src="<?= Config::img() ?>/i/buttons/chatBtn12.gif" alt="Друзья">
                    </td>
                    <?php
                    if ($u->info['align'] >= 1 && $u->info['align'] < 2) { ?>
                        <td style="width: 30px">
                            <img onClick="top.getUrl('main','main.php?ap=1&rnd='+c.rnd);" class="db cp" title="Панель света"
                                 src="<?= Config::img() ?>/i/buttons/chatBtn15.gif" alt=""></td>
                        <?php
                    }
                    if ($u->info['align'] >= 3 && $u->info['align'] < 4) { ?>
                        <td style="width: 30px">
                            <img onClick="top.getUrl('main','main.php?ap=1&rnd='+c.rnd);" class="db cp" title="Панель тьмы"
                                 src="<?= Config::img() ?>/i/buttons/chatBtn10.gif" alt="Панель тьмы">
                        </td>
                        <?php
                    }
                    if ($u->info['align'] == 7) { ?>
                        <td style="width: 30px">
                            <img onClick="top.getUrl('main','main.php?ap=1&rnd='+c.rnd);" class="db cp" title="Панель нейтралитета"
                                 src="<?= Config::img() ?>/i/buttons/a___neutral.gif" alt="Панель нейтралитета">
                        </td>
                        <?php
                    }
                    ?>
                    <td style="width: 30px">
                        <img onClick="top.getUrl('main','main.php?clan=1&rnd='+c.rnd);" class="db cp" title="Клан"
                             src="<?= Config::img() ?>/i/buttons/chatBtn14.gif" alt="Клан">
                    </td>
                    <?php
                    if ($u->info['admin'] > 0) { ?>
                        <td style="width: 30px">
                            <img onClick="top.getUrl('main','main.php?admin=1&rnd='+c.rnd);" class="db cp"
                                 src="<?= Config::img() ?>/i/buttons/chatBtn19.gif" alt="Админка">
                        </td>
                        <?php
                    } ?>
                    <td style="width: 30px">
                        <img onclick="window.open('ekr.php')" class="db cp" title="Покупка ЕвроКредитов"
                             src="<?= Config::img() ?>/i/buttons/a___nak.gif" alt="Покупка ЕвроКредитов">
                    </td>

                    <!-- время -->
                    <td style="width: 71px" id="tdDate">
                        <button id="contentDate"></button>
                    </td>
                    <!-- время -->
                </tr>
            </table>
        </td>
        <td style="text-align: right; background-color: #d6d6d6; height: 30px;" class="deleteStyles">
            <img class="db" src="<?= Config::img() ?>/i/lite/bkf_l_r1_06.gif" width="9" height="30" alt="">
        </td>
    </tr>
    <tr id="deleteFooter">
        <td style="background-image: url('<?= Config::img() ?>/sand_mid_31.png'); height: 5px; background-color: #d6d6d6;"></td>
        <td style="background-image: url('<?= Config::img() ?>/sand_mid_31.png'); height: 5px; background-color: #d6d6d6;"><!-- iFrames zone --></td>
        <td style="background-image: url('<?= Config::img() ?>/sand_mid_31.png'); height: 5px; background-color: #d6d6d6;"></td>
    </tr>
</table>
<p id="timerVoiceMess" hidden></p>

<!-- скрипт -->
<script>
    // Часы
    let intervalClear;
    let timeoutClear;
    let $button = document.getElementById("contentDate");
    let $div = document.createElement("div");
    $div.id = "divFullDate"
    document.body.append($div)
    $div.hidden = true

    let date = new Date();
    let currentSec = (60 - date.getUTCSeconds()) * 1000;

    asyncInterval()

    async function asyncInterval() {

        timeMSK()

        let promise = await new Promise((resolve, reject) => {
            setTimeout(() => {
                timeMSK()
                resolve("идём дальше")
            }, currentSec)
        });

        setInterval(() => timeMSK(), 60000)
    }

    function timeMSK(hover = false) {
        let mskTime = (new Date).toLocaleTimeString('ru-RU', {timeZone: 'Europe/Moscow'});
        $button.textContent = mskTime.match(/\d{2}:\d{2}/i)[0]

        if (hover) {
            let fullDate = (new Date).toLocaleDateString('ru-RU', {timeZone: 'Europe/Moscow'});
            let [day, month, year] = fullDate.match(/\b\d{2,4}\b/gi);
            let objDate = {year: +year, month: +month - 1, day: +day};
            let todayDay = new Date(objDate.year, objDate.month, objDate.day).getUTCDay();
            // In objDate.day make ++
            return {
                date: divFullDateTime(objDate),
                time: mskTime,
                redDay: todayDay === 5 || todayDay === 6 || todayDay === 0
            }
        }
    }

    function divFullDateTime({year, month, day}) {
        let strMonth = "";

        switch (month) {
            case 0:
                strMonth = "Января";
                break
            case 1:
                strMonth = "Февраля";
                break
            case 2:
                strMonth = "Марта";
                break
            case 3:
                strMonth = "Апреля";
                break
            case 4:
                strMonth = "Мая";
                break
            case 5:
                strMonth = "Июня";
                break
            case 6:
                strMonth = "Июля";
                break
            case 7:
                strMonth = "Августа";
                break
            case 8:
                strMonth = "Сентября";
                break
            case 9:
                strMonth = "Октября";
                break
            case 10:
                strMonth = "Ноября";
                break
            case 11:
                strMonth = "Декабря";
                break
            default:
                break
        }
        return `${day} ${strMonth} ${year}`
    }

    function everySecondsUpdate() {
        let {date, time, redDay} = timeMSK(true);

        $div.innerHTML = `<p>${time}</p><p id="dateRed">${date}</p>`

        document.getElementById("dateRed").style.color = redDay ? "red" : ""
    }

    $button.addEventListener("mouseover", function () {

        timeoutClear = setTimeout(() => {

            $div.hidden = false
            let $trTop = $button.parentElement.getBoundingClientRect().top;
            let $tdLeft = document.getElementById("tdDate").offsetLeft;

            $div.style.top = `${$trTop - ($button.offsetHeight * 2.1)}px`
            $div.style.left = `${($tdLeft - ($div.offsetWidth - $button.offsetWidth)) + 10}px`

            everySecondsUpdate()

            intervalClear = setInterval(() => everySecondsUpdate(), 1000)
        }, 550)
    })

    $button.addEventListener("mouseout", function () {
        $div.hidden = true
        clearInterval(intervalClear)
        clearTimeout(timeoutClear)
    })
</script>

<?php
if ($u->info['active'] != '' && $u->info['mail'] != 'No E-mail') {
    $yes = $u->testAction('`uid` = "' . $u->info['id'] . '" AND `vars` = "user_active_good" LIMIT 1', 1);
    $yes2 = $u->testAction('`uid` = "' . $u->info['id'] . '" AND `vars` = "user_active_send" LIMIT 1', 1);
    Db::sql('update stats set active = default where id = ?', [$u->info['id']]);
}
?>
<script>
    startEngine();
    chat.testTimer(false);
    setTimeout('chat.nozpros=0;', 20);
</script>

</body>
</html>