/******************************************
Name:			rollover.js
Description:	Provides functions for
				automating rollover effects
Date:			07/06/2006
Author:			James Condliffe
******************************************/

addLoadEvent(setupRollovers);

/****
Takes an image filename and adds or
removes a _roll suffix.
****/
function doRoll(image, eType) 
{
	if (eType.indexOf("mouseout")!=-1)
		image.src = image.src.replace( /_roll/i , "" );
	else if(eType.indexOf("mouseover")!=-1)
		image.src = image.src.replace( /^(.*)(\.gif|\.jpg|\.png)$/ , "$1"+"_roll"+"$2" );
}

/****
Uses getElementByClassName to add rollovers to any appropriately named images
****/
function setupRollovers()
{
	// Images can be either img or input elements
	ourImages = getElementsByClassName(document, "img", "rollover");
	ourImages = ourImages.concat(getElementsByClassName(document, "input", "rollover"));
	
	for (var i=0; i<ourImages.length; i++)
	{
		/* Add the event handlers */
		ourImages[i].onmouseover=function() {if (doRoll){doRoll(this,"mouseover");}};
		ourImages[i].onmouseout=function() {if (doRoll){doRoll(this,"mouseout");}};

		/* Preload the image */
		prelimg = new Image();
		prelimg.src = ourImages[i].src;
		doRoll(prelimg,"mouseover");
	}
}