function createListenerSetter(eventName) {
	var eventType = eventName;
	if (window.addEventListener) {
		return function(scope,handler) { scope.addEventListener(eventType, handler, false);}
	} else {
		eventType = 'on' + eventName;
		if (window.attachEvent) {
			return function(scope,handler) { scope.attachEvent(eventType, handler); }
		} else if (document.getElementById) {
			return function(scope,handler){ scope[eventType] = handler; }
		}
	}
}

function initRollovers() {

	var className = 'rollover';
	var postfix = '_on';
	var preLoadImgs = new Array();
	var imgs = document.getElementsByTagName('img');
	for (var i = 0; i < imgs.length; i++) {
		if (imgs[i].className == className) {
			var src=imgs[i].src;
			var ftype = src.substring(src.lastIndexOf('.'), src.length);
			var hsrc = src.replace(ftype, postfix+ftype);
			
			preLoadImgs[i] = new Image();
			preLoadImgs[i].src = hsrc;
			rollover(imgs[i], hsrc, src);
		}
	}
	
	function rollover(obj, over, out) {
		obj.onmouseover = function(){this.src = over};
		obj.onmouseout = function(){this.src = out};
	}
	
}

var loadSetter = createListenerSetter('load');
loadSetter(window,initRollovers);


