rem: element.detachEvent("on" + type, this.handle, false); 
add: element.detachEvent("on" + type, element.$handle, false); ret = element.$handle = null; 
context: 	remove: function(element, type, handler) {		var events = element.$events, ret;		if ( events ) {			// type is actually an event object here			if ( type && type.type ) {				handler = type.handler;				type = type.type;			}						if ( !type ) {				for ( type in events )					this.remove( element, type );			} else if ( events[type] ) {				// remove the given handler for the given type				if ( handler )					delete events[type][handler.guid];								// remove all handlers for the given type				else					for ( handler in element.$events[type] )						delete events[type][handler];				// remove generic event handler if no more handlers exist				for ( ret in events[type] ) break;				if ( !ret ) {					ret = null;					if (element.removeEventListener)						element.removeEventListener(type, this.handle, false);					else if (element.detachEvent)						element.detachEvent("on" + type, this.handle, false);					delete events[type];				}			}			// Remove the expando if it's no longer used			for ( ret in events ) break;			if ( !ret )				element.$events = null;		}	},
meta: 1307	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/1307/e0aa10a664aabbc9ab900a07ea55cb892a7b8d3f/event.js/buggy/src/event/event.js