// Инициализация Lucide иконок document.addEventListener('DOMContentLoaded', function() { if (typeof lucide !== 'undefined') { lucide.createIcons(); } }); // Автоматическое скрытие сообщений document.addEventListener('DOMContentLoaded', function() { const alerts = document.querySelectorAll('.alert'); alerts.forEach(alert => { setTimeout(() => { alert.style.opacity = '0'; alert.style.transform = 'translateY(-20px)'; setTimeout(() => { alert.remove(); }, 300); }, 5000); }); }); // Плавная прокрутка для якорных ссылок document.querySelectorAll('a[href^="#"]').forEach(anchor => { anchor.addEventListener('click', function (e) { e.preventDefault(); const target = document.querySelector(this.getAttribute('href')); if (target) { target.scrollIntoView({ behavior: 'smooth', block: 'start' }); } }); }); // Обновление иконок после AJAX запросов function refreshIcons() { if (typeof lucide !== 'undefined') { lucide.createIcons(); } } // Функция для форматирования цен function formatPrice(price) { return new Intl.NumberFormat('ru-RU').format(price) + ' ₽'; } // Валидация форм document.addEventListener('DOMContentLoaded', function() { const forms = document.querySelectorAll('form'); forms.forEach(form => { form.addEventListener('submit', function(e) { const requiredFields = form.querySelectorAll('[required]'); let isValid = true; requiredFields.forEach(field => { if (!field.value.trim()) { field.style.borderColor = '#ef4444'; isValid = false; } else { field.style.borderColor = ''; } }); if (!isValid) { e.preventDefault(); alert('Пожалуйста, заполните все обязательные поля'); } }); }); });