var NUMBER_OF_STARS = 5;
function init_rating()
{
    var ratings = $$('.rating');//document.getElementsByTagName('div');
    for (var i = 0; i < ratings.length; i++)
    {
        //if (ratings[i].className != 'rating')
        //    continue;
            
        var rating = ratings[i].firstChild.nodeValue;
        //ratings[i].removeChild(ratings[i].firstChild);
		$(ratings[i]).update();
		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/stars/rating_on.gif');
                star.className = 'on';
                rating--;
            }
            else if(rating < 1 && rating >= 0.5)
            {
                star.setAttribute('src', './images/stars/rating_half.gif');
                star.className = 'half';
                rating = 0;
            }
            else
            {
                star.setAttribute('src', './images/stars/rating_off.gif');
                star.className = 'off';
            }
			Event.observe(star, 'click', submitRating);
            var widgetId = ratings[i].getAttribute('id').substr(7);
		    star.setAttribute('id', 'star_'+widgetId+'_'+j);
			
            star.onmouseover = new Function("evt", "displayHover("+widgetId+", "+j+");");
            star.onmouseout = new Function("evt", "displayNormal("+widgetId+", "+j+");");
            ratings[i].appendChild(star);
        } 
    }
}

function refreshrating(nummer,rating)
{
	var stars = $('rating_'+nummer).childElements();
	for (i=0; i<stars.length; i++)
    {
		if (rating >= 1)
		{
		    stars[i].setAttribute('src', './images/stars/rating_on.gif');
			stars[i].className = 'on';
			rating--;
		}
		else if(rating < 1 && rating >= 0.5)
		{
		    stars[i].setAttribute('src', './images/stars/rating_half.gif');
			stars[i].className = 'half';
			rating = 0;
		}
		else
		{
		    stars[i].setAttribute('src', './images/stars/rating_off.gif');
			stars[i].className = 'off';
		}
    }
	//alert(nummer + ':'+ rating);	
}

function displayHover(ratingId, star)
{
    for (var i = 0; i <= star; i++)
    {
        document.getElementById('star_'+ratingId+'_'+i).setAttribute('src', './images/stars/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/stars/rating_'+status+'.gif');
    }
}

function submitRating(evt)
	{
		var tmp = Event.element(evt).getAttribute('id').substr(5);
		var widgetId = tmp.substr(0, tmp.indexOf('_'));
		var starNbr = tmp.substr(tmp.indexOf('_')+1);
		new Ajax.Request('./lib/plugins/item/rating.php', {
		  method: 'post',
		  parameters: {ratingID: widgetId, value: starNbr},
		  onSuccess: function(transport) {
			//alert(transport.responseText);
			var myObject = eval('(' + transport.responseText + ')');
			//  alert(myObject.score);
			//$('rating_'+myObject.nummer).update(''+ myObject.score);   
		 	//prototypeInit();
			refreshrating(myObject.nummer,myObject.score);
		  }
		});
	}

			function prototypeInit()
			{
				init_rating();
				$$('.rating').each(function(n){
									n.immediateDescendants().each(function(c){
										Event.observe(c, 'click', submitRating);
									});
								});
			}
			
			function showdiv(obj)
			{
				document.getElementById(obj).style.display = 'block'; 
			}
			
			function hidediv(obj)
			{
				document.getElementById(obj).style.display = 'none'; 
			}

			
Event.observe(window, 'load', prototypeInit);
