$(document).ready(function() {

    $('div#navi .menu ul:not(.sublist):not(.notHide)').each(function () {
        $(this).data("size", {height:$(this).height()+'px'})
            .animate({height:"0px", opacity:0}, "fast", 'swing').css({margin: "0 0"}).hide();
    });
    $('div#navi .menu .block .blockup:not(.notHide)').each(function () {
        $(this).data("param", {popup:false}).fadeTo("fast", 0);
    });

    $('div#navi .menu ul.notHide').each(function () {
        $(this).data("size", {height:$(this).height()+'px'}).css({margin: "5px 0"});
    });
    $('div#navi .menu .block .notHide').each(function () {
        $(this).data("param", {popup:true}).fadeTo("fast", 1);
    });


    $('div#navi .menu .block .blockup').hover(
        function() {
            $(this).stop().fadeTo("normal", 1);
        },
        function() {
            if ($(this).data("param").popup)
                return;

            $(this).stop().fadeTo("normal", 0);
        }
    )
    .click(function() {
        if ($(this).data("param").popup)
            $(this).data("param", {popup:false});
        else
            $(this).data("param", {popup:true});

        return false;
    });

    $('div#navi .menu').hover(
        function() {
            if ($(this).children('.block').children('.blockup').data("param").popup)
                return;

            $(this).children('ul').stop().show()
                .animate({height:$(this).children('ul').data("size").height, opacity:1}, "slow", 'swing', function() {
                    $(this).css('height', '');
                }).css({margin: "5px 0"});
        },
        function() {
            if ($(this).children('.block').children('.blockup').data("param").popup)
                return;

            $(this).children('ul').stop()
                .animate({height:"0px", opacity:0}, "slow", 'swing', function() {
                    //$(this).children('ul').css('height', '').hide();
                    $(this).hide();/*.css('height', '')*/
                }).css({margin: "0 0"});
        }
    );

});

