function AcharElemento(pai, nomeElemento)
{
	for(i = 0; i < pai.childNodes.length; i++ )
	{		
		if (pai.childNodes[i].id == nomeElemento)
		{
			return pai.childNodes.item(i);
		}
	}			
	return null;
}

function AlimentarCombo(Combo, XmlObj, valorPadrao)
{	
	// Limpa a combo
	while(Combo.options.length > 0)
		Combo.options.remove(0);

	var itens = XmlObj.getElementsByTagName("Item");
	
	var nodeSelected;	
	
	for(i = 0; i < itens.length; i++) 
	{
		var oOption = document.createElement("OPTION");
		Combo.options.add(oOption);
		oOption.innerText = itens.item(i).getElementsByTagName("Text").item(0).text;
		oOption.value = itens.item(i).getElementsByTagName("Value").item(0).text;				
		nodeSelected = itens.item(i).getElementsByTagName("Selected");
		if (nodeSelected.length > 0)
			oOption.selected = true;
	}		
}

function Mostrar_Ampulheta(elementoAmpulheta)
{
	var loadingImg = document.createElement('img');
	loadingImg.id = 'imgAmpulheta';
	loadingImg.src = '../imagens/gpa_pensando.gif';
	elementoAmpulheta.appendChild(loadingImg);	
}

function Mostrar_Janela(textoJanela)
{
	var divJanela = document.all("divJanelaProcessando");
	if (divJanela != null)
	{
		var msgJanela = document.all("msgJanelaProcessando");
		divJanela.style.visibility = '';
		msgJanela.innerText = textoJanela;
		CentralizaLayer('divJanelaProcessando',200,68);
	}
}

function Adicionar_Elemento(pai, tipo)
{
	var el = document.createElement(tipo);
	pai.appendChild(el);
	return el;
}

function Esconder_Janela()
{
	var janela = document.all("divJanelaProcessando");
	if (janela != null)
	{
		janela.style.visibility = 'hidden';		
	}

}

function Requisicao(Origem, Pagina, funcaoCallback, elementoAmpulheta, info)
{

	//alert("Entrou no Requisição("+Origem+", "+ Pagina+", "+ funcaoCallback+", "+ elementoAmpulheta+", "+ info)

	if (!Origem) return;
	if (Origem.ajaxInProgress) return;
    var xmlhttp =  new XMLHttpRequest();
	xmlhttp.open('POST', Pagina, true);
//	prompt (Pagina,Pagina);
	/* The callback function */
    xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4) {
		
			//alert("readyState == 4")
			
			Origem.ajaxInProgress = false;				
			// Desabilita a ampulheta
			if (typeof(elementoAmpulheta) == "string")
				Esconder_Janela();
			else
			{							
				var amp = AcharElemento(elementoAmpulheta, "imgAmpulheta");
				elementoAmpulheta.removeChild(amp);
			}
			
			//alert("xmlhttp.status == " + xmlhttp.status)
			
			if (xmlhttp.status == 200)				
				funcaoCallback(xmlhttp.responseXML, info);	// Chama a função de callback	    
            else 
				alert('texto01_util_ajax ' + xmlhttp.status + ').'); //target.submit();
		}
	}

	/* Envia a requisição */
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlhttp.send();
	
	Origem.ajaxInProgress = true;
	
	// Exibe a ampulheta ou frame de processamento
	if (typeof(elementoAmpulheta) == "string")			
		Mostrar_Janela(elementoAmpulheta);
	else
		Mostrar_Ampulheta(elementoAmpulheta);		  
}

