function Gerar()
 {
     if ($_POST) {
         foreach ($_POST as $campo => $val) {
             $this->{$campo} = $this->{$campo} ? $this->{$campo} : $val;
         }
     }
     // Primary keys
     $this->campoOculto('ref_ano', $this->ref_ano);
     $this->campoOculto('ref_ref_cod_escola', $this->ref_ref_cod_escola);
     $obj_escola = new clsPmieducarEscola($this->ref_ref_cod_escola);
     $det_escola = $obj_escola->detalhe();
     $ref_cod_instituicao = $det_escola['ref_cod_instituicao'];
     $obj = new clsPmieducarAnoLetivoModulo();
     $obj->setOrderBy('sequencial ASC');
     $registros = $obj->lista($this->ref_ano - 1, $this->ref_ref_cod_escola);
     $cont = 0;
     $modulosAnoAnterior = "";
     if ($registros) {
         $tabela = "<table border=0 style='' cellpadding=2 width='100%'>";
         $tabela .= "<tr bgcolor={$cor}><td colspan='2'><b>M&oacute;dulos do ano anterior (" . ($this->ref_ano - 1) . ")</b></td></tr><tr><td>";
         $tabela .= "<table cellpadding=\"2\" cellspacing=\"2\" border=\"0\" align=\"left\" width='300px'>";
         $tabela .= "<tr bgcolor='#A1B3BD'><th width='100px'>Etapa<a name='ano_letivo'/></th><th width='200px'>Período</th></tr>";
         foreach ($registros as $campo) {
             $cor = "#E3E8EF";
             #$cor == "#FFFFFF" ? "#E3E8EF" : "#FFFFFF";
             $cont++;
             $tabela .= "<tr bgcolor='{$cor}'><td align='center'>{$cont}</td><td align='center'>" . dataFromPgToBr($campo['data_inicio']) . " à " . dataFromPgToBr($campo['data_fim']) . "</td></tr>";
             //$modulosAnoAnterior .= ++$cont."ª Etapa: De ".dataFromPgToBr($campo['data_inicio'])." à ".dataFromPgToBr($campo['data_fim']);
         }
         $tabela .= "</table>";
         $tabela .= "<tr><td colspan='2'><b> Adicione os módulos abaixo para {$this->ref_ano} semelhante ao exemplo do ano anterior: </b></td></tr><tr><td>";
         $tabela .= "</table>";
     }
     $ref_ano_ = $this->ref_ano;
     $this->campoTexto('ref_ano_', 'Ano', $ref_ano_, 4, 4, FALSE, FALSE, FALSE, '', '', '', '', TRUE);
     $this->campoQuebra();
     if ($tabela) {
         $this->campoRotulo('modulosAnoAnterior', '-', $tabela);
     }
     // Módulos do ano letivo
     if ($_POST['ano_letivo_modulo']) {
         $this->ano_letivo_modulo = unserialize(urldecode($_POST['ano_letivo_modulo']));
     }
     $qtd_modulo = count($this->ano_letivo_modulo) == 0 ? 0 : count($this->ano_letivo_modulo) + 1;
     if (is_numeric($this->ref_ano) && is_numeric($this->ref_ref_cod_escola) && !$_POST) {
         $obj = new clsPmieducarAnoLetivoModulo();
         $obj->setOrderBy('sequencial ASC');
         $registros = $obj->lista($this->ref_ano, $this->ref_ref_cod_escola);
         if ($registros) {
             foreach ($registros as $campo) {
                 $this->ano_letivo_modulo[$campo[$qtd_modulo]]['sequencial_'] = $campo['sequencial'];
                 $this->ano_letivo_modulo[$campo[$qtd_modulo]]['ref_cod_modulo_'] = $campo['ref_cod_modulo'];
                 $this->ano_letivo_modulo[$campo[$qtd_modulo]]['data_inicio_'] = dataFromPgToBr($campo['data_inicio']);
                 $this->ano_letivo_modulo[$campo[$qtd_modulo]]['data_fim_'] = dataFromPgToBr($campo['data_fim']);
                 $qtd_modulo++;
             }
         }
     }
     if ($_POST['ref_cod_modulo'] && $_POST['data_inicio'] && $_POST['data_fim']) {
         $qtd_modulo = $qtd_modulo == 0 ? 1 : $qtd_modulo;
         $this->ano_letivo_modulo[$qtd_modulo]['sequencial_'] = $qtd_modulo;
         $this->ano_letivo_modulo[$qtd_modulo]['ref_cod_modulo_'] = $_POST['ref_cod_modulo'];
         $this->ano_letivo_modulo[$qtd_modulo]['data_inicio_'] = $_POST['data_inicio'];
         $this->ano_letivo_modulo[$qtd_modulo]['data_fim_'] = $_POST['data_fim'];
         $qtd_modulo++;
         unset($this->ref_cod_modulo);
         unset($this->data_inicio);
         unset($this->data_fim);
     }
     $this->campoOculto('excluir_modulo', '');
     $qtd_modulo = 1;
     unset($aux);
     if ($this->ano_letivo_modulo) {
         foreach ($this->ano_letivo_modulo as $campo) {
             if ($this->excluir_modulo == $campo['sequencial_']) {
                 $this->ano_letivo_modulo[$campo['sequencial']] = NULL;
                 $this->excluir_modulo = NULL;
             } else {
                 $obj_modulo = new clsPmieducarModulo($campo['ref_cod_modulo_']);
                 $det_modulo = $obj_modulo->detalhe();
                 $nm_tipo_modulo = $det_modulo['nm_tipo'];
                 $url = sprintf('
         <a href="#" onclick="getElementById(\'excluir_modulo\').value = \'%s\'; getElementById(\'tipoacao\').value = \'\'; %s.submit();">
           <img src="imagens/nvp_bola_xis.gif" title="Excluir" border="0" />
         </a>', $campo['sequencial_'], $this->__nome);
                 $this->campoTextoInv('ref_cod_modulo_' . $campo['sequencial_'], '', $nm_tipo_modulo, 30, 255, FALSE, FALSE, TRUE);
                 $this->campoTextoInv('data_inicio_' . $campo['sequencial_'], '', $campo['data_inicio_'], 10, 10, FALSE, FALSE, TRUE);
                 $this->campoTextoInv('data_fim_' . $campo['sequencial_'], '', $campo['data_fim_'], 10, 10, FALSE, FALSE, FALSE, '', $url);
                 $aux[$qtd_modulo]['sequencial_'] = $qtd_modulo;
                 $aux[$qtd_modulo]['ref_cod_modulo_'] = $campo['ref_cod_modulo_'];
                 $aux[$qtd_modulo]['data_inicio_'] = $campo['data_inicio_'];
                 $aux[$qtd_modulo]['data_fim_'] = $campo['data_fim_'];
                 $qtd_modulo++;
             }
         }
         unset($this->ano_letivo_modulo);
         $this->ano_letivo_modulo = $aux;
     }
     $this->campoOculto('ano_letivo_modulo', serialize($this->ano_letivo_modulo));
     // Foreign keys
     $opcoes = array('' => 'Selecione');
     if (class_exists("clsPmieducarModulo")) {
         $objTemp = new clsPmieducarModulo();
         $objTemp->setOrderby('nm_tipo ASC');
         $lista = $objTemp->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, $ref_cod_instituicao);
         if (is_array($lista) && count($lista)) {
             foreach ($lista as $registro) {
                 $opcoes[$registro['cod_modulo']] = $registro['nm_tipo'];
             }
         }
     } else {
         $opcoes = array('' => 'Erro na geração');
     }
     // data
     if ($qtd_modulo > 1) {
         $this->campoLista('ref_cod_modulo', 'Módulo', $opcoes, $this->ref_cod_modulo, NULL, NULL, NULL, NULL, NULL, FALSE);
         $this->campoData('data_inicio', 'Data Início', $this->data_inicio);
         $this->campoData('data_fim', 'Data Fim', $this->data_fim);
     } else {
         $this->campoLista('ref_cod_modulo', 'Módulo', $opcoes, $this->ref_cod_modulo);
         $this->campoData('data_inicio', 'Data Início', $this->data_inicio, TRUE);
         $this->campoData('data_fim', 'Data Fim', $this->data_fim, TRUE);
     }
     $this->campoOculto('incluir_modulo', '');
     $this->campoRotulo('bt_incluir_modulo', 'Módulo', '<a href="#" id="add_module"><img src="imagens/nvp_bot_adiciona.gif" title="Incluir" border="0" /></a>');
     $this->campoQuebra();
 }
 function Gerar()
 {
     if ($_POST) {
         foreach ($_POST as $campo => $val) {
             $this->{$campo} = $this->{$campo} ? $this->{$campo} : $val;
         }
     }
     // Primary keys
     $this->campoOculto('ref_ano', $this->ref_ano);
     $this->campoOculto('ref_ref_cod_escola', $this->ref_ref_cod_escola);
     $obj_escola = new clsPmieducarEscola($this->ref_ref_cod_escola);
     $det_escola = $obj_escola->detalhe();
     $ref_cod_instituicao = $det_escola['ref_cod_instituicao'];
     $ref_ano_ = $this->ref_ano;
     $this->campoTexto('ref_ano_', 'Ano', $ref_ano_, 4, 4, FALSE, FALSE, FALSE, '', '', '', '', TRUE);
     $this->campoQuebra();
     // Módulos do ano letivo
     if ($_POST['ano_letivo_modulo']) {
         $this->ano_letivo_modulo = unserialize(urldecode($_POST['ano_letivo_modulo']));
     }
     $qtd_modulo = count($this->ano_letivo_modulo) == 0 ? 0 : count($this->ano_letivo_modulo) + 1;
     if (is_numeric($this->ref_ano) && is_numeric($this->ref_ref_cod_escola) && !$_POST) {
         $obj = new clsPmieducarAnoLetivoModulo();
         $obj->setOrderBy('sequencial ASC');
         $registros = $obj->lista($this->ref_ano, $this->ref_ref_cod_escola);
         if ($registros) {
             foreach ($registros as $campo) {
                 $this->ano_letivo_modulo[$campo[$qtd_modulo]]['sequencial_'] = $campo['sequencial'];
                 $this->ano_letivo_modulo[$campo[$qtd_modulo]]['ref_cod_modulo_'] = $campo['ref_cod_modulo'];
                 $this->ano_letivo_modulo[$campo[$qtd_modulo]]['data_inicio_'] = dataFromPgToBr($campo['data_inicio']);
                 $this->ano_letivo_modulo[$campo[$qtd_modulo]]['data_fim_'] = dataFromPgToBr($campo['data_fim']);
                 $qtd_modulo++;
             }
         }
     }
     if ($_POST['ref_cod_modulo'] && $_POST['data_inicio'] && $_POST['data_fim']) {
         $qtd_modulo = $qtd_modulo == 0 ? 1 : $qtd_modulo;
         $this->ano_letivo_modulo[$qtd_modulo]['sequencial_'] = $qtd_modulo;
         $this->ano_letivo_modulo[$qtd_modulo]['ref_cod_modulo_'] = $_POST['ref_cod_modulo'];
         $this->ano_letivo_modulo[$qtd_modulo]['data_inicio_'] = $_POST['data_inicio'];
         $this->ano_letivo_modulo[$qtd_modulo]['data_fim_'] = $_POST['data_fim'];
         $qtd_modulo++;
         unset($this->ref_cod_modulo);
         unset($this->data_inicio);
         unset($this->data_fim);
     }
     $this->campoOculto('excluir_modulo', '');
     $qtd_modulo = 1;
     unset($aux);
     if ($this->ano_letivo_modulo) {
         foreach ($this->ano_letivo_modulo as $campo) {
             if ($this->excluir_modulo == $campo['sequencial_']) {
                 $this->ano_letivo_modulo[$campo['sequencial']] = NULL;
                 $this->excluir_modulo = NULL;
             } else {
                 $obj_modulo = new clsPmieducarModulo($campo['ref_cod_modulo_']);
                 $det_modulo = $obj_modulo->detalhe();
                 $nm_tipo_modulo = $det_modulo['nm_tipo'];
                 $url = sprintf('
         <a href="#" onclick="getElementById(\'excluir_modulo\').value = \'%s\'; getElementById(\'tipoacao\').value = \'\'; %s.submit();">
           <img src="imagens/nvp_bola_xis.gif" title="Excluir" border="0" />
         </a>', $campo['sequencial_'], $this->__nome);
                 $this->campoTextoInv('ref_cod_modulo_' . $campo['sequencial_'], '', $nm_tipo_modulo, 30, 255, FALSE, FALSE, TRUE);
                 $this->campoTextoInv('data_inicio_' . $campo['sequencial_'], '', $campo['data_inicio_'], 10, 10, FALSE, FALSE, TRUE);
                 $this->campoTextoInv('data_fim_' . $campo['sequencial_'], '', $campo['data_fim_'], 10, 10, FALSE, FALSE, FALSE, '', $url);
                 $aux[$qtd_modulo]['sequencial_'] = $qtd_modulo;
                 $aux[$qtd_modulo]['ref_cod_modulo_'] = $campo['ref_cod_modulo_'];
                 $aux[$qtd_modulo]['data_inicio_'] = $campo['data_inicio_'];
                 $aux[$qtd_modulo]['data_fim_'] = $campo['data_fim_'];
                 $qtd_modulo++;
             }
         }
         unset($this->ano_letivo_modulo);
         $this->ano_letivo_modulo = $aux;
     }
     $this->campoOculto('ano_letivo_modulo', serialize($this->ano_letivo_modulo));
     // Foreign keys
     $opcoes = array('' => 'Selecione');
     if (class_exists("clsPmieducarModulo")) {
         $objTemp = new clsPmieducarModulo();
         $objTemp->setOrderby('nm_tipo ASC');
         $lista = $objTemp->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, $ref_cod_instituicao);
         if (is_array($lista) && count($lista)) {
             foreach ($lista as $registro) {
                 $opcoes[$registro['cod_modulo']] = $registro['nm_tipo'];
             }
         }
     } else {
         $opcoes = array('' => 'Erro na geração');
     }
     // data
     if ($qtd_modulo > 1) {
         $this->campoLista('ref_cod_modulo', 'Módulo', $opcoes, $this->ref_cod_modulo, NULL, NULL, NULL, NULL, NULL, FALSE);
         $this->campoData('data_inicio', 'Data Início', $this->data_inicio);
         $this->campoData('data_fim', 'Data Fim', $this->data_fim);
     } else {
         $this->campoLista('ref_cod_modulo', 'Módulo', $opcoes, $this->ref_cod_modulo);
         $this->campoData('data_inicio', 'Data Início', $this->data_inicio, TRUE);
         $this->campoData('data_fim', 'Data Fim', $this->data_fim, TRUE);
     }
     $this->campoOculto('incluir_modulo', '');
     $this->campoRotulo('bt_incluir_modulo', 'Módulo', '<a href="#" id="add_module"><img src="imagens/nvp_bot_adiciona.gif" title="Incluir" border="0" /></a>');
     $this->campoQuebra();
 }