When data in calendar is selected, calendar hides with no data picked. This problem is related to this source (and svn source too).
Problems goes from ticket 5314. Ticket reporter uses Opera. For this browser internal calendar hiding method doesn't works. It started to work in Opera when you added onBlur() but in other browsers it crashes.
Doesn't work in Mozilla FireFox? (3.5-3.6), IE (7-8), Google Chrome.
You should determine browser type before setting onBlur() on the specified field. It will be like this:
if (navigator.appName == "Opera")
element.onblur = new Function("cal.hidePopup(); return true;");