<?php

use \App\Services\{Auth, DB, Date};
use \App\Models\User;

$user = new User(Auth::userid());
?>
<!DOCTYPE html>
<html lang="ru">

<head>
    <?php include($_SERVER['DOCUMENT_ROOT'] . '/views/components/LoadHead.php'); ?>


</head>


<body>
    <div id="backgr"></div>
    <table class="tmain">
        <?php include($_SERVER['DOCUMENT_ROOT'] . '/views/components/Navbar.php'); ?>
        <tr>
            <td class="main">
                <center>
                    <h1>Настройки профиля</h1>
                    <script src="/js/jquery.form.min.js"></script>
                    <script>
                        var bigPhoto = '';
                        var uploadPhoto, removePhoto;

                        $(document).ready(function() {
                            $('#form').ajaxForm({
                                url: '/api/profile/update',
                                dataType: 'text',
                                beforeSubmit: function() {
                                    $('#applied').hide();

                                    $('#errors').hide();
                                    $('#submitBtn').val('Отправка данных...').prop('disabled', true);

                                    uploadPhoto = ($('#userphoto_file').val() != '');
                                    removePhoto = $('#remove_userphoto').is(':checked');
                                },
                                success: function(data) {
                                    $('#submitBtn').val('Отредактировать профиль').prop('disabled', false);

                                    if (data == '' || data == 'refresh') {
                                        $('#applied').show();

                                        if (removePhoto) {
                                            bigPhoto = '';
                                            $('#userphoto_div').hide();
                                        } else
                                        if (uploadPhoto || bigPhoto != '') {
                                            bigPhoto = '/_update_temp/userphotos/' + 140 + '.jpg';
                                            $('#userphoto_img').attr('src', '/_update_temp/userphotos/' + 140 + '_s.jpg');
                                            $('#userphoto_div').show();
                                            $('#remove_userphoto').prop('checked', false);
                                            $('#userphoto_file').val('');
                                        }

                                        if (data == 'refresh') window.location.reload();
                                    } else $('#errors').html(data).show();
                                }
                            });


                            $('#userphotoLink').click(function(e) {
                                $('#userphoto_big_img').attr('src', bigPhoto);
                                $('#userphoto_big_div').css('top', (getBodyScrollTop() + 10) + 'px').show();
                                e.stopPropagation();
                                return false;
                            });


                            $(document).click(function(e) {
                                if ($(e.target).closest('#userphoto_big_div').length == 0)
                                    $('#userphoto_big_div').hide();
                            });
                        });


                        var errorElements = [];



                        function getBodyScrollTop() {
                            return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
                        }


                        function hideUserPhoto() {
                            $('#userphoto_big_div').hide();
                        }
                    </script>

                    <div id="userphoto_big_div" style="position:absolute; display:none; padding:10px; background-color:white; margin:auto; text-align:center; left:10px" class="p5 shadow"><a href="#" onclick="hideUserPhoto(); return false"><img alt="" src="" id="userphoto_big_img" border="0"></a><br><br><a href="#" onclick="hideUserPhoto(); return false">закрыть</a></div>

                    <p>Ссылка на публичный профиль: <b><a href="/author/<?= Auth::userid() ?>/" class="nw"><?= $user->i('username') ?></a></b></p>
                    <form method="post" name="form" id="form" enctype="multipart/form-data" style="display:inline-block">














                        <?php
                        function getSelectedCountryId()
                        {
                            $user = new User(Auth::userid());
                            $result = json_decode($user->i('content'), true)['aboutrid']['value'];
                            return $result;
                        }


                        $selectedCountryId = getSelectedCountryId();
                        $optionsHtml = '
                        <option value="0">(Без страны)</option>
                        <option value="24">Абхазия</option>
                        <option value="49">Австралия</option>
                        <option value="27">Австрия</option>
                        <option value="81">Австро-Венгрия</option>
                        <option value="31">Азербайджан</option>
                        <option value="70">Албания</option>
                        <option value="80">Алжир</option>
                        <option value="34">Аргентина</option>
                        <option value="25">Армения</option>
                        <option value="2">Беларусь</option>
                        <option value="53">Бельгия</option>
                        <option value="39">Болгария</option>
                        <option value="58">Босния и Герцеговина</option>
                        <option value="64">Бразилия</option>
                        <option value="47">Великобритания</option>
                        <option value="75">Венгерская народная республика</option>
                        <option value="43">Венгрия</option>
                        <option value="84">Вьетнам</option>
                        <option value="72">ГДР</option>
                        <option value="93">Гвинейская Республика</option>
                        <option value="15">Германия</option>
                        <option value="76">Германская империя</option>
                        <option value="71">Греция</option>
                        <option value="32">Грузия</option>
                        <option value="65">Дания</option>
                        <option value="97">Донецкая Народная Республика</option>
                        <option value="105">Европа (временно)</option>
                        <option value="91">Египет</option>
                        <option value="33">Израиль</option>
                        <option value="69">Индия</option>
                        <option value="90">Иордания</option>
                        <option value="82">Ирак</option>
                        <option value="68">Иран</option>
                        <option value="95">Ирландия</option>
                        <option value="54">Испания</option>
                        <option value="37">Италия</option>
                        <option value="85">КНДР</option>
                        <option value="3">Казахстан</option>
                        <option value="60">Канада</option>
                        <option value="61">Китай</option>
                        <option value="87">Косово</option>
                        <option value="66">Крым</option>
                        <option value="41">Куба</option>
                        <option value="12">Кыргызстан</option>
                        <option value="17">Латвия</option>
                        <option value="30">Ливия</option>
                        <option value="21">Литва</option>
                        <option value="98">Луганская Народная Республика</option>
                        <option value="51">Люксембург</option>
                        <option value="20">Молдова</option>
                        <option value="29">Монголия</option>
                        <option value="101">Намибия</option>
                        <option value="22">Нидерланды</option>
                        <option value="88">Новая Зеландия</option>
                        <option value="16">Норвегия</option>
                        <option value="89">Объединённые Арабские Эмираты</option>
                        <option value="104">Пакистан</option>
                        <option value="96">Панама</option>
                        <option value="100">Перу</option>
                        <option value="19">Польша</option>
                        <option value="55">Португалия</option>
                        <option value="67">Приднестровье</option>
                        <option value="79">Протекторат Богемии и Моравии</option>
                        <option value="102">РСФСР</option>
                        <option value="1">Россия</option>
                        <option value="ex_1">Российская Империя</option>
                        <option value="40">Румыния</option>
                        <option value="77">Румынская Народная Республика</option>
                        <option value="10">СССР</option>
                        <option value="38">США</option>
                        <option value="59">Северная Македония</option>
                        <option value="44">Сербия</option>
                        <option value="62">Сирия</option>
                        <option value="42">Словакия</option>
                        <option value="56">Словения</option>
                        <option value="78">Советская зона оккупации Герма</option>
                        <option value="36">Таджикистан</option>
                        <option value="63">Таиланд</option>
                        <option value="99">Тайвань</option>
                        <option value="86">Тунис</option>
                        <option value="35">Туркменистан</option>
                        <option value="52">Турция</option>
                        <option value="103">УССР</option>
                        <option value="28">Узбекистан</option>
                        <option value="4">Украина</option>
                        <option value="74">Уругвай</option>
                        <option value="14">Финляндия</option>
                        <option value="23">Франция</option>
                        <option value="57">Хорватия</option>
                        <option value="45">Черногория</option>
                        <option value="18">Чехия</option>
                        <option value="11">Чехословакия</option>
                        <option value="46">Швейцария</option>
                        <option value="50">Швеция</option>
                        <option value="83">Шри-Ланка</option>
                        <option value="13">Эстония</option>
                        <option value="94">Югославия</option>
                        <option value="92">Южная Корея</option>
                        <option value="48">Япония</option>
                        <option value="26">Прочее</option>
                        ';
                        function addSelectedAttribute($optionsHtml, $selectedValue)
                        {
                            return preg_replace_callback(
                                '/<option value="(\d+)"(.*?)>(.*?)<\/option>/',
                                function ($matches) use ($selectedValue) {
                                    $selected = ($matches[1] == $selectedValue) ? ' selected' : '';
                                    return '<option value="' . $matches[1] . '"' . $selected . $matches[2] . '>' . $matches[3] . '</option>';
                                },
                                $optionsHtml
                            );
                        }
                        ?>
                        <div class="p20" style="text-align:left; margin-bottom:15px">

                            <h4>Информация</h4>



                            <div style="margin-bottom:3px; margin-top:5px">Страна:</div>
                            <select name="aboutrid" style="width:100%">
                                <?= addSelectedAttribute($optionsHtml, $selectedCountryId) ?>
                            </select>
                            <div style="margin-bottom:3px; margin-top:5px">Откуда:</div>
                            <input type="text" name="aboutlive" id="live" style="width:100%" maxlength="50" value="<?= json_decode($user->i('content'), true)['aboutlive']['value'] ?>">
                            <div style="margin-bottom:3px; margin-top:5px">Дата рождения</div>
                            <input type="text" name="aboutbirthday" id="live" style="width:100%" maxlength="50" value="<?= json_decode($user->i('content'), true)['aboutbirthday']['value'] ?>">
                            <div style="margin-bottom:3px; margin-top:5px">Владение языками</div>
                            <input type="text" name="aboutlangs" id="live" style="width:100%" maxlength="50" value="<?= json_decode($user->i('content'), true)['aboutlangs']['value'] ?>">
                            <div style="margin-bottom:3px; margin-top:5px">Пол</div>
                            <select name="sex" style="width:100%">
                                <option value="0">(не указан)</option>
                                <option value="1" selected="">мужской</option>
                                <option value="2">женский</option>
                            </select>
                        </div>




                        <div class="p20" style="text-align:left; margin-bottom:15px">

                            <h4>О себе</h4>

                            <div style="margin-bottom:15px">
                                <textarea name="aboutmemo" style="width:100%; height:200px"><?= json_decode($user->i('content'), true)['aboutmemo']['value'] ?></textarea>

                            </div>
                            <div class="sm">BBcode: [b] [i] [u] [s] [sub] [sup] [size] [img] [url]</div>
                            <div style="margin-bottom:3px; margin-top:5px">Telegram</div>
                            <input type="text" name="abouttelegram" id="live" style="width:100%" maxlength="50" value="<?= json_decode($user->i('content'), true)['abouttelegram']['value'] ?>">
                            <div style="margin-bottom:3px; margin-top:5px">ВКонтакте</div>
                            <input type="text" name="aboutvk" id="live" style="width:100%" maxlength="50" value="<?= json_decode($user->i('content'), true)['aboutvk']['value'] ?>">
                            <div style="margin-bottom:3px; margin-top:5px">Twitter/X</div>
                            <input type="text" name="abouttwitter" id="live" style="width:100%" maxlength="50" value="<?= json_decode($user->i('content'), true)['abouttwitter']['value'] ?>">
                            <div style="margin-bottom:3px; margin-top:5px">YouTube</div>
                            <input type="text" name="aboutyoutube" id="live" style="width:100%" maxlength="50" value="<?= json_decode($user->i('content'), true)['aboutyoutube']['value'] ?>">
                            <div style="margin-bottom:3px; margin-top:5px">Почта</div>
                            <input type="text" name="aboutemail" id="live" style="width:100%" maxlength="50" value="<?= json_decode($user->i('content'), true)['aboutemail']['value'] ?>">
                            <div style="margin-bottom:3px; margin-top:5px">Instagram</div>
                            <input type="text" name="aboutinstagram" id="live" style="width:100%" maxlength="50" value="<?= json_decode($user->i('content'), true)['aboutinstagram']['value'] ?>">
                            <div style="margin-bottom:3px; margin-top:5px">TransPhoto</div>
                            <input type="text" name="abouttransphoto" id="live" style="width:100%" maxlength="50" value="<?= json_decode($user->i('content'), true)['abouttransphoto']['value'] ?>">
                            <div style="margin-bottom:3px; margin-top:5px">Личный сайт</div>
                            <input type="text" name="aboutwebsite" id="live" style="width:100%; margin-bottom: 35px;" maxlength="50" value="<?= json_decode($user->i('content'), true)['aboutwebsite']['value'] ?>">
                            <div style="margin-bottom:3px; margin-top:5px">Любимые модели поездов</div>
                            <input type="text" name="aboutfavs_trains" id="live" style="width:100%" maxlength="50" value="<?= json_decode($user->i('content'), true)['aboutfavs_trains']['value'] ?>">
                            <div style="margin-bottom:3px; margin-top:5px">Любимые страны</div>
                            <input type="text" name="aboutfavs_countries" id="live" style="width:100%" maxlength="50" value="<?= json_decode($user->i('content'), true)['aboutfavs_countries']['value'] ?>">
                            <div style="margin-bottom:3px; margin-top:5px">Любимые города</div>
                            <input type="text" name="aboutfavs_cities" id="live" style="width:100%" maxlength="50" value="<?= json_decode($user->i('content'), true)['aboutfavs_cities']['value'] ?>">

                            <div style="margin-bottom:7px"><b>Фотография</b></div>
                            <div style="margin-bottom:15px">
                                <div id="userphoto_div" style="display:none">
                                    <a href="#" id="userphotoLink"><img src="" alt="" id="userphoto_img" class="f" style="width:auto; max-width:250px"></a>
                                    <div style="margin-top:5px; margin-bottom:7px" class="sm"><input type="checkbox" name="remove_userphoto" id="remove_userphoto"> <label for="remove_userphoto">удалить</label></div>
                                </div>
                                <div id="userphoto_file_span"><input type="file" name="userphoto" id="userphoto_file" accept="image/*"></div>
                                <div class="sm" style="margin-top:3px; color:#888">Для загрузки принимаются файлы JPEG объемом до 200 КБ и шириной не более 800 пикселей</div>
                            </div>

                            <div style="text-align:center; margin-top:25px">
                                <input type="submit" id="submitBtn" style="width:250px; height:30px; margin-bottom:5px" value="Отредактировать профиль">
                                <div><span style="color:red; font-weight:bold; display:none" id="errors"></span><span style="display:none; font-weight:bold; color:green" id="applied">✔&ensp;Изменения внесены</span></div>
                            </div>

                        </div>
                    </form>
                </center>
            </td>
        </tr>
        <tr>
            <?php include($_SERVER['DOCUMENT_ROOT'] . '/views/components/Footer.php'); ?>
        </tr>
    </table>


</body>

</html>