<?php

class Seguro_Form_Proposta extends Agro_Form {
	
	public function init() {
		$Auth = Zend_Auth::getInstance()->getIdentity();
		$Corretores = new Sistema_Model_Corretores();
		$Prepostos = new Sistema_Model_Prepostos();
		$Propostas = new Seguro_Model_Propostas();
		
		switch ($Auth->tp_usuario) {
			case 'C':
				$this->addElement('hidden', 'id_corretor', array('decorators' => $this->buttonDecorator, 'value' => $Auth->id));
				
				$prepostos = $Prepostos->getComboUsuario($Auth->id);
				$this->addElement('select', 'id_preposto', array(
					'decorators' => $this->elementDecorator,
					'MultiOptions' => $prepostos,
					'label' => 'Login'
				));
				
				$this->addElement('select', 'id_produto', array(
					'decorators' => $this->elementDecorator,
					'label' => 'Produto'
				));
				
				break;
			case 'P':
				$Preposto = $Prepostos->fetchRow("id_usuario = {$Auth->id}");
				$Corretor = $Preposto->corretor();
				
				$this->addElement('hidden', 'id_corretor', array('decorators' => $this->buttonDecorator, 'value' => $Corretor->id_usuario));
				$this->addElement('hidden', 'id_preposto', array('decorators' => $this->buttonDecorator, 'value' => $Auth->id));
				
				$this->addElement('select', 'id_produto', array(
					'decorators' => $this->elementDecorator,
					'label' => 'Produto'
				));
				
				break;
			default:
				$this->addElement('select', 'id_corretor', array(
					'MultiOptions' => $Corretores->getComboUsuario(),
					'decorators' => $this->elementDecorator,
					'label' => 'Corretor'
				));
				
				$this->addElement('select', 'id_preposto', array(
					'decorators' => $this->elementDecorator,
					'label' => 'Login'
				));
				
				$this->addElement('select', 'id_produto', array(
					'decorators' => $this->elementDecorator,
					'label' => 'Produto'
				));
				
				break;
		}

		$Estados = new Sistema_Model_Estados();
		$this->addElement('select', 'local_entrega_id_estado', array(
			'MultiOptions' => $Estados->getCombo(),
			'decorators' => $this->elementDecorator,
			'label' => 'UF',
			'required' => true
		));		
	}
	
	public function populate(array $values) {
		if (array_key_exists('id_produto', $values)) {
			$values['id_produto'] = $values['id_produto'];
		}
		
		if (array_key_exists('id_corretor', $values)) {
			$values['id_corretor'] = $values['id_corretor'];
		}
		
		if (array_key_exists('id_preposto', $values)) {
			$values['id_preposto'] = $values['id_preposto'];
		}
		
		parent::populate($values);
	}
}