var NUMBER_OF_STARS = 5;

function init_ratings() {
	var ratings = document.getElementsByTagName('div');
	for (var i=0; i < ratings.length; i++) {
		if (ratings[i].className != 'rating' && ratings[i].className != 'rating_ro') continue;
		var rating = ratings[i].firstChild.nodeValue;
		ratings[i].removeChild(ratings[i].firstChild);
		if (rating > NUMBER_OF_STARS || rating < 0)	continue;
		for (var j=0; j < NUMBER_OF_STARS; j++) {
			var star = document.createElement('img');
			if (rating >= 1) {
				star.setAttribute('src', '/images/rating_on.gif');
				star.className = 'on';
				rating--;
			}
			else if (rating >= 0.5) {
				star.setAttribute('src', '/images/rating_half.gif');
				star.className = 'half';
				rating = 0;
			}
			else{
				star.setAttribute('src', '/images/rating_off.gif');
				star.className = 'off';
			}
			var widgetId = ratings[i].getAttribute('id').substr(7);
			star.setAttribute('id', 'star_'+widgetId+'_'+j);
			if (ratings[i].className == 'rating') {
				star.onmouseover = new Function("evt", "displayHover("+widgetId+", "+j+");");
				star.onmouseout = new Function("evt", "displayNormal("+widgetId+", "+j+");");
			}
			ratings[i].appendChild(star);
		}
	}
}
function displayHover(ratingId, star) {
    for (var i = 0; i <= star; i++) {
        document.getElementById('star_'+ratingId+'_'+i).setAttribute('src', '/images/rating_over.gif');
    }
}

function displayNormal(ratingId, star) {
    for (var i = 0; i <= star; i++) {
        var status = document.getElementById('star_'+ratingId+'_'+i).className;
        document.getElementById('star_'+ratingId+'_'+i).setAttribute('src', '/images/rating_'+status+'.gif');
    }
}

function updateWidget(widgetId, rating) {
	for (var i=0; i < NUMBER_OF_STARS; i++) {
		var star = document.getElementById('star_'+widgetId+'_'+i);
		if (rating >= 1) {
			star.setAttribute('src', '/images/rating_on.gif');
			star.className ='on';
			rating--;
		} else if (rating >= 0.5) {
			star.setAttribute('src', '/images/rating_half.gif');
			star.className = 'half';
			rating = 0;
		} else {
			star.setAttribute('src', '/images/rating_off.gif');
			star.className = 'off';
		}
	}
}