// TODO - AMD 2011-05-22
// Rating code will probably not work for multiple ratings on a page
$(document).ready(function() {
    rating = $('.rating').text();
    $('.rating_on').css('width',rateWidth(rating));

    $('.rating_btns li').hover(function(){
        rating = $(this).text();
        $('.rating_on').css('width',rateWidth(rating));
    });

    $('.rating_btns li').mouseout(function(){
        rating = $('.rating').text();
        if (rating == 'not rated') {
            $('.rating_on').css('width','0px');
        } else {
            $('.rating_on').css('width',rateWidth(rating));
        }
    });

    $('.rating_btns li').click(function(){
        rating = $(this).text();
        var jqxhr = $.post(
            'ajax.php',
            {
                'action': 'rate_post',
                'ratingid': $(this).attr('ratingid'),
                'data': rating
            },
            function(msg) {
                var result = jQuery.parseJSON(msg);
                if (result.hasOwnProperty('error')) {
                    alert(result.status);
                } else {
                    $('div.rating.'+result.ratingid).text(result.rating);
                    $('div.avg_rating.'+result.ratingid).text(' - Avg rating: '+result.avg_rating);
                }
            }
        ).error(function() { alert("error"); } );
    });
});

function rateWidth(rating) {
    rating = parseFloat(rating);
    return (18 * rating) + 'px';
}

