jQuery(function($){
cart_improvement_functions();
cart_dropdown_improvement();
track_ajax_add_to_cart();
if($.fn.avia_sc_slider){
$(".shop_slider_yes ul").avia_sc_slider({ appendControlls: false, group: true, slide: '.product', arrowControll: true, autorotationInterval: 'parent' });
}
$('body.single-product').on('click', '.single-product-main-image .avia-wc-30-product-gallery-lightbox', function(e){
e.preventDefault();
var clicked=$(this),
container=clicked.parents('.single-product-main-image'),
img=container.find('.flex-active-slide a.lightbox-added').eq(0);
if(img.length==0){
img=container.find('a.lightbox-added').eq(0);
}
if(clicked.hasClass('av-remove-size-attr') ){
let img_tag=img.find('img').eq(0);
if(img_tag.length){
img_tag.removeAttr('sizes');
}}
img.trigger('click');
});
product_add_to_cart_click();
function avia_apply_quant_btn(){
$(".quantity input[type=number]").each(function(){
var number=$(this),
current_val=number.val(),
cloned=number.clone(true);
if(( 'undefined'==typeof(current_val) )||(''==(current_val + '').trim()) ){
var placeholder=cloned.attr('placeholder');
placeholder=(( 'undefined'==typeof(placeholder) )||(''==(placeholder + '').trim()) ) ? 1:placeholder;
cloned.attr('value', placeholder);
}
var	max=parseFloat(number.attr('max') ),
min=parseFloat(number.attr('min') ),
step=parseInt(number.attr('step'), 10),
newNum=cloned.insertAfter(number);
newNum.addClass('no-spin-num');
number.remove();
setTimeout(function(){
var minus=null,
plus=null;
if(newNum.next('.plus').length===0){
minus=$('<input type="button" value="-" class="minus">').insertBefore(newNum),
plus=$('<input type="button" value="+" class="plus">').insertAfter(newNum);
}else{
minus=newNum.prev('.minus');
plus=newNum.next('.plus');
}
minus.on('click', function(){
var the_val=parseInt(newNum.val(), 10);
if(isNaN(the_val) ){
the_val=0;
}
let new_step=parseInt(newNum.attr('step'), 10);
if(isNaN(new_step) ){
new_step=step;
}
the_val -=new_step;
the_val=the_val < 0 ? 0:the_val;
the_val=the_val < min ? min:the_val;
newNum.val(the_val).trigger("change");
});
plus.on('click', function(){
var the_val=parseInt(newNum.val(), 10);
if(isNaN(the_val) ){
the_val=0;
}
let new_step=parseInt(newNum.attr('step'), 10);
if(isNaN(new_step) ){
new_step=step;
}
the_val +=new_step;
the_val=the_val > max ? max:the_val;
newNum.val(the_val).trigger("change");
});
}, 10);
});
}
avia_apply_quant_btn();
$(document).on('updated_cart_totals', avia_apply_quant_btn);
setTimeout(first_load_amount, 10);
$('body').on('added_to_cart', update_cart_dropdown);
$('body').on('wc_fragments_refreshed', avia_cart_dropdown_changed);
$('.avia_mobile .sort-param').on('touchstart', function(){});
function routeSorting(){
let links=$('.avia-product-sorting .avia-product-sorting-link');
links.on('click', function(){
let el=$(this),
href=el.attr('data-href'),
li=el.closest('li');
if(li.hasClass('current-param')){
return;
}
if('undefined'!=typeof href&&''!=href){
window.location.href=href;
}});
}
routeSorting();
});
function avia_cart_dropdown_changed(){
var the_html=jQuery('html'),
cart=jQuery('body').is('.woocommerce-cart'),
cart_counter=jQuery('.cart_dropdown .av-cart-counter'),
menu_cart=jQuery('.cart_dropdown'),
counter=0,
wc30=jQuery('body').hasClass('avia-woocommerce-30');
if(! cart){
return;
}
if(! wc30){
menu_cart.find('.cart_list li .quantity').each(function(){
counter +=parseInt(jQuery(this).text(), 10);
});
}else{
counter=parseInt(cart_counter.text(), 10);
}
if(counter==0){
cart_counter.removeClass('av-active-counter').text(counter);
setTimeout(function(){ the_html.removeClass('html_visible_cart'); }, 200);
}
else if(( cart_counter.length > 0)&&(counter > 0) ){
setTimeout(function(){
cart_counter.addClass('av-active-counter').text(counter);
the_html.addClass('html_visible_cart');
}, 10);
}
return;
}
function update_cart_dropdown(event){
var the_html=jQuery('html'),
menu_cart=jQuery('.cart_dropdown'),
cart_counter=jQuery('.cart_dropdown .av-cart-counter'),
empty=menu_cart.find('.empty'),
msg_success=menu_cart.data('success'),
product=jQuery.extend({name:"Product", price:"", image:""}, avia_clicked_product),
counter=0,
wc30=jQuery('body').hasClass('avia-woocommerce-30');
if(cart_counter.length==0){
return;
}
if(( empty.length > 0)&&('undefined'!=typeof event) ){
the_html.addClass('html_visible_cart');
}
if(typeof event!=='undefined'){
var header=jQuery('.html_header_sticky #header_main .cart_dropdown_first, .html_header_sidebar #header_main .cart_dropdown_first'),
oldTemplates=jQuery('.added_to_cart_notification').trigger('avia_hide'),
template=jQuery("<div class='added_to_cart_notification'><span class='avia-arrow'></span><div class='added-product-text'><strong>\"" + product.name +"\"</strong> "+ msg_success+ "</div> " + product.image +"</div>").css('opacity', 0);
if(! header.length){
header='body';
}
template.on('mouseenter avia_hide', function(){
template.animate({opacity:0, top: parseInt(template.css('top'), 10) + 15 }, function(){
template.remove();
});
}).appendTo(header).animate({opacity:1},500);
setTimeout(function(){
template.trigger('avia_hide');
}, 2500);
}
if('object'==typeof event&&'added_to_cart'==event.type&&wc30){
return;
}
setTimeout(function(){
if(! wc30){
menu_cart.find('.cart_list li .quantity').each(function(){
counter +=parseInt(jQuery(this).text(), 10);
});
}else{
counter=cart_counter.text();
}
if(( cart_counter.length > 0)&&(counter > 0)){
setTimeout(function(){
cart_counter.addClass('av-active-counter').text(counter);
}, 10);
}}, 300);
}
var avia_clicked_product={};
function track_ajax_add_to_cart(){
jQuery('body').on('click','.add_to_cart_button', function(e){
var productContainer=jQuery(this).parents('.product').eq(0),
product={};
product.name=productContainer.find('.woocommerce-loop-product__title').text();
product.image=productContainer.find('.thumbnail_container img');
product.price=productContainer.find('.price .amount').last().text();
if(product.name===""){
product.name=productContainer.find('.inner_product_header h3').text();
}
if(productContainer.length===0){
productContainer=jQuery(this);
product.name=productContainer.find('.av-cart-update-title').text();
product.image=productContainer.find('.av-cart-update-image');
product.price=productContainer.find('.av-cart-update-price').text();
}
if(product.image.length){
product.image="<img class='added-product-image' src='" + product.image.get(0).src + "' title='' alt='' />";
}else{
product.image="";
}
avia_clicked_product=product;
});
}
function first_load_amount(){
var counter=0,
limit=15,
ms=500,
check=function(){
var new_total=jQuery('.cart_dropdown .dropdown_widget_cart').eq(0).find('.total .amount');
if(new_total.length){
update_cart_dropdown();
}else{
counter++;
if(counter < limit){
setTimeout(check, ms);
}}
};
check();
if(jQuery('.av-display-cart-on-load').length&&jQuery('.woocommerce-message').length===0){
var dropdown=jQuery('.cart_dropdown');
setTimeout(function(){
dropdown.trigger('mouseenter');
}, 500);
setTimeout(function(){
dropdown.trigger('mouseleave');
}, 2500);
}}
function product_add_to_cart_click(){
var jbody=jQuery('body'),
catalogue=jQuery('.av-catalogue-item'),
loader=false;
if(catalogue.length){
loader=jQuery.avia_utilities.loading();
}
jbody.on('click', '.add_to_cart_button', function(e){
var button=jQuery(this);
button.parents('.product').eq(0).addClass('adding-to-cart-loading').removeClass('added-to-cart-check');
if(button.is('.av-catalogue-item')){
loader.show();
}
var $html=jQuery('html');
if(! $html.hasClass('html_visible_cart') ){
$html.addClass('html_visible_cart');
}});
jbody.on('added_to_cart', function(){
jQuery('.adding-to-cart-loading').removeClass('adding-to-cart-loading').addClass('added-to-cart-check');
if(loader!==false){
loader.hide();
}});
}
function cart_improvement_functions(){
jQuery('.product_type_downloadable, .product_type_virtual').addClass('product_type_simple');
jQuery('.woocommerce-tabs .tabs a').addClass('no-scroll');
jQuery('.single-product-main-image>.images a').attr('rel','product_images[grouped]');
}
function cart_dropdown_improvement(){
var dropdown=jQuery('.cart_dropdown'),
icon=dropdown.find('.cart_dropdown_link'),
subelement=dropdown.find('.dropdown_widget').css({display:'none', opacity:0});
icon.on('focus', function(){
dropdown.trigger('mouseenter');
}).on('blur', function(){
dropdown.trigger('mouseleave');
});
dropdown.on('mouseenter', function(){
const content=dropdown.find('.widget_shopping_cart_content');
if(jQuery.trim(content.html()).length){
subelement.css({display:'block'}).stop().animate({opacity:1});
}}).on('mouseleave', function(){
subelement.stop().animate({opacity:0}, function(){ subelement.css({display:'none'});});
});
};