var addEvent;
if (document.addEventListener) {
	addEvent = function(element, type, handler) {
		element.addEventListener(type, handler, null);
	}
}
else if (document.attachEvent) {
	addEvent = function(element, type, handler) {
	element.attachEvent("on" + type, handler);
	}
}
else {
	addEvent = new Function; // not supported
}
 
function getTarget(e) {
	if (window.event && window.event.srcElement)
		return window.event.srcElement ;
	if (e && e.target)
		return e.target ;
	if (!e)
		return false ;
}

function climbDom(e, tag_type) {
	while (e.nodeName.toLowerCase() != tag_type && e.nodeName.toLowerCase() != 'html') e = e.parentNode ;
	return (e.nodeName.toLowerCase() == 'html') ? null : e ;
}
