<script type="text/javascript">
var bb_poll = {};
bb_poll.data = {POLL_VOTES_JS}; // [["заголовок", "result"], ...]
bb_poll.title = '';
bb_poll.votes_data = {};
bb_poll.votes_sum = 0;
bb_poll.max_img_len = 205; // 100% = this length
$(function(){
$.each(bb_poll.data, function(vote_id, vote_data){
var vote_text = vote_data[0];
var vote_result = parseInt(vote_data[1]);
if (vote_id == 0) {
bb_poll.title = vote_text;
}
else {
bb_poll.votes_sum += vote_result;
bb_poll.votes_data[vote_id] = [vote_text, vote_result];
}
});
$('#poll-title').html(bb_poll.title);
$('#votes-sum-val').text(bb_poll.votes_sum);
$.each(bb_poll.votes_data, function(vote_id, vote_data){
var vote_caption = vote_data[0];
var vote_result = parseInt(vote_data[1]);
var vote_percent = (bb_poll.votes_sum) ? Math.round(vote_result / bb_poll.votes_sum * 100) : 0;
var vote_img_width = Math.round(vote_percent * bb_poll.max_img_len / 100);
$('#poll-results-tpl tbody')
.clone()
.find('span.poll-vote-caption').html(vote_caption).end()
.find('img.poll-vote-img').css({ width: vote_img_width }).end()
.find('span.poll-vote-percent').text(vote_percent+'%').end()
.find('span.poll-vote-result').text(vote_result).end()
.appendTo('#poll-results-block')
;
});
$('#poll').show();
});
function build_votes ()
{
$.each(bb_poll.votes_data, function(vote_id, vote_data){
var vote_caption = vote_data[0];
var vote_el_id = 'vote-'+ vote_id;
$('#poll-results-block').hide();
$('#poll-votes-tpl tbody')
.clone()
.find('input').val(vote_id).attr({id: vote_el_id}).end()
.find('label').html(vote_caption).attr({'for': vote_el_id}).end()
.appendTo('#poll-votes-block')
;
});
$('#votes-sum-block, #vote-btn-a, #poll-manage').hide();
$('#vote-btn-input').show();
}
function submit_vote ()
{
var $voted_id = $('input.vote-inp:checked');
if ($voted_id.length == 0) {
alert('Вы не выбрали, за что голосуете');
}
else {
$('#poll-mode').val('poll_vote');
$voted_id.clone().appendTo('#poll-form');
$('#vote-id').val( $voted_id.val() );
$('#poll-submit-btn').click();
}
}
function build_poll_edit_form ()
{
$('#poll').empty().append( $('#poll-edit-tpl').contents() )
$('#poll-legend').html('Изменить опрос');
$('#poll-edit-submit-btn').click(function(){
return poll_manage('poll_edit', 'Изменить опрос (старые результаты будут удалены)?');
});
$('#poll-caption-inp').val( html2text(bb_poll.title) );
var votes_text = [];
$.each(bb_poll.votes_data, function(vote_id, vote_data){
votes_text.push( html2text(vote_data[0]) );
});
$('#poll-votes-inp').val( votes_text.join('\n') );
return false;
}
function html2text (str)
{
return $('<span></span>').html(str).text();
}
</script>