JSFX.ButtonGroup = function(onFunc, offFunc)
{
	this.on	= onFunc;
	this.off	= offFunc;
	this.curr	= null;
}

JSFX.ButtonGroup.prototype.over = function (imgName, par1, par2 )
{
	if(this.curr != imgName)
		this.on(imgName, par1, par2);
}
JSFX.ButtonGroup.prototype.out = function (imgName )
{
	if(this.curr != imgName)
		this.off(imgName);
}
JSFX.ButtonGroup.prototype.click = function (imgName, rollName )
{
	if(this.curr == null || this.curr != imgName)
	{
		if(this.curr != null)
			this.off(this.curr);

		if(rollName != null)
		{
			this.off(imgName);
			this.on(imgName, rollName);
		}
	}

	this.curr = imgName;
}

// Define a default group for Simple Rollovers (so the user can be lazy)
if(JSFX.imgOn)
{
	simpleGrp = new JSFX.ButtonGroup(JSFX.imgOn, JSFX.imgOff);

	JSFX.imgOn    = function(imgName, rollName){simpleGrp.over(imgName, rollName);}
	JSFX.imgOff   = function(imgName){simpleGrp.out(imgName);}
	JSFX.imgClick = function(imgName, rollName){simpleGrp.click(imgName, rollName);}
}

// Define a default group for Animated Rollovers (so the user can be lazy)
if(JSFX.aniOn)
{
	aniGrp = new JSFX.ButtonGroup(JSFX.aniOn, JSFX.aniOff);

	JSFX.aniOn    = function(imgName, rollName){aniGrp.over(imgName, rollName);}
	JSFX.aniOff   = function(imgName){aniGrp.out(imgName);}
	JSFX.aniClick = function(imgName, rollName){aniGrp.click(imgName, rollName);}
}

// Define a default group for Fading Rollovers (so the user can be lazy)
if(JSFX.fadeIn)
{
	fadeGrp = new JSFX.ButtonGroup(JSFX.fadeIn, JSFX.fadeOut);

	JSFX.fadeIn    = function(imgName, rollName){fadeGrp.over(imgName, rollName);}
	JSFX.fadeOut   = function(imgName){fadeGrp.out(imgName);}
	JSFX.fadeClick = function(imgName, rollName){fadeGrp.click(imgName, rollName);}
}

// Define a default group for Zooming Rollovers (so the user can be lazy)
if(JSFX.zoomIn)
{
	zoomGrp = new JSFX.ButtonGroup(JSFX.zoomIn, JSFX.zoomOut);

	JSFX.zoomIn  = function(imgName, zoomStep, maxZoom){zoomGrp.over(imgName, zoomStep, maxZoom);}
	JSFX.zoomOut = function(imgName){zoomGrp.out(imgName);}
	JSFX.zoomClick = function(imgName){zoomGrp.click(imgName);}
}

// Define a default group for the Image Fader (so the user can be lazy)
if(JSFX.fadeUp)
{
	iFadeGrp = new JSFX.ButtonGroup(JSFX.fadeUp, JSFX.fadeDown);

	JSFX.fadeUp     = function(imgName, rollName){iFadeGrp.over(imgName);}
	JSFX.fadeDown   = function(imgName){iFadeGrp.out(imgName);}
	JSFX.iFadeClick = function(imgName, rollName){iFadeGrp.click(imgName);}
}

