function RegisterElementForEvent(WhichElement, EventName, EventHandler)
{
  if(WhichElement.addEventListener != null)
    WhichElement.addEventListener(EventName, EventHandler, false);
  else
    WhichElement["on" + EventName] = EventHandler;
}

function CancelEvent(e)
{
  if(!e)
    e = window.event;

  e.cancelBubble = true;

  if(e.stopPropagation)
    e.stopPropagation();

  return e;
}

function GetElementForEvent(e)
{
	if(!e)
		var e=window.event;


	var ElementForEvent = null;

	if(e.target)
		ElementForEvent = e.target;
	else if(e.srcElement)
		ElementForEvent = e.srcElement;
	if(ElementForEvent.nodeType == 3) // defeat Safari bug
		ElementForEvent = ElementForEvent.parentNode;


	return ElementForEvent;
}