PageSourceSearch

https://motorhomespuravida.com/wp-content/plugins/xpertion-integration/assets/updateAgenda.js?ver=1.0.16

js motorhomespuravida.com collected 2026-10-08 23:02:07 UTC 25,268 bytes, 644 lines download raw bytes

1jQuery(document).ready(function($){
2
3function xpertionShowTaxasLoading(){
4    if(jQuery('#xpertion-taxas-loading').length){
5        return;
6    }
7    var html =
8        '<div id="xpertion-taxas-loading" class="xpertion-taxas-loading" role="status" aria-live="polite">' +
9            '<span class="xpertion-taxas-spinner" aria-hidden="true"></span>' +
10            '<span class="xpertion-taxas-loading-text">Verificando taxas automáticas (fim de semana e feriados)...</span>' +
11        '</div>';
12    var target = jQuery('[data-field="itens-obrigatorioss"]').first();
13    if(!target.length){
14        target = jQuery('.jet-form').first();
15    }
16    if(target.length){
17        target.prepend(html);
18    } else {
19        jQuery('body').prepend(html);
20    }
21}
22
23function xpertionHideTaxasLoading(){
24    jQuery('#xpertion-taxas-loading').fadeOut(200, function(){
25        jQuery(this).remove();
26    });
27}
28
29function xpertionApplyReservaTaxas(){
30    var _dates__in = sessionStorage.getItem('_dates__in');
31    var _dates__out = sessionStorage.getItem('_dates__out');
32    if(!_dates__in || !_dates__out){
33        xpertionHideTaxasLoading();
34        return;
35    }
36    _dates__in = _dates__in.split('/').reverse().join('-');
37    _dates__out = _dates__out.split('/').reverse().join('-');
38    _dates__in = new Date(_dates__in);
39    _dates__out = new Date(_dates__out);
40    if(_dates__out.getDay()===6||_dates__out.getDay()===5){
41        jQuery('[name^="qtd-option-taxa-fds"]').val(parseInt(jQuery('[name^="qtd-option-taxa-fds"]').val())+1).trigger('change');
42        jQuery('span[for="option-taxa-fds-290"]').trigger('click');
43        sessionStorage.setItem('seguro_viagem',jQuery('[id^="option-taxa-fds"]').val());
44        jQuery('[name^="qtd-option-taxa-fds"]').attr('disabled',true);
45        try {
46            jQuery('[name^="qtd-option-taxa-fds"]').parent().parent().show()
47        } catch (error) {
48
49        }
50
51    }
52    if(_dates__in.getDay()==6||_dates__in.getDay()==5){
53        jQuery('[name^="qtd-option-taxa-fds"]').val(parseInt(jQuery('[name^="qtd-option-taxa-fds"]').val())+1).trigger('change');
54        jQuery('span[for="option-taxa-fds-290"]').trigger('click');
55        sessionStorage.setItem('seguro_viagem',jQuery('[id^="option-taxa-fds"]').val());
56        jQuery('[name^="qtd-option-taxa-fds"]').attr('disabled',true);
57        try {
58            jQuery('[name^="qtd-option-taxa-fds"]').parent().parent().show()
59        } catch (error) {
60
61        }
62    }
63
64    if(typeof ajax_object !== 'undefined'){
65        jQuery.post({
66            url: ajax_object.ajax_url,
67            dataType: 'json',
68            data: {
69                action: 'xpertion_check_reserva_taxas',
70                pickup: sessionStorage.getItem('_dates__in'),
71                dropoff: sessionStorage.getItem('_dates__out'),
72            },
73            success: function(response){
74                if(!response || !response.success || !response.data){
75                    return;
76                }
77                if(response.data.test_mode){
78                    console.log('[taxa-feriado] modo teste', response.data);
79                }
80                var n = parseInt(response.data.holiday_events, 10) || 0;
81                if(n <= 0){
82                    return;
83                }
84                var input = jQuery('[name^="qtd-option-taxa-feriado"]');
85                if(!input.length){
86                    return;
87                }
88                if(response.data.holiday_label_html){
89                    sessionStorage.setItem('taxa-feriado-label-html', response.data.holiday_label_html);
90                    sessionStorage.setItem('taxa-feriado-label', response.data.holiday_label || 'Taxa feriado nacional');
91                    var opt = jQuery('input[name="itens-obrigatorioss[]"][value^="taxa-feriado"]');
92                    if(opt.length){
93                        var slug = opt.first().val();
94                        var link = opt.first().parent().parent().children('label').find('a').first();
95                        if(link.length){
96                            link.addClass('taxa-feriado-link');
97                            link.html(
98                                response.data.holiday_label_html +
99                                '<span class="taxa-feriado-detalhe-link"> (+Detalhe)</span>'
100                            );
101                        }
102                        var desc = jQuery('#description-option-' + slug);
103                        if(desc.length){
104                            desc.html(
105                                '<p class="taxa-feriado-descricao">Taxa aplicada automaticamente quando a retirada ou a devolução ocorre em feriado nacional.</p>'
106                            );
107                        }
108                    }
109                }
110                input.val(n).trigger('change');
111                jQuery('span[for^="option-taxa-feriado"]').first().trigger('click');
112                input.attr('disabled', true);
113                try {
114                    input.parent().parent().show();
115                } catch (error) {
116
117                }
118            },
119            complete: function(){
120                xpertionHideTaxasLoading();
121            }
122        });
123    } else {
124        xpertionHideTaxasLoading();
125    }
126}
127    
128    var carros='<div class="main-container"> <div class="steps-container">'+
129    '<div class="line next-step-in-progress">'+
130    '</div>'+
131    '<div class="step in-progress">'+
132        '<div class="preloader"></div>'+
133        '<div class="label loading">'+
134            'Veículo'+
135        '</div>'+
136        '<div class="icon in-progress">'+
137            '<i class="fas fa-car"></i>'+
138        '</div>'+
139    '</div>'+
140    '<div class="line prev-step-in-progress"></div>'+
141    '<div class="step">'+
142        '<div class="label">'+
143            'Adicionais'+
144        '</div>'+
145        '<div class="icon">'+
146            '<i class="fas fa-utensils"></i>'+
147        '</div>'+
148    '</div>'+
149    '<div class="line"></div>'+
150    '<div class="step">'+
151        '<div class="label">'+
152            'Dados'+
153        '</div>'+
154        '<div class="icon">'+
155            '<i class="fas fa-id-card"></i>'+
156        '</div>'+
157    '</div>'+
158    '<div class="line"></div>'+
159    '<div class="step">'+
160        '<div class="label">'+
161            'Contrato'+
162        '</div>'+
163        '<div class="icon">'+
164            '<i class="fas fa-file-contract"></i>'+
165        '</div>'+
166    '</div>'+
167    '<div class="line"></div>'+
168    '<div class="step">'+
169        '<div class="label" style="text-align:center">
169'+
170            'Confirmação'+
171        '</div>'+
172        '<div class="icon">'+
173            '<i class="fas fa-money"></i>'+
174        '</div>'+
175    '</div>'+
176 '</div>'+
177 '</div>';
178 
179 var adicionais='<div class="main-container"> <div class="steps-container">'+
180 '<div class="step completed">'+
181 '    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">'+
182 '        <path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z" />'+
183 '    </svg>'+
184 '    <div class="label completed">'+
185 '        Veículo'+
186 '    </div>'+
187 '    <div class="icon completed">'+
188 '        <i class="fas fa-car"></i>'+
189 '    </div>'+
190 '</div>'+
191 '<div class="line prev-step-in-progress">'+
192    '</div>'+
193    '<div class="step in-progress">'+
194        '<div class="preloader"></div>'+
195        '<div class="label loading">'+
196            'Adicionais'+
197        '</div>'+
198        '<div class="icon in-progress">'+
199            '<i class="fas fa-utensils"></i>'+
200        '</div>'+
201    '</div>'+
202 '<div class="line"></div>'+
203 '<div class="step">'+
204     '<div class="label">'+
205         'Dados'+
206     '</div>'+
207     '<div class="icon">'+
208         '<i class="fas fa-id-card"></i>'+
209     '</div>'+
210 '</div>'+
211 '<div class="line"></div>'+
212 '<div class="step">'+
213     '<div class="label">'+
214         'Contrato'+
215     '</div>'+
216     '<div class="icon">'+
217         '<i class="fas fa-file-contract"></i>'+
218     '</div>'+
219 '</div>'+
220 '<div class="line"></div>'+
221    '<div class="step">'+
222        '<div class="label" style="text-align:center">'+
223        'Confirmação'+
224        '</div>'+
225        '<div class="icon">'+
226            '<i class="fas fa-money"></i>'+
227        '</div>'+
228    '</div>'+
229 '</div>'+
230 '</div>';
231 
232 var passo02='<div class="main-container" style="margin-top:20px"> <div class="steps-container">'+
233 '<div class="step completed">'+
234 '    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">'+
235 '        <path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z" />'+
236 '    </svg>'+
237 '    <div class="label completed">'+
238 '        Veículo'+
239 '    </div>'+
240 '    <div class="icon completed">'+
241 '        <i class="fas fa-car"></i>'+
242 '    </div>'+
243 '</div>'+
244 '<div class="line completed"></div>'+
245 '<div class="step completed">'+
246 '    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">'+
247 '        <path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z" />'+
248 '    </svg>'+
249 '    <div class="label completed">'+
250 '        Adicionais'+
251 '    </div>'+
252 '    <div class="icon completed">'+
253 '        <i class="fas fa-utensils"></i>'+
254 '    </div>'+
255 '</div>'+
256 '<div class="line prev-step-in-progress">'+
257    '</div>'+
258    '<div class="step in-progress">'+
259        '<div class="preloader"></div>'+
260        '<div class="label loading">'+
261            'Dados'+
262        '</div>'+
263        '<div class="icon in-progress">'+
264            '<i class="fas fa-id-card"></i>'+
265        '</div>'+
266    '</div>'+
267 '<div class="line"></div>'+
268 '<div class="step">'+
269     '<div class="label">'+
270         'Contrato'+
271     '</div>'+
272     '<div class="icon">'+
273         '<i class="fas fa-file-contract"></i>'+
274     '</div>'+
275 '</div>'+
276 '<div class="line"></div>'+
277    '<div class="step">'+
278        '<div class="label" style="text-align:center">'+
279        'Confirmação'+
280        '</div>'+
281        '<div class="icon">'+
282            '<i class="fas fa-money"></i>'+
283        '</div>'+
284    '</div>'+
285 '</div>'+
286 '</div>';
287 
288 var contrato1='<div class="main-container" style="margin-top:40px"> <div class="steps-container">'+
289 '<div class="step completed">'+
290 '    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">'+
291 '        <path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z" />'+
292 '    </svg>'+
293 '    <div class="label completed">'+
294 '        Veículo'+
295 '    </div>'+
296 '    <div class="icon completed">'+
297 '        <i class="fas fa-car"></i>'+
298 '    </div>'+
299 '</div>'+
300 '<div class="line completed"></div>'+
301 '<div class="step completed">'+
302 '    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">'+
303 '        <path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z" />'+
304 '    </svg>'+
305 '    <div class="label completed">'+
306 '        Adicionais'+
307 '    </div>'+
308 '    <div class="icon completed">'+
309 '        <i class="fas fa-utensils"></i>'+
310 '    </div>'+
311 '</div>'+
312 '<div class="line completed"></div>'+
313 '<div class="step completed">'+
314 '    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">'+
315 '        <path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z" />'+
316 '    </svg>'+
317 '    <div class="label completed">'+
318 '        Dados'+
319 '    </div>'+
320 '    <div class="icon completed">'+
321 '        <i class="fas fa-id-card"></i>'+
322 '    </div>'+
323 '</div>'+
324 '<div class="line prev-step-in-progress">'+
325    '</div>'+
326    '<div class="step in-progress">'+
327        '<div class="preloader"></div>'+
328        '<div class="label loading">'+
329            'Contrato'+
330        '</div>'+
331        '<div class="icon in-progress">'+
332            '<i class="fas fa-file-contract"></i>'+
333        '</div>'+
334    '</div>'+
335    '<div class="line"></div>'+
336    '<div class="step">'+
337        '<div class="label" style="text-align:center">'+
338        'Confirmação'+
339        '</div>'+
340        '<div class="icon">'+
341            '<i class="fas fa-money"></i>'+
342        '</div>'+
343    '</div>'+
344 '</div>'+
345 '</div>';
346
347 var contrato2='<div class="main-container" style="margin-top:40px"> <div class="steps-container">'+
348 '<div class="step completed">'+
349 '    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">'+
350 '        <path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z" />'+
351 '    </svg>'+
352 '    <div class="label completed">'+
353 '        Veículo'+
354 '    </div>'+
355 '    <div class="icon completed">'+
356 '        <i class="fas fa-car"></i>'+
357 '    </div>'+
358 '</div>'+
359 '<div class="line completed"></div>'+
360 '<div class="step completed">'+
361 '    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">'+
362 '        <path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z" />'+
363 '    </svg>'+
364 '    <div class="label completed">'+
365 '        Adicionais'+
366 '    </div>'+
367 '    <div class="icon completed">'+
368 '        <i class="fas fa-utensils"></i>'+
369 '    </div>'+
370 '</div>'+
371 '<div class="line completed"></div>'+
372 '<div class="step completed">'+
373 '    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">'+
374 '        <path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z" />'+
375 '    </svg>'+
376 '    <div class="label completed">'+
377 '        Dados'+
378 '    </div>'+
379 '    <div class="icon completed">'+
380 '        <i class="fas fa-id-card"></i>'+
381 '    </div>'+
382 '</div>'+
383 '<div class="line prev-step-in-progress">'+
384    '</div>'+
385    '<div class="step in-progress">'+
386        '<div class="preloader"></div>'+
387        '<div class="label loading">'+
388            'Contrato'+
389        '</div>'+
390        '<div class="icon in-progress">'+
391            '<i class="fas fa-file-contract"></i>'+
392        '</div>'+
393    '</div>'+
394    '<div class="line"></div>'+
395    '<div class="step">'+
396        '<div class="label">'+
397            'Confirmação'+
398        '</div>'+
399        '<div class="icon">'+
400            '<i class="fas fa-envelope"></i>'+
401        '</div>'+
402    '</div>'+
403 '</div>'+
404 '</div>';
405
406 var reserva='<div id="reserva-step" class="main-container" style="margin-top:40px"> <div class="steps-container">'+
407 '<div class="step completed">'+
408 '    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">'+
409 '        <path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z" />'+
410 '    </svg>'+
411 '    <div class="label completed">'+
412 '        Veículo'+
413 '    </div>'+
414 '    <div class="icon completed">'+
415 '        <i class="fas fa-car"></i>'+
416 '    </div>'+
417 '</div>'+
418 '<div class="line completed"></div>'+
419 '<div class="step completed">'+
420 '    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">'+
421 '        <path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z" />'+
422 '    </svg>'+
423 '    <div class="label completed">'+
424 '        Adicionais'+
425 '    </div>'+
426 '    <div class="icon completed">'+
427 '        <i class="fas fa-utensils"></i>'+
428 '    </div>'+
429 '</div>'+
430 '<div class="line completed"></div>'+
431 '<div class="step completed">'+
432 '    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">'+
433 '        <path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z" />'+
434 '    </svg>'+
435 '    <div class="label completed">'+
436 '        Dados'+
437 '    </div>'+
438 '    <div class="icon completed">'+
439 '        <i class="fas fa-id-card"></i>'+
440 '    </div>'+
441 '</div>'+
442 '<div class="line completed"></div>'+
443 '<div class="step completed">'+
444 '    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">'+
445 '        <path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z" />'+
446 '    </svg>'+
447 '    <div class="label completed">'+
448 '        Dados'+
449 '    </div>'+
450 '    <div class="icon completed">'+
451 '        <i class="fas fa-file-contract"></i>'+
452 '    </div>'+
453 '</div>'+
454    '<div class="line prev-step-in-progress">'+
455    '</div>'+
456    '<div class="step in-progress">'+
457        '<div class="preloader"></div>'+
458        '<div class="label loading">'+
459            'Contrato'+
460        '</div>'+
461        '<div class="icon in-progress">'+
462            '<i class="fas fa-envelope"></i>'+
463        '</div>'+
464    '</div>'+
465 '</div>'+
466 '</div>';
467
468 
469 
470 if(window.location.href.includes("/carros/")){
471    //  jQuery("#step").prepend(carros)
472     jQuery('#formulario_alugar button.submit-type-ajax').click(
473         function(event) {
474             let diarias=parseInt(jQuery('#formulario_alugar').find('input[name="noites"]').val())
475             var passageiros = jQuery('#passageiros').val()
476             if(diarias>=7 && jQuery("input[name='vintercional']:checked").length==0){
477                 event.stopPropagation();
478                 let txt='Selecione se a viagem é nacional ou internacional.<br>'
479                 if(passageiros==0)
480                    txt+='Selecione a quantidade de passageiros'
481                 alertItemObrigatorio(txt)
482             }else{
483                if(passageiros==0){
484                    event.stopPropagation();
485                    let txt='Selecione a quantidade de passageiros'
486                    alertItemObrigatorio(txt)
487                }else{
488                 if(diarias<7)
489                     jQuery("#vintercional").prop("checked",true)
490                }
491             }
492         }
493     );
494 }
495 if(window.location.href.includes("/adicionais/")){
496     jQuery("#step").prepend(adicionais)
497 }
498 if(window.location.href.includes("/passo-02/")){
499    jQuery("#step").prepend(passo02)
500    if(sessionStorage.getItem('total_geral2_old')!=null && sessionStorage.getItem('total_geral2_old')!=''){
501        sessionStorage.setItem('total_geral2',sessionStorage.getItem('total_geral2_old'))
502        jQuery('.jet-form__calculated-field-val').html(" &nbsp;&nbsp;R$ "+parseFloat(sessionStorage.getItem('total_geral2')).toLocaleString('pt-br',{minimumFractionDigits: 2, maximumFractionDigits: 2}));
503    }
504    sessionStorage.setItem('total_geral2_old',sessionStorage.getItem('total_geral2'))
505    jQuery("input[name='formas-pgto']").on('change',function(){
506        var pagamento=jQuery(this).val()
507        var desconto_cupom=jQuery("#desconto").data('desconto')
508        if(desconto_cupom==null || desconto_cupom==''){
509            desconto_cupom=0
510        }
511        if(pagamento=="PIX" || pagamento=="Boleto"){
512            var total=sessionStorage.getItem('total_geral2_old')
513            total=parseFloat(total)
514            var total_tudo=parseFloat(sessionStorage.getItem('total_tudo'))
515            var total_opcional=parseFloat(sessionStorage.getItem('total_opcionais'))
516            var txlimpeza    = parseFloat(sessionStorage.getItem('heading'))
517            total_opcional+=txlimpeza
518            total_tudo-=txlimpeza
519            
520            var total_desconto=parseFloat(desconto_cupom)+parseFloat(desconto_pix)
521            jQuery("#desconto-pix").html(" &nbsp;&nbsp;"+desconto_pix.toLocaleString('pt-br',{minimumFractionDigits: 0, maximumFractionDigits: 0}) +"%")
522            jQuery("#desconto-pix").parent().show()
523            total = total_tudo*((100-parseFloat(total_desconto))/100) + total_opcional
524            sessionStorage.setItem('total_geral2', total)
525            jQuery('.jet-form__calculated-field-val').html(" &nbsp;&nbsp;R$ "+parseFloat(sessionStorage.getItem('total_geral2')).toLocaleString('pt-br',{minimumFractionDigits: 2, maximumFractionDigits: 2}));   
526        }else{
527            jQuery("#desconto-pix").html(" &nbsp;&nbsp;R$ "+parseFloat(0).toLocaleString('pt-br',{minimumFractionDigits: 2, maximumFractionDigits: 2}))
528            jQuery("#desconto-pix").parent().hide()
529            if(sessionStorage.getItem('total_geral2_old')!=null && sessionStorage.getItem('total_geral2_old')!=''){
530                sessionStorage.setItem('total_geral2',sessionStorage.getItem('total_geral2_old'))
531                sessionStorage.setItem('total_geral2', parseFloat(sessionStorage.getItem('total_geral2'))*((100-parseFloat(desconto_cupom))/100))
532                jQuery('.jet-form__calculated-field-val').html(" &nbsp;&nbsp;R$ "+parseFloat(sessionStorage.getItem('total_geral2')).toLocaleString('pt-br',{minimumFractionDigits: 2, maximumFractionDigits: 2}));
533            }
534        }
535    })
536    setTimeout(() => {
537        const cartao = document.querySelector('input[type="radio"][value="Cartão de crédito"]');
538        const boleto = document.querySelector('input[type="radio"][value="Boleto"]');
539        cartao.click();
540        setTimeout(() => {
541            boleto.click();
542            console.log(boleto)
543        }, 1000);
544    }, 3000);
545     // Evento onchange para o campo com ID 'cep'
546     document.getElementById('cep').addEventListener('keyup', async (event) => {
547         const cep = event.target.value.replace(/\D/g, '');
548         
549         if (cep.length === 8) {
550             let cepInput= document.getElementById('cep')
551             let spinner = document.getElementById('spinner-cep');
552             if (!spinner) {
553                 try {
554                     spinner = document.createElement('div');
555                     spinner.id = 'spinner-cep';
556                     spinner.style.marginLeft = '8px';
557                     spinner.style.display = 'inline-block';
558                     spinner.style.width = '16px';
559                     spinner.style.height = '16px';
560                     spinner.style.border = '2px solid #ccc';
561                     spinner.style.borderTop = '2px solid #000';
562                     spinner.style.borderRadius = '50%';
563                     spinner.style.animation = 'spin 1s linear infinite';
564                     cepInput.parentNode.children[0].append(spinner);
565                 } catch (error) {
566                     console.log(error)
567                 }
568                 
569             }
570             const resultado = await consultarCEP(cep);
571             if (!resultado.erro) {
572                 // Exemplo: Atualizar campos de endereço
573                 document.getElementById('Rua').value = resultado.logradouro || '';
574                 document.getElementById('bairro').value = resultado.bairro || '';
575                 document.getElementById('Cidade').value = resultado.localidade || '';
576                 document.getElementById('Estado').value = resultado.uf || '';
577                 document.getElementById('numero').focus()
578             }else{
579                 document.getElementById('Rua').value = '';
580                 document.getElementById('bairro').value = '';
581                 document.getElementById('Cidade').value = '';
582                 document.getElementById('Estado').value = '';
583             }
584             if (spinner) {
585                 try {
586                     spinner.remove();
587                 } catch (error) {
588                     
589                 }
590             }
591         } else {
592             console.warn('CEP inválido ou incompleto. Digite um CEP com 8 dígitos.');
593         }
594         
595     });
596 }
597 if(window.location.href.includes("/contrato/")){
598    jQuery("#step").append(contrato1)
599 }
600 if(window.location.href.includes("/reserva/")){
601    jQuery("#step").append(reserva)
602 }
603 if(window.location.pathname == '/adicionais/' || window.location.pathname == '/passo-02/'){
604    if(sessionStorage.getItem('_dates__in') && sessionStorage.getItem('_dates__out')){
605        xpertionShowTaxasLoading();
606    }
607    setTimeout(xpertionApplyReservaTaxas, 5000);
608 }
609 });
610 
611 async function consultarCEP(cep) {
612     try {
613         // Validar o formato do CEP (somente números, com 8 dígitos)
614         const cepFormatado = cep.replace(/\D/g, '');
615         if (cepFormatado.length !== 8) {
616             throw new Error('CEP inválido. Certifique-se de digitar um CEP com 8 dígitos.');
617         }
618 
619         // URL da API ViaCEP
620         const url = `https://viacep.com.br/ws/${cepFormatado}/json/`;
621 
622         // Fazer a requisição para a API
623         const resposta = await fetch(url);
624 
625         // Verificar se a requisição foi bem-sucedida
626         if (!resposta.ok) {
627             throw new Error('Erro ao consultar o CEP. Tente novamente mais tarde.');
628         }
629 
630         // Converter a resposta para JSON
631         const dados = await resposta.json();
632 
633         // Verificar se houve erro na consulta do CEP
634         if (dados.erro) {
635             throw new Error('CEP não encontrado. Verifique o CEP digitado.');
636         }
637 
638         // Retornar os dados do CEP
639         return dados;
640     } catch (erro) {
641         console.error(erro.message);
642         return { erro: erro.message };
643     }
644 }

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.