summaryrefslogtreecommitdiff
path: root/settings.js
diff options
context:
space:
mode:
authorccd0 <admin@containerchan.org>2013-11-09 01:11:22 -0800
committerccd0 <admin@containerchan.org>2013-11-09 01:11:22 -0800
commit674b2e8f1a8b3659d91e2e6e5a337e3134d757a3 (patch)
tree873dfec7620f6881ade44f64ea79cde359dea0c5 /settings.js
parent705af14064f71c4709a54276e3f34d56cfe4b32c (diff)
add files
Diffstat (limited to 'settings.js')
-rw-r--r--settings.js46
1 files changed, 46 insertions, 0 deletions
diff --git a/settings.js b/settings.js
new file mode 100644
index 00000000..8dc9950c
--- /dev/null
+++ b/settings.js
@@ -0,0 +1,46 @@
+var settingsPanel = document.createElement("div");
+settingsPanel.innerHTML = '<div style="text-align: right;">Settings</div><div style="display: none;">'
+ + '<label><input type="checkbox" name="videoexpand" checked>Expand videos inline</label><br>'
+ + '<label><input type="checkbox" name="videohover" checked>Play videos on hover</label><br>'
+ + '<label><input type="checkbox" name="videomuted">Start videos muted</label><br>'
+ + '</div>';
+
+function refreshSettings() {
+ var settingsItems = settingsPanel.getElementsByTagName("input");
+ for (var i = 0; i < settingsItems.length; i++) {
+ var box = settingsItems[i];
+ if (box.name in localStorage) {
+ box.checked = JSON.parse(localStorage[box.name]);
+ } else {
+ localStorage[box.name] = JSON.stringify(box.checked);
+ }
+ }
+}
+
+function setupCheckbox(box) {
+ box.onchange = function(e) {
+ localStorage[box.name] = JSON.stringify(box.checked);
+ };
+}
+
+refreshSettings();
+var settingsItems = settingsPanel.getElementsByTagName("input");
+for (var i = 0; i < settingsItems.length; i++) {
+ setupCheckbox(settingsItems[i]);
+}
+
+settingsPanel.onmouseover = function(e) {
+ refreshSettings();
+ var settingsSections = settingsPanel.getElementsByTagName("div");
+ settingsSections[0].style.fontWeight = "bold";
+ settingsSections[1].style.display = "block";
+};
+settingsPanel.onmouseout = function(e) {
+ var settingsSections = settingsPanel.getElementsByTagName("div");
+ settingsSections[0].style.fontWeight = "normal";
+ settingsSections[1].style.display = "none";
+};
+
+function setting(name) {
+ return JSON.parse(localStorage[name]);
+}