
var PollVoter=new Class({_id:null,_form:null,initialize:function(pollid,formElement){this._id=pollid.toInt();this._form=$$(formElement)[0];this._form.addEvent('submit',function(event){var chosen=this._form.getElements('input[name=answer]').filter(function(input){return input.get('checked');});if(chosen.length>0){this.vote.bind(this).run(chosen.get('value'));}
return false;}.bindWithEvent(this));},addTrigger:function(cssSelector,action){var trigger=this._form.getElement(cssSelector);switch(action){case'view':trigger.addEvent('click',this.view.bind(this));break;default:break;}
return this;},vote:function(answer){new Request.HTML({url:SITEURL+"/destress/polls/",onComplete:function(tree,elements,html,js){this.view.bind(this).run();}.bind(this)}).post({format:'raw',subtask:'vote',poll_id:this._id,answer_id:answer.toInt()});return false;},view:function(){new Request.HTML({url:SITEURL+"/destress/polls/",onComplete:function(tree,elements,html,js){this.displayResults(html,js);}.bind(this)}).post({format:'raw',subtask:'results',poll_id:this._id});return false;},displayResults:function(html,js){this._form.set('html',html);this._form.get('slide').slideIn().chain(function(){new Fx.Scroll(window).toElement(this._form);return false;}.bind(this));this._form.getElements('.pollbar').each(function(bar){var width=bar.setStyle('visibility','visible').getStyle('width');new Fx.Morph(bar,{unit:'%',duration:4000,transition:'elastic:out'}).set({'width':10}).start({'width':width});});return false;}});