!function(e,t){"use strict";var n=e.EasyChatDom,a=e.EasyChatMotion,s=e.EasyChatRequest;function i(e){return n.value('input[name="'+e+'"]')}function r(e,t,n){e&&(e.disabled=!!t,e.innerHTML=n)}function o(e){return"success"===e?"fa-check-circle":"info"===e?"fa-info-circle":"fa-exclamation-triangle"}function c(e,a){var s=n.one("#alert-box");s&&(n.setClasses(s,"d-none alert-success alert-danger alert-info","alert-"+(a||"danger")),s.textContent="",s.appendChild(n.create("i",{className:"fa "+o(a)+" me-2","aria-hidden":"true"})),s.appendChild(t.createTextNode(e||"")))}function u(){var e=n.one("#alert-box");e&&e.classList.add("d-none")}function f(e,t){var s=n.one(e),i=n.one(t);s&&i&&a.fadeOut(s,{duration:180,done:function(){a.reveal(i,{duration:180})}})}function d(){var e=n.one("#easychat-news-consent"),t=n.one("#easychat-news-email-row"),a=n.one("#easychat-news-email");if(e&&t&&a){if(e.checked)return t.classList.remove("d-none"),a.setAttribute("required","required"),void(a.value.trim()||(a.value=i("admin_email").trim()));t.classList.add("d-none"),a.removeAttribute("required")}}n.ready(function(){n.on("#btn-to-step-2","click",function(){i("host").trim()&&i("database").trim()&&i("user").trim()?(f("#step-1","#step-2"),u()):c("Пожалуйста, заполните все параметры подключения к БД","danger")}),n.on("#btn-back-to-1","click",function(){f("#step-2","#step-1"),u()}),n.on("#easychat-news-consent","change",d),n.on("#install-admin-email","input",function(){var e=n.one("#easychat-news-email");e&&!e.value.trim()&&(e.value=i("admin_email").trim())}),d(),n.on("#btn-test-db","click",function(e){var t=e.currentTarget;r(t,!0,'<i class="fa fa-spinner fa-spin me-2"></i> Проверка...'),s.post("index.php?route=install/testConnection",{host:i("host"),port:i("port"),database:i("database"),user:i("user"),password:i("password")}).then(function(e){r(t,!1,'<i class="fa fa-plug me-2"></i> Проверить связь'),c(e.success?"Соединение успешно установлено!":e.error,e.success?"success":"danger")}).catch(function(){r(t,!1,'<i class="fa fa-plug me-2"></i> Проверить связь'),c("Произошла непредвиденная ошибка на сервере при проверке.","danger")})}),n.on("#install-form","submit",function(t){t.preventDefault();var a=t.currentTarget,i=n.one("#btn-submit"),o=n.one("#easychat-news-consent"),u=n.one("#easychat-news-email");if(o&&o.checked&&u&&!u.value.trim())return c("Укажите email для новостей EasyChat24 или снимите галочку получения новостей.","danger"),void(u.focus&&u.focus());r(i,!0,'<i class="fa fa-spinner fa-spin me-2"></i> Установка...'),c("Инициализация базы данных и генерация файлов...","info"),s.post("index.php?route=install/setup",s.formParams(a)).then(function(t){if(t.success){var n="Установка успешно завершена! Перенаправление на страницу входа...";t.gift&&"issued"===t.gift.status?n="Установка завершена, подарочные AI-токены начислены. Перенаправление на страницу входа...":t.gift&&t.gift.status&&"not_requested"!==t.gift.status&&(n="Установка завершена. Подарочные AI-токены можно будет запросить повторно в настройках.");var a=t.attribution&&!1===t.attribution.success&&"not_requested"!==t.attribution.status;return a&&(n="EasyChat установлен и готов к работе. Код со страницы скачивания пока не удалось подтвердить; это не влияет на чаты и его можно не использовать."),c(n,a?"info":"success"),void setTimeout(function(){e.location.href=s.routeUrl("index.php?route=auth")},a?4e3:2e3)}r(i,!1,'<i class="fa fa-check me-2"></i> Завершить установку'),c(t.error,"danger")}).catch(function(){r(i,!1,'<i class="fa fa-check me-2"></i> Завершить установку'),c("Произошла критическая ошибка при обработке установки на сервере.","danger")})})})}(window,document);