rem: val = jQuery.event.handle.apply(elem, arguments); 
add: val = jQuery.event.handle.apply(arguments.callee.elem, arguments); 
context: 	add: function(elem, types, handler, data) {		if ( elem.nodeType == 3 || elem.nodeType == 8 )			return;		// For whatever reason, IE has trouble passing the window object		// around, causing it to be cloned in the process		if ( jQuery.browser.msie && elem.setInterval != undefined )			elem = window;		// Make sure that the function being executed has a unique ID		if ( !handler.guid )			handler.guid = this.guid++;					// if data is passed, bind to handler 		if( data != undefined ) { 			// Create temporary function pointer to original handler 			var fn = handler; 			// Create unique handler function, wrapped around original handler 			handler = function() { 				// Pass arguments and context to original handler 				return fn.apply(this, arguments); 			};			// Store data in unique handler 			handler.data = data;			// Set the guid of unique handler to the same of original handler, so it can be removed 			handler.guid = fn.guid;		}		// Init the element's event structure		var events = jQuery.data(elem, "events") || jQuery.data(elem, "events", {}),			handle = jQuery.data(elem, "handle") || jQuery.data(elem, "handle", function(){				// returned undefined or false				var val;				// Handle the second event of a trigger and when				// an event is called after a page has unloaded				if ( typeof jQuery == "undefined" || jQuery.event.triggered )					return val;						val = jQuery.event.handle.apply(elem, arguments);						return val;			});						// Handle multiple events seperated by a space			// jQuery(...).bind("mouseover mouseout", fn);			jQuery.each(types.split(/\s+/), function(index, type) {				// Namespaced event handlers				var parts = type.split(".");				type = parts[0];				handler.type = parts[1];				// Get the current list of functions bound to this event				var handlers = events[type];				// Init the event handler queue				if (!handlers) {					handlers = events[type] = {};							// 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 ) {						// Bind the global event handler to the element						if (elem.addEventListener)							elem.addEventListener(type, handle, false);						else if (elem.attachEvent)							elem.attachEvent("on" + type, handle);					}				}				// Add the function to the element's handler list				handlers[handler.guid] = handler;				// Keep track of which events have been used, for global triggering				jQuery.event.global[type] = true;			});	},
meta: 2798	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/2798/c73eadf59952f71f5c55fe9887f1f9e005fe95a4/event.js/buggy/src/event.js