<div class="form">
    <?php
        $TIPOPESSOA = (string) $model->INT_TIPOPESSOA;

        if ($model->isNewRecord) {
            if (!isset($_POST['Interessados'])) {
                $model->INT_TIPOPESSOA = 'J';
                $model->INT_IDVENDEDOR = User::getId();
            }
        }

        $form = $this->beginWidget('GxActiveForm', array(
            'id' => 'interessados-form',
            'enableAjaxValidation' => false,
            'focus' => array($model, 'INT_IDVENDEDOR'),
            'htmlOptions' => array('class'=>'col-xs-12 form-cadastro inline-addon')
        ));
    ?>
        <?php
            Yii::app()->clientScript->registerScript('submit', '$(document).ready( function() {$("#submit_button").click(function() {$(this).attr("disabled",true).parents("form").submit();});})');

            $this->widget('application.extensions.EChosen.EChosen', array('target' => '.echosen', 'useJQuery' => true));
            ?>

            <?php echo FaHtml::getFormInfo($form, $model); ?>

            <?php
            if ($model->isNewRecord) {
                echo $form->hiddenField($model, 'INT_IDUSUARIO', array('type' => "hidden", 'value' => User::getId()));
            }
        ?>
        <fieldset class="dark radius border-box col-xs-12 col-sm-12 col-md-12">
            <strong class="col-xs-12 col-sm-12 col-md-12 legenda">Controle interno</strong>
            <?php if ($model->isNewRecord) { ?>
                <div class="form-group col-xs-12 col-sm-6 col-md-4">
                    <?php echo $form->labelEx($model, 'INT_TIPO');?>
                    <?php
                        $opcoes = $model->tipos;
                        unset($opcoes[Interessados::OUTROS]);
                        echo $form->dropDownList($model, 'INT_TIPO', $opcoes, array(
                            'class' => 'col-xs-12 col-sm-6 col-md-4',
                            'prompt' => 'Selecione'
                        ));
                    ?>
                    <?php echo $form->error($model, 'INT_TIPO');?>
                </div><!-- row -->
            <?php } ?>
            <div class="form-group col-xs-12 col-sm-6 col-md-4">
                <?php echo $form->labelEx($model, 'INT_CIDADE');?>
                <?php $data = GxHtml::listDataEx(Cidades::model()->findAll(array('order'   => 'CID_DESCRICAO')),
                                                 'CID_IDCIDADE', 'CidadeEstado');?>
                <?php echo $form->dropDownList($model, 'INT_CIDADE', $data, array('prompt' => 'Selecione', 'class' => 'echosen'));?>
                <?php echo $form->error($model, 'INT_CIDADE');?>
            </div><!-- row -->
            <div class="form-group col-xs-12 col-sm-6 col-md-4">
                <?= $form->labelEx($model, 'INT_IDVENDEDOR');?>
                <?php
                    $opcoes = array();
                    if (!empty($model->INT_IDVENDEDOR)) {
                        $opcoes[$model->INT_IDVENDEDOR] = $model->Vendedor->FUN_NOME;
                    }
                    echo $form->dropDownList($model, 'INT_IDVENDEDOR',
                                             $opcoes,
                                             array('prompt' => 'Selecione',
                                                   'class' => 'col-xs-12 col-sm-12 col-md-12',
                                                   'data-vendedor' => $model->INT_IDVENDEDOR));
                ?>

                <?php echo $form->error($model, 'INT_IDVENDEDOR');?>
            </div><!-- row -->
            <div class="clearfix"></div>
            <div class="form-group col-xs-12 col-sm-6 col-md-4">
                <?php echo $form->labelEx($model, 'INT_TIPOPESSOA');?>
                <?php echo $form->dropDownList($model,
                                               'INT_TIPOPESSOA',
                                               array('' => 'Selecione',
                                                     'C' => 'Contador',
                                                     'E' => 'Entidade de Classe',
                                                     'S' => 'Escola',
                                                     'F' => 'Física',
                                                     'J' => 'Jurídica',
                                                     'P' => 'Parceiro',
                                                     'R' => 'Produtor Rural'),
                                               array('onchange' => 'TrocaTipoPessoa("INT", this.value)'));?>

                <?php echo $form->error($model, 'INT_TIPOPESSOA');?>
            </div><!-- row -->
            <div class="form-group col-xs-12 col-sm-6 col-md-4">
                <?php echo $form->labelEx($model, 'INT_MOTIVOS');?>
                <?php echo $form->dropDownList($model, 'INT_MOTIVOS', CacheUtil::getComoNosConheceuList(), array('prompt' => 'Selecione'));?>
                <?php echo $form->error($model, 'INT_MOTIVOS');?>
            </div><!-- row -->

            <?php
                $display = "none";
                $tipo = 0;
                if (in_array($model->INT_MOTIVOS, [51, 52, 53, 71])) { // Indicação de Cliente, Contador, Parceiros e Duplicação
                    $display = "block";
                    $tipo = $model->INT_MOTIVOS;
                }
            ?>
            <div class="form-group col-xs-12 col-sm-6 col-md-4" style="display: <?= $display; ?>">
                <?php echo $form->labelEx($model, 'INT_INDICACAO'); ?>
                <?php
                    $data = array();
                    if (!empty($model->INT_INDICACAO)) {
                        $indicacao = Clientes::model()->findByPk($model->INT_INDICACAO);
                        if ($indicacao) {
                            $data = array($indicacao->CLI_IDCLIENTE => $indicacao->getNomecidade());
                        }
                    }
                    $this->widget('ext.select2.ESelect2', array(
                        'model' => $model,
                        'attribute' => 'INT_INDICACAO',
                        'relatedModel' => 'Interessados',
                        'data' => $data,
                        'ajaxConf' => array(
                            'url' => Yii::app()->createUrl('clientes/getOpcoesIndicacao'),
                            'params' => array(
                                'field: "CLI_NOME"',
                                'id: "CLI_IDCLIENTE"',
                                "tiposSelecionados: {$tipo}",
                            )
                        ),
                    ));
                ?>
                <?php echo $form->error($model, 'INT_INDICACAO');?>
            </div><!-- row -->
        </fieldset>
        <fieldset class="dark radius border-box col-xs-12 col-sm-12 col-md-12">
            <strong class="col-xs-12 col-sm-12 col-md-12 legenda">Dados da empresa</strong>
            <div class="form-group col-xs-12 col-sm-6 col-md-4">
                <?php echo $form->labelEx($model, 'INT_EMPRESA');?>
                <?php echo $form->textField($model, 'INT_EMPRESA', array('maxlength' => 255));?>
                <?php echo $form->error($model, 'INT_EMPRESA');?>
            </div><!-- row -->
            <div class="form-group col-xs-12 col-sm-6 col-md-4 input-group">
                <?php echo $form->labelEx($model, 'INT_CPF_CNPJ');?>
                <?php echo $form->textField($model, 'INT_CPF_CNPJ',
                                            array('maxlength' => 18, 'class' => 'mask-cnpjcpf form-control btn-on-right')); ?>
                <?php //echo FaHtml::btnModal(); ?>
                <span class="input-group-btn">
                    <button id="consultaCnpj" class="btn btn-default consulta-cnpj">
                        Consultar
                    </button>
                </span>
                <?php echo $form->error($model, 'INT_CPF_CNPJ');?>
            </div><!-- row -->
            <div class="form-group col-xs-12 col-sm-6 col-md-4">
                <?php echo $form->labelEx($model, 'INT_ENDERECO');?>
                <?php echo $form->textField($model, 'INT_ENDERECO', array('maxlength' => 255));?>
                <?php echo $form->error($model, 'INT_ENDERECO');?>
            </div><!-- row -->
            <div class="clearfix"></div>
            <div class="form-group col-xs-12 col-sm-6 col-md-4">
                <?php echo $form->labelEx($model, 'INT_NUMERO');?>
                <?php echo $form->textField($model, 'INT_NUMERO', array('maxlength' => 15));?>
                <?php echo $form->error($model, 'INT_NUMERO');?>
            </div><!-- row -->
            <div class="form-group col-xs-12 col-sm-6 col-md-4">
                <?php echo $form->labelEx($model, 'INT_COMPLEMENTO');?>
                <?php echo $form->textField($model, 'INT_COMPLEMENTO', array('maxlength' => 100));?>
                <?php echo $form->error($model, 'INT_COMPLEMENTO');?>
            </div><!-- row -->
            <div class="form-group col-xs-12 col-sm-6 col-md-4">
                <?php echo $form->labelEx($model, 'INT_BAIRRO');?>
                <?php echo $form->textField($model, 'INT_BAIRRO', array('maxlength' => 60));?>
                <?php echo $form->error($model, 'INT_BAIRRO');?>
            </div><!-- row -->
            <div class="clearfix"></div>
            <div class="form-group col-xs-12 col-sm-6 col-md-4">
                <?php echo $form->labelEx($model, 'INT_CEP');?>
                <?php echo $form->textField($model, 'INT_CEP', array('maxlength' => 9, 'onKeyPress' => 'return FormataCep(this,event)'));?>
                <?php echo $form->error($model, 'INT_CEP');?>
            </div><!-- row -->
        </fieldset>
        <fieldset class="dark radius border-box col-xs-12 col-sm-12 col-md-12">
           <strong class="col-xs-12 col-sm-12 col-md-12 legenda">Informações de Contato</strong>
            <div class="form-group col-xs-12 col-sm-6 col-md-4">
                <?php echo $form->labelEx($model, 'INT_NOME', array('label' => 'Responsável (nome do contato)'));?>
                <?php echo $form->textField($model, 'INT_NOME', array('maxlength' => 255));?>
                <?php echo $form->error($model, 'INT_NOME');?>
            </div><!-- row -->
            <div class="form-group col-xs-12 col-sm-6 col-md-4">
                <?php echo $form->labelEx($model, 'INT_EMAIL');?>
                <?php echo $form->textField($model, 'INT_EMAIL', array('maxlength' => 100, 'filter' => 'email', 'class' => 'mailtolower'));?>
                <?php echo $form->error($model, 'INT_EMAIL');?>
            </div><!-- row -->
            <div class="form-group col-xs-12 col-sm-6 col-md-4">
                <?php echo $form->labelEx($model, 'INT_TELEFONE1');?>
                <?php echo $form->textField($model, 'INT_TELEFONE1', array('maxlength' => 14, 'class' => 'mask_telefone'));?>
                <?php echo $form->error($model, 'INT_TELEFONE1');?>
            </div><!-- row -->
            <div class="clearfix"></div>
            <div class="form-group col-xs-12 col-sm-6 col-md-4">
                <?php echo $form->labelEx($model, 'INT_TELEFONE2');?>
                <?php echo $form->textField($model, 'INT_TELEFONE2', array('maxlength' => 14, 'class' => 'mask_telefone'));?>
                <?php echo $form->error($model, 'INT_TELEFONE2');?>
            </div><!-- row -->
        </fieldset>
        <fieldset class="dark radius border-box col-xs-12 col-sm-12 col-md-12">
            <div class="form-group col-xs-12 col-sm-12 col-md-8 col-gd-8">
                <?php echo $form->labelEx($model, 'INT_OBSERVACOES');?>
                <?php echo $form->textArea($model, 'INT_OBSERVACOES');?>
                <?php echo $form->error($model, 'INT_OBSERVACOES');?>
            </div><!-- row -->
        </fieldset>
        <?php echo FaHtml::saveButton(); ?>
    <?php $this->endWidget(); ?>
