function cancelAction(e)
{
    if (window.event) {
	window.event.cancelBubble = true;
	window.event.returnValue = false;
    }
    if (e && e.stopPropagation && e.preventDefault) {
	e.stopPropagation();
	e.preventDefault();
    }
} /// cancelAction


function getCrossEvent(event)
{
    if (window.event) {
	return window.event;
    } else {
	return event;
    }
}

function getCrossTarget(event)
{
    if (window.event) return getCrossEvent(event).srcElement;
    else return event.target;
}


function addEvent(elm, evType, fn, useCapture)
// cross-browser event handling for IE5+, NS6+ and Mozilla/Gecko
// By Scott Andrew
{
    if (elm && elm.addEventListener) {
	elm.addEventListener(evType, fn, useCapture);
	return true;
    } else if (elm && elm.attachEvent) {
	var r = elm.attachEvent('on' + evType, fn);
	return r;
    } else {
	if (elm) {
	    elm['on' + evType] = fn;
	}
    }
} /// addEvent


