// source --> https://www.lesmillepots.fr/wp-content/themes/hello-elementor-child/js/MSW_script.js?ver=97606ac7a9bf3f827314a728024685e0&#039; defer  
jQuery(document).ready(function($) {

	//Création du carousel de produits page accueil
	if ( $( "body" ).hasClass('home') && $( "body #carousel_produits_accueil" ).length )
	{
		$( "body #carousel_produits_accueil li" ).addClass('swiper-slide');
		
		var mySwiper = new Swiper('#carousel_produits_accueil.swiper-container' , {
			breakpoints: {
				0: {
				  slidesPerView: 1,
				  slidesPerGroup: 1,
				  loopedSlides:1,
				  loopAdditionalSlides: 1,
				},
				450: {
				  slidesPerView: 2,
				  slidesPerGroup: 1,
				  loopedSlides:1,
				  loopAdditionalSlides: 2,
				},
				768: {
				  slidesPerView: 3,
				  slidesPerGroup: 1,
				  loopedSlides: 1,
				  loopAdditionalSlides: 3,
				},
				1024: {
				  slidesPerView: 4,
				  slidesPerGroup: 2,
				  loopedSlides: 2,
				  loopAdditionalSlides: 4,
				},
			},
			loop: true,
			// observer: true,
			// observeParents: true,
			// watchSlidesProgress: true,
			// watchSlidesVisibility: true,
			// loopFillGroupWithBlank: true,
			updateOnWindowResize: true,
			preloadImages: false,
			freeModeMomentumRatio: 0.7,
			freeModeMomentumVelocityRatio: 0.7,
			releaseOnEdges: true,
			grabCursor: true,
			navigation: {
				nextEl: '.MSW-swiper-button-next',
				prevEl: '.MSW-swiper-button-prev',
			},
			pagination: {
				el: '.MSW-swiper-pagination',
				type: 'bullets',
				clickable: true,
			},
		});

	}
	
	//Modifier le Swiper des rayons page accueil
	elementorFrontend.on('components:init', function () {

		if ( ! $( "body" ).hasClass('elementor-editor-active') && $( "body" ).hasClass('home') )
		{
			setTimeout(function() {

				const oldSwiper = jQuery('#rayons_accueil .swiper-container'),
				swiperInstance = oldSwiper.data('swiper');
				swiperInstance.destroy (true, true);

				var mySwiper = new Swiper('#rayons_accueil .swiper-container', {
					breakpoints: {
						0: {
						  slidesPerView: 1,
						  slidesPerGroup: 1,
						  loopedSlides:1,
						  loopAdditionalSlides: 1,
						},
						768: {
						  slidesPerView: 2,
						  slidesPerGroup: 2,
						  loopedSlides: 2,
						  loopAdditionalSlides: 2,
						},
						
					},
					loop: true,
					autoHeight: true,
					updateOnWindowResize: true,
					freeModeMomentumRatio: 0.7,
					freeModeMomentumVelocityRatio: 0.7,
					releaseOnEdges: true,
					grabCursor: true,
					navigation: {
						nextEl: '.elementor-swiper-button-next',
						prevEl: '.elementor-swiper-button-prev',
					},
					pagination: {
						el: '.swiper-pagination',
						type: 'bullets',
						clickable: true,
					},
				});
			
			}, 100); 
		}
	});
	
	
	
	//Déplacer la colonne recherche_header dans le DOM responsive
	DeplacerRechercheHeader();
	
	$( window ).resize(function() {
		DeplacerRechercheHeader();
	});
	
	function DeplacerRechercheHeader()
	{
		if ( window.matchMedia("(max-width: 1024px)").matches )
		{
			if ( $( "#bandeau_footer #recherche_header" ).length ) $( ".elementor-location-header #recherche_header" ).insertAfter('.elementor-location-header #menu_header');
		}
		else
		{
			if ( ! $( "#bandeau_footer #recherche_header" ).length ) $( ".elementor-location-header #recherche_header" ).insertAfter('.elementor-location-header #social_header');
		}
	}
	
	//Ajouter des icônes au menu header principal
	// AddImageToMenu(true);

	// function AddImageToMenu( first_load )
	// {
		// if (window.matchMedia("(min-width: 768px)").matches) var class_nav = 'elementor-nav-menu--main';
		// else var class_nav = 'elementor-nav-menu--dropdown';

		// if ( first_load == false ) var sub_arrow = '<span class="sub-arrow"><i class="fa"></i></span>';
		// else var sub_arrow = '';

		//Ajouter des icônes aux sous menu
		// $('nav.'+class_nav+' ul li.menu-item-7328 a').first().html( '<img src="https://www.lesmillepots.fr/wp-content/uploads/2020/11/pates-les-mille-pots-epicerie-vrac-molsheim-70x79.png" /><span>épicerie salée</span>' );
		// $('nav.'+class_nav+' ul li.menu-item-8026 a').first().html( '<img src="https://www.lesmillepots.fr/wp-content/uploads/2020/11/pots-les-mille-pots-epicerie-vrac-molsheim-70x82.png" /><span>épicerie sucrée</span>' );
		// $('nav.'+class_nav+' ul li.menu-item-8031 a').first().html( '<img src="https://www.lesmillepots.fr/wp-content/uploads/2020/11/fromage-les-mille-pots-epicerie-vrac-molsheim-70x56.png" /><span>frais</span>' );
		// $('nav.'+class_nav+' ul li.menu-item-8027 a').first().html( '<img src="https://www.lesmillepots.fr/wp-content/uploads/2020/11/poire-les-mille-pots-epicerie-vrac-molsheim-70x96.png" /><span>fruits</span>' );
		// $('nav.'+class_nav+' ul li.menu-item-8028 a').first().html( '<img src="https://www.lesmillepots.fr/wp-content/uploads/2020/11/potiron-les-mille-pots-epicerie-vrac-molsheim-70x75.png" /><span>légumes</span>' );
		// $('nav.'+class_nav+' ul li.menu-item-8029 a').first().html( '<img src="https://www.lesmillepots.fr/wp-content/uploads/2020/11/pots-les-mille-pots-epicerie-vrac-molsheim-70x82.png" /><span>fruits secs</span>' );
		// $('nav.'+class_nav+' ul li.menu-item-8030 a').first().html( '<img src="https://www.lesmillepots.fr/wp-content/uploads/2020/11/pots-les-mille-pots-epicerie-vrac-molsheim-70x82.png" /><span>boisson</span>' );
		// $('nav.'+class_nav+' ul li.menu-item-7329 a').first().html( '<img src="https://www.lesmillepots.fr/wp-content/uploads/2020/11/savon-les-mille-pots-epicerie-vrac-molsheim-70x75.png" /><span>hygiène</span>' );
		// $('nav.'+class_nav+' ul li.menu-item-7330 a').first().html( '<img src="https://www.lesmillepots.fr/wp-content/uploads/2020/11/pots-les-mille-pots-epicerie-vrac-molsheim-70x82.png" /><span>animaux</span>' );
		// $('nav.'+class_nav+' ul li.menu-item-7150 a').first().html( '<img src="https://www.lesmillepots.fr/wp-content/uploads/2020/11/pots-les-mille-pots-epicerie-vrac-molsheim-70x82.png" /><span>divers</span>' );

	// }
	
	//Ouvrir la box code promo au clic sur la blockquote CE pour appliquer une remise
	$(document).on("click", "#container_blockquote_clients_CE a.lien_coupon" , function( e ) {
		$('#sidebar_cart .container_coupon .coupon').addClass('active');
	});
	
	//Vérifier les champs professionnels à l'inscription utilisateur si un compte pro est demandé (trigger MSW_add_custom_validation)
	//L'ajout du champ entreprise se fait dans functions.php car on doit load la liste des entreprises CE
	$(document.body).on('MSW_add_custom_validation', function( e, target ) {
		if ( $( target+"form.xoo-el-action-form select[name='xoo_el_reg_nom_entreprise']" ).val() == '0' )
		{
			$( target+"form.xoo-el-action-form .xoo-aff-group.xoo_el_reg_nom_entreprise" ).addClass('invalide');
			if ( ! $( "form.xoo-el-action-form .xoo-aff-group.xoo_el_reg_nom_entreprise .xoo-error-notice" ).length ) $( target+"form.xoo-el-action-form .xoo-aff-group.xoo_el_reg_nom_entreprise" ).append('<div class="xoo-error-notice">Le nom de l\'entreprise est obligatoire.</div>');
		}
		else $( target+"form.xoo-el-action-form .xoo-aff-group.xoo_el_reg_nom_entreprise" ).removeClass('invalide');
	});

	//Ajouter un bouton pour les clients pros
	if ( ! $( "body" ).hasClass('logged-in') )
	{
		$('.xoo-el-action-form.xoo-el-form-register').before('<div class="text_center"><a href="javascript:void(0)" id="register_pros" class="is_particulier bouton" >Je m\'inscris via un CE</a></div>');
	}

	//Afficher le nombre d'avis dans le tableau d'onglet au niveau du titre
	if( $('body').hasClass('single-product') )
	{
		if ( $('#summarize_avis_single_product .glsr-summary-text span').length )
		{
			var nb_avis = $('#summarize_avis_single_product .glsr-summary-text span').html();
			nb_avis = nb_avis.replace('(' , ''); nb_avis = nb_avis.replace(' avis)' , '');
		}
		else nb_avis = 0;

		var tab_avis = $('#MSW_tab_product #single_product_avis').closest('.contenu').attr('id');
		tab_avis = tab_avis.replace ('contenu_' , '');
		
		$( "#MSW_tab_product #tab_"+tab_avis+" a" ).html('Avis ('+nb_avis+')');
	}
	
	//Ouvrir l'onglet des avis produit si le clic vient d'un mail indiquant qu'une réponse à été publiée
	if( $( "#MSW_tab_product" ).length && $('body').hasClass('single-product') && window.location.hash == '#commentaires')
	{
		setTimeout(function() {
			var num_tab = $('#MSW_tab_product #single_product_avis').closest('.contenu').attr('id');
			num_tab = num_tab.replace ('contenu_' , '');
			
			$( "#MSW_tab_product div" ).removeClass('active');
			$( "#MSW_tab_product #tab_"+num_tab ).addClass('active');
			$( "#MSW_tab_product #contenu_"+num_tab ).addClass('active');
			
			jQuery('html, body').animate({
				scrollTop: jQuery('#MSW_tab_product').offset().top - 50
			});  
		}, 400); 
	}
	
	//Ouvrir l'onglet pour laisser un avis produit si le clic vient d'un mail de demande d'avis produit
	if( $( "#MSW_tab_product" ).length && $('body').hasClass('single-product') && window.location.hash == '#repondre')
	{
		setTimeout(function() {
			var num_tab = $('#MSW_tab_product #single_product_laisser_avis').closest('.contenu').attr('id');
			num_tab = num_tab.replace ('contenu_' , '');
			
			$( "#MSW_tab_product div" ).removeClass('active');
			$( "#MSW_tab_product #tab_"+num_tab ).addClass('active');
			$( "#MSW_tab_product #contenu_"+num_tab ).addClass('active');
			
			jQuery('html, body').animate({
				scrollTop: jQuery('#MSW_tab_product').offset().top - 50
			});  
		}, 400); 
	}
	
	//Ouvrir l'onglet des avis produit si l'ancre #scroll_to_comments est cliquée
	$(document).on("click", "a#scroll_to_comments" , function( e ) {
		var num_tab = $('#MSW_tab_product #single_product_avis').closest('.contenu').attr('id');
		num_tab = num_tab.replace ('contenu_' , '');
		
		$( "#MSW_tab_product div" ).removeClass('active');
		$( "#MSW_tab_product #tab_"+num_tab ).addClass('active');
		$( "#MSW_tab_product #contenu_"+num_tab ).addClass('active');
		
		jQuery('html, body').animate({
			scrollTop: jQuery('#MSW_tab_product').offset().top - 50
		});  
	});
	
	//Rediriger vers la bonne page après soumission du formulaire de filtre blog
	$('#MSW_form_filter_blog').submit(function() {

		var type_categorie = $(".container_filtre select#categorie_article").val();
		
		if ( type_categorie == '' ) var url = "https://www.lesmillepots.fr/les-actualites-des-mille-pots/";
		else var url = "https://www.lesmillepots.fr/les-actualites-des-mille-pots/"+type_categorie+"/";

		$(this).attr( 'action', url );
		return true;
	});
	
	//Ouvrir automatiquement le bloc de l'évènement Amelia
	if ( $( "body" ).hasClass('single-evenements') )
	{
		var checkAmeliaIsLoad = setInterval(function() {
			if ($('.container_section_CPT.MSW_amelia .am-event').length) 
			{
				clearInterval(checkAmeliaIsLoad);

				setTimeout(function () {
					$('.container_section_CPT.MSW_amelia .am-event').addClass('am-active');
					$('.container_section_CPT.MSW_amelia .am-event div:nth-child(2)').css('display' , 'inline-block');
				} , 200);
		   }
	
		}, 300); // check every 300ms
	}

	//Déplacer le logo en dernier <li> dans le menu mobile
	$( ".elementor-location-header nav:not(.elementor-nav-menu--layout-horizontal) ul li.menu-item-7543" ).insertAfter( ".elementor-location-header nav:not(.elementor-nav-menu--layout-horizontal) ul li.menu-item-7548" );

	//Actualiser l'encart point fidélité page panier on cart update
	$( document.body ).on( 'updated_cart_totals', function(){

		if ( $( ".container_coupon_fidelite" ).length > 0 )
		{
			var cas = $( ".container_coupon_fidelite .fidelite input[name=\"MSW_case\"]" ).val();

			//Si le coupon a du être supprimé, on reload la page
			if (cas == 1)
			{
				var isset_coupon = false;
				$( ".cart_totals tr.cart-discount td" ).each(function( e ) { if ( $(this).attr('data-title') == 'Fidélité' ) isset_coupon = true; });
				if ( isset_coupon == false ) setTimeout(function () { window.location.reload(); } , 800);
			}

			//On change le contenu que dans le cas 2 (si user a des points et est connecté)
			if (cas == 2)
			{
				var nb_points = parseInt( $( ".container_coupon_fidelite .fidelite input[name=\"MSW_nb_points\"]" ).val() );

				if ( nb_points >= 200 )
				{
					var total_cart = $('.cart_totals table tr.order-total td span.woocommerce-Price-amount bdi').html();
					total_cart = Math.floor( parseFloat(total_cart.replace ('<span class="woocommerce-Price-currencySymbol">€</span>' , '')) );

					// alert(total_cart);
					
					if ( total_cart >=6)
					{
						$( ".woocommerce .sidebar_cart .container_coupon_fidelite .fidelite form.ywpar_apply_discounts" ).css('display','block');
						
						var nb_tranche_possible = parseInt (nb_points/200);
						while (nb_tranche_possible*6 > total_cart ) nb_tranche_possible--;
						
						var max_points = nb_tranche_possible*200;
						var max_discount = nb_tranche_possible*6;
						
						$( ".container_coupon_fidelite .fidelite .texte p" ).html('Utilisez ' + max_points + ' points pour déduire <strong>' + max_discount.toFixed(2) + '€</strong> de votre commande.');
						$( ".container_coupon_fidelite .fidelite form input[name=\"ywpar_points_max\"]").val(max_points);
						$( ".container_coupon_fidelite .fidelite form input[name=\"ywpar_max_discount\"]").val(max_discount);
						$( ".container_coupon_fidelite .fidelite form input[name=\"ywpar_input_points\"]").val(max_points);
												
					}
					else
					{
						$( ".woocommerce .sidebar_cart .container_coupon_fidelite .fidelite form.ywpar_apply_discounts" ).css('display','none');
						
						var output_fidelite = '<p>Votre panier doit être supérieur à 6€ pour pouvoir utiliser vos points fidélité.</p>';
						$( ".container_coupon_fidelite .fidelite .texte" ).html(output_fidelite);
					}	
				}
			}	
		}	
	});
	
	//Actualiser le montant de la fidélité gagnée page panier si user update cart
	$('body').on('updated_cart_totals', function(){
		var new_subtotal = $('.cart_totals table tr.order-total td span.woocommerce-Price-amount bdi').html();
		new_subtotal = Math.floor( parseFloat(new_subtotal.replace ('<span class="woocommerce-Price-currencySymbol">€</span>' , '')) );

		$('.container_points_gagnes .points_gagnes p span.points_gagnes').html(new_subtotal+' points');
	});

	//Affichage de l'overlay quand on est dans le <ul> de sous catégorie
	$(".nav_cat nav ul li").on({
		mouseover: function () {
			$(".nav_cat nav ul li").css('z-index' , '4');
			$('#MSW_overlay').addClass('nobefore');
			$('#MSW_overlay').css({'background-color':'rgba(0,0,0,0.5)','max-height': '2000px'});
		},
		mouseout: function () {
			$(".nav_cat nav ul li").css('z-index' , '1');
			$('#MSW_overlay').css({'background-color':'transparent','max-height': '0px'});
			$('#MSW_overlay').removeClass('nobefore');
		}
	});
	
	//Affichage des sous catégories sur PC on hover
	$( ".nav_cat nav ul li" ).hover(function(){
		$(this).find('ul').css({'transition-duration':'0.5s','max-height': '600px'});
	}, function(){
		$(this).find('ul').css({'transition-duration':'0s','max-height': '0px'});
    });
	
	$( ".nav_cat nav ul li").on("touchend", function(e) {
		e.preventDefault();
	});
	
	var dragging = false;
	
	//Prevent touchend si l'utilisateur move et ne touch pas le lien
	$( ".nav_cat nav ul li a").on("touchmove", function(e) {
		dragging = true;
	});
	
	$( ".nav_cat nav ul li a").on("touchstart", function(e) {
		dragging = false;
	});
	
	//Affichage des sous catégories sur tablette et mobile on touchend
	$( ".nav_cat nav ul li a").on("touchend", function(e) {
		e.preventDefault();

		if ( dragging == false )
		{
			var link = $(this).attr('href');
			
			if ( $(this).closest('li').hasClass('cat_parent') && $(this).hasClass('on') && window.location.href != link ) window.location = link;
			else if ( $(this).closest('li').hasClass('cat_parent') && $(this).closest('li').find('ul').length == 0 ) window.location = link;
			else if ( $(this).closest('li').hasClass('cat_enfant') && window.location.href != link ) window.location = link;
			else
			{
				$( ".nav_cat nav ul li a").removeClass('on');
				$(this).addClass('on');
				$(this).closest('li.cat_parent').find('a').first().addClass('on');
				
				if ( window.matchMedia("(max-width: 767px)").matches ) $( 'html, body' ).animate({ scrollTop: $(this).closest('li.cat_parent').offset().top - 70, }, 200);
				else $( 'html, body' ).animate({ scrollTop: $('#menu_produits').offset().top }, 200);
			}
		}
		
		return false;
	});

});