define("controllers/UserItem",["require","ControllerObjects"],function(e){return function(t){function n(e){s.call("bubble",e)}function r(e){d.update(e),a()}function a(){var e;try{d.requireDom(),d.require("userItem"),d.require("userItem","IUserItem"),d.optional("link"),d.optional("useConsumerViewDisplayPhone"),d.optional("showUserLocation")}catch(e){throw e}var t,n=d.get("userItem");if(d.get("subhead",!0)){var r,a,o;"string"==typeof d.get("subhead",!0)?t=d.get("subhead"):null!==(r=n.agentDetails)&&void 0!==r&&r.brokerage?t=n.agentDetails.brokerage:null!==(a=n.agentDetails)&&void 0!==a&&null!==(o=a.office)&&void 0!==o&&o.name&&(t=n.agentDetails.office.name)}var i;d.get("brand",!1)&&(i=n.brand),c.template.get({$dom:d.$dom,data:{image:d.get("image"),user:n,subhead:t,showUserLocation:d.get("showUserLocation"),thermometer:d.get("thermometer",!1),badges:d.get("badges"),note:d.get("note"),brand:i,chevron:d.get("chevron"),license:d.get("license",!1),useConsumerViewDisplayPhone:d.get("useConsumerViewDisplayPhone",!1)&&! "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. Just listed today";t.status.showDaysOnHomesnap?t.days?r+="".concat(t.days.commas," ").concat(1===t.days.raw? {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),". Homesnap.templates["controllers/DownloadMobileAppForm.html"] = '{{#with data}}
US mobile numbers only. D. Last Sold Price. AMAZING VIEWS FROM THIS SUNSET COTTAGE! Homesnap.templates["controllers/Property/PropertySchools.html"] = '{{#with data}}

Schools

{{#each this}}
{{/each}}
{{/with}}'; [0]}} Including protection from being unfairly evicted, denied housing, or refused the ability to rent or buy housing. Highly sought after LOCATION! (v=T.get("currentUser"),a()):M.getCurrentUser(function(e){v=e.user,a()},!0)}function a(){k.template.get({$dom:T.$dom,data:{}})}function o(t){g=t.$dom,g.inputMessage.on("focus",function(e){return d(),!1}),g.inputMessage.on("change",function(e){g.inputMessage.val()!==b&&(y=!0)}),g.inputNumber.on("blur",function(e){var t=$(e.currentTarget);t.val(t.val().trim())}),g.form.on("submit",function(t){return T.get("viewAsPublic",!1)? ".concat(e.listing.offMarketDate.shortMonth," ").concat(e.listing.offMarketDate.day):"";switch(!0){case e.listing.mlsStatus.expired:o="Expired".concat(c);break;case e.listing.mlsStatus.canceled:o="Canceled".concat(c);break;case e.listing.mlsStatus.withdrawn:o="Withdrawn".concat(c);break;case e.listing.mlsStatus.hold:o="Hold".concat(c)}}var l=new t(o,i,null);r.push(l)}if(e.listing.specialFeatures.brokerOpen||e.listing.specialFeatures.openHouse){ Nearby recently sold homes. The Rent Zestimate for this Vacant Land is $1,450/mo, which has increased by $1,450/mo in the "map-cluster-marker larger-marker":"map-cluster-marker",text:0===e.count.raw?" "1"}} bs4--col-sm-6{{/compare}} bs4--col-12">. "?utm_source=".concat(d.get("promoSource")):""),a.a.on("click",function(e){return n({type:"url.unhandled",url:b,data:s}),!1}).attr("href",b)}o.image&&(u.add("image",new i.ChildController({type:"controllers/UserProfileImage",namespace:l.get(),register:{bubble:n}}),!0),d.updateController("image",{$dom:a.divImage,data:{userItem:s,cssClass:"paint-second-background",link:! This property is not currently available for sale. (s.price=a.currentPrice?a.currentPrice.raw:void 0,s.sPropertyType2=a.sPropertyType2.raw):(s.price=a.value?a.value.raw:void 0,s.sPropertyType2=a.mappedSPropertyType),s.yearBuilt=a.yearBuilt,s.latitude=a.latitude,s.longitude=a.longitude,m.updateController("similar",{$dom:n.divSimilar,data:s})}else n.divSimilar.remove()}function i(){u.uninit()}function l(e,t){u.event(e,t)}var n,p=e("ControllerObjects"),d=new p.Unique(t),c=new p.Callbacks,u=new p.ChildControllerManager,m=new p.StateManager(u,{}),y={template:new p.Getter({namespace:d.get(),success:function(e){try{s(e)}catch(e){throw m&&console.info(m),e}},template:{url:"controllers/Property/PropertyCollapses.html",dom:["divSchools","divMap","divMassTransit","divFeatures","divMortgageCalculator","divSimilar","divCommuteTimes"]}})};return{update:o,restore:function(e){m.restore(e,a)},uninit:i,getState:m.getState.bind(m),register:c.register.bind(c),event:l}}}); Previous Over 80' //# sourceMappingURL=https://assets.homesnap.com/app/js_min/controllers/Header.js.map?hash=472dccee1e085f50bc5d3c4e6f25b97d "Last 7 Days":i>=7&&i<14? (this.rightoffold(e,t,r,n)||this.leftofbegin(e,t,r,n)||this.belowthefold(e,t,r,n)||this.abovethetop(e,t,r,n))},findEdges:function(e){var t;if(e&&e.length){var r=e.offset();r&&(t={top:r.top,left:r.left,bottom:r.top+e.height(),right:r.left+e.width()})}return t}},a.string={reverse:function(e){for(var t=e.length-1,r="";t>=0;r+=e[t--]);return r},getPrice:function(e){return e||0===e? Auctions Foreclosed These properties are owned by a bank or a lender who took ownership through foreclosure "homesnap":"hybrid",a.classList.toggle("map-type-btn-selected"),a.classList.toggle("paint-first-background"),a.firstElementChild.classList.toggle("paint-first-background"),r(Ge.type)}),google.maps.event.addListener(t,"zoom_changed",function(){Ge&&"hybrid"!==Ge.type&&a.classList.remove("map-type-btn-selected")}),google.maps.event.addListenerOnce(t,"tilesloaded",function(){Ge&&"hybrid"===Ge.type&&(a.className+=" img-circle map-type-btn-selected")})}function J(e,t){var o=document.createElement("div");o.className=" polygon-control-wrapper pointer",e.appendChild(o);var a=document.createElement("div");a.className="polygon-btn paint-base-font",a.innerHTML="Save Search",o.appendChild(a),a.addEventListener("click",function(){Ce.call("saveSearch",{})})}function Q(e,t){var o=document.createElement("div");o.className="mr-20 commute-times-btn bs4--rounded-circle",e.appendChild(o);var a=document.createElement("button");a.className="bs4--mt-auto bs4--border-0 bs4--bg-transparent paint-base-font",a.innerHTML="Commute",a.title="Search by commute",o.appendChild(a),a.addEventListener("click",function(){Ce.call("commuteTimeModal",{})})}function ee(e,t){google.maps.event.addListenerOnce(t,"tilesloaded",function(){Te.add("heatMaps",new he.ChildController({type:"controllers/Search/OffMarketOpportunities",namespace:Le.get(),register:{bubble:o,change:function(e){Ce.call("change",e)}}}),!0),Pe.updateController("heatMaps",{$dom:we(e),data:{currentHeatMaps:Ge.heatMaps}}),o({type:"heatMaps.requestTransactionType"})})}function te(e,t){var a=document.createElement("div");a.className=" heat-maps-control-wrapper pointer bs4--text-hs-blue bs4--text-center ",e.appendChild(a);var n=document.createElement("div");if(n.className="heat-maps-modal ",n.innerHTML='Heatmaps PRO',a.appendChild(n),Ge.heatMaps&&Ge.heatMaps.sectionKey){var s=Me.heatMapsSearchDefinitions.map(function(e){return e.sectionKey}).indexOf(Ge.heatMaps.sectionKey);if(null!==s){var i=Me.heatMapsSearchDefinitions[s],l=Homesnap.imageRootPath;fe.coStarBrand.is("citysnap")&&(l=l.replace("app_mls_website","app"));var r='');r+="".concat(i.sectionHeader),i.requires&&i.requires===Me.permissionLevel.PROPLUS&&(r+='')),n.innerHTML=r}}n.addEventListener("click",function(){var e=t.getCenter(),a=t.getZoom();Te.add("heatMapsMobile",new he.ChildController({type:"controllers/Search/HeatMapsMobile",namespace:Le.get(),register:{bubble:o,change:function(e){Ce.call("change",e)},updateLabel:function(e){n.innerHTML=e}}}),!0),Pe.updateController("heatMapsMobile",{data:{currentHeatMaps:Ge.heatMaps,latitude:e.lat(),longitude:e.lng(),zoom:a>17?a:18}})})}function oe(e,t){var o=document.createElement("div");o.classList.add("mb-20"),e.appendChild(o);var a=document.createElement("button");a.className="bs4--bg-white text-hs-blue map-list-toggle text-right hidden-xs hidden-sm bs4--border-0 paint-first-font",a.title="Hide List";var n=document.createElement("span");n.innerText="Hide List",hideListIcon=document.createElement("i"),hideListIcon.classList.add("material-icons"),hideListIcon.setAttribute("aria-hidden","true"),hideListIcon.innerText="arrow_right",n.appendChild(hideListIcon);var s=document.createElement("span");s.innerText="Show List";var i=document.createElement("i");i.classList.add("material-icons"),i.innerText="arrow_left",i.setAttribute("aria-hidden","true"),s.insertBefore(i,s.childNodes[0]),a.appendChild(n),o.appendChild(a),a.addEventListener("click",function(){var e=!0;"Hide List"==a.title? 26596 Perdido Beach Blvd, Orange Beach, AL 36561 | MLS "touchend":"mouseup",t),document.removeEventListener("touchmove",o),je(),je=null;var s=d.getPath();e(["simplify"],function(e){var t=ce.getBounds().toSpan().lat(),o=e(s.getArray().map(function(e){return{x:e.lng(),y:e.lat()}}),t/100).map(function(e){return{latitude:Math.round(1e5*e.y)/1e5,longitude:Math.round(1e5*e.x)/1e5}});d.setMap(null);var a=o.map(function(e){return new google.maps.LatLng(e.latitude,e.longitude)});Ce.call("change",{customPolygon:{paths:[o],encoded:google.maps.geometry.encoding.encodePath(a)}})})};Re=!0;var s=Date.now();N(s),D(),ce.setOptions({draggable:!1}),G().show();var i=ce.getDiv();i.style.cursor="crosshair";var l,r,d,c=ce.getZoom();i.addEventListener("mousedown",t),i.addEventListener("touchstart",t),je=function(){i.removeEventListener("mousedown",t),i.removeEventListener("touchstart",t),G().hide(),V(s),i.style.cursor="",ce.setOptions({draggable:!0}),Re=!1};var u}}function G(){if(!Ke){Ke=we("Draw your custom search area on the map"),Ke.addClass("draw-instructions");var e=we("Cancel");e.click(function(e){return je&&je(),!1}),Ke.append(e),Pe.$dom.parent().append(Ke)}return Ke}function W(){if(!Ne){Ne=we("Don't miss out! ".concat(e.attributes.offMarketDate.shortMonth," ").concat(e.attributes.offMarketDate.day):"";switch(!0){case e.attributes.mlsStatus.expired:S="Expired".concat(x);break;case e.attributes.mlsStatus.canceled:S="Canceled".concat(x);break;case e.attributes.mlsStatus.withdrawn:S="Withdrawn".concat(x);break;case e.attributes.mlsStatus.hold:S="Hold".concat(x)}}var k=new t(S,"#006DC7",null);r.push(k)}return r},getOwnershipTypeAttributeDescription:function(e,t){switch(e){case 1:return t? 7,061 Sq. ft. home is a 3 bed, 3.0 bath property. Ft. 29765 St John Dr, Orange Beach, AL 36561. (!r.pass||!r.pass.accordionOpen)&&r.pass.accordionOpen}).register("shown",function(){if(c)return!1;u.add("mortgageCalculator2",new i.ChildController({type:"controllers/MortgageCalculator",namespace:s.get(),register:{bubble:a}}),!0),g.updateController("mortgageCalculator2",{$dom:n.divMortgageCalculatorCollapse,data:{price:g.get("price"),propertyAddressItem:g.get("propertyAddressItem"),propertyDetails:g.get("propertyDetails")}}),c=!0})}),null!==(o=g.get("propertyDetails"))&&void 0!==o&&o.taxes&&a({type:"reflect",name:"MortgageCalculator.update.propertyTax",data:{namespace:t,value:g.get("propertyDetails").taxes}})}function l(e,t){var a;switch(e){case"Mortgage.MonthlyPayment":null!==t&&void 0!==t&&null!==(a=t.data)&&void 0!==a&&a.monthlyPayment&&g.set("monthlyPayment",t.data.monthlyPayment)}u.event(e,t)}var n,c,i=e("ControllerObjects"),s=new i.Unique(t),p=new i.Callbacks,u=new i.ChildControllerManager,g=new i.StateManager(u,{}),d={template:new i.Getter({namespace:s.get(),success:function(e){try{o(e)}catch(e){throw g&&console.info(g),e}},template:{url:"controllers/MortgageCalculatorCollapse.html",dom:["divMortgageCalculatorLabel","spanMortgageCalculatorCollapseChevron","divMortgageCalculatorCollapse"]}})};return{update:function(e){g.update(e),r()},restore:function(e){g.restore(e,r)},uninit:function(){u.uninit()},getState:g.getState.bind(g),register:p.register.bind(p),event:l}}}); WebSold: 3 beds, 4 baths, 1507 sq. (w&&clearTimeout(w),d(t,e)):q&&t===q||(q=t,w&&clearTimeout(w),w=setTimeout(function(){d(t)},200)):(q="",s())}function u(e){var t=j.get(10);J.done(function(){if(Y){var t=Object.keys(Y).some(function(e){return Y[e].hasListingCarts}),a=Object.keys(Y).some(function(e){return Y[e].hasSavedSearches}),n=[];(t||a)&&(a&&n.push({type_:"SavedSearches"}),t&&n.push({type_:"ListingCarts"}),e.unshift({header:"MLS",items:n,divider:!0}))}}),!z.get("multiArea",!1)&&(t&&t.length>0||e&&e.length>0)? Including protection from being fired, denied employment, or otherwise discriminated against by an employer. "satellite":"street",lat:d.latitude,lng:d.longitude,address:d.building?d.address:null}),!1)});if(n.paging||G.buildingSummary){I=Math.floor(u.aFrame.width()),u.ul.children("li").width(I),d&&d.secondaryImages&&(k=d.secondaryImages.length),void 0===L&&u.slyContainer.length?L=new window.Sly(u.slyContainer,{horizontal:1,itemNav:"basic",smart:1,mouseDragging:1,touchDragging:1,releaseSwing:1,swingSpeed:.1,scrollTrap:!0,speed:300,prevPage:u.iPrevious,nextPage:u.iNext,disabledClass:"slyDisabled",activeClass:"active",pagesBar:u.ulSliderPager,pageBuilder:function(e){return''.concat(e+1,"")}},{load:function(e){u.ulSliderPager.find("li").length>1?u.ulSliderPager.removeClass("hidden"):u.ulSliderPager.addClass("hidden")},move:function(e){var t,i;i=t=this.pos.cur=this.pos.end-I?this.pos.end-I-this.pos.cur:0,u.divOverlay.css("content").toLowerCase().indexOf("scroll")>-1&&2!==n.placardVersion&&(u.divOverlay.css("transform","translateX("+t+"px)"),r.data&&r.data.statusBar&&(u.divStatusBar.length>0&&u.divStatusBar.css("transform","translateX( ".concat(i,"px)")),u.divSecondaryStatusBar.length>0&&u.divSecondaryStatusBar.css("transform","translateX( ".concat(i,"px)")),u.divLikelihoodStatusBar.length>0&&u.divLikelihoodStatusBar.css("transform","translateX( ".concat(i,"px)"))));var a=Math.floor(this.pos.cur/I);a>x&&p(a,u),u.ulSliderPager.find(".active").prev().removeClass("dot_small_2").addClass("dot_small_1"),u.ulSliderPager.find(".active").prev().prev().removeClass("dot_small_1").addClass("dot_small_2"),u.ulSliderPager.find(".active").prev().prev().prevAll().removeClass("dot_small_2 dot_small_1"),u.ulSliderPager.find(".active").removeClass("dot_small_2 dot_small_1")},moveEnd:function(e){u.ulSliderPager.find(".active").nextAll().removeClass("dot_small_2").removeClass("dot_small_1")}}).init():"object"==typeof L&&"function"==typeof L.reload&&L.reload(),l=H.getBrowser();var C,P;V.get("noHoverEffect",!1)||u.aFrame.mouseenter(function(){C||R()}).mouseleave(function(){R.cancel()}),l.mouseover&&u.aFrame.mouseover(function(e){return P=!0,C||L.set("keyboardNavBy","pages"),!1}).mouseout(function(e){return P=!1,C||L.set("keyboardNavBy",0),!1}).mousedown(function(e){C=!0,_(document).on("mouseup.".concat(t),function(e){_(document).off("mouseup. Homesnap.templates["controllers/Header.html"] = '{{#with data}}
{{/with}}';