﻿MF = function() {

    var init = function() {

        initNav();
        initCarousel();

    };

    var initCarousel = function() {

        // set up scrollable
        var scrollableOptions = {
            clickable: false,
            speed: 750,
            size: 1
        }

        var carouselItems = $("#carousel .scrollable li");

        if (carouselItems.length > 1) {

            var prev = $("#carousel .prev");
            var next = $("#carousel .next");
            prev.click(function() { return false; });
            next.click(function() { return false; });

            window["carouselApi"] = $("#carousel").scrollable(scrollableOptions).circular({ api: true });

        }

    };

    var initNav = function() {

        var hovering = false;
        var topNavItems = $(".topnav li a").not(".subnav li a");
        var subNavs = $(".subnav");

        var showSubNav = function() {
            var href = $(this);
            var subnav = href.parent().find(".subnav");
            if (subnav.length) {
                subnav.show();
                href.addClass("over");
            }
        }

        var hideSubNav = function() {
            var href = $(this);
            var subnav = href.parent().find(".subnav");
            if (!hovering) {
                subNavs.hide();
                href.removeClass("over");
            }
        }

        var navHoverConfig = {
            sensitivity: 3, // number = sensitivity threshold (must be 1 or higher)    
            interval: 100, // number = milliseconds for onMouseOver polling interval    
            over: showSubNav, // function = onMouseOver callback (REQUIRED)    
            timeout: 100, // number = milliseconds delay before onMouseOut
            out: hideSubNav // function = onMouseOut callback (REQUIRED)    
        };

        topNavItems.hoverIntent(navHoverConfig);

        subNavs.hover(
                function() {
                    hovering = true;
                    var href = $(this).parent().find("a:eq(0)");
                    href.addClass("over");
                },
                function() {
                    hovering = false;
                    var href = $(this).parent().find("a:eq(0)");
                    href.removeClass("over");
                    hideSubNav();
                }
            );

        topNavItems.mouseover(function() {
            var href = $(this);
            var subnav = href.parent().find(".subnav");

        });

        topNavItems.mouseleave(function() {
            var href = $(this);
            href.removeClass("over");
            href.removeClass("overish");
        });


    };


    return {
        init: init
    }

} ();
