import './bulma-carousel/js/bulma-carousel.js';
// Initialize all elements with carousel class.
const carousels = bulmaCarousel.attach('.carousel',{
slidesToScroll: 1,
slidesToShow: 1,
icons: {
'previous': ``,
'next': ``}
});
// Scrollarrows
var scrollUpArrow= document.getElementById("scroll-up");
var scrollDownArrow= document.getElementById("scroll-down");
var scrollStep=10,
scrollTimer=null
scrollUpArrow.addEventListener("mouseenter", function(evt){
scroll(-scrollStep)
})
scrollUpArrow.addEventListener("mouseleave", function(evt){
if(scrollTimer!=null)clearTimeout(scrollTimer);
})
scrollDownArrow.addEventListener("mouseleave", function(evt){
if(scrollTimer!=null)clearTimeout(scrollTimer);
})
scrollDownArrow.addEventListener("mouseenter", function(evt){
scroll(scrollStep)
})
function scroll(yDisplacement){
if(scrollTimer!=null)clearTimeout(scrollTimer);
scrollTimer = setTimeout(function(){
window.scroll({
top:window.scrollY+yDisplacement,
left:0,
behavior: 'smooth'
})
scroll(yDisplacement)
}, 50);
}
window.onscroll = function(ev) {
if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) {
scrollDownArrow.classList.add("is-hidden");
}else if(window.pageYOffset === 0){
scrollUpArrow.classList.add("is-hidden");
}else{
scrollDownArrow.classList.remove("is-hidden");
scrollUpArrow.classList.remove("is-hidden");
}
};
// Searchbar
document.getElementById("openSearch").addEventListener("click", openSearch);
document.getElementById("closeSearch").addEventListener("click", closeSearch);
document.getElementById("search-input").addEventListener("input", showsearchresults);
var searchOverlay = document.getElementById("SearchOverlay");
var navmenu = document.getElementById("navmenu");
var resultsContainer = document.getElementById("results-container");
var searchInput = document.getElementById("search-input");
function openSearch() {
searchOverlay.style.display = "flex";
navmenu.style.display = "none";
}
function closeSearch() {
searchOverlay.style.display = "none";
navmenu.style.display = "flex";
}
function showsearchresults(e) {
if(e.target.value.length>0){
resultsContainer.style.display = "block";
searchInput.style.borderBottomLeftRadius = "0px";
searchInput.style.borderBottomRightRadius = "0px";
}else{
resultsContainer.style.display = "none";
searchInput.style.borderBottomLeftRadius = "45px";
searchInput.style.borderBottomRightRadius = "45px";
}
}
// Simple storage for site wide changes
var siteData
window.addEventListener('load', (event) => {
init()
});
// Triggered on load of body element
function init() {
loadFromStorage()
if (siteData == null) {
setDefaultData()
}
}
// Default data when no data is found
function setDefaultData() {
updateSiteData(null, 1.2)
}
function updateSiteData(newSiteData, newFontSize = 1.2) {
console.log("update " + newSiteData + " fontsize: " +newFontSize )
if (newSiteData == null) {
siteData = {
fontSize: newFontSize
}
} else {
siteData = newSiteData
}
saveToStorage()
updateSite()
}
function saveToStorage(){
localStorage.setItem("intiaSiteData", JSON.stringify(siteData))
}
function loadFromStorage() {
var data = JSON.parse(localStorage.getItem("intiaSiteData"))
loadFromJson(data)
}
function loadFromJson(jsonString){
if (jsonString !== null) {
updateSiteData(jsonString)
}
}
// Trigger update for all elements that are based on site wide data
function updateSite() {
updateFontSize()
}
// Font size
var html=document.querySelector('html');
var logo = document.getElementById("navbar-logo");
function updateFontSize() {
html.style.fontSize=siteData.fontSize+"rem";
if(siteData.fontSize == 1.2){
logo.src = "../assets/img/logo-horizontal-short.png";
}else{
logo.src = "../assets/img/logo-short.png";
}
}
// Change font size Button
document.getElementById("changeFontsize").addEventListener("click", changeFontSize);
function changeFontSize() {
console.log("Fontsize changed "+ (siteData.fontSize == 1.2) ? 1.5 : 1.2)
updateSiteData(null, (siteData.fontSize == 1.2) ? 1.5 : 1.2)
}