var __menuActive = {
    id : 0, in_menu : false, in_nutka : false, is_presented : false
};

$(document).ready(function() {
    $('.nutka area').mouseenter(function(e) {
        var a = /area(\d{1,2})/.exec(this.id);
        if (a.length == 2) {
            menuId(parseInt(a[1]));
            __menuActive.in_nutka = true;
            menuChange();
        }
    });

    $('.nutka area').mouseleave(function(e) {
        var a = /area(\d{1,2})/.exec(this.id);
        if (a.length == 2) {
            menuId(parseInt(a[1]));
            __menuActive.in_nutka = false;
            menuChange();
        }
    });

    $('.nutka area').click(function(e) {
        var a = /area(\d{1,2})/.exec(this.id);
        if (a.length == 2) {
            menuId(parseInt(a[1]));
            __menuActive.is_presented = !__menuActive.is_presented;
            menuChange();
            e.stopPropagation();
        }
    });
    $('.menu').mouseenter(function(e) {
        var a = /menu-(\d{1,2})/.exec(this.id);
        if (a.length == 2) {
            menuId(parseInt(a[1]));
            __menuActive.in_menu = true;
            menuChange();
        }
    });

    $('.menu').mouseleave(function(e) {
        var a = /menu-(\d{1,2})/.exec(this.id);
        if (a.length == 2) {
            menuId(parseInt(a[1]));
            __menuActive.in_menu = false;
            menuChange();
        }
    });

    $('.menu').click(function(e) {
        var a = /menu-(\d{1,2})/.exec(this.id);
        if (a.length == 2) {
            menuId(parseInt(a[1]));
            __menuActive.is_presented = !__menuActive.is_presented;
            menuChange();
            e.stopPropagation();
        }
    });
    
    $(document).click(function() {
        menuReset();
    });
});

menuChange = function() {
    if (__menuActive.id == null || __menuActive.id == 0) {
        return;
    }

    var nutka = $('#nutka' + __menuActive.id);
    var menu_group = $('#menu-' + __menuActive.id + ' li.group');
    if (__menuActive.in_menu || __menuActive.in_nutka || __menuActive.is_presented) {
        if (!nutka.hasClass('selected')) {
            nutka.addClass('selected');
        }
    } else {
        if (nutka.hasClass('selected')) {
            nutka.removeClass('selected');
        }
    }

    if (__menuActive.is_presented && !menu_group.hasClass('show')) {
            menu_group.addClass('show')
    }

    if (!__menuActive.is_presented && menu_group.hasClass('show')) {
            menu_group.removeClass('show')
    }
}

menuId = function(id) {
    if (__menuActive != null && __menuActive.id > 0 && __menuActive.id != id) {
        menuReset();
    }
    __menuActive.id = id;
}

menuReset = function() {
    var id;
    var a;
    $('.nutka').each(function(i, e) {
        if ($(e).hasClass('selected')) {
            $(e).removeClass('selected');
        }
    });

    $('.menu').each(function(i, e) {
        if ($('.group', e).hasClass('show')) {
            $('.group', e).removeClass('show');
        }
    });
    __menuActive.id = 0;
    __menuActive.in_menu = false;
    __menuActive.in_nutka = false;
    __menuActive.is_presented = false;
}

