var hoverColour = "#FFF";

$(document).ready(function()
{
	
	$("a.hoverBtn").show("fast", function() 
	{
		$(this).wrap("<div class=\"hoverBtn\">");
		$(this).attr("class", "");
	});
	
	//display the hover div
	$("div.hoverBtn").show("fast", function() 
	{
		//append the background div
		$(this).append("<div></div>");
		
		//get link's size
		var wid = $(this).children("a").width();
		var hei = $(this).children("a").height();
		
		//set div's size
		$(this).width(wid);
		$(this).height(hei);
		$(this).children("div").width(wid);
		$(this).children("div").height(hei);
		
		//on link hover
		$(this).children("a").hover(function(){
			//store initial link colour
			if ($(this).attr("rel") == "") {
				$(this).attr("rel", $(this).css("color"));
			}
			//fade in the background
			$(this).parent().children("div")
				.stop()
				.css({"display": "none", "opacity": "1"})
				.fadeIn("fast");
			//fade the colour
			$(this)	.stop()
				.css({"color": $(this).attr("rel")})
				.animate({"color": hoverColour}, 350);
		},function(){
			//fade out the background
			$(this).parent().children("div")
				.stop()
				.fadeOut("slow");
			//fade the colour
			$(this)	.stop()
				.animate({"color": $(this).attr("rel")}, 250);
		});
	});
	
	//animazione continua
	//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();
		//IE6+ non interpreta la proprietà "auto" quindi...che schifo windows
		var margin = 0;
		if(currentItem.css("marginTop") != "auto")
		{
			margin = parseInt(currentItem.css("marginTop"));
		}
		//duration = (distance + parseInt(currentItem.css("marginTop"))) / 0.025;
		duration = (distance + margin) / 0.025;
		//alert(duration);
		//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"));
		}
	);
}
);

