$(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"));
	  });
	};
	
	// Don't animate if there is only one item and the height of this item is not greater than the total height of the ticker
	if($("#ticker dt").length > 1)
	{
		// Get the total height of al items in the ticker
		var totalHeight = 0;
		ticker.children().each(function() { totalHeight += $(this).height(); });
		
		// Start the ticker if there is more content than the ticker-height
		if(totalHeight > 418)
			animator(ticker.children(":first"));	
	}		
			
	//set mouseenter
	ticker.mouseenter(function() {
	  
	  //stop current animation
	  ticker.children().stop();
	  
	});
	
	//set mouseleave
	ticker.mouseleave(function() {
	
		// Get the total height of al items in the ticker
		var totalHeight = 0;
		ticker.children().each(function() { totalHeight += $(this).height(); });
		
		// Start the ticker if there is more content than the ticker-height
		if(totalHeight > 418)		  
		  //resume animation
		  animator(ticker.children(":first"));
	  
	});
});