﻿(function($) {
    $.fn.SetupRatings = function(url, itemId, options) {
        var opts = $.extend({}, $.fn.SetupRatings.defaults, options);

        var ratingPanel = $(this);
        $("label", ratingPanel).addClass("hide");
        $("input:submit", ratingPanel).addClass("hide");
        $("#rating-star-0", ratingPanel).addClass("hide");

        $(".hover-star", ratingPanel).rating({
            callback: function(value, link) {
                var rating = 0;
                if (value.length > 0) {
                    rating = value;
                }
                $.getJSON(url + "/" + itemId, "&rating=" + rating, function(viewModel) {
                    $(".average-rating div").removeClass("on");
                    $(".average-rating div").removeClass("off");
                    for (x = 1; x <= 5; x++) {
                        var cssState;
                        if (x <= viewModel.RatingTile.AverageRating) {
                            cssState = "on";
                        }
                        else {
                            cssState = "off";
                        }
                        $(".average-rating ." + x).addClass(cssState);
                    }
                    $(".average-rating .description").empty();
                    $("#add-rating .description").empty();
                    $(".average-rating .description").prepend(viewModel.RatingTile.AverageRatingDescription);
                    $("#add-rating .description").prepend(viewModel.RatingTile.CollectorRatingDescription);
                    
                    ShowServiceMessages(viewModel);
                });
            }
        });
    };
})(jQuery);
