﻿$(document).ready(function () {

    //HOVER DELAYS

    var onMouseOverDelay = 50; // milliseconds delay before onMouseOver
    var onMouseOutDelay = 300; // milliseconds delay before onMouseOut

    function sub_show() { $(this).addClass('show'); $(this).removeClass('with-js'); }
    function sub_hide() { $(this).removeClass('show'); $(this).addClass('with-js'); }

    //Mega-Menus
    $("li.mn").hoverIntent({ interval: onMouseOverDelay, over: sub_show, timeout: onMouseOutDelay, out: sub_hide, sensitivity: 4, interval: 200 });
    $("li.mn").addClass('with-js');

    //SLIDING ANIMATIONS

    var AniOver = 'easeInSine';
    var DurOver = 600;
    var AniOut = 'easeOutSine';
    var DurOut = 300;

    //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')) {
                var subNav = $(this).siblings('div.nav-menu-panel');
                if (subNav.is(':visible')) { subNav.slideUp(200, 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(200, AniOver); }
            };
            if ($(this).siblings().is('div.nav-menu-panel-open')) {
                var openNav = $(this).siblings('div.nav-menu-panel-open');
                if (openNav.is(':visible')) { openNav.slideUp(200, 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(200, AniOver); }
            };
        });
    }
    initMenu();
    //*****************

});
