(function () { 'use strict'; var TEST_PATH_RE = /\/(%D1%82%D0%B5%D1%81%D1%82-%D0%BD%D0%B0%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-%D0%BF%D0%BE%D0%B4%D1%85%D0%BE%D0%B4%D0%B8%D1%82-%D1%82%D0%B5%D0%B1%D0%B5-%D1%81%D0%BF%D1%80%D1%83%D1%82|тест-насколько-подходит-тебе-спрут)(\/|$|\?|#)/i; var TEST_TEXT_RE = /(пройти\s+(тест|диагностик)|диагностик|узнайте\s+за\s+2\s*минут|подходит\s+ли\s+вам\s+sprut|подходит\s+ли\s+вам\s+спрут)/i; function norm(text) { return (text || '').replace(/\s+/g, ' ').trim().toLowerCase(); } function isTestHref(href) { if (!href) return false; var h = href.trim(); if (h === '#sprut-quiz-popup' || h === '#sprut-quiz') return true; if (!h || h === '#' || h.indexOf('javascript:') === 0) return false; if (/sprut-test\.html/i.test(h)) return true; try { var url = new URL(h, window.location.origin); if (url.origin !== window.location.origin) return false; var path = decodeURIComponent(url.pathname).toLowerCase(); if (path.indexOf('тест-насколько-подходит-тебе-спрут') >= 0) return true; if (TEST_PATH_RE.test(url.pathname)) return true; } catch (e) { if (/тест-насколько-подходит-тебе-спрут/i.test(h)) return true; } return false; } function isTestTrigger(el) { if (!el || el.closest('#sprut-quiz-popup-modal')) return false; if (el.getAttribute('data-sprut-quiz-popup') === '0') return false; if (el.classList && el.classList.contains('sprut-btn-contact')) return false; var tag = (el.tagName || '').toLowerCase(); var text = norm(el.textContent); var href = tag === 'a' ? el.getAttribute('href') : ''; if (el.classList && (el.classList.contains('sprut-btn-test') || el.classList.contains('sprut-open-quiz'))) { return true; } if (href && isTestHref(href)) return true; if (tag === 'button' && (el.id === 'sprut-quiz-start' || el.classList.contains('sq-start-btn'))) { return true; } if (TEST_TEXT_RE.test(text)) { if (tag === 'button') return true; if (tag === 'a' && href) return isTestHref(href) || href === '#' || href.indexOf('#') === 0; } return false; } function wantsAutoStart(el) { if (el && el.classList && el.classList.contains('sprut-btn-contact')) return false; return true; } function openPopupFromClick(el) { if (window.openSprutQuizPopup) window.openSprutQuizPopup(wantsAutoStart(el)); } document.addEventListener( 'click', function (e) { var el = e.target.closest('a, button'); if (!isTestTrigger(el)) return; e.preventDefault(); e.stopPropagation(); openPopupFromClick(el); }, true ); document.addEventListener('keydown', function (e) { if (e.key === 'Escape' && window.closeSprutQuizPopup) window.closeSprutQuizPopup(); }); document.addEventListener('DOMContentLoaded', function () { var modal = document.getElementById('sprut-quiz-popup-modal'); if (!modal) return; modal.querySelectorAll('.sprut-quiz-popup-backdrop, .sprut-quiz-popup-close').forEach(function (btn) { btn.addEventListener('click', function () { if (window.closeSprutQuizPopup) window.closeSprutQuizPopup(); }); }); document.querySelectorAll('a[href]').forEach(function (a) { if (!isTestHref(a.getAttribute('href'))) return; a.setAttribute('href', '#sprut-quiz-popup'); a.setAttribute('data-sprut-quiz-popup', '1'); }); }); })();