/*

  Menu Navigation
  Code ideas from docs.jquery.com

  Requires:
    jquery.js

  v1.0 24/10/2009, Hayo Baan
       Initial version

  v1.1 26/07/2010, Hayo Baan
       Code simplification
       Improved className handling

  v2.0 27/07/2010, Hayo Baan
       jQuery adaptations
       Menu effects


*/


$(document).ready(function() {
    // Function to add hover class to object when using IE6
    var addIE6Hover;
    if (navigator.userAgent.search(/\bMSIE [0-6]/) > -1) {
        addIE6Hover = function(obj, direction) {
            if (direction == "Down" || direction == "In") {
                $(obj).addClass("hover");
            } else {
                $(obj).removeClass("hover");
            }
        }
    } else {
        addIE6Hover = function(obj, direction) { }
    }   

    // Slide menu up/down
    var toggleSlide = function(direction, display) {
        return function() {
            addIE6Hover(this, direction);
            var self = this;
            var ul = $("ul", this).first();
            if (ul.css("display") == display && !self["block" + direction] ) {
                self["block" + direction] = true;
                ul["slide" + direction]("fast", function() {
                    self["block" + direction] = false;
                });
            }
        };
    }

    // Fade menu up/down
    var toggleFade = function(direction, display) {
        return function() {
            addIE6Hover(this, direction);
            var self = this;
            var ul = $("ul", this).first();
            if (ul.css("display") == display && !self["block" + direction] ) {
                self["block" + direction] = true;
                ul["fade" + direction]("fast", function() {
                    self["block" + direction] = false;
                });
            }
        };
    }
    $("#menubar li").filter(":not(#menubar li li)").hover(toggleSlide("Down", "none"), toggleSlide("Up", "block"));
    $("#menubar li li").hover(toggleFade("In", "none"), toggleFade("Out", "block"));
});
