PageSourceSearch

https://memorialiemuzeji.lv/wp-content/themes/mma/assets/scripts/init.js?ver=1.0.5

js memorialiemuzeji.lv collected 2026-10-02 11:52:23 UTC 65,022 bytes, 1,832 lines download raw bytes

1var mapTileLayer = 'https://tile.openstreetmap.org/{z}/{x}/{y}.png';
2// var mapTileLayer = 'https://stamen-tiles-{s}.a.ssl.fastly.net/toner/{z}/{x}/{y}{r}.{ext}';
3// var mapTileLayer = 'https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{r}.png';
4// var mapTileLayer = 'https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png';
5// var mapTileLayer = 'https://tiles.stadiamaps.com/tiles/alidade_smooth/{z}/{x}/{y}{r}.png';
6
7jQuery(document).ready(function() {
8	jQuery('a.email').each(function() {
9		try {
10			var text = jQuery(this).html().replace('(abols)', '@');
11			var href = jQuery(this).attr('href').replace('(abols)', '@');
12			jQuery(this).html(text).attr({'href':href});
13		}catch (e){}
14	});
15
16	// alert when leaving page
17	window.addEventListener('beforeunload', function (e) {
18		if ( jQuery('body').hasClass('alert-on-leave') ) {
19			e.preventDefault();
20			// Chrome requires returnValue to be set
21			e.returnValue = '';
22		}
23	});
24
25	// close main info block
26	jQuery('.close-main-info-block', jQuery('.main-info-block')).click(function(e) {
27		e.preventDefault();
28		var block_id = jQuery(this).closest('.main-info-block').data('block-id');
29		jQuery(this).closest('.main-info-block').slideUp(400, function(){
30			setCookie('hide_main_info_block_'+sys_lang, block_id, 30);
31			jQuery(this).remove();
32		});
33	});
34
35
36	// mobile menu
37	jQuery('.mob-hamburger').click(function(e) {
38		e.preventDefault();
39		if ( jQuery(this).hasClass('active') ) {
40			toggleMainMenu('hide');
41		} else {
42			toggleMainMenu('show');
43		}
44	});
45	jQuery('.close-main-menu').click(function(e) {
46		e.preventDefault();
47		toggleMainMenu('hide');
48	});
49
50
51	// main menu
52	jQuery('.with-submenu.act-link > a', jQuery('.main-navigation')).click(function(e) {
53		if ( !jQuery(this).closest('.with-submenu').hasClass('opened') ) {
54			toggleMainMenu('show');
55			jQuery('.with-submenu', jQuery('.main-navigation')).removeClass('opened');
56			jQuery(this).closest('.with-submenu').addClass('opened');
57			return false;
58		}
59	});
60	jQuery(document).click(function(e){
61		if ( !jQuery(e.target).closest('.main-navigation').length && jQuery('.main-navigation').hasClass('is-opened') && jQuery(window).width() > 1024 ) {
62			toggleMainMenu('hide');
63		}
64	});	
65
66
67	// Top search block
68	jQuery('.search-link', jQuery('.main-header')).click(function(e) {
69		e.preventDefault();
70		toggleTopSearch('show');
71	});
72	jQuery('.search-form-js').submit(function(e) {
73		if ( jQuery('.input-search', jQuery(this)).val() == '' ) {
74			e.preventDefault();
75		}
76	});
77	jQuery('.submit-search', jQuery('.search-form-js')).click(function(e) {
78		e.preventDefault();
79		jQuery('.search-form-js').submit();
80	});
81	jQuery(document).click(function(e){
82		if ( jQuery(e.target).closest('.main-top-search-block').length || jQuery(e.target).closest('.search-link').length ) {
83
84		} else if ( jQuery('.main-top-search-block').hasClass('active') ) {
85			toggleTopSearch('hide');
86		}
87	});
88
89	// toggle blind colors
90	jQuery('.act-color-change').click(function(e) {
91		e.preventDefault();
92		if ( jQuery('body').hasClass('colors-for-the-visually-impaired') ) {
93			jQuery('body').removeClass('colors-for-the-visually-impaired');
94			jQuery('.act-color-change').removeClass('active');
95			setCookie('visually_impaired', 0, -30);
96		} else {
97			jQuery('body').addClass('colors-for-the-visually-impaired');
98			jQuery('.act-color-change').addClass('active');
99			setCookie('visually_impaired', 1, 30);
100		}
101	});
102
103
104	// change font size
105	jQuery('.act-change-font-size').click(function(e) {
106		e.preventDefault();
107		var size = jQuery(this).data('size');
108		jQuery('.act-change-font-size').removeClass('active');
109		jQuery('.act-change-font-size[data-size="'+size+'"').addClass('active');
110		if ( size == 0 ) {
111			jQuery('html')
112				.removeClass('font-size-125')
113				.removeClass('font-size-150')
114				.removeClass('font-size-200');
115			setCookie('font_size', 0, -30);
116		} else {
117			jQuery('html').addClass('font-size-'+size);
118			setCookie('font_size', size, 30);
119		}
120	});
121
122
123	// load more posts
124	if ( jQuery("#ajax-posts").length ) {
125		var ppp = 15;
126		if ( jQuery("#ajax-posts").data('ppp') != undefined ) {
127			ppp = jQuery("#ajax-posts").data('ppp');
128		}
129		var pageNumber = 1;
130		if ( jQuery("#ajax-posts").data('page') != undefined ) {
131			pageNumber = jQuery("#ajax-posts").data('page');
132		}
133		var post_type = 'post';
134		if ( jQuery("#ajax-posts").data('posttype') != undefined ) {
135			post_type = jQuery("#ajax-posts").data('posttype');
136		}
137		var post_result = '';
138		if ( jQuery("#ajax-posts").data('result') != undefined ) {
139			post_result = jQuery("#ajax-posts").data('result');
140		}
141		var search = '';
142		if ( jQuery("#ajax-posts").data('s') != undefined ) {
143			search = jQuery("#ajax-posts").data('s');
144		}
145		var cur_cat = '';
146		var cur_tag = '';
147		var cur_year = '';
148
149		var hash = window.location.hash.replace('#','');
150		var hash_array = hash.split('&');
151		if (hash_array.length) {
152			for (var i = 0; i < hash_array.length; i++) {
153				var params = hash_array[i].split('=');
154				if ( params[0].length && params[1].length ) {
155					switch(params[0]) {
156						case 'page':
157							pageNumber = params[1];
158							break;
159						case 'cat':
160							cur_cat = params[1];
161							break;
162						case 'tag':
163							cur_tag = params[1];
164							break;
165						case 'year':
166							cur_year = params[1];
167							break;
168					}
169				}
170			}
171
172			/*if ( cur_cat != '' && jQuery('.programs-filter-item[data-cat="'+cur_cat+'"]', jQuery('#programs-filter')).length ) {
173				jQuery('.programs-filter-item[data-cat="'+cur_cat+'"]', jQuery('#programs-filter')).addClass('active');
174			}*/
175			if ( cur_tag != '' && jQuery('.programs-filter-item[data-tag="'+cur_tag+'"]', jQuery('#programs-filter')).length ) {
176				jQuery('.programs-filter-item[data-tag="'+cur_tag+'"]', jQuery('#programs-filter')).addClass('active');
177			}
178			/*if ( cur_year != '' && jQuery('.programs-filter-item[data-cat="'+cur_year+'"]', jQuery('#programs-filter')).length ) {
179				jQuery('.programs-filter-item[data-cat="'+cur_year+'"]', jQuery('#programs-filter')).addClass('active');
180			}*/
181		}
182
183		/*jQuery('.programs-filter-item', jQuery('#programs-filter')).click(function(e) {
184			e.preventDefault();
185			pageNumber = 1;
186			jQuery('.programs-filter-item', jQuery('#programs-filter')).removeClass('active');
187			jQuery(this).addClass('active');
188			setFilterHash();
189			load_posts(1, 1);
190		});*/
191
192		jQuery('.input-select', jQuery('#programs-filter')).change(function() {
193			var value = jQuery(this).val();
194			jQuery('.programs-filter-item', jQuery('#programs-filter')).removeClass('active');
195			jQuery('.programs-filter-item[data-tag="'+value+'"]', jQuery('#programs-filter')).addClass('active');
196
197			// console.log('AJAX here: '+value);
198			pageNumber = 1;
199			// jQuery('.programs-filter-item', jQuery('#programs-filter')).removeClass('active');
200			// jQuery(this).addClass('active');
201			setFilterHash();
202			load_posts(1, 1);
203		});
204		jQuery('.programs-filter-item', jQuery('#programs-filter')).click(function(e) {
205			e.preventDefault();
206			var value = jQuery(this).data('tag');
207			jQuery('.programs-filter-item', jQuery('#programs-filter')).removeClass('active');
208			jQuery('.programs-filter-item[data-tag="'+value+'"]', jQuery('#programs-filter')).addClass('active');
209			jQuery('.input-select', jQuery('#programs-filter')).val(value).change();
210		});
211
212		if ( jQuery('#programs-filter').length ) {
213			if ( !jQuery('.programs-filter-item.active', jQuery('#programs-filter')).length ) {
214				jQuery('.programs-filter-item:first-child', jQuery('#programs-filter')).click();
215			} else {
216				load_posts(1, 0);
217			}
218		} else {
219			load_posts(1, 0);
220		}
221
222		function load_posts(load_all, reset){
223			if ( !jQuery('#ajax-posts').hasClass('loading-icon') ) {
224				jQuery('#ajax-posts').addClass('loading-icon');
225				var category = (cur_cat != '') ? cur_cat : ajax_posts.category;
226				var tag = (cur_tag != '') ? cur_tag : ajax_posts.tag;
227				var year = (cur_year != '') ? cur_year : '';
228				jQuery.ajax({
229					type: 'POST',
230					dataType: 'json',
231					url: ajax_posts.ajaxurl,
232					data: {
233						pageNumber: pageNumber,
234						post_type: post_type,
235						post_result: post_result,
236						s: search,
237						ppp: ppp,
238						load_all: load_all,
239						action: 'more_post_ajax',
240						category: category,
241						year: year,
242						tag: tag,
243					},
244					complete: function(data, status) {
245						jQuery('#ajax-posts').removeClass('loading-icon');
246					},
247					success: function(data){
248						if (reset) {
249							jQuery("#ajax-posts").html('');
250						}
251						if (data.html != '') {
252							jQuery("#ajax-posts").append(data.html);
253							jQuery("#more-posts").closest('.load-more-block').fadeIn(400);
254						}
255
256						if (data.status=='hide'){
257							jQuery("#more-posts").closest('.load-more-block').fadeOut(400);
258						} else if (data.status=='show') {
259							jQuery("#more-posts").closest('.load-more-block').fadeIn(400);
260						};
261					},
262					error: function(jqXHR, textStatus, errorThrown) {
263						jQuery(loader).html(jqXHR + " :: " + textStatus + " :: " + errorThrown);
264					}
265
266				});
267			}
268			return false;
269		}
270
271		jQuery("#more-posts").on("click",function(e){
272			e.preventDefault();
273			pageNumber++;
274			setFilterHash();
275			load_posts(0, 0);
276		});
277
278		function setFilterHash() {
279			var hash_array = [];
280			cur_cat = jQuery('.programs-filter-item.active', jQuery('#programs-filter')).data('cat');
281			cur_tag = jQuery('.programs-filter-item.active', jQuery('#programs-filter')).data('tag');
282			// console.log(cur_cat);
283			if ( pageNumber > 1 ) {
284				hash_array.push('page='+pageNumber);
285			}
286			if ( cur_cat != undefined && cur_cat != '' ) {
287				hash_array.push('cat='+cur_cat);
288			}
289			if ( cur_tag != undefined && cur_tag != '' ) {
290				hash_array.push('tag='+cur_tag);
291			}
292			var url = (hash_array.length) ? '#'+hash_array.join('&') : '#';
293			var cur_scroll_h = ( jQuery(window).scrollTop() < 0 ) ? 0 : jQuery(window).scrollTop();
294			window.location.hash = url;
295			jQuery(window).scrollTop(cur_scroll_h);
296		}
297	}
298
299
300	jQuery.fn.inputFilter = function(inputFilter) {
301		return this.on("input keydown keyup mousedown mouseup select contextmenu drop", function() {
302			if (inputFilter(this.value)) {
303				this.oldValue = this.value;
304				this.oldSelectionStart = this.selectionStart;
305				this.oldSelectionEnd = this.selectionEnd;
306			} else if (this.hasOwnProperty("oldValue")) {
307				this.value = this.oldValue;
308				this.setSelectionRange(this.oldSelectionStart, this.oldSelectionEnd);
309			} else {
310				this.value = "";
311			}
312		});
313	};
314
315	/*jQuery('.inputInt').inputFilter(function(value) {
316		return /^\d*jQuery/.test(value);    // Allow digits only, using a RegExp
317	});*/
318	
319
320	// accordion
321	setAccordion();
322
323	// other accordion
324	setOtherAccordion();
325
326	// input numbers
327	setInputNumbers();
328
329	// select
330	setInputSelect();
331
332	// checkbox
333	setInputCheckboxBlock();
334
335	// radiobuttons
336	setInputRadioBlock();
337
338	// event filter
339	if ( jQuery('.filter-toggler').length ) {
340		jQuery('.filter-toggler').click(function(e) {
341			e.preventDefault();
342			
343			closeAllEventsFilters();
344
345			var btn = jQuery(this);
346			var block = jQuery(this).closest('.events-filter-block');
347			var btn_block = jQuery(btn).closest('.filter-toggler-block');
348			var btns_block = jQuery(btn).closest('.togglable-filter-btns');
349			var is_opened = false;
350
351			// is-opened
352			if ( jQuery(btn_block).hasClass('is-opened') ) {
353				is_opened = true;
354			} else {
355				is_opened = false;
356			}
357
358			jQuery('.filter-toggler-block', jQuery(btns_block)).each(function(index, el) {
359				jQuery(el).removeClass('is-opened');
360			});
361
362			// is-opened
363			if ( is_opened ) {
364				jQuery(btn_block).removeClass('is-opened');
365				jQuery(block).removeClass('active');
366			} else {
367				jQuery(btn_block).addClass('is-opened');
368				jQuery(block).addClass('active');
369			}
370
371			// fix all buttons
372			jQuery('.filter-toggler', jQuery(btns_block)).each(function(index, el) {
373				if ( jQuery(el).hasClass('active') || jQuery(this).closest('.filter-toggler-block').hasClass('is-opened') ) {
374					jQuery(el).removeClass('btn--outline');
375				} else {
376					jQuery(el).addClass('btn--outline');
377				}
378			});
379		});
380
381		jQuery(document).click(function(){
382			if ( jQuery('.filter-toggler-block').hasClass('is-opened') ) {
383				closeAllEventsFilters();
384			}
385		});
386
387		jQuery('.filter-toggler-block').click(function(e){
388			e.stopPropagation(); 
389		});
390	}
391
392	// Toggleable block
393	if ( jQuery('.toggleable-block').length ) {
394		setToggleableBlockHeight();
395
396		jQuery('.toggle-content', jQuery('.toggleable-block')).click(function(e) {
397			e.preventDefault();
398			var block = jQuery(this).closest('.toggleable-block');
399			if ( jQuery(this).hasClass('active') ) {
400				jQuery(this).removeClass('active').find('.label').html( jQuery(this).data('inactive') );
401				jQuery('.toggleable-outter-content', jQuery(block)).removeClass('active');
402			} else {
403				jQuery(this).addClass('active').find('.label').html( jQuery(this).data('active') );
404				jQuery('.toggleable-outter-content', jQuery(block)).addClass('active');
405			}
406			setToggleableBlockHeight();
407		});
408
409		jQuery(window).resize(function(){
410			setToggleableBlockHeight();
411		});
412
413		function setToggleableBlockHeight() {
414			jQuery('.toggleable-outter-content.active').each(function(index, el) {
415				jQuery(el).css('max-height', jQuery('.toggleable-content', jQuery(el)).outerHeight());
416			});
417			jQuery('.toggleable-outter-content:not(.active)').each(function(index, el) {
418				// jQuery(el).css('max-height', jQuery('p:first-child', jQuery(el)).height());
419				// var max_height = 300;
420				var max_height = jQuery(el).data('max-height');
421				if ( jQuery('.toggleable-content', jQuery(el)).outerHeight() < max_height ) {
422					max_height = jQuery('.toggleable-content', jQuery(el)).outerHeight();
423					jQuery(el).closest('.toggleable-block').addClass('maxed-out');
424				} else {
425					jQuery(el).closest('.toggleable-block').removeClass('maxed-out');
426				}
427
428				jQuery(el).css('max-height', max_height);
429			});
430		}
431	}
432
433	// museum menu
434	if ( jQuery('.museum-filter-list').length ) {
435		jQuery('.museum-filter-item', jQuery('.museum-filter-list')).click(function() {
436			var link = jQuery(this).attr('href');
437			if ( jQuery('.section'+link+'.scrollspy').length ) {
438				var block = jQuery('.section'+link+'.scrollspy');
439				var scroll_to = jQuery(block).position().top;
440				if ( jQuery(block).hasClass('no-padding') ) {
441					scroll_to -= jQuery('.museum-filter-section').outerHeight();
442				}
443				jQuery('html, body').animate({ scrollTop: scroll_to }, 400);
444			}
445		});
446	}
447
448	// digital exhibition slider
449	if ( jQuery('.digital-exhibition-slider-block').length ) {
450		jQuery('.digital-exhibition-slider-block').each(function(index, el) {
451			jQuery('.digital-exhibition-slider', jQuery(el)).slick({
452				centerPadding: '0',
453				infinite: false,
454				centerMode: false,
455				slidesToShow: 1,
456				variableWidth: true,
457				appendArrows: jQuery('.digital-exhibition-slider-arrows', jQuery(el)),
458				prevArrow: '<a heref="#" class="slick-prev"><svg class="icon icon-prev-slide" role="img" width="76" height="76"><use xlink:href="/wp-content/themes/mma/assets/images/svg-defs.svg#icon-prev-slide"></use></svg></a>',
459				nextArrow: '<a href="#" class="slick-next"><svg class="icon icon-next-slide" role="img" width="76" height="76"><use xlink:href="/wp-content/themes/mma/assets/images/svg-defs.svg#icon-next-slide"></use></svg></a>',
460			});
461		});
462		resizeDigitalExhibitionSliderImages();
463	}
464
465	// regular slider
466	if ( jQuery('.regular-slider-block').length ) {
467		jQuery('.regular-slider-block').each(function(index, el) {
468			jQuery('.regular-slider', jQuery(el)).slick({
469				centerPadding: '0',
470				infinite: false,
471				centerMode: false,
472				slidesToShow: 2,
473				variableWidth: false,
474				appendArrows: jQuery('.regular-slider-arrows', jQuery(el)),
475				prevArrow: '<a heref="#" class="slick-prev"><svg class="icon icon-prev-slide" role="img" width="76" height="76"><use xlink:href="/wp-content/themes/mma/assets/images/svg-defs.svg#icon-prev-slide"></use></svg></a>',
476				nextArrow: '<a href="#" class="slick-next"><svg class="icon icon-next-slide" role="img" width="76" height="76"><use xlink:href="/wp-content/themes/mma/assets/images/svg-defs.svg#icon-next-slide"></use></svg></a>',
477				responsive: [
478					{
479						breakpoint: 569,
480						settings: {
481							slidesToShow: 1,
482						}
483					}/*,
484					{
485						breakpoint: 569,
486						settings: {
487							arrows: false,
488							slidesToShow: 1
489						}
490					}*/
491				]
492			});
493		});
494		centerRegularSliderArrows();
495	}
496
497	// gallery slider
498	if ( jQuery('.gallery-slider-block').length ) {
499		jQuery('.gallery-slider-block').each(function(index, el) {
500			jQuery('.gallery-slider', jQuery(el)).slick({
501				centerPadding: '0',
502				infinite: false,
503				centerMode: false,
504				slidesToShow: 1,
505				variableWidth: true,
506				appendArrows: jQuery('.gallery-slider-arrows', jQuery(el)),
507				prevArrow: '<a heref="#" class="slick-prev"><svg class="icon icon-prev-slide" role="img" width="76" height="76"><use xlink:href="/wp-content/themes/mma/assets/images/svg-defs.svg#icon-prev-slide"></use></svg></a>',
508				nextArrow: '<a href="#" class="slick-next"><svg class="icon icon-next-slide" role="img" width="76" height="76"><use xlink:href="/wp-content/themes/mma/assets/images/svg-defs.svg#icon-next-slide"></use></svg></a>',
509			});
510		});
511		centerGalleySliderArrows();
512	}
513
514	// quick link slider
515	if ( jQuery('.quick-link-slider-block').length ) {
516		jQuery('.quick-link-slider-block').each(function(index, el) {
517			jQuery('.quick-link-slider', jQuery(el)).slick({
518				centerPadding: '0',
519				infinite: false,
520				centerMode: false,
521				slidesToShow: 3,
522				variableWidth: false,
523				appendArrows: jQuery('.quick-link-slider-arrows', jQuery(el)),
524				prevArrow: '<a heref="#" class="slick-prev"><svg class="icon icon-prev-slide" role="img" width="76" height="76"><use xlink:href="/wp-content/themes/mma/assets/images/svg-defs.svg#icon-prev-slide"></use></svg></a>',
525				nextArrow: '<a href="#" class="slick-next"><svg class="icon icon-next-slide" role="img" width="76" height="76"><use xlink:href="/wp-content/themes/mma/assets/images/svg-defs.svg#icon-next-slide"></use></svg></a>',
526				responsive: [
527					{
528						breakpoint: 1025,
529						settings: {
530							slidesToShow: 2
531						}
532					},
533					{
534						breakpoint: 569,
535						settings: {
536							slidesToShow: 1,
537						}
538					}
539				]
540			});
541		});
542		centerQuickLinkSliderArrows();
543	}
544
545	// image with hotspots
546	if ( jQuery('.image-with-hotspots-block').length ) {
547		jQuery('.image-with-hotspots-block').each(function(index, el) {
548			jQuery('.image', jQuery(el)).click(function(e) {
549				jQuery('.hotspot-link', jQuery(el)).removeClass('active');
550				jQuery('.hotspot-popup', jQuery(el)).removeClass('active');
551			});
552			jQuery('.hotspot-link', jQuery(el)).click(function(e) {
553				e.preventDefault();
554				var id = jQuery(this).data('id');
555				if ( jQuery(this).hasClass('active') ) {
556					jQuery(this).removeClass('active');
557					jQuery(id).removeClass('active');
558				} else {
559					var pos_x = jQuery(this).position().left + jQuery(this).width() + 15;
560					var pos_y = jQuery(this).position().top;
561
562					jQuery('.hotspot-link', jQuery(el)).removeClass('active');
563					jQuery('.hotspot-popup', jQuery(el)).removeClass('active');
564					jQuery(this).addClass('active');
565					setHotspotPositions();
566					jQuery(id).addClass('active');
567				}
568			});
569		});
570		setHotspotPositions();
571	}
572
573	// responsive tables
574	setResponsiveTable();
575
576	// setHomeArrowWidth();
577	// setHeroImgWidth();
578	fixMainMenu();
579	setMovableItemPosition();
580	setMuseumMenuPosition();
581	setArticleSideImgPosition();
582	setSimpleLeafletMaps();
583	setContactsMapSize();
584	setContactsMap();
585	setGallery();
586	setStoryPaggePositions();
587	animateHomeBlocks();
588});
589
590
591jQuery(window).resize(function(){
592	setSubmenuWidth();
593	// setHomeArrowWidth();
594	// setHeroImgWidth();
595	setMovableItemPosition();
596	setMuseumMenuPosition();
597	setArticleSideImgPosition();
598	animateHomeBlocks();
599	resizeDigitalExhibitionSliderImages();
600	centerRegularSliderArrows();
601	centerGalleySliderArrows();
602	centerQuickLinkSliderArrows();
603	setHotspotPositions();
604	setContactsMapSize();
605	setStoryPaggePositions();
606});
607
608// Manage scroll handling
609var scrollHandle = {
610	prevPosition: 0,
611	scrollUp: false
612};
613
614jQuery(window).scroll( function(){
615	// Scroll direction up
616	if (scrollHandle.prevPosition - jQuery(window).scrollTop() > 1) {
617		scrollHandle.scrollUp = true;
618	}
619	// Scroll direction down
620	else if (scrollHandle.prevPosition - jQuery(window).scrollTop() < -1) {
621		scrollHandle.scrollUp = false;
622	}
623
624	// Hide header below 0
625	if (!scrollHandle.scrollUp && jQuery(window).scrollTop() > 0) {
626		jQuery('.main-header').addClass('is-hidden');
627	// Show header above 0
628	} else if (scrollHandle.scrollUp || jQuery(window).scrollTop() < 0) {
629		jQuery('.main-header').removeClass('is-hidden');
630	}
631	
632	// Set previous scroll position
633	scrollHandle.prevPosition = jQuery(window).scrollTop();
634
635	// Adjust header modifier depending on top scroll position
636	if (jQuery(window).scrollTop() > 200) {
637		jQuery('.main-header').addClass('is-small');
638	} else if (jQuery(window).scrollTop() < 200) {
639		jQuery('.main-header').removeClass('is-small');
640	}
641
642	setMovableItemPosition();
643	setMuseumMenuPosition();
644	setMuseumFilterActiveLinePosition();
645	animateHomeBlocks();
646});
647
648// on load
649window.onload = function () {
650	if ( jQuery('.museum-filter-list').length ) {
651		scrollSpy('.museum-filter-list', {
652			offset: 120,
653			menuActiveTarget: 'a.museum-filter-item',
654			sectionClass: 'body .section.scrollspy',
655			activeClass: 'active'
656		});
657		setMuseumFilterActiveLinePosition();
658	}
659
660	// setHomeArrowWidth();
661	// setHeroImgWidth();
662	setArticleSideImgPosition();
663	setMovableItemPosition();
664	setTimeout(function(){
665		setMovableItemPosition();
666	}, 100);
667	setMuseumMenuPosition();
668	animateHomeBlocks();
669	resizeDigitalExhibitionSliderImages();
670	centerRegularSliderArrows();
671	centerGalleySliderArrows();
672	centerQuickLinkSliderArrows();
673	setHotspotPositions();
674	setContactsMapSize();
675	setStoryPaggePositions();
676}
677
678
679
680/*
681 * FUNCTIONS
682 */
683
684// Toggle main menu
685function toggleMainMenu(mode) {
686	if ( mode == 'show' ) {
687		setSubmenuWidth();
688		jQuery('.main-top-search-block').removeClass('active');
689		jQuery('body').addClass('is-fixed').addClass('is-opened-menu');
690		jQuery('.mob-hamburger').addClass('active');
691		jQuery('.close-main-menu').addClass('active');
692		jQuery('.main-header').addClass('is-opened');
693		jQuery('.main-navigation').addClass('is-opened');
694	} else if (mode == 'hide') {
695		jQuery('body').removeClass('is-fixed').removeClass('is-opened-menu');
696		jQuery('.mob-hamburger').removeClass('active');
697		jQuery('.close-main-menu').removeClass('active');
698		jQuery('.main-header').removeClass('is-opened');
699		jQuery('.main-navigation').removeClass('is-opened');
700		jQuery('.with-submenu', jQuery('.main-navigation')).removeClass('opened');
701	}
702}
703
704// fix main menu
705function fixMainMenu() {
706	jQuery('.menu-title', jQuery('#menu-main-menu')).each(function(index, el) {
707		var title = jQuery(el).closest('.menu-item').find('a').html();
708		jQuery(el).html( title );
709	});
710
711	jQuery('.submenu-link.active', jQuery('#menu-main-menu')).each(function(index, el) {
712		jQuery(el).closest('.menu-item.link').addClass('active');
713	});
714}
715
716
717// Toggle top search
718function toggleTopSearch(mode) {
719	if ( mode == 'show' ) {
720		toggleMainMenu('hide');
721		jQuery('body').addClass('search-opened');
722		jQuery('.main-top-search-block').addClass('active');
723		jQuery('.input-search', jQuery('#top-search-form')).focus();
724	} else if (mode == 'hide') {
725		jQuery('.main-top-search-block').removeClass('active');
726		setTimeout(function(){
727			jQuery('body').removeClass('search-opened');
728		}, 200);
729	}
730}
731
732
733// museum menu position
734function setMuseumMenuPosition() {
735	if ( jQuery('.museum-filter-section').length ) {
736		var cur_scroll = (jQuery(window).scrollTop()<0) ? 0 : jQuery(window).scrollTop();
737		var pos_top = jQuery('.museum-filter-section').position().top;
738		if ( pos_top < cur_scroll ) {
739			jQuery('.museum-filter-section').addClass('fixed');
740		} else {
741			jQuery('.museum-filter-section').removeClass('fixed');
742		}
743	}
744}
745
746function setMuseumFilterActiveLinePosition() {
747	if ( jQuery('.active-line', jQuery('.museum-filter-block')).length ) {
748		var line = jQuery('.active-line', jQuery('.museum-filter-block'));
749		var block = jQuery(line).closest('.museum-filter-block');
750		if ( jQuery('.museum-filter-item.active', jQuery(block)).length ) {
751			var pos_l = jQuery('.museum-filter-item.active', jQuery(block)).position().left + 15;
752			jQuery(line).css('left', pos_l);
753		}
754	}
755}
756
757
758function setGallery() {
759	if ( jQuery('.my-gallery').length ) {
760		jQuery('.my-gallery').not('.ready').each(function(index, el) {
761			jQuery('.my-gallery-item', jQuery(el)).click(function(e) {
762				e.preventDefault();
763				var id = jQuery(this).data('id');
764				var html = getAlbumHtml(el);
765				showGalleryPopup(html, id);
766			});
767			jQuery(el).addClass('ready');			
768		});
769	}
770}
771function getAlbumHtml(gallery) {
772	var h = '';
773	
774	h += '<div class="album-list">';
775
776	jQuery('.my-gallery-item', jQuery(gallery)).each(function(index, el) {
777		var id = ( jQuery(el).data('id') != undefined ) ? jQuery(el).data('id') : '';
778		var caption = ( jQuery(el).data('caption') != undefined ) ? jQuery(el).data('caption') : '';
779		var image = ( jQuery(el).attr('href') != undefined ) ? jQuery(el).attr('href') : '';
780		var audio = ( jQuery(el).data('audio') != undefined ) ? jQuery(el).data('audio') : '';
781		var audioname = ( jQuery(el).data('audioname') != undefined ) ? jQuery(el).data('audioname') : '';
782		var videoid = ( jQuery(el).data('videoid') != undefined ) ? jQuery(el).data('videoid') : '';
783		var videotype = ( jQuery(el).data('videotype') != undefined ) ? jQuery(el).data('videotype') : '';
784		var type = 'image';
785		if ( jQuery(el).hasClass('audio') ) {
786			type = 'audio';
787		} else if ( jQuery(el).hasClass('video') ) {
788			type = 'video';
789		}
790
791		h += 
792			'<div class="album" data-id="'+id+'">';
793		if ( type == 'image' ) {
794			h += 
795				'<img class="image album-image" src="'+image+'" alt="">';
796		} else if ( type == 'audio' ) {
797			h += 
798				'<a href="javascript:;" class="album-image-block audio play-audio-block" style="background-image: url(\''+image+'\');">
798'+
799					'<img src="/wp-content/themes/mma/assets/images/placeholder-audio.svg" alt="" class="sizer">'+
800					'<p class="img-title intro-text">'+audioname+'</p>'+
801					'<audio class="audio-player">'+
802						'<source src="'+audio+'"/>'+
803					'</audio>'+
804				'</a>';
805		} else if ( type == 'video' ) {
806			h += 
807				'<div class="album-image-block video play-video-block" style="background-image: url(\''+image+'\');" data-video-id="'+videoid+'" data-source="'+videotype+'">'+
808					'<span class="inner">'+
809						'<img src="/wp-content/themes/mma/assets/images/placeholder-audio.svg" alt="" class="sizer">'+
810					'</span>'+
811				'</div>';
812		}
813		if ( caption != '' ) {
814			h += 
815				'<p class="caption-text">'+caption+'</p>';
816		}
817		h += 
818			'</div>';
819	});
820
821	h += '</div>';
822
823	return h;
824}
825function showGalleryPopup(html, id) {
826	if (!jQuery('#gallery-popup').length) {
827		var h='';
828		h +=
829			'<div id="gallery-popup" class="gallery-popup">'+
830				'<div class="l-wrap3">'+
831					'<div class="gallery-popup-inner">'+
832						'<a href="javascript:;" class="close-gallery-popup">'+
833							'<svg class="icon icon-close-popup" role="img" width="53" height="53">'+
834								'<use xlink:href="/wp-content/themes/mma/assets/images/svg-defs.svg#icon-close-gallery-popup"></use>'+
835							'</svg>'+
836						'</a>'+
837						'<div class="gallery-popup-content">'+
838							html+
839						'</div>'+
840					'</div>'+
841				'</div>'+
842				'<script>'+
843					'jQuery(document).keydown(function(e){'+
844						'if (e.keyCode == 27) {'+
845							'closeGalleryPopup();'+
846						'}'+
847					'});'+
848				'</script>'
849			'</div>';
850
851		jQuery(h).prependTo(jQuery('body'));
852		setPlayVideoBlock();
853		setPlayAudioBlock();
854		setTimeout(function(){
855			jQuery('body').addClass('gallery-popup-opened');
856			jQuery('#gallery-popup').addClass('opened');
857
858			// scroll to id
859			if ( jQuery('.album[data-id="'+id+'"]', jQuery('#gallery-popup')).length ) {
860				setTimeout(function(){
861					var top = jQuery('.album[data-id="'+id+'"]', jQuery('#gallery-popup')).position().top - parseInt(jQuery('.gallery-popup-content', jQuery('#gallery-popup')).css('padding-top'));
862					jQuery('#gallery-popup').animate({ scrollTop: top}, 0, function(){
863						jQuery('.album[data-id="'+id+'"]', jQuery('#gallery-popup')).find('.play-video-block.ready').click();
864						jQuery('.album[data-id="'+id+'"]', jQuery('#gallery-popup')).find('.play-audio-block.ready').click();
865					});
866
867				}, 100);
868			}
869		}, 100);
870
871		jQuery('.close-gallery-popup',jQuery('#gallery-popup')).click(function(e){
872			e.preventDefault();
873			jQuery('#gallery-popup').removeClass('opened');
874			jQuery('body').removeClass('gallery-popup-opened');
875			setTimeout(function(){
876				jQuery('#gallery-popup').remove();
877			}, 400);
878		});
879
880		jQuery('#gallery-popup').click(function(e) {
881			if ( e.target.id == 'gallery-popup' ) {
882				jQuery('.close-gallery-popup',jQuery('#gallery-popup')).click();
883			}
884		});
885	}
886}
887function closeGalleryPopup() {
888	jQuery('.close-gallery-popup',jQuery('#gallery-popup')).click();
889}
890
891function setPlayVideoBlock() {
892	jQuery('.play-video-block').not('.ready').each(function(index, el) {
893		jQuery(el).click(function(e){
894			e.preventDefault();
895			if ( jQuery(this).hasClass('loaded') ) return false;
896			var speed = 1000;
897			var btn = jQuery(this);
898			var video_id = btn.data('video-id');
899			var video_source = btn.data('source');
900
901			if ( video_source == 'youtube' ) {
902				jQuery('.inner', btn).prepend('<iframe class="video-iframe" width="100%" height="100%" src="https://www.youtube-nocookie.com/embed/'+video_id+'?rel=0&amp;controls=1&amp;showinfo=0&amp;autoplay=1" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>');
903			} else if ( video_source == 'vimeo' ) {
904				jQuery('.inner', btn).prepend('<iframe class="video-iframe" width="100%" height="100%" src="https://player.vimeo.com/video/'+video_id+'?title=0&byline=0&portrait=0" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>');
905			}
906			jQuery('.video-iframe', btn).css('opacity', 0);
907			jQuery('.video-iframe', btn).animate({
908				opacity: 1,
909			}, speed, function() {
910				jQuery(btn).addClass('loaded');
911			});
912			// jQuery('.video', btn)[0].src += "&autoplay=1";
913		});
914
915		jQuery(el).addClass('ready');
916	});
917}
918
919function setPlayAudioBlock() {
920	jQuery('.play-audio-block').not('.ready').each(function(index, el) {
921		jQuery(el).click(function(e){
922			e.preventDefault();
923			var audio = jQuery('.audio-player', jQuery(el));
924			if (audio[0].paused) {
925				audio[0].play();
926				jQuery(el).addClass('pause');
927			} else {
928				audio[0].pause();
929				jQuery(el).removeClass('pause');
930			}
931		});
932
933		jQuery(el).addClass('ready');
934	});
935}
936
937
938function setSimpleLeafletMaps() {
939	if ( jQuery('.simple-leaflet-map').length ) {
940		jQuery('.simple-leaflet-map').not('.ready').each(function(index, el) {
941			var map_id = jQuery(el).data('id');
942			var latitude = jQuery(el).data('lat');
943			var longitude = jQuery(el).data('lon');
944			var map = L.map(map_id).setView([latitude, longitude], 16);
945			map.scrollWheelZoom.disable();
946
947			// L.tileLayer(mapTileLayer).addTo(map);
948			L.tileLayer(mapTileLayer, {
949				// attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors &copy; <a href="https://carto.com/attributions">CARTO</a>',
950				attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',
951				// subdomains: 'abcd',
952			}).addTo(map);
953
954			var homeIcon = L.icon({
955				iconUrl: '/wp-content/themes/mma/assets/images/map-pin.svg',
956				iconSize:     [47.152, 70],
957				iconAnchor:   [23.576, 70],
958				// popupAnchor:  [0, -28]
959			});
960
961			var pin = L.marker([latitude, longitude], {icon: homeIcon}).addTo(map);
962			// pin.bindPopup(marker.content);
963
964			jQuery(el).addClass('ready');
965		});
966	}
967}
968
969function setContactsMap() {
970	if ( jQuery('#contacts-map').length ) {
971		var map_id = jQuery('#contacts-map').data('id');
972		var latitude = jQuery('#contacts-map').data('lat');
973		var longitude = jQuery('#contacts-map').data('lon');
974		var map = L.map(map_id).setView([latitude, longitude], 16);
975		map.scrollWheelZoom.disable();
976
977		// L.tileLayer(mapTileLayer).addTo(map);
978		L.tileLayer(mapTileLayer, {
979			// attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors &copy; <a href="https://carto.com/attributions">CARTO</a>',
980			attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',
981			// subdomains: 'abcd',
982		}).addTo(map);
983
984		var homeIcon = L.icon({
985			iconUrl: '/wp-content/themes/mma/assets/images/map-pin-contacts.svg',
986			iconSize:     [106.877, 125.16],
987			iconAnchor:   [53.4385, 125.16],
988			// popupAnchor:  [0, -28]
989		});
990
991		var pin = L.marker([latitude, longitude], {icon: homeIcon}).addTo(map);
992		// pin.bindPopup(marker.content);
993	}
994}
995function setContactsMapSize() {
996	if ( jQuery('#contacts-map').length ) {
997		if ( jQuery(window).width() > 1024 ) {
998			var pos_r = (jQuery(window).width() - (jQuery('.contacts-map-block').offset().left + jQuery('.contacts-map-block').width())) * -1;
999			jQuery('#contacts-map').css('right', pos_r);
1000		} else {
1001			jQuery('#contacts-map').css('right', '');
1002		}
1003	}
1004}
1005
1006
1007// set hotspot positions
1008function setHotspotPositions() {
1009	if ( jQuery('.image-with-hotspots-block').length ) {
1010		jQuery('.hotspot-link.active', jQuery('.image-with-hotspots-block')).each(function(index, el) {
1011			var block = jQuery(this).closest('.image-with-hotspots-block');
1012			var id = jQuery(el).data('id');
1013			var space = 15;
1014			var pos_x = jQuery(el).position().left + jQuery(el).width() + space;
1015			var pos_y = jQuery(el).position().top;
1016			var popup_w = jQuery(id).outerWidth();
1017
1018			var img_w =  jQuery('.image', jQuery(block)).width();
1019			// check if popup is outside right side the box 
1020			if ( (pos_x + popup_w) > img_w ) {
1021				pos_x = jQuery(el).position().left - popup_w - space;
1022			}
1023			// check if popup is outside left side the box 
1024			if ( pos_x < jQuery('.image', jQuery(block)).position().left ) {
1025				pos_x = 20;
1026				pos_y = jQuery(el).position().top + jQuery(el).height() + space;
1027			}
1028
1029			jQuery(id).css('left', pos_x).css('top', pos_y).addClass('active');
1030		});
1031	}
1032}
1033
1034// resize digital exhibition slider images
1035function resizeDigitalExhibitionSliderImages() {
1036	if ( jQuery('.digital-exhibition-slider-block').length ) {
1037		jQuery('.digital-exhibition-slider-block').each(function(index, el) {
1038			jQuery('.slide', jQuery(el)).each(function(index2, el2) {
1039				var tmp_w = jQuery(el).width();
1040				jQuery('.figure-block', jQuery(el2)).css('max-width', tmp_w);
1041			});
1042
1043			var min_img_height = 0;
1044			jQuery('.image', jQuery(el)).css('max-height', '');
1045			jQuery('.slide', jQuery(el)).each(function(index2, el2) {
1046				var tmp_h = jQuery('.image', jQuery(el2)).height();
1047				if (min_img_height == 0 || min_img_height > tmp_h) {
1048					min_img_height = tmp_h;
1049				}
1050			});
1051
1052			if ( min_img_height != 0 ) {
1053				jQuery('.slide', jQuery(el)).each(function(index2, el2) {
1054					jQuery('.image', jQuery(el2)).css('max-height', min_img_height);
1055				});
1056
1057				// set arrow position
1058				var tmp_top = (min_img_height / 2) - ( jQuery('.slick-arrow', jQuery(el)).height() / 2 );
1059				jQuery('.slick-arrow', jQuery(el)).css('top', tmp_top);
1060			}
1061		});
1062	}
1063}
1064
1065// center regular slider arrows
1066function centerRegularSliderArrows() {
1067	if ( jQuery('.regular-slider-block').length ) {
1068		jQuery('.regular-slider-block').each(function(index, el) {
1069			var min_img_height = 0;
1070			jQuery('.slide', jQuery(el)).each(function(index2, el2) {
1071				if ( jQuery('.image', jQuery(el2)).length ) {
1072					var tmp_h = jQuery('.image', jQuery(el2)).height();
1073				} else if ( jQuery('.sizer', jQuery(el2)).length ) {
1074					var tmp_h = jQuery('.sizer', jQuery(el2)).height();
1075				}
1076				if (min_img_height == 0 || min_img_height > tmp_h) {
1077					min_img_height = tmp_h;
1078				}
1079			});
1080			if ( min_img_height != 0 ) {
1081				var tmp_top = (min_img_height / 2) - ( jQuery('.slick-arrow', jQuery(el)).height() / 2 );
1082				jQuery('.slick-arrow', jQuery(el)).css('top', tmp_top);
1083			}
1084		});
1085	}
1086}
1087
1088// center gallery slider arrows
1089function centerGalleySliderArrows() {
1090	if ( jQuery('.gallery-slider-block').length ) {
1091		jQuery('.gallery-slider-block').each(function(index, el) {
1092			var min_img_height = 0;
1093			jQuery('.slide', jQuery(el)).each(function(index2, el2) {
1094				if ( jQuery('.image', jQuery(el2)).length ) {
1095					var tmp_h = jQuery('.image', jQuery(el2)).height();
1096				} else if ( jQuery('.sizer', jQuery(el2)).length ) {
1097					var tmp_h = jQuery('.sizer', jQuery(el2)).height();
1098				}
1099				if (min_img_height == 0 || min_img_height > tmp_h) {
1100					min_img_height = tmp_h;
1101				}
1102			});
1103			if ( min_img_height != 0 ) {
1104				var tmp_top = (min_img_height / 2) - ( jQuery('.slick-arrow', jQuery(el)).height() / 2 );
1105				jQuery('.slick-arrow', jQuery(el)).css('top', tmp_top);
1106			}
1107		});
1108	}
1109}
1110
1111// center quick link slider arrows
1112function centerQuickLinkSliderArrows() {
1113	if ( jQuery('.quick-link-slider-block').length ) {
1114		jQuery('.quick-link-slider-block').each(function(index, el) {
1115			var min_img_height = 0;
1116			jQuery('.slide', jQuery(el)).each(function(index2, el2) {
1117				var tmp_h = jQuery('.quick-link-block', jQuery(el2)).height();
1118				if (min_img_height == 0 || min_img_height > tmp_h) {
1119					min_img_height = tmp_h;
1120				}
1121			});
1122
1123			if ( min_img_height != 0 ) {
1124				var tmp_top = (min_img_height / 2) - ( jQuery('.slick-arrow', jQuery(el)).height() / 2 );
1125				jQuery('.slick-arrow', jQuery(el)).css('top', tmp_top);
1126			}
1127		});
1128	}
1129}
1130
1131
1132// set submenu width
1133function setSubmenuWidth() {
1134	/*if ( jQuery(window).width() > 1024 ) {
1135		var menu_w = jQuery('.main-navigation').width();
1136	} else {
1137		var menu_w = '';
1138	}
1139	jQuery('.submenu').width( menu_w );*/
1140}
1141
1142
1143// ---<--- file upload
1144/*function initFileUpload() {
1145	if ( jQuery('.file-upload-block').length ) {
1146		jQuery('.file-upload-block').not('.ready').each(function(index, el) {
1147			let limit = jQuery(this).data('limit');
1148			let img_count = 0;
1149
1150			jQuery('.input-file', jQuery(el)).change(function(e) {
1151				e.preventDefault();
1152				const files = this.files;
1153				let input = jQuery(this);
1154				for (let i = 0; i < files.length; i++) {
1155					let file = files[i];
1156					let field_name = this.name;
1157					filesFormData.append(field_name, file);
1158
1159					let ext = getFileExtension(file.name);
1160
1161					let fb = jQuery(`<div class="file-block">
1162						<div class="file-block-inner">
1163							<div class="file-type-block">
1164								<div class="file-loader">
1165									<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
1166										<path opacity="0.2" fill="#FFF" d="M20.201,5.169c-8.254,0-14.946,6.692-14.946,14.946c0,8.255,6.692,14.946,14.946,14.946s14.946-6.691,14.946-14.946C35.146,11.861,28.455,5.169,20.201,5.169z M20.201,31.749c-6.425,0-11.634-5.208-11.634-11.634c0-6.425,5.209-11.634,11.634-11.634c6.425,0,11.633,5.209,11.633,11.634C31.834,26.541,26.626,31.749,20.201,31.749z"></path>
1167										<path fill="#FFF" d="M26.013,10.047l1.654-2.866c-2.198-1.272-4.743-2.012-7.466-2.012h0v3.312h0C22.32,8.481,24.301,9.057,26.013,10.047z">
1168											<animateTransform attributeType="xml" attributeName="transform" type="rotate" from="0 20 20" to="360 20 20" dur="1s" repeatCount="indef
1168inite"></animateTransform>
1169										</path>
1170									</svg>
1171								</div>
1172								<div class="file-type">`+ext+`</div>
1173							</div>
1174							<div class="file-name">`+file.name+`</div>
1175						</div>
1176					</div>`);
1177					jQuery('<a class="delete-file" href="javascript:;"><svg class="icon icon-close-menu" role="img" width="24" height="25" viewBox="0 0 24 25"><use xlink:href="/wp-content/themes/mma/assets/images/svg-defs.svg#icon-close-menu"></use></svg></a>').click(function(e) {
1178						e.preventDefault();
1179						// remove file
1180						let tmp_files = filesFormData.getAll( field_name );
1181						tmp_files.splice(jQuery(this).closest('.file-block').index(), 1);
1182						filesFormData.delete(field_name);
1183						jQuery.each(tmp_files, function(i, v) {
1184							filesFormData.append(field_name, v);
1185						});
1186
1187						jQuery(this).closest('.file-block').fadeOut(400, function(){
1188							jQuery(this).remove();
1189						});
1190						img_count--;
1191						checkImageCount();
1192					}).appendTo( jQuery(fb).find('.file-block-inner') );
1193					jQuery(fb).hide().appendTo( jQuery('.file-list', jQuery(el)) ).fadeIn(400);
1194					img_count++;
1195					checkImageCount();
1196				}
1197			});
1198
1199			function checkImageCount() {
1200				if ( img_count < limit || limit == 0 ) {
1201					jQuery('.add-file', jQuery(el)).fadeIn(400);
1202				} else {
1203					jQuery('.add-file', jQuery(el)).fadeOut(400);
1204				}
1205			}
1206
1207			jQuery('.add-file', jQuery(el)).click(function(e) {
1208				e.preventDefault();
1209				jQuery('.input-file', jQuery(el)).click();
1210			});
1211
1212			jQuery(el).addClass('ready');
1213		});
1214	}
1215}
1216
1217function getFileExtension(fname) {
1218	return fname.slice((fname.lastIndexOf(".") - 1 >>> 0) + 2);
1219}*/
1220// --->--- file upload
1221
1222// ---<--- accordion
1223function setAccordion() {
1224	if ( jQuery('.accordion').length ) {
1225		setAccordionHeight();
1226
1227		jQuery('.accordion').not('.ready').each(function(index, el) {
1228			jQuery('.accordion-header', jQuery(el)).click(function() {
1229				var block = jQuery(this).closest('.accordion');
1230				jQuery(this).closest( block ).toggleClass('opened');
1231				jQuery('.input-checkbox-block', jQuery(this)).toggleClass('checked');
1232				setAccordionHeight();
1233			});
1234			jQuery(el).addClass('ready');
1235		});
1236
1237		jQuery(window).resize(function(){
1238			setAccordionHeight();
1239		});
1240
1241		function setAccordionHeight() {
1242			jQuery('.accordion.opened').not('.disabled').each(function(index, el) {
1243				jQuery('.accordion-content', jQuery(el)).css('max-height', jQuery('.accordion-content-inner', jQuery(el)).outerHeight());
1244			});
1245			jQuery('.accordion:not(.opened)').not('.disabled').each(function(index, el) {
1246				jQuery('.accordion-content', jQuery(el)).css('max-height', '');
1247			});
1248		}
1249	}
1250}
1251// --->--- accordion
1252
1253// ---<--- other accordion
1254function setOtherAccordion() {
1255	if ( jQuery('.other-accordion').length ) {
1256		// setOtherAccordionHeight();
1257
1258		jQuery('.other-accordion').not('.ready').each(function(index, el) {
1259			jQuery('.other-accordion-header', jQuery(el)).click(function() {
1260				var block = jQuery(this).closest('.other-accordion');
1261				// jQuery(block).toggleClass('opened');
1262				if ( jQuery(block).hasClass('opened') ) {
1263					jQuery('.other-accordion-content', jQuery(block)).css('max-height', jQuery('.other-accordion-content-inner', jQuery(block)).outerHeight());
1264					setTimeout(function(){
1265						jQuery(block).removeClass('opened');
1266						jQuery('.other-accordion-content', jQuery(block)).css('max-height', '');
1267					}, 1);
1268				} else {
1269					jQuery(block).addClass('opened');
1270					jQuery('.other-accordion-content', jQuery(block)).css('max-height', jQuery('.other-accordion-content-inner', jQuery(block)).outerHeight());
1271					jQuery('.other-accordion-content', jQuery(block)).on('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd', function(e){
1272						if ( jQuery(block).hasClass('opened') ) {
1273							jQuery(this).css('max-height', 'inherit');
1274						}
1275						// jQuery(this).off(e);
1276					});
1277				}
1278				// setOtherAccordionHeight();
1279			});
1280			jQuery(el).addClass('ready');
1281		});
1282
1283		/*jQuery(window).resize(function(){
1284			setOtherAccordionHeight();
1285		});*/
1286
1287		function setOtherAccordionHeight() {
1288			jQuery('.other-accordion.opened').not('.disabled').each(function(index, el) {
1289				jQuery('.other-accordion-content', jQuery(el)).css('max-height', jQuery('.other-accordion-content-inner', jQuery(el)).outerHeight());
1290				// jQuery('.other-accordion-content', jQuery(el)).css('max-height', 'inherit');
1291			});
1292			jQuery('.other-accordion:not(.opened)').not('.disabled').each(function(index, el) {
1293				jQuery('.other-accordion-content', jQuery(el)).css('max-height', '');
1294			});
1295		}
1296	}
1297}
1298// --->--- other accordion
1299
1300
1301// input numbers actions
1302function setInputNumbers() {
1303	jQuery('.input-numbers-container').not('.ready').each(function(index, el){
1304		jQuery('.act-plus', jQuery(el)).click(function(e) {
1305			e.preventDefault();
1306			let input = jQuery('.input-text', jQuery(el));
1307			let value = (''+parseInt(jQuery(input).val())=='NaN' || parseInt(j
1307Query(input).val())=='' ) ? 0 : parseInt(jQuery(input).val());
1308			value++;
1309			jQuery(input).val( value ).change();
1310			checkInputNumbers( jQuery(el) );
1311		});
1312
1313		jQuery('.act-minus', jQuery(el)).click(function(e) {
1314			e.preventDefault();
1315			let input = jQuery('.input-text', jQuery(el));
1316			let value = (''+parseInt(jQuery(input).val())=='NaN' || parseInt(jQuery(input).val())=='' ) ? 0 : parseInt(jQuery(input).val());
1317			value--;
1318			jQuery(input).val( value ).change();
1319			checkInputNumbers( jQuery(el) );
1320		});
1321
1322		jQuery('.input-text', jQuery(el)).inputFilter(function(value) {
1323			checkInputNumbers( jQuery(el) );
1324			return /^\d*jQuery/.test(value);    // Allow digits only, using a RegExp
1325		});
1326
1327		jQuery(this).addClass('ready');
1328	});
1329}
1330function checkInputNumbers(block) {
1331	let input = jQuery('.input-text', jQuery(block));
1332	let value = (''+parseInt(jQuery(input).val())=='NaN' || parseInt(jQuery(input).val())=='' ) ? 0 : parseInt(jQuery(input).val());
1333	let min_val = (jQuery('.act-btns', jQuery(block)).data('min') != undefined && jQuery('.act-btns', jQuery(block)).data('min') != '') ? parseInt(j
1333Query('.act-btns', jQuery(block)).data('min')) : false;
1334	let max_val = (jQuery('.act-btns', jQuery(block)).data('max') != undefined && jQuery('.act-btns', jQuery(block)).data('max') != '') ? parseInt(jQuery('.act-btns', jQuery(block)).data('max')) : false;
1335
1336	if (value <= min_val) {
1337		value = min_val;
1338		jQuery('.act-minus', jQuery(block)).addClass('disabled');
1339	} else {
1340		jQuery('.act-minus', jQuery(block)).removeClass('disabled');
1341	}
1342
1343	if (value >= max_val) {
1344		value = max_val;
1345		jQuery('.act-plus', jQuery(block)).addClass('disabled');
1346	} else {
1347		jQuery('.act-plus', jQuery(block)).removeClass('disabled');
1348	}
1349
1350	jQuery(input).val( value );
1351}
1352
1353
1354// input actions
1355function setInputSelect() {
1356	// select
1357	jQuery('.input-select', jQuery('.input-select-holder')).not('.ready').each(function(){
1358		jQuery(this).change(function(){
1359			jQuery('span',jQuery(this).parent()).text(jQuery('option:selected',jQuery(this)).text());
1360			if (jQuery('option:selected',jQuery(this)).attr('value') == '') {
1361				jQuery(this).closest('.input-select-holder').removeClass('chosed');
1362			} else {
1363				jQuery(this).closest('.input-select-holder').addClass('chosed');
1364			};
1365			jQuery(this).blur();
1366		});
1367		jQuery(this).blur(function(){
1368			jQuery(this).closest('.input-select-holder').removeClass('focus');
1369		});
1370		jQuery(this).focusin(function(){
1371			jQuery(this).closest('.input-select-holder').addClass('focus');
1372		});
1373		jQuery(this).focusout(function(){
1374			jQuery(this).closest('.input-select-holder').removeClass('focus');
1375		});
1376
1377		var t=jQuery('option:selected',jQuery(this)).text();
1378		if(!t.length){t=jQuery('option:first',jQuery(this)).text()}
1379		if (jQuery('option:selected',jQuery(this)).attr('value') == '') {
1380			jQuery(this).closest('.input-select-holder').removeClass('chosed');
1381		} else {
1382			jQuery(this).closest('.input-select-holder').addClass('chosed');
1383		};
1384		jQuery('span',jQuery(this).parent()).text(t);
1385		jQuery(this).addClass('ready');
1386	});
1387
1388	// validate form
1389	// setInputSelectValidation();
1390}
1391
1392
1393// Checkbox
1394function setInputCheckboxBlock() {
1395	jQuery('.input-checkbox-block').not('.ready').each(function(index, el) {
1396		jQuery(el).click(function(e) {
1397			if (e.target.tagName == 'DIV') {
1398				var block = jQuery(this);
1399				var input = jQuery('input[type="checkbox"]', jQuery(block));
1400				if ( jQuery(this).hasClass('checked') ) {
1401					jQuery(this).removeClass('checked');
1402					jQuery(input).prop('checked', false).change();
1403				} else {
1404					jQuery(this).addClass('checked');
1405					jQuery(input).prop('checked', true).change();
1406				}
1407			}
1408		});
1409		if ( jQuery(el).hasClass('checked') ) {
1410			jQuery('input[type="checkbox"]', jQuery(el)).prop('checked', true).change();
1411		}
1412		if ( jQuery(el).hasClass('disabled') ) {
1413			jQuery('input[type="checkbox"]', jQuery(el)).prop('disabled', true);
1414		}
1415		jQuery(el).addClass('ready');
1416	});
1417}
1418
1419
1420// Radiobuttons
1421function setInputRadioBlock() {
1422	jQuery('.input-radio-block').not('.ready').each(function(index, el) {
1423		jQuery(el).click(function(e) {
1424			if (e.target.tagName == 'DIV') {
1425				var block = jQuery(this);
1426				var input = jQuery('input[type="radio"]', jQuery(block));
1427
1428				if ( jQuery(block).data('group') != undefined ) {
1429					jQuery('.input-radio-block[data-group="'+jQuery(block).data('group')+'"]').each(function(index, el) {
1430						jQuery(el).removeClass('checked');
1431					});
1432
1433					jQuery(block).addClass('checked');
1434					jQuery(input).prop('checked', true).change();
1435				}
1436			}
1437		});
1438		if ( jQuery(el).hasClass('checked') ) {
1439			jQuery('input[type="radio"]', jQuery(el)).prop('checked', true).change();
1440		}
1441		if ( jQuery(el).hasClass('disabled') ) {
1442			jQuery('input[type="radio"]', jQuery(el)).prop('disabled', true);
1443		}
1444		jQuery(el).addClass('ready');
1445	});
1446}
1447
1448
1449// responsive tables
1450function setResponsiveTable() {
1451	jQuery('table', jQuery('.text-content')).each(function(index, el) {
1452		var labels = [];
1453		if (jQuery('thead', jQuery(el)).length) {
1454			jQuery('thead th', jQuery(el)).each(function(index2, el2) {
1455				if ( jQuery(el2).html() == '&nbsp;' ) {
1456					labels.push(' ');
1457				} else {
1458					labels.push( jQuery(el2).html() );
1459				}
1460			});
1461		} else {
1462			jQuery('tbody tr:first-child', jQuery(el)).each(function(index2, el2) {
1463				if ( jQuery(el2).html() == '&nbsp;' ) {
1464					labels.push(' ');
1465				} else {
1466					labels.push( jQuery(el2).html() );
1467				}
1468			});
1469		}
1470
1471		if ( labels.length > 0 ) {
1472			if (jQuery('tbody', jQuery(el)).length) {
1473				jQuery(el).addClass('responsive-table');
1474				jQuery('tbody tr:not(:first-child)', jQuery(el)).each(function(index2, el2) {
1475					jQuery('td', jQuery(el2)).each(function(index3, el3) {
1476						if ( jQuery(el3).attr('data-label') == undefined && labels[ index3 ] != undefined ) {
1477							jQuery(el3).attr('data-label', labels[ index3 ]);
1478						}
1479					})
1480				});
1481			}
1482		} else if (jQuery('tbody', jQuery(el)).length) {
1483			jQuery(el).addClass('responsive-table').addClass('simple');
1484		}
1485	});
1486}
1487
1488
1489function animateHomeBlocks() {
1490	if (jQuery('.home-animate').length) {
1491		var cur_scroll_h = (jQuery(window).scrollTop()<0) ? 0 : jQuery(window).scrollTop();
1492		
1493		var is_it_end = false;
1494		// var html_h = parseInt(jQuery('html').outerHeight(true) - jQuery(window).height());
1495		var html_h = parseInt(jQuery('.main-page-layout-content').outerHeight(true) + jQuery('.main-page-layout-footer').outerHeight(true) - jQuery(window).height());
1496		if ( html_h == cur_scroll_h ) {
1497			is_it_end = true;
1498		}
1499		
1500		jQuery('.home-animate:not(.is-active)').each(function() {
1501			if ( (jQuery(this).offset().top <= cur_scroll_h + (jQuery(window).height()* 2/3)) || is_it_end ) {
1502				jQuery(this).addClass('is-active');
1503			}
1504		});
1505	}
1506}
1507
1508
1509// article side img position
1510function setArticleSideImgPosition() {
1511	if ( jQuery('.side-image', jQuery('.with-side-image')).length && jQuery('.share-block').length ) {
1512		if ( jQuery(window).width() > 768 ) {
1513			let margin_r = jQuery('.share-block').outerWidth() * -1;
1514			jQuery('.side-image', jQuery('.with-side-image')).css('margin-right', margin_r);
1515		} else {
1516			jQuery('.side-image', jQuery('.with-side-image')).css('margin-right', '');
1517		}
1518	}
1519}
1520
1521
1522// moveable blocks
1523function setMovableItemPosition() {
1524	if ( jQuery('.moveable-content').length && jQuery('.movable-item').length ) {
1525		var cur_scroll = (jQuery(window).scrollTop()<0) ? 0 : jQuery(window).scrollTop();
1526		var top_position = 30;
1527
1528		jQuery('.moveable-content').each(function(index, el) {
1529			var max_width = 1024;
1530			if ( jQuery(el).data('max-width') != undefined ) {
1531				max_width = jQuery(el).data('max-width');
1532			}
1533
1534			if ( jQuery(el).data('obj-class') != undefined && jQuery('.'+jQuery(el).data('obj-class')).length ) {
1535				// console.log(jQuery('.'+jQuery(el).data('obj-class')).height());
1536				jQuery(el).css('margin-top', jQuery('.'+jQuery(el).data('obj-class')).height() + top_position);
1537			}
1538
1539			var outter_block_top = jQuery(el).offset().top;
1540			var max_position_bottom = jQuery(el).offset().top + jQuery(el).outerHeight() - ( (jQuery(el).outerHeight() - jQuery(el).height()) / 2 );
1541			var share_block_h = jQuery('.movable-item', jQuery(el)).outerHeight();
1542
1543			jQuery('.movable-item', jQuery(el)).width( jQuery(el).width() );
1544
1545			if ( jQuery(window).width() > max_width ) {
1546				if ( (cur_scroll + top_position) >= outter_block_top && (cur_scroll + share_block_h + top_position) < max_position_bottom ) {
1547					jQuery('.movable-item', jQuery(el)).addClass('fixed-block');
1548					jQuery('.movable-item', jQuery(el)).css('position', '').css('margin-top', '').css('top', top_position);
1549				} else {
1550					jQuery('.movable-item', jQuery(el)).removeClass('fixed-block');
1551					if ( (cur_scroll + share_block_h + top_position) >= max_position_bottom && jQuery(el).height() > jQuery('.movable-item', jQuery(el)).height() ) {
1552						var max_margin_top = max_position_bottom - share_block_h - outter_block_top;
1553
1554						if ( cur_scroll > outter_block_top && jQuery(window).width() > max_width ) {
1555							var margin_top = (cur_scroll - outter_block_top) + top_position;
1556							if ( margin_top > max_margin_top ) {
1557								margin_top = max_margin_top;
1558							}
1559						} else {
1560							var margin_top = 0;
1561						}
1562
1563						jQuery('.movable-item', jQuery(el)).css('position', 'absolute').css('margin-top', margin_top).css('top', '');
1564					} else {
1565						jQuery('.movable-item', jQuery(el)).css('position', '').css('margin-top', '').css('top', '');
1566					}
1567				}
1568			} else {
1569				jQuery('.movable-item', jQuery(el)).removeClass('fixed-block').css('position', '').css('margin-top', '').css('top', '');
1570				jQuery(el).css('margin-top', '');
1571			}
1572		});
1573	}
1574}
1575
1576
1577// close all events filter
1578function closeAllEventsFilters() {
1579	jQuery('.filter-toggler').each(function(index, el) {
1580		var btn = jQuery(el);
1581		var btn_block = jQuery(btn).closest('.filter-toggler-block');
1582		var btns_block = jQuery(btn).closest('.togglable-filter-btns');
1583		
1584		jQuery('.filter-toggler-block', jQuery(btns_block)).each(function(index, el) {
1585			jQuery(el).removeClass('is-opened');
1586		});
1587
1588		jQuery(btn_block).removeClass('is-opened');
1589
1590		jQuery('.events-filter-block').removeClass('active');
1591
1592		// fix all buttons
1593		jQuery('.filter-toggler', jQuery(btns_block)).each(function(index, el) {
1594			if ( jQuery(el).hasClass('active') || jQuery(this).closest('.filter-toggler-block').hasClass('is-opened') ) {
1595				jQuery(el).removeClass('btn--outline');
1596			} else {
1597				jQuery(el).addClass('btn--outline');
1598			}
1599		});
1600	});
1601}
1602
1603
1604function setStoryPaggePositions() {
1605	if ( jQuery('.digital-exhibitions-list', jQuery('body.stories-page')).length ) {
1606		jQuery('.digital-exhibition-block').css('padding-top', '').css('margin-top', '');
1607
1608		if ( jQuery(window).width() > 1024 ) {
1609			var list = jQuery('.digital-exhibitions-list', jQuery('body.stories-page'));
1610			var half_h = parseFloat( jQuery('.sizer', jQuery(list)).height() ) / 2;
1611			jQuery('.digital-exhibition-block', jQuery(list)).each(function(index, el) {
1612				if ( index == 1 ) {
1613					jQuery(el).css('padding-top', half_h);
1614				} else if ( index != 0 && index % 2 == 0 ) {
1615					jQuery(el).css('margin-top', half_h * -1);
1616				}
1617			});
1618		}
1619
1620		if ( jQuery('.continue-with-digital-exhibitions-block').length ) {
1621			jQuery('.continue-with-digital-exhibitions-block').css('margin-top', '');
1622
1623			if ( jQuery(window).width() > 1024 ) {
1624				var index = jQuery('.continue-with-digital-exhibitions-block').index();
1625				if ( index != 0 && index % 2 == 0 ) {
1626					jQuery('.continue-with-digital-exhibitions-block').css('margin-top', (jQuery('.continue-with-digital-exhibitions-block').height() + 50) * -1);
1627				}
1628			}
1629		}
1630	}
1631}
1632
1633
1634
1635/* 
1636 * COOKIES 
1637 */
1638function setCookie(cname, cvalue, exdays) {
1639	var d = new Date();
1640	d.setTime(d.getTime() + (exdays*24*60*60*1000));
1641	var expires = "expires="+ d.toUTCString();
1642	document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
1643}
1644
1645var cookies_dictionary = {
1646	"lv":
1647	{
1648		"cookies":
1649		{
1650			"message": "\u0160\u012b m\u0101jaslapa izmanto s\u012bkdatnes, kas pal\u012bdz uzlabot t\u0101s darb\u012bbu un iev\u0101c inform\u0101ciju par apmekl\u0113jumu. Detaliz\u0113t\u0101ka inform\u0101cija pieejama m\u016bsu ",
1651			"allow": "Piekr\u012btu",
1652			"allow_text": "visu s\u012bkdat\u0146u izmanto\u0161anai",
1653			"deny": "Nepiekr\u012btu",
1654			"deny_text": "s\u012bkdat\u0146u izmanto\u0161anai, kas iev\u0101c inform\u0101ciju, kura nav oblig\u0101ta m\u0101jaslapas pilnv\u0113rt\u012bgai darb\u012bbai",
1655			"link": "priv\u0101tuma politik\u0101.",
1656		}
1657	},
1658	"en":
1659	{
1660		"cookies":
1661		{
1662			"message": "This website uses cookies for enhancing the user experience and tracking usage statistics. More information is available in our ",
1663			"allow": "Accept",
1664			"allow_text": "all cookies",
1665			"deny": "Decline",
1666			"deny_text": "cookies which are not mandatory for the full operation of the website",
1667			"link": "Privacy Policy.",
1668		}
1669	},
1670	"ru":
1671	{
1672		"cookies":
1673		{
1674			"message": "На этой домашней странице используются идентификационные файлы, которые помогают улучшать ее производительность и собирать информацию о ее посещаемости. Более подробная информация содержится в нашей ",
1675			"allow": "Согласен",
1676			"allow_text": "с использованием всех идентификационных файлов",
1677			"deny": "Не согласен",
1678			"deny_text": "с использованием идентификационных файлов, которые собирают информацию, которая не является обязательной для полного функционирования домашней станицы",
1679			"link": "политике конфиденциальности.",
1680		}
1681	}
1682}
1683
1684function isAllowedCookies() {
1685	var x = document.cookie;
1686	if ( x.includes('new_cookieconsent_status=allow;') ) {
1687		return true;
1688	}
1689	return false;
1690}
1691
1692function showGAcodes(anonymizeIp) {
1693	if ( anonymizeIp ) {
1694		clearAllCookies();
1695	} else {
1696		gtag('consent', 'update', {
1697			'ad_storage': 'granted',
1698            'ad_user_data': 'granted',
1699            'ad_personalization': 'granted',
1700            'analytics_storage': 'granted'
1701		});
1702		
1703		const scripts = document.querySelectorAll('script[type="text"]');
1704		if ( scripts ) {
1705			scripts.forEach((el) => {
1706				const html_head = document.getElementsByTagName('head')[0];
1707				const html_body = document.getElementsByTagName('body')[0];
1708				const script = document.createElement('script');
1709				script.type = 'text/javascript';
1710				if (el.src) {
1711					script.src = el.src;
1712				}
1713				if (el.hasAttribute('async')) {
1714					script.async = el.async;
1715				}
1716				if (el.innerHTML) {
1717					script.innerHTML = el.innerHTML;
1718				}
1719				if (el.parentElement.tagName == 'HEAD') {
1720					html_head.appendChild(script);
1721				} else if (el.parentElement.tagName == 'BODY') {
1722					html_body.appendChild(script);
1723				}
1724				el.remove();
1725			});
1726		}
1727	}
1728}
1729
1730function clearAllCookies() {
1731    let cookies = document.cookie.split(";"); // Get all cookies
1732	const excluded_cookies = ['sid','new_cookieconsent_status'];
1733	for (let i = 0; i < cookies.length; i++) {
1734        let cookie = cookies[i].trim();
1735		let eqPos = cookie.indexOf("=");
1736        let cookieName = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
1737		if (!excluded_cookies.includes(cookieName)) {
1738			document.cookie = cookieName + "=; SameSite=None; Secure; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; domain=" + location.hostname.replace(/^www\./i, "") + ";"; // Delete cookie
1739			document.cookie = cookieName + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/";
1740		}
1741    }
1742}
1743
1744function initCookieConsent() {
1745	window.addEventListener("load", function(){
1746		var p;
1747		window.cookieconsent.initialise({
1748			revokable: false,
1749			cookie: {
1750				name: "new_cookieconsent_status",
1751			},
1752			position: "bottom",
1753			type: "opt-in",
1754			palette: {
1755				"popup": {
1756					"background": "#151515",
1757					"text": "#FFF"
1758				},
1759				/*"button": {
1760					"background": "#ffd100",
1761					"text": "#000000"
1762				}*/
1763			},
1764			content: {
1765				"message": cookies_dictionary[ sys_lang ]['cookies']['message'],
1766				"allow": cookies_dictionary[ sys_lang ]['cookies']['allow'],
1767				"deny": cookies_dictionary[ sys_lang ]['cookies']['deny'],
1768				"link": cookies_dictionary[ sys_lang ]['cookies']['link'],
1769				"href": cookieconsent_href
1770			},
1771			window: '<div role="dialog" aria-live="polite" aria-label="cookieconsent" aria-describedby="cookieconsent:desc" class="cc-window {{classes}}"><div class="cookie-text-wrapper"><!--googleoff: all-->{{children}}<!--googleon: all--></div></div>',
1772			elements: {
1773				"messagelink": '<span id="cookieconsent:desc" class="cc-message">{{message}} <a aria-label="learn more about cookies" tabindex="0" class="cc-link" href="{{href}}" target="_blank">{{link}}</a></span>',
1774				"deny": '<a aria-label="deny cookies" role="button" tabindex="0" class="cc-btn cc-deny cc-dismiss btn btn--outline white">{{deny}}</a>',
1775				"allow": '<a aria-label="allow cookies" tabindex="0" class="cc-btn cc-allow btn btn--white">{{allow}}</a>',
1776			},
1777			compliance: {
1778				"opt-in": '<div class="cc-compliance cc-highlight"><div class="deny-block">{{deny}} <span class="deny-text">'+cookies_dictionary[ sys_lang ]['cookies']['deny_text']+'</span></div> <div class="allow-block">{{allow}} <span class="allow-text">'+cookies_dictionary[ sys_lang ]['cookies']['allow_text']+'</span></div></div>',
1779			},
1780			onInitialise: function (status) {
1781				var type = this.options.type;
1782				var didConsent = this.hasConsented();
1783				if (type == 'opt-in' && didConsent) {
1784					showGAcodes(false);
1785				} else if (type == 'opt-in' && !didConsent) {
1786					showGAcodes(true);
1787				}
1788			},
1789			onStatusChange: function(status, chosenBefore) {
1790				var type = this.options.type;
1791				var didConsent = this.hasConsented();
1792				if (type == 'opt-in' && didConsent) {
1793					showGAcodes(false);
1794				} else if (type == 'opt-in' && !didConsent) {
1795					showGAcodes(true);
1796				}
1797			},
1798		}, function (popup) {
1799			p = popup;
1800			
1801			if ( p.getStatus() != undefined && p.getStatus() == 'allow' ) {
1802				showGAcodes(false);
1803			} else {
1804				showGAcodes(true);
1805			}
1806
1807			setPositionForCookieConsent();
1808		});
1809		document.addEventListener('click', function (e) {
1810			if (e.target && e.target.id == 'btn-allowCookie') {
1811				e.preventDefault();
1812				p.setStatus(cookieconsent.status.allow);
1813				p.close();
1814			} else if (e.target && e.target.id == 'btn-dismissCookie') {
1815				e.preventDefault();
1816				p.setStatus(cookieconsent.status.deny);
1817				p.revokeChoice();
1818			}
1819		});
1820	});
1821
1822	jQuery(window).resize(function(){
1823		setPositionForCookieConsent();
1824	});
1825
1826	function setPositionForCookieConsent() {
1827		jQuery('.cc-window').css('top', '').css('bottom', '').css('overflow-y', '');
1828		if ( jQuery('.cc-window').length && jQuery('.cc-window').outerHeight() > jQuery(window).height() ) {
1829			jQuery('.cc-window').css('top', 0).css('bottom', 0).css('overflow-y', 'auto');
1830		}
1831	}
1832}

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.