function toggleRollover(nodeNumber) {
	var imageID = "map_jackson_" + nodeNumber;
	var imageHandle = document.getElementById(imageID);
	if (hasClass(imageHandle,'active')) {
		removeClass(imageHandle,'active');	
	}
	else {
		addClass(imageHandle,'active');	
	}	
}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\\\s)"+searchClass+"(\\\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function rolloverInit() {
	alert('rolloverInit');
	//alert('document.images.length: ' + document.images.length);
	rolloverArray = getElementsByClass('maprollover');
	alert(rolloverArray.length);
	for (var i=0; i<rolloverArray.length; i++) {
		setupRollover(rolloverArray[i]);
	}
	//alert('done');
}

function setupRollover(thisImage) {	
	//alert('setupRollover');
	thisImage.outImage = new Image();
	thisImage.outImage.src = thisImage.src;
	thisImage.onmouseout = rollOut;
	
	thisImage.overImage = new Image();
	thisImage.overImage.src = "images/" + thisImage.id + "-over.jpg";
	alert (thisImage.overImage.src);
	thisImage.onmouseover = rollOver;
}

function rollOver() {
	//alert('rollOver: ' + this.overImage.src);
	this.src = this.overImage.src;
}

function hasClass(ele,cls) {
	return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

function addClass(ele,cls) {
	if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}

function removeClass(ele,cls) {
	if (hasClass(ele,cls)) {
    	var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
		ele.className=ele.className.replace(reg,' ');
	}
}