// Ajax gererica
function get(tI) { // Esta funcao pega o elemento pelo ID
    if (document.getElementById) {
        return document.getElementById(tI);
    }
    else if (document.all) {
        return document.all[tI];
    } else return false;
}

function ajax(url,div,valor,valor2,valor3,valor4){
    req = null;
    get(div).innerHTML = "<img src='admin/img/ajax.gif'>";
    if (window.XMLHttpRequest){
        req = new XMLHttpRequest();
        req.onreadystatechange = function() {
            if(req.readyState == 4){
                if (req.status == 200){
                    texto=unescape(req.responseText.replace(/\+/g," "));
                    get(div).innerHTML = texto;
                    // executa scripts
                    extraiScript(texto);
                //get(div).innerHTML = req.responseText;
                } else {
                    alert("Houve um problema ao obter os dados:\n" + req.statusText);
                }
            }
        }
        req.open("GET", url+'?valor='+valor+'&valor2='+valor2+'&valor3='+valor3+'&valor4='+valor4, true);
        req.send(null);
    } else if (window.ActiveXObject){
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req){
            req.onreadystatechange = function() {
                if(req.readyState == 4){
                    if (req.status == 200){
                        texto=unescape(req.responseText.replace(/\+/g," "));
                        get(div).innerHTML = texto;
                        // executa scripts
                        extraiScript(texto);
                    //get(div).innerHTML = req.responseText;
                    } else{
                        alert("Houve um problema ao obter os dados:\n" + req.statusText);
                    }
                }
            }
            req.open("GET", url+'?valor='+valor+'&valor2='+valor2+'&valor3='+valor3+'&valor4='+valor4, true);
            req.send();
        }
    }
}

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);
        }
    }
}
