/**
 *     :: Menu w jQuery ::
 *
 */

function menuInitCSS(menu)
{
    var menuCount = $("#"+menu+" > ul > li").size();

    $("#"+menu+" > ul > li").each(function(i) {

        // dodanie lini
        if (i>0)
            $(this).prepend('<span class="Mhline">&nbsp;</span>');
    
        // element pusty od gornej krawedzi menu
        // po to by nie bylo przerwy miedzy menu a submenu
        $(this).children("ul").prepend('<li class="MSlifirst">&nbsp;</li>');

        if (i==0) {
            $(this).children("ul").children("li").css("left", "0");
        }
    });
}

// -----------------------------------------------------------------------------------------

function getRoznica(menu)
{
    var rozAktualny;
    var rozRodzica;
    var roznica;
    
    // rozmiar calego menu
    rozRodzica = $("#"+menu).width();
    
    // zliczenie sumarycznego rozmiaru elementow
    rozAktualny = 0;
    $("#"+menu+" > ul > li").each(function() {
        rozAktualny += $(this).width();
    });
    
    // obliczenie roznicy
    roznica = rozRodzica - rozAktualny;
    
    return roznica;
}

// -----------------------------------------------------------------------------------------

function menuResizeToParent(menu)
{
    var menuIle;
    var paddingAdd;
    var paddingLeft, paddingRight;
    
    // liczba elementow menu
    menuIle = $("#"+menu+" > ul > li").size();
    
    // liczba jaka trzeba dodac do padding kazdego elementu
    paddingAdd = parseInt(getRoznica(menu)/menuIle);
    
    // wyjdz gdy nie ma co dodac
    if (paddingAdd<=0) 
        return
    
    // obliczenie paddingow dla wszystich elementow - lewego i prawego
    paddingRight = parseInt(paddingAdd/2);
    paddingLeft = paddingAdd - paddingRight;
    
    $("#"+menu+" > ul > li").each(function() {
        var cssPadRight = $(this).children("a").css("padding-right");
        var cssPadLeft = $(this).children("a").css("padding-left");
        
        cssPadRight = parseInt( cssPadRight.substring(0, cssPadRight.length-2) );
        cssPadLeft = parseInt( cssPadLeft.substring(0, cssPadLeft.length-2) );
        
        cssPadRight += paddingRight;
        cssPadLeft += paddingLeft;
        
        $(this).children("a").css("padding-right", cssPadRight+"px");
        $(this).children("a").css("padding-left", cssPadLeft+"px");
    });
    
    // obliczenie paddingow dla elementow skrajnych (zostalo pare pikseli 
    // przez bledy zaokraglen wiec dac je trzeba po lewej i prawej stronie menu)
    paddingAdd = getRoznica(menu);
    
    // wyjdz gdy nie ma co dodac
    if (paddingAdd<=0) 
        return
        
    // obliczenie paddingow dla wszystich elementow - lewego i prawego
    paddingRight = parseInt(paddingAdd/2);
    paddingLeft = paddingAdd - paddingRight;
    
    // zmiana paddingow skrajnych elementow menu
    var cssPadRight = $("#"+menu+" > ul > li:last > a").css("padding-right");
    var cssPadLeft = $("#"+menu+" > ul > li:first > a").css("padding-left");
    
    cssPadRight = parseInt( cssPadRight.substring(0, cssPadRight.length-2) );
    cssPadLeft = parseInt( cssPadLeft.substring(0, cssPadLeft.length-2) );
    
    cssPadRight += paddingRight;
    cssPadLeft += paddingLeft;
    
    $("#"+menu+" > ul > li:last > a").css("padding-right", cssPadRight+"px");
    $("#"+menu+" > ul > li:first > a").css("padding-left", cssPadLeft+"px");
}

// -----------------------------------------------------------------------------------------

function setMenu(menu) 
{
    menuInitCSS(menu);

    //Cufon.replace('#Menu > ul > li > a',{hover:{color:'white'}, fontFamily: 'LiberationSans'});
    //Cufon.replace('#Menu > ul > li > a.active', {fontFamily: 'LiberationSans'});
    
    //setTimeout('menuResizeToParent("'+menu+'")', 10);
    menuResizeToParent(menu);

    $('#'+menu+' ul li').hover(
        function() {
            $(this).find('a:first').addClass('active');
            //Cufon.replace('#'+menu+' > ul > li > a', {fontFamily: 'LiberationSans' });
            $(this).find('ul').show();
        },
        function() {
            if ($(this).find('a:first').hasClass('inactive'))
                $(this).find('a:first').removeClass('active');
            $(this).find('ul').fadeOut();
            
            //Cufon.replace('#Menu > ul > li > a',{hover:{color:'white'}, fontFamily: 'LiberationSans'});
            //Cufon.replace('#Menu > ul > li > a.active', {fontFamily: 'LiberationSans'});
        }
    );
}

