// (script language="JavaScript1.2")
//
// NOTE: Must Set Default_Offset before including this file
//       The var is used to determine which menu item should be selected.
//
// NOTE: The Offset variables should be moved off into
//       an include file so that they can be accessed by other
//       webpages that will call JavaScript functions in this
//       webpage (frame to frame), hence the Offsets are
//       declared in their own SCRIPT tag.
//       BUT, since IE 3.0 does not support the SRC attribute
//       in the SCRIPT tag, this code need to be physically here :-(
//
// NOTE: This list of Offset Variables is maintained in two files;
//       this file and menu.html.  Any changes in one needs to be
//       made in the other.
//


var  LoadFlag   = false;
var  MenuOffset = -1;

function LoadImages(Offset,RootName,URL)
{
	var  anchor;
	var  OffsetName = RootName + "_Offset";

	NamePrefix[Offset]         = RootName;
	StateFlag[Offset]          = NormalState;
	TextNormalImg[Offset]      = new Image(130,20);
	TextNormalImg[Offset].src  = "Images/" + RootName + "-Black.gif";
	TextSelectImg[Offset]      = new Image(130,20);
	TextSelectImg[Offset].src  = "Images/" + RootName + "-Blue.gif";
	TextOverImg[Offset]        = new Image(130,20);
	TextOverImg[Offset].src    = "Images/" + RootName + "-Red.gif";

	anchor = '<a href="' + URL + '"';
	anchor = anchor + 'onMouseOver="NavMouseOver(' + OffsetName + '); "';
    anchor = anchor + 'onMouseOut="NavMouseOut(' +   OffsetName + '); "';
    anchor = anchor + 'onClick="return NavClick(' +  OffsetName + ');">';
    anchor = anchor + '<IMG name="' + RootName + '" '; 
    anchor = anchor + 'SRC="Images/' + RootName + '-Black.gif" ';
	anchor = anchor + 'ALT="' + RootName + '" ';
    anchor = anchor + 'WIDTH="130" HEIGHT="20" BORDER="0"></a>';

	document.write(anchor);	
}

