var NUMBER_OF_STARS = 5;
var status;

function submitRating(evt) {
        var url = "http://www.guyrules.com/ajax/gr_ajaxv4.php";
	var tmp = Event.element(evt).getAttribute('id').substr(5);
	var widgetId = tmp.substr(0, tmp.indexOf('_'));
	var starNbr = tmp.substr(tmp.indexOf('_')+1);
    console.log('<======== starRating.js  submitRating:',starNbr); 

	new Ajax.Request(url, {
		  method: 'get',
		  parameters: {func: 'saverating', userid: GR.User, gr_id: GR.CurrentRuleID, value: starNbr},
		  onSuccess: function(transport) { console.log("<==== StarSubmit onSuccess %j", transport); },
                  onFailure: function(transport) { console.log("<==== StarSubmit onFailure %j", transport);}
    });
}

function init_starRating() {
    var ratings = $$('div');

	ratings.each(function(i) {
		if (i.className	!= 'rating') return

		var rating = i.firstChild.nodeValue;

		i.removeChild(i.firstChild);
		
		if (rating > NUMBER_OF_STARS || rating < 0) return
		$R(1,NUMBER_OF_STARS).each(function(j) {
			var star = new Element('img');

			if (rating >= 1) {
                star.setAttribute('src', '/images/stars/rating_on.gif');
                star.className = 'on';
                rating--;
	        } else if(rating == 0.5) {
                star.setAttribute('src', '/images/stars/rating_half.gif');
                star.className = 'half';
                rating = 0;
			} else {
				star.className = 'off';
				star.setAttribute('src', '/images/stars/rating_off.gif');
            }
            var widgetId = i.identify().substr(7);
            star.writeAttribute('id', 'star_'+widgetId+'_'+j);
            star.onmouseover = new Function("evt", "displayHover("+widgetId+", "+j+");");
            star.onmouseout = new Function("evt", "displayNormal("+widgetId+", "+j+");");	
			i.appendChild(star);
		});
    });
	
    $$('.rating').each(function(n){
		n.immediateDescendants().each(function(c){
			Event.observe(c, 'click', submitRating);
		});
	});
}

function displayHover(ratingId, star) {
	$R(1,star).each(function(i) {
		$('star_'+ratingId+'_'+i).setAttribute('src', '/icons/stars/rating_over.gif');
	});
}

function displayNormal(ratingId, star) {
	$R(1,star).each(function(i) {	
		status = $('star_'+ratingId+'_'+i).className;
		$('star_'+ratingId+'_'+i).setAttribute('src', '/icons/stars/rating_'+status+'.gif');
	});
}

