add: } else if (!this.addEventListener){ defn = defn.bind(this); 
context: 	addEvent: function(type, fn, nativeType){		this.$events = this.$events || {};		if (!this.$events[type]) this.$events[type] = {'keys': [], 'values': []};		if (this.$events[type].keys.contains(fn)) return this;		this.$events[type].keys.push(fn);		var realType = type;		var custom = Element.Events[type];		var map = fn;		if (custom){			if (custom.add) custom.add.call(this, fn);			if (custom.map){				map = function(event){					if (custom.map.call(this, event)) return fn.call(this, event);					return false;				};			}			if (custom.type) realType = custom.type;		}		var defn = fn;		if (!$defined(nativeType)) nativeType = Element.$events[realType] || 0;		if (nativeType){			if (nativeType == 2){				var self = this;				defn = function(event){					event = new Event(event);					if (map.call(self, event) === false) event.stop();				};			}			this.addListener(realType, defn);		}		this.$events[type].values.push(defn);		return this;	},
meta: 9980	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/9980/d0fb7929ab53355de37e059431703f4bd998737b/Element.Event.js/clean/Element/Element.Event.js