/*
Name: addEventHandler
Purpose: Adds an eventhandler for an element's events.
Arguments:
    element - The element to attach eventhandler to.
    event - Name of the event to attach (without leading "on")
    functionName - The function that should be called when the event occurs
*/
function addEventHandler(element, event, functionName) {
    if (element.attachEvent) { //ie
        element.attachEvent('on' + event, functionName);
    }else if(element.addEventListener) {
        element.addEventListener(event, functionName, false);
    }else {
        element['on' + event] = functionName;
    }
}
/*
Name: addEventHandlerForElementId
Purpose: Adds an eventhandler for an element's events, according to elementId and
         returns a reference to the element.
Arguments:
    elementId - The id of the element to attach eventhandler to.
    event - Name of the event to attach (without leading "on")
    functionName - The function that should be called when the event occurs
*/
function addEventHandlerForElementId(elemId, event, functionName) {
    var tmpElemForEventListenerAdding = document.getElementById(elemId);
    if(tmpElemForEventListenerAdding != null){
        addEventHandler(tmpElemForEventListenerAdding, event, functionName);
    }
    return tmpElemForEventListenerAdding;
}

/*
Name: getTargetElement
Purpose: Returns the element that an event has occured in.
Arguments:
    e - The occured event.
*/
function getTargetElement(e){
	var targ = null;
	if (!e){ e = window.event;}
	if (e.target){
        targ = e.target;
	}else if (e.srcElement){ //IE
        targ = e.srcElement;
    }
    return targ;
}

