(function($) {	
	$.fn.voter = function() {		
		return this.each(function() {
			var obj = $(this);
			var star = $('.star a', obj);
					
			if(!obj.hasClass('disabled')) {
				star.bind("mouseover", function() {
					$(this).css('background-position', '0 0').parent().prevAll().children('a').css('background-position', '0 0');
					$(this).parent().nextAll().children('a').css('background-position', '0 -20px');
				}).bind("mouseout", function() {
					star.highlightStar();
				}).bind("click", function() {
					var index = star.index(this)+1;
					var id = obj.attr('id').substr(2);

					$.post("voter.php", {id: id, vote: index}, function(data) {
						obj.html(data).voter();
					});
					
					star.unbind("mouseover").unbind("mouseout").unbind("click");
					obj.addClass('disabled');
				});
				obj.bind("mouseout", function() {
					star.css('background-position', '0 -40px');						  
				});
			}
		});
	};
	
	$.fn.highlightStar = function() {
		return this.each(function() {
			if($(this).parent().hasClass('voted'))
				$(this).css('background-position', '0 0').parent().prevAll().children('a').css('background-position', '0 0');
			else 
				$(this).css('background-position', '0 -20px');
		});
	};
})(jQuery);
