// javascript ajax para carregar combo cidades

function objXMLHttp(){
	
    if(window.XMLHttpRequest){ //mozila, safari ...
	
        var objetoXMLHttp = new XMLHttpRequest();
        return objetoXMLHttp;
	
    }else if (window.ActiveXObject){ // IE
	
        var versoes = ["MSXML2.XMLHttp.6.0", "MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp"];
		
        for (var i = 0; i < versoes.length; i++){
			
            try{
				
                var objetoXMLHttp = new ActiveXObject(versoes[i]);
                return objetoXMLHttp;
				
            }catch(ex){
				
                objetoXMLHttp = null;
            }
        }
    }
    return false;
}

function Dados(valor) {

    var ajax = objXMLHttp();
	
    //deixa apenas o elemento 1 no option, os outros são excluídos
    document.frmComAjax.listCidades.options.length = 1;
    //deixa apenas o elemento 1 no option, os outros são excluídos
    document.frmComAjax.listCidades.options.length = 1;
	     
    idOpcao  = document.getElementById("opcoes");
		 
    ajax.open("POST", "./aj/cidadesgab.php", true);
	
    ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		 
    ajax.onreadystatechange = function() {
        //enquanto estiver processando...emite a msg de carregando
	
        if(ajax.readyState == 1) {
            idOpcao.innerHTML = "Carregando...!";
        }
	
        //após ser processado - chama função processXML que vai varrer os dados
    
        if(ajax.readyState == 4 ) {
	
            if(ajax.responseXML) {
		
                processXML(ajax.responseXML);
			
            }else{
			 
                //caso não seja um arquivo XML emite a mensagem abaixo
			
                idOpcao.innerHTML = "Selecione antes a UF";
            }
        }
    }
	
    //passa o código do estado escolhido
    var params = "estado="+valor;
    ajax.send(params);
}
   
function processXML(ajax){

    //pega a tag cidade
    var dataArray   = ajax.getElementsByTagName("cidade");

    //total de elementos contidos na tag cidade
	
    if(dataArray.length > 0) {
	
        //percorre o arquivo XML paara extrair os dados
        
        for(var i = 0 ; i < dataArray.length ; i++) {
        
            var item = dataArray[i];
            //contéudo dos campos no arquivo XML
            var codigo    =  item.getElementsByTagName("codigo")[0].firstChild.nodeValue;
            var descricao =  item.getElementsByTagName("descricao")[0].firstChild.nodeValue;
            idOpcao.innerHTML = "Selecione...";
			
            //cria um novo option dinamicamente
            var novo = document.createElement("option");
            //atribui um ID a esse elemento
            novo.setAttribute("id", "opcoes");
            //atribui um valor
            novo.value = codigo;
            //atribui um texto
            novo.text  = descricao;
            //finalmente adiciona o novo elemento
            document.frmComAjax.listCidades.options.add(novo);
        }
    }
    else {
        //caso o XML volte vazio, printa a mensagem abaixo
        idOpcao.innerHTML = "xx--------";
    }
}