//
// This code only works if the browser supports the Image object
// and the Document Object contains the element images (an array of Image)
//
if (document.images)
{
    //
    //  Arrays to Hold Stuff
    //
    var  TextNormalImg = new Array();
    var  TextOverImg   = new Array();
    var  TextSelectImg = new Array();

    var  NamePrefix    = new Array();
    var  StateFlag     = new Array();

    var  NormalState   = 0;
    var  SelectedState = 1;

	var  Subtitle      = new Image(411,65);

	Subtitle.src       = SubtitleImage;
//
//  Science Fiction  Webpage
//
//	LoadImages(SciFi_Offset, "ScienceFiction");
//    NamePrefix[SciFi_Offset]         = "SciFi";
//    StateFlag[SciFi_Offset]          = NormalState;
//    TextNormalImg[SciFi_Offset]      = new Image(130,20);
//    TextNormalImg[SciFi_Offset].src  = "Images/ScienceFiction-Black.gif";
//    TextOverImg[SciFi_Offset]        = new Image(130,20);
//    TextOverImg[SciFi_Offset].src    = "Images/ScienceFiction-Red.gif";
//    TextSelectImg[SciFi_Offset]      = new Image(130,20);
//    TextSelectImg[SciFi_Offset].src  = "Images/ScienceFiction-Blue.gif";

//
//  Fun Stuff Webpage
//
//	LoadImages(FunStuff_Offset, "FunStuff");
//    NamePrefix[FunStuff_Offset]         = "FunStuff";
//    StateFlag[FunStuff_Offset]          = NormalState;
//    TextNormalImg[FunStuff_Offset]      = new Image(130,20);
//    TextNormalImg[FunStuff_Offset].src  = "Images/FunStuff-Black.gif";
//    TextOverImg[FunStuff_Offset]        = new Image(130,20);
//    TextOverImg[FunStuff_Offset].src    = "Images/FunStuff-Red.gif";
//    TextSelectImg[FunStuff_Offset]      = new Image(130,20);
//    TextSelectImg[FunStuff_Offset].src  = "Images/FunStuff-Blue.gif";

//
//  Darts Webpage
//
    NamePrefix[Darts_Offset]         = "Darts";
    StateFlag[Darts_Offset]          = NormalState;
    TextNormalImg[Darts_Offset]      = new Image(130,20);
    TextNormalImg[Darts_Offset].src  = "Images/Darts-Black.gif";
    TextOverImg[Darts_Offset]        = new Image(130,20);
    TextOverImg[Darts_Offset].src    = "Images/Darts-Red.gif";
    TextSelectImg[Darts_Offset]      = new Image(130,20);
    TextSelectImg[Darts_Offset].src  = "Images/Darts-Blue.gif";

//
//  Juggling Webpage
//
    NamePrefix[Juggling_Offset]         = "Juggling";
    StateFlag[Juggling_Offset]          = NormalState;
    TextNormalImg[Juggling_Offset]      = new Image(130,20);
    TextNormalImg[Juggling_Offset].src  = "Images/Juggling-Black.gif";
    TextOverImg[Juggling_Offset]        = new Image(130,20);
    TextOverImg[Juggling_Offset].src    = "Images/Juggling-Red.gif";
    TextSelectImg[Juggling_Offset]      = new Image(130,20);
    TextSelectImg[Juggling_Offset].src  = "Images/Juggling-Blue.gif";

//
//  Humor Webpage
//
    NamePrefix[Humor_Offset]         = "Humor";
    StateFlag[Humor_Offset]          = NormalState;
    TextNormalImg[Humor_Offset]      = new Image(130,20);
    TextNormalImg[Humor_Offset].src  = "Images/Humor-Black.gif";
    TextOverImg[Humor_Offset]        = new Image(130,20);
    TextOverImg[Humor_Offset].src    = "Images/Humor-Red.gif";
    TextSelectImg[Humor_Offset]      = new Image(130,20);
    TextSelectImg[Humor_Offset].src  = "Images/Humor-Blue.gif";

//
//  Limericks Webpage
//
    NamePrefix[Limericks_Offset]         = "Limericks";
    StateFlag[Limericks_Offset]          = NormalState;
    TextNormalImg[Limericks_Offset]      = new Image(130,20);
    TextNormalImg[Limericks_Offset].src  = "Images/Limericks-Black.gif";
    TextOverImg[Limericks_Offset]        = new Image(130,20);
    TextOverImg[Limericks_Offset].src    = "Images/Limericks-Red.gif";
    TextSelectImg[Limericks_Offset]      = new Image(130,20);
    TextSelectImg[Limericks_Offset].src  = "Images/Limericks-Blue.gif";

//
//  Sound Files Webpage
//
    NamePrefix[SoundFiles_Offset]         = "SoundFiles";
    StateFlag[SoundFiles_Offset]          = NormalState;
    TextNormalImg[SoundFiles_Offset]      = new Image(130,20);
    TextNormalImg[SoundFiles_Offset].src  = "Images/SoundFiles-Black.gif";
    TextOverImg[SoundFiles_Offset]        = new Image(130,20);
    TextOverImg[SoundFiles_Offset].src    = "Images/SoundFiles-Red.gif";
    TextSelectImg[SoundFiles_Offset]      = new Image(130,20);
    TextSelectImg[SoundFiles_Offset].src  = "Images/SoundFiles-Blue.gif";

//
//  LiBrary Webpage
//
    NamePrefix[LiBrary_Offset]         = "LiBrary";
    StateFlag[LiBrary_Offset]          = NormalState;
    TextNormalImg[LiBrary_Offset]      = new Image(130,20);
    TextNormalImg[LiBrary_Offset].src  = "Images/Library-Black.gif";
    TextOverImg[LiBrary_Offset]        = new Image(130,20);
    TextOverImg[LiBrary_Offset].src    = "Images/Library-Red.gif";
    TextSelectImg[LiBrary_Offset]      = new Image(130,20);
    TextSelectImg[LiBrary_Offset].src  = "Images/Library-Blue.gif";

//
//  Living Room Webpage
//
    NamePrefix[LivingRoom_Offset]         = "LivingRoom";
    StateFlag[LivingRoom_Offset]          = NormalState;
    TextNormalImg[LivingRoom_Offset]      = new Image(130,20);
    TextNormalImg[LivingRoom_Offset].src  = "Images/LivingRoom-Black.gif";
    TextOverImg[LivingRoom_Offset]        = new Image(130,20);
    TextOverImg[LivingRoom_Offset].src    = "Images/LivingRoom-Red.gif";
    TextSelectImg[LivingRoom_Offset]      = new Image(130,20);
    TextSelectImg[LivingRoom_Offset].src  = "Images/LivingRoom-Blue.gif";

//
//  Send Email URL
//
    NamePrefix[SendEmail_Offset]         = "SendEmail";
    StateFlag[SendEmail_Offset]          = NormalState;
    TextNormalImg[SendEmail_Offset]      = new Image(130,20);
    TextNormalImg[SendEmail_Offset].src  = "Images/SendEmail-Black.gif";
    TextOverImg[SendEmail_Offset]        = new Image(130,20);
    TextOverImg[SendEmail_Offset].src    = "Images/SendEmail-Red.gif";
    TextSelectImg[SendEmail_Offset]      = new Image(130,20);
    TextSelectImg[SendEmail_Offset].src  = "Images/SendEmail-Blue.gif";
}


