﻿var menuHtml = [];
var menuItemCount = 0;
var prevChildNum;
var prevMenuLevel = 0;
var currentChildMenuId;

var menu_aboutUs = 'About Us';
var menu_groups_events = 'Groups/Events';
var menu_growth = 'Spiritual Growth';
var menu_home = 'Home';
var menu_info = 'Info/Links';
var menu_mission = 'Ministry/Mission';
var menu_music = 'Music/Arts';
var menu_news = 'News';
var menu_pictures = 'Pictures';
var menu_search = 'Search';
var menu_sermons = 'Sermons';
var menu_worship = 'Worship';

writeHeaderStartHtml();
writeHeaderHtml();

function writeHeaderHtml() {
    menuHtml.push('<div id="header" onmouseout="hideChildMenu()">');
    menuHtml.push('<div class="HeadLinks">');

    addMenuItem(1, menu_home, 'index.html');

    addMenuItem(1, menu_aboutUs, 'we_are.html');
        addMenuItem(2, 'Who We Are', 'we_are.html');
        addMenuItem(2, 'Meet our staff', 'we_are.html');
        addMenuItem(2, 'Contact us by phone/mail/e-mail', 'Contact.html');
        addMenuItem(2, 'Contact the &quot;webservant&quot;', 'tech_contact.html');
        addMenuItem(2, 'Join our mailing list', 'http://visitor.constantcontact.com/email.jsp?m=1103450299512');
        addMenuItem(2, 'Map &amp; driving directions', 'find_us.html');
        addMenuItem(2, 'Our history', 'history.html');
        addMenuItem(2, 'Annual Reports', 'AnnRpt.html');
        addMenuItem(2, 'Watch our video!', 'video.html');

    addMenuItem(1, menu_worship, 'worship.html');

    addMenuItem(1, menu_growth, 'growth.html');

    addMenuItem(1, menu_mission, 'mission.html');
        addMenuItem(2, 'Opportunities to Serve / News & Partnerships', 'mission.html');
        addMenuItem(2, 'Community Partners', 'CommunityPartners.html');
        addMenuItem(2, 'Habitat For Humanity', 'habitat2009.html');
        addMenuItem(2, 'SHED: Safe Homes for the Elderly & Disabled', 'SHED.html');
        addMenuItem(2, 'Peacemaking', 'peacepage.html');
        addMenuItem(2, 'Covenant Network', 'covenant.html');
        addMenuItem(2, 'Interfaith', 'interfaith.html');
        addMenuItem(2, 'Remember in your prayers...', 'pray4.html');
        addMenuItem(2, 'Peace Prayer Schedule', 'PeacePrayer.html');

    addMenuItem(1, menu_groups_events);
        addMenuItem(2, 'People', 'people.html');
        addMenuItem(2, 'Upcoming Events', 'events.html');
        addMenuItem(2, 'Commissions and Leadership Groups', 'we_are.html');
        addMenuItem(2, 'Deacons', 'deacons.html');
        addMenuItem(2, 'Liturgists', 'liturgist.html');
        addMenuItem(2, 'B&amp;Bs: Bonding and Bridging Together', 'http://www.trinityucity.org/bandb');
        addMenuItem(2, 'Annual Report Group Summaries', 'AnnRpt.html');

    addMenuItem(1, menu_news, 'news/archive.html');
        addMenuItem(2, 'News Index', 'news/archive.html');
        addMenuItem(2, 'Bulletins', 'news/bulletins.html');
        addMenuItem(2, 'Calendar of Events', 'calendar.html');
        addMenuItem(2, 'Recent News &amp; Views', 'newsandviews.html');

    addMenuItem(1, menu_sermons, 'sermons/archive.html');

    addMenuItem(1, menu_music, 'MusicAndArts.html');

    addMenuItem(1, menu_pictures, 'PicPages/PicsIndex.html');

    addMenuItem(1, menu_info);
        addMenuItem(2, 'Event Planning Guide', 'eventplan.html');
        addMenuItem(2, 'Wedding Fee Schedule: Members', 'WeddingsForMembers.html');
        addMenuItem(2, 'Wedding Fee Schedule: Non-Members', 'WeddingsForNonMembers.html');
        addMenuItem(2, 'Baptism at Trinity', 'baptism.html');
        addMenuItem(2, 'Liturgist Resources', 'liturgist.html');
        addMenuItem(2, 'Presbyterian Church (USA)', 'http://www.pcusa.org');
        addMenuItem(2, 'Giddings-Lovejoy Presbytery', 'http://www.glpby.org');
        addMenuItem(2, 'Links to other interesting sites', 'links.html');

    addMenuItem(1, menu_search, 'sitemap.html');

    addMenuItem(1, '<img src="http://www.trinityucity.org/images/email.gif" />', 'http://visitor.constantcontact.com/email.jsp?m=1103450299512', 'Join our mailing list');
    addMenuItem(1, '<img src="http://www.trinityucity.org/images/rss.jpg" />', 'syndication.html', 'RSS');

    checkMenuLevel(1);
    menuHtml.push('</div>'); // HeadLinks

    writeLogoHtml();

    menuHtml.push('</div>'); // logos, header

    document.write(menuHtml.join(''));

    AdjustRelativePaths('#header a', 'href');
    AdjustRelativePaths('#logo a', 'href');
}

