(function($) {
	$.fn.rianVote = function(options) {
		// Обявляем дефолтные значения и переопределяем их, если они переданы в функцию
		var options = $.extend({
			animate: false,
			loader: '#vote_loader',
			container: '#vote_container',
			form: '#vote_form',
			submit: '#vote_submit',
			answerSelector: 'input',
			checkedSelector: 'input:checked',
			resultsLink: '#vote_result'
		}, options || {});
		
		// Объявляем переменные
		var jsonURL = $(options.form).attr('action').replace(".html", ".json");
		
		function postAnswer(params) {
			$.ajax({
				type: "POST",
				dataType: "html",
				url: jsonURL,
				data: params,
				beforeSend:function() {
					$(options.loader).show();
				},
				success:function(data) {
					$(options.loader).hide();
					
					if(options.animate == true) {
						$(options.container).attr('style', 'opacity: 0; filter: alpha(opacity=0);');
						$(options.container).html(data);
						$(options.container).animate({'opacity':'1'}, 'slow');
					} else {
						$(options.container).html(data);
					}
				}
			});
		}
		
		// Вешаем обработчик на клик по сабмиту формы
		$(options.submit).click(function(e) {
			e.preventDefault();
			
			var params = {
				"vote_answer_id"   : $(options.checkedSelector, options.form).val(),
				"act"              : 'reset',
				"vote_question_id" : options.questionID
			}
			postAnswer(params);
		});
		
		$(options.resultsLink).click(function(e) {
			e.preventDefault();
			postAnswer({});
		});
	}
})(jQuery);