// Maximum and Minimum Offsets

var  NavMin = ScienceFiction_Offset;
var  NavMax = SendEmail_Offset;

//
// Determine First Image
//
function FirstImage(myOffset)
{
//alert("FirstImage()");
	var offset;

	for (offset = NavMin ; offset <= NavMax ; offset++)
    {
    	if (StateFlag[myOffset] == SelectedState)
        {
        document.images[NamePrefix[myOffset]].src = TextSelectImg[myOffset];
        }
    }
}

//
// CheckOffset(myOffset)
//
// Returns true  if the Offset is invalid (out of range)
// Returns false if the Offset is valid
//

function CheckOffset(myOffset)
{
//alert("CheckOffset()");
    // NOTE: Currently, the legal range of offset is [NavMin..NavMax]

    return (myOffset >= NavMin && myOffset <= NavMax) ? false : true;
}

//
// NavMouseOver(offset)
//
// Change Images to Mouse Over Images
//

function NavMouseOver(myOffset)
{
//alert("NavMouseOver");
    // Verify that Browser supports the document.images array
    if (document.images)
    {
        if (CheckOffset(myOffset))
        {
            alert("NavMouseOver: Navigation Offset out of Range: " + myOffset);
            return false;
        }

        var  Name = NamePrefix[myOffset];

        document.images[Name].src = TextOverImg[myOffset].src;
    }

    return true;
}

//
// NavMouseOut(offset)
//
// Change Images to Normal or Selected State Images
//

function NavMouseOut(myOffset)
{
//alert("NavMouseOut()");
    // Verify that Browser supports the document.images array
    if (document.images)
    {
        if (CheckOffset(myOffset))
        {
            alert("NavMouseOut: Navigation Offset out of Range: " + myOffset);
            return false;
        }

        var  Name = NamePrefix[myOffset];

        if (StateFlag[myOffset] == NormalState)
        {
            document.images[Name].src = TextNormalImg[myOffset].src;
        }
        else
        {
            document.images[Name].src = TextSelectImg[myOffset].src;
        }
    }

    return true;
}

//
// NavClick(offset)
// Adjusts Images to New state
//

function NavClick(myOffset)
{
//alert("NavClick()");
    // Verify that Browser supports the document.images array
    if (document.images)
    {
        if (CheckOffset(myOffset))
        {
            alert("NavClick: Navigation Offset out of Range: " + myOffset);
            return false;
        }

        var  Name = NamePrefix[myOffset];

        var  offset;

        //  Turn Currently Selected Nav Item back to Normal

        for (offset = NavMin ; offset <= NavMax ; offset++)
        {
            if (offset != myOffset && !CheckOffset(offset) &&
                StateFlag[offset] == SelectedState)
            {
                StateFlag[offset] = NormalState;
                NavMouseOut(offset);
            }
        }

        StateFlag[myOffset] = SelectedState;
        document.images[Name].src = TextSelectImg[myOffset].src;
    }

    return true;
}

//
// ResyncMenu(offset)
//
// Makes sure that Menu is correct.  This function is normally called
// from other frames
//
function ResyncMenu(myOffset)
{
//alert("ResyncMenu()");
    // Verify that Browser supports the document.images array
    if (document.images)
    {
        if (CheckOffset(myOffset))
        {
            alert("ResyncMenu: Navigation Offset out of Range: " + myOffset);
            return false;
        }

        if (LoadFlag)
        {
            if (StateFlag[myOffset] != SelectedState)
            {
                NavClick(myOffset);
            }
        }
        else
        {
            //
            // TOC page has not fully loaded yet so the Images
            // that we want to change may not be there.  So, we
            // set a flag (MenuOffset) and the the OnLoad Event
            // Handler change the images.
            //
            MenuOffset = myOffset;
        }
    }

    return true;
}

//
// onLoadHandler()
//
// Verify that we have the correct Menu Item selected
//
function onLoadHandler()
{
//alert("onLoadHander()");

    if (document.images)
    {
	    document.images["Subtitle"].src = Subtitle.src;

        if (Default_Offset > GameRoom_Offset)
        {
	        NavClick(Default_Offset);
        }

        if (false)
        {
            // Verify that Viewer Frame has already loaded
            if (top.Viewer && top.Viewer.WhoAmI)
            {
                var  myOffset = top.Viewer.WhoAmI();

                if (myOffset != -1 && CheckOffset(myOffset))
                {
                    ResyncMenu(myOffset);
                }
            }
        }
    }

    LoadFlag = true;

}  // end of onLoadHander()

// Function to load different SubTitle Image
function LoadSubtitle(ImageName)
{
	document.write('<IMG NAME="Subtitle" SRC="' + ImageName + 
	               '" WIDTH=411 HEIGHT=65 BORDER=0>');
}
// (/script)
