function Rater(element) {
  var enabled = true;
  var stars = $$('#' + element + ' .star');
  
  function display(score) {
    stars.each(function(star, i) {
      if (score < i) {
        star.addClassName('off');
      } else {
        star.removeClassName('off');
      }
    });
  }
  
  stars.each(function(star, score) {
    star.observe('mouseover', function(e) { if (enabled) { display(score); } });
    
    star.observe('click', function(e) {
      enabled = false;
      $(element).addClassName('disabled');
      $('rated').show();
      
      new Ajax.Request(document.location.href + '/rate', {
        parameters: { score: score+1, authenticity_token: window._token }
      });
    });
  });
}
