;(function($) {	
	$.fn.ratingAjax = function(settings){					
		settings = jQuery.extend({			
			afterAjaxFn:false				
		},settings);	
		$(this).bind('click',function(){
			_eventVote(this,settings);
			return false;
		})				
		function _eventVote(caller,settings){						
			var parentBlock = jQuery(caller).parents('#rating-box').get(0);
			jQuery(parentBlock).find('.rating-block-details-data').hide();
			jQuery(parentBlock).find('.rating-box-preloader-block').show();			
			$(parentBlock).find('.vote-box').hide();
			$.ajax({
				url: $(caller).attr('href'),
				type: 'GET',
				dataType: 'html',				
				success: function(response){										
					if(settings.afterAjaxFn && $.isFunction(settings.afterAjaxFn)) 
						settings.afterAjaxFn(caller, true, response);										
					else $.ratingAjax.defaultAfterAjaxResponse(caller);				
				},
				error: function (response){					
					if(settings.afterAjaxFn && $.isFunction(settings.afterAjaxFn)) 
						settings.afterAjaxFn(caller, false, response);														
					else 						
						$.ratingAjax.defaultAfterAjaxResponse(caller);
				}
			});			
		}		
	}
	$.ratingAjax = {
		defaultAfterAjaxResponse:function(caller){			
			var parentBlock = jQuery(caller).parents('#rating-box').get(0);
			jQuery(parentBlock).find('.rating-box-preloader-block').hide();	
			jQuery(parentBlock).find('.rating-block-details-data').show();			
			$(parentBlock).find('.vote-box').remove();
		}
	}
})(jQuery);