1(function ($) { 2 'use strict'; 3 4 $(window).on('load', function () { 5 preloader(); 6 }); 7 8 $(function () { 9 mainNav(); 10 stickyHeader(); 11 dynamicBackground(); 12 scrollUp(); 13 }); 14 15 function preloader() { 16 $('.cs_preloader_in').fadeOut(); 17 $('.cs_preloader').delay(150).fadeOut('slow'); 18 } 19 20 /*-------------------------------------------------------------- 21 2. Mobile Menu 22 --------------------------------------------------------------*/ 23 function mainNav() { 24 $('.cs_nav').append('<span class="cs_menu_toggle"><span></span></span>'); 25 $('.menu-item-has-children').append( 26 '<span class="cs_menu_dropdown_toggle"><span></span></span>', 27 ); 28 $('.cs_menu_toggle').on('click', function () { 29 $(this) 30 .toggleClass('cs_toggle_active') 31 .parent() // First, get the parent of .cs_menu_toggle 32 .find('.cs_nav_list') // Then, find the desired .cs_nav_list 33 .toggleClass('cs_active'); 34 }); 35 $('.cs_menu_toggle') 36 .parents('body') 37 .find('.cs_side_header') 38 .addClass('cs_has_main_nav'); 39 $('.cs_menu_toggle') 40 .parents('body') 41 .find('.cs_toolbox') 42 .addClass('cs_has_main_nav'); 43 $('.cs_menu_dropdown_toggle').on('click', function () { 44 $(this).toggleClass('active').siblings('ul').slideToggle(); 45 $(this).parent().toggleClass('active'); 46 }); 47 // Side Nav 48 $('.cs_hamburger_info_btn').on('click', function () { 49 $('.cs_side_header').addClass('active'); 50 $('html').addClass('cs_hamburger_active'); 51 }); 52 $('.cs_close, .cs_side_header_overlay').on('click', function () { 53 $('.cs_side_header').removeClass('active'); 54 $('html').removeClass('cs_hamburger_active'); 55 }); 56 // Hamburger Menu 57 $('.cs_hamburger_menu .menu-item-has-children>a').on('click', function (e) { 58 e.preventDefault(); 59 $(this).siblings('ul').slideToggle(); 60 $(this).siblings('.cs_menu_dropdown_toggle').toggleClass('active'); 61 }); 62 63 $('.cs_hamburger_btn').on('click', function (e) { 64 $('.cs_hamburger_header').addClass('active'); 65 $('html').addClass('cs_hamburger_active'); 66 }); 67 $('.cs_close_hamburger').on('click', function (e) { 68 $('.cs_hamburger_header').removeClass('active'); 69 $('html').removeClass('cs_hamburger_active'); 70 }); 71 } 72 73 /*-------------------------------------------------------------- 74 3. Sticky Header 75 --------------------------------------------------------------*/ 76 function stickyHeader() { 77 var $window = $(window); 78 var lastScrollTop = 0; 79 var $header = $('.cs_sticky_header'); 80 var headerHeight = $header.outerHeight() + 30; 81 82 $window.scroll(function () { 83 var windowTop = $window.scrollTop(); 84 85 if (windowTop >= headerHeight) { 86 $header.addClass('cs_gescout_sticky'); 87 } else { 88 $header.removeClass('cs_gescout_sticky'); 89 $header.removeClass('cs_gescout_show'); 90 } 91 92 if ($header.hasClass('cs_gescout_sticky')) { 93 if (windowTop < lastScrollTop) { 94 $header.addClass('cs_gescout_show'); 95 } else { 96 $header.removeClass('cs_gescout_show'); 97 } 98 } 99 100 lastScrollTop = windowTop; 101 }); 102 } 103 104 /*-------------------------------------------------------------- 105 4. Dynamic Background 106 --------------------------------------------------------------*/ 107 function dynamicBackground() { 108 $('[data-src]').each(function () { 109 var src = $(this).attr('data-src'); 110 $(this).css({ 111 'background-image': 'url(' + src + ')', 112 }); 113 }); 114 } 115 116 /*-------------------------------------------------------------- 117 8. Scroll Up 118 --------------------------------------------------------------*/ 119 function scrollUp() { 120 $('.cs_scrollup_active').on('click', function (e) { 121 e.preventDefault(); 122 $('html,body').animate( 123 { 124 scrollTop: 0, 125 }, 126 0, 127 ); 128 }); 129 } 130 131 // Define the exists function 132 $.fn.exists = function () { 133 return this.length !== 0; 134 }; 135 136 /* Start Gallery Slider */ 137 if ($('.cs_gallery_slider_thumb').exists()) { 138 $('.cs_gallery_slider_thumb').slick({ 139 slidesToShow: 1, 140 slidesToScroll: 1, 141 prevArrow: $('.cs_left_arrow_gallery'), 142 nextArrow: $('.cs_right_arrow_gallery'), 143 asNavFor: '.cs_gallery_slider_nav', 144 fade: true, 145 });
146 $('.cs_gallery_slider_nav').slick({ 147 slidesToShow: 3, 148 slidesToScroll: 1, 149 asNavFor: '.cs_gallery_slider_thumb', 150 focusOnSelect: true, 151 arrows: false, 152 vertical: true, 153 centerMode: true, 154 centerPadding: '0px', 155 }); 156 } 157 158 if ($('.cs_gallery_slider_thumb_2').exists()) { 159 $('.cs_gallery_slider_thumb_2').slick({ 160 slidesToShow: 1, 161 slidesToScroll: 1, 162 prevArrow: $('.cs_left_arrow_gallery_2'), 163 nextArrow: $('.cs_right_arrow_gallery_2'), 164 asNavFor: '.cs_gallery_slider_nav_2', 165 speed: 1000, 166 }); 167 $('.cs_gallery_slider_nav_2').slick({ 168 slidesToShow: 3, 169 slidesToScroll: 1, 170 asNavFor: '.cs_gallery_slider_thumb_2', 171 focusOnSelect: true, 172 arrows: false, 173 centerMode: true, 174 centerPadding: '0px', 175 speed: 1000, 176 }); 177 } 178 /* End Gallery Slider */ 179 if ($('.cs_related_slide').exists()) { 180 $('.cs_related_slide').slick({ 181 dots: false, 182 infinite: false, 183 speed: 300, 184 arrows: true, 185 prevArrow: $('.cs_relate_left'), 186 nextArrow: $('.cs_relate_right'), 187 slidesToShow: 3, 188 slidesToScroll: 3, 189 responsive: [ 190 { 191 breakpoint: 1024, 192 settings: { 193 slidesToShow: 3, 194 slidesToScroll: 3, 195 infinite: true, 196 dots: true 197 } 198 }, 199 { 200 breakpoint: 600, 201 settings: { 202 slidesToShow: 2, 203 slidesToScroll: 2 204 } 205 }, 206 { 207 breakpoint: 480, 208 settings: { 209 slidesToShow: 1, 210 slidesToScroll: 1 211 } 212 } 213 ] 214 }); 215 } 216 217 jQuery(window).on('load', function() { 218 function initMasonry() { 219 var $grid = $('.sp-wp-masonry,.row.grid').masonry({ 220 // options 221 itemSelector: '.sp-wp-masonry-item,.row.grid .grid-item', 222 }); 223 224 // layout Masonry after each image loads 225 $grid.imagesLoaded().progress(function() { 226 $grid.masonry('layout'); 227 }); 228 } 229 230 function destroyMasonry() { 231 var $grid = $('.sp-wp-masonry,.row.grid').masonry(); 232 $grid.masonry('destroy'); 233 } 234 235 var isMasonryInitialized = false; 236 237 function checkMasonry() { 238 if (jQuery(window).width() > 992) { 239 if (!isMasonryInitialized) { 240 initMasonry(); 241 isMasonryInitialized = true; 242 } 243 } else { 244 if (isMasonryInitialized) { 245 destroyMasonry(); 246 isMasonryInitialized = false; 247 } 248 } 249 } 250 251 // Check on load 252 checkMasonry(); 253 254 // Check on resize 255 jQuery(window).on('resize', function() { 256 checkMasonry(); 257 }); 258}); 259 260})(jQuery); // End of use strict 261 262jQuery(document).ready(function($) { 263 264 // Date range picker initialization 265 function daterangepickerInit() { 266 let dateToday = new Date(); 267 let formattedDate = dateToday.toISOString().split('T')[0]; 268 $('.cs_start_date_value').text(formattedDate); 269 dateToday.setDate(dateToday.getDate() + 1); 270 formattedDate = dateToday.toISOString().split('T')[0]; 271 $('.cs_end_date_value').text(formattedDate); 272 273 $('input[name="datetimes"]').daterangepicker({ 274 startDate: formattedDate, 275 endDate: formattedDate, 276 autoApply: true, 277 locale: { 278 format: 'MM/DD/YYYY' 279 } 280 }, function(start, end, label) { 281 let cs_start_date = start.format('YYYY-MM-DD').toString(); 282 let cs_end_date = end.format('YYYY-MM-DD').toString(); 283 $('.cs_start_date').text(cs_start_date); 284 $('.cs_end_date').text(cs_end_date); 285 $('input[name="datetimes"]').val(cs_start_date + ' - ' + cs_end_date); 286 }); 287 } 288 289 // Quantity selector initialization 290function quantityInit() { 291$(document).on('click', function(event) { 292 if (!$(event.target).closest('.cs_quantity_wrap').length) { 293 $('.cs_quantity_wrap').removeClass('active'); 294 } 295}); 296 297$('.cs_quantity_btn').on('click', function() { 298 $('.cs_quantity_wrap').removeClass('active'); 299 $(this).parents('.cs_quantity_wrap').toggleClass('active'); 300}); 301 302$('.cs_quantity_btn').each(function() { 303 var initialNumber = parseInt($(this).data('initial-number'), 10); 304 var targetInput = $(this).data('target'); 305 $(targetInput).val(initialNumber); // Set the initial value to the hidden input 306 $(this) 307 .text(pad(initialNumber)) 308 .siblings('.cs_quantity_dropdown') 309 .find('.cs_quantity_number') 310 .text(pad(initialNumber)); 311}); 312 313$('.cs_quantity_increment').on('click', function() { 314 var maxNumber = parseInt( 315 $(this).siblings('.cs_quantity_number').data('max-value'), 316 10, 317 ); 318 var currentValue = parseInt( 319 $(this).siblings('.cs_quantity_number').text(), 320 10, 321 ); 322 if (currentValue < maxNumber) { 323 var newValue = currentValue + 1; 324 $(this) 325 .siblings('.cs_quantity_number') 326 .text(pad(newValue)); 327 $(this) 328 .parents('.cs_quantity_dropdown') 329 .siblings('.cs_quantity_btn') 330 .text(pad(newValue)); 331 var targetInput = $(this).parents('.cs_quantity_wrap').find('.cs_quantity_btn').data('target'); 332 $(targetInput).val(newValue); // Update the hidden input value 333 } 334}); 335 336$('.cs_quantity_decrement').on('click', function() { 337 var minNumber = parseInt( 338 $(this).siblings('.cs_quantity_number').data('min-value'), 339 10, 340 ); 341 var currentValue = parseInt( 342 $(this).siblings('.cs_quantity_number').text(), 343 10, 344 ); 345 if (currentValue > minNumber) { 346 var newValue = currentValue - 1; 347 $(this) 348 .siblings('.cs_quantity_number') 349 .text(pad(newValue)); 350 $(this) 351 .parents('.cs_quantity_wrap') 352 .find('.cs_quantity_btn') 353 .text(pad(newValue)); 354 var targetInput = $(this).parents('.cs_quantity_wrap').find('.cs_quantity_btn').data('target'); 355 $(targetInput).val(newValue); // Update the hidden input value 356 } 357}); 358 359function pad(num) { 360 var paddedNum = ('0' + num).slice(-2); 361 return paddedNum; 362} 363} 364 365 // Initialize functions on document ready 366 daterangepickerInit();
367 quantityInit(); 368});
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.