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