function RequisicaoBrowser () {
    if (typeof XMLHttpRequest != 'undefined') {
        return new XMLHttpRequest;
    }
    
    var aryOtherTypes = ['XMLHttpRequest','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 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': case 'select-one':
                this.ConcatenarElementos(objElementosForm[intElementosForm].name,objElementosForm[intElementosForm].value);
                break;
            case 'checkbox':
                if (objElementosForm[intElementosForm].checked == true) {
                    this.ConcatenarElementos(objElementosForm[intElementosForm].name,objElementosForm[intElementosForm].value);
                }
                break;
            case 'radio':
                if (objElementosForm[intElementosForm].checked == true) {
                    this.ConcatenarElementos(objElementosForm[intElementosForm].name,objElementosForm[intElementosForm].value);
                }
                break;
        }
    }

    return strElementosEnviar;
}

function CarregarDados (intOpcao,strParametros,objCorpo) {
    var objBrowser   = new RequisicaoBrowser ();
    var objDadosTela = new MostrarDadosTela ();
       
    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);
            }
        }        
    }                     
    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 1 :
                return "portal/pagHome.php"
                break;
			case 2 :
				return "portal/pagAnuncie.php";
				break;
			case 3 :
				return "portal/pagQuemSomos.php";
				break;
			case 4 :
				return "portal/pagContato.php";
            case 5 :
                return "portal/pagUpdateData.php"
                break;      
        }
    }
}

function ExecuteSearch (objCorpo,intAtividade) {

    if (intAtividade == 0) {
        if (document.ExecSearch.SearchValue.value == "") {
            alert("Entre com um dado para pesquisa !");
            return;
        }
    }

    var objBrowser   = new RequisicaoBrowser ();
    var objDadosTela = new MostrarDadosTela ();
    var objFormData  = LocalizarElementosFormulario(document.getElementById("ExecSearch").elements)

    objDadosTela.MostrarStatusCarregando (objCorpo);   
    
    objBrowser.open("POST", "portal/pagRequest.php?Request=SearchPortal&SearchActivity=" + intAtividade, 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);
            }
        }        
    }          

    objBrowser.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");   
    objBrowser.send(objFormData);
}

function UpdateDataPortal (objCorpo) {

    if (document.UpdateData.Nome.value == "") {
        alert("Campos obrigatórios devem ser preenchidos !");
        return;
    }
    
    if (document.UpdateData.Telefone.value == "") {
        alert("Campos obrigatórios devem ser preenchidos !");
        return;
    }
    
    if (document.UpdateData.Comentario.value == "") {
        alert("Campos obrigatórios devem ser preenchidos !");
        return;
    }

    var objBrowser   = new RequisicaoBrowser ();
    var objDadosTela = new MostrarDadosTela ();
    var objFormData  = LocalizarElementosFormulario(document.getElementById("UpdateData").elements)

    objDadosTela.MostrarStatusCarregando (objCorpo);   
    
    objBrowser.open("POST", "portal/pagRequest.php?Request=UpdateData", 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);
            }
        }        
    }          

    objBrowser.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");   
    objBrowser.send(objFormData);
}

function EnterKey(e){
    var tecla=(window.event)?event.keyCode:e.which;
    if(tecla == 13) {
    	ExecuteSearch(document.getElementById('EstruturaCorpoPortal'),0);
	}
}
