<?php

class Default_Form_Cep extends Agro_Form {
	
	public function init() {
		
		$Estados = new Sistema_Model_Estados();
		$this->addElement('select', 'id_estado', array(
			'MultiOptions' => $Estados->fetchPairs('id', 'ds_sigla'),
			'decorators' => $this->elementDecorator,
			'style' => 'width:100%',
			'label' => 'Estado',
			'required' => true
		));
		
		$this->addElement('select', 'id_municipio', array(
			'decorators' => $this->elementDecorator,
			'style' => 'width:100%',
			'multiple' => false,
			'size' => 5
		));
		
		$this->addElement('text', 'nome_municipio', array(
			'label' => 'Nome do Município',
			'required' => false,
			'attribs' => array(
				'list' => 'nome_municipio_lst',
				'autocomplete' => 'on',
				'style' => 'width: 300px',
				'id' => 'nome_municipio',
				'name' => 'nome_municipio',
				'class' => 'upper',
			),
		));
		
		$this->addElement('text', 'logradouro', array(
			'decorators' => $this->elementDecorator,
			'style' => 'width:100%',
			'label' => 'Nome do Logradouro',
		));
	}
	
	public function populate(array $values) {

		if ($values['id_estado'] && $values['nome_municipio'])  {

			$modelMunicipios = new Sistema_Model_Municipios();
			$rs = $modelMunicipios->fetchAll("id_estado = {$values['id_estado']} AND ds_nome_municipio ilike '%".pg_escape_string($values['nome_municipio'])."%'", 'ds_nome_municipio');

			if ($rs) {
				foreach ($rs as $row) {
					$this->id_municipio->addMultiOption($row->id, $row->ds_nome_municipio);
				}
			}
		}
		
		parent::populate($values);
	}
}