1/* global jQuery:false */ 2/* global BOOKLOVERS_STORAGE:false */ 3 4(function() { 5 "use strict"; 6 7 function booklovers_skin_post_header_init() { 8 var header = jQuery('.post_header_wrap_style_style-1.with_featured_image, .post_header_wrap_style_style-2.with_featured_image'); 9 header.find('.post_featured').css('min-height', 0); 10 11 if ( jQuery(header).find('.post_featured.with_gallery').length > 0 ) { 12 return; 13 } 14 if ( jQuery(header).find('.post_featured.with_thumb.post_featured_bg.with_video').length > 0 ) { 15 return; 16 } 17 18 header.each(function() { 19 var self = jQuery(this); 20 var image_h = self.find('.post_featured').outerHeight(); 21 var info_h = self.find('.post_header').outerHeight(); 22 var x = 180; 23 if ( jQuery('body').hasClass('mobile_layout') ) { 24 x = 100; 25 } 26 27 info_h = info_h + x; 28 if ( info_h >= image_h ) { 29 self.find('.post_featured').css('min-height', info_h); 30 } 31 }); 32 } 33 34 booklovers_add_filter( 'trx_addons_filter_skills_pie_options', function(opt) { 35 opt.animateScale = false; 36 return opt; 37 } ); 38 39 booklovers_add_filter( 'booklovers_filter_select_container_selector', function(selector) { 40 selector = selector + ':not([name*="paid-service"])'; 41 return selector; 42 } ); 43 44 // if ( typeof TRX_ADDONS_STORAGE != 'undefined' && TRX_ADDONS_STORAGE['mouse_helper'] > 0 && TRX_ADDONS_STORAGE['mouse_helper_in_swiper_slider'] > 0 ) { 45 // if (jQuery('body').find('.slider_container.slider_swiper:not(.go)').length > 0) { 46 // jQuery('body').find('.slider_container.slider_swiper:not(.go)').each(function () { 47 // jQuery(this).addClass('go'); 48 // var check_helper = jQuery(this).closest('.elementor-widget').data('mouse-helper'); 49 // if(!check_helper) { 50 // jQuery(this).attr('data-mouse-helper-hide-cursor', '1'); 51 // jQuery(this).attr('data-mouse-helper', 'hover'); 52 // jQuery(this).attr('data-mouse-helper-centered', '1'); 53 // jQuery(this).attr('data-mouse-helper-magnet', '0'); 54 // jQuery(this).attr('data-mouse-helper-bg-color', 'rgba(0, 0, 0, 1)'); 55 // jQuery(this).attr('data-mouse-helper-mode', 'normal'); 56 // jQuery(this).attr('data-mouse-helper-axis', 'xy'); 57 // jQuery(this).attr('data-mouse-helper-delay', '8'); 58 // jQuery(this).attr('data-mouse-helper-text-round', '0'); 59 // jQuery(this).attr('data-mouse-helper-layout', '<div class=custom-helper><span></span></div>'); 60 // if(jQuery(this).hasClass('slider_direction_vertical')) { 61 // jQuery(this).attr('data-mouse-helper-class', 'direction_vertical'); 62 // } 63 // } 64 // }); 65 // } 66 // } 67 68 // Create Swiper Controls - Title 69 function skin_blogger_controls_title() { 70 if (jQuery('body').find('.sc_slider_controls:not(.go)').length > 0) { 71 jQuery('body').find('.sc_slider_controls:not(.go)') 72 .each(function () { 73 var controls = jQuery(this).addClass('go'), 74 slider_id = controls.data('slider-id'), 75 pagination_style = controls.data('pagination-style'); 76 if (!slider_id) return; 77 slider_id = jQuery('#' + slider_id + ' .slider_swiper').attr('id'); 78 if (!slider_id) return; 79 80 // Add pagination 81 var s = typeof TRX_ADDONS_STORAGE['swipers'] != 'undefined' && typeof TRX_ADDONS_STORAGE['swipers'][slider_id] != 'undefined' ? TRX_ADDONS_STORAGE['swipers'][slider_id] : false, 82 slides = jQuery('#' + slider_id + ' .swiper-slide'), 83 spv = s 84 ? (s.params.loop 85 ? s.loopedSlides 86 : 0 87 ) 88 : 0; 89 if (pagination_style == 'title') { 90 var html = ''; 91 slides.each(function (idx) { 92 var slide = jQuery(this); 93 if (idx < spv || idx >= slides.length - spv) return; 94 var title = (slide.data('title') 95 ? slide.data('title') 96 : slide.find('[class*="_item_title"]').text() 97 ); 98 html += '<span class="slider_pagination_bullet swiper-pagination-bullet" data-slide-number="' + (s ? jQuery(this).data('slide-number') : idx) + '">' + title + '</span>'; 99 }); 100 controls.find('.slider_pagination_wrap').html(html); 101 102 jQuery('#' + slider_id).on('slider_init slide_change_start', function (e) { 103 if (TRX_ADDONS_STORAGE['swipers'][slider_id]) { 104 var s = TRX_ADDONS_STORAGE['swipers'][slider_id]; 105 var current = jQuery(s.slides[s.activeIndex]).data('slide-number') + 1, 106 total = s.params.loop ? Math.ceil((s.slides.length - s.loopedSlides * 2) / s.params.slidesPerGroup) : s.snapGrid.length; 107 if (total > 0) { 108 controls.find('.slider_pagination_bullet') 109 .removeClass('slider_pagination_bullet_active swiper-pagination-bullet-active') 110 .eq(current - 1) 111 .addClass('slider_pagination_bullet_active swiper-pagination-bullet-active'); 112 } 113 } 114 });
115 } 116 }); 117 } 118 } 119 120 121 // Init skin-specific actions on first run 122 // Attention! Don't forget to add the class "inited" and check it to prevent re-initialize the elements 123 124 // Change param "slides per" in exactly sliders 125 booklovers_add_filter( 'trx_addons_filter_slider_init_args', function( $param, $init ) { 126 if( $init.parents('.slider_width_auto').length > 0 && ( $init.parents('.sc_portfolio_extra').length > 0 || $init.parents('.sc_portfolio_default').length > 0 ) ) { 127 $param.slidesPerView = 'auto'; 128 } 129 return $param; 130 } ); 131 132 133 // Toggle for Filter 134 function skin_blogger_toggle_filter_add_element() { 135 if ( jQuery('.content').find(".sc_style_toggle").length > 0 ) { 136 jQuery(" .sc_style_toggle").each(function() { 137 var toggle_title = BOOKLOVERS_STORAGE['toggle_title']; 138 jQuery(this).find('.sc_item_filters').append('<div class="title_wrap"><span class="toggle_title"></span><span class="active_tab"></span></div>'); 139 jQuery(this).find('.sc_item_filters .sc_item_filters_tabs').wrap('<div class="list_wrap"></div>'); 140 jQuery(this).find('.sc_item_filters .toggle_title').text(toggle_title); 141 142 jQuery(this).find('span.active_tab') 143 .mouseenter( function() { 144 jQuery(this).parents('.sc_item_filters').find('.sc_item_filters_tabs').addClass('active'); 145 } 146 ); 147 jQuery(this).find('.sc_blogger_filters') 148 .mouseleave( function() { 149 jQuery(this).find('.sc_item_filters_tabs').removeClass('active'); 150 } 151 ); 152 }) 153 } 154 } 155 function skin_blogger_toggle_filter_upd_value() { 156 if ( jQuery('.content').find(".sc_style_toggle").length > 0 ) { 157 jQuery(" .sc_style_toggle").each(function() { 158 var text = jQuery(this).find('.sc_item_filters .sc_item_filters_tabs .sc_item_filters_tabs_active a').text(); 159 jQuery(this).find('.sc_item_filters .active_tab').text(text); 160 }) 161 } 162 } 163 function skin_add_custom_width_filter_list() { 164 if ( jQuery('.content').find(".sc_style_toggle").length > 0 ) { 165 jQuery('.sc_style_toggle .sc_item_filters_wrap .sc_item_filters').each(function() { 166 var check_element = jQuery(this).find('.list_wrap'); 167 var width = jQuery(this).find( '.title_wrap' ).outerWidth(); 168 jQuery(check_element).css('width', 'calc(100% - ' + (width + 10) + 'px)'); 169 }) 170 } 171 } 172 // Move title with cursor 173 function mousemove_for_portfolio_small() { 174 if (jQuery( window ).width() > 1279 ) { 175 if ( jQuery('.content').find(".sc_blogger_lay_portfolio_grid_grid_style_7").length > 0 ) { 176 jQuery(".sc_blogger_lay_portfolio_grid_grid_style_7 .sc_blogger_item").each(function() { 177 let $Target = jQuery(this); 178 let $TargetInner = $Target.find('.post_info_bl'); 179 $Target.mousemove(function(event){ 180 let y = event.pageY - $Target.offset().top + 20; 181 let x = event.pageX - $Target.offset().left + 20; 182 $TargetInner.css({'top': y,'left': x,'bottom': "auto",'right': "auto",'opacity': 1}); 183 184 }) 185 .mouseleave(function() { 186 $TargetInner.css({'top': 'auto','left': 30,'bottom': 30,'right': "auto",'opacity': 0}); 187 }); 188 }); 189 } 190 } 191 } 192 // Add wrap in portfolio style 193 function add_portfolio_image_wrap() { 194 if ( jQuery('.content').find(".sc_blogger_lay_portfolio_grid_grid_style_7").length > 0 ) { 195 var $item = jQuery(".sc_blogger_lay_portfolio_grid_grid_style_7 .sc_blogger_item:not(.inited_item)"); 196 $item.each(function() { 197 jQuery(this).addClass('inited_item'); 198 jQuery(this).find(".bg_in").wrap('<div class="bg_in_wrap"></div>'); 199 }); 200 } 201 202 if ( jQuery('.content').find(".sc_blogger_lay_portfolio_grid_grid_style_9").length > 0 ) { 203 var $item = jQuery(".sc_blogger_lay_portfolio_grid_grid_style_9 .sc_blogger_item:not(.inited_item)"); 204 $item.each(function() { 205 jQuery(this).addClass('inited_item'); 206 jQuery(this).find(".bg_in").wrap('<div class="bg_in_wrap"></div>'); 207 }); 208 } 209 } 210 // Move title with cursor 211 function mousemove_for_portfolio_large() { 212 if (jQuery( window ).width() > 1279 ) { 213 if ( jQuery('.content').find(".sc_blogger_lay_portfolio_grid_grid_style_9").length > 0 ) { 214 jQuery(".sc_blogger_lay_portfolio_grid_grid_style_9 .sc_blogger_item").each(function() { 215 let $Target = jQuery(this); 216 let $TargetInner = $Target.find('.post_info_bl'); 217 $Target.mousemove(function(event){ 218 let y = event.pageY - $Target.offset().top + 20; 219 let x = event.pageX - $Target.offset().left + 20; 220 $TargetInner.css({'top': y,'left': x,'bottom': "auto",'right': "auto",'opacity': 1 }); 221 }) 222 .mouseleave(function() { 223 $TargetInner.css({'top': "auto",'left': 30,'bottom': 30,'right': "auto",'opacity': 0 }); 224 });
225 }); 226 } 227 } 228 } 229 /* Add image background on wrap in portfolio Stretch */ 230 function background_image_portfolio_stretch() { 231 if ( jQuery('.content').find(".sc_blogger_portmodern").length > 0 ) { 232 233 jQuery(".sc_blogger_portmodern .sc_blogger_item .sc_blogger_item_title").on( 'mouseover', function() { 234 jQuery(this).addClass('active_item'); 235 jQuery(this).parents('.sc_blogger_content').addClass('active_items'); 236 }).on( 'mouseleave', function() { 237 jQuery(this).removeClass('active_item'); 238 jQuery(this).parents('.sc_blogger_content').removeClass('active_items'); 239 }); 240 if (jQuery( window ).width() > 1279 ) { 241 jQuery(".sc_blogger_portmodern .sc_blogger_item:not(.inited_item)").each(function() { 242 let $Target = jQuery(this).addClass('inited_item'); 243 let $TargetInner = $Target.find('.sc_blogger_item_title'); 244 let $TargetInnerId = $TargetInner.data('item-id'); 245 let $TargetInnerImg = $TargetInner.data('item-image'); 246 if ( $TargetInnerImg ) { 247 var obj = new Image(); 248 obj.src = $TargetInnerImg; 249 } 250 let $WrapImage = jQuery( this ).parents(".sc_blogger_portmodern").find(".decor_image_wrap"); 251 252 if( jQuery($WrapImage).find('#' + $TargetInnerId ).length <= 0 ) { 253 jQuery($WrapImage).append('<div id="' + $TargetInnerId + '" class="image_item" ></div>'); 254 jQuery($TargetInner).on('mouseover', function() { 255 let $NewTarget = jQuery( this ).parents(".sc_blogger_portmodern").find(".decor_image_wrap"); 256 jQuery($NewTarget).find('div#' + $TargetInnerId + '').css({'background-image': 'url(' + $TargetInnerImg + ')'}); 257 }) 258 } 259 }); 260 } 261 262 jQuery(".sc_blogger_portmodern .sc_blogger_item").each(function() { 263 let $Target = jQuery(this); 264 let $TargetInner = $Target.find('.sc_blogger_item_title'); 265 let $TargetInnerId = $TargetInner.data('item-id'); 266 let $WrapImage = jQuery( this ).parents(".sc_blogger_portmodern").find(".decor_image_wrap"); 267 jQuery($TargetInner).on('mouseover', function() { 268 jQuery($WrapImage).find('div#' + $TargetInnerId + '').addClass('active_image') 269 }).on( 'mouseleave', function() { 270 let $WrapImage = jQuery( this ).parents(".sc_blogger_portmodern").find(".image_item"); 271 jQuery($WrapImage).removeClass('active_image'); 272 }); 273 }); 274 275 jQuery(".sc_blogger_portmodern .sc_blogger_item").each(function() { 276 //jQuery(this).addClass('inited_description'); 277 jQuery(this).find(".sc_blogger_item_title").on( 'click', function() { 278 let $eachTitleItem = jQuery( this ).parents(".sc_blogger_portmodern").find(".sc_blogger_item").find(".sc_blogger_item_title"); 279 let $WrapPreview = jQuery( this ).parents(".sc_blogger_portmodern").find(".portfolio_preview"); 280 let $PreviewDescription = jQuery($WrapPreview).find(".portfolio_description"); 281 let $PreviewImage = jQuery($WrapPreview).find(".portfolio_image"); 282 let $PreviewClose = jQuery($WrapPreview).find(".close"); 283 let $TargetInnerDetails = jQuery( this ).data('details'); 284 let $TargetInnerImg = jQuery( this ).data('item-image'); 285 $PreviewImage.css({'background-image': 'url(' + $TargetInnerImg + ')'}); 286 $PreviewDescription.html($TargetInnerDetails); 287 jQuery($eachTitleItem).addClass('anim_fade'); 288 jQuery($WrapPreview).addClass('portfolio_preview_show'); 289 290 if( $WrapPreview.hasClass('portfolio_preview_show') ) { 291 jQuery('html').addClass('portfolio_preview_opened'); 292 $PreviewClose.on('click', function() { 293 jQuery('html').removeClass('portfolio_preview_opened'); 294 jQuery($eachTitleItem).removeClass('anim_fade'); 295 jQuery($WrapPreview).removeClass('portfolio_preview_show'); 296 jQuery($PreviewDescription).empty(); 297 }); 298 jQuery( window ).on( 'keyup', function(e) { 299 if (e.keyCode === 27) { 300 jQuery('html').removeClass('portfolio_preview_opened'); 301 jQuery($WrapPreview).removeClass('portfolio_preview_show'); 302 jQuery($eachTitleItem).removeClass('anim_fade'); 303 jQuery($PreviewDescription).empty(); 304 } 305 });
306 } 307 308 //jQuery(document).trigger( 'action.init_hidden_elements', [$WrapPreview] ); 309 310 // Socials share 311 //---------------------------------------------- 312 var $share_items = $PreviewDescription.find('.socials_share .social_items:not(.inited)'); 313 if ($share_items.length > 0) { 314 $share_items 315 .addClass('inited') 316 .on('click', '.social_item_popup', function(e) { 317 var url = jQuery(this).data('link'); 318 window.open(url, '_blank', 'scrollbars=0, resizable=1, menubar=0, left=100, top=100, width=480, height=400, toolbar=0, status=0'); 319 e.preventDefault(); 320 return false; 321 }) 322 .on('click', '.social_item[data-copy-link-url]', function(e) { 323 var $self = jQuery(this), 324 url = $self.data('copy-link-url'); 325 if ( url != '' ) { 326 trx_addons_copy_to_clipboard( url ); 327 var msg = $self.data('message') ? $self.data('message') : BOOKLOVERS_STORAGE['msg_copied']; 328 if ( msg ) { 329 $self.attr('data-tooltip-text', msg); 330 setTimeout( function() { 331 $self.removeAttr('data-tooltip-text'); 332 }, 3000 ); 333 } 334 } 335 e.preventDefault(); 336 return false; 337 }); 338 } 339 }); 340 }); 341 } 342 } 343 // Audio 344 function booklovers_skin_audio_init() { 345 jQuery('[class*="single_style_style-"]:not(.single_style_style-1):not(.single_style_style-3) .post_header_wrap_in_header .post_featured.with_audio.with_thumb:not(.audio_inited)').addClass('audio_inited').each(function() { 346 var featured = jQuery(this); 347 var audio_wrap = featured.find('.post_audio'); 348 var btn = jQuery('<div class="post_audio_btn"></div>'); 349 featured.prepend(btn); 350 btn.on('click', function() { 351 audio_wrap.toggleClass('show'); 352 audio_wrap.find('.mejs-playpause-button').click(); 353 }); 354 }); 355 } 356 357 358 jQuery( window ).load(function() { 359 360 // Audio 361 booklovers_skin_audio_init(); 362 363 // Toggle for Filter 364 skin_add_custom_width_filter_list(); 365 366 // Add image background on wrap in portfolio Stretch 367 background_image_portfolio_stretch(); 368 369 booklovers_skin_post_header_init(); 370 371 }); 372 373 jQuery( document ).on( 374 'action.ready_booklovers', function() { 375 extra_margin_top_video_popup_button(); 376 // Move title with cursor 377 mousemove_for_portfolio_large(); 378 mousemove_for_portfolio_small(); 379 380 // Toggle for Filter 381 skin_blogger_toggle_filter_add_element(); 382 383 skin_blogger_controls_title(); 384 385 // Anim for 404 page 386 if ( typeof window.TweenMax != 'undefined' ) { 387 if (jQuery('.post_item_404').length > 0) { 388 var $layer_1 = jQuery('.post_item_404 .svg-1'), 389 $layer_2 = jQuery('.post_item_404 .svg-2'), 390 $layer_3 = jQuery('.post_item_404 .svg-3'), 391 $layer_4 = jQuery('.post_item_404 .svg-4'), 392 $container = jQuery('.error404 .page_content_wrap'), 393 container_w = $container.width(), 394 container_h = $container.height(); 395 396 if ($layer_1.length > 0 || $layer_2.length > 0 || $layer_3.length > 0 || $layer_4.length > 0) { 397 jQuery(window).on('mousemove.parallax', function (event) { 398 var pos_x = event.pageX, 399 pos_y = event.pageY, 400 left = 0, 401 top = 0; 402 left = container_w / 2 - pos_x; 403 top = container_h / 2 - pos_y; 404 if ($layer_1.length > 0) { 405 TweenMax.to( 406 $layer_1, 407 1, 408 { 409 css: { 410 transform: 'translateX(' + left / 25 + 'px) translateY(' + top / 25 + 'px)' 411 }, 412 ease: Power2.easeOut, 413 overwrite: 'all' //'none' 414 } 415 ); 416 } 417 if ($layer_2.length > 0) { 418 TweenMax.to( 419 $layer_2, 420 1, 421 { 422 css: { 423 transform: 'translateX(' + left / 35 + 'px) translateY(' + top / 35 + 'px)' 424 }, 425 ease: Power2.easeOut, 426 overwrite: 'all' 427 } 428 ); 429 } 430 if ($layer_3.length > 0) { 431 TweenMax.to( 432 $layer_3, 433 1, 434 { 435 css: { 436 transform: 'translateX(' + left / 55 + 'px) translateY(' + top / 55 + 'px)' 437 }, 438 ease: Power2.easeOut, 439 overwrite: 'all' //'none' 440 } 441 ); 442 } 443 if ($layer_4.length > 0) { 444 TweenMax.to( 445 $layer_4, 446 1, 447 { 448 css: { 449 transform: 'translateX(' + left / 70 + 'px) translateY(' + top / 70 + 'px)' 450 }, 451 ease: Power2.easeOut, 452 overwrite: 'all' //'none' 453 } 454 ); 455 } 456 });
457 } 458 } 459 } 460 461 // for woo tinv 462 if(jQuery('.woocommerce-product-gallery__wrapper > .tinv-wraper').length > 0) { 463 var tinv = jQuery('.woocommerce-product-gallery__wrapper > .tinv-wraper'); 464 jQuery('.woocommerce-product-gallery__wrapper').after(tinv); 465 } 466 467 //Tilt 3d hover for Class - VanillaTiltHover 468 if (jQuery( '.VanillaTiltHover' ).length > 0) { 469 VanillaTilt.init(document.querySelectorAll('.VanillaTiltHover'), { 470 max: 8, 471 speed: 1000, 472 scale: 1.05, 473 transition: true, 474 easing: 'cubic-bezier(.03,.98,.52,.99)', 475 perspective: 1200, 476 }); 477 } 478 //Tilt 3d hover for teams 479 if (jQuery( '.start-inner-3d' ).length > 0) { 480 VanillaTilt.init(document.querySelectorAll('.start-inner-3d'), { 481 max: 5, 482 speed: 1000, 483 scale: 1, 484 transition: true, 485 easing: 'cubic-bezier(.03,.98,.52,.99)', 486 perspective: 1500, 487 }); 488 } 489 490 //Tilt 3d hover 491 if (jQuery( '.tilt_action' ).length > 0) { 492 VanillaTilt.init(document.querySelectorAll('.tilt_action'), { 493 max: 8, 494 speed: 1000, 495 scale: 1.05, 496 transition: true, 497 easing: 'cubic-bezier(.03,.98,.52,.99)', 498 perspective: 1400, 499 }); 500 } 501 502 //Tilt 3d hover for cat list 503 if (jQuery( '.tilt_action_cat_list' ).length > 0) { 504 VanillaTilt.init(document.querySelectorAll('.tilt_action_cat_list'), { 505 max: 8, 506 speed: 1500, 507 scale: 1.02, 508 transition: true, 509 easing: 'cubic-bezier(.03,.98,.52,.99)', 510 perspective: 2400, 511 }); 512 } 513 514 // Process Tribe Events view after it was reloaded by AJAX 515 jQuery('.tribe-events-view').on( 'beforeAjaxComplete.tribeEvents beforeAjaxSuccess.tribeEvents beforeAjaxError.tribeEvents', booklovers_tribe_events_after_ajax ); 516 function booklovers_tribe_events_after_ajax( jqXHR, textStatus ) { 517 setTimeout( function() { 518 // Set up event handler again because .tribe-events-view was recreated after AJAX 519 jQuery('.tribe-events-view').on( 'beforeAjaxComplete.tribeEvents beforeAjaxSuccess.tribeEvents beforeAjaxError.tribeEvents', booklovers_tribe_events_after_ajax ); 520 // ToDo: Any actions after the Tribe Events View is reloaded 521 522 }, 10 ); 523 } 524 525 526 // style line 527 if (jQuery( 'div.wpcf7 .style-line .wpcf7-form-control-wrap' ).length > 0) { 528 jQuery( 'div.wpcf7 .style-line .wpcf7-form-control-wrap' ).each( 529 function () { 530 jQuery(this).append('<span class="line"></span>'); 531 } 532 ); 533 } 534 535 function textarea_auto_height(txt) { 536 var hiddenDiv = jQuery(document.createElement('div')), 537 content = null; 538 txt.addClass('noscroll'); 539 hiddenDiv.addClass('hiddendiv'); 540 txt.after(hiddenDiv); 541 if(txt.val()) { 542 hiddenDiv.html(txt.val()); 543 txt.animate({ 'height' : hiddenDiv.outerHeight() 544 },800); 545 } 546 txt.bind('keyup', function() { 547 content = txt.val(); 548 content = content.replace(/\n/g, '<br>'); 549 hiddenDiv.html(content); 550 txt.animate({ 'height' : hiddenDiv.outerHeight() 551 },50); 552 }); 553 } 554 555 if (jQuery( 'div.wpcf7 .form-style-2 textarea' ).length > 0) { 556 jQuery( 'div.wpcf7 .form-style-2 textarea' ).each( 557 function () { 558 textarea_auto_height(jQuery(this)); 559 }); 560 } 561 562 // mc4wp - id 563 if (jQuery( '.mc4wp-form-fields' ).length > 0) { 564 var count_mc4wp = 1; 565 jQuery( '.mc4wp-form-fields' ).each( 566 function () { 567 jQuery(this).find('input[type="checkbox"]').each( 568 function () { 569 var id = jQuery(this).attr( 'id' ); 570 if(id) {} 571 else { 572 id = 'go'; 573 } 574 jQuery(this).attr('id', id + count_mc4wp); 575 jQuery(this).next('label').attr('for', id + count_mc4wp); 576 count_mc4wp++; 577 }); 578 }); 579 } 580 581 function mc4wpGO(form) { 582 jQuery(form).each(function () { 583 584 var form = jQuery(this), 585 btn = form.find('button, input[type="submit"], input[type="button"]'); 586 var $i_agree = form.find('input[type="checkbox"][name="i_agree_privacy_policy"]:not(.inited)' 587 + ',input[type="checkbox"][name="gdpr_terms"]:not(.inited)' 588 + ',input[type="checkbox"][name="wpgdprc"]:not(.inited)' 589 + ',input[type="checkbox"][name="AGREE_TO_TERMS"]:not(.inited)' 590 ); 591 form.addClass('inited_validation'); 592 593 if ( $i_agree.length > 0 ) { 594 $i_agree.addClass( 'inited' ); 595 } 596 597 btn.on( 'click', function(e) { 598 form.find('.trx_addons_message_box').remove(); 599 600 if ( $i_agree.length > 0 ) { 601 if ( ! $i_agree.get(0).checked ) { 602 form.append( '<div class="trx_addons_message_box trx_addons_message_box_error">' + BOOKLOVERS_STORAGE['msg_i_agree_error'] + '</div>' ); 603 var error_msg = form.find('.trx_addons_message_box'); 604 error_msg.fadeIn(600); 605 setTimeout( function() { 606 error_msg.fadeOut( 600, function() {error_msg = form.find('.trx_addons_message_box'); 607 error_msg.remove(); 608 } ); 609 }, 3000 ); 610 611 e.preventDefault(); 612 return false; 613 } 614 } 615 616 var rez = booklovers_form_validate(form, { 617 error_message_show: true, 618 error_message_time: 3000, 619 error_message_class: 'trx_addons_message_box trx_addons_message_box_error', 620 error_message_text: 'Global error text', 621 error_fields_class: 'mc4wp_error_field', 622 exit_after_first_error: true, 623 rules: [ 624 { 625 field: 'EMAIL', 626 min_length: {value: 7, message: BOOKLOVERS_STORAGE['mc4wp_msg_email_min']}, 627 max_length: {value: 60, message: BOOKLOVERS_STORAGE['mc4wp_msg_email_max']}, 628 mask: { 629 value: '^([a-zA-Z0-9_\\-]+\\.)*[a-zA-Z0-9_\\-]+@[a-zA-Z0-9_\\-]+(\\.[a-zA-Z0-9_\\-]+)*\\.[a-zA-Z]{2,6}$', 630 message: 'Invalid email address' 631 } 632 }, 633 ] 634 });
635 636 if (!rez) { 637 jQuery(form).submit(); 638 } 639 else { 640 e.preventDefault(); 641 return rez; 642 } 643 644 }); 645 }); 646 } 647 mc4wpGO(jQuery(".mc4wp-form:not(.inited_validation)")); 648 649 var $document = jQuery(document), 650 body = jQuery('body'); 651 652 // Open/Close mobile menu 653 $document.on( 'action.mobile_menu_open', function(e, $menu) { 654 $menu.find( '.menu_mobile_widgets_area a[href*="mailto"]').addClass( 'underline_anim' ); 655 setTimeout( 656 function() { 657 $menu.find( '.menu_mobile_widgets_area a[href*="mailto"]' ).addClass( 'underline_do_hover' ); 658 }, 600 659 ); 660 } ); 661 $document.on( 'action.mobile_menu_close', function(e, $menu) { 662 $menu.addClass( 'out_anim' ); 663 setTimeout( function () { 664 $menu.removeClass('out_anim'); 665 jQuery('.menu_mobile_widgets_area a[href*="mailto"]').removeClass('underline_do_hover'); 666 }, 1000); 667 } ); 668 booklovers_add_filter( 'booklovers_filter_mobile_menu_close_timeout', function( timeout, $menu ) { 669 return 1000; 670 } ); 671 672 // Open/Close panel menu 673 // Prepare links to panel 674 body.find('.sc_layouts_panel_menu:not(.inited)').each( function() { 675 var self = jQuery(this), 676 id = self.attr('id'); 677 if (!id) return; 678 var link = jQuery('a[href="#'+id+'"]'); 679 if (link.length === 0) { 680 body.append('<a href="#'+id+'" class="trx_addons_hidden"></a>'); 681 link = jQuery('a[href="#'+id+'"]'); 682 } 683 link.addClass('trx_addons_panel_menu_link'); 684 }); 685 686 // Display panel on click on the panel link 687 function booklovers_skin_open_panel( id ) { 688 var $panel = jQuery( '#' + id ).addClass( 'opened' ); 689 $panel.prev('.sc_layouts_panel_menu_overlay' ).fadeIn(); 690 $panel.find( '[class*="trx_addons_title_with_link"] > a:not(.underline_anim)' ).addClass( 'underline_anim' ); 691 setTimeout( 692 function() { 693 $panel.find( '[class*="trx_addons_title_with_link"] > a.underline_anim' ).addClass( 'underline_do_hover' ); 694 }, 600 695 ); 696 body.addClass( 'sc_layouts_panel_menu_opened' ); 697 $document.trigger( 'action.stop_wheel_handlers' ); 698 } 699 700 jQuery( '.trx_addons_panel_menu_link:not(.panel_inited)' ) 701 .addClass( 'panel_inited' ) 702 .on( 'click', function(e) { 703 booklovers_skin_open_panel( jQuery(this).attr('href').substring(1) ); 704 e.preventDefault(); 705 return false; 706 }); 707 708 // Close panel 709 function booklovers_skin_close_panel() { 710 711 var $panel = jQuery( '.sc_layouts_panel_menu.opened' ).addClass( 'out_anim' ); 712 713 jQuery( '.sc_layouts_panel_menu_close' ).parents( 'sc_layouts_panel_menu' ).addClass( 'out_anim' ); 714 715 setTimeout(function () { 716 $panel.prev( '.sc_layouts_panel_menu_overlay' ).fadeOut(); 717 $panel.removeClass('out_anim').removeClass('opened'); 718 $panel.find('[class*="trx_addons_title_with_link"] > a.underline_anim').removeClass('underline_do_hover'); 719 body.removeClass( 'sc_layouts_panel_menu_opened' ); 720 $document.trigger( 'action.start_wheel_handlers' ); 721 }, 1000); 722 } 723 $document 724 .on( 'keyup', function(e) { 725 var $panel = jQuery( '.sc_layouts_panel_menu.opened'); 726 if (e.keyCode === 27) { 727 if ($panel.length === 1) { 728 booklovers_skin_close_panel(); 729 e.preventDefault(); 730 return false; 731 } 732 } 733 } 734 ); 735 736 jQuery( '.sc_layouts_panel_menu_close, .sc_layouts_panel_menu_overlay' ) 737 .on( 'click', function(e) { 738 booklovers_skin_close_panel(); 739 e.preventDefault(); 740 return false; 741 } 742 ); 743 744 jQuery( '.sc_layouts_panel_menu_close' ) 745 .on( 'keyup', function(e) { 746 var $panel = jQuery( '.sc_layouts_panel_menu.opened'); 747 if (e.keyCode === 13) { 748 if ($panel.length === 1) { 749 booklovers_skin_close_panel(); 750 e.preventDefault(); 751 return false; 752 } 753 } 754 } ) 755 .on( 'focus', function() { 756 if ( ! body.hasClass( 'sc_layouts_panel_menu_opened' ) ) { 757 jQuery( '#content_skip_link_anchor' ).focus(); 758 } 759 } ); 760 761 } 762 ); 763 764 // Search Modern ----------------- 765 //------------------------------- 766 var $search_wrap = jQuery( '.search_modern .search_wrap:not(.inited)' ); 767 768 if ( $search_wrap.length > 0 ) { 769 jQuery( $search_wrap.each( function() { 770 var $body = jQuery('body'), 771 $search_wrap_init = jQuery(this).addClass( 'inited' ), 772 search_field = $search_wrap_init.find( '.search_field' ), 773 ajax_timer = null; 774
775 // ESC is pressed 776 search_field.on('keyup', function(e) { 777 if (e.keyCode === 27) { 778 search_field.val(''); 779 $body.addClass('search_out_anim'); 780 setTimeout(function () { 781 booklovers_search_close($search_wrap_init); 782 $body.removeClass('search_open_anim'); 783 $body.removeClass('search_out_anim'); 784 $search_wrap_init.next( '.search_overlay' ).fadeOut(); 785 786 e.preventDefault(); 787 return false; 788 }, 800); 789 790 setTimeout(function () { 791 $search_wrap_init.parent().removeClass('search_active'); 792 $body.removeClass('search_active'); 793 }, 1200); 794 } 795 // AJAX search 796 if ($search_wrap_init.hasClass('search_ajax')) { 797 var s = search_field.val(); 798 if (ajax_timer) { 799 clearTimeout(ajax_timer); 800 ajax_timer = null; 801 } 802 if (s.length >= 4) { 803 ajax_timer = setTimeout(function () { 804 $search_wrap_init.addClass('search_progress'); 805 jQuery.post(TRX_ADDONS_STORAGE['ajax_url'], { 806 action: 'ajax_search', 807 nonce: TRX_ADDONS_STORAGE['ajax_nonce'], 808 text: s, 809 post_types: $search_wrap_init.find('input[name="post_types"]').val() 810 }).done(function (response) { 811 clearTimeout(ajax_timer); 812 ajax_timer = null; 813 var rez = {}; 814 if (response == '' || response == 0) { 815 rez = {error: TRX_ADDONS_STORAGE['msg_search_error']}; 816 } else { 817 try { 818 rez = JSON.parse(response); 819 } catch (e) { 820 rez = {error: TRX_ADDONS_STORAGE['msg_search_error']}; 821 console.log(response); 822 } 823 } 824 var msg = rez.error === '' ? rez.data : rez.error; 825 $search_wrap_init.removeClass('search_progress'); 826 search_field.parents('.search_ajax').find('.search_results_content').empty().append(msg); 827 search_field.parents('.search_ajax').find('.search_results').fadeIn(); 828 jQuery(document).trigger('action.got_ajax_response', { 829 action: 'ajax_search', 830 result: rez 831 }); 832 }); 833 }, 500); 834 } 835 } 836 837 }); 838 839 //Search Submit 840 var $search = $search_wrap_init.prev('.search_submit'); 841 $search.on('click', function(e) { 842 $search_wrap_init.parent().addClass('search_active'); 843 $body.addClass('search_active'); 844 if (!$search_wrap_init.hasClass('search_opened')) { 845 $search_wrap_init.addClass('search_opened'); 846 $body.addClass('search_open_anim'); 847 $search_wrap_init.next( '.search_overlay' ).fadeIn(); 848 setTimeout(function() { search_field.get(0).focus(); }, 500); 849 } else if (search_field.val() === '') { 850 if ($search_wrap_init.hasClass('search_opened')) 851 booklovers_search_close($search_wrap_init); 852 else 853 search_field.get(0).focus(); 854 } else { 855 $search_wrap_init.addClass('search_progress'); 856 $search_wrap_init.find('form').get(0).submit(); 857 } 858 e.preventDefault(); 859 return false; 860 }); 861 862 // Click "Search close" 863 $search_wrap_init.find('.search_close').add( 864 $search_wrap_init.next('.search_overlay') 865 ).on('click', function(e) { 866 $body.addClass('search_out_anim'); 867 868 setTimeout(function () { 869 booklovers_search_close($search_wrap_init); 870 $body.removeClass('search_open_anim'); 871 $body.removeClass('search_out_anim'); 872 $search_wrap_init.next( '.search_overlay' ).fadeOut(); 873 874 e.preventDefault(); 875 return false; 876 }, 800); 877 878 setTimeout(function () { 879 $search_wrap_init.parent().removeClass('search_active'); 880 $body.removeClass('search_active'); 881 }, 1200); 882 883 }); 884 885 // Click "Close search results" 886 $search_wrap_init.find('.search_results_close').on('click', function(e) { 887 jQuery(this).parent().fadeOut(); 888 e.preventDefault(); 889 return false; 890 }); 891 // Click "More results" 892 $search_wrap_init.on('click', '.search_more', function(e) { 893 if (search_field.val() !== '') 894 $search_wrap_init.find('form').get(0).submit(); 895 e.preventDefault(); 896 return false; 897 }); 898 })); 899 }
900 // Close search field (remove class 'search_opened' and close search results) 901 function booklovers_search_close($search_wrap_init) { 902 $search_wrap_init.removeClass('search_opened'); 903 $search_wrap_init.find('.search_results').fadeOut(); 904 } 905 906 // Add skin specific styles to the Google map 907 jQuery(document).on('action.add_googlemap_styles', function(e) { 908 if (typeof TRX_ADDONS_STORAGE == 'undefined') return; 909 TRX_ADDONS_STORAGE['googlemap_styles']['extra'] = [{"featureType": "water", "elementType": "geometry", "stylers": [{"color": "#e9e9e9"}, {"lightness": 17}]}, {"featureType": "landscape", "elementType": "geometry", "stylers": [{"color": "#f5f5f5"}, {"lightness": 20}]}, {"featureType": "road.highway", "elementType": "geometry.fill", "stylers": [{"color": "#ffffff"}, {"lightness": 17}]}, {"featureType": "road.highway", "elementType": "geometry.stroke", "stylers": [{"color": "#ffffff"}, {"lightness": 29}, {"weight": 0.2}]}, {"featureType": "road.arterial", "elementType": "geometry", "stylers": [{"color": "#ffffff"}, {"lightness": 18}]}, {"featureType": "road.local", "elementType": "geometry", "stylers": [{"color": "#ffffff"}, {"lightness": 16}]}, {"featureType": "poi", "elementType": "geometry", "stylers": [{"color": "#f5f5f5"}, {"lightness": 21}]}, {"featureType": "poi.park", "elementType": "geometry", "stylers": [{"color": "#dedede"}, {"lightness": 21}]}, {"elementType": "labels.text.stroke", "stylers": [{"visibility": "on"}, {"color": "#ffffff"}, {"lightness": 16}]}, {"elementType": "labels.text.fill", "stylers": [{"saturation": 36}, {"color": "#333333"}, {"lightness": 40}]}, {"elementType": "labels.icon", "stylers": [{"visibility": "off"}]}, {"featureType": "transit", "elementType": "geometry", "stylers": [{"color": "#f2f2f2"}, {"lightness": 19}]}, {"featureType": "administrative", "elementType": "geometry.fill", "stylers": [{"color": "#fefefe"}, {"lightness": 20}]}, {"featureType": "administrative", "elementType": "geometry.stroke", "stylers": [{"color": "#fefefe"}, {"lightness": 17}, {"weight": 1.2}]}]; 910 } ); 911 912 // Init skin-specific hidden elements when their parent container becomes visible 913 // Attention! Don't forget to add the class "inited" and check it to prevent re-initialize the elements 914 jQuery( document ).on( 915 'action.init_hidden_elements', function() { 916 skin_blogger_toggle_filter_upd_value(); 917 skin_add_custom_width_filter_list(); 918 // Move title with cursor 919 mousemove_for_portfolio_large(); 920 mousemove_for_portfolio_small(); 921 922 add_portfolio_image_wrap(); 923 924 // Add image background on wrap in portfolio Stretch 925 background_image_portfolio_stretch(); 926 927 skin_blogger_controls_title(); 928 } 929 ); 930 931 // Skin-specific scroll actions 932 jQuery( document ).on( 933 'action.scroll_booklovers', function() { 934 935 } 936 ); 937 938 // Skin-specific resize actions 939 jQuery( document ).on( 940 'action.resize_booklovers', function() { 941 extra_margin_top_video_popup_button(); 942 booklovers_skin_post_header_init(); 943 skin_add_custom_width_filter_list(); 944 max_same_height(".max-same-height"); 945 jQuery('.timetable-style').each(function () { 946 max_same_height('.timetable-style .elementor-widget-heading'); 947 }); 948 } 949 ); 950 951 function extra_margin_top_video_popup_button() { 952 if (jQuery('.single-format-video .post_header_wrap_style_style-1 .post_featured.with_video.with_thumb.post_featured_bg + .post_header').length > 0) { 953 var alter_height = jQuery('.single-format-video .post_header_wrap_style_style-1 .post_featured.with_video.with_thumb.post_featured_bg + .post_header').height(); 954 jQuery('.single-format-video .post_header_wrap_style_style-1 .post_featured.with_video.with_thumb.post_featured_bg .post_video_hover_popup').css({"margin-top": (- alter_height / 2 + 'px'), "opacity":1}); 955 } 956 } 957 958 // Maximum Same Height 959 function max_same_height(block) { 960 var mh = 0; 961 if(jQuery(block).length > 0) { 962 jQuery(block).height('auto'); 963 jQuery(block).each(function () { 964 var h_block = parseInt(jQuery(this).height()); 965 if(h_block > mh) { 966 mh = h_block; 967 }; 968 }); 969 jQuery(block).height(mh); 970 } 971 } 972 973 // Click woo filter button 974 jQuery( '.booklovers_woocommerce_filters_button,.sidebar > .sidebar_close,.sidebar_overlay' ).on( 'click', function(e) { 975 var sidebar_float = jQuery( '.sidebar.sidebar_float' ); 976 sidebar_float.addClass('float_anim'); 977 setTimeout(function () { 978 sidebar_float.removeClass('float_anim'); 979 e.preventDefault(); 980 return false; 981 }, 400); 982 }); 983 984})();
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.