PageSourceSearch

https://inmuebles.abadgrupoinmobiliario.es/js/modulos/comun/buscador.js?x=20260923140221

js abadgrupoinmobiliario.es collected 2026-09-30 20:43:52 UTC 5,793 bytes, 169 lines download raw bytes

1$(document).ready(function(){
2    const urlParams = new URLSearchParams(window.location.search);
3
4    //carga ciudades en buscador provincia
5    $('.buscadorProvinciaRapido').on('change', function(){
6        var keyprov = $(this).val();
7        if(keyprov == '') return false;
8        $('.buscadorProvincia').val(keyprov);
9        var $destino = $('.buscadorCiudad');
10        cargarCiudadesEnSelectCiudades(keyprov, $destino, false, true);
11    });
12    //carga las zonas al elegir ciudad
13    $('.buscadorCiudadRapido').on('change', function(){
14        if($(this).find('option:selected').hasClass('selectCiudad-prov')) //paramos el evento si hemos seleccionado una provincia del listado de ciudades
15            return false;
16
17        var keyciu = $(this).val();
18        if(keyciu == '') return false;
19
20        let original_txt = '';
21        $('.buscadorZonas').each((key, val) => {
22            if($(val).attr('original-txt') != '') {
23                $('.buscadorZonas').attr('data-txt', $(val).attr('original-txt'));
24                return false;
25            }
26        });
27
28        $('.buscadorCiudad').val(keyciu);
29        var $destino = $('.buscadorZonas');
30        busCargarZonasEnSelectZonas(keyciu, $destino);
31    });
32    $('.fuerzaBusqueda').on('keyup', function(event){
33        if(event.keyCode != 13) return true;
34
35        var $obj = $(this);
36        $obj.closest('.buscadorRapido').find('.buscarRapido').click();
37    });
38    $('#slider-bloque-buscador .avanzado, #cabecera-buscador .avanzado').on('click', function(){
39        var $avanzado = $($('.buscadorAvanzado')[0]);
40        $avanzado.show();
41        var topAvanzado = $avanzado.offset().top;
42        $('html, body').animate({
43            scrollTop: topAvanzado
44        }, 500);
45    });
46
47    //solo si vienen areas en la URL: sin parametro get() devuelve null y "null != ''" era true,
48    //con lo que en la home se lanzaba un _buscar('') extra por componente y areas.json se pedia dos veces
49    const areasUrl = urlParams.get('areas');
50    if(areasUrl !== null && areasUrl !== '') {
51        document.querySelectorAll('iv-buscador-areas-webs').forEach(async buscador => {
52            await buscador._buscar('');
53            buscador._viendoInputBusqueda = true;
54            buscador._cerrar();
55            $('iv-buscador-areas-webs').val(areasUrl);
56        });
57    }
58});
59
60
61function busCargarZonasEnSelectZonas(keyciu, $destino)
62{
63
64    let keyciu_split = keyciu.split(';');
65    keyciu = keyciu_split[0];
66    let keysdistritos_arr = keyciu_split[1] ? keyciu_split[1].split(',') : [];
67
68    $.ajax({
69        'url'           : 'modulos/__ajx/buscador/rellenaSelectZonas.php',
70        'method'        : 'post',
71        'data'          : {
72            'keyciu'        : keyciu,
73            'devolverJson'  : true
74        },
75        'dataType'      : 'json'
76    })
77        .done(function(data){
78            if(!data.correcto) {
79                alert('ha fallado al cargar las zonas');
80                return false;
81            }
82
83            $destino.html(data.html);
84
85            keysdistritos_arr.forEach(keydistrito => {
86                $destino.find(`.marcarGrupoTiposZonas[iddistrito='${keydistrito}']`).attr('checked', true).change();
87            })
88
89        })
90        .fail(function(e){
91            console.error('Ha fallado al pedir ciudades con error:');
92            console.error(e);
93            alert('ha fallado al cargar las ciudades')
94        });
95}
96
97function busquedaBuscadorRapido($obj)
98{
99    var qryGet = '';
100    var $buscadorRapido = $obj.closest('.buscadorRapido');
101    var verMapa = $buscadorRapido.find('.buscadorVerMapa').is(':checked');
102    var hasTagUsar = hastagPaginacion;
103
104    //obtenemos los tipos
105    var checkedTipos = $buscadorRapido.find('.cajaGrupoTipos input[type=checkbox].marcarTipoZona:checked');
106    var keytipos = Object.keys(checkedTipos).map(function(key){
107        return (typeof checkedTipos[key].value == 'undefined' || checkedTipos[key].value == '') ? false : checkedTipos[key].value;
108    }).filter(tipo => tipo !== false);
109
110    if(keytipos.length > 0) {
111        keytipos = $.unique(keytipos);
112        var keyTiposString = keytipos.join(',');
113        qryGet += '&limtipos=' + keyTiposString;
114    }
115
116    //obtenemos las zonas
117    var checkedZonas = $buscadorRapido.find('.cajaGrupoZonas input[type=checkbox].marcarTipoZona:checked');
118
119    let valorAreas = $buscadorRapido.find('iv-buscador-areas-webs').val()
120    if(valorAreas != '') {
121        qryGet += '&areas=' + valorAreas;
122    }
123
124    if(verMapa) {
125        qryGet += '&vermapa=1';
126        hasTagUsar = hastagPaginacionMapa;
127    }
128
129    var precioDesde = $buscadorRapido.find('#precioDesdeRapido').val();
130    if(precioDesde != '' && precioDesde != '0') {
131        qryGet += '&preciodesde=' + precioDesde;
132    }
133    var precioHasta = $buscadorRapido.find('#precioHastaRapido').val();
134    if(precioHasta != '' && precioHasta != '0') {
135        qryGet += '&preciohasta=' + precioHasta;
136    }
137
138    var refRapido = $buscadorRapido.find('#refRapido').val();
139    if(refRapido != '') {
140        qryGet += '&limref=' + encodeURIComponent(refRapido);
141    }
142
143    var $moduloPaginacion = $('.modulo-paginacion');
144    var orden = '';
145    if($moduloPaginacion.length > 0) {
146        orden = $moduloPaginacion.find('#paginacion-ordenarprops').val();
147    }
148    if(orden != '' && orden != null) {
149        qryGet += '&orden=' + orden;
150    }
151
152    if(qryGet != '') qryGet += '&buscador=1';
153
154    if (verMapa) qryGet += '#modulo-paginacionmapa';
155
156    //quitamos el primer &
157    qryGet = qryGet.replace(/^\s*\&/, '');
158
159    var idioma = '';
160    if (idio != '')
161        idioma = '&idio=' + idio;
162
163    var parametros = qryGet != '' ? '?' + qryGet + idioma : '';
164
165    var resolverEn = esListado ? actual : 'index.php';
166
167    window.location.href = resolverEn + parametros;
168
169}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.