if (Client.Engine.gecko && this.fixRelatedTarget.attempt([], this) === false) this.relatedTarget = this.target; 
	initialize: function(event, win){		win = win || window;		event = event || win.event;		if (event.$extended) return event;		this.$extended = true;		this.event = event;		this.type = event.type;		this.target = event.target || event.srcElement;		if (this.target.nodeType == 3) this.target = this.target.parentNode;		this.shift = event.shiftKey;		this.control = event.ctrlKey;		this.alt = event.altKey;		this.meta = event.metaKey;		if (this.type.test(/DOMMouseScroll|mousewheel/)){			this.wheel = (event.wheelDelta) ? event.wheelDelta / 120 : -(event.detail || 0) / 3;		} else if (this.type.test(/key/)){			this.code = event.which || event.keyCode;			this.key = Event.Keys.keyOf(this.code);			if (this.type == 'keydown'){				var fKey = this.code - 111;				if (fKey > 0 && fKey < 13) this.key = 'f' + fKey;			}			this.key = this.key || String.fromCharCode(this.code).toLowerCase();		} else if (this.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);			switch (this.type){				case 'mouseover': this.relatedTarget = event.relatedTarget || event.fromElement; break;				case 'mouseout': this.relatedTarget = event.relatedTarget || event.toElement;			}			if (Client.Engine.gecko && this.fixRelatedTarget.attempt([], this) === false) this.relatedTarget = this.target;		}		return this;	}
5733	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5733/bd09ba56a81671b52500b5528a170125860d15ce/Element.Event.js/clean/Source/Element/Element.Event.js