

function mostraResposta(responseText, link, respId){
    var resposta = responseText;
    var respSplit;
    switch(link){
        case 'usuario/excluirUsuario.php' :
            respSplit = resposta.split("@@");
            if(respSplit[0] != "ok"){
                alert(respSplit[0]);
            }
            document.getElementById(respId).innerHTML = respSplit[1];
            break
        case 'usuario/cadUsuarios.php' :

            respSplit = resposta.split("@@");

            // limpa login e nome
            document.getElementById('nome').value = "";
            document.getElementById('login').value = "";

            // troca a senha
            document.getElementById('mostraPassword').innerHTML = respSplit[0];
            
            // mostra os usuarios incluidos
            document.getElementById(respId).innerHTML = respSplit[1];
            
            break;
        case 'usuario/cadNovoUsuario.php' :
            document.getElementById('menuUsuario').style.backgroundColor = "#ffa981";
            document.getElementById('menuEmpresa').style.backgroundColor = "#f26f31";
            document.getElementById('cadastrarUsuario').innerHTML = "Cadastrar Empresa";
            document.getElementById('cadastrarUsuario').onclick = function(){cadEmpresa()};
            document.getElementById(respId).innerHTML = resposta;
            break;
        case 'login/logar.php' :
            respSplit = resposta.split("@@");
            if(respSplit[0] == "ok"){
                window.location = respSplit[1];
            }else{
                document.getElementById(respId).innerHTML = respSplit[1];
            }
            
            break;
        default :document.getElementById(respId).innerHTML = resposta;
    }
    // limpa mensagem log
    document.getElementById('msgLog').innerHTML = "";
}

function mostraStatus(msg, msgId, link){

    switch(link){
        case '' :break;
        default :document.getElementById(msgId).innerHTML = msg;
    }

}

// fun�oes padrao ajax.
var ajax;
// cria o obajeto XMLHttpRequest
function newXMLHttpObject1(){
    try{
        ajax = new ActiveXObject("MSXML2.XMLHTTP.3.0");
    }catch(e){
        try{
            ajax = new ActiveXObject("Msxml2.XMLHTTP");
        }catch(e){
            try{
                ajax = new ActiveXObject("Microsoft.XMLHTTP");
            }catch(e){
                try{
                    ajax = new XMLHttpRequest();
                }catch(e){
                    ajax = false;
                }
            }
        }
    }
}


function Ajax(msg, msgId, pars, link, respId){

    newXMLHttpObject1();
    if (!ajax){
        alert("Seu navegador não suporta Ajax.");
    }else{
        try{
            ajax.onreadystatechange = function(){
                if (ajax.readyState == 4){
                        if (ajax.status == 200){

                            
                            try{
                                mostraResposta(ajax.responseText, link, respId);
                            }
                            catch(err){
                                iderro = document.getElementById('msgLog');
                                iderro.style.color = "red";
                                iderro.innerHTML = 'Erro: ' + err.message;
                            }
                        }else{
                            switch(ajax.status){
                                case 12002: // Server timeout
                                case 12029: // 12029 to 12031 correspond to dropped connections.
                                case 12030:
                                case 12031:
                                    iderro = document.getElementById('msgLog');
                                    iderro.innerHTML = "Erro: status: "+ajax.status+". O servidor n�o respondeu a requisi��o a tempo, tentando novamente...";
                                    // reenvia o formulario
                                    Ajax(msg, msgId, pars, link, respId);
                                    break;
                                case 12152: // Connection closed by server.
                                case 13030: // See above comments for variable status.
                                default:
                                    iderro = document.getElementById('msgLog');
                                    iderro.style.color = "red";
                                    iderro.innerHTML = "Erro: status: "+ajax.status+". O servidor n�o respondeu a requisi��o corretamente. ";
                            }
                        }
                }else{
                    try{
                        mostraStatus(msg, msgId, link);
                    }catch(err){
                        iderro = document.getElementById('msgLog');
                        iderro.style.color = "red";
                        iderro.innerHTML = 'Erro: ' + err.message;
                    }
                    
                }
            }
            ajax.open('POST',link,true);
            ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=ISO-8859-1');
            ajax.send(pars);
        }catch(err){
            iderro = document.getElementById('msgLog');
            iderro.style.color = "red";
            iderro.innerHTML = "Erro ao Processar Ajax .: " + err.message;
        }
    }
}


