PageSourceSearch

https://www.nickbronson.com/wp-content/themes/drile/js/main.js?ver=1.1.9

js nickbronson.com collected 2026-10-07 03:38:38 UTC 47,422 bytes, 1,399 lines download raw bytes

1jQuery(function($){
2	"use strict";
3	var on_touch = !$('body').hasClass('ts_desktop');
4	
5	/** Remove loading from fullwidth row **/
6	$(document).on('vc-full-width-row-single', function(e, data){
7		data.el.removeClass('loading');
8	});
9	
10	/** Mega menu **/
11	ts_mega_menu_change_state();
12	$('.widget_nav_menu .menu-item-has-children .sub-menu').before('<span class="ts-menu-drop-icon"></span>');
13	
14	/** Menu on IPAD **/
15	if( on_touch || $(window).width() < 768 ){
16		ts_menu_action_on_ipad();
17	}
18	
19	/** Sticky Menu **/
20	if( typeof drile_params != 'undefined' && drile_params.sticky_header == 1 ){
21		ts_sticky_menu();
22	}
23	
24	/*** Verticle Sidebar menu (header v2) ***/
25	if( $('.main-menu-sidebar-wrapper').length > 0 && $(window).width() > 767 ){
26		if( $('.main-menu-sidebar-wrapper .ts-menu-drop-icon').length > 0 ){
27			$('.main-menu-sidebar-wrapper .sub-menu').hide();
28		}
29		$('.main-menu-sidebar-wrapper .ts-menu-drop-icon').on('click', function(){
30			var is_active = $(this).hasClass('active');
31			var sub_menu = $(this).siblings('.sub-menu');
32			
33			if( is_active ){
34				sub_menu.slideUp(250);
35				sub_menu.find('.sub-menu').hide();
36				sub_menu.find('.ts-menu-drop-icon').removeClass('active');
37			}
38			else{
39				sub_menu.slideDown(250);
40			}
41			$(this).toggleClass('active');
42		});
43	}
44	
45	/*** Toggle Header Top ***/
46	$(document).on('click', '.ts-icon-toggle-header-top', function(){
47		$(this).toggleClass('active');
48		$('.header-top').slideToggle();
49	});
50	
51	/** Device - Resize action **/
52	$(window).on('resize orientationchange', $.throttle(250, function(){
53		ts_mega_menu_change_state();
54	}));
55	
56	/** Shopping cart on ipad **/
57	if( on_touch ){
58		$(document).on('click', '.ts-tiny-cart-wrapper span.drop-icon', function(){
59			$(this).parent().parent().parent().toggleClass('active');
60			/* Reset Dropdown Icon Class On Ipad */
61			$('.ts-menu-drop-icon').removeClass('active');
62			$('.ts-menu .sub-menu').hide();
63			/* Reset Button Header Account/Language/Currency */
64			$('#group-icon-header, .ts-group-meta-icon-toggle .icon').removeClass('active');
65		});
66	}
67	
68	/** Vertical Menu Sidebar **/
69	$('.vertical-menu-button').on('click', function(){
70		
71		$(this).toggleClass('active');
72		$('body').addClass('vertical-sidebar-active');
73		
74		/* Reset search header version 1 */
75		$('.header-middle .ts-search-by-category').removeClass('active');
76		$('header .search-button').removeClass('active');
77		$('body').removeClass('search-active');
78		/* Reset Dropdown Icon Class On Ipad */
79		$('.ts-menu-drop-icon').removeClass('active');
80		$('.ts-menu .sub-menu').hide();
81	});
82	
83	/** Header Currency - Language on sidebar **/
84	$('#group-icon-header .header-currency, #group-icon-header .header-language').find('ul:last').siblings('a').on('click', function(e){
85		e.preventDefault();
86		$(this).siblings('ul').slideToggle();
87		$(this).toggleClass('active');
88	});
89	
90	/** To Top button **/
91	$(window).on('scroll', function(){
92		if( $(this).scrollTop() > 100 ){
93			$('#to-top').addClass('on');
94		} else {
95			$('#to-top').removeClass('on');
96		}
97	});
98	
99	$('#to-top .scroll-button').on('click', function(){
100		$('body,html').animate({
101			scrollTop: '0px'
102		}, 1000);
103		return false;
104	});
105	
106	/** Quickshop **/
107	var quickshop_created_vertical_slider = false;
108	$(document).on('click', 'a.quickshop', function( e ){
109		e.preventDefault();
110		
111		var product_id = $(this).data('product_id');
112		if( product_id === undefined ){
113			return;
114		}
115		
116		var container = $('#ts-quickshop-modal');
117		container.addClass('loading');
118		container.find('.quickshop-content').html('');
119		$.ajax({
120			type : 'POST'
121			,url : drile_params.ajax_url	
122			,data : {action : 'drile_load_quickshop_content', product_id: product_id}
123			,success : function(response){
124				container.find('.quickshop-content').html( response );
125				
126				var full_slider = container.find('.ts-quickshop-wrapper.full-slider').length > 0;
127				if( full_slider ){
128					var thumbnail_height = parseInt( container.find('.image-items').data('height') );
129					var thumbnail_width = parseInt( container.find('.image-items').data('width') );
130					if( thumbnail_height ){
131						var thumbnail_col_width = window.innerWidth >= 1500 ? 500 : 450;
132						var thumbnail_col_height = window.innerWidth >= 1500 ? 710 : 580;
133						var min_height = thumbnail_height * thumbnail_col_width / thumbnail_width;
134						min_height = min_height > thumbnail_col_height ? thumbnail_col_height : Math.floor( min_height );
135						container.find('.image-items').css('min-height', min_height + 'px');
136					}
137					
138					container.find('img:first').on('load', function(){
139						var height_content = Math.floor(container.find('.images-slider-wrapper').height()/2)*2;
140						container.find('.popup-container').css({'height': height_content});
141						container.find('.summary').css({'max-height': height_content});
142						container.find('.image-items').removeClass('loading');
143						
144						container.removeClass('loading').addClass('show');
145					});
146				}
147				
148				quickshop_created_vertical_slider = false;
149				
150				var images = container.find('img');
151				var count = 0;
152				var timeout = setTimeout(function(){
153					if( container.hasClass('loading') ){
154						container.removeClass('loading').addClass('show');
155						if( !full_slider ){
156							images.off('load');
157						}
158					}
159				}, 1000);
160				
161				images.on('load', function(){
162					if( ++count == images.length && container.hasClass('loading') ){
163						container.removeClass('loading').addClass('show');
164						clearTimeout( timeout );
165						if( container.find('.vertical-thumbnail').length > 0 ){
166							quickshop_vertical_thumbnail_slider(container);
167						}
168					}
169				});
170				
171				container.find('form.variations_form').wc_variation_form();
172				container.find('form.variations_form .variations select').change();
173				$('body').trigger('wc_fragments_loaded');
174				
175				container.find('form.variations_form').on('click', '.reset_variations', function(){
176					$(this).parents('.variations').find('.ts-product-attribute .option').removeClass('selected');
177				});
178			
179				if( full_slider ){
180					if( container.find('.image-item').length <= 1 ){
181						return;
182					}
183					
184					container.find('.image-items').owlCarousel({
185							items: 1
186							,loop: true
187							,nav: true
188							,navText: [,]
189							,dots: false
190							,navSpeed: 1000
191							,rtl: $('body').hasClass('rtl')
192							,navRewind: false
193						});
194				}
195				else{
196					var thumbnails = container.find('.thumbnails');
197					var slider_wrapper = thumbnails.find('.product-thumbnails');
198					if( slider_wrapper.find('li').length > 1 ){
199						if( container.find('.vertical-thumbnail').length > 0 ){
200							setTimeout(function(){
201								quickshop_vertical_thumbnail_slider(container);
202							}, 1500);
203						}
204						else{
205							slider_wrapper.owlCarousel({
206								items: 4
207								,loop: false
208								,nav: true
209								,navText: [,]
210								,dots: false
211								,rtl: $('body').hasClass('rtl')
212								,margin: 0
213								,navRewind: false
214								,onInitialized: function(){
215									thumbnails.addClass('loaded').removeClass('loading');
216								}
217							});
218						}
219					}
220					else{
221						thumbnails.removeClass('loading');
222					}
223					
224					container.find('.images img').removeAttr('srcset sizes');
225					$('.ts-qs-zoom, .ts-qs-zoom-gallery').CloudZoom({});
226					$('.ts-quickshop-wrapper form.variations_form').on('found_variation reset_image', function(){
227						container.find('.images img').removeAttr('srcset sizes');
228						$('.ts-qs-zoom, .ts-qs-zoom-gallery').CloudZoom({});
229					});
230				}
231			}
232		});
233	});
234	
235	$(document).on('click', '.ts-popup-modal .close, .ts-popup-modal .overlay', function(){
236		$('.ts-popup-modal').removeClass('show');
237		$('.ts-popup-modal .quickshop-content').html(''); /* prevent conflict with lightbox on single product */
238	});
239	
240	function quickshop_vertical_thumbnail_slider( container ){
241		var thumbnails = container.find('.thumbnails');
242		var slider_wrapper = thumbnails.find('.product-thumbnails');
243		if( quickshop_created_vertical_slider || !thumbnails.hasClass('loading') ){
244			return;
245		}
246		quickshop_created_vertical_slider = true;
247		
248		slider_wrapper.carouFredSel({
249					items: 4
250					,direction: 'up'
251					,prev: thumbnails.find('.owl-prev').selector
252					,next: thumbnails.find('.owl-next').selector
253					,auto: {
254						duration: 800
255					}
256					,scroll: {
257						items: 1
258					}
259					,onCreate: function(){
260						thumbnails.addClass('loaded').removeClass('loading');
261					}
262				});
263	}
264	
265	/** Wishlist **/
266	$(document).on('click', '.add_to_wishlist, .product a.compare:not(.added)', function(){
267		$(this).addClass('loading');
268	});
269	
270	$('body').on('added_to_wishlist', function(){
271		ts_update_tini_wishlist();
272		$('.add_to_wishlist').removeClass('loading');
273		$('.yith-wcwl-wishlistaddedbrowse.show, .yith-wcwl-wishlistexistsbrowse.show').parent('.button-in.wishlist').addClass('added');
274	});
275	
276	$('body').on('removed_from_wishlist added_to_cart', function(){
277		if( $('.wishlist_table').length ){
278			ts_update_tini_wishlist();
279		}
280	});
281	
282	/** Compare **/
283	$('body').on('yith_woocompare_open_popup', function(){
284		$('.product a.compare').removeClass('loading');
285	});
286	
287	/*** Color Swatch ***/
288	$(document).on('click', '.products .product .color-swatch > div', function(){
289		$(this).siblings().removeClass('active');
290		$(this).addClass('active');
291		/* Change thumbnail */
292		var image_src = $(this).data('thumb');
293		$(this).closest('.product').find('figure img:first').attr('src', image_src).removeAttr('srcset sizes');
294		/* Change price */
295		var term_id = $(this).data('term_id');
296		var variable_prices = $(this).parent().siblings('.variable-prices');
297		var price_html = variable_prices.find('[data-term_id="'+term_id+'"]').html();
298		$(this).parent().siblings('.price').html( price_html ).addClass('variation-price');
299	});
300	
301	/*** Stock - Variation Price - Variable Product ***/
302	function single_variable_product_reset_stock( wrapper ){
303		var stock_html = wrapper.find('p.availability').data('original');
304		var classes = wrapper.find('p.availability').data('class');
305		if( classes == '' ){
306			classes = 'in-stock';
307		}
308		wrapper.find('p.availability span').html(stock_html);
309		wrapper.find('p.availability').removeClass('in-stock out-of-stock').addClass(classe
309s);
310	}
311	
312	$(document).on('found_variation', 'form.variations_form', function( e, variation ){
313		var wrapper = $(this).parents('.summary');
314		if( wrapper.find('.single_variation .stock').length > 0 ){
315			var stock_html = wrapper.find('.single_variation .stock').html();
316			var classes = wrapper.find('.single_variation .stock').hasClass('out-of-stock')?'out-of-stock':'in-stock';
317			wrapper.find('p.availability span').html(stock_html);
318			wrapper.find('p.availability').removeClass('in-stock out-of-stock').addClass(classes);
319		}
320		else{
321			single_variable_product_reset_stock( wrapper );
322		}
323		
324		if( variation.price_html ){
325			wrapper.find('.ts-variation-price').html( variation.price_html ).removeClass('hidden');
326			wrapper.find('p.price').addClass('hidden');
327		}
328	});
329	
330	$(document).on('reset_image', 'form.variations_form', function(){
331		var wrapper = $(this).parents('.summary');
332		single_variable_product_reset_stock( wrapper );
333		
334		wrapper.find('p.price').removeClass('hidden');
335		wrapper.find('.ts-variation-price').addClass('hidden');
336	});
337	
338	/*** Hide product attribute if not available ***/
339	$(document).on('update_variation_values', 'form.variations_form', function(){
340		if( $(this).find('.ts-product-attribute').length > 0 ){
341			$(this).find('.ts-product-attribute').each(function(){
342				var attr = $(this);
343				var values = [];
344				attr.siblings('select').find('option').each(function(){
345					if( $(this).attr('value') ){
346						values.push( $(this).attr('value') );
347					}
348				});
349				attr.find('.option').removeClass('hidden');
350				attr.find('.option').each(function(){
351					if( $.inArray($(this).attr('data-value'), values) == -1 ){
352						$(this).addClass('hidden');
353					}
354				});
355			});
356		}
357	});
358	
359	/*** Single ajax add to cart ***/
360	if( typeof drile_params != 'undefined' && drile_params.ajax_add_to_cart == 1 && !$('body').hasClass('woocommerce-cart') ){
361		$(document).on('submit', '.product:not(.product-type-external) .summary form.cart', function(e){
362			e.preventDefault();
363			var form = $(this);
364			var product_url = form.attr('action');
365			var data = form.serialize();
366			if( !form.hasClass('variations_form') && !form.hasClass('grouped_form') ){
367				data += '&add-to-cart=' + form.find('[name="add-to-cart"]').val()
368			}
369			form.find('.single_add_to_cart_button').removeClass('added').addClass('loading');
370			$.post(product_url, data, function( result ){
371				$( document.body ).trigger('wc_fragment_refresh');
372				var message_wrapper = $('#ts-ajax-add-to-cart-message');
373				var error = '';
374				result = $('<div>' + result + '</div>');
375				if( result.find('.woocommerce-error').length ){
376					error = result.find('.woocommerce-error li:first').html();
377				}
378				form.find('.single_add_to_cart_button').removeClass('loading').addClass('added');
379				message_wrapper.removeClass('error');
380				if( error ){
381					message_wrapper.addClass('error');
382					message_wrapper.find('.error-message').html( error );
383					form.find('.single_add_to_cart_button').removeClass('added');
384				}
385				
386				message_wrapper.addClass('show');
387				setTimeout(function(){
388					message_wrapper.removeClass('show');
389				}, 2000);
390			});
391		});
392	}
393	
394	/*** Custom Orderby on Product Page ***/
395	$('form.woocommerce-ordering ul.orderby ul a').on('click', function(e){
396		e.preventDefault();
397		if( $(this).hasClass('current') ){
398			return;
399		}
400		var form = $('form.woocommerce-ordering');
401		var data = $(this).attr('data-orderby');
402		form.find('select.orderby').val(data).trigger('change');
403	});
404	
405	/*** Per page on Product page ***/
406	$('form.product-per-page-form ul.perpage ul a').on('click', function(e){
407		e.preventDefault();
408		if( $(this).hasClass('current') ){
409			return;
410		}
411		var form = $('form.product-per-page-form');
412		var data = $(this).attr('data-perpage');
413		form.find('select.perpage').val(data);
414		form.submit();
415	});
416	
417	/*** Widget toggle ***/
418	$('.widget-title-wrapper a.block-control').on('click', function(e){
419		e.preventDefault();
420		if( $(this).parents('.filter-widget-area.style-default').length == 0 ){
421			$(this).toggleClass('active');
422			$(this).parent().siblings(':not(script)').fadeToggle(200);
423		}
424		else{
425			var wrapper = $(this).parents('.filter-widget-area.style-default');
426			var is_active = $(this).hasClass('active');
427			wrapper.find('.widget-title-wrapper').siblings(':not(script)').hide();
428			wrapper.find('.widget-title-wrapper a.block-control').removeClass('active');
429			if( !is_active ){
430				$(this).addClass('active');
431				$(this).parent().siblings(':not(script)').fadeIn(200);
432			}
433			hide_orderby_per_page_dropdown('both');
434		}
435	});
436	
437	ts_widget_toggle();
438	if( !on_touch ){
439		$(window).on('resize', $.throttle(250, function(){
440			ts_widget_toggle();
441		}));
442	}
443	
444	/*** Sort by toggle ***/
445	$('.woocommerce-ordering li .orderby-current , .product-per-page-form li .perpage-current').on('click', function(e){
446		$(this).siblings('.dropdown').fadeToggle(200);
447        $(this).toggleClass('active');
448		$(this).parent().parent().toggleClass('active');
449		var type = $(this).hasClass('orderby-current')?'perpage':'orderby';
450		hide_orderby_per_page_dropdown( type );
451		
452		$('.filter-widget-area.style-default .widget-title-wrapper').siblings().hide();
453		$('.filter-widget-area.style-default .widget-title-wrapper a.block-control').removeClass('active');
454	});
455	
456	function hide_orderby_per_page_dropdown( type ){
457		if( type == 'orderby' ){
458			var selector = $('.woocommerce-ordering li .orderby-current');
459		}
460		else if( type == 'perpage' ){
461			var selector = $('.product-per-page-form li .perpage-current');
462		}
463		else{
464			var selector = $('.woocommerce-ordering li .orderby-current, .product-per-page-form li .perpage-current');
465		}
466		selector.siblings('.dropdown').fadeOut(200);
467        selector.removeClass('active');
468		selector.parent().parent().removeClass('active');
469	}
470	
471	/* Image Lazy Load */
472	if( $('img.ts-lazy-load').length ){
473		$(window).on('scroll ts_lazy_load', function(){
474			var scroll_top = $(this).scrollTop();
475			var window_height = $(this).height();
476			$('img.ts-lazy-load:not(.loaded)').each(function(){
477				if( $(this).data('src') && $(this).offset().top < scroll_top + window_height + 900 ){
478					$(this).attr('src', $(this).data('src')).addClass('loaded');
479				}
480			});
481		});
482		
483		if( $('img.ts-lazy-load:first').offset().top < $(window).scrollTop() + $(window).height() + 200 ){
484			$(window).trigger('ts_lazy_load');
485		}
486	}
487	
488	/* WooCommerce Quantity Increment */
489	$( document ).on( 'click', '.plus, .minus', function() {
490		var $qty		= $( this ).closest( '.quantity' ).find( '.qty' ),
491			currentVal	= parseFloat( $qty.val() ),
492			max			= parseFloat( $qty.attr( 'max' ) ),
493			min			= parseFloat( $qty.attr( 'min' ) ),
494			step		= $qty.attr( 'step' );
495
496		if ( ! currentVal || currentVal === '' || currentVal === 'NaN' ) currentVal = 0;
497		if ( max === '' || max === 'NaN' ) max = '';
498		if ( min === '' || min === 'NaN' ) min = 0;
499		if ( step === 'any' || step === '' || step === undefined || parseFloat( step ) 
499=== 'NaN' ) step = 1;
500
501		if ( $( this ).is( '.plus' ) ) {
502			if ( max && ( max == currentVal || currentVal > max ) ) {
503				$qty.val( max );
504			} else {
505				$qty.val( currentVal + parseFloat( step ) );
506			}
507		} else {
508			if ( min && ( min == currentVal || currentVal < min ) ) {
509				$qty.val( min );
510			} else if ( currentVal > 0 ) {
511				$qty.val( currentVal - parseFloat( step ) );
512			}
513		}
514
515		$qty.trigger( 'change' );
516	});
517	
518	/* Ajax Search */
519	if( typeof drile_params != 'undefined' && drile_params.ajax_search == 1 ){
520		ts_ajax_search();
521	}
522	/* Search - Shopping Cart Sidebar */
523	$(document).on('click', '.search-button .icon, .shopping-cart-wrapper .cart-control', function(e){
524		$('.ts-floating-sidebar .close').trigger('click');
525		var is_cart = $(this).is('.cart-control');
526		if( is_cart ){
527			if( $('#ts-shopping-cart-sidebar').length > 0 ){
528				e.preventDefault();
529				$('#ts-shopping-cart-sidebar').addClass('active');
530				$('body').addClass('floating-sidebar-active');
531				
532				/* Vertical menu sidebar */
533				$('.vertical-menu-button').removeClass('active');
534				$('body').removeClass('vertical-sidebar-active');
535				
536				/* Reset search header version 1 */
537				$('.header-middle .ts-search-by-category').removeClass('active');
538				$('header .search-button').removeClass('active');
539				$('body').removeClass('search-active');
540				
541				/* Reset Dropdown Icon Class On Ipad */
542				$('.ts-menu-drop-icon').removeClass('active');
543				var on_touch = !$('body').hasClass('ts_desktop');
544				if( on_touch || $(window).width() < 768 ){
545					$('.ts-menu-drop-icon').removeClass('active');
546					$('.ts-menu .sub-menu').hide();
547				}
548			}
549		}
550		else if( $('#ts-search-sidebar').length > 0 ){
551			$('#ts-search-sidebar').addClass('active');
552			$('body').addClass('floating-sidebar-active');
553			setTimeout(function(){
554				$('#ts-search-sidebar input[name="s"]').focus();
555			}, 600);
556			
557			/* Vertical menu sidebar */
558			$('.vertical-menu-button').removeClass('active');
559			$('body').removeClass('vertical-sidebar-active');
560			
561			/* Reset search header version 1 */
562			$('.header-middle .ts-search-by-category').removeClass('active');
563			$('header .search-button').removeClass('active');
564			$('body').removeClass('search-active');
565			
566			/* Reset Dropdown Icon Class On Ipad */
567			$('.ts-menu-drop-icon').removeClass('active');
568			var on_touch = !$('body').hasClass('ts_desktop');
569			if( on_touch || $(window).width() < 768 ){
570				$('.ts-menu-drop-icon').removeClass('active');
571				$('.ts-menu .sub-menu').hide();
572			}
573		}
574		else if( $('.header-middle .ts-search-by-category').length > 0 ){
575			$('.header-middle .ts-search-by-category').toggleClass('active');
576			$('header .search-button').toggleClass('active');
577			$('body').toggleClass('search-active');
578			setTimeout(function(){
579				$('.header-middle .ts-search-by-category input[name="s"]').focus();
580			}, 600);
581			
582			/* Vertical menu sidebar */
583			$('.vertical-menu-button').removeClass('active');
584			$('body').removeClass('vertical-sidebar-active');
585			
586			/* Reset Dropdown Icon Class On Ipad */
587			$('.ts-menu-drop-icon').removeClass('active');
588			var on_touch = !$('body').hasClass('ts_desktop');
589			if( on_touch || $(window).width() < 768 ){
590				$('.ts-menu-drop-icon').removeClass('active');
591				$('.ts-menu .sub-menu').hide();
592			}
593		}
594	});
595	$('.ts-floating-sidebar .overlay, .ts-floating-sidebar .close').on('click', function(){
596		$('.ts-floating-sidebar').removeClass('active');
597		$('body').removeClass('floating-sidebar-active');
598		$('.filter-widget-area-button.style-sidebar a, .filter-widget-area-button.style-bottom a').removeClass('active');
599		$('#main-content').removeClass('show-filter-sidebar');
600	});
601	
602	/* Add To Cart Effect */
603	if( !$('body').hasClass('woocommerce-cart') ){
604		$(document.body).on('adding_to_cart', function( e, $button, data ){
605			if( wc_add_to_cart_params.cart_redirect_after_add == 'no' ){
606				if( typeof drile_params != 'undefined' && drile_params.add_to_cart_effect == 'show_popup' && typeof $button != 'undefined' ){
607					var product_id = $button.attr('data-product_id');
608					var container = $('#ts-add-to-cart-popup-modal');
609					container.addClass('adding');
610					$.ajax({
611						type : 'POST'
612						,url : drile_params.ajax_url
613						,data : {action : 'drile_load_product_added_to_cart', product_id: product_id}
614						,success : function(response){
615							container.find('.add-to-cart-popup-content').html( response );
616							if( container.hasClass('loading') ){
617								container.removeClass('loading').addClass('show');
618							}
619							container.removeClass('adding');
620						}
621					});
622				}
623			}
624		});
625		
626		$(document.body).on('added_to_cart', function( e, fragments, cart_hash, $button ){
627			/* Show Cart Sidebar */
628			if( typeof drile_params != 'undefined' && drile_params.show_cart_after_adding == 1 ){
629				$('.shopping-cart-wrapper .cart-control').trigger('click');
630				return;
631			}
632			/* Cart Fly Effect */
633			if( typeof drile_params != 'undefined' && typeof $button != 'undefined' ){
634				if( drile_params.add_to_cart_effect == 'fly_to_cart' ){
635					var cart = $('.shopping-cart-wrapper');
636					if( cart.length == 2 ){
637						if( $(window).width() > 991 ){
638							cart = $('.header-vertical .shopping-cart-wrapper');
639						}
640						else{
641							cart = $('.header-ipad .shopping-cart-wrapper');
642						}
643					}
644					if( cart.length == 1 ){
645						var product_img = $button.closest('section.product').find('figure img').eq(0);
646						if( product_img.length == 1 ){
647							var effect_time = 800;
648							var cart_in_sticky = $('.is-sticky .shopping-cart-wrapper').length;
649							if( cart_in_sticky ){
650								effect_time = 500;
651							}
652							
653							var imgclone_height = product_img.width()?150 * product_img.height() / product_img.width():150;
654							var imgclone_small_height = product_img.width()?75 * product_img.height() / product_img.width():75;
655							
656							var imgclone = product_img.clone().offset({top: product_img.offset().top, left: product_img.offset().left})
657								.css({'opacity': '0.6', 'position': 'absolute', 'height': imgclone_height + 'px', 'width': '150px', 'z-index': '99999999'})
658								.appendTo($('body'))
659								.animate({'top': cart.offset().top + cart.height()/2, 'left': cart.offset().left + cart.width()/2, 'width': 75, 'height': imgclone_small_height}, effect_time, 'linear');
660							
661							if( !cart_in_sticky && cart.parents('.header-vertical').length == 0 ){
662								$('body,html').animate({
663									scrollTop: '0px'
664								}, effect_time);
665							}
666							
667							imgclone.animate({
668								'width': 0
669								,'height': 0
670							}, function(){
671								$(this).detach()
672							});
673						}
674					}
675				}
676				if( drile_params.add_to_cart_effect == 'show_popup' ){
677					var container = $('#ts-add-to-cart-popup-modal');
678					if( container.hasClass('adding') ){
679						container.addClass('loading');
680					}
681					else{
682						container.addClass('show');
683					}
684				}
685			}
686		});
687	}
688	
689	/* Disable Ajax Remove Cart Item on Cart and Checkout page */
690	if( $('body').hasClass('woocommerce-cart') || $('body').hasClass('woocommerce-checkout') ){
691		$(document.body).off('click', '.remove_from_cart_button');
692	}
693	
694	/* Show cart after removing item */
695	$(document.body).on('click', '.shopping-cart-wrapper .remove_from_cart_button', function(){
696		$('.shopping-cart-wrapper').addClass('updating');
697	});
698	$(document.body).on('removed_from_cart', function(){
699		if( !$('.shopping-cart-wrapper').is(':hover') ){
700			$('.shopping-cart-wrapper').removeClass('updating');
701		}
702	});
703	
704	/* Change cart item quantity */
705	$(document).on('change', '.ts-tiny-cart-wrapper .qty', function(){
706		var qty = parseFloat($(this).val());
707		var max = parseFloat($(this).attr('max'));
708		if( max !== 'NaN' && max < qty ){
709			qty = max;
710			$(this).val( max );
711		}
712		var cart_item_key = $(this).attr('name').replace('cart[', '').replace('][qty]', '');
713		$(this).parents('.woocommerce-mini-cart-item').addClass('loading');
714		$('.shopping-cart-wrapper').addClass('updating');
715		$('.woocommerce-message').remove();
716		$.ajax({
717			type : 'POST'
718			,url : drile_params.ajax_url
719			,data : {action : 'drile_update_cart_quantity', qty: qty, cart_item_key: cart_item_key}
720			,success : function(response){
721				if( !response ){
722					return;
723				}
724				$( document.body ).trigger( 'added_to_cart', [ response.fragments, response.cart_hash ] );
725				if( !$('.shopping-cart-wrapper').is(':hover') ){
726					$('.shopping-cart-wrapper').removeClass('updating');
727				}
728			}
729		});
730	});
731	
732	$(document).on('mouseleave', '.shopping-cart-wrapper.updating', function(){ 
733		$(this).removeClass('updating');
734	});
735	
736	/* Filter Widget Area */
737	var filter_sidebar_interval;
738	$('.filter-widget-area-button a').on('click', function(){
739		$(this).toggleClass('active');
740		var filter_style = $(this).parent().data('style');
741		if( filter_style == 'sidebar' || filter_style == 'bottom' ){
742			$('#ts-filter-widget-area').toggleClass('active');
743			if( filter_style == 'sidebar' ){
744				$('#main-content').toggleClass('show-filter-sidebar');
745				
746				if( $('#ts-filter-widget-area').hasClass('active') ){
747					filter_sidebar_interval = setInterval(function(){
748						$('#main-content').css('min-height', $('#ts-filter-widget-area .filter-widget-area').height() + 20);
749					}, 1000);
750				}
751				else{
752					clearInterval( filter_sidebar_interval );
753					$('#main-content').css('min-height', '');
754				}
755			}
756		}
757		else{
758			$('.filter-widget-area').slideToggle();
759		}
760		hide_orderby_per_page_dropdown('both');
761		return false;
762	});
763	
764	if( $('.ts-active-filters .widget_layered_nav_filters').length ){
765		$('.filter-widget-area-button.style-sidebar a').trigger('click');
766	}
767	
768	function set_top_sidebar_filter(){
769		if( $(window).width() < 768 ){
770			var top_main = $('#primary').offset().top;
771			var top_filter = $('.filter-widget-area-button').offset().top;
772			var height_filter = $('.filter-widget-area-button').height();
773			var top_sidebar = top_filter - top_main + height_filter;
774			$('#ts-filter-widget-area .ts-sidebar-content').css('top', top_sidebar + 'px');
775		}
776		else{
777			$('#ts-filter-widget-area .ts-sidebar-content').css('top', '');
778		}
779	}
780	
781	if( $('.filter-widget-area-button.style-sidebar').length ){
782		set_top_sidebar_filter();
783		$(window).on('resize orientationchange', $.throttle(250, function(){
784			set_top_sidebar_filter();
785		}));
786	}
787	
788	/* Shop Zoom In/Out */
789	$('.zoom-in-out-button a').on('click', function(e){
790		e.preventDefault();
791		$('div.products').removeClass('zoom-in zoom-out').addClass($(this).data('class'));
792		$(this).hide();
793		$(this).siblings('a').show();
794		if( typeof Cookies == 'function' ){
795			Cookies.set('ts_shop_zoom', $(this).data('class'));
796		}
797	});
798	if( typeof Cookies == 'function' ){
799		if( typeof Cookies.get('ts_shop_zoom') != 'undefined' ){
800			$('.zoom-in-out-button a.' + Cookies.get('ts_shop_zoom')).trigger('click');
801		}
802	}
803	
804	/* Single post - Related posts - Gallery slider */
805	ts_single_related_post_gallery_slider();
806	
807	/* Single Product - Variable Product options */
808	$(document).on('click', '.variations_form .ts-product-attribute .option a', function(){
809		var _this = $(this);
810		var val = _this.closest('.option').data('value');
811		var selector = _this.closest('.ts-product-attribute').siblings('select');
812		if( selector.length > 0 ){
813			if( selector.find('option[value="' + val + '"]').length > 0 ){
814				selector.val(val).change();
815				_this.closest('.ts-product-attribute').find('.option').removeClass('selected');
816				_this.closest('.option').addClass('selected');
817			}
818		}
819		return false;
820	});
821	
822	$('.variations_form').on('click', '.reset_variations', function(){
823		$(this).closest('.variations').find('.ts-product-attribute .option').removeClass('selected');
824	});
825	
826	/* Related - Upsell - Crosssell products slider */
827	$('.single-product .related .products, .single-product .upsells .products, .woocommerce .cross-sells .products').each(function(){
828		var _this = $(this);
829		if( _this.find('.product').length > 1 ){
830			_this.owlCarousel({
831				loop: true
832				,nav: true
833				,navText: [,]
834				,dots: false
835				,navSpeed: 1000
836				,rtl: $('body').hasClass('rtl')
837				,margin: 0
838				,navRewind: false
839				,responsiveBaseElement: _this
840				,responsiveRefreshRate: 1000
841				,responsive:{0:{items:1},330:{items:2},570:{items:3},871:{items:4}}
842			});
843		}
844	});
845	
846	/* Background Video - Youtube Video */
847	if( typeof $.fn.YTPlayer == 'function' ){
848		$('.ts-youtube-video-bg').each(function(index, element){
849			var selector = $(this);
850			var poster = selector.data('poster');
851			var property = selector.data('property') && typeof selector.data('property') == 'string' ? eval('(' + selector.data('property') + ')') : selector.data('property');
852			
853			if( ! on_touch ) {
854				var player = selector.YTPlayer();
855				
856				player.on('YTPPlay', function(){
857					selector.removeClass('pausing').addClass('playing');
858					selector.closest('.vc_row').addClass('playing');
859					if( poster ){
860						selector.css({'background-image':''});
861						selector.find('.mbYTP_wrapper').css({'opacity':1});
862					}
863				});
864				
865				player.on('YTPPause YTPEnd', function(){
866					selector.removeClass('playing').addClass('pausing');
867					selector.closest('.vc_row').removeClass('playing');
868					if( poster ){
869						selector.css({'background-image':'url(' + poster + ')'});
870						selector.find('.mbYTP_wrapper').css({'opacity':0});
871					}
872				});
873				
874				player.on('YTPChanged', function(){
875					if( !property.autoPlay && poster ){
876						selector.css({'background-image':'url(' + poster + ')'});
877					}
878				});
879			}
880			else if( poster ) {
881				selector.css({'background-image':'url(' + poster + ')'});
882			}
883		});
884	}
885	
886	/* Background Video - Hosted Video */
887	$('.ts-hosted-video-bg').each(function(){
888		var selector = $(this);
889		var video = selector.find('video');
890		var video_dom = video.get(0);
891		if( video.hasClass('loop') ){
892			video_dom.loop = true;
893		}
894		if( video.hasClass('muted') ){
895			video_dom.muted = true;
896		}
897		
898		var poster = selector.data('poster');
899		if( poster ){
900			selector.css({'background-image':'url(' + poster + ')'});
901		}
902		
903		var control = selector.find('.video-control');
904		control.on('click', function(){
905			if( !selector.hasClass('playing') ){
906				video_dom.play();
907				selector.css({'background-image':''});
908				selector.removeClass('pausing').addClass('playing');
909				selector.closest('.vc_row').addClass('playing');
910			}
911			else{
912				video_dom.pause();
913				if( poster ){
914					selector.css({'background-image':'url(' + poster + ')'});
915				}
916				selector.removeClass('playing').addClass('pausing');
917				selector.closest('.vc_row').removeClass('playing');
918			}
919		});
920		if( !on_touch && video.hasClass('autoplay') ){
921			control.trigger('click');
922		}
923	});
924	
925	/* Single Portfolio Lightbox */
926	if( typeof $.fn.prettyPhoto == 'function' ){
927		$('.single-portfolio .thumbnail a[rel^="prettyPhoto"]').prettyPhoto({
928			show_title: false
929			,deeplinking: false
930			,social_tools: false
931		});
932	}
933	
934	/* Single Portfolio Gallery */
935	if( typeof $.fn.isotope == 'function' ){
936		$('.single-portfolio.gallery .thumbnail figure').isotope();
937	}
938	
939	/* Single Portfolio Slider */
940	ts_generate_single_portfolio_slider();
941
942});
943
944/*** Mega menu ***/
945function ts_mega_menu_change_state(){
946	jQuery('.ts-group-meta-icon-toggle .icon').off('click');
947	jQuery('.ts-group-meta-icon-toggle .icon').on('click', function(){
948		/* Reset Dropdown Icon Class On Ipad */
949		jQuery('.ts-menu-drop-icon').removeClass('active');
950		var on_touch = !jQuery('body').hasClass('ts_desktop');
951		if( on_touch || jQuery(window).width() < 768 ){
952			jQuery('.ts-menu-drop-icon').removeClass('active');
953			jQuery('.ts-menu-drop-icon').siblings('.sub-menu').hide();
954		}
955		
956		jQuery('#group-icon-header').toggleClass('active');
957		jQuery('body').toggleClass('menu-header-active');
958		jQuery('body').toggleClass('floating-sidebar-active');
959		jQuery(this).toggleClass('active');
960		jQuery('#group-icon-header .ts-sidebar-content').css({'padding-top': jQuery('.ts-header .header-middle').height() + (jQuery('#wpadminbar').length ? jQuery('#wpadminbar').height() : 0)});
961		
962		/* Calc sub menu position on vertical header */
963		jQuery('.header-v8 .pc-menu ul.menu > li.menu-item > .sub-menu').each(function(){
964			var sub_menu = jQuery(this);
965			var sub_menu_height = sub_menu.outerHeight();
966			var window_height = jQuery(window).height();
967			var item_top = sub_menu.parent().offset().top;
968			item_top -= sub_menu.parents('.ts-menu').offset().top; /* Fixed header */
969			
970			if( item_top + sub_menu_height > window_height ){
971				var top = item_top + sub_menu_height - window_height + 20;
972				sub_menu.css({'top': -top, 'bottom': 'auto'});
973			}
974		});
975	});
976	
977	/* Reset Dropdown Icon Class On Ipad */
978	jQuery('.ts-menu-drop-icon').removeClass('active');
979	
980	if( window.outerWidth > 767 ){
981	
982		var padding_left = 0, container_width = 0;
983		var container = jQuery('.header-sticky .container:first');
984		var container_stretch = jQuery('.header-sticky');
985		if( container.length <= 0 ){
986			container = jQuery('.header-sticky');
987			if( container.length <= 0 ){
988				return;
989			}
990			container_width = container.outerWidth();
991		}
992		else{
993			container_width = container.width();
994			padding_left = parseInt(container.css('padding-left'));
995		}
996		var container_offset = container.offset();
997		
998		var container_stretch_width = container_stretch.outerWidth();
999		var container_stretch_offset = container_stretch.offset();
1000		
1001		setTimeout(function(){
1002			jQuery('.ts-menu nav.main-menu > ul.menu > .ts-megamenu-fullwidth').each(function(index, element){
1003				var current_offset = jQuery(element).offset();
1004				if( jQuery(element).hasClass('ts-megamenu-fullwidth-stretch') ){
1005					var left = current_offset.left - container_stretch_offset.left;
1006					jQuery(element).children('ul.sub-menu').css({'width':container_stretch_width+'px','left':-left+'px','right':'auto'});
1007				}
1008				else{
1009					var left = current_offset.left - container_offset.left - padding_left;
1010					jQuery(element).children('ul.sub-menu').css({'width':container_width+'px','left':-left+'px','right':'auto'});
1011				}
1012			});
1013			
1014			jQuery('.ts-menu nav.main-menu > ul.menu').children('.ts-megamenu-columns-1, .ts-megamenu-columns-2, .ts-megamenu-columns-3, .ts-megamenu-columns-4').each(function(index, element){	
1015				jQuery(element).children('ul.sub-menu').css({'max-width':container_width+'px'});
1016				var sub_menu_width = jQuery(element).children('ul.sub-menu').outerWidth();
1017				var item_width = jQuery(element).outerWidth();
1018				jQuery(element).children('ul.sub-menu').css({'left':'-'+(sub_menu_width/2 - item_width/2)+'px','right':'auto'});
1019				
1020				var container_left = container_offset.left;
1021				var container_right = container_left + container_width;
1022				var item_left = jQuery(element).offset().left;
1023				
1024				var overflow_left = (sub_menu_width/2 > (item_left + item_width/2 - container_left));
1025				var overflow_right = ((sub_menu_width/2 + item_left + item_width/2) > container_right);
1026				if( overflow_left ){
1027					var left = item_left - container_left - padding_left;
1028					jQuery(element).children('ul.sub-menu').css({'left':-left+'px','right':'auto'});
1029				}
1030				if( overflow_right && !overflow_left ){
1031					var left = item_left - container_left - padding_left;
1032					left = left - ( container_width - sub_menu_width );
1033					jQuery(element).children('ul.sub-menu').css({'left':-left+'px','right':'auto'});
1034				}
1035			});
1036			
1037			/* Remove hide class after loading */
1038			jQuery('ul.menu li.menu-item').removeClass('hide');
1039			
1040		},800);
1041		
1042	}
1043	else{ /* Mobile menu action */
1044		jQuery('.ic-mobile-menu-button').off('click');
1045		jQuery('.ic-mobile-menu-button').on('click', function(){
1046			jQuery('#page').addClass('menu-mobile-active');
1047		});
1048		
1049		jQuery('.ic-mobile-menu-close-button').off('click');
1050		jQuery('.ic-mobile-menu-close-button').on('click', function(){
1051			jQuery('#page').removeClass('menu-mobile-active');
1052		});
1053		
1054		jQuery('#wpadminbar').css('position', 'fixed');
1055		
1056		/* Remove hide class after loading */
1057		jQuery('ul.menu li.menu-item').removeClass('hide');
1058	}
1059	
1060}
1061
1062function ts_menu_action_on_ipad(){
1063	/* Main Menu Drop Icon */
1064	jQuery('.ts-menu nav.main-menu .ts-menu-drop-icon').on('click', function(){
1065		
1066		var is_active = jQuery(this).hasClass('active');
1067		var sub_menu = jQuery(this).siblings('.sub-menu');
1068		
1069		jQuery('.ts-menu nav.main-menu .ts-menu-drop-icon').removeClass('active');
1070		jQuery('.ts-menu nav.main-menu .sub-menu').hide();
1071		
1072		jQuery(this).parents('.sub-menu').show();
1073		jQuery(this).parents('.sub-menu').siblings('.ts-menu-drop-icon').addClass('active');
1074		
1075		/* Reset Dropdown Cart */
1076		jQuery('header .shopping-cart-wrapper').removeClass('active');
1077		
1078		if( sub_menu.length > 0 ){
1079			if( is_active ){
1080				sub_menu.fadeOut(250);
1081				jQuery(this).removeClass('active');
1082			}
1083			else{
1084				sub_menu.fadeIn(250);
1085				jQuery(this).addClass('active');
1086			}
1087		}
1088	});
1089	
1090	/* Mobile Menu Drop Icon */
1091	if( jQuery('.ts-menu nav.mobile-menu .ts-menu-drop-icon').length > 0 ){
1092		jQuery('.ts-menu nav.mobile-menu .sub-menu').hide();
1093	}
1094	jQuery('.ts-menu nav.mobile-menu .ts-menu-drop-icon').on('click', function(){
1095		var is_active = jQuery(this).hasClass('active');
1096		var sub_menu = jQuery(this).siblings('.sub-menu');
1097		
1098		if( is_active ){
1099			sub_menu.slideUp(250);
1100			sub_menu.find('.sub-menu').hide();
1101			sub_menu.find('.ts-menu-drop-icon').removeClass('active');
1102		}
1103		else{
1104			sub_menu.slideDown(250);
1105		}
1106		jQuery(this).toggleClass('active');
1107	});
1108
1109}
1110
1111/*** End Mega menu ***/
1112
1113/*** Sticky Menu ***/
1114function ts_sticky_menu(){	
1115	var top_spacing = 0;
1116	if( jQuery('body').hasClass('admin-bar') && jQuery('#wpadminbar').length > 0 ){
1117		top_spacing = jQuery('#wpadminbar').height();
1118	}
1119	var top_begin = jQuery('header.ts-header').height() + 300;
1120	
1121	if( jQuery('.header-transparent .breadcrumb-title-wrapper').length > 0 ){
1122		top_begin = jQuery('.header-transparent .breadcrumb-title-wrapper').height();
1123	}
1124	
1125	setTimeout( function(){
1126		jQuery('.header-sticky').sticky({
1127				topSpacing: top_spacing
1128				,topBegin: top_begin
1129				,scrollOnTop : function (){
1130					ts_mega_menu_change_state();
1131					jQuery('body > .select2-container--open').removeClass('sticky');
1132				}
1133				,scrollOnBottom : function (){
1134					ts_mega_menu_change_state();
1135					jQuery('body > .select2-container--open').addClass('sticky');
1136				}					
1137			});
1138	}, 200);
1139}
1140
1141/*** Custom Wishlist ***/
1142function ts_update_tini_wishlist(){
1143	if( typeof drile_params == 'undefined' ){
1144		return;
1145	}
1146		
1147	var wishlist_wrapper = jQuery('.my-wishlist-wrapper');
1148	if( wishlist_wrapper.length == 0 ){
1149		return;
1150	}
1151	
1152	wishlist_wrapper.addClass('loading');
1153	
1154	jQuery.ajax({
1155		type : 'POST'
1156		,url : drile_params.ajax_url
1157		,data : {action : 'drile_update_tini_wishlist'}
1158		,success : function(response){
1159			var first_icon = wishlist_wrapper.children('i.fa:first');
1160			wishlist_wrapper.html(response);
1161			if( first_icon.length > 0 ){
1162				wishlist_wrapper.prepend(first_icon);
1163			}
1164			wishlist_wrapper.removeClass('loading');
1165		}
1166	});
1167}
1168
1169/*** End Custom Wishlist***/
1170
1171/*** Set Cloud Zoom ***/
1172function ts_set_cloud_zoom(){
1173	jQuery('.cloud-zoom-wrap .cloud-zoom-big').remove();
1174	jQuery('.cloud-zoom, .cloud-zoom-gallery').off('click');
1175	var clz_width = jQuery('.cloud-zoom, .cloud-zoom-gallery').width();
1176	var clz_img_width = jQuery('.cloud-zoom, .cloud-zoom-gallery').children('img').width();
1177	var cl_zoom = jQuery('.cloud-zoom, .cloud-zoom-gallery').not('.on_pc');
1178	var temp = (clz_width-clz_img_width)/2;
1179	if(cl_zoom.length > 0 ){
1180		cl_zoom.data('zoom',null).siblings('.mousetrap').off().remove();
1181		cl_zoom.CloudZoom({ 
1182			adjustX:temp	
1183		});
1184	}
1185}
1186
1187/*** Widget toggle ***/
1188function ts_widget_toggle(){
1189	jQuery('.wpb_widgetised_column .widget-title-wrapper a.block-control, .footer-container .widget-title-wrapper a.block-control').remove();
1190	if( typeof drile_params != 'undefined' && drile_params.responsive == 0 ){
1191		return;
1192	}
1193	if( window.outerWidth >= 768 ){
1194		jQuery('.widget-title-wrapper a.block-control').removeClass('active').hide();
1195		jQuery('.widget-title-wrapper a.block-control').parent().siblings(':not(script)').show();
1196		jQuery('.filter-widget-area.style-default .widget-title-wrapper').siblings(':not(script)').hide();
1197	}
1198	else{
1199		jQuery('.widget-title-wrapper a.block-control').removeClass('active').show();
1200		jQuery('.widget-title-wrapper a.block-control').parent().siblings(':not(script)').hide();
1201		jQuery('.wpb_widgetised_column .widget-title-wrapper, .footer-container .widget-title-wrapper').siblings(':not(script)').show();
1202	}
1203}
1204
1205/*** Ajax search ***/
1206function ts_ajax_search(){
1207	var search_string = '';
1208	var search_previous_string = '';
1209	var search_timeout;
1210	var search_delay = 700;
1211	var search_input;
1212	var search_cache_data = {};
1213	jQuery('body').append('<div id="ts-search-result-container" class="ts-search-result-container woocommerce"></div>');
1214	var search_result_container = jQuery('#ts-search-result-container');
1215	var search_result_container_sidebar = jQuery('#ts-search-sidebar .ts-search-result-container');
1216	var is_sidebar = false;
1217	
1218	jQuery('.ts-header .search-content input[name="s"], #ts-search-sidebar input[name="s"]').on('keyup', function(e){
1219		is_sidebar = jQuery(this).parents('#ts-search-sidebar').length > 0;
1220		search_input = jQuery(this);
1221		search_result_container.hide();
1222		
1223		search_string = jQuery(this).val().trim();
1224		if( search_string.length < 2 ){
1225			search_input.parents('.search-content').removeClass('loading');
1226			return;
1227		}
1228		
1229		if( search_cache_data[search_string] ){
1230			if( !is_sidebar ){
1231				search_result_container.html(search_cache_data[search_string]);
1232				search_result_container.show();
1233			}
1234			else{
1235				search_result_container_sidebar.html(search_cache_data[search_string]);
1236			}
1237			search_previous_string = '';
1238			search_input.parents('.search-content').removeClass('loading');
1239			
1240			return;
1241		}
1242		
1243		clearTimeout(search_timeout);
1244		search_timeout = setTimeout(function(){
1245			if( search_string == search_previous_string || search_string.length < 2 ){
1246				return;
1247			}
1248			
1249			search_previous_string = search_string;
1250		
1251			search_input.parents('.search-content').addClass('loading');
1252			
1253			jQuery.ajax({
1254				type : 'POST'
1255				,url : drile_params.ajax_url
1256				,data : {action : 'drile_ajax_search', search_string: search_string, category: ''}
1257				,error : function(xhr,err){
1258					search_input.parents('.search-content').removeClass('loading');
1259				}
1260				,success : function(response){
1261					if( response != '' ){
1262						response = JSON.parse(response);
1263						if( response.search_string == search_string ){
1264							search_cache_data[search_string] = response.html;
1265							if( !is_sidebar ){
1266								search_result_container.html(response.html);
1267								var header_container = jQuery('.header-sticky > .container');
1268								
1269								search_result_container.css({
1270									'position': 'absolute'
1271									,'top': header_container.offset().top + header_container.outerHeight()
1272									,'left': header_container.offset().left + parseInt( header_container.css('padding-left') )
1273									,'width': header_container.width()
1274									,'display': 'block'
1275								});
1276							}
1277							else{
1278								search_result_container_sidebar.html(response.html);
1279							}
1280							
1281							search_input.parents('.search-content').removeClass('loading');
1282						}
1283					}
1284					else{
1285						search_input.parents('.search-content').removeClass('loading');
1286					}
1287				}
1288			});
1289		}, search_delay);
1290	});
1291	
1292	search_result_container.on('mouseleave', function(){
1293		search_result_container.hide();
1294	});
1295	
1296	jQuery('body').on('click', function(){
1297		search_result_container.hide();
1298	});
1299	
1300	jQuery(document).on('click', '.ts-search-result-container .view-all-wrapper a', function(e){
1301		e.preventDefault();
1302		search_input.parents('form').submit();
1303	});
1304}
1305
1306/*** Single post - Related posts - Gallery slider ***/
1307function ts_single_related_post_gallery_slider(){
1308	if( jQuery('.single-post figure.gallery, .list-posts .post-item .gallery figure, .ts-blogs-widget .thumbnail.gallery figure').length > 0 ){
1309		var _this = jQuery('.single-post figure.gallery, .list-posts .post-item .gallery figure, .ts-blogs-widget .thumbnail.gallery figure');
1310		var slider_data = {
1311			items: 1
1312			,loop: true
1313			,nav: true
1314			,dots: false
1315			,animateIn: 'fadeIn'
1316			,animateOut: 'fadeOut'
1317			,navText: [,]
1318			,navSpeed: 1000
1319			,rtl: jQuery('body').hasClass('rtl')
1320			,margin: 10
1321			,navRewind: false
1322			,autoplay: true
1323			,autoplayTimeout: 4000
1324			,autoplayHoverPause: true
1325			,autoplaySpeed: false
1326			,autoHeight: true
1327			,mouseDrag: false
1328			,responsive:{0:{items:1}}
1329			,onInitialized: function(){
1330				_this.removeClass('loading');
1331				_this.parent('.gallery').addClass('loaded').removeClass('loading');
1332			}
1333		};
1334		_this.each(function(){
1335			var validate_slider = true;
1336			
1337			if( jQuery(this).find('img').length <= 1 ){
1338				validate_slider = false;
1339			}
1340			
1341			if( validate_slider ){
1342				jQuery(this).owlCarousel(slider_data);
1343			}
1344			else{
1345				jQuery(this).removeClass('loading');
1346				jQuery(this).parent('.gallery').removeClass('loading');
1347			}
1348		});
1349	}
1350	
1351	if( jQuery('.single-post .related-posts.loading').length > 0 ){
1352		var _this = jQuery('.single-post .related-posts.loading');
1353		var slider_data = {
1354			loop: true
1355			,nav: true
1356			,navText: [,]
1357			,dots: false
1358			,navSpeed: 1000
1359			,rtl: jQuery('body').hasClass('rtl')
1360			,margin : 0
1361			,navRewind: false
1362			,responsiveBaseElement: _this
1363			,responsiveRefreshRate: 400
1364			,responsive:{0:{items:1},640:{items:2},1150:{items:3},1400:{items:4}}
1365			,onInitialized: function(){
1366				_this.addClass('loaded').removeClass('loading');
1367			}
1368		};
1369		_this.find('.content-wrapper .blogs').owlCarousel(slider_data);
1370	}
1371	
1372}
1373
1374/*** Single Portfolio Slider ***/
1375function ts_generate_single_portfolio_slider(){
1376	if( jQuery('.single-portfolio.slider .thumbnail figure img').length > 1 ){
1377		var wrapper = jQuery('.single-portfolio.slider');
1378		var element = jQuery('.single-portfolio.slider .thumbnail figure');
1379		element.owlCarousel({
1380					items: 1
1381					,loop: true
1382					,nav: true
1383					,navText: [,]
1384					,dots: false
1385					,navSpeed: 1000
1386					,rtl: jQuery('body').hasClass('rtl')
1387					,navRewind: false
1388					,autoplay: true
1389					,autoplayHoverPause: true
1390					,autoplaySpeed: 1000
1391					,onInitialized: function(){
1392						wrapper.find('.thumbnail').addClass('loaded').removeClass('loading');
1393					}
1394				});
1395	}
1396	else{
1397		jQuery('.single-portfolio.slider .thumbnail').removeClass('loading');
1398	}
1399}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.