AJAX_AMZWEB_PKG.AverageRatingRenderer = function(response, properties) {
  this._response = response;
  this._properties = properties;
};

AJAX_AMZWEB_PKG.AverageRatingRenderer.prototype.display = function() {
  if(this._response.Item) {
    var product = this._response.Item;
    var widgetHTML = '';

    if (product.averageRating >= 1) {
      widgetHTML += this._properties.labelAverageReview;
      widgetHTML += ' <img alt="' + product.averageRating + '"';
      widgetHTML += 'src="' + AJAX_AMZWEB_PKG.AverageRatingRendererHelper.getStarRatingHTML(product.averageRating) + '"/>';
      widgetHTML += ' <span class="small" id="amz-web-service-AverageRating-totalreviews">(' + product.totalReviews + ' ' + this._properties.labelReviews + ')</span> <a class="small" href="#customerReviews" id="amz-web-service-AverageRating-readreviews" title="' + this._properties.linkReadReviews + '">' + this._properties.linkReadReviews + '</a>';

      document.getElementById('amz-web-service-AverageRating').innerHTML = widgetHTML;
    }
  }
};

AJAX_AMZWEB_PKG.AverageRatingRendererHelper = {
  getStarRatingHTML: function(rating) {
    if (rating == 0) {
      return '';
    } else if (rating < 1 ) {
      return '/images/amazon/no-smiles.gif';
    } else if (rating < 2 ) {
      return '/images/amazon/1-smile.gif';
    } else if (rating < 3 ) {
      return '/images/amazon/2-smiles.gif';
    } else if (rating < 4 ) {
      return '/images/amazon/3-smiles.gif';
    } else if (rating < 5 ) {
      return '/images/amazon/4-smiles.gif';
    } else {
      return '/images/amazon/5-smiles.gif';
    }
  }
}