var pollTools = {
  
  init: function() {
	  // Grab the elements we’ll need.                                                                                                                                       
	  pollTools.form = document.getElementById('poll-form');
	  pollTools.choice1 = document.getElementById('choice1');
	  pollTools.choice2 = document.getElementById('choice2');
	  pollTools.choice3 = document.getElementById('choice3');
	  pollTools.answers_div = document.getElementById('poll-answers-div');
	  pollTools.results_link = document.getElementById('view-poll-results'); 
	          
	  // This is so we can fade it in later.                                                                                                                                 
	  YAHOO.util.Dom.setStyle(pollTools.results_div, 'opacity', 0); 
	   
	  // Hijack the form.                                                          
	  YAHOO.util.Event.addListener(pollTools.form, 'submit', pollTools.ajax_submit)                                                                                          
	  YAHOO.util.Event.addListener(pollTools.choice1, 'click', pollTools.ajax_submit)
	  YAHOO.util.Event.addListener(pollTools.choice2, 'click', pollTools.ajax_submit)
	  YAHOO.util.Event.addListener(pollTools.choice3, 'click', pollTools.ajax_submit)
	  YAHOO.util.Event.addListener(pollTools.results_link, 'click', pollTools.ajax_view_results)
  }, 

  ajax_submit: function(e) { 
    YAHOO.util.Event.preventDefault(e);
    YAHOO.util.Connect.setForm(pollTools.form); 
    //Temporarily disable the form.                                                                                                                                        
	  for(var i=0; i<pollTools.form.elements.length; i++) { 
	    pollTools.form.elements[i].disabled = true; 
	  }
	  var cObj = YAHOO.util.Connect.asyncRequest('POST', pollTools.form.action + '?xhr', pollTools.ajax_results); 

	}, 
	
	ajax_view_results: function(e) { 
    YAHOO.util.Event.preventDefault(e);
	  var cObj = YAHOO.util.Connect.asyncRequest('POST', pollTools.results_link + '?xhr', pollTools.ajax_results);
	},

  ajax_results: {
    success: function(o) {
      pollTools.answers_div = document.getElementById('poll-answers-div');
      pollTools.answers_div.visibility = 'hidden';
      pollTools.answers_div.innerHTML = o.responseText;
      var bar_fades = new Array();
      var bars = YAHOO.util.Dom.getElementsByClassName('poll-bar', 'div', pollTools.answers_div)
      for (bar in bars) {
        var orig_width = parseInt(YAHOO.util.Dom.getStyle(bars[bar], 'width').replace('px', ''));
        bars[bar].style.width = 0;
        bar_fades.push(new YAHOO.util.Anim(bars[bar], { width: {to: orig_width} }, 1, YAHOO.util.Easing.bounceOut));
      }
      YAHOO.util.Dom.setStyle(pollTools.answers_div, 'padding-bottom', '0');
      pollTools.answers_div.visibility = 'visible';
      bar_fades[0].onComplete.subscribe(function() { bar_fades[1].animate();});
      bar_fades[1].onComplete.subscribe(function() { bar_fades[2].animate();});
      bar_fades[0].animate();;
      
      /*var result_fade_in = new YAHOO.util.Anim(pollTools.results_div, {opacity: { to: 1 }}, 0.25, YAHOO.util.Easing.easeIn);
      result_fade_in.onComplete.subscribe(function() { bar_fades[0].animate();});
      bar_fades[0].onComplete.subscribe(function() { bar_fades[1].animate();});
      bar_fades[1].onComplete.subscribe(function() { bar_fades[2].animate();});
      
      var result_fade_out = new YAHOO.util.Anim(pollTools.form_div, {opacity: { to: 0 }}, 0.25, YAHOO.util.Easing.easeOut);
      result_fade_out.onComplete.subscribe(function() { 
        YAHOO.util.Dom.setStyle(pollTools.form_div, 'display', 'none');
        YAHOO.util.Dom.setStyle(pollTools.results_div, 'display', 'block');
        result_fade_in.animate();
      });
      
      result_fade_out.animate();
      */
    },
    
    failure: function(error_obj) {
      alert('error');
    }
  }
/*  
  slideResults: function(){
		$S('.poll-bar').each(function(el){
			var orig_width = parseInt(el.style.width.replace('px', ''));
			el.setStyle('width', 0);
			this.timer += 150;
			var slideIn = el.effect('width', {transition: fx.backOut});
			slideIn.myCustom = function(){
				slideIn.custom('0', orig_width);
			};
			slideIn.myCustom.delay(this.timer);
		}, this);
	}
*/
};
YAHOO.util.Event.addListener(window, 'load', pollTools.init); 