rem: if (this.events[type][fn]) return this; if (this.addEventListener){ this.events[type][fn] = fn; this.addEventListener((type == 'mousewheel' && !window.khtml) ? 'DOMMouseScroll' : type, this.events[type][fn], false); } else { this.events[type][fn] = fn.bind(this); this.attachEvent('on'+type, this.events[type][fn]); 
add: if (!this.events[type][fn]){ if (this.addEventListener){ this.events[type][fn] = fn; this.addEventListener((type == 'mousewheel' && !window.khtml) ? 'DOMMouseScroll' : type, this.events[type][fn], false); } else { this.events[type][fn] = fn.bind(this); this.attachEvent('on'+type, this.events[type][fn]); } 
context: 	addEvent: function(type, fn){		this.events = this.events || {};		this.events[type] = this.events[type] || {};		if (this.events[type][fn]) return this;		if (this.addEventListener){			this.events[type][fn] = fn;			this.addEventListener((type == 'mousewheel' && !window.khtml) ? 'DOMMouseScroll' : type, this.events[type][fn], false);		} else {			this.events[type][fn] = fn.bind(this);			this.attachEvent('on'+type, this.events[type][fn]);		}		return this;	},
meta: 7826	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/7826/af66a6919b8d36f1a1d048c31276da23a227b278/Element.js/clean/Native/Element.js