var imgCache = new Object();
function initRollovers() {
	for(var i = 0; i < document.images.length; i++ ) {
		var img = document.images[i];
		if (img.getAttribute)
			img.hoversrc = img.getAttribute("hoversrc");
		if (img.hoversrc) {
			if (!imgCache[img.src]) {
				imgCache[img.src] = new Image();
				imgCache[img.src].src = img.src;
			}
			img.basesrc = img.src;
			img.onmouseout = function () { this.src = this.basesrc; };
			if (!imgCache[img.hoversrc]) {
				imgCache[img.hoversrc] = new Image();
				imgCache[img.hoversrc].src = img.hoversrc;
			}
			img.onmouseover = function () { this.src = this.hoversrc; };
		}
	}
}

function launchWindow(url, whatWidth, whatHeight) {
	howTall = (screen.availHeight - whatHeight)/2;
	howWide = (screen.availWidth - whatWidth)/2;
	noteWindow = window.open(url,'remote','width='+whatWidth+',height='+whatHeight+',screenX=100,screenY=100,top='+howTall+',left='+howWide+'menubar=no,noresize,resizable=no,titlebar=no,status=no,toolbar=no,scrollbars=yes');
	noteWindow.focus(); 
}


// addEvent designed by Aaron Moore
function addEvent(element, listener, handler) {
	//if the system is not set up, set it up, and
	// store any outside script's event registration in the first handler slot
	if(typeof element[listener] != 'function' || 
	typeof element[listener + '_num'] == 'undefined') {
		element[listener + '_num'] = 0;
		if(typeof element[listener] == 'function') {
			element[listener + 0] = element[listener];
			element[listener + '_num']++;
		}
		element[listener] = function(e) {
			var r = true;
			e = (e) ? e : window.event;
			for(var i = 0; i < element[listener + '_num']; i++)
				if(element[listener + i](e) === false) r = false;
			return r;
		}
	}

	//if handler is not already stored, assign it
	for(var i = 0; i < element[listener + '_num']; i++)
		if(element[listener + i] == handler) return;
	element[listener + element[listener + '_num']] = handler;
	element[listener + '_num']++;
}

addEvent(window, "onload", initRollovers);
