PageSourceSearch

https://www.hgv-welzheim.de/typo3temp/assets/t3sbootstrap_16a218b521.js?1789136867

js hgv-welzheim.de collected 2026-10-02 01:01:23 UTC 6,377 bytes, 219 lines download raw bytes

1
2// Scroll anchor - Main.html
3function t3sbScrollToAnchor(sectionmenuAnchorOffset, fixedNavbar, navbarHeight, sectionhash=false) {
4	var hash = window.location.hash;
5	if (sectionhash) {
6		hash = sectionhash;
7	}
8	if (hash.length) {
9		var idArr = hash.split('#');
10		var targetElement = document.getElementById(idArr[1]);
11		if ( targetElement === null ) {
12			idArr = hash.split('#c');
13			targetElement = document.getElementById('tab-'+idArr[1]);
14		}
15		if ( targetElement != null ) {
16			var	offsetSize = sectionmenuAnchorOffset;
17			if ( fixedNavbar ) {
18				offsetSize += navbarHeight;
19			}
20			var scrollTo = Math.round(t3sbOffsetTop(targetElement)-offsetSize);
21			window.scroll({ top: scrollTo, behavior: 'smooth' });
22		}
23	}
24}
25
26function t3sbOffsetTop(el) {
27	var rect = el.getBoundingClientRect(),
28		scrollTop = window.pageYOffset || document.documentElement.scrollTop;
29		return rect.top + scrollTop;
30}
31
32
33
34// Loading spinner - Main.html
35function t3sbFadeOutEffect(fadeTarget) {
36	var fadeEffect = setInterval(function () {
37		if (!fadeTarget.style.opacity) {
38			fadeTarget.style.opacity = 1;
39		}
40		if (fadeTarget.style.opacity > 0) {
41			fadeTarget.style.opacity -= 0.1;
42		} else {
43			clearInterval(fadeEffect);
44		}
45	}, 60);
46	fadeTarget.classList.add('d-none');
47}
48	
49
50
51// Link to top - Main.html
52function t3sbScrollToTop() {
53	document.addEventListener('scroll', t3sbHandleScroll);
54}
55
56function t3sbHandleScroll() {
57	var scrollToTopBtn = document.querySelector('.back-to-top'),
58		scrollTop = window.pageYOffset || document.documentElement.scrollTop;
59	if (scrollToTopBtn != null) {
60		scrollToTopBtn.addEventListener('click', t3sbScrollIt);
61		if (scrollTop > 100) {
62			scrollToTopBtn.classList.add('st-block');
63			scrollToTopBtn.classList.remove('st-none');
64		} else {
65			scrollToTopBtn.classList.add('st-none');
66			scrollToTopBtn.classList.remove('st-block');
67		}
68	}
69}
70
71function t3sbScrollIt(e) {
72	e.preventDefault();
73	window.scroll({ top: 0, behavior: 'smooth' });
74}
75	
76
77
78// Shrinking Navbar on scrolling - Navbar/Assets.html
79function t3sbShrinkingNavbar(navbar, padding) {
80	let navShrinkColorschemes = navbar.getAttribute('data-shrinkcolorschemes'),
81		navShrinkColor = 'navbar-'+navbar.getAttribute('data-shrinkcolor'),
82		navColorschemes = navbar.getAttribute('data-colorschemes'),
83		navColor = navbar.getAttribute('data-color'),
84		gradient = navShrinkColorschemes.split(' ');
85	if (gradient[1]) {
86		navShrinkColorschemes = gradient[0];
87	}
88	window.addEventListener('scroll', function() {
89		if (navColor == navShrinkColor) {	
90			if ( t3sbOffsetTop(navbar) > 100) {
91				navbar.classList.remove('py-'+padding, navColorschemes);
92				navbar.classList.add('navbar-shrink', navShrinkColorschemes);
93			} else {
94				navbar.classList.add('py-'+padding, navColorschemes);
95				navbar.classList.remove('navbar-shrink', navShrinkColorschemes);
96			}
97		} else {
98			if ( t3sbOffsetTop(navbar) > 100) {
99				navbar.classList.remove('py-'+padding, navColorschemes, navColor);
100				navbar.classList.add('navbar-shrink', navShrinkColor, navShrinkColorschemes);
101			} else {
102				navbar.classList.add('py-'+padding, navColorschemes, navColor);
103				navbar.classList.remove('navbar-shrink', navShrinkColor, navShrinkColorschemes);
104			}	
105		}
106	});
107}
108	
109
110
111// Extra Row - Navbar/Assets.html
112function t3sbExtraRow(vw, bp) {
113	let extraRow = document.querySelector('.navbar .extra-row');
114	if (extraRow) {
115		if ( vw < bp ) {
116			extraRow.classList.add('flex-row','me-auto','mt-4','mb-0');
117			extraRow.classList.remove('ms-auto');
118		} else {
119			extraRow.classList.remove('flex-row','me-auto','mt-4','mb-0');
120			extraRow.classList.add('ms-auto');
121		}
122	}
123}
124	
125
126
127// Offcanvas - Navbar/Assets.html
128function t3sbOffcanvas(vw, bp, utilColorArr) {
129	var navbarToggler = document.getElementById('navbarToggler');
130	if ( vw > bp ) {
131		navbarToggler.classList.remove(utilColorArr[0]);
132		navbarToggler.classList.remove(utilColorArr[1]);
133	} else {
134		navbarToggler.classList.add(utilColorArr[0]);
135		navbarToggler.classList.add(utilColorArr[1]);
136	}
137	let extraRow = document.querySelector('.navbar .extra-row');
138	if (extraRow) {
139		if ( vw < bp ) {
140			extraRow.classList.add('ms-3');
141		} else {
142			extraRow.classList.remove('ms-3');
143		}
144	}
145}
146	
147
148
149function ready(fn) {
150	if (document.readyState != 'loading'){
151fn();
152	} else {
153document.addEventListener('DOMContentLoaded', fn);
154	}
155}
156ready(() => {
157	// Default - Main.html
158	const navbar = document.getElementById('main-navbar'),
159		  navbarHeight = navbar.clientHeight,
160		  navbarBreakpointWidth = document.body.getAttribute('data-navbar-breakpointwidth'),
161		  viewportWidth = parseFloat(getComputedStyle(document.querySelector('html'), null).width.replace("px", "")),
162		  onePageLayout = navbar.classList.contains('sectionMenu');
163
164	var fixedNavbar = false;
165
166	if ( navbar.classList.contains('fixed-top') || navbar.classList.contains('sticky-top') ) {
167		fixedNavbar = true;
168	}
169
170	// Scroll anchor - Main.html
171	if (window.location.hash) {
172		t3sbScrollToAnchor(0, fixedNavbar, navbarHeight);
173	}
174		
175
176	// Loading spinner - Main.html
177	window.onload = function() {
178		let spinner = document.getElementById('site-preloader');
179		t3sbFadeOutEffect(spinner);
180	};
181
182
183	// Link to top - Main.html
184	t3sbScrollToTop();
185
186
187	// Extra row - Navbar/Assets.html
188	t3sbExtraRow(viewportWidth, navbarBreakpointWidth);
189	window.addEventListener('resize', function(event) {	
190		resizedViewportWidth = parseFloat(getComputedStyle(document.querySelector('html'), null).width.replace("px", ""));
191		t3sbExtraRow(resizedViewportWidth, navbarBreakpointWidth);
192	}, true);
193
194
195	// No justify on mobile - Navbar/Assets.html
196	if ( viewportWidth < navbarBreakpointWidth ) {
197		navbar.querySelector('.main-navbarnav').classList.remove('nav-fill', 'w-100');
198	} 
199
200
201	// Offcanvas - Navbar/Assets.html
202	var navbarBreakpoint = document.body.getAttribute('data-navbar-breakpoint');
203	var navbarBPWidth = navbarBreakpointWidth,
204		utilColor = 'bg-light',
205		utilColorArr = utilColor.split(' ');
206	if (navbarBreakpoint == 'no') {
207		navbarBPWidth = 99999;
208	}
209	t3sbOffcanvas(viewportWidth, navbarBPWidth, utilColorArr);
210	window.addEventListener('resize', function(event) {	
211		resizedViewportWidth = parseFloat(getComputedStyle(document.querySelector('html'), null).width.replace("px", ""));
212		t3sbOffcanvas(resizedViewportWidth, navbarBPWidth, utilColorArr);
213	}, true);
214
215
216	// Shrinking Navbar on scrolling - Navbar/Assets.html
217	t3sbShrinkingNavbar(navbar, 1);
218
219});

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.