node-red-contrib-jewishtimer
Version:
A Timer for node-red which supports jewish dates and Zmanim
1,130 lines (1,100 loc) • 112 kB
HTML
<script type="text/javascript">
const TIMER_COUNT = 10;
const DAYS_COUNT = 10;
const timerDefaults = (()=>{
const obj = {};
for(let i=0;i<TIMER_COUNT;i++){
const id = i+1;
obj[`sc${id}TimeActive`] = {value: false};
obj[`sc${id}TimeAction`] = {value:0};
obj[`sc${id}Timetype`] = {value:"time"};
obj[`sc${id}Time`] = {value: "00:00"};
obj[`sc${id}Zman`] = {value:"AlosHashachar"};
obj[`sc${id}Zmanoffset`] = {value:0};
obj[`sc${id}Zmanoffsettype`] = {value:60000};
}
for(let i=0;i<DAYS_COUNT;i++){
const id = i+1;
obj[`sc${id}DateActive`] = {value: false};
obj[`sc${id}DateAction`] = {value:0};
obj[`sc${id}Datetype`] = {value:"weekday"};
obj[`sc${id}Sun`] = {value:1};
obj[`sc${id}Mon`] = {value:1};
obj[`sc${id}Tue`] = {value:1};
obj[`sc${id}Wed`] = {value:1};
obj[`sc${id}Thu`] = {value:1};
obj[`sc${id}Fri`] = {value:1};
obj[`sc${id}Sat`] = {value:1};
obj[`sc${id}Jan`] = {value:1};
obj[`sc${id}Feb`] = {value:1};
obj[`sc${id}Mar`] = {value:1};
obj[`sc${id}Apr`] = {value:1};
obj[`sc${id}May`] = {value:1};
obj[`sc${id}Jun`] = {value:1};
obj[`sc${id}Jul`] = {value:1};
obj[`sc${id}Aug`] = {value:1};
obj[`sc${id}Sep`] = {value:1};
obj[`sc${id}Oct`] = {value:1};
obj[`sc${id}Nov`] = {value:1};
obj[`sc${id}Dec`] = {value:1};
obj[`sc${id}Nisan`] = {value:1};
obj[`sc${id}Iyar`] = {value:1};
obj[`sc${id}Sivan`] = {value:1};
obj[`sc${id}Tamuz`] = {value:1};
obj[`sc${id}Av`] = {value:1};
obj[`sc${id}Elul`] = {value:1};
obj[`sc${id}Tishri`] = {value:1};
obj[`sc${id}Heshvan`] = {value:1};
obj[`sc${id}Kislev`] = {value:1};
obj[`sc${id}Tevet`] = {value:1};
obj[`sc${id}Shvat`] = {value:1};
obj[`sc${id}Adar1`] = {value:1};
obj[`sc${id}Adar2`] = {value:1};
obj[`sc${id}jmonthdays`] = {};
obj[`sc${id}gmonthdays`] = {};
}
return obj;
})();
RED.nodes.registerType('jewish-timer',{
category: 'function',
color: '#a6bbcf',
defaults: {
name: {value:""},
comment: {value: ""},
lat: {value: 0, required:true},
lon: {value: 0, required:true},
topic: {value:""},
onmsg: {value: "ON"},
offmsg: {value: "OFF"},
forceinactive: {value: true},
forceinactivefullday: {value:false},
inactiveoffset: {value:1},
inactiveoffsettype: {value:3600000},
...timerDefaults,
startoffset: {value:0},
endoffset: {value:72},
delay: {value:0},
delaytype: {value:60000}
},
inputs:1,
outputs:1,
icon: "switch.png",
label: function() {
return this.name||"Jewish Timer";
},
oneditprepare: function() {
if (($("#node-input-lat").val() === "0") && ($("#node-input-lon").val() === "0")) {
if ("geolocation" in navigator) {
navigator.geolocation.getCurrentPosition(function(position) {
$("#node-input-lat").val(Number(position.coords.latitude.toFixed(5)));
$("#node-input-lon").val(Number(position.coords.longitude.toFixed(5)));
});
}
}
$(".expand-collapse").click((e)=>{
const cont = $(e.target).parents(".expend-container");
if(cont.hasClass("expanded")){
cont.removeClass("expanded").addClass("collapsed")
}else{
cont.removeClass("collapsed").addClass("expanded")
}
});
$(".js-timetype").change(e=>{
const val = e.target.value;
$(e.target).parents(".js-entry").removeClass("timertype-time timertype-zman").addClass(`timertype-${val}`);
});
$(".js-datetype").change(e=>{
const val = e.target.value;
$(e.target).parents(".js-entry").removeClass("datetype-weekday datetype-jmonthday datetype-gmonthday").addClass(`datetype-${val}`);
});
$(".js-active").change(e=>{
if(e.target.checked){
$(e.target).parents(".js-entry").addClass("active");
} else {
$(e.target).parents(".js-entry").removeClass("active");
}
});
$(".js-inactive").change(e=>{
if(!e.target.checked){
$(".inactive-rel").hide();
} else {
$(".inactive-rel").show();
}
});
$(".js-inactive-full").change(e=>{
if(e.target.checked){
$(".inactive-partial").hide();
} else {
$(".inactive-partial").show();
}
});
}
});
</script>
<script type="text/html" data-template-name="jewish-timer">
<style>
div.checkbox-field{
max-width:200px;
}
div.checkbox-field input {
width:20px;
margin-bottom:4px;
}
.large-label {
width:100%;
}
</style>
<div class="form-row">
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
<input type="text" id="node-input-name" placeholder="Jewish Timer">
</div>
<div class="form-row">
<label for="node-input-comment"><i class="fa fa-tag"></i> Comment</label>
<input type="text" id="node-input-comment" placeholder="Jewish Timer">
</div>
<div class="form-row">
<label for="node-input-lat"><i class="fa fa-compass"></i> Lat</label>
<input type="text" id="node-input-lat" placeholder="0">
</div>
<div class="form-row">
<label for="node-input-lon"><i class="fa fa-compass"></i> Lon</label>
<input type="text" id="node-input-lon" placeholder="0">
</div>
<div class="form-row">
<label for="node-input-topic"><i class="fa fa-tag"></i>TOPIC</label>
<input type="text" id="node-input-topic" placeholder="MQTT Topic" />
</div>
<div class="form-row">
<label for="node-input-onmsg"><i class="fa fa-envelop"></i>On MSG</label>
<input type="text" id="node-input-onmsg" placeholder="ON" value="ON" />
</div>
<div class="form-row">
<label for="node-input-offmsg"><i class="fa fa-envelop"></i>Off MSG</label>
<input type="text" id="node-input-offmsg" placeholder="OFF" value="OFF" />
</div>
<div class="form-row">
<label for="node-input-forceinactive" class="auto">Force subsequent Nodes to be inactive:</label>
<input type="checkbox" id="node-input-forceinactive" class="auto js-inactive" />
</div>
<div class="form-row inactive-rel">
<label for="node-input-forceinactivefullday" class="auto">Force Inactive for full day(00:00 - 11:59:59):</label>
<input type="checkbox" id="node-input-forceinactivefullday" class="auto js-inactive-full"/>
</div>
<div class="form-row inactive-rel inactive-partial">
<label for="node-input-inactiveoffset" class="auto">Inactive Offset after last msg:</label>
<input type="number" id="node-input-inactiveoffset" placeholder="0">
<select id="node-input-inactiveoffsettype" >
<option value="1000">Seconds</option>
<option value="60000" selected="selected">Minutes</option>
<option value="3600000">Hours</option>
</select>
</div>
<hr/>
<style>
.expend-container.collapsed .expanded-vis {
display: none!important;
}
.expend-container.expanded .collapsed-vis{
display: none!important;
}
.expand-collapse {
cursor: pointer;
}
.timertype-time .zman-selection{
display: none!important;
}
.timertype-zman .time-selection{
display: none!important;
}
.entry{
opacity: .5;
}
.entry.active{
opacity: 1;
}
.entry{
margin: 10px 0px;
background-color: #f2f2f2;
padding: 10px;
}
.entry [data-nodetype$="Active"]{
width:18%;
display:inline-block;
}
.entry [data-nodetype$="Active"] label{
width:40px;
}
.entry [data-nodetype$="Active"] input{
width:20px;
vertical-align:top;
}
.entry [data-nodetype$="Action"] {
width:32%;
display:inline-block;
}
.entry [data-nodetype$="Action"] label{
width:44px;
}
.entry [data-nodetype$="Action"] select{
width: 80px;
}
.entry [data-nodetype="Timetype"], .entry [data-nodetype="Datetype"]{
width:40%;
padding-left:14px;
display:inline-block;
}
.entry [data-nodetype="Timetype"] label, .entry [data-nodetype="Datetype"] label{
width:70px;
}
.entry [data-nodetype="Timetype"] select,.entry [data-nodetype="Datetype"] select{
width:80px;
}
.entry [data-nodetype="Time"]{
width:40%;
display:inline-block;
}
.entry [data-nodetype="Time"] label{
width:40px;
}
.entry [data-nodetype="Time"] input{
width:110px;
}
.entry [data-nodetype="Zman"]{
width:48%;
display:inline-block;
}
.entry [data-nodetype="Zman"] label{
width:56px;
}
.entry [data-nodetype="Zman"] select{
width:138px;
}
.entry [data-nodetype="Zmanoffset"]{
display:inline-block;
}
.entry [data-nodetype="Zmanoffset"] label{
width:40px;
}
.entry [data-nodetype="Zmanoffset"] input, .red-ui-editor div div.inactive-partial input{
width:58px;
}
.entry [data-nodetype="Zmanoffset"] select, div div.inactive-partial select{
width:110px;
}
.datetype-jmonthday .weekday-selection, .datetype-gmonthday .weekday-selection,
.datetype-weekday .jmonthday-selection, .datetype-weekday .gmonthday-selection,
.datetype-jmonthday .gmonthday-selection, .datetype-gmonthday .jmonthday-selection {
display: none!important;
}
/* handling a special include for first date selection */
.specialinclude {
display: none;
}
#node-input-sc1DateAction .specialinclude {
display: inline-block;
}
#node-input-sc1DateAction .onlyinclude, #node-input-sc1DateAction .reginclude {
display:none;
}
.inline {
display: inline;
padding-right: 5px;
}
.red-ui-editor .form-row span.inline label {
width:auto;
}
.red-ui-editor .form-row span.inline input {
width: auto;
vertical-align: top;
}
div.red-ui-editor div.form-row *.auto {
width:auto;
}
div.red-ui-editor div.form-row input.auto{
vertical-align:top;
}
</style>
<div id="schedule-container" class="expend-container collapsed">
<h4 class="expand-collapse"> Set Schedule Times
<i class="fa fa-chevron-down collapsed-vis"></i>
<i class="fa fa-chevron-up expanded-vis"></i>
</h4>
<div class="js-entry entry expanded-vis" >
<div class="form-row" data-nodetype="TimeActive">
<label for="node-input-sc1TimeActive" >Active</label>
<input type="checkbox" id="node-input-sc1TimeActive" class="js-active" />
</div>
<div class="form-row" data-nodetype="TimeAction">
<label for="node-input-sc1TimeAction" >Action:</label>
<select id="node-input-sc1TimeAction" >
<option value="1">On</option>
<option value="0">Off</option>
</select>
</div>
<div class="form-row" data-nodetype="Timetype">
<label for="node-input-sc1Timetype" >Time Type</label>
<select id="node-input-sc1Timetype" class="js-timetype">
<option value="time">Time</option>
<option value="zman">Zman</option>
</select>
</div>
<div class="form-row time-selection" data-nodetype="Time">
<label for="node-input-sc1Time" style="width:40px">Time:</label>
<input type="time" id="node-input-sc1Time" style="width:110px"/>
</div>
<div class="form-row zman-selection" data-nodetype="Zman">
<label for="node-input-sc1Zman" style="width:56px">Zman <i title="Avaliable Zmanim are the basic zmanim from the KosherZmanim lib" class="fa fa-question-circle"></i>: </label>
<select id="node-input-sc1Zman" style="width:138px">
<option value="BeginAstronomicalTwilight">BeginAstronomicalTwilight</option>
<option value="AlosHashachar">AlosHashachar</option>
<option value="Alos72">Alos72</option>
<option value="BeginNauticalTwilight">BeginNauticalTwilight</option>
<option value="BeginCivilTwilight">BeginCivilTwilight</option>
<option value="SeaLevelSunrise">SeaLevelSunrise</option>
<option value="Sunrise">Sunrise</option>
<option value="SofZmanShmaMGA">SofZmanShmaMGA</option>
<option value="SofZmanShmaGRA">SofZmanShmaGRA</option>
<option value="SofZmanTfilaMGA">SofZmanTfilaMGA</option>
<option value="SofZmanTfilaGRA">SofZmanTfilaGRA</option>
<option value="Chatzos">Chatzos</option>
<option value="CandleLighting">CandleLighting</option>
<option value="SeaLevelSunset">SeaLevelSunset</option>
<option value="Sunset">Sunset</option>
<option value="EndCivilTwilight">EndCivilTwilight</option>
<option value="Tzais">Tzais</option>
<option value="EndNauticalTwilight">EndNauticalTwilight</option>
<option value="Tzais72">Tzais72</option>
<option value="EndAstronomicalTwilight">EndAstronomicalTwilight</option>
</select>
</div>
<div class="form-row zman-selection" data-nodetype="Zmanoffset">
<label for="node-input-sc1Zmanoffset" style="width:40px;">Offset:</label>
<input type="number" id="node-input-sc1Zmanoffset" placeholder="0">
<select id="node-input-sc1Zmanoffsettype" name="node-input-sc1Zmanoffsettype">
<option value="1000">Seconds</option>
<option value="60000" selected="selected">Minutes</option>
<option value="3600000">Hours</option>
</select>
</div>
</div>
<div class="js-entry entry expanded-vis" >
<div class="form-row" data-nodetype="TimeActive">
<label for="node-input-sc2TimeActive" >Active</label>
<input type="checkbox" id="node-input-sc2TimeActive" class="js-active" />
</div>
<div class="form-row" data-nodetype="TimeAction">
<label for="node-input-sc2TimeAction" >Action:</label>
<select id="node-input-sc2TimeAction" >
<option value="1">On</option>
<option value="0">Off</option>
</select>
</div>
<div class="form-row" data-nodetype="Timetype">
<label for="node-input-sc2Timetype" >Time Type</label>
<select id="node-input-sc2Timetype" class="js-timetype">
<option value="time">Time</option>
<option value="zman">Zman</option>
</select>
</div>
<div class="form-row time-selection" data-nodetype="Time">
<label for="node-input-sc2Time" style="width:40px">Time:</label>
<input type="time" id="node-input-sc2Time" style="width:110px"/>
</div>
<div class="form-row zman-selection" data-nodetype="Zman">
<label for="node-input-sc2Zman" style="width:56px">Zman <i title="Avaliable Zmanim are the basic zmanim from the KosherZmanim lib" class="fa fa-question-circle"></i>: </label>
<select id="node-input-sc2Zman" style="width:138px">
<option value="BeginAstronomicalTwilight">BeginAstronomicalTwilight</option>
<option value="AlosHashachar">AlosHashachar</option>
<option value="Alos72">Alos72</option>
<option value="BeginNauticalTwilight">BeginNauticalTwilight</option>
<option value="BeginCivilTwilight">BeginCivilTwilight</option>
<option value="SeaLevelSunrise">SeaLevelSunrise</option>
<option value="Sunrise">Sunrise</option>
<option value="SofZmanShmaMGA">SofZmanShmaMGA</option>
<option value="SofZmanShmaGRA">SofZmanShmaGRA</option>
<option value="SofZmanTfilaMGA">SofZmanTfilaMGA</option>
<option value="SofZmanTfilaGRA">SofZmanTfilaGRA</option>
<option value="Chatzos">Chatzos</option>
<option value="CandleLighting">CandleLighting</option>
<option value="SeaLevelSunset">SeaLevelSunset</option>
<option value="Sunset">Sunset</option>
<option value="EndCivilTwilight">EndCivilTwilight</option>
<option value="Tzais">Tzais</option>
<option value="EndNauticalTwilight">EndNauticalTwilight</option>
<option value="Tzais72">Tzais72</option>
<option value="EndAstronomicalTwilight">EndAstronomicalTwilight</option>
</select>
</div>
<div class="form-row zman-selection" data-nodetype="Zmanoffset">
<label for="node-input-sc2Zmanoffset" style="width:40px;">Offset:</label>
<input type="number" id="node-input-sc2Zmanoffset" placeholder="0">
<select id="node-input-sc2Zmanoffsettype" name="node-input-sc2Zmanoffsettype">
<option value="1000">Seconds</option>
<option value="60000" selected="selected">Minutes</option>
<option value="3600000">Hours</option>
</select>
</div>
</div>
<div class="js-entry entry expanded-vis" >
<div class="form-row" data-nodetype="TimeActive">
<label for="node-input-sc3TimeActive" >Active</label>
<input type="checkbox" id="node-input-sc3TimeActive" class="js-active" />
</div>
<div class="form-row" data-nodetype="TimeAction">
<label for="node-input-sc3TimeAction" >Action:</label>
<select id="node-input-sc3TimeAction" >
<option value="1">On</option>
<option value="0">Off</option>
</select>
</div>
<div class="form-row" data-nodetype="Timetype">
<label for="node-input-sc3Timetype" >Time Type</label>
<select id="node-input-sc3Timetype" class="js-timetype">
<option value="time">Time</option>
<option value="zman">Zman</option>
</select>
</div>
<div class="form-row time-selection" data-nodetype="Time">
<label for="node-input-sc3Time" style="width:40px">Time:</label>
<input type="time" id="node-input-sc3Time" style="width:110px"/>
</div>
<div class="form-row zman-selection" data-nodetype="Zman">
<label for="node-input-sc3Zman" style="width:56px">Zman <i title="Avaliable Zmanim are the basic zmanim from the KosherZmanim lib" class="fa fa-question-circle"></i>: </label>
<select id="node-input-sc3Zman" style="width:138px">
<option value="BeginAstronomicalTwilight">BeginAstronomicalTwilight</option>
<option value="AlosHashachar">AlosHashachar</option>
<option value="Alos72">Alos72</option>
<option value="BeginNauticalTwilight">BeginNauticalTwilight</option>
<option value="BeginCivilTwilight">BeginCivilTwilight</option>
<option value="SeaLevelSunrise">SeaLevelSunrise</option>
<option value="Sunrise">Sunrise</option>
<option value="SofZmanShmaMGA">SofZmanShmaMGA</option>
<option value="SofZmanShmaGRA">SofZmanShmaGRA</option>
<option value="SofZmanTfilaMGA">SofZmanTfilaMGA</option>
<option value="SofZmanTfilaGRA">SofZmanTfilaGRA</option>
<option value="Chatzos">Chatzos</option>
<option value="CandleLighting">CandleLighting</option>
<option value="SeaLevelSunset">SeaLevelSunset</option>
<option value="Sunset">Sunset</option>
<option value="EndCivilTwilight">EndCivilTwilight</option>
<option value="Tzais">Tzais</option>
<option value="EndNauticalTwilight">EndNauticalTwilight</option>
<option value="Tzais72">Tzais72</option>
<option value="EndAstronomicalTwilight">EndAstronomicalTwilight</option>
</select>
</div>
<div class="form-row zman-selection" data-nodetype="Zmanoffset">
<label for="node-input-sc3Zmanoffset" style="width:40px;">Offset:</label>
<input type="number" id="node-input-sc3Zmanoffset" placeholder="0">
<select id="node-input-sc3Zmanoffsettype" name="node-input-sc3Zmanoffsettype">
<option value="1000">Seconds</option>
<option value="60000" selected="selected">Minutes</option>
<option value="3600000">Hours</option>
</select>
</div>
</div>
<div class="js-entry entry expanded-vis" >
<div class="form-row" data-nodetype="TimeActive">
<label for="node-input-sc4TimeActive" >Active</label>
<input type="checkbox" id="node-input-sc4TimeActive" class="js-active" />
</div>
<div class="form-row" data-nodetype="TimeAction">
<label for="node-input-sc4TimeAction" >Action:</label>
<select id="node-input-sc4TimeAction" >
<option value="1">On</option>
<option value="0">Off</option>
</select>
</div>
<div class="form-row" data-nodetype="Timetype">
<label for="node-input-sc4Timetype" >Time Type</label>
<select id="node-input-sc4Timetype" class="js-timetype">
<option value="time">Time</option>
<option value="zman">Zman</option>
</select>
</div>
<div class="form-row time-selection" data-nodetype="Time">
<label for="node-input-sc4Time" style="width:40px">Time:</label>
<input type="time" id="node-input-sc4Time" style="width:110px"/>
</div>
<div class="form-row zman-selection" data-nodetype="Zman">
<label for="node-input-sc4Zman" style="width:56px">Zman <i title="Avaliable Zmanim are the basic zmanim from the KosherZmanim lib" class="fa fa-question-circle"></i>: </label>
<select id="node-input-sc4Zman" style="width:138px">
<option value="BeginAstronomicalTwilight">BeginAstronomicalTwilight</option>
<option value="AlosHashachar">AlosHashachar</option>
<option value="Alos72">Alos72</option>
<option value="BeginNauticalTwilight">BeginNauticalTwilight</option>
<option value="BeginCivilTwilight">BeginCivilTwilight</option>
<option value="SeaLevelSunrise">SeaLevelSunrise</option>
<option value="Sunrise">Sunrise</option>
<option value="SofZmanShmaMGA">SofZmanShmaMGA</option>
<option value="SofZmanShmaGRA">SofZmanShmaGRA</option>
<option value="SofZmanTfilaMGA">SofZmanTfilaMGA</option>
<option value="SofZmanTfilaGRA">SofZmanTfilaGRA</option>
<option value="Chatzos">Chatzos</option>
<option value="CandleLighting">CandleLighting</option>
<option value="SeaLevelSunset">SeaLevelSunset</option>
<option value="Sunset">Sunset</option>
<option value="EndCivilTwilight">EndCivilTwilight</option>
<option value="Tzais">Tzais</option>
<option value="EndNauticalTwilight">EndNauticalTwilight</option>
<option value="Tzais72">Tzais72</option>
<option value="EndAstronomicalTwilight">EndAstronomicalTwilight</option>
</select>
</div>
<div class="form-row zman-selection" data-nodetype="Zmanoffset">
<label for="node-input-sc4Zmanoffset" style="width:40px;">Offset:</label>
<input type="number" id="node-input-sc4Zmanoffset" placeholder="0">
<select id="node-input-sc4Zmanoffsettype" name="node-input-sc4Zmanoffsettype">
<option value="1000">Seconds</option>
<option value="60000" selected="selected">Minutes</option>
<option value="3600000">Hours</option>
</select>
</div>
</div>
<div class="js-entry entry expanded-vis" >
<div class="form-row" data-nodetype="TimeActive">
<label for="node-input-sc5TimeActive" >Active</label>
<input type="checkbox" id="node-input-sc5TimeActive" class="js-active" />
</div>
<div class="form-row" data-nodetype="TimeAction">
<label for="node-input-sc5TimeAction" >Action:</label>
<select id="node-input-sc5TimeAction" >
<option value="1">On</option>
<option value="0">Off</option>
</select>
</div>
<div class="form-row" data-nodetype="Timetype">
<label for="node-input-sc5Timetype" >Time Type</label>
<select id="node-input-sc5Timetype" class="js-timetype">
<option value="time">Time</option>
<option value="zman">Zman</option>
</select>
</div>
<div class="form-row time-selection" data-nodetype="Time">
<label for="node-input-sc5Time" style="width:40px">Time:</label>
<input type="time" id="node-input-sc5Time" style="width:110px"/>
</div>
<div class="form-row zman-selection" data-nodetype="Zman">
<label for="node-input-sc5Zman" style="width:56px">Zman <i title="Avaliable Zmanim are the basic zmanim from the KosherZmanim lib" class="fa fa-question-circle"></i>: </label>
<select id="node-input-sc5Zman" style="width:138px">
<option value="BeginAstronomicalTwilight">BeginAstronomicalTwilight</option>
<option value="AlosHashachar">AlosHashachar</option>
<option value="Alos72">Alos72</option>
<option value="BeginNauticalTwilight">BeginNauticalTwilight</option>
<option value="BeginCivilTwilight">BeginCivilTwilight</option>
<option value="SeaLevelSunrise">SeaLevelSunrise</option>
<option value="Sunrise">Sunrise</option>
<option value="SofZmanShmaMGA">SofZmanShmaMGA</option>
<option value="SofZmanShmaGRA">SofZmanShmaGRA</option>
<option value="SofZmanTfilaMGA">SofZmanTfilaMGA</option>
<option value="SofZmanTfilaGRA">SofZmanTfilaGRA</option>
<option value="Chatzos">Chatzos</option>
<option value="CandleLighting">CandleLighting</option>
<option value="SeaLevelSunset">SeaLevelSunset</option>
<option value="Sunset">Sunset</option>
<option value="EndCivilTwilight">EndCivilTwilight</option>
<option value="Tzais">Tzais</option>
<option value="EndNauticalTwilight">EndNauticalTwilight</option>
<option value="Tzais72">Tzais72</option>
<option value="EndAstronomicalTwilight">EndAstronomicalTwilight</option>
</select>
</div>
<div class="form-row zman-selection" data-nodetype="Zmanoffset">
<label for="node-input-sc5Zmanoffset" style="width:40px;">Offset:</label>
<input type="number" id="node-input-sc5Zmanoffset" placeholder="0">
<select id="node-input-sc5Zmanoffsettype" name="node-input-sc5Zmanoffsettype">
<option value="1000">Seconds</option>
<option value="60000" selected="selected">Minutes</option>
<option value="3600000">Hours</option>
</select>
</div>
</div>
<div class="js-entry entry expanded-vis" >
<div class="form-row" data-nodetype="TimeActive">
<label for="node-input-sc6TimeActive" >Active</label>
<input type="checkbox" id="node-input-sc6TimeActive" class="js-active" />
</div>
<div class="form-row" data-nodetype="TimeAction">
<label for="node-input-sc6TimeAction" >Action:</label>
<select id="node-input-sc6TimeAction" >
<option value="1">On</option>
<option value="0">Off</option>
</select>
</div>
<div class="form-row" data-nodetype="Timetype">
<label for="node-input-sc6Timetype" >Time Type</label>
<select id="node-input-sc6Timetype" class="js-timetype">
<option value="time">Time</option>
<option value="zman">Zman</option>
</select>
</div>
<div class="form-row time-selection" data-nodetype="Time">
<label for="node-input-sc6Time" style="width:40px">Time:</label>
<input type="time" id="node-input-sc6Time" style="width:110px"/>
</div>
<div class="form-row zman-selection" data-nodetype="Zman">
<label for="node-input-sc6Zman" style="width:56px">Zman <i title="Avaliable Zmanim are the basic zmanim from the KosherZmanim lib" class="fa fa-question-circle"></i>: </label>
<select id="node-input-sc6Zman" style="width:138px">
<option value="BeginAstronomicalTwilight">BeginAstronomicalTwilight</option>
<option value="AlosHashachar">AlosHashachar</option>
<option value="Alos72">Alos72</option>
<option value="BeginNauticalTwilight">BeginNauticalTwilight</option>
<option value="BeginCivilTwilight">BeginCivilTwilight</option>
<option value="SeaLevelSunrise">SeaLevelSunrise</option>
<option value="Sunrise">Sunrise</option>
<option value="SofZmanShmaMGA">SofZmanShmaMGA</option>
<option value="SofZmanShmaGRA">SofZmanShmaGRA</option>
<option value="SofZmanTfilaMGA">SofZmanTfilaMGA</option>
<option value="SofZmanTfilaGRA">SofZmanTfilaGRA</option>
<option value="Chatzos">Chatzos</option>
<option value="CandleLighting">CandleLighting</option>
<option value="SeaLevelSunset">SeaLevelSunset</option>
<option value="Sunset">Sunset</option>
<option value="EndCivilTwilight">EndCivilTwilight</option>
<option value="Tzais">Tzais</option>
<option value="EndNauticalTwilight">EndNauticalTwilight</option>
<option value="Tzais72">Tzais72</option>
<option value="EndAstronomicalTwilight">EndAstronomicalTwilight</option>
</select>
</div>
<div class="form-row zman-selection" data-nodetype="Zmanoffset">
<label for="node-input-sc6Zmanoffset" style="width:40px;">Offset:</label>
<input type="number" id="node-input-sc6Zmanoffset" placeholder="0">
<select id="node-input-sc6Zmanoffsettype" name="node-input-sc6Zmanoffsettype">
<option value="1000">Seconds</option>
<option value="60000" selected="selected">Minutes</option>
<option value="3600000">Hours</option>
</select>
</div>
</div>
<div class="js-entry entry expanded-vis" >
<div class="form-row" data-nodetype="TimeActive">
<label for="node-input-sc7TimeActive" >Active</label>
<input type="checkbox" id="node-input-sc7TimeActive" class="js-active" />
</div>
<div class="form-row" data-nodetype="TimeAction">
<label for="node-input-sc7TimeAction" >Action:</label>
<select id="node-input-sc7TimeAction" >
<option value="1">On</option>
<option value="0">Off</option>
</select>
</div>
<div class="form-row" data-nodetype="Timetype">
<label for="node-input-sc7Timetype" >Time Type</label>
<select id="node-input-sc7Timetype" class="js-timetype">
<option value="time">Time</option>
<option value="zman">Zman</option>
</select>
</div>
<div class="form-row time-selection" data-nodetype="Time">
<label for="node-input-sc7Time" style="width:40px">Time:</label>
<input type="time" id="node-input-sc7Time" style="width:110px"/>
</div>
<div class="form-row zman-selection" data-nodetype="Zman">
<label for="node-input-sc7Zman" style="width:56px">Zman <i title="Avaliable Zmanim are the basic zmanim from the KosherZmanim lib" class="fa fa-question-circle"></i>: </label>
<select id="node-input-sc7Zman" style="width:138px">
<option value="BeginAstronomicalTwilight">BeginAstronomicalTwilight</option>
<option value="AlosHashachar">AlosHashachar</option>
<option value="Alos72">Alos72</option>
<option value="BeginNauticalTwilight">BeginNauticalTwilight</option>
<option value="BeginCivilTwilight">BeginCivilTwilight</option>
<option value="SeaLevelSunrise">SeaLevelSunrise</option>
<option value="Sunrise">Sunrise</option>
<option value="SofZmanShmaMGA">SofZmanShmaMGA</option>
<option value="SofZmanShmaGRA">SofZmanShmaGRA</option>
<option value="SofZmanTfilaMGA">SofZmanTfilaMGA</option>
<option value="SofZmanTfilaGRA">SofZmanTfilaGRA</option>
<option value="Chatzos">Chatzos</option>
<option value="CandleLighting">CandleLighting</option>
<option value="SeaLevelSunset">SeaLevelSunset</option>
<option value="Sunset">Sunset</option>
<option value="EndCivilTwilight">EndCivilTwilight</option>
<option value="Tzais">Tzais</option>
<option value="EndNauticalTwilight">EndNauticalTwilight</option>
<option value="Tzais72">Tzais72</option>
<option value="EndAstronomicalTwilight">EndAstronomicalTwilight</option>
</select>
</div>
<div class="form-row zman-selection" data-nodetype="Zmanoffset">
<label for="node-input-sc7Zmanoffset" style="width:40px;">Offset:</label>
<input type="number" id="node-input-sc7Zmanoffset" placeholder="0">
<select id="node-input-sc7Zmanoffsettype" name="node-input-sc7Zmanoffsettype">
<option value="1000">Seconds</option>
<option value="60000" selected="selected">Minutes</option>
<option value="3600000">Hours</option>
</select>
</div>
</div>
<div class="js-entry entry expanded-vis" >
<div class="form-row" data-nodetype="TimeActive">
<label for="node-input-sc8TimeActive" >Active</label>
<input type="checkbox" id="node-input-sc8TimeActive" class="js-active" />
</div>
<div class="form-row" data-nodetype="TimeAction">
<label for="node-input-sc8TimeAction" >Action:</label>
<select id="node-input-sc8TimeAction" >
<option value="1">On</option>
<option value="0">Off</option>
</select>
</div>
<div class="form-row" data-nodetype="Timetype">
<label for="node-input-sc8Timetype" >Time Type</label>
<select id="node-input-sc8Timetype" class="js-timetype">
<option value="time">Time</option>
<option value="zman">Zman</option>
</select>
</div>
<div class="form-row time-selection" data-nodetype="Time">
<label for="node-input-sc8Time" style="width:40px">Time:</label>
<input type="time" id="node-input-sc8Time" style="width:110px"/>
</div>
<div class="form-row zman-selection" data-nodetype="Zman">
<label for="node-input-sc8Zman" style="width:56px">Zman <i title="Avaliable Zmanim are the basic zmanim from the KosherZmanim lib" class="fa fa-question-circle"></i>: </label>
<select id="node-input-sc8Zman" style="width:138px">
<option value="BeginAstronomicalTwilight">BeginAstronomicalTwilight</option>
<option value="AlosHashachar">AlosHashachar</option>
<option value="Alos72">Alos72</option>
<option value="BeginNauticalTwilight">BeginNauticalTwilight</option>
<option value="BeginCivilTwilight">BeginCivilTwilight</option>
<option value="SeaLevelSunrise">SeaLevelSunrise</option>
<option value="Sunrise">Sunrise</option>
<option value="SofZmanShmaMGA">SofZmanShmaMGA</option>
<option value="SofZmanShmaGRA">SofZmanShmaGRA</option>
<option value="SofZmanTfilaMGA">SofZmanTfilaMGA</option>
<option value="SofZmanTfilaGRA">SofZmanTfilaGRA</option>
<option value="Chatzos">Chatzos</option>
<option value="CandleLighting">CandleLighting</option>
<option value="SeaLevelSunset">SeaLevelSunset</option>
<option value="Sunset">Sunset</option>
<option value="EndCivilTwilight">EndCivilTwilight</option>
<option value="Tzais">Tzais</option>
<option value="EndNauticalTwilight">EndNauticalTwilight</option>
<option value="Tzais72">Tzais72</option>
<option value="EndAstronomicalTwilight">EndAstronomicalTwilight</option>
</select>
</div>
<div class="form-row zman-selection" data-nodetype="Zmanoffset">
<label for="node-input-sc8Zmanoffset" style="width:40px;">Offset:</label>
<input type="number" id="node-input-sc8Zmanoffset" placeholder="0">
<select id="node-input-sc8Zmanoffsettype" name="node-input-sc8Zmanoffsettype">
<option value="1000">Seconds</option>
<option value="60000" selected="selected">Minutes</option>
<option value="3600000">Hours</option>
</select>
</div>
</div>
<div class="js-entry entry expanded-vis" >
<div class="form-row" data-nodetype="TimeActive">
<label for="node-input-sc9TimeActive" >Active</label>
<input type="checkbox" id="node-input-sc9TimeActive" class="js-active" />
</div>
<div class="form-row" data-nodetype="TimeAction">
<label for="node-input-sc9TimeAction" >Action:</label>
<select id="node-input-sc9TimeAction" >
<option value="1">On</option>
<option value="0">Off</option>
</select>
</div>
<div class="form-row" data-nodetype="Timetype">
<label for="node-input-sc9Timetype" >Time Type</label>
<select id="node-input-sc9Timetype" class="js-timetype">
<option value="time">Time</option>
<option value="zman">Zman</option>
</select>
</div>
<div class="form-row time-selection" data-nodetype="Time">
<label for="node-input-sc9Time" style="width:40px">Time:</label>
<input type="time" id="node-input-sc9Time" style="width:110px"/>
</div>
<div class="form-row zman-selection" data-nodetype="Zman">
<label for="node-input-sc9Zman" style="width:56px">Zman <i title="Avaliable Zmanim are the basic zmanim from the KosherZmanim lib" class="fa fa-question-circle"></i>: </label>
<select id="node-input-sc9Zman" style="width:138px">
<option value="BeginAstronomicalTwilight">BeginAstronomicalTwilight</option>
<option value="AlosHashachar">AlosHashachar</option>
<option value="Alos72">Alos72</option>
<option value="BeginNauticalTwilight">BeginNauticalTwilight</option>
<option value="BeginCivilTwilight">BeginCivilTwilight</option>
<option value="SeaLevelSunrise">SeaLevelSunrise</option>
<option value="Sunrise">Sunrise</option>
<option value="SofZmanShmaMGA">SofZmanShmaMGA</option>
<option value="SofZmanShmaGRA">SofZmanShmaGRA</option>
<option value="SofZmanTfilaMGA">SofZmanTfilaMGA</option>
<option value="SofZmanTfilaGRA">SofZmanTfilaGRA</option>
<option value="Chatzos">Chatzos</option>
<option value="CandleLighting">CandleLighting</option>
<option value="SeaLevelSunset">SeaLevelSunset</option>
<option value="Sunset">Sunset</option>
<option value="EndCivilTwilight">EndCivilTwilight</option>
<option value="Tzais">Tzais</option>
<option value="EndNauticalTwilight">EndNauticalTwilight</option>
<option value="Tzais72">Tzais72</option>
<option value="EndAstronomicalTwilight">EndAstronomicalTwilight</option>
</select>
</div>
<div class="form-row zman-selection" data-nodetype="Zmanoffset">
<label for="node-input-sc9Zmanoffset" style="width:40px;">Offset:</label>
<input type="number" id="node-input-sc9Zmanoffset" placeholder="0">
<select id="node-input-sc9Zmanoffsettype" name="node-input-sc9Zmanoffsettype">
<option value="1000">Seconds</option>
<option value="60000" selected="selected">Minutes</option>
<option value="3600000">Hours</option>
</select>
</div>
</div>
<div class="js-entry entry expanded-vis" >
<div class="form-row" data-nodetype="TimeActive">
<label for="node-input-sc10TimeActive" >Active</label>
<input type="checkbox" id="node-input-sc10TimeActive" class="js-active" />
</div>
<div class="form-row" data-nodetype="TimeAction">
<label for="node-input-sc10TimeAction" >Action:</label>
<select id="node-input-sc10TimeAction" >
<option value="1">On</option>
<option value="0">Off</option>
</select>
</div>
<div class="form-row" data-nodetype="Timetype">
<label for="node-input-sc10Timetype" >Time Type</label>
<select id="node-input-sc10Timetype" class="js-timetype">
<option value="time">Time</option>
<option value="zman">Zman</option>
</select>
</div>
<div class="form-row time-selection" data-nodetype="Time">
<label for="node-input-sc10Time" style="width:40px">Time:</label>
<input type="time" id="node-input-sc10Time" style="width:110px"/>
</div>
<div class="form-row zman-selection" data-nodetype="Zman">
<label for="node-input-sc10Zman" style="width:56px">Zman <i title="Avaliable Zmanim are the basic zmanim from the KosherZmanim lib" class="fa fa-question-circle"></i>: </label>
<select id="node-input-sc10Zman" style="width:138px">
<option value="BeginAstronomicalTwilight">BeginAstronomicalTwilight</option>
<option value="AlosHashachar">AlosHashachar</option>
<option value="Alos72">Alos72</option>
<option value="BeginNauticalTwilight">BeginNauticalTwilight</option>
<option value="BeginCivilTwilight">BeginCivilTwilight</option>
<option value="SeaLevelSunrise">SeaLevelSunrise</option>
<option value="Sunrise">Sunrise</option>
<option value="SofZmanShmaMGA">SofZmanShmaMGA</option>
<option value="SofZmanShmaGRA">SofZmanShmaGRA</option>
<option value="SofZmanTfilaMGA">SofZmanTfilaMGA</option>
<option value="SofZmanTfilaGRA">SofZmanTfilaGRA</option>
<option value="Chatzos">Chatzos</option>
<option value="CandleLighting">CandleLighting</option>
<option value="SeaLevelSunset">SeaLevelSunset</option>
<option value="Sunset">Sunset</option>
<option value="EndCivilTwilight">EndCivilTwilight</option>
<option value="Tzais">Tzais</option>
<option value="EndNauticalTwilight">EndNauticalTwilight</option>
<option value="Tzais72">Tzais72</option>
<option value="EndAstronomicalTwilight">EndAstronomicalTwilight</option>
</select>
</div>
<div class="form-row zman-selection" data-nodetype="Zmanoffset">
<label for="node-input-sc10Zmanoffset" style="width:40px;">Offset:</label>
<input type="number" id="node-input-sc10Zmanoffset" placeholder="0">
<select id="node-input-sc10Zmanoffsettype" name="node-input-sc10Zmanoffsettype">
<option value="1000">Seconds</option>
<option value="60000" selected="selected">Minutes</option>
<option value="3600000">Hours</option>
</select>
</div>
</div>
</div>
<hr/>
<div id="dates-container" class="expend-container collapsed">
<h4 class="expand-collapse"> Set Schedule Dates
<i class="fa fa-chevron-down collapsed-vis"></i>
<i class="fa fa-chevron-up expanded-vis"></i>
</h4>
<div class="js-entry entry expanded-vis" >
<div class="form-row" data-nodetype="DateActive">
<label for="node-input-sc1DateActive" >Active</label>
<input type="checkbox" id="node-input-sc1DateActive" class="js-active" />
</div>
<div class="form-row" data-nodetype="DateAction">
<label for="node-input-sc1DateAction" >Action:</label>
<select id="node-input-sc1DateAction" >
<option value="1" class="reginclude">Include</option>
<option value="2" class="specialinclude">Include</option>
<option value="2" class="onlyinclude">Only Include</option>
<option value="0">Exclude</option>
</select>
</div>
<div class="form-row" data-nodetype="Datetype">
<label for="node-input-sc1Datetype" >Date Type</label>
<select id="node-input-sc1Datetype" class="js-datetype">
<option value="weekday">Weekdays</option>
<option value="jmonthday">Jewish Dates</option>
<option value="gmonthday">Gregorian Dates</option>
</select>
</div>
<div class="form-row weekday-selection" data-nodetype="Weekday">
<span class="inline">
<label for="node-input-sc1Sun" >Sunday</label>
<input type="checkbox" id="node-input-sc1Sun" />
</span>
<span class="inline">
<label for="node-input-sc1Mon" >Monday</label>
<input type="checkbox" id="node-input-sc1Mon" />
</span>
<span class="inline">
<label for="node-input-sc1Tue" >Tuesday</label>
<input type="checkbox" id="node-input-sc1Tue" />
</span>
<span class="inline">
<label for="node-input-sc1Wed" >Wednesday</label>
<input type="checkbox" id="node-input-sc1Wed" />
</span>
<span class="inline">
<label for="node-input-sc1Thu" >Thursday</label>
<input type="checkbox" id="node-input-sc1Thu" />
</span>
<span class="inline">
<label for="node-input-sc1Fri" >Friday</label>
<input type="checkbox" id="node-input-sc1Fri" />
</span>
<span class="inline">
<label for="node-input-sc1Sat" >Saturday</label>
<input type="checkbox" id="node-input-sc1Sat" />
</span>
</div>
<div class="form-row gmonthday-selection" data-nodetype="gMonthday">
<span class="inline">
<label for="node-input-sc1Jan" >Jan</label>
<input type="checkbox" id="node-input-sc1Jan" />
</span>
<span class="inline">
<label for="node-input-sc1Feb" >Feb</label>
<input type="checkbox" id="node-input-sc1Feb" />
</span>
<span class="inline">
<label for="node-input-sc1Mar" >Mar</label>
<input type="checkbox" id="node-input-sc1Mar" />
</span>
<span class="inline">
<label for="node-input-sc1Apr" >Apr</label>
<input type="checkbox" id="node-input-sc1Apr" />
</span>
<span class="inline">
<label for="node-input-sc1May" >May</label>
<input type="checkbox" id="node-input-sc1May" />
</span>
<span class="inline">
<label for="node-input-sc1Jun" >Jun</label>
<input type="checkbox" id="node-input-sc1Jun" />
</span>
<span class="inline">
<label for="node-input-sc1Jul" >Jul</label>
<input type="checkbox" id="node-input-sc1Jul" />
</span>
<span class="inline">
<label for="node-input-sc1Aug" >Aug</label>
<input type="checkbox" id="node-input-sc1Aug" />
</span>
<span class="inline">
<label for="node-input-sc1Sep" >Sep</label>
<input type="checkbox" id="node-input-sc1Sep" />
</span>
<span class="inline">
<label for="node-input-sc1Oct" >Oct</label>
<input type="checkbox" id="node-input-sc1Oct" />
</span>
<span class="inline">
<label for="node-input-sc1Nov" >Nov</label>
<input type="checkbox" id="node-input-sc1Nov" />
</span>
<span class="inline">
<label for="node-input-sc1Dec" >Dec</label>
<input type="checkbox" id="node-input-sc1Dec" />
</span>
<br />
<label for="node-input-sc1gmonthdays" title="Leave empty for all">Select Days</label>
<input type="text" patteran="d{1,2}(,d{1,2})*" id="node-input-sc1gmonthdays" placeholder="1,4,5,8,29"/>
</div>
<div class="form-row jmonthday-selection" data-nodetype="jMonthday">
<span class="inline">
<label for="node-input-sc1Nisan" >Nisan</label>
<input type="checkbox" id="node-input-sc1Nisan" />
</span>
<span class="inline">
<label for="node-input-sc1Iyar" >Iyar</label>
<input type="checkbox" id="node-input-sc1Iyar" />
</span>
<span class="inline">
<label for="node-input-sc1Sivan" >Sivan</label>
<input type="checkbox" id="node-input-sc1Sivan" />
</span>
<span class="inline">
<label for="node-input-sc1Tamuz" >Tamuz</label>
<input type="checkbox" id="node-input-sc1Tamuz" />
</span>
<span class="inline">
<label for="node-input-sc1Av" >Av</label>
<input type="checkbox" id="node-input-sc1Av" />
</span>
<span class="inline">
<label for="node-input-sc1Elul" >Elul</label>
<input type="checkbox" id="node-input-sc1Elul" />
</span>
<span class="inline">
<label for="node-input-sc1Tishri" >Tishri</label>
<input type="checkbox" id="node-input-sc1Tishri" />
</span>
<span class="inline">
<label for="node-input-sc1Heshvan" >Cheshvan</label>
<input type="checkbox" id="node-input-sc1Heshvan" />
</span>
<span class="inline">
<label for="node-input-sc1Kislev" >Kislev</label>
<input type="checkbox" id="node-input-sc1Kislev" />
</span>
<span class="inline">
<label for="node-input-sc1Tevet" >Tevet</label>
<input type="checkbox" id="node-input-sc1Tevet" />
</span>
<span class="inline">
<label for="node-input-sc1Shevat" >Shevat</label>
<input type="checkbox" id="node-input-sc1Shevat" />
</span>
<span class="inline">
<label for="node-input-sc1Adar1" >Adar I</label>
<input type="checkbox" id="node-input-sc1Adar1" />
</span>
<span class="inline">
<label for="node-input-sc1Adar2" >Adar, Adar II</label>
<input type="checkbox" id="node-input-sc1Adar2" />
</span>
<br />
<label for="node-input-sc1jmonthdays" title="Leave empty for all">Select Days</label>
<input type="text" patteran="d{1,2}(,d{1,2})*" id="node-input-sc1jmonthdays" placeholder="1,4,5,8,29"/>
</div>
</div>
<div class="js-entry entry expanded-vis" >
<div class="form-row" data-nodetype="DateActive">
<label for="node-input-sc2DateActive" >Active</label>
<input type="checkbox" id="node-input-sc2DateActive" class="js-active" />
</div>
<div class="form-row" data-nodetype="DateAction">
<label for="node-input-sc2DateAction" >Action:</label>
<select id="node-input-sc2DateAction" >
<option value="1" class="reginclude">Include</option>
<option value="2" class="specialinclude">Include</option>
<option value="2" class="onlyinclude">Only Include</option>
<option value="0">Exclude</option>
</select>
</div>
<div class="form-row" data-nodetype="Datetype">
<label for="node-input-sc2Datetype" >Date Type</label>
<select id="node-input-sc2Datetype" class="js-datetype">
<option value="weekday">Weekdays</option>
<option value="jmonthday">Jewish Dates</option>
<option value="gmonthday">Gregorian Dates</option>
</select>
</div>
<div class="form-row weekday-selection" data-nodetype="Weekday">
<span class="inline">
<label for="node-input-sc2Sun" >Sunday</label>
<input type="checkbox" id="node-input-sc2Sun" />
</span>
<span class="inline">
<label for=