+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
+}
+