<?php

class Comercializacao_Form_TaxasAgrupamento extends Agro_Form {
	public function init() {
		
		$this->addElement('hidden', 'id', array('decorators' => $this->buttonDecorator));

        $this->addElement('text', 'id_taxa', array(
          'decorators' => $this->elementDecorator,
          'label' => 'ID_Taxa',
          'size' => 10
        ));
		
		$Safras = new Comercializacao_Model_Safras();
		$this->addElement('select', 'id_safra', array(
			'decorators' => $this->elementDecorator,
			'MultiOptions' => $Safras->getCombo(),
			'value' => $this->_request['id_safra'] ? $this->_request['id_safra'] : $Safras->safraCurrent,
			'label' => 'Safra',
			'required' => true
		));

		$this->addElement('select', 'id_safra_search', array(
			'decorators' => $this->elementDecorator,
			'MultiOptions' => $Safras->getCombo(),
			'value' => $Safras->safraCurrent,
			'label' => 'Safra',
			'required' => false
		));

		$Produtos = new Comercializacao_Model_Produtos();
        $modelProdutoSafras = new Produto_Model_Safras();
        $idSafra = $this->_request['id_safra'] ?? $modelProdutoSafras->safraCurrent;
		$this->addElement('select', 'id_produto', array(
			'decorators' => $this->elementDecorator,
			'MultiOptions' => $modelProdutoSafras->getComboProdutoSafraRequest($idSafra),
			'RegisterInArrayValidator' => false,
			'label' => 'Produto',
			'required' => true
		));
		
		$this->addElement('select', 'id_produto_search', array(
			'decorators' => $this->elementDecorator,
			'MultiOptions' => $Produtos->getCombo(),
			'RegisterInArrayValidator' => false,
			'label' => 'Produto',
			'required' => false
		));

		$this->addElement('text', 'ds_nome_agrupamento_taxas', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Nome',
			'required' => true,
			'size' => 60
		));

		$this->addElement('text', 'ds_numero_car', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Número Propriedade (CAR)',
			'required' => false,
			'size' => 60
		));
		
		$Estados = new Sistema_Model_Estados();
		$this->addElement('select', 'id_estado', array(
			'decorators' => $this->elementDecorator,
			'MultiOptions' => $Estados->getCombo(),
			'RegisterInArrayValidator' => false,
			'label' => 'Estado',
			'required' => false
		));

		$this->addElement('select', 'id_estado_search', array(
			'decorators' => $this->elementDecorator,
			'MultiOptions' => $Estados->getCombo(),
			'RegisterInArrayValidator' => false,
			'label' => 'Estado',
			'required' => false
		));

		$this->addElement('select', 'id_municipio', array(
			'decorators' => $this->elementDecorator,

			'RegisterInArrayValidator' => false,
			'label' => 'Município',
			'required' => false
		));

		$this->addElement('select', 'id_municipio_search', array(
			'decorators' => $this->elementDecorator,
			'RegisterInArrayValidator' => false,
			'label' => 'Município',
			'required' => false
		));

		
		$Corretores = new Sistema_Model_Corretores();
		$this->addElement('select', 'id_corretor_search', array(
			'MultiOptions' => $Corretores->getComboUsuario(),
			'decorators' => $this->elementDecorator,
			'label' => 'Corretor'
		));

		$this->addElement('select', 'id_preposto_search', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Preposto'
		));

		$this->addElement('select', 'tp_pessoa', array(
			'MultiOptions' => array('J' => 'Jurídica', 'F' => 'Física'),
			'decorators' => $this->elementDecorator,
			'label' => 'Pessoa Tipo',
			'required' => false
		));
		
		$this->addElement('text', 'cpf_cnpj', array(
			'validators' => array(array('validator'=> new Agro_Validate_CpfCnpj())),
			'decorators' => $this->elementDecorator,
			'label' => 'CPF/CNPJ',
			'class' => 'cpf_cnpj',
			'required' => false,
			'size' => 15
		));

		$this->addElement('text', 'vl_comissao', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Comissão',
			'required' => true,
			'size' => 20,
			'class' => 'decimal'
		));

		$this->addElement('select', 'fl_ativo', array(
			'MultiOptions' => array(1=>'Sim', 0=>'Não'),
			'decorators' => $this->elementDecorator,
			'label' => 'Ativo'
		));
		
		$this->addElement('select', 'id_secao', array(
				'MultiOptions' => array(''=>'', 1=>'1', 2=>'2', 3=>'3'),
				'decorators' => $this->elementDecorator,
				'label' => 'Seção '
		));
		
        $this->addElement('hidden', 'id_municipio_hidden', array(
          'decorators' => $this->elementDecorator,
          'required' => false
        ));

        $this->addElement('select', 'cpf_cnpj_combo', array(
            'MultiOptions' => array( 0 => '', 1 => 'CPF', 2 => 'CNPJ'),
            'decorators' => $this->elementDecorator,
            'label' => 'CPF/CNPJ'
        ));

        $this->addElement('text', 'cpf_cnpj_search', array(
            'decorators' => $this->elementDecorator,
            'label' => 'Valor',
            'size' => 30
        ));
		
	}

	public function populate(array $data) {
		if (array_key_exists("id_safra", $data)) {
			$Produto = new Produto_Model_Produtos();
			$this->id_produto->addMultiOptions($Produto->getCombo($data['id_safra']));	
		}
		
		if(!$data['fl_ativo']){
		    $data['fl_ativo'] = '0';
		}

		parent::populate($data);
	}
}