//revealing module pattern

var pollScript = function () {
	var delete_buttons;
	var setObservers = function () {
		clearObservers();
		if($('poll-vote')) {
			$('poll-vote').addEvent('click', function(event) {pollScript.ajaxVote(event)});
		}
	}
	
	var clearObservers = function () {
		if($('poll-vote')) {
			$('poll-vote').removeEvents('click');
		}
		return true;
	}
	
	var ajaxVote = function (event) {
		event.stop();
		var query = $('poll-vote-form').toQueryString();
		req = new Request.JSON({
				url: "views/ajax/ajax_pollVote.php",
				data: query,
				onSuccess: function(res) {
					//alert(res);
					pollScript.setResults(res);
				},
				onFailure: function() {
					$('poll-section').set("html", "<p class='error'>AJAX FAILURE</p>");
				}
			}
		).send();
	}
	
	var setResults = function (res) {
		if(res.Script) eval(res.Script);
		if(!res.ErrorCode) {
			//if($('poll-view')) $('poll-view').dispose();
			$('poll-section').set("html", res.View);
		}
		else{
			$('poll-section').set("html", res.ErrorCode);
		}
	}
		
	
	var init = function () {
		setObservers();
	}

	return {
	// declare public properties and methods
	init: init,
	ajaxVote: ajaxVote,
	setResults: setResults
	}
	
}();

window.addEvent('load', function(event) {pollScript.init()});