function reduce(arr, reduceFunction, initialValue) {
    for(i=0; i<arr.length; i++) {
        if(typeof(initialValue)=='undefined')
            initialValue = arr[i];
        else
            initialValue = reduceFunction(arr[i], initialValue);
    }
    return initialValue;
};


function quiz_submit() {

    var replied = reduce($('#quiz-form ul').map(function() {
        return reduce($(this).find('input').map(function() {
            return this.checked;
        }), function(x, y) {
            return x || y;
        });
    }), function(x, y) {
        return x && y;
    });

    if(!replied) {
        window.alert('Por favor, responda a todas as perguntas!');
        return false;
    } else {
        return true;
    }

}

$(document).ready(function() {

    $('#quiz-form').submit(quiz_submit);

});
