var controlGetEndereco=new Object();controlGetEndereco={getFormElement:null,getDataAdress:null,resultEndereco:false,getAdress:function(d,a,b){cssRule1="#"+a+" input";cssRule2="#"+a+" select";cssRule3="#"+a+" div.cidade";table=$$(cssRule1,cssRule2);cidadebox=$$(cssRule3);var c=$("get_adress");var e=$(d).value;var j=new Array();this.getDataAdress=null;for(i=0;i<10;i++){var g=$(d).up(i);if(g.tagName=="FORM"){this.getFormElement=g;break}}if(e!=""){var f=e.replace("-","");var k=/\D/;if(k.test(f)){j.push(messages2.charsCEP)}}else{var h="CEP está vazio";controlGetEndereco.mostrarErroCep(h,$(d).up(1),d)}var h=j.length;if(h){jQuery("#mensagem").msgError(j.join("\n")+messages2.errorFooter).flashMessage()}else{new Ajax.Request(UtilControls.getBaseURL()+"/endereco/buscaendereco/",{method:"post",postBody:"cep_usuario_endereco="+e,onLoading:function(){d.up().next().show()},onComplete:function(o){var l=$(d).up(1);var n=o.responseText.evalJSON();if(n.result){d.up().next().hide();if(l.up().select(".err").length){l.up().select(".err")[0].remove()}controlGetEndereco.resultEndereco=true;controlGetEndereco.getDataAdress=n;table.each(function(p){if(p.hasClassName("endereco")){p.value=n.logradouro}if(p.hasClassName("bairro")){p.value=n.bairro}if(p.hasClassName("estado")){p.value=n.fk_estado}});if(b){controlGetEndereco.setCidadeBoxImp(cidadebox,n.fk_estado)}else{controlGetEndereco.setCidadeBox(cidadebox,n.fk_estado)}$("error1").innerHTML="";$("error2").innerHTML="";$("error3").innerHTML="";$("error4").innerHTML=""}else{if(e==""){var m="CEP está vazio"}else{if(e.length!=9){var m="O CEP informado é inválido"}else{var m="Não foi possível encontrar um endereço para este CEP"}}controlGetEndereco.mostrarErroCep(m,l,d)}},onFailure:function(){alert("Ops! Não foi possível trazer o endereço.")}})}},mostrarErroCep:function(b,a,c){var d='<div id="error" class="err" style="width: 601px; float: left;">	<div style="color: red;">'+b+"</div></div>";if(!a.up().select(".err").length){a.down().next().insert({after:d})}else{$("error").innerHTML=b;$("error").setStyle({color:"red"})}c.up().next().hide();$("logradouro_usuario_endereco").value="";$("bairro_usuario_endereco").value="";$("estado").options[0].selected=true;$("cidade").options[0].selected=true},setCidadeBoxImp:function(a,b){var a=a[0];new Ajax.Request(UtilControls.getBaseURL()+"/usuario/buscarcidades/imp/1",{method:"post",postBody:"estado="+this.getDataAdress.fk_estado,onLoading:function(){a.innerHTML="Aguarde carregando cidades!"},onComplete:function(d){a.innerHTML=d.responseText;var c=$(controlGetEndereco.getFormElement.id);a.select("select")[0].value=controlGetEndereco.getDataAdress.pk_cidade},onFailure:function(){alert("Ops! Não foi possível trazer a cidade.")}})},setCidadeBox:function(a,b){var a=a[0];new Ajax.Request(UtilControls.getBaseURL()+"/usuario/buscarcidades/",{method:"post",postBody:"estado="+this.getDataAdress.fk_estado,onLoading:function(){a.innerHTML="Aguarde carregando cidades!"},onComplete:function(d){a.innerHTML=d.responseText;var c=$(controlGetEndereco.getFormElement.id);a.select("select")[0].value=controlGetEndereco.getDataAdress.pk_cidade},onFailure:function(){alert("Ops! Não foi possível trazer a cidade.")}})},getCitiesImp:function(b,a){a=$(a);new Ajax.Request(UtilControls.getBaseURL()+"/usuario/buscarcidades/imp/1",{method:"post",postBody:"estado="+b,onLoading:function(){a.update("Aguarde carregando cidades!")},onComplete:function(c){a.update(c.responseText)},onFailure:function(){alert("Ops! um erro bizarro ocorreu na transação AJAX!")}})},formSubmit:function(c){var d=new Array();if(c.logradouro_usuario_endereco.value==""){d.push(messages2.emptyAdress)}if(c.nr_usuario_endereco.value==""){d.push(messages2.emptyNumber)}if(c.contato_usuario_endereco.value==""){d.push(messages2.emptyContato)}if(c.bairro_usuario_endereco.value==""){d.push(messages2.emptyDistrit)}if(c.cep_usuario_endereco.value!=""){var a=c.cep_usuario_endereco.value.replace(/[^\d]+/g,"");if(a.length!=8){d.push(messages2.charsCEP)}}else{d.push(messages2.emptyCEP)}if(!$("cidade")){d.push(messages2.emptyCity)}var b=d.length;if(b){messages.allMessage="";jQuery("#mensagem").msgInfo(messages2.errorHead+d.join("\n")+messages2.errorFooter).flashMessage()}else{c.submit()}}};var messages2=[];messages2={errorHead:"Os seguinte(s) erro(s) foram encontrado(s):\n\n",errorFooter:"\n\nverifique e tente novamente!",emptyCEP:'O campo "CEP" está vazio!',charsCEP:"CEP inválido, preecha o CEP apenas com números!",emptyAdress:'O campo "Endereço" está vazio!',emptyDistrit:'O campo "Bairro" está vazio!',emptyNumber:'O campo "Número" está vazio!',emptyCity:'O campo "Cidade" está vazio, selecionado uma!',emptyContato:'o campo "Responsável" está vazio!'};
