/*global $, lang, wwwroot, swal, moment */ function modal_init() { 'use strict'; var mtitle = $('#ajax_modal h1').html(); $('#ajax_modal h1').hide(); $('#modal_title').html(mtitle); $('#ajax_modal .datepicker').datepicker(); $('#ajax_modal .time-mask').mask("99:99"); $('#ajax_modal [data-toggle="tooltip"]').tooltip(); $('#ajax_modal .spz').mask("SS AAAAA"); } function modal_loading() { 'use strict'; $('#modal_title').html('Čakajte prosím'); $('#ajax_modal').html('
'); } if (typeof moment !== 'undefined') { moment.updateLocale('sk'); } function init() { 'use strict'; document.addEventListener('scroll', function (e) { var distanceY = window.pageYOffset || document.documentElement.scrollTop, shrinkOn1 = 50, nav = document.getElementById("top-gun"), body = document.querySelector("body"); if (nav && distanceY > shrinkOn1) { nav.className = "fixed"; body.className = "Site fixed"; } else if (nav) { nav.className = ""; body.className = "Site"; } }, { passive: true }); } window.onload = init(); $(document).ready(function () { 'use strict'; $('.spz').mask("SS AAAAA"); // Zmena typu osoby $("input[name='customer[user_type]']:radio").change(function () { var value = $(this).val(); if (value === "súkromná osoba") { $("#company_data").hide(); } else { $("#company_data").show(); } }); // Zmena platca dph $("input[name='customer[company_vat]']:radio").change(function () { var value = $(this).val(); if (value === "áno") { $("#dic_div").hide(); $("#ic_dph_div").show(); } else { $("#dic_div").show(); $("#ic_dph_div").hide(); } }); // Dorucenie na inu ako fakturacnu adresu $("#other_address").change(function () { var checked = $(this).prop('checked'); if (checked) { $("#shipping_address").show(); } else { $("#shipping_address").hide(); } }); // Iná krajina - fakturacna adresa $("#invoice_country").change(function () { var value = $(this).val(); if (value === 'iná krajina') { $("#invoice_country_other").show(); } else { $("#invoice_country_other").hide(); } }); // Iná krajina - dodacia adresa $("#shipping_country").change(function () { var value = $(this).val(); if (value === 'iná krajina') { $("#shipping_country_other").show(); } else { $("#shipping_country_other").hide(); } }); $('.datepicker').datepicker(); $('.time-mask').mask("99:99"); $('[data-toggle="tooltip"]').tooltip(); $.cookieBar({ fixed: true, bottom: true, message: 'Používaním týchto stránok súhlasíte s používaním cookies, ktoré nám pomáhajú zabezpečiť lepšie služby.', acceptText: 'Rozumiem', zindex: 100, append: true }); $('.match_height').matchHeight(); /* ********************* */ $("a.fancybox").fancybox({ afterClose: function () { setTimeout(function () { if ($('#modal_wrap').css('display') === 'block' && !$('body').hasClass('modal-open')) { $('body').addClass('modal-open'); } }, 1500); } }); /* ********************* */ $("body").delegate("a.external", "click", function () { $(this).attr('target', '_blank').attr('rel', 'noopener'); }); /* MODAL */ $("body").delegate("a.modal-link", "click", function () { var link = $(this).attr('href'); $('#modal_wrap').modal({ backdrop: 'static', keyboard: true }); modal_loading(); $.ajax({ type: "GET", url: link, success: function (html) { $('#ajax_modal').html(html); modal_init(); } }); return false; }); /* AJAX LINK */ $("body").delegate("a.ajax-link", "click", function () { var link = $(this).attr('href'); $('#loading').html('
'); $.ajax({ type: "GET", url: link, dataType: 'json', success: function (response) { $.each(response, function (selector, content) { if (selector === 'action' && content === 'refresh') { setTimeout(function () { location.reload(); }, 500); } else { $(selector).html(content); } }); } }); return false; }); /* AJAX FORM */ $("body").delegate("form.ajax", "submit", function () { var form = $(this); $.ajax({ type: "POST", url: form.attr('action'), data: form.serialize('input.ajax'), dataType: 'json', success: function (response) { $.each(response, function (selector, html) { if (selector === 'action' && html === 'refresh') { setTimeout(function () { location.reload(); }, 1000); } else if (selector === 'remove') { $.each(html, function (key, remove_id) { $(remove_id).remove(); }); } else if (selector === 'action' && html === 'close') { $('#modal_wrap, #modal_servis').modal('hide'); } else if (selector === 'redirect') { window.location.replace(html); } else { $(selector).html(html); } }); modal_init(); } }); return false; }); /* /AJAX FORM */ /* ************************************************************* */ $("body").delegate("select.variant", "change", function () { var $form = $(this).closest('form'); $.ajax({ type: "POST", url: $form.attr('action'), data: $form.serialize() + '&add[variants]=1', dataType: 'json', success: function (response) { $.each(response, function (selector, content) { $(selector).html(content); }); } }); }); /* ************************************************************* */ $("body").delegate("form.variants", "submit", function (e) { e.preventDefault(); var form = $(this); $.ajax({ type: "POST", url: form.attr('action'), data: form.serialize(), dataType: 'json', success: function (response) { $.each(response, function (selector, content) { if (selector === 'redirect') { window.location.replace(content); } else { $(selector).html(content); } }); } }); }); /* ************************************************************* */ $("#cart").delegate("select.qty, input.shipping, input.payment", "change", function () { var $form = $('#cart'); $.ajax({ type: "POST", url: $form.attr('action'), data: $form.serialize(), dataType: 'json', success: function (response) { $.each(response, function (selector, content) { if (selector === 'offer_servis' && content === 1) { var link = wwwroot + 'servis?ref=nakupny-kosik'; $('#modal_servis').modal({ backdrop: 'static', keyboard: true }); $.ajax({ type: "GET", url: link, success: function (html) { $('#ajax_modal_servis').html(html); var mstitle = $('#ajax_modal_servis h1').html(); $('#ajax_modal_servis h1').hide(); $('#modal_servis_title').html(mstitle); $('form#reservForm').addClass('ajax'); $("body").delegate("select#typ_servisu", "change", function () { var data_string = 'typ_servisu=' + $(this).val(); $.ajax({ type: "POST", url: wwwroot + 'servis/terms', data: data_string, dataType: 'json', success: function (response) { $('#free_terms').html(response.free_terms); $('#druh_vozidla_select').html(response.druh_vozidla_select); } }); return false; }); $('#modal_servis').on('hidden.bs.modal', function (e) { $.ajax({ type: "GET", url: wwwroot + 'nakupny-kosik?offer_servis=2', }); }); } }); } else { $(selector).html(content); } }); } }); }); /* ************************************************************* */ // RANGE SLIDERS /* ************************************************************* */ var $range = $(".js-range-slider"); var $filters_form = $range.closest("form.filters"); var btnClass = 'animated tada'; var formUrl = $filters_form.attr('action'); var formData = $filters_form.serialize(); $range.ionRangeSlider({ postfix: " €", onFinish: function (data) { $('#price_from').html(data.from); $('#price_to').html(data.to); formData = $filters_form.serialize(); $filters_form.find('select, button').prop('disabled', true); $.ajax({ type: "POST", url: formUrl, data: formData + '&range=1', dataType: 'json', success: function (response) { $filters_form.find('select, button').prop('disabled', false); window.history.pushState('page2', 'Title', response.url); $.each(response, function (selector, content) { $(selector).html(content); }); $('#filters-btn').addClass(btnClass).one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function () { $(this).removeClass(btnClass); }); } }); } }); let my_range = $range.data("ionRangeSlider"); /* ************************************************************* */ // FORM FILTERS (CATEGORY, SEARCH) /* ************************************************************* */ $("body").delegate("form.filters select, form.filters input:checkbox", "change", function () { var btnClass = 'animated tada', $form = $(this).closest("form.filters"), formData = $form.serialize(); $form.find('select, button').prop('disabled', true); $.ajax({ type: "POST", url: $form.attr('action'), data: formData + '&range=0', dataType: 'json', success: function (response) { $form.find('select, button').prop('disabled', false); window.history.pushState('page2', 'Title', response.url); $.each(response, function (selector, content) { if (selector == 'range_slider') { my_range.update({ min: content.min, max: content.max, from: content.from, to: content.to }); } else { $(selector).html(content); } }); $form.find('button').addClass(btnClass).one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function () { $(this).removeClass(btnClass); }); $('[data-toggle="tooltip"]').tooltip(); } }); }); /* ************************************************************* */ /*$("body").delegate("form.filters select", "change", function () { var btnClass = 'animated tada', form = $(this).closest("form"), formData = form.serialize(); form.find('select').prop('disabled', true); form.find('button').prop('disabled', true); $.ajax({ type: "POST", url: form.attr('action'), data: formData, dataType: 'json', success: function (response) { $.each(response, function (selector, content) { $(selector).html(content); }); form.find('button').addClass(btnClass).one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function () { $(this).removeClass(btnClass); }); } }); });*/ /*$("body").delegate("form.product-selector select", "change", function () { formData = $filters_form.serialize(); $('form.product-selector select').prop('disabled', true); $('form.product-selector button').prop('disabled', true); $.ajax({ type: "POST", url: formUrl, data: formData, dataType: 'json', success: function (response) { $.each(response, function (selector, content) { $(selector).html(content); }); $('#filters-btn').addClass(btnClass).one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function () { $(this).removeClass(btnClass); }); } }); });*/ /* ************************************************************* */ // HOME PAGE filter var form_selector = '.home-filters'; $("body").delegate(form_selector + " select", "change", function () { var btnClass = 'animated tada', form = $(this).closest("form"), formData = form.serialize(); form.find('select').prop('disabled', true); form.find('button').prop('disabled', true); $.ajax({ type: "POST", url: wwwroot, data: formData, dataType: 'json', success: function (response) { $.each(response, function (selector, content) { $(selector).html(content); }); form.find('button').prop('disabled', false).addClass(btnClass).one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function () { $(this).removeClass(btnClass); }); } }); }); /* ************************************************************* */ $("body").delegate("form.cart", "submit", function () { var form = $(this); $.ajax({ type: "POST", url: form.attr('action'), data: form.serialize(), dataType: 'json', success: function (response) { $.each(response, function (selector, content) { // presmerovanie na kosik if (selector === 'location') { window.location.href = wwwroot + content; } else if (selector === 'alert') { // zobrazenie medziokna swal({ title: content.title, html: content.text, showCloseButton: true, showConfirmButton: false, width: 600, animation: false, customClass: 'animated fadeInDownBig' }, function (isConfirm) { if (!isConfirm) { window.location.href = wwwroot + "nakupny-kosik"; } }); $('[data-toggle="tooltip"]').tooltip(); } else { // nastavenie html do zvoleneho prvku $(selector).html(content); } }); } }); return false; }); /* *** */ $('.carousel-brands').slick({ slidesToShow: 7, slidesToScroll: 1, autoplay: true, autoplaySpeed: 2000, arrows: true, dots: false, pauseOnHover: true, pauseOnFocus: false, prevArrow: '', nextArrow: '', responsive: [{ breakpoint: 768, settings: { slidesToShow: 3 } }, { breakpoint: 520, settings: { slidesToShow: 2 } }] }); /* *** */ });