/**
* @author João Vítor Molinari projetos@logicadigital.com.br
* @copyright (c) 2006 Lógica Digital
* Descrição: Script para execução do AJAX
*/



//*** Código base do Ajax
    function abreAjax(url,destino)
    {
        var http_request = false;

        // Mozilla, Safari,...
        if (window.XMLHttpRequest)
        {
           http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType)
            {
                http_request.overrideMimeType('text/xml');
            }
        }
        // IE
        else if(window.ActiveXObject)
        {
            try{
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!http_request)
        {
            alert('O seu browser não suporta AJAX!');
            return false;
        }

        // se conectar, executa...
        http_request.onreadystatechange = function()
        {
            // chama a função que colocará o conteúdo
            conteudoPagina(http_request,destino);
        };

        // define método como GET
        http_request.open('GET', url, true);
        http_request.send(null);
    }


//*** função para exibição da página
    function conteudoPagina(http_request,destino)
    {

        // se estiver carregando...
        if(http_request.readyState == 1)
        {
                // Quando estiver carregando, exibe: carregando...
                //document.getElementById(destino).innerHTML = "<center><img alt='Carregando' title='Carregando' src='imagens/load.gif' /></center>";
        }

        // quando tiver terminado de carregar
        if (http_request.readyState == 4)
        {
                // checagem de status
                if (http_request.status == 200)
                {
                    // Aqui é onde se mostra a página carregada

                    // Conteúdo da página chamada
                    var resultado = http_request.responseText;

                    // Resolve o problema dos acentos
                    resultado = resultado.replace(/\+/g," ");
                    resultado = unescape(resultado);

                    // Coloca na página atual o conteúdo da página requisitada pelo AJAX
                    document.getElementById(destino).innerHTML = resultado;
					
					// executa scripts
					extraiScript(resultado);
                }

                // se checagem de status falhar...
                else
                {
                    // alert('Houve um problema de conexão no servidor. Por favor tente novamente mais tarde.');
                }
        }

    }
	
/////////////////////////////////////////////////////////////////////////////////////////////////

function extraiScript(texto){
    // inicializa o inicio ><
    var ini = 0;
    // loop enquanto achar um script
    while (ini!=-1){
        // procura uma tag de script
        ini = texto.indexOf('<script', ini);
        // se encontrar
        if (ini >=0){
            // define o inicio para depois do fechamento dessa tag
            ini = texto.indexOf('>', ini) + 1;
            // procura o final do script
            var fim = texto.indexOf('</script>', ini);
            // extrai apenas o script
            codigo = texto.substring(ini,fim);
            // executa o script
            eval(codigo);
        }
    }
}
