// check_auth.js
$(document).ready(function() {
    // Проверка авторизации при загрузке страницы
    checkAuthStatus();

    // Обработка формы входа
    $('#loginForm').on('submit', function(e) {
        e.preventDefault();

        const email = $('#login-email').val();
        const password = $('#login-password').val();
        const remember = $('#remember').is(':checked');

        $.ajax({
            url: 'login_handler.php',
            method: 'POST',
            data: {
                email: email,
                password: password
            },
            success: function(response) {
                try {
                    const result = JSON.parse(response);
                    if (result.success) {
                        // Сохраняем в localStorage если выбрано "Запомнить меня"
                        if (remember) {
                            localStorage.setItem('rememberedEmail', email);
                        } else {
                            localStorage.removeItem('rememberedEmail');
                        }

                        // Перенаправляем
                        window.location.href = result.redirect || 'catalog.php';
                    } else {
                        showMessage('error', result.message || 'Ошибка авторизации');
                    }
                } catch(e) {
                    showMessage('error', 'Ошибка обработки ответа');
                }
            },
            error: function() {
                showMessage('error', 'Ошибка сервера');
            }
        });
    });

    // Проверка статуса авторизации
    function checkAuthStatus() {
        $.ajax({
            url: 'check_auth_status.php',
            method: 'GET',
            success: function(response) {
                try {
                    const result = JSON.parse(response);
                    if (result.loggedIn) {
                        updateUserProfile(result.user);
                    }
                } catch(e) {
                    console.error('Ошибка проверки авторизации', e);
                }
            }
        });
    }

    // Обновление профиля пользователя
    function updateUserProfile(user) {
        // Обновляем шапку, если есть элементы для профиля
        if ($('#userEmail').length) {
            $('#userEmail').text(user.email);
        }
        if ($('#userName').length) {
            $('#userName').text(user.full_name);
        }
    }

    // Показать сообщение
    function showMessage(type, text) {
        const $message = $('#' + type + 'Message');
        if ($message.length) {
            $message.text(text).fadeIn();
            setTimeout(() => $message.fadeOut(), 5000);
        } else {
            alert(text);
        }
    }

    // Проверка авторизации для ссылок
    function checkAuth(redirectUrl) {
        $.ajax({
            url: 'check_auth_status.php',
            method: 'GET',
            success: function(response) {
                try {
                    const result = JSON.parse(response);
                    if (result.loggedIn) {
                        window.location.href = redirectUrl;
                    } else {
                        // Показываем модальное окно или перенаправляем на вход
                        showLoginModal(redirectUrl);
                    }
                } catch(e) {
                    showLoginModal(redirectUrl);
                }
            }
        });
        return false;
    }

    // Показать модальное окно входа
    function showLoginModal(redirectUrl) {
        // Можно реализовать модальное окно или перенаправить на страницу входа
        window.location.href = 'вход.php?redirect=' + encodeURIComponent(redirectUrl);
    }
});