TimeTable: refactoring of timetable for calendar

there was a small 'flaw' in the previous version, it could enter an infinite loop for the calendar.

this version simplifies the whole process
or maybe you can do just one loop for the whole function