/* 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);