var Rating = {
	init : function()
	{
		var a = document.getElementsByTagName("span");
		var img = "star_g.gif";
		if(location.href.indexOf("/show/") != -1) img = 'star_big_g.gif" style="position:relative;left:-3px"';
		for(var i=0;i<a.length;i++)
		{
			if(a[i].className == "rating")
			{
				Rating.ParseInit(a[i],a[i].getAttribute("rating"));
				if(a[i].getAttribute("allow") == "true")
				{
					var b = a[i].getElementsByTagName("img");
					for(var j=0;j<b.length;j++)
					{
						Event.observe(b[j],"click",Rating.rate);
						Event.observe(b[j],"mouseover",Rating.Switch);
						Event.observe(b[j],"mouseout",Rating.Cancel);
					}
				}
			}
		}
	},
	rate : function(event)
	{
		var e = Event.element(event);
		var rating = e.readAttribute("name");
		holder = e.parentNode;
		ill.Add("rate",[
		["id",e.parentNode.id],
		["rating",rating]
		],"files/workers/misc.php");
	},
	Switch : function(event)
	{
		var e = Event.element(event);
		var rating = e.readAttribute("name");
		var a = $(e).up("span").getElementsByTagName("img");
		for(var i=0;i<a.length;i++)
		{
			if(parseInt(a[i].getAttribute("name")) <= parseInt(rating))
			{
				if(location.href.indexOf("/show/") != -1) a[i].src = "images/star_big_b.gif";
				else a[i].src = "images/star.gif";				
			}
		}
	},
	Cancel : function(event)
	{
		var e = Event.element(event);
		var a = $(e).up("span")
		Rating.Parse(a,$(a).readAttribute("rating"));
	},
	Stop : function()
	{
		var a = holder.getElementsByTagName("img");
		for(var i=0;i<a.length;i++)
		{	
			Event.stopObserving(a[i],"click",Rating.rate);
			Event.stopObserving(a[i],"mouseover",Rating.Switch);
			Event.stopObserving(a[i],"mouseout",Rating.Cancel);
		}
	},
	Parse : function(o,rating)
	{
		var max = parseInt(rating);
		var half = false;
		if(rating.indexOf(".5") != -1) half = true;
		
		var a = o.getElementsByTagName("img");
		for(var i=0;i<a.length;i++)
		{			
			if(i+1 <= max)
			{
				if(location.href.indexOf("/show/") != -1) a[i].src = "images/star_big_r.gif";
				else a[i].src = "images/star_r.gif";
			}
			else
			{
				if(i+1 == max+1 && half)
				{
					if(location.href.indexOf("/show/") != -1) a[i].src = "images/star_big_half.gif";
					else a[i].src = "images/star_half.gif";
				}
				else
				{
					if(location.href.indexOf("/show/") != -1) a[i].src = "images/star_big_g.gif";
					else a[i].src = "images/star_g.gif";
				}
			}
		}
	},
	ParseInit : function(o,rating)
	{
		var max = parseInt(rating);
		var half = false;
		if(rating.indexOf(".5") != -1) half = true;
		
		var i = 1;
		o.innerHTML = "";
		while(i <= max && i <= 5)
		{
			if(location.href.indexOf("/show/") != -1) o.innerHTML += '<img name="'+i+'" src="images/star_big_r.gif" style="position:relative;left:-3px">';
			else o.innerHTML += '<img name="'+i+'" src="images/star_r.gif">';
			i++;
		}
		if(half)
		{
			if(location.href.indexOf("/show/") != -1) o.innerHTML += '<img name="'+i+'" src="images/star_big_half.gif" style="position:relative;left:-3px">';
			else o.innerHTML += '<img name="'+i+'" src="images/star_half.gif">';
			i++;
		}
		while(i <= 5)
		{
			if(location.href.indexOf("/show/") != -1) o.innerHTML += '<img name="'+i+'" src="images/star_big_g.gif" style="position:relative;left:-3px">';
			else o.innerHTML += '<img name="'+i+'" src="images/star_g.gif">';
			i++;
		}
	}
}
Listen("load",Rating.init);