// Rating slider
var ratingElm = dojo.byId("minRating");
var ratingInput = dojo.byId("grade");
var ratingHandleElm = dojo.byId("minRatingHandle");

var ratingDragging = false;
var ratingLiArr = [];

// Init
ratingInput.forcechange = function() { return false; };
setRating(ratingInput.value * 2);
ratingHandleElm.style.visibility = ratingElm.getElementsByTagName("ul")[0].style.visibility = "visible";

for (i=0; i != 11; i++)
{
	ratingLiArr[i] = dojo.byId("minRating"+i);
	
	ratingLiArr[i].onclick = function()
	{
		setRating(this.innerHTML)
	}
	
	ratingLiArr[i].onmouseover = function()
	{
		if (ratingDragging) setRating(this.innerHTML);
	}
}

// Events
ratingHandleElm.onmousedown = function()
{
	stopSelecting(false)
	ratingDragging = true;
	return false;
}

ratingHandleElm.onmouseup = function()
{
	ratingDragging = false;
	return false;
}

// Function
function setRating(number)
{
	stopSelecting(true);
	ratingElm.className="score"+number;
	dojo.byId("grade").value = (number / 2);
	dojo.byId("grade").forcechange(); // stupid stupid hack
}

function stopSelecting(bool) {
	// prevent IE text selection while dragging!!!
	document.body.ondrag = function () { return bool; };
	document.body.onselectstart = function () { return bool; };
}