$(function(){
	decorate();
	initPoll();
});

function decorate(){
	$(':input[class!=nofocus]').focus(function(event){
		$(this).addClass('ffocus');
	});
	
	$(':input[class!=nofocus]').blur(function(event){
		$(this).removeClass('ffocus');
	});
	
	$('.simple-button').simpleButton();
}

(function($){
	
	$.fn.simpleButton = function(){
		this.mousedown(function(){
			$(this).addClass('mousedown');
		}).mouseup(function(){
			$(this).removeClass('mousedown');
		}).mouseleave(function(){
			$(this).removeClass('mousedown');
		});
	};
})(jQuery);

var $formPoll;

function initPoll(){
	$formPoll = $('#form-poll');
	
	$('.button-vote').click(function(event){
		event.preventDefault();
		$formPoll.submit();
	});
	
	$formPoll.submit(function(event){
		event.preventDefault();
		$this = $(this);
		$w = $('.wrapper-form-poll');
		var action = $this.attr('action');
		var answer = $('input[name=id_answer]:checked', $this).val();
		if(answer){
			$w.slideUp('fast', 
						function(){
							$w.after('<div class="processing">Sending your vote..</div>');
						}
			);
			
			var data = $this.serialize();
			$.post(action, data,
				function(data){
					if(data.ok){
						$w.html(data.html);
						$w.slideDown();
					} else {
						__handle_submit_errors(data);
					}
					$('.container-poll .processing').hide();
			}, 'json');
		};
	});
}

function __handle_submit_errors(data){
	var errors = '';
	for(name in data.errors){
		$('input[name=' + name + ']').addClass('error');
		if(errors) errors += '\n';
		errors += data.errors[name];
	}
	alert(errors);
}
