<?php
$this->renderPartial('_cabecalho', array('model' => $model));

$camposValidacao = array(
    'SOL_LINK' => 'SOL_LINK',
    'SOL_IDMOTIVO' => 'Motivo',
    'SOL_IDPROJETO' => 'Projeto',
    'SOL_IDFORMULARIO' => 'Formulario',
);
$camposDoMotivo = $model->getCamposDoMotivo();
$camposValidacao += $camposDoMotivo;

$grid_class = 'col-lg-12 col-md-12 col-sm-12 col-xs-12 info-padding';
$cssCampos = '';
$form = $this->beginWidget('GxActiveForm', array('id' => 'validacao-campos-pre-analise','enableAjaxValidation' => false,'htmlOptions' => array('class'=>'col-xs-12 ')));
$criterios = $model->registraAceitacao();
if(is_array($criterios)) {
    echo $form->hiddenField($model, 'SOL_IDSCRITERIOS', array('value' => implode(',', array_keys($criterios))));
} else {
    $criterios = array();
}
echo $form->hiddenField($model, 'SOL_IDPENDENCIA', array('id' => 'id-pendencia'));
?>
<h1 class="h1-block validar-pendencia">Validar pendência</h1>
<div id="finalizar-info" class="sr-only"></div>
<?php foreach($camposValidacao as $campo) { ?>
    <?php if($campo == "SOL_TIPOFALHA") continue; ?>
    <?php $cssCampos .= ".block-info-pendencia.{$campo}:before { content: '{$model->getAttributeLabel($campo)}'; }"; ?>
    <?php $display = ($campo != "SOL_LINK") ? "none" : "block"; ?>
    <?php
        $classes = array();
        $classes[] = "validacaoCampo";
        $classes[] = $grid_class;
        if (in_array($campo, $camposDoMotivo)) {
            $classes[] = "campo-motivo";
        }
        $classes = implode(" ", $classes);
    ?>
    <div class="<?= $classes; ?>" id="<?= $campo ?>" style="display: <?= $display; ?>">
        <div class="block-info-pendencia validar-pendencia <?php echo $campo; ?>">
            <div class="col-xs-6 col-sm-8" id="Valor_<?php echo $campo; ?>">
                <?php echo Util::niceTextPendencias($model->{$campo});?>
            </div>
            <div class="col-xs-6 col-sm-4">
                <label class="switch col-xs-5 col-sm-3 col-lg-2">
                    <?php
                        if(!isset($model->RevisaoCampos[$campo]) || $model->SOL_APROVADA_PRE_ANALISE == Solicitacoes::APROV_CORRECOES_REALIZADAS) {
                            $model->RevisaoCampos[$campo] = array(
                                'EstaCorreto' => 1,
                                'ValorInformado' => null,
                                'ValorCorreto' => null,
                                'CriteriosAceitos' => array(),
                            );
                        }
                        if(!isset($_POST['Solicitacoes']) && !$revisaoAnterior) {
                            $model->RevisaoCampos[$campo]['EstaCorreto'] = 1;
                        }
                        echo $form->checkbox($model, "RevisaoCampos[{$campo}][EstaCorreto]", array(
                            'class' => "Validar_{$campo} Validar",
                            'value' => 1,
                            'uncheckValue' => 0,
                            'data-field' => $campo,
                            'data-fieldlabel' => $model->getAttributeLabel($campo),
                            'checked' => ($campo != 'SOL_LINK') ? 'checked' : false,
                        ));
                    ?>
                    <div class="slider round" <?php echo "id='slider_{$campo}'"; ?>></div>
                </label>
                <div class="col-xs-7 col-sm-9 col-lg-10" id="Validar_<?php echo $campo; ?>">
                    <div class="info-validacao" style="display: none;">
                        <?php if ($campo != "SOL_LINK") { ?>
                            <a href="javascript:void(0);" class="editar-validacao-campo border-radius-4 btn btn-success cancelar-btn" class="Validar_<?php echo $campo; ?> Validar" data-field="<?php echo $campo; ?>" data-fieldlabel="<?php echo $model->getAttributeLabel($campo); ?>" title="Editar"><i class="fa fa-pencil"></i></a>
                        <?php } ?>
                        <?php if($campo == "Motivo") { ?>
                            <?php echo $form->hiddenField($model, "RevisaoCampos[{$campo}][ValorInformado]", array('value' => $model->SOL_IDMOTIVO)); ?>
                            <div class="info-validacao-text border-radius-4">
                                <div class='color-red criterios-selection-headers criterios-reprovados'>Motivo informado</div>
                                <div class="criterios-reprovados-text"><?php echo $model->Motivo; ?></div>
                                <div class='color-green criterios-selection-headers criterios-aprovados'>Motivo correto</div>
                                <div class="criterios-aprovados-text"></div>
                            </div>
                            <div class="info-validacao-modal sr-only" id="Form_<?php echo $campo; ?>" data-original-value="<?php echo $model->SOL_IDMOTIVO; ?>">
                                <?php
                                $data = MotivosProjetos::model()->with('Motivo')->findAll("
                                    MPS_IDPROJETO='{$model->SOL_IDPROJETO}' AND
                                    MOT_SITUACAO = 'A' AND
                                    Motivo.MOT_IDMOTIVO <> '{$model->SOL_IDMOTIVO}'
                                ");
                                $data = CHtml::listData($data, 'Motivo.MOT_IDMOTIVO', 'Motivo.MOT_DESCRICAO');
                                echo $form->dropDownList($model, "RevisaoCampos[{$campo}][ValorCorreto]", $data, array(
                                    'prompt' => 'Selecione o motivo correto'
                                ));
                                ?>
                            </div>
                        <?php } elseif ($campo == "Projeto") { ?>
                            <?php echo $form->hiddenField($model, "RevisaoCampos[{$campo}][ValorInformado]", array('value' => $model->SOL_IDPROJETO)); ?>
                            <div class="info-validacao-text border-radius-4">
                                <div class='color-red criterios-selection-headers criterios-reprovados'>Projeto informado</div>
                                <div class="criterios-reprovados-text"><?php echo $model->Projeto; ?></div>
                                <div class='color-green criterios-selection-headers criterios-aprovados'>Projeto correto</div>
                                <div class="criterios-aprovados-text" id="projeto-correto"></div>
                            </div>
                            <div class="info-validacao-modal sr-only" id="Form_<?php echo $campo; ?>" data-original-value="<?php echo $model->SOL_IDPROJETO; ?>">
                                <?php
                                $projetos = FuncionariosProjetos::model()->getProjetos(User::getId(), array($model->SOL_IDPROJETO));
                                echo $form->dropDownList($model, "RevisaoCampos[{$campo}][ValorCorreto]", $projetos, array('prompt' => 'Selecione o projeto correto'));
                                ?>
                            </div>
                        <?php } elseif ($campo == "Formulario") { ?>
                            <?php echo $form->hiddenField($model, "RevisaoCampos[{$campo}][ValorInformado]", array('value' => $model->SOL_IDFORMULARIO)); ?>
                            <div class="info-validacao-text border-radius-4">
                                <div class='color-red criterios-selection-headers criterios-reprovados'>Formulário informado</div>
                                <div class="criterios-reprovados-text"><?php echo $model->Formulario; ?></div>
                                <div class='color-green criterios-selection-headers criterios-aprovados'>Formulário correto</div>
                                <div class="criterios-aprovados-text" id="formulario-correto"></div>
                            </div>
                            <div class="info-validacao-modal sr-only" id="Form_<?php echo $campo; ?>" data-original-value="<?php echo $model->SOL_IDFORMULARIO; ?>">
                                <?php
                                    if((!isset($_POST['Solicitacoes'])) && !$revisaoAnterior) {
                                        $model->RevisaoCampos[$campo]['ValorCorreto'] = -1;
                                    }
                                    if(!isset($model->RevisaoCampos[$campo]['ValorCorreto'])){
                                        $model->RevisaoCampos[$campo]['ValorCorreto'] = -1;
                                    }
                                    $this->widget('ext.select2.ESelect2', array(
                                        'model' => $model,
                                        'attribute' => "RevisaoCampos[{$campo}][ValorCorreto]",
                                        'relatedModel' => 'Formularios',
                                        'relatedValue' => 'CodDesc',
                                        'value' => $model->RevisaoCampos[$campo]['ValorCorreto'],
                                        'ajaxConf' => array(
                                            'url' => Yii::app()->createUrl('autocomplete/formularios'),
                                            'params' => array(
                                                'projeto: getProjeto()',
                                                )
                                            ),
                                        )
                                    );
                                ?>
                            </div>
                        <?php } elseif ($campo == "SOL_LINK") { ?>
                            <?php echo $form->hiddenField($model, "RevisaoCampos[{$campo}][ValorInformado]", array('value' => $model->SOL_LINK)); ?>
                            <div class="info-validacao-text border-radius-4">
                                <div class='color-red criterios-selection-headers criterios-reprovados'>Link da base informado</div>
                                <div class="criterios-reprovados-text" style="margin-bottom: 0; border-bottom: 0; min-height: 22px;">
                                    <?php echo $model->SOL_LINK; ?>
                                </div>
                            </div>
                        <?php } else { ?>
                            <div class="info-validacao-text border-radius-4">
                                <div class='color-red criterios-selection-headers criterios-reprovados'>Critérios reprovados</div>
                                <div class="criterios-reprovados-text"></div>
                                <div class='color-green criterios-selection-headers criterios-aprovados'>Critérios aprovados</div>
                                <div class="criterios-aprovados-text"></div>
                            </div>
                            <div class="info-validacao-modal sr-only" id="Form_<?php echo $campo; ?>">
                                <?php
                                    if(!isset($_POST['Solicitacoes']) && !$revisaoAnterior) {
                                        if(is_array($criterios)) {
                                            $model->RevisaoCampos[$campo]['CriteriosAceitos'] = array_keys($criterios);
                                        } else {
                                            $model->RevisaoCampos[$campo]['CriteriosAceitos'] = array();
                                        }
                                    }
                                    echo $form->dropDownList($model, "RevisaoCampos[{$campo}][CriteriosAceitos]", $criterios, array(
                                        'multiple' => 'multiple',
                                        'class' => 'multiselect_'.$campo
                                    ));
                                ?>
                            </div>
                            <select class="info-validacao-before-modal sr-only" multiple="multiple" id="Form_<?php echo $campo; ?>_before_modal"></select>
                        <?php } ?>
                    </div>
                </div>
            </div>
        </div>
    </div>
<?php } ?>
<div class="form-group">
    <?php echo FaHtml::saveButton('Finalizar'); ?>
</div>
<?php $this->endWidget(); ?>

<div class="modal fade full-modal" id="validacaoModal" tabindex="-1" role="dialog" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header border-box">
                <button type="button" class="close" data-dismiss="modal" id="fechar"><span aria-hidden="true">&times;</span><span class="sr-only hide">Fechar</span></button>
                <h4 class="modal-title" id="myModalLabel">Campo com valor inválido: <span id="fieldLabel"></span></h4>
            </div>
            <div class="modal-body border-box">
                <div id="modalBodyContent">
                    <div class="col-sm-6 info-padding border-box" id="Modal_Valor_Campo">
                    </div>
                    <div class="col-sm-6 info-padding border-box">
                        <div class="col-xs-12" id="Modal_Form_Campo"></div>
                        <div id="erro-validacao" class="color-red col-xs-12"></div>
                    </div>
                </div>
                <input type="hidden" id="campoValidacao" name="campoValidacao" value=""/>
            </div>
            <div class="modal-footer border-box">
                <button type="button" class="btn btn-default cancelar-btn" id="cancelar" data-dismiss="modal">Cancelar</button>
                <button type="button" class="btn btn-success confirmar-btn" id="confirmar" data-loading-text="<i class='fa fa-spinner fa-spin '></i> Consultando..">Confirmar</button>
            </div>
        </div>
    </div>
</div>

<script type="text/javascript">
    function comparaCamposDosMotivos(callback) {
        jQuery.ajax({
            type: 'GET',
            url: createUrl('solicitacoes/ComparaCamposDosMotivos'),
            cache: false,
            data: {
                pendencia: $("#id-pendencia").val(),
                motivo: $('#modalBodyContent select').val()
            },
            success: function(response) {
                callback(response);
            }
        });
    }
    function getProjeto() {
        var container = $("#Form_Projeto");
        var projeto = container.data("original-value");
        if(!$("#Solicitacoes_RevisaoCampos_Projeto_EstaCorreto").is(":checked") && container.find('select').val() != "" && container.find('select').val() != undefined) {
            projeto = container.find('select').val();
        }
        return projeto;
    }
    $("#validacaoModal").on('hide.bs.modal', function (e) {
        var botaoClicado = $(document.activeElement).prop('id');
        if(botaoClicado == "fechar" || botaoClicado == "cancelar") {
            var campo = $("#campoValidacao").val();
            if(campo == "SOL_LINK" || campo == "Motivo" || campo ==  "Projeto" || campo ==  "Formulario") {
                var selecionado = $('#Form_'+campo+' option:selected');
                if(selecionado.val() == "" || selecionado.val() == undefined) {
                    $(".Validar_"+campo).prop('checked', true).trigger('change');
                }
            } else {
                var selecionado = $('#Form_'+campo+'_before_modal option:selected').val();
                var todos = $('#Form_'+campo+'_before_modal option').val();
                if(selecionado == todos && selecionado != undefined && todos != undefined) {
                    $('#Form_'+campo+' select').html($('#Form_'+campo+'_before_modal').html());
                    $(".Validar_"+campo).prop('checked', true).trigger('change');
                } else {
                    $('#Validar_'+campo).find('div.info-validacao').show();
                }
            }
        }

        $("#campoValidacao").val('');
        $("#fieldLabel").text('');
        $("#Modal_Valor_Campo").html('');
        $("#Modal_Form_Campo").html('');
        $('#erro-validacao').text('');
        return true;
    });
    function recreateSelect2Formulario() {
        var valor_atual = $("#Solicitacoes_RevisaoCampos_Formulario_ValorInformado").val();
        $("#modalBodyContent").find('.select2').remove();
        $("#modalBodyContent").find('select').select2({
            'formatNoMatches':function() { return "Nenhum resultado"; },
            'formatInputTooShort':function(input,min) { return "Digite mais "+(min-input.length)+" caracteres"; },
            'formatInputTooLong':function(input,max) { return "Digite "+(input.length-max)+" caracteres a menos"; },
            'formatSelectionTooBig':function(limit) { return "Você só pode selecionar "+limit+" item"; },
            'formatLoadMore':function(pageNumber) { return "Carregando.."; },
            'formatSearching':function() { return "Procurando.."; },
            'language':'pt-BR',
            'ajax':{
                'type':'get',
                'url':"<?php echo $this->createUrl('autocomplete/formularios'); ?>",
                'dataType':'json',
                'contentType':'application/json',
                'delay':100,
                'data':function (params) { return { projeto: getProjeto(),term: params.term,json: true, ignore: valor_atual }; },
                'processResults':function (data, params) { return { results: data };}
            },
            'allowClear':false,
            'placeholder':'Selecione','minimumInputLength':3,
            dropdownParent: $("#Modal_Form_Campo")
        });
    }
    function openModal(campo, label) {
        $("#campoValidacao").val(campo);
        $("#fieldLabel").text(label);
        $("#Modal_Valor_Campo").html($('#Valor_'+campo).html());
        $("#Modal_Form_Campo").html($('#Form_'+campo).html());
        $('#erro-validacao').text('');

        if(campo == "Motivo" || campo ==  "Projeto" || campo ==  "Formulario") {
            $("#validacaoModal").removeClass('full-modal');
            if(campo ==  "Formulario") {
                recreateSelect2Formulario();
            }
        } else if (campo == "SOL_LINK") {
            if(!$("#validacaoModal").hasClass('full-modal')) {
                $("#validacaoModal").addClass('full-modal');
            }
        } else {
            if(!$("#validacaoModal").hasClass('full-modal')) {
                $("#validacaoModal").addClass('full-modal');
            }
            $('#Form_'+campo+'_before_modal').html($('#Form_'+campo+' select').html());
            $('.multiselect_'+campo).multiSelect('destroy');
            $('.multiselect_'+campo).multiSelect({
                selectionHeader: "<div class='color-green criterios-selection-headers criterios-aprovados'><b>Critérios aprovados</b></div>",
                selectionFooter: "<a href='#multiselect_"+campo+"_deselect_all' id='multiselect_"+campo+"_deselect_all'>Reprovar todos</a>",
                selectableHeader: "<div class='color-red criterios-selection-headers criterios-reprovados'><b>Critérios reprovados</b></div>",
                selectableFooter: "<a href='#multiselect_"+campo+"_select_all' id='multiselect_"+campo+"_select_all'>Aprovar todos</a>",
                    keepOrder: true,
            });
            $(document).on('click', '#multiselect_'+campo+'_select_all', function(){
              $('.multiselect_'+campo).multiSelect('select_all');
              return false;
            });
            $(document).on('click', '#multiselect_'+campo+'_deselect_all', function(){
              $('.multiselect_'+campo).multiSelect('deselect_all');
              return false;
            });
        }
        $("#validacaoModal").modal({
            keyboard: false
        });
    }
    $(document).on('click', '#confirmar', function() {
        var campo = $('#campoValidacao').val();
        var label = $('#fieldLabel').text();
        var hide = true;

        var selectField = $('#modalBodyContent').find('select');
        var selectedOption = selectField.find('option:selected');
        var nonSelectedOption = selectField.find('option:not(:selected)');

        nonSelectedOption.removeAttr('selected');
        nonSelectedOption.prop('selected', false);
        selectedOption.attr('selected', 'selected');
        selectedOption.prop('selected', true);

        if(campo == 'Motivo' || campo == 'Formulario' || campo == 'Projeto') {

            if(selectedOption.val() == "" || selectedOption.val() == undefined) {

                $('#erro-validacao').html('Selecione o <b>'+label+'</b> correto!')
                $('#Modal_Form_Campo select').focus();
                hide = false;
            } else if(campo == "Motivo") {
                hide = false;
                comparaCamposDosMotivos(function(response, hide) {
                    response = JSON.parse(response);
                    if(response.code == 0) {
                        $('#Validar_'+campo).find('.criterios-aprovados-text').html(selectField.find('option:selected').text()+"<br /><small class='color-blue'>Possui os mesmos campos que o motivo informado!</small>");
                        $('#Form_'+$('#campoValidacao').val()).html($(document).find("#Modal_Form_Campo").html());
                        $('#validacaoModal').modal('hide');
                        $('#Validar_'+campo).find('div.info-validacao').show();
                        $('.select2').remove();

                        $('#Validar_'+campo).data('same-fields', false);

                        $(".campo-motivo").fadeIn(400);
                    } else if(response.code == 1) {
                        $('#Form_'+$('#campoValidacao').val()).html($(document).find("#Modal_Form_Campo").html());
                        $('#validacaoModal').modal('hide');
                        $('#Validar_'+campo).find('div.info-validacao').show();
                        $('.select2').remove();

                        $('#Validar_'+campo).data('same-fields', true);

                        $(".campo-motivo").fadeOut(400);
                    } else if(response.code == 2) {
                        $('#erro-validacao').html(response.message);
                    } else {
                        $('#erro-validacao').html('Houve um erro ao tentar processar sua requisição. Favor contate o responsvável pelo CRM!<br />Código do erro:'+response.code+'<br />Mensagem:'+response.message);
                    }
                });

                $('#Validar_'+campo).find('.criterios-aprovados-text').html(selectField.find('option:selected').text());
            } else {

                $('#Validar_'+campo).find('.criterios-aprovados-text').html(selectField.find('option:selected').text());
            }
        } else if (campo == 'SOL_LINK') {
            var input = $('#modalBodyContent').find('input');
            if (input.val() == "" || input.val() == undefined) {
                $('#erro-validacao').html('Preencha o <b>'+label+'</b> corretamente!')
                hide = false;
            } else {
                $('#Validar_'+campo).find('.criterios-aprovados-text').html(input.val());
            }
        } else {
            var reprovados = nonSelectedOption;

            if(reprovados.length == 0 || reprovados.length == undefined) {

                $('#erro-validacao').html('Selecione os critérios em que o campo <b>'+label+'</b> não passou!')
                $('.ms-selection .ms-list').focus();
                hide = false;
            } else {
                var aprovados = selectedOption;
                var reprovadosText = [], aprovadosText = [];

                $(aprovados).each(function() {
                    aprovadosText.push($(this).text());
                });
                $(reprovados).each(function() {
                    reprovadosText.push($(this).text());
                });
                $('#Validar_'+$('#campoValidacao').val()).find('.criterios-reprovados-text').html(reprovadosText.join('<br />'));
                $('#Validar_'+$('#campoValidacao').val()).find('.criterios-aprovados-text').html(aprovadosText.join('<br />'));
                $('.multiselect_'+$('#campoValidacao').val()).multiSelect('destroy');
                $('#Form_'+campo+'_before_modal').html($(document).find("#Modal_Form_Campo select").html());
            }
        }
        if(hide) {
            $('#Form_'+$('#campoValidacao').val()).html($(document).find("#Modal_Form_Campo").html());
            $('#validacaoModal').modal('hide');
            $('#Validar_'+campo).find('div.info-validacao').show();
        }
    });
    function verificarValidacao(field, onready) {
        //var name = $(field).prop('name');
        var campo = $(field).data('field');
        var label = $(field).data('fieldlabel');
        var validacaoAtual = $(field).parents('.validacaoCampo');
        var outrasValidacoes = validacaoAtual.siblings('.validacaoCampo');

        if ($(field).is(':checked')) {
            $("#campoValidacao").val('');
            $("#fieldLabel").text('');
            $('#'+campo).find('div.info-validacao').hide();

            if (campo == "SOL_LINK") {
                outrasValidacoes.fadeIn(400);
            }
            if ($("#Solicitacoes_RevisaoCampos_SOL_LINK_EstaCorreto").is(':checked') && campo == "Motivo") {
                $(".campo-motivo").fadeIn(400);
            }
        } else {
            if (campo == "SOL_LINK") {
                if (campo == "SOL_LINK") {
                    outrasValidacoes.fadeOut(400);
                }
            } else {
                $('#'+campo).find('div.info-validacao').show();
                var selectField =$('#'+campo).find('div.info-validacao').find('select');
                if(!onready) {
                    openModal(campo, label);
                } else if (campo == 'SOL_LINK' || campo == 'Motivo' || campo == 'Formulario' || campo == 'Projeto') {
                    $('#'+campo).find('.criterios-aprovados-text').html(selectField.find('option:selected').text());
                } else {
                    var selectedOption = selectField.find('option:selected');
                    var nonSelectedOption = selectField.find('option:not(:selected)');

                    var aprovados = selectedOption;
                    var reprovados = nonSelectedOption;

                    var reprovadosText = [], aprovadosText = [];

                    $(aprovados).each(function() {
                        aprovadosText.push($(this).text());
                    });
                    $(reprovados).each(function() {
                        reprovadosText.push($(this).text());
                    });

                    $('#'+campo).find('.criterios-reprovados-text').html(reprovadosText.join('<br />'));
                    $('#'+campo).find('.criterios-aprovados-text').html(aprovadosText.join('<br />'));
                }
            }
        }
    }
    $('.editar-validacao-campo').click(function() {
        var campo = $(this).data('field');
        var label = $(this).data('fieldlabel');
        openModal(campo, label);
    });
    $('input[type=checkbox].Validar').change(function(event) {
        verificarValidacao(this, false);
    });
    $('input[type=checkbox].Validar').each(function(event) {
        verificarValidacao(this, true);
    });

    $(document).ready( function() {
        $("#submit_button").click(function(e) {
            $(this).prop("disabled",true);
            $(this).attr("disabled","disabled");
            var _this = this;
            e.preventDefault();

            var linkAprovado = 0;
            if ($("#Solicitacoes_RevisaoCampos_SOL_LINK_EstaCorreto").is(":checked")) {
                linkAprovado = 1;
            }

            var motivoReprovadoOutrosCampos = 0;
            if (!$("#Solicitacoes_RevisaoCampos_Motivo_EstaCorreto").is(":checked")) {
                motivoReprovadoOutrosCampos = $('#Validar_Motivo').data('same-fields') == true ? 1 : 0;
            }

            jQuery.ajax({
                type: 'GET',
                url: createUrl('solicitacoes/getFormValidar'),
                cache: false,
                data: {
                    id: $("#id-pendencia").val(),
                    local: <?php echo json_encode($atividade->SAT_IDLOCAL); ?>,
                    descricao: <?php echo json_encode($atividade->SAT_DESCRICAO); ?>,
                    linkAprovado: linkAprovado,
                    motivoReprovadoOutrosCampos: motivoReprovadoOutrosCampos,
                },
                success: function(response) {
                    bootbox.confirm({
                        title: 'Finalizar avaliação',
                        message: response,
                        buttons: {
                            confirm: {
                                label: 'Salvar',
                                className: 'btn-success finalizar-avaliacao'
                            },
                            cancel: {
                                label: 'Cancelar',
                                className: 'btn-danger'
                            }
                        },
                        callback: function (result) {
                            $(".error-local").html("");
                            $(".error-link").html("");
                            $(".error-descricao").html("");

                            if(result == true) {
                                var error = false;
                                var local = $('.bootbox-body select');
                                if (linkAprovado) {
                                    var link = $('.bootbox-body input');
                                }
                                var descricao = $('.bootbox-body textarea');

                                if(local.val() == undefined || local.val() == "") {
                                    error = true;
                                    local.addClass('error');
                                    $(".label-local").addClass('error');
                                    $(".error-local").html("Nenhum local selecionado!");
                                }
                                if (linkAprovado) {
                                    if(link.val() == undefined || link.val() == "") {
                                        error = true;
                                        link.addClass('error');
                                        $(".label-link").addClass('error');
                                        $(".error-link").html("Nenhum link da base informado!");
                                    }
                                }
                                if(descricao.val() == undefined || descricao.val() == "") {
                                    error = true;
                                    descricao.addClass('error');
                                    $(".label-descricao").addClass('error');
                                    $(".error-descricao").html("Nenhuma descrição informada!");
                                }
                                if(!error) {
                                    $("#finalizar-info").html($('.bootbox-body').html());
                                    $("#finalizar-info select option[value="+local.val()+"]").attr('selected', 'selected');
                                    if (linkAprovado) {
                                        $("#finalizar-info input").val(link.val());
                                    }
                                    $("#finalizar-info textarea").text(descricao.val());

                                    $("form")[0].submit()
                                } else {
                                    $(_this).removeAttr("disabled");
                                    $(_this).prop("disabled",false);
                                    return false;
                                }
                            } else {
                                $(_this).removeAttr("disabled");
                                $(_this).prop("disabled",false);
                            }
                        },
                        onEscape: function(result) {
                            $(_this).removeAttr("disabled");
                            $(_this).prop("disabled",false);
                        },
                    });
                }
            });
        });
    })
</script>
<?php

$cs = Yii::app()->getClientScript();

$cs->registerCss('cssCampos', $cssCampos);
$cs->registerCssFile(FaHtml::getJsUrl('multi-select/css/multi-select.dist.css'));
$cs->registerScriptFile(FaHtml::getJsUrl('multi-select/js/jquery.multi-select.js'), CClientScript::POS_END);
$cs->registerScriptFile(FaHtml::getJsUrl('bootbox.min.js'), CClientScript::POS_END);

$css = <<<CSS
    .info-validacao > .btn > i {
        margin-right: 0 !important;
    }
CSS;
$cs->registerCss('validar_css', $css);