function writeHeaderStartHtml() {
    menuHtml.push('<link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.trinityucity.org/rss.xml" />');
    menuHtml.push('<link rel="search" type="application/opensearchdescription+xml" href="/OpenSearch.xml" title="Trinity - University City">');
}

function writeLogoHtml() {
    menuHtml.push('<div id="logos" class="colorBox">');
    menuHtml.push('<a href="http://www.trinityucity.org" style="margin-left: 1em"><img src="http://www.trinityucity.org/images/PurpleLogo.png" alt="Trinity Presbyterian Church: Celebrating the Diversity of All" /></a>');
    menuHtml.push('</div>');
}

function addMenuItem(level, text, href, title) {
    checkMenuLevel(level);

    menuItemCount++;

    menuHtml.push('<div');
    addMenuAttribute('class', 'HeadLink' + level);
    addMenuAttribute('onmouseover', 'showChildMenu(' + menuItemCount + ', this)');
    menuHtml.push('><a');
    addMenuAttribute('href', href || '#');

    if (title) {
        addMenuAttribute('title', title);
    }

    menuHtml.push('>');
    menuHtml.push(text);

    menuHtml.push('</a>');
}

function addMenuAttribute(attName, attValue) {
    menuHtml.push(buildAttributeHtml(attName, attValue));
}

function checkMenuLevel(level) {
    if (prevMenuLevel) {
        if (level < prevMenuLevel) {
            menuHtml.push('</div></div>');
        }
        else {
            if (level > prevMenuLevel) {
                menuHtml.push('</div><div');
                addMenuAttribute('id', getSubMenuId());
                addMenuAttribute('class', 'HeadSubLinks');
                addMenuAttribute('onmouseover', 'showChildMenu(' + menuItemCount + ')');
                menuHtml.push('>');
            }
            else {
                menuHtml.push('</div>');
            }
        }
    }

    prevMenuLevel = level;
}

function getSubMenuId(menuNum) {
    menuNum = menuNum || menuItemCount;
    return 'subMenu' + menuNum;
}

function showChildMenu(menuNum, parentDiv) {
    var childMenu = $('#' + getSubMenuId(menuNum)).get(0);

    if (!childMenu) {
        hideChildMenu();
        return;
    }

    if (currentChildMenuId && currentChildMenuId !== childMenu.id) {
        hideChildMenu();
    }

    var style = childMenu.style;

    if (parentDiv) {
        var newLeft = new Number(parentDiv.offsetLeft);
        style.left = newLeft + 'px';
        style.top = parentDiv.offsetTop + parentDiv.offsetHeight + 'px';
        style.position = 'absolute';
    }

    style.display = 'block';
    currentChildMenuId = childMenu.id;
}

function hideChildMenu() {
    if (currentChildMenuId) {
        $('#' + currentChildMenuId).get(0).style.display = 'none';
    }
}

function ApplyYouAreHereStyle() {
    var url = document.location.href.toLowerCase();
    var menuCaption = '';
    url = url.substring(DetermineUrlRoot().length);

    if (url.substring(0, 5) == 'news/') {
        menuCaption = menu_news;
    }
    else if (url.substring(0, 8) == 'sermons/') {
        menuCaption = menu_sermons;
    }
    else if (url.substring(0, 9) == 'picpages/') {
        menuCaption = menu_pictures;
    }
    else if (url.substring(0, 7) == 'habitat') {
        menuCaption = menu_mission;
    }
    else if (url.substring(0, 6) == 'annrpt') {
        menuCaption = menu_aboutUs;
    }
    else {
        switch (url) {
            case '':
            case 'index.html':
                menuCaption = menu_home;
                break;

            case 'we_are.html':
            case 'find_us.html':
            case 'history.html':
            case 'video.html':
            case 'contact.html':
            case 'tech_contact.html':
                menuCaption = menu_aboutUs;
                break;

            case 'growth.html':
                menuCaption = menu_growth;
                break;

            case 'worship.html':
                menuCaption = menu_worship;
                break;

            case 'musicandarts.html':
                menuCaption = menu_music;
                break;

            case 'mission.html':
            case 'communitypartners.html':
            case 'service.html':
            case 'peacepage.html':
            case 'covenant.html':
            case 'mcu.html':
            case 'shed.html':
            case 'interfaith.html':
            case 'pray4.html':
            case 'peaceprayer.html':
                menuCaption = menu_mission;
                break;

            case 'groups.html':
            case 'events.html':
            case 'deacons.html':
            case 'liturgist.html':
            case 'feast.html':
            case 'people.html':
                menuCaption = 'Groups';
                break;

            case 'calendar.html':
            case 'newsandviews.html':
                menuCaption = menu_news;
                break;                

            case 'links.html':
            case 'eventplan.html':
            case 'weddingsformembers.html':
            case 'weddingsfornonmembers.html':
            case 'baptism.html':
                menuCaption = 'Info/Link';
                break;

            case 'sitemap.html':
                menuCaption = menu_search;
                break;
        }
    }

    if (menuCaption) {
        $('.HeadLink1 :contains("' + menuCaption + '")').parent().addClass("HeadLinkCurrent");
    }
}
