'use strict';

document.addEventListener('DOMContentLoaded', function () {
    const form = document.getElementById('loginForm');
    const emailInput = document.getElementById('email');
    const passwordInput = document.getElementById('password');

    // ===== VALIDATION HELPERS =====

    function showError(input, msgEl, message) {
        input.classList.add('input-error');
        msgEl.textContent = message;
    }

    function clearError(input, msgEl) {
        input.classList.remove('input-error');
        msgEl.textContent = '';
    }

    function validateEmail() {
        const msgEl = document.getElementById('email-error');
        const val = emailInput.value.trim();
        const emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;

        if (!val) {
            showError(emailInput, msgEl, 'יש להזין כתובת אימייל');
            return false;
        }
        if (!emailPattern.test(val)) {
            showError(emailInput, msgEl, 'כתובת האימייל אינה תקינה');
            return false;
        }
        clearError(emailInput, msgEl);
        return true;
    }

    function validatePassword() {
        const msgEl = document.getElementById('password-error');
        const val = passwordInput.value;

        if (!val) {
            showError(passwordInput, msgEl, 'יש להזין סיסמה');
            return false;
        }
        if (val.length < 6) {
            showError(passwordInput, msgEl, 'הסיסמה חייבת להכיל לפחות 6 תווים');
            return false;
        }
        clearError(passwordInput, msgEl);
        return true;
    }

    // ===== LIVE VALIDATION ON BLUR =====

    emailInput.addEventListener('blur', validateEmail);
    passwordInput.addEventListener('blur', validatePassword);

    // Clear error while typing
    emailInput.addEventListener('input', function () {
        if (emailInput.classList.contains('input-error')) validateEmail();
    });
    passwordInput.addEventListener('input', function () {
        if (passwordInput.classList.contains('input-error')) validatePassword();
    });

    // ===== FORM SUBMIT =====

    form.addEventListener('submit', function (e) {
        const emailOk = validateEmail();
        const passwordOk = validatePassword();

        if (!emailOk || !passwordOk) {
            e.preventDefault();
        }
    });
});
