// Check for a special event handler
                                // Only use addEventListener/attachEvent if the special
                                // events handler returns false
-                               if ( !jQuery.event.special[type] || jQuery.event.special[type].setup.call(elem) === false ) {
+                               if ( !jQuery.event.special[type] || jQuery.event.special[type].setup.call(elem,data) === false ) {
                                        // Bind the global event handler to the element
                                        if (elem.addEventListener)
                                                elem.addEventListener(type, handle, false);
                },
 
                mouseenter: {
-                       setup: function() {
+                       setup: function( data ) {
                                if ( jQuery.browser.msie ) return false;
-                               jQuery(this).bind("mouseover", jQuery.event.special.mouseenter.handler);
+                               jQuery(this).bind("mouseover", data, jQuery.event.special.mouseenter.handler);
                                return true;
                        },
 
                },
 
                mouseleave: {
-                       setup: function() {
+                       setup: function( data ) {
                                if ( jQuery.browser.msie ) return false;
-                               jQuery(this).bind("mouseout", jQuery.event.special.mouseleave.handler);
+                               jQuery(this).bind("mouseout", data, jQuery.event.special.mouseleave.handler);
                                return true;
                        },