var imgArray = new Array()
var over = "Over"


//initialise rollover events
function initRollOver() {
	if (document.layers) return

	with (document.body) {
		onmouseover = mouseOver
		onmouseout = mouseOut
	}
}


//mouseover event
function mouseOver(e) {
	var elem = getSrcElem(e)
	if (!elem) return
	if (elem.className == "ro") elem.src = imgArray[elem.src][1].src
}


//mouseout event
function mouseOut(e) {
	var elem = getSrcElem(e)
	if (!elem) return

	if (elem.className == "ro") {
		if (typeof(imgArray) != "undefined" && typeof(imgArray[remOver(elem.src)]) != "undefined") {
			elem.src = imgArray[remOver(elem.src)][0].src
		}
	}
}


//get event source element
function getSrcElem(e) {
	if (document.all)
		return event.srcElement
	else if (document.getElementById) {
		return e.target
	}
}


//preload images
function preload(args) {
	var arg

	for (var i=0; i < arguments.length; i++) {
		arg = location.protocol + "//" + location.host + baseLoc + "/" + arguments[i]

		imgArray[arg] = new Array()

		imgArray[arg][0] = new Image()
		imgArray[arg][0].src = arg

		imgArray[arg][1] = new Image()
		imgArray[arg][1].src = insOver(arg)
	}
}


//returns the "over" image url form original image url
function insOver(url) {
	var lastDotIdx = url.lastIndexOf(".")
	return url.substring(0, lastDotIdx) + over + url.substring(lastDotIdx, url.length)
}


//returns the original image url form "over" image url
function remOver(url) {
	var lastDotIdx = url.lastIndexOf(".")
	return url.substring(0, lastDotIdx - over.length) + url.substring(lastDotIdx, url.length)
}

