-# t_session_note(){
-# session_n="$1"
-# note_n="$2"
-#
-# color=session${session_n}_note${note_n}_color
-# unset c0 c1 c2 c3 c4 c5 c6 c7
-#
-# if [ "$note_n" -eq 1 -o -n "${tpy[session${session_n}_note${note_n}]}" ]; then
-# printf '<input class="trailbtn" type="checkbox" checked="checked">'
-# else
-# printf '<input class="trailbtn" type="checkbox">'
-# fi
-#
-# _checked="$(validate "$tpy[$color]" '#(888|00A|0A0|0AA|A00|A0A|AA0)' '#FFF')"
-# cat <<-EOF
-# <fieldset class="note trailbox">
-# <input class=color type=radio name="$color" value="#888" id=${color}_000 $(checked \#888)><label for=${color}_000></label>
-# <input class=color type=radio name="$color" value="#00A" id=${color}_001 $(checked \#00A)><label for=${color}_001></label>
-# <input class=color type=radio name="$color" value="#0A0" id=${color}_010 $(checked \#0A0)><label for=${color}_010></label>
-# <input class=color type=radio name="$color" value="#0AA" id=${color}_011 $(checked \#0AA)><label for=${color}_011></label>
-# <input class=color type=radio name="$color" value="#A00" id=${color}_100 $(checked \#A00)><label for=${color}_100></label>
-# <input class=color type=radio name="$color" value="#A0A" id=${color}_101 $(checked \#A0A)><label for=${color}_101></label>
-# <input class=color type=radio name="$color" value="#AA0" id=${color}_110 $(checked \#AA0)><label for=${color}_110></label>
-# <input class=color type=radio name="$color" value="#FFF" id=${color}_111 $(checked \#FFF)><label for=${color}_111></label>
-# <textarea name="session${session_n}_note${note_n}">${tpy[session${session_n}_note${note_n}]}</textarea>
-# </fieldset>
-# EOF
-# }
-#
-# t_session(){
-# session_n="$1"
-#
-# sid=session${session_n}
-#
-# if [ "$tpy[${sid}_sigset]" = pos ]; then
-# sigcheck=checked
-# else
-# unset sigcheck
-# fi
-#
-# cat <<-EOF
-# <input type=hidden name=$sid value=exists>
-# <input class="tab" type="checkbox" id=${sid}_open name="${sid}_open" value="checked" ${tpy[${sid}_open]}>
-# <label class="tab" for="${sid}_open">
-# <span class=no>${session_n}.</span><!--
-# --><span class=date>${tpy[${sid}_date]}</span><!--
-# --><input class="date" name="${sid}_date" value="${tpy[${sid}_date]}" placeholder="$(l10n date)"><!--
-# --><span class=therapist>${tpy[${sid}_therapist]}</span><!--
-# --><input class="therapist" name="${sid}_therapist" value="${tpy[${sid}_therapist]}" placeholder="$(l10n therapist)"><!--
-# --><span class=signature><input type="checkbox" name="${sid}_sigset" value="pos" $sigcheck></span>
-# </label>
-# <div class=tab>
-# <img class="dotmark ov" src="/therapies/${id%.tpy}_${sid}.png" alt="">
-# $(n=1;
-# while [ -n "${tpy[session${session_n}_note${n}]+x}" ]; do
-# if [ -n "${tpy[session${session_n}_note${n}]}" ]; then
-# x=$n
-# fi
-# n=$(($n + 1))
-# done
-# for n in $(seq 1 $((${x:-0} + 3)) ); do t_session_note $session_n $n; done
-# )
-# <button class="trailbtn" type="submit">$(l10n trailsave)</button>
-# <button class=delete type=submit name=delete_session value=${session_n}>$(l10n delete_session)</button>
-# </div>
-# EOF
-# }
-#
-# therapy_sessions(){
-# n=1; while [ -n "${tpy[session${n}]}" ]; do
-# t_session $n
-# n=$(($n+1))
-# done
-#
-# sid=session$n
-#
-# cat <<-EOF
-# <fieldset class="tab">
-# <button class=no type=submit name=new_session value=$sid>+</button><!--
-# --><input class=date name=${sid}_date value="" placeholder="$(l10n date)" /><!--
-# --><input class=therapist name=${sid}_therapist value="" placeholder="$(l10n therapist)" /><!--
-# --><span class=signature><span></span>
-# <input type=hidden name="${sid}_note1" value="">
-# </fieldset>
-# EOF
-# }
+t_session_note(){
+ session_n="$1"
+ note_n="$2"
+
+ color=session${session_n}_note${note_n}_color
+
+ if [ "$note_n" -eq 1 -o "$(TPY "session${session_n}_note${note_n}")" ]; then
+ printf '[input type="checkbox" .trailbtn checked="checked"]'
+ else
+ printf '[input type="checkbox" .trailbtn]'
+ fi
+
+ check="$(TPY "$color" |grep -xE -m1 '#(888|00A|0A0|0AA|A00|A0A|AA0)' || printf '#FFF')"
+ cat <<-EOF
+ [fieldset .note .trailbox
+ [radio "$color" "#888" .color #${color}_000 $(checked "$check" '#888') ][label for=${color}_000]
+ [radio "$color" "#00A" .color #${color}_001 $(checked "$check" '#00A') ][label for=${color}_001]
+ [radio "$color" "#0A0" .color #${color}_010 $(checked "$check" '#0A0') ][label for=${color}_010]
+ [radio "$color" "#0AA" .color #${color}_011 $(checked "$check" '#0AA') ][label for=${color}_011]
+ [radio "$color" "#A00" .color #${color}_100 $(checked "$check" '#A00') ][label for=${color}_100]
+ [radio "$color" "#A0A" .color #${color}_101 $(checked "$check" '#A0A') ][label for=${color}_101]
+ [radio "$color" "#AA0" .color #${color}_110 $(checked "$check" '#AA0') ][label for=${color}_110]
+ [radio "$color" "#FFF" .color #${color}_111 $(checked "$check" '#FFF') ][label for=${color}_111]
+ [textarea name="session${session_n}_note${note_n}" . $(TPY "session${session_n}_note${note_n}" |HTML)]
+ ]
+ EOF
+}
+
+therapy_sessions(){
+ n=1; while [ "$(TPY session$n)" ]; do n=$((n + 1)); done
+
+ sid=session$n
+ cat <<-EOF
+ [fieldset .tab
+ [submit "new_session" "$sid" .no . +]
+ [input .date name="${sid}_date" value="" placeholder=$(l10n date)]
+ [input .therapist name="${sid}_therapist" value="" placeholder=$(l10n therapist)]
+ [span .signature]
+ [hidden "${sid}_note1" ""]
+ ]
+ EOF
+
+ seq $((n - 1)) -1 1 | while read n; do
+ session_n="$n"
+ sid=session${session_n}
+
+ cat <<-EOF
+ [hidden "$sid" "exists"]
+ [checkbox "${sid}_open" "checked" #${sid}_open .tab $(checked "$(TPY "${sid}_open")" checked)]
+ [label .tab for="${sid}_open"
+ [span .no ${session_n}.]
+ [span .date . $(TPY "${sid}_date" |HTML)]
+ [input .date name="${sid}_date" value="$(TPY "${sid}_date" |HTML)" placeholder="$(l10n date)"]
+ [span .therapist . $(TPY "${sid}_therapist" |HTML)]
+ [input .therapist name="${sid}_therapist" value="$(TPY "${sid}_therapist" |HTML)" placeholder="$(l10n therapist)"]
+ [span .signature [checkbox "${sid}_sigset" "pos" $(checked "$(TPY "${sid}_sigset")" "pos")]]
+ ]
+ [div .tab
+ [img .dotmark .ov src="/therapies/${id}_${sid}.png?${_DATE}" alt=""]
+ $(n=1; while TPY "session${session_n}_note${n}" >/dev/null; do
+ [ "$(TPY "session${session_n}_note${n}")" ] && x=$n
+ n=$(($n + 1))
+ done
+ for n in $(seq 1 $((${x:-0} + 3)) ); do
+ t_session_note $session_n $n
+ done
+ )
+ [button type="submit" .trailbtn $(l10n trailbtn)]
+ [button type="submit" name=delete_session value="$session_n" .delete $(l10n delete_session)]
+ ]
+ EOF
+ done
+}