/* store.js */ /*================== Add to Cart Functions ===============================*/ /* Success */ function AddToBasketCallbackSuccess(){} /* Fail*/ function AddToBasketCallbackFailed(fail_reason){} /*========================================================================*/ /*================== Newsletter Functions ================================*/ /* Success*/ function NewsletterCallbackSuccess(){} /* Fail */ function NewsletterCallbackFailure(fail_reason){} /*========================================================================*/ /*================= Product Details Options onChange =====================*/ function ProductOptionChangedCallback(imgObj){ //This function is called when the shopper selects different options. //It returns an image object containing two images large and small. //imgObj.small = small version of the selected product (and options) //imgObj.large = large version of the selected product (and options) } /*========================================================================*/ (function ($) { "use strict"; // Preloader var $window = $(window); jQuery(window).on("load", function () { $(".loader").delay(1600).fadeOut("slow"); }); // Newsletter Popup $("#nlmOverlay").delay(4800).fadeIn(400); $("#nlmPopup").delay(5000).fadeIn(400); $("#btnClose").on('click',function (e) { HideDialog(); e.preventDefault(); }); function HideDialog() { $("#nlmOverlay").fadeOut(400); $("#nlmPopup").fadeOut(300); } // Product Image Popup $('.product-image').magnificPopup({ delegate: 'img', type: 'image', gallery: { enabled: true }, callbacks: { elementParse: function(qw) { qw.src = qw.el.attr('src'); } } }); // Responsive Menu $('.hamburger').on('click',function (event) { $(this).toggleClass('h-active'); $('.main-nav').toggleClass('slidenav'); }); $('.header-home .main-nav ul li a').on('click',function (event) { $('.hamburger').removeClass('h-active'); $('.main-nav').removeClass('slidenav'); }); $(".main-nav .fl").on('click', function(event) { var $fl = $(this); $(this).parent().siblings().find('.sub-menu').slideUp(); $(this).parent().siblings().find('.megamenu-wrap').slideUp(); $(this).parent().siblings().find('.fl').addClass('flaticon-plus').text("+"); if($fl.hasClass('flaticon-plus')){ $fl.removeClass('flaticon-plus').addClass('flaticon-minus').text("-"); }else{ $fl.removeClass('flaticon-minus').addClass('flaticon-plus').text("+"); } $fl.next(".sub-menu").slideToggle(); $fl.next(".megamenu-wrap").slideToggle(); }); // Toggle menu $(document).ready(function () { $('.first-button').on('click', function () { $('.animated-icon').toggleClass('open'); }); }); // sticky-header $(window).on('scroll',function () { var scroll = $(window).scrollTop(); if (scroll >= 10) { $("header .stickyHeader").addClass("sticky"); } else { $("header .stickyHeader").removeClass("sticky"); } }); // Quantity Value change $(".quantity").on("click", ".plus", function (e) { let $input = $(this).prev("input.qty"); let val = parseInt($input.val()); $input.val(val + 1).change(); }); $(".quantity").on("click", ".minus", function (e) { let $input = $(this).next("input.qty"); var val = parseInt($input.val()); if (val > 0) { $input.val(val - 1).change(); } }); /* magnificPopup img view */ $(".popup-image").magnificPopup({ type: "image", gallery: { enabled: true, }, }); /* magnificPopup video view */ $(".popup-video").magnificPopup({ type: "iframe", }); // Go To Top $(window).on("scroll", function () { var scrolled = $(window).scrollTop(); if (scrolled > 500) $(".top-bottom-scroll").addClass("fixed"); if (scrolled < 500) $(".top-bottom-scroll").removeClass("fixed"); }); $(".top-bottom-scroll i").on('click',function () { $("html, body").animate( { scrollTop: 0, }, "slow" ); return false; }); //Subcategories carousel var subcategoriesDiv = document.getElementById('subcategories_container'); if (subcategoriesDiv) { var wrapper = subcategoriesDiv.querySelector('.subcategories-wrapper'); if (wrapper) { jQuery(wrapper).owlCarousel({ loop: false, margin: 10, items: 1, autoWidth:true, navText: [ '', '', ], center: false, nav: true, dots: false, responsive: { 0: { items: 1, nav: false }, 350: { items: 2, nav: false, margin: 20 }, 767: { items: 3 }, 992: { items: 5 }, 1200: { items: 6 } } }); } } // tabs-area const tabs = document.querySelectorAll("[data-tab-target]"); const tabContents = document.querySelectorAll("[data-tab-content]"); tabs.forEach((tab) => { tab.addEventListener("click", () => { const target = document.querySelector(tab.dataset.tabTarget); tabContents.forEach((tabContent) => { tabContent.classList.remove("active"); }); tabs.forEach((tab) => { tab.classList.remove("active"); }); tab.classList.add("active"); target.classList.add("active"); }); }); /* // accordian const accordianItemHeaders = document.querySelectorAll( ".accordian-item-header" ); accordianItemHeaders.forEach((accordianItemHeader) => { accordianItemHeader.addEventListener("click", () => { const current = document.querySelector(".accordian-item-header.active"); if (current && current !== accordianItemHeader) { current.classList.toggle("active"); current.nextElementSibling.style.maxHeight = 0; } accordianItemHeader.classList.toggle("active"); const accordianItemBody = accordianItemHeader.nextElementSibling; if (accordianItemHeader.classList.contains("active")) { accordianItemBody.style.maxHeight = accordianItemBody.scrollHeight + "px"; } else { accordianItemBody.style.maxHeight = 0; } }); }); */ // imgae-select const activeImage = document.querySelector(".product-image .active"); const productImages = document.querySelectorAll(".product-thumb img"); function changeImage(e) { activeImage.src = e.target.src; } productImages.forEach((image) => image.addEventListener("click", changeImage) ); // for quantity var QtyInput = (function () { var $qtyInputs = $(".qty-input"); if (!$qtyInputs.length) { return; } var $inputs = $qtyInputs.find(".product-qty"); var $countBtn = $qtyInputs.find(".qty-count"); var qtyMin = parseInt($inputs.attr("min")); var qtyMax = parseInt($inputs.attr("max")); $inputs.change(function () { var $this = $(this); var $minusBtn = $this.siblings(".qty-count--minus"); var $addBtn = $this.siblings(".qty-count--add"); var qty = parseInt($this.val()); if (isNaN(qty) || qty <= qtyMin) { $this.val(qtyMin); $minusBtn.attr("disabled", true); } else { $minusBtn.attr("disabled", false); if (qty >= qtyMax) { $this.val(qtyMax); $addBtn.attr("disabled", true); } else { $this.val(qty); $addBtn.attr("disabled", false); } } }); $countBtn.on('click',function () { var operator = this.dataset.action; var $this = $(this); var $input = $this.siblings(".product-qty"); var qty = parseInt($input.val()); if (operator == "add") { qty += 1; if (qty >= qtyMin + 1) { $this.siblings(".qty-count--minus").attr("disabled", false); } if (qty >= qtyMax) { $this.attr("disabled", true); } } else { qty = qty <= qtyMin ? qtyMin : (qty -= 1); if (qty == qtyMin) { $this.attr("disabled", true); } if (qty < qtyMax) { $this.siblings(".qty-count--add").attr("disabled", false); } } $input.val(qty); }); })(); // Header search bar var submitIcon = $('.search-btn i'); var inputBox = $('.searchbox-input'); var searchBox = $('.searchbox'); var isOpen = false; submitIcon.on('click',function(){ if(isOpen == false){ searchBox.addClass('searchbox-open'); submitIcon.attr('class', 'bx bx-x'); inputBox.focus(); isOpen = true; } else { searchBox.removeClass('searchbox-open'); submitIcon.attr('class', 'bx bx-search-alt'); inputBox.focusout(); isOpen = false; } }); submitIcon.on('mouseup',function(){ return false; }); searchBox.on('mouseup',function(){ return false; }); $(document).on('mouseup',function(){ if(isOpen == true){ $('.searchbox-icon').css('display','block'); submitIcon.click(); } }); //post the actual search const searchButton = document.querySelector('.searchbox-submit.searchbox-icon'); const searchInput = document.querySelector('.searchbox-input'); function handleSearch() { const searchValue = searchInput.value.trim(); if (!searchValue) { alert('Please enter a search term.'); return; } const encodedValue = encodeURIComponent(searchValue); window.location.href = '/search/' + encodedValue; } if (searchButton && searchInput) { // Click handler for button searchButton.addEventListener('click', handleSearch); // Enter key handler for input field searchInput.addEventListener('keydown', function (event) { if (event.key === 'Enter') { event.preventDefault(); // prevent form submission if inside a form handleSearch(); } }); } })(jQuery);