/*
jQuery menu

Example:
$(document).ready(function()
{
$('#jmenu').jmenu({animation:'fade',duration:100});
});

(c) 2010 Sawanna Team (http://sawanna.org)
*/

var jmenu = {
    effect: 'slide',           /* default animation effect */
    duration: 400,         /* default duration */
    set: function (settings) {
        try {
            if (settings.animation == 'show') { this.effect = 'show'; }
            if (settings.animation == 'slide') { this.effect = 'slide'; }
            if (settings.animation == 'fade') { this.effect = 'fade'; }
        } catch (e) { }

        try {
            this.duration = settings.duration;
        } catch (e) { }
    },
    fix_pos: function (elem) {
        if ($j(elem).parent('ul').parent('li').length) {
            $j(elem).children('ul').eq(0).css({ marginTop: -$j(elem).height(), marginLeft: $j(elem).width() });
        } else {
            $j(elem).children('ul').eq(0).css({ 'top': $j(elem).offset().top + $j(elem).height(), 'left': $j(elem).offset().left, 'z-index': 300 });
        }
    },
    show: function (elem) {
        if (this.effect == 'fade') { $j(elem).children('ul').eq(0).stop(1, 1).fadeIn(this.duration); }
        else if (this.effect == 'slide') { $j(elem).children('ul').eq(0).stop(1, 1).slideDown(this.duration); }
        else if (this.effect == 'show') { $j(elem).children('ul').eq(0).stop(1, 1).show(this.duration); }
    },
    hide: function (elem) {
        $j(elem).children('ul').eq(0).stop(1, 1).fadeOut(100);
    }
}

jQuery.fn.jmenu = function (settings) {
    jmenu.set(settings);

    $j(this).find('li').each(function () {
        $j(this).hover(
                function () {
                    jmenu.fix_pos(this);
                    jmenu.show(this);
                },
                function () {
                    jmenu.hide(this);
                }
            );
    });
}
