File "dorado-20250112053121.js"
Full Path: /www/wwwroot/turbocarclub.com/themes/dorado/js/dorado-20250112053121.js
File size: 10.88 KB
MIME-type: --
Charset: utf-8
// for game page code
// === screens
var frame = document.getElementById("game-frame");
var playScreen = document.getElementById("play-screen");
var loadingScreen = document.getElementById("loading-screen");
// === button
var playButton = document.getElementById("game-play-button");
// === progress
var progressLine = document.getElementById("progressLine");
if (frame !== null && playScreen !== null && loadingScreen !== null) {
function PlayGame() {
playScreen.classList.add("d-none");
loadingScreen.classList.remove("d-none");
var frameSource = frame.getAttribute("data-frame-src");
frame.src = frameSource;
setTimeout(() => { progressLine.style.width = '10%' }, 400 * 2);
setTimeout(() => { progressLine.style.width = '20%' }, 800 * 2);
setTimeout(() => { progressLine.style.width = '30%' }, 1200 * 2);
setTimeout(() => { progressLine.style.width = '40%' }, 1600 * 2);
setTimeout(() => { progressLine.style.width = '50%' }, 2000 * 2);
setTimeout(() => { progressLine.style.width = '60%' }, 2400 * 2);
setTimeout(() => { progressLine.style.width = '70%' }, 2800 * 2);
setTimeout(() => { progressLine.style.width = '80%' }, 3200 * 2);
setTimeout(() => { progressLine.style.width = '90%' }, 3600 * 2);
setTimeout(() => { progressLine.style.width = '100%'; }, 4000 * 2);
}
// playButton.onclick = () => {
// }
frame.onload = () => {
setTimeout(() => {
loadingScreen.classList.add("d-none");
}, 16000);
}
}
// for sidebar toggle in mobile
function ToggleSidebar() {
var sidebar = document.getElementById("sidebar");
sidebar?.classList.toggle("active");
}
// for header effect
var header = document.querySelector("header.zon-header");
document.addEventListener("scroll", () => {
if (header !== null) {
if (document.documentElement.scrollTop > 0 || document.body.scrollTop > 0) {
header.classList.add("active");
} else {
header.classList.remove("active");
}
}
});
document.addEventListener("DOMContentLoaded", function () {
const lazyImages = document.querySelectorAll(".lazy");
if ("IntersectionObserver" in window) {
const lazyImageObserver = new IntersectionObserver((entries, observer) => {
entries.forEach((entry) => {
if (entry.isIntersecting) {
const lazyImage = entry.target;
lazyImage.src = lazyImage.dataset.src;
lazyImage.classList.remove("lazy");
lazyImageObserver.unobserve(lazyImage);
}
});
});
lazyImages.forEach((lazyImage) => {
lazyImageObserver.observe(lazyImage);
});
} else {
// Fallback for browsers that do not support IntersectionObserver
let lazyLoadThrottleTimeout;
function lazyLoad() {
if (lazyLoadThrottleTimeout) {
clearTimeout(lazyLoadThrottleTimeout);
}
lazyLoadThrottleTimeout = setTimeout(function () {
const scrollTop = window.pageYOffset;
lazyImages.forEach((img) => {
if (img.offsetTop < window.innerHeight + scrollTop) {
img.src = img.dataset.src;
img.classList.remove("lazy");
}
});
if (lazyImages.length == 0) {
document.removeEventListener("scroll", lazyLoad);
window.removeEventListener("resize", lazyLoad);
window.removeEventListener("orientationChange", lazyLoad);
}
}, 20);
}
document.addEventListener("scroll", lazyLoad);
document.addEventListener("mousemove", lazyLoad);
window.addEventListener("resize", lazyLoad);
window.addEventListener("orientationChange", lazyLoad);
}
});
// for image lazy loading
var games = document.querySelectorAll(".game-card");
if (games.length > 0) {
games.forEach((game) => {
var loader = game.querySelector(".game-poster .loader");
var poster = game.querySelector(".game-poster img[alt]");
loader?.classList.add("active");
if (poster.complete) {
setTimeout(() => {
loader?.classList.remove("active");
}, 2000);
} else {
// Add an event listener to check when the image loads
poster.onload = () => {
setTimeout(() => {
loader?.classList.remove("active");
}, 2000);
};
poster.onerror = () => {
loader?.classList.add("active");
};
}
});
}
// for loader
var appLoader = document.getElementById("app_loader");
var intro = document.getElementById("intro");
var loader = document.getElementById("loader");
var imageSrc = loader?.getAttribute("data-src");
var overlay = loader?.querySelector(".overlay-full");
if (appLoader !== null) {
setTimeout(() => {
intro.classList.add("hide");
}, 1700);
setTimeout(() => {
intro.classList.add("hidden");
loader.style.backgroundImage = `url(${imageSrc})`;
loader.classList.replace("hide", "show");
}, 2800);
setTimeout(() => {
loader.classList.replace("opacity-0", "opacity-1");
}, 3500);
setTimeout(() => {
overlay.classList.replace("opacity-1", "opacity-0");
}, 3700);
setTimeout(() => {
overlay.classList.replace("opacity-0", "opacity-1");
appLoader.classList.remove("active");
}, 5800);
}
// set theme according to localStorage data
var themeChanger = document.getElementById("themeChanger");
var theme = localStorage.getItem("theme");
var html = document.documentElement;
var condition = theme === "light" ? "light" : "dark";
html.setAttribute("data-zon-skin", condition);
themeChanger?.classList.add(condition);
// zontal theme changer
function ChangeTheme() {
var theme = localStorage.getItem("theme");
if (theme === null) {
localStorage.setItem("theme", "dark");
}
if (theme === "light") {
// dark mode
localStorage.setItem("theme", "dark");
document.documentElement.setAttribute("data-zon-skin", "dark");
themeChanger?.classList.replace("light", "dark");
} else {
// light mode
localStorage.setItem("theme", "light");
document.documentElement.setAttribute("data-zon-skin", "light");
themeChanger?.classList.replace("dark", "light");
}
}
// functions for slider
function SlideLeft(scroll, element) {
var slider = element.nextElementSibling;
var slideLeftButton = element;
var slideRightButton = element.nextElementSibling.nextElementSibling;
if (slider !== undefined) {
slider.scrollLeft -= scroll + 20;
}
// condition || code for showing / hiding slide buttons
setTimeout(() => {
if (slider.scrollLeft <= 420) {
slideLeftButton.classList.add("d-none");
}
}, 100);
// for right button
if (slider.scrollLeft + slider.clientWidth + 1 >= slider.scrollWidth) {
slideRightButton.classList.remove("d-none");
}
}
function removeActiveClass() {
var featuredGames = document.querySelectorAll(".featured-games .game-card");
if (featuredGames.length > 0) {
featuredGames.forEach((game) => {
game.classList.remove("active");
});
}
}
function AutoSlide(scroll, element) {
var dynamicContent = document.getElementById("dynamicContent");
var slider = element.parentNode.parentNode;
var slideLeftButton = element.parentNode.parentNode.previousElementSibling;
var slideRightButton = element.parentNode.parentNode.nextElementSibling;
if (slider !== undefined) {
slider.scrollLeft += scroll + 20;
}
// dynamicContent.classList.remove("FadeIn");
removeActiveClass();
element.classList.add("active");
// dynamicContent.classList.add("FadeIn");
setTimeout(() => {
// for left button
if (slider.scrollLeft > 0) {
slideLeftButton.classList.remove("d-none");
}
// for right button
if (slider.scrollLeft + slider.clientWidth + 1 >= slider.scrollWidth) {
slideRightButton.classList.remove("d-none");
}
}, 100);
}
function SlideRight(scroll, element) {
var slider = element.previousElementSibling;
var slideRightButton = element;
var slideLeftButton = element.previousElementSibling.previousElementSibling;
if (slider !== undefined) {
slider.scrollLeft += scroll + 20;
}
setTimeout(() => {
// for left button
if (slider.scrollLeft > 0) {
slideLeftButton.classList.remove("d-none");
}
}, 100);
setTimeout(() => {
// condition || code for showing / hiding slide buttons
if (slider.scrollLeft + slider.clientWidth + 10 >= slider.scrollWidth) {
slideRightButton.classList.add("d-none");
}
}, 100);
}
// for viewing game data in banner
var featuredGames = document.querySelectorAll(".featured-games .game-card");
if (featuredGames.length > 0) {
featuredGames.forEach((game) => {
game.addEventListener("click", handleData);
});
function handleData() {
var button = this;
var gameIcon = button.getAttribute("data-game-icon");
var gameName = button.getAttribute("data-game-name");
var gameImage = button.getAttribute("data-bg-image");
var gameCategory = button.getAttribute("data-game-category");
var gameCategoryLink = button.getAttribute("data-game-category-link");
var gameLink = button.getAttribute("data-game-link");
var dynamicData = document.getElementById("dynamicContent");
dynamicData.classList.add("wow");
dynamicData.classList.add("fadeInDown");
dynamicData.querySelector(".content-title").textContent = gameName;
dynamicData.querySelector(".content-title-sm").textContent = gameName;
dynamicData.querySelector(".content-icon").src = gameIcon;
dynamicData.querySelector(".content-category").textContent = gameCategory;
dynamicData.querySelector(".content-category").href = gameCategoryLink;
dynamicData.querySelector(".play-button").href = gameLink;
addBgImage(gameImage);
setTimeout(() => {
dynamicData.classList.remove("wow");
dynamicData.classList.remove("fadeInDown");
}, 1500);
}
}
// for add image in bg of activated slide game
function addBgImage(src) {
var element = document.getElementById("bg-game-img");
if (element !== null) {
element.style.setProperty("background-image", `url(${src})`);
}
}
// for activating page button
var buttonLists = document.querySelectorAll(
".app_start .sidebar ul li:not(.no-focus)"
);
// add click event
if (buttonLists.length > 0 && buttonLists !== null) {
buttonLists.forEach((button) => {
button.addEventListener("click", OnActiveRoute);
});
// removing 'active' class from all button
const removeClassFromAllButton = () => {
buttonLists.forEach((button) => {
button.classList.remove("active");
});
};
// add 'active' class to which user click on the click
function OnActiveRoute() {
var button = this;
// first remove class
removeClassFromAllButton();
// then add class in clicked button
button.classList.add("active");
}
}