/* ===== Данные клиентов (блок 5) ===== */
const CLIENTS = [
{name:'Бочкарёв Агро', ha:'4 000 га', reg:'Алтайский край'},
{name:'АПК «Енисейское»', ha:'11 000 га', reg:'Красноярский край'},
{name:'ООО «Фарм»', ha:'5 200 га', reg:'Алтайский край'},
{name:'Калина', ha:'5 000 га', reg:'Краснодар'},
{name:'Дары Малиновки', ha:'—', reg:'Красноярский край'},
{name:'Пегас', ha:'40 000 га', reg:'Саратов, Ульяновск'},
{name:'Рубин', ha:'16 000 га', reg:'Новосибирск'},
{name:'РусАгро', ha:'150 000 га', reg:'Орёл, Тамбов'},
{name:'РЗ Агро', ha:'93 000 га', reg:'Ростов, Ставрополь'},
{name:'Янта', ha:'37 000 га', reg:'Благовещенск'},
];
function renderClients(){
const grid = document.getElementById('clientsGrid');
if(!grid) return;
grid.innerHTML = CLIENTS.map(c=>`
${c.name}
${c.ha}
${c.reg}
`).join('');
}
/* ===== Карточка регистрации: клон шаблона ===== */
function renderRegForms(){
const tpl = document.getElementById('regFormTpl');
document.querySelectorAll('[data-reg-card]').forEach(card=>{
card.appendChild(tpl.content.cloneNode(true));
});
}
/* ===== Маска телефона +7 ===== */
function maskPhone(v){
const d = v.replace(/\D/g,'').replace(/^7/,'').slice(0,10);
let out='';
if(d.length) out='('+d.slice(0,3);
if(d.length>=4) out+=') '+d.slice(3,6);
if(d.length>=7) out+='-'+d.slice(6,8);
if(d.length>=9) out+='-'+d.slice(8,10);
return out;
}
function bindForms(){
document.querySelectorAll('.reg-form').forEach(form=>{
const input = form.querySelector('input[name="phone"]');
input.addEventListener('input', e=>{ e.target.value = maskPhone(e.target.value); });
form.addEventListener('submit', e=>{
e.preventDefault();
const digits = input.value.replace(/\D/g,'');
if(digits.length<10){ input.focus(); input.style.borderColor='#c0392b'; return; }
// Без бэкенда — заглушка
alert('Код отправлен на +7 '+input.value+'\n(демо: здесь будет реальная отправка)');
});
form.querySelector('.btn-tg').addEventListener('click', ()=>{
alert('Авторизация через Telegram (демо)');
});
});
}
/* ===== Карусель hero ===== */
function initCarousel(){
const root = document.getElementById('heroCarousel');
if(!root) return;
const track = root.querySelector('.carousel-track');
const slides = root.querySelectorAll('.carousel-slide');
const dotsWrap = document.getElementById('heroDots');
let i = 0;
slides.forEach((_,n)=>{
const b=document.createElement('button');
if(n===0) b.classList.add('active');
b.addEventListener('click',()=>go(n));
dotsWrap.appendChild(b);
});
const dots = dotsWrap.querySelectorAll('button');
function go(n){
i=n;
track.style.transform=`translateX(-${n*100}%)`;
dots.forEach((d,k)=>d.classList.toggle('active',k===n));
}
setInterval(()=>go((i+1)%slides.length), 4500);
}
document.addEventListener('DOMContentLoaded', ()=>{
renderClients();
renderRegForms();
bindForms();
initCarousel();
});