




var maxStars = 5;
var brightStar = new Image();
brightStar.src = "/images/fullstar.gif";
var darkStar = new Image();
darkStar.src = "/images/greystar.gif";

// add a rating for an object
function addRating(label, objectID, rating) {
	showStatus(objectID, "Adding rating", false);
	var url = "/vote.jspa?"+label+"="+objectID+"&vote="+rating+"&useXML=true";
	new Ajax.Request(url,
	{
		method:'get',
		onSuccess: function(transport) {
			if (transport.responseText) {
				var newRating = eval(transport.responseText);
				drawRating(objectID, newRating);
				showStatus(objectID, "Rating added", true);
			}
		}
	});
}

function addMessageRating(messageID, rating) {
	addRating("messageID", messageID, rating);
}

function addThreadRating(threadID, rating) {
	addRating("threadID", threadID, rating);
}

function addUserRating(userID, rating) {
	addRating("userID", userID, rating);
}



// draw rating options: first rating stars are bright, rest are dark
function drawRatingOptions(objectID, rating) {
	for (i = 1; i <= maxStars; i++) {
		var star = document.getElementById("star"+i+"-"+objectID);
		star.src = (rating >= i) ? brightStar.src : darkStar.src;
	}
}

// draw just the rating
function drawRating(objectID, rating) {
	var ratingObj = document.getElementById("rating-"+objectID);
	ratingObj.innerHTML = "";
	rating = Math.round(rating);
	for (i = 1; i <= rating; i++) {
		ratingObj.innerHTML += "<img src=\""+brightStar.src+"\">";
	}
}

function showStatus(objectID, message, hideThrobber) {
	var statusBar = $('rating-status-bar-'+objectID);
	// Fade in
	statusBar.appear({ duration: 1.0 });
	$('rating-status-message-'+objectID).innerHTML = message;
	if(hideThrobber) 
		$('rating-throbber-'+objectID).hide();
	else 
		$('rating-throbber-'+objectID).show();
	messageFader = setTimeout("fadeStatus("+objectID+")",3000);
}

/*
	Called via setTimeout from showUpdated
*/
var fadeStatus = function(objectID) {
	$('rating-status-bar-'+objectID).fade({ duration: 1.0 });
	// in IE extra whitespace is added for some reason - get rid of it
	//$('blogroll-form-'+objectID).cleanWhitespace();
};

