Show:
                            /**
                             * Adds mousewheel event support
                             * @module event
                             * @submodule event-mousewheel
                             */
                            var DOM_MOUSE_SCROLL = 'DOMMouseScroll',
                                fixArgs = function(args) {
                                    var a = Y.Array(args, 0, true), target;
                                    if (Y.UA.gecko) {
                                        a[0] = DOM_MOUSE_SCROLL;
                                        target = Y.config.win;
                                    } else {
                                        target = Y.config.doc;
                                    }
                            
                                    if (a.length < 3) {
                                        a[2] = target;
                                    } else {
                                        a.splice(2, 0, target);
                                    }
                            
                                    return a;
                                };
                            
                            /**
                             * Mousewheel event.  This listener is automatically attached to the
                             * correct target, so one should not be supplied.  Mouse wheel
                             * direction and velocity is stored in the 'wheelDelta' field.
                             * @event mousewheel
                             * @param type {string} 'mousewheel'
                             * @param fn {function} the callback to execute
                             * @param context optional context object
                             * @param args 0..n additional arguments to provide to the listener.
                             * @return {EventHandle} the detach handle
                             * @for YUI
                             */
                            Y.Env.evt.plugins.mousewheel = {
                                on: function() {
                                    return Y.Event._attach(fixArgs(arguments));
                                },
                            
                                detach: function() {
                                    return Y.Event.detach.apply(Y.Event, fixArgs(arguments));
                                }
                            };