      $(window).load(function() {
        function get_width_of_banner_text() {
          $("#banner span").clone().appendTo("body").addClass("no_wrap");
          var w = $("body > span.no_wrap").width();
          $("body > span.no_wrap").remove();
          return w;
        }
        var w = get_width_of_banner_text();

        var max_w = $("#banner").width();
        var rate = 13.26;
        if ( (w > max_w) ) {
          var time = w*rate;
          $("#banner span").clone().appendTo("#banner span");
          function scroll() {
            $("#banner > span").animate( 
              {left:"-"+w+"px"}, time, 'linear', function() {
                $(this).css('left', '1em');
                scroll();
                });
          }
          scroll();
        } else {
          pad = max_w-w
          var time = (pad+w)*rate;
          function bounce() {
            $("#banner > span").animate( 
              {paddingLeft:pad+"px", paddingRight:"0px"}, time, 'swing').animate({paddingRight:pad+"px", paddingLeft:"0px"}, time, 'swing', function() {
                  bounce();
                });
          }
          bounce();
        }
      });

