<!DOCTYPE html>
<html lang="en-us">
	<head>
	<script>
                document.addEventListener("DOMContentLoaded", function(event) {
                    function usmPageRenderUtil(){var e=this;e.pageCategory="",e.heroElements=[],e.fpTime=null,e.fmpTime=null,e.fmpToTti=null,e.ttiTime=null,e.checker=null,e.waitTime=5e3,e.debug=!1,e.run=function(t){var n=t.heroElementIdentifiers||[".page-hero-element"];return e.pageCategory=t.pageCategory,e.debug=t.debug||!1,new Promise(function(t,r){e.observePaint().then(function(){e.observeHeroElements(n).then(function(){e.observeLongTasks().then(function(){e.fmpToTti=e.ttiTime-e.fmpTime,e.debug&&(console.log("FP: "+e.fpTime),console.log("FMP: "+e.fmpTime),console.log("FMP to TTI: "+e.fmpToTti),console.log("TTI: "+e.ttiTime)),t(e)})})})})},e.observePaint=function(){return new Promise(function(t,n){if(PerformanceObserver===null||PerformanceObserver===undefined)return n(),!1;var r=new PerformanceObserver(function(n){var r=n.getEntries();for(var i in r){var s=r[i],o=s.name;e.fpTime=performance.now();if("first-paint"===s.name){e.debug&&(console.log(s),console.log("metricName"),console.log(o)),t();return}}});r.observe({entryTypes:["paint"]})})},e.observeHeroElements=function(t){return new Promise(function(n,r){t=t.join(),e.debug&&console.log("Hero elements: "+t),e.heroElements=[].slice.call(document.querySelectorAll(t)),e.debug&&console.log("Hero elements count: ["+e.heroElements.length+"]");var i=new MutationObserver(function(t){for(var r=0;r<e.heroElements.length;r++){var s=e.heroElements[r];document.contains(s)&&e.heroElements.splice(r,1)}e.heroElements.length<=0&&(i.disconnect(),e.fmpTime=performance.now(),e.debug&&console.log("Hero observer disconnected. ["+e.getCurrentTime(!0)+"] Unix: ["+e.getCurrentTime()+"]"),n()),e.debug&&console.log("Hero elements not displayed. ["+e.heroElements.length+"].")});i.observe(document,{attributes:!0,childList:!0,characterData:!1,subtree:!0})})},e.observeLongTasks=function(){return new Promise(function(t,n){if(PerformanceObserver===null||PerformanceObserver===undefined)return n(),!1;var r=new PerformanceObserver(function(n){var i=n.getEntries();for(var s in i){var o=i[s];o instanceof PerformanceLongTaskTiming&&(e.debug&&console.log(o),e.scheduleCheck(r,t))}});r.observe({entryTypes:["longtask"]})})},this.scheduleCheck=function(e,t){var n=this,r=performance.now();clearTimeout(this.checker),this.checker=setTimeout(function(){n.ttiTime=r,e.disconnect(),t(),n.debug&&console.log("Performance observer disconnected. ["+n.getCurrentTime(!0)+"] Unix: ["+n.getCurrentTime()+"]")},n.waitTime)},e.getCurrentTime=function(e){return e===!0?(new Date).toUTCString():(new Date).getTime()},e.getPayload=function(){return{"Time to Interactive":e.formatTime(e.ttiTime),"First Paint":e.formatTime(e.fpTime),"First Meaningful Paint":e.formatTime(e.fmpTime),"FMP to TTI":e.formatTime(e.fmpToTti),"Page Category":e.pageCategory}},e.formatTime=function(e){e/=1e3;var t=Math.pow(10,1);return Math.round(e*t)/t}};
                    var renderUtil = new usmPageRenderUtil();
                    var debug = false;
                    renderUtil.run({heroElementIdentifiers: false, pageCategory: "Blog.xml:", debug: debug}).then(function (renderUtil) {
                        if (debug) {
                            console.log(renderUtil.getPayload());
                        }
                    });
                });
            </script><script>
dataLayer = [{"hasNoSEO":"UA-73987-40","hasGlobalRE":"UA-73987-25","hasTurnkey":"UA-73987-26","hasCompassV2":"UA-73987-51","NumberOfAgents":38,"NumberOfAgentWebsites":0,"MLS":["MA_MLSPIN","CT_SMARTMLS"],"CallTracking":false,"MapSearchV2":true,"OffMarketProperty":false,"VendorsPage":false,"Blog":true,"LuxuryBuildings":false,"TownPages":false,"MarketReportTool":true,"AVMTool":true,"LeadRouter":true}];
</script>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-NR38L3C');</script>
<!-- End Google Tag Manager -->
<title>Park Square Realty</title>
	<meta name="description" content="" />
	<meta name="author" content="Park Square Realty" />
	<link rel="canonical" href="https://www.parksquarerealty.com/blog.xml/"/>
	<link rel="copyright" href="https://d.usmre.com/UnionStreetMediaTermsofUse.pdf"/><meta property="fb:app_id" content="425713774551912" />
	<meta property="og:title" content="Park Square Realty" />
	<meta property="og:description" content="" />
	<meta property="og:url" content="https://www.parksquarerealty.com/blog.xml/" />
	<meta property="og:type" content="website" />
	<meta property="og:site_name" content="Park Square Realty" />
	<meta name="twitter:card" content="summary" />
	<meta name="twitter:title" content="Park Square Realty" />
	<meta name="twitter:description" content="" />
	<meta name="msvalidate.01" content="7AFB407F61E561ABD1320A24E73E1F9A" />
	<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="https://d1nn5t56all1qd.cloudfront.net/6156/styles.min.css?version=1774502546" media="screen" /><link rel="stylesheet" type="text/css" href="https://d1nn5t56all1qd.cloudfront.net/layouts/14/print.css?version=1740650881" media="print" /><script src="https://kit.fontawesome.com/c7bcd66c3f.js" crossorigin="anonymous"></script><script>/** vim: et:ts=4:sw=4:sts=4
 * @license RequireJS 2.3.3 Copyright jQuery Foundation and other contributors.
 * Released under MIT license, https://github.com/requirejs/requirejs/blob/master/LICENSE
 */
