Show:
                            /**
                             * Adds a window resize event that has its behavior normalized to fire at the
                             * end of the resize rather than constantly during the resize.
                             * @module event
                             * @submodule event-resize
                             */
                            
                            
                            /**
                             * Old firefox fires the window resize event once when the resize action
                             * finishes, other browsers fire the event periodically during the
                             * resize.  This code uses timeout logic to simulate the Firefox
                             * behavior in other browsers.
                             * @event windowresize
                             * @for YUI
                             */
                            Y.Event.define('windowresize', {
                            
                                on: (Y.UA.gecko && Y.UA.gecko < 1.91) ?
                                    function (node, sub, notifier) {
                                        sub._handle = Y.Event.attach('resize', function (e) {
                                            notifier.fire(e);
                                        });
                                    } :
                                    function (node, sub, notifier) {
                                        // interval bumped from 40 to 100ms as of 3.4.1
                                        var delay = Y.config.windowResizeDelay || 100;
                            
                                        sub._handle = Y.Event.attach('resize', function (e) {
                                            if (sub._timer) {
                                                sub._timer.cancel();
                                            }
                            
                                            sub._timer = Y.later(delay, Y, function () {
                                                notifier.fire(e);
                                            });
                                        });
                                    },
                            
                                detach: function (node, sub) {
                                    if (sub._timer) {
                                        sub._timer.cancel();
                                    }
                                    sub._handle.detach();
                                }
                                // delegate methods not defined because this only works for window
                                // subscriptions, so...yeah.
                            });