public/javascripts/yui/container/container.js
function(overlay) {
            var mgr = this;

            if (!overlay.blurEvent) {
                overlay.blurEvent = overlay.createEvent("blur");
                overlay.blurEvent.signature = CustomEvent.LIST;
                overlay.focusEvent._managed = true;
            } else {
                overlay.blurEvent.subscribe(mgr._onOverlayBlurHandler, overlay, mgr);
            }

            if (!overlay.blur) {
                overlay.blur = function () {
                    if (mgr._manageBlur(this)) {
                        this.blurEvent.fire();
                    }
                };
                overlay.blur._managed = true;
            }

            overlay.hideEvent.subscribe(overlay.blur);
        }
function(overlay) {
            var mgr = this;

            if (!overlay.blurEvent) {
                overlay.blurEvent = overlay.createEvent("blur");
                overlay.blurEvent.signature = CustomEvent.LIST;
                overlay.focusEvent._managed = true;
            } else {
                overlay.blurEvent.subscribe(mgr._onOverlayBlurHandler, overlay, mgr);
            }

            if (!overlay.blur) {
                overlay.blur = function () {
                    if (mgr._manageBlur(this)) {
                        this.blurEvent.fire();
                    }
                };
                overlay.blur._managed = true;
            }

            overlay.hideEvent.subscribe(overlay.blur);
        }
function ( overlay ) { var mgr = this ; if ( ! overlay . blurEvent ) { overlay . blurEvent = overlay . createEvent ( "blur" ) ; overlay . blurEvent . signature = CustomEvent . LIST ; overlay . focusEvent . _managed = true ; } else { overlay . blurEvent . subscribe ( mgr . _onOverlayBlurHandler , overlay , mgr ) ; } if ( ! overlay . blur ) { overlay . blur = function ( ) { if ( mgr . _manageBlur ( this ) ) { this . blurEvent . fire ( ) ; } } ; overlay . blur . _managed = true ; } overlay . hideEvent . subscribe ( overlay . blur ) ; }
Subscribes to the Overlay based instance's blurEvent to allow the OverlayManager to
monitor blur state.

If the instance already has a blurEvent (e.g. Menu), OverlayManager will subscribe
to the existing blurEvent, however if a blurEvent or blur method does not exist
on the instance, the _bindBlur method will add them, and the blur method
update the OverlayManager's state directly.

@method _bindBlur
@param {Overlay} overlay The overlay for which blur needs to be managed
@protected
Subscribes to the Overlay based instance s blurEvent to allow the OverlayManager to monitor blur state .