/* document.addEventListener('DOMContentLoaded', function() { const header = document.getElementById('site-header'); const main = document.getElementById('main-content'); function updateMainPadding() { const headerHeight = header.offsetHeight; main.style.paddingTop = headerHeight + 'px'; // Показываем контент с плавной анимацией main.classList.remove('opacity-0'); } updateMainPadding(); window.addEventListener('resize', updateMainPadding); });*/ // Используем делегирование событий для динамически загружаемых форм document.addEventListener('DOMContentLoaded', function() { // Делегирование для focus события document.addEventListener('focus', function(e) { if (e.target.matches('#fluentform_4 .ff-el-form-control')) { const group = e.target.closest('.ff-el-group'); if (group) group.classList.add('focused'); } }, true); // используем capture phase // Делегирование для blur события document.addEventListener('blur', function(e) { if (e.target.matches('#fluentform_4 .ff-el-form-control')) { const group = e.target.closest('.ff-el-group'); if (group) group.classList.remove('focused'); } }, true); // Делегирование для input события document.addEventListener('input', function(e) { // Обычные поля формы if (e.target.matches('#fluentform_4 .ff-el-form-control')) { const group = e.target.closest('.ff-el-group'); if (group) { if (e.target.value.trim() !== '') { group.classList.add('has-value'); } else { group.classList.remove('has-value'); } } } // Форматирование телефона if (e.target.matches('#fluentform_4 .ff-el-phone')) { formatPhoneNumber(e); } }); // Делегирование для keydown события (для телефона) document.addEventListener('keydown', function(e) { if (e.target.matches('#fluentform_4 .ff-el-phone')) { handlePhoneKeydown(e); } }); // Функция форматирования телефона function formatPhoneNumber(e) { let value = e.target.value.replace(/\D/g, ''); // Заменяем 8 на 7 if (value.startsWith('8')) { value = '7' + value.slice(1); } // Добавляем 7 если нет if (!value.startsWith('7') && value.length > 0) { value = '7' + value; } let formattedValue = ''; if (value.length > 0) { formattedValue = '+7'; if (value.length > 1) { formattedValue += ' (' + value.slice(1, 4); if (value.length > 4) { formattedValue += ') ' + value.slice(4, 7); if (value.length > 7) { formattedValue += '-' + value.slice(7, 9); if (value.length > 9) { formattedValue += '-' + value.slice(9, 11); } } } } } e.target.value = formattedValue; } // Функция обработки клавиш для телефона function handlePhoneKeydown(e) { if (e.key === 'Backspace' || e.key === 'Delete') { const cursorPos = e.target.selectionStart; const value = e.target.value; if (cursorPos > 0 && [' ', '(', ')', '-'].includes(value[cursorPos - 1])) { setTimeout(() => { e.target.setSelectionRange(cursorPos - 1, cursorPos - 1); }, 0); } } } });