var vote_num_answers = new Object();

var VoteCustom = function(obj, textid, max, max_answers) {
    var votemax = 'Максимум ' + max + ' знаков';

    if ( obj.checked ) {
        ident = '#poll_custom_' + textid;
        if ($(ident).attr('value') == votemax) {
            $(ident).attr('value', '');
            //показ сообщения об оставшихся символах
            VoteShowSimbolsLeft(textid, max);
        }
    }

    //проверка на количество оставшихся голосов
    if (max_answers > 0) {
        VoteCheckMax(obj, max_answers, textid);
    }
}

var VoteCheckCustom = function(id, max, max_answers) {
    ident = '#check_custom_' + id;

    $('#vote_limit').hide();
    if ($(ident).attr('checked') == '')
    {
        if (vote_num_answers[id] && vote_num_answers[id] == max_answers) {
            //Если достигли максимума вариантов ответов - чекбокс не отмечаем.
        }
        else {
            $(ident).attr('checked', 'checked');
            var obj = document.getElementById('check_custom_' + id);
            VoteCustom(obj, id, max, max_answers);
        }
    }
}

/**
 * Проверка, сколько осталось голосов.
 * Если голосов больше не осталось - показывается розовый bubbl с текстом
 * "Голосов не осталось"
 * Если голоса ещё есть - показывается жёлтый bubbl с информацией о количестве
 * оставшихся голосов
 */
var VoteCheckMax = function(obj, max_answers, id) {
    if (!vote_num_answers[id]) vote_num_answers[id] = 0;

    //прячем bubbl'ы
    $('#vote_limit').hide();
    $('#votes_left').hide();

    if (obj.checked) {
        if (vote_num_answers[id] == max_answers) {
            //показ красного bubbl'а
            $('#vote_limit').css('top', FindPosY(obj)-243).show();
            obj.checked = 0;
        }
        else {
            ++vote_num_answers[id];

            //показ жёлтого bubbl'а
            $('#votes_left').css('top', FindPosY(obj)-243).show();
            //обновление информации о количестве
            var votes_left = max_answers - vote_num_answers[id];
            $('#votes_left_num').text(votes_left);
        }
    }
    else {
        --vote_num_answers[id];
    }
}

var FindPosY = function(obj) {
   var curtop = 0;
   if(obj.offsetParent)
       while(1)
       {
         curtop += obj.offsetTop;
         if(!obj.offsetParent)
           break;
         obj = obj.offsetParent;
       }
   else if(obj.y)
       curtop += obj.y;
   return curtop;
}

//показ фразы типа "осталось 72 символа"
var VoteShowSimbolsLeft = function(textid, max) {
    var textInputIdent = "#poll_custom_" + textid;
    var emInfoIdent = "#sibmols_left_" + textid;

    var textLen = $(textInputIdent).val().length;
    var simbolsLeft = max - textLen;
    if (simbolsLeft < 0) simbolsLeft = 0;

    var infoLeftText = PluralForm(simbolsLeft, "остался", "осталось", "осталось");
    var infoSimbolsText = PluralForm(simbolsLeft, "символ", "символа", "символов");

    $(emInfoIdent).html(infoLeftText + " <strong>" + simbolsLeft + "</strong> " + infoSimbolsText).css("display", "");
}

//остались ли ещё символы
var VoteIsSimbolsLeft = function(obj, max) {
    var textLen = $(obj).val().length;
    var simbolsLeft = max - textLen;

    return (simbolsLeft>0);
}

