(function ($) {
var AgencyEcommerceThemeLib = {
init: function () {
this.bindEvents();
},
bindEvents: function () {
var $this = this;
$(document).ready(function ($) {
$this.initAccessibility();
$.each($('.main-slider'), function () {
var isDisabled = $(this).attr('data-disable');
if (isDisabled != 1) {
$(this).slick({
prevArrow: '',
nextArrow: '',
autoplay: true,
});
}
});
$.each($('.verticle-slider'), function () {
var number_of_slide = $(this).attr('data-rows');
var isDisabled = $(this).attr('data-disable');
if (isDisabled != 1) {
$(this).slick({
slidesToShow: number_of_slide,
slidesToScroll: 1,
autoplay: true,
vertical: true,
verticalSwiping: true,
arrows: true,
prevArrow: '',
nextArrow: '',
adaptiveHeight: true
});
}
});
$.each($('.ae-list-items'), function () {
var $this_element = $(this);
if ($this_element.attr('data-slick-attr') !== undefined) {
var attr = $this_element.attr("data-slick-attr");
var attr_json = JSON.parse(attr);
if (
$(this).closest('.primary-sidebar').length > 0 ||
$(this).closest('#footer-widgets').length > 0 ||
$(this).closest('.homepage-sidebar').length > 0
) {
attr_json.slidesToScroll = 1;
attr_json.slidesToShow = 1;
delete attr_json.responsive;
}
$this_element.slick(attr_json);
}
});
/*$('.ae-list-items').slick({
lazyLoad: 'ondemand'
});*/
/*$('.ae-advance-posts-section.ae-slick-init .ae-inner').slick({
slidesToShow: 3,
}).on('setPosition', function (event, slick) {
slick.$slides.css('height', slick.$slideTrack.height() + 'px');
});*/
$('#main-nav').meanmenu({
meanScreenWidth: "1050"
});
$this.initScrollToTop();
$this.initCategoryMenu();
$this.initSearch();
$this.initStickySidebar();
$this.cartHover();
$this.searchHolderHeight();
$this.specialMenuChildToggle();
/* $('.ae-product-cat-tab li').on('click', function () {
$this.activeProductCategoryTab($(this));
})*/
});
$(window).resize(function ($) {
$this.cartHover();
$this.searchHolderHeight();
});
$this.listGridView();
},
specialMenuChildToggle: function () {
$('body').on('click', '.ae-special-menu-toggle-child', function (e) {
e.stopPropagation();
e.preventDefault();
});
},
listGridView: function () {
var wrapper = $('.ae-list-grid-switcher');
var class_name = '';
wrapper.find('a').on('click', function () {
var type = $(this).attr('data-type');
switch (type) {
case "list":
class_name = "ae-list-view";
break;
case "grid":
class_name = "ae-grid-view";
break;
default:
class_name = "ae-grid-view";
break;
}
if (class_name != '') {
$(this).closest('#shop-wrap').attr('class', '').addClass(class_name);
$(this).closest('.ae-list-grid-switcher').find('a').removeClass('selected');
$(this).addClass('selected');
}
});
},
initScrollToTop: function () {
// Go to top.
var $scroll_obj = $('#btn-scrollup');
$(window).scroll(function () {
if ($(this).scrollTop() > 100) {
$scroll_obj.fadeIn();
} else {
$scroll_obj.fadeOut();
}
});
$scroll_obj.click(function () {
$('html, body').animate({scrollTop: 0}, 600);
return false;
});
},
initSearch: function () {
$(".search-btn").click(function (e) {
var search_holder = $(this).closest('.search-holder');
if (search_holder.hasClass('open')) {
search_holder.removeClass('open');
search_holder.find(".search-btn i").removeClass('fa-close');
} else {
search_holder.addClass('open');
search_holder.find(".search-btn i").addClass('fa-close');
}
e.preventDefault();
});
},
initStickySidebar: function () {
//sticky sidebar
var main_body_ref = $("body");
if (main_body_ref.hasClass('global-sticky-sidebar')) {
$('#primary, .primary-sidebar').theiaStickySidebar();
}
},
cartHover: function () {
var cart_node = $('.ae-cart-wrapper');
$.each(cart_node, function () {
var window_width = $(window).outerWidth();
var container_width = $('.container').outerWidth();
var cart_content = $(this).find('.ae-cart-content');
var offset = $(this).offset();
var offset_left_from_container = offset.left - $('.container').offset().left;
var cart_content_width = cart_content.outerWidth();
if ((offset_left_from_container + cart_content_width) < container_width) {
cart_content.css({
'left': '0'
});
} else {
cart_content.css({
'right': '0'
});
}
});
},
searchHolderHeight: function () {
var search_holder = $('.search-holder');
$.each(search_holder, function () {
var top_header = $(this).closest('.top-header');
var top_header_height = top_header.outerHeight();
var offset = top_header.offset();
$(this).find('.search-box').css({'top': (top_header_height + 1) + 'px'});
});
},
initCategoryMenu: function () {
var specialMenu = $('.special-menu-container');
specialMenu.find('a.special-menu').on('click', function () {
if ($(this).parent('li').hasClass('active')) {
$(this).parent('li').removeClass('active');
} else {
$(this).parent('li').addClass('active');
}
});
specialMenu.find('ul.special-menu-wrapper.dropdown-enable ul.special-sub-menu').find('li.menu-item-has-children>a').append('');
},
activeProductCategoryTab: function ($tab_item) {
var cat_item_from_tab = $tab_item.attr('data-cat-id');
var product_wrap = $tab_item.closest('.ae-inner').find('.ae-list-grid');
var cat_class = 'ae-cat-id-' + cat_item_from_tab;
$tab_item.closest('ul.ae-product-cat-tab').find('li').removeClass('ae-active');
$tab_item.addClass('ae-active');
if (cat_item_from_tab == "0") {
product_wrap.find('li.product').show();
} else {
product_wrap.find('li.product').hide();
product_wrap.find('li.product').find('.ae-woo-block-wrap.' + cat_class).closest('li.product').show();
}
},
initAccessibility: function () {
var main_menu_container = $('.main-navigation #primary-menu');
var special_menu_container = $('.special-menu-container');
main_menu_container.find('li.menu-item').focusin(function () {
if (!$(this).hasClass('focus')) {
$(this).addClass('focus');
}
});
main_menu_container.find('li.menu-item').focusout(function () {
$(this).removeClass('focus');
});
special_menu_container.find('li.menu-item.menu-item-has-children').focusin(function () {
if (!$(this).hasClass('focus')) {
$(this).addClass('focus');
}
});
special_menu_container.find('li.menu-item.menu-item-has-children').focusout(function () {
$(this).removeClass('focus');
});
}
};
$(function () {
AgencyEcommerceThemeLib.init();
});
})(jQuery);