/*
 * Define global variables
 */
var is_getElem = (document.getElementById);


/**
 * Returns the object with the given ID if browser is able to select it
 *
 * @param   string      ID of the object
 * @return  object      object with given ID, or FALSE if not exists
 */
function getElem(strID) {
	return (is_getElem && typeof(document.getElementById(strID)) != 'undefined') ? document.getElementById(strID) : false;
}

/**
 * Change an image src from "-on" to "-off" and in reverse
 *
 * @param   string      ID of the image
 * @param   boolean     TRUE: set image source from "off" to "on", FALSE: set image source from "on" to "off"
 * @return  void
 */
function swapImg(id, hover) {
	if (!(img = document.images[id])) return false;
	if (hover && img.src.indexOf('-off\.') != -1) {
		img.src = img.src.replace(/-off\./, '-on.');
	} else if (!hover && img.src.indexOf('-on\.') != -1) {
		img.src = img.src.replace(/-on\./, '-off.');
	}
}

/**
 * Get absolute top position of an element
 *
 * @param   object      Element its position to be determined is
 * @return  integer     Top position of element
 */
function absTop(elem) {
	return (elem.offsetParent) ? elem.offsetTop + absTop(elem.offsetParent) : elem.offsetTop;
}

/**
 * Get absolute left position of an element
 *
 * @param   object      Element its position to be determined is
 * @return  integer     Left position of element
 */
function absLeft(elem) {
	return(elem.offsetParent) ? elem.offsetLeft + absLeft(elem.offsetParent) : elem.offsetLeft;
}
