PageSourceSearch

https://www.ebma.org/wp-content/themes/integro/skins/default/skin.js

js ebma.org collected 2026-10-02 10:01:02 UTC 44,106 bytes, 999 lines download raw bytes

1/* global jQuery:false */
2/* global INTEGRO_STORAGE:false */
3
4(function() {
5	"use strict";
6
7	function integro_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	integro_add_filter( 'trx_addons_filter_skills_pie_options', function(opt) {
35		opt.animateScale = false;
36		return opt;
37	} );
38
39	integro_add_filter( 'integro_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	integro_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 = INTEGRO_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') : INTEGRO_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 integro_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 ).on('load',function() {
360
361		// Audio
362		integro_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		integro_skin_post_header_init();
371
372	});
373
374	jQuery( document ).on(
375		'action.ready_integro', 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			// Anim for 404 page
387			if ( typeof window.TweenMax != 'undefined' ) {
388				if (jQuery('.post_item_404').length > 0) {
389					var $layer_1 = jQuery('.post_item_404 .svg-1'),
390						$layer_2 = jQuery('.post_item_404 .svg-2'),
391						$layer_3 = jQuery('.post_item_404 .svg-3'),
392						$layer_4 = jQuery('.post_item_404 .svg-4'),
393						$container = jQuery('.error404 .page_content_wrap'),
394						container_w = $container.width(),
395						container_h = $container.height();
396
397					if ($layer_1.length > 0 || $layer_2.length > 0 || $layer_3.length > 0 || $layer_4.length > 0) {
398						jQuery(window).on('mousemove.parallax', function (event) {
399							var pos_x = event.pageX,
400								pos_y = event.pageY,
401								left = 0,
402								top = 0;
403							left = container_w / 2 - pos_x;
404							top = container_h / 2 - pos_y;
405							if ($layer_1.length > 0) {
406								TweenMax.to(
407									$layer_1,
408									1,
409									{
410										css: {
411											transform: 'translateX(' + left / 25 + 'px) translateY(' + top / 25 + 'px)'
412										},
413										ease: Power2.easeOut,
414										overwrite: 'all' //'none'
415									}
416								);
417							}
418							if ($layer_2.length > 0) {
419								TweenMax.to(
420									$layer_2,
421									1,
422									{
423										css: {
424											transform: 'translateX(' + left / 35 + 'px) translateY(' + top / 35 + 'px)'
425										},
426										ease: Power2.easeOut,
427										overwrite: 'all'
428									}
429								);
430							}
431							if ($layer_3.length > 0) {
432								TweenMax.to(
433									$layer_3,
434									1,
435									{
436										css: {
437											transform: 'translateX(' + left / 55 + 'px) translateY(' + top / 55 + 'px)'
438										},
439										ease: Power2.easeOut,
440										overwrite: 'all' //'none'
441									}
442								);
443							}
444							if ($layer_4.length > 0) {
445								TweenMax.to(
446									$layer_4,
447									1,
448									{
449										css: {
450											transform: 'translateX(' + left / 70 + 'px) translateY(' + top / 70 + 'px)'
451										},
452										ease: Power2.easeOut,
453										overwrite: 'all' //'none'
454									}
455								);
456							}
457						});
458					}
459				}
460			}
461
462			// for woo tinv
463			if(jQuery('.woocommerce-product-gallery__wrapper > .tinv-wraper').length > 0) {
464				var tinv = jQuery('.woocommerce-product-gallery__wrapper > .tinv-wraper');
465				jQuery('.woocommerce-product-gallery__wrapper').after(tinv);
466			}
467
468			//Tilt 3d hover for Class - VanillaTiltHover
469			if (jQuery( '.VanillaTiltHover' ).length > 0) {
470				VanillaTilt.init(document.querySelectorAll('.VanillaTiltHover'), {
471					max: 8,
472					speed: 1000,
473					scale: 1.05,
474					transition: true,
475					easing: 'cubic-bezier(.03,.98,.52,.99)',
476					perspective: 1200,
477				});
478			}
479			//Tilt 3d hover for teams
480			if (jQuery( '.start-inner-3d' ).length > 0) {
481				VanillaTilt.init(document.querySelectorAll('.start-inner-3d'), {
482					max: 5,
483					speed: 1000,
484					scale: 1,
485					transition: true,
486					easing: 'cubic-bezier(.03,.98,.52,.99)',
487					perspective: 1500,
488				});
489			}
490
491            //Tilt 3d hover
492	        if (jQuery( '.tilt_action' ).length > 0) {
493                VanillaTilt.init(document.querySelectorAll('.tilt_action'), {
494                    max: 8,
495                    speed: 1000,
496                    scale: 1.05,
497                    transition: true,
498                    easing: 'cubic-bezier(.03,.98,.52,.99)',
499                    perspective: 1400,
500                });
501            }
502
503			//Tilt 3d hover for cat list
504			if (jQuery( '.tilt_action_cat_list' ).length > 0) {
505				VanillaTilt.init(document.querySelectorAll('.tilt_action_cat_list'), {
506					max: 8,
507					speed: 1500,
508					scale: 1.02,
509					transition: true,
510					easing: 'cubic-bezier(.03,.98,.52,.99)',
511					perspective: 2400,
512				});
513			}
514
515            // Process Tribe Events view after it was reloaded by AJAX
516			jQuery('.tribe-events-view').on( 'beforeAjaxComplete.tribeEvents beforeAjaxSuccess.tribeEvents beforeAjaxError.tribeEvents', integro_tribe_events_after_ajax );
517			function integro_tribe_events_after_ajax( jqXHR, textStatus ) {
518				setTimeout( function() {
519					// Set up event handler again because .tribe-events-view was recreated after AJAX
520					jQuery('.tribe-events-view').on( 'beforeAjaxComplete.tribeEvents beforeAjaxSuccess.tribeEvents beforeAjaxError.tribeEvents', integro_tribe_events_after_ajax );
521					// ToDo: Any actions after the Tribe Events View is reloaded
522
523				}, 10 );
524			}
525
526			jQuery('.wpcf7-submit').wrap("<span class='wpcf7-submit-style'></span>").after("<span class='submit-style-in'></span>");
527
528			// style line
529			if (jQuery( 'div.wpcf7 .style-line .wpcf7-form-control-wrap' ).length > 0) {
530				jQuery( 'div.wpcf7 .style-line .wpcf7-form-control-wrap' ).each(
531					function () {
532						jQuery(this).append('<span class="line"></span>');
533					}
534				);
535			}
536
537			function textarea_auto_height(txt) {
538				var hiddenDiv = jQuery(document.createElement('div')),
539					content = null;
540				txt.addClass('noscroll');
541				hiddenDiv.addClass('hiddendiv');
542				txt.after(hiddenDiv);
543				if(txt.val()) {
544					hiddenDiv.html(txt.val());
545					txt.animate({ 'height' : hiddenDiv.outerHeight()
546					},800);
547				}
548				txt.bind('keyup', function() {
549					content = txt.val();
550					content = content.replace(/\n/g, '<br>');
551					hiddenDiv.html(content);
552					txt.animate({ 'height' : hiddenDiv.outerHeight()
553					},50);
554				});
555			}
556
557			if (jQuery( 'div.wpcf7 .form-style-2 textarea' ).length > 0) {
558				jQuery( 'div.wpcf7 .form-style-2 textarea' ).each(
559					function () {
560						textarea_auto_height(jQuery(this));
561					});
562			}
563
564			// mc4wp - id
565			if (jQuery( '.mc4wp-form-fields' ).length > 0) {
566				var count_mc4wp = 1;
567				jQuery( '.mc4wp-form-fields' ).each(
568					function () {
569						jQuery(this).find('input[type="checkbox"]').each(
570							function () {
571								var id = jQuery(this).attr( 'id' );
572								if(id) {}
573								else {
574									id = 'go';
575								}
576								jQuery(this).attr('id', id + count_mc4wp);
577								jQuery(this).next('label').attr('for', id + count_mc4wp);
578								count_mc4wp++;
579							});
580					});
581			}
582
583			function mc4wpGO(form) {
584				jQuery(form).each(function () {
585
586					var form = jQuery(this),
587						btn = form.find('button, input[type="submit"], input[type="button"]');
588					var $i_agree = form.find('input[type="checkbox"][name="i_agree_privacy_policy"]:not(.inited)'
589						+ ',input[type="checkbox"][name="gdpr_terms"]:not(.inited)'
590						+ ',input[type="checkbox"][name="wpgdprc"]:not(.inited)'
591						+ ',input[type="checkbox"][name="AGREE_TO_TERMS"]:not(.inited)'
592					);
593					form.addClass('inited_validation');
594
595					if ( $i_agree.length > 0 ) {
596						$i_agree.addClass( 'inited' );
597					}
598
599					btn.on( 'click', function(e) {
600						form.find('.trx_addons_message_box').remove();
601
602						if ( $i_agree.length > 0 ) {
603							if ( ! $i_agree.get(0).checked ) {
604								form.append( '<div class="trx_addons_message_box trx_addons_message_box_error">' + INTEGRO_STORAGE['msg_i_agree_error'] + '</div>' );
605								var error_msg = form.find('.trx_addons_message_box');
606								error_msg.fadeIn(600);
607								setTimeout( function() {
608									error_msg.fadeOut( 600, function() {error_msg = form.find('.trx_addons_message_box');
609										error_msg.remove();
610									} );
611								}, 3000 );
612
613								e.preventDefault();
614								return false;
615							}
616						}
617
618						var rez = integro_form_validate(form, {
619							error_message_show: true,
620							error_message_time: 3000,
621							error_message_class: 'trx_addons_message_box trx_addons_message_box_error',
622							error_message_text: 'Global error text',
623							error_fields_class: 'mc4wp_error_field',
624							exit_after_first_error: true,
625							rules: [
626								{
627									field: 'EMAIL',
628									min_length: {value: 7, message: INTEGRO_STORAGE['mc4wp_msg_email_min']},
629									max_length: {value: 60, message: INTEGRO_STORAGE['mc4wp_msg_email_max']},
630									mask: {
631										value: '^([a-zA-Z0-9_\\-]+\\.)*[a-zA-Z0-9_\\-]+@[a-zA-Z0-9_\\-]+(\\.[a-zA-Z0-9_\\-]+)*\\.[a-zA-Z]{2,6}$',
632										message: 'Invalid email address'
633									}
634								},
635							]
636						});
637
638						if (!rez) {
639							jQuery(form).submit();
640						}
641						else {
642							e.preventDefault();
643							return rez;
644						}
645
646					});
647				});
648			}
649			mc4wpGO(jQuery(".mc4wp-form:not(.inited_validation)"));
650
651			var $document = jQuery(document),
652				body = jQuery('body');
653
654			// Open/Close mobile menu
655			$document.on( 'action.mobile_menu_open', function(e, $menu) {
656				$menu.find( '.menu_mobile_widgets_area a[href*="mailto"]').addClass( 'underline_anim' );
657                setTimeout(
658                    function() {
659                        $menu.find( '.menu_mobile_widgets_area a[href*="mailto"]' ).addClass( 'underline_do_hover' );
660                    }, 600
661                );
662			} );
663			$document.on( 'action.mobile_menu_close', function(e, $menu) {
664				$menu.addClass( 'out_anim' );
665                setTimeout( function () {
666                    $menu.removeClass('out_anim');
667					jQuery('.menu_mobile_widgets_area a[href*="mailto"]').removeClass('underline_do_hover');
668                }, 1000);
669			} );
670			integro_add_filter( 'integro_filter_mobile_menu_close_timeout', function( timeout, $menu ) {
671				return 1000;
672			} );
673
674            // Open/Close panel menu
675			// Prepare links to panel
676            body.find('.sc_layouts_panel_menu:not(.inited)').each( function() {
677				var self = jQuery(this),
678					id = self.attr('id');
679				if (!id) return;
680				var link = jQuery('a[href="#'+id+'"]');
681				if (link.length === 0) {
682					body.append('<a href="#'+id+'" class="trx_addons_hidden"></a>');
683					link = jQuery('a[href="#'+id+'"]');
684				}
685				link.addClass('trx_addons_panel_menu_link');
686			});
687
688            // Display panel on click on the panel link
689            function integro_skin_open_panel( id ) {
690                var $panel = jQuery( '#' + id ).addClass( 'opened' );
691                $panel.prev('.sc_layouts_panel_menu_overlay' ).fadeIn();
692                $panel.find( '[class*="trx_addons_title_with_link"] > a:not(.underline_anim)' ).addClass( 'underline_anim' );
693                setTimeout(
694                    function() {
695                        $panel.find( '[class*="trx_addons_title_with_link"] > a.underline_anim' ).addClass( 'underline_do_hover' );
696                    }, 600
697                );
698                body.addClass( 'sc_layouts_panel_menu_opened' );
699                $document.trigger( 'action.stop_wheel_handlers' );
700            }
701
702            jQuery( '.trx_addons_panel_menu_link:not(.panel_inited)' )
703				.addClass( 'panel_inited' )
704				.on( 'click', function(e) {
705					integro_skin_open_panel( jQuery(this).attr('href').substring(1) );
706					e.preventDefault();
707					return false;
708				});
709
710            // Close panel
711            function integro_skin_close_panel() {
712
713               var $panel = jQuery( '.sc_layouts_panel_menu.opened' ).addClass( 'out_anim' );
714
715                jQuery( '.sc_layouts_panel_menu_close' ).parents( 'sc_layouts_panel_menu' ).addClass( 'out_anim' );
716
717                setTimeout(function () {
718                    $panel.prev( '.sc_layouts_panel_menu_overlay' ).fadeOut();
719                    $panel.removeClass('out_anim').removeClass('opened');
720                    $panel.find('[class*="trx_addons_title_with_link"] > a.underline_anim').removeClass('underline_do_hover');
721                    body.removeClass( 'sc_layouts_panel_menu_opened' );
722                    $document.trigger( 'action.start_wheel_handlers' );
723                }, 1000);
724            }
725            $document
726                .on( 'keyup', function(e) {
727                	var $panel = jQuery( '.sc_layouts_panel_menu.opened');
728					if (e.keyCode === 27) {
729						if  ($panel.length === 1) {
730							integro_skin_close_panel();
731							e.preventDefault();
732							return false;
733						}
734					}
735                }
736            );
737
738            jQuery( '.sc_layouts_panel_menu_close, .sc_layouts_panel_menu_overlay' )
739				.on( 'click', function(e) {
740					integro_skin_close_panel();
741					e.preventDefault();
742					return false;
743           		}
744            );
745
746            jQuery( '.sc_layouts_panel_menu_close' )
747                .on( 'keyup', function(e) {
748                    var $panel = jQuery( '.sc_layouts_panel_menu.opened');
749                    if (e.keyCode === 13) {
750                        if ($panel.length === 1) {
751                            integro_skin_close_panel();
752                            e.preventDefault();
753                            return false;
754                        }
755                    }
756                } )
757                .on( 'focus', function() {
758                    if ( ! body.hasClass( 'sc_layouts_panel_menu_opened' ) ) {
759                        jQuery( '#content_skip_link_anchor' ).focus();
760                    }
761                } );
762
763        }
764	);
765
766    // Search Modern -----------------
767    //-------------------------------
768	var $search_wrap = jQuery( '.search_modern .search_wrap:not(.inited)' );
769
770    if ( $search_wrap.length > 0 ) {
771        jQuery( $search_wrap.each( function() {
772            var $body =  jQuery('body'),
773				$search_wrap_init = jQuery(this).addClass( 'inited' ),
774                search_field = $search_wrap_init.find( '.search_field' ),
775           	    ajax_timer = null;
776
777            // ESC is pressed
778            search_field.on('keyup', function(e) {
779                if (e.keyCode === 27) {
780                    search_field.val('');
781                    $body.addClass('search_out_anim');
782                    setTimeout(function () {
783                        integro_search_close($search_wrap_init);
784                        $body.removeClass('search_open_anim');
785                        $body.removeClass('search_out_anim');
786                        $search_wrap_init.next( '.search_overlay' ).fadeOut();
787
788                        e.preventDefault();
789                        return false;
790                    }, 800);
791
792                    setTimeout(function () {
793                        $search_wrap_init.parent().removeClass('search_active');
794                        $body.removeClass('search_active');
795                    }, 1200);
796                }
797                // AJAX search
798                if ($search_wrap_init.hasClass('search_ajax')) {
799                    var s = search_field.val();
800                    if (ajax_timer) {
801                        clearTimeout(ajax_timer);
802                        ajax_timer = null;
803                    }
804                    if (s.length >= 4) {
805                        ajax_timer = setTimeout(function () {
806                            $search_wrap_init.addClass('search_progress');
807                            jQuery.post(TRX_ADDONS_STORAGE['ajax_url'], {
808                                action: 'ajax_search',
809                                nonce: TRX_ADDONS_STORAGE['ajax_nonce'],
810                                text: s,
811                                post_types: $search_wrap_init.find('input[name="post_types"]').val()
812                            }).done(function (response) {
813                                clearTimeout(ajax_timer);
814                                ajax_timer = null;
815                                var rez = {};
816                                if (response == '' || response == 0) {
817                                    rez = {error: TRX_ADDONS_STORAGE['msg_search_error']};
818                                } else {
819                                    try {
820                                        rez = JSON.parse(response);
821                                    } catch (e) {
822                                        rez = {error: TRX_ADDONS_STORAGE['msg_search_error']};
823                                        console.log(response);
824                                    }
825                                }
826                                var msg = rez.error === '' ? rez.data : rez.error;
827                                $search_wrap_init.removeClass('search_progress');
828                                search_field.parents('.search_ajax').find('.search_results_content').empty().append(msg);
829                                search_field.parents('.search_ajax').find('.search_results').fadeIn();
830                                jQuery(document).trigger('action.got_ajax_response', {
831                                    action: 'ajax_search',
832                                    result: rez
833                                });
834                            });
835                        }, 500);
836                    }
837                }
838
839            });
840
841            //Search Submit
842			var  $search = $search_wrap_init.prev('.search_submit');
843            $search.on('click', function(e) {
844                $search_wrap_init.parent().addClass('search_active');
845                $body.addClass('search_active');
846                if (!$search_wrap_init.hasClass('search_opened')) {
847                    $search_wrap_init.addClass('search_opened');
848                    $body.addClass('search_open_anim');
849                    $search_wrap_init.next( '.search_overlay' ).fadeIn();
850                    setTimeout(function() { search_field.get(0).focus(); }, 500);
851                } else if (search_field.val() === '') {
852                    if ($search_wrap_init.hasClass('search_opened'))
853                            integro_search_close($search_wrap_init);
854                    else
855                        search_field.get(0).focus();
856                } else {
857                    $search_wrap_init.addClass('search_progress');
858                    $search_wrap_init.find('form').get(0).submit();
859                }
860                e.preventDefault();
861                return false;
862            });
863
864            // Click "Search close"
865            $search_wrap_init.find('.search_close').add(
866            $search_wrap_init.next('.search_overlay')
867			).on('click', function(e) {
868                $body.addClass('search_out_anim');
869
870                setTimeout(function () {
871                    integro_search_close($search_wrap_init);
872                    $body.removeClass('search_open_anim');
873                    $body.removeClass('search_out_anim');
874                    $search_wrap_init.next( '.search_overlay' ).fadeOut();
875
876                    e.preventDefault();
877                    return false;
878                }, 800);
879
880                setTimeout(function () {
881                    $search_wrap_init.parent().removeClass('search_active');
882                    $body.removeClass('search_active');
883                }, 1200);
884
885            });
886
887            // Click "Close search results"
888            $search_wrap_init.find('.search_results_close').on('click', function(e) {
889                jQuery(this).parent().fadeOut();
890                e.preventDefault();
891                return false;
892            });
893            // Click "More results"
894            $search_wrap_init.on('click', '.search_more', function(e) {
895                if (search_field.val() !== '')
896                    $search_wrap_init.find('form').get(0).submit();
897                e.preventDefault();
898                return false;
899            });
900        }));
901    }
902    // Close search field (remove class 'search_opened' and close search results)
903    function integro_search_close($search_wrap_init) {
904        $search_wrap_init.removeClass('search_opened');
905        $search_wrap_init.find('.search_results').fadeOut();
906    }
907
908	// Add skin specific styles to the Google map
909	jQuery(document).on('action.add_googlemap_styles', function(e) {
910		if (typeof TRX_ADDONS_STORAGE == 'undefined') return;
911		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}]}];
912		TRX_ADDONS_STORAGE['googlemap_styles']['black'] = [{"featureType": "all", "elementType": "geometry", "stylers": [{"color": "#262c33"}]}, {"featureType": "all", "elementType": "labels.text.fill", "stylers": [{"gamma": 0.01}, {"lightness": 20}, {"color": "#949aa6"}]}, {"featureType": "all", "elementType": "labels.text.stroke", "stylers": [{"saturation": -31}, {"lightness": -33}, {"weight": 2}, {"gamma": "0.00"}, {"visibility": "off"}]}, {"featureType": "all", "elementType": "labels.icon", "stylers": [{"visibility": "off"}]}, {"featureType": "administrative.country", "elementType": "all", "stylers": [{"visibility": "off"}]}, {"featureType": "administrative.province", "elementType": "all", "stylers": [{"visibility": "off"}]}, {"featureType": "administrative.locality", "elementType": "all", "stylers": [{"visibility": "simplified"}]}, {"featureType": "administrative.locality", "elementType": "labels.icon", "stylers": [{"visibility": "off"}]}, {"featureType": "administrative.neighborhood", "elementType": "all", "stylers": [{"visibility": "off"}]}, {"featureType": "administrative.land_parcel", "elementType": "all", "stylers": [{"visibility": "off"}]}, {"featureType": "landscape", "elementType": "geometry", "stylers": [{"lightness": 30}, {"saturation": 30}, {"color": "#353c44"}, {"visibility": "on"}]}, {"featureType": "poi", "elementType": "geometry", "stylers": [{"saturation": "0"}, {"lightness": "0"}, {"gamma": "0.30"}, {"weight": "0.01"}, {"visibility": "off"}]}, {"featureType": "poi.park", "elementType": "geometry", "stylers": [{"lightness": "100"}, {"saturation": -20}, {"visibility": "simplified"}, {"color": "#31383f"}]}, {"featureType": "road", "elementType": "geometry", "stylers": [{"lightness": 10}, {"saturation": -30}, {"color": "#2a3037"}]}, {"featureType": "road", "elementType": "geometry.stroke", "stylers": [{"saturation": "-100"}, {"lightness": "-100"}, {"gamma": "0.00"}, {"color": "#2a3037"}]}, {"featureType": "road", "elementType": "labels", "stylers": [{"visibility": "on"}]}, {"featureType": "road", "elementType": "labels.text", "stylers": [{"visibility": "on"}, {"color": "#575e6b"}]}, {"featureType": "road", "elementType": "labels.text.stroke", "stylers": [{"visibility": "off"}]}, {"featureType": "road", "elementType": "labels.icon", "stylers": [{"visibility": "off"}]}, {"featureType": "road.highway", "elementType": "geometry.fill", "stylers": [{"color": "#4c5561"}, {"visibility": "on"}
912]}, {"featureType": "road.highway", "elementType": "geometry.stroke", "stylers": [{"visibility": "off"}]}, {"featureType": "transit", "elementType": "all", "stylers": [{"visibility": "off"}]}, {"featureType": "transit.station.airport", "elementType": "all", "stylers": [{"visibility": "off"}]}, {"featureType": "water", "elementType": "all", "stylers": [{"lightness": -20}, {"color": "#2a3037"}]}];
913		TRX_ADDONS_STORAGE['googlemap_styles']['grey'] = [ { "featureType": "all", "elementType": "labels.text.fill", "stylers": [ { "saturation": 36 }, { "color": "#000000" }, { "lightness": 40 } ] }, { "featureType": "all", "elementType": "labels.text.stroke", "stylers": [ { "visibility": "on" }, { "color": "#000000" }, { "lightness": 16 } ] }, { "featureType": "all", "elementType": "labels.icon", "stylers": [ { "visibility": "off" } ] }, { "featureType": "administrative", "elementType": "geometry.fill", "stylers": [ { "color": "#000000" }, { "lightness": 20 } ] }, { "featureType": "administrative", "elementType": "geometry.stroke", "stylers": [ { "color": "#000000" }, { "lightness": 17 }, { "weight": 1.2 } ] }, { "featureType": "landscape", "elementType": "geometry", "stylers": [ { "color": "#000000" }, { "lightness": 20 } ] }, { "featureType": "poi", "elementType": "geometry", "stylers": [ { "color": "#000000" }, { "lightness": 21 } ] }, { "featureType": "road.highway", "elementType": "geometry.fill", "stylers": [ { "color": "#000000" }, { "lightness": 17 } ] }, { "featureType": "road.highway", "elementType": "geometry.stroke", "stylers": [ { "color": "#000000" }, { "lightness": 29 }, { "weight": 0.2 } ] }, { "featureType": "road.arterial", "elementType": "geometry", "stylers": [ { "color": "#000000" }, { "lightness": 18 } ] }, { "featureType": "road.local", "elementType": "geometry", "stylers": [ { "color": "#000000" }, { "lightness": 16 } ] }, { "featureType": "transit", "elementType": "geometry", "stylers": [ { "color": "#000000" }, { "lightness": 19 } ] }, { "featureType": "water", "elementType": "geometry", "stylers": [ { "color": "#000000" }, { "lightness": 17 } ] } ];
914	} );
915
916    // Init skin-specific hidden elements when their parent container becomes visible
917	// Attention! Don't forget to add the class "inited" and check it to prevent re-initialize the elements
918	jQuery( document ).on(
919		'action.init_hidden_elements', function() {
920			skin_blogger_toggle_filter_upd_value();
921			skin_add_custom_width_filter_list();
922			// Move title with cursor
923			mousemove_for_portfolio_large();
924			mousemove_for_portfolio_small();
925
926			add_portfolio_image_wrap();
927
928			// Add image background on wrap in portfolio Stretch
929			background_image_portfolio_stretch();
930
931			skin_blogger_controls_title();
932		}
933	);
934
935	// Skin-specific scroll actions
936	jQuery( document ).on(
937		'action.scroll_integro', function() {
938
939		}
940	);
941
942	// Skin-specific resize actions
943	jQuery( document ).on(
944		'action.resize_integro', function() {
945			extra_margin_top_video_popup_button();
946			integro_skin_post_header_init();
947			skin_add_custom_width_filter_list();
948			max_same_height(".max-same-height");
949			jQuery('.timetable-style').each(function () {
950				max_same_height('.timetable-style .elementor-widget-heading');
951			});
952		}
953	);
954
955	function extra_margin_top_video_popup_button() {
956		if (jQuery('.single-format-video .post_header_wrap_style_style-1 .post_featured.with_video.with_thumb.post_featured_bg + .post_header').length > 0) {
957			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();
958			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});
959		}
960	}
961
962	// Maximum Same Height
963	function max_same_height(block) {
964		var mh = 0;
965		if(jQuery(block).length > 0) {
966			jQuery(block).height('auto');
967			jQuery(block).each(function () {
968				var h_block = parseInt(jQuery(this).height());
969				if(h_block > mh) {
970					mh = h_block;
971				};
972			});
973			jQuery(block).height(mh);
974		}
975	}
976
977	// Click woo filter button
978	jQuery( '.integro_woocommerce_filters_button,.sidebar > .sidebar_close,.sidebar_overlay' ).on( 'click', function(e) {
979		var sidebar_float = jQuery( '.sidebar.sidebar_float' );
980		sidebar_float.addClass('float_anim');
981		setTimeout(function () {
982			sidebar_float.removeClass('float_anim');
983			e.preventDefault();
984			return false;
985		}, 400);
986	});
987	
988	// Button Slide
989	jQuery('.sc_button_slide').each(function() {
990		var $item = jQuery(this);
991		$item.off('.button-slide')
992		.on('mouseenter.button-slide', function() {
993			if ($item.hasClass("hovered") || ($item.addClass("hovered"), setTimeout(function() {
994					$item.removeClass("hovered");
995				}, 1200))) {}
996		});
997	});
998
999})();

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.