Вы пытаетесь поймать клики в любом месте документа? Может быть, вы могли бы попробовать ...
var calendar = $('calendar');
$$('body')[0].addEvent('click', function(e) {
if (!$(e.target).getParent('#calendar')) {
var myFx = new Fx.Tween(calendar, {duration: 400});
myFx.set('display', 'block');
}
}
Я не уверен, как вы переключаете видимость, но работа Fx.Tween.set позволяет вам изменять любое свойство CSS. Вы можете посмотреть на http://mootools.net/docs/core/Fx/Fx.Tween для других возможностей.
Также обратите внимание, что я обернул e.target, используя $. Это специально для IE. Я написал пост об этом здесь под подзаголовком "Mootools Events Targets".
Наконец, я вычеркнул $ ('calendar'), чтобы вы не искали DOM каждый раз.