﻿/* menu.js */

var menu;
var menubar = new Menubar();
menu = menubar.addMenu(new Menu('m_news', 'Images/Menu/menu_01.gif', 'Images/Menu/menu_01_over.gif', 'Images/Menu/menu_01_sel.gif', 'index.html', 150, 20));
menu = menubar.addMenu(new Menu('m_about', 'Images/Menu/menu_02.gif', 'Images/Menu/menu_02_over.gif', 'Images/Menu/menu_02_sel.gif', 'AboutUs/index.html', 150, 20));
menu.addItem(new MenuItem('i_director', 'MenuItem', 'MenuItemSelected', 'Musical Director', 'AboutUs/director.html'));
menu.addItem(new MenuItem('i_board', 'MenuItem', 'MenuItemSelected', 'The Board', 'AboutUs/board.html'));
menu.addItem(new MenuItem('i_accompanist', 'MenuItem', 'MenuItemSelected', 'Accompanist', 'AboutUs/accompanist.html'));
menu.addItem(new MenuItem('i_musicians', 'MenuItem', 'MenuItemSelected', 'Musicians', 'AboutUs/musicians.html'));
menu.addItem(new MenuItem('i_history', 'MenuItem', 'MenuItemSelected', 'PMAA History', 'AboutUs/history.html'));
menu.addItem(new MenuItem('i_press', 'MenuItem', 'MenuItemSelected', 'In the Press', 'AboutUs/press.html'));
menu.addItem(new MenuItem('i_press_release', 'MenuItem', 'MenuItemSelected', 'Press Release', 'AboutUs/press_release.html'));
menu = menubar.addMenu(new Menu('m_performances', 'Images/Menu/menu_03.gif', 'Images/Menu/menu_03_over.gif', 'Images/Menu/menu_03_sel.gif', 'Performances/index.html', 150, 20));
menu.addItem(new MenuItem('i_calendar', 'MenuItem', 'MenuItemSelected', 'Events Calendar', 'Performances/calendar.html'));
menu.addItem(new MenuItem('i_seasons', 'MenuItem', 'MenuItemSelected', 'Seasons', 'Performances/seasons.html'));
menu.addItem(new MenuItem('i_carnegie', 'MenuItem', 'MenuItemSelected', 'New York, June 2005', 'Performances/carnegie2005.html'));
menu.addItem(new MenuItem('i_dallas', 'MenuItem', 'MenuItemSelected', 'Dallas, July 2003', 'Performances/dallas2003.html'));
menu.addItem(new MenuItem('i_gallery', 'MenuItem', 'MenuItemSelected', 'Gallery', 'Performances/gallery.html'));
menu = menubar.addMenu(new Menu('m_multimedia', 'Images/Menu/menu_04.gif', 'Images/Menu/menu_04_over.gif', 'Images/Menu/menu_04_sel.gif', 'Multimedia/index.html', 150, 20));
menu.addItem(new MenuItem('i_pictures', 'MenuItem', 'MenuItemSelected', 'Pictures', 'Multimedia/pictures.html'));
menu.addItem(new MenuItem('i_sounds', 'MenuItem', 'MenuItemSelected', 'Sounds', 'Multimedia/sounds.html'));
menu.addItem(new MenuItem('i_videos', 'MenuItem', 'MenuItemSelected', 'Videos', 'Multimedia/videos.html'));
menu = menubar.addMenu(new Menu('m_support', 'Images/Menu/menu_05.gif', 'Images/Menu/menu_05_over.gif', 'Images/Menu/menu_05_sel.gif', 'Sponsor/index.html', 150, 20));
menu.addItem(new MenuItem('i_donation', 'MenuItem', 'MenuItemSelected', 'Donation Form', 'Sponsor/donation.html'));
menu.addItem(new MenuItem('i_2005', 'MenuItem', 'MenuItemSelected', '2007 Supporters', 'Sponsor/2007sponsors.html'));
menu = menubar.addMenu(new Menu('m_guestbook', 'Images/Menu/menu_06.gif', 'Images/Menu/menu_06_over.gif', 'Images/Menu/menu_06_sel.gif', 'Guestbook/index.html', 150, 20));
menu = menubar.addMenu(new Menu('m_contact', 'Images/Menu/menu_08.gif', 'Images/Menu/menu_08_over.gif', 'Images/Menu/menu_08_sel.gif', 'contactus.html', 150, 20));
menu = menubar.addMenu(new Menu('m_resources', 'Images/Menu/menu_09.gif', 'Images/Menu/menu_09_over.gif', 'Images/Menu/menu_09_sel.gif', 'resources.html', 150, 20));

