For starters:
on,
off and
default are strings.
And thus
there should be quotes around those strings.
You did it twice good in
if (TimeId == "on" ) and
if (TimeId == "off" ). But all the other occurances of those strings lack the quotes (and thus are threated as undefined variables)....
Another thing you might want to consider:
Timers do not stop running after you've signed out!
This means that if you are signed out for some reason, the timers will still keep on running (until they fire). At which time you might not be signed in once again and thus an error will occur when the timer event tries to set your display picture. Similar stuff will happen when you sign out and someone else (or you with another identity) signs in after that; the timers might still be running and the other person's display picture will be set instead....
To solve this _extremely common_ mistake, simply cancel all the used timers in a OnEvent_SignOut event.