function valida_form() {
    var me = document.cadastro_usuario_form;
    var arr = monta_array_perguntas();
    var alen = arr.length;
    n_respostas = 0;
    for (i=0; i < arr.length; i++) {
        flag = 0;
        if ( arr[i]['nome'].indexOf('perguntaRel_') != -1 ){ // Validacao Perguntas Relacionadas
            alen = alen - 1;
        }
        else { // Validacao Perguntas
            if (arr[i]['tipo'] == 'textarea' || arr[i]['tipo'] == 'text' || arr[i]['tipo'] == 'password'){
                if ( arr[i]['nome']=='pergunta_239_664' || !IsVazio(me[arr[i]['nome']].value) ){
                    flag = 1;
                }
            }
            else{
                for (j=0; j < me[arr[i]['nome']].length; j++) {
                    if (arr[i]['nome']==' pergunta_439:list' || me[arr[i]['nome']][j].checked == true ) {
                        flag = 1;
                    }
                }
            }

            if (flag == 1) {
                n_respostas = n_respostas + 1;
            }
        }
    }
    if (n_respostas != alen) {
        alert('Você precisa responder todas perguntas (' + alen + ')');
        return false;
    }
    return true;
}
