function toggle_config_setting(config, name) {
	if (config[name]) {
		delete config[name];
		update_config(config);
		return true;
	}
	config[name] = true;
	update_config(config);
	return true;
}

function set_config_setting(config, name, value) {
	config[name] = value;
	update_config(config);
	return true;
}

function clear_config_setting(config, name) {
	if (!config[name]) return false;
	delete config[name];
	update_config(config);
	return true;
}

function update_config(config) {
	localStorage.setItem("config", JSON.stringify(config));
}

const config = JSON.parse(localStorage.getItem("config")) || {};
if (config) {
        if (config.disable_crt) {
                document.querySelector('div#overlay').setAttribute("hidden", true);
                document.body.style.textShadow = "none";
                document.getElementById('toggle-crt').classList.add("disabled");
        }
}

document.getElementById("toggle-crt").addEventListener("click", () => {
        toggle_config_setting(config, "disable_crt");
        document.querySelector('div#overlay').toggleAttribute("hidden");
        document.getElementById('toggle-crt').className = config.disable_crt ? "disabled" : "";
});
