// const SETTINGS_FILE = "themeSwitch.json";
// const storage = require("Storage");
// var sunrise, sunset, date;
// var SunCalc = require("suncalc"); // from modules folder
// let settings = storage.readJSON('setting.json', 1);
// let saved = storage.readJSON(SETTINGS_FILE, 1) || {};
// if (settings.theme.fg > 0) {
//   saved.darkModeActive = 1;
// } else {
//   saved.darkModeActive = 0;
// }
// let dmH, dmM, lmH, lmM;
// if (require("Storage").readJSON("themeSwitch.json", 1) !== undefined) {
//   dmH = parseInt(saved.darkModeAt.split(":")[0] | 0);
//   dmM = parseInt(saved.darkModeAt.split(":")[1] | 0);
//   lmH = parseInt(saved.lightModeAt.split(":")[0] | 0);
//   lmM = parseInt(saved.lightModeAt.split(":")[1] | 0);
// } else {
//   dmH = 0;
//   dmM = 0;
//   lmH = 0;
//   lmM = 0;
// }
// // Main menu

// var mainmenu = {
//   "": {
//     "title": "Theme Switch"
//   },
//   "< Back": function () { load(); },
//   "Automatic Dark Mode": {
//     value: saved.darkMode | false,
//     //format: v => v ? "On" : "Off",
//     min: 0, max: 1, step: 1,
//     onchange: v => {
//       saved.darkMode = v;
//       storage.writeJSON(SETTINGS_FILE, saved);
//     }
//   },
//   "Dark Mode Active": {
//     value: saved.darkModeActive | false,
//     format: v => v ? "On" : "Off",
//     min: 0, max: 1, step: 1,
//     onchange: v => {
//       saved.darkModeActive = v;
//       storage.writeJSON(SETTINGS_FILE, saved);
//       if (v !== 0) {
//         setDarkTheme();
//         Bangle.drawWidgets();
//       } else {
//         setLightTheme();
//         Bangle.drawWidgets();
//       }
//     }
//   },
//   "Dark Mode by Sun": {
//     value: saved.darkModeBySun | false,
//     format: v => v ? "On" : "Off",
//     min: 0, max: 1, step: 1,
//     onchange: v => {
//       saved.darkModeBySun = v;
//       if (v !== 0) {
//         //print("calculating sun times");
//         calculateSunTimes();
//         saved.lightModeAt = sunrise;
//         saved.darkModeAt = sunset;
//         //print("sunrise" +sunrise);
//         //print("sunset" +sunset);
//       }
//       storage.writeJSON(SETTINGS_FILE, saved);
//     },
//   },
//   "light mode at": {
//     value: saved.lightModeAt,
//     format: v => saved.lightModeAt,
//     onchange: function () {
//       if (saved.darkModeBySun === 0) {
//         E.showMenu(lightModeAtMenu);
//       }
//       else {
//         E.showAlert("Deactivate dark mode first!", "Action Blocked").then(
//           function () { E.showMenu(mainmenu); });
//       }
//     }
//   },
//   "dark mode at": {
//     value: saved.darkModeAt,
//     format: v => saved.darkModeAt,
//     onchange: function () {
//       if (saved.darkModeBySun === 0) {
//         E.showMenu(darkModeAtMenu);
//       }
//       else {
//         E.showAlert("Deactivate dark mode first!", "Action Blocked").then(function () { E.showMenu(mainmenu); });
//       }
//     }
//   },
//   "Exit": function () { load(); },
// };

// var lightModeAtMenu = {
//   "": {
//     "title": "light mode at"
//   },
//   "Hour": {
//     value: lmH,
//     min: 0, max: 23, step: 1,
//     onchange: v => { lmH = v; }
//   },
//   "Minute": {
//     value: lmM,
//     min: 0, max: 59, step: 1,
//     onchange: v => { lmM = v; }
//   },
//   "< Back": function () {
//     saved.lightModeAt = fixTime(lmH, lmM);
//     storage.writeJSON(SETTINGS_FILE, saved);
//     E.showMenu(mainmenu);
//   },
// };

// var darkModeAtMenu = {
//   "": {
//     "title": "dark mode at"
//   },
//   "Hour": {
//     value: dmH,
//     min: 0, max: 23, step: 1,
//     onchange: v => { dmH = v; }
//   },
//   "Minute": {
//     value: dmM,
//     min: 0, max: 59, step: 1,
//     onchange: v => { dmM = v; }
//   },
//   "< Back": function () {
//     saved.darkModeAt = fixTime(dmH, dmM);
//     storage.writeJSON(SETTINGS_FILE, saved);
//     E.showMenu(mainmenu);
//   },
// };

// // Actually display the menu
// E.showMenu(mainmenu);

// // Function to fix time format
// function fixTime(h, m) {
//   if (h.toString().length < 2) {
//     h = "0" + h.toString();
//   }
//   if (m.toString().length < 2) {
//     m = "0" + m.toString();
//   }
//   return h.toString() + ":" + m.toString();
// }

// function calculateSunTimes() {
//   var location = require("Storage").readJSON("mylocation.json", 1) || {};
//   location.lat = location.lat || 51.5072;
//   location.lon = location.lon || 0.1276; // London
//   date = new Date(Date.now());
//   var times = SunCalc.getTimes(date, location.lat, location.lon);
//   sunrise = fixTime(times.sunrise.getHours(), times.sunrise.getMinutes());
//   sunset = fixTime(times.sunset.getHours(), times.sunset.getMinutes());
//   /* do we want to re-calculate this every day? Or we just assume
//   that 'show' will get called once a day? */
// }

// function cl(x) { return g.setColor(x).getColor(); }

// function upd(th) {
//   g.theme = th;
//   settings.theme = th;
//   storage.write('setting.json', settings);
//   delete g.reset;
//   g._reset = g.reset;
//   g.reset = function (n) { return g._reset().setColor(th.fg).setBgColor(th.bg); };
//   g.clear = function (n) { if (n) g.reset(); return g.clearRect(0, 0, g.getWidth(), g.getHeight()); };
//   g.clear(1);
// }

// function setDarkTheme() {
//   if (!g.theme.dark) {
//     upd({
//       fg: cl("#fff"), bg: cl("#000"),
//       fg2: cl("#fff"), bg2: cl("#004"),
//       fgH: cl("#fff"), bgH: cl("#00f"),
//       dark: true
//     });
//   }
// }

// function setLightTheme() {
//   if (g.theme.dark) {
//     upd({
//       fg: cl("#000"), bg: cl("#fff"),
//       fg2: cl("#000"), bg2: cl("#cff"),
//       fgH: cl("#000"), bgH: cl("#0ff"),
//       dark: false
//     });
//   }
// }