// Get dom element by id
function $(id){return document.getElementById(id);}
// Register event handlers
function addEvent(obj,evt,fn)
{
if(obj.addEventListener)
obj.addEventListener(evt,fn,false);
else if(obj.attachEvent)
obj.attachEvent('on'+evt,fn);
}
// Removing event handlers
function removeEvent(obj,evt,fn)
{
if(obj.removeEventListener)
obj.removeEventListener(evt,fn,false);
else if(obj.detachEvent)
obj.detachEvent('on'+evt,fn);
}
// Handle event
function handleEventSample(e)
{
var evt = e || window.event;
var evtTarget = evt.target || evt.srcElement;
var posX = evt.pageX || evt.clientX;
var posY = evt.pageY || evt.clientY;
/* W3C L-0 M-1 R-2, IE L-1 M-4 R-2 */
var mouseKey = evt.button;
var boardKey = evt.which || evt.keyCode;
// Cancelling event propagation
if(evt.stopPropagation)
evt.stopPropagation();
else
evt.cancelBubble = true;
}