/*
	Utility functions used to handle events
	
 	Requires: 	xbStyle 
 				primitives
*/

function EventUtils(){}
EventUtils.prototype.getCoord = function (evt, target){
									if ( !evt ) evt = window.event;
									if ( !target ) target = evt.target;
									var s = new xbStyle(target);
									var offset = this.getOffset();
									if ( evt.x ) return new Coord ( evt.x, evt.y);
									if ( evt.pageX ) new Coord(evt.pageX + offset.x, 
									                 		   evt.pageY +offset.y );
									return new Coord(evt.clientX + offset.x - s.getPageX(), 
								                 	 evt.clientY +offset.y -s.getPageY());
								}
	
EventUtils.prototype.stopEvent = function (evt) {
									
									if (evt.stopPropagation ) 
									{
									evt.stopPropagation();
									}
									else 
									{
									event.cancelBubble = true;
									}
									if (evt.preventDefault ) 
									  {
									  evt.preventDefault();
									  }
									else
									 { 
									  event.returnValue = false;
									 }
								}


EventUtils.prototype.getOffset = function(){
									var xoff = 0;
									var yoff = 0;
									if ( window.pageXOffset ) xoff = window.pageXOffset;
									else xoff = document.body.scrollLeft;
									if ( window.pageYOffset ) yoff = window.pageYOffset;
									else yoff = document.body.scrollTop;
									return new Coord(xoff,yoff);
								}