
function RequisicaoBrowser () {
    if (typeof XMLHttpRequest != 'undefined') {
        return new XMLHttpRequest;
    }
    var aryOtherTypes = ['Microsoft.XMLHTTP','Msxml2.XMLHTTP','Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP.3.0','Microsoft.XMLDOM'];
    
    for (intA=0; intA < aryOtherTypes.length; intA++) {
        try {
            return new ActiveXObject(aryOtherTypes[intA]);
        } catch(e) {
        }
    }    
}

function LoginPortal () {
    if (document.Login.Codigo.value == "") { 
        alert("Preencha o campo 'Login'");
        return;
    }
    
    if (document.Login.Senha.value == "") { 
        alert("Preencha o campo 'Senha'");
        return;
    }  

    var objBrowser = new RequisicaoBrowser ();
    
    objBrowser.open("POST", "portal/pagRequest.php?Request=Login", true); 
    objBrowser.onreadystatechange = function () {
        if (objBrowser.readyState == 4) {
            if (objBrowser.status == 200) {
                this.strResposta = objBrowser.responseText;
                this.strResposta = this.strResposta.replace(/\+/g," ");
                this.strResposta = unescape(this.strResposta);

                if (this.strResposta) {
                    document.getElementById("MensagemLogin").innerHTML = this.strResposta;
                    return;
                }

                window.open("portal/pagHome.php?Codigo=" + document.getElementById("Codigo").value,"","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,top=5,left=5,width=781,height=600");
            }
        }        
    }               
    objBrowser.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");        
    objBrowser.send(LocalizarElementosFormulario(document.getElementById("Login").elements));
}

function LocalizarElementosFormulario (objElementosForm) {
    var strElementosEnviar = "";        
    
    this.ConcatenarElementos = function (strName, strValue) { 
        if (strElementosEnviar.length > 0) { 
            strElementosEnviar += "&";
        }
        strElementosEnviar += encodeURIComponent(strName) + "=" + encodeURIComponent(strValue);
    }        
   
    for (intElementosForm=0; intElementosForm < objElementosForm.length; intElementosForm++) {
        switch(objElementosForm[intElementosForm].type) {
            case 'text': case 'password': case 'hidden': case 'textarea': 
                this.ConcatenarElementos(objElementosForm[intElementosForm].name,objElementosForm[intElementosForm].value);
                break;
        }
    }
    return strElementosEnviar;
}

function CarregarDados (intOpcao,strParametros,objCorpo) {
    var objBrowser   = new RequisicaoBrowser ();
    var objDadosTela = new MostrarDadosTela ();

    if (objCorpo == 0) {
        objCorpo = document.getElementById("EstruturaCorpo");
    }
    
    if (objCorpo == 1) {
        objCorpo = document.getElementById("EstruturaCorpoSecundario");
    }

    objDadosTela.MostrarStatusCarregando (objCorpo);   

    var strArquivo = objDadosTela.LocalizarArquivo (intOpcao);

    strArquivo = strArquivo + strParametros;

    objBrowser.open("POST",strArquivo, true); 
    objBrowser.onreadystatechange = function () {
        if (objBrowser.readyState == 4) {
            if (objBrowser.status == 200) {
                this.strResposta = objBrowser.responseText;
                this.strResposta = this.strResposta.replace(/\+/g," ");
                this.strResposta = unescape(this.strResposta);
                objDadosTela.MostrarInformacoes (objCorpo,this.strResposta);
                
                ExecScript(objBrowser.responseText);
            }
        }        
    }                     
    objBrowser.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");        
    objBrowser.send(null);
}

function MostrarDadosTela () {
    this.LimparTela = function (objTela) {
        objTela.innerHTML = "";
    }
    
    this.MostrarStatusCarregando = function (objCorpo) { 
        this.LimparTela (objCorpo);
        
        this.objNovoElemento = document.createElement("div");
        this.objNovoElemento.className = "CarregarDados";
        this.objNovoElemento.innerHTML = "Carregando, aguarde...";
        
        objCorpo.appendChild(this.objNovoElemento);
    }
    
    this.MostrarInformacoes = function (objCorpo,objResposta) {
        objCorpo.innerHTML = objResposta;
    }
    
    this.LocalizarArquivo = function (intOpcao) {
        switch (intOpcao) {
            case 0 :
                return "pagHome.php"
                break;  
            case 1 :
                return "pagFase.php"
                break;              
        }
    }
}

function ExecScript(strInnerHTML) {
    var ini = 0;

    while (ini!=-1) {
        ini = strInnerHTML.indexOf('<script', ini);
        
        if (ini >=0) {
            ini = strInnerHTML.indexOf('>', ini) + 1;
            var fim = strInnerHTML.indexOf("<\/script>", ini);
            codigo = strInnerHTML.substring(ini,fim);
            var novo = document.createElement("script")
            novo.text = codigo;
            document.body.appendChild(novo);
        }
    }
}

function VisualizarDetalhesFase (strCliente,intProjeto,intFase) {
    window.open("pagVisualizaDetalheFase.php?CodigoCliente=" + strCliente + "&CodigoProjeto=" + intProjeto + "&CodigoFase=" + intFase,"","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,top=350,left=450,width=300,height=180");
}
