$(document).ready(function() { $('#rede').live('change', function() { buscarEstados(); $(this).valid(); }); $('#estado').live('change', function() { clean("municipio"); clean("bairro"); clean("tipo-servico"); clean("especialidade"); buscarMunicipios(); $(this).valid(); }); $('#municipio').live('change', function() { clean("bairro"); clean("tipo-servico"); clean("especialidade"); buscarBairros(); $(this).valid(); }); $('#bairro').live('change', function() { clean("tipo-servico"); clean("especialidade"); limparFiltroAvancado(); $(this).valid(); }); $('#tipo-servico').live('change', function() { if ($('#area-busca-tipo').hasClass('ativo')) { clean("especialidade"); buscarEspecialidades(); } $(this).valid(); }); $('#especialidade').live('change', function() { if ($('#area-busca-especialidade').hasClass('ativo')) { buscarTiposServico(); } $(this).valid(); }); }); function buscarRedes() { clean("estado"); clean("municipio"); clean("bairro"); clean("tipo-servico"); clean("especialidade"); wait("rede"); $("#rede").attr("disabled", "disabled"); $.customAjax({url: "/servicos/rede-credenciada/redes-credenciadas.json", data: { 'filter.operadora' : $('#operadora').val(), 'filter.contexto' : $('#busca-contexto').val(), 'filter.modalidade': $('#busca-modalidade').val() }, successHandler: function(data) { $("#rede").jqTransUpdateOptions(data.redesCredenciadas); $("#rede").removeAttr("disabled"); } }); } function buscarEstados() { wait("estado"); $("#estado").attr("disabled", "disabled"); $.customAjax({url: "/servicos/rede-credenciada/estados.json", data: { 'filter.operadora' : $('#operadora').val(), 'filter.contexto' : $('#busca-contexto').val(), 'filter.modalidade': $('#busca-modalidade').val(), 'filter.redeCredenciada' : $('#rede').val() }, successHandler: function(data) { $("#estado").jqTransUpdateOptions(data.estados); $("#estado").removeAttr("disabled"); } }); } function buscarMunicipios() { wait("municipio"); $("#municipio").attr("disabled", "disabled"); $.customAjax({ url: "/servicos/rede-credenciada/municipios.json", data: { 'filter.operadora' : $('#operadora').val(), 'filter.contexto' : $('#busca-contexto').val(), 'filter.modalidade' : $('#busca-modalidade').val(), 'filter.redeCredenciada' : $('#rede').val(), 'filter.estado' : $('#estado').val() }, successHandler: function(data) { $("#municipio").jqTransUpdateOptions(data.municipios); $("#municipio").removeAttr("disabled"); } }); } function buscarBairros() { wait("bairro"); $("#bairro").attr("disabled", "disabled"); $.customAjax({url: "/servicos/rede-credenciada/bairros.json", data: { 'filter.operadora' : $('#operadora').val(), 'filter.contexto' : $('#busca-contexto').val(), 'filter.modalidade' : $('#busca-modalidade').val(), 'filter.redeCredenciada' : $('#rede').val(), 'filter.estado' : $('#estado').val(), 'filter.municipio' : $('#municipio').val() }, successHandler: function(data) { $("#bairro").jqTransUpdateOptions(data.bairros); $("#bairro").removeAttr("disabled"); var opt = $("#bairro option").get(1); $(opt).attr("selected", true); $("#bairro").change(); } }); } function buscarTiposServico() { wait("tipo-servico"); $("#tipo-servico").attr("disabled", "disabled"); var especialidade = $('#especialidade').val() === '' ? "TODAS AS ESPECIALIDADES" : $('#especialidade').val(); $.customAjax({ url: "/servicos/rede-credenciada/tipos-servicos.json", data: { 'filter.operadora' : $('#operadora').val(), 'filter.contexto' : $('#busca-contexto').val(), 'filter.modalidade' : $('#busca-modalidade').val(), 'filter.redeCredenciada' : $('#rede').val(), 'filter.estado' : $('#estado').val(), 'filter.municipio' : $('#municipio').val(), 'filter.bairro' : $('#bairro').val(), 'filter.especialidade' : especialidade }, successHandler: function(data) { $("#tipo-servico").jqTransUpdateOptions(data.tiposServicos); $("#tipo-servico").removeAttr("disabled"); } }); } function buscarEspecialidades() { wait("especialidade"); $("#especialidade").attr("disabled", "disabled"); var tipoServico = $('#tipo-servico').val() === '' ? "TODOS OS TIPOS DE SERVICOS" : $('#tipo-servico').val(); $.customAjax({ url: "/servicos/rede-credenciada/especialidades.json", data: { 'filter.operadora' : $('#operadora').val(), 'filter.contexto' : $('#busca-contexto').val(), 'filter.modalidade' : $('#busca-modalidade').val(), 'filter.redeCredenciada' : $('#rede').val(), 'filter.estado' : $('#estado').val(), 'filter.municipio' : $('#municipio').val(), 'filter.bairro' : $('#bairro').val() , 'filter.tipoServico': tipoServico }, successHandler: function(data) { $("#especialidade").jqTransUpdateOptions(data.especialidades); $("#especialidade").removeAttr("disabled"); } }); } function limparFiltroAvancado() { var bairroValido = $('#bairro').val() != ''; if (bairroValido) { if ($('#area-busca-tipo').hasClass('ativo')) { buscarTiposServico(); } else { buscarEspecialidades(); } } $('#nome-credenciado').val(''); } function wait(id) { var loading = $("#frm-buscar-credenciado div:first img.loadingBox").attr("src"); $("#"+id).parent().find("div:first span:first").html("Carregando"); } function clean(id) { $("#"+id).attr("disabled", "disabled").val('').parent().find("div:first span:first").html("Selecione"); $("#"+id).attr("disabled", "disabled").parent().find("label.icn-ok").remove(); }