|
Home - Old Man Programmer
| Displaying webapps/scheduler/loadsave.js
// schedule0data
// schedule0name
// schedule0date
// schedule1
// ..
// schedule4
// %....[dsf]
String.prototype.format = function() {
var arg = 0;
var n = "", s = this, fmt, t, zero, p, ts, ps;
for(var i=0, max = s.length; i < max; i++) {
if (s[i] == '%') {
if (s[++i] == '%') {
n += '%';
continue;
}
fmt = "";
for(var j = i; j < s.length; j++) {
if (s[j] == 'd' || s[j] == 's' || s[j] == 'f') {
t = s[j];
break;
}
fmt += s[j];
}
i = j;
switch(t) {
case 'd':
zero = (fmt[0] == '0');
p = parseInt(fmt);
ts = parseInt(arguments[arg++]).toString();
if (ts.length < p) {
p -= ts.length;
ps = "";
while(p--) ps += zero? "0" : " ";
n += ps + ts;
} else n += ts;
break;
case 's':
break;
case 'f':
break;
}
} else n += s[i];
}
return n;
}
function load_save(which) {
if(disable_flag == true) return;
disable_flag = true;
var t = new Array(), tb = new Array();
t.push(el("thead", [
el("tr",[
el("th", null),
el("th", null, {innerHTML: "Name", style: "min-width: 200px;"}),
el("th", null, {innerHTML: "Date", style: "min-width: 100px;"})
])
]));
for(var r = 0; r < 5; r++) {
var name = localStorage.getItem("schedule"+r+"name");
var date = localStorage.getItem("schedule"+r+"date");
if (name == undefined) name = "";
if (date == undefined) date = "";
tb.push(el("tr", [
el("td", null, {innerHTML: (r+1)+":"}),
el("td", null, {innerHTML: name }),
el("td", null, {innerHTML: date })
], {onclick: (which == "load"? "loadsched(" : "savesched(")+r+");"}));
}
t.push(el("tbody", tb));
document.getElementById("popup").appendChild(
el("div", [
el("button", null, {innerHTML:"X", onclick:"closewin();"}),
el("table", t)
], {class:"popup", id:"loadsave"})
);
var w = (window.innerWidth/2)-(350/2);
var h = window.innerHeight;
document.getElementById("loadsave").setAttribute("style", "top:120px;left:"+ w +"px;");
}
function closewin() {
disable_flag = false;
document.getElementById("popup").innerHTML = "";
}
function savesched(i) {
if (window.confirm("Over-write this save location?") == false) return;
save_tab();
localStorage.setItem("schedule"+i+"name", document.getElementById("name").value);
var d = new Date();
var date = "%02d-%02d-%d %02d:%02d".format(d.getDate(), d.getMonth()+1, d.getFullYear(), d.getHours(), d.getMinutes());
localStorage.setItem("schedule"+i+"date", date);
localStorage.setItem("schedule"+i+"data", JSON.stringify(_tabs));
closewin();
}
function loadsched(i) {
if (window.confirm("Discard current schedule and load?") == false) return;
document.getElementById("name").value = localStorage.getItem("schedule"+i+"name");
_tabs = JSON.parse(localStorage.getItem("schedule"+i+"data"));
closewin();
_active = _tabs[0];
var tabs = document.getElementById("tabs");
tabs.innerHTML = "";
for(var i = 0; i < _tabs.length; i++) {
tabs.appendChild(el("div", null, {id:_tabs[i].id, class: (i==0?'activetab':'tab'),innerHTML:_tabs[i].name, onclick:'switch_tab("'+_tabs[i].id+'");'}));
}
refresh_body(_active);
}
|