<?

class Atendimento_Form_Chamado extends Agro_Form {

	public function init() {
		$Prioridade = new Atendimento_Model_Prioridade();
		$Tipo = new Atendimento_Model_TipoChamado();
		$Status = new Sistema_Model_Status();
		$Departamento = new Sistema_Model_Departamentos();
		$Funcionarios = new Sistema_Model_Funcionarios();
		
		$User = Zend_Auth::getInstance()->getIdentity();
		$isDestinatario = $User->tp_usuario !== Sistema_Model_Usuarios::TIPO_USUARIO_FUNCIONARIO;

		$this->addElement('text', 'dt_final_prazo', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Data Final do Prazo',
			'size' => 20,
			'readonly' => true
		));
		
		$this->addElement('hidden', 'id', array('decorators' => $this->buttonDecorator));
		$this->addElement('hidden', 'id_parent', array('decorators' => $this->buttonDecorator));
		$this->addElement('hidden', 'id_proposta', array('decorators' => $this->buttonDecorator));
		$this->addElement('hidden', 'uploaded_files', array('decorators' => $this->buttonDecorator));
		
		$this->addElement('text', 'id_proposta_search', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Proposta',
			'class' => 'integer',
			'size' => 11
		));

		$this->addElement('text', 'nr_apolice', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Apólice',
			'class' => 'integer',
			'size' => 11
		));

		$this->addElement('select', 'id_prioridade', array(
			'MultiOptions' => $Prioridade->getCombo(),
			'decorators' => $this->elementDecorator,
			'label' => 'Prioridade',
			'required' => true
		));
		
		$this->addElement('select', 'id_tipo_chamado', array(
			'MultiOptions' => $Tipo->getComboCadastro($isDestinatario),
			'decorators' => $this->elementDecorator,
			'label' => 'Tipo de Chamado',
			'required' => true,
			'class' => 'tipo-chamado'
		));
		
		if ($User->tp_usuario != "C"){
			$this->addElement('select', 'id_status_search', array(
				'MultiOptions' => $Status->getCombo('CH',false,true),
				'decorators' => $this->elementDecorator,
				'label' => 'Status',
				'multiple' => true,
				'class' => 'multiple'
			));
		}

		$this->addElement('select', 'id_status', array(
			'MultiOptions' => $Status->getCombo('CH'),
			'decorators' => $this->elementDecorator,
			'label' => 'Status',
			'required' => true
		));

		$this->addElement('select', 'id_status_proposta', array(
		        'MultiOptions' => $Status->getCombo('PR'),
		        'decorators' => $this->elementDecorator,
		        'label' => 'Status Proposta'
		));

		$this->addElement('select', 'id_departamento', array(
			'MultiOptions' => $Departamento->getComboChamados('EMPRESA'),
			'decorators' => $this->elementDecorator,
			'label' => 'Departamento',
			'required' => true
		));

		$this->addElement('textarea', 'ds_descricao', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Descrição',
			'required' => true,
			'maxlength' => 3000,
			'rows' => 7,
			'cols' => 80
		));

		$this->addElement('text', 'dt_prazo_agendamento', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Data Prorrogação para Prazo para Agendamento:',
			'required' => true,
			'class' => 'data',
			'size' => 20
		));

		$this->addElement('text', 'dt_agendamento', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Data Prorrogação para Agendamento:',
			'required' => true,
			'class' => 'data',
			'size' => 20
		));

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

		$this->addElement('text', 'dt_criacao', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Data criação:',
			'class' => 'data',
			'size' => 20
		));

		$this->addElement('text', 'id_chamado', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Chamado',
			'class' => 'integer',
			'size' => 11
		));

		$this->addElement('text', 'dt_ultima_alteracao', array(
			'decorators' => $this->elementDecorator,
			'label' => 'Data última alteração:',
			'class' => 'data',
			'size' => 20
		));

		$this->addElement('file', 'anexo1', array(
			'destination' => APPLICATION_PATH.'/upload_files/temp/',
			'decorators' => $this->fileDecorator,
			'validators' => array(
				array ('validator' => 'Count', 'options' => 2),
				array ('validator' => 'Size', 'options' => 409600)
			),
			'label' => '',
			'size' => 40
		));

		$this->addElement('select', 'id_responsavel', array(
			'MultiOptions' => $Funcionarios->getComboAgroBrasil('', true),
			'decorators' => $this->elementDecorator,
			'label' => 'Responsável',
			'required' => true
		));

		$Estado = new Sistema_Model_Estados();
		$this->id_estado_search = $this->createElement('select', 'id_estado_search');
		$this->id_estado_search->setDecorators($this->elementDecorator);
		$this->id_estado_search->addMultiOptions($Estado->getCombo());
		$this->id_estado_search->setLabel('Estado');
		$this->addElement($this->id_estado_search);
		
		$this->id_municipio_search = $this->createElement('select', 'id_municipio_search');
		$this->id_municipio_search->setDecorators($this->elementDecorator);
		$this->id_municipio_search->addMultiOptions(array('--- Selecione um Estado ---'));
		$this->id_municipio_search->setLabel('Município');
		$this->addElement($this->id_municipio_search);

		$situacaoOptions = array('' => '--- Selecione ---');
		if($User->tp_usuario == 'C' || $User->tp_usuario == 'P') {
			$situacaoOptions['corretor_minhas_pendencias'] = 'Minhas Pendências';
			$situacaoOptions['corretor_pendencias_agro'] = 'Pendências AgroBrasil';
			$situacaoOptions['corretor_resolvidos'] = 'Resolvidos';
		} else if ($User->tp_usuario == 'F' && $User->id_empresa == 20) {
			$situacaoOptions['agro_pendencias_externas'] = 'Pendências Externas';
			$situacaoOptions['agro_pendencias_agro'] = 'Pendências AgroBrasil';
			$situacaoOptions['agro_resolvidos'] = 'Resolvidos';
		}
		$this->situacao_search = $this->createElement('select', 'situacao_search');
		$this->situacao_search->setDecorators($this->elementDecorator);
		$this->situacao_search->addMultiOptions($situacaoOptions);
		$this->situacao_search->setLabel('Situação');
		$this->addElement($this->situacao_search);
	}
}
