function get(elemento){
  return document.getElementById(elemento);
}//fim função get
  
function addEvent(obj, evt, func) {
   if (obj.attachEvent) {
     return obj.attachEvent(("on"+evt), func);
   } else if (obj.addEventListener) {
     obj.addEventListener(evt, func, true);
     return true;
   }
   return false;
}


function XMLHTTPRequest() {
   try {
     return new XMLHttpRequest(); // FF, Safari, Konqueror, Opera, ...
   } catch(ee) {
     try {
       return new ActiveXObject("Msxml2.XMLHTTP"); // activeX (IE5.5+/MSXML2+)
     } catch(e) {
       try {
         return new ActiveXObject("Microsoft.XMLHTTP"); // activeX (IE5+/MSXML1)
       } catch(E) {
         return false; // doesn't support
       }
     }
   }
}

function buscarEndereco() {

   var campos = {
     cep: document.getElementById("cep"),
     logradouro: document.getElementById("logradouro"),
     bairro: document.getElementById("bairro"),
     cidade: document.getElementById("cidade"),
     uf: document.getElementById("uf")
   };
   value_cep = get("cep").value.replace(".","");
   
  var ajax = XMLHTTPRequest();
  var url = "util/cep.php?cep="+value_cep;

   ajax.open("GET", url, true);
   ajax.onreadystatechange = function() {
     if (ajax.readyState == 1) {
       campos.logradouro.value = "carregando...";
       campos.bairro.value = "carregando...";
       campos.cidade.value = "carregando...";
       campos.uf.value = "carregando...";
    } else if (ajax.readyState == 4) 
	{
	    var r = ajax.responseText, i, uf, cidade, bairro, tipo_logradouro, logradouro;
		
	    uf = unescape(r.substring(0, (i = r.indexOf(','))));
		//alert(uf);
	    r = r.substring(++i);
	    cidade = unescape(r.substring(0, (i = r.indexOf(','))));
		//alert(cidade);
	    r = r.substring(++i);
	    bairro = unescape(r.substring(0, (i = r.indexOf(','))));
		//alert(bairro);
	    r = r.substring(++i);
	    tipo_logradouro = unescape(r.substring(0, (i = r.indexOf(','))));
		//alert(tipo_logradouro);
	    r = r.substring(++i);
	    logradouro = r.substring(0, (i = r.indexOf(',')));
		//alert(logradouro);
		
	    campos.uf.value = uf;
	    campos.cidade.value = cidade;
	    campos.bairro.value = bairro;
	    campos.logradouro.value = tipo_logradouro+' '+logradouro;
		
		// if (uf == "" || cidade == "" || bairro == "")
		// {
			// document.getElementById("td_cep_1").style.backgroundColor="#FF7863";
			// document.getElementById("td_cep_2").style.backgroundColor="#FF7863";
			// document.getElementById("td_cep_3").style.backgroundColor="#FF7863";
			// campos.cidade.value = "Por favor, informe o CEP corretamente!";
			// campos.bairro.value = "Por favor, informe o CEP corretamente!";
			// campos.logradouro.value = "Por favor, informe o CEP corretamente!";
		// }else {
			// document.getElementById("td_cep_1").style.backgroundColor="#EEEEEE";
			// document.getElementById("td_cep_2").style.backgroundColor="#EEEEEE";
			// document.getElementById("td_cep_3").style.backgroundColor="#EEEEEE";
		// }
     }
   };
  ajax.send(null);
}

window.addEvent(
   window,
   "load",
   function() {window.addEvent(document.getElementById("cep"), "blur", buscarEndereco);}
);
