Files
drmaterac.pl/themes/leo_gstore/assets/js/custom.js
2025-09-19 14:28:11 +02:00

1183 lines
30 KiB
JavaScript

/*
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*/
/*
* Custom code goes here.
* A template should always ship with an empty custom.js
*/
//DONGND:: create option for slick slider of modal popup at product page
var options_modal_product_page = {
speed: 300,
dots: false,
infinite: false,
slidesToShow: 4,
slidesToScroll: 1,
vertical: true,
verticalSwiping: true,
responsive: [
{
breakpoint: 1200,
settings: {
slidesToShow: 3,
slidesToScroll: 1,
},
},
{
breakpoint: 992,
settings: {
slidesToShow: 2,
slidesToScroll: 1,
},
},
{
breakpoint: 768,
settings: {
slidesToShow: 2,
slidesToScroll: 1,
},
},
{
breakpoint: 576,
settings: {
slidesToShow: 1,
slidesToScroll: 1,
},
},
{
breakpoint: 480,
settings: {
slidesToShow: 2,
slidesToScroll: 1,
},
},
{
breakpoint: 400,
settings: {
slidesToShow: 1,
slidesToScroll: 1,
},
},
],
}
//DONGND:: create option for slick slider of quickview
var options_quickview = {
speed: 300,
dots: false,
infinite: false,
slidesToShow: 4,
slidesToScroll: 1,
vertical: true,
verticalSwiping: true,
responsive: [
{
breakpoint: 1200,
settings: {
slidesToShow: 4,
slidesToScroll: 1,
},
},
{
breakpoint: 992,
settings: {
slidesToShow: 3,
slidesToScroll: 1,
},
},
{
breakpoint: 768,
settings: {
slidesToShow: 4,
slidesToScroll: 1,
},
},
{
breakpoint: 576,
settings: {
slidesToShow: 3,
slidesToScroll: 1,
},
},
{
breakpoint: 480,
settings: {
slidesToShow: 2,
slidesToScroll: 1,
},
},
],
}
$(window).resize(function () {
//DONGND:: fix zoom, only work at product page
if (prestashop.page.page_name == 'product') restartElevateZoom()
//DONGND:: fix lost slider of modal when resize
if (
$('#product-modal .product-images').hasClass('slick-initialized') &&
$('#product-modal .product-images').height() == 0
) {
//DONGND:: setup slide for product thumb (modal)
$('#product-modal .product-images').slick('unslick')
$('#product-modal .product-images').hide()
initSlickProductModal()
}
})
$(document).ready(function () {
floatHeader()
backtotop()
//check page product only
if (prestashop.page.page_name == 'product') {
innitSlickandZoom()
}
if (prestashop.page.page_name == 'category') {
setDefaultListGrid()
}
if (typeof products_list_functions != 'undefined') {
for (var i = 0; i < products_list_functions.length; i++) {
products_list_functions[i]()
}
}
//DONGND:: update for order page - tab adress, when change adress, block adress change class selected
$('.address-item .radio-block').click(function () {
if (!$(this).parents('.address-item').hasClass('selected')) {
$('.address-item.selected').removeClass('selected')
$(this).parents('.address-item').addClass('selected')
}
})
//DONGND:: loading quickview
actionQuickViewLoading()
prestashop.on('updateProductList', function () {
actionQuickViewLoading()
})
prestashop.on('updatedProduct', function () {
if ($('.quickview.modal .product-thumb-images').length) {
//DONGND:: run slick slider for product thumb - quickview
initSlickProductQuickView()
} else if ($('.product-detail .product-thumb-images').length) {
//DONGND:: re-call setup slick when change attribute at product page
innitSlickandZoom()
}
})
//DONGND:: display modal by config
if (typeof $('#content').data('templatemodal') != 'undefined') {
if (!$('#content').data('templatemodal')) {
$('div[data-target="#product-modal"]').hide()
}
}
//DONGND:: create demo product detail from megamenu
$('.demo-product-detail a').click(function (e) {
if (!$(this).hasClass('updated')) {
e.preventDefault()
var current_url = window.location.href
if (
prestashop.page.page_name == 'product' &&
current_url.indexOf('.html') >= 0
) {
var link_href = $(this).attr('href')
var layout_key_index = link_href.indexOf('?layout=')
var layout_key_value = link_href.substring(layout_key_index)
current_url = current_url.substring(0, current_url.indexOf('.html'))
var new_url = current_url + '.html' + layout_key_value
window.location.href = new_url
}
}
})
})
function innitSlickandZoom() {
if ($('#main').hasClass('product-image-thumbs')) {
//DONGND:: setup slide for product thumb (main)
$('.product-detail .product-thumb-images').imagesLoaded(function () {
if (typeof check_loaded_main_product != 'undefined') {
clearInterval(check_loaded_main_product)
}
check_loaded_main_product = setInterval(function () {
if ($('.product-detail .product-thumb-images').height() > 0) {
$('.product-detail .product-thumb-images').fadeIn()
clearInterval(check_loaded_main_product)
postion = $('#content').data('templateview')
//DONGND:: add config for over 1200 extra large
numberimage = $('#content').data('numberimage')
numberimage1200 = $('#content').data('numberimage1200')
numberimage992 = $('#content').data('numberimage992')
numberimage768 = $('#content').data('numberimage768')
numberimage576 = $('#content').data('numberimage576')
numberimage480 = $('#content').data('numberimage480')
numberimage360 = $('#content').data('numberimage360')
if (postion !== 'undefined') {
initSlickProductThumb(
postion,
numberimage,
numberimage1200,
numberimage992,
numberimage768,
numberimage576,
numberimage480,
numberimage360
)
}
}
}, 300)
})
//DONGND:: setup slide for product thumb (modal)
initSlickProductModal()
}
//call action zoom
applyElevateZoom()
}
function restartElevateZoom() {
$('.zoomContainer').remove()
applyElevateZoom()
}
function applyElevateZoom() {
if (
$(window).width() <= 991 ||
$('#content').data('templatezoomtype') == 'none'
) {
//DONGND:: remove elevateZoom on mobile
if ($('#main').hasClass('product-image-gallery')) {
if ($('img.js-thumb').data('elevateZoom')) {
var ezApi = $('img.js-thumb').data('elevateZoom')
ezApi.changeState('disable')
$('img.js-thumb').unbind('touchmove')
}
} else {
if ($('#zoom_product').data('elevateZoom')) {
var ezApi = $('#zoom_product').data('elevateZoom')
ezApi.changeState('disable')
$('#zoom_product').unbind('touchmove')
}
}
return false
}
//check if that is gallery, zoom all thumb
//DONGND:: fix zoom, create config
var zt = $('#content').data('templatezoomtype')
var zoom_cursor
var zoom_type
var scroll_zoom = false
var lens_FadeIn = 200
var lens_FadeOut = 200
var zoomWindow_FadeIn = 200
var zoomWindow_FadeOut = 200
var zoom_tint = false
var zoomWindow_Width = 400
var zoomWindow_Height = 400
var zoomWindow_Position = 1
if (zt == 'in') {
zoom_cursor = 'crosshair'
zoom_type = 'inner'
lens_FadeIn = false
lens_FadeOut = false
} else {
zoom_cursor = 'default'
zoom_type = 'window'
zoom_tint = true
zoomWindow_Width = $('#content').data('zoomwindowwidth')
zoomWindow_Height = $('#content').data('zoomwindowheight')
if ($('#content').data('zoomposition') == 'right') {
//DONGND:: update position of zoom window with ar language
if (prestashop.language.is_rtl == 1) {
zoomWindow_Position = 11
} else {
zoomWindow_Position = 1
}
}
if ($('#content').data('zoomposition') == 'left') {
//DONGND:: update position of zoom window with ar language
if (prestashop.language.is_rtl == 1) {
zoomWindow_Position = 1
} else {
zoomWindow_Position = 11
}
}
if ($('#content').data('zoomposition') == 'top') {
zoomWindow_Position = 13
}
if ($('#content').data('zoomposition') == 'bottom') {
zoomWindow_Position = 7
}
if (zt == 'in_scrooll') {
//DONGND:: scroll to zoom does not work on IE
var ua = window.navigator.userAgent
var old_ie = ua.indexOf('MSIE ')
var new_ie = ua.indexOf('Trident/')
if (old_ie > 0 || new_ie > 0) {
// If Internet Explorer, return version number
scroll_zoom = false
} // If another browser, return 0
else {
scroll_zoom = true
}
}
}
if ($('#main').hasClass('product-image-gallery')) {
lens_FadeIn = false
lens_FadeOut = false
zoomWindow_FadeIn = false
zoomWindow_FadeOut = false
}
var zoom_config = {
responsive: true,
cursor: zoom_cursor,
scrollZoom: scroll_zoom,
scrollZoomIncrement: 0.1,
zoomLevel: 1,
zoomType: zoom_type,
gallery: 'thumb-gallery',
lensFadeIn: lens_FadeIn,
lensFadeOut: lens_FadeOut,
zoomWindowFadeIn: zoomWindow_FadeIn,
zoomWindowFadeOut: zoomWindow_FadeOut,
zoomWindowWidth: zoomWindow_Width,
zoomWindowHeight: zoomWindow_Height,
borderColour: '#888',
borderSize: 2,
zoomWindowOffetx: 0,
zoomWindowOffety: 0,
zoomWindowPosition: zoomWindow_Position,
tint: zoom_tint,
}
if ($('#main').hasClass('product-image-gallery')) {
$('img.js-thumb').each(function () {
var parent_e = $(this).parent()
$(this).attr('src', parent_e.data('image'))
$(this).data('type-zoom', parent_e.data('zoom-image'))
})
if ($.fn.elevateZoom !== undefined) {
$('img.js-thumb').elevateZoom(zoom_config)
//DONGND:: fix click a thumb replace all image and add fancybox
$('img.js-thumb').bind('click', function (e) {
var ez = $(this).data('elevateZoom')
$.fancybox(ez.getGalleryList())
return false
})
}
} else {
if ($.fn.elevateZoom !== undefined) {
$('#zoom_product').elevateZoom(zoom_config)
//pass the images to Fancybox
$('#zoom_product').bind('click', function (e) {
var ez = $('#zoom_product').data('elevateZoom')
$.fancybox(ez.getGalleryList())
return false
})
}
}
}
function initSlickProductThumb(
postion,
numberimage,
numberimage1200,
numberimage992,
numberimage768,
numberimage576,
numberimage480,
numberimage360
) {
var vertical = true
var verticalSwiping = true
//DONGND:: update for rtl
var slick_rtl = false
if (postion == 'bottom') {
vertical = false
verticalSwiping = false
}
if (postion == 'none') {
vertical = false
verticalSwiping = false
numberimage =
numberimage1200 =
numberimage992 =
numberimage768 =
numberimage576 =
numberimage480 =
numberimage360 =
1
}
//DONGND:: update for rtl
if (!vertical && prestashop.language.is_rtl == 1) {
slick_rtl = true
}
var slider = $('#thumb-gallery')
slider.slick({
speed: 300,
dots: false,
infinite: false,
slidesToShow: numberimage,
vertical: vertical,
verticalSwiping: verticalSwiping,
slidesToScroll: 1,
rtl: slick_rtl,
responsive: [
{
breakpoint: 1200,
settings: {
slidesToShow: numberimage1200,
slidesToScroll: 1,
},
},
{
breakpoint: 992,
settings: {
slidesToShow: numberimage992,
slidesToScroll: 1,
},
},
{
breakpoint: 768,
settings: {
slidesToShow: numberimage768,
slidesToScroll: 1,
},
},
{
breakpoint: 576,
settings: {
slidesToShow: numberimage576,
slidesToScroll: 1,
},
},
{
breakpoint: 480,
settings: {
slidesToShow: numberimage480,
slidesToScroll: 1,
},
},
{
breakpoint: 360,
settings: {
slidesToShow: numberimage360,
slidesToScroll: 1,
},
},
],
})
$('#thumb-gallery').show()
if (postion == 'none') {
var slickInstance = slider[0]
var slides = $(slickInstance.slick.$slides)
var positionStart = findPosition(slides)
var slideCount = slickInstance.slick.slideCount
//DONGND:: update slick for case without thubms
if (positionStart + 1 == slideCount) {
$('.arrows-product-fake .slick-next').addClass('slick-disabled')
} else if (positionStart == 0) {
$('.arrows-product-fake .slick-prev').addClass('slick-disabled')
}
// active image first load
slider.slick('slickGoTo', positionStart)
$('.arrows-product-fake .slick-next').on('click', function () {
if (!$(this).hasClass('slick-disabled')) {
$('.arrows-product-fake .slick-prev').removeClass('slick-disabled')
var positionCurrent = findPosition(slides)
if (positionCurrent + 1 < slideCount) {
$(slides[positionCurrent]).removeClass('active')
$(slides[positionCurrent + 1]).addClass('active')
$(slides[positionCurrent + 1])
.find('img')
.trigger('click')
slider.slick('slickNext')
if (positionCurrent + 1 == slideCount - 1) {
$(this).addClass('slick-disabled')
}
}
}
})
$('.arrows-product-fake .slick-prev').on('click', function () {
if (!$(this).hasClass('slick-disabled')) {
$('.arrows-product-fake .slick-next').removeClass('slick-disabled')
var positionCurrent = findPosition(slides)
if (positionCurrent > 0) {
$(slides[positionCurrent]).removeClass('active')
$(slides[positionCurrent - 1]).addClass('active')
$(slides[positionCurrent - 1])
.find('img')
.trigger('click')
slider.slick('slickPrev')
if (positionCurrent - 1 == 0) {
$(this).addClass('slick-disabled')
}
}
}
})
}
}
function findPosition(slides) {
var position
for (var i = 0; i < slides.length; i++) {
if ($(slides[i]).hasClass('active')) {
position = $(slides[i]).data('slick-index')
return position
}
}
}
//DONGND:: loading quickview
function actionQuickViewLoading() {
/*$('.quick-view').click(function (e) {
e.preventDefault()
if (!$(this).hasClass('active')) {
$(this).addClass('active')
$(this).find('.leo-quickview-bt-loading').css({ display: 'block' })
$(this).find('.leo-quickview-bt-content').hide()
if (typeof check_active_quickview != 'undefined') {
clearInterval(check_active_quickview)
}
check_active_quickview = setInterval(function () {
if ($('.quickview.modal').length) {
$('.quickview.modal').on('hide.bs.modal', function (e) {
$('.quick-view.active').find('.leo-quickview-bt-loading').hide()
$('.quick-view.active').find('.leo-quickview-bt-content').show()
$('.quick-view.active').removeClass('active')
})
clearInterval(check_active_quickview)
//DONGND:: run slick for product thumb - quickview
initSlickProductQuickView()
}
}, 300)
}
})*/
}
$(document).on('click', '.leo_grid', function (e) {
e.preventDefault()
$('#js-product-list .product_list').removeClass('list')
$('#js-product-list .product_list').addClass('grid')
$(this).parent().find('.leo_list').removeClass('selected')
$(this).addClass('selected')
var configName = LEO_COOKIE_THEME + '_grid_list'
$.cookie(configName, 'grid', { expires: 1, path: '/' })
})
$(document).on('click', '.leo_list', function (e) {
e.preventDefault()
$('#js-product-list .product_list').removeClass('grid')
$('#js-product-list .product_list').addClass('list')
$(this).parent().find('.leo_grid').removeClass('selected')
$(this).addClass('selected')
var configName = LEO_COOKIE_THEME + '_grid_list'
$.cookie(configName, 'list', { expires: 1, path: '/' })
})
function setDefaultListGrid() {
if ($.cookie(LEO_COOKIE_THEME + '_grid_list') == 'grid') {
$('.leo_grid').trigger('click')
}
if ($.cookie(LEO_COOKIE_THEME + '_grid_list') == 'list') {
$('.leo_list').trigger('click')
}
}
function processFloatHeader(headerAdd, scroolAction) {
//DONGND:: hide search result when enable float header
if ($('.ac_results').length) {
$('.ac_results').hide()
}
if (headerAdd) {
$('#header').addClass('navbar-fixed-top')
var hideheight = $('#header').height() + 120
$('#page').css('padding-top', $('#header').height())
setTimeout(function () {
$('#page').css('padding-top', $('#header').height())
}, 200)
} else {
$('#header').removeClass('navbar-fixed-top')
$('#page').css('padding-top', '')
}
var pos = $(window).scrollTop()
if (scroolAction && pos >= hideheight) {
$('.header-nav').addClass('hide-bar')
$('.hide-bar').css('margin-top', -$('.header-nav').height())
$('#header').addClass('mini-navbar')
} else {
$('.header-nav').removeClass('hide-bar')
$('.header-nav').css('margin-top', 0)
$('#header').removeClass('mini-navbar')
}
}
//Float Menu
function floatHeader() {
if (!$('body').hasClass('keep-header') || $(window).width() <= 990) {
return
}
$(window).resize(function () {
if ($(window).width() <= 990) {
processFloatHeader(0, 0)
} else if ($(window).width() > 990) {
if ($('body').hasClass('keep-header')) processFloatHeader(1, 1)
}
})
var headerScrollTimer
$(window).scroll(function () {
if (headerScrollTimer) {
window.clearTimeout(headerScrollTimer)
}
headerScrollTimer = window.setTimeout(function () {
if (!$('body').hasClass('keep-header')) return
if ($(window).width() > 990) {
processFloatHeader(1, 1)
}
}, 100)
})
}
// Back to top
function backtotop() {
$('#back-top').hide()
$(window).scroll(function () {
if ($(this).scrollTop() > 100) {
$('#back-top').fadeIn()
} else {
$('#back-top').fadeOut()
}
})
// scroll body to 0px on click
$('#back-top a').click(function () {
$('body,html').animate(
{
scrollTop: 0,
},
800
)
return false
})
}
//DONGND:: build slick slider for quickview
function initSlickProductQuickView() {
$('.quickview.modal .product-thumb-images').imagesLoaded(function () {
if (typeof check_loaded_thumb_quickview != 'undefined') {
clearInterval(check_loaded_thumb_quickview)
}
check_loaded_thumb_quickview = setInterval(function () {
if ($('.quickview.modal .product-thumb-images').height() > 0) {
$('.quickview.modal .product-thumb-images').fadeIn()
clearInterval(check_loaded_thumb_quickview)
$('.quickview.modal .product-thumb-images').slick(options_quickview)
}
}, 300)
})
}
//DONGND:: build slick slider for modal - product page
function initSlickProductModal() {
$('#product-modal .product-images').imagesLoaded(function () {
if (typeof check_loaded_thumb_modal != 'undefined') {
clearInterval(check_loaded_thumb_modal)
}
check_loaded_thumb_modal = setInterval(function () {
if ($('#product-modal .product-images').height() > 0) {
$('#product-modal .product-images').fadeIn()
clearInterval(check_loaded_thumb_modal)
$('#product-modal .product-images').slick(options_modal_product_page)
}
}, 300)
})
}
//DONGND: fix base prestashop
$(document).ready(function () {
//DONGND: remove css inline of label
$('.product-flag').removeAttr('style')
prestashop.on('updateProductList', function () {
//DONGND: remove css inline of label
$('.product-flag').removeAttr('style')
})
})
//Fix translate button choose file to upload: change "Choose file" to choosefile_text
//Fix filter (category page) does not work on IE change dataset.searchUrl to getAttribute('data-search-url')
const menuElements = document.querySelectorAll('.nav.megamenu.horizontal li')
const bodyContainer = document.querySelector('body#index')
const removeActive = () => {
for (const menuElement of menuElements) {
menuElement.classList.remove('active')
}
}
window.addEventListener('DOMContentLoaded', (event) => {
if (bodyContainer != null) {
removeActive()
}
const labelNope = document.querySelector(
'.PM_ASBlockOutputVertical label[for="as4c_9_116"] a'
)
if (labelNope) {
labelNope.innerHTML = 'nie'
}
})
$(document).on(
'change',
'.product-variants [data-product-attribute]',
function (event) {
var query =
$(event.target.form).serialize() + '&ajax=1&action=productrefresh'
var actionURL = $(event.target.form).attr('action')
$.post(actionURL, query, null, 'json').then(function (resp) {
var productUrl = resp.productUrl
$.post(productUrl, { ajax: '1', action: 'refresh' }, null, 'json').then(
function (resp) {
console.log('test')
window.location.href = productUrl
}
)
})
}
)
// const rodzajLabel = document.querySelector('.category-id-45 .PM_ASBlockOutputVertical .PM_ASCriterionsGroup:first-child .PM_ASCriterionsGroupTitle span');
// if(rodzajLabel) {
// console.log(rodzajLabel);
// rodzajLabel.innerHTML = 'Producent';
// }
const aliorCalc = document.querySelector('#raty_alior')
if (aliorCalc) {
const productPrice = document
.querySelector('.product-prices .current-price span[itemprop="price"]')
.getAttribute('content')
let aliorUrl = aliorCalc.getAttribute('href')
aliorUrl += '?cartValue=' + productPrice
aliorCalc.setAttribute('href', aliorUrl)
}
// const scrollButton = document.querySelector('.js-scroll-trigger');
// if(scrollButton) {
// console.log('scroll');
// var scroll = new SmoothScroll('.js-scroll-trigger', {
// offset: 240,
// });
// }
// $(document).ready(function(){
// if($(".block-promo .cart-voucher").length) {
// $(".block-promo .cart-voucher .promo-code-button.display-promo .collapse-button").on("click", function(e){
// e.preventDefault();
// $("#promo-code").addClass('in')
// })
// }
// })
$(document).ready(function () {
if ($('#buy-by-phone-popup').length) {
var buyByPhonePopup = $('#buy-by-phone-popup')
$('#buy_by_phone_btn').on('click', function (e) {
$('#buy-by-phone-popup').find('input[name="buy-by-phone-name"]').val('')
$('#buy-by-phone-popup').find('input[name="buy-by-phone-phone"]').val('')
$('#buy-by-phone-popup').find('input[name="contact-time"]').val('')
$('#buy-by-phone-popup').find('input[name="product-name"]').val('')
$('#buy-by-phone-popup').find('input[name="shipping-address"]').val('')
$('#buy-by-phone-popup').find('input[name="phone-for-courier"]').val('')
$('#buy-by-phone-popup').find('input[name="email"]').val('')
$('#buy-by-phone-popup').find('input[name="comments-to-order"]').val('')
$('#buy-by-phone-popup .popup-footer').empty()
$('#buy-by-phone-popup')
.find('input[name="polityka"]')
.prop('checked', false)
buyByPhonePopup.addClass('active')
})
$('.close-popup', buyByPhonePopup).on('click', function (e) {
e.preventDefault()
buyByPhonePopup.removeClass('active')
})
$('.close-popup-alert', buyByPhonePopup).on('click', function (e) {
e.preventDefault()
$('.popup-alert', buyByPhonePopup).removeClass('active')
})
$('#buy-by-phone-form-btn').on('click', function (e) {
e.preventDefault()
$('#buy-by-phone-popup .popup-footer').empty()
var name = $('#buy-by-phone-popup')
.find('input[name="buy-by-phone-name"]')
.val()
var phone = $('#buy-by-phone-popup')
.find('input[name="buy-by-phone-phone"]')
.val()
var contact_time = $('#buy-by-phone-popup')
.find('input[name="contact-time"]')
.val()
var politics = $('#buy-by-phone-popup')
.find('input[name="polityka"]')
.prop('checked')
if (!phone) {
popupAlert('<p>Proszę wypełnić wymagane pola formularza</p>')
return
}
if (!politics) {
popupAlert('<p>Proszę wypełnić wymagane pola formularza</p>')
return
}
$(this).prop('disabled', true)
var formData = $('#buy-by-phone-form').serialize()
$.ajax({
type: 'POST',
url: '/buy-by-phone.php',
data: formData,
success: function (response) {
popupAlert(response)
$('#buy-by-phone-form-btn').prop('disabled', false)
setTimeout(function () {
buyByPhonePopup.removeClass('active')
}, 5000)
},
error: function () {
popupAlert('<p>Wystąpił błąd podczas wysyłania danych</p>')
$('#buy-by-phone-form-btn').prop('disabled', false)
},
})
})
function popupAlert(text) {
$('.popup-alert', buyByPhonePopup).addClass('active')
$('.popup-alert .popup-alert-data', buyByPhonePopup).empty()
$('.popup-alert .popup-alert-data', buyByPhonePopup).append(text)
setTimeout(function () {
$('.popup-alert', buyByPhonePopup).removeClass('active')
}, 3000)
}
}
})
$(document).ready(function () {
$('.acc_component li .acc_head').on('click', function (e) {
var $currentItem = $(this).parent()
$('.acc_component li')
.not($currentItem)
.removeClass('active')
.find('.acc_body')
.slideUp(250)
$currentItem.toggleClass('active')
$currentItem.find('.acc_body').slideToggle(250)
})
})
$(document).ready(function () {
$('body').on('click', '#franczyza_form button.send-form', function (e) {
e.preventDefault()
var form_name = $('#franczyza_form input[name="name"]').val()
var form_email = $('#franczyza_form input[name="email"]').val()
var form_phone = $('#franczyza_form input[name="phone"]').val()
var form_marketing = $('#franczyza_form input[name="marketing"]').is(
':checked'
)
var form_location = $('#franczyza_form input[name="location"]').val()
if (
form_name != '' &&
form_email != '' &&
form_phone != '' &&
form_marketing != ''
) {
$.ajax({
type: 'POST',
cache: false,
url: '/franczyza-contact.php',
data: {
form_name: form_name,
form_email: form_email,
form_phone: form_phone,
form_marketing: form_marketing,
form_location: form_location,
},
beforeSend: function () {
$('#franczyza_form .form-info').empty()
$('#franczyza_form .loader').show()
$('#franczyza_form button.send-form').prop('disabled', true)
$('#franczyza_form button.send-form').hide()
},
success: function (data) {
response = jQuery.parseJSON(data)
$('#franczyza_form button.send-form').prop('disabled', false)
$('#franczyza_form .loader').hide()
$('#franczyza_form button.send-form').show()
$('#franczyza_form .form-info').html(
`<p class="${response.status}">${response.message}</p>`
)
},
})
} else {
$('#franczyza_form .form-info').html(
`<p class="error">Proszę wypełnić wszystkie wymagane pola w formularzu</p>`
)
}
})
})
$(document).ready(function () {
if ($('#box-accessories-slider').length) {
var accessoriesSlider = $('#box-accessories-slider')
var accessoriesVisible = false
$('#box-product-accessories .buy-protector-btn').on('click', function () {
if (!accessoriesVisible) {
$('#box-accessories-slider').slideDown()
accessoriesSlider.slick({
infinite: true,
slidesToShow: 2,
slidesToScroll: 1,
})
accessoriesVisible = true
} else {
$('#box-accessories-slider').slideUp()
accessoriesSlider.slick('unslick')
accessoriesVisible = false
}
})
}
})
$(document).ready(function () {
if ($('#featured-products-box').length) {
var featuredSlider = $('#featured-products-box')
$('.featured-products-box-slider', featuredSlider).slick({
infinite: false,
slidesToShow: 4,
slidesToScroll: 4,
responsive: [
{
breakpoint: 992,
settings: {
slidesToShow: 3,
slidesToScroll: 3,
},
},
{
breakpoint: 768,
settings: {
slidesToShow: 2,
slidesToScroll: 2,
},
},
{
breakpoint: 480,
settings: {
slidesToShow: 1,
slidesToScroll: 1,
},
},
],
})
}
})
$(document).ready(function () {
var scrollPosition = $(window).scrollTop()
var headerNav = $('#header')
$(window).scroll(function (event) {
scrollPosition = $(window).scrollTop()
if (scrollPosition > 0) {
$(headerNav).addClass('fixed')
} else {
$(headerNav).removeClass('fixed')
}
})
})
$(document).ready(function () {
$('.nav-item.parent.dropdown').on('mouseenter', function () {
var $submenu = $(this).find('.dropdown-menu')
if ($submenu.length) {
$submenu.css({ left: '', right: '', transform: '' })
var submenuRect = $submenu[0].getBoundingClientRect()
var windowWidth = $(window).width()
if (submenuRect.right > windowWidth) {
$submenu.attr(
'style',
'left: 50% !important; right: auto !important; transform: translateX(-50%) !important;'
)
} else if (submenuRect.left < 0) {
$submenu.attr(
'style',
'left: 50% !important; right: auto !important; transform: translateX(-50%) !important;'
)
} else {
$submenu.css({ left: '', right: '', transform: '' })
}
}
})
})
prestashop.on('updateCart', function (event) {
// np. aktualizacja DOM lub całkowity reload:
location.reload() // najprostsze rozwiązanie
})
// $(document).ready(function () {
// $('article.product-miniature .product-image a').each(function () {
// const $a = $(this)
// const $span = $('<span>')
// $.each(this.attributes, function () {
// if (this.specified) {
// $span.attr(this.name, this.value)
// }
// })
// $span.html($a.html())
// $a.replaceWith($span)
// })
// })
$(document).ready(function () {
var $widget = $('.box-ekomi-widget')
$widget.css('position', 'relative').prepend(`
<div class="preloader">
<div class="spinner owl-carousel owl-loading"></div>
<div class="preloader-text">Ładowanie recenzji, prosimy o chwilę cierpliwości…</div>
</div>
`)
function watchSlickTrack() {
var $slickTrack = $widget.find('.slick-track')
if ($slickTrack.length) {
var observer = new MutationObserver(function (mutationsList) {
mutationsList.forEach(function (mutation) {
if (
mutation.type === 'attributes' &&
mutation.attributeName === 'style'
) {
var transform = $slickTrack.css('transform')
if (transform && transform !== 'none') {
setTimeout(function () {
$widget.find('.preloader').fadeOut(500)
observer.disconnect()
}, 500)
}
}
})
})
observer.observe($slickTrack[0], {
attributes: true,
attributeFilter: ['style'],
})
} else {
setTimeout(watchSlickTrack, 200)
}
}
watchSlickTrack()
setTimeout(function () {
$widget.find('.preloader').fadeOut(500)
}, 10000)
})
$(document).ready(function () {
$('body').on(
'click',
'#box-product-accessories .buy-protector-btn',
function (e) {
let selectedSize = $(
'#add-to-cart-or-refresh .product-variants .product-variants-item select#group_3 option:selected'
)
.text()
.trim()
localStorage.removeItem('selectedSize')
localStorage.setItem('selectedSize', JSON.stringify(selectedSize))
}
)
if (localStorage.getItem('selectedSize')) {
let savedSize = JSON.parse(localStorage.getItem('selectedSize'))
let $select = $(
'#add-to-cart-or-refresh .product-variants .product-variants-item select#group_3'
)
$select.find('option').each(function () {
if ($(this).text().trim() === savedSize) {
$(this).prop('selected', true).trigger('change')
return false
}
})
localStorage.removeItem('selectedSize')
}
})