PageSourceSearch

https://dominicanrepublicrealestate.com.do/wp-content/cache/min/1/…/common/js/common-custom.js?ver=1791562276

js dominicanrepublicrealestate.com.do collected 2026-10-10 03:32:49 UTC 42,802 bytes, 78 lines download raw bytes

1(function($,window){"use strict";var $window=$(window),$body=$('body'),isRtl=$body.hasClass('rtl');window.reahomesStickyHeader=function(selector,widthThreshold=1023,widthComparison='>'){const stickyHeader=$(selector);if(!stickyHeader.length){return}
2const $window=$(window),offset=100,headerHeight=stickyHeader.height();const debounce=function(func,delay){let timeout;return function(){const context=this,args=arguments;clearTimeout(timeout);timeout=setTimeout(function(){func.apply(context,args)},delay)}};const compareWidth=function(windowWidth,threshold,operator){switch(operator){case '>':return windowWidth>threshold;case '>=':return windowWidth>=threshold;case '<':return windowWidth<threshold;case '<=':return windowWidth<=threshold;default:return windowWidth>threshold}};const handleScroll=function(){const scrollTop=$window.scrollTop();const windowWidth=$window.width();if(compareWidth(windowWidth,widthThreshold,widthComparison)&&scrollTop>(headerHeight+offset)){stickyHeader.addClass('sticked')}else{stickyHeader.removeClass('sticked')}};$window.on('scroll',debounce(handleScroll,10));$window.on('resize',debounce(handleScroll,50))};(function($){if(!$body.hasClass('rh-mega-menu-enabled')){return}
3const $wpAdminBar=$('#wpadminbar');const wpAdminBarHeight=$wpAdminBar.length?$wpAdminBar.outerHeight():0;const $megaMenuItems=$('li.has-realhomes-mega-menu');$megaMenuItems.on('mouseenter focusin',function(){const $menuItem=$(this);const $megaMenu=$menuItem.find('.realhomes-mega-menu').first();const isFullOrDefault=$menuItem.hasClass('realhomes-mega-menu-fullwidth')||$menuItem.hasClass('realhomes-mega-menu-default-width');if(isFullOrDefault&&$megaMenu.length){const itemOffset=$menuItem.offset();const itemHeight=$menuItem.outerHeight();$megaMenu.css({top:`${itemOffset.top + itemHeight - wpAdminBarHeight}px`})}})})(jQuery);function similarPropertiesFilters(){const similarPropertiesFiltersWrap=$('#similar-properties-filters-wrapper');if(similarPropertiesFiltersWrap.length){const similarPropertiesFilters=similarPropertiesFiltersWrap.find('a'),similarPropertiesWrapper=$('#similar-properties-wrapper'),similarProperties=$('#similar-properties'),similarPropertiesHtml=similarProperties.html(),similarNonce=similarPropertiesFiltersWrap.data('similar-properties-request-nonce');if(typeof similarPropertiesData!=="undefined"){const design=similarPropertiesData.design;let buttonClass='rh-btn rh-btn-primary';let buttonClassCurrent='rh-btn rh-btn-secondary';if('classic'===design){buttonClass='';buttonClassCurrent='current'}
4similarPropertiesFiltersWrap.on('click','a',function(event){event.preventDefault();const self=$(this);const propertyFilter=self.data('similar-properties-filter');similarPropertiesFilters.removeClass(buttonClassCurrent).addClass(buttonClass);self.removeClass(buttonClass).addClass(buttonClassCurrent);if('recommended'===propertyFilter){similarProperties.html(similarPropertiesHtml);return}
5$.ajax({url:ajaxurl,type:'post',dataType:'json',data:{action:'realhomes_filter_similar_properties',property_id:similarPropertiesData.propertyId,properties_per_page:similarPropertiesData.propertiesPerPage,property_filter:propertyFilter,design:design,nonce:similarNonce},beforeSend:function(){similarPropertiesWrapper.addClass('loading')},success:function(response){similarPropertiesWrapper.removeClass('loading');if(response.success){similarProperties.html(response.data)}else{console.warn(response.data.message||'An unknown error occurred.');similarProperties.html('<div class="error-message">'+(response.data.message||'An error occurred while fetching similar properties.')+'</div>')}},error:function(jqXHR,textStatus,errorThrown){similarPropertiesWrapper.removeClass('loading');console.error('AJAX Error:',textStatus,errorThrown);similarProperties.html('<div class="error-message">An error occurred while loading similar properties. Please try again later.</div>')}})})}else{similarPropertiesFiltersWrap.hide()}}}
6function agentStickyBarHandler(){const agentStickyBar=$('#property-agent-contact-methods-wrapper');if(767>$(window).width()&&agentStickyBar.length){$('body').addClass('has-agent-sticky-bar')}}
7function rhFeaturesToggle(){const $btns=$('.rh-features-toggle-btn');if(!$btns.length){return}
8$btns.each(function(){const $btn=$(this);const $list=$btn.siblings('.rh-features-toggle');
8if(!$list.length){return}
9const defaultLabel=$btn.text();const activeLabel=$btn.data('toggle-label');const visibleCount=parseInt($btn.data('visible-count'))||6;function isButtonVisible(){return $btn.is(':visible')&&$btn.css('display')!=='none'}
10$btn.on('rh:reinit',function(){const $hiddenItems=$list.find('li:nth-child(n+'+(visibleCount+1)+')');if(isButtonVisible()){if(!$list.hasClass('is-expanded')){$hiddenItems.hide();$btn.removeClass('is-active').text(defaultLabel).attr('aria-expanded','false')}}else{$hiddenItems.show();$list.removeClass('is-expanded');$btn.removeClass('is-active')}});$btn.trigger('rh:reinit');const initialWidth=$btn.outerWidth();if(initialWidth>0){$btn.css('min-width',initialWidth)}
11$btn.on('click',function(event){event.preventDefault();if(!isButtonVisible()){return}
12const $hiddenItems=$list.find('li:nth-child(n+'+(visibleCount+1)+')');const isExpanded=$list.hasClass('is-expanded');$list.toggleClass('is-expanded');$btn.toggleClass('is-active');if(isExpanded){$hiddenItems.fadeTo(200,0,function(){$(this).slideUp({duration:300,easing:'swing',complete:function(){$btn.text(defaultLabel).attr('aria-expanded','false')}})})}else{$hiddenItems.css('opacity',0).slideDown({duration:300,easing:'swing',complete:function(){$(this).fadeTo(200,1);$btn.text(activeLabel).attr('aria-expanded','true')}})}})});let resizeTimer;$(window).on('resize',function(){clearTimeout(resizeTimer);resizeTimer=setTimeout(function(){$btns.trigger('rh:reinit')},250)})}
13$(document).ready(function(){$body.removeClass('rh-single-property-preloader');rhFeaturesToggle();function realhomesUnitSwitcher(){const $unitSwitcher=$('#rh-measurement-unit-switcher-container');if(!$unitSwitcher.length){return}
14const $switcherButton=$unitSwitcher.find('#rh-current-measurement-unit');const $optionsList=$unitSwitcher.find('.rh-measurement-units-list');const $items=$unitSwitcher.find('li');const $nonce=$unitSwitcher.find('.rh-measurement-unit-switcher-nonce').val();$switcherButton.on('click',function(e){e.preventDefault();$(this).toggleClass('selected');$optionsList.slideToggle(200)});$(document).on('click',function(e){if(!$unitSwitcher.is(e.target)&&$unitSwitcher.has(e.target).length===0){$switcherButton.removeClass('selected');$optionsList.slideUp(200)}});$items.on('click',function(){const $this=$(this);const value=$this.data('value');$items.removeClass('selected');$this.addClass('selected');$switcherButton.html($this.html());$optionsList.slideUp(200,function(){$unitSwitcher.addClass('processing')});$.ajax({url:ajaxurl,type:'POST',data:{action:'realhomes_switch_measurement_unit',switch_unit:value,nonce:$nonce},success:function(response){if(response.success){$switcherButton.off();$items.off();location.reload()}else{$unitSwitcher.removeClass('processing');alert(response.data.message)}},error:function(){$unitSwitcher.removeClass('processing');alert(unitSwitcherStrings.errorMessage)}})})}
15realhomesUnitSwitcher();let getStarted=document.querySelectorAll('#membership-plans');if(typeof getStarted!=='undefined'){let loginModel=$('body').find('.rh_login_modal_wrapper');let membershipPage=dashboardData.membershipPage;let redirectTo=document.querySelector('.rh_login_modal_wrapper input[name="redirect_to"]');if(!loginModel.length&&typeof membershipPage!=='undefined'){getStarted.forEach(function(link){link.setAttribute('href',membershipPage+'&submodule=checkout&package_id='+link.getAttribute("href").replace('#',''))})}else{getStarted.forEach(function(link){link.addEventListener('click',function(){if(loginModel.length){redirectTo.setAttribute('value',membershipPage+'&submodule=checkout&package_id='+link.getAttribute("href").replace('#',''))}})})}}
16similarPropertiesFilters();agentStickyBarHandler();$window.on('resize',function(){agentStickyBarHandler()});$('.add-favorites-without-login, .save-search-without-login').on('click',function(event){event.stopPropagation()});$('#rh_save_search_btn').on('click',function(e){e.preventDefault();let button=$(this);let $form=button.closest('form');let searchArguments=$form.find('[name="search_args"]').val();let searchURL=$form.find('[name="search_url"]').val();let nonce=$form.find('[name="nonce"]').val();let icon=button.find('i');let savedLabel=button.data('saved-label');icon.addClass('fa-spin');if(button.hasClass('require-login')){let currentTime=$form.find('[name="current_time"]').val();let newSavedSearch={'wp_query_args':searchArguments,'query_str':searchURL,'time':currentTime,'search_id':null};let oldSavedSearches=localStorage.getItem('realhomes_saved_searches');let allSavedSearches=oldSavedSearches?JSON.parse(oldSavedSearches):[];allSavedSearches.push(newSavedSearch);localStorage.setItem('realhomes_saved_searches',JSON.stringify(allSavedSearches));button.addClass('search-saved');icon.removeClass('fa-spin');button.html('<i class="far fa-bell"></i>'+savedLabel);let loginModal=$('body').find('.rh_login_modal_wrapper');if(loginModal.length){loginModal.css("display","flex").hide().fadeIn(500)}else{window.location=button.data('login')}}else{$.post(ajaxurl,{nonce:nonce,action:'inspiry_save_search',search_args:searchArguments,search_url:searchURL},function(response){response=JSON.parse(response);if(response.success){let searchID=response.search_id;if(!$('body').hasClass('logged-in')){let currentTime=$form.find('[name="current_time"]').val();let newSavedSearch={'wp_query_args':searchArguments,'query_str':searchURL,'time':currentTime,'search_id':searchID};let oldSavedSearches=localStorage.getItem('realhomes_saved_searches');let allSavedSearches=oldSavedSearches?JSON.parse(oldSavedSearches):[];allSavedSearches.push(newSavedSearch);localStorage.setItem('realhomes_saved_searches',JSON.stringify(allSavedSearches))}
17button.addClass('search-saved');icon.removeClass('fa-spin');button.html('<i class="far fa-bell"></i>'+savedLabel)}})}});var allSavedSearches=JSON.parse(window.localStorage.getItem('realhomes_saved_searches'));if(allSavedSearches&&$('body').hasClass('logged-in')){$.ajax({type:'GET',url:ajaxurl,data:{action:'realhomes_get_saved_search_migration_nonce'},success:function(nonceResponse){if(nonceResponse!=='false'){$.ajax({type:'POST',url:ajaxurl,data:{action:'realhomes_saved_searches_migration',saved_searches:allSavedSearches,_ajax_nonce:nonceResponse},success:function(response){if(response.success){window.localStorage.removeItem('realhomes_saved_searches')}}})}}})}
18const mcPropertyWrapper=$('.rh_property__mc_wrap, .rh-single-property-mortgage-calculator-v2');if(mcPropertyWrapper.length){const mcCostOverGraph=mcPropertyWrapper.find('.mc_cost_over_graph');let mc_reassign_fields=function($this=null){if('object'===typeof $this&&typeof $this.closest('.rh_property__mc')){$this=$this.closest('.rh_property__mc');mcState.fields={'term':$this.find('select.mc_term'),'interest_text':$this.find('.mc_interset'),'interest_slider':$this.find('.mc_interset_slider'),'price_text':$this.find('.mc_home_price'),'price_slider':$this.find('.mc_home_price_slider'),'downpayment_text':$this.find('.mc_downpayment'),'downpayment_text_p':$this.find('.mc_downpayment_percent'),'downpayment_slider':$this.find('.mc_downpayment_slider'),'tax':$this.find('.mc_cost_tax_value'),'hoa':$this.find('.mc_cost_hoa_value'),'currency_sign':$this.find('.mc_currency_sign'),'sign_position':$this.find('.mc_sign_position'),'info_term':$this.find('.mc_term_value'),'info_interest':$this.find('.mc_interest_value'),'info_cost_interst':$this.find('.mc_cost_interest span'),'info_cost_total':$this.find('.mc_cost_total span'),'graph_interest':$this.find('.mc_graph_interest'),'graph_tax':$this.find('.mc_graph_tax'),'graph_hoa':$this.find('.mc_graph_hoa')}
19if(mcCostOverGraph.length>0){mcState.fields.info_cost_total=mcCostOverGraph}}}
20let mc_only_numeric=function(data){if('string'===typeof data){return(data.replace(/[^0-9-.]/g,'')).replace(/^\./,'')}
21return data}
22let mc_input_focus=function(){$(this).val(mc_only_numeric($(this).val()))}
23let mc_input_blur=function(){mcState.fields.interest_text.val(mc_only_numeric(mcState.fields.interest_text.val())+'%');mcState.fields.downpayment_text_p.val(mc_only_numeric(mcState.fields.downpayment_text_p.val())+'%');mcState.fields.price_text.val(mc_format_amount(mcState.fields.price_text.val()));mcState.fields.downpayment_text.val(mc_format_amount(mcState.fields.downpayment_text.val()))}
24let mc_format_amount=function(amount){if('after'===mcState.values.sign_position){return new Intl.NumberFormat('en-us').format(mc_only_numeric(amount))+mcState.values.currency_sign}
25return mcState.values.currency_sign+new Intl.NumberFormat('en-us').format(mc_only_numeric(amount))}
26let mc_update_fields_values=function(){const $this=$(this);mc_reassign_fields($this);mcState.values=mc_get_input_values();if('range'===$this.attr('type')){if($this.hasClass('mc_interset_slider')){mcState.fields.interest_text.val($this.val()+'%')}else if($this.hasClass('mc_home_price_slider')){mcState.fields.price_text.val(mc_format_amount($this.val()));let home_price=$this.val();let dp_percent=mcState.values.downpayment_percent;
26let downpayment=Math.round((home_price*dp_percent)/100);mcState.fields.downpayment_text.val(mc_format_amount(downpayment))}else if($this.hasClass('mc_downpayment_slider')){mcState.fields.downpayment_text_p.val($this.val()+'%');let home_price=mcState.values.price;let dp_percent=$this.val();let downpayment=Math.round((home_price*dp_percent)/100);mcState.fields.downpayment_text.val(mc_format_amount(downpayment))}}else if('text'===$this.attr('type')){if($this.hasClass('mc_interset')){mcState.fields.interest_slider.val(mcState.values.interest)}else if($this.hasClass('mc_home_price')){mcState.fields.price_slider.val(mcState.values.price);let home_price=mcState.values.price;let dp_percent=mcState.values.downpayment_percent;let downpayment=Math.round((home_price*dp_percent)/100);mcState.fields.downpayment_text.val(mc_format_amount(downpayment))}else if($this.hasClass('mc_downpayment_percent')){mcState.fields.downpayment_slider.val(mcState.values.downpayment_percent);let home_price=mcState.values.price;let dp_percent=mcState.values.downpayment_percent;let downpayment=(home_price*dp_percent)/100;mcState.fields.downpayment_text.val(mc_format_amount(downpayment))}else if($this.hasClass('mc_downpayment')){let home_price=mcState.values.price;let downpayment=mcState.values.downpayment;let price=(home_price<downpayment)?downpayment:home_price;let dp_percent=((downpayment*100)/price).toFixed(2).replace(/[.,]00$/,"");mcState.fields.downpayment_text_p.val(dp_percent+'%');mcState.fields.downpayment_slider.val(dp_percent)}}
27mc_calculate()}
28let mc_get_input_values=function(){let interest=mc_only_numeric(mcState.fields.interest_text.val());let price=mc_only_numeric(mcState.fields.price_text.val());let downpayment=mc_only_numeric(mcState.fields.downpayment_text.val());let downpayment_percent=mc_only_numeric(mcState.fields.downpayment_text_p.val());let tax=mc_only_numeric(mcState.fields.tax.val());let hoa=mc_only_numeric(mcState.fields.hoa.val());let currency_sign=mcState.fields.currency_sign.val();let sign_position=mcState.fields.sign_position.val();let mcInputVals={term:parseInt(mcState.fields.term.val()),interest:(''===interest.replace('-',''))?0:parseFloat(interest),price:(''===price.replace('-',''))?0:parseFloat(price),downpayment:(''===downpayment.replace('-',''))?0:parseFloat(downpayment),downpayment_percent:(''===downpayment_percent.replace('-',''))?0:parseFloat(downpayment_percent),tax:(''===tax.replace('-',''))?0:parseFloat(tax),hoa:(''===hoa.replace('-',''))?0:parseFloat(hoa),currency_sign:(''===currency_sign)?'$':currency_sign,sign_position:(''===sign_position)?'before':sign_position};return mcInputVals}
29let mc_get_payment_calculate=function(type){const values=mcState.values;let home_price=parseFloat(values.price),downpayment=parseFloat(values.downpayment),loanBorrow=home_price-downpayment,totalTerms=12*values.term,interestRate=parseFloat(values.interest)/1200,property_tax=parseFloat(values.tax)||0,insurance=parseFloat(values.insurance)||0,otherDues=parseFloat(values.hoa)||0;let totalRepayment=0;if(parseInt(values.interest)===0){totalRepayment=loanBorrow}else{let monthlyPayment=loanBorrow*(interestRate*Math.pow(1+interestRate,totalTerms))/(Math.pow(1+interestRate,totalTerms)-1);totalRepayment=monthlyPayment*totalTerms}
30totalRepayment+=property_tax*values.term+insurance*values.term+otherDues*values.term;if(type==="total"){return Math.round(totalRepayment*100)/100}else if(type==="monthly"){return Math.round((totalRepayment/totalTerms)*100)/100}};let mc_get_principle_interest=function(){return mc_get_payment_calculate("total")};let mc_get_payment_per_month=function(){return mc_get_payment_calculate("monthly")};let mc_get_data_percentage=function(){let principal_interest=mcState.principal_interest,property_tax=mcState.values.tax,hoa_dues=mcState.values.hoa,total_payment=principal_interest+property_tax+hoa_dues;let p_i=(principal_interest*100)/total_payment,tax=(property_tax*100)/total_payment,hoa=(hoa_dues*100)/total_payment;return{p_i,tax,hoa}}
31let updateCircle=function($circle,percentage){let r=parseFloat($circle.attr('r'));let c=Math.PI*(r*2);let pct=((100-percentage)/100)*c;$circle.css({strokeDasharray:c,strokeDashoffset:pct})};let mc_render_information=function(){let cost_prefix=mcState.fields.info_cost_total.attr('data-cost-prefix');mcState.fields.info_term.text(mcState.values.term);
31mcState.fields.info_interest.text(mcState.values.interest);mcState.fields.info_cost_total.html('<strong>'+mc_format_amount(mcState.payment_per_month)+'</strong>'+cost_prefix);mcState.fields.info_cost_interst.text(mc_format_amount(mcState.principal_interest));if(mcCostOverGraph.length>0){updateCircle(mcState.fields.graph_interest,mcState.percentage.p_i);updateCircle(mcState.fields.graph_tax,mcState.percentage.p_i+mcState.percentage.tax);updateCircle(mcState.fields.graph_hoa,mcState.percentage.p_i+mcState.percentage.tax+mcState.percentage.hoa)}else{mcState.fields.info_cost_total.text(mc_format_amount(mcState.payment_per_month));mcState.fields.graph_interest.css('width',(mcState.percentage.p_i)+'%');mcState.fields.graph_tax.css('width',(mcState.percentage.tax)+'%');mcState.fields.graph_hoa.css('width',(mcState.percentage.hoa)+'%')}}
32let mc_calculate=function(){mcState.values=mc_get_input_values();mcState.principal_interest=mc_get_principle_interest();mcState.payment_per_month=mc_get_payment_per_month();mcState.percentage=mc_get_data_percentage();mc_render_information()}
33const mcState={};mcState.fields={'term':$('select.mc_term'),'interest_text':$('.mc_interset'),'interest_slider':$('.mc_interset_slider'),'price_text':$('.mc_home_price'),'price_slider':$('.mc_home_price_slider'),'downpayment_text':$('.mc_downpayment'),'downpayment_text_p':$('.mc_downpayment_percent'),'downpayment_slider':$('.mc_downpayment_slider'),'tax':$('.mc_cost_tax_value'),'hoa':$('.mc_cost_hoa_value'),'currency_sign':$('.mc_currency_sign'),'sign_position':$('.mc_sign_position'),'info_term':$('.mc_term_value'),'info_interest':$('.mc_interest_value'),'info_cost_interst':$('.mc_cost_interest span'),'info_cost_total':$('.mc_cost_total span'),'graph_interest':$('.mc_graph_interest'),'graph_tax':$('.mc_graph_tax'),'graph_hoa':$('.mc_graph_hoa')}
34if(mcCostOverGraph.length>0){mcState.fields.info_cost_total=mcCostOverGraph}
35mc_calculate();mc_input_blur();$('.rh_mc_field select, .rh_mc_field input[type=range]').on('change',mc_update_fields_values);$('.rh_mc_field input[type=range]').on('input',mc_update_fields_values);$('.rh_mc_field input[type=text]').on('keyup',mc_update_fields_values);$('.rh_mc_field input[type=text]').on('focus',mc_input_focus);$('.rh_mc_field input[type=text]').on('blur',mc_input_blur)}
36$body.on('click','.inspiry-language',function(e){if($('.inspiry-language-switcher').find('.rh_languages_available').children('.inspiry-language').length>0){const wrapper_language_switcher=$('.rh_wrapper_language_switcher');wrapper_language_switcher.toggleClass('parent_open');if(wrapper_language_switcher.hasClass('parent_open')){$(this).addClass('open');$('.rh_languages_available').fadeIn(200)}else{$(this).removeClass('open');$('.rh_languages_available').fadeOut(200)}}
37e.stopPropagation()});$('html').on('click',function(){$('.rh_wrapper_language_switcher').removeClass('parent_open');$('html .inspiry-language').removeClass('open');$('.rh_languages_available').fadeOut(200)});if(jQuery().owlCarousel){$('.brands-owl-carousel').owlCarousel({nav:!0,dots:!1,navText:['<i class="fas fa-caret-left"></i>','<i class="fas fa-caret-right"></i>'],loop:!0,autoplay:!0,autoplayTimeout:4500,autoplayHoverPause:!0,margin:0,rtl:isRtl,responsive:{0:{items:1},480:{items:2},768:{items:3},992:{items:4},1199:{items:5}}})}
38function inspiryValidateForm(form){var $form=$(form),submitButton=$form.find('.submit-button'),ajaxLoader=$form.find('.ajax-loader'),messageContainer=$form.find('.message-container'),errorContainer=$form.find(".error-container"),formOptions={beforeSubmit:function(){submitButton.attr('disabled','disabled');ajaxLoader.fadeIn('fast').css("display","inline-block");messageContainer.fadeOut('fast');errorContainer.fadeOut('fast')},success:function(ajax_response,statusText,xhr,$form){var response=$.parseJSON(ajax_response);ajaxLoader.fadeOut('fast');submitButton.removeAttr('disabled');if(response.success){$form.resetForm();messageContainer.html(response.message).fadeIn('fast');if(typeof inspiryResetReCAPTCHA=='function'){inspiryResetReCAPTCHA()}
39if(typeof agentData!=='undefined'){setTimeout(function(){window.location.replace(agentData.redirectPageUrl)},1000)}else{setTimeout(function(){messageContainer.fadeOut('slow')},3000)}}else{errorContainer.html(response.message).fadeIn('fast')}}};$form.validate({errorLabelContainer:errorContainer,submitHandler:function(form){$(form).aja
39xSubmit(formOptions)}})}
40if(jQuery().validate&&jQuery().ajaxSubmit){if($body.hasClass('single-property')){var getAgentForms=$('.agent-form');if(getAgentForms.length){$.each(getAgentForms,function(i,form){var id=$(form).attr("id");inspiryValidateForm('#'+id)})}}}
41$('body').on('click','.inspiry_submit_login_required',function(e){e.preventDefault();$('.rh_login_modal_wrapper').css("display","flex").hide().fadeIn(500)});if($body.hasClass('single-property')){const reportThisProperty=$('.report-this-property');if(reportThisProperty.length){reportThisProperty.on('click',null,function(event){let targetModelID=$(this).attr('href');let reportPropertyModal=$(targetModelID);if(reportPropertyModal.length){const reportPropertyForm=$("#report-property-form"),ajaxLoader=reportPropertyForm.find(".ajax-loader"),submitButton=reportPropertyForm.find("#btn-submit"),responseContainer=reportPropertyForm.find('#response-container'),errorContainer=reportPropertyForm.find('#error-container'),mainOptionsContainer=reportPropertyForm.find("#report-property-form-main-options"),childOptionsContainer=reportPropertyForm.find("#report-property-form-child-options"),customMessage=reportPropertyForm.find("#feedback-custom-message"),backButton=reportPropertyForm.find("#btn-back");reportPropertyModal.css("display","flex").hide().fadeIn(250).addClass("show");reportPropertyModal.find(".btn-close").on('click',function(event){reportPropertyModal.removeClass("show").fadeOut(250,function(){reportPropertyModal.removeClass("has-response");responseContainer.addClass("hide");responseContainer.find(".response-title").html('');responseContainer.find(".response-text").html('');backButton.trigger("click");reportPropertyForm.resetForm()});event.preventDefault()});reportPropertyForm.find("#feedback-option-custom-parent-item").on('click',function(event){mainOptionsContainer.addClass("hide");childOptionsContainer.removeClass("hide")
42backButton.removeClass("hide");errorContainer.hide()});reportPropertyForm.find("#feedback-child-option-custom-child-item").on('change',function(event){if($(this).is(":checked")){customMessage.removeClass("hide")}else{customMessage.addClass("hide").removeClass('error');errorContainer.hide()}});backButton.on('click',function(event){$(this).addClass("hide");reportPropertyForm.find("input[type='radio']").prop("checked",!1);reportPropertyForm.find("input[type='checkbox']").prop("checked",!1);childOptionsContainer.addClass("hide");mainOptionsContainer.removeClass("hide");customMessage.addClass("hide").removeClass('error');errorContainer.hide()});if(jQuery().validate&&jQuery().ajaxSubmit){reportPropertyForm.validate({rules:{"feedback-option":{required:!0},"feedback-child-options[]":{required:"#feedback-option-custom-parent-item:checked"},"feedback-custom-message":{required:"#feedback-child-option-custom-child-item:checked"}},errorLabelContainer:errorContainer,submitHandler:function(form){reportPropertyForm.ajaxSubmit({beforeSubmit:function(){ajaxLoader.fadeIn("fast").css("display","inline-block");submitButton.attr("disabled","disabled");backButton.addClass("hide");responseContainer.addClass("hide");reportPropertyModal.removeClass("has-response")
43errorContainer.fadeOut(250)},success:function(ajax_response,statusText,xhr,form){const response=$.parseJSON(ajax_response);ajaxLoader.fadeOut("fast");submitButton.removeAttr("disabled");backButton.removeClass("hide");reportPropertyModal.addClass("has-response");responseContainer.removeClass("hide").fadeIn("fast");responseContainer.find(".response-title").html(response.title);responseContainer.find(".response-text").html(response.message);if(response.success){reportPropertyForm.resetForm()}}})}})}}
44event.preventDefault()})}}
45window.inspirySelectPicker=function(id){if(jQuery().selectpicker){jQuery(id).selectpicker({iconBase:'fas',width:"100%",size:5,tickIcon:'fa-check',selectAllText:'<span class="inspiry_select_bs_buttons inspiry_bs_select">'+'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><polygon points="22.1 9 20.4 7.3 14.1 13.9 15.8 15.6 "/><polygon points="27.3 7.3 16 19.3 9.6 12.8 7.9 14.5 16 22.7 29 9 "/><polygon points="1 14.5 9.2 22.7 10.9 21 2.7 12.8 "/></svg>'+'</span>',deselectAllText:'<span class="inspiry_select_bs_buttons inspiry_bs_deselect"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><style type="text/css">  \n'+'\t.rh-st0{fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}\n'+'</style><path class="inspiry_des rh-st0" d="M3.4 10.5H20c3.8 0 7 3.1 7 7v0c0 3.8-3.1 7-7 7h-6"/><polyline class="inspiry_des rh-st0" points="8.4 15.5 3.4 10.5 8.4 5.5 "/></svg></span>'});$(".rh_sort_controls .inspiry_select_picker_trigger").click(function(e){if(!$(this).hasClass('open')){$(this).addClass('open');e.stopPropagation()}else{$(this).removeClass('open');e.stopPropagation()}})}};inspirySelectPicker('body .inspiry_select_picker_trigger');inspirySelectPicker('body .widget_categories select');inspirySelectPicker('body .widget_archive select');$(".inspiry_multi_select_picker_location").on('change',function(e,clickedIndex,isSelected,previousValue){setTimeout(function(){$('.inspiry_multi_select_picker_location').selectpicker('refresh')},500)});$(".inspiry_bs_submit_location").on('changed.bs.select',function(){$('.inspiry_bs_submit_location').selectpicker('refresh')});$(".inspiry_select_picker_status").on('changed.bs.select',function(){$('.inspiry_select_picker_price').selectpicker('refresh')});$('.inspiry_select_picker_trigger').on('show.bs.select',function(){$(this).parents('.rh_prop_search__option').addClass('inspiry_bs_is_open')});$('.inspiry_select_picker_trigger').on('hide.bs.select',function(){$(this).parents('.rh_prop_search__option').removeClass('inspiry_bs_is_open')});var locationSuccessList=function(data,thisParent,refreshList=!1){if(!0===refreshList){thisParent.find('option').not(':selected, .none').remove().end()}
46var getSelected=$(thisParent).val();jQuery.each(data,function(index,text){if(getSelected){if(getSelected.indexOf(text[0])<0){thisParent.append($('<option value="'+text[0]+'">'+text[1]+'</option>'))}}else{thisParent.append($('<option value="'+text[0]+'">'+text[1]+'</option>'))}});thisParent.selectpicker('refresh');$(parent).find('ul.dropdown-menu li:first-of-type a').focus();$(parent).find('input').focus()};var loaderFadeIn=function(){$('.rh-location-ajax-loader').fadeIn('fast')};var loaderFadeOut=function(){$('.rh-location-ajax-loader').fadeOut('fast')};var rhTriggerAjaxOnLoad=function(thisParent,fieldValue=''){$.ajax({url:localizeSelect.ajax_url,dataType:'json',delay:250,data:{action:'realhomes_get_location_options',query:fieldValue},beforeSend:loaderFadeIn(),success:function(data){loaderFadeOut();locationSuccessList(data,thisParent,!0)}})};var rhTriggerAjaxOnScroll=function(thisParent,farmControl,fieldValue=''){var paged=2;farmControl.on('keyup',function(e){paged=2;fieldValue=$(this).val()});$('div.inspiry_ajax_location_field div.inner').on('scroll',function(){var thisInner=$(this);
46var thisInnerHeight=thisInner.innerHeight();var getScrollIndex=thisInner.scrollTop()+thisInnerHeight;if(getScrollIndex>=$(this)[0].scrollHeight){$.ajax({url:localizeSelect.ajax_url,dataType:'json',delay:250,data:{action:'realhomes_get_location_options',query:fieldValue,page:paged},beforeSend:loaderFadeIn(),success:function(data){loaderFadeOut();if(!$.trim(data)){$('.rh-location-ajax-loader').fadeTo("fast",0)}
47paged++;locationSuccessList(data,thisParent,!1)}})}})};var inspiryAjaxSelect=function(parent,id){var farmControl=$(parent).find('.form-control');var thisParent=$(id);rhTriggerAjaxOnScroll(thisParent,farmControl);rhTriggerAjaxOnLoad(thisParent);farmControl.on('keyup',function(e){var fieldValue=$(this).val();fieldValue=fieldValue.trim();var wordcounts=jQuery.trim(fieldValue).length;$('.rh-location-ajax-loader').fadeTo("fast",1);if(wordcounts>0){$.ajax({url:localizeSelect.ajax_url,dataType:'json',delay:250,data:{action:'realhomes_get_location_options',query:fieldValue},beforeSend:loaderFadeIn(),success:function(data){loaderFadeOut();thisParent.find('option').not(':selected, .none').remove().end();if(fieldValue&&data){locationSuccessList(data,thisParent)}else{thisParent.find('option').not(':selected, .none').remove().end();thisParent.selectpicker('refresh');$(parent).find('ul.dropdown-menu li:first-of-type a').focus();$(parent).find('input').focus()}}})}else{rhTriggerAjaxOnLoad(thisParent)}})};inspiryAjaxSelect('.inspiry_ajax_location_wrapper','select.inspiry_ajax_location_field');$('.rhea_long_screen_header_temp').removeClass('rhea-hide-before-load');$('.rh_apply_sticky_wrapper_footer').removeClass('rhea-hide-before-load');$('.rh-custom-search-form-wrapper').removeClass('rhea-hide-before-load');$('.ere-custom-search-form-wrapper').removeClass('rhea-hide-before-load');$('div').removeClass('rh-hide-before-ready');$('.rh-floor-plan-tab').click(function(e){e.preventDefault();if(!$(this).hasClass('rh-current-tab')){$('.rh-floor-plan-tab').removeClass('rh-current-tab');$(this).addClass('rh-current-tab');$(".rh-floor-plan").removeClass('rh-active-tab');$(".rh-floor-plan[data-id='"+$(this).attr('data-id')+"']").addClass("rh-active-tab")}})});$(window).on('load',function(){let hiddenContainers=$('div, form');if(hiddenContainers.hasClass('rh-hide-before-load')){hiddenContainers.removeClass('rh-hide-before-load')}});window.rhUltraTooltip=function(selector){$(selector).tooltip({classes:{"ui-tooltip":"rh-ultra-tooltip"},position:{my:"center bottom-10",at:"center top",using:function(position,feedback){$(this).css(position);$("<div>").addClass("arrow").addClass(feedback.vertical).addClass(feedback.horizontal).appendTo(this)}}})}
48$(document).on('ready',function(){$('.inspiry_show_on_doc_ready').show();rhUltraTooltip('.rh-ui-tooltip')});function comparePropertyStickyHead(){const compareHead=$('.sticky-compare-head, .sticky-head-smart');if(!compareHead.length){return!1}
49let screenWidth=$(window).width();if(1024<=screenWidth){const $body=$('body');let offsetTop=0;if($body.hasClass('admin-bar')){offsetTop+=32}
50compareHead.stick_in_parent({offset_top:offsetTop})}else{compareHead.trigger("sticky_kit:detach")}}
51$(window).on('load resize',function(){comparePropertyStickyHead()});var addToFavorites=function(e){e.preventDefault();if($(this).hasClass('require-login')){var loginBox=$('.rh_menu__user_profile');var loginModel=loginBox.find('.rh_modal');if(loginModel.length){$('.rh_login_modal_wrapper').css("display","flex").hide().fadeIn(500)}else{window.location=$(this).data('login')}}else{var favorite_link=$(this);var span_favorite=$(this).parent().find('span.favorite-placeholder');var propertyID=favorite_link.data('propertyid');var ajax_url=ajaxurl;if(propertyID!==''){if(favorite_link.hasClass('user_logged_in')){var add_to_favorite_options={type:'post',url:ajax_url,data:{action:'add_to_favorite',property_id:propertyID,nonce:favoritesLocalizedData.favorites_nonce},success:function(response){if(response.success){favorite_link.addClass('hide');span_favorite.delay(200).removeClass('hide')}else{console.error(response.data.message)}},error:function(jqXHR,textStatus,errorThrown){console.error('AJAX Error:',textStatus,errorThrown)}};$.ajax(add_to_favorite_options)}else{var currentIDs=window.localStorage.getItem('inspiry_favorites');if(currentIDs){window.localStorage.setItem('inspiry_favorites',currentIDs+','+propertyID)}else{window.localStorage.setItem('inspiry_favorites',propertyID)}
52favorite_link.addClass('hide');span_favorite.delay(200).removeClass('hide')}}}};$('body').on('click','a.add-to-favorite',addToFavorites);var favorite_properties=window.localStorage.inspiry_favorites;if(favorite_properties&&!$('body').hasClass('logged-in')){var property_ids=favorite_properties.split(',');property_ids.forEach(function(element,index){var favorite_btn_wrap=$('.favorite-btn-'+element);var favorite_link=favorite_btn_wrap.find('a.add-to-favorite');var span_favorite=favorite_btn_wrap.find('span.favorite-placeholder');$(favorite_link).addClass('hide');$(span_favorite).delay(200).removeClass('hide')});var favorite_prop_page=$('.favorite_properties_ajax');if(favorite_prop_page.length){var design_variation='classic';if($('body').hasClass('design_modern')){design_variation='modern'}
53var favorite_prop_options={type:'post',dataType:'html',url:ajaxurl,data:{action:'display_favorite_properties',prop_ids:favorite_properties.split(','),design_variation:design_variation,nonce:favoritesLocalizedData.favorites_nonce},success:function(response){if(response.success){favorite_prop_page.html(response.data);remove_from_favorite($('a.remove-from-favorite'))}else{console.error(response.message)}},error:function(jqXHR,textStatus,errorThrown){console.error('AJAX Error:',textStatus,errorThrown)}};$.ajax(favorite_prop_options)}}
54if(favorite_properties&&$('body').hasClass('logged-in')){var migrate_prop_options={type:'post',url:ajaxurl,data:{action:'inspiry_favorite_prop_migration',prop_ids:favorite_properties.split(',')},success:function(response){if('true'===response){window.localStorage.removeItem('inspiry_favorites')}}};$.ajax(migrate_prop_options)}
55remove_from_favorite($('a.remove-from-favorite'));remove_from_favorite($('.favorite-placeholder.highlight__red'));function remove_from_favorite(remove_button){remove_button.on('click',function(event){event.preventDefault();var $this=$(this);var property_item=$this.closest('.favorite-btn-wrap');if(!property_item.length){property_item=$this.closest('article')}
56if(!remove_button.hasClass('user_logged_in')){var favorite_properties=window.localStorage.inspiry_favorites;if(favorite_properties){var prop_ids=favorite_properties.split(',').map(function(value){return parseInt(value,10)});
56const index=prop_ids.indexOf($this.data('propertyid'));if(index>-1){if($this.hasClass('highlight__red')){var favorite_link=property_item.find('a.add-to-favorite');var span_favorite=property_item.find('span.favorite-placeholder');$(span_favorite).addClass('hide');$(favorite_link).delay(200).removeClass('hide')}else{property_item.delay(200).remove()}
57prop_ids.splice(index,1);window.localStorage.setItem('inspiry_favorites',prop_ids.join(','))}}
58return}
59if($this.hasClass('processing')){return}
60$this.addClass('processing');var close=$(this).find('i');close.addClass('fa-spin');var remove_favorite_request=$.ajax({url:ajaxurl,type:"POST",data:{property_id:$this.data('propertyid'),action:"remove_from_favorites",nonce:favoritesLocalizedData.favorites_nonce},dataType:"json"});remove_favorite_request.done(function(response){close.removeClass('fa-spin');$this.removeClass('processing');if(response.success){if($this.hasClass('highlight__red')){var favorite_link=property_item.find('a.add-to-favorite');var span_favorite=property_item.find('span.favorite-placeholder');$(span_favorite).addClass('hide');$(favorite_link).delay(200).removeClass('hide')}else{property_item.delay(200).remove()}}else{console.error(response.message||"An unknown error occurred.")}});remove_favorite_request.fail(function(jqXHR,textStatus,errorThrown){console.log(jqXHR,textStatus,errorThrown);close.removeClass('fa-spin');$this.removeClass('processing');console.error('AJAX Error:',textStatus,errorThrown)})})}
61window.realhomes_update_favorites=function(){remove_from_favorite($('a.remove-from-favorite'));remove_from_favorite($('.favorite-placeholder.highlight__red'))}
62$('.stats-wrap .tax-stats-chart').each(function(index,element){try{let thisObj=JSON.parse(element.dataset.chartStats),labels=thisObj.labels,values=thisObj.values,colors=thisObj.colors;if(!element.dataset.chartStats){console.error("Missing 'data-chart-stats' on element:",element);return}
63if(!thisObj.labels||!thisObj.values||!thisObj.colors){console.error("Invalid chart data structure:",thisObj);return}
64let ctx=element.getContext('2d');if(!ctx){console.error("Canvas context could not be retrieved for:",element);return}
65const data={labels:labels,datasets:[{data:values,backgroundColor:colors,hoverOffset:4}]};const config={type:'doughnut',data:data,options:{responsive:!0,maintainAspectRatio:!0,plugins:{legend:{display:!1},tooltip:{enabled:!1}}}};new Chart(element.getContext('2d'),config)}catch(error){console.error("Error generating chart:",error)}});window.addEventListener("pageshow",function(event){if(event.persisted){document.querySelectorAll('.rhea-ultra-search-form-fields [disabled]').forEach(el=>{el.removeAttribute('disabled')});if(typeof jQuery!=='undefined'&&jQuery.fn.selectpicker){jQuery('.rhea_multi_select_picker').selectpicker('refresh')}}});$(document).ready(function(){var mapToggleBtn=$('.rh-map-toggle-btn');if(!mapToggleBtn.length||!$('#listing-map').length){return}
66var toggleTextSpan=mapToggleBtn.find('.rh-map-toggle-text');var showText=mapToggleBtn.data('show-text');var hideText=mapToggleBtn.data('hide-text');var $mapHead=$('#map-head');var mapNeedsReinit=!1;if(!$('style#rh-map-toggle-style').length){$('<style id="rh-map-toggle-style">#map-head.rh-map-hidden-force #listing-map { display: none !important; }</style>').appendTo('head')}
67$mapHead.addClass('rh-no-transition');var mapState=localStorage.getItem('rh_map_toggle_state');if('hidden'===mapState){mapNeedsReinit=!0}
68window.realhomes_apply_map_toggle_state();setTimeout(function(){$mapHead.removeClass('rh-no-transition')},50);mapToggleBtn.on('click',function(e){e.preventDefault();var $mapHeadFresh=$('#map-head');var currentMap=$('#listing-map');if(currentMap.is(':visible')){$mapHeadFresh.addClass('rh-map-is-closed');currentMap.slideUp(300,function(){$mapHeadFresh.addClass('rh-map-hidden-force')});toggleTextSpan.text(showText);mapToggleBtn.attr('aria-expanded','false');console.log('RH Map Toggle: saving "hidden" to localStorage');localStorage.setItem('rh_map_toggle_state','hidden')}else{currentMap.hide();
68$mapHeadFresh.removeClass('rh-map-is-closed rh-map-hidden-force');currentMap.slideDown(300,function(){$('html, body').animate({scrollTop:$mapHeadFresh.offset().top-50},400);if(mapNeedsReinit&&typeof propertiesMapData!=='undefined'){var mapServiceType=(typeof localized!=='undefined'&&localized.mapService)?localized.mapService:'openstreetmaps';if(typeof realhomes_update_open_street_map!=='undefined'&&mapServiceType==='openstreetmaps'){realhomes_update_open_street_map(propertiesMapData)}else if(typeof realhomes_update_mapbox!=='undefined'&&mapServiceType==='mapbox'){$('#map-head').empty().append('<div id="listing-map"></div>');realhomes_update_mapbox(propertiesMapData)}else if(typeof realhomes_update_google_map!=='undefined'){realhomes_update_google_map(propertiesMapData)}
69mapNeedsReinit=!1}else{window.dispatchEvent(new Event('resize'))}});toggleTextSpan.text(hideText);mapToggleBtn.attr('aria-expanded','true');console.log('RH Map Toggle: saving "visible" to localStorage');localStorage.setItem('rh_map_toggle_state','visible')}})});window.realhomes_apply_map_toggle_state=function(){var $mapHead=$('#map-head');var $mapToggleBtn=$('.rh-map-toggle-btn');if(!$mapHead.length||!$mapToggleBtn.length){return}
70var mapState=localStorage.getItem('rh_map_toggle_state');var $listingMap=$('#listing-map');var toggleTextSpan=$mapToggleBtn.find('.rh-map-toggle-text');var showText=$mapToggleBtn.data('show-text');var hideText=$mapToggleBtn.data('hide-text');if(!$mapToggleBtn.is(':visible')&&'hidden'===mapState){localStorage.removeItem('rh_map_toggle_state');mapState=null}
71if('hidden'===mapState){if($listingMap.length){$listingMap.hide()}
72$mapHead.addClass('rh-map-is-closed rh-map-hidden-force');if(toggleTextSpan.length&&showText){toggleTextSpan.text(showText)}
73$mapToggleBtn.attr('aria-expanded','false')}else{$mapHead.removeClass('rh-map-is-closed rh-map-hidden-force');if($listingMap.length){$listingMap.show()}
74if(toggleTextSpan.length&&hideText){toggleTextSpan.text(hideText)}
75$mapToggleBtn.attr('aria-expanded','true')}};$(document).ajaxSuccess(function(event,xhr,settings){if(settings.url===ajaxurl&&settings.data){var action='';if(typeof settings.data==='string'){action=new URLSearchParams(settings.data).get('action')||''}else if(settings.data){action=settings.data.action||''}
76if(action&&action.indexOf('realhomes')===0){window.realhomes_apply_map_toggle_state()}}});document.addEventListener('submit',function(event){var form=event.target;if(!form.classList||(!form.classList.contains('advance-search-form')&&!form.classList.contains('rh_prop_search__form')&&!form.classList.contains('rh-ultra-search-form')&&!form.classList.contains('rh_classic_advance_search_form'))){return}
77if(form.querySelector('input[name="sortby"]')){return}
78var urlParams=new URLSearchParams(window.location.search);var sortby=urlParams.get('sortby');if(sortby){var input=document.createElement('input');input.type='hidden';input.name='sortby';input.value=sortby;form.appendChild(input)}})})(jQuery,window)

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.