var d = document;
var s = new Array;
s[0] = "/img/stars/star_inactive.png";
s[0.5] = "/img/stars/star_half.png";
s[1] = "/img/stars/star_active.png";

var over = false;
var timeout = false;
var frm = null;

function overStar(star)
{
	if(already_rate || already_rated == 1) return false;
	over = true;

	showRate(star.alt);
	return false;
}

function showRate(r)
{
	r = parseFloat(r);
	for(i = 1; i <= 5; i++)
	{
		if(i - 0.5 == r)
		{
			d.getElementById("star" + i).src = s[0.5];
		}
		else
		{
			d.getElementById("star" + i).src = (i <= r) ? s[1] : s[0];
		}
	}
	return false;
}

function outStar()
{
	if(already_rate || already_rated == 1) return false;
	over = false;
	if(!timeout)
	{
		timeout = true;
		setTimeout("resetStar()", 100);
	}
	return false;
}

function resetStar()
{
	timeout = false;
	if(!over)
	{
		showRate(rate);
	}
	return false;
}

function submitRate(star)
{
	if(already_rate) return false;
	already_rate = true;
	frm = d.getElementById("rate_video");
	frm.elements.rate.value = parseInt(star.alt);

	var params = requestRate();
	if(params != "")
	{
		var url = "/fitch/index.php";
		sndReq(url, params, "POST", handleResponseRate);
	}
	return false;
}

function requestRate()
{
	var res = "";
	if(frm)
	{
		for(var i = 0; i < frm.elements.length; i++)
		{
			res += "&" + frm.elements[i].name + "=" + frm.elements[i].value;
		}
	}

	return encodeURI(res);
} //end function requestRate

function handleResponseRate()
{
	if(http.readyState == 4)
	{
		var t = http.responseText;

		if(t.substring(0, 2) == "Ok")
		{
			var res = t.split(":|:");
			if(res[1] == "Rated")
			{
				alert("You have already rated this video!");
				return false;
			}
			else
			{
				showRate(res[1]);
			}
		}
		else
		{
			alert("Error. Please try again later.");
			already_rate = false;
		}
	}
	return true;
} //end function handleResponseRate