﻿var metraFunctionality = (function ($) {
    var module = {};
    module.init = function () {
        $('.metra-menu li').click(function (e) {
            e.preventDefault();
            if (!$(this).is('.metra-selected')) {
                $(this).parent().parent().children('.metra-submenu').toggle();
                $(this).siblings().removeClass('metra-selected');
                $(this).addClass('metra-selected');
                //$(this).parent().parent().children('.metra-submenu').not(':visible').show();
            }
        });

        $('pre').addClass('prettyprint');
        prettyPrint();
        function doPrettyPrint() { $('#wmd-preview pre').addClass('prettyprint'); prettyPrint(); }
        setTimeout(doPrettyPrint, 200);
        $('#wmd-input').keydown(function () {
            setTimeout(doPrettyPrint, 1000);
        });
    };

    return module;
})(jQuery);

var dateModule = (function ($) {
    var module = {};
    module.init = function () {

        $('.metra-date-posted-icon').each(function (i, e) {
            var date = $(this).text();
            var month = formatDate(new Date(getDateFromFormat(date, 'MM/dd/yyyy hh:mm:ss')), 'NNN');
            var year = formatDate(new Date(getDateFromFormat(date, 'MM/dd/yyyy hh:mm:ss')), 'yyyy');
            var day = formatDate(new Date(getDateFromFormat(date, 'MM/dd/yyyy hh:mm:ss')), 'dd');
            var monthElement = $('<span></span>').text(month).addClass('metra-date-posted-icon-month');
            var yearElement = $('<span></span>').text(year).addClass('metra-date-posted-icon-year');
            var dayElement = $('<span></span>').text(day).addClass('metra-date-posted-icon-day');
            var dateContainer = $('<div></div>').addClass('metra-date-posted-icon-container');
            dateContainer.append(yearElement).append(monthElement).append(dayElement).insertBefore($(this).parent().find('.metra-header'));
        });

    };
    return module;
})(jQuery);

var navigationModule = (function ($) {
    var module = {};

    module.init = function () {
        $('.metra-submenu li.metra-selected:not(:visible)').removeClass('metra-selected');
        $('.metra-menu li').click(function () {
            var selected = $(this).text();
            $('.metra-submenu').hide();
            $('.metra-' + selected).show();
            $('.metra-menu li').removeClass('metra-selected');
            $(this).addClass('metra-selected');
        });

        // Default selected menu items
        var knownSubMenus = ['bio', 'email', 'projects', 'speaking'];
        var selectedSubMenu = 'home';
        var selectedMenu = 'blog';
        for (var i = 0; i < knownSubMenus.length; i++) {
            var element = $('.' + knownSubMenus[i]).first();
            if (element.length == 1) {
                selectedSubMenu = knownSubMenus[i];
                selectedMenu = element.children('span').attr('class');
            }
        }
        $('.metra-submenu').hide();
        $('.metra-submenu li').removeClass('metra-selected');
        $('.metra-' + selectedMenu).show();
        $('.metra-menu-' + selectedMenu + '-' + selectedSubMenu).show().addClass('metra-selected');
        $('.metra-menu li, .metra-menu li a').removeClass('metra-selected');
        $('.metra-menu-' + selectedMenu).addClass('metra-selected');
    };

    return module;
})(jQuery);

$().ready(function () {
    dateModule.init();
});
