
var CtPoll = Class.create(CtComponent_Abstract, {

	buttons: [],

	initialize: function() {
		this.element = $('ctPoll');
		this.id = 'ctPoll';
		this.reassembly();
		CtPage.addComponent(this);
	},

	clickHandler: function(event, button) {
		Event.stop(event);
		var request = CtPage.getRequest(this.id, 'iframe');
		request.url = button.readAttribute('href') + '&ajax=1';
		request.send();
	},

	reassembly: function() {
		this.buttons = this.element.select('.ctPoll-button');
		for (var i = 0; i < this.buttons.length; i++) {
			this.buttons[i].observe('click', this.clickHandler.bindAsEventListener(this, this.buttons[i]));
		}
	},

	refresh: function(response) {
		this.element.update(response.content);
		this.reassembly();
		this.element.fire('CtComponent:refresh', {sender: this});
	}
});

Event.observe(document, 'dom:loaded', function() {
	new CtPoll();
});

CtPage.registerScript('CtPoll');
