﻿        $(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.025;

                //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"));

            });
        });

