﻿var ImageCache;
var ButtonStates;

function ButtonState(id)
{
    this.Id = id;
    this.MenuButton = null;
    this.IsHovering = false;

    this.Update = function()
    {
        var ButtonPosition;

        if (!this.MenuButton)
        {
            this.MenuButton = document.getElementById(this.Id);
        }

        if (this.MenuButton)
        {
            switch (this.MenuButton.className)
            {
                case "MenuButtonLeft":
                    ButtonPosition = "Left";
                    break;
                case "MenuButtonMiddle":
                    ButtonPosition = "Middle";
                    break;
                case "MenuButtonRight":
                    ButtonPosition = "Right";
                    break;
                default:
                    ButtonPosition = "Middle";
                    break;
            }

            if (this.IsHovering)
            {
                if (this.IsDown)
                {
                    this.MenuButton.style.backgroundImage = "url(/Images/MenuButton_" + ButtonPosition + "_Down.png)";
                }
                else
                {
                    this.MenuButton.style.backgroundImage = "url(/Images/MenuButton_" + ButtonPosition + "_Down.png)";
                }
            }
            else
            {
                this.MenuButton.style.backgroundImage = "url(/Images/MenuButton_" + ButtonPosition + "_Normal.png)";
            }
        }
    };

    ButtonStates[id] = this;
}

function Initialize()
{
    ButtonStates = new Array();
    ImageCache = new Array();

    AddImage("MenuButton_Left_Normal", "/Images/MenuButton_Left_Normal.png");
    AddImage("MenuButton_Left_Over", "/Images/MenuButton_Left_Over.png");
    AddImage("MenuButton_Left_Down", "/Images/MenuButton_Left_Down.png");
    AddImage("MenuButton_Middle_Normal", "/Images/MenuButton_Middle_Normal.png");
    AddImage("MenuButton_Middle_Over", "/Images/MenuButton_Middle_Over.png");
    AddImage("MenuButton_Middle_Down", "/Images/MenuButton_Middle_Down.png");
    AddImage("MenuButton_Right_Normal", "/Images/MenuButton_Right_Normal.png");
    AddImage("MenuButton_Right_Over", "/Images/MenuButton_Right_Over.png");
    AddImage("MenuButton_Right_Down", "/Images/MenuButton_Right_Down.png");

    new ButtonState("MenuButtonHome");
    new ButtonState("MenuButtonProjects");
    new ButtonState("MenuButtonProducts");
    new ButtonState("MenuButtonMedia");
    new ButtonState("MenuButtonArticles");
    new ButtonState("MenuButtonContactUs");
    new ButtonState("MenuButtonAboutUs");
    new ButtonState("MenuButtonFTP");
}

function AddImage(name, uri)
{
    var I = new Image;
    I.src = uri;
    ImageCache[name] = I;
}

function MenuButtonOver(element)
{
    ButtonStates[element.id].IsHovering = true;
    ButtonStates[element.id].Update();
}

function MenuButtonOut(element)
{
    ButtonStates[element.id].IsHovering = false;
    ButtonStates[element.id].Update();
}

function RightClickHandler()
{
    if ((navigator.appName == 'Netscape') && (e.which == 3))
    {
        return false;
    }
    
    if ((navigator.appName == 'Microsoft Internet Explorer') && (event.button == 2))
    {
        return false;
    }
    
    return true;
}

function ContextHandler()
{
    return false;
}

function EventHandler()
{
    if (document.images)
    {
        for (i = 0; i < document.images.length; i++)
        {
            //document.images[i].onmousedown = RightClickHandler;
            //document.images[i].onmouseup = RightClickHandler;
            //document.images[i].oncontextmenu = ContextHandler;
        }
    }
}

Initialize();