</div><!-- form -->
<script type="text/javascript">
    function verificaMotivo() {
        if($("#Interessados_INT_TIPO").val() == "P") {
            $("label[for=Interessados_INT_MOTIVOS]").append(" <span class=\"required\">*</span>");
        } else {
            $("label[for=Interessados_INT_MOTIVOS] > .required").remove();
        }
    }
    $(document).ready(function () {
        verificaMotivo();
        $("#Interessados_INT_TIPO").change(verificaMotivo);
    });
    /*function paramsReceita() {
        $('#captcha').val('');
        $.ajax({
            url: createUrl('autocomplete/receitaParams'),
            type: 'POST',
            dataType: 'json',
            timeout: 10000,
        })
        .done(function(json) {
            if(!json) {
                $('#erro-consulta').html('Erro ao buscar imagem do captcha.');
                return;
            }
            if (json.captchaBase64 != "" && json.cookie != "") {
                $('#captcha_img').prop('src', "data:image/png;base64," + json.captchaBase64);
                $('#cookie').val(json.cookie);
            } else {
                if(json.message != undefined) {
                    $('#erro-consulta').html(json.message);
                } else {
                    $('#erro-consulta').html('Erro ao buscar imagem do captcha.');
                }
            }
        })
        .fail(function() {
            $('#erro-consulta').html('Erro ao buscar imagem do captcha.');
        });
    }
    function reloadCaptcha() {
        $('#erro-consulta').html('');
        $('#captcha').val('');
        $('.atualizado').removeClass('atualizado');
        paramsReceita();
    }*/
    $(document).ready(function() {
        $("#open-modal").click(function() {
            reloadCaptcha();
        });
        $("#consultarCNPJ").click(function() {
            $('#erro-consulta').html('');
            var param = {
                cnpj: $("#Interessados_INT_CPF_CNPJ").val(),
                captcha: $("#captcha").val(),
                cookie: $("#cookie").val()
            };

            $.ajax({
                url: createUrl('autocomplete/receita'),
                type: 'POST',
                dataType: 'json',
                timeout: 10000,
                data: param
            })
            .done(function(json) {
                if(!json) {
                    $('#erro-consulta').html('Erro ao buscar informações no site da receita.');
                    return;
                }
                if (json.code === 0 && json.message == undefined) {
                    $('#Interessados_INT_EMPRESA').val(json.razao_social).parent('div.form-group').addClass('atualizado');
                    $('#Interessados_INT_FANTASIA').val(json.nome_fantasia).parent('div.form-group').addClass('atualizado');
                    $('#Interessados_INT_ENDERECO').val(json.logradouro).parent('div.form-group').addClass('atualizado');
                    $('#Interessados_INT_NUMERO').val(json.numero).parent('div.form-group').addClass('atualizado');
                    $('#Interessados_INT_COMPLEMENTO').val(json.complemento).parent('div.form-group').addClass('atualizado');
                    $('#Interessados_INT_BAIRRO').val(json.bairro).parent('div.form-group').addClass('atualizado');
                    $('#Interessados_INT_CEP').val(json.cep).parent('div.form-group').addClass('atualizado');
                    var paramCidade = {
                        cidade: json.cidade,
                        uf: json.uf
                    };
                    $.post(createUrl('autocomplete/cidade'), paramCidade, function(cidade) {
                        if (cidade != "") {
                            $('#Interessados_INT_CIDADE option[value="'+cidade.id+'"').prop('selected', true);
                            $('#Interessados_INT_CIDADE').chosen().change();
                            $('#Interessados_INT_CIDADE').trigger("chosen:updated");
                            $('#Interessados_INT_CIDADE').parent('div.form-group').addClass('atualizado');
                        }
                    }, "json");
                    $('#captchaModal').modal('hide');
                } else {
                    if(json.message != undefined) {
                        $('#erro-consulta').html(json.message);
                    } else {
                        $('#erro-consulta').html('Erro ao buscar informações no site da receita.');
                    }
                }
            })
            .fail(function() {
                $('#erro-consulta').html('Erro ao buscar informações no site da receita.');
            });
        });

        $(document).on('change', '#Interessados_INT_MOTIVOS', function(event) {
            event.preventDefault();

            var tipo = $(this).val();
            if (tipo != "") {
                if (tipo == 51 || tipo == 52 || tipo == 53 || tipo == 71) {
                    $("#Interessados_INT_INDICACAO").parent().fadeIn(400);
                    $("#Interessados_INT_INDICACAO").prop('disabled', false);

                    $("#Interessados_INT_INDICACAO").select2('destroy');
                    $('#Interessados_INT_INDICACAO').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\x2DBR',
                        'ajax':{
                            'type':'GET',
                            'url': createUrl('clientes/getOpcoesIndicacao'),
                            'dataType':'json',
                            'contentType':'application/json',
                            'delay':100,
                            'data':function (params) {
                                return {
                                    field: "CLI_NOME",
                                    id: "CLI_IDCLIENTE",
                                    term: params.term,
                                    tiposSelecionados: tipo,
                                };
                            },
                            'processResults':function (data, params) {
                                return {
                                    results: data
                                };
                            }
                        },
                        'allowClear':false,
                        'placeholder':'Selecione',
                        'minimumInputLength':3
                    });
                } else {
                    $("#Interessados_INT_INDICACAO").parent().fadeOut(400);
                    $("#Interessados_INT_INDICACAO").prop('disabled', 'disabled');
                }
            } else {
                $("#Interessados_INT_INDICACAO").parent().fadeOut(400);
                $("#Interessados_INT_INDICACAO").prop('disabled', 'disabled');
            }
        });
    });

    $(document).ready(function(){

        $('#Interessados_INT_IDVENDEDOR').children('option:not(:first)').remove();
        $("label[for='Interessados_INT_IDVENDEDOR']").append('<img src="https://crm.delvale.com.br/assets_custom/img/ico-help.png?20180808113510" title="Selecione primeiro a Cidade do Interessado.">');

        $("#Interessados_INT_CIDADE").on('change', function(){

            var idCidade = $(this).val();
            $("label[for='Interessados_INT_IDVENDEDOR']").append('<i class="fa fa-spinner fa-spin"></i>');
            getVendedorByCidade(idCidade);
        });

        if($("#Interessados_INT_CIDADE").val() !== ""){
            idCidade = $("#Interessados_INT_CIDADE").val()
            vendedor = $("#Interessados_INT_IDVENDEDOR").data('vendedor');
            getVendedorByCidade(idCidade, vendedor);
        }

        function getVendedorByCidade(idCidade, vendedor = false) {
            $.ajax({
                contentType: 'application/json; charset=utf-8',
                type: 'GET',
                url: createUrl('autocomplete/vendedoresByCidade'),
                data: {
                    idCidade: idCidade,
                    isNewRecord: <?= $model->isNewRecord ? 1 : 0; ?>,
                },
                dataType: 'json',
                timeout: 10000,
            })
            .done(function(json) {

                $('#Interessados_INT_IDVENDEDOR').children('option:not(:first)').remove();
                $.each(json, function(i, d) {
                    var selected = '';
                    if(d.FUN_IDFUNCIONARIO == vendedor){
                        selected = 'selected';
                    }
                    $('#Interessados_INT_IDVENDEDOR').append('<option '+selected+' value="'+d.FUN_IDFUNCIONARIO+'">'+d.FUN_NOME+'</option>');
                });
                $(".fa").remove()
            }).fail(function(request, status, error){
                console.log(request, status, error);
            });
        }
    });

