		//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"));
		  }); 
		};
		
	  $(function() {
	  
			// grab all elements with a css class of "ticker"
			var tickers = $(".ticker").each(
				
			function( idx ) {
				
				var ticker = $(this);
			
				//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");
				
				//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"));
					
				});
			});
	  });