var requirejs,require,define;!function(global,setTimeout){function commentReplace(e,t){return t||""}function isFunction(e){return"[object Function]"===ostring.call(e)}function isArray(e){return"[object Array]"===ostring.call(e)}function each(e,t){if(e){var i;for(i=0;i<e.length&&(!e[i]||!t(e[i],i,e));i+=1);}}function eachReverse(e,t){if(e){var i;for(i=e.length-1;i>-1&&(!e[i]||!t(e[i],i,e));i-=1);}}function hasProp(e,t){return hasOwn.call(e,t)}function getOwn(e,t){return hasProp(e,t)&&e[t]}function eachProp(e,t){var i;for(i in e)if(hasProp(e,i)&&t(e[i],i))break}function mixin(e,t,i,r){return t&&eachProp(t,function(t,n){!i&&hasProp(e,n)||(!r||"object"!=typeof t||!t||isArray(t)||isFunction(t)||t instanceof RegExp?e[n]=t:(e[n]||(e[n]={}),mixin(e[n],t,i,r)))}),e}function bind(e,t){return function(){return t.apply(e,arguments)}}function scripts(){return document.getElementsByTagName("script")}function defaultOnError(e){throw e}function getGlobal(e){if(!e)return e;var t=global;return each(e.split("."),function(e){t=t[e]}),t}function makeError(e,t,i,r){var n=new Error(t+"\nhttp://requirejs.org/docs/errors.html#"+e);return n.requireType=e,n.requireModules=r,i&&(n.originalError=i),n}function newContext(e){function t(e){var t,i;for(t=0;t<e.length;t++)if(i=e[t],"."===i)e.splice(t,1),t-=1;else if(".."===i){if(0===t||1===t&&".."===e[2]||".."===e[t-1])continue;t>0&&(e.splice(t-1,2),t-=2)}}function i(e,i,r){var n,o,a,s,u,c,d,p,f,l,h,m,g=i&&i.split("/"),v=y.map,x=v&&v["*"];if(e&&(e=e.split("/"),d=e.length-1,y.nodeIdCompat&&jsSuffixRegExp.test(e[d])&&(e[d]=e[d].replace(jsSuffixRegExp,"")),"."===e[0].charAt(0)&&g&&(m=g.slice(0,g.length-1),e=m.concat(e)),t(e),e=e.join("/")),r&&v&&(g||x)){a=e.split("/");e:for(s=a.length;s>0;s-=1){if(c=a.slice(0,s).join("/"),g)for(u=g.length;u>0;u-=1)if(o=getOwn(v,g.slice(0,u).join("/")),o&&(o=getOwn(o,c))){p=o,f=s;break e}!l&&x&&getOwn(x,c)&&(l=getOwn(x,c),h=s)}!p&&l&&(p=l,f=h),p&&(a.splice(0,f,p),e=a.join("/"))}return n=getOwn(y.pkgs,e),n?n:e}function r(e){isBrowser&&each(scripts(),function(t){if(t.getAttribute("data-requiremodule")===e&&t.getAttribute("data-requirecontext")===q.contextName)return t.parentNode.removeChild(t),!0})}function n(e){var t=getOwn(y.paths,e);if(t&&isArray(t)&&t.length>1)return t.shift(),q.require.undef(e),q.makeRequire(null,{skipMap:!0})([e]),!0}function o(e){var t,i=e?e.indexOf("!"):-1;return i>-1&&(t=e.substring(0,i),e=e.substring(i+1,e.length)),[t,e]}function a(e,t,r,n){var a,s,u,c,d=null,p=t?t.name:null,f=e,l=!0,h="";return e||(l=!1,e="_@r"+(T+=1)),c=o(e),d=c[0],e=c[1],d&&(d=i(d,p,n),s=getOwn(j,d)),e&&(d?h=r?e:s&&s.normalize?s.normalize(e,function(e){return i(e,p,n)}):e.indexOf("!")===-1?i(e,p,n):e:(h=i(e,p,n),c=o(h),d=c[0],h=c[1],r=!0,a=q.nameToUrl(h))),u=!d||s||r?"":"_unnormalized"+(A+=1),{prefix:d,name:h,parentMap:t,unnormalized:!!u,url:a,originalName:f,isDefine:l,id:(d?d+"!"+h:h)+u}}function s(e){var t=e.id,i=getOwn(S,t);return i||(i=S[t]=new q.Module(e)),i}function u(e,t,i){var r=e.id,n=getOwn(S,r);!hasProp(j,r)||n&&!n.defineEmitComplete?(n=s(e),n.error&&"error"===t?i(n.error):n.on(t,i)):"defined"===t&&i(j[r])}function c(e,t){var i=e.requireModules,r=!1;t?t(e):(each(i,function(t){var i=getOwn(S,t);i&&(i.error=e,i.events.error&&(r=!0,i.emit("error",e)))}),r||req.onError(e))}function d(){globalDefQueue.length&&(each(globalDefQueue,function(e){var t=e[0];"string"==typeof t&&(q.defQueueMap[t]=!0),O.push(e)}),globalDefQueue=[])}function p(e){delete S[e],delete k[e]}function f(e,t,i){var r=e.map.id;e.error?e.emit("error",e.error):(t[r]=!0,each(e.depMaps,function(r,n){var o=r.id,a=getOwn(S,o);!a||e.depMatched[n]||i[o]||(getOwn(t,o)?(e.defineDep(n,j[o]),e.check()):f(a,t,i))}),i[r]=!0)}function l(){var e,t,i=1e3*y.waitSeconds,o=i&&q.startTime+i<(new Date).getTime(),a=[],s=[],u=!1,d=!0;if(!x){if(x=!0,eachProp(k,function(e){var i=e.map,c=i.id;if(e.enabled&&(i.isDefine||s.push(e),!e.error))if(!e.inited&&o)n(c)?(t=!0,u=!0):(a.push(c),r(c));else if(!e.inited&&e.fetched&&i.isDefine&&(u=!0,!i.prefix))return d=!1}),o&&a.length)return e=makeError("timeout","Load timeout for modules: "+a,null,a),e.contextName=q.contextName,c(e);d&&each(s,function(e){f(e,{},{})}),o&&!t||!u||!isBrowser&&!isWebWorker||w||(w=setTimeout(function(){w=0,l()},50)),x=!1}}function h(e){hasProp(j,e[0])||s(a(e[0],null,!0)).init(e[1],e[2])}function m(e,t,i,r){e.detachEvent&&!isOpera?r&&e.detachEvent(r,t):e.removeEventListener(i,t,!1)}function g(e){var t=e.currentTarget||e.srcElement;return m(t,q.onScriptLoad,"load","onreadystatechange"),m(t,q.onScriptError,"error"),{node:t,id:t&&t.getAttribute("data-requiremodule")}}function v(){var e;for(d();O.length;){if(e=O.shift(),null===e[0])return c(makeError("mismatch","Mismatched anonymous define() module: "+e[e.length-1]));h(e)}q.defQueueMap={}}var x,b,q,E,w,y={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},S={},k={},M={},O=[],j={},P={},R={},T=1,A=1;return E={require:function(e){return e.require?e.require:e.require=q.makeRequire(e.map)},exports:function(e){if(e.usingExports=!0,e.map.isDefine)return e.exports?j[e.map.id]=e.exports:e.exports=j[e.map.id]={}},module:function(e){return e.module?e.module:e.module={id:e.map.id,uri:e.map.url,config:function(){return getOwn(y.config,e.map.id)||{}},exports:e.exports||(e.exports={})}}},b=function(e){this.events=getOwn(M,e.id)||{},this.map=e,this.shim=getOwn(y.shim,e.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0},b.prototype={init:function(e,t,i,r){r=r||{},this.inited||(this.factory=t,i?this.on("error",i):this.events.error&&(i=bind(this,function(e){this.emit("error",e)})),this.depMaps=e&&e.slice(0),this.errback=i,this.inited=!0,this.ignore=r.ignore,r.enabled||this.enabled?this.enable():this.check())},defineDep:function(e,t){this.depMatched[e]||(this.depMatched[e]=!0,this.depCount-=1,this.depExports[e]=t)},fetch:function(){if(!this.fetched){this.fetched=!0,q.startTime=(new Date).getTime();var e=this.map;return this.shim?void q.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return e.prefix?this.callPlugin():this.load()})):e.prefix?this.callPlugin():this.load()}},load:function(){var e=this.map.url;P[e]||(P[e]=!0,q.load(this.map.id,e))},check:function(){if(this.enabled&&!this.enabling){var e,t,i=this.map.id,r=this.depExports,n=this.exports,o=this.factory;if(this.inited){if(this.error)this.emit("error",this.error);else if(!this.defining){if(this.defining=!0,this.depCount<1&&!this.defined){if(isFunction(o)){if(this.events.error&&this.map.isDefine||req.onError!==defaultOnError)try{n=q.execCb(i,o,r,n)}catch(t){e=t}else n=q.execCb(i,o,r,n);if(this.map.isDefine&&void 0===n&&(t=this.module,t?n=t.exports:this.usingExports&&(n=this.exports)),e)return e.requireMap=this.map,e.requireModules=this.map.isDefine?[this.map.id]:null,e.requireType=this.map.isDefine?"define":"require",c(this.error=e)}else n=o;if(this.exports=n,this.map.isDefine&&!this.ignore&&(j[i]=n,req.onResourceLoad)){var a=[];each(this.depMaps,function(e){a.push(e.normalizedMap||e)}),req.onResourceLoad(q,this.map,a)}p(i),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else hasProp(q.defQueueMap,i)||this.fetch()}},callPlugin:function(){var e=this.map,t=e.id,r=a(e.prefix);this.depMaps.push(r),u(r,"defined",bind(this,function(r){var n,o,d,f=getOwn(R,this.map.id),l=this.map.name,h=this.map.parentMap?this.map.parentMap.name:null,m=q.makeRequire(e.parentMap,{enableBuildCallback:!0});return this.map.unnormalized?(r.normalize&&(l=r.normalize(l,function(e){return i(e,h,!0)})||""),o=a(e.prefix+"!"+l,this.map.parentMap,!0),u(o,"defined",bind(this,function(e){this.map.normalizedMap=o,this.init([],function(){return e},null,{enabled:!0,ignore:!0})})),d=getOwn(S,o.id),void(d&&(this.depMaps.push(o),this.events.error&&d.on("error",bind(this,function(e){this.emit("error",e)})),d.enable()))):f?(this.map.url=q.nameToUrl(f),void this.load()):(n=bind(this,function(e){this.init([],function(){return e},null,{enabled:!0})}),n.error=bind(this,function(e){this.inited=!0,this.error=e,e.requireModules=[t],eachProp(S,function(e){0===e.map.id.indexOf(t+"_unnormalized")&&p(e.map.id)}),c(e)}),n.fromText=bind(this,function(i,r){var o=e.name,u=a(o),d=useInteractive;r&&(i=r),d&&(useInteractive=!1),s(u),hasProp(y.config,t)&&(y.config[o]=y.config[t]);try{req.exec(i)}catch(e){return c(makeError("fromtexteval","fromText eval for "+t+" failed: "+e,e,[t]))}d&&(useInteractive=!0),this.depMaps.push(u),q.completeLoad(o),m([o],n)}),void r.load(e.name,m,n,y))})),q.enable(r,this),this.pluginMaps[r.id]=r},enable:function(){k[this.map.id]=this,this.enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(e,t){var i,r,n;if("string"==typeof e){if(e=a(e,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[t]=e,n=getOwn(E,e.id))return void(this.depExports[t]=n(this));this.depCount+=1,u(e,"defined",bind(this,function(e){this.undefed||(this.defineDep(t,e),this.check())})),this.errback?u(e,"error",bind(this,this.errback)):this.events.error&&u(e,"error",bind(this,function(e){this.emit("error",e)}))}i=e.id,r=S[i],hasProp(E,i)||!r||r.enabled||q.enable(e,this)})),eachProp(this.pluginMaps,bind(this,function(e){var t=getOwn(S,e.id);t&&!t.enabled&&q.enable(e,this)})),this.enabling=!1,this.check()},on:function(e,t){var i=this.events[e];i||(i=this.events[e]=[]),i.push(t)},emit:function(e,t){each(this.events[e],function(e){e(t)}),"error"===e&&delete this.events[e]}},q={config:y,contextName:e,registry:S,defined:j,urlFetched:P,defQueue:O,defQueueMap:{},Module:b,makeModuleMap:a,nextTick:req.nextTick,onError:c,configure:function(e){if(e.baseUrl&&"/"!==e.baseUrl.charAt(e.baseUrl.length-1)&&(e.baseUrl+="/"),"string"==typeof e.urlArgs){var t=e.urlArgs;e.urlArgs=function(e,i){return(i.indexOf("?")===-1?"?":"&")+t}}var i=y.shim,r={paths:!0,bundles:!0,config:!0,map:!0};eachProp(e,function(e,t){r[t]?(y[t]||(y[t]={}),mixin(y[t],e,!0,!0)):y[t]=e}),e.bundles&&eachProp(e.bundles,function(e,t){each(e,function(e){e!==t&&(R[e]=t)})}),e.shim&&(eachProp(e.shim,function(e,t){isArray(e)&&(e={deps:e}),!e.exports&&!e.init||e.exportsFn||(e.exportsFn=q.makeShimExports(e)),i[t]=e}),y.shim=i),e.packages&&each(e.packages,function(e){var t,i;e="string"==typeof e?{name:e}:e,i=e.name,t=e.location,t&&(y.paths[i]=e.location),y.pkgs[i]=e.name+"/"+(e.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}),eachProp(S,function(e,t){e.inited||e.map.unnormalized||(e.map=a(t,null,!0))}),(e.deps||e.callback)&&q.require(e.deps||[],e.callback)},makeShimExports:function(e){function t(){var t;return e.init&&(t=e.init.apply(global,arguments)),t||e.exports&&getGlobal(e.exports)}return t},makeRequire:function(t,n){function o(i,r,u){var d,p,f;return n.enableBuildCallback&&r&&isFunction(r)&&(r.__requireJsBuild=!0),"string"==typeof i?isFunction(r)?c(makeError("requireargs","Invalid require call"),u):t&&hasProp(E,i)?E[i](S[t.id]):req.get?req.get(q,i,t,o):(p=a(i,t,!1,!0),d=p.id,hasProp(j,d)?j[d]:c(makeError("notloaded",'Module name "'+d+'" has not been loaded yet for context: '+e+(t?"":". Use require([])")))):(v(),q.nextTick(function(){v(),f=s(a(null,t)),f.skipMap=n.skipMap,f.init(i,r,u,{enabled:!0}),l()}),o)}return n=n||{},mixin(o,{isBrowser:isBrowser,toUrl:function(e){var r,n=e.lastIndexOf("."),o=e.split("/")[0],a="."===o||".."===o;return n!==-1&&(!a||n>1)&&(r=e.substring(n,e.length),e=e.substring(0,n)),q.nameToUrl(i(e,t&&t.id,!0),r,!0)},defined:function(e){return hasProp(j,a(e,t,!1,!0).id)},specified:function(e){return e=a(e,t,!1,!0).id,hasProp(j,e)||hasProp(S,e)}}),t||(o.undef=function(e){d();var i=a(e,t,!0),n=getOwn(S,e);n.undefed=!0,r(e),delete j[e],delete P[i.url],delete M[e],eachReverse(O,function(t,i){t[0]===e&&O.splice(i,1)}),delete q.defQueueMap[e],n&&(n.events.defined&&(M[e]=n.events),p(e))}),o},enable:function(e){var t=getOwn(S,e.id);t&&s(e).enable()},completeLoad:function(e){var t,i,r,o=getOwn(y.shim,e)||{},a=o.exports;for(d();O.length;){if(i=O.shift(),null===i[0]){if(i[0]=e,t)break;t=!0}else i[0]===e&&(t=!0);h(i)}if(q.defQueueMap={},r=getOwn(S,e),!t&&!hasProp(j,e)&&r&&!r.inited){if(!(!y.enforceDefine||a&&getGlobal(a)))return n(e)?void 0:c(makeError("nodefine","No define call for "+e,null,[e]));h([e,o.deps||[],o.exportsFn])}l()},nameToUrl:function(e,t,i){var r,n,o,a,s,u,c,d=getOwn(y.pkgs,e);if(d&&(e=d),c=getOwn(R,e))return q.nameToUrl(c,t,i);if(req.jsExtRegExp.test(e))s=e+(t||"");else{for(r=y.paths,n=e.split("/"),o=n.length;o>0;o-=1)if(a=n.slice(0,o).join("/"),u=getOwn(r,a)){isArray(u)&&(u=u[0]),n.splice(0,o,u);break}s=n.join("/"),s+=t||(/^data\:|^blob\:|\?/.test(s)||i?"":".js"),s=("/"===s.charAt(0)||s.match(/^[\w\+\.\-]+:/)?"":y.baseUrl)+s}return y.urlArgs&&!/^blob\:/.test(s)?s+y.urlArgs(e,s):s},load:function(e,t){req.load(q,e,t)},execCb:function(e,t,i,r){return t.apply(r,i)},onScriptLoad:function(e){if("load"===e.type||readyRegExp.test((e.currentTarget||e.srcElement).readyState)){interactiveScript=null;var t=g(e);q.completeLoad(t.id)}},onScriptError:function(e){var t=g(e);if(!n(t.id)){var i=[];return eachProp(S,function(e,r){0!==r.indexOf("_@r")&&each(e.depMaps,function(e){if(e.id===t.id)return i.push(r),!0})}),c(makeError("scripterror",'Script error for "'+t.id+(i.length?'", needed by: '+i.join(", "):'"'),e,[t.id]))}}},q.require=q.makeRequire(),q}function getInteractiveScript(){return interactiveScript&&"interactive"===interactiveScript.readyState?interactiveScript:(eachReverse(scripts(),function(e){if("interactive"===e.readyState)return interactiveScript=e}),interactiveScript)}var req,s,head,baseElement,dataMain,src,interactiveScript,currentlyAddingScript,mainScript,subPath,version="2.3.3",commentRegExp=/\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/gm,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,currDirRegExp=/^\.\//,op=Object.prototype,ostring=op.toString,hasOwn=op.hasOwnProperty,isBrowser=!("undefined"==typeof window||"undefined"==typeof navigator||!window.document),isWebWorker=!isBrowser&&"undefined"!=typeof importScripts,readyRegExp=isBrowser&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,defContextName="_",isOpera="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),contexts={},cfg={},globalDefQueue=[],useInteractive=!1;if("undefined"==typeof define){if("undefined"!=typeof requirejs){if(isFunction(requirejs))return;cfg=requirejs,requirejs=void 0}"undefined"==typeof require||isFunction(require)||(cfg=require,require=void 0),req=requirejs=function(e,t,i,r){var n,o,a=defContextName;return isArray(e)||"string"==typeof e||(o=e,isArray(t)?(e=t,t=i,i=r):e=[]),o&&o.context&&(a=o.context),n=getOwn(contexts,a),n||(n=contexts[a]=req.s.newContext(a)),o&&n.configure(o),n.require(e,t,i)},req.config=function(e){return req(e)},req.nextTick="undefined"!=typeof setTimeout?function(e){setTimeout(e,4)}:function(e){e()},require||(require=req),req.version=version,req.jsExtRegExp=/^\/|:|\?|\.js$/,req.isBrowser=isBrowser,s=req.s={contexts:contexts,newContext:newContext},req({}),each(["toUrl","undef","defined","specified"],function(e){req[e]=function(){var t=contexts[defContextName];return t.require[e].apply(t,arguments)}}),isBrowser&&(head=s.head=document.getElementsByTagName("head")[0],baseElement=document.getElementsByTagName("base")[0],baseElement&&(head=s.head=baseElement.parentNode)),req.onError=defaultOnError,req.createNode=function(e,t,i){var r=e.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");return r.type=e.scriptType||"text/javascript",r.charset="utf-8",r.async=!0,r},req.load=function(e,t,i){var r,n=e&&e.config||{};if(isBrowser)return r=req.createNode(n,t,i),r.setAttribute("data-requirecontext",e.contextName),r.setAttribute("data-requiremodule",t),!r.attachEvent||r.attachEvent.toString&&r.attachEvent.toString().indexOf("[native code")<0||isOpera?(r.addEventListener("load",e.onScriptLoad,!1),r.addEventListener("error",e.onScriptError,!1)):(useInteractive=!0,r.attachEvent("onreadystatechange",e.onScriptLoad)),r.src=i,n.onNodeCreated&&n.onNodeCreated(r,n,t,i),currentlyAddingScript=r,baseElement?head.insertBefore(r,baseElement):head.appendChild(r),currentlyAddingScript=null,r;if(isWebWorker)try{setTimeout(function(){},0),importScripts(i),e.completeLoad(t)}catch(r){e.onError(makeError("importscripts","importScripts failed for "+t+" at "+i,r,[t]))}},isBrowser&&!cfg.skipDataMain&&eachReverse(scripts(),function(e){if(head||(head=e.parentNode),dataMain=e.getAttribute("data-main"))return mainScript=dataMain,cfg.baseUrl||mainScript.indexOf("!")!==-1||(src=mainScript.split("/"),mainScript=src.pop(),subPath=src.length?src.join("/")+"/":"./",cfg.baseUrl=subPath),mainScript=mainScript.replace(jsSuffixRegExp,""),req.jsExtRegExp.test(mainScript)&&(mainScript=dataMain),cfg.deps=cfg.deps?cfg.deps.concat(mainScript):[mainScript],!0}),define=function(e,t,i){var r,n;"string"!=typeof e&&(i=t,t=e,e=null),isArray(t)||(i=t,t=null),!t&&isFunction(i)&&(t=[],i.length&&(i.toString().replace(commentRegExp,commentReplace).replace(cjsRequireRegExp,function(e,i){t.push(i)}),t=(1===i.length?["require"]:["require","exports","module"]).concat(t))),useInteractive&&(r=currentlyAddingScript||getInteractiveScript(),r&&(e||(e=r.getAttribute("data-requiremodule")),n=contexts[r.getAttribute("data-requirecontext")])),n?(n.defQueue.push([e,t,i]),n.defQueueMap[e]=!0):globalDefQueue.push([e,t,i])},define.amd={jQuery:!0},req.exec=function(text){return eval(text)},req(cfg)}}(this,"undefined"==typeof setTimeout?void 0:setTimeout);</script><script type="text/javascript">
            var requireConfig = {"waitSeconds":20,"baseUrl":"https:\/\/d1mlo4htassgww.cloudfront.net\/shipyard\/build\/","paths":{"async":"profiles\/default","bootstrap":"profiles\/default","goog":"profiles\/default","jquery":"profiles\/default","jquery.browser":"profiles\/default","jquery.deparam":"profiles\/default","jquery.dropdownchecklist":"profiles\/default","jquery.form":"profiles\/default","jquery.history":"profiles\/default","jquery.html5-placeholder-shim":"profiles\/default","jquery.inview":"profiles\/default","jquery.usmNlsShipyard":"profiles\/default","jquery.pageitems":"profiles\/default","jquery.usmajaxtogglebutton":"profiles\/default","jquery.usmmortgageestimate":"profiles\/default","jquery.usmtruncate":"profiles\/default","jquery.validation":"profiles\/default","jquery.validation-extensions-usm":"profiles\/default","jqueryui":"profiles\/default","knockout":"knockout-2.3.0","owlcarousel":"profiles\/default","picturefill.min":"profiles\/default","propertyParser":"profiles\/default","shim.polyfills":"profiles\/default","captcha":"profiles\/default","shipyard":"profiles\/default","static-map-search":"profiles\/default","usm":"profiles\/default","usm.analytics":"profiles\/default","usm.cookie":"profiles\/default","usm.url":"profiles\/default","usm.user":"profiles\/default","usm.favorite":"profiles\/default","usm.savesearch":"profiles\/default","usm.modalform":"profiles\/default","usm.dynamicsearch":"profiles\/default","LLSDKsJS":"https:\/\/sdk.locallogic.co\/sdks-js\/1.19.30\/index.umd","webfontloader":"\/\/ajax.googleapis.com\/ajax\/libs\/webfont\/1\/webfont","Leaflet":"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/leaflet\/1.0.1\/leaflet","mapboxgl":"https:\/\/api.tiles.mapbox.com\/mapbox-gl-js\/v0.42.0\/mapbox-gl","plunk":"plunkComponents.min","emblaCarousel":"https:\/\/unpkg.com\/embla-carousel@8.6.0\/embla-carousel.umd","emblaCarouselAutoplay":"https:\/\/unpkg.com\/embla-carousel-autoplay@8.0.2\/embla-carousel-autoplay.umd","emblaCarouselClassNames":"https:\/\/unpkg.com\/embla-carousel-class-names@8.0.4\/embla-carousel-class-names.umd","emblaCarouselFade":"https:\/\/unpkg.com\/embla-carousel-fade@8.5.2\/embla-carousel-fade.umd","emblaCarouselPlugins":"emblaCarouselPlugins","map.regions":"\/realestate\/regions\/?json","jquery.validationextensionsusm":"\/data\/shipyard\/js\/jquery.validation-extensions-usm"}};
            requireConfig.urlArgs = function(id, url) {
                var args = "";
                if (url.indexOf("d1nn5t56all1qd") <= 0 && url.indexOf("dy0meowegjlo2") <= 0) {
                    args = "version=1774534307";
                    return (url.indexOf("?") === -1 ? "?" : "&") + args;
                }

                return "";
            };

            require.config(requireConfig);
            </script>
            <script type="text/javascript">require(["profiles/default", "usm", "usm.calltracking", "usm.goscript"], function    (listing, usm) {
                if (usm.touchSupport) { require(["profiles/touch"]); }
            });</script><script async src="https://www.google.com/recaptcha/enterprise.js?render=6LeTAZEpAAAAAG4zWkz13Dj4D6o6FlS24nrBeBiq"></script>
            <link rel="preconnect" href="https://www.google.com">
            <link rel="preconnect" href="https://www.gstatic.com" crossorigin>
</head>
<body class=" array1-blogxml spring" data-site-type="shipyard" data-re-captcha-site-key="6LeTAZEpAAAAAG4zWkz13Dj4D6o6FlS24nrBeBiq">
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-NR38L3C" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<div class="utilBarWrap">
    <aside id="sidebar3"><div id="image-77386" class="widget image container"><a href="/" target="_self"><img src="https://d3w216np43fnr4.cloudfront.net/6156/77386/1.png?version=1507578525" width="278" height="123"/></a></div><div id="codewidget-77387" class="widget code codewidget container"><a href="/user/register/" class="logged-out">Sign Up</a>
<i class="pipe logged-out">|</i>
<a href="/user/" class="logged-out">Log In</a>
<a href="/user/" class="logged-in">My Account</a></div><div id="sociallinks-77388" class="widget sociallinks socialinkswidget flat container"><ul class="fa-social-links sm40"><li><a target="_blank" title="Facebook" href="https://www.facebook.com/ParkSquareRealty" class="fa-social-links fsml-facebook" rel="noopener nofollow"><i class="fa fa-facebook"></i><span class="sr-only">Facebook</span></a></li><li><a target="_blank" title="Feed" href="http://rss.realsatisfied.com/rss/office/Park-Square-Realty" class="fa-social-links fsml-rss" rel="noopener nofollow"><i class="fa fa-rss"></i><span class="sr-only">Feed</span></a></li></ul></div><div id="codewidget-77389" class="widget code codewidget container"><p class="springfield-phone">West Springfield: <a href="tel:413.789.9830">413.789.9830</a></p>
<p class="westfield-phone">Westfield: <a href="tel:413.568.9226">413.568.9226</a></p>
<p class="email"><a href="/contact-us/">parksquarerealty1@gmail.com</a></p></div><div id="menuwidget-77380" class="widget menu menuwidget default-nav container"><div class="widget-inner"><div class="desktop-nav"><div class="navbar-wrapper"><nav class="navbar navbar-default" role="navigation"><div id="navbar-77380"><ul class="nav navbar-nav site-nav" role="menubar"><li role="presentation" class="has-children menu-item-108532"><a href="#" target="_self" rel="noopener" data-toggle="dropdown" data-target="sub-menu-108532" class="dropdown-toggle" role="menuitem">Property Search<span class="caret"></span></a><ul class="dropdown-menu" id="sub-menu-108532" role="menu"><li role="presentation" class=" menu-item-108532-clone"><a href="/listings/" target="_self" role="menuitem">Property Search</a></li><li role="presentation" class=" menu-item-108538"><a href="/real-estate/our-listings/" target="_self" role="menuitem">Our Listings</a></li><li role="presentation" class=" menu-item-108539"><a href="/sold-listings/" target="_self" role="menuitem">Sold Search</a></li><li role="presentation" class=" menu-item-108540"><a href="/about-park-square-realty/about-our-communities/" target="_self" role="menuitem">About Our Communities</a></li></ul></li><li role="presentation" class="has-children menu-item-108733"><a href="#" target="_self" rel="noopener" data-toggle="dropdown" data-target="sub-menu-108733" class="dropdown-toggle" role="menuitem">Services<span class="caret"></span></a><ul class="dropdown-menu" id="sub-menu-108733" role="menu"><li role="presentation" class=" menu-item-108733-clone"><a href="/about-park-square-realty/services/" target="_self" role="menuitem">Services</a></li><li role="presentation" class=" menu-item-108734"><a href="/buyers/" target="_self" role="menuitem">Buyers</a></li><li role="presentation" class=" menu-item-108735"><a href="/sellers/" target="_self" role="menuitem">Sellers</a></li><li role="presentation" class=" menu-item-108736"><a href="/buyers/mortgage-calculator/" target="_self" role="menuitem">Mortgage Calculator</a></li><li role="presentation" class=" menu-item-108841"><a href="/home-value-estimator/" target="_self" role="menuitem">Home Valuation</a></li><li role="presentation" class=" menu-item-108738"><a href="/sellers/list-with-us/" target="_self" role="menuitem">List With Us</a></li></ul></li><li role="presentation" class="has-children menu-item-108533"><a href="#" target="_self" rel="noopener" data-toggle="dropdown" data-target="sub-menu-108533" class="dropdown-toggle" role="menuitem">Agents<span class="caret"></span></a><ul class="dropdown-menu" id="sub-menu-108533" role="menu"><li role="presentation" class=" menu-item-108533-clone"><a href="/our-agents/" target="_self" role="menuitem">Agents</a></li><li role="presentation" class=" menu-item-108544"><a href="/agents-only/" target="_self" role="menuitem">Agents Only</a></li></ul></li><li role="presentation" class=" menu-item-108534"><a href="/our-subdivisions/" target="_self" role="menuitem">Our Subdivisions</a></li><li role="presentation" class="has-children menu-item-108535"><a href="#" target="_self" rel="noopener" data-toggle="dropdown" data-target="sub-menu-108535" class="dropdown-toggle" role="menuitem">About<span class="caret"></span></a><ul class="dropdown-menu" id="sub-menu-108535" role="menu"><li role="presentation" class=" menu-item-108535-clone"><a href="/about-us/" target="_self" role="menuitem">About</a></li><li role="presentation" class=" menu-item-108541"><a href="/testimonials/" target="_self" role="menuitem">Testimonials</a></li><li role="presentation" class=" menu-item-108542"><a href="/rental-division/park-square-realty-s-rental-division/" target="_self" role="menuitem">Park Square Realty Rental Division</a></li><li role="presentation" class=" menu-item-108543"><a href="/about-park-square-realty/about-our-communities/" target="_self" role="menuitem">About Our Communities</a></li></ul></li><li role="presentation" class=" menu-item-108536"><a href="/about-park-square-realty/career-opportunities/" target="_self" role="menuitem">Careers</a></li><li role="presentation" class=" menu-item-108537"><a href="/contact-us/" target="_self" role="menuitem">Contact</a></li></ul></div></nav></div></div><div class="mobile-nav"><button type="button" class="navbar-toggle" data-target="#navbar-mobile-77380" aria-label="Toggle navigation"><span>Menu</span><span class="fa fa-bar"></span><span class="fa fa-bar"></span><span class="fa fa-bar"></span></button><div class="navbar-wrapper"><nav class="navbar navbar-default" role="navigation"><div id="navbar-mobile-77380"><a href="#" class="menu-close"><i class="fa fa-times-circle-o"></i><span class="sr-only">Close Button</span></a><div class="menu-sign-on"><a class="usm-btn nav-login" href="/user/login/" rel="nofollow">Log In</a><a class="usm-btn nav-register" href="/user/register/" rel="nofollow">Sign Up</a><a class="usm-btn nav-account" href="/user/" rel="nofollow">My Account</a></div><ul class="nav navbar-nav site-nav" role="menubar"><li role="presentation" class="has-children menu-item-108532"><a href="#" target="_self" rel="noopener" data-toggle="dropdown" data-target="mobile-sub-menu-108532" class="dropdown-toggle" role="menuitem">Property Search<span class="caret"></span></a><ul class="dropdown-menu" id="mobile-sub-menu-108532" role="menu"><li role="presentation" class=" menu-item-108532-clone"><a href="/listings/" target="_self" role="menuitem">Property Search</a></li><li role="presentation" class=" menu-item-108538"><a href="/real-estate/our-listings/" target="_self" role="menuitem">Our Listings</a></li><li role="presentation" class=" menu-item-108539"><a href="/sold-listings/" target="_self" role="menuitem">Sold Search</a></li><li role="presentation" class=" menu-item-108540"><a href="/about-park-square-realty/about-our-communities/" target="_self" role="menuitem">About Our Communities</a></li></ul></li><li role="presentation" class="has-children menu-item-108733"><a href="#" target="_self" rel="noopener" data-toggle="dropdown" data-target="mobile-sub-menu-108733" class="dropdown-toggle" role="menuitem">Services<span class="caret"></span></a><ul class="dropdown-menu" id="mobile-sub-menu-108733" role="menu"><li role="presentation" class=" menu-item-108733-clone"><a href="/about-park-square-realty/services/" target="_self" role="menuitem">Services</a></li><li role="presentation" class=" menu-item-108734"><a href="/buyers/" target="_self" role="menuitem">Buyers</a></li><li role="presentation" class=" menu-item-108735"><a href="/sellers/" target="_self" role="menuitem">Sellers</a></li><li role="presentation" class=" menu-item-108736"><a href="/buyers/mortgage-calculator/" target="_self" role="menuitem">Mortgage Calculator</a></li><li role="presentation" class=" menu-item-108841"><a href="/home-value-estimator/" target="_self" role="menuitem">Home Valuation</a></li><li role="presentation" class=" menu-item-108738"><a href="/sellers/list-with-us/" target="_self" role="menuitem">List With Us</a></li></ul></li><li role="presentation" class="has-children menu-item-108533"><a href="#" target="_self" rel="noopener" data-toggle="dropdown" data-target="mobile-sub-menu-108533" class="dropdown-toggle" role="menuitem">Agents<span class="caret"></span></a><ul class="dropdown-menu" id="mobile-sub-menu-108533" role="menu"><li role="presentation" class=" menu-item-108533-clone"><a href="/our-agents/" target="_self" role="menuitem">Agents</a></li><li role="presentation" class=" menu-item-108544"><a href="/agents-only/" target="_self" role="menuitem">Agents Only</a></li></ul></li><li role="presentation" class=" menu-item-108534"><a href="/our-subdivisions/" target="_self" role="menuitem">Our Subdivisions</a></li><li role="presentation" class="has-children menu-item-108535"><a href="#" target="_self" rel="noopener" data-toggle="dropdown" data-target="mobile-sub-menu-108535" class="dropdown-toggle" role="menuitem">About<span class="caret"></span></a><ul class="dropdown-menu" id="mobile-sub-menu-108535" role="menu"><li role="presentation" class=" menu-item-108535-clone"><a href="/about-us/" target="_self" role="menuitem">About</a></li><li role="presentation" class=" menu-item-108541"><a href="/testimonials/" target="_self" role="menuitem">Testimonials</a></li><li role="presentation" class=" menu-item-108542"><a href="/rental-division/park-square-realty-s-rental-division/" target="_self" role="menuitem">Park Square Realty Rental Division</a></li><li role="presentation" class=" menu-item-108543"><a href="/about-park-square-realty/about-our-communities/" target="_self" role="menuitem">About Our Communities</a></li></ul></li><li role="presentation" class=" menu-item-108536"><a href="/about-park-square-realty/career-opportunities/" target="_self" role="menuitem">Careers</a></li><li role="presentation" class=" menu-item-108537"><a href="/contact-us/" target="_self" role="menuitem">Contact</a></li></ul><ul class="nav navbar-nav user-nav"><li class="menu-item-saved-search" role="presentation"><a href="/realestate/searches/" rel="nofollow">Saved Searches</a></li><li class="menu-item-favorites" role="presentation"><a href="/realestate/favorites/view/" rel="nofollow">Favorites</a></li></ul></div></nav></div></div></div></div></aside>
</div>
<div class="topWrap">
    <aside id="top"><div id="slideshow-77370" class="widget slideshow container"><div class="slideshow-wrapper" id="carousel-77370"><div class="carousel slide"><div class="carousel-inner"><div class="item active"><img src="https://d3w216np43fnr4.cloudfront.net/1920x1080/6156/77370/1.jpg?version=1528399828" srcset="https://d3w216np43fnr4.cloudfront.net/320x320/6156/77370/1.jpg?version=1508249116 320w, https://d3w216np43fnr4.cloudfront.net/750x750/6156/77370/1.jpg?version=1508249115 750w, https://d3w216np43fnr4.cloudfront.net/970x970/6156/77370/1.jpg?version=1508249114 970w, https://d3w216np43fnr4.cloudfront.net/1170x1170/6156/77370/1.jpg?version=1508249113 1170w, https://d3w216np43fnr4.cloudfront.net/1920x1080/6156/77370/1.jpg?version=1528399828 1920w"/></div><div class="item"><img src="https://d3w216np43fnr4.cloudfront.net/1920x1080/6156/77370/2.jpg?version=1528399829" srcset="https://d3w216np43fnr4.cloudfront.net/320x320/6156/77370/2.jpg?version=1508249122 320w, https://d3w216np43fnr4.cloudfront.net/750x750/6156/77370/2.jpg?version=1508249121 750w, https://d3w216np43fnr4.cloudfront.net/970x970/6156/77370/2.jpg?version=1508249120 970w, https://d3w216np43fnr4.cloudfront.net/1170x1170/6156/77370/2.jpg?version=1508249118 1170w, https://d3w216np43fnr4.cloudfront.net/1920x1080/6156/77370/2.jpg?version=1528399829 1920w"/></div><div class="item"><img src="https://d3w216np43fnr4.cloudfront.net/1920x1080/6156/77370/3.jpg?version=1528399832" srcset="https://d3w216np43fnr4.cloudfront.net/320x320/6156/77370/3.jpg?version=1508249128 320w, https://d3w216np43fnr4.cloudfront.net/750x750/6156/77370/3.jpg?version=1508249127 750w, https://d3w216np43fnr4.cloudfront.net/970x970/6156/77370/3.jpg?version=1508249126 970w, https://d3w216np43fnr4.cloudfront.net/1170x1170/6156/77370/3.jpg?version=1508249124 1170w, https://d3w216np43fnr4.cloudfront.net/1920x1080/6156/77370/3.jpg?version=1528399832 1920w"/></div><div class="item"><img src="https://d3w216np43fnr4.cloudfront.net/1920x1080/6156/77370/4.jpg?version=1528399834" srcset="https://d3w216np43fnr4.cloudfront.net/320x320/6156/77370/4.jpg?version=1508249134 320w, https://d3w216np43fnr4.cloudfront.net/750x750/6156/77370/4.jpg?version=1508249133 750w, https://d3w216np43fnr4.cloudfront.net/970x970/6156/77370/4.jpg?version=1508249132 970w, https://d3w216np43fnr4.cloudfront.net/1170x1170/6156/77370/4.jpg?version=1508249130 1170w, https://d3w216np43fnr4.cloudfront.net/1920x1080/6156/77370/4.jpg?version=1528399834 1920w"/></div><div class="item"><img src="https://d3w216np43fnr4.cloudfront.net/1920x1080/6156/77370/5.jpg?version=1528399836" srcset="https://d3w216np43fnr4.cloudfront.net/320x320/6156/77370/5.jpg?version=1508249139 320w, https://d3w216np43fnr4.cloudfront.net/750x750/6156/77370/5.jpg?version=1508249138 750w, https://d3w216np43fnr4.cloudfront.net/970x970/6156/77370/5.jpg?version=1508249137 970w, https://d3w216np43fnr4.cloudfront.net/1170x1170/6156/77370/5.jpg?version=1508249136 1170w, https://d3w216np43fnr4.cloudfront.net/1920x1080/6156/77370/5.jpg?version=1528399836 1920w"/></div><div class="item"><img src="https://d3w216np43fnr4.cloudfront.net/1920x1080/6156/77370/6.jpg?version=1528399837" srcset="https://d3w216np43fnr4.cloudfront.net/320x320/6156/77370/6.jpg?version=1508249145 320w, https://d3w216np43fnr4.cloudfront.net/750x750/6156/77370/6.jpg?version=1508249144 750w, https://d3w216np43fnr4.cloudfront.net/970x970/6156/77370/6.jpg?version=1508249142 970w, https://d3w216np43fnr4.cloudfront.net/1170x1170/6156/77370/6.jpg?version=1508249141 1170w, https://d3w216np43fnr4.cloudfront.net/1920x1080/6156/77370/6.jpg?version=1528399837 1920w"/></div></div></div></div></div><div id="autosuggestionsearch-260670" class="widget autosuggestionsearch container"><div class="autosuggest widget-autosuggest"><div class="widget-inner"><form action="/listings/" method="get"><div class="autosuggest-title" id="autosuggest-title"><h3 class="widget-title">Proudly Serving the Greater Western Massachusetts & Northern Connecticut Region</h3></div><div class="autosuggest-searchbar"><input type="search" placeholder="Search homes via address, city or ZIP code" aria-label="&#10;                                Search: Search homes via address, city or ZIP code&#10;                                Use Up and Down to choose options,&#10;                                press Enter to select the currently focused option,&#10;                                press Escape to exit the menu,&#10;                                press Tab to select the option and exit the menu.&#10;                            " autocomplete="off" name="autosuggest-search-query" id="autosuggest-search-query-260670" maxlength="200" class="search-input form-control"/><div class="buttons"><div class="autosuggest-loader"></div><button class="usm-btn btn-search" id="autosuggest-search-button" role="button" aria-label="Search"><i class="fa fa-search"></i></button></div></div><div class="autosuggest-links"><div class="col-links"><a href="/realestate/mlssearch/" class="usm-btn btn-link advanced-search" id="autosuggest-advanced-search">Advanced Search</a><a href="/realestate/soldsearch/" class="usm-btn btn-link sold-search" id="autosuggest-sold-search">Sold Search</a></div></div></form></div></div></div></aside>
</div>
<div class="sub1Wrap">
    <aside id="group1"></aside>
</div>
<div class="sub2Wrap">
    <aside id="group2"></aside>
</div>
<div id="wrapper">
    <div class="content-row">
        <div class="contentWrap">
            <main></main>
            <aside id="sidebar1"><div id="widget-ask-77520" class="widget askaquestion niceform container"><div class="widget-inner"><h3 class="widget-title">Ask A Question</h3><div class="error-message-container"></div><form method="POST" action="/mail/send/sidebar_ask_a_question/" id="aaq-77520" data-pageview="/complete/ask-a-question/"><div><h4></h4><div class="contact-info"></div></div><div class="form-group form-group-name"><label class="sr-only" for="ask-77520-name">Full Name</label><input type="text" name="Name" class="required form-control" placeholder="*Full Name" id="ask-77520-name" required="required"/></div><div class="form-group form-group-email"><label class="sr-only" for="ask-77520-email">Email</label><input type="text" name="Email" class="required form-control email" placeholder="*Email Address" id="ask-77520-email" required="required"/></div><div class="form-group form-group-phone"><label class="sr-only" for="ask-77520-phone">Phone</label><input type="text" name="Phone" class="form-control phone " placeholder="Phone" id="ask-77520-phone"/></div><div class="form-group form-group-comments"><label class="sr-only" for="ask-77520-question">Questions or Comments?</label><textarea name="Comments" id="ask-77520-question" class="form-control required" placeholder="*Questions or Comments" cols="12" rows="7"></textarea></div><div style="display:none;">Do not fill in this field:<input type="text" name="topyenoh" id="topyenoh"/></div><input type="hidden" name="g-recaptcha-response" id="g-recaptcha-response" value="initalize" class="g-recaptcha-response"/><input type="hidden" name="FormKey" id="FormKey" value="1e3e32f93d4d0bd6b27d62163147d10a"/><input type="hidden" name="Sent From" id="Sent From" value="https://www.parksquarerealty.com/blog.xml"/><input type="hidden" name="mailformid" id="mailformid" value="sidebar_ask_a_question"/><input type="hidden" name="Sent_Form" id="Sent_Form" value="sidebar_ask_a_question"/><div class="form-group opt-in-block"><label class="show"><input type="checkbox" name="OptIn" value="1" class="required" required="required"/><span class="control-label">Opt in</span></label><p>I agree to receive marketing and customer service calls and text messages from Park Square Realty. To opt out, you can reply 'stop' at any time or click the unsubscribe link in the emails. Consent is not a condition of purchase. Msg/data rates may apply. Msg frequency varies. <a href="/privacy-policy/">Privacy Policy</a>.</p></div><div class="submit-btn"><button type="submit" name="send" class="usm-btn">Send</button></div><div class="recaptcha-notice">This site is protected by reCAPTCHA and the Google <a href="https://policies.google.com/privacy">Privacy Policy</a> and <a href="https://policies.google.com/terms">Terms of Service</a> apply.</div></form></div></div><div id="codewidget-77519" class="widget code codewidget container"><div class="sidebarUserBox loggedOut">
	<div class="sidebarUserTop">
		<h3 class="widget-title">Search with ease!</h3>
		<form method="POST" action="/user/login/login/" id="loginform">
		<input type="hidden" name="RedirectURL" id="RedirectURL" value="/logged-in/">
			<div class="form-group log-in-group">
				<input type="text" name="Username" id="husername" class="inputtext" placeholder="Username">
				<input type="password" name="Password" id="hpassword" class="inputtext" placeholder="Password">
			</div>
			<div class="form-group submit-group">
				<input type="submit" name="submit" class="submit btn" id="login" value="Log In">
			</div>
		</form>
	</div>
	<div class="sidebarUserBottom">
		<p class="accountDescription">No account? <a href="/user/register/">Sign up now</a> to save searches, listings, and get tailored listing notifications. It's free, opt-out anytime.</p>
	</div>
</div>
<div class="sidebarUserBox loggedIn">
	<div class="sidebarUserTop">
		<h3 class="widget-title">'s Account:</h3>
		<a href="/realestate/mlssearch/" class="btn small">Custom Search</a>
		<a href="/realestate/searches/" class="btn small" title="View Searches">View Searches</a>
		<a href="/realestate/favorites/view/" class="btn small" title="View Favorites">View Favorites</a>
		<a href="/user/register/edit/" class="btn small" title="Edit Account">Edit Account</a>
		<a href="/user/passwordchange/" class="btn small" title="Change Password">Change Password</a>
		<a href="/user/logout?RedirectURL=/logged-out/" title="Logout" class="logout-link">Logout</a>
	</div>
</div></div></aside>
        </div>
    </div>
</div>
<div class="sub3Wrap">
    <aside id="group3"></aside>
</div>
<div class="sub4Wrap">
    <aside id="group4"><div id="recsearch-77372" class="widget recsearchlist recsearch recommendedsearchlist tabbed container"><h3 class="widget-title">Recommended Searches</h3><div class="widget-inner"><ul class="nav nav-tabs"><li class="active recsearch-category-towns"><a href="#tab-22669" data-toggle="tab">Towns</a></li><li class="recsearch-category-property-type"><a href="#tab-22670" data-toggle="tab">Property Type</a></li></ul><div class="tab-content"><div class="tab-pane active" id="tab-22669"><ul class="category-searches"><li><a title="Westfield" href="/towns/westfield/">Westfield</a></li><li><a title="Agawam" href="/towns/agawam/">Agawam</a></li><li><a title="Southwick" href="/towns/southwick/">Southwick</a></li><li><a title="West Springfield" href="/towns/west-springfield/">West Springfield</a></li><li><a title="Southampton/Easthampton" href="/southampton-easthampton/">Southampton/Easthampton</a></li><li><a title="Northampton" href="/towns/northampton/">Northampton</a></li><li><a title="South Hadley" href="/towns/south-hadley/">South Hadley</a></li><li><a title="Longmeadow/E. Longmeadow" href="/longmeadow-e-longmeadow/">Longmeadow/E. Longmeadow</a></li><li><a title="Hill Towns" href="/hill-towns/">Hill Towns</a></li><li><a title="Holyoke/Chicopee" href="/holyoke-chicopee/">Holyoke/Chicopee</a></li><li><a title="Springfield" href="/towns/springfield/">Springfield</a></li></ul></div><div class="tab-pane" id="tab-22670"><ul class="category-searches"><li><a title="Our Subdivisions" href="/our-subdivisions/">Our Subdivisions</a></li><li><a title="Single Family" href="/property-type/single-family/">Single Family</a></li><li><a title="Condo" href="/property-type/condo/">Condo</a></li><li><a title="Multi-Family" href="/property-type/multi-family/">Multi-Family</a></li><li><a title="Land" href="/property-type/land/">Land</a></li><li><a title="Rental" href="/property-type/rental/">Rental</a></li><li><a title="Commercial" href="/property-type/commercial/">Commercial</a></li></ul></div></div><a href="/realestate/searchcategories/" title="View All Recommended Searches" class="usm-btn view-all">View all</a></div>        
        </div></aside>
</div>
<div class="footWrap">
    <aside id="footer"><div id="image-77396" class="widget image container"><a href="/" target="_self"><img src="https://d3w216np43fnr4.cloudfront.net/6156/77396/1.png?version=1507579884" width="254" height="140"/></a></div><div id="codewidget-77403" class="widget code codewidget container"><div class="contact-block block1">
  <h3>West Springfield</h3>
  <p class="phone"><a href="tel:413.789.9830">413.789.9830</a></p>
  <p class="email"><a href="/contact-us/">parksquarerealty1@gmail.com</a></p>
  <p class="address1">470 Westfield Street, Suite 2</p>
  <p class="address2">West Springfield, MA 01089</p>
</div>
<div class="contact-block block2">
  <h3>Westfield</h3>
  <p class="phone"><a href="tel:413.568.9226">413.568.9226</a></p>
  <p class="email"><a href="/contact-us/">parksquarerealty1@gmail.com</a></p>
  <p class="address1">44 Elm Street</p>
  <p class="address2">Westfield, MA 01085</p>
</div></div><div id="sociallinks-77388" class="widget sociallinks socialinkswidget flat container"><ul class="fa-social-links sm40"><li><a target="_blank" title="Facebook" href="https://www.facebook.com/ParkSquareRealty" class="fa-social-links fsml-facebook" rel="noopener nofollow"><i class="fa fa-facebook"></i><span class="sr-only">Facebook</span></a></li><li><a target="_blank" title="Feed" href="http://rss.realsatisfied.com/rss/office/Park-Square-Realty" class="fa-social-links fsml-rss" rel="noopener nofollow"><i class="fa fa-rss"></i><span class="sr-only">Feed</span></a></li></ul></div><div id="codewidget-77404" class="widget code codewidget container"><p>� 2026 Park Square Realty | <a href="/privacy-policy/">Privacy Policy</a></p></div></aside>
</div>
<div class="usmWrap">
    <aside id="group5"><div id="associations-77405" class="widget associations container"><div id="footer-logos" style="width: 100%"><div id="footer-logos-left-assoc"></div><div id="footer-logos-right-accred"></div><div id="footer-logos-right-custom"><img src="https://d3w216np43fnr4.cloudfront.net/6156/77405/1.png?version=1507646039" title="Association logos" alt="Association logos"/></div></div></div><div id="usmlogo-77406" class="widget usmlogo container"><a href="https://www.unionstreetmedia.com/?utm_campaign=passive&#38;utm_medium=usm-badge&#38;utm_source=www.parksquarerealty.com&#38;utm_content=real-estate" rel="nofollow noopener" title="VT NH Real Estate Web Design" target="_blank"><img src="https://d1mlo4htassgww.cloudfront.net/i/usmtag/usm-white.png?version=1774534550" alt="Union Street Media Logo"/></a></div></aside>
</div><div id="progress"><i class="fa fa-spinner fa-spin"></i></div><script type="text/javascript">
            require(["jquery"], function ($) {
                var $navbarToggle = $("#menuwidget-77380 .navbar-toggle");

                $navbarToggle.click(function () {
                    var target = $(this).data("target");
                    $(target).parent("nav").toggleClass("active");
                    if ($(target).parent("nav").hasClass("active")) {
                        $("body").addClass("modal-open");
                    } else {
                        $("body.modal-open").removeClass("modal-open");
                    }
                });

                $("#menuwidget-77380 .menu-close").click(function (e) {
                    $navbarToggle.click();
                    e.preventDefault();
                });

                $("#menuwidget-77380 li.has-children ul li").click(function (event) {
                    event.stopPropagation();
                });
            });
        
            require(["jquery", "bootstrap"], function ($) {
                if ($.fn.carousel === undefined && jQuery.fn.carousel !== undefined) {
                    $ = jQuery;
                }
                $("#carousel-77370 .carousel").carousel({
                    "interval": 10000
                });
                $("#carousel-77370 .carousel-inner .item").each(function() {
                        this.style["-webkit-transition-duration"] = "1s"; 
                        this.style["-moz-transition-duration"] = "1s"; 
                        this.style["-o-transition-duration"] = "1s"; 
                        this.style["transition-duration"] = "1s"; 
                });
            });
        
            // Searchable suggestions with a label values for the suggestion.
            var SEARCHABLE_SUGGESTIONS_OPTIONS = {
                usmCityAndState: '',
                county: ' - County',
                stateOrProvince: '',
                usmNeighborhood: ' - Neighborhood',
                postalCode: ' - Zip Code',
                listingId: ' - MLS Number',
                usmNonMlsId: ' - Internal ID',
                elementarySchool: ' - Elementary School',
                middleOrJuniorSchool: ' - Middle Or Junior High School',
                usmArea: ' - Area',
                address: ' - Address',
                highSchool: ' - High School',
                highSchoolDistrict: ' - School District',
                usmVillage: ' - Village',
                usmSubdivision: ' - Subdivision',
                streetName: ' - Street',
                usmComplex: ' - Complex',
                usmPropertyName: ' - Property Name',
                mlsAreaMinor: ' - MLS Area Minor',
                mlsAreaMajor: ' - MLS Area Major',
                offMarketData: ' - Off Market',
                title: 'title',
                agent: ' - Agent',
                team: ' - Team',
            }

            var displayWaterBodyNameSuggestions = '';
            var showAgentsSearch = '0';

            if (displayWaterBodyNameSuggestions) {
                SEARCHABLE_SUGGESTIONS_OPTIONS.waterBodyName = ' - Water Body Name';
            }

            var suggestionResponse = null;
            require(['jquery'], function($) {
                /**
                 * Get current search mode based on active button
                 */
                function getCurrentSearchMode() {
                    if (showAgentsSearch === '1' && $('#agents-260670').hasClass('active')) {
                        return 'agents';
                    } else if ($('#rentals-property-types-260670').hasClass('active')) {
                        return 'rentals';
                    } else {
                        return 'sales';
                    }
                }

                /**
                 * Filter out not supported suggestions.
                 *
                 * @param suggestions
                 * @returns {[]}
                 */
                function sanitizeSuggestions(suggestions) {
                    const sanitizedSuggestions = [];
                    if (suggestions && Array.isArray(suggestions)) {
                        for (var suggestionIndex in suggestions) {
                            var suggestion = suggestions[suggestionIndex];

                            var suggestionType = suggestion.type;
                            // Filter out suggestions that are not currently supported
                            if (!SEARCHABLE_SUGGESTIONS_OPTIONS.hasOwnProperty(suggestionType)) {
                                continue;
                            }

                            sanitizedSuggestions.push(suggestion);
                        }
                        return sanitizedSuggestions;
                    }

                    return [];
                }

                /**
                 * Transform agents API response to suggestions format
                 */
                function transformAgentsToSuggestions(responseData) {
                    if (!Array.isArray(responseData?.agents) || !Array.isArray(responseData?.teams)) {
                        return [];
                    }
                    const data = [
                      ...responseData.agents.map(agent => ({ ...agent, type: 'agent' })),
                      ...responseData.teams.map(team => ({ ...team, type: 'team' }))
                    ];

                    return data.map((item) => ({
                        label: item.name,
                        value: item.name,
                        type: item.type,
                        id: item.id,
                        slug: item.slug,
                    }));
                }

                /**
                 * Check if the parameter looks like an address (starts with digits followed by words)
                 */
                function shouldReduceByAddress(value) {
                    var addressPattern = /^\d+\s+\w+/i;
                    return addressPattern.test(value.trim());
                }

                function fetchSuggestions(request, response) {
                    var param = request.term;
                    var requestPrefix = '';
                    var isOMPEnabled = requestPrefix === 'OMP:';
                    var searchMode = getCurrentSearchMode();

                    // Restrict search length to minimum 2 characters before sending the request.
                    if (param.length < 2) {
                        // We do not store and show recent searches if OMP is enabled or in agents mode
                        var isRecentSearchesDisabled = isOMPEnabled || searchMode === 'agents';
                        var recentSearches = isRecentSearchesDisabled ? [] : JSON.parse(window.localStorage.getItem('lastSearches'));

                        if (recentSearches && recentSearches.length > 0) {
                          recentSearches.unshift({label: 'Recent Searches', value: 'Recent Searches', type: 'title'})
                          response(recentSearches);
                        } else {
                          response([{label: 'The search word must be at least 3 characters long.', noResults: true}]);
                        }
                    } else {
                        // Different API endpoints based on search mode
                       var baseUrl = '';
                       var requestData = {};

                        if (searchMode === 'agents') {
                            baseUrl = '/api/suggestions/teams/';
                            requestData = {
                                q: param,
                            };
                        } else {
                            baseUrl = '/api/suggestions/';
                            requestData = {
                                q: requestPrefix + param
                            };

                            if (shouldReduceByAddress(param)) {
                                requestData.reduce = 'usmFullAddress';
                            }
                        }

                        $.ajax({
                            dataType: 'json',
                            url: baseUrl,
                            data: requestData,
                            type: 'GET',
                            timeout: 10000,
                            success: function(data) {
                                var suggestions = [];

                                if (searchMode === 'agents') {
                                    // Transform agents response
                                    suggestions = transformAgentsToSuggestions(data);
                                } else {
                                    // Regular suggestions
                                    if (data.suggestions && data.suggestions.length > 0) {
                                        suggestions = sanitizeSuggestions(data.suggestions);
                                    }
                                }

                                if (suggestions.length > 0) {
                                    // Set the suggestion response to the first suggestion
                                    suggestionResponse = suggestions[0];
                                    response(suggestions);
                                } else {
                                    // No results from API
                                    var noResultsMessage = searchMode === 'agents' ? 'No agents found.' : 'Enter another region.';
                                    response([{label: noResultsMessage, noResults: true}]);
                                }
                            },
                            error: function() {
                                response([{label: 'Problem contacting server, please refresh and try again.', noResults: true}]);
                                $('.autosuggest-loader').removeClass('fal fa-spinner fa-pulse');
                                $('.autosuggest-loader').addClass('fal fa-exclamation-triangle');
                            }
                        });
                    }
                }

                $('#autosuggest-search-query-260670').autocomplete({
                    source: function(request, response) {
                      fetchSuggestions(request, response);
                    },
                    minLength: 0,
                    open: function() {
                        inputWidth = $('#autosuggest-search-query-260670').outerWidth();
                        $('ul.ui-menu').css( 'width', inputWidth );
                    },
                    search: function(event, ui) {
                        $('.autosuggest-loader').addClass('fal fa-spinner fa-pulse');
                    },
                    response: function(event, ui) {
                        $('.autosuggest-loader').removeClass('fal fa-spinner fa-pulse');
                    },
                    position: {
                        offset: '0 -6'
                    },
                    autoFocus: true,
                    messages: {
                        //These messages are for accessability and are not visible in the UI (with proper styling).
                        noResults: 'No options found.',
                        results: function(amount) {
                            return amount + (amount > 1 ? ' results ' : ' result ') + 'found.'
                        }
                    },
                    delay: 300
                }).focus(function() {
                  $(this).autocomplete('search', $(this).val());
                }).data('ui-autocomplete')._renderItem = function(ul, item) {
                    let txt = String(item.label);

                    if (item.type) {
                        txt = txt.replace(new RegExp(this.term, 'gi'),'<b>$&</b>');
                    }

                    var type = item.type;

                    if (SEARCHABLE_SUGGESTIONS_OPTIONS.hasOwnProperty(type)) {
                        type = SEARCHABLE_SUGGESTIONS_OPTIONS[type];

                        if (type == 'listingId') {
                            txt = txt.toUpperCase();
                        }
                    } else {
                        type = '';
                    }

                    if (type === 'title') {
                        return $('<li></li>')
                            .append('<div class="item-title"><b>' + txt + '</b></div>')
                            .appendTo(ul);
                    }

                    var status = '';
                    if (item.standardStatus && item.standardStatus.length === 1 && item.standardStatus[0] === 'Closed') {
                        status = ' <span class="ui-status">Sold</span>';
                    }

                    const itemNoResultsClassName = !!item?.noResults ? 'autosuggest-item-no-result' : '';

                    return $(`<li class='${itemNoResultsClassName}'></li>`)
                        .data('ui-autocomplete-item', item)
                        .append('<a>' + txt + '<span>' + type + '</span>' + status + '</a>')
                        .appendTo(ul);
                };
            });
        
            require(['jquery'], function($) {
                var stateMap = JSON.parse('{"Alabama":"AL","Alaska":"AK","Arizona":"AZ","Arkansas":"AR","Bahamas":"BS","California":"CA","Colorado":"CO","Connecticut":"CT","Delaware":"DE","D.C.":"DC","Florida":"FL","Georgia":"GA","Hawaii":"HI","Idaho":"ID","Illinois":"IL","Indiana":"IN","Iowa":"IA","Kansas":"KS","Kentucky":"KY","Louisiana":"LA","Maine":"ME","Maryland":"MD","Massachusetts":"MA","Michigan":"MI","Minnesota":"MN","Mississippi":"MS","Missouri":"MO","Montana":"MT","Nebraska":"NE","Nevada":"NV","New Hampshire":"NH","New Jersey":"NJ","New Mexico":"NM","New York":"NY","North Carolina":"NC","North Dakota":"ND","Ohio":"OH","Oklahoma":"OK","Oregon":"OR","Pennsylvania":"PA","Rhode Island":"RI","South Carolina":"SC","South Dakota":"SD","Tennessee":"TN","Texas":"TX","Utah":"UT","Vermont":"VT","Virginia":"VA","Washington":"WA","West Virginia":"WV","Wisconsin":"WI","Wyoming":"WY","Alberta":"AB","British Columbia":"BC","Manitoba":"MB","New Brunswick":"NB","Newfoundland and Labrador":"NL","Nova Scotia":"NS","Ontario":"ON","Prince Edward Island":"PE","Quebec":"QC","Saskatchewan":"SK"}');
                const MAX_RECENT_SEARCHES_CACHED = 5;
                var showAgentsSearch = '0';

                function getCurrentSearchMode() {
                    if (showAgentsSearch === '1' && $('#agents-260670').hasClass('active')) {
                        return 'agents';
                    } else if ($('#rentals-property-types-260670').hasClass('active')) {
                        return 'rentals';
                    } else {
                        return 'sales';
                    }
                }

                /**
                 * Update placeholder based on current search mode
                 */
                function updatePlaceholder() {
                    var searchMode = getCurrentSearchMode();
                    var searchInput = $('#autosuggest-search-query-260670');
                    var placeholder = '';

                    switch(searchMode) {
                        case 'agents':
                            placeholder = 'Search for agents by name';
                            break;
                        case 'rentals':
                        case 'sales':
                        default:
                            placeholder = `Search homes via address, city or ZIP code`;
                            break;
                    }

                    searchInput.attr('placeholder', placeholder);
                }

                function getStateAbbreviation(stateName) {
                    if (!stateName) {
                        return null;
                    }

                    if (!stateMap.hasOwnProperty(stateName)) {
                        return null;
                    }

                    return stateMap[stateName];
                }

                function goToDetailView(filter) {
                    var baseUrl = '/api/listings/';
                    // We should use this replace in order to divide params into array in the ListingSearch.php in the V2
                    filter =  filter.replace(/\S&\S/g, function (tmpVal) {
                      return tmpVal.replace(/&/g, '#');
                    });
                    filter = encodeURIComponent(filter);
                    $.ajax({
                        dataType: 'json',
                        url: baseUrl + '?suggestionFilter=' + filter,
                        type: 'GET',
                        success: function(data) {
                            if (!Array.isArray(data.listings)) {
                                return;
                            }

                            if (data.listings.length === 1) {
                                window.location.href = data.listings[0].usmDetailPath;

                                return;
                            }

                            if (data.listings.length > 1) {
                                window.location.href = '/listings/' + '?suggestionFilter=' + filter;

                                return;
                            }
                        }
                    });
                }

                function getCityAndStatePath(value) {
                    var array = value.split(' ');

                    const state = array.pop().toLowerCase();
                    const city = array.join('-').toLowerCase();

                    return state + '/' + city + '/';
                }

                /**
                 * Build url with path based on the selected suggestion.
                 *
                 */
                function getUrlPath(suggestion) {
                    let path = '';
                    switch (suggestion.type) {
                        case 'cityAndState':
                            path += getCityAndStatePath(suggestion.value);

                            return path;
                        case 'stateOrProvince':
                            var stateAbbreviation = getStateAbbreviation(suggestion.value);

                            if (stateAbbreviation && stateAbbreviation.length == 2) {
                                path += stateAbbreviation.toLowerCase() + '/';
                            }

                            return path;
                        case 'neighborhood':
                        case 'village':
                            path += convertFilterString(suggestion.filter);

                            return path;
                        default:
                            return path;
                    }
                }

                function convertFilterString(filterString) {
                  if (!filterString) {
                    return '';
                  }

                  const filters = filterString.split('&');
                  const suggestionFilters = filters.map(filter => {
                    const filterPart = filter.split('=');

                    if (filterPart.length !== 2) {
                       return null;
                    }

                    const [key, value] = filterPart;
                    const name = key.match(/\[(.*?)\]/)?.[1];

                    if (!name) return null;

                    return name === 'cityAndState' || name === 'usmCityAndState'
                    ? getCityAndStatePath(value) + '?'
                    : name + '=' + value ;
                  });

                  return getPathFromFilters(suggestionFilters);
                }

                function getPathFromFilters(suggestionFilters) {
                  if (!suggestionFilters || suggestionFilters.length === 0) {
                    return '';
                  }

                  const cityAndStateItem = suggestionFilters.find(item => item.includes('/?'));

                  if (!cityAndStateItem) {
                    return '?' + suggestionFilters.join('&');
                  }

                  const filtersWithoutCityAndState = suggestionFilters.filter(item => item !== cityAndStateItem);

                  return cityAndStateItem + filtersWithoutCityAndState.join('&');
                }

                function getPropertyDetailPathFromOffMarketSuggestion(suggestion) {
                    if (!suggestion) {
                        return '';
                    }

                    const { value, filter } = suggestion;
                    const startIndex = filter?.indexOf('=') + 1;
                    const usmPid = filter?.substring(startIndex);

                    const address = value?.split(' ')
                        ?.map(function(word) { return word.toLowerCase() })
                        ?.join('-') || '';

                    return '/property/' + address + '/' + usmPid + '/';
                };

                function submitSearch(e, item) {
                    e.preventDefault();

                    if (!item) {
                        return;
                    }

                    // If the item has no type, it's an error message and shouldn't send anywhere
                    if (!item.type) {
                        return;
                    }

                    var searchMode = getCurrentSearchMode();

                    // Finish the input in case a selection was made without completing it
                    $('#autosuggest-search-query').val(item.type === 'listingId' ? item.value.toUpperCase() : item.label);

                    if (item.type === 'agent' || item.type === 'team') {
                        window.location.href = `/realestate/${item.type}/${item.slug}/`;

                        return;
                    }

                    // Send to detail view if MLS Number
                    if (item.type === 'listingId' || item.type === 'address' || item.type === 'usmPropertyName' || item.type === 'usmNonMlsId') {
                        var filter = item.filter;

                        if (item.standardStatus && item.standardStatus.length > 0) {
                            var statusList = Array.isArray(item.standardStatus)
                                ? item.standardStatus
                                : [item.standardStatus];
                            // It is very common for listings other than 'Active 'to being filtered out, so we need to add this filter to ensure that they are returned by the listings api
                            filter += (filter !== '' ? '&' : '') + 'filter[standardStatus]=' + statusList.join(',');
                        }
                        goToDetailView(filter);

                        return;
                    } else if (item.type === 'offMarketData') {
                        const propertyPath = getPropertyDetailPathFromOffMarketSuggestion(item);

                        window.location.href = propertyPath;

                        return;
                    }

                    item.type = item.type.replace('usmCityAndState', 'cityAndState')
                        .replace('usmNeighborhood', 'neighborhood')
                        .replace('usmVillage', 'village')
                        .replace('usmSubdivision', 'subdivision')
                        .replace('usmComplex', 'complex');

                    if (item.type === 'cityAndState') {
                        item.value = item.value.replace(', ', ' ');
                    }

                    path = getUrlPath(item);

                    // Don't save agents to recent searches
                    if (searchMode !== 'agents') {
                        var searches = [Object.assign({}, item)];
                        var storedSearches = JSON.parse(localStorage.getItem('lastSearches'));

                        if (storedSearches) {
                            searches = storedSearches.filter(function(storedSearch) {
                                storedSearch.value !== item.value
                            });
                            storedSearches = searches.length <= (MAX_RECENT_SEARCHES_CACHED - 1)
                              ? searches
                              : searches.slice(0,-1);
                            searches = [Object.assign({}, item), ...storedSearches];
                        }

                        localStorage.setItem('lastSearches', JSON.stringify(searches));
                    }

                    var propertyTypeFilter = '';
                    var displaySalesRentalsToggle = '';

                    if (displaySalesRentalsToggle && searchMode !== 'agents') {
                        var forSalePropertyTypes = '';
                        var rentalsPropertyTypes = '';
                        var forSaleLabel = 'Sales';
                        var rentalsLabel = 'Rentals';
                        var agentsLabel = '';
                        var propertyTypes = $('#sales-property-types-260670').hasClass('active') ? forSalePropertyTypes : rentalsPropertyTypes;

                        if (propertyTypes) {
                            if (item.type === 'cityAndState' && !propertyTypes.includes(',')) {
                                path = path + propertyTypes.toLowerCase() + '/';
                            } else {
                                propertyTypeFilter = 'propertyTypes=' + propertyTypes;
                            }
                        }
                    }

                    var fullPath = '';
                    if (path.length > 0) {
                        var separator = path.indexOf('?') !== -1 ? '&' : '?';
                        fullPath = '/listings/' + path + separator +'' + propertyTypeFilter;
                    } else {
                        fullPath = '/listings/?' + item.type + '=' + encodeURIComponent(item.value) + '&' + propertyTypeFilter;
                    }

                    // Remove trailing ? or &
                    const lastChar = fullPath.charAt(fullPath.length - 1);
                    if (lastChar === '?' || lastChar === '&') {
                        fullPath = fullPath.slice(0, -1);
                    }

                    window.location.href = fullPath;
                }

                $('.widget-autosuggest').on('submit', function(e) {
                    submitSearch(e, suggestionResponse);
                });

                $('.widget-autosuggest').on('autocompleteselect', function(e, ui) {
                    submitSearch(e, ui.item);
                });

                var salesPropertyTypesButton = $('#sales-property-types-260670');
                var rentalPropertyTypesButton = $('#rentals-property-types-260670');
                var agentsButton = $('#agents-260670');

                // Function to clear search and refresh autocomplete
                function clearSearchAndRefresh() {
                    $('#autosuggest-search-query-260670').val('').autocomplete('search', '');
                }

                const buttons = [salesPropertyTypesButton, rentalPropertyTypesButton];
                if (showAgentsSearch === '1') {
                    buttons.push(agentsButton);
                }

                function setActiveButton(activeButton, buttons) {
                    $.each(buttons, function(index, btn) {
                        btn.removeClass('active');
                    });
                    activeButton.addClass('active');
                    updatePlaceholder();
                    clearSearchAndRefresh();
                }

                salesPropertyTypesButton.on('click', function() {
                    setActiveButton(salesPropertyTypesButton, buttons);
                });

                rentalPropertyTypesButton.on('click', function() {
                    setActiveButton(rentalPropertyTypesButton, buttons);
                });

                // Only add event handler if agents search is enabled
                if (showAgentsSearch === '1') {
                    agentsButton.on('click', function() {
                        setActiveButton(agentsButton, buttons);
                    });
                }

                // Initialize placeholder on document ready
                $(document).ready(function() {
                    updatePlaceholder();
                });
            });
        
            require(["jquery", "usm", "usm.modalform", "usm.analytics"], function($, usm) {
                var $form = $('form#aaq-77520');

                var options = {
                    postSuccess: function (e) {
                                                if (typeof dataLayer !== 'undefined') {
                            dataLayer.push({"event":"Contact_Form","form_name":"Ask A Question - General"});
                        }
                                            }
                };

                usm.modalForm.addValidation($form, options);
            });
        
            require(["jquery", "usm", "bootstrap"], function ($, usm) {
                if (usm.touchSupport) {
                    require(["bootstraptabcollapse"], function() {
                        $(document).ready(function() {
                            var tab = $("#recsearch-77372 .nav-tabs");

                            if (tab) {
                                tab.tabCollapse();

                                //It is a specific task for adding category class for the rec search items by category name
                                tab.on("shown-accordion.bs.tabcollapse", function(e) {
                                    let tabPanel = document.querySelectorAll("#recsearch-77372 .panel-group .panel");

                                    if (tabPanel) {
                                        let classList = [];

                                        e.target.querySelectorAll("li").forEach((li) => {
                                            li.className.split(' ').forEach((className) => {
                                                if (!classList.includes(className) && className.indexOf("recsearch-category-") !== -1) {
                                                    classList.push(className);
                                                }
                                            });
                                        });

                                        tabPanel.forEach((panel, index) => {
                                            if (!panel.classList.contains(classList[index])) {
                                                panel.classList.add(classList[index]);
                                            }
                                        });
                                    }
                                });
                            }
                        });
                    });
                }
            });
        var URI = "/blog.xml";require(['usm', 'usm.user'], function (usm) { usm.user.setModal(1); });require(["jquery"], function ($) { $("body").addClass("js"); });</script><script type="text/javascript">require(['jquery'], function ($) {  });</script></body>
</html><!-- You're on: Some other server - 172.18.18.69 - www.parksquarerealty.com   Time: 0.162 -->