/**
 * displayFields.js — Solicitação de Compra
 * ============================================
 * Controla VISIBILIDADE dos painéis e campos
 * baseado na atividade atual do processo BPM.
 *
 * Executado automaticamente pelo Fluig quando o
 * formulário é renderizado. Recebe o parâmetro
 * "form" com o contexto do formulário.
 *
 * REGRA: Cada atividade expande SEU painel e
 * colapsa/mostra os anteriores como read-only.
 */

function displayFields(form, customHTML) {
    // Obtém o número da atividade atual
    var nAtiv = form.getValue('WKNumState');

    // Atividade 0 = visualização (sem atividade ativa)
    if (!nAtiv || nAtiv === '0') {
        // Modo visualização: todos os painéis visíveis e colapsados
        mostrarTodosPaineis();
        return;
    }

    nAtiv = parseInt(nAtiv, 10);

    switch (nAtiv) {
        case 2:
            // Atividade 2: Solicitante preenche dados
            $('#painel_ativ_2').show();
            $('#painelA_ativ_2').collapse('show');
            $('#painel_ativ_5').hide();
            $('#painel_ativ_10').hide();
            break;

        case 5:
            // Atividade 5: Gestor aprova
            $('#painel_ativ_2').show();
            $('#painelA_ativ_2').collapse('show');
            $('#painel_ativ_5').show();
            $('#painelA_ativ_5').collapse('show');
            $('#painel_ativ_10').hide();
            // Preenche span de status da atividade anterior
            preencherSpanStatus(2);
            break;

        case 10:
            // Atividade 10: Diretor aprova
            mostrarTodosPaineis();
            $('#painelA_ativ_10').collapse('show');
            // Preenche spans de atividades anteriores
            preencherSpanStatus(2);
            preencherSpanStatus(5);
            break;

        default:
            mostrarTodosPaineis();
            break;
    }
}

/**
 * Mostra todos os painéis (modo visualização ou atividade final)
 */
function mostrarTodosPaineis() {
    $('#painel_ativ_2').show();
    $('#painel_ativ_5').show();
    $('#painel_ativ_10').show();
}
