From 8119058ac9d9e27197f6c8d2e837979b75828a71 Mon Sep 17 00:00:00 2001 From: ccd0 Date: Sun, 10 Nov 2013 04:57:45 -0800 Subject: loop setting on player page, various other changes --- settings.js | 56 +++++++++++++++++++++++++++++++++----------------------- 1 file changed, 33 insertions(+), 23 deletions(-) (limited to 'settings.js') diff --git a/settings.js b/settings.js index 1a718da9..54765190 100644 --- a/settings.js +++ b/settings.js @@ -1,12 +1,26 @@ +// Scripts obtain settings by calling this function +function setting(name) { + return JSON.parse(localStorage[name]); +} + +// Default settings +function setDefault(name, value) { + if (!(name in localStorage)) { + localStorage[name] = JSON.stringify(value); + } +} +setDefault("videoexpand", true); +setDefault("videohover", false); +setDefault("videomuted", false); + // Create settings menu -var settingsMenu = document.createElement("div"); -settingsMenu.style.position = "absolute"; -settingsMenu.style.top = "1em"; -settingsMenu.style.right = "1em"; -settingsMenu.innerHTML = '
Settings
' +var settingsMenu = document.createElement("span"); +settingsMenu.className = "settings"; +settingsMenu.innerHTML = '[Settings]' + + '
' + '
' + '
' - + '
' + + '
' + '
'; function refreshSettings() { @@ -18,9 +32,9 @@ function refreshSettings() { } function setupCheckbox(box) { - box.onchange = function(e) { + if (box.addEventListener) box.addEventListener("change", function(e) { localStorage[box.name] = JSON.stringify(box.checked); - }; + }, false); } refreshSettings(); @@ -29,18 +43,14 @@ for (var i = 0; i < settingsItems.length; i++) { setupCheckbox(settingsItems[i]); } -settingsMenu.onmouseover = function(e) { - refreshSettings(); - var settingsSections = settingsMenu.getElementsByTagName("div"); - settingsSections[0].style.fontWeight = "bold"; - settingsSections[1].style.display = "block"; -}; -settingsMenu.onmouseout = function(e) { - var settingsSections = settingsMenu.getElementsByTagName("div"); - settingsSections[0].style.fontWeight = "normal"; - settingsSections[1].style.display = "none"; -}; - -if (window.addEventListener) window.addEventListener("load", function(e) { - document.body.insertBefore(settingsMenu, document.body.firstChild); -}, false); +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); +} -- cgit v1.3