context: 	initialize: function(event, win){		win = win || window;		event = event || win.event;		if (event.$extended) return event;		this.$extended = true;		var type = event.type;		var target = event.target || event.srcElement;		while (target && target.nodeType == 3) target = target.parentNode;		if (type.test(/DOMMouseScroll|mousewheel/)){			this.wheel = (event.wheelDelta) ? event.wheelDelta / 120 : -(event.detail || 0) / 3;		} else if (type.test(/key/)){			this.code = event.which || event.keyCode;			var key = Event.Keys.keyOf(this.code);			if (type == 'keydown'){				var fKey = this.code - 111;				if (fKey > 0 && fKey < 13) key = 'f' + fKey;			}			this.key = key || String.fromCharCode(this.code).toLowerCase();		} else if (type.test(/(click|mouse|menu)/)){			this.page = {				x: event.pageX || event.clientX + win.document.documentElement.scrollLeft,				y: event.pageY || event.clientY + win.document.documentElement.scrollTop			};			this.client = {				x: event.pageX ? event.pageX - win.pageXOffset : event.clientX,				y: event.pageY ? event.pageY - win.pageYOffset : event.clientY			};			this.rightClick = (event.which == 3) || (event.button == 2);			var related = null;			if (type.test(/over|out/)){				switch (type){					case 'mouseover': related = event.relatedTarget || event.fromElement; break;					case 'mouseout': related = event.relatedTarget || event.toElement;				}				if ((function(){					while (related && related.nodeType == 3) related = related.parentNode;				}).create({attempt: Browser.Engine.gecko})() === false) related = false;			}		}		return $extend(this, {			event: event,			type: type,			relatedTarget: related,			target: target,			shift: event.shiftKey,			control: event.ctrlKey,			alt: event.altKey,			meta: event.metaKey		});	}
meta: 9980	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/9980/ffab12d3ca21739cfc070c57fdb220ca5f412019/Element.Event.js/clean/Source/Element/Element.Event.js