var rating_labels = $H({ 'member-rating-1': "Bad",
                         'member-rating-2': "So, So",
                         'member-rating-3': "Good",
                         'member-rating-4': "Very Good",
                         'member-rating-5': "The Best" });
var rating_label;

function showRatingLabel(event) {
    rating_label = $('member-rating-label').innerHTML;
    $('member-rating-label').innerHTML = rating_labels.get(event.element().id.match(/^(.*\d)-\d.*/)[1]);
}

function restoreRatingLabel(event) {
    $('member-rating-label').innerHTML = rating_label;
}

function ratePlace(event) {
    event.element().stopObserving('click');
    var ratingAndPlace = event.element().id.match(/^.*(\d)-(\d.*)$/);
    
    var params = { id: ratingAndPlace[2],
                   rating: ratingAndPlace[1] };

    new Ajax.Request('/place/' + params['id'] + '/rate/' + params['rating']); 
}

document.observe('dom:loaded', function() {
  $$('#ratings-box #member-rating img').each(function(element) {
    element.observe('mouseover', showRatingLabel);
    element.observe('mouseout', restoreRatingLabel);
    element.observe('click', ratePlace);
  });
});