$(function() {

        //cache the ticker
        var ticker = $("#ticker");

        //wrap dt:dd pairs in divs
        ticker.children().filter("dt").each(function() {

          var dt = $(this),
            container = $("<div>");

          dt.next().appendTo(container);
          dt.prependTo(container);

          container.appendTo(ticker);
        });

        //hide the scrollbar
        ticker.css("overflow", "hidden");

        //animator function
        function animator(currentItem) {

          //work out new anim duration
          var distance = currentItem.height();
            duration = (distance + parseInt(currentItem.css("marginTop"))) / 0.015;

          //animate the first child of the ticker
          currentItem.animate({ marginTop: -distance }, duration, "linear", function() {

            //move current item to the bottom
            currentItem.appendTo(currentItem.parent()).css("marginTop", 0);

            //recurse
            animator(currentItem.parent().children(":first"));
          });
        };

        //start the ticker
        animator(ticker.children(":first"));

        //set mouseenter
        ticker.mouseenter(function() {

          //stop current animation
          ticker.children().stop();

        });

        //set mouseleave
        ticker.mouseleave(function() {

          //resume animation
          animator(ticker.children(":first"));

        });
      });
