YAHOO.util.Event.onDOMReady(
	function() {
		
		var imgCol     = YAHOO.util.Dom.getElementsByClassName('rollover', 'img');
		var rollImgCol = [];
		var ix;
		
		var rollover = function() { this.src = this.overSrc; }
		var rollout = function() { this.src = this.outSrc; }

		for (var i = 0; i < imgCol.length; i++) {
			
			// calculate roll src and store values as expando properties
			
			var outSrc = imgCol[i].src;
			var overSrc = outSrc.replace(/(.+)\.png$/, '$1-over.png');
			imgCol[i].overSrc = overSrc;
			imgCol[i].outSrc = outSrc;
			
			// preload images
			
			ix = rollImgCol.length;
			rollImgCol[ix] = new Image;
			rollImgCol[ix].src = overSrc;
			
			// assign event handlers
			
			YAHOO.util.Event.addListener(imgCol[i], 'mouseover', rollover);
			YAHOO.util.Event.addListener(imgCol[i], 'mouseout', rollout);
		}
	}	
);