objects_test = ["object_1", "object_2", "object_3", "object_4", "object_5", "object_6", "object_7", "object_8", "object_9", "object_10", "object_11", "object_12", "object_13", "object_14", "object_15", "object_16"]; actions_test = ["action_1", "action_2", "action_3", "action_4"]; timarr = [ ~crontmr(0)~, ~crontmr(1)~, ~crontmr(2)~, ~crontmr(3)~, ~crontmr(4)~, ~crontmr(5)~, ~crontmr(6)~, ~crontmr(7)~, ~crontmr(8)~, ~crontmr(9)~, ~crontmr(10)~, ~crontmr(11)~, ~crontmr(12)~, ~crontmr(13)~, ~crontmr(14)~, ~crontmr(15)~ ]; timarr_test = [ { "num": 1, "enab":1, "name":"Timer1 name", "obj": 2, "act": 0, "cron": "*/2 * * * * *" }, { "num": 2, "enab":0, "name":"Timer2 name", "obj": 12, "act": 1, "cron": "6 0 12 * * *" }, { "num": 3, "enab":1, "name":"Timer3 name", "obj": 8, "act": 0, "cron": "* * * * * *" } ]; function PostData(data,page,conf,alrt,reld) { if(conf){if (!confirm(conf)) return;} var xhr = new XMLHttpRequest(); xhr.open('POST',page, true); xhr.timeout = 5000; xhr.send(data); xhr.onreadystatechange = function() { if (xhr.readyState != 4) return; if (Number(xhr.status) >= 400) {alert(xhr.status+': '+xhr.statusText);} else {if(reld)location.reload(); if(alrt) alert(alrt); }}} function savetm(n) { var payload = "tmrec={\"num\":"+n+","; payload += "\"enab\":"+((document.getElementById("encb"+n).checked)?1:0)+","; payload += "\"name\":\""+document.getElementById("tname"+n).value+"\","; payload += "\"obj\":"+document.getElementById("object"+n).value+","; payload += "\"act\":"+document.getElementById("action"+n).value+","; payload += "\"cron\":\""+document.getElementById("cron"+n).value+"\""; payload += "}"; console.log(payload); PostData(payload, "application.html", false, false, true); } function extractSelectArr(select) { var result = []; var options = select && select.options; var opt; for (var i=0, iLen=options.length; i 1 ) grouped+=intbeg+"-"+result[i]; else grouped+=intbeg+","+result[i]; } else grouped+=result[i]; } if(i < result.length -1 && !inside) grouped+=","; } return grouped; } function handleSelect(tnum, type) { var cinp = document.getElementById("cron" + tnum); var c = (cinp.value).split(" "); if(c.length != 6) { alert("Cron string was edited and not valid"); return; } switch(type) { case 1: var s = extractSelectArr(document.getElementById("seconds")); if (s != null) c[0] = s; break; case 2: var m = extractSelectArr(document.getElementById("minutes")); if (m != null) c[1] = m; break; case 3: var h = extractSelectArr(document.getElementById("hours")); if (h != null) c[2] = h; break; case 4: var d = extractSelectArr(document.getElementById("days")); if (d != null) c[3] = d; break; case 5: var mm = extractSelectArr(document.getElementById("months")); if (mm != null) c[4] = mm; break; case 6: var w = extractSelectArr(document.getElementById("weekdays")); if (w != null) c[5] = w; break; } cinp.value = c[0] + " " + c[1] + " " + c[2] + " " + c[3] + " " + c[4] + " " + c[5]; } function deltm(n) { if(confirm("Confirm delete timer "+n+"?") == true){ timarr_test.splice(n - 1, 1); drawtimers(timarr_test);} } function setcron(n) { var target = document.getElementById("cronext" + n); var content = ""; content +=("
"); content += ("
"); content +=("
"); content += ("
"); content +=("
"); content += ("
"); content +=("
"); content += ("
"); content +=("
"); content += ("
"); content +=("
"); content += ("
"); var mainbut = document.getElementById("setcronbut"+n); mainbut.innerHTML = "Close editor"; mainbut.onclick = function (){ var target = document.getElementById("cronext"+n); target.innerHTML = ""; mainbut.innerHTML = "Open editor"; mainbut.onclick = function(){setcron(n)};} target.innerHTML = content; } function drawtimers(tarr) { var num = tarr.length; var target = document.getElementById("timer"); var content = ""; for (i = 1; i <= num; i++) { content += ("
"); content += (""); content += ("
"); content += ("
"); content +=(""); var enb = (tarr[i - 1].enab == 1) ? "checked" : ""; content += ("
"); content += ("
"); content +=(""); content += ("
"); content += ("
"); content +=("
"); content += ("
"); content += ("
"); content +=("
"); content += ("
"); content += ("
"); content +=(""); content += ("
"); content += ("
") content += ("
"); /*Extended editor content*/ content += ("
"); content += (""); content += (""); content += ("
"); } target.innerHTML = content; } function applytm() { } function addtm() { var num = timarr_test.length + 1; timarr_test.push({ 'num': num, 'enab':1, 'name':'Timer'+num+' name', 'obj': 0, 'act': 0, 'cron': '* * * * * *' }); drawtimers(timarr_test); }