<?

class Sinistro2_Form_EnvioAviso extends Agro_Form
{
    public $id;
    public $eventos;
    public $dt_sinistro;
    public $hr_sinistro;
    public $min_sinistro;
    public $ds_pessoa_contato;
    public $ds_telefone_contato;
    public $ds_observacoes;
    public $fl_verify_alerts;

    public function init()
    {

        // Cria label para ser usado na validação de eventos
        $this->eventos = $this->createElement('multiCheckbox', 'eventos');
        $this->eventos->setLabel('Eventos');
        $this->eventos->setRegisterInArrayValidator(false);
        $this->addElement($this->eventos);

        // Cria input hiiden para sinalizar se alertas devem ser verificados (ex.: existência de sinistro anterior)
        $this->fl_verify_alerts = $this->createElement('hidden', 'fl_verify_alerts');
        $this->fl_verify_alerts->setDecorators(array('ViewHelper'));
        $this->fl_verify_alerts->setAttrib('id', 'fl_verify_alerts');
        $this->fl_verify_alerts->setValue('1');
        $this->addElement($this->fl_verify_alerts);

        // Cria label para ser usado na validação de ocasionamento de queda de parreiral
        $this->fl_ocorrencia_queda_parreiral = $this->createElement('multiCheckbox', 'fl_ocorrencia_queda_parreiral');
        $this->fl_ocorrencia_queda_parreiral->setLabel('Ocorreu Queda de Parreiral?');
        $this->fl_ocorrencia_queda_parreiral->setRegisterInArrayValidator(false);
        $this->addElement($this->fl_ocorrencia_queda_parreiral);

        // Cria label para ser usado na validação de ocasionamento de replantio
        $this->fl_ocorrencia_replantio = $this->createElement('multiCheckbox', 'fl_ocorrencia_replantio');
        $this->fl_ocorrencia_replantio->setLabel('Aviso de sinistro referente a cobertura adicional de replantio?');
        $this->fl_ocorrencia_replantio->setRegisterInArrayValidator(false);
        $this->addElement($this->fl_ocorrencia_replantio);

        $this->dt_sinistro = $this->createElement('text', 'dt_sinistro');
        $this->dt_sinistro->setDecorators($this->elementDecorator);
        $this->dt_sinistro->setAttrib('size', '11');
        $this->dt_sinistro->setAttrib('id', 'dt_sinistro');
        $this->dt_sinistro->setAttrib('class', 'data');
        $this->dt_sinistro->setRequired(true);
        $this->dt_sinistro->setLabel('Dt. Sinistro');
        $this->addElement($this->dt_sinistro);

        $this->hr_sinistro = $this->createElement('select', 'hr_sinistro');
        $this->hr_sinistro->setDecorators($this->elementDecorator);
        $hora = array();
        for ($i = 0; $i < 24; $i++) {
            $hora[$i] = str_pad($i, 2, "0", STR_PAD_LEFT);
        }
        $this->hr_sinistro->addMultiOptions($hora);
        $this->hr_sinistro->setAttrib('id', 'hr_sinistro');
        $this->hr_sinistro->setLabel('Hora');
        $this->addElement($this->hr_sinistro);

        $this->min_sinistro = $this->createElement('select', 'min_sinistro');
        $this->min_sinistro->setDecorators($this->elementDecorator);
        $minuto = array();
        for ($i = 0; $i < 60; $i++) {
            $aux = str_pad($i, 2, "0", STR_PAD_LEFT);
            $minuto[$aux] = $aux;
        }
        $this->min_sinistro->addMultiOptions($minuto);
        $this->min_sinistro->setAttrib('id', 'min_sinistro');
        $this->min_sinistro->setLabel('Min');
        $this->addElement($this->min_sinistro);

        $this->ds_pessoa_contato = $this->createElement('text', 'ds_pessoa_contato');
        $this->ds_pessoa_contato->setDecorators($this->elementDecorator);
        $this->ds_pessoa_contato->setAttrib('maxlength', '100');
        $this->ds_pessoa_contato->setAttrib('size', '40');
        $this->ds_pessoa_contato->setRequired(false);
        $this->ds_pessoa_contato->setLabel('Pessoa para contato');
        $this->addElement($this->ds_pessoa_contato);

        $this->ds_telefone_contato = $this->createElement('text', 'ds_telefone_contato');
        $this->ds_telefone_contato->setDecorators($this->elementDecorator);
        $this->ds_telefone_contato->setAttrib('class', 'telefone');
        $this->ds_telefone_contato->setRequired(false);
        $this->ds_telefone_contato->setLabel('Telefone para contato');
        $this->addElement($this->ds_telefone_contato);

        $this->ds_observacoes = $this->createElement('textarea', 'ds_observacoes');
        $this->ds_observacoes->setDecorators($this->elementDecorator);
        $this->ds_observacoes->setAttrib('cols', '50');
        $this->ds_observacoes->setAttrib('rows', '5');
        $this->ds_observacoes->setAttrib('maxlength', '500');
        $this->ds_observacoes->setLabel('Observações');
        $this->addElement($this->ds_observacoes);

        $emailSegurado = $this->createElement('text', 'ds_email_segurado');
        $emailSegurado->setDecorators($this->elementDecorator);
        $emailSegurado->setAttrib('class', 'validarEmail');
        $emailSegurado->setAttrib('size', '50');
        $emailSegurado->setRequired();
        $emailSegurado->setLabel('E-mail do Segurado');
        $this->addElement($emailSegurado);
    }
}