</script>
<!-- Modal -->
<div class="modal fade" id="captchaModal" tabindex="-1" role="dialog" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only hide">Fechar</span></button>
                <h4 class="modal-title" id="myModalLabel">Captcha</h4>
            </div>
            <div class="modal-body">
                <img id="captcha_img" src="" />
                <a href="javascript: reloadCaptcha();"><img src="<?php echo FaHtml::getImgUrl('reload.png'); ?>" /></a><br /><br />
                <input type="text" class="form-control" id="captcha" placeholder="Informe os caracteres da imagem acima" />
                <input type="hidden" id="cookie" name="cookie" value=""/>
                <div id="erro-consulta" class="color-red"></div>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Fechar</button>
                <button type="button" class="btn btn-primary" id="consultarCNPJ" data-loading-text="<i class='fa fa-spinner fa-spin '></i> Consultando..">Consultar</button>
            </div>
        </div>
    </div>
</div>

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

$script = <<<JAVASCRIPT
    jQuery(document).ready(function($) {
        $(document).on('click', '#consultaCnpj', function(event) {
            $(this).addClass('disabled').prop('disabled', true);

            var cnpj = $("#Interessados_INT_CPF_CNPJ").val();

            cnpj = cnpj.replace(/(\.|\/|\-)/g, "");
            if (cnpj != "" && cnpj.length > 11) {
                var button = $(this);

                $.ajax({
                    url: createUrl('clientes/consultaCnpj'),
                    type: 'GET',
                    dataType: 'json',
                    data: {
                        cnpj: cnpj,
                    },
                })
                .done(function(json) {
                    if (json.status == "OK") {
                        $('#Interessados_INT_EMPRESA').val(json.nome).parent('div.form-group').addClass('atualizado');
                        $('#Interessados_INT_FANTASIA').val(json.fantasia).parent('div.form-group').addClass('atualizado');
                        $('#Interessados_INT_ENDERECO').val(json.logradouro).parent('div.form-group').addClass('atualizado');
                        $('#Interessados_INT_NUMERO').val(json.numero).parent('div.form-group').addClass('atualizado');
                        $('#Interessados_INT_COMPLEMENTO').val(json.complemento).parent('div.form-group').addClass('atualizado');
                        $('#Interessados_INT_BAIRRO').val(json.bairro).parent('div.form-group').addClass('atualizado');
                        $('#Interessados_INT_CEP').val(json.cep).parent('div.form-group').addClass('atualizado');

                        var paramCidade = {
                            cidade: json.municipio,
                            uf: json.uf
                        };
                        $.post(createUrl('autocomplete/cidade'), paramCidade, function(cidade) {
                            if (cidade != "") {
                                $('#Interessados_INT_CIDADE option[value="'+cidade.id+'"').prop('selected', true);
                                $('#Interessados_INT_CIDADE').chosen().change();
                                $('#Interessados_INT_CIDADE').trigger("chosen:updated");
                                $('#Interessados_INT_CIDADE').parent('div.form-group').addClass('atualizado');
                            }
                        }, "json");
                    } else {
                        $("#retornoConsulta").html(json.message);
                        $("#consultaReceitaOrg").trigger('click');
                    }
                })
                .fail(function() {
                    $("#loading").hide();
                    $("#retornoConsulta").html("Ocorreu um erro na consulta! <br>");
                    $("#retornoConsulta").append("Tente novamente ou faça a consulta na receita no botão abaixo.");
                });
            } else {
                if (cnpj == "") {
                    alert("Informe um CNPJ!");
                } else {
                    alert("A consulta somente está disponível para CNPJs!");
                }
            }
            return false;
        });

        $(document).on('change', '#Interessados_INT_TIPO', function(event) {
            if ($(this).val() == "C") {
                $("#Interessados_INT_TIPOPESSOA").attr('readonly', 'readonly');
                $("#Interessados_INT_TIPOPESSOA").val("C");
            } else {
                $("#Interessados_INT_TIPOPESSOA").attr('readonly', false);
            }
        });
    });
JAVASCRIPT;

$cs->registerScript(Util::uid(), $script);
