Why don't you use the publish workflow combined with the hide cronjob to do the same thing automatically in the background without the need for filters?
Anyway, the calendar in ezwebin tackles almost the same problem:
http://svn.ez.no/svn/extensions/ezwebin/trunk/packages/ezwebin_extension/ezextension/ezwebin/design/ezwebin/templates/full/event_view_calendar.tpl http://svn.ez.no/svn/extensions/ezwebin/trunk/packages/ezwebin_extension/ezextension/ezwebin/design/ezwebin/templates/full/event_view_program.tpl