/*
Name of project: HCMenu v0.2 (Horizontal Centre Nenu (2 level))
Author:Sergej Rozkov <s.rozkov@citrus.lt>
*/

$(document).ready(function() {
    //установка переменных и констант
    var id = [];
    id[0] = $("#HCMenu").width(); //длина всеx меню (в пикселях) 
    var x = $("#HCMenu dl").size(); //колличество меню
    var z = parseInt((id[0]-(x-1)*2)/x); //длина одного меню в px
    if ($.browser.safari) { z = parseInt((id[0]-14-(x-1)*2)/x); } 
    var bg = $(['#CC0000','#C20051','#FB9C00','#00AEEF','#0063F6','#00B544','#99999A',   '#CC0000','#C20051','#FB9C00','#00AEEF','#0063F6','#00B544','#99999A']);
     xy = [[0, 0, $("#HCMenu").width()]]; 
    
    //определение длины суб-меню
    $.each($("#HCMenu DL"), function(i){
        i++;    
        xy[i] = [0, 0, 0];
        $.each($("DD UL LI", this), function(){       
            xy[i][2] = xy[i][2] + $(this).width(); 
        });
    });
    
    //установление 2-ух пиксельных дивайдеров между меню
    $("#HCMenu dl").css({
        width: z,
        marginRight: "2px"
    });
    $("#HCMenu dt .Arrow").css("width", z); 
    $("#HCMenu dt .Strut").css("width", z); 
    $("#HCMenu dl:last").css("margin-right", "0");

//вывод координат мышки    
/*$().mousemove(function(e){         
  $("#Status").html(e.pageX +', '+ e.pageY);
}); 
//этот кусок надо встаить просто в BODY
<!--<div style="position:absolute; width:100px; height:20px; background-color:yellow; color:black; padding-top:5px;" id="Status"></div> -->
*/
    //изменения параметров при смене резолюции (кроме IE)
    if (!($.browser.msie)) {
        $(window).resize(function(){
            var id = [];
            id[0] = $("#HCMenu").width(); //длина всеx меню (в пикселях) 
            var z = parseInt((id[0]-(x-1)*2)/x); //длина одного меню в px
            $("#HCMenu dl").css( "width", z);
            $("#HCMenu dt .Arrow").css( "width", z);
            $("#HCMenu dt .Strut").css( "width", z);
        });    
    } 
    
    //раскрашиваем меню в определённые цвета
    var j=0;    
    $("#HCMenu dl").each(function(i){
    $(this).attr({ id: 'HCMenu' + ++j + 'bg' }); 
        id[i+1] = 0;
        $(this).find("li").each(function() {
            id[i+1] = id[i+1] + $(this).width();
        });
        
        $("dt", this).css("background-color", bg[i % x]); //расскрашиваем меню цветами из массива bg
        $("dd li", this).css("background-color", bg[i++ % x]); //расскрашиваем меню цветами из массива bg
        $("dd", this).attr("id", "HCMenu" + i).addClass("Normal"); //добавление ID по номер счёта меню
        $(this).attr("num", i); //добавление ID по номер счёта меню
        if ($(this).hasClass("Selected")) { 
            $("dd", this).removeClass("Normal").addClass("Active"); 
        }    
    });

    //расчёт отображения суб-меню так, чтобы оно не вылезало за пределы основного меню
    //установка длин суб-меню
    $.each($("#HCMenu DL"), function(i){
        i++;    
        xy[i][0] = xy[i-1][1];
        xy[i][1] = xy[i][0] + $("DT", this).width();
        
        k = $(this).attr("num"); 
        pp = xy[0][2] - (xy[k][0] + xy[k][2] + k*2 + 2);    //k*2 + 2 - из-за 2-ух пиксельных дивайдеров между меню
        if (pp > 0) { pp = 0; }       
        $("UL", this).css({
            width: xy[k][2], 
            left: pp
        });
         
    });
    
    //обработка события при наведении машки на меню
    //установка определённых классов.
    $("#HCMenu dl").bind("mouseover", function(index){
        $("#HCMenu dl").each(function() { 
            $("dd", this).removeClass("Active").addClass("Normal"); 
            $("dt", this).removeClass("Active").addClass("Normal"); 
        });
        $("dd", this).removeClass("Normal").addClass("Active");
        $("dt", this).removeClass("Normal").addClass("Active");
    });
    
    //обработка события при убирании машки с меню
    //установка определённых классов.
    $("#HCMenu dl").bind("mouseout", function(){
        $("dd", this).addClass("Normal");
        $("dt", this).addClass("Normal").removeClass("Active");
        $("#HCMenu dl").each(function() {
            if ($(this).hasClass("Selected")) { 
                $("dd", this).removeClass("Normal").addClass("Active");
                $("dt", this).removeClass("Normal").addClass("Active"); 
            }
        });
    });

    //Установка определённого бекграунда, если не выбрано специфичный цвет
    if (!( $("#HCMenu DT.Active").css("background-color"))) $(".bgColor").css("background-color", bg[6]);
       else $(".bgColor").css("background-color", $("#HCMenu DT.Active").css("background-color"));
});