var Events = {

  getCursorPosition : function(e, obj) {
    e = e || window.event;
    var cursor = {x:0, y:0};
    if (e.pageX || e.pageY) {
        cursor.x = e.pageX;
        cursor.y = e.pageY;
    } 
    else {
        /*var de = document.documentElement;
        var b = document.body;
        cursor.x = e.clientX + 
            (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
        cursor.y = e.clientY + 
            (de.scrollTop || b.scrollTop) - (de.clientTop || 0);*/
	cursor.x = e.clientX;
	cursor.y = e.clientY;
    }
    var elemPos = Events.getElementPosition(obj);
    cursor.x -= elemPos[0];
    cursor.y -= elemPos[1];
    return cursor;
  }

,

  getElementPosition : function(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
  	}
	return [curleft,curtop];	
  }
  
,

  getKey : function(e) {    
    if (window.event)
	    return window.event.keyCode;
    else if (e)
	    return e.keyCode;
  }

}

