+fs_timeofday() {
+ local todall="$(DBM "$file" get todall)" time c=0
+ cat <<-EOF
+ [fieldset .timeofday
+ [label .todstart Start Time (optional):
+ ]
+ [label .todend End Time (optional):
+ ]
+ $(for time in ${todall:--}; do
+ c=$((c + 1))
+ printf '
+ <input name="todstart" value="%s" placeholder="HH:MM" list="dlist_timeofday"
+ pattern="^(0?\[0-9\]|1\[0-9\]|2\[0-3\]):(\[0-5\]\[0-9\])$"/>
+ <input name="todend" value="%s" placeholder="HH:MM" list="dlist_timeofday"
+ pattern="^(0?\[0-9\]|1\[0-9\]|2\[0-3\]):(\[0-5\]\[0-9\])$"/>
+ [submit "todremove" "%i" -]
+ ' "${time%-*}" "${time#*-}" "${c}"
+ done)
+ [submit "addtime" "global" + Add Time Option]
+ [checkbox "none" "none" .splittimes disabled=disabled] [submit "splittimes" "yes" Separate Time Options per Day]
+ ]
+ EOF
+}
+
+fs_splittimes() {
+ local day times time c
+ cat <<-EOF
+ [fieldset .splittimes
+ [checkbox "none" "none" .splittimes checked disabled=disabled] [submit "splittimes" "no" Separate Time Options per Day]
+ $(for day in $(DBM "$file" get dates); do
+ date -d $day +"[h2 . %A - %B %_d, %Y]"
+ times=$(DBM "$file" get "tod_$day")
+ for time in ${times:--}; do
+ c=$((c + 1))
+ printf '
+ <input name="todstart_%s" value="%s" placeholder="HH:MM" list="dlist_timeofday"
+ pattern="^(0?\[0-9\]|1\[0-9\]|2\[0-3\]):(\[0-5\]\[0-9\])$"/>
+ <input name="todend_%s" value="%s" placeholder="HH:MM" list="dlist_timeofday"
+ pattern="^(0?\[0-9\]|1\[0-9\]|2\[0-3\]):(\[0-5\]\[0-9\])$"/>
+ [submit "todremove" "%i" -]
+ ' "$day" "${time%-*}" "$day" "${time#*-}" "${c}"
+ done
+ printf '[submit "addtime" "%s" + Add Time Option]' "$day"
+ done)
+ ]
+ EOF
+}
+