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.