var NUMBER_OF_STARS = 5;

var img_path = '/public/common/images/stars/';
var img_on = img_path+'rating_on.gif';
var img_half = img_path+'rating_half.gif';
var img_off = img_path+'rating_off.gif';
var img_over = img_path+'rating_over.gif';

function displayRating(rating)
{
	var ratingsDiv = $("div#jsRating");
	if ( ratingsDiv.length > 0 ) 
	{
		if ( typeof(rating) === 'undefined' ) {
			// read and remove the number inside the div
			rating = ratingsDiv.html();
		}
		ratingsDiv.empty();

		// make sure the rating is within range
		rating = Math.min(rating, NUMBER_OF_STARS)
		rating = Math.max(rating, 0)

		for ( var i=0; i < NUMBER_OF_STARS; i++ ) 
		{
			var star = $("<img />");
			if ( rating >= 1 ) 
			{
				star.attr('src', img_on).addClass('on');
				rating--;
			}
			else if ( rating == 0.5 )
			{
				star.attr('src', img_half).addClass('half');
				rating = 0;
			}
			else
			{
				star.attr('src', img_off).addClass('off');
			}
			
			star.attr('id', 'star_'+i)

			ratingsDiv.append(star);
		}
	}
}

function enableVoting()
{
	var ratingsDiv = $("div#jsRating");
	if ( ratingsDiv.length > 0 ) 
	{
		for ( var i=0; i < NUMBER_OF_STARS; i++ ) 
		{
			$("#star_"+i)
			.mouseover( 
				function(level) {
					return function() {
						for (var i = 0; i <= NUMBER_OF_STARS; i++)
						{
							if ( i <= level )
							{
								// show hover image for <= this star
								$('#star_'+i).attr('src', img_over);
							}
							else
							{
								// stars off for > this star
								$('#star_'+i).attr('src', img_off);
							}
						}
					}
				}(i))

			.mouseout( 
				function(level) { 
					return function() {
						// Reset all stars
						for (var i = 0; i <= NUMBER_OF_STARS; i++)
						{
							var starEl = $('#star_'+i)
							var starStatus = starEl.hasClass('on') ? 'on' : (starEl.hasClass('half') ? 'half' : 'off') 
							starEl.attr('src', img_path+ 'rating_'+starStatus+'.gif')
						}
					}
				}(i));
		}
	}
}

