Your browser is out of date or unsupported. Financial calculator disclaimer: Default based on a 30-year fixed rate of 6.375% with 20% down. (u.add("commuteTimesCollapse",new p.ChildController({type:"controllers/PropertyCommuteTimesCollapse",namespace:d.get(),register:{bubble:r}}),!0),m.updateController("commuteTimesCollapse",{$dom:n.divCommuteTimes,data:{propertyAddressItem:o}})):n.divCommuteTimes.remove(),-1===t.exclusions.indexOf("mortgage")&&a&&a.type_&&"HSListingDetail"==a.type_&&a.transactionType&&a.transactionType.forSale? Homesnap.templates["controllers/Property/PropertyCollapses.html"] = '{{#with data}}
{{/with}}'; //# sourceMappingURL=https://assets.homesnap.com/app/js_min/modules/SearchRecentSearches.js.map?hash=d94413680150e9c1019ebc5348325f67 "favorites":"notFavorites"].push(i),g.set(!1,"favoriteItems",s)}!a&&!e&&s&&s.notFavorites.indexOf(i)>-1&&r({type:"favoriteProperty.remove",data:{favoriteStatus:e,ids:t,propertyAddressItem:o}})}var s,c=e("ControllerObjects"),u=e("Objects"),d=e("Application"),l=new c.Unique(t),v=new c.Callbacks,f=new c.ChildControllerManager,p=new c.StateManager(f,{}),y={template:new c.Getter({namespace:l.get(),success:function(e){try{n(e)}catch(e){throw p&&console.info(p),e}},failure:function(){throw p&&console.info(p),new Error("PropertyFavorite controller: Unhandled Error")},template:{url:"controllers/Property/PropertyFavorite.html",dom:["spanFavoriteText","buttonFavorite"]}}),favorite:new c.Getter({type:u.HSPropertyAddressesFavoriteErrorCodeEnum,webService:"/service/PropertyAddresses/Favorite_2",namespace:l.get(),success:function(e){try{n(e)}catch(e){throw p&&console.info(p),e}},failure:function(){try{throw new Error("PropertyFavorite controller: Favorite. 2803 Whispering Hills has 3 bedrooms, 2.1 baths, and was built in 1984. Be the first to know when properties in this area and price range hit the market. {raw:e,commas:e.toLocaleString(),short:this.getShortNumber(e),decimal0:e.toLocaleString(void 0,{style:"decimal",maximumFractionDigits:0}),decimal1:e.toLocaleString(void 0,{style:"decimal",maximumFractionDigits:1,minimumFractionDigits:1}),decimal2:e.toLocaleString(void 0,{style:"decimal",maximumFractionDigits:2,minimumFractionDigits:2}),decimal3:e.toLocaleString(void 0,{style:"decimal",maximumFractionDigits:3,minimumFractionDigits:3})}:null},getPercent:function(e,t){if(e||0===e){var r=t||1,n=this.getNumber(Math.abs(e*r));return{raw:e*r,abs:n.raw,commas:n.commas+"%",decimal0:n.decimal0+"%",decimal1:n.decimal1+"%",decimal2:n.decimal2+"%",decimal3:n.decimal3+"%",isPositive:e>0}}return null},getPhoneNumber:function(e,t){if(!e)return null;var r=e.replace(/\D/g,"").replace(/^1/,""),n=null!==t&&void 0!==t?t:r.substr(10,100),a="(".concat(r.substr(0,3),") ").concat(r.substr(3,3),"-").concat(r.substr(6,4)),o="".concat(r.substr(0,3),"-").concat(r.substr(3,3),"-").concat(r.substr(6,4)),i="".concat(r.substr(0,3),".").concat(r.substr(3,3),". //# sourceMappingURL=https://assets.homesnap.com/app/js_min/controllers/Property/PropertyAddressHeader.js.map?hash=3c3433865e61166a6f3d977551cc774d (!0===t.buttonFavorite.data("favorite-status")?y.unFavorite.get({data:o,success:function(e){e.data&&a(!1,o,n,t,c,!0)}}):y.favorite.get({data:o,success:function(r){!r.data||!0!==r.data.success&&!0!==r.data.alreadyFavorited||(a(!0,o,n,t,c,!0),e(["modules/FBDare"],function(e){void 0!==e&&e.fbDareEvent("InitiateCheckout",[o.listingID])})),"function"==typeof gtag&>ag("event","listing_favorited")}}),!1):(r({type:"account.mode",callback:function(){d.getCurrentUser(function(e){var r,a;null!==e&&void 0!==e&&null!==(r=e.user)&&void 0!==r&&null!==(a=r.registrationStatus)&&void 0!==a&&a.registered&&i(t,o,n,c)},!0)}}),!1)})}function a(e,t,o,n,i,a){var s=g.get(!1,"favoriteItems",60);if(n.buttonFavorite.data("favorite-status",e).find("span").text(e?"star":"star_border"),n.buttonFavorite.attr("aria-label",e? "".concat(e.address.fullStreetAddress,", ").concat(e.address.cityStateZip):"",r=a.coStarBrand.is("citysnap");return e.listing&&e.listing.sourceNumber&&r?t+=" | RLS #".concat(e.listing.sourceNumber):e.listing&&e.listing.sourceNumber&&!r&&(t+=" | MLS #".concat(e.listing.sourceNumber)),t},getGraphImage:function(e){return{raw:e,large:e.replace("{w}","1000").replace("{h}","120")}},getPieChartImage:function(e,t){var r="";for(var n in t)t.hasOwnProperty(n)&&(r+=t[n].Value+" - "+t[n].Label,r+="|");return{raw:e,small:e.replace("{w}","320").replace("{h}","160").replace("{color0}","00A3E1").replace("{color1}","56BBE1").replace("{color2}","abddf0").replace("{color3}","cccccc")+"&chdl="+r.slice(0,-1)}},getStatusBadges:function(e){function t(e,t,r){this.text=e,this.color=t,this.secondaryColor=r}var r=[];if(e.listing){if(e.listing.specialFeatures.comingSoon){var n=new t("Coming Soon","#fac332","");r.push(n)}else{var o,i,s=2===e.transactionType.raw;if(e.listing.sListingStatus.active)o=s? Your browser is not currently supported. [^A-Z]*)/g).slice(0,-1).join(" "),r.name? define("controllers/Property/PropertySidebar",["require","ControllerObjects","Application","Objects","Utilities"],function(e){return function(t){function n(e){switch(e.type){case"trackUserEvent":e.data&&(e.data.viewSourceID=3);break;case"leadgenForm.show":d();break;case"sellspeed.show":return B.exists("showSellSpeed")&&B.call("showSellSpeed"),!1;case"sellspeed.open":return B.exists("openSellSpeed")&&B.call("openSellSpeed"),!1;case"getAvailability.success":return D&&j.get("myListingAdminPanel").event("getAvailability.data",e.data.getAvailabilityData),!1;case"getAvailability.failure":return D&&j.get("myListingAdminPanel").event("getAvailability.failure"),!1;case"userItem.phoneNumberClicked":return"function"==typeof gtag&>ag("event","listing_lead_gen_phone_click"),!1}return B.call("bubble",e),!1}function o(e){W.update(e),i()}function i(){try{W.requireDom(),W.require("details"),W.require("propertyAddressItem"),W.optional("mlsFeedbackParams"),W.optional("qs")}catch(e){throw e}q.getCurrentUser(function(e){var t,n,o,i;A=e.user,S=null===(t=A)||void 0===t?void 0:null===(n=t.currentDetails)||void 0===n?void 0:null===(o=n.products)||void 0===o?void 0:null===(i=o.pro)||void 0===i?void 0:i.availableForUse,H.template.get({$dom:W.$dom,data:{details:W.get("details"),pro:S,permissions:A.permissions,coStarBrand:_,isCitysnap:E},pass:{$mobileActionsContainer:W.get("mobileActionsContainer"),$mobileConversationsContainer:W.get("mobileConversationsContainer"),$mobileAgentsContainer:W.get("mobileAgentsContainer")}})})}function r(e){var t,o,r,u,v,m;h=e.$dom,y=e.data.details,null!==(t=y)&&void 0!==t&&null!==(o=t.status)&&void 0!==o&&o.enableCoExclusiveListing&&(j.add("listingRelatedListings",new x.ChildController({type:"controllers/Property/ListingRelatedListings",namespace:N.get(),register:{bubble:n}}),!0),W.updateController("listingRelatedListings",{$dom:h.divRelatedListings,data:{listingID:y.listingID}}));var C=W.get("propertyAddressItem"),b=W.get("mlsFeedbackParams");if(D=!1,A&&A.permissions&&A.permissions.mlsAgent){var M,L=y&&y.agentOnly&&y.agentOnly.agents.filter(function(e){return e.agent.entityID===A.entityID&&e});if(D=L&&L.length>=1,D&&(I=L.role),L&&A.permissions.homeSnapAdminTools&&null!==(M=Homesnap)&&void 0!==M&&M.environmentType&&1!=(1&Homesnap.environmentType)){var k=$("").addClass("font-12").text("to toggle the My Listing Admin Panel"),R=$("").addClass("bs4--border-0 bs4--bg-transparent bs4--text-hs-blue").text("Click Here");k.prepend(R),h.divFloatingContainer.append(k),R.on("click",function(e){return W.set("currentUserRelatedToListing",!D),i(),!1}),D=W.get("currentUserRelatedToListing")}a(e.pass.$mobileActionsContainer)}if(y&&y.conversations&&l(e.pass.$mobileConversationsContainer),(null!==(r=A)&&void 0!==r&&null!==(u=r.permissions)&&void 0!==u&&u.mlsAgent||S)&&p(),y.status&&y.status.canGenerateRapidCMA&&!D&&(j.add("requestCMA",new x.ChildController({type:"controllers/ListingRequestCMA",namespace:N.get(),register:{bubble:n}}),!0),W.updateController("requestCMA",{$dom:h.divRequestCMA,data:{listing:y,pro:S}}),h.divAgentActions.removeClass("hidden")),y.agentOnly&&(y.agentOnly.status&&y.agentOnly.status.checkForShowingUrl&&(D?g(C):(j.add("scheduleShowing",new x.ChildController({type:"controllers/ListingScheduleShowing",namespace:N.get(),register:{bubble:n,showingUrlSuccess:function(){h.divAgentActions.removeClass("hidden")},showingUrlHomesnapSuccess:function(){g(C)}}}),!0),W.updateController("scheduleShowing",{$dom:h.divScheduleShowing,data:{propertyAddressItem:W.get("propertyAddressItem")}}))),y.agentOnly.agents&&!D)){h.divRelatedAgentsPanel.length>0&&h.divRelatedAgentsPanel.removeClass("bs4--d-none"),c(e.pass.$mobileAgentsContainer);var F=y.agentOnly.agents.length>1;j.add("relatedAgents",new x.ChildControllerArray({type:"controllers/ListingRelatedAgent",namespace:N.get(),register:{bubble:n,listingRelatedAgentCheck:function(e){j.get("relatedAgents").event("check",e.data),j.get("conversationInlineSend").event("relatedAgentsRecipient",e.data)},listingRelatedAgentUnCheck:function(e){j.get("relatedAgents").event("uncheck",e.data)}}}),!0),W.updateController("relatedAgents",{$dom:h.divRelatedAgents,data:y.agentOnly.agents.map(function(e,t){return{relatedAgent:e,showCheckBox:F&&e.status.showWithMessageTextBox,checked:0===t}})}),j.add("conversationInlineSend",new x.ChildController({type:"controllers/ConversationInlineSend",namespace:N.get(),register:{bubble:n}}),!0),W.updateController("conversationInlineSend",{$dom:h.divInlineConversation,data:{relatedAgent:y.agentOnly.agents[0],listing:y}})}if(y&&!y.listingID&&S&&C&&C.propertyID&&H.getOwner.get({$dom:W.$dom,data:{propertyID:C.propertyID},success:s,failure:function(){throw W&&console.info(W),new Error("Property Sidebar controller: Unhandled Error in GetOwnershipSnapshot web service")}}),null!==(v=A)&&void 0!==v&&null!==(m=v.permissions)&&void 0!==m&&m.agent){var P;null!==C&&void 0!==C&&null!==(P=C.transactionType)&&void 0!==P&&P.forSale&&!y.listingID&&h.btnNetSheet.on("click",function(){return j.add("netSheetCalculator",new x.ChildController({type:"controllers/NetSheetCalculator",namespace:N.get(),register:{bubble:n}}),!0),W.updateController("netSheetCalculator",{data:{propertyAddressItem:C,propertyDetails:y}}),!1}).removeClass("hidden"),j.add("advertiseUnits",new x.ChildController({type:"controllers/AdvertiseUnits",namespace:N.get(),register:{bubble:n}}),!0),W.updateController("advertiseUnits",{$dom:h.divAdvertiseUnits,data:{placementType:C&&C.listing?3:4,currentUser:A}})}var U=b&&"object"==typeof b&&Object.keys(b).length>0;C&&h.divLeadGenForm&&!U&&d(e.pass.$mobileAgentsContainer),y.conversations&&y.conversations.length>0&&h.divRelatedConversations&&(j.add("conversationItem",new x.ChildControllerArray({type:"controllers/ConversationItem",namespace:N.get(),register:{bubble:n}}),!0),W.updateController("conversationItem",{$dom:h.divRelatedConversations,data:y.conversations.map(function(e){return{conversationItem:e,relatedConversation:!0}})}),h.btnSendInAMessage.on("click",function(){return j.add("sendInAMessageMaster",new x.ChildController({type:"controllers/SendInAMessageMaster",namespace:N.get(),register:{bubble:n}}),!0),W.updateController("sendInAMessageMaster",{data:{paItem:y}}),!1})),A&&A.currentDetails&&(A.currentDetails.clientAppType&&!A.currentDetails.clientAppType.isAppUser? "".concat(e):"paint/paint.css")},set:function(e,t,r,n,a){var o=document.documentElement.style;e&&t&&o&&(o.setProperty("--".concat(e,"-hex"),t),"number"==typeof r&&"number"==typeof n&&"number"==typeof a&&(o.setProperty("--".concat(e,"-hue"),"".concat(r)),o.setProperty("--".concat(e,"-sat"),"".concat(n,"%")),o.setProperty("--".concat(e,"-lte"),"".concat(a,"%"))))}},converters:{rgb2hsl:function(e,t,r){var n=Math.max(e,t,r),a=n-Math.min(e,t,r),o=1-Math.abs(n+n-a-1),i=a&&(n===e? Age 31. This is. Create an account to save and share your favorite homes and searches. Brokerage services provided by TPH ZeroDown Brokerage, Inc. in CA, TPH ZeroDown Brokerage TX LLC in TX, and TPH ZeroDown Brokerage LLC in all other states. Interested in homes in Whispering Hills or the surrounding area? ");return t.slice(t.length-2).join(". Once you find a property you'd like to see fill out the form and a Weichert Associate will contact you. ("number"!=typeof e||e<0)){var t=new Date(null);t.setSeconds(e);var r=t.toISOString().substr(11,8),n=r.split(":");return{raw:e,hours:+n[0],minutes:+n[1],seconds:+n[2],formatted:r,formattedTrimmed:r.replace(/^0(?:0:0? Property type. Due to market fluctuations, interest rates are subject to change at any time and without notice. [0]}}" alt="" loading="lazy" width="555" height="416"/> {{/if}}