objects_test = ["scene_1", "scene_2", "scene_3", "scene_4", "scene_5", "scene_6", "scene_7", "scene_8", "scene_9", "scene_10", "scene_11", "scene_12", "scene_13", "scene_14", "scene_15", "scene_16"]; actions_test = ["start", "stop"]; 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, false); } 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); }