<?php

class Produto_Form_Habilitacao extends Agro_Form {

	public function init() {
	    $Auth = Zend_Auth::getInstance()->getIdentity();
	    
		$Corretores = new Sistema_Model_Corretores();
		$this->id_corretor = $this->createElement('select', 'id_corretor');
		$this->id_corretor->setDecorators($this->elementDecorator);
		$this->id_corretor->addMultiOptions(
		    $Auth->ds_departamento == 'COMERCIAL' ? $Corretores->getComboUsuarioComercial(false, $Auth->id) : $Corretores->getComboUsuario()
		    );
		$this->id_corretor->setRequired(true);
		$this->id_corretor->setLabel('Corretor');
		$this->addElement($this->id_corretor);

		$Corretores = new Sistema_Model_Corretores();
		$this->id_corretor_search = $this->createElement('select', 'id_corretor_search');
		$this->id_corretor_search->setDecorators($this->elementDecorator);
		$this->id_corretor_search->addMultiOptions(
		    $Auth->ds_departamento == 'COMERCIAL' ? $Corretores->getComboUsuarioComercial(true, $Auth->id) : $Corretores->getComboUsuario()
		    );
		$this->id_corretor_search->setLabel('Corretor');
		$this->addElement($this->id_corretor_search);

		$this->id_preposto = $this->createElement('select', 'id_preposto');
		$this->id_preposto->setDecorators($this->elementDecorator);
		$this->id_preposto->setRegisterInArrayValidator(false);
		$this->id_preposto->setLabel('Sublogin');
		$this->addElement($this->id_preposto);

		$Safras = new Produto_Model_Safras();
		$this->id_safra = $this->createElement('select', 'id_safra');
		$this->id_safra->setDecorators($this->elementDecorator);
		$this->id_safra->addMultiOptions($Safras->getCombo());
		$this->id_safra->setValue($Safras->safraCurrent);
		$this->id_safra->setRequired(true);
		$this->id_safra->setLabel('Safra');
		$this->addElement($this->id_safra);

		$this->id_safra_search = $this->createElement('select', 'id_safra_search');
		$this->id_safra_search->setDecorators($this->elementDecorator);
		$this->id_safra_search->addMultiOptions($Safras->getCombo());
		$this->id_safra_search->setValue($Safras->safraCurrent);
		$this->id_safra_search->setRequired(false);
		$this->id_safra_search->setLabel('Safra');
		$this->addElement($this->id_safra_search);

		$this->id_produto = $this->createElement('select', 'id_produto');
		$this->id_produto->setDecorators($this->elementDecorator);
		$this->id_produto->setRegisterInArrayValidator(false);
		$this->id_produto->setLabel('Produto');
		$this->id_produto->setRequired(true);
		$this->addElement($this->id_produto);

		$this->id_produto_search = $this->createElement('select', 'id_produto_search');
		$this->id_produto_search->setDecorators($this->elementDecorator);
		$this->id_produto_search->setRegisterInArrayValidator(false);
		$this->id_produto_search->addMultiOptions($Safras->getComboProdutoSafraAtualComercial());
		$this->id_produto_search->setLabel('Produto');
		$this->id_produto_search->setRequired(false);
		$this->addElement($this->id_produto_search);

		$Estados = new Sistema_Model_Estados();
		$this->id_estado = $this->createElement('select', 'id_estado');
		$this->id_estado->setDecorators($this->elementDecorator);
		$this->id_estado->addMultiOptions($Estados->getCombo('ds_nome_estado'));
		$this->id_estado->setRequired(true);
		$this->id_estado->setLabel('Estado');
		$this->addElement($this->id_estado);

		$Estados = 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($Estados->getCombo('ds_nome_estado'));
		$this->id_estado_search->setRequired(false);
		$this->id_estado_search->setLabel('Estado');
		$this->addElement($this->id_estado_search);

		$this->seleciona_minucipio = $this->createElement('submit', 'seleciona_minucipio');
		$this->seleciona_minucipio->setDecorators($this->buttonDecorator);
		$this->seleciona_minucipio->setLabel('Buscar Munícipios');
		$this->addElement($this->seleciona_minucipio);

		$this->save = $this->createElement('button', 'salvar', array('type'=>'submit'));
		$this->save->setDecorators($this->buttonDecorator);
		$this->save->setLabel('Salvar');
		$this->addElement($this->save);

		$Funcionarios = new Sistema_Model_Funcionarios();
		$this->id_comercial = $this->createElement('select', 'id_comercial');
		$this->id_comercial->setDecorators($this->elementDecorator);
		$this->id_comercial->addMultiOptions($Funcionarios->getCombofuncionariosUsuarios(27,true));
		$this->id_comercial->setRequired(false);
		$this->id_comercial->setLabel('Comercial');
		$this->addElement($this->id_comercial);

	}

	public function populate(array $values) {

	    $Safras = new Produto_Model_Safras();
		if ($values['id_safra'] && $values['id_produto']) {
			$this->id_produto->addMultiOptions($Safras->getComboProdutoAbreviadoSafraRequest($values['id_safra'], true, true, true));
		} else {
		    $this->id_produto->addMultiOptions($Safras->getComboProdutoSafraAtualComercial());
		}

		if ($values['id_corretor']) {
			$Prepostos = new Sistema_Model_Prepostos();
			$Rs = $Prepostos->getComboUsuario($values['id_corretor']);
			foreach ($Rs as $i => $text) {
				$this->id_preposto->addMultiOption($i, $text);
			}
		}

		parent::populate($values);
	}
}