var CEP = Class.create(); CEP.prototype = { url : 'http://www.antoniobizarro.com.br/_Request', initialize: function() { }, carregaCep: function( _cep ){ new Effect.Appear($('carregandoCEP').update("Consultando CEP " + _cep)); new Ajax.Request( this.url + '/carregaCEP/'+_cep, { onComplete : function(resposta){ var res = resposta.responseText.evalJSON(); if(res){ if(res.logradouro){ $('endereco').value = res.logradouro; } $('carregandoCEP').update('Selecionando estado'); if(res.estado){ //$('idestados').selectedIndex = res.estado; $('idestados').value = res.estado; } $('carregandoCEP').update('Selecionando cidade'); if(res.cidade){ $('carregandoCEP').update('Buscando lista de cidades'); new Ajax.Updater('idcidades', this.url + '/carregaCidades/'+res.estado+"/"+res.cidade, { onComplete: function(){ if(res.bairro){ $('carregandoCEP').update('Buscando lista de bairros'); new Ajax.Updater('idbairros', this.url + '/carregaBairros/'+res.cidade+"/"+res.bairro, { }); }else{ $('idbairros').update("").disable(); if(!$('bairro').visible()) $('idbairros').insert({ 'after' : ''}); } }.bind(this) }); } }else{ alert('O CEP digitado não é válido') } new Effect.Fade($('carregandoCEP').update('Carregando...')); }.bind(this) }); }, carregaCidades: function( _estado , _preSeleciona ){ new Effect.Appear($('carregandoCEP').update("Carregando lista de cidades")); $('idcidades').update(""); new Ajax.Updater('idcidades', this.url + '/carregaCidades/'+_estado+"/"+_preSeleciona, { onComplete: function(){ new Effect.Fade($('carregandoCEP').update('Carregando...')); } }); $('idbairros').update(""); }, carregaBairros: function( _cidade , _preSeleciona){ new Effect.Appear($('carregandoCEP').update("Carregando lista de bairros")); $('idbairros').update(""); new Ajax.Updater('idbairros', this.url + '/carregaBairros/'+_cidade+"/"+_preSeleciona, { onComplete: function(){ new Effect.Fade($('carregandoCEP').update('Carregando...')); } }); } } consultaCEP = new CEP;