// JavaScript Document

function makeRequest ()
{
	AJAX = false;
	if (window.XMLHttpRequest)
	{ // Mozilla, Safari,...
		AJAX = new XMLHttpRequest();
		if (AJAX.overrideMimeType)
			AJAX.overrideMimeType('text/xml');
	}
	else if (window.ActiveXObject)
	{ // IE
		try {			AJAX = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {		AJAX = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {}
		}
	}

	if (!AJAX) {
		alert('ERRO :(Seu navegador não suporta a aplicação usada neste site');
		return false;
	}
	
};
/***********************************************************************************************************************************************/

function ChgOpts(SEL, ID, OBJ, DEL)
{
	var XID				= SEL.options[SEL.selectedIndex].value;
	if(XID<=0 || !XID || XID==null)
		return false;
		
	makeRequest ();
	DOC					= document.getElementById(OBJ);
	DOC.options.length	= 1;
	idOpcao				= DOC.options[0];

	AJAX.open("POST", AJX_URl, true);
	AJAX.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

	AJAX.onreadystatechange = function()
	{
		if(AJAX.readyState == 1)
			idOpcao.innerHTML = "Carregando...!";   

		if(AJAX.readyState == 4 )
		{
			if(AJAX.responseXML)
			{
				processXML(AJAX.responseXML, ID, OBJ, DEL);
			}
			else
			{
				idOpcao.innerHTML = "Erro ao abrir o source";
			}
		}
	}

	var params = "id="+XID;
	AJAX.send(params);
}

function processXML(SOURCE, ID, OBJ, DEL)
{
	var dataArray				= SOURCE.getElementsByTagName("ITEM");
	if(dataArray.length > 0)
	{
		if (DEL != null) {	DOC.options[0].innerHTML	= DEL;
		} else {			DOC.options[0]				= null;
		}
		
		for(var i = 0 ; i < dataArray.length ; i++)							//	percorre o arquivo XML paara extrair os dados
		{
			var item			= dataArray[i];								//	contéudo dos campos no arquivo XML
			var CODE			=  item.getElementsByTagName("CODE")[0].firstChild.nodeValue;
			var TEXTO			=  item.getElementsByTagName("TEXTO")[0].firstChild.nodeValue;

			var NOVO			= document.createElement("option");			//	cria um novo option dinamicamente  
			NOVO.value			= CODE;										//	atribui um valor
			NOVO.text			= TEXTO;									//	atribui um texto
			NOVO.selected		= (CODE == ID) ? true : false;				//	verifico se essa cidade deve estar selecionada
			DOC.options.add(NOVO);											//	finalmente adiciona o novo elemento
		}
	}
	else
	{
		DOC.options[0].value		= null;
		DOC.options[0].innerHTML	= "Nenhum registro encontrado";			//	caso o XML volte vazio, mostra a mensagem abaixo
	}	  
}

