var NUMBER_OF_STARS = 5;

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

function displayHover(ratingId, star)
{
    for (var i = 1; i <= star; i++)
    {
        document.getElementById('star_'+ratingId+'_'+i).setAttribute('src', '/img2007/stars/rating_over.gif');
    }
}

function displayNormal(ratingId, star)
{
    for (var i = 1; i <= star; i++)
    {
        var status = document.getElementById('star_'+ratingId+'_'+i).className;
        document.getElementById('star_'+ratingId+'_'+i).setAttribute('src', '/img2007/stars/rating_'+status+'.gif');
    }
}

function submitRating(evt)
{
	var tmp = evt.target.getAttribute('id').substr(5);
	var widgetId = tmp.substr(0, tmp.indexOf('_'));
	var starNbr = parseFloat(tmp.substr(tmp.indexOf('_')+1));
	var forcereload = new Date().valueOf(); //to force reload page from server
	
	$('div#ratingbar').empty();
	$('div#ratingbar').html('<strong class="titleRating trating">Rating:</strong> &nbsp;<img src="/img2007/working.gif" />');
	
	$.get("/common/submitRating.php?"+forcereload,
	   { ratingID: widgetId, value: starNbr},
	   function(data){
		 $('div#ratingbar').empty();
		 $('div#ratingbar').html(data);
		 init_rating('static');
	   }
	 );
}	
