$(document).ready(function() {
	var rating = {
		saving: false,
		over: function(e) {
			if (rating.saving == false) {
				if (e.target.nodeName == 'IMG') {
					var image = rating.getImage(e);
					rating.set(image);
					rating.average = $('#rating_description').html();

					switch (image){
						case 1: description = 'Very Poor'; break;
						case 2: description = 'Poor'; break;
						case 3: description = 'Average'; break;
						case 4: description = 'Good'; break;
						case 5: description = 'Very Good'; break;
					}
					$('#rating_description').html(description);
				}
			}
		},
		out: function(e) {
			if (rating.saving == false) {
				var images = $('.rating img').get();
				for (var i=0; i<images.length; i++) {
					var class = $(images[i]).attr('class');
					$(images[i]).attr('src', '/images/' + class + '.gif');
				}
				$('#rating_description').html(rating.average);
			}
		},
		set: function(count) {
			// Make all empty
			$('.rating img').attr('src', '/images/empty.gif');
			// Set ones less than count to display
			$('.rating img:lt(' + count + ')').attr('src', '/images/full.gif');
		},
		click: function(e) {
			if (rating.saving == false) {
				var image = rating.getImage(e);
				$('#rating_description').html('Saving vote...');
				rating.saving = true;

				$.post('../rate/' + page.id, {rating: image}, function(data){
					if (data.match(/^success:(.+)$/)) {
						$('#rating_description').html('Vote Added, Thank You');
						$('.rating img').addClass('disabled');
						rating.saving = true;
					}
					else {
						var msg = data.replace(/^error:(.+)$/, '$1');
						$('#rating_description').html(msg);
						alert(msg);
						rating.saving = false;
					}
				})
			}
		},
		getImage: function(e) {
			var images = $('.rating img').get();
			for (var i=0; i<images.length; i++) {
				if (e.target == images[i]) return i+1;
			}
		}
	}
	$('.rating').mouseover(rating.over);
	$('.rating img').click(rating.click);
	$('.rating').mouseout(rating.out);

});