// http://www.devirtuoso.com/2009/08/how-to-create-a-3d-tag-cloud-in-jquery/
$(document).ready(function(){
	var element = $('#tagcloudC a');;
	var offset = 0; 
	var stepping = 0.05;
	var list = $('#tagcloudC');
	var $list = $(list)
	
	var first = true
	$list.mousemove(function(e){
		var topOfList = $list.eq(0).offset().top;
		var listHeight = $list.height();
		stepping = (e.pageY - topOfList)/2  /  listHeight * 0.5 - 0.1;
		//if (e.pageY >= topOfList && e.pageY <= (topOfList + listHeight/3)) stepping = -0.1;
		//alert(e.pageY + " " + topOfList + " " + listHeight);
		//if (stepping < -0.3) stepping = -0.3;
		//if (stepping > 0.3) stepping = 0.3;
		//alert(stepping);
	});
	
	for (var i = element.length - 1; i >= 0; i--)
	{
		element[i].elemAngle = i * Math.PI * 2 / element.length;
	}
	
	if (!$.browser.msie
			|| $.browser.msie && $.browser.version > 6)
	{
		setInterval(render, 100);
	}					   
	
	function render(){
		for (var i = element.length - 1; i >= 0; i--){
			var angle = element[i].elemAngle + offset;
			x = 100 + Math.sin(angle) * 6;
			y = 45 + Math.cos(angle) * 45;
			size = Math.round(4 - Math.sin(angle) * 4);
			size2 = Math.round(40 - Math.sin(angle) * 40);
			
			var elementCenter = $(element[i]).width() / 2;
	
			var leftValue = (($list.width()/2) * x / 100 - elementCenter) + "px"
	
			$(element[i]).css("fontSize", size + "pt");
			$(element[i]).css("opacity",size2/100);
			$(element[i]).css("zIndex" ,size);
			$(element[i]).css("left" ,leftValue);
			$(element[i]).css("top", y + "%");
		}
		
		offset += stepping;
	}
});