<script>
window.addEventListener('load', function() {
// Список разрешенных значений - названия курсов из sitemap-store.xml
const programs = [
"Курсы тайского массажа. Базовый уровень",
"Медицинская сестра/младшая медсестра (брать на работу)",
"Обучение пересадка волос",
"Курс Лечебная физкультура и спорт",
"Курс Инструктор-методист по лечебной физкультуре (ЛФК)",
"Сестринское дело",
"Фармацевт",
"Курсы фельдшера",
"Курсы предрейсовые медосмотры водителей",
"Медицинская аккредитация",
"Медсестра в косметологии",
"Медицинский массаж",
"Основы иглоукалывания",
"Моксатерапия, теплопунктура",
"Инструктор по лечебной физкультуре (ЛФК)",
"Врач-косметолог",
"Клинический психолог",
"Лечебная физкультура и спортивная медицина",
"Нутрициолог",
"Контурная пластика губ (филлеры)",
"Лечебный массаж при остеохондрозе",
"Рефлексотерапия курсы",
"Chinese medicine. Fire jars (Китайская медицина. Огненные банки)",
"Трихотрансплантолог (пересадка волос)",
"Лечебный массаж при сколиозе",
"Итальянский косметолог с выездом в Италию",
"Обучение по программе 'Жидкие нити'",
"Онлайн курс 'Аугментация губ'",
"Спортивный массаж",
"Классический массаж тела + китайская акпунктура",
"Антицеллюлитный массаж тела, SPA-уход",
"Аппаратный массаж сферами",
"Массажист-эстетист",
"Китайский массаж лица, головы, ушей (акупунктура)",
"Подолог (медицинский педикюр)",
"Китайский массаж тела (точечный массаж тела)",
"Колледж дистанционно (программа 'Сестринское дело')",
"Специалист практической подологии",
"Курс 'Мастер китайского массажа'",
"Лимфодренажный массаж лица, SPA",
"Ручная пластика лица, аппаратный SPA-уход",
"Скульптурный массаж лица, SPA-уход",
"Массаж Гуаша (лицо, голова, шея), SPA-уход",
"Массажист универсал",
"Тренер-преподаватель по массажу",
"Интимное отбеливание и аппаратное омоложение",
"Электро-магнитная стимуляция (метод Хифен)",
"Стонтерапия (массаж горячими камнями)",
"Микроигольчатый радиолифтинг",
"Аппаратный массаж тела (LPG)",
"Специалист практической подологии",
"Стонтерапия (массаж горячими камнями)",
"Мастер аппаратной коррекции фигуры"
];
// Найдите ваше поле ввода (замените 'program' на ваше имя поля)
const input = document.querySelector('input[name="program"]');
console.log('Поле ввода найдено:', input);
if (!input) return;
// Создаем контейнер для подсказок
const container = document.createElement('div');
container.id = 'autocomplete-container';
container.style.cssText = `
position: absolute;
background: white;
border-radius: 8px;
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
width: 100%;
max-height: 200px;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
z-index: 9999;
display: none;
font-family: 'TT Norms', 'TT Norms Pro', Arial, sans-serif;
font-size: 16px;
top: 100%;
left: 0;
margin-top: 4px;
-webkit-transform: translate3d(0,0,0);
transform: translate3d(0,0,0);
scrollbar-width: thin;
scrollbar-color: rgba(0,0,0,.5) transparent;
`;
// Добавляем стили для мобильного скролла
const style = document.createElement('style');
style.textContent = `
#autocomplete-container::-webkit-scrollbar {
width: 8px;
}
#autocomplete-container::-webkit-scrollbar-track {
background: transparent;
}
#autocomplete-container::-webkit-scrollbar-thumb {
background-color: rgba(0,0,0,.3);
border-radius: 4px;
border: 2px solid transparent;
background-clip: content-box;
}
@media (max-width: 768px) {
#autocomplete-container {
max-height: 180px !important;
-webkit-overflow-scrolling: touch !important;
font-size: 14px !important;
}
#autocomplete-container::-webkit-scrollbar {
width: 6px !important;
}
}
`;
document.head.appendChild(style);
input.parentNode.style.position = 'relative';
input.parentNode.appendChild(container);
// Функция для установки размера шрифта в зависимости от устройства
function setFontSize() {
if (window.innerWidth <= 768) {
container.style.fontSize = '14px';
container.style.maxHeight = '180px';
} else {
container.style.fontSize = '16px';
container.style.maxHeight = '200px';
}
}
// Устанавливаем начальный размер шрифта
setFontSize();
// Показ подсказок при вводе
input.addEventListener('input', function() {
const value = this.value.toLowerCase();
container.innerHTML = '';
if (value.length === 0) {
container.style.display = 'none';
return;
}
const matches = programs.filter(p =>
p.toLowerCase().includes(value)
);
if (matches.length > 0) {
matches.forEach(program => {
const div = document.createElement('div');
div.style.cssText = `
padding: 12px 16px;
cursor: pointer;
border-bottom: 1px solid #f0f0f0;
transition: all 0.2s ease;
font-family: 'TT Norms', 'TT Norms Pro', Arial, sans-serif;
font-size: inherit;
-webkit-tap-highlight-color: transparent;
touch-action: manipulation;
user-select: none;
-webkit-user-select: none;
position: relative;
`;
const text = document.createElement('span');
text.textContent = program;
div.appendChild(text);
// Для мобильных устройств используем click вместо touchstart для выбора
div.addEventListener('click', (e) => {
e.preventDefault();
e.stopPropagation();
input.value = program;
container.style.display = 'none';
});
// Наведение мыши - меняем цвет текста
div.addEventListener('mouseenter', function() {
this.style.color = '#743EC8';
});
// Уход мыши - возвращаем цвет
div.addEventListener('mouseleave', function() {
this.style.color = '';
});
container.appendChild(div);
});
container.style.display = 'block';
// Обновляем размер шрифта при показе
setFontSize();
} else {
container.style.display = 'none';
}
});
// Обработчик изменения размера окна
window.addEventListener('resize', setFontSize);
// Скрыть подсказки при клике вне поля
document.addEventListener('click', (e) => {
if (!input.contains(e.target) && !container.contains(e.target)) {
container.style.display = 'none';
}
});
// Для мобильных устройств - скрытие при touch вне поля
document.addEventListener('touchstart', (e) => {
if (!input.contains(e.target) && !container.contains(e.target)) {
container.style.display = 'none';
}
}, { passive: true });
// Предотвращаем закрытие при взаимодействии с контейнером
container.addEventListener('touchstart', (e) => {
e.stopPropagation();
}, { passive: true });
// Предотвращаем закрытие при скролле
container.addEventListener('scroll', (e) => {
e.stopPropagation();
}, { passive: true });
});
</script>