      interface UIEvent : Event {
 /* IID: { 0xa6cf90c3, 0x15b3, 0x11d2, \
  { 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 } } */
        readonly attribute AbstractView  view;
        readonly attribute long          detail;
        void               initUIEvent(in DOMString typeArg, 
                                       in boolean canBubbleArg, 
                                       in boolean cancelableArg, 
                                       in AbstractView viewArg, 
                                       in long detailArg);      
      };

      interface NSUIEvent {
 /* IID: { 0xa6cf90c4, 0x15b3, 0x11d2, \
  { 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 } } */

	      const int MOUSEDOWN	= 0x00000001;
	      const int MOUSEUP		= 0x00000002;
	      const int MOUSEOVER	= 0x00000004;
	      const int MOUSEOUT	= 0x00000008;
	      const int MOUSEMOVE	= 0x00000010;  
	      const int MOUSEDRAG	= 0x00000020;
	      const int CLICK		= 0x00000040;
	      const int DBLCLICK	= 0x00000080;
	      const int KEYDOWN		= 0x00000100;
	      const int KEYUP		= 0x00000200;
	      const int KEYPRESS	= 0x00000400;
	      const int DRAGDROP	= 0x00000800;
	      const int FOCUS		= 0x00001000;
	      const int BLUR		= 0x00002000;
	      const int SELECT		= 0x00004000;
	      const int CHANGE		= 0x00008000;
	      const int RESET		= 0x00010000;
	      const int SUBMIT		= 0x00020000;
	      const int SCROLL		= 0x00040000;
	      const int LOAD		= 0x00080000;
	      const int UNLOAD		= 0x00100000;
	      const int XFER_DONE	= 0x00200000;
	      const int ABORT		= 0x00400000;
	      const int ERROR		= 0x00800000;
	      const int LOCATE	        = 0x01000000;
	      const int MOVE		= 0x02000000;
	      const int RESIZE		= 0x04000000;
	      const int FORWARD		= 0x08000000;
	      const int HELP	        = 0x10000000;
	      const int BACK		= 0x20000000;
		    const int TEXT		= 0x40000000;

	      const int ALT_MASK	= 0x00000001;
	      const int CONTROL_MASK	= 0x00000002;
	      const int SHIFT_MASK	= 0x00000004;
	      const int META_MASK	= 0x00000008;

	      readonly    attribute   int			      layerX;
	      readonly    attribute   int			      layerY;
	      readonly    attribute   int			      pageX;
	      readonly    attribute   int			      pageY;
	      readonly    attribute   unsigned long which;
		    readonly	  attribute   Node		  	  rangeParent;
		    readonly	  attribute   int           rangeOffset;

                    attribute   boolean       cancelBubble;

        readonly    attribute   boolean       isChar;

      };
