/*
====================================================================================================
= Generic Javascript code for...
=	swapping button images on mouse over and mouse out events
=	Setting the active image on mouse click events
=
= Developer NOte:
=	This module assumes the following image naming conventions...
=		Normal Image:	    <File Name>.ext
=		Hover/Active Image: <File Name>_Hover.ext
====================================================================================================
*/

/*
====================================================================================================
= Global Variables
====================================================================================================
*/

var CurrentButton = "";



/*
====================================================================================================
= String_Right
=	Return the N number of characters from the right of the given string.
====================================================================================================
*/
function String_Right(srcString, nChars)
{
	var iLen = srcString.length;
	var sReturnString = "";

	if (nChars <= 0)
	    sReturnString = "";
    	else if (nChars >= iLen) 
	    sReturnString = srcString; 
	else { 
	    sReturnString = srcString.substring(iLen, iLen - nChars);
	}

	return sReturnString;
}


/*
====================================================================================================
= Get_File_Name
=	Return the name of the file without the extension.
=	If the "_Hover" is appended at the end it is removed.
====================================================================================================
*/
function Get_File_Name(sFilePath)
{
	var iLen = sFilePath.length;
	var iNameStart = (sFilePath.lastIndexOf("/") + 1);
	var iHoverStart = -1;
	var sReturnString = "";

	sReturnString = sFilePath.substring(iNameStart, (iLen - 4));
	iHoverStart = sReturnString.indexOf("_Hover");
	if (iHoverStart != -1)
	    sReturnString = sReturnString.substring(0, iHoverStart);

	return sReturnString;
}


/*
====================================================================================================
= swap_MouseOver
=	Handle mouse over events for the buttons
====================================================================================================
*/
function swap_MouseOver(ButtonName)
{
	var ActiveButton = document.getElementById(ButtonName);
	var ImageSrc = ActiveButton.src;
	var FileName = Get_File_Name(ImageSrc);
	var FileExt = String_Right(ImageSrc, 4);

	ImageSrc = ImageSrc.substring(0, (ImageSrc.lastIndexOf("/") + 1));
	ImageSrc = ImageSrc + FileName + "_Hover" + FileExt;
	ActiveButton.src = ImageSrc;
}


/*
====================================================================================================
= swap_MouseOut
=	Handle mouse out events for the buttons
====================================================================================================
*/
function swap_MouseOut(ButtonName)
{
	var ActiveButton = document.getElementById(ButtonName);
	var ImageSrc = ActiveButton.src;
	var FileName = Get_File_Name(ImageSrc);
	var FileExt = String_Right(ImageSrc, 4);

	if (CurrentButton != ButtonName)
	{
		ImageSrc = ImageSrc.substring(0, (ImageSrc.lastIndexOf("/") + 1));
		ImageSrc = ImageSrc + FileName + FileExt;
		ActiveButton.src = ImageSrc;
	}
}


/*
====================================================================================================
= swap_onClick
=	Handle on click events for the buttons
====================================================================================================
*/
function swap_OnClick(ButtonName)
{
	var NewButton = document.getElementById(ButtonName);
	var NewImageSrc = NewButton.src;
	var PrevButton;
	var PrevImageSrc;
	var FileName = "";
	var FileExt = "";

	if (CurrentButton != ButtonName)
	{
		if (CurrentButton != "")
		{
			PrevButton = document.getElementById(CurrentButton);
			PrevImageSrc = PrevButton.src;
			FileName = Get_File_Name(PrevImageSrc);
			FileExt = String_Right(PrevImageSrc, 4);

			PrevImageSrc = PrevImageSrc.substring(0, (PrevImageSrc.lastIndexOf("/") + 1));
			PrevImageSrc = PrevImageSrc + FileName + FileExt;
			PrevButton.src = PrevImageSrc;
		}

		FileName = Get_File_Name(NewImageSrc);
		FileExt = String_Right(NewImageSrc, 4);
		NewImageSrc = NewImageSrc.substring(0, (NewImageSrc.lastIndexOf("/") + 1));
		NewImageSrc = NewImageSrc + FileName + "_Hover" + FileExt;
		NewButton.src = NewImageSrc;
		CurrentButton = ButtonName;
	}
}

