<?php

class Endosso_Form_Solicitacao extends Agro_Form {

    public function init() {
        $usuarioLogado = Zend_Auth::getInstance()->getIdentity();

        $this->addElement('text', 'ds_a_favor_excluir', array(
            'decorators' => $this->elementDecorator,
            'maxlength' => 500,
            'label' => 'A favor de',
            'required' => false,
            'size' => 50
        ));

        $this->addElement('text', 'ds_na_qualidade_excluir', array(
            'decorators' => $this->elementDecorator,
            'maxlength' => 500,
            'label' => 'Na qualidade de',
            'required' => false,
            'size' => 40
        ));

        $this->addElement('text', 'vl_ate_excluir', array(
            'decorators' => $this->elementDecorator,
            'label' => 'Até R$',
            'size' => 20,
            'required' => false,
            'class' => 'currency'
        ));

        $this->addElement('text', 'cpf_cnpj_excluir', array(
            'decorators' => $this->elementDecorator,
            'label' => 'CPF/CNPJ',
            'required' => false,
            'size' => 15
        ));

        $this->addElement('text', 'data_nasc_excluir', array(
            'decorators' => $this->elementDecorator,
            'label' => 'Data Nasc.',
            'required' => false,
            'size' => 11,
            'class' => 'data',
            'maxlength' => 10
        ));

        $this->addElement('text', 'data_nasc_incluir', array(
            'decorators' => $this->elementDecorator,
            'label' => 'Data Nasc.',
            'required' => false,
            'size' => 11,
            'class' => 'data',
            'maxlength' => 10
        ));

        $this->addElement('text', 'ds_a_favor_incluir', array(
            'decorators' => $this->elementDecorator,
            'maxlength' => 500,
            'label' => 'A favor de',
            'required' => false,
            'size' => 50
        ));

        $this->addElement('text', 'ds_na_qualidade_incluir', array(
            'decorators' => $this->elementDecorator,
            'maxlength' => 500,
            'label' => 'Na qualidade de',
            'required' => false,
            'size' => 40
        ));

        $this->addElement('text', 'vl_ate_incluir', array(
            'decorators' => $this->elementDecorator,
            'label' => 'Até R$',
            'size' => 20,
            'required' => false,
            'class' => 'currency'
        ));

        $this->addElement('text', 'cpf_cnpj_incluir', array(
            'decorators' => $this->elementDecorator,
            'label' => 'CPF/CNPJ',
            'required' => false,
            'size' => 15
        ));

        $this->addElement('textarea', 'ds_descricao', array(
            'decorators' => $this->elementDecorator,
            'maxlength' => 2000,
            'rows' => 8,
            'cols' => 80,
            'required' => true
        ));

        $this->addElement('textarea', 'ds_observacao', array(
            'decorators' => $this->elementDecorator,
            'maxlength' => 2000,
            'rows' => 8,
            'cols' => 80,
            'required' => false
        ));

        $Safras = new Produto_Model_Safras();
        $this->addElement('select', 'id_produto', array(
        		'decorators' => $this->elementDecorator,
        		'MultiOptions' => $Safras->getComboProdutoSafraRequest($Safras->safraCurrent, 1),
        		'label' => 'Produto'
        ));

        $Status = new Sistema_Model_Status();
        $this->addElement('select', 'id_status_filtro', array(
        		'decorators' => $this->elementDecorator,
        		'MultiOptions' => $Status->getComboByChaveTipo('SOLICITACOES_ENDOSSO', 17),
        		'label' => 'Status'
        ));
        
        $TipoSolicitacao = new Endosso_Model_TiposSolicitacao();
        $comboTipoSolicitacao = $TipoSolicitacao->getCombo(true, false);

        unset(
            $comboTipoSolicitacao[Endosso_Model_TiposSolicitacao::ID_COM_MOVIMENTO_PREMIO],
            $comboTipoSolicitacao[Endosso_Model_TiposSolicitacao::ID_SEM_MOVIMENTO_PREMIO]
        );

        $this->addElement('select', 'id_tipo_solicitacao', array(
        		'decorators' => $this->elementDecorator,
        		'MultiOptions' => $comboTipoSolicitacao,
        		'label' => 'Tipo de Solicitação'
        ));

        $this->addElement('text', 'id_solicitacao', array(
        		'decorators' => $this->elementDecorator,
        		'label' => 'Solicitação',
        		'size' => 20,
        		'required' => false
        ));

        $this->addElement('hidden', 'is_consulta', array(
            'decorators' => $this->elementDecorator,
            'value' => 'true',
        	'required' => false
        ));

        $Banco = new Sistema_Model_Bancos();
        $this->addElement('select', 'ds_banco_excluir', array(
            'decorators' => $this->elementDecorator,
            'label' => 'A favor de',
            'MultiOptions' => $Banco->fetchPairs('ds_nome_banco', 'ds_nome_banco')
        ));

        $Safras = new Produto_Model_Safras();
        $this->addElement('select', 'id_safra', array(
        		'decorators' => $this->elementDecorator,
        		'label' => 'Safra',
        		'MultiOptions' => $Safras->getCombo(),
        		'value' => $Safras->safraCurrent,
        ));
                
        $this->addElement('select', 'ds_banco_incluir', array(
            'decorators' => $this->elementDecorator,
            'label' => 'A favor de',
            'MultiOptions' => $Banco->fetchPairs('ds_nome_banco', 'ds_nome_banco')
        ));

        $this->addElement('select', 'opc_banco_incluir', array(
            'MultiOptions' => array('S'=>'Sim','N'=>'Não'),
            'decorators' => $this->elementDecorator,
            'label' => 'Banco',
            'class' => 'banco_incluir'
        ));

        $this->addElement('select', 'opc_banco_excluir', array(
            'MultiOptions' => array('S'=>'Sim','N'=>'Não'),
            'decorators' => $this->elementDecorator,
            'label' => 'Banco',
            'class' => 'banco_excluir'
        ));

        $this->addElement('hidden', 'ds_agencia_incluir', array('decorators' => $this->elementDecorator));

        $this->addElement('hidden', 'ds_agencia_excluir', array('decorators' => $this->elementDecorator));

        $this->addElement('text', 'id_proposta', array(
            'decorators' => $this->elementDecorator,
            'label' => 'Orçamento',
            'size' => 20,
            'required' => false
        ));

        $this->addElement('select', 'assinada', array(
            'MultiOptions' => array('' => 'Todos', 'S' => 'Sim', 'N' => 'Não'),
            'decorators' => $this->elementDecorator,
            'label' => 'Assinada',
            'required' => false
        ));

        $this->addElement('text', 'id_proposta_mae', array(
          'decorators' => $this->elementDecorator,
          'label' => 'Proposta',
          'size' => 20,
          'required' => false
        ));

        $this->addElement('select', 'id_corretor', array(
          'decorators' => $this->elementDecorator,
          'MultiOptions' => (new Sistema_Model_Corretores())->fetchPairs('id_usuario', 'ds_nome_fantasia', false, false, 1, false, true),
          'label' => 'Corretor'
        ));

        $this->addElement('select', 'id_preposto', array(
          'decorators' => $this->elementDecorator,
          'MultiOptions' => $usuarioLogado->tp_usuario === Sistema_Model_Usuarios::TIPO_USUARIO_CORRETOR ? (new Sistema_Model_Prepostos())->getComboUsuario($usuarioLogado->id): [],
          'label' => 'Sublogin'
        ));

        $this->addElement('select', 'id_responsavel_search', array(
            'decorators' => $this->elementDecorator,
            'MultiOptions' => (new Sistema_Model_Usuarios())
                ->getComboByIdDepartamento(Sistema_Model_Departamentos::AGRO_TECNICA),
            'label' => 'Responsável'
        ));
    }
}
