﻿/// <reference path="jquery-1.4.4-vsdoc.js" />
$(function () {
    var header_menu = $('div.all div.menu div.menu_items');
    header_menu.find('div.menu_item:has(a.active)').hide_divider();
    header_menu.hover(null, menu_out);
    header_menu.find('div.menu_item').hover(menu_item_over, menu_item_out);
});

function menu_item_over(event) {
    var ref = $(this).find('> a');
    if (!ref.hasClass('active')) {
        $(this).parent().find('div.menu_item a.active').addClass('active_when_hover').removeClass('active');
    }

    if (ref.hasClass('active_when_hover')) {
        ref.addClass('active').removeClass('active_when_hover');
    }
    //стиль active должен перебивать стиль active_when_hover
    if (ref.hasClass('active')) {
        ref.addClass('active_when_hover');
    }

    ref.addClass('active');
    
    var div_drop = $(this).find('div.menu_drop');
    if (div_drop.size() != 0) {
        div_drop.show();
    }

    $(this).hide_divider();
}

function menu_item_out(event) {
    $(this).find('> a').removeClass('active');

    var div_drop = $(this).find('div.menu_drop');
    if (div_drop.size() != 0) {
        div_drop.hide();
    }

    $(this).show_divider();
    $(this).parent().find('div.menu_item:has(a.active_when_hover)').hide_divider();
}

function menu_out(event) {
    $(this).find('div.menu_item a.active_when_hover').addClass('active').removeClass('active_when_hover');
}

//**********Расширение jQuery*************
//TEMP: Показ разделителей для меню 
//Возвращает обернутый набор с видимыми разделителями
(function ($) {
    $.fn.show_divider = function () {
        this.find('div.divider').show();
        var prev_item = $(this).prev();
        if (prev_item.size() != 0) {
            prev_item.find('div.divider').show();
        }
        return this;
    }
})(jQuery);

//**********Расширение jQuery*************
//TEMP: Скрытие разделителей для меню 
//Возвращает обернутый набор со скрытыми разделителями
(function ($) {
    $.fn.hide_divider = function () {
        this.find('div.divider').hide();
        var prev_item = $(this).prev();
        if (prev_item.size() != 0) {
            prev_item.find('div.divider').hide();
        }
        return this;
    }
})(jQuery);


