summaryrefslogtreecommitdiff
path: root/containerchan/settings.js
diff options
context:
space:
mode:
Diffstat (limited to 'containerchan/settings.js')
-rw-r--r--containerchan/settings.js81
1 files changed, 0 insertions, 81 deletions
diff --git a/containerchan/settings.js b/containerchan/settings.js
deleted file mode 100644
index 279ea1c1..00000000
--- a/containerchan/settings.js
+++ /dev/null
@@ -1,81 +0,0 @@
-/* This file is dedicated to the public domain; you may do as you wish with it. */
-
-// Default settings
-var defaultSettings = {
- "videoexpand": true,
- "videohover": false,
- "videovolume": 1.0
-};
-
-// Non-persistent settings for when localStorage is absent/disabled
-var tempSettings = {};
-
-// Scripts obtain settings by calling this function
-function setting(name) {
- if (localStorage) {
- if (localStorage[name] === undefined) return defaultSettings[name];
- return JSON.parse(localStorage[name]);
- } else {
- if (tempSettings[name] === undefined) return defaultSettings[name];
- return tempSettings[name];
- }
-}
-
-// Settings should be changed with this function
-function changeSetting(name, value) {
- if (localStorage) {
- localStorage[name] = JSON.stringify(value);
- } else {
- tempSettings[name] = value;
- }
-}
-
-// Create settings menu
-var settingsMenu = document.createElement("span");
-settingsMenu.className = "settings";
-settingsMenu.innerHTML = '<span>[Settings]</span>'
- + '<div style="display: none; text-align: left; position: absolute; right: 0px; margin-left: -999em; margin-top: -1px; padding-top: 1px;">'
- + '<label><input type="checkbox" name="videoexpand">Expand videos inline</label><br>'
- + '<label><input type="checkbox" name="videohover">Play videos on hover</label><br>'
- + '<label><input type="range" name="videovolume" min="0" max="1" step="0.01" style="width: 4em; height: 1ex; vertical-align: middle; margin: 0px;">Default volume</label><br>'
- + '</div>';
-
-function refreshSettings() {
- var settingsItems = settingsMenu.getElementsByTagName("input");
- for (var i = 0; i < settingsItems.length; i++) {
- var control = settingsItems[i];
- if (control.type == "checkbox") {
- control.checked = setting(control.name);
- } else if (control.type == "range") {
- control.value = setting(control.name);
- }
- }
-}
-
-function setupControl(control) {
- if (control.addEventListener) control.addEventListener("change", function(e) {
- if (control.type == "checkbox") {
- changeSetting(control.name, control.checked);
- } else if (control.type == "range") {
- changeSetting(control.name, control.value);
- }
- }, false);
-}
-
-refreshSettings();
-var settingsItems = settingsMenu.getElementsByTagName("input");
-for (var i = 0; i < settingsItems.length; i++) {
- setupControl(settingsItems[i]);
-}
-
-if (settingsMenu.addEventListener) {
- settingsMenu.addEventListener("mouseover", function(e) {
- refreshSettings();
- settingsMenu.getElementsByTagName("span")[0].style.fontWeight = "bold";
- settingsMenu.getElementsByTagName("div")[0].style.display = "block";
- }, false);
- settingsMenu.addEventListener("mouseout", function(e) {
- settingsMenu.getElementsByTagName("span")[0].style.fontWeight = "normal";
- settingsMenu.getElementsByTagName("div")[0].style.display = "none";
- }, false);
-}