// source --> https://sagrinex.com/wp-content/plugins/partdo-core/woocommerce-filter/ajax-search/js/ajax-search.js 
jQuery(document).ready(function($) {
	"use strict";
	
	$('header form.search-form, .search-holder-form form.search-form ').addClass('klb-ajax-search');

	var searchform = $('form.klb-ajax-search');
	var searchselect = $('form.klb-ajax-search select');
	var searchinput = $('form.klb-ajax-search input[type="search"]');
	var searchbutton = $('form.klb-ajax-search button');
	var timeout;

	$(document).on('change', 'form.klb-ajax-search select', function(){
		$(this).closest('form.klb-ajax-search').find('input[type="search"]').keyup();
	});
	
	$(document).on('keyup', searchinput, function(event){
		event.preventDefault();

		if($(event.target).val().length < 3){
			return false;
		}
		
		if(timeout) {
			clearTimeout(timeout);
		}
		timeout = setTimeout(function() {
			var data = {
				cache: false,
				type: 'POST',
				action: 'ajax_search',
				beforeSend: function() {
					$(event.target).closest(searchform).find(searchbutton).append('<svg class="loader-image preloader" width="65px" height="65px" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg"><circle class="path" fill="none" stroke-width="6" stroke-linecap="round" cx="33" cy="33" r="30"></circle></svg></div>');
					$(event.target).closest(searchform).addClass('search-loading');
				},
				keyword: $(event.target).val(),
				selected_cat: $(event.target).closest(searchform).find('option:selected').val(),
				
			};

			// since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php
			$.post(partdosearch.ajaxurl, data, function(response) {

				$(".klb-search-results").remove();
				$(event.target).closest(searchform).find(searchinput).after('<div class="klb-search-results">' + response + '</div>');

				$(searchform).removeClass('search-loading');
				$(".loader-image").remove();

			});
		}, 500);	
		
    });	
	
	// hide search result box if click outside
	$(document).on('click touch', function(e) {
		// check if ajax is enabled
		if ($('.klb-search-results').length) {
			// show search result when click input
			if($(e.target).is('select')){
				$('.klb-search-results').show();
				return false;
			}
			
			if($(e.target).is('[type="search"]')){
				$('.klb-search-results').show();
				return false;
			}
			
			// hide search result box if click outside
			if ($(e.target).closest($('.klb-search-results')).length == 0) {
				$('.klb-search-results').hide();
			}
		}
	});
	

});
// source --> https://sagrinex.com/wp-content/plugins/partdo-core/woocommerce-filter/product-box-variable/js/product-box-variable.js 
(function ($) {
  "use strict";

	$(document).on('partdoShopPageInit', function () {
		woocommerceProductBoxVariableAjax();
	});

	function woocommerceProductBoxVariableAjax() {
		// Klb Notice
		$('body').append('<div class="klb-notice-ajax"></div>');
	
		
		$('.products .product a.product_type_variable').on('click', function(e) {
			e.preventDefault();
			setTimeout(() => {
				$(this).closest('.product').find('.variations_form button.single_add_to_cart_button').trigger('click');
			}, 10);
		});
		
		// AJax single add to cart
		$('.products .product form.variations_form').on('submit', function(e) {

			e.preventDefault();

			var form = $(this);

			var formData = new FormData(form[0]);
			formData.append('add-to-cart', form.find('[name=add-to-cart]').val() );
			formData.append('klb-product-box-variable', form.find('[name=add-to-cart]').val() );

			// Ajax action.
			$.ajax({
				url: wc_add_to_cart_params.wc_ajax_url.toString().replace( '%%endpoint%%', 'partdo_add_to_cart_variable_archive' ),
				data: formData,
				type: 'POST',
				processData: false,
				contentType: false,
				beforeSend: function() {
					form.closest('.product').find('a.product_type_variable').addClass('loading');
				},
				complete: function( response ) {

					response = response.responseJSON;

					// Redirect to cart option
					if ( wc_add_to_cart_params.cart_redirect_after_add === 'yes' ) {
						window.location = wc_add_to_cart_params.cart_url;
						return;
					}

					if ( ! response ) {
						return;
					}

					if ( response.error && response.product_url ) {
						window.location = response.product_url;
						return;
					}

					var $thisbutton = form.find('.single_add_to_cart_button'); //
					// $thisbutton = null; // uncomment this if you don't want the 'View cart' button

					// Trigger event so themes can refresh other areas.
					$( document.body ).trigger( 'added_to_cart', [ response.fragments, response.cart_hash, $thisbutton ] );

					$(response.fragments.notices_html).appendTo('.klb-notice-ajax').delay(3000).fadeOut(300, function(){ $(this).remove();});

					//Close icon
					$('.woocommerce-message, .woocommerce-error').append('<div class="klb-notice-close"><i class="klb-icon-xmark-thin"></i></div>');
					$('.klb-notice-close').on('click', function(){
						$(this).closest('.woocommerce-message, .woocommerce-error').remove();
					});
					
					form.closest('.product').find('a.product_type_variable').removeClass('loading');

					
				},
				dataType: 'json'
			});
		});
	}
	
	$(document).ready(function() {
		woocommerceProductBoxVariableAjax();
	});
	
}(jQuery));
// source --> https://sagrinex.com/wp-content/themes/partdo/includes/pjax/js/helpers.js 
var partdoThemeModule = {};
/* global partdo_settings */

(function($) {

	partdoThemeModule.$window = $(window);

	partdoThemeModule.$document = $(document);

	partdoThemeModule.$body = $('body');


	
})(jQuery);