
var RollOver = Class.create();

RollOver.prototype.all_set_elements = ["nav"];




RollOver.prototype.initialize = function() {
	this.hovers = new Array();
	this.hovers = $A(document.getElementsByClassName('mouseover'));

	for(var i=0; i<this.all_set_elements.length; i++) {
		var wrapper = $(this.all_set_elements[i]);
		var images  = wrapper.getElementsByTagName('IMG');
		this.hovers = this.hovers.concat($A(images));
	}

	if(this.hovers) {
		for(var i=0; i<this.hovers.length; i++) {
			this.initImage(this.hovers[i]);
		}
	}
}



RollOver.prototype.preload = function(src) {
	var preloadImage = new Image();
	preloadImage.src = src;
}


RollOver.prototype.setEvent = function(node, defsrc, oversrc) {
	node.mouseoverSrc = oversrc;
	node.defaultSrc = defsrc;
	node.onmouseover = function() { node.src = node.mouseoverSrc; };
	node.onmouseout  = function() { node.src = node.defaultSrc; };
}


RollOver.prototype.initImage = function(node) {
	var img = node;
	var defaultSrc = img.getAttribute('src');
	
	if(img.className.match('active')) {
		img.src = defaultSrc.replace(/(\.gif|\.jpg|\.png)/, '_on' + '$1');
	} else {
		var rolloverSrc = defaultSrc.replace(/(\.gif|\.jpg|\.png)/, '_on' + '$1');
		this.preload(rolloverSrc);
		this.setEvent(img, defaultSrc, rolloverSrc);
	}
}





Event.observe(
	window,
	'load',
	function() {
		var rollover = new RollOver();
	},
	false
);


