function $(id) {
	return document.getElementById(id);
}

function addEvent(someObj, someEvent, someFunction) {
	someObj.addEventListener ? someObj.addEventListener(someEvent, someFunction, false) : someObj.attachEvent ? someObj.attachEvent("on" + someEvent, someFunction) : someObj["on" + someEvent] = someFunction;
}

function hiImg(objID, hiSrc) {
	if (typeof objID == "undefined") return false;
	var objImg = (typeof objID == "object") ? objID : document.getElementById(objID);
	if (objImg == null) return false;
	objImg_lit = objImg;
	if (typeof hiSrc != "undefined") objImg.hi = hiSrc;
	if (typeof objImg.hi == "undefined") {
		var hiSrc = String(objImg.src);
		var lastDotPos = hiSrc.lastIndexOf(".");
		if (lastDotPos > -1) hiSrc = hiSrc.substring(0, lastDotPos) + "_hi" + hiSrc.substring(lastDotPos, hiSrc.length);
	} else var hiSrc = objImg.hi;
	if (!objImg.hiLit && objImg.src != hiSrc) {
		objImg.lo = objImg.src;
		objImg.src = hiSrc;
		objImg.hiLit = true;
	}
}

function loImg(objID) {
	if (typeof objID == "undefined") {
		if (typeof objImg_lit == "undefined") return false;
		var objID = objImg_lit;
	}
	var objImg = (typeof objID == "object") ? objID : document.getElementById(objID);
	if (typeof objImg.lo != "undefined") objImg.src = objImg.lo;
	objImg.hiLit = false;
}

function setLayers() {
	var l;
	var arg = setLayers.arguments;
	for (var i = 0; i < arg.length - 1; i += 2) if ((l = document.getElementById(arg[i])) != null) l.style.visibility = (arg[i + 1] == "show" || arg[i + 1] == "visible") ? "visible" : "hidden";
}

function tagEl(someEl) {
	if (someEl == null) return false;
	var origEl = someEl;
	var curX = 0, curY = 0;
	while (someEl.offsetParent) {
		curX += someEl.offsetLeft;
		curY += someEl.offsetTop;
		someEl = someEl.offsetParent;
	}
	origEl.xPos = curX;
	origEl.yPos = curY;
	return true;
}