﻿/// <reference path="jquery-1.4.1-vsdoc.js" />

$(document).ready(function () {
    var popMenu = new PopulateMenu();
    popMenu.init();
});

function PopulateMenu() {
    /** Private Variables **/
    var locMenuItemsData = '#sf-menu-items-data > table > tbody';
    var locMenu = '#main-nav';
    /** Private Methods **/
    var loadMenu = function () {
        var data = $(locMenuItemsData).children('tr');
        var menu = $(locMenu);
        if (data.length > 0) {
            menu.html('');   // clear out the menu
            data.each(function (e) {
                var menuItems = '';
                var obj = $(this);
                var parentId = obj.find('.parentId').text();
                var menuId = obj.find('.id').text();
                var menuName = obj.find('.name').text();
                var pageUrlTile = obj.find('.pageTitle').text();
                var isExternalLink = obj.find('.isExternalLink').text();
                var externalLink = obj.find('.externalLink').text();
                if ($('#menu-id-' + parentId).length < 1) {
                    menuItems = '<li id="menu-id-' + menuId + '">' + genLink(menuId, menuName, pageUrlTile, isExternalLink, externalLink) + '</li>';
                    if (pageUrlTile === 'home')
                        menu.prepend(menuItems);
                    else
                        menu.append(menuItems);
                } else {
                    var parentMenu = $('#menu-id-' + parentId);
                    if (parentMenu.children('ul').length < 1) {
                        menuItems = '<ul><li id="menu-id-' + menuId + '">' + genLink(menuId, menuName, pageUrlTile, isExternalLink, externalLink) + '</li></ul>';
                        parentMenu.append(menuItems);
                    } else {
                        menuItems = '<li id="menu-id-' + menuId + '">' + genLink(menuId, menuName, pageUrlTile, isExternalLink, externalLink) + '</li>';
                        parentMenu.children('ul').append(menuItems);
                    }
                }
            });
            menu.append('<li><a href="/Contact/">Contact Us</a></li>');
        }
    };

    var genLink = function (menuId, menuName, pageUrlTitle, isExternalLink, externalLink) {
        var link = '<a href="';
        if (isExternalLink == 'True')
            link += externalLink;
        else
            link += '/Home/View/' + menuId + '/' + pageUrlTitle;

        link += '">' + menuName + '</a>';

        return link;
    }
    /** Public Methods **/
    return {
        // Initialize
        init: function () {
            loadMenu();
        }
    };
}
