// -------- polls ---------
(function($) {
	var settings = {
		 'answersMin': 1
		,'answersMax': 1
		,'errorTooLess': 'Please choose an answer.'
		,'errorTooMany': 'Too many answers selected.'
		,answersFind: 'input[name="answer_id[]"]'
		,submitFind: 'input:submit'
		,resultsFind: 'a.resultsPoll'
		,actionFind: 'input[name="poll_action"]'
	};
	
	$.fn.poll = function(options){
		settings = $.extend(settings, options);
		
		var obj = $(this);
		var answers = obj.find(settings.answersFind);
		var submit = obj.find(settings.submitFind);
		var results = obj.find(settings.resultsFind);
		
		answers.click(function(event){
			var selected = answers.filter(':checked, :selected');
			if (selected.length > settings.answersMax) {
				alert(settings.errorTooMany);
				return false;
			}
		});
		
		submit.click(function(event){
			event.preventDefault();
			var selected = answers.filter(':checked, :selected');
			if (selected.length < settings.answersMin) {
				alert(settings.errorTooLess);
				return false;
			}
			if (selected.length > settings.answersMax) {
				alert(settings.errorTooMany);
				return false;
			}
			
			obj.submit();
		});
		
		results.click(function(event){
			event.preventDefault();
			
			var action = obj.find(settings.actionFind);
			action.val('results');
			obj.submit();
		})
		
		return this;
	}
	
})(jQuery);