/**
* Sobrecarga da função __autoload do php
* Faz o include automaticamente do arquivo da classe
* Utiliza o arquivo XML de definições de diretórios e arquivos como base
* @param string Nome da classe
*/
function __autoload($stClasse)
{
    try {
        switch (true) {
            case is_file($ar['stArquivo'] = definicaoPasta::tema() . $stClasse . '.php'):
                include_once $ar['stArquivo'];
                break;
            case defined('diretorioPrioritario') && is_file($ar['stArquivo'] = diretorioPrioritario . $stClasse . '.php'):
                include_once $ar['stArquivo'];
                break;
            case defined('diretorioPrioritario') && is_file($ar['stArquivo'] = diretorioPrioritario . $stClasse . '.php'):
                include_once $ar['stArquivo'];
                break;
            default:
                $ar = definirDiretorio($stClasse);
                switch (true) {
                    case !is_dir($ar['stDiretorio']):
                        throw new erroInclusao("Diretório [{$ar['stDiretorio']}] inexistente!");
                        break;
                    case !is_file($ar['stArquivo']):
                        throw new erroInclusao("Arquivo [{$ar['stArquivo']}] inexistente!");
                        break;
                    case !is_readable($ar['stArquivo']):
                        throw new erroInclusao("Arquivo [{$ar['stArquivo']}] sem permissão de leitura!");
                        break;
                    default:
                        include_once $ar['stArquivo'];
                        break;
                }
        }
    } catch (erroInclusao $e) {
        echo $e->__toHtml();
    } catch (Exception $e) {
        if (strtolower(ini_get('display_errors')) == 'on') {
            $debug = debug_backtrace();
            echo "\n\t\t\t\t<link rel='stylesheet' href='.sistema/debug.css' />\n\t\t\t\t<div class='erroNegro'>\n\t\t\t\t\t<table summary='text' class='erroNegro'>\n\t\t\t\t\t\t<tr><th colspan=2 >Tentativa de instanciar uma classe inexistente!</th></tr>\n\t\t\t\t\t\t<tr><td>Classe:</td><td><font size='6px'>{$stClasse} ???</font></td></tr>\n\t\t\t\t\t\t<tr><td>Arquivo:</td><td>{$debug[0]['file']}</td></tr>\n\t\t\t\t\t\t<tr><td>Linha:</td><td>{$debug[0]['line']}</td></tr>\n\t\t\t\t\t</table>\n\t\t\t\t</div>\n\t\t\t\t";
            die;
        }
    }
}
 /**
  * Monta o template de verPesquisa
  */
 public static function montarTemplateVerPesquisa(visualizacao $visualizacao)
 {
     $camposControle = array();
     foreach (CUtilitario_geradorGerarFonte::$entidade['ng_nome'] as $chave => $valor) {
         if (CUtilitario_geradorGerarFonte::$entidade['ng_chave_pk'] != $chave) {
             $camposControle['nome' . ucFirst($valor)] = $valor;
         }
     }
     $visualizacao->nomes = $camposControle;
     $controle = definicaoEntidade::controle(CUtilitario_geradorGerarFonte::$nomeNegocio);
     $arNomeTema = explode('/', definicaoPasta::tema());
     if (!($nomeTema = array_pop($arNomeTema))) {
         $nomeTema = array_pop($arNomeTema);
     }
     $nomeTema = $nomeTema ? $nomeTema . '_' : null;
     if (!is_file($visualizacao->template_dir . "{$nomeTema}templateVerPesquisa.html")) {
         $nomeTema = null;
     }
     CUtilitario_geradorGerarFonte::escreverArquivo(CUtilitario_geradorGerarFonte::$nomeEntidade . "/html/{$nomeTema}{$controle}_verPesquisa.html", $visualizacao->pegar("{$nomeTema}templateVerPesquisa.html"));
 }