<?php

class Seguro_Form_VistoriaPreviaFilter extends Agro_Form {

	public function setIdEmpresa($id_empresa) {
		$this->id_empresa_vistoriador = $id_empresa;
	}

	public function init() {

		$Auth = Zend_Auth::getInstance()->getIdentity();

		$this->addElement('select', 'pesquisar_por', array(
			'MultiOptions' => array(''=>'','p.nr_apolice' => 'Número de Apólice','p.id' => 'Proposta','ds_nome_proponente' => 'Nome do Segurado','ds_cpf_proponente' => 'Número do CPF'),
			'decorators' => $this->elementDecorator,
			'label' => 'Pesquisar por'
		));

		$this->addElement('text', 'vl_pesquisar_por', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Valor',
			'class' => 'upper',
			'size' => 30
		));

		$this->addElement('text', 'dt_inicio', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Plantadas Até',
			'maxlength' => '10',
			'size' => '11',
			'class' => 'data'
		));

		$this->addElement('text', 'dt_criacao', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Data Criação',
			'maxlength' => '10',
			'size' => '11',
			'class' => 'data'
		));

		$this->addElement('text', 'dt_agendamento', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Data do Agendamento: ',
			'maxlength' => '10',
			'size' => '11',
			'class' => 'data'
		));

		$this->addElement('select', 'ds_turno', array(
			'MultiOptions' => array('M' => 'Manhã','T' => 'Tarde'),
			'decorators' => $this->elementDecorator,
			'label' => 'Turno: '
		));

		$this->addElement('select', 'situacao_boleto', array(
			'MultiOptions' => array('0' => 'Todos', '1' => 'Pago', '2' => 'Pendente'),
			'decorators' => $this->elementDecorator,
			'label' => 'Situação do Boleto: '
		));

		$User = Zend_Auth::getInstance()->getIdentity();
		$Funcionarios = new Sistema_Model_Funcionarios();
		$Empresa = $Funcionarios->getIdEmpresaByIdUsuario($User->id);
		if($Empresa == 6){
			//se a empresa é NOBRE, só mostra os laudos já finalizados
			$this->addElement('hidden', 'id_status_empresa', array(
				'decorators' => $this->buttonDecorator,
				'value' => '71'
			));
		}else{
			unset($combo[0]);
			$Status = new Sistema_Model_Status();
			$combo = $Status->getComboCodigoEmpresa('VP');

			$this->addElement('select', 'id_status_empresa', array(
				'MultiOptions' => $combo,
				'decorators' => $this->elementDecorator,
				'label' => 'Status Prévia',
		        'multiple' => true,
		        'class' => 'multiple'
			));
		}

		$Empresas = new Sistema_Model_Empresas();

		$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_municipio', array(
			'decorators' => $this->elementDecorator,
			'RegisterInArrayValidator' => false,
			'label' => 'Município',
			'required' => false
		));

		$Safras = new Seguro_Model_Safras();

		$this->addElement('select', 'id_safra', array(
			'decorators' => $this->elementDecorator,
			'MultiOptions' => $Safras->getCombo(0,false,false),
			'value' => $Safras->safraCurrent,
			'label' => 'Safra'
		));
		$this->addElement('select', 'id_produto', array(
			'decorators' => $this->elementDecorator,
			'MultiOptions' => array_merge(
				['' => '--- Selecione um Produto ---']
			),
			'label' => 'Produto',
			'multiple'=>true,
			'class'=>'multiple'
		));
        
		$Empresas = new Sistema_Model_Empresas();
		$this->addElement('select', 'id_empresa', array(
			'decorators' => $this->elementDecorator,
			'MultiOptions' => $Empresas->getCombo(),
			'label' => 'Empresa',
			'required' => false
		));

		$this->addElement('textarea', 'ds_justificativa_dispensa', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Justificativa de Dispensa',
			'required' => false,
			'style' => 'width:348px;height:85px;',
		));

		$Funcionarios = new Sistema_Model_Funcionarios();
		$User = Zend_Auth::getInstance()->getIdentity();
		$Empresa = $Funcionarios->getIdEmpresaByIdUsuario($User->id);
		$Funcionario = $Funcionarios->fetchRow("id_usuario = {$User->id}");

		//se a empresa é a AGROBRASIL mostra todos os vistoriados no combo
		if($Empresa == 20){
			$options = $Funcionarios->getVistoriadoresEmpresa(null,true);

			$this->addElement('select', 'id_empresa_search', array(
					'decorators' => $this->elementDecorator,
					'MultiOptions' => $Empresas->getComboVistoriadoras(),
					'RegisterInArrayValidator' => false,
					'label' => 'Empresa ',
					'required' => false
			));

			$this->addElement('select', 'id_vistoriador_search', array(
					'decorators' => $this->elementDecorator,
					'RegisterInArrayValidator' => false,
					'label' => 'Vistoriador ',
					'required' => false
			));

		}else{
			$options = $Funcionarios->getVistoriadoresEmpresa($Funcionario->id_empresa);

			$this->addElement('select', 'id_vistoriador_search', array(
					'decorators' => $this->elementDecorator,
					'MultiOptions' => $options,
					'RegisterInArrayValidator' => false,
					'label' => 'Vistoriador ',
					'required' => false
			));

		}

		$this->addElement('select', 'id_vistoriador', array(
			'decorators' => $this->elementDecorator,
			'MultiOptions' => $options,
			'RegisterInArrayValidator' => false,
			'label' => 'Vistoriador ',
			'required' => false
		));


		$Corretores = new Sistema_Model_Corretores();
		$optionsCor = $Corretores->getComboUsuario();

		$this->addElement('select', 'id_corretor', array(
			'decorators' => $this->elementDecorator,
			'MultiOptions' => $optionsCor,
			'RegisterInArrayValidator' => false,
			'label' => 'Corretores ',
			'required' => false,
			'multiple' => true,
			'class' => 'multiple'
		));

		$this->addElement('checkbox', 'fl_filtro_data_plantio', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Desabilitar filtro pela data de plantio (10 dias)?'
		));

		$this->fl_subvencao_descontada = $this->createElement('radio', 'fl_subvencao_descontada');
		$this->fl_subvencao_descontada->setDecorators($this->elementDecorator);
		$this->fl_subvencao_descontada->setRequired(true);
		$this->fl_subvencao_descontada->addMultiOptions(array(1 => "Sim",0 => "Não"));
		$this->fl_subvencao_descontada->setLabel('Subvenção descontada?');
		$this->addElement($this->fl_subvencao_descontada);

		$this->addElement('hidden', 'id_agendamento', array(
			'decorators' => $this->buttonDecorator,
		));

		$this->addElement('hidden', 'id_proposta', array(
			'decorators' => $this->buttonDecorator,
		));


		$Status = new Sistema_Model_Status();
		$this->addElement('select', 'id_status_analise_search', array(
			'decorators' => $this->elementDecorator,
			'MultiOptions' => $Status->getCombo('VP_ANALISE'),
			'label' => 'Status de Análise',
		    'multiple' => true,
		    'class' => 'multiple',
			'required' => ''
		));

		$this->addElement('select', 'id_status_analise', array(
				'decorators' => $this->elementDecorator,
				'MultiOptions' => $Status->getCombo('VP_ANALISE'),
				'label' => 'Status de Análise',
				'required' => ''
		));
		
		$this->addElement('select', 'id_status', array(
			'decorators' => $this->elementDecorator,
			'MultiOptions' => $Status->getComboVistoriaSolicitacao('VP'),
			'label' => 'Status da Prévia',
			'required' => ''
		));

		// $Status = new Sistema_Model_Status();
		$this->addElement('select', 'status_analise', array(
			'decorators' => $this->elementDecorator,
			'MultiOptions' => $Status->getComboSimples('VP_ANALISE'),
			'label' => '',
			'required' => ''
		));

		$this->addElement('textarea', 'ds_descricao', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Descrição',
			'required' => true,
			'style' => 'width:600px;height:150px;',
		));

        $this->addElement('textarea', 'ds_motivo', array(
            'decorators' => $this->elementDecorator,
            'label' => 'Motivo',
            'required' => false,
            'style' => 'width:45    0px;height:150px;',
        ));
	}

	public function populate(array $values) {

		if (array_key_exists('id_produto', $values)) {
			$values['id_produto'] = $values['id_produto'];
		}

		if (array_key_exists('id_preposto', $values)) {
			$values['id_preposto'] = $values['id_preposto'];
		}

		if (array_key_exists('id_agendamento', $values)) {
			$values['id_agendamento'] = $values['id_agendamento'];
		}

		if (array_key_exists('id_vistoriador', $values)) {
			$values['id_vistoriador'] = $values['id_vistoriador'];
		}

		if (array_key_exists('id_status_analise', $values)) {
			$values['id_status_analise'] = $values['id_status_analise'];
		}

		parent::populate($values);
	}
}