menu = menubar.addMenu(new Menu('m_fccc', 'Images/Menu/menu_fccc.gif', 'Images/Menu/menu_fccc.gif', 'Images/Menu/menu_fccc_sel.gif', 'FCCC/index.html', 150, 32));
menu.addItem(new MenuItem('i_members', 'MenuItem', 'MenuItemSelected', 'Members', 'FCCC/members.html'));
menu.addItem(new MenuItem('i_gallery', 'MenuItem', 'MenuItemSelected', 'Gallery', 'FCCC/gallery.html'));
menu.addItem(new MenuItem('i_join', 'MenuItem', 'MenuItemSelected', 'Join', 'FCCC/join.html'));
menu.addItem(new MenuItem('i_login', 'MenuItem', 'MenuItemSelected', 'Login (member only)', 'private_chorus/business.html'));
menu = menubar.addMenu(new Menu('m_hs', 'Images/Menu/menu_hs.gif', 'Images/Menu/menu_hs.gif', 'Images/Menu/menu_hs_sel.gif', 'HS/index.html', 150, 32));
menu.addItem(new MenuItem('i_members', 'MenuItem', 'MenuItemSelected', 'Members', 'HS/members.html'));
menu.addItem(new MenuItem('i_gallery', 'MenuItem', 'MenuItemSelected', 'Gallery', 'HS/gallery.html'));
menu.addItem(new MenuItem('i_join', 'MenuItem', 'MenuItemSelected', 'Join', 'HS/join.html'));
menu.addItem(new MenuItem('i_login', 'MenuItem', 'MenuItemSelected', 'Login (member only)', 'private_heartsoul/business.html'));


function Menubar()
{
    this.menus = new Array();
    this.addMenu = Menubar_addMenu;
    this.getMenuById = Menu_getMenuById;
    this.draw = Menubar_draw;
    this.setSelected = Menubar_setSelected;
    this.setBasePath = Menubar_setBasePath;
    this.getFullPath = Menubar_getFullPath;
    return this;
}

function Menubar_setSelected(menuId, itemId)
{
    var menu = null;
    if (menuId && (menu = this.getMenuById(menuId))) {
        menu.selected = 1;
        var item = null;
        if (itemId && (item = menu.getItemById(itemId))) {
            item.selected = 1;
	}
    }
}

function Menubar_setBasePath(basePath)
{
    this.basePath = basePath;
}

function Menubar_getFullPath(path)
{
    if (this.basePath) {
        return this.basePath + '/' + path;
    } else {
        return path;
    }
}

function Menubar_addMenu(menu)
{
    this.menus.push(menu);
    menu.menubar = this;
    return menu;
}

function Menu_getMenuById(menuId)
{
    for(var i = 0; i < this.menus.length; i++) {
        if (menuId == this.menus[i].menuId) {
            return this.menus[i];
        }
    }
    return null;
}

function Menubar_draw()
{
    var bgColor = '#FFCC99';
    var img = this.getFullPath('Images/s.gif');
    document.writeln("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">");
    document.writeln("<tr><td bgcolor=\""+bgColor+"\"><img src=\""+img+"\" width=\"20\" height=\"1\"></td>");
    document.writeln("<td bgcolor=\""+bgColor+"\"><img src=\""+img+"\" width=\"130\" height=\"1\"></td></tr>");
    for(var i = 0; i < this.menus.length; i++) {
        this.menus[i].draw();
    }
    document.writeln("</table>");
}

function Menu(menuId, passiveImage, activeImage, selectedImage, url, width, height)
{
    this.menuId = menuId;
    this.imageId = 'img_' + menuId;
    this.passiveImage = passiveImage;
    this.activeImage = activeImage;
    this.selectedImage = selectedImage;
    this.url = url;
    this.width = width;
    this.height = height;
    this.items = new Array();
    this.selected = 0;
    this.addItem = Menu_addItem;
    this.getItemById = Menu_getItemById;
    this.draw = Menu_draw;
    return this;
}

function Menu_addItem(item)
{
    this.items.push(item);
    item.menu = this;
    return item;
}

function Menu_getItemById(itemId)
{
    for(var i = 0; i < this.items.length; i++) {
        if (itemId == this.items[i].itemId) {
            return this.items[i];
        }
    }
    return null;
}

function Menu_draw()
{
    var divImg = this.menubar.getFullPath("Images/Menu/div.gif");
    if (this.selected) {
        document.writeln("<tr><td colspan=\"2\" bgcolor=\"#FF9966\">" +
            "<img src=\"" + divImg + "\" width=\"150\" height=\"1\" border=\"0\"></td></tr>");
        document.writeln("<tr><td colspan=\"2\" bgcolor=\"#FF9966\"><a href=\""+this.menubar.getFullPath(this.url)+"\"><img name=\""+
            this.imageId+"\" src=\""+this.menubar.getFullPath(this.selectedImage)+"\" width=\""+this.width+"\" height=\""+
            this.height+"\" border=\"0\"></a></td></tr>");
        var sImg = this.menubar.getFullPath('Images/s.gif');
        document.writeln("<tr><td colspan=\"2\" bgcolor=\"#FF9966\"><img src=\""+sImg+"\" width=\"1\" height=\"2\"></td></tr>");
        for(var j = 0; j < this.items.length; j++) {
            this.items[j].draw();
            document.writeln("<tr><td colspan=\"2\" bgcolor=\"#FF9966\"><img src=\""+sImg+"\" width=\"1\" height=\"3\"></td></tr>");
        }
        document.writeln("<tr><td colspan=\"2\" bgcolor=\"#FF9966\">" +
            "<img src=\"" + divImg + "\" width=\"150\" height=\"1\" border=\"0\"></td></tr>");
    } else {
        document.writeln("<tr><td colspan=\"2\"><a href=\""+this.menubar.getFullPath(this.url)+"\"><img name=\""+
            this.imageId+"\" src=\""+this.menubar.getFullPath(this.passiveImage)+"\" width=\""+this.width+"\" height=\""+
            this.height+"\" border=\"0\" onMouseOver=\"mouseOver('"+this.menuId+
            "')\" onMouseOut=\"mouseOut('"+this.menuId+"')\"></a></td></tr>");
    }
}

function MenuItem(itemId, regularStyle, selectedStyle, text, url, justification)
{
    this.itemId = itemId;
    this.regularStyle = regularStyle;
    this.selectedStyle = selectedStyle;
    this.text = text;
    this.url = url;
    this.selected = 0;
    this.justification = justification ? justification : 'left';
    this.draw = MenuItem_draw;
    return this;
}

function MenuItem_draw()
{
    var img = this.menu.menubar.getFullPath('Images/s.gif');
    if (this.selected) {
        document.writeln("<tr><td bgcolor=\"#FF9966\" align=\"" + this.justification + 
            "\"><img src=\"" + img + "\" width=\"1\" height=\"1\"></td>" + 
            "<td bgcolor=\"#FF9966\" class=\"" + this.selectedStyle + "\"><a href=\"" + 
            this.menu.menubar.getFullPath(this.url) + "\">" + this.text + "</a></td></tr>");
    } else {
        document.writeln("<tr><td bgcolor=\"#FF9966\" align=\"" + this.justification + 
            "\"><img src=\"" + img + "\" width=\"1\" height=\"1\"></td>" +
            "<td bgcolor=\"#FF9966\" class=\"" + this.regularStyle + "\"><a href=\"" + 
            this.menu.menubar.getFullPath(this.url) + "\">" + this.text + "</a></td></tr>");
    }
}

function getImage(menuId)
{
    return eval("document.images."+menubar.getMenuById(menuId).imageId);
}

function mouseOut(menuId)
{
    getImage(menuId).src = menubar.getFullPath(menubar.getMenuById(menuId).passiveImage);
}

function mouseOver(menuId)
{
    getImage(menuId).src = menubar.getFullPath(menubar.getMenuById(menuId).activeImage);
}

