﻿$(document).ready(function () {

    //SLIDING ANIMATIONS

    var AniOver = 'easeInSine';
    var AniOut = 'easeOutSine';

    var slideDuration = "slow"; //Use "slow" or "fast", integer values for milliseconds don't appear to be respected by the current jQuery version!

    //ACCORDIAN NAVIGATION WIDGET - Auto extensibility to all menus; please follow mark-up class model!
    function initMenu() {
        $('div.nav-menu-panel').hide();
        $('div.nav-item-expand').click(function () {

            if ($(this).siblings().is('div.nav-menu-panel')) {
                collapseAllMenuPanels();
                var subNav = $(this).siblings('div.nav-menu-panel');
                if (subNav.is(':visible')) { subNav.slideUp(slideDuration, AniOut); $(this).children('span').removeClass('nav-expand'); $(this).children('span').addClass('nav-collapse'); }
                else if (!subNav.is(':visible')) { $(this).children('span').removeClass('nav-collapse'); $(this).children('span').addClass('nav-expand'); subNav.slideDown(slideDuration, AniOver); }
            };
            if ($(this).siblings().is('div.nav-menu-panel-open')) {
                collapseAllMenuPanels();
                var openNav = $(this).siblings('div.nav-menu-panel-open');
                if (openNav.is(':visible')) { openNav.slideUp(slideDuration, AniOut); $(this).children('span').removeClass('nav-expand'); $(this).children('span').addClass('nav-collapse'); }
                else if (!openNav.is(':visible')) { $(this).children('span').removeClass('nav-collapse'); $(this).children('span').addClass('nav-expand'); openNav.slideDown(slideDuration, AniOver); }
            };
        });
    }
    initMenu();

    function collapseAllMenuPanels() {
        var variablePanels = $('div.nav-menu-panel');
        var openPanels = $('div.nav-menu-panel-open');
        var expandItem = $('div.nav-item-expand');

        variablePanels.slideUp(slideDuration, AniOut); openPanels.slideUp(slideDuration, AniOut);
        expandItem.children('span').removeClass('nav-expand');
        expandItem.children('span').removeClass('nav-collapse');
        expandItem.children('span').addClass('nav-collapse');
    }
    //*****************

});
