$(function () {
    var fullmenuTimer = {};
    
    var max_width = 726;
    var frst_width = $('#frst').width() - 3; // paddingy LI-ciek
    var layer1_count = $('#fullmenu li.layer1').length;
    var layer1_item_width = Math.round(frst_width / layer1_count);
    var items_full_width = 0;
    $('#fullmenu li.layer1').each(function (idx, el) {
        var item_width = $(el).width();
        items_full_width += item_width;
    });
    var item_add_width = Math.round((frst_width - items_full_width) / layer1_count);
    var full_layer1_width = 0;
    $('#fullmenu li.layer1').each(function (idx, el) {
        if (idx != $('#fullmenu li.layer1').length - 1) {
            var el_width = parseInt($(el).width()) + item_add_width;
            full_layer1_width += el_width;
            $(el).css({
                width: el_width + 'px'
            });
        } else {
            var last_item_width = max_width - full_layer1_width;
            $(el).css({
                width: last_item_width + 'px'
            });
        }
    });
    $('#fullmenu ul.full_submenu').each(function (i, e) {
        if ($.browser.msie) {
            var ule_left = $(e).css('left');
            ule_left -= 40;
            $(e).css({
                left: '-25px'
            });
        }
    });
    $('#fullmenu li.layer1').each(function (i, e) {
        var len = 0;
        var max_layer2_len = 0;
        $('li.layer2', e).each(function (idx, el) {
            len = $('a.a_subactive', el).text().length;
            if (len > max_layer2_len) {
                max_layer2_len = len;
            }
            
            var len3 = 0;
            var max_layer3_len = 0;
            $('li.layer3', el).each(function (iidx, iel) {
                var len3 = $('a.a_sub_subactive', iel).text().length;
                if (len3 > max_layer3_len) {
                    max_layer3_len = len3;
                }
            });
            var max_layer3_width = max_layer3_len * 6;
            var layer3_left = max_layer2_len * 8 + 18;
            if ($.browser.msie) {
                layer3_left -= 40;
            }
            $('li.layer3', el).css({
                width: max_layer3_width + 'px'
            });
            $('li.layer3', el).parent().css({
                left: layer3_left + 'px'
            });
        });
        
        var max_layer2_width = max_layer2_len * 8;
        $('li.layer2', e).css({
            width: max_layer2_width + 'px'
        });
    });
    
    $('#fullmenu li.layer1').hover(function () {
        var self = $(this);
        self.addClass('active');
        var id = self.attr('rel');
        window.clearTimeout(fullmenuTimer['tmr_' + id]);
        var iid = $('#' + id);
        $(iid).show();
        $('.active', '#fullmenu').each(function (idx, el) {
            var lid = $(el).attr('rel');
            if (lid != id) {
                $(el).removeClass('active');
                window.clearTimeout(fullmenuTimer['tmr_' + lid]);
                $('#' + lid).fadeOut(300);
            }
        });
    }, function () {
        var self = $(this);
        var id = self.attr('rel');
        var iid = $('#' + id);
        fullmenuTimer['tmr_' + id] = window.setTimeout(function () {
            self.removeClass('active');
            $(iid).fadeOut(0);
        }, 1500);
    });
    
    $('#fullmenu li.layer2').hover(function () {
        var self = $(this);
        self.addClass('subactive');
        window.clearTimeout(fullmenuTimer['tmr_' + self.parent().parent().attr('rel')]);
        var id = self.attr('rel');
        window.clearTimeout(fullmenuTimer['tmr_' + id]);
        var iid = $('#' + id);
        $(iid).show();
    }, function () {
        var self = $(this);
        var id = self.attr('rel');
        var iid = $('#' + id);
        fullmenuTimer['tmr_' + id] = window.setTimeout(function () {
            self.removeClass('subactive');
            $(iid).fadeOut(0);
        }, 100);
    });
    
    $('#fullmenu li.layer3').hover(function () {
        var self = $(this);
        self.addClass('sub_subactive');
        window.clearTimeout(fullmenuTimer['tmr_' + self.parent().parent().attr('rel')]);
    }, function () {
        var self = $(this);
        self.removeClass('sub_subactive');
    });
});
