var epl={ui:{init:null,prefix:"epl_ui_",tabs:null,accordion:null},helpers:{error:null,strip_html_special_chars:null,string_to_name:null},hooks:null};!function(l){epl.ui.init=function(){epl.ui.tabs(".epl-tabs, .epl-tabs-horizontal"),epl.ui.tabs({selector:".epl-tabs-vertical",type:"vertical"}),epl.ui.accordion(".epl-accordion")},epl.helpers.error=function(e){throw e},epl.helpers.ajax_submit=function(t,r){l(document).on("submit",l(t),function(e){e.preventDefault(),l.ajax({method:"POST",url:epl_frontend_vars.ajaxurl,data:{action:r,data:l(t).serialize()}}).done(function(e){})})},epl.helpers.strip_html_special_chars=function(e){var t=document.createElement("div");return t.innerHTML=e,(e=t.textContent||t.innerText).replace(/\W+/g," ")},epl.helpers.string_to_name=function(e){return e=(e=epl.helpers.strip_html_special_chars(e)).toLowerCase(e),l.trim(e.replace(/ /g,"_"))},epl.helpers.get_unique_name=function(e,t){var r=epl.helpers.string_to_name(e);if(name_orig=void 0===t?r:t+"["+r+"]",l('[name="'+name_orig+'"]').length)for(var n=1;0<l('[name="'+name_orig+'"]').length;)name_orig="undefined"==t?r+"_"+n:t+"["+r+"_"+n+"]",n++;return name_orig},epl.ui.tabs=function(){var e=arguments,r=null,t={selector:null,first:0,type:"horizontal"},n={};0<e.length?("string"==typeof e[0]?r=e[0]:"object"==typeof e[0]&&(r=(n=e[0]).selector),l.extend(!0,t,n),l(r).each(function(){l(this).addClass(epl.ui.prefix+"tab_wrapper "+epl.ui.prefix+"tab_wrapper_"+t.type+" epl-clearfix"),l(this).children("div").each(function(e){e==t.first&&l(this).addClass(epl.ui.prefix+"tab_content_current"),l(this).addClass(epl.ui.prefix+"tab_content")}),l(this).find("ul:first li").each(function(e){e==t.first&&(l(this).addClass(epl.ui.prefix+"tab_menu_current"),l(this).closest("ul").addClass(epl.ui.prefix+"tab_menu_wrapper "+epl.ui.prefix+"tab_menu_wrapper_"+t.type)),l(this).addClass(epl.ui.prefix+"tab_menu"),l(this).on("click",function(e){var t=l(this).children("a:first").attr("href");e.preventDefault(),l(this).trigger("tabchange",l(this).index()),l(this).siblings().removeClass(epl.ui.prefix+"tab_menu_current"),l(this).addClass(epl.ui.prefix+"tab_menu_current"),l(this).closest(r).find(t).siblings().removeClass(epl.ui.prefix+"tab_content_current"),l(this).closest(r).find(t).addClass(epl.ui.prefix+"tab_content_current")})})})):epl.helpers.error("no arguments passed to tabs")},epl.ui.accordion=function(){var e=arguments,t=null,i={selector:null,first:0,head:"h3",allClosed:!1,allOpen:!1,autoClose:!0},r={};0<e.length?("string"==typeof e[0]?t=e[0]:"object"==typeof e[0]&&(t=(r=e[0]).selector),l.extend(!0,i,r),l(t).each(function(){var n=l(this);n.addClass(epl.ui.prefix+"accordion_wrapper"),n.children(i.head).each(function(e){var t=l(this),r=t.next();t.addClass(epl.ui.prefix+"accordion_menu"),r.addClass(epl.ui.prefix+"accordion_content"),i.allOpen?(i.allClosed=!1,t.addClass(epl.ui.prefix+"accordion_menu_current"),r.addClass(epl.ui.prefix+"accordion_content_current"),r.show()):i.allClosed?(t.removeClass(epl.ui.prefix+"accordion_menu_current"),r.removeClass(epl.ui.prefix+"accordion_content_current"),r.hide()):e===i.first?(t.addClass(epl.ui.prefix+"accordion_menu_current"),r.addClass(epl.ui.prefix+"accordion_content_current"),r.show()):r.hide(),t.on("click",function(e){t.toggleClass(epl.ui.prefix+"accordion_menu_current"),r.slideToggle("fast"),i.autoClose&&(t.siblings(i.head).removeClass(epl.ui.prefix+"accordion_menu_current"),t.siblings("div").not(r).slideUp("fast")),t.hasClass(epl.ui.prefix+"accordion_menu_current")?n.trigger("accordionOpened",[t,r]):n.trigger("accordionClosed",[t,r])})})})):epl.helpers.error("no arguments passed to tabs")},epl.hooks_api=function(){var r=Array.prototype.slice,i={removeFilter:function(e,t){"string"==typeof e&&n("filters",e,t);return i},applyFilters:function(){var e=r.call(arguments),t=e.shift();return"string"!=typeof t?i:a("filters",t,e)},addFilter:function(e,t,r,n){"string"==typeof e&&"function"==typeof t&&(r=parseInt(r||10,10),l("filters",e,t,r,n));return i},removeAction:function(e,t){"string"==typeof e&&n("actions",e,t);return i},doAction:function(){var e=r.call(arguments),t=e.shift();"string"==typeof t&&a("actions",t,e);return i},addAction:function(e,t,r,n){"string"==typeof e&&"function"==typeof t&&(r=parseInt(r||10,10),l("actions",e,t,r,n));return i}},o={actions:{},filters:{}};function n(e,t,r,n){var i,l,a;if(o[e][t])if(r)if(i=o[e][t],n)for(a=i.length;a--;)(l=i[a]).callback===r&&l.context===n&&i.splice(a,1);else for(a=i.length;a--;)i[a].callback===r&&i.splice(a,1);else o[e][t]=[]}function l(e,t,r,n,i){r={callback:r,priority:n,context:i},n=(n=o[e][t])?(n.push(r),function(e){for(var t,r,n,i=1,l=e.length;i<l;i++){for(t=e[i],r=i;(n=e[r-1])&&n.priority>t.priority;)e[r]=e[r-1],--r;e[r]=t}return e}(n)):[r];o[e][t]=n}function a(e,t,r){var n,i,l=o[e][t];if(!l)return"filters"===e&&r[0];if(i=l.length,"filters"===e)for(n=0;n<i;n++)r[0]=l[n].callback.apply(l[n].context,r);else for(n=0;n<i;n++)l[n].callback.apply(l[n].context,r);return"filters"!==e||r[0]}return i},epl.hooks=new epl.hooks_api}(jQuery),jQuery(document).ready(function(e){epl.ui.init()});
function eplGetCookie(e){return EPL_Front_Js.get_cookie(e)}function EPL_Default_Map_Loader(){"undefined"!=typeof EPL_Front_Js&&EPL_Front_Js.default_map&&EPL_Front_Js.default_map()}jQuery(document).ready(function(d){Number.prototype.formatMoney=function(e,t,a){var r,e=isNaN(e=Math.abs(e))?2:e,t=null==t?epl_frontend_vars.decimal_sep:t,a=null==a?epl_frontend_vars.thousand_sep:a,n=this<0?"-":"",l=parseInt(r=Math.abs(+this||0).toFixed(e))+"",s=3<(s=l.length)?s%3:0;return n+(s?l.substr(0,s)+a:"")+l.substr(s).replace(/(\d{3})(?=\d)/g,"$1"+a)+(e?t+Math.abs(r-l).toFixed(e).slice(2):"")},EPL_Front_Js={init:function(){this.sort_listings(),this.author_tabs(),this.switch_view(),this.set_default_view(),this.listing_search_tabs(),this.field_sliders(),this.epl_search(),this.contact_form_submit();var e=new Event("EPL_Front_Js_ready");document.dispatchEvent(e)},property_search:function(){var t;1==d("#property_id").length&&(t=null,d("#property_id").keyup(function(){if(""==d("#property_id").val())return d(".epl-property-suggestion").fadeOut(),!1;null!=t&&clearTimeout(t);var e=d(this).val();data={action:"epl_search_listing",s:e},t=setTimeout(function(){t=null,d.ajax({type:"POST",data:data,url:ajaxurl,success:function(e){1==d(".epl-property-suggestion").length?d(".epl-property-suggestion").replaceWith(e):d("#property_id").after(e),d(".epl-property-suggestion").fadeIn()}})},300)}),d(document.body).on("click",".epl-property-suggestion li",function(e){d("#property_id").val(d(this).data("id")),d(".epl-property-suggestion").fadeOut().remove()}))},sort_listings:function(){jQuery(".epl-sort-listings").on("change",function(){var e=jQuery(this).val(),t=jQuery(this).data("instance-id"),a=window.location.href,a=EPL_Front_Js.update_url_param(a,"sortby",e);""!=t&&(a=EPL_Front_Js.update_url_param(a,"instance_id",t)),window.location.replace(a)})},get_cookie:function(e){for(var t,a,r=document.cookie.split(";"),n=0;n<r.length;n++)if(t=r[n].substr(0,r[n].indexOf("=")),a=r[n].substr(r[n].indexOf("=")+1),(t=t.replace(/^\s+|\s+$/g,""))==e)return unescape(a)},update_url_param:function(e,t,a){var r=e.indexOf("#"),n=-1===r?"":e.substr(r),r=(e=-1===r?e:e.substr(0,r),new RegExp("([?&])"+t+"=.*?(&|$)","i")),l=-1!==e.indexOf("?")?"&":"?";return(e=e.match(r)?e.replace(r,"$1"+t+"="+a+"$2"):e+l+t+"="+a)+n},author_tabs:function(){jQuery("ul.epl-author-tabs li").click(function(){var e=jQuery(this).closest(".epl-author-box-container").attr("id"),t=jQuery(this).attr("data-tab");jQuery("#"+e+" ul.epl-author-tabs li").removeClass("epl-author-current"),jQuery("#"+e+" .epl-author-tab-content").removeClass("epl-author-current"),jQuery(this).addClass("epl-author-current"),jQuery("#"+e+" #"+t).addClass("epl-author-current")})},default_map:function(){"object"==typeof google&&"object"==typeof google.maps&&d(".epl-map-shortcode").each(function(){var r,n,l,s,e=d(this),t=e.data("cord"),a=e.data("address"),i=e.data("zoom"),o=e.data("id"),p=e.data("suburb_mode");""!=t?(t=t.split(","),new google.maps.Geocoder,t={center:eplmapcord=new google.maps.LatLng(t[0],t[1]),zoom:i},t=new google.maps.Map(e[0],t),new google.maps.Marker({map:t,position:eplmapcord,icon:epl_frontend_vars.image_base+"default.png"})):""!=a&&(t=a,r=p,n=o,l=e,s=i,(eplgeocoder=new google.maps.Geocoder).geocode({address:t},function(e,t){var a;t==google.maps.GeocoderStatus.OK&&(t={center:e[0].geometry.location,zoom:s},t=new google.maps.Map(l[0],t),a="default.png",1!=r?0<n&&d.ajax({type:"POST",url:epl_frontend_vars.ajaxurl,data:{_epl_nonce:epl_frontend_vars.ajax_nonce,action:"epl_update_listing_coordinates",coordinates:e[0].geometry.location.toString(),listid:n}}).done(function(e){}):a="suburb.png",new google.maps.Marker({map:t,position:e[0].geometry.location,icon:epl_frontend_vars.image_base+a}))}))})},set_default_view:function(){var e;void 0!==eplGetCookie("preferredView")?(e=this.get_cookie("preferredView"),jQuery('.epl-switch-view ul li[data-view="'+e+'"]').trigger("click")):"grid"==epl_frontend_vars.epl_default_view_type&&jQuery('.epl-switch-view ul li[data-view="grid"]').trigger("click")},switch_view:function(){jQuery(".epl-switch-view ul li").click(function(){var e=jQuery(this).data("view");d.ajax({type:"POST",url:epl_frontend_vars.ajaxurl,data:{action:"epl_update_default_view",view:e}}).done(function(e){}),"undefined"==typeof listingsMasonEnabled&&(jQuery(".epl-switch-view ul li").removeClass("epl-current-view"),jQuery(this).addClass("epl-current-view"),"grid"==e?(jQuery(".epl-property-blog").addClass("epl-listing-grid-view"),jQuery(".epl-listing-grid-view.epl-property-blog").each(function(e){0})):jQuery(".epl-property-blog").removeClass("epl-listing-grid-view"))})},listing_search_tabs:function(){d(".epl-search-tabs").each(function(){new r(d(this))});var e=d.getUrlVar("instance_id");let t=d.getUrlVar("form_tab"),a=d('.epl-search-container[data-instance-id="'+e+'"]');a.length&&a.find('li[data-tab="epl_ps_tab_'+t+'"]').length&&setTimeout(()=>{console.log('tab switched li[data-tab="epl_ps_tab_'+t+'"]'),a.find('li[data-tab="epl_ps_tab_'+t+'"]').trigger("click")},200)},get_url_vars:function(){for(var e,t=[],a=window.location.href.slice(window.location.href.indexOf("?")+1).split("&"),r=0;r<a.length;r++)e=a[r].split("="),t.push(e[0]),t[e[0]]=e[1];return t},get_url_var:function(e){return this.get_url_vars()[e]},field_sliders:function(){var e=d(".epl-search-form"),t=epl_frontend_vars.field_sliders;e.each(function(e){var u=d(this);d.each(t,function(l,s){var i,r,o,p,t,c,e,a;elExists=!0,d.each(s.els,function(e,t){d("."+t).length?d("."+t).closest(".epl-search-row").hide():elExists=!1}),elExists&&(s.els.length<2?(t=isNaN(Number(d("."+s.els[0]).data("min")))?s.min:Number(d("."+s.els[0]).data("min")),c=isNaN(Number(d("."+s.els[0]).data("max")))?s.max:Number(d("."+s.els[0]).data("max")),a=!1,(e=d("."+s.els[0]+" option").eq(1).val())&&-1!==e.toString().indexOf("-")&&(a=!0),p=t,void 0!==(e=d.getUrlVar(s.els[0]))&&(p=parseInt(e)),d("."+s.els[0]).closest(".epl-search-row").after('<div class="epl-lf-range-slider epl-search-row epl-search-row-select fm-block epl-search-row-full "><label class="epl-search-label fm-label label_'+l+'" for="'+l+'">'+s.label+'</label><div class="field"><div class="'+l+'"></div></div></div>'),a?(i=[t,c],void 0!==e&&-1!==e.toString().indexOf("-")&&(a=e.split("-"),i=[parseInt(a[0]),parseInt(a[1])]),d("."+l).each(function(e){var n=d(this).closest(".epl-lf-range-slider");d(this).slider({range:!0,min:t,max:c,animate:!0,values:i,slide:function(e,t){var a=t.values[0]+"-"+t.values[1],a=(d("."+s.els[0]+" option").remove(),d("."+s.els[0]).append(new Option(t.values[0].formatMoney(0)+"-"+t.values[1].formatMoney(0),a)),d("."+s.els[0]).val(a).change(),s.prefix+t.values[0].formatMoney(0)+s.suffix),t=s.prefix+t.values[1].formatMoney(0)+s.suffix;n.find(".label_"+l).html(s.label+epl_frontend_vars.range_html.replace("{range_start}",a).replace("{range_sep}",s.separator||" - ").replace("{range_end}",t))},stop:function(e,t){},create:function(e,t){var a=s.prefix+i[0].formatMoney(0)+s.suffix,r=s.prefix+i[1].formatMoney(0)+s.suffix;n.find(".label_"+l).html(s.label+epl_frontend_vars.range_html.replace("{range_start}",a).replace("{range_sep}",s.separator||" - ").replace("{range_end}",r))}})})):d("."+l).each(function(e){var a=d(this).closest(".epl-lf-range-slider");d(this).slider({min:t,max:c,range:"min",animate:!0,value:p,slide:function(e,t){d("."+s.els[0]).append(new Option(t.value.formatMoney(0),t.value)),d("."+s.els[0]).val(t.value).change(),a.find(".label_"+l).html(s.label+epl_frontend_vars.range_html.replace("{range_start}",s.prefix+t.value.formatMoney(0)+s.suffix).replace("{range_sep}","").replace("{range_end}",""))},stop:function(e,t){},create:function(e,t){a.find(".label_"+l).html(s.label+epl_frontend_vars.range_html.replace("{range_start}",s.prefix+p.formatMoney(0)+s.suffix).replace("{range_sep}","").replace("{range_end}",""))}})})):(r=u.find("."+s.els[0]),o=u.find("."+s.els[1]),o.find("option").each(function(){d(this).attr("value"),d(this).text()}),p=[r.data("min"),r.data("max")],t=isNaN(Number(r.data("min")))?s.min:Number(r.data("min")),c=isNaN(Number(o.data("max")))?s.max:Number(o.data("max")),e=d.getUrlVar(s.els[0]),a=d.getUrlVar(s.els[1]),void 0!==e&&""!=e&&(e=parseInt(e)),void 0!==a&&""!=a&&(a=parseInt(a)),(void 0!==e&&""!=e||void 0!==a&&""!=a)&&(p=[e,a]),r.closest(".epl-search-row").after('<div class="epl-lf-range-slider epl-search-row epl-search-row-select fm-block epl-search-row-full "><label class="epl-search-label fm-label label_'+l+'" for="'+l+'">'+s.label+'</label><div class="field"><div class="'+l+'"></div></div></div>'),u.find("."+l).each(function(e){var n=d(this).closest(".epl-lf-range-slider");d(this).slider({range:!0,step:0<u.find("."+s.els[1]).has("option").length?Number(u.find("."+s.els[1]+" option:eq(2)").val())-Number(u.find("."+s.els[1]+" option:eq(1)").val()):s.step,min:t,max:c,animate:!0,values:p,slide:function(e,t){r.append(new Option(t.values[0].formatMoney(0),t.values[0])),r.append(new Option(t.values[1].formatMoney(0),t.values[1])),o.append(new Option(t.values[0].formatMoney(0),t.values[0])),o.append(new Option(t.values[1].formatMoney(0),t.values[1])),r.val(t.values[0]).change(),o.val(t.values[1]).change();var a=s.prefix+t.values[0].formatMoney(0)+s.suffix,t=s.prefix+t.values[1].formatMoney(0)+s.suffix;n.find(".label_"+l).html(s.label+epl_frontend_vars.range_html.replace("{range_start}",a).replace("{range_sep}",s.separator).replace("{range_end}",t))},stop:function(e,t){},create:function(e,t){var a=s.prefix+p[0].formatMoney(0)+s.suffix,r=s.prefix+p[1].formatMoney(0)+s.suffix;n.find(".label_"+l).html(s.label+epl_frontend_vars.range_html.replace("{range_start}",a).replace("{range_sep}",s.separator).replace("{range_end}",r))}})})))})})},epl_search:function(){d(".epl-search-form form").on("submit",function(e){e.preventDefault();var t,a=d(this).serialize().split("&"),r=[];for(t in a)"string"==typeof a[t]&&a[t].split("=")[1]&&r.push(a[t]);e=r.join("&"),e=epl_frontend_vars.site_url+"?"+e;location.href=e})},contact_form_submit:function(){d(".epl-contact-capture-form form").on("submit",function(e){var t=d(this),e=(e.preventDefault(),d(this).serializeArray());e.push({name:"action",value:"epl_contact_capture_action"}),d.ajax({type:"POST",url:epl_frontend_vars.ajaxurl,data:e,dataType:"json"}).done(function(e){d(".epl-contact-widget-msgs").remove(),t.after('<div class="epl-contact-widget-msgs epl-contact-widget-msg-'+e.status+'">'+e.msg+"</div>"),"success"==e.status&&t.trigger("reset")})})}};class r{constructor(e){this.$tabContainer=e,this.$tabLinks=this.$tabContainer.find("li.tab-link"),this.$tabContents=this.$tabContainer.parent().find(".epl-search-form"),this.setupListeners()}setupListeners(){this.$tabLinks.on("click",e=>{this.switchTab(d(e.currentTarget))})}switchTab(e){var t=e.attr("data-tab");this.$tabLinks.removeClass("epl-sb-current"),this.$tabContents.removeClass("epl-sb-current"),e.addClass("epl-sb-current"),d("#"+t).addClass("epl-sb-current"),this.$tabLinks.trigger("after_tab_switch",{content:d("#"+t),tab_id:t})}}EPL_Front_Js.init()}),jQuery.extend({getUrlVars:function(){return EPL_Front_Js.get_url_vars()},getUrlVar:function(e){return EPL_Front_Js.get_url_var(e)}}),"complete"===document.readyState||"interactive"===document.readyState?EPL_Default_Map_Loader():document.addEventListener("EPL_Front_Js_ready",EPL_Default_Map_Loader),window.EPL_Default_Map_Loader=EPL_Default_Map_Loader;