code: function (fn, obj, overrideContext) {
  
  			return function (event, container) {
  
  				var el = this,
  					relatedTarget = Event.getRelatedTarget(event),
  					context,
  					args;
  
  				if (el != relatedTarget && !YAHOO.util.Dom.isAncestor(el, relatedTarget)) {
  
  					context = el;
  
  			        if (overrideContext) {
  			            if (overrideContext === true) {
  			                context = obj;
  			            } else {
  			                context = overrideContext;
  			            }
  			        }
  
  					//	The default args passed back to a mouseenter or 
  					//	mouseleave listener are: the event, the element 
  					//	to which the listener is bound, and any object the  
  					//	user passed when subscribing
  
  					args = [event, el, obj];
  
  					//	Add the delegation container as an argument when 
  					//	delegating mouseenter and mouseleave
  
  					if (container) {
  						args.splice(2, 0, container);
  					}
  
  					return fn.apply(context, args);
  
  				}
  
  			};
  
  		}
docs: Creates a delegate function used to call mouseover and mouseleave
  event listeners specified via the
  <code>YAHOO.util.Event.addListener</code>
  or <code>YAHOO.util.Event.on</code> method.
  
  @method _createMouseDelegate
  
  @param {Function} fn        The method (event listener) to call
  @param {Object}   obj    An arbitrary object that will be
  passed as a parameter to the listener
  @param {Boolean|object}  overrideContext  If true, the value of the
  obj parameter becomes the execution context
  of the listener. If an object, this object
  becomes the execution context.
  @return {Function} Function that will call the event listener
  specified by either the <code>YAHOO.util.Event.addListener</code>
  or <code>YAHOO.util.Event.on</code> method.
  @private
  @static
  @for Event