jQuery.fn.rating = function(url, options) {
	var max_value = 5;

	return this.each(function() {
		var me = $(this);
		var link_id = me.attr('id');
		var cur_value = me.attr('title');

		for (var i=0; i<=max_value; i++) {
			if (i == 0)	var div = '<div title="0" class="cancel"><a href="#">Cancel Rating</a></div>';
			else				var div = '<div title="'+i+'" class="star"><a href="#">'+i+'</a></div>';
			me.append(div);
		}

		var stars = me.children('.star');
		var cancel = me.children('.cancel');

		stars
			.mouseover(function(){ event.drain(); event.fill(this); })
			.mouseout(function(){ event.drain(); event.reset(); })
			.focus(function(){ event.drain(); event.fill(this) })
			.blur(function(){ event.drain(); event.reset(); });

		stars.click(function(){
			$.post('rating.php', { 'rating': $(this).attr('title'), 'link_id': link_id }, function(data){
				alert('Выша оценка учтена!');
				cur_value = data;
				event.reset();
			});
			return false;
		});

		cancel
			.mouseover(function(){ event.drain(); jQuery(this).addClass('on') })
			.mouseout(function(){ event.reset(); jQuery(this).removeClass('on') })
			.focus(function(){ event.drain(); jQuery(this).addClass('on') })
			.blur(function(){ event.reset(); jQuery(this).removeClass('on') });

		cancel.click(function(){
			event.drain();
			jQuery.post('rating.php', { 'rating': '0', 'link_id': link_id },function(data){
				alert('Выша оценка учтена!');
				cur_value = 0;
				event.reset();
			});
			return false;
		});

		var event = {
			fill: function(el){
				var index = stars.index(el) + 1;
				stars
					.children('a').css('width', '100%').end()
					.slice(0,index).addClass('hover').end();
			},
			drain: function() {
				stars
					.filter('.on').removeClass('on').end()
					.filter('.hover').removeClass('hover').end();
			},
			reset: function(){ stars.slice(0,cur_value).addClass('on').end(); }
		}        

		event.reset();
		//return(this);	
	});
}