Pre ľudí, ktorí majú na výcvik čas teraz a potrebujú ho zvládnuť naraz. Rozsah výučby je rovnaký ako v základnom kurze, len ho absolvujete hustejšie. Termíny jázd prispôsobíme vašim požiadavkám.
Ešte máme 11 voľných miest. Nechajte nám kontakt a ozveme sa vám do 24 hodín.
Používame cookies
Nevyhnutné cookies web potrebuje, aby fungoval. Analytické a marketingové spustíme len s vaším súhlasom – pomáhajú nám zistiť, čo na webe ľudia hľadajú, a merať reklamu. Zásady ochrany osobných údajov
' +
'' + stars(rv.rating) + '
' + esc(txt) + '
';
}).join('');
});
}).catch(function () { /* ponechá statický obsah */ });
}
// Cenník: prepínač jazyka výučby (a = po slovensky, b = v angličtine) mení názvy, ceny a odkazy kariet.
// Jazyk samotnej stránky (SK/EN) určuje hlavný prepínač v hlavičke – texty kariet sú už v jazyku stránky.
document.querySelectorAll('[data-pricing]').forEach(function (box) {
var plans = box.querySelector('.plans');
box.querySelectorAll('[data-ptab]').forEach(function (tab) {
tab.addEventListener('click', function () {
var v = tab.dataset.ptab;
box.querySelectorAll('[data-ptab]').forEach(function (t) { t.setAttribute('aria-selected', t === tab ? 'true' : 'false'); });
box.querySelectorAll('[data-' + v + ']').forEach(function (el) { el.textContent = el.getAttribute('data-' + v); });
box.querySelectorAll('[data-href-' + v + ']').forEach(function (el) { el.setAttribute('href', el.getAttribute('data-href-' + v)); });
plans.classList.remove('swap'); void plans.offsetWidth; plans.classList.add('swap');
});
});
});
// Predvyplnenie formulára z adresy (?kurz=…&termin=…&splatky=1)
var params = new URLSearchParams(location.search);
document.querySelectorAll('form[data-signup]').forEach(function (form) {
var kurz = params.get('kurz') || form.dataset.kurz;
var termin = params.get('termin');
var sel = form.querySelector('[name="kurz"]');
if (sel && kurz) {
Array.prototype.forEach.call(sel.options, function (o) { if (o.value === kurz) sel.value = kurz; });
}
var t = form.querySelector('[name="termin"]');
if (t && termin) t.value = termin;
var note = form.querySelector('[name="poznamka"]');
if (note && params.get('splatky')) note.value = form.dataset.lang === 'en' ? 'I would like to pay in instalments.' : 'Mám záujem platiť na splátky.';
// Skrytá pasca pre roboty a čas načítania (kontroluje ich server)
var trap = document.createElement('input');
trap.type = 'text'; trap.name = 'web'; trap.tabIndex = -1; trap.autocomplete = 'off'; trap.setAttribute('aria-hidden', 'true');
trap.style.cssText = 'position:absolute;left:-9999px;width:1px;height:1px;opacity:0';
form.appendChild(trap);
var loadedAt = Date.now();
// Vo WordPresse (plugin AB Drive – Nový web) sa prihláška odošle e-mailom; bez neho sa len ukáže potvrdenie.
form.addEventListener('submit', function (e) {
e.preventDefault();
if (!form.reportValidity()) return;
var status = form.querySelector('.form-status');
var cfg = window.ABDRIVE_FORM;
if (cfg && cfg.url) {
var en = form.dataset.lang === 'en';
var btn = form.querySelector('[type=submit]');
var data = {};
new FormData(form).forEach(function (v, k) { data[k] = v; });
data.t = Date.now() - loadedAt;
data.jazyk = form.dataset.lang;
var chk = form.querySelector('[name="suhlas"]');
data.suhlas = chk && chk.checked ? '1' : '';
if (btn) btn.disabled = true;
var show = function (msg) { if (status) { status.hidden = false; status.textContent = msg; } };
fetch(cfg.url, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(data) })
.then(function (r) { return r.json().catch(function () { return {}; }).then(function (j) { return { ok: r.ok && j.ok, msg: j.chyba }; }); })
.then(function (res) {
if (res.ok) {
var to = cfg.thanks && cfg.thanks[en ? 'en' : 'sk'];
if (to) { location.href = to; return; }
show(en ? 'Thank you. We will call you back within 24 hours.' : 'Ďakujeme. Ozveme sa vám do 24 hodín.');
form.querySelectorAll('input:not([type=checkbox]),textarea').forEach(function (i) { if (i.name !== 'termin') i.value = ''; });
} else {
show(res.msg || (en ? 'Sending failed. Please call us.' : 'Odoslanie sa nepodarilo. Zavolajte nám prosím.'));
}
})
.catch(function () { show(en ? 'Sending failed. Please call us.' : 'Odoslanie sa nepodarilo. Zavolajte nám prosím.'); })
.then(function () { if (btn) btn.disabled = false; });
return;
}
if (status) {
status.hidden = false;
status.textContent = form.dataset.lang === 'en'
? 'Thank you. We will call you back within 24 hours.'
: 'Ďakujeme. Ozveme sa vám do 24 hodín.';
}
form.querySelectorAll('input:not([type=checkbox]),textarea').forEach(function (i) { if (i.name !== 'termin') i.value = ''; });
});
});
// Výber kurzu na úvodnej stránke
var picker = document.querySelector('[data-picker]');
if (picker) {
var courses = JSON.parse(picker.querySelector('script[type="application/json"]').textContent);
var out = picker.querySelector('.pick-result');
var render = function () {
var has = (picker.querySelector('[name=has]:checked') || {}).value;
var lang = (picker.querySelector('[name=lng]:checked') || {}).value;
var time = (picker.querySelector('[name=time]:checked') || {}).value;
var key;
if (has === 'zadrzany') key = 'doskolovaci';
else if (has === 'mam') key = 'kondicne';
else if (lang === 'en') key = time === 'rychlo' ? 'en-rychly' : 'en';
else key = time === 'rychlo' ? 'rychlokurz' : 'zakladny';
var c = courses[key];
picker.querySelectorAll('[data-only-new]').forEach(function (f) { f.hidden = has !== 'nemam'; });
out.classList.remove('swap'); void out.offsetWidth; out.classList.add('swap');
out.innerHTML = '
';
};
picker.addEventListener('change', render);
render();
picker.querySelector('.pick-result').classList.remove('swap');
}
// Pohyb: časti každej sekcie nabiehajú postupne a cesta „Ako to prebieha“ sa vykreslí.
// Obsah je viditeľný aj bez skriptu; skryje sa len to, čo je pri načítaní pod okrajom obrazovky.
if ('IntersectionObserver' in window && !matchMedia('(prefers-reduced-motion: reduce)').matches) {
var below = function (el) { return el.getBoundingClientRect().top > innerHeight; };
var io = new IntersectionObserver(function (entries) {
entries.forEach(function (en) {
if (!en.isIntersecting) return;
en.target.classList.remove('pre');
en.target.classList.add('is-in');
io.unobserve(en.target);
});
}, { rootMargin: '0px 0px -10% 0px' });
document.querySelectorAll('main section').forEach(function (sec) {
var parts = sec.querySelectorAll('.section-head, .wrap > h2, .split > *, .place > *, .two-col > *, .cta .wrap > *, .testimonial .wrap > *, .courses > *, .gallery > *, .faq > details, .table-wrap, .picker, .prose > h2, .prose > p, .includes > li, .aside-card, .faq-group > h2, .faq-aside > *');
var n = 0;
parts.forEach(function (el) {
if (el.closest('.route') || !below(el)) return;
el.classList.add('reveal', 'pre');
el.style.transitionDelay = (n++ % 6) * 80 + 'ms';
io.observe(el);
});
});
document.querySelectorAll('.route').forEach(function (r) {
if (!below(r)) return;
r.classList.add('drive');
io.observe(r);
});
}
// Cookie lišta: voľba sa uloží na 12 mesiacov a pošle sa do Google Consent Mode.
// Analytické a marketingové nástroje (GA4, Google Ads) sa majú spúšťať až podľa nej.
var ck = document.getElementById('cookie');
if (ck) {
var KEY = 'abdrive-consent', YEAR = 31536e6;
var cats = document.getElementById('cookie-cats');
var settingsBtn = ck.querySelector('[data-ck-action="settings"]');
var saveBtn = ck.querySelector('[data-ck-action="save"]');
var boxes = ck.querySelectorAll('[data-ck]');
var read = function () {
try {
var c = JSON.parse(localStorage.getItem(KEY));
return c && c.v === 1 && Date.now() - c.t < YEAR ? c : null;
} catch (e) { return null; }
};
var apply = function (c) {
if (typeof window.gtag === 'function') {
window.gtag('consent', 'update', {
analytics_storage: c.analytics ? 'granted' : 'denied',
ad_storage: c.marketing ? 'granted' : 'denied',
ad_user_data: c.marketing ? 'granted' : 'denied',
ad_personalization: c.marketing ? 'granted' : 'denied'
});
}
(window.dataLayer = window.dataLayer || []).push({ event: 'abdrive_consent', analytics: c.analytics, marketing: c.marketing });
};
var settingsMode = function (on) {
cats.hidden = !on;
saveBtn.hidden = !on;
ck.classList.toggle('is-settings', on);
settingsBtn.setAttribute('aria-expanded', on ? 'true' : 'false');
};
var show = function (withSettings) {
var c = read();
boxes.forEach(function (b) { b.checked = !!(c && c[b.dataset.ck]); });
settingsMode(!!withSettings);
ck.hidden = false;
document.body.classList.add('ck-open');
};
var save = function (analytics, marketing) {
var c = { v: 1, t: Date.now(), analytics: analytics, marketing: marketing };
try { localStorage.setItem(KEY, JSON.stringify(c)); } catch (e) {}
apply(c);
ck.hidden = true;
document.body.classList.remove('ck-open');
};
var boxVal = function (name) {
var b = ck.querySelector('[data-ck="' + name + '"]');
return !!(b && b.checked);
};
ck.addEventListener('click', function (e) {
var btn = e.target.closest('[data-ck-action]');
if (!btn) return;
var a = btn.dataset.ckAction;
if (a === 'accept') save(true, true);
else if (a === 'reject') save(false, false);
else if (a === 'save') save(boxVal('analytics'), boxVal('marketing'));
else if (a === 'settings') { settingsMode(true); boxes[0] && boxes[0].focus(); }
});
document.querySelectorAll('[data-cookie-open]').forEach(function (b) {
b.addEventListener('click', function () {
show(true);
var first = ck.querySelector('[data-ck]');
if (first) first.focus();
});
});
if (!read()) show(false);
}
})();