/**
 * Пакет для голосования
 * @namespace GlobalREsources
 */
GlobalResources.Votings = function() {

    var $form = $();

    function setupForm() {
        var $i = $form.find('label input')
            .css({
                opacity: 0
            })
            .after(document.createElement('ins'))
            .change(function() {
                if (this.checked) {
                    $form.find('ins').removeClass('act');
                    $(this).siblings('ins').addClass('act');
                }
            });
        $i.eq(0).attr('checked' , 'checked').siblings('ins').addClass('act');

        $form.submit(function() {
            submitForm();
            return false;
        })
    }

    function submitForm() {
        var form = $form.get(0);
        var arr = $form.serializeArray();
        var answerId = 0;
        for (var i = 0; i < arr.length; i++) {
            if (arr[i].name == 'voting_answer_id') {
                answerId = arr[i].value;
                break;
            }
        }
        if (answerId > 0) {
            $G.getJSON({
                _do : 'vote',
                answer_id : answerId
            }, _responseHandler);
        }
    }

    function _responseHandler(data) {
        if ((data) && (data.answers)) {
            var $dl = $(document.createElement('dl')).insertAfter($form);
            for (var i = 0; i < data.answers.length; i++) {
                $dl
                    .append($(document.createElement('dt')).html(data.answers[i][0]))
                    .append($(document.createElement('dd')).html(data.answers[i][1]));
            }
            $form.replaceWith($dl);
        }


    }

    return {
        /**
         * Инициализация
         */
        init : function() {
            $form = $(document.getElementById('voting')).find('form');
            if ($form.length) {
                setupForm();
            }
        }
    }
}()

