$(function () {

    var $escKeyPressed = false;
    var $topMenuID;

    $("a.dropdown").hover(function () {
        // hide all subnavs to start

        $("ul.subnav").hide();
        // show the subnav
        $(this).parent().find("ul.subnav").show();
    });


    // user has tabbed to a top-level menu, show subnav
    $("a.dropdown").focus(function () {

        if ($(this).attr("id").length > 0) {
            $topMenuID = $(this).attr("id");
        }

        if (!$escKeyPressed) {
            $(this).parent().find("ul.subnav").show();
            $escKeyPressed = false;
        }

        $(this).parent().hover(function () {
        }, function () {
            $("ul.subnav").hide();
        });
    });


    $("li.nodropmenu a").focus(function () {
        $("ul.subnav").hide();
        $escKeyPressed = false;
    });


    $("li.nodropmenu").hover(function () {
        $("ul.subnav").hide();
        $escKeyPressed = false;
    });


    // allow user to press ESC key to close subnav
    $(".subnav").keypress(function (e) {
        if (e.keyCode == 27) {  // ESC key
            $escKeyPressed = true;
            $("#" + $topMenuID).focus();
            $("ul.subnav").hide();
        }
    });


    // when mouse moves out of subnav, close it
    //$("ul.subnav").hover(function () {
    //}, function () {
    //    $("ul.subnav").hide();
    //});

	// when mouse moves out of the topnav, close it
    $("ul.topnav").hover(function () {
    }, function () {
        $("ul.subnav").hide();
    });

});

