/*
	XPDOM Cross-Platform DOM 
	Compatibility Wrapper for Web Scripting with W3C DOM
	using  W3C Java DOM interfaces.
	http://xpdom.sourceforge.net
	http://www.sourceforge.net/projects/xpdom

	(c) 2000-2002, José María Arranz Santamaría
	mailto:jmarranz@users.sourceforge.net
	mailto:jmarranz@eresmas.com
	(Spanish citizen)
 
	Copyright of this library is covered with GNU General Public License (GPL) v2
	(see file COPYING)

	Comercial use at commercial web sites is forbidden without a license
	of the author.
*/


function pkg_net_sf_xpdom_events_unbound()
{
	this.NativeEvent = NativeEvent;
	this.NativeUIEvent = NativeUIEvent;
	this.NativeMouseEvent = NativeMouseEvent;
	this.NativeKeyEvent = NativeKeyEvent;

	
	function NativeEvent()
	{
		this.initEvent = initEvent;

		function initEvent(eventTypeArg,canBubbleArg,cancelableArg)
		{
			this.type = eventTypeArg;
			this.bubbles = canBubbleArg;
			this.cancelable = cancelableArg;
			this.timeStamp = new Date();
		}
	}

	function NativeUIEvent()
	{
		this.NativeEvent = NativeEvent;
		this.NativeEvent();

		this.initUIEvent = initUIEvent;

		function initUIEvent(typeArg,canBubbleArg,cancelableArg,viewArg,detailArg)
		{
			this.initEvent(typeArg,canBubbleArg,cancelableArg);

			this.view = viewArg;
			this.detail = detailArg;
		}
	}

	function NativeMouseEvent()
	{
		this.NativeUIEvent = NativeUIEvent;
		this.NativeUIEvent();

		this.initMouseEvent = initMouseEvent;

		function initMouseEvent(typeArg,canBubbleArg,cancelableArg,viewArg, 
								detailArg,screenXArg,screenYArg,clientXArg,clientYArg, 
								ctrlKeyArg,altKeyArg,shiftKeyArg,metaKeyArg, 
								buttonArg,relatedTargetArg)
		{
			this.initUIEvent(typeArg,canBubbleArg,cancelableArg,viewArg,detailArg);

			this.screenX = screenXArg;
			this.screenY = screenYArg;
			this.clientX = clientXArg;
			this.clientY = clientYArg;
			this.ctrlKey = ctrlKeyArg;
			this.altKey = altKeyArg;
			this.shiftKey = shiftKeyArg;
			this.metaKey = metaKeyArg;
			this.button = buttonArg;
			this.relatedTarget = relatedTargetArg;
		}
	}

	function NativeKeyEvent()
	{
		this.NativeUIEvent = NativeUIEvent;
		this.NativeUIEvent();

		this.initKeyEvent = initKeyEvent;

		
		function initKeyEvent(typeArg,canBubbleArg,cancelableArg,viewArg,
				ctrlKeyArg,altKeyArg,shiftKeyArg,metaKeyArg,keyCodeArg,charCodeArg)
		{
			this.initUIEvent(typeArg,canBubbleArg,cancelableArg,viewArg,0);

			this.ctrlKey = ctrlKeyArg;
			this.altKey = altKeyArg;
			this.shiftKey = shiftKeyArg;
			this.metaKey = metaKeyArg;
			this.keyCode = keyCodeArg;
			this.charCode = charCodeArg;
		}
	}
}

