$(document).ready(function() {
        
	$('.rate_widget').each(function(i) {
		var widget = this;
		var out_data = {
			widget_id : $(widget).attr('id'),
			fetch: 1
		};
		
		$.post(
			'/ratings.php',
			out_data,
			function(INFO) {
				$(widget).data( 'fsr', INFO );
				if($(widget).data( 'fsr').canVote )
				{
					setRevents($(widget));
				}
				set_votes(widget);
			},
			'json'
		);
	});
    
function setRevents(elem)
{
	$('.ratings_stars', elem).hover(
		function() {
			$(this).prevAll().andSelf().addClass('ratings_over');
			$(this).nextAll().removeClass('ratings_vote'); 
		},
		function() {
			$(this).prevAll().andSelf().removeClass('ratings_over');
			set_votes($(this).parent());
		}
	);
        
        
	$('.ratings_stars',elem).click(function() {
		
		var star = this;
		var widget = $(this).parent();
        
		$('.ratings_stars',$(this).parent()).unbind();
		
		var clicked_data = {
			clicked_on : $(star).attr('class'),
			widget_id : $(star).parent().attr('id')
		};
				
		$.post(
			'/ratings.php',
			clicked_data,
			function(INFO) {
				widget.data( 'fsr', INFO );
				set_votes(widget);
			},
			'json'
		); 
	});
}
});

    
function set_votes(widget) 
{
	var avg = $(widget).data('fsr').whole_avg;
	var votes = $(widget).data('fsr').number_votes;
	var exact = $(widget).data('fsr').dec_avg;
    
    //window.console && console.log('and now in set_votes, it thinks the fsr is ' + $(widget).data('fsr').number_votes);
        
	$(widget).find('.star_' + avg).prevAll().andSelf().addClass('ratings_vote');
	$(widget).find('.star_' + avg).nextAll().removeClass('ratings_vote'); 
	$(widget).find('.total_votes').text( votes + ' votes recorded (' + exact + ' rating)' );
}
