
function enableButtonWidget() {
  $('poll_widget_btn').update('<img src="/i/buttons/btn_stem.gif" id="btn_poll" name="btn_poll" onclick="goPollvote();" />');
}

function goPollvote() {
  var xml_page = '/includes/ajax/poll_save_and_show_ajax_xml.asp';
  var xml_params = '?pollid=' + $F('widget_poll_id') + '&answerid=' + $RF('widget_poll_answer');
  new Ajax.Request ( xml_page, { method: 'get', parameters: xml_params, onComplete: processVoting } );
}

function processVoting(request) {

  var str_results = '', answer_votes_bar;
  var poll_answer = request.responseXML.getElementsByTagName("answertext");
	var poll_answer_txt = poll_answer[0].firstChild.data;

  var items = request.responseXML.getElementsByTagName("answer");
  if ( items.length != 0 ) {

    // Count total votes
    var poll_votes_total = 0;
    for (var i = 0; i < items.length; i++) {
      poll_votes_total += (1*items[i].getAttributeNode("votes").value);
    }

    // Loop trought poll answers and show nr of votes
    for (var i = 0; i < items.length; i++) {
  		answer_votes = items[i].getAttributeNode("votes").value;
  		answer_txt = items[i].firstChild.data;

      answer_votes_bar = '';
      if ( answer_votes > 0 ) {
        answer_votes_bar = '<div class="poll_result_bar"><img src="/i/i.gif" style="width:' + (Math.round(answer_votes/poll_votes_total*100)) + '%;"></div>';
      }
      else {
        answer_votes_bar = '<div class="poll_result_bar"></div>';
      }

      str_results +=
        '<div class="poll_result">'
        + '<div>'
        + '<div class="poll_result_perc">' + (Math.round(answer_votes/poll_votes_total*100)) + '%</div>'
        + answer_txt
        + '</div>'
        + '<div>' + answer_votes_bar + '</div>'
        + '</div>';

    }

  }

  if ( poll_answer_txt != '' ) {
    $('poll_widget_q').addClassName('noborder');
    str_results = '<p id="poll_widget_a">' + poll_answer_txt + '</p>' + str_results;
  }

  $('poll_panel').update(str_results);
  $('poll_widget_btn').remove();

}

function $RF(el, radioGroup) {

  if($(el).type && $(el).type.toLowerCase() == 'radio') {
    var radioGroup = $(el).name;
    var el = $(el).form;
  }
  else if ($(el).tagName.toLowerCase() != 'form') {
    return false;
  }
  var checked = $(el).getInputs('radio', radioGroup).find(
  function(re) {return re.checked;}
  );
  return (checked) ? $F(checked) : null;

}