$(document).ready(
function() {
    left_pos = 0;  // позиция шарика изначальная относительно окна (если меню на главной странице)
    back = 80; // расстояние от правой части пункта до того места куда должен приезжать шарик

    if(elem = document.getElementById("boll")) {
      w=$("#boll").width(); //длина пункта меню
      elem_off=$("#boll").offset();
      l=elem_off.left; // положение от левой части окна до пункта меню
      left_pos=l+w-back; // позиция шарика
    }
    $("#ball").css("left",left_pos+"px"); //стиль шарика - изначальное положение
    // скорость шарика, можно менять (чем меньше тем быстрее)
    ballspeed = 1;
    $("#horiz_menu .flt").hover
    (
        function()   //наведение мышкой на пункт меню
        {
            $("#ball").attr("src", "/bitrix/templates/hyun_main/images/menu_ball_blue.gif"); //меняю картинку шарика
            if($("img", $(this)).attr("class")!="act_img") {
              link=$("a", $(this)).attr("href");
              $("img", $(this)).attr("src", link+"menu_img_act.gif");
            }

            $('a', $(this)).css("color", "#5791E0");

            $("#ball").stop();  //останавливаем предыдущую анимацию если она была
            m_off = $(this).offset(); //для пункта меню
            left_p=m_off.left + $(this).width() - back;
            //положение шарика при наведении ( левая часть пункта меню + длина пункта - расстояние)
            b_off = $("#ball").offset(); //для шарика
            $("#ball").animate({left: left_p+"px"},
                               {duration: Math.abs(b_off.left - left_p)*ballspeed+100,
                                easing: "swing", queue: false});
        },
        function()  //отведение мышки от пункта меню
        {
            $('a', $(this)).css("color", "#4F4F4F");

            $("#ball").attr("src", "/bitrix/templates/hyun_main/images/menu_ball.gif");  //меняю картинку шарика
            if($("img", $(this)).attr("class")!="act_img") {
              link=$("a", $(this)).attr("href");
              $("img", $(this)).attr("src", link+"menu_img.gif");
            }
            $("#ball").stop();  //останавливаем предыдущую анимацию если она была
            b_off = $("#ball").offset(); //для шарика
            $("#ball").animate({left: left_pos+"px"},
            {duration: Math.abs(b_off.left - left_pos)*ballspeed+100,
                    easing: "swing", queue: false});
        }
    );
});
