(function () { var html, button, frame; var darkClassName = "night-theme"; var isDark = false; window.addEventListener( "DOMContentLoaded", function () { html = document.documentElement.classList; button = document.querySelector(".button-change-theme"); if (button != undefined) { setButtonClick(); } initTheme(); }, false ); function setButtonClick() { button.addEventListener("click", function () { isDark = !isDark; changeTheme(button, isDark); setTheme(isDark); }); } function initTheme() { isDark = window.localStorage.getItem("theme") == "dark"; if (isDark == null) { isDark = false; } if (button != undefined) { changeTheme(button, isDark); } setTheme(isDark); } function changeTheme(button, isDark) { var icon = button.querySelector(".select-theme"); icon.classList.remove("fa-sun-o"); icon.classList.remove("fa-moon-o"); icon.classList.add(!isDark ? "fa-sun-o" : "fa-moon-o"); } function setTheme(isDark) { switch (document.location.pathname.split("/")[2]) { case "SensorsManager": frame = document.documentElement.getElementsByTagName("iframe")[0]; if (frame != undefined) { frame = frame.contentDocument.getElementsByTagName("html")[0]; } break; case "Szm": if (document.location.pathname.split("/")[3] == "index") { frame = document.documentElement.getElementsByTagName( "iframe" )[0]; frame = frame.contentDocument.getElementsByTagName("html")[0]; } break; case "SystemSettings": if ( document.location.pathname.split("/")[3] == "errors-reader" ) { frame = document.documentElement.getElementsByTagName( "iframe" )[0]; if (frame != undefined) { html = frame.contentDocument.getElementsByTagName( "html" )[0]; html.style.color = "#FFF"; } } break; case "Wim": if ( document.querySelectorAll(".whitelist-input-space").length > 0 ) { Array.prototype.slice .call( document.querySelectorAll(".whitelist-input-space") ) .forEach(function (el) { if (isDark) { el.src = BASE_URL + "/public/images/input-space-dark.png"; } else { el.src = BASE_URL + "/public/images/input-space.png"; } }); } break; } if (isDark) { window.localStorage.setItem("theme", "dark"); html.add(darkClassName); if (frame != null) { frame.classList.add(darkClassName); } } else { html.remove(darkClassName); window.localStorage.removeItem("theme"); if (frame != null) { frame.classList.remove(darkClassName); } } } })();