Here's the classical extension approach:
However, if this is the only thing you're over-riding it may seem a
little excessive to introduce a new class.
Add instance method, call prototype - only modifies one instance
Over-ride prototype, call backed up prototype - modifies all instances
Hope that helps,
p.s. NOTE: 2.4.0, due out this month, has support for hide/show
beforeHide/beforeShow events for Calendar and CalendarGroup built in.
It maybe worth waiting for this release if possible.