PageSourceSearch

https://scriptoman.ai/js/main.js

js scriptoman.ai collected 2026-10-04 22:49:32 UTC 5,943 bytes, 200 lines download raw bytes

1(function () {
2	window.addEventListener("DOMContentLoaded", () => {
3		const navbarToggler = document.querySelector(".navbar-area .navbar-toggler");
4		const navbar = document.getElementById("navbar");
5		const pageLink = document.querySelectorAll(".page-scroll");
6		const scrollTop = document.querySelector(".scroll-top");
7		const faqSlider = document.querySelector(".faq-slider");
8		const section = document.getElementById(window.location.hash.replace("#", ""));
9
10		setTimeout(() => {
11			if (section)
12				section.scrollIntoView({ behavior: "smooth" });
13		}, 2000);
14
15		setTimeout(() => {
16			const dropdownUserMenu = document.querySelector("#dropdown-user-menu");
17			const userMenu = document.querySelector("#user-menu");
18
19			if (dropdownUserMenu) {
20				dropdownUserMenu.addEventListener("click", function () {
21					if (userMenu.style.display == "" || userMenu.style.display == "none")
22						userMenu.style.display = "block";
23					else
24						userMenu.style.display = "none";
25				});
26			}
27		}, 1000);
28
29		window.addEventListener("click", (e) => {
30			const dropdownUserMenu = document.querySelector("#dropdown-user-menu");
31			const userMenu = document.querySelector("#user-menu");
32
33			if (dropdownUserMenu && !dropdownUserMenu.contains(e.target) && userMenu.style.display == "block")
34				userMenu.style.display = "none";
35		});
36
37		if (navbarToggler != null) {
38			navbarToggler.addEventListener("click", () => {
39				navbarToggler.classList.toggle("active");
40
41				if (navbar.classList.contains("collapse"))
42					navbar.classList.remove("collapse");
43				else
44					navbar.classList.add("collapse");
45			}, { passive: true });
46		}
47
48		if (scrollTop != null) {
49			scrollTop.addEventListener("click", (e) => {
50				window.scrollTo(0, 0);
51			});
52		}
53
54		window.document.addEventListener("scroll", () => {
55			const sections = document.querySelectorAll(".page-scroll");
56			const scrollPos = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
57
58			for (var i = 0; i < sections.length; i++) {
59				const currLink = sections[i];
60				const val = currLink.getAttribute("href");
61				const refElement = document.querySelector(val);
62				const scrollTopMinus = scrollPos + 73;
63
64				if (refElement != null) {
65					if (refElement.offsetTop <= scrollTopMinus && (refElement.offsetTop + refElement.offsetHeight > scrollTopMinus)) {
66						document.querySelector(".page-scroll").classList.remove("active");
67						currLink.classList.add("active");
68					} else {
69						currLink.classList.remove("active");
70					}
71				}
72			}
73		});
74
75		pageLink.forEach(element => {
76			element.addEventListener("click", e => {
77				const section = document.querySelector(element.getAttribute("href"));
78
79				if (section != null) {
80					e.preventDefault();
81
82					section.scrollIntoView({
83						behavior: "smooth",
84						offsetTop: 1 - 60,
85					});
86				}
87			});
88		});
89
90		if (faqSlider != null) {
91			tns({
92				container: ".faq-slider",
93				items: 3,
94				autoplay: true,
95				autoplayButtonOutput: false,
96				mouseDrag: true,
97				gutter: 0,
98				nav: true,
99				controls: false,
100				controlsText: [
101					'<i class="lni lni-arrow-left"></i>',
102					'<i class="lni lni-arrow-right"></i>',
103				],
104				responsive: {
105					0: {
106						items: 1,
107					},
108					1170: {
109						items: 2,
110					},
111				},
112			});
113		}
114	});
115
116	let dropdownElementId = "", collapseElementId = "", isOutsideCloseDropdown = false, isOutsideCloseCollapse = false;
117
118	dropdown = (id, outsideClose = false) => {
119		isOutsideCloseDropdown = outsideClose;
120
121		if (dropdownElementId != id) {
122			if (dropdownElementId != "") {
123				const element = document.getElementById(dropdownElementId);
124				element.classList.remove("show");
125				element.style = "";
126				dropdownElementId = "";
127			}
128
129			const element = document.getElementById(id);
130			element.classList.add("show");
131			element.style = "position: absolute; inset: 0px auto auto 0px; margin: 0px; transform: translate3d(443.6px, 203.2px, 0px);";
132			dropdownElementId = id;
133		} else if (dropdownElementId == id) {
134			const element = document.getElementById(dropdownElementId);
135			element.classList.remove("show");
136			element.style = "";
137			dropdownElementId = "";
138		}
139	}
140
141	collapse = (id, target, outsideClose = false) => {
142		isOutsideCloseCollapse = outsideClose;
143		id = target + "-" + id.split("-").pop();
144
145		if (collapseElementId != id) {
146			if (collapseElementId != "") {
147				const element = document.getElementById(collapseElementId);
148				element.classList.add("collapse");
149				collapseElementId = "";
150			}
151
152			const element = document.getElementById(id);
153			element.classList.remove("collapse");
154			collapseElementId = id;
155		} else if (collapseElementId == id) {
156			const element = document.getElementById(collapseElementId);
157			element.classList.add("collapse");
158			collapseElementId = "";
159		}
160	}
161
162	document.addEventListener("mouseup", (e) => {
163		const dropdownElement = dropdownElementId != "" ? document.getElementById(dropdownElementId) : null;
164		const collapseElement = collapseElementId != "" ? document.getElementById(collapseElementId) : null;
165
166		if (dropdownElement != null) {
167			if (isOutsideCloseDropdown) {
168				if (!dropdownElement.contains(e.target)) {
169					if (!e.target.classList.contains("toggle-menu")) {
170						if (dropdownElementId != "") {
171							dropdownElement.classList.remove("show");
172							dropdownElement.style = "";
173							dropdownElementId = "";
174						}
175					}
176				}
177			} else {
178				if (!e.target.classList.contains("toggle-menu")) {
179					dropdownElement.classList.remove("show");
180					dropdownElement.style = "";
181					dropdownElementId = "";
182				}
183			}
184		}
185
186		if (collapseElement != null) {
187			if (isOutsideCloseCollapse) {
188				if (!collapseElement.contains(e.target)) {
189					if (!e.target.classList.contains("collapse-toggle")) {
190						if (collapseElementId != "") {
191							collapseElement.classList.add("collapse");
192							collapseElement.style = "";
193							collapseElementId = "";
194						}
195					}
196				}
197			}
198		}
199	}, { passive: true });
200})();

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.