// BIBLIOTECA AJAX
// 1.0 By William Novasky
// Todos os direitos reservados

/*
	readystate:
	1 = Carregando
	2 = Carregado
	3 = Interagindo
	4 = Completo
	
	status: Resposta do HTTP{
		404 - página não encontrado
		200 - Página carregou(será exibida)
		500 - Erro no Servidor
	}
*/

var oXHR = false;
// Testa o Firefox
if(window.XMLHttpRequest){
	oXHR = new XMLHttpRequest();
}
// Testa o Microsoft Internet Explorer
else if(window.ActiveXObject){
	oXHR = new ActiveXObject("Microsoft.XMLHTTP");
}


// Método GET para retornar valores em campos Combo
function getDataSpecial(sURL,oElem,sParam){
	oXHR.open("GET",sURL,true);
	oXHR.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	oXHR.onreadystatechange = function(){
		if(oXHR.readyState == 4 && oXHR.status == 200){
			var retorno = oXHR.responseText;
			oElem.innerHTML = retorno;
		}
	}
	oXHR.send(sParam);
}

// Método GET para retornar valores em campos Combo
function getData(sURL,oElem,sParam){
	oXHR.open("GET",sURL,true);
	oXHR.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	oXHR.onreadystatechange = function(){
		if(oXHR.readyState == 4 && oXHR.status == 200){
			var retorno = oXHR.responseText;
			oElem.innerHTML = retorno;
			//oElem.value = retorno;
		}
	}
	oXHR.send(sParam);
}

// Método GET para retornar valores em campos Combo
function getDataCombo(sURL,oElem,sParam){
	oXHR.open("GET",sURL,true);
	oXHR.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	oXHR.onreadystatechange = function(){
		if(oXHR.readyState == 4 && oXHR.status == 200){
			var retorno = oXHR.responseText;
			var aResultado = retorno.split(","); 
			carregaCombo(oElem,aResultado,oElem);
		}
	}
	oXHR.send(sParam);
}


// Carrega o combo list com o resultado
function carregaCombo(oCombo,aResultado,oElem){
	var sOptText;
	var sOptValue;
	
	for(var a=0; a<oElem.length; a++){
		var combo = oElem;
		combo.remove(combo[a]);
	}
	var ultimo = oElem.length + 1;
	combo.remove(combo[ultimo]);
	
	var e=0;  // Inicia var 'e' para usar no combo
	var i=0;  // Inicia var 'i' para usar no value e no text do combo
	while(i<aResultado.length){
		sOptText = aResultado[i];     // Insere o texto do combo
		sOptValue = aResultado[i+1];  // Insere o value do combo
		oCombo.options[e] = new Option(sOptText,sOptValue);  // executa o combo
		i = i+2; // Incrementa 2 pq o 1º é o texto e o 2º é o value
		e++;     // Incrementa o índice do combo
	}
	/*
	for(var i=0; i<aResultado.length; i++){
		sOptText = aResultado[i];
		sOptValue = aResultado[i];
		oCombo.options[i] = new Option(sOptText,sOptValue);
	}
	*/
}

