
function add_listener(obj, name, func) {
	if (obj.addEventListener) 
		obj.addEventListener(name, func, true);
	else if (obj.attachEvent)
		obj.attachEvent("on" + name, func);
}

function remove_listener(obj, name, func)
{
	if (obj.removeEventListener)
		obj.removeEventListener(name, func, true);
	else if (obj.detachEvent)
		obj.detachEvent("on" + name, func);
}

function get_evt_obj(e) {
	var targ;
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	// safari bug
	if (targ.nodeType == 3) 
		targ = targ.parentNode;
	return targ;
}

function get_obj_pos(obj) {
	var x = 0;
	var y = 0;
	while (obj.offsetParent) {
		x += obj.offsetLeft;
		y += obj.offsetTop;
		obj = obj.offsetParent;
	}
	return [ x, y ];
}

function create_tooltip(pos, text) {
	var o = document.createElement("div");
	o.style.fontFamily = "tahoma";
	o.style.fontSize = "9px";
	o.style.position = "absolute";
	o.style.top = pos[1] + "px";
	o.style.left = pos[0] + "px"; 
	o.style.borderWidth = "1px";
	o.style.borderStyle = "solid";
	o.style.borderColor = "#000";
	o.style.backgroundColor = "#fffacd";
	o.style.color = "black";
	o.innerHTML = text;
	return o;
}

