var houzezThemeGlobal={};
(function ($){
'use strict';
var $win=$(window);
var popupSliderLoaded=false;
var houzezStickyTop=0;
var adminBarHeight=0;
var ajaxurl=houzez_vars.admin_url + 'admin-ajax.php';
var compare_url=houzez_vars.compare_url;
var houzez_rtl=houzez_vars.houzez_rtl;
var userID=houzez_vars.user_id;
var wp_is_mobile=houzez_vars.wp_is_mobile;
var houzez_is_splash=houzez_vars.houzez_is_splash;
var prop_detail_nav=houzez_vars.prop_detail_nav;
var search_position=houzez_vars.search_position;
var is_singular_property=houzez_vars.is_singular_property;
var transparent_logo=houzez_vars.transparent_logo;
var is_transparent=houzez_vars.is_transparent;
var is_top_header=houzez_vars.is_top_header;
var houzez_date_language=houzez_vars.houzez_date_language;
var compare_add_icon=houzez_vars.compare_add_icon;
var add_compare_text=houzez_vars.add_compare_text;
var compare_remove_icon=houzez_vars.compare_remove_icon;
var remove_compare_text=houzez_vars.remove_compare_text;
var compare_limit=houzez_vars.compare_limit;
var compare_page_not_found=houzez_vars.compare_page_not_found;
var g_recaptha_version=houzez_vars.g_recaptha_version;
var for_rent=houzez_vars.for_rent;
var listings_not_found=houzez_vars.listings_not_found;
var for_rent_price_slider=houzez_vars.for_rent_price_slider;
var search_price_range_min=parseInt(houzez_vars.search_min_price_range);
var search_price_range_max=parseInt(houzez_vars.search_max_price_range);
var search_price_range_min_rent=parseInt(
houzez_vars.search_min_price_range_for_rent
);
var search_price_range_max_rent=parseInt(
houzez_vars.search_max_price_range_for_rent
);
var get_min_price=parseInt(houzez_vars.get_min_price);
var get_max_price=parseInt(houzez_vars.get_max_price);
var currency_position=houzez_vars.currency_position;
var decimals=houzez_vars.decimals;
var decimal_point_separator=houzez_vars.decimal_point_separator;
var thousands_separator=houzez_vars.thousands_separator;
var currency_symb=houzez_vars.currency_symbol;
var is_halfmap=parseInt(houzez_vars.is_halfmap);
var houzez_reCaptcha=parseInt(houzez_vars.houzez_reCaptcha);
var prev_text=houzez_vars.prev_text;
var next_text=houzez_vars.next_text;
var listing_pagination=houzez_vars.listing_pagination;
var keyword_search_field=houzez_vars.keyword_search_field;
var keyword_autocomplete=houzez_vars.keyword_autocomplete;
var autosearch_text=houzez_vars.autosearch_text;
var login_redirect_type=houzez_vars.redirect_type;
var login_redirect=houzez_vars.login_redirect;
var login_loading=houzez_vars.login_loading;
var paypal_connecting=houzez_vars.paypal_connecting;
var processing_text=houzez_vars.processing_text;
var is_edit_property=houzez_vars.is_edit_property;
var property_gallery_popup_type=houzez_vars.property_gallery_popup_type;
var simple_logo=houzez_vars.simple_logo;
var retina_logo=houzez_vars.retina_logo;
var mobile_logo=houzez_vars.mobile_logo;
var retina_logo_mobile=houzez_vars.retina_logo_mobile;
var retina_logo_mobile_splash=houzez_vars.retina_logo_mobile_splash;
var custom_logo_splash=houzez_vars.custom_logo_splash;
var retina_logo_splash=houzez_vars.retina_logo_splash;
var calDoughnutChart;
var is_listing_gallery_slider=false;
var top_banner_wrap_height=0;
var top_banner_wrap=$('.top-banner-wrap ');
var header_area=$('.header-main-wrap');
var advanced_search_nav=$('.advanced-search-nav');
var desktop_header_search_enabled=advanced_search_nav.data('sticky');
var elementor_location_header=$('.elementor-location-header');
var header_area_height=header_area.innerHeight();
var elementor_location_header_height =
elementor_location_header.innerHeight();
var advanced_search_nav_height=advanced_search_nav.innerHeight();
var header_nav=$('#header-section');
var houzez_nav_sticky_height=header_nav.innerHeight();
var only_nav_sticky=header_nav.data('sticky');
houzezThemeGlobal.$body=$('body');
houzezThemeGlobal.$document=$(document);
houzezThemeGlobal.$window=$(window);
houzezThemeGlobal.houzezEleAddAction=function (name, callback){
houzezThemeGlobal.$window.on('elementor/frontend/init', function (){
if(!elementorFrontend.isEditMode()){
return;
}
elementorFrontend.hooks.addAction(name, callback);
});
};
var houzez_is_mobile =
/ipad|iphone|ipod|android|blackberry|webos|iemobile|windows phone/i.test(navigator.userAgent.toLowerCase()
);
if(prop_detail_nav=='yes'&&is_singular_property){
only_nav_sticky=0;
}
if(elementor_location_header_height==null){
elementor_location_header_height=0;
}
if(header_area_height==null){
header_area_height=0;
}
if(advanced_search_nav_height==null){
advanced_search_nav_height=0;
}
if(houzez_rtl=='yes'){
houzez_rtl=true;
}else{
houzez_rtl=false;
}
if(only_nav_sticky===1){
houzezStickyTop=houzez_nav_sticky_height;
if(!wp_is_mobile){
desktop_header_search_enabled=0;
}}
var make_search_sticky_position =
header_area_height + advanced_search_nav_height;
var searchStickyPlus=100;
var search_under_navigation=true;
if(wp_is_mobile){
make_search_sticky_position=make_search_sticky_position + 40;
}
$(document).ready(function (){
top_banner_wrap_height=top_banner_wrap.innerHeight();
if(search_position=='under_banner'){
make_search_sticky_position =
header_area_height + top_banner_wrap_height;
searchStickyPlus=0;
if(wp_is_mobile){
searchStickyPlus=60;
}
if(is_transparent){
searchStickyPlus=60;
}
search_under_navigation=false;
}
adminBarHeight=$('#wpadminbar').innerHeight();
if(adminBarHeight!=null){
houzezStickyTop=houzezStickyTop + adminBarHeight;
}});
function HouzezDebounce(func, delay){
let debounceTimer;
return function (){
const context=this;
const args=arguments;
clearTimeout(debounceTimer);
debounceTimer=setTimeout(()=> func.apply(context, args), delay);
};}
function parseBool(str){
if(str=='true'){
return true;
}else{
return false;
}}
$(document).ready(function (){
if($('#video-background').length > 0){
$('#video-background').data('vide').getVideoObject().play();
}});
function adjustMegaMenu(
megaMenuSelector,
containerSelector,
fullwidthClass,
customWidthClass,
customWidthPx
){
jQuery(megaMenuSelector).each(function (){
var $megamenu=jQuery(this);
var windowWidth=jQuery(window).width();
var isRTL=jQuery('html').attr('dir')==='rtl';
var $fullwidthContainer=$megamenu.closest(fullwidthClass);
var $customWidthContainer=$megamenu.closest(customWidthClass);
var $container=$megamenu.closest(containerSelector);
var $navItem=$megamenu.closest('.nav-item');
$megamenu.css({ left: '', right: '', width: '' });
if($fullwidthContainer.length > 0){
$megamenu.css('width', '100vw');
var offset=$megamenu.offset();
if(offset&&typeof offset.left==='number'){
var position=offset.left * -1;
if(isRTL){
$megamenu.css('right', (-position) + 'px');
}else{
$megamenu.css('left', position + 'px');
}}else{
console.warn('Mega menu offset not found for fullwidth container.');
}}
else if($customWidthContainer.length > 0){
$megamenu.css('width', customWidthPx + 'px');
if($navItem.length===0){
console.warn('No .nav-item found for custom width calculation.');
return;
}
var menuItemOffset=$navItem.offset().left;
var parentOffset=$megamenu.parent().offset();
parentOffset=parentOffset ? parentOffset.left:0;
var position=menuItemOffset - parentOffset;
if(menuItemOffset + customWidthPx > windowWidth){
position -=(customWidthPx - $navItem.width());
}
if(isRTL){
$megamenu.css('right', (-position) + 'px');
}else{
$megamenu.css('left', position + 'px');
}}
else if($container.length > 0){
var containerWidth=$container.width();
$megamenu.css('width', containerWidth);
var containerOffsetObj=$container.offset();
var navItemOffsetObj=$navItem.offset();
if(containerOffsetObj&&navItemOffsetObj){
var containerOffset=containerOffsetObj.left;
var megamenuOffset=navItemOffsetObj.left;
var position=containerOffset - megamenuOffset;
if(isRTL){
$megamenu.css('right', (-position) + 'px');
}else{
$megamenu.css('left', position + 'px');
}}else{
console.warn('Could not determine offsets for container or nav-item.');
}}else{
console.warn('No container found for mega menu adjustment.');
}});
}
function setMenuFullWidthEle(){
if($('#houzez_toggle').length > 0){
var isRTL=$('html').attr('dir')==='rtl';
var leftDistance;
leftDistance=$('#houzez_toggle').offset().left;
$('.houzez-nav-mobile-menu-fullwidth .main-mobile-nav').css('left',
'calc(50vw - ' + leftDistance + 'px)'
);
console.log('Distance from the left:', leftDistance);
}}
$(window).on('load', function (){
adjustMegaMenu(
'.houzez-elementor-menu .dropdown-menu.megamenu',
'.e-con-inner',
'.menu-item-design-full-width',
'.menu-item-design-custom-size',
200
);
setTimeout(setMenuFullWidthEle, 500);
});
$(window).resize(function (){
adjustMegaMenu(
'.houzez-elementor-menu .dropdown-menu.megamenu',
'.e-con-inner',
'.menu-item-design-full-width',
'.menu-item-design-custom-size',
200
);
setMenuFullWidthEle();
});
if($('.hs-gallery-v3-wrap').length > 0 ||
$('.hs-gallery-v2-wrap').length > 0
){
function adjustTabContentHeight(){
var galleryHeight=$(
'.hs-property-gallery-wrap #pills-gallery'
).height();
$('.tab-content #pills-map').css('height', galleryHeight);
$('.tab-content .houzez-top-area-video').css('height',
galleryHeight
);
$('.tab-content .houzez-360-virtual-tour').css('height',
galleryHeight
);
$('.tab-content #pills-street-view').css('height', galleryHeight);
}
function checkAndAdjustLayout(){
adjustTabContentHeight();
}
$(window).on('load resize', function (){
checkAndAdjustLayout();
});
checkAndAdjustLayout();
}
function houzez_lazyload(){
document.addEventListener('DOMContentLoaded', function (){
var lazyImages=[].slice.call(document.querySelectorAll('.houzez-lazyload')
);
if('IntersectionObserver' in window){
let lazyImageObserver=new IntersectionObserver(function (
entries,
observer
){
entries.forEach(function (entry){
if(entry.isIntersecting){
let lazyImage=entry.target;
lazyImage.src=lazyImage.dataset.src;
if(lazyImage.dataset.srcset){
lazyImage.srcset=lazyImage.dataset.srcset;
}
lazyImage.classList.remove('houzez-lazyload');
lazyImageObserver.unobserve(lazyImage);
}});
});
lazyImages.forEach(function (lazyImage){
lazyImageObserver.observe(lazyImage);
});
}else{
}});
}
houzez_lazyload();
function houzez_lazyload_for_ajax(){
var lazyImages=[].slice.call(document.querySelectorAll('.houzez-lazyload')
);
if('IntersectionObserver' in window){
let lazyImageObserver=new IntersectionObserver(function (
entries,
observer
){
entries.forEach(function (entry){
if(entry.isIntersecting){
let lazyImage=entry.target;
lazyImage.src=lazyImage.dataset.src;
if(lazyImage.dataset.srcset){
lazyImage.srcset=lazyImage.dataset.srcset;
}
lazyImage.classList.remove('houzez-lazyload');
lazyImageObserver.unobserve(lazyImage);
}});
});
lazyImages.forEach(function (lazyImage){
lazyImageObserver.observe(lazyImage);
});
}else{
}}
houzez_lazyload_for_ajax();
if(retina_logo!=='' ||
retina_logo_splash!='' ||
retina_logo_mobile!='' ||
retina_logo_mobile_splash!=''
){
if(window.devicePixelRatio==2){
if(retina_logo!=''){
$('.logo-desktop img').attr('src', retina_logo);
}
if(retina_logo_splash!=''){
$('.logo-splash img').attr('src', retina_logo_splash);
}
if(retina_logo_mobile!=''){
$('.logo-mobile img').attr('src', retina_logo_mobile);
}}
}
$('.all-reviews').on('click', function (e){
$('.hz-review-tab').trigger('click');
});
$(function (){
var scroll_anchor=$('#scroll-top');
$(window).on('scroll', function (){
if($(this).scrollTop() > 300){
scroll_anchor.fadeIn('fast').css('display', 'block');
return;
}
scroll_anchor.fadeOut('fast');
});
scroll_anchor.on('click', function (event){
event.preventDefault();
$('html, body').animate({ scrollTop: 0 }, 'slow');
});
});
/*$.each([
'frontend/element_ready/houzez_properties_tabs.default',
], function(index, value){
houzezThemeGlobal.houzezEleAddAction(value, function(){ alert('1111');
houzezThemeGlobal.houzezProductsTabs();
});
});*/
var houzezProductsTabs=function (){
var alreadyProcessed=false;
$('.houzez-products-tabs-js').each(function (){
var $this=$(this);
var $html_container=$this.find('.houzez-tab-content');
var $products_cache=[];
$this.find('ul.property-nav-tabs li').on('click', function (e){
e.preventDefault();
var $this=$(this);
var settings=$this.data('json');
var data_index=$this.index();
if(alreadyProcessed||$this.find('a').hasClass('active')){
return;
}
alreadyProcessed=true;
if($products_cache[data_index]){
setTimeout(function (){
$html_container.html($products_cache[data_index].html);
houzez_init_add_favorite(ajaxurl, userID);
houzez_init_remove_favorite(ajaxurl, userID);
houzez_listing_lightbox(
ajaxurl,
processing_text,
houzez_rtl,
userID
);
houzez_grid_image_gallery();
houzez_grid_call_to_action();
compare_for_ajax();
$('[data-toggle="tooltip"]').tooltip();
alreadyProcessed=false;
}, 300);
return;
}
$.ajax({
url: ajaxurl,
data: {
action: 'houzez_get_properties_tab_content',
settings: settings,
},
dataType: 'json',
method: 'POST',
beforeSend: function (){
$html_container
.empty()
.append('' +
'<div id="houzez-map-loading">' +
'<div class="mapPlaceholder">' +
'<div class="loader-ripple spinner">' +
'<div class="bounce1"></div>' +
'<div class="bounce2"></div>' +
'<div class="bounce3"></div>' +
'</div>' +
'</div>' +
'</div>'
);
},
success: function (data){
$products_cache[data_index]=data;
$html_container.html(data.html);
houzez_init_add_favorite(ajaxurl, userID);
houzez_init_remove_favorite(ajaxurl, userID);
houzez_listing_lightbox(
ajaxurl,
processing_text,
houzez_rtl,
userID
);
houzez_grid_image_gallery();
houzez_grid_call_to_action();
compare_for_ajax();
$('[data-toggle="tooltip"]').tooltip();
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
complete: function (){
alreadyProcessed=false;
},
});
});
});
};
houzezProductsTabs();
if(window.devicePixelRatio==2){
if(transparent_logo){
if(retina_logo_splash!=''){
custom_logo_splash=retina_logo_splash;
}
if(retina_logo!=''){
simple_logo=retina_logo;
}}
}
if(only_nav_sticky&&!wp_is_mobile){
houzez_sticky_nav();
if($('.compare-table').length > 0){
var compare_top_margin=advanced_search_nav.outerHeight();
$('.compare-table thead th').css('top', compare_top_margin + 25);
}}
function houzez_sticky_nav(){
$(window).scroll(function (){
var scroll=$(window).scrollTop();
var admin_nav=$('#wpadminbar').height();
var top_banner_margin=0;
var thisHeight=header_nav.outerHeight();
top_banner_margin=thisHeight;
if(is_top_header!=0){
var top_bar_wrap=$('.top-bar-wrap').height();
top_banner_margin=top_banner_margin + top_bar_wrap;
}
if(only_nav_sticky===0){
return;
}
if(transparent_logo){
$('.logo-splash img').attr('src', simple_logo);
}
if(admin_nav=='null'){
admin_nav=0;
}
if(scroll > header_area_height){
header_nav.addClass('sticky-nav-area');
header_nav.css('top', admin_nav);
if(transparent_logo){
header_area.removeClass('header-transparent-wrap');
$('.top-banner-wrap').css('margin-top',
'-' + top_banner_margin + 'px'
);
$('body.houzez-header-elementor .content-wrap').css('margin-top',
'-' + top_banner_margin + 'px'
);
$('#main-wrap > div.elementor').css('margin-top',
'-' + top_banner_margin + 'px'
);
}
if(scroll >=header_area_height + 20){
header_nav.addClass('houzez-in-view');
$('#main-wrap').css('margin-top', thisHeight);
}}else{
header_nav.removeClass('sticky-nav-area');
header_nav.removeAttr('style');
if(transparent_logo){
header_area.addClass('header-transparent-wrap');
$('.top-banner-wrap').css('margin-top', 0);
$('body.houzez-header-elementor .content-wrap').css('margin-top',
0
);
$('#main-wrap > div.elementor').css('margin-top', 0);
$('.logo-splash img').attr('src', custom_logo_splash);
}
if(scroll <=header_area_height + 20){
header_nav.removeClass('houzez-in-view');
}
$('#main-wrap').css('margin-top', 0);
}});
}
if(desktop_header_search_enabled){
houzez_sticky_search();
}
function houzez_sticky_search(){
$(window).scroll(function (){
var scroll=$(window).scrollTop();
var admin_nav=$('#wpadminbar').height();
var thisHeight=advanced_search_nav.outerHeight();
var hidden_data=advanced_search_nav.data('hidden');
if(admin_nav=='null'){
admin_nav=0;
}
if(scroll >=make_search_sticky_position){
advanced_search_nav.addClass('sticky-search-area');
if(hidden_data){
advanced_search_nav.removeClass('search-hidden');
}
if(!wp_is_mobile){
advanced_search_nav.css('top', admin_nav);
}
if(scroll >=make_search_sticky_position + searchStickyPlus){
advanced_search_nav.addClass('houzez-in-view');
if(!hidden_data){
$('#main-wrap').css('padding-top', thisHeight);
}}
}else{
advanced_search_nav.removeClass('sticky-search-area');
advanced_search_nav.removeAttr('style');
if(scroll <=make_search_sticky_position + 20){
advanced_search_nav.removeClass('houzez-in-view');
}
if(hidden_data){
advanced_search_nav.addClass('search-hidden');
}
if(!hidden_data){
$('#main-wrap').css('padding-top', 0);
}}
});
}
function houzez_mobile_sticky_nav(){
$(window).scroll(function (){
var scroll=$(window).scrollTop();
var admin_nav=0; //$('#wpadminbar').height();
var top_banner_margin=0;
var thisHeight=header_mobile.outerHeight();
top_banner_margin=thisHeight;
if(is_top_header){
var top_bar_wrap=$('.top-bar-wrap').height();
top_banner_margin=top_banner_margin + top_bar_wrap;
}
if(mobile_sticky_nav===0){
return;
}
if(admin_nav=='null'){
admin_nav=0;
}
if(scroll > header_area_height){
header_mobile.addClass('sticky-nav-area');
if(scroll >=header_area_height + 20){
header_mobile.addClass('houzez-in-view');
$('#main-wrap').css('margin-top', thisHeight);
}}else{
header_mobile.removeClass('sticky-nav-area');
header_mobile.removeAttr('style');
if(scroll <=header_area_height + 20){
header_mobile.removeClass('houzez-in-view');
}
$('#main-wrap').css('margin-top', 0);
}});
}
var addCommas=function (nStr){
nStr +='';
var x=nStr.split('.');
var x1=x[0];
var x2=x.length > 1 ? '.' + x[1]:'';
var rgx=/(\d+)(\d{3})/;
while (rgx.test(x1)){
x1=x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
};
var thousandSeparator=(n)=> {
if(typeof n==='number'){
n +='';
var x=n.split('.');
var x1=x[0];
var x2=x.length > 1 ? '.' + x[1]:'';
var rgx=/(\d+)(\d{3})/;
while (rgx.test(x1)){
x1=x1.replace(rgx, '$1' + thousands_separator + '$2');
}
return x1 + x2;
}else{
return n;
}};
function number_format(number){
var decimals, dec_point, thousands_sep;
dec_point=decimal_point_separator;
thousands_sep=thousands_separator;
var i, j, kw, kd, km;
if(isNaN((decimals=Math.abs(decimals)))){
decimals=2;
}
dec_point=dec_point||',';
thousands_sep=thousands_sep||'.';
i=parseInt((number=(+number||0).toFixed(decimals))) + '';
j=(j=i.length) > 3 ? j % 3:0;
km=j ? i.substr(0, j) + thousands_sep:'';
kw=i.substr(j).replace(/(\d{3})(?=\d)/g, '$1' + thousands_sep);
kd=decimals
? dec_point +
Math.abs(number - i)
.toFixed(decimals)
.replace(/-/, 0)
.slice(2)
: '';
return km + kw + kd;
}
if($('#houzez-calculator-form').length > 0){
$('#houzez-calculator-form input').on('input', ()=> {
mortgage_calucaltion_section();
});
mortgage_calucaltion_section();
}
function calculateMonthlyPayment(
principal,
annualInterestRate,
loanTermInYears
){
const monthlyInterestRate=annualInterestRate / 12 / 100;
const numberOfMonths=loanTermInYears * 12;
if(monthlyInterestRate===0){
return principal / numberOfMonths;
}
return (
(principal *
(monthlyInterestRate *
Math.pow(1 + monthlyInterestRate, numberOfMonths))) /
(Math.pow(1 + monthlyInterestRate, numberOfMonths) - 1)
);
}
function parseInput(selector){
const rawValue=$(selector).val();
if(!rawValue) return 0;
const cleanedValue=rawValue.replace(/[^0-9.]/g, '');
const parsedValue=parseFloat(cleanedValue);
return isNaN(parsedValue) ? 0:parsedValue;
}
function mortgage_calucaltion_section(){
const homePrice=parseInput('#homePrice');
const downPaymentPercentage=parseInput('#downPaymentPercentage');
const annualInterestRate=parseInput('#annualInterestRate');
const loanTermInYears=parseInput('#loanTermInYears');
const annualPropertyTaxRate=parseInput('#annualPropertyTaxRate');
const annualHomeInsurance=parseInput('#annualHomeInsurance');
const monthlyHOAFees=parseInput('#monthlyHOAFees');
const pmi=parseInput('#pmi');
const downPayment=homePrice * (downPaymentPercentage / 100);
const principal=homePrice - downPayment;
const monthlyPayment=calculateMonthlyPayment(
principal,
annualInterestRate,
loanTermInYears
);
const monthlyPropertyTax =
(homePrice * (annualPropertyTaxRate / 100)) / 12;
const monthlyHomeInsurance=annualHomeInsurance / 12;
const pmiRequired=downPayment / homePrice < 0.2;
const monthlyPMI=pmiRequired ? (principal * (pmi / 100)) / 12:0;
const totalMonthlyPayment =
monthlyPayment +
monthlyPropertyTax +
monthlyHomeInsurance +
monthlyHOAFees +
monthlyPMI;
const loanAmount=homePrice - downPayment;
const formattedDownPayment=number_format(downPayment);
const formattedLoanAmount=number_format(loanAmount);
const formattedMonthlyPayment=number_format(monthlyPayment);
const formattedPropertyTax=number_format(monthlyPropertyTax);
const formattedHomeInsurance=number_format(monthlyHomeInsurance);
const formattedPMI=pmiRequired ? number_format(monthlyPMI):'';
const formattedHOAFees=number_format(monthlyHOAFees);
const formattedTotalMonthlyPayment=number_format(totalMonthlyPayment);
$('#downPaymentResult').html(currencyFormate(formattedDownPayment));
$('#loadAmountResult').html(currencyFormate(formattedLoanAmount));
$('#monthlyMortgagePaymentResult').html(currencyFormate(formattedMonthlyPayment)
);
$('#monthlyPropertyTaxResult').html(currencyFormate(formattedPropertyTax)
);
$('#monthlyHomeInsuranceResult').html(currencyFormate(formattedHomeInsurance)
);
if(pmiRequired){
$('.rslt-pmi').show();
$('#monthlyPMIResult').html(currencyFormate(formattedPMI));
}else{
$('.rslt-pmi').hide();
}
$('#monthlyHOAResult').html(currencyFormate(formattedHOAFees));
$('#m_monthly_val').html(currencyFormate(formattedTotalMonthlyPayment));
const chartData=[
{
label: 'Monthly Mortgage Payment',
value: monthlyPayment,
color: '#ff6384',
},
{
label: 'Property Tax',
value: monthlyPropertyTax,
color: '#36a2eb',
},
{
label: 'Home Insurance',
value: monthlyHomeInsurance,
color: '#ffce56',
},
{ label: 'HOA', value: monthlyHOAFees, color: '#c2d500' },
];
if(pmiRequired){
chartData.push({
label: 'PMI',
value: monthlyPMI,
color: '#4bc0c0',
});
}
updateChart(chartData);
}
const inputElements=document.querySelectorAll('#calculator-form input');
inputElements.forEach((input)=> {
input.addEventListener('input', ()=> {
formatInputValue(input);
updateResults();
});
});
function updateChart(chartData){
const ctx=$('#mortgage-calculator-chart')[0].getContext('2d');
if(window.myChart){
window.myChart.destroy();
}
window.myChart=new Chart(ctx, {
type: 'doughnut',
data: {
datasets: [
{
data: chartData.map((item)=> item.value),
backgroundColor: chartData.map((item)=> item.color),
},
],
},
options: {
cutoutPercentage: 85,
responsive: false,
tooltips: false,
},
});
}
function currencyFormate(price_value){
var value;
if(currency_position==''||currency_symb==''){
return price_value;
}
value =
'after'===currency_position
? price_value + '' + currency_symb
: currency_symb + '' + price_value;
return value;
}
houzez_listing_lightbox(ajaxurl, processing_text, houzez_rtl, userID);
$(window).on('load', function (){
houzez_grid_image_gallery();
houzez_grid_call_to_action();
});
if($('#stats-property-cities').length > 0){
var chartData=$('#stats-property-cities').data('chart');
var ctx=document
.getElementById('stats-property-cities')
.getContext('2d');
var myDoughnutChart=new Chart(ctx, {
type: 'doughnut',
data: {
datasets: [
{
data: chartData,
backgroundColor: [
'rgba(255, 99, 132, 0.5)',
'rgba(54, 162, 235, 0.5)',
'rgba(255, 206, 86, 0.5)',
'rgba(75, 192, 192, 0.5)',
],
borderColor: [
'rgba(255 ,99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
],
borderWidth: 1,
},
],
},
options: {
cutoutPercentage: 60,
responsive: false,
tooltips: false,
},
});
}
if($('#stats-property-status').length > 0){
var chartData=$('#stats-property-status').data('chart');
var ctx=document
.getElementById('stats-property-status')
.getContext('2d');
var myDoughnutChart=new Chart(ctx, {
type: 'doughnut',
data: {
datasets: [
{
data: chartData,
backgroundColor: [
'rgba(255, 99, 132, 0.5)',
'rgba(54, 162, 235, 0.5)',
'rgba(255, 206, 86, 0.5)',
'rgba(75, 192, 192, 0.5)',
],
borderColor: [
'rgba(255 ,99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
],
borderWidth: 1,
},
],
},
options: {
cutoutPercentage: 60,
responsive: false,
tooltips: false,
},
});
}
$('.houzez-realtor-stats-js[id^="stats-property-"]').each(function (){
var $div=$(this);
var token=$div.data('token');
var statsID='stats-property-' + token;
if($('#' + statsID).length > 0){
var chartData=$('#' + statsID).data('chart');
var ctx=document.getElementById(statsID).getContext('2d');
var myDoughnutChart=new Chart(ctx, {
type: 'doughnut',
data: {
datasets: [
{
data: chartData,
backgroundColor: [
'rgba(255, 99, 132, 0.5)',
'rgba(54, 162, 235, 0.5)',
'rgba(255, 206, 86, 0.5)',
'rgba(75, 192, 192, 0.5)',
],
borderColor: [
'rgba(255, 99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
],
borderWidth: 1,
},
],
},
options: {
cutoutPercentage: 60,
responsive: false,
tooltips: false,
},
});
}});
if($('#stats-property-types').length > 0){
var chartData=$('#stats-property-types').data('chart');
var ctx=document
.getElementById('stats-property-types')
.getContext('2d');
var myDoughnutChart=new Chart(ctx, {
type: 'doughnut',
data: {
datasets: [
{
data: chartData,
backgroundColor: [
'rgba(255, 99, 132, 0.5)',
'rgba(54, 162, 235, 0.5)',
'rgba(255, 206, 86, 0.5)',
'rgba(75, 192, 192, 0.5)',
],
borderColor: [
'rgba(255 ,99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
],
borderWidth: 1,
},
],
},
options: {
cutoutPercentage: 60,
responsive: false,
tooltips: false,
},
});
}
if($('#stats-property-types').length > 0){
var chartData=$('#stats-property-types').data('chart');
var ctx=document
.getElementById('stats-property-types')
.getContext('2d');
var myDoughnutChart=new Chart(ctx, {
type: 'doughnut',
data: {
datasets: [
{
data: chartData,
backgroundColor: [
'rgba(255, 99, 132, 0.5)',
'rgba(54, 162, 235, 0.5)',
'rgba(255, 206, 86, 0.5)',
'rgba(75, 192, 192, 0.5)',
],
borderColor: [
'rgba(255 ,99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
],
borderWidth: 1,
},
],
},
options: {
cutoutPercentage: 60,
responsive: false,
tooltips: false,
},
});
}
var houzez_login_modal=function (){
jQuery('#login-register-form').modal('show');
jQuery('.login-form-tab').addClass('active show');
jQuery('.modal-toggle-1.nav-link').addClass('active');
};
$('#houzez-login-btn').on('click', function (e){
e.preventDefault();
var currnt=$(this);
houzez_login(currnt);
});
$('#houzez-register-btn').on('click', function (e){
e.preventDefault();
var currnt=$(this);
houzez_register(currnt);
});
$('#houzez-create-account-btn').on('click', function (e){
e.preventDefault();
var currnt=$(this);
houzez_social_create_account(currnt);
});
var houzez_login=function (currnt){
var $form=currnt.parents('form');
var $messages=$('#hz-login-messages');
$.ajax({
type: 'post',
url: ajaxurl,
dataType: 'json',
data: $form.serialize(),
beforeSend: function (){
currnt.find('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
currnt.find('.houzez-loader-js').removeClass('loader-show');
},
success: function (response){
if(response.success){
$messages
.empty()
.append('<div class="alert alert-success" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
window.location.replace(response.redirect_to);
}else{
$messages
.empty()
.append('<div class="alert alert-danger" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
}
currnt.find('.houzez-loader-js').removeClass('loader-show');
if(houzez_reCaptcha==1){
$form.find('.g-recaptcha-response').remove();
if(g_recaptha_version=='v3'){
houzezReCaptchaLoad();
}else{
houzezReCaptchaReset();
}}
},
error: function (xhr, status, error){
console.log('Error Status: ' + status);
console.log('Error Thrown: ' + error);
console.log('Response Text: ' + xhr.responseText);
},
});
};
var houzez_register=function (currnt){
var $form=currnt.parents('form');
var $messages=$('#hz-register-messages');
$.ajax({
type: 'post',
url: ajaxurl,
dataType: 'json',
data: $form.serialize(),
beforeSend: function (){
currnt.find('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
currnt.find('.houzez-loader-js').removeClass('loader-show');
},
success: function (response){
if(response.success){
$messages
.empty()
.append('<div class="alert alert-success" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
setTimeout(function (){
$('a[href="#login-form-tab"]').tab('show');
}, 2000);
}else{
$messages
.empty()
.append('<div class="alert alert-danger" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
}
currnt.find('.houzez-loader-js').removeClass('loader-show');
if(houzez_reCaptcha==1){
$form.find('.g-recaptcha-response').remove();
if(g_recaptha_version=='v3'){
houzezReCaptchaLoad();
}else{
houzezReCaptchaReset();
}}
},
error: function (xhr, status, error){
console.log('Error Status: ' + status);
console.log('Error Thrown: ' + error);
console.log('Response Text: ' + xhr.responseText);
},
});
};
var houzez_social_create_account=function (currnt){
var $form=currnt.parents('form');
var $messages=$('#hz-create-messages');
$.ajax({
type: 'post',
url: ajaxurl,
dataType: 'json',
data: $form.serialize(),
beforeSend: function (){
currnt.find('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
currnt.find('.houzez-loader-js').removeClass('loader-show');
},
success: function (response){
if(response.success){
$messages
.empty()
.append('<div class="alert alert-success" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
window.location.replace(response.redirect_to);
}else{
$messages
.empty()
.append('<div class="alert alert-danger" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
}
currnt.find('.houzez-loader-js').removeClass('loader-show');
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
$('#houzez-link-account').on('click', function (e){
e.preventDefault();
var currnt=$(this);
houzez_link_account(currnt);
});
var houzez_link_account=function (currnt){
var $form=currnt.parents('form');
var $messages=$('#hz-link-messages');
$.ajax({
type: 'post',
url: ajaxurl,
dataType: 'json',
data: $form.serialize(),
beforeSend: function (){
currnt.find('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
currnt.find('.houzez-loader-js').removeClass('loader-show');
},
success: function (response){
if(response.success){
$messages
.empty()
.append('<div class="alert alert-success" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
window.location.replace(response.redirect_to);
}else{
$messages
.empty()
.append('<div class="alert alert-danger" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
}
currnt.find('.houzez-loader-js').removeClass('loader-show');
if(houzez_reCaptcha==1){
$form.find('.g-recaptcha-response').remove();
if(g_recaptha_version=='v3'){
houzezReCaptchaLoad();
}else{
houzezReCaptchaReset();
}}
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
function houzez_social_login_panel(){
var $mainStepWrap=$('.main-step-wrap');
var $newAccountWrap=$('.new-account-wrap');
var $linkAccountWrap=$('.link-account-wrap');
function toggleVisibility(hide1, hide2, show){
hide1.hide();
hide2.hide();
show.show();
}
$(document).on('click', '.btn-link-account', function (event){
event.preventDefault();
toggleVisibility($mainStepWrap, $newAccountWrap, $linkAccountWrap);
});
$(document).on('click', '.btn-create-account', function (event){
event.preventDefault();
toggleVisibility($mainStepWrap, $linkAccountWrap, $newAccountWrap);
});
$(document).on('click', '.hz-fb-cancel', function (event){
event.preventDefault();
toggleVisibility($linkAccountWrap, $newAccountWrap, $mainStepWrap);
});
}
houzez_social_login_panel();
$('#houzez_forgetpass').on('click', function (){
var user_login=$('#user_login_forgot').val(),
security=$('#fave_resetpassword_security').val();
var $this=$(this);
var $messages=$('#reset_pass_msg');
$.ajax({
type: 'post',
url: ajaxurl,
dataType: 'json',
data: {
action: 'houzez_reset_password',
user_login: user_login,
security: security,
},
beforeSend: function (){
$this.find('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
$this.find('.houzez-loader-js').removeClass('loader-show');
},
success: function (response){
if(response.success){
$messages
.empty()
.append('<div class="alert alert-success" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
}else{
$messages
.empty()
.append('<div class="alert alert-danger" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
});
if($('#houzez_reset_password').length > 0){
$('#houzez_reset_password').click(function (e){
e.preventDefault();
var $this=$(this);
var rg_login=$('input[name="rp_login"]').val();
var rp_key=$('input[name="rp_key"]').val();
var pass1=$('input[name="pass1"]').val();
var pass2=$('input[name="pass2"]').val();
var security=$('input[name="fave_resetpassword_security"]').val();
var $messages=$('#reset_pass_msg_2');
$.ajax({
type: 'post',
url: ajaxurl,
dataType: 'json',
data: {
action: 'houzez_reset_password_2',
rq_login: rg_login,
password: pass1,
confirm_pass: pass2,
rp_key: rp_key,
security: security,
},
beforeSend: function (){
$this.find('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
$this.find('.houzez-loader-js').removeClass('loader-show');
},
success: function (response){
if(response.success){
$messages
.empty()
.append('<div class="alert alert-success" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
jQuery('#oldpass, #newpass, #confirmpass').val('');
}else{
$messages
.empty()
.append('<div class="alert alert-danger" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
}},
error: function (errorThrown){},
});
});
}
$('.hz-facebook-login').on('click', function (){
var current=$(this);
houzez_login_via_facebook(current);
});
var houzez_login_via_facebook=function (current){
var $messages=$('.hz-social-messages');
$.ajax({
type: 'POST',
url: ajaxurl,
dataType: 'json',
data: {
action: 'houzez_facebook_login_oauth',
},
beforeSend: function (){
$messages
.empty()
.append('<div class="alert alert-success" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
login_loading +
'</div>'
);
current.find('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
current.find('.houzez-loader-js').removeClass('loader-show');
},
success: function (response){
if(response.success){
window.location.replace(response.url);
}else{
$messages
.empty()
.append('<div class="alert alert-danger" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.message +
'</div>'
);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
$('.hz-google-login').on('click', function (){
var current=$(this);
houzez_login_via_google(current);
});
var houzez_login_via_google=function (current){
var $form=current.parents('form');
var $messages=$('#hz-login-messages');
$.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'houzez_google_login_oauth',
},
beforeSend: function (){
$messages
.empty()
.append('<div class="alert alert-success" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
login_loading +
'</div>'
);
current.find('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
current.find('.houzez-loader-js').removeClass('loader-show');
},
success: function (data){
window.location.replace(data);
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
var properties_module_section=$('#properties_module_section');
if(properties_module_section.length > 0){
var loading=false;
var $loadMoreButton=$('.fave-load-more a');
var paginationType =
$loadMoreButton.data('pagination-type')||'loadmore';
var observer;
function loadMoreProperties(e){
if(e) e.preventDefault();
if(loading) return;
var $this=$(this);
var $wrap=$this
.closest('#properties_module_section')
.find('#module_properties');
var prop_limit=$this.data('prop-limit');
var paged=$this.data('paged');
var card_version=$this.data('card');
var type=$this.data('type');
var status=$this.data('status');
var state=$this.data('state');
var city=$this.data('city');
var country=$this.data('country');
var area=$this.data('area');
var label=$this.data('label');
var user_role=$this.data('user-role');
var featured_prop=$this.data('featured-prop');
var offset=$this.data('offset');
var sortby=$this.data('sortby');
var property_ids=$this.data('property_ids');
var min_price=$this.data('min_price');
var max_price=$this.data('max_price');
var min_beds=$this.data('min_beds');
var max_beds=$this.data('max_beds');
var min_baths=$this.data('min_baths');
var max_baths=$this.data('max_baths');
var agents=$this.data('agents');
var agencies=$this.data('agencies');
var post_status=$this.data('post_status');
loading=true;
$.ajax({
type: 'POST',
url: ajaxurl,
dataType: 'json',
data: {
action: 'houzez_loadmore_properties',
prop_limit: prop_limit,
paged: paged,
card_version: card_version,
type: type,
status: status,
state: state,
city: city,
country: country,
area: area,
label: label,
property_ids: property_ids,
min_price: min_price,
max_price: max_price,
min_beds: min_beds,
max_beds: max_beds,
min_baths: min_baths,
max_baths: max_baths,
user_role: user_role,
agents: agents,
agencies: agencies,
featured_prop: featured_prop,
sort_by: sortby,
offset: offset,
post_status: post_status,
},
beforeSend: function (){
$this.find('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
$this.find('.houzez-loader-js').removeClass('loader-show');
loading=false;
},
success: function (data){
if(data.html=='no_result'){
$this
.closest('#properties_module_section')
.find('.fave-load-more')
.fadeOut('fast')
.remove();
return;
}
$wrap.append(data.html);
$this.data('paged', paged + 1);
$this.find('i').remove();
if(!data.has_more_posts){
$this
.closest('#properties_module_section')
.find('.fave-load-more')
.fadeOut('fast')
.remove();
}else if(paginationType==='infinite_scroll'){
observeLoadMoreButton();
}
houzez_init_add_favorite(ajaxurl, userID);
houzez_init_remove_favorite(ajaxurl, userID);
houzez_listing_lightbox(
ajaxurl,
processing_text,
houzez_rtl,
userID
);
houzez_grid_image_gallery();
houzez_grid_call_to_action();
houzez_lazyload_for_ajax();
compare_for_ajax();
$('[data-toggle="tooltip"]').tooltip();
},
error: function (jqXHR, textStatus, errorThrown){
console.error('AJAX error: ' + textStatus + ':' + errorThrown
);
loading=false;
},
});
}
function observeLoadMoreButton(){
if(observer){
observer.disconnect();
}
observer=new IntersectionObserver(
(entries)=> {
entries.forEach((entry)=> {
if(entry.isIntersecting&&!loading){
loadMoreProperties.call($('.fave-load-more a')[0]);
}});
},
{
root: null,
rootMargin: '0px',
threshold: 0.1,
}
);
var loadMoreButton=document.querySelector('.fave-load-more a');
if(loadMoreButton){
observer.observe(loadMoreButton);
}}
$('body').on('click', '.fave-load-more a', loadMoreProperties);
if(paginationType==='infinite_scroll'){
observeLoadMoreButton();
}}
jQuery(document).ready(function ($){
const $listingView=$('.listing-view');
const $loadMoreBtn=$('.houzez-infinite-load');
const $paginationContainer=$('#fave-pagination-loadmore');
let loading=false;
let currentPage=1;
let noMoreListings=false;
let totalListings=parseInt($loadMoreBtn.data('total'), 10)||0;
let perPage=parseInt($loadMoreBtn.data('per-page'), 10)||10;
let pagi_type=$loadMoreBtn.data('pagi-type')||'_number';
function loadMoreListings(){
if(loading||noMoreListings) return;
loading=true;
const nextPageUrl=$loadMoreBtn.attr('href');
$.ajax({
url: nextPageUrl,
type: 'GET',
dataType: 'html',
beforeSend: function (){
$loadMoreBtn
.find('.houzez-loader-js')
.addClass('loader-show');
},
complete: function (){
$loadMoreBtn
.find('.houzez-loader-js')
.removeClass('loader-show');
},
success: function (response){
const $html=$(response);
const $newListings=$html.find('.listing-view .item-listing-wrap'
);
if($newListings.length > 0){
$listingView.append($newListings);
currentPage++;
const nextPageLink=$html
.find('.houzez-infinite-load')
.attr('href');
if(nextPageLink &&
currentPage * perPage < totalListings
){
$loadMoreBtn.attr('href', nextPageLink);
$loadMoreBtn.attr('data-page', currentPage + 1);
updateBrowserUrl(nextPageUrl);
$loadMoreBtn.show();
}else{
noMoreListings=true;
showEndMessage();
$loadMoreBtn.hide();
}
houzez_init_add_favorite(ajaxurl, userID);
houzez_init_remove_favorite(ajaxurl, userID);
houzez_listing_lightbox(
ajaxurl,
processing_text,
houzez_rtl,
userID
);
houzez_grid_image_gallery();
houzez_grid_call_to_action();
houzez_lazyload_for_ajax();
compare_for_ajax();
houzez_parallax_listings();
$('[data-toggle="tooltip"]').tooltip();
}else{
noMoreListings=true;
showEndMessage();
$loadMoreBtn.hide();
}
loading=false;
},
error: function (xhr, status, error){
console.error('Error loading more listings:', error);
loading=false;
},
});
}
function updateBrowserUrl(url){
if(history.pushState){
const newUrl=new URL(url);
window.history.pushState({ path: newUrl.href },
'',
newUrl.href
);
}}
function showEndMessage(){
$paginationContainer.html('<p class="no-more-listings">' + listings_not_found + '</p>'
);
}
if(totalListings <=perPage){
$loadMoreBtn.hide();
}
if(pagi_type=='_infinite'&&$('#houzez-infinite-load').length > 0){
const options={
root: null,
rootMargin: '0px',
threshold: 0.1,
};
const observer=new IntersectionObserver((entries)=> {
entries.forEach((entry)=> {
if(entry.isIntersecting&&!loading&&!noMoreListings){
loadMoreListings();
}});
}, options);
observer.observe($loadMoreBtn[0]);
}
$loadMoreBtn.on('click', function (e){
e.preventDefault();
if(!loading&&!noMoreListings){
loadMoreListings();
}});
$(window).on('popstate', function (e){
if(e.originalEvent.state!==null){
window.location.reload();
}});
});
var property_status_changed=function (prop_status, $form){
if(prop_status==for_rent){
$form.find('.prices-for-all').addClass('hide');
$form.find('.prices-for-all select').attr('disabled', 'disabled');
$form.find('.prices-only-for-rent').removeClass('hide');
$form
.find('.prices-only-for-rent select')
.removeAttr('disabled', 'disabled');
$form.find('.prices-only-for-rent select').selectpicker('refresh');
}else{
$form.find('.prices-only-for-rent').addClass('hide');
$form
.find('.prices-only-for-rent select')
.attr('disabled', 'disabled');
$form.find('.prices-for-all').removeClass('hide');
$form
.find('.prices-for-all select')
.removeAttr('disabled', 'disabled');
$form.find('.prices-for-all select').selectpicker('refresh');
}};
$('.status-js').on('change', function (e){
var selected_status=$(this).val();
var $form=$(this).parents('form');
property_status_changed(selected_status, $form);
});
$('.status-tab-js').on('click', function (){
var tab_selected_status=$(this).data('val');
var $form=$(this).parents('form');
property_status_changed(tab_selected_status, $form);
});
var selected_status=$('.status-js').val();
if(selected_status==for_rent){
var $form=$('.houzez-search-form-js');
property_status_changed(selected_status, $form);
}else{
var $form=$('.houzez-search-form-js');
property_status_changed('dummy', $form);
}
var selected_status_tab=$('.status-tab-js').val();
if(selected_status_tab==for_rent){
var $tab_form=$('.houzez-search-builder-form-js');
property_status_changed(selected_status_tab, $tab_form);
}else{
var $tab_form=$('.houzez-search-builder-form-js');
property_status_changed(selected_status_tab, $tab_form);
}
var price_range_search=function (min_price, max_price){
$('.price-range').slider({
range: true,
min: min_price,
max: max_price,
values: [min_price, max_price],
slide: function (event, ui){
if(currency_position=='after'){
var min_price_range =
thousandSeparator(ui.values[0]) + currency_symb;
var max_price_range =
thousandSeparator(ui.values[1]) + currency_symb;
}else{
var min_price_range =
currency_symb + thousandSeparator(ui.values[0]);
var max_price_range =
currency_symb + thousandSeparator(ui.values[1]);
}
$('.min-price-range-hidden').val(ui.values[0]);
$('.max-price-range-hidden').val(ui.values[1]);
$('.min-price-range').text(min_price_range);
$('.max-price-range').text(max_price_range);
},
stop: function (event, ui){},
change: function (event, ui){},
});
if(currency_position=='after'){
var min_price_range =
thousandSeparator($('.price-range').slider('values', 0)) +
currency_symb;
var max_price_range =
thousandSeparator($('.price-range').slider('values', 1)) +
currency_symb;
}else{
var min_price_range =
currency_symb +
thousandSeparator($('.price-range').slider('values', 0));
var max_price_range =
currency_symb +
thousandSeparator($('.price-range').slider('values', 1));
}
$('.min-price-range').text(min_price_range);
$('.max-price-range').text(max_price_range);
$('.min-price-range-hidden').val($('.price-range').slider('values', 0));
$('.max-price-range-hidden').val($('.price-range').slider('values', 1));
};
if($('.price-range').length > 0&&is_halfmap!=1){
var selected_status_adv_search=$('.status-js').val();
if(selected_status_adv_search==for_rent_price_slider){
price_range_search(
search_price_range_min_rent,
search_price_range_max_rent
);
}else{
price_range_search(search_price_range_min, search_price_range_max);
}
$('.status-js').on('change', function (){
var search_status=$(this).val();
if(search_status==for_rent_price_slider){
price_range_search(
search_price_range_min_rent,
search_price_range_max_rent
);
}else{
price_range_search(
search_price_range_min,
search_price_range_max
);
}});
$('.status-tab-js').on('click', function (){
var tab_status=$(this).data('val');
if(tab_status==for_rent_price_slider){
price_range_search(
search_price_range_min_rent,
search_price_range_max_rent
);
}else{
price_range_search(
search_price_range_min,
search_price_range_max
);
}});
}
$('.houzez-status-tabs li a').on('click', function (e){
e.preventDefault();
var $this=$(this);
var status=$this.data('val');
$('#search-tabs').val(status);
var $form=$('.houzez-search-form-js');
property_status_changed(status, $form);
});
function insertParam(key, value){
key=encodeURI(key);
value=encodeURI(value);
var qrp=document.location.search.substr(1).split('&');
var i=qrp.length;
var j;
while (i--){
j=qrp[i].split('=');
if(j[0]==key){
j[1]=value;
qrp[i]=j.join('=');
break;
}}
if(i < 0){
qrp[qrp.length]=[key, value].join('=');
}
document.location.search=qrp.join('&');
}
$('#sort_properties').on('change', function (){
var key='sortby';
var value=$(this).val();
insertParam(key, value);
});
$('#insights_filter').on('change', function (){
var key='listing_id';
var value=$(this).val();
insertParam(key, value);
});
$('#houzez-gmap-full').on('click', function (){
var $this=$(this);
if($this.hasClass('active')){
$this.removeClass('active');
$this.parents('.map-wrap').removeClass('houzez-fullscreen-map');
}else{
$this.parents('.map-wrap').addClass('houzez-fullscreen-map');
$this.addClass('active');
}});
$('.houzez_agent_property_form').on('click', function (e){
e.preventDefault();
var $result;
var $this=$(this);
var $form=$this.parents('form');
var $form_wrap=$this.parents('.property-form-wrap');
$result=$form_wrap.find('.form_messages');
var $is_bottom=$('.is_bottom').val();
if($is_bottom=='bottom'){
$result=$form.find('.form_messages');
}
$result.empty();
$.ajax({
url: ajaxurl,
data: $form.serialize(),
method: $form.attr('method'),
dataType: 'JSON',
beforeSend: function (){
$this.find('.houzez-loader-js').addClass('loader-show');
},
success: function (response){
if(response.success){
$form
.find('input[name="name"], input[name="mobile"], input[name="email"]'
)
.val('');
$form.find('textarea').val('');
if($is_bottom=='bottom'){
$result
.empty()
.append('<div class="alert alert-success alert-dismissible fade show" role="alert">' +
response.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}else{
$result
.empty()
.append('<p class="success text-success"><i class="fa fa-check"></i> ' +
response.msg +
'</p>'
);
}}else{
if($is_bottom=='bottom'){
$result
.empty()
.append('<div class="alert alert-danger alert-dismissible fade show" role="alert">' +
response.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}else{
$result
.empty()
.append('<p class="error text-danger"><i class="fas fa-times"></i> ' +
response.msg +
'</p>'
);
}}
$this.find('.houzez-loader-js').removeClass('loader-show');
if(houzez_reCaptcha==1){
$form.find('.g-recaptcha-response').remove();
if(g_recaptha_version=='v3'){
houzezReCaptchaLoad();
}else{
houzezReCaptchaReset();
}}
if(houzez_vars.agent_redirection!=''&&response.success){
setTimeout(function (){
window.location.replace(houzez_vars.agent_redirection);
}, 500);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
complete: function (){
$this.find('.houzez-loader-js').removeClass('loader-show');
},
});
});
$('.msg-login-required').on('click', function (){
$('.modal-toggle-1').addClass('active');
jQuery('.login-form-tab').addClass('active show');
});
$('.houzez-send-message').on('click', function (e){
e.preventDefault();
var $result;
var $this=$(this);
var $form=$this.parents('form');
var $form_wrap=$this.parents('.property-form-wrap');
$result=$form_wrap.find('.form_messages');
var $is_bottom=$('.is_bottom').val();
if($is_bottom=='bottom'){
$result=$form.find('.form_messages');
}
$result.empty();
var property_id=$('input[name="listing_id"]').val();
var message=$form.find('.hz-form-message').val();
var security=$('input[name="property_agent_contact_security"]').val();
$.ajax({
url: ajaxurl,
data: {
action: 'houzez_start_thread',
property_id: property_id,
message: message,
start_thread_form_ajax: security,
},
method: $form.attr('method'),
dataType: 'JSON',
beforeSend: function (){
$this.find('.houzez-loader-js').addClass('loader-show');
},
success: function (response){
if(response.success){
$form
.find('input[name="name"], input[name="mobile"], input[name="email"]'
)
.val('');
$form.find('textarea').val('');
if($is_bottom=='bottom'){
$result
.empty()
.append('<div class="alert alert-success alert-dismissible fade show" role="alert">' +
response.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}else{
$result
.empty()
.append('<p class="success text-success"><i class="fa fa-check"></i> ' +
response.msg +
'</p>'
);
}}else{
if($is_bottom=='bottom'){
$result
.empty()
.append('<div class="alert alert-danger alert-dismissible fade show" role="alert">' +
response.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}else{
$result
.empty()
.append('<p class="error text-danger"><i class="fas fa-times"></i> ' +
response.msg +
'</p>'
);
}}
$this.find('.houzez-loader-js').removeClass('loader-show');
if(houzez_reCaptcha==1){
$form.find('.g-recaptcha-response').remove();
if(g_recaptha_version=='v3'){
houzezReCaptchaLoad();
}else{
houzezReCaptchaReset();
}}
if(houzez_vars.agent_redirection!=''){
setTimeout(function (){
window.location.replace(houzez_vars.agent_redirection);
}, 500);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
complete: function (){
$this.find('.houzez-loader-js').removeClass('loader-show');
},
});
});
$('.start_thread_message_form').on('click', function (e){
e.preventDefault();
var $this=$(this);
var $form=$this.parents('form');
var $result=$form.find('.form_messages');
$.ajax({
url: ajaxurl,
data: $form.serialize(),
method: $form.attr('method'),
dataType: 'JSON',
beforeSend: function (){
$this.find('.houzez-loader-js').addClass('loader-show');
},
success: function (response){
$this.find('.houzez-loader-js').removeClass('loader-show');
window.location.replace(response.url);
},
complete: function (){
$this.find('.houzez-loader-js').removeClass('loader-show');
},
});
});
$('#contact_realtor_btn').on('click', function (e){
e.preventDefault();
var current_element=$(this);
var $this=$(this);
var $form=$this.parents('form');
jQuery.ajax({
type: 'post',
url: ajaxurl,
data: $form.serialize(),
method: $form.attr('method'),
dataType: 'JSON',
beforeSend: function (){
$this.find('.houzez-loader-js').addClass('loader-show');
},
success: function (res){
if(res.success){
$('.form_messages')
.empty()
.append('<div class="alert alert-success alert-dismissible fade show" role="alert">' +
res.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}else{
$('.form_messages')
.empty()
.append('<div class="alert alert-danger alert-dismissible fade show" role="alert">' +
res.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}
$this.find('.houzez-loader-js').removeClass('loader-show');
if(houzez_reCaptcha==1){
$form.find('.g-recaptcha-response').remove();
if(g_recaptha_version=='v3'){
houzezReCaptchaLoad();
}else{
houzezReCaptchaReset();
}}
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
complete: function (){
$this.find('.houzez-loader-js').removeClass('loader-show');
},
});
});
if(keyword_autocomplete!=0){
var houzezAutoComplete=function (){
var ajaxCount=0;
var auto_complete_container=$('.auto-complete');
var lastLenght=0;
$('body').on('keyup',
'.houzez-keyword-autocomplete',
HouzezDebounce(function (){
var $this=$(this);
var $dataType=$this.data('type');
var $form=$this.parents('form');
if($dataType=='banner'){
var auto_complete_container=$(
'#houzez-auto-complete-banner'
);
}else{
var auto_complete_container =
$form.find('.auto-complete');
}
var keyword=$(this).val();
keyword=$.trim(keyword);
var currentLenght=keyword.length;
if(currentLenght >=2&&currentLenght!=lastLenght){
lastLenght=currentLenght;
auto_complete_container.fadeIn();
$.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'houzez_get_auto_complete_search',
key: keyword,
},
beforeSend: function (){
ajaxCount++;
if(ajaxCount==1){
auto_complete_container.html('<ul class="list-group"><li class="list-group-item"><i class="fa fa-spinner fa-spin fa-fw"></i> ' +
autosearch_text +
'</li></ul>'
);
}},
success: function (data){
ajaxCount--;
if(ajaxCount==0){
auto_complete_container.show();
if(data!=''){
auto_complete_container
.empty()
.html(data)
.bind();
}}
},
error: function (errorThrown){
ajaxCount--;
if(ajaxCount==0){
auto_complete_container.html('<ul class="list-group"><li class="list-group-item"><i class="fa fa-spinner fa-spin fa-fw"></i> ' +
autosearch_text +
'</li></ul>'
);
}},
});
}else{
if(currentLenght!=lastLenght){
auto_complete_container.fadeOut();
}}
}, 400)
);
auto_complete_container
.on('click', 'li', function (){
$('.houzez-keyword-autocomplete').val($(this).data('text'));
auto_complete_container.fadeOut();
})
.bind();
};
houzezAutoComplete();
}
$('.save_search_click').on('click', function (e){
e.preventDefault();
var $this=$(this);
var search_args=$('input[name="search_args"]').val();
var security=$('input[name="houzez_save_search_ajax"]').val();
var search_URI=$('input[name="search_URI"]').val();
if(parseInt(userID, 10)===0){
houzez_login_modal();
}else{
$.ajax({
url: ajaxurl,
data: {
action: 'houzez_save_search',
search_args: search_args,
search_URI: search_URI,
houzez_save_search_ajax: security,
},
method: 'POST',
dataType: 'JSON',
beforeSend: function (){
$this.find('.houzez-loader-js').addClass('loader-show');
},
success: function (response){
if(response.success){
$('.save_search_click').attr('disabled', true);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
complete: function (){
$this.find('.houzez-loader-js').removeClass('loader-show');
},
});
}});
$('.schedule_contact_form').on('click', function (e){
e.preventDefault();
var $this=$(this);
var $form=$this.parents('form');
var $result=$form.find('.form_messages');
$.ajax({
url: ajaxurl,
data: $form.serialize(),
method: $form.attr('method'),
dataType: 'JSON',
beforeSend: function (){
$this.find('.houzez-loader-js').addClass('loader-show');
},
success: function (response){
if(response.success){
$form
.find('input[name="name"], input[name="phone"], input[name="email"]'
)
.val('');
$form.find('textarea').val('');
$result
.empty()
.append('<div class="alert alert-success alert-dismissible fade show" role="alert">' +
response.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
if(typeof response.redirect_to!=='undefined' &&
response.redirect_to!=''
){
setTimeout(function (){
window.location.replace(response.redirect_to);
}, 500);
}}else{
$result
.empty()
.append('<div class="alert alert-danger alert-dismissible fade show" role="alert">' +
response.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
complete: function (){
$this.find('.houzez-loader-js').removeClass('loader-show');
},
});
});
function setAutoCompleteResultPosition(){
var parallax_banner_inner_height=$('.top-banner-wrap').innerHeight();
var banner_caption_inner_height=$('.banner-caption').innerHeight();
var autocomplete_search_position =
parallax_banner_inner_height -
(parallax_banner_inner_height - banner_caption_inner_height) / 2;
$('#houzez-auto-complete-banner').css('top',
autocomplete_search_position
);
}
$('.houzez-nav-menu-main-mobile-wrap .houzez-menu-toggle').click(function (
e
){
$(
'.houzez-nav-menu-main-mobile-wrap .navbar-nav, .houzez-nav-menu-main-mobile-wrap .houzez-menu-toggle'
).toggleClass('houzez-nav-menu-active');
});
$(window).on('load', function (){
setAutoCompleteResultPosition();
});
$win.on('resize', function (){
setAutoCompleteResultPosition();
});
if($('.houzez-print').length > 0){
$('.houzez-print').on('click', function (e){
e.preventDefault();
var propID, printWindow;
propID=$(this).attr('data-propid');
printWindow=window.open('', 'Print Me', 'width=800 ,height=842');
$.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'houzez_create_print',
propid: propID,
},
success: function (data){
printWindow.document.write(data);
printWindow.document.close();
printWindow.focus();
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
});
}
var review_likes=function (){
$('.hz-like-dislike-js').on('click', function (e){
e.preventDefault();
var $this=jQuery(this);
var $parent=$this.parents('.likes-container-js');
if($this.hasClass('already-voted')){
$parent.find('.vote-msg').text($this.data('msg')).show();
var hideMessage=function (){
$parent.find('.vote-msg').hide();
};
setTimeout(hideMessage, 3000);
}else{
var review_id=$this.data('id');
var type=$this.data('type');
$.ajax({
type: 'post',
url: ajaxurl,
dataType: 'JSON',
data: {
action: 'reviews_likes_dislikes',
type: type,
review_id: review_id,
},
beforeSend: function (){
$parent.find('.vote-msg').empty();
$parent
.find('.houzez-loader-js')
.addClass('loader-show');
if(type=='likes'){
$('.review-dislike-button a').removeClass('already-voted'
);
}else if(type=='dislikes'){
$('.review-like-button a').removeClass('already-voted'
);
}},
success: function (res){
if(res.success){
$parent.find('.likes-count').text(res.likes);
$parent.find('.dislikes-count').text(res.dislikes);
$parent.find('.vote-msg').text(res.msg).show();
}else{
$parent.find('.vote-msg').text(res.msg).show();
}
var hideMessage=function (){
$parent.find('.vote-msg').hide();
};
setTimeout(hideMessage, 3000);
$this.addClass('already-voted');
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
complete: function (){
$parent
.find('.houzez-loader-js')
.removeClass('loader-show');
},
});
}});
};
review_likes();
$('#submit-review').on('click', function (e){
e.preventDefault();
var $this=$(this);
var $form=$this.parents('form');
var $result=$form.find('.form_messages');
$.ajax({
url: ajaxurl,
data: $form.serialize(),
method: $form.attr('method'),
dataType: 'JSON',
beforeSend: function (){
$this.find('.houzez-loader-js').addClass('loader-show');
},
success: function (response){
if(response.success){
$result
.empty()
.append('<div class="alert alert-success alert-dismissible fade show" role="alert">' +
response.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
window.location.replace(response.review_link);
}else{
$result
.empty()
.append('<div class="alert alert-danger alert-dismissible fade show" role="alert">' +
response.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
complete: function (){
$this.find('.houzez-loader-js').removeClass('loader-show');
},
});
});
var listing_review_ajax=function (sortby, listing_id, paged){
var review_container=$('#houzez_reviews_container');
var review_post_type=$('input[name="review_post_type"]').val();
$.ajax({
type: 'post',
url: ajaxurl,
data: {
action: 'houzez_ajax_review',
sortby: sortby,
listing_id: listing_id,
review_post_type: review_post_type,
paged: paged,
},
beforeSend: function (){
review_container
.empty()
.append('' +
'<div id="houzez-map-loading">' +
'<div class="mapPlaceholder">' +
'<div class="loader-ripple spinner">' +
'<div class="bounce1"></div>' +
'<div class="bounce2"></div>' +
'<div class="bounce3"></div>' +
'</div>' +
'</div>' +
'</div>'
);
$('html, body').animate({
scrollTop: $('#property-review-wrap').offset().top - 50,
},
'slow'
);
},
success: function (data){
review_container.empty();
review_container.html(data);
review_likes();
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
complete: function (){},
});
};
if($('#sort_review').length > 0){
$('#sort_review').on('change', function (){
var sortby=$(this).val();
var listing_id=$('input[name="listing_id"]').val();
var paged=1;
$('#review_paged').val(paged);
$('#review_prev').attr('disabled', true);
$('#review_next').attr('disabled', false);
listing_review_ajax(sortby, listing_id, paged);
return;
});
}
if($('#review_next').length > 0){
$('#review_next').on('click', function (e){
e.preventDefault();
$('#review_prev').removeAttr('disabled');
var sortby=$('#sort_review').val();
var total_pages=$('#total_pages').val();
var listing_id=$('input[name="listing_id"]').val();
var paged=$('#review_paged').val();
paged=Number(paged) + 1;
$('#review_paged').val(paged);
if(paged==total_pages){
$(this).attr('disabled', true);
}
listing_review_ajax(sortby, listing_id, paged);
return;
});
}
if($('#review_prev').length > 0){
$('#review_prev').on('click', function (e){
e.preventDefault();
$('#review_next').removeAttr('disabled');
var sortby=$('#sort_review').val();
var listing_id=$('input[name="listing_id"]').val();
var paged=$('#review_paged').val();
paged=Number(paged) - 1;
$('#review_paged').val(paged);
if(paged <=1){
$(this).attr('disabled', true);
}
listing_review_ajax(sortby, listing_id, paged);
return;
});
}
function houzezSelectFilter(
$this,
$dataRef,
$list_num='',
is_on_load=''
){
var e=$this.data('target'),
i=$this.find(':selected').data('ref');
if(is_on_load=='yes'){
e=$list_num;
i=$dataRef;
}
$('select.' + e).val(''),
null==i
? $('select.' + e)
.find('option')
.each(function (){
console.log('inside undefined'),
$(this).removeAttr('disabled hidden');
})
: $('select.' + e)
.find('option')
.each(function (){
var e=$(this).data('belong'),
t=$(this).val();
i!=e&&t!=''
? ($(this).prop('disabled', !0),
$(this).prop('hidden', !0))
: ($(this).prop('disabled', !1),
$(this).prop('hidden', !1));
});
$('select.' + e).selectpicker('refresh');
}
$('.houzezSelectFilter').on('change', function (){
var $this=$(this);
houzezSelectFilter($this);
});
if($('.houzez-search-form-js').length > 0||$('#location').length > 0){
var countryRef, stateRef, cityRef, areasRef;
if(is_edit_property){
countryRef=$('#country').data('country');
stateRef=$('#countyState').data('state');
cityRef=$('#city').data('city');
areasRef=$('#neighborhood').data('area');
}else{
countryRef=houzez_vars.s_country;
stateRef=houzez_vars.s_state;
cityRef=houzez_vars.s_city;
areasRef=houzez_vars.s_areas;
}
if(($('.houzez-country-js').length > 0||$('#country').length > 0) &&
countryRef!=''
){
var countryFilter=$('.houzezCountryFilter');
houzezSelectFilter(
countryFilter,
countryRef,
'houzezSecondList',
'yes'
);
$(window).load(function (){
$('.houzezSecondList').val(stateRef);
$('select.houzezSecondList').selectpicker('refresh');
});
}
if(($('.houzez-state-js').length > 0 ||
$('#countyState').length > 0) &&
stateRef!=''
){
var stateFilter=$('.houzezStateFilter');
houzezSelectFilter(stateFilter, stateRef, 'houzezThirdList', 'yes');
$(window).load(function (){
$('.houzezThirdList').val(cityRef);
$('select.houzezThirdList').selectpicker('refresh');
});
}
if(($('.houzez-city-js').length > 0||$('#city').length > 0) &&
cityRef!=''
){
var cityFilter=$('.houzezCityFilter');
houzezSelectFilter(cityFilter, cityRef, 'houzezFourthList', 'yes');
$(window).load(function (){
$('.houzezFourthList').val(areasRef);
$('select.houzezFourthList').selectpicker('refresh');
});
}}
if($('#houzez_mortgage_calculate').length > 0){
$('#houzez_mortgage_calculate').click(function (e){
e.preventDefault();
var monthly_payment=houzez_vars.monthly_payment;
var weekly_payment=houzez_vars.weekly_payment;
var bi_weekly_payment=houzez_vars.bi_weekly_payment;
var currency_symb=houzez_vars.currency_symbol;
var totalPrice=0;
var down_payment=0;
var term_years=0;
var interest_rate=0;
var amount_financed=0;
var monthInterest=0;
var intVal=0;
var mortgage_pay=0;
var annualCost=0;
var payment_period;
var mortgage_pay_text;
var total_years=$('#mc_term_years').val();
payment_period=$('#mc_payment_period').val();
totalPrice=$('#mc_total_amount').val().replace(/,/g, '');
down_payment=$('#mc_down_payment').val().replace(/,/g, '');
amount_financed=totalPrice - down_payment;
term_years =
parseInt($('#mc_term_years').val(), 10) * payment_period;
interest_rate=parseFloat($('#mc_interest_rate').val(), 10);
monthInterest=interest_rate / (payment_period * 100);
intVal=Math.pow(1 + monthInterest, -term_years);
mortgage_pay=amount_financed * (monthInterest / (1 - intVal));
annualCost=mortgage_pay * payment_period;
if($('#mc_term_years').val()=='' ||
$('#mc_total_amount')=='' ||
$('#mc_down_payment')=='' ||
$('#mc_interest_rate')==''
){
return;
}
var total_mortgage_with_interest =
mortgage_pay * total_years * payment_period;
var total_with_down_payment =
total_mortgage_with_interest + parseInt(down_payment);
if(payment_period=='12'){
mortgage_pay_text=monthly_payment;
}else if(payment_period=='26'){
mortgage_pay_text=bi_weekly_payment;
}else if(payment_period=='52'){
mortgage_pay_text=weekly_payment;
}
if(currency_position=='after'){
$('#mortgage_mwbi').html('<strong>' +
mortgage_pay_text +
'</strong>: <span>' +
Math.round(mortgage_pay * 100) / 100 +
currency_symb +
'</span>'
);
$('#amount_financed').html(Math.round(amount_financed * 100) / 100 + currency_symb
);
$('#mortgage_pay').html(Math.round(mortgage_pay * 100) / 100 + currency_symb
);
$('#annual_cost').html(Math.round(annualCost * 100) / 100 + currency_symb
);
$('#balance_payable_with_interest').html(Math.round(total_mortgage_with_interest * 100) / 100 +
currency_symb
);
$('#total_with_down_payment').html(Math.round(total_with_down_payment * 100) / 100 +
currency_symb
);
}else{
$('#mortgage_mwbi').html('<strong>' +
mortgage_pay_text +
'</strong>: <span>' +
currency_symb +
Math.round(mortgage_pay * 100) / 100 +
'</span>'
);
$('#amount_financed').html(currency_symb + Math.round(amount_financed * 100) / 100
);
$('#mortgage_pay').html(currency_symb + Math.round(mortgage_pay * 100) / 100
);
$('#annual_cost').html(currency_symb + Math.round(annualCost * 100) / 100
);
$('#balance_payable_with_interest').html(currency_symb +
Math.round(total_mortgage_with_interest * 100) / 100
);
$('#total_with_down_payment').html(currency_symb +
Math.round(total_with_down_payment * 100) / 100
);
}
$('#cal_years').html(total_years);
$('.mortgage-details').show();
});
}
var beds_baths=function (btn_action, btn_count, btn_val){
$('.' + btn_action).on('click', function (e){
e.preventDefault();
var current_val=parseInt($('.' + btn_val).val())||0;
if(btn_action=='btn_count_plus' ||
btn_action=='btn_beds_plus'
){
current_val++;
}else{
if(current_val==0) return;
current_val--;
}
$('.' + btn_count).text(current_val);
$('.' + btn_val).val(current_val);
});
};
beds_baths('btn_count_plus', 'baths_count', 'bathrooms');
beds_baths('btn_count_minus', 'baths_count', 'bathrooms');
beds_baths('btn_beds_plus', 'beds_count', 'bedrooms');
beds_baths('btn_beds_minus', 'beds_count', 'bedrooms');
$('.btn-apply').on('click', function (e){
e.preventDefault();
$('.advanced-search-v3 .btn-group .dropdown-menu').removeClass('show');
});
$('.clear-baths').on('click', function (e){
e.preventDefault();
$('.baths_count').text('0');
$('.bathrooms').val('');
});
$('.clear-beds').on('click', function (e){
e.preventDefault();
$('.beds_count').text('0');
$('.bedrooms').val('');
});
$('.clear-checkboxes').on('click', function (e){
e.preventDefault();
$(this)
.parents('.btn-group')
.find('input[type="checkbox"]')
.prop('checked', false)
.attr('checked', false);
});
$('.method-select input').on('change', function (){
if($(this).is(':checked')){
$('.recurring-payment-wrap').slideUp();
$(this)
.parents('.payment-method-block')
.next('.recurring-payment-wrap')
.slideDown();
}else{
$('.recurring-payment-wrap').slideUp();
}});
function paypal_option(ele){
if($(ele).attr('checked')){
$(ele)
.parents('.payment-method-block')
.next('.recurring-payment-wrap')
.slideDown();
}else{
$(ele)
.parents('.payment-method-block')
.next('.recurring-payment-wrap')
.slideUp();
}}
paypal_option('.paypal-method');
paypal_option('.stripe-method');
$('button.stripe-button-el span').prepend('<i class="fa fa-credit-card"></i>'
);
$('#stripe_package_recurring').click(function (){
if($(this).attr('checked')){
$('.houzez_payment_form').append('<input type="hidden" name="houzez_stripe_recurring" id="houzez_stripe_recurring" value="1">'
);
}else{
$('#houzez_stripe_recurring').remove();
}});
$('.prop_featured').on('change', function (){
var currency_symbol=houzez_vars.currency_symbol;
var currency_position=houzez_vars.currency_position;
var total_price, total_price_with_currency, price_regular_with_currency;
var price_regular=parseFloat($('#submission_price').text());
var price_featured=parseFloat($('#submission_featured_price').text());
total_price=price_regular + price_featured;
if(currency_position==='after'){
price_regular_with_currency=price_regular + '' + currency_symbol;
total_price_with_currency=total_price + '' + currency_symbol;
}else{
price_regular_with_currency=currency_symbol + '' + price_regular;
total_price_with_currency=currency_symbol + '' + total_price;
}
if($(this).is(':checked')){
$('#submission_total_price').text(total_price_with_currency);
$('#featured_pay').val(1);
$('input[name="pay_ammout"]').val(total_price * 100);
$('#houzez_listing_price').val(total_price);
}else{
$('#submission_total_price').text(price_regular_with_currency);
$('#featured_pay').val(0);
$('input[name="pay_ammout"]').val(price_regular * 100);
$('#houzez_listing_price').val(price_regular);
}
return false;
});
$('#houzez_complete_order').on('click', function (e){
e.preventDefault();
var hform,
relist_mode,
payment_gateway,
houzez_listing_price,
property_id,
is_prop_featured,
is_prop_upgrade;
payment_gateway=$("input[name='houzez_payment_type']:checked").val();
is_prop_featured=$("input[name='featured_pay']").val();
is_prop_upgrade=$("input[name='is_upgrade']").val();
relist_mode=$("input[name='relist_mode']").val();
property_id=$('#houzez_property_id').val();
houzez_listing_price=$('#houzez_listing_price').val();
if(payment_gateway=='paypal'){
fave_processing_modal(paypal_connecting);
paypal_per_listing_payment(
property_id,
is_prop_featured,
is_prop_upgrade,
relist_mode
);
}else if(payment_gateway=='stripe'){
fave_processing_modal(processing_text);
stripe_per_listing_payment(
property_id,
is_prop_featured,
is_prop_upgrade,
relist_mode
);
}else if(payment_gateway=='direct_pay'){
fave_processing_modal(processing_text);
bank_transfer_per_listing(property_id, houzez_listing_price);
}
return;
});
var paypal_per_listing_payment=function (
property_id,
is_prop_featured,
is_prop_upgrade,
relist_mode
){
$.ajax({
type: 'post',
url: ajaxurl,
data: {
action: 'houzez_property_paypal_payment',
prop_id: property_id,
is_prop_featured: is_prop_featured,
is_prop_upgrade: is_prop_upgrade,
relist_mode: relist_mode,
},
success: function (response){
window.location.href=response;
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
var stripe_per_listing_payment=function (
property_id,
is_prop_featured,
is_prop_upgrade,
relist_mode
){
$.ajax({
type: 'post',
url: ajaxurl,
dataType: 'JSON',
data: {
action: 'houzez_property_stripe_payment',
prop_id: property_id,
is_prop_featured: is_prop_featured,
is_prop_upgrade: is_prop_upgrade,
relist_mode: relist_mode,
},
success: function (response){
if(response.status){
window.location.href=response.paymeny_link;
}else{
alert(response.message);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
var bank_transfer_per_listing=function (prop_id, listing_price){
var is_featured=$('input[name="featured_pay"]').val();
var is_upgrade=$('input[name="is_upgrade"]').val();
jQuery.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'houzez_direct_pay_per_listing',
prop_id: prop_id,
is_featured: is_featured,
is_upgrade: is_upgrade,
},
success: function (data){
window.location.href=data;
},
error: function (errorThrown){},
});
};
var houzez_stripe_package_payment=function (
houzez_package_id,
is_stripe_recurring
){
$.ajax({
type: 'POST',
url: ajaxurl,
dataType: 'JSON',
data: {
action: 'houzez_stripe_package_payment',
package_id: houzez_package_id,
is_stripe_recurring: is_stripe_recurring,
},
success: function (response){
if(response.status){
window.location.href=response.paymeny_link;
}else{
alert(response.message);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
var houzez_paypal_package_payment=function (
houzez_package_price,
houzez_package_name,
houzez_package_id
){
$.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'houzez_paypal_package_payment',
houzez_package_price: houzez_package_price,
houzez_package_name: houzez_package_name,
houzez_package_id: houzez_package_id,
},
success: function (data){
window.location.href=data;
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
var houzez_recuring_paypal_package_payment=function (
houzez_package_price,
houzez_package_name,
houzez_package_id
){
jQuery.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'houzez_recuring_paypal_package_payment',
houzez_package_name: houzez_package_name,
houzez_package_id: houzez_package_id,
houzez_package_price: houzez_package_price,
},
success: function (data){
window.location.href=data;
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
var direct_bank_transfer_package=function (
houzez_package_id,
houzez_package_price,
houzez_package_name
){
jQuery.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'houzez_direct_pay_package',
selected_package: houzez_package_id,
},
success: function (data){
window.location.href=data;
},
error: function (errorThrown){},
});
};
var houzez_free_membership_package=function (houzez_package_id){
jQuery.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'houzez_free_membership_package',
selected_package: houzez_package_id,
},
success: function (data){
window.location.href=data;
},
error: function (errorThrown){},
});
};
var houzez_membership_data=function (currnt){
var payment_gateway=$(
"input[name='houzez_payment_type']:checked"
).val();
var houzez_package_price=$(
"input[name='houzez_package_price']"
).val();
var houzez_package_id=$("input[name='houzez_package_id']").val();
var houzez_package_name=$('#houzez_package_name').text();
if(payment_gateway=='paypal'){
fave_processing_modal(paypal_connecting);
if($('#paypal_package_recurring').is(':checked')){
houzez_recuring_paypal_package_payment(
houzez_package_price,
houzez_package_name,
houzez_package_id
);
}else{
houzez_paypal_package_payment(
houzez_package_price,
houzez_package_name,
houzez_package_id
);
}}else if(payment_gateway=='stripe'){
fave_processing_modal(processing_text);
var is_stripe_recurring=$('#houzez_stripe_recurring').is(':checked'
);
houzez_stripe_package_payment(
houzez_package_id,
is_stripe_recurring
);
}else if(payment_gateway=='direct_pay'){
fave_processing_modal(processing_text);
direct_bank_transfer_package(
houzez_package_id,
houzez_package_price,
houzez_package_name
);
}else{
fave_processing_modal(processing_text);
houzez_free_membership_package(houzez_package_id);
}
return false;
};
var houzez_register_user_with_membership=function (currnt){
var $form=currnt.parents('form');
var $messages=$('#packmem-msgs');
$.ajax({
type: 'post',
url: ajaxurl,
dataType: 'json',
data: $form.serialize(),
beforeSend: function (){
currnt.find('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
currnt.find('.houzez-loader-js').removeClass('loader-show');
},
success: function (response){
if(response.success){
houzez_membership_data(currnt);
}else{
$('html, body').animate({
scrollTop: $('.frontend-submission-page').offset()
.top,
},
'slow'
);
$messages
.empty()
.append('<div class="alert alert-danger alert-dismissible fade show" role="alert">' +
response.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
$('#houzez_complete_membership').on('click', function (e){
e.preventDefault();
var currnt=$(this);
if(parseInt(userID, 10)===0||userID==undefined){
houzez_register_user_with_membership(currnt);
return;
}
houzez_membership_data(currnt);
});
var areaSwitcherList=$('#area-switcher-list-js');
if(areaSwitcherList.length > 0){
$('#area-switcher-list-js > li').on('click', function (e){
var selectedAreaCode=$(this).data('area-code');
if(selectedAreaCode){
$('#houzez-switch-to-area').val(selectedAreaCode);
var houzez_switch_to_area=$('#houzez-switch-to-area').val();
fave_processing_modal(processing_text);
$.ajax({
url: ajaxurl,
dataType: 'JSON',
method: 'POST',
data: {
action: 'houzez_switch_area',
switch_to_area: houzez_switch_to_area,
},
success: function (res){
if(res.success){
window.location.reload(true);
}else{
console.log(res);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
}});
}
var currencySwitcherList=$('#hz-currency-switcher-list');
if(currencySwitcherList.length > 0){
$('#hz-currency-switcher-list > li').on('click', function (e){
var selectedCurrencyCode=$(this).data('currency-code');
if(selectedCurrencyCode){
$('#houzez-switch-to-currency').val(selectedCurrencyCode);
var houzez_switch_to_currency=$(
'#houzez-switch-to-currency'
).val();
fave_processing_modal(processing_text);
$.ajax({
url: ajaxurl,
dataType: 'JSON',
method: 'POST',
data: {
action: 'houzez_currency_converter',
currency_converter: selectedCurrencyCode,
},
success: function (res){
if(res.success){
window.location.reload(true);
}else{
console.log(res);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
}});
}
$('[data-toggle="tooltip"]').tooltip();
$('.advanced-search-dropdown').on('click', function (e){
e.stopPropagation();
});
$('.agent-show-onClick').on('click', function (e){
$(this).toggleClass('agent-phone-hidden');
});
$('.dropdown-menu span.dropdown-toggle').on('click', function (e){
if(!$(this).next().hasClass('show')){
$(this)
.parents('.dropdown-menu')
.first()
.find('.show')
.removeClass('show');
}
var $subMenu=$(this).next('.dropdown-menu');
$subMenu.toggleClass('show');
$(this)
.parents('li.nav-item.dropdown.show')
.on('hidden.bs.dropdown', function (e){
$('.dropdown-submenu .show').removeClass('show');
});
return false;
});
$.fn.nodoubletapzoom=function (){
$(this).bind('touchstart', function preventZoom(e){
var t2=e.timeStamp,
t1=$(this).data('lastTouch')||t2,
dt=t2 - t1,
fingers=e.originalEvent.touches.length;
$(this).data('lastTouch', t2);
if(!dt||dt > 500||fingers > 1) return;
e.preventDefault();
$(this).trigger('click').trigger('click');
});
};
if($('.nav-mobile-js').length > 0){
var smm_transform=256;
if(houzez_rtl){
smm_transform=-256;
}
var slideout_left=new Slideout({
panel: document.getElementById('main-wrap'),
menu: document.getElementById('nav-mobile'),
padding: smm_transform,
tolerance: 70,
side: 'left',
easing: 'cubic-bezier(.32,2,.55,.27)',
});
slideout_left.disableTouch();
}
if($('.main-wrap-js').length > 0&&$('#navi-user').length > 0){
var smd_transform=256;
if(houzez_rtl){
smd_transform=-256;
}
var slideout_right=new Slideout({
panel: document.getElementById('main-wrap'),
menu: document.getElementById('navi-user'),
padding: smd_transform,
tolerance: 70,
side: 'right',
easing: 'cubic-bezier(.32,2,.55,.27)',
});
slideout_right.disableTouch();
}
$('.toggle-button-left, #nav-mobile .nav-link:not(.dropdown-toggle)').on('click',
function (){
slideout_left.toggle();
$('.slideout-menu-left').toggleClass('open');
}
);
$('.toggle-button-right').on('click', function (){
slideout_right.toggle();
$('.slideout-menu-right').toggleClass('open');
});
$(document).on('mouseup', function (e){
var mobileNavcontainer=$('.nav-mobile');
var toggleBtnCloseW=$('.toggle-button-left');
var mobileMenuDiv=$('#nav-mobile');
var toggleBtnCloseL=$('.toggle-button-right');
var mobileMenuDivL=$('#navi-user');
if(!mobileNavcontainer.is(e.target) &&
mobileNavcontainer.has(e.target).length===0 &&
mobileMenuDiv.hasClass('open') &&
!toggleBtnCloseW.is(e.target) &&
toggleBtnCloseW.has(e.target).length===0
){
slideout_left.toggle();
$('.slideout-menu-left').toggleClass('open');
}
if(!mobileNavcontainer.is(e.target) &&
mobileNavcontainer.has(e.target).length===0 &&
mobileMenuDivL.hasClass('open') &&
!toggleBtnCloseL.is(e.target) &&
toggleBtnCloseL.has(e.target).length===0
){
slideout_right.toggle();
$('.slideout-menu-right').toggleClass('open');
}});
$(function (){
if($('.distance-range').length > 0){
$('.distance-range').slider();
}});
function houzez_parallax_listings(){
var header_parallax=$('.parallax');
if(header_parallax.length > 0){
header_parallax.parallaxBackground({
parallaxBgPosition: 'center center',
parallaxBgRepeat: 'no-repeat',
parallaxBgSize: 'cover',
parallaxSpeed: '0.25',
});
}}
houzez_parallax_listings();
$(document).ready(function (){
$('.mobile-search-nav').click(function (){
$('#overlay-search-advanced-module').toggleClass('open');
});
});
$(document).ready(function (){
$(
'.overlay-search-module-close, .overly_is_halfmap .half-map-search-js-btn'
).click(function (){
$('#overlay-search-advanced-module').toggleClass('open');
});
});
function setSectionHeight(){
var window_height=$(window).innerHeight();
var sections_height=window_height - header_area_height;
sections_height=sections_height - advanced_search_nav_height;
sections_height=sections_height - elementor_location_header_height;
if($(window).width() >=767){
$('.half-map-left-wrap, .half-map-right-wrap').css('height',
sections_height
);
}else{
$('.map-on-right .half-map-right-wrap').css('height',
sections_height
);
$('.map-on-right .half-map-left-wrap').css('height', '100vh');
$('.map-on-left .half-map-right-wrap').css('height',
sections_height
);
$('.map-on-left .half-map-left-wrap').css('height', '100vh');
}}
setSectionHeight();
$win.on('resize', function (){
setSectionHeight();
});
$('.switch-btn').on('click', function (){
$('.switch-btn').removeClass('active');
$(this).addClass('active');
if($(this).hasClass('btn-list')){
$('.listing-view').removeClass('grid-view').addClass('list-view');
}else if($(this).hasClass('btn-grid')){
$('.listing-view').removeClass('list-view').addClass('grid-view');
}});
$(document).ready(function (){
$('.show-compare-panel').click(function (){
$(this).toggleClass('active');
$('.compare-property-active').addClass('compare-property-active-push-toleft'
);
$('#compare-property-panel').addClass('compare-property-panel-open'
);
});
$('.close-compare-panel').click(function (){
$(this).toggleClass('active');
$('.compare-property-active').removeClass('compare-property-active-push-toleft'
);
$('#compare-property-panel').removeClass('compare-property-panel-open'
);
});
});
var property_banner_slider=$('.property-slider');
if(property_banner_slider.length > 0){
var autoplay=property_banner_slider.data('autoplay');
var slider_loop=property_banner_slider.data('loop');
var slider_speed=property_banner_slider.data('speed');
var s_loop=false;
if(slider_loop==1){
s_loop=true;
}
property_banner_slider.slick({
rtl: houzez_rtl,
autoplay: autoplay,
autoplaySpeed: slider_speed,
lazyLoad: 'ondemand',
infinite: s_loop,
speed: 300,
slidesToShow: 1,
arrows: true,
adaptiveHeight: true,
});
}
$(window).on('load', function (){
var property_detail_gallery=$('#property-gallery-js');
if(property_detail_gallery.length > 0){
property_detail_gallery.lightSlider({
rtl: houzez_rtl,
gallery: true,
item: 1,
thumbItem: 8,
slideMargin: 0,
speed: 500,
adaptiveHeight: true,
auto: false,
loop: false,
prevHtml:
'<button type="button" class="slick-prev slick-arrow"></button>',
nextHtml:
'<button type="button" class="slick-next slick-arrow"></button>',
onSliderLoad: function (){
property_detail_gallery.removeClass('cS-hidden');
property_detail_gallery.refresh();
},
});
}});
var lightbox_slider_js=$('#lightbox-slider-js');
if(lightbox_slider_js.length > 0){
lightbox_slider_js.slick({
rtl: houzez_rtl,
lazyLoad: 'ondemand',
infinite: true,
speed: 300,
slidesToShow: 1,
arrows: true,
adaptiveHeight: true,
});
$('.houzez-trigger-popup-slider-js').on('click', function (e){
e.preventDefault();
var slider_num=parseInt($(this).data('slider-no'));
setTimeout(function (){
lightbox_slider_js.slick('slickGoTo', slider_num - 1);
}, 200);
});
}
var listing_slider_variable_width=$('.listing-slider-variable-width');
if(listing_slider_variable_width.length > 0){
listing_slider_variable_width.slick({
rtl: houzez_rtl,
lazyLoad: 'ondemand',
infinite: true,
speed: 300,
slidesToShow: 1,
centerMode: true,
variableWidth: true,
arrows: true,
adaptiveHeight: true,
});
$('.property-detail-v5 #pills-gallery-tab').on('click', function (){
if(!listing_slider_variable_width.hasClass('hz-slick-refreshed')){
setTimeout(function (){
listing_slider_variable_width.slick('setPosition');
listing_slider_variable_width.slick('refresh');
listing_slider_variable_width.addClass('hz-slick-refreshed'
);
}, 0);
}});
}
var testimonials_slider_v1=$('.testimonials-slider-wrap-v1');
if(testimonials_slider_v1.length > 0){
testimonials_slider_v1.slick({
rtl: houzez_rtl,
lazyLoad: 'ondemand',
infinite: true,
autoplay: true,
speed: 300,
slidesToShow: 1,
arrows: true,
adaptiveHeight: true,
dots: true,
appendArrows: '.testimonials-module-slider-v1',
prevArrow:
'<button type="button" class="slick-prev btn-primary-outlined">' +
prev_text +
'</button>',
nextArrow:
'<button type="button" class="slick-next btn-primary-outlined">' +
next_text +
'</button>',
});
}
var testimonials_slider_v2=$('.testimonials-slider-wrap-v2');
if(testimonials_slider_v2.length > 0){
testimonials_slider_v2.slick({
rtl: houzez_rtl,
lazyLoad: 'ondemand',
infinite: true,
autoplay: true,
speed: 300,
slidesToShow: 3,
arrows: true,
adaptiveHeight: true,
dots: true,
appendArrows: '.testimonials-module-slider-v2',
prevArrow:
'<button type="button" class="slick-prev btn-primary-outlined">' +
prev_text +
'</button>',
nextArrow:
'<button type="button" class="slick-next btn-primary-outlined">' +
next_text +
'</button>',
responsive: [
{
breakpoint: 992,
settings: {
slidesToShow: 2,
slidesToScroll: 2,
},
},
{
breakpoint: 769,
settings: {
slidesToShow: 1,
slidesToScroll: 1,
},
},
],
});
}
var testimonials_slider_v3=$('.testimonials-slider-wrap-v3');
if(testimonials_slider_v3.length > 0){
testimonials_slider_v3.slick({
rtl: houzez_rtl,
lazyLoad: 'ondemand',
infinite: true,
fade: true,
autoplay: true,
speed: 300,
slidesToShow: 1,
arrows: true,
adaptiveHeight: true,
dots: false,
appendArrows: '.testimonials-module-slider-v3',
prevArrow: $('.slick-prev'),
nextArrow: $('.slick-next'),
});
}
var houzez_custom_carousel=$('.custom-carousel');
if(houzez_custom_carousel.length > 0){
$('.custom-carousel').each(function (){
var token=$(this).data('token');
var carouselSettings=$(this).data('carousel');
$('.custom-carousel-js-' + token).slick({
rtl: houzez_rtl,
lazyLoad: 'ondemand',
autoplay: carouselSettings.slide_auto==='true',
autoplaySpeed: parseInt(carouselSettings.auto_speed)||3000,
infinite: carouselSettings.slide_infinite==='true',
speed: 500,
slidesToShow: parseInt(carouselSettings.slides_to_show)||3,
slidesToScroll:
parseInt(carouselSettings.slides_to_scroll)||1,
arrows: carouselSettings.navigation==='true',
adaptiveHeight: true,
dots: carouselSettings.slide_dots==='true',
appendArrows: '.custom-carousel-js-wrap-' + token,
prevArrow: $('.slick-prev-js-' + token),
nextArrow: $('.slick-next-js-' + token),
responsive: [
{
breakpoint: 992,
settings: {
slidesToShow: 2,
slidesToScroll: 1,
},
},
{
breakpoint: 769,
settings: {
slidesToShow: 1,
slidesToScroll: 1,
},
},
],
});
});
}
var partners_carousel=$('.partners-slider-wrap');
if(partners_carousel.length > 0){
partners_carousel.slick({
rtl: houzez_rtl,
lazyLoad: 'ondemand',
infinite: true,
speed: 300,
slidesToShow: 4,
arrows: true,
adaptiveHeight: true,
dots: true,
appendArrows: '.partners-module-slider',
prevArrow: $('.partner-prev-js'),
nextArrow: $('.partner-next-js'),
responsive: [
{
breakpoint: 992,
settings: {
slidesToShow: 2,
slidesToScroll: 2,
},
},
{
breakpoint: 769,
settings: {
slidesToShow: 1,
slidesToScroll: 1,
},
},
],
});
}
var schedule_tour_day=$('.property-schedule-tour-day-form-slide-v2');
if(schedule_tour_day.length > 0){
schedule_tour_day.slick({
rtl: houzez_rtl,
lazyLoad: 'ondemand',
infinite: false,
speed: 300,
slidesToShow: 3,
slidesToScroll: 3,
arrows: true,
adaptiveHeight: false,
dots: false,
prevArrow: $('.tour-day-form-slide-arrow.sche-tabs-prev-js'),
nextArrow: $('.tour-day-form-slide-arrow.sche-tabs-next-js'),
responsive: [
{
breakpoint: 992,
settings: {
slidesToShow: 3,
slidesToScroll: 3,
},
},
{
breakpoint: 769,
settings: {
slidesToShow: 3,
slidesToScroll: 3,
},
},
],
});
}
var schedule_tour_day2=$(
'.property-schedule-tour-day-form-slide-v2-bottom'
);
if(schedule_tour_day2.length > 0){
schedule_tour_day2.slick({
rtl: houzez_rtl,
lazyLoad: 'ondemand',
infinite: false,
speed: 300,
slidesToShow: 4,
slidesToScroll: 4,
arrows: true,
adaptiveHeight: false,
dots: false,
prevArrow: $('.tour-day-form-slide-arrow.sche-prev-js'),
nextArrow: $('.tour-day-form-slide-arrow.sche-next-js'),
responsive: [
{
breakpoint: 992,
settings: {
slidesToShow: 4,
slidesToScroll: 4,
},
},
{
breakpoint: 769,
settings: {
slidesToShow: 3,
slidesToScroll: 3,
},
},
],
});
}
var widget_featured_carousel=$('.widget-featured-property-slider');
if(widget_featured_carousel.length > 0){
widget_featured_carousel.slick({
rtl: houzez_rtl,
speed: 300,
slidesToShow: 1,
arrows: true,
adaptiveHeight: true,
dots: true,
responsive: [
{
breakpoint: 992,
settings: {
slidesToShow: 1,
slidesToScroll: 1,
},
},
{
breakpoint: 769,
settings: {
slidesToShow: 1,
slidesToScroll: 1,
},
},
],
});
}
$(document).ready(function (){
$('.btn-expand').click(function (){
$('.lightbox-gallery-wrap').toggleClass('lightbox-gallery-full-wrap'
);
$('#lightbox-slider-js').slick('refresh');
});
$('.btn-email').click(function (){
$('.lightbox-form-wrap').toggleClass('lightbox-form-wrap-show');
});
});
var houzez_listing_nav=$('.property-navigation-wrap');
if(houzez_listing_nav.length > 0){
$(document).scroll(function (){
var y=$(this).scrollTop();
houzez_listing_nav.css('top', houzezStickyTop);
if(y > 300){
houzez_listing_nav.fadeIn(250);
}else{
houzez_listing_nav.fadeOut(0);
}});
$('.property-navigation-item a.target').click(function (event){
event.preventDefault();
$('html, body').animate({
scrollTop: $($(this).attr('href')).offset().top - 84,
},
500
);
});
$(window).on('scroll', function (){
$('.property-section-wrap').each(function (){
if($(window).scrollTop() >=$(this).offset().top - 86){
var id=$(this).attr('id');
$('.target').removeClass('active');
$('.target[href="#' + id + '"]').addClass('active');
}else if($(window).scrollTop() <=0){
$('.target').removeClass('active');
}});
});
}
function setCalendarCellHeight(){
var calendarCellWidth=$(
'.block-availability-calendars .search-calendar li'
).innerWidth();
$('.block-availability-calendars .search-calendar li').css('height',
calendarCellWidth
);
$('.block-availability-calendars .search-calendar li').css('line-height',
calendarCellWidth + 'px'
);
}
setCalendarCellHeight();
$win.on('resize', function (){
setCalendarCellHeight();
});
$('.login-link a').on('click', function (){
$('.modal-toggle-1').addClass('active');
$('.modal-toggle-2').removeClass('active');
$('.register-form-tab').removeClass('active').removeClass('show');
$('.login-form-tab').addClass('active').addClass('show');
});
$('.register-link a').click(function (){
$('.modal-toggle-2').addClass('active');
$('.modal-toggle-1').removeClass('active');
$('.register-form-tab').addClass('active').addClass('show');
$('.login-form-tab').removeClass('active').removeClass('show');
});
if($('.db_input_date').length > 0){
$('.db_input_date').datepicker({
format: 'yyyy-mm-dd',
clearBtn: true,
autoclose: true,
language: houzez_date_language,
});
}
if(houzez_is_mobile){
}else{
if($('.deals-table-wrap').length > 0){
$('.deals-table-wrap').overlayScrollbars({
overflowBehavior: {
x: 'scroll',
y: 'scroll',
},
});
}}
var listing_nav_area_height=$('.property-navigation-wrap').innerHeight();
if(listing_nav_area_height==null){
listing_nav_area_height=0;
}
if($('.houzez_sticky').length > 0){
$('.houzez_sticky').theiaStickySidebar({
additionalMarginTop:
houzezStickyTop +
advanced_search_nav_height +
listing_nav_area_height,
minWidth: 768,
updateSidebarHeight: false,
});
}
function resizeMasonryItem(item){
var grid=document.getElementsByClassName('masonry')[0],
rowGap=parseInt(
window.getComputedStyle(grid).getPropertyValue('grid-row-gap')
),
rowHeight=parseInt(
window.getComputedStyle(grid).getPropertyValue('grid-auto-rows')
);
var rowSpan=Math.ceil((item.querySelector('.masonry-content').getBoundingClientRect()
.height +
rowGap) /
(rowHeight + rowGap)
);
item.style.gridRowEnd='span ' + rowSpan;
}
function resizeAllMasonryItems(){
var allItems=document.getElementsByClassName('masonry-brick');
for (var i=0; i > allItems.length; i++){
resizeMasonryItem(allItems[i]);
}}
if($('.page-template-blog-masonry').length > 0){
var waitForImages=function (){
var allItems=document.getElementsByClassName('masonry-brick');
for (var i=0; i < allItems.length; i++){
imagesLoaded(allItems[i], function (instance){
var item=instance.elements[0];
resizeMasonryItem(item);
});
}};
var masonryEvents=['load', 'resize'];
masonryEvents.forEach(function (event){
window.addEventListener(event, resizeAllMasonryItems);
});
waitForImages();
}
var splash_slider_wrap=$('.splash-slider-wrap');
if(splash_slider_wrap.length > 0){
splash_slider_wrap.slick({
rtl: houzez_rtl,
lazyLoad: 'ondemand',
adaptiveHeight: true,
autoplay: true,
infinite: true,
speed: 300,
fade: true,
slidesToShow: 1,
arrows: false,
});
}
houzez_init_add_favorite(ajaxurl, userID);
houzez_init_remove_favorite(ajaxurl, userID);
houzez_check_favourites(userID);
function getWindowWidth(){
return Math.max($(window).width(), window.innerWidth);
}
function getWindowHeight(){
return Math.max($(window).height(), window.innerHeight);
}
$('.houzez-woocommerce-pay').on('click', function (e){
e.preventDefault();
let listID=$(this).data('listid');
let is_featured=$(this).data('featured');
fave_processing_modal(processing_text);
$.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'houzez_perlist_woo_pay',
listing_id: listID,
is_featured: is_featured,
},
success: function (data){
if(data.success!=false){
window.location.href=houzez_vars.woo_checkout_url;
}else{
jQuery('#fave_modal').modal('hide');
}},
error: function (errorThrown){},
});
});
$('.houzez-woocommerce-package').on('click', function (e){
e.preventDefault();
if(parseInt(userID, 10)===0||userID==undefined){
jQuery('#login-register-form').modal('show');
jQuery('.login-form-tab').addClass('active show');
jQuery('.modal-toggle-1.nav-link').addClass('active');
}else{
let packid=$(this).data('packid');
fave_processing_modal(processing_text);
$.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'houzez_woo_pay_package',
package_id: packid,
},
success: function (data){
if(data.success!=false){
window.location.href=houzez_vars.woo_checkout_url;
}else{
jQuery('#fave_modal').modal('hide');
}},
error: function (errorThrown){},
});
}});
var setTopBannerFullScreen=function (){
var totalTopBarsHeight=0;
var searchH=0;
var topBarH=0;
var totalBannerHeight=0;
var window_height=$(window).innerHeight();
var admin_bar=$('#wpadminbar');
var topBarB=$('.top-bar-wrap');
var admin_bar_height=admin_bar.outerHeight();
searchH=window_height - header_area_height;
if(header_area.hasClass('header-transparent-wrap')){
if(topBarB.length){
topBarH=topBarB.outerHeight();
}
totalBannerHeight =
getWindowHeight() - (topBarH + admin_bar_height);
}else{
if(header_area.length &&
advanced_search_nav.length &&
!advanced_search_nav.hasClass('search-hidden')
){
totalTopBarsHeight =
parseInt(header_area_height) +
parseInt(advanced_search_nav_height);
}else if(header_area.length){
totalTopBarsHeight=parseInt(header_area_height);
}
totalBannerHeight =
getWindowHeight() - (totalTopBarsHeight + admin_bar_height);
}
$('.top-banner-wrap-fullscreen').css('height', totalBannerHeight);
};
if(!houzez_is_splash&&$('.top-banner-wrap-fullscreen').length > 0){
$(document).ready(function (){
setTopBannerFullScreen();
});
$(window).on('resize', function (){
setTopBannerFullScreen();
});
}
$(document).ready(function (){
$('.compare-property-label').on('click', function (){
$(this).toggleClass('active');
$('.compare-property-active').addClass('compare-property-active-push-toleft'
);
$('#compare-property-panel').addClass('compare-property-panel-open'
);
});
$('.close-compare-panel').on('click', function (){
$(this).toggleClass('active');
$('.compare-property-active').removeClass('compare-property-active-push-toleft'
);
$('#compare-property-panel').removeClass('compare-property-panel-open'
);
});
var listings_compare=houzezGetCookie('houzez_compare_listings');
var limit_item_compare=4;
add_to_compare(
compare_url,
compare_add_icon,
compare_remove_icon,
add_compare_text,
remove_compare_text,
compare_limit,
listings_compare,
limit_item_compare
);
remove_from_compare(
listings_compare,
compare_add_icon,
compare_remove_icon,
add_compare_text,
remove_compare_text
);
});
function compare_for_ajax(){
var listings_compare=houzezGetCookie('houzez_compare_listings');
var limit_item_compare=4;
add_to_compare(
compare_url,
compare_add_icon,
compare_remove_icon,
add_compare_text,
remove_compare_text,
compare_limit,
listings_compare,
limit_item_compare
);
remove_from_compare(
listings_compare,
compare_add_icon,
compare_remove_icon,
add_compare_text,
remove_compare_text
);
}
$(
'.houzez-onepage-mode .header-main-wrap .main-nav li.nav-item a.nav-link'
).on('click', function (e){
var currentUrl=$(this).attr('href');
window.history.pushState({ houzezTheme: true }, '', currentUrl);
});
houzez_render_compare_properties_data();
function houzez_render_compare_properties_data(){
let compare_listings=JSON.parse(localStorage.getItem('houzez_compare_listings')
);
if(compare_listings&&compare_listings.length > 0){
let properties_array='';
compare_listings.forEach(function (item){
let img=item.image;
let listingId=item.id;
properties_array +=
'<div class="compare-item remove-' +
listingId +
'">' +
'<a href="#" class="remove-compare remove-icon" data-listing_id="' +
listingId +
'">' +
'<i class="houzez-icon icon-remove-circle"></i></a>' +
'<img class="img-fluid" src="' +
img +
'" width="200" height="150" alt="Thumb">' +
'</div>';
});
jQuery('.compare-wrap').html(properties_array);
}}
})(jQuery);
function houzezSetCookie(cname, cvalue, exdays){
var d=new Date();
d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000);
var expires='expires=' + d.toUTCString();
document.cookie=cname + '=' + cvalue + ';' + expires + ';path=/';
}
function houzezGetCookie(cname){
var name=cname + '=';
var decodedCookie=decodeURIComponent(document.cookie);
var ca=decodedCookie.split(';');
for (var i=0; i < ca.length; i++){
var c=ca[i];
while (c.charAt(0)==' '){
c=c.substring(1);
}
if(c.indexOf(name)==0){
return c.substring(name.length, c.length);
}}
return '';
}
function fave_processing_modal(msg){
var process_modal =
'<div class="modal fade" id="fave_modal" tabindex="-1" role="dialog" aria-labelledby="faveModalLabel" aria-hidden="true"><div class="modal-dialog"><div class="modal-content"><div class="modal-body houzez_messages_modal">' +
msg +
'</div></div></div></div></div>';
jQuery('body').append(process_modal);
jQuery('#fave_modal').modal();
}
function fave_processing_modal_close(){
jQuery('#fave_modal').modal('hide');
}
function houzez_grid_image_gallery(){
if(houzez_vars.disable_property_gallery==1){
var gallery_behaviour=houzez_vars.grid_gallery_behaviour;
var houzez_rtl=houzez_vars.houzez_rtl==='yes';
jQuery('.hz-item-gallery-js').each(function (){
var $this=jQuery(this);
if(!$this.hasClass('houzez-gallery-loaded') &&
$this.data('images')
){
var href=$this.find('a.listing-featured-thumb').attr('href');
var link_target=$this
.find('a.listing-featured-thumb')
.attr('target');
var images=$this.data('images');
var fragment=document.createDocumentFragment();
var galleryWrap=document.createElement('div');
galleryWrap.className =
'listing-gallery-wrap ' + gallery_behaviour;
var carouselDiv=document.createElement('div');
carouselDiv.className='houzez-listing-carousel';
images.forEach(function (image){
var itemDiv=document.createElement('div');
itemDiv.className='item';
var anchor=document.createElement('a');
anchor.className='hover-effect';
anchor.href=href;
anchor.target=link_target;
var img=document.createElement('img');
img.src=image.image;
img.alt=image.alt;
img.width=image.width;
img.height=image.height;
img.className='img-fluid';
anchor.appendChild(img);
itemDiv.appendChild(anchor);
carouselDiv.appendChild(itemDiv);
});
galleryWrap.appendChild(carouselDiv);
fragment.appendChild(galleryWrap);
$this.find('.listing-image-wrap').html(fragment);
jQuery(
'.item-wrap-v6 .listing-gallery-wrap .item a'
).removeClass('hover-effect');
var listing_slider=$this.find('.houzez-listing-carousel');
listing_slider.slick({
rtl: houzez_rtl,
autoplay: false,
lazyLoad: 'ondemand',
infinite: false,
speed: 300,
slidesToShow: 1,
arrows: true,
prevArrow:
'<button type="button" class="slick-prev slick-arrow"></button>',
nextArrow:
'<button type="button" class="slick-next slick-arrow"></button>',
adaptiveHeight: true,
});
is_listing_gallery_slider=true;
$this.addClass('houzez-gallery-loaded');
}});
}
jQuery(document).on('click', '.switch-btn', function (){
jQuery('.hz-item-gallery-js .houzez-listing-carousel').slick('refresh');
});
}
function houzez_listing_lightbox(ajaxurl, processing_text, houzez_rtl, userID){
jQuery('.hz-show-lightbox-js').on('click', function (){
var listing_id=jQuery(this).data('listid');
var $parents=jQuery(this).parents('.item-wrap');
var preview_loader=$parents.find('.preview_loader');
jQuery.ajax({
type: 'post',
url: ajaxurl,
data: {
action: 'load_lightbox_content',
listing_id: listing_id,
},
beforeSend: function (){
preview_loader
.empty()
.append('' +
'<div class="houzez-overlay-loading">' +
'<div class="overlay-placeholder">' +
'<div class="loader-ripple spinner">' +
'<div class="bounce1"></div>' +
'<div class="bounce2"></div>' +
'<div class="bounce3"></div>' +
'</div>' +
'</div>' +
'</div>'
);
},
complete: function (){
preview_loader.empty();
},
success: function (response){
jQuery('#hz-listing-model-content').html(response);
jQuery('#houzez-listing-lightbox').modal('show');
jQuery('.lightbox-slider').not('.slick-initialized').slick({
rtl: houzez_rtl,
lazyLoad: 'ondemand',
infinite: true,
speed: 300,
slidesToShow: 1,
arrows: true,
adaptiveHeight: true,
});
jQuery('#houzez-listing-lightbox').on('shown.bs.modal',
function (e){
jQuery('.lightbox-slider').slick('setPosition');
jQuery('.lightbox-slider').slick('refresh');
}
);
jQuery('.btn-expand').on('click', function (){
jQuery('.lightbox-gallery-wrap').toggleClass('lightbox-gallery-full-wrap'
);
jQuery('.lightbox-slider').slick('setPosition');
});
jQuery('.btn-email').on('click', function (){
jQuery('.lightbox-form-wrap').toggleClass('lightbox-form-wrap-show'
);
});
houzez_init_add_favorite(ajaxurl, userID);
houzez_init_remove_favorite(ajaxurl, userID);
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
});
}
function houzez_init_add_favorite(ajaxurl, userID){
jQuery('.add-favorite-js').on('click', function (e){
e.preventDefault();
var curnt=jQuery(this);
var listID=jQuery(this).attr('data-listid');
add_to_favorite(ajaxurl, listID, curnt, userID);
return false;
});
}
function houzez_init_remove_favorite(ajaxurl, userID){
jQuery('.remove_fav').on('click', function (){
var curnt=jQuery(this);
var listID=jQuery(this).attr('data-listid');
add_to_favorite(ajaxurl, listID, curnt, userID);
var itemWrap=curnt.parents('tr').remove();
});
}
function add_to_favorite(ajaxurl, listID, curnt, userID){
if(parseInt(userID, 10)===0||userID==undefined){
var add_to_favorite_login_required =
houzez_vars.add_to_favorite_login_required;
if(add_to_favorite_login_required!=0){
jQuery('.register-form-tab').removeClass('active show');
jQuery('.modal-toggle-2.nav-link').removeClass('active');
jQuery('#login-register-form').modal('show');
jQuery('.login-form-tab').addClass('active show');
jQuery('.modal-toggle-1.nav-link').addClass('active');
}else{
add_to_favorite_without_login(curnt);
}}else{
var $parents=curnt.parents('.item-wrap');
var preview_loader=$parents.find('.preview_loader');
jQuery.ajax({
type: 'post',
url: ajaxurl,
dataType: 'json',
data: {
action: 'houzez_add_to_favorite',
listing_id: listID,
},
beforeSend: function (){
preview_loader
.empty()
.append('' +
'<div class="houzez-overlay-loading">' +
'<div class="overlay-placeholder">' +
'<div class="loader-ripple spinner">' +
'<div class="bounce1"></div>' +
'<div class="bounce2"></div>' +
'<div class="bounce3"></div>' +
'</div>' +
'</div>' +
'</div>'
);
},
complete: function (){
preview_loader.empty();
},
success: function (response){
if(response.data.added){
curnt.children('i').addClass('text-danger');
}else{
curnt.children('i').removeClass('text-danger');
}
preview_loader.empty();
},
complete: function (){},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
}}
function add_to_favorite_without_login(curnt){
var listings_favorite=houzezGetCookie('houzez_favorite_listings');
if(listings_favorite&&listings_favorite.length){
listings_favorite=listings_favorite.split(',');
}else{
listings_favorite=[];
}
var listing_id=curnt.data('listid');
var index=listings_favorite.indexOf(listing_id.toString());
if(index==-1){
listings_favorite.push(listing_id.toString());
houzezSetCookie(
'houzez_favorite_listings',
listings_favorite.join(','),
30
);
jQuery('span.frvt-count').html('');
jQuery('span.frvt-count').html(listings_favorite.length);
for (var i=0; i < listings_favorite.length; i++){
jQuery(
'.add-favorite-js[data-listid="' + listings_favorite[i] + '"] i'
).addClass('text-danger');
jQuery(
'.add-favorite-js[data-listid="' + listings_favorite[i] + '"]'
).addClass('remove-favorite');
}}else{
listings_favorite.splice(index, 1);
houzezSetCookie(
'houzez_favorite_listings',
listings_favorite.join(','),
30
);
jQuery('span.frvt-count').html('');
jQuery('span.frvt-count').html(listings_favorite.length);
jQuery(
'.add-favorite-js[data-listid="' + listing_id.toString() + '"] i'
).removeClass('text-danger');
jQuery(
'.add-favorite-js[data-listid="' + listing_id.toString() + '"]'
).removeClass('remove-favorite');
}
jQuery('a.favorite-btn').attr('href',
houzez_vars.favorite_url + '?ids=' + listings_favorite
);
return false;
}
function houzez_check_favourites(userID){
if(parseInt(userID, 10)===0||userID==undefined){
var listings_favorite=houzezGetCookie('houzez_favorite_listings');
jQuery('a.favorite-btn').attr('href',
houzez_vars.favorite_url + '?ids=' + listings_favorite
);
if(listings_favorite&&listings_favorite.length){
listings_favorite=listings_favorite.split(',');
if(listings_favorite.length){
for (var i=0; i < listings_favorite.length; i++){
jQuery(
'.add-favorite-js[data-listid="' +
listings_favorite[i] +
'"] i'
).addClass('text-danger');
jQuery(
'.add-favorite-js[data-listid="' +
listings_favorite[i] +
'"]'
).addClass('remove-favorite');
}
jQuery('span.frvt-count').html('');
jQuery('span.frvt-count').html(listings_favorite.length);
}}else{
listings_favorite=[];
}}
}
function add_to_compare(
compare_url,
compare_add_icon,
compare_remove_icon,
add_compare_text,
remove_compare_text,
compare_limit,
listings_compare,
limit_item_compare
){
var storedData=localStorage.getItem('houzez_compare_listings');
var listings_compare=storedData ? JSON.parse(storedData):[];
jQuery('a.compare-btn').attr('href',
compare_url +
'?ids=' +
listings_compare.map((item)=> item.id).join(',')
);
if(listings_compare.length > 0){
jQuery('.compare-property-label').fadeIn(1000);
}
if(listings_compare.length){
for (var i=0; i < listings_compare.length; i++){
jQuery(
'.houzez_compare[data-listing_id="' +
listings_compare[i].id +
'"] i'
)
.removeClass('icon-add-circle')
.addClass('icon-subtract-circle');
jQuery(
'.houzez_compare[data-listing_id="' +
listings_compare[i].id +
'"]'
).attr('title', remove_compare_text);
jQuery(
'.houzez_compare[data-listing_id="' +
listings_compare[i].id +
'"]'
)
.tooltip('hide')
.attr('data-original-title', remove_compare_text);
}
jQuery('.compare-property-label')
.find('.compare-count')
.html(listings_compare.length);
}
jQuery('.houzez_compare').on('click', function (e){
e.preventDefault();
var storedData=localStorage.getItem('houzez_compare_listings');
var listings_compare=storedData ? JSON.parse(storedData):[];
var listing_id=jQuery(this).data('listing_id');
var index=listings_compare.findIndex((item)=> item.id===listing_id.toString()
);
var image_div=jQuery(this).parents('.item-wrap');
var thumb_url=image_div.find('img').attr('src');
if(index==-1){
if(listings_compare.length >=limit_item_compare){
alert(compare_limit);
}else{
jQuery('.compare-wrap').append('<div class="compare-item remove-' +
listing_id +
'"><a href="" class="remove-compare remove-icon" data-listing_id="' +
listing_id +
'"><i class="houzez-icon icon-remove-circle"></i></a><img class="img-fluid" src="' +
thumb_url +
'" width="200" height="150" alt="Thumb"></div>'
);
listings_compare.push({
id: listing_id.toString(),
image: thumb_url,
});
localStorage.setItem('houzez_compare_listings',
JSON.stringify(listings_compare)
);
jQuery(this).attr('title', remove_compare_text);
jQuery(this)
.find('i')
.removeClass('icon-add-circle')
.addClass('icon-subtract-circle');
jQuery('.compare-property-label')
.find('.compare-count')
.html(listings_compare.length);
jQuery('a.compare-btn').attr('href',
compare_url +
'?ids=' +
listings_compare.map((item)=> item.id).join(',')
);
jQuery('.compare-property-label').fadeIn(1000);
jQuery(this).toggleClass('active');
jQuery('.compare-property-active').addClass('compare-property-active-push-toleft'
);
jQuery('#compare-property-panel').addClass('compare-property-panel-open'
);
jQuery(this).tooltip('dispose').tooltip('show');
remove_from_compare(
listings_compare,
compare_add_icon,
compare_remove_icon,
add_compare_text,
remove_compare_text
);
}}else{
jQuery('div.remove-' + listing_id).remove();
jQuery(this).attr('title', add_compare_text);
jQuery(this)
.find('i')
.removeClass('icon-subtract-circle')
.addClass('icon-add-circle');
listings_compare.splice(index, 1);
localStorage.setItem('houzez_compare_listings',
JSON.stringify(listings_compare)
);
jQuery('.compare-property-label')
.find('.compare-count')
.html(listings_compare.length);
jQuery('a.compare-btn').attr('href',
compare_url +
'?ids=' +
listings_compare.map((item)=> item.id).join(',')
);
jQuery(this).tooltip('dispose').tooltip('show');
if(listings_compare.length > 0){
jQuery('.compare-property-label').fadeIn(1000);
jQuery(this).toggleClass('active');
jQuery('.compare-property-active').addClass('compare-property-active-push-toleft'
);
jQuery('#compare-property-panel').addClass('compare-property-panel-open'
);
}else{
jQuery('.compare-property-label').fadeOut(1000);
}}
return false;
});
}
function remove_from_compare(
listings_compare,
compare_add_icon,
compare_remove_icon,
add_compare_text,
remove_compare_text
){
jQuery('.remove-compare')
.off('click')
.on('click', function (e){
e.preventDefault();
var compare_url=houzez_vars.compare_url;
var storedData=localStorage.getItem('houzez_compare_listings');
listings_compare=storedData ? JSON.parse(storedData):[];
var listing_id=jQuery(this).data('listing_id');
var index=listings_compare.findIndex((item)=> item.id===listing_id.toString()
);
if(index!==-1){
listings_compare.splice(index, 1);
localStorage.setItem('houzez_compare_listings',
JSON.stringify(listings_compare)
);
jQuery('.compare-property-label')
.find('.compare-count')
.html(listings_compare.length);
var compareElement=jQuery('.compare-' + listing_id);
if(compareElement.length){
compareElement.attr('title', add_compare_text);
compareElement
.tooltip('hide')
.attr('data-original-title', add_compare_text);
compareElement
.find('i')
.removeClass('icon-subtract-circle')
.addClass('icon-add-circle');
}
jQuery(this).parents('.compare-item').remove();
jQuery('a.compare-btn').attr('href',
compare_url +
'?ids=' +
listings_compare.map((item)=> item.id).join(',')
);
}});
}
function houzez_grid_call_to_action(){
jQuery('.hz-call-popup-js').on('click', function (){
var call_model_id=jQuery(this).data('model-id');
jQuery('#' + call_model_id).appendTo('body');
jQuery('#' + call_model_id).modal('show');
});
jQuery('.hz-email-popup-js').on('click', function (){
var email_model_id=jQuery(this).data('model-id');
jQuery('#' + email_model_id).appendTo('body');
jQuery('#' + email_model_id).modal('show');
});
};
!function(a,b){"use strict";"function"==typeof define&&define.amd?define(["jquery"],b):"object"==typeof exports?module.exports=b(require("jquery")):a.bootbox=b(a.jQuery)}(this,function a(b,c){"use strict";function d(a){var b=q[o.locale];return b?b[a]:q.en[a]}function e(a,c,d){a.stopPropagation(),a.preventDefault();var e=b.isFunction(d)&&d.call(c,a)===!1;e||c.modal("hide")}function f(a){var b,c=0;for(b in a)c++;return c}function g(a,c){var d=0;b.each(a,function(a,b){c(a,b,d++)})}function h(a){var c,d;if("object"!=typeof a)throw new Error("Please supply an object of options");if(!a.message)throw new Error("Please specify a message");return a=b.extend({},o,a),a.buttons||(a.buttons={}),c=a.buttons,d=f(c),g(c,function(a,e,f){if(b.isFunction(e)&&(e=c[a]={callback:e}),"object"!==b.type(e))throw new Error("button with key "+a+" must be an object");e.label||(e.label=a),e.className||(e.className=2>=d&&f===d-1?"btn-primary":"btn-default")}),a}function i(a,b){var c=a.length,d={};if(1>c||c>2)throw new Error("Invalid argument length");return 2===c||"string"==typeof a[0]?(d[b[0]]=a[0],d[b[1]]=a[1]):d=a[0],d}function j(a,c,d){return b.extend(!0,{},a,i(c,d))}function k(a,b,c,d){var e={className:"bootbox-"+a,buttons:l.apply(null,b)};return m(j(e,d,c),b)}function l(){for(var a={},b=0,c=arguments.length;c>b;b++){var e=arguments[b],f=e.toLowerCase(),g=e.toUpperCase();a[f]={label:d(g)}}return a}function m(a,b){var d={};return g(b,function(a,b){d[b]=!0}),g(a.buttons,function(a){if(d[a]===c)throw new Error("button key "+a+" is not allowed (options are "+b.join("\n")+")")}),a}var n={dialog:"<div class='bootbox modal' tabindex='-1' role='dialog'><div class='modal-dialog'><div class='modal-content'><div class='modal-body'><div class='bootbox-body'></div></div></div></div></div>",header:"<div class='modal-header'><h4 class='modal-title'></h4></div>",footer:"<div class='modal-footer'></div>",closeButton:"<button type='button' class='bootbox-close-button close' data-dismiss='modal' aria-hidden='true'>&times;</button>",form:"<form class='bootbox-form'></form>",inputs:{text:"<input class='bootbox-input bootbox-input-text form-control' autocomplete=off type=text />",textarea:"<textarea class='bootbox-input bootbox-input-textarea form-control'></textarea>",email:"<input class='bootbox-input bootbox-input-email form-control' autocomplete='off' type='email' />",select:"<select class='bootbox-input bootbox-input-select form-control'></select>",checkbox:"<div class='checkbox'><label><input class='bootbox-input bootbox-input-checkbox' type='checkbox' /></label></div>",date:"<input class='bootbox-input bootbox-input-date form-control' autocomplete=off type='date' />",time:"<input class='bootbox-input bootbox-input-time form-control' autocomplete=off type='time' />",number:"<input class='bootbox-input bootbox-input-number form-control' autocomplete=off type='number' />",password:"<input class='bootbox-input bootbox-input-password form-control' autocomplete='off' type='password' />"}},o={locale:"en",backdrop:"static",animate:!0,className:null,closeButton:!0,show:!0,container:"body"},p={};p.alert=function(){var a;if(a=k("alert",["ok"],["message","callback"],arguments),a.callback&&!b.isFunction(a.callback))throw new Error("alert requires callback property to be a function when provided");return a.buttons.ok.callback=a.onEscape=function(){return b.isFunction(a.callback)?a.callback.call(this):!0},p.dialog(a)},p.confirm=function(){var a;if(a=k("confirm",["cancel","confirm"],["message","callback"],arguments),a.buttons.cancel.callback=a.onEscape=function(){return a.callback.call(this,!1)},a.buttons.confirm.callback=function(){return a.callback.call(this,!0)},!b.isFunction(a.callback))throw new Error("confirm requires a callback");return p.dialog(a)},p.prompt=function(){var a,d,e,f,h,i,k;if(f=b(n.form),d={className:"bootbox-prompt",buttons:l("cancel","confirm"),value:"",inputType:"text"},a=m(j(d,arguments,["title","callback"]),["cancel","confirm"]),i=a.show===c?!0:a.show,a.message=f,a.buttons.cancel.callback=a.onEscape=function(){return a.callback.call(this,null)},a.buttons.confirm.callback=function(){var c;switch(a.inputType){case"text":case"textarea":case"email":case"select":case"date":case"time":case"number":case"password":c=h.val();break;case"checkbox":var d=h.find("input:checked");c=[],g(d,function(a,d){c.push(b(d).val())})}return a.callback.call(this,c)},a.show=!1,!a.title)throw new Error("prompt requires a title");if(!b.isFunction(a.callback))throw new Error("prompt requires a callback");if(!n.inputs[a.inputType])throw new Error("invalid prompt type");switch(h=b(n.inputs[a.inputType]),a.inputType){case"text":case"textarea":case"email":case"date":case"time":case"number":case"password":h.val(a.value);break;case"select":var o={};if(k=a.inputOptions||[],!b.isArray(k))throw new Error("Please pass an array of input options");if(!k.length)throw new Error("prompt with select requires options");g(k,function(a,d){var e=h;if(d.value===c||d.text===c)throw new Error("given options in wrong format");d.group&&(o[d.group]||(o[d.group]=b("<optgroup/>").attr("label",d.group)),e=o[d.group]),e.append("<option value='"+d.value+"'>"+d.text+"</option>")}),g(o,function(a,b){h.append(b)}),h.val(a.value);break;case"checkbox":var q=b.isArray(a.value)?a.value:[a.value];if(k=a.inputOptions||[],!k.length)throw new Error("prompt with checkbox requires options");if(!k[0].value||!k[0].text)throw new Error("given options in wrong format");h=b("<div/>"),g(k,function(c,d){var e=b(n.inputs[a.inputType]);e.find("input").attr("value",d.value),e.find("label").append(d.text),g(q,function(a,b){b===d.value&&e.find("input").prop("checked",!0)}),h.append(e)})}return a.placeholder&&h.attr("placeholder",a.placeholder),a.pattern&&h.attr("pattern",a.pattern),a.maxlength&&h.attr("maxlength",a.maxlength),f.append(h),f.on("submit",function(a){a.preventDefault(),a.stopPropagation(),e.find(".btn-primary").click()}),e=p.dialog(a),e.off("shown.bs.modal"),e.on("shown.bs.modal",function(){h.focus()}),i===!0&&e.modal("show"),e},p.dialog=function(a){a=h(a);var d=b(n.dialog),f=d.find(".modal-dialog"),i=d.find(".modal-body"),j=a.buttons,k="",l={onEscape:a.onEscape};if(b.fn.modal===c)throw new Error("$.fn.modal is not defined; please double check you have included the Bootstrap JavaScript library. See http://getbootstrap.com/javascript/ for more details.");if(g(j,function(a,b){k+="<button data-bb-handler='"+a+"' type='button' class='btn "+b.className+"'>"+b.label+"</button>",l[a]=b.callback}),i.find(".bootbox-body").html(a.message),a.animate===!0&&d.addClass("fade"),a.className&&d.addClass(a.className),"large"===a.size?f.addClass("modal-lg"):"small"===a.size&&f.addClass("modal-sm"),a.title&&i.before(n.header),a.closeButton){var m=b(n.closeButton);a.title?d.find(".modal-header").prepend(m):m.css("margin-top","-10px").prependTo(i)}return a.title&&d.find(".modal-title").html(a.title),k.length&&(i.after(n.footer),d.find(".modal-footer").html(k)),d.on("hidden.bs.modal",function(a){a.target===this&&d.remove()}),d.on("shown.bs.modal",function(){d.find(".btn-primary:first").focus()}),"static"!==a.backdrop&&d.on("click.dismiss.bs.modal",function(a){d.children(".modal-backdrop").length&&(a.currentTarget=d.children(".modal-backdrop").get(0)),a.target===a.currentTarget&&d.trigger("escape.close.bb")}),d.on("escape.close.bb",function(a){l.onEscape&&e(a,d,l.onEscape)}),d.on("click",".modal-footer button",function(a){var c=b(this).data("bb-handler");e(a,d,l[c])}),d.on("click",".bootbox-close-button",function(a){e(a,d,l.onEscape)}),d.on("keyup",function(a){27===a.which&&d.trigger("escape.close.bb")}),b(a.container).append(d),d.modal({backdrop:a.backdrop?"static":!1,keyboard:!1,show:!1}),a.show&&d.modal("show"),d},p.setDefaults=function(){var a={};2===arguments.length?a[arguments[0]]=arguments[1]:a=arguments[0],b.extend(o,a)},p.hideAll=function(){return b(".bootbox").modal("hide"),p};var q={bg_BG:{OK:"Ок",CANCEL:"Отказ",CONFIRM:"Потвърждавам"},br:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Sim"},cs:{OK:"OK",CANCEL:"Zrušit",CONFIRM:"Potvrdit"},da:{OK:"OK",CANCEL:"Annuller",CONFIRM:"Accepter"},de:{OK:"OK",CANCEL:"Abbrechen",CONFIRM:"Akzeptieren"},el:{OK:"Εντάξει",CANCEL:"Ακύρωση",CONFIRM:"Επιβεβαίωση"},en:{OK:"OK",CANCEL:"Cancel",CONFIRM:"OK"},es:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Aceptar"},et:{OK:"OK",CANCEL:"Katkesta",CONFIRM:"OK"},fa:{OK:"قبول",CANCEL:"لغو",CONFIRM:"تایید"},fi:{OK:"OK",CANCEL:"Peruuta",CONFIRM:"OK"},fr:{OK:"OK",CANCEL:"Annuler",CONFIRM:"D'accord"},he:{OK:"אישור",CANCEL:"ביטול",CONFIRM:"אישור"},hu:{OK:"OK",CANCEL:"Mégsem",CONFIRM:"Megerősít"},hr:{OK:"OK",CANCEL:"Odustani",CONFIRM:"Potvrdi"},id:{OK:"OK",CANCEL:"Batal",CONFIRM:"OK"},it:{OK:"OK",CANCEL:"Annulla",CONFIRM:"Conferma"},ja:{OK:"OK",CANCEL:"キャンセル",CONFIRM:"確認"},lt:{OK:"Gerai",CANCEL:"Atšaukti",CONFIRM:"Patvirtinti"},lv:{OK:"Labi",CANCEL:"Atcelt",CONFIRM:"Apstiprināt"},nl:{OK:"OK",CANCEL:"Annuleren",CONFIRM:"Accepteren"},no:{OK:"OK",CANCEL:"Avbryt",CONFIRM:"OK"},pl:{OK:"OK",CANCEL:"Anuluj",CONFIRM:"Potwierdź"},pt:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Confirmar"},ru:{OK:"OK",CANCEL:"Отмена",CONFIRM:"Применить"},sq:{OK:"OK",CANCEL:"Anulo",CONFIRM:"Prano"},sv:{OK:"OK",CANCEL:"Avbryt",CONFIRM:"OK"},th:{OK:"ตกลง",CANCEL:"ยกเลิก",CONFIRM:"ยืนยัน"},tr:{OK:"Tamam",CANCEL:"İptal",CONFIRM:"Onayla"},zh_CN:{OK:"OK",CANCEL:"取消",CONFIRM:"确认"},zh_TW:{OK:"OK",CANCEL:"取消",CONFIRM:"確認"}};return p.addLocale=function(a,c){return b.each(["OK","CANCEL","CONFIRM"],function(a,b){if(!c[b])throw new Error("Please supply a translation for '"+b+"'")}),q[a]={OK:c.OK,CANCEL:c.CANCEL,CONFIRM:c.CONFIRM},p},p.removeLocale=function(a){return delete q[a],p},p.setLocale=function(a){return p.setDefaults("locale",a)},p.init=function(c){return a(c||b)},p});
!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","./mouse","../data","../ie","../scroll-parent","../version","../widget"],t):t(jQuery)}(function(u){"use strict";return u.widget("ui.sortable",u.ui.mouse,{version:"1.13.3",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(t,e,i){return e<=t&&t<e+i},_isFloating:function(t){return/left|right/.test(t.css("float"))||/inline|table-cell/.test(t.css("display"))},_create:function(){this.containerCache={},this._addClass("ui-sortable"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(t,e){this._super(t,e),"handle"===t&&this._setHandleClassName()},_setHandleClassName:function(){var t=this;this._removeClass(this.element.find(".ui-sortable-handle"),"ui-sortable-handle"),u.each(this.items,function(){t._addClass(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item,"ui-sortable-handle")})},_destroy:function(){this._mouseDestroy();for(var t=this.items.length-1;0<=t;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(t,e){var i=null,s=!1,o=this;return!(this.reverting||this.options.disabled||"static"===this.options.type||(this._refreshItems(t),u(t.target).parents().each(function(){if(u.data(this,o.widgetName+"-item")===o)return i=u(this),!1}),!(i=u.data(t.target,o.widgetName+"-item")===o?u(t.target):i))||(this.options.handle&&!e&&(u(this.options.handle,i).find("*").addBack().each(function(){this===t.target&&(s=!0)}),!s)||(this.currentItem=i,this._removeCurrentsFromItems(),0)))},_mouseStart:function(t,e,i){var s,o,r=this.options;if((this.currentContainer=this).refreshPositions(),this.appendTo=u("parent"!==r.appendTo?r.appendTo:this.currentItem.parent()),this.helper=this._createHelper(t),this._cacheHelperProportions(),this._cacheMargins(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},u.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),r.cursorAt&&this._adjustOffsetFromHelper(r.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),this.scrollParent=this.placeholder.scrollParent(),u.extend(this.offset,{parent:this._getParentOffset()}),r.containment&&this._setContainment(),r.cursor&&"auto"!==r.cursor&&(o=this.document.find("body"),this.storedCursor=o.css("cursor"),o.css("cursor",r.cursor),this.storedStylesheet=u("<style>*{ cursor: "+r.cursor+" !important; }</style>").appendTo(o)),r.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",r.zIndex)),r.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",r.opacity)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",t,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!i)for(s=this.containers.length-1;0<=s;s--)this.containers[s]._trigger("activate",t,this._uiHash(this));return u.ui.ddmanager&&(u.ui.ddmanager.current=this),u.ui.ddmanager&&!r.dropBehaviour&&u.ui.ddmanager.prepareOffsets(this,t),this.dragging=!0,this._addClass(this.helper,"ui-sortable-helper"),this.helper.parent().is(this.appendTo)||(this.helper.detach().appendTo(this.appendTo),this.offset.parent=this._getParentOffset()),this.position=this.originalPosition=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,this.lastPositionAbs=this.positionAbs=this._convertPositionTo("absolute"),this._mouseDrag(t),!0},_scroll:function(t){var e=this.options,i=!1;return this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-t.pageY<e.scrollSensitivity?this.scrollParent[0].scrollTop=i=this.scrollParent[0].scrollTop+e.scrollSpeed:t.pageY-this.overflowOffset.top<e.scrollSensitivity&&(this.scrollParent[0].scrollTop=i=this.scrollParent[0].scrollTop-e.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-t.pageX<e.scrollSensitivity?this.scrollParent[0].scrollLeft=i=this.scrollParent[0].scrollLeft+e.scrollSpeed:t.pageX-this.overflowOffset.left<e.scrollSensitivity&&(this.scrollParent[0].scrollLeft=i=this.scrollParent[0].scrollLeft-e.scrollSpeed)):(t.pageY-this.document.scrollTop()<e.scrollSensitivity?i=this.document.scrollTop(this.document.scrollTop()-e.scrollSpeed):this.window.height()-(t.pageY-this.document.scrollTop())<e.scrollSensitivity&&(i=this.document.scrollTop(this.document.scrollTop()+e.scrollSpeed)),t.pageX-this.document.scrollLeft()<e.scrollSensitivity?i=this.document.scrollLeft(this.document.scrollLeft()-e.scrollSpeed):this.window.width()-(t.pageX-this.document.scrollLeft())<e.scrollSensitivity&&(i=this.document.scrollLeft(this.document.scrollLeft()+e.scrollSpeed))),i},_mouseDrag:function(t){var e,i,s,o,r=this.options;for(this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),r.scroll&&!1!==this._scroll(t)&&(this._refreshItemPositions(!0),u.ui.ddmanager)&&!r.dropBehaviour&&u.ui.ddmanager.prepareOffsets(this,t),this.dragDirection={vertical:this._getDragVerticalDirection(),horizontal:this._getDragHorizontalDirection()},e=this.items.length-1;0<=e;e--)if(s=(i=this.items[e]).item[0],(o=this._intersectsWithPointer(i))&&i.instance===this.currentContainer&&!(s===this.currentItem[0]||this.placeholder[1===o?"next":"prev"]()[0]===s||u.contains(this.placeholder[0],s)||"semi-dynamic"===this.options.type&&u.contains(this.element[0],s))){if(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(i))break;this._rearrange(t,i),this._trigger("change",t,this._uiHash());break}return this._contactContainers(t),u.ui.ddmanager&&u.ui.ddmanager.drag(this,t),this._trigger("sort",t,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(t,e){var i,s,o,r;if(t)return u.ui.ddmanager&&!this.options.dropBehaviour&&u.ui.ddmanager.drop(this,t),this.options.revert?(s=(i=this).placeholder.offset(),r={},(o=this.options.axis)&&"x"!==o||(r.left=s.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(r.top=s.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,u(this.helper).animate(r,parseInt(this.options.revert,10)||500,function(){i._clear(t)})):this._clear(t,e),!1},cancel:function(){if(this.dragging){this._mouseUp(new u.Event("mouseup",{target:null})),"original"===this.options.helper?(this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")):this.currentItem.show();for(var t=this.containers.length-1;0<=t;t--)this.containers[t]._trigger("deactivate",null,this._uiHash(this)),this.containers[t].containerCache.over&&(this.containers[t]._trigger("out",null,this._uiHash(this)),this.containers[t].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),u.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?u(this.domPosition.prev).after(this.currentItem):u(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var t=this._getItemsAsjQuery(e&&e.connected),i=[];return e=e||{},u(t).each(function(){var t=(u(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);t&&i.push((e.key||t[1]+"[]")+"="+(e.key&&e.expression?t[1]:t[2]))}),!i.length&&e.key&&i.push(e.key+"="),i.join("&")},toArray:function(t){var e=this._getItemsAsjQuery(t&&t.connected),i=[];return t=t||{},e.each(function(){i.push(u(t.item||this).attr(t.attribute||"id")||"")}),i},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,o=s+this.helperProportions.height,r=t.left,n=r+t.width,h=t.top,a=h+t.height,l=this.offset.click.top,c=this.offset.click.left,l="x"===this.options.axis||h<s+l&&s+l<a,c="y"===this.options.axis||r<e+c&&e+c<n;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>t[this.floating?"width":"height"]?l&&c:r<e+this.helperProportions.width/2&&i-this.helperProportions.width/2<n&&h<s+this.helperProportions.height/2&&o-this.helperProportions.height/2<a},_intersectsWithPointer:function(t){var e="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top,t.height),t="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,t.left,t.width);return!(!e||!t)&&(e=this.dragDirection.vertical,t=this.dragDirection.horizontal,this.floating?"right"===t||"down"===e?2:1:e&&("down"===e?2:1))},_intersectsWithSides:function(t){var e=this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),t=this._isOverAxis(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),i=this.dragDirection.vertical,s=this.dragDirection.horizontal;return this.floating&&s?"right"===s&&t||"left"===s&&!t:i&&("down"===i&&e||"up"===i&&!e)},_getDragVerticalDirection:function(){var t=this.positionAbs.top-this.lastPositionAbs.top;return 0!=t&&(0<t?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!=t&&(0<t?"right":"left")},refresh:function(t){return this._refreshItems(t),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(t){var e,i,s,o,r=[],n=[],h=this._connectWith();if(h&&t)for(e=h.length-1;0<=e;e--)for(i=(s=u(h[e],this.document[0])).length-1;0<=i;i--)(o=u.data(s[i],this.widgetFullName))&&o!==this&&!o.options.disabled&&n.push(["function"==typeof o.options.items?o.options.items.call(o.element):u(o.options.items,o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),o]);function a(){r.push(this)}for(n.push(["function"==typeof this.options.items?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):u(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),e=n.length-1;0<=e;e--)n[e][0].each(a);return u(r)},_removeCurrentsFromItems:function(){var i=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=u.grep(this.items,function(t){for(var e=0;e<i.length;e++)if(i[e]===t.item[0])return!1;return!0})},_refreshItems:function(t){this.items=[],this.containers=[this];var e,i,s,o,r,n,h,a,l=this.items,c=[["function"==typeof this.options.items?this.options.items.call(this.element[0],t,{item:this.currentItem}):u(this.options.items,this.element),this]],p=this._connectWith();if(p&&this.ready)for(e=p.length-1;0<=e;e--)for(i=(s=u(p[e],this.document[0])).length-1;0<=i;i--)(o=u.data(s[i],this.widgetFullName))&&o!==this&&!o.options.disabled&&(c.push(["function"==typeof o.options.items?o.options.items.call(o.element[0],t,{item:this.currentItem}):u(o.options.items,o.element),o]),this.containers.push(o));for(e=c.length-1;0<=e;e--)for(r=c[e][1],a=(n=c[e][i=0]).length;i<a;i++)(h=u(n[i])).data(this.widgetName+"-item",r),l.push({item:h,instance:r,width:0,height:0,left:0,top:0})},_refreshItemPositions:function(t){for(var e,i,s=this.items.length-1;0<=s;s--)e=this.items[s],this.currentContainer&&e.instance!==this.currentContainer&&e.item[0]!==this.currentItem[0]||(i=this.options.toleranceElement?u(this.options.toleranceElement,e.item):e.item,t||(e.width=i.outerWidth(),e.height=i.outerHeight()),i=i.offset(),e.left=i.left,e.top=i.top)},refreshPositions:function(t){var e,i;if(this.floating=!!this.items.length&&("x"===this.options.axis||this._isFloating(this.items[0].item)),this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset()),this._refreshItemPositions(t),this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(e=this.containers.length-1;0<=e;e--)i=this.containers[e].element.offset(),this.containers[e].containerCache.left=i.left,this.containers[e].containerCache.top=i.top,this.containers[e].containerCache.width=this.containers[e].element.outerWidth(),this.containers[e].containerCache.height=this.containers[e].element.outerHeight();return this},_createPlaceholder:function(i){var s,o,r=(i=i||this).options;r.placeholder&&r.placeholder.constructor!==String||(s=r.placeholder,o=i.currentItem[0].nodeName.toLowerCase(),r.placeholder={element:function(){var t=u("<"+o+">",i.document[0]);return i._addClass(t,"ui-sortable-placeholder",s||i.currentItem[0].className)._removeClass(t,"ui-sortable-helper"),"tbody"===o?i._createTrPlaceholder(i.currentItem.find("tr").eq(0),u("<tr>",i.document[0]).appendTo(t)):"tr"===o?i._createTrPlaceholder(i.currentItem,t):"img"===o&&t.attr("src",i.currentItem.attr("src")),s||t.css("visibility","hidden"),t},update:function(t,e){s&&!r.forcePlaceholderSize||(e.height()&&(!r.forcePlaceholderSize||"tbody"!==o&&"tr"!==o)||e.height(i.currentItem.innerHeight()-parseInt(i.currentItem.css("paddingTop")||0,10)-parseInt(i.currentItem.css("paddingBottom")||0,10)),e.width())||e.width(i.currentItem.innerWidth()-parseInt(i.currentItem.css("paddingLeft")||0,10)-parseInt(i.currentItem.css("paddingRight")||0,10))}}),i.placeholder=u(r.placeholder.element.call(i.element,i.currentItem)),i.currentItem.after(i.placeholder),r.placeholder.update(i,i.placeholder)},_createTrPlaceholder:function(t,e){var i=this;t.children().each(function(){u("<td>&#160;</td>",i.document[0]).attr("colspan",u(this).attr("colspan")||1).appendTo(e)})},_contactContainers:function(t){for(var e,i,s,o,r,n,h,a,l,c=null,p=null,f=this.containers.length-1;0<=f;f--)u.contains(this.currentItem[0],this.containers[f].element[0])||(this._intersectsWith(this.containers[f].containerCache)?c&&u.contains(this.containers[f].element[0],c.element[0])||(c=this.containers[f],p=f):this.containers[f].containerCache.over&&(this.containers[f]._trigger("out",t,this._uiHash(this)),this.containers[f].containerCache.over=0));if(c)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",t,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(i=1e4,s=null,o=(a=c.floating||this._isFloating(this.currentItem))?"left":"top",r=a?"width":"height",l=a?"pageX":"pageY",e=this.items.length-1;0<=e;e--)u.contains(this.containers[p].element[0],this.items[e].item[0])&&this.items[e].item[0]!==this.currentItem[0]&&(n=this.items[e].item.offset()[o],h=!1,t[l]-n>this.items[e][r]/2&&(h=!0),Math.abs(t[l]-n)<i)&&(i=Math.abs(t[l]-n),s=this.items[e],this.direction=h?"up":"down");(s||this.options.dropOnEmpty)&&(this.currentContainer===this.containers[p]?this.currentContainer.containerCache.over||(this.containers[p]._trigger("over",t,this._uiHash()),this.currentContainer.containerCache.over=1):(s?this._rearrange(t,s,null,!0):this._rearrange(t,null,this.containers[p].element,!0),this._trigger("change",t,this._uiHash()),this.containers[p]._trigger("change",t,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.scrollParent=this.placeholder.scrollParent(),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this.containers[p]._trigger("over",t,this._uiHash(this)),this.containers[p].containerCache.over=1))}},_createHelper:function(t){var e=this.options,t="function"==typeof e.helper?u(e.helper.apply(this.element[0],[t,this.currentItem])):"clone"===e.helper?this.currentItem.clone():this.currentItem;return t.parents("body").length||this.appendTo[0].appendChild(t[0]),t[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),t[0].style.width&&!e.forceHelperSize||t.width(this.currentItem.width()),t[0].style.height&&!e.forceHelperSize||t.height(this.currentItem.height()),t},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),"left"in(t=Array.isArray(t)?{left:+t[0],top:+t[1]||0}:t)&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&u.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),{top:(t=this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&u.ui.ie?{top:0,left:0}:t).top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){var t;return"relative"===this.cssPosition?{top:(t=this.currentItem.position()).top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}:{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,e,i=this.options;"parent"===i.containment&&(i.containment=this.helper[0].parentNode),"document"!==i.containment&&"window"!==i.containment||(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===i.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===i.containment?this.document.height()||document.body.parentNode.scrollHeight:this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(i.containment)||(t=u(i.containment)[0],i=u(i.containment).offset(),e="hidden"!==u(t).css("overflow"),this.containment=[i.left+(parseInt(u(t).css("borderLeftWidth"),10)||0)+(parseInt(u(t).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(u(t).css("borderTopWidth"),10)||0)+(parseInt(u(t).css("paddingTop"),10)||0)-this.margins.top,i.left+(e?Math.max(t.scrollWidth,t.offsetWidth):t.offsetWidth)-(parseInt(u(t).css("borderLeftWidth"),10)||0)-(parseInt(u(t).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(e?Math.max(t.scrollHeight,t.offsetHeight):t.offsetHeight)-(parseInt(u(t).css("borderTopWidth"),10)||0)-(parseInt(u(t).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(t,e){e=e||this.position;var t="absolute"===t?1:-1,i="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&u.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,s=/(html|body)/i.test(i[0].tagName);return{top:e.top+this.offset.relative.top*t+this.offset.parent.top*t-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():s?0:i.scrollTop())*t,left:e.left+this.offset.relative.left*t+this.offset.parent.left*t-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():s?0:i.scrollLeft())*t}},_generatePosition:function(t){var e=this.options,i=t.pageX,s=t.pageY,o="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&u.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,r=/(html|body)/i.test(o[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(t.pageX-this.offset.click.left<this.containment[0]&&(i=this.containment[0]+this.offset.click.left),t.pageY-this.offset.click.top<this.containment[1]&&(s=this.containment[1]+this.offset.click.top),t.pageX-this.offset.click.left>this.containment[2]&&(i=this.containment[2]+this.offset.click.left),t.pageY-this.offset.click.top>this.containment[3])&&(s=this.containment[3]+this.offset.click.top),e.grid)&&(t=this.originalPageY+Math.round((s-this.originalPageY)/e.grid[1])*e.grid[1],s=!this.containment||t-this.offset.click.top>=this.containment[1]&&t-this.offset.click.top<=this.containment[3]?t:t-this.offset.click.top>=this.containment[1]?t-e.grid[1]:t+e.grid[1],t=this.originalPageX+Math.round((i-this.originalPageX)/e.grid[0])*e.grid[0],i=!this.containment||t-this.offset.click.left>=this.containment[0]&&t-this.offset.click.left<=this.containment[2]?t:t-this.offset.click.left>=this.containment[0]?t-e.grid[0]:t+e.grid[0]),{top:s-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():r?0:o.scrollTop()),left:i-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():r?0:o.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var o=this.counter;this._delay(function(){o===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){this.reverting=!1;var i,s=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(i in this._storedCSS)"auto"!==this._storedCSS[i]&&"static"!==this._storedCSS[i]||(this._storedCSS[i]="");this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")}else this.currentItem.show();function o(e,i,s){return function(t){s._trigger(e,t,i._uiHash(i))}}for(this.fromOutside&&!e&&s.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||s.push(function(t){this._trigger("update",t,this._uiHash())}),this===this.currentContainer||e||(s.push(function(t){this._trigger("remove",t,this._uiHash())}),s.push(function(e){return function(t){e._trigger("receive",t,this._uiHash(this))}}.call(this,this.currentContainer)),s.push(function(e){return function(t){e._trigger("update",t,this._uiHash(this))}}.call(this,this.currentContainer))),i=this.containers.length-1;0<=i;i--)e||s.push(o("deactivate",this,this.containers[i])),this.containers[i].containerCache.over&&(s.push(o("out",this,this.containers[i])),this.containers[i].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!e){for(i=0;i<s.length;i++)s[i].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){!1===u.Widget.prototype._trigger.apply(this,arguments)&&this.cancel()},_uiHash:function(t){var e=t||this;return{helper:e.helper,placeholder:e.placeholder||u([]),position:e.position,originalPosition:e.originalPosition,offset:e.positionAbs,item:e.currentItem,sender:t?t.element:null}}})});
jQuery(document).ready(function ($){
'use strict';
if(typeof houzezProperty!=='undefined'){
var dtGlobals={};
dtGlobals.isMobile =
/(Android|BlackBerry|iPhone|iPad|Palm|Symbian|Opera Mini|IEMobile|webOS)/.test(navigator.userAgent
);
dtGlobals.isAndroid=/(Android)/.test(navigator.userAgent);
dtGlobals.isiOS=/(iPhone|iPod|iPad)/.test(navigator.userAgent);
dtGlobals.isiPhone=/(iPhone|iPod)/.test(navigator.userAgent);
dtGlobals.isiPad=/(iPad|iPod)/.test(navigator.userAgent);
var ajax_url=houzezProperty.ajaxURL;
var is_edit_property=houzezProperty.is_edit_property;
var houzez_logged_in=houzezProperty.houzez_logged_in;
var login_sending=houzezProperty.login_loading;
var process_loader_refresh=houzezProperty.process_loader_refresh;
var process_loader_spinner=houzezProperty.process_loader_spinner;
var process_loader_circle=houzezProperty.process_loader_circle;
var process_loader_cog=houzezProperty.process_loader_cog;
var success_icon=houzezProperty.success_icon;
var verify_nonce=houzezProperty.verify_nonce;
var verify_file_type=houzezProperty.verify_file_type;
var msg_digits=houzezProperty.msg_digits;
var max_prop_images=houzezProperty.max_prop_images;
var image_max_file_size=houzezProperty.image_max_file_size;
var max_prop_attachments=houzezProperty.max_prop_attachments;
var attachment_max_file_size=houzezProperty.attachment_max_file_size;
var add_listing_msg=houzezProperty.add_listing_msg;
var processing_text=houzezProperty.processing_text;
var plan_title_text=houzezProperty.plan_title_text;
var plan_size_text=houzezProperty.plan_size_text;
var plan_bedrooms_text=houzezProperty.plan_bedrooms_text;
var plan_bathrooms_text=houzezProperty.plan_bathrooms_text;
var plan_price_text=houzezProperty.plan_price_text;
var plan_price_postfix_text=houzezProperty.plan_price_postfix_text;
var plan_image_text=houzezProperty.plan_image_text;
var plan_description_text=houzezProperty.plan_description_text;
var plan_upload_text=houzezProperty.plan_upload_text;
var invoices_page_link=houzezProperty.invoices_page_link;
var mu_title_text=houzezProperty.mu_title_text;
var mu_type_text=houzezProperty.mu_type_text;
var mu_beds_text=houzezProperty.mu_beds_text;
var mu_baths_text=houzezProperty.mu_baths_text;
var mu_size_text=houzezProperty.mu_size_text;
var mu_size_postfix_text=houzezProperty.mu_size_postfix_text;
var mu_price_text=houzezProperty.mu_price_text;
var mu_price_postfix_text=houzezProperty.mu_price_postfix_text;
var mu_availability_text=houzezProperty.mu_availability_text;
var are_you_sure_text=houzezProperty.are_you_sure_text;
var delete_btn_text=houzezProperty.delete_btn_text;
var cancel_btn_text=houzezProperty.cancel_btn_text;
var confirm_btn_text=houzezProperty.confirm_btn_text;
var prop_title=houzezProperty.prop_title;
var prop_price=houzezProperty.prop_price;
var prop_sec_price=houzezProperty.prop_sec_price;
var prop_type=houzezProperty.prop_type;
var prop_status=houzezProperty.prop_status;
var prop_labels=houzezProperty.prop_labels;
var price_label=houzezProperty.price_label;
var prop_id=houzezProperty.prop_id;
var bedrooms=houzezProperty.bedrooms;
var bathrooms=houzezProperty.bathrooms;
var area_size=houzezProperty.area_size;
var land_area=houzezProperty.land_area;
var garages=houzezProperty.garages;
var year_built=houzezProperty.year_built;
var property_map_address=houzezProperty.property_map_address;
var neighborhood=houzezProperty.neighborhood;
var city=houzezProperty.city;
var state=houzezProperty.state;
var country=houzezProperty.country;
var enable_title_limit=houzezProperty.enable_title_limit;
var property_title_limit=houzezProperty.property_title_limit;
var fave_processing_modal=function (msg){
var process_modal =
'<div class="modal fade" id="fave_modal" tabindex="-1" role="dialog" aria-labelledby="faveModalLabel" aria-hidden="true"><div class="modal-dialog"><div class="modal-content"><div class="modal-body houzez_messages_modal">' +
msg +
'</div></div></div></div></div>';
jQuery('body').append(process_modal);
jQuery('#fave_modal').modal();
};
var fave_processing_modal_close=function (){
jQuery('#fave_modal').modal('hide');
};
function togglePricePlaceholder(){
if($('#show_price_placeholder').is(':checked')){
$('#price-plac-js').show();
}else{
$('#price-plac-js').hide();
}}
$('#show_price_placeholder').change(togglePricePlaceholder);
togglePricePlaceholder();
$('#invoice_status, #invoice_type').on('change', function (){
houzez_invoices_update_url();
});
$('#startDate, #endDate').on('change', function (){
houzez_invoices_update_url();
});
var houzez_invoices_update_url=function (){
var inv_status=$('#invoice_status').val(),
inv_type=$('#invoice_type').val(),
startDate=$('#startDate').val(),
endDate=$('#endDate').val();
var queryStringParts=[];
if(inv_status){
queryStringParts.push('invoice_status=' + encodeURIComponent(inv_status)
);
}
if(inv_type){
queryStringParts.push('invoice_type=' + encodeURIComponent(inv_type)
);
}
if(startDate){
queryStringParts.push('startDate=' + encodeURIComponent(startDate)
);
}
if(endDate){
queryStringParts.push('endDate=' + encodeURIComponent(endDate));
}
var queryString=queryStringParts.join('&');
var newUrl=invoices_page_link;
if(queryString){
newUrl +='?' + queryString;
}
window.location.href=newUrl;
};
var houzez_invoices_filter=function (){
var inv_status=$('#invoice_status').val(),
inv_type=$('#invoice_type').val(),
startDate=$('#startDate').val(),
endDate=$('#endDate').val();
$.ajax({
url: ajaxurl,
dataType: 'json',
type: 'POST',
data: {
action: 'houzez_invoices_ajax_search',
invoice_status: inv_status,
invoice_type: inv_type,
startDate: startDate,
endDate: endDate,
},
success: function (res){
if(res.success){
$('#invoices_content').empty().append(res.result);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
$('a.delete-property').on('click', function (){
var $this=$(this);
var propID=$this.data('id');
var propNonce=$this.data('nonce');
bootbox.confirm({
message:
'<strong>' +
houzezProperty.delete_confirmation +
'</strong>',
buttons: {
confirm: {
label: delete_btn_text,
className: 'btn btn-primary',
},
cancel: {
label: cancel_btn_text,
className: 'btn btn-grey-outlined',
},
},
callback: function (result){
if(result==true){
fave_processing_modal(processing_text);
$.ajax({
type: 'POST',
dataType: 'json',
url: ajax_url,
data: {
action: 'houzez_delete_property',
prop_id: propID,
security: propNonce,
},
success: function (response){
if(response.success==true){
window.location=response.data.redirect;
}else{
alert(response.data);
fave_processing_modal_close();
}},
error: function (errorThrown){},
});
}},
});
return false;
});
$('#property-author-js').on('change', function (){
var user_id=$(this).val();
$('input[name="property_author"]').val(user_id);
});
$('#property-author-mobile-js').on('change', function (){
var user_id=$(this).val();
$('input[name="property_author"]').val(user_id);
});
$('.houzez-prop-action-js').on('click', function (e){
e.preventDefault();
var $this=$(this);
var prop_id=$this.attr('data-propid');
var type=$this.attr('data-type');
bootbox.confirm({
message: '<strong>' + are_you_sure_text + '</strong>',
buttons: {
confirm: {
label: confirm_btn_text,
className: 'btn btn-primary',
},
cancel: {
label: cancel_btn_text,
className: 'btn btn-grey-outlined',
},
},
callback: function (result){
if(result==true){
fave_processing_modal(processing_text);
houzez_property_actions(prop_id, $this, type);
$this.unbind('click');
}},
});
});
var houzez_property_actions=function (prop_id, currentDiv, type){
var $messages=$('#dash-prop-msg');
$.ajax({
type: 'POST',
url: ajax_url,
dataType: 'JSON',
data: {
action: 'houzez_property_actions',
propid: prop_id,
type: type,
},
success: function (response){
if(response.success){
window.location.reload();
}else{
houzez_processing_modal_close();
$('html, body').animate({
scrollTop: $(
'.dashboard-content-inner-wrap'
).offset().top,
},
'slow'
);
$messages
.empty()
.append('<div class="alert alert-danger alert-dismissible fade show" role="alert">' +
houzezProperty.featured_listings_none +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
$('.make-prop-featured').on('click', function (e){
e.preventDefault();
var $this=$(this);
var prop_id=$this.attr('data-propid');
var prop_type=$this.attr('data-proptype');
bootbox.confirm({
message:
'<strong>' + houzezProperty.confirm_featured + '</strong>',
buttons: {
confirm: {
label: confirm_btn_text,
className: 'btn btn-primary',
},
cancel: {
label: cancel_btn_text,
className: 'btn btn-grey-outlined',
},
},
callback: function (result){
if(result==true){
fave_processing_modal(processing_text);
make_prop_featured(prop_id, $this, prop_type);
$this.unbind('click');
}},
});
});
var make_prop_featured=function (prop_id, currentDiv, prop_type){
var $messages=$('#dash-prop-msg');
$.ajax({
type: 'POST',
url: ajax_url,
dataType: 'JSON',
data: {
action: 'houzez_make_prop_featured',
propid: prop_id,
prop_type: prop_type,
},
success: function (res){
if(res.success){
window.location.reload();
}else{
houzez_processing_modal_close();
$('html, body').animate({
scrollTop: $(
'.dashboard-content-inner-wrap'
).offset().top,
},
'slow'
);
$messages
.empty()
.append('<div class="alert alert-danger alert-dismissible fade show" role="alert">' +
houzezProperty.featured_listings_none +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
$('.remove-prop-featured').click(function (e){
e.preventDefault();
var $this=$(this);
var prop_id=$this.attr('data-propid');
bootbox.confirm({
message:
'<strong>' +
houzezProperty.confirm_featured_remove +
'</strong>',
buttons: {
confirm: {
label: confirm_btn_text,
className: 'btn btn-primary',
},
cancel: {
label: cancel_btn_text,
className: 'btn btn-grey-outlined',
},
},
callback: function (result){
if(result==true){
fave_processing_modal(processing_text);
remove_prop_featured(prop_id, $this);
$(this).unbind('click');
}},
});
});
var remove_prop_featured=function (prop_id, currentDiv){
$.ajax({
type: 'POST',
url: ajax_url,
dataType: 'JSON',
data: {
action: 'houzez_remove_prop_featured',
propid: prop_id,
},
success: function (res){
if(res.success){
window.location.reload();
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
$('.resend-for-approval').click(function (e){
e.preventDefault();
var prop_id=$(this).attr('data-propid');
resend_for_approval(prop_id, $(this));
$(this).unbind('click');
});
var resend_for_approval=function (prop_id, currentDiv){
var $messages=$('#dash-prop-msg');
$.ajax({
type: 'POST',
url: ajax_url,
dataType: 'JSON',
data: {
action: 'houzez_resend_for_approval',
propid: prop_id,
},
beforeSend: function (){
fave_processing_modal(processing_text);
},
complete: function (){
houzez_processing_modal_close();
},
success: function (res){
if(res.success){
houzez_processing_modal_close();
window.location.reload();
}else{
houzez_processing_modal_close();
$('html, body').animate({
scrollTop: $(
'.dashboard-content-inner-wrap'
).offset().top,
},
'slow'
);
$messages
.empty()
.append('<div class="alert alert-danger alert-dismissible fade show" role="alert">' +
res.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
if($('#invoice-print-button').length > 0){
$('#invoice-print-button').click(function (e){
e.preventDefault();
var invoiceID, printWindow;
invoiceID=$(this).attr('data-id');
printWindow=window.open('',
'Print Me',
'width=800 ,height=842'
);
$.ajax({
type: 'POST',
url: ajax_url,
data: {
action: 'houzez_create_invoice_print',
invoice_id: invoiceID,
},
success: function (data){
printWindow.document.write(data);
printWindow.document.close();
printWindow.focus();
},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
});
}
var houzez_login_user_before_submit=function (currnt){
var $form=currnt.parents('form');
var $messages=$('#sumission_login_register_msgs');
var sp_username=$('#sp_username').val();
var sp_password=$('#sp_password').val();
var security=$('#houzez_register_security2').val();
var houzez_loggedin_success=$('#houzez_loggedin_success').val();
if(houzez_loggedin_success==1){
$('#submit_property_form').submit();
return;
}
$.ajax({
type: 'post',
url: ajax_url,
dataType: 'json',
data: {
action: 'houzez_login',
username: sp_username,
password: sp_password,
houzez_register_security2: security,
is_submit_listing: 'yes',
},
beforeSend: function (){
currnt.find('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
currnt.find('.houzez-loader-js').removeClass('loader-show');
},
success: function (response){
if(response.success){
$messages
.empty()
.append('<div class="alert alert-success" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
$('#submit_property_form').append('<input type="hidden" name="houzez_loggedin_success" id="houzez_loggedin_success" value="1">'
);
$('#submit_property_form').submit();
}else{
$messages
.empty()
.append('<div class="alert alert-danger" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
$('input[name="fave_agent_display_option"]').on('click', function (){
var $this=$(this);
var $contact_info=$this.val();
$('.agents-dropdown, .agencies-dropdown').hide();
if($contact_info=='agent_info'){
$('.agents-dropdown').show();
}else if($contact_info=='agency_info'){
$('.agencies-dropdown').show();
}});
var houzez_register_login_user_before_submit=function (currnt){
var $form=currnt.parents('form');
var $messages=$('#sumission_login_register_msgs');
var username=$('#username').val();
var useremail=$('#user_email').val();
var phone_number=$('#phone_number').val();
var user_role=$('#user_role').val();
var register_security=$('#houzez_register_security2').val();
var houzez_registered_success=$(
'#houzez_registered_success'
).val();
if(houzez_registered_success==1){
$('#submit_property_form').submit();
return;
}
$.ajax({
type: 'post',
url: ajax_url,
dataType: 'json',
data: {
action: 'houzez_register_user_with_membership',
username: username,
useremail: useremail,
phone_number: phone_number,
first_name: '',
last_name: '',
user_role: user_role,
houzez_register_security2: register_security,
is_submit_listing: 'yes',
},
beforeSend: function (){
currnt.find('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
currnt.find('.houzez-loader-js').removeClass('loader-show');
},
success: function (response){
if(response.success){
$messages
.empty()
.append('<div class="alert alert-success" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
$('#submit_property_form').append('<input type="hidden" name="houzez_registered_success" id="houzez_registered_success" value="1">'
);
$('#submit_property_form').submit();
}else{
$messages
.empty()
.append('<div class="alert alert-danger" role="alert"><i class="houzez-icon icon-check-circle-1 mr-1"></i>' +
response.msg +
'</div>'
);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
if(houzez_logged_in=='no'){
var add_new_property=$('#add_new_property');
if(add_new_property.length > 0){
add_new_property.on('click', function (e){
e.preventDefault();
var currnt=$(this);
var login_while_submission=$(
'#login_while_submission'
).val();
if(login_while_submission==1){
houzez_login_user_before_submit(currnt);
}else{
houzez_register_login_user_before_submit(currnt);
}
return;
});
}}
$('.clone-property').on('click', function (e){
e.preventDefault();
var $this=$(this);
var propid=$this.data('property');
var nonce=$this.data('nonce');
$.ajax({
url: ajax_url,
data: {
action: 'houzez_property_clone',
propID: propid,
security: nonce,
},
method: 'POST',
dataType: 'JSON',
beforeSend: function (){
houzez_processing_modal(processing_text);
},
success: function (response){
if(response.success){
window.location=response.data.redirect;
}},
complete: function (){},
});
});
$('.put-on-hold').on('click', function (e){
e.preventDefault();
var $this=$(this);
var propid=$this.data('property');
var nonce=$this.data('nonce');
$.ajax({
url: ajax_url,
data: {
action: 'houzez_property_on_hold',
propID: propid,
security: nonce,
},
method: 'POST',
dataType: 'JSON',
beforeSend: function (){
houzez_processing_modal(processing_text);
},
success: function (response){
window.location.reload();
},
complete: function (){},
});
});
$('.put-on-hold-package').click(function (e){
e.preventDefault();
var prop_id=$(this).data('property');
put_on_hold_package(prop_id, $(this));
$(this).unbind('click');
});
var put_on_hold_package=function (prop_id, currentDiv){
var $messages=$('#dash-prop-msg');
$.ajax({
type: 'POST',
url: ajax_url,
dataType: 'JSON',
data: {
action: 'houzez_property_on_hold_package',
propid: prop_id,
},
beforeSend: function (){
fave_processing_modal(processing_text);
},
complete: function (){
houzez_processing_modal_close();
},
success: function (res){
if(res.success){
houzez_processing_modal_close();
window.location.reload();
}else{
houzez_processing_modal_close();
$('html, body').animate({
scrollTop: $(
'.dashboard-content-inner-wrap'
).offset().top,
},
'slow'
);
$messages
.empty()
.append('<div class="alert alert-danger alert-dismissible fade show" role="alert">' +
res.msg +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'
);
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
};
$('.mark_as_sold_js').on('click', function (e){
e.preventDefault();
var $this=$(this);
var propid=$this.data('property');
var propNonce=$this.data('nonce');
$.ajax({
url: ajax_url,
data: {
action: 'houzez_property_mark_sold',
propID: propid,
security: propNonce,
},
method: 'POST',
dataType: 'JSON',
beforeSend: function (){
houzez_processing_modal(processing_text);
},
success: function (response){
if(response.success){
window.location.reload();
}},
complete: function (){},
});
});
$('a.relist-free').on('click', function (e){
e.preventDefault();
var $this=$(this);
var propid=$this.data('property');
$.ajax({
url: ajax_url,
data: {
action: 'houzez_relist_free',
propID: propid,
},
method: 'POST',
dataType: 'JSON',
beforeSend: function (){
houzez_processing_modal(processing_text);
},
success: function (response){
window.location.reload();
},
complete: function (){},
});
});
var houzez_validation=function (field_required){
if(field_required!=0){
return true;
}
return false;
};
var houzez_processing_modal=function (msg){
var process_modal =
'<div class="modal fade" id="fave_modal" tabindex="-1" role="dialog" aria-labelledby="faveModalLabel" aria-hidden="true"><div class="modal-dialog"><div class="modal-content"><div class="modal-body houzez_messages_modal">' +
msg +
'</div></div></div></div></div>';
jQuery('body').append(process_modal);
jQuery('#fave_modal').modal();
};
var houzez_processing_modal_close=function (){
jQuery('#fave_modal').modal('hide');
};
$('#save_as_draft').on('click', function (){
var $form=$('#submit_property_form');
var save_as_draft=$('#save_as_draft');
var description=tinyMCE.get('prop_des').getContent();
$.ajax({
type: 'post',
url: ajax_url,
dataType: 'json',
data:
$form.serialize() +
'&action=save_as_draft&description=' +
description,
beforeSend: function (){
$('.houzez-loader-js').addClass('loader-show');
},
complete: function (){
$('.houzez-loader-js').removeClass('loader-show');
},
success: function (response){
if(response.success){
$('input[name=draft_prop_id]').remove();
$('#submit_property_form').prepend('<input type="hidden" name="draft_prop_id" value="' +
response.property_id +
'">'
);
jQuery('#modal-save-draft').modal('show');
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
});
var title_length=function (){
var maxLength=property_title_limit;
$('#prop_title').keyup(function (){
var textlen=$(this).val().length;
$('#rchars').text(textlen);
});
};
if(enable_title_limit==1&&property_title_limit!=''){
title_length();
}
var add_new_property_validation=function (){
$('[data-hide]').on('click', function (){
$(this)
.closest('.' + $(this).attr('data-hide'))
.hide();
});
var current=1;
var form=$('#submit_property_form');
var formStep=$('.form-step');
var formStepGal=$('.form-step-gal');
var formStepLocation=$('.form-step-location');
var btnnext=$('.btn-next');
var btnback=$('.btn-back');
var btncancel=$('.btn-cancel');
var btnsubmit_block=$('.btn-step-submit');
var btnsubmit=form.find("button[type='submit']");
var gallery_image_req=$('.form-step-gal').data('gallery-reg');
gallery_image_req=parseInt(gallery_image_req);
var menu_edit_property=$('.menu-edit-property li a');
var menu_edit_mobile=$('#menu_edit_mobile');
var errorBlock=$('.validate-errors');
var errorBlockGal=$('.validate-errors-gal');
var galThumbs=$('.property-thumb');
$('.steps-total').html(formStep.length);
formStep.not(':eq(0)').hide();
formStep.eq(0).addClass('active');
var hideButtons=function (current){
var limit=parseInt(formStep.length);
$('.action').hide();
if(current < limit) btnnext.show();
if(current > 1){
btnback.show();
btncancel.hide();
}else{
btnback.hide();
btncancel.show();
}
if(current==limit){
btnnext.hide();
btnsubmit_block.show();
}else{
btnsubmit_block.hide();
}};
hideButtons(current);
menu_edit_property.on('click', function (e){
e.preventDefault();
var $this=$(this);
var $current=$this.data('val');
var blocks=$('.dashboard-content-block-wrap');
if(form.valid()){
errorBlock.hide();
menu_edit_property.removeClass('active');
$this.addClass('active');
blocks.hide();
$('#' + $current).show();
}else{
errorBlock.show();
}});
menu_edit_mobile.on('change', function (e){
e.preventDefault();
var $this=$(this);
var $current=$this.val();
var blocks=$('.dashboard-content-block-wrap');
if(form.valid()){
errorBlock.hide();
menu_edit_property.removeClass('active');
$this.addClass('active');
blocks.hide();
$('#' + $current).show();
}else{
errorBlock.show();
}});
btnnext.click(function (e){
e.preventDefault();
$('html, body').animate({
scrollTop:
$('.dashboard-content-inner-wrap').offset().top -
150,
},
'slow'
);
if(dtGlobals.isiOS){
property_gallery_images();
}
if(current < formStep.length){
if($(formStepGal).is(':visible')&&gallery_image_req){
if(!$('.property-thumb').length > 0){
$('#houzez_gallery_dragDrop').addClass('is-invalid'
);
errorBlockGal.show();
return;
}else{
$('#houzez_gallery_dragDrop').removeClass('is-invalid'
);
errorBlockGal.hide();
}}
if(form.valid()){
formStep.removeClass('active').css({ display: 'none' });
formStep
.eq(current++)
.addClass('active')
.css({ display: 'block' });
errorBlock.hide();
}else{
errorBlock.show();
form.find('select').selectpicker('refresh');
}}
hideButtons(current);
$('.steps-counter').html(current);
});
btnback.click(function (e){
e.preventDefault();
errorBlock.hide();
$('html, body').animate({
scrollTop:
$('.dashboard-content-inner-wrap').offset().top -
150,
},
'slow'
);
if(current > 1){
current=current - 2;
if(current < formStep.length){
formStep.removeClass('active').css({ display: 'none' });
formStep
.eq(current++)
.addClass('active')
.css({ display: 'block' });
}}
hideButtons(current);
$('.steps-counter').html(current);
});
btnsubmit.click(function (){
if($(formStepGal).is(':visible')&&gallery_image_req){
if(!$('.property-thumb').length > 0){
$('#houzez_gallery_dragDrop').addClass('is-invalid');
errorBlockGal.show();
$('html, body').animate({
scrollTop: $('.form-step-gal').offset().top,
},
'slow'
);
return false;
}else{
$('#houzez_gallery_dragDrop').removeClass('is-invalid');
errorBlockGal.hide();
}}
if(form.valid()){
errorBlock.hide();
}else{
errorBlock.show();
$('html, body').animate({
scrollTop:
$('.dashboard-content-inner-wrap').offset()
.top - 150,
},
'slow'
);
}});
if(form.length > 0){
form.validate({
ignore: ':hidden:not(.submit-form-wrap .account-block.active .selectpicker)',
errorPlacement: function (error, element){
return false;
},
rules: {},
messages: {},
highlight: function (element, errorClass, validClass){
$(element)
.addClass('is-invalid')
.removeClass('is-valid');
$(element)
.parent('.bootstrap-select')
.addClass('is-invalid')
.removeClass('is-valid');
$(element)
.parent('.control--checkbox')
.find('.control__indicator')
.addClass('is-invalid')
.removeClass('is-valid');
},
unhighlight: function (element, errorClass, validClass){
$(element).removeClass('is-invalid');
$(element)
.parent('.bootstrap-select')
.removeClass('is-invalid');
$(element)
.parent('.control--checkbox')
.find('.control__indicator')
.removeClass('is-invalid');
},
submitHandler: function (form){
$('.houzez-submit-js').attr('disabled', true);
$('.houzez-submit-js .houzez-loader-js').addClass('loader-show'
);
form.submit();
},
});
}};
add_new_property_validation();
$('#houzez_additional_details_main').sortable({
revert: 100,
placeholder: 'detail-placeholder',
handle: '.sort-additional-row',
cursor: 'move',
});
$('.add-additional-row').click(function (e){
e.preventDefault();
var numVal=$(this).data('increment') + 1;
$(this).data('increment', numVal);
$(this).attr({
'data-increment': numVal,
});
var newAdditionalDetail =
'<tr>' +
'<td class="table-half-width">' +
'<input class="form-control" type="text" name="additional_features[' +
numVal +
'][fave_additional_feature_title]" id="fave_additional_feature_title_' +
numVal +
'" value="">' +
'</td>' +
'<td class="table-half-width">' +
'<input class="form-control" type="text" name="additional_features[' +
numVal +
'][fave_additional_feature_value]" id="fave_additional_feature_value_' +
numVal +
'" value="">' +
'</td>' +
'<td class="">' +
'<a class="sort-additional-row btn btn-light-grey-outlined"><i class="houzez-icon icon-navigation-menu"></i></a>' +
'</td>' +
'<td>' +
'<button data-remove="' +
numVal +
'" class="remove-additional-row btn btn-light-grey-outlined"><i class="houzez-icon icon-close"></i></button>' +
'</td>' +
'</tr>';
$('#houzez_additional_details_main').append(newAdditionalDetail);
removeAdditionalDetails();
});
var removeAdditionalDetails=function (){
$('.remove-additional-row').click(function (event){
event.preventDefault();
var $this=$(this);
$this.closest('tr').remove();
});
};
removeAdditionalDetails();
$('#add-floorplan-row').click(function (e){
e.preventDefault();
var numVal=$(this).data('increment') + 1;
$(this).data('increment', numVal);
$(this).attr({
'data-increment': numVal,
});
var newFloorPlan =
'' +
'<div class="houzez-floorplan-clone">' +
'<div class="row">' +
'<div class="col-md-12 col-sm-12">' +
'<div class="remove-floorplan-row" data-remove="' +
numVal +
'">' +
'<i class="houzez-icon icon-remove-circle mr-2"></i>' +
'</div>' +
'<div class="form-group">' +
'<label for="floor_plans[' +
numVal +
'][fave_plan_title]">' +
plan_title_text +
'</label>' +
'<input name="floor_plans[' +
numVal +
'][fave_plan_title]" type="text" id="fave_plan_title_' +
numVal +
'" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="floor_plans[' +
numVal +
'][fave_plan_rooms]">' +
plan_bedrooms_text +
'</label>' +
'<input name="floor_plans[' +
numVal +
'][fave_plan_rooms]" type="text" id="fave_plan_rooms_' +
numVal +
'" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="floor_plans[' +
numVal +
'][fave_plan_bathrooms]">' +
plan_bathrooms_text +
'</label>' +
'<input name="floor_plans[' +
numVal +
'][fave_plan_bathrooms]" type="text" id="fave_plan_bathrooms_' +
numVal +
'" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="floor_plans[' +
numVal +
'][fave_plan_price]">' +
plan_price_text +
'</label>' +
'<input name="floor_plans[' +
numVal +
'][fave_plan_price]" type="text" id="fave_plan_price_' +
numVal +
'" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="floor_plans[' +
numVal +
'][fave_plan_price_postfix]">' +
plan_price_postfix_text +
'</label>' +
'<input name="floor_plans[' +
numVal +
'][fave_plan_price_postfix]" type="text" id="fave_plan_price_postfix_' +
numVal +
'" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="floor_plans[' +
numVal +
'][fave_plan_size]">' +
plan_size_text +
'</label>' +
'<input name="floor_plans[' +
numVal +
'][fave_plan_size]" type="text" id="fave_plan_size_' +
numVal +
'" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="floor_plans[' +
numVal +
'][fave_plan_image]">' +
plan_image_text +
'</label>' +
'<div class="d-flex align-items-start">' +
'<img class="floor-thumb img-fluid" src="https://placehold.it/100x75" width="100" height="75" alt="thumb">' +
'<div class="ml-2">' +
'<a href="#" id="floorplan-file-select-' +
numVal +
'" class="floorplan-file-select btn btn-primary btn-full-width">' +
plan_upload_text +
'</a>' +
'<input name="floor_plans[' +
numVal +
'][fave_plan_image]" type="hidden" id="fave_plan_image_' +
numVal +
'" class="fave_plan_image form-control" value="">' +
'<small class="form-text text-muted">' +
houzezProperty.plan_upload_size +
'</small>' +
'<div class="errors-log"></div>' +
'<div class="progress houzez-hidden"></div>' +
'</div>' +
'</div>' +
'</div>' +
'</div>' +
'<div class="col-md-12 col-sm-12">' +
'<div class="form-group">' +
'<label for="floor_plans[' +
numVal +
'][fave_plan_description]">' +
plan_description_text +
'</label>' +
'<textarea name="floor_plans[' +
numVal +
'][fave_plan_description]" rows="4" id="fave_plan_description_' +
numVal +
'" class="form-control"></textarea>' +
'</div>' +
'</div>' +
'</div>' +
'<hr>' +
'</div>';
$('#houzez_floor_plans_main').append(newFloorPlan);
removeFloorPlans();
bindFloorPlanEvents();
});
var removeFloorPlans=function (){
$('.remove-floorplan-row').click(function (event){
event.preventDefault();
var $this=$(this);
$this.parents('.houzez-floorplan-clone').remove();
});
};
removeFloorPlans();
$('#add-subproperty-row').click(function (e){
e.preventDefault();
var numVal=$(this).data('increment') + 1;
$(this).data('increment', numVal);
$(this).attr({
'data-increment': numVal,
});
var newSubProperty =
'' +
'<div class="houzez-units-clone">' +
'<div class="row">' +
'<div class="col-md-12 col-sm-12">' +
'<div class="remove-subproperty-row" data-remove="' +
numVal +
'">' +
'<i class="houzez-icon icon-remove-circle mr-2"></i>' +
'</div>' +
'<div class="form-group">' +
'<label for="fave_multi_units[' +
numVal +
'][fave_mu_title]">' +
mu_title_text +
'</label>' +
'<input name="fave_multi_units[' +
numVal +
'][fave_mu_title]" type="text" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="fave_multi_units[' +
numVal +
'][fave_mu_beds]">' +
mu_beds_text +
'</label>' +
'<input name="fave_multi_units[' +
numVal +
'][fave_mu_beds]" type="text" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="fave_multi_units[' +
numVal +
'][fave_mu_baths]">' +
mu_baths_text +
'</label>' +
'<input name="fave_multi_units[' +
numVal +
'][fave_mu_baths]" type="text" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="fave_multi_units[' +
numVal +
'][fave_mu_size]">' +
mu_size_text +
'</label>' +
'<input name="fave_multi_units[' +
numVal +
'][fave_mu_size]" type="text" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="fave_multi_units[' +
numVal +
'][fave_mu_size_postfix]">' +
mu_size_postfix_text +
'</label>' +
'<input name="fave_multi_units[' +
numVal +
'][fave_mu_size_postfix]" type="text" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="fave_multi_units[' +
numVal +
'][fave_mu_price]">' +
mu_price_text +
'</label>' +
'<input name="fave_multi_units[' +
numVal +
'][fave_mu_price]" type="text" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="fave_multi_units[' +
numVal +
'][fave_mu_price_postfix]">' +
mu_price_postfix_text +
'</label>' +
'<input name="fave_multi_units[' +
numVal +
'][fave_mu_price_postfix]" type="text" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="fave_multi_units[' +
numVal +
'][fave_mu_type]">' +
mu_type_text +
'</label>' +
'<input name="fave_multi_units[' +
numVal +
'][fave_mu_type]" type="text" class="form-control">' +
'</div>' +
'</div>' +
'<div class="col-md-6 col-sm-12">' +
'<div class="form-group">' +
'<label for="fave_multi_units[' +
numVal +
'][fave_mu_availability_date]">' +
mu_availability_text +
'</label>' +
'<input name="fave_multi_units[' +
numVal +
'][fave_mu_availability_date]" type="text" class="form-control">' +
'</div>' +
'</div>' +
'</div>' +
'<hr>' +
'</div>';
$('#multi_units_main').append(newSubProperty);
removeSubProperty();
});
var removeSubProperty=function (){
$('.remove-subproperty-row').click(function (event){
event.preventDefault();
var $this=$(this);
$this.parents('.houzez-units-clone').remove();
});
};
removeSubProperty();
var property_gallery_images=function(){
$("#houzez_property_gallery_container").sortable({
placeholder: "sortable-placeholder",
revert:100,
cursor:'move'
});
var galleryUploader=new plupload.Uploader({
browse_button: 'select_gallery_images',
file_data_name: 'property_upload_file',
container: 'houzez_gallery_dragDrop',
drop_element: 'houzez_gallery_dragDrop',
url: ajax_url + "?action=houzez_property_img_upload&verify_nonce=" + verify_nonce,
filters: {
mime_types:[
{ title:verify_file_type, extensions:"jpg,jpeg,gif,png,webp" }
],
max_file_size: image_max_file_size,
prevent_duplicates: false
}});
galleryUploader.init();
galleryUploader.bind('FilesAdded', function(up, files){
var houzez_thumbs="";
var maxfiles=max_prop_images;
var totalFiles=$('.property-thumb').length;
if(totalFiles >=maxfiles){
$('.max-limit-error').show();
up.splice();
return false;
}else{
var uploads=files.slice(0,(maxfiles - totalFiles) );
var thumbnailsContainer=document.getElementById('houzez_property_gallery_container');
plupload.each(uploads, function(file){
thumbnailsContainer.innerHTML +='<div id="thumb-holder-' + file.id + '" class="col-md-2 col-sm-4 col-6 property-thumb houzez-during-upload">' + '' + '</div>';
});
up.refresh();
galleryUploader.start();
}
$('.upload-image-counter .uploaded').text($('.property-thumb').length);
});
galleryUploader.bind('UploadProgress', function(up, file){
var holder=document.getElementById("thumb-holder-" + file.id),
imageThumb=$('.property-thumb'),
height=150;
if(holder){
if(imageThumb.length){
height=imageThumb.first().height();
}}
holder.innerHTML='<div class="gallery-thumb-inner upload-progress" style="height:' + height + 'px;"><span class="progress-bar"></span><span class="progress" style="width:' + file.percent + '%;"></span><span class="progress-text">' + file.percent + '%</span></div>';
return false;
});
galleryUploader.bind('Error', function(up, err){
document.getElementById('houzez_errors').innerHTML +="<br/>" + "Error #" + err.code + ": " + err.message;
});
galleryUploader.bind('FileUploaded', function(up, file, ajax_response){
var response=$.parseJSON(ajax_response.response);
var thumbHolder=document.getElementById("thumb-holder-" + file.id);
if(response.success){
document.getElementById('houzez_errors').innerHTML="";
if(thumbHolder){
var gallery_thumbnail='<img class="img-fluid" src="' + response.url + '" alt="" />' +
'<div class="upload-gallery-thumb-buttons">'+
'<button class="icon icon-fav icon-featured" data-property-id="'+ 0 +'" data-attachment-id="' + response.attachment_id + '"><i class="houzez-icon icon-rating-star full-star"></i></button>'+
'<button class="icon icon-delete" data-property-id="'+ 0 +'" data-attachment-id="' + response.attachment_id + '"><span class="btn-loader houzez-loader-js"></span><i class="houzez-icon icon-remove-circle"></i></button>'+
'</div>'+
'<input type="hidden" class="propperty-image-id" name="propperty_image_ids[]" value="' + response.attachment_id + '"/>';
thumbHolder.innerHTML=gallery_thumbnail;
}}else{
if(thumbHolder){
thumbHolder.remove();
}
document.getElementById('houzez_errors').innerHTML=response.reason;
}});
$(document).on('click', '.icon-featured', function(e){
e.preventDefault();
var $this=jQuery(this);
var thumb_id=$this.data('attachment-id');
$('.property-thumb .featured_image_id').remove();
$('.property-thumb .icon-featured').removeClass('text-success');
$this.closest('.property-thumb').append('<input type="hidden" class="featured_image_id" name="featured_image_id" value="'+thumb_id+'">');
$this.addClass('text-success');
});
$(document).on('click', '.icon-delete', function(e){
e.preventDefault();
var $this=$(this);
var galleryThumbnail=$this.closest('.property-thumb');
var loader=$this.siblings('.icon-loader');
var prop_id=$this.data('property-id');
var thumb_id=$this.data('attachment-id');
loader.show();
var ajax_request=$.ajax({
type: 'post',
url: ajax_url,
dataType: 'json',
data: {
'action': 'houzez_remove_property_thumbnail',
'prop_id': prop_id,
'thumb_id': thumb_id,
'removeNonce': verify_nonce
},
beforeSend: function(){
$this.find('.houzez-loader-js').addClass('loader-show');
},
});
ajax_request.done(function(response){
if(response.remove_attachment){
galleryUploader.removeFile(galleryThumbnail);
galleryThumbnail.remove();
var galleryItems=$('.property-thumb').length;
$('.upload-image-counter .uploaded').text(galleryItems);
$('.max-limit-error').hide();
}else{
document.getElementById('houzez_errors').innerHTML +="Error:Failed to remove attachment" + "<br/>";
}});
ajax_request.fail(function(jqXHR, textStatus){
alert("Request failed: " + textStatus);
});
galleryUploader.splice();
});
}
property_gallery_images();
var propertyAttachmentEvents=function (){
$('#houzez_attachments_container').sortable({
revert: 100,
placeholder: 'attachments-placeholder',
handle: '.sort-attachment',
cursor: 'move',
});
$('.attachment-delete').on('click', function (e){
e.preventDefault();
var $this=$(this);
var thumbnail=$this.closest('.attach-thumb');
var loader=$this.siblings('.icon-loader');
var prop_id=$this.data('attach-id');
var thumb_id=$this.data('attachment-id');
loader.show();
var ajax_request=$.ajax({
type: 'post',
url: ajax_url,
dataType: 'json',
data: {
action: 'houzez_remove_property_documents',
prop_id: prop_id,
thumb_id: thumb_id,
removeNonce: verify_nonce,
},
});
ajax_request.done(function (response){
if(response.remove_attachment){
thumbnail.remove();
}else{
}});
ajax_request.fail(function (jqXHR, textStatus){
alert('Request failed: ' + textStatus);
});
});
};
propertyAttachmentEvents();
var houzez_property_attachments=function (){
var atch_uploader=new plupload.Uploader({
browse_button: 'select_attachments',
file_data_name: 'property_attachment_file',
url:
ajax_url +
'?action=houzez_property_attachment_upload&verify_nonce=' +
verify_nonce,
filters: {
mime_types: [
{
title: verify_file_type,
extensions: 'jpg,jpeg,png,pdf,zip',
},
],
max_file_size: attachment_max_file_size,
prevent_duplicates: true,
},
});
atch_uploader.init();
atch_uploader.bind('FilesAdded', function (up, files){
var houzez_thumbs='';
var maxfiles=max_prop_attachments;
if(up.files.length > maxfiles){
up.splice(maxfiles);
alert('no more than ' + maxfiles + ' file(s)');
return;
}
plupload.each(files, function (file){
houzez_thumbs +=
'<tr id="attachment-holder-' +
file.id +
'" class="attach-thumb">' +
'' +
'</tr>';
});
document.getElementById('houzez_attachments_container'
).innerHTML +=houzez_thumbs;
up.refresh();
atch_uploader.start();
});
atch_uploader.bind('UploadProgress', function (up, file){
document.getElementById('attachment-holder-' + file.id
).innerHTML='<span>' + file.percent + '%</span>';
});
atch_uploader.bind('Error', function (up, err){
document.getElementById('houzez_atach_errors').innerHTML +=
'<br/>' + 'Error #' + err.code + ': ' + err.message;
});
atch_uploader.bind('FileUploaded',
function (up, file, ajax_response){
var response=$.parseJSON(ajax_response.response);
if(response.success){
var attachment_file =
'' +
'<td class="table-full-width table-cell-title">' +
'<span>' +
response.attach_title +
'</span>' +
'</td>' +
'<td>' +
'<a href="' +
response.url +
'" target="_blank" class="btn btn-light-grey-outlined"><i class="houzez-icon icon-download-bottom"></i></a>' +
'</td>' +
'<td>' +
'<button data-attach-id="' +
0 +
'"  data-attachment-id="' +
response.attachment_id +
'" class="attachment-delete btn btn-light-grey-outlined"><i class="houzez-icon icon-close"></i></button>' +
'</td>' +
'<td class="sort-attachment">' +
'<a class="btn btn-light-grey-outlined"><i class="houzez-icon icon-navigation-menu"></i></a>' +
'</td>' +
'<input type="hidden" class="propperty-attach-id" name="propperty_attachment_ids[]" value="' +
response.attachment_id +
'"/>';
document.getElementById('attachment-holder-' + file.id
).innerHTML=attachment_file;
propertyAttachmentEvents();
}else{
console.log(response);
}}
);
};
houzez_property_attachments();
var floorPlanImage=function ($button){
var $button=$button||'floorplan-file-select';
var $this=$('#' + $button);
var parent=$this.parents('.houzez-floorplan-clone');
var uploadErrors=parent.find('.errors-log');
var uploader_floor=new plupload.Uploader({
browse_button: $button,
file_data_name: 'property_upload_file',
url:
ajax_url +
'?action=houzez_property_img_upload&verify_nonce=' +
verify_nonce,
multi_selection: false,
filters: {
mime_types: [
{
title: verify_file_type,
extensions: 'jpg,jpeg,gif,pdf,png,webp',
},
],
max_file_size: '12000kb',
prevent_duplicates: true,
},
});
uploader_floor.init();
uploader_floor.bind('FilesAdded', function (up, files){
var maxfiles=max_prop_images;
if(up.files.length > maxfiles){
up.splice(maxfiles);
alert('no more than ' + maxfiles + ' file(s)');
return;
}
plupload.each(files, function (file){});
up.refresh();
uploader_floor.start();
});
uploader_floor.bind('UploadProgress', function (up, file){
parent.find('.progress').removeClass('houzez-hidden');
parent
.find('.progress')
.html('<div class="progress-bar" role="progressbar" style="width: ' +
file.percent +
'%" aria-valuenow="' +
file.percent +
'" aria-valuemin="0" aria-valuemax="100"></div>'
);
});
uploader_floor.bind('Error', function (up, err){
uploadErrors.html('Error #' + err.code + ': ' + err.message);
});
uploader_floor.bind('FileUploaded',
function (up, file, ajax_response){
var response=$.parseJSON(ajax_response.response);
if(response.success){
uploadErrors.html('');
parent
.find('.fave_plan_image')
.val(response.full_image);
parent
.find('.floor-thumb')
.attr('src', response.full_image);
parent.find('.progress').html('');
parent.find('.progress').addClass('houzez-hidden');
}else{
console.log(response);
uploadErrors.html(response.reason);
parent.find('.floor-thumb').attr('src', '');
parent.find('.progress').html('');
parent.find('.progress').addClass('houzez-hidden');
}}
);
};
var bindFloorPlanEvents=function (){
var $houzezFloorplanClone=$('.houzez-floorplan-clone');
$.each($houzezFloorplanClone, function (index, value){
var browseButton=$(value)
.find('.floorplan-file-select')
.attr('id');
floorPlanImage(browseButton);
});
};
bindFloorPlanEvents();
var thread_message_attachment=function (){
var uploader=new plupload.Uploader({
browse_button: 'thread-message-attachment',
file_data_name: 'messages_upload_file',
container: 'property-thumbs-container',
multi_selection: true,
url:
ajax_url +
'?action=houzez_message_attacment_upload&verify_nonce=' +
verify_nonce,
filters: {
max_file_size: image_max_file_size,
prevent_duplicates: true,
},
});
uploader.init();
uploader.bind('FilesAdded', function (up, files){
var html='';
var propertyThumb='';
var maxfiles=max_prop_images;
if(up.files.length > maxfiles){
up.splice(maxfiles);
alert('no more than ' + maxfiles + ' file(s)');
return;
}
plupload.each(files, function (file){
propertyThumb +=
'<div id="thumb-holder-' +
file.id +
'" class="property-thumb">' +
'' +
'</div>';
});
document.getElementById('property-thumbs-container'
).innerHTML +=propertyThumb;
up.refresh();
uploader.start();
});
uploader.bind('UploadProgress', function (up, file){
document.getElementById('thumb-holder-' + file.id).innerHTML =
'<li><lable>' +
file.name +
'<span>' +
file.percent +
'%</span></lable></li>';
});
uploader.bind('Error', function (up, err){
document.getElementById('errors-log').innerHTML +=
'<br/>' + 'Error #' + err.code + ': ' + err.message;
});
uploader.bind('FileUploaded', function (up, file, ajax_response){
var response=$.parseJSON(ajax_response.response);
if(response.success){
console.log(ajax_response);
var message_html =
'<li>' +
'<div class="attach-icon delete-attachment">' +
'<i class="fa fa-trash remove-message-attachment" data-attachment-id="' +
response.attachment_id +
'"></i>' +
'</div>' +
'<span class="attach-text">' +
response.file_name +
'</span>' +
'<input type="hidden" class="propperty-image-id" name="propperty_image_ids[]" value="' +
response.attachment_id +
'"/>' +
'</li>';
document.getElementById('thumb-holder-' + file.id
).innerHTML=message_html;
messageAttachment();
thread_message_attachment();
}else{
console.log(response);
alert('error');
}});
uploader.refresh();
};
thread_message_attachment();
var messageAttachment=function (){
$('.remove-message-attachment').on('click', function (){
var $this=$(this);
var thumbnail=$this.closest('li');
var thumb_id=$this.data('attachment-id');
$this.removeClass('fa-trash');
$this.addClass('fa-spinner');
var ajax_request=$.ajax({
type: 'post',
url: ajax_url,
dataType: 'json',
data: {
action: 'houzez_remove_message_attachment',
thumbnail_id: thumb_id,
},
});
ajax_request.done(function (response){
if(response.attachment_remove){
thumbnail.remove();
}else{
}
thread_message_attachment();
});
ajax_request.fail(function (jqXHR, textStatus){
alert('Request failed: ' + textStatus);
});
});
};
$('.houzez_delete_msg_thread').on('click', function (e){
e.preventDefault();
var $this=$(this);
var thread_id=$this.data('thread-id');
var sender_id=$this.data('sender-id');
var receiver_id=$this.data('receiver-id');
bootbox.confirm({
message: '<p><strong>' + are_you_sure_text + '</strong></p>',
buttons: {
confirm: {
label: delete_btn_text,
className: 'btn btn-primary',
},
cancel: {
label: cancel_btn_text,
className: 'btn btn-grey-outlined',
},
},
callback: function (result){
if(result==true){
fave_processing_modal(processing_text);
$.ajax({
type: 'POST',
dataType: 'json',
url: ajax_url,
data: {
action: 'houzez_delete_message_thread',
thread_id: thread_id,
sender_id: sender_id,
receiver_id: receiver_id,
},
beforeSend: function (){},
success: function (data){
if(data.success==true){
window.location.reload();
}else{
jQuery('#fave_modal').modal('hide');
}},
error: function (errorThrown){},
});
}},
});
});
$('.houzez_delete_message').on('click', function (e){
e.preventDefault();
var $this=$(this);
var message_id=$this.data('message-id');
var created_by=$this.data('created-by');
bootbox.confirm({
message: '<p><strong>' + are_you_sure_text + '</strong></p>',
buttons: {
confirm: {
label: delete_btn_text,
className: 'btn btn-primary',
},
cancel: {
label: cancel_btn_text,
className: 'btn btn-grey-outlined',
},
},
callback: function (result){
if(result==true){
fave_processing_modal(processing_text);
$.ajax({
type: 'POST',
dataType: 'json',
url: ajax_url,
data: {
action: 'houzez_delete_message',
message_id: message_id,
created_by: created_by,
},
beforeSend: function (){},
success: function (data){
if(data.success==true){
window.location.reload();
}else{
jQuery('#fave_modal').modal('hide');
}},
error: function (errorThrown){},
});
}},
});
});
$('.remove-search').on('click', function (e){
e.preventDefault();
var $this=$(this);
var prop_id=$this.data('propertyid');
var removeBlock=$this.parents('.saved-search-block');
$this.parents('tr').remove();
$.ajax({
url: ajax_url,
dataType: 'JSON',
method: 'POST',
data: {
action: 'houzez_delete_search',
property_id: prop_id,
},
beforeSend: function (){},
success: function (res){
if(res.success){
}},
error: function (xhr, status, error){
var err=eval('(' + xhr.responseText + ')');
console.log(err.Message);
},
});
});
var login_here=$('.login-here');
var register_here=$('.register-here');
var step_login=$('.step-tab-login');
var step_register=$('.step-tab-register');
$('.step-login-btn a').on('click', function (e){
var this_login=$(this);
if(this_login.hasClass('login-here')){
this_login.hide();
register_here.show();
step_login.show();
step_register.hide();
$('#submit_property_form').append('<input type="hidden" name="login_while_submission" id="login_while_submission" value="1">'
);
}else{
this_login.hide();
login_here.show();
step_login.hide();
step_register.show();
$('#login_while_submission').remove();
}
e.preventDefault();
});
if($('#top-browsers-doughnut-chart').length > 0){
var chartData=$('#top-browsers-doughnut-chart').data('chart');
var ctx=document
.getElementById('top-browsers-doughnut-chart')
.getContext('2d');
var myDoughnutChart=new Chart(ctx, {
type: 'doughnut',
data: {
datasets: [
{
data: chartData,
backgroundColor: [
'rgba(255, 99, 132, 0.5)',
'rgba(54, 162, 235, 0.5)',
'rgba(255, 206, 86, 0.5)',
'rgba(75, 192, 192, 0.5)',
],
borderColor: [
'rgba(255 ,99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
],
borderWidth: 1,
},
],
},
options: {
cutoutPercentage: 60,
responsive: false,
tooltips: false,
},
});
}
if($('#devices-doughnut-chart').length > 0){
var chartData=$('#devices-doughnut-chart').data('chart');
var ctx=document
.getElementById('devices-doughnut-chart')
.getContext('2d');
var myDoughnutChart=new Chart(ctx, {
type: 'doughnut',
data: {
datasets: [
{
data: chartData,
backgroundColor: [
'rgba(255, 99, 132, 0.5)',
'rgba(54, 162, 235, 0.5)',
'rgba(255, 206, 86, 0.5)',
'rgba(75, 192, 192, 0.5)',
],
borderColor: [
'rgba(255 ,99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
],
borderWidth: 1,
},
],
},
options: {
cutoutPercentage: 60,
responsive: false,
tooltips: false,
},
});
}
if($('#top-countries-doughnut-chart').length > 0){
var chartData=$('#top-countries-doughnut-chart').data('chart');
var ctx=document
.getElementById('top-countries-doughnut-chart')
.getContext('2d');
var myDoughnutChart=new Chart(ctx, {
type: 'doughnut',
data: {
datasets: [
{
data: chartData,
backgroundColor: [
'rgba(255, 99, 132, 0.5)',
'rgba(54, 162, 235, 0.5)',
'rgba(255, 206, 86, 0.5)',
'rgba(75, 192, 192, 0.5)',
],
borderColor: [
'rgba(255 ,99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
],
borderWidth: 1,
},
],
},
options: {
cutoutPercentage: 60,
responsive: false,
tooltips: false,
},
});
}
if($('#top-platforms-doughnut-chart').length > 0){
var chartData=$('#top-platforms-doughnut-chart').data('chart');
var ctx=document
.getElementById('top-platforms-doughnut-chart')
.getContext('2d');
var myDoughnutChart=new Chart(ctx, {
type: 'doughnut',
data: {
datasets: [
{
data: chartData,
backgroundColor: [
'rgba(255, 99, 132, 0.5)',
'rgba(54, 162, 235, 0.5)',
'rgba(255, 206, 86, 0.5)',
'rgba(75, 192, 192, 0.5)',
],
borderColor: [
'rgba(255 ,99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
],
borderWidth: 1,
},
],
},
options: {
cutoutPercentage: 60,
responsive: false,
tooltips: false,
},
});
}
var visits_chart_24h=$('#visits-chart-24h');
if(visits_chart_24h.length > 0){
var labels=visits_chart_24h.data('labels');
var views=visits_chart_24h.data('views');
var unique=visits_chart_24h.data('unique');
var visit_label=visits_chart_24h.data('visit-label');
var unique_label=visits_chart_24h.data('unique-label');
var ctx=document
.getElementById('visits-chart-24h')
.getContext('2d');
var myChart=new Chart(ctx, {
type: 'line',
data: {
labels: labels,
datasets: [
{
label: visit_label,
data: views,
backgroundColor: ['rgba(255, 99, 132, 0.1)'],
borderColor: ['rgba(255, 99, 132, 1)'],
borderWidth: 2,
},
{
label: unique_label,
data: unique,
backgroundColor: ['rgba(54, 162, 235, 0.3)'],
borderColor: [
'rgba(54, 162, 235, 1)',
],
borderWidth: 2,
},
],
},
options: {
legend: {
display: true,
position: 'top',
labels: {
boxWidth: 12,
},
},
scales: {
yAxes: [
{
ticks: {
beginAtZero: true,
},
gridLines: {
display: true,
},
},
],
xAxes: [
{
gridLines: {
display: false,
},
},
],
},
tooltips: {
callbacks: {
labelColor: function (tooltipItem, chart){
if(tooltipItem.datasetIndex===0){
return {
borderColor: 'rgba(255, 99, 132, 1)',
backgroundColor:
'rgba(255, 99, 132, 1)',
};}else if(tooltipItem.datasetIndex===1){
return {
borderColor: 'rgba(54, 162, 235, 1)',
backgroundColor:
'rgba(54, 162, 235, 1)',
};}},
labelTextColor: function (tooltipItem, chart){
return '#fff';
},
},
},
},
});
}
var visits_chart_7d=$('#visits-chart-7d');
if(visits_chart_7d.length > 0){
var labels_7d=visits_chart_7d.data('labels');
var views_7d=visits_chart_7d.data('views');
var unique_7d=visits_chart_7d.data('unique');
var visit_label_7d=visits_chart_7d.data('visit-label');
var unique_label_7d=visits_chart_7d.data('unique-label');
var ctx=document
.getElementById('visits-chart-7d')
.getContext('2d');
var myChart=new Chart(ctx, {
type: 'line',
data: {
labels: labels_7d,
datasets: [
{
label: visit_label_7d,
data: views_7d,
backgroundColor: ['rgba(255, 99, 132, 0.1)'],
borderColor: ['rgba(255, 99, 132, 1)'],
borderWidth: 2,
},
{
label: unique_label_7d,
data: unique_7d,
backgroundColor: ['rgba(54, 162, 235, 0.3)'],
borderColor: [
'rgba(54, 162, 235, 1)',
],
borderWidth: 2,
},
],
},
options: {
legend: {
display: true,
position: 'top',
labels: {
boxWidth: 12,
},
},
scales: {
yAxes: [
{
ticks: {
beginAtZero: true,
},
gridLines: {
display: true,
},
},
],
xAxes: [
{
gridLines: {
display: false,
},
},
],
},
tooltips: {
callbacks: {
labelColor: function (tooltipItem, chart){
if(tooltipItem.datasetIndex===0){
return {
borderColor: 'rgba(255, 99, 132, 1)',
backgroundColor:
'rgba(255, 99, 132, 1)',
};}else if(tooltipItem.datasetIndex===1){
return {
borderColor: 'rgba(54, 162, 235, 1)',
backgroundColor:
'rgba(54, 162, 235, 1)',
};}},
labelTextColor: function (tooltipItem, chart){
return '#fff';
},
},
},
},
});
}
var visits_chart_30d=$('#visits-chart-30d');
if(visits_chart_30d.length > 0){
var labels_30d=visits_chart_30d.data('labels');
var views_30d=visits_chart_30d.data('views');
var unique_30d=visits_chart_30d.data('unique');
var visit_label_30d=visits_chart_30d.data('visit-label');
var unique_label_30d=visits_chart_30d.data('unique-label');
var ctx=document
.getElementById('visits-chart-30d')
.getContext('2d');
var myChart=new Chart(ctx, {
type: 'line',
data: {
labels: labels_30d,
datasets: [
{
label: visit_label_30d,
data: views_30d,
backgroundColor: ['rgba(255, 99, 132, 0.1)'],
borderColor: ['rgba(255, 99, 132, 1)'],
borderWidth: 2,
},
{
label: unique_label_30d,
data: unique_30d,
backgroundColor: ['rgba(54, 162, 235, 0.3)'],
borderColor: [
'rgba(54, 162, 235, 1)',
],
borderWidth: 2,
},
],
},
options: {
legend: {
display: true,
position: 'top',
labels: {
boxWidth: 12,
},
},
scales: {
yAxes: [
{
ticks: {
beginAtZero: true,
},
gridLines: {
display: true,
},
},
],
xAxes: [
{
gridLines: {
display: false,
},
},
],
},
tooltips: {
callbacks: {
labelColor: function (tooltipItem, chart){
if(tooltipItem.datasetIndex===0){
return {
borderColor: 'rgba(255, 99, 132, 1)',
backgroundColor:
'rgba(255, 99, 132, 1)',
};}else if(tooltipItem.datasetIndex===1){
return {
borderColor: 'rgba(54, 162, 235, 1)',
backgroundColor:
'rgba(54, 162, 235, 1)',
};}},
labelTextColor: function (tooltipItem, chart){
return '#fff';
},
},
},
},
});
}
var deals_doughnut_chart=$('#deals-doughnut-chart');
if(deals_doughnut_chart.length > 0){
var active_deals=deals_doughnut_chart.data('active');
var won_deals=deals_doughnut_chart.data('won');
var lost_deals=deals_doughnut_chart.data('lost');
var ctx=document
.getElementById('deals-doughnut-chart')
.getContext('2d');
var myDoughnutChart=new Chart(ctx, {
type: 'doughnut',
data: {
datasets: [
{
data: [active_deals, won_deals, lost_deals],
backgroundColor: [
'rgba(255, 206, 86, 0.5)',
'rgba(75, 192, 192, 0.5)',
'rgba(255, 99, 132, 0.5)',
],
borderColor: [
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
'rgba(255 ,99, 132, 1)',
],
borderWidth: 1,
},
],
},
options: {
cutoutPercentage: 60,
responsive: false,
tooltips: false,
},
});
}}
});