(function (){
'use strict';
function initSlider(root){
var track=root.querySelector('[data-slider-track]');
var slides=root.querySelectorAll('[data-slide]');
var dots=root.querySelectorAll('[data-slider-dot]');
var progress=root.querySelector('[data-slider-progress]');
var prevBtn=root.querySelector('[data-slider-prev]');
var nextBtn=root.querySelector('[data-slider-next]');
if(!track||!slides.length) return;
var total=slides.length;
var AUTO_MS=8500;
var current=0;
var timer=null;
var progTimer=null;
var progStart=null;
function goTo(idx){
slides[current].classList.remove('is-active');
if(dots[current]){
dots[current].classList.remove('is-active');
dots[current].setAttribute('aria-selected', 'false');
}
current=(idx + total) % total;
slides[current].classList.add('is-active');
if(dots[current]){
dots[current].classList.add('is-active');
dots[current].setAttribute('aria-selected', 'true');
}
track.style.transform='translateX(-' + current * 100 + '%)';
resetProgress();
}
function resetProgress(){
if(!progress) return;
progress.style.transition='none';
progress.style.width='0%';
cancelAnimationFrame(progTimer);
clearTimeout(timer);
requestAnimationFrame(function (){
progStart=performance.now();
animProgress();
timer=setTimeout(function (){
goTo(current + 1);
}, AUTO_MS);
});
}
function animProgress(){
if(!progress||progStart===null) return;
var elapsed=performance.now() - progStart;
var pct=Math.min((elapsed / AUTO_MS) * 100, 100);
progress.style.width=pct + '%';
if(pct < 100) progTimer=requestAnimationFrame(animProgress);
}
if(prevBtn) prevBtn.addEventListener('click', function (){ goTo(current - 1); });
if(nextBtn) nextBtn.addEventListener('click', function (){ goTo(current + 1); });
dots.forEach(function (d){
d.addEventListener('click', function (){
goTo(parseInt(d.getAttribute('data-slider-dot'), 10)||0);
});
});
var touchX=null;
track.addEventListener('touchstart', function (e){
touchX=e.touches[0].clientX;
}, { passive: true });
track.addEventListener('touchend', function (e){
if(touchX===null) return;
var dx=e.changedTouches[0].clientX - touchX;
if(Math.abs(dx) > 40) goTo(current + (dx < 0 ? 1:-1));
touchX=null;
});
root.addEventListener('mouseenter', function (){
clearTimeout(timer);
cancelAnimationFrame(progTimer);
});
root.addEventListener('mouseleave', function (){
if(!progress) return;
var widthPct=parseFloat(progress.style.width)||0;
progStart=performance.now() - (widthPct / 100) * AUTO_MS;
animProgress();
timer=setTimeout(function (){
goTo(current + 1);
}, Math.max(AUTO_MS - (performance.now() - progStart), 0));
});
resetProgress();
}
function initPopup(){
var overlay=document.querySelector('[data-trial-overlay]');
var dialog=document.querySelector('[data-trial-dialog]');
if(!overlay||!dialog) return;
var openers=document.querySelectorAll('[data-trial-open]');
var closers=document.querySelectorAll('[data-trial-close]');
var lastFocus=null;
function setOpen(open){
overlay.classList.toggle('is-open', open);
dialog.classList.toggle('is-open', open);
overlay.setAttribute('aria-hidden', open ? 'false':'true');
dialog.setAttribute('aria-hidden', open ? 'false':'true');
document.body.classList.toggle('sf-trial-open', open);
if(open){
lastFocus=document.activeElement;
var focusable=dialog.querySelector('input, button, [href]');
if(focusable) focusable.focus();
}else if(lastFocus&&lastFocus.focus){
lastFocus.focus();
}}
openers.forEach(function (btn){
btn.addEventListener('click', function (e){
e.preventDefault();
setOpen(true);
});
});
closers.forEach(function (btn){
btn.addEventListener('click', function (){ setOpen(false); });
});
overlay.addEventListener('click', function (){ setOpen(false); });
document.addEventListener('keydown', function (e){
if(e.key==='Escape'&&dialog.classList.contains('is-open')) setOpen(false);
});
}
function maskPhone(input){
function format(value){
var digits=(value||'').replace(/\D/g, '');
if(!digits) return '';
if(digits.charAt(0)==='8'){
digits='7' + digits.slice(1);
}
if(digits.length > 0&&digits.charAt(0)!=='7'){
digits='7' + digits;
}
digits=digits.slice(0, 11);
var out='+7';
if(digits.length > 1) out +=' (' + digits.slice(1, 4);
if(digits.length >=4) out +=')';
if(digits.length > 4) out +=' ' + digits.slice(4, 7);
if(digits.length > 7) out +='-' + digits.slice(7, 9);
if(digits.length > 9) out +='-' + digits.slice(9, 11);
return out;
}
input.addEventListener('input', function (){
var formatted=format(input.value);
if(formatted!==input.value){
input.value=formatted;
}});
input.addEventListener('change', function (){
var formatted=format(input.value);
if(formatted!==input.value){
input.value=formatted;
}});
input.addEventListener('focus', function (){
if(!input.value){
input.value='+7 (';
}});
input.addEventListener('keydown', function (e){
if(e.key==='Backspace'){
var val=input.value;
if(val==='+7 ('||val==='+7'){
setTimeout(function(){
if(input.value==='+7 ('||input.value==='+7'){
input.value='';
}}, 0);
}}
});
if(input.value){
input.value=format(input.value);
}}
document.addEventListener('DOMContentLoaded', function (){
document.querySelectorAll('[data-blog-slider]').forEach(initSlider);
initPopup();
document.querySelectorAll('[data-phone-mask]').forEach(maskPhone);
if(typeof window.t_forms__initForms==='function'){
try { window.t_forms__initForms(); } catch (e){  }}
});
})();