"increased":"dropped"," ").concat(c.string.getPrice(a).dollars," on ").concat(r[0].date.monthDayYear)}}return null}function i(t){return t.filter(function(t){return t.status.isCurrentListing})[0]}var o=t("ControllerObjects"),c=t("Utilities"),u=new o.Unique(e),d=new o.Callbacks,l=new o.ChildControllerManager,g=new o.StateManager(l,{});new o.Getter({namespace:u.get(),success:function(t){},template:{name:"controllers/ListingHistoryCapsule",html:""}});return{update:r,restore:function(t){g.restore(t,n)},uninit:function(){l.uninit()},getState:g.getState.bind(g),register:d.register.bind(d),event:function(t,e){l.event(t,e)}}}}); //# sourceMappingURL=https://assets.homesnap.com/app/js_min/controllers/ActionBar.js.map?hash=1ae103eb33dd18df93875c5c285588d3 Two additional bedrooms provide cozy havens for restful nights, each boasting its own ensuite bathroom, ensuring utmost privacy and convenience. (Ge.polygon.bounds=new google.maps.LatLngBounds,Ge.polygon.bounds.extend({lat:l.south,lng:l.west}),Ge.polygon.bounds.extend({lat:l.north,lng:l.east})):Ge.polygon.bounds=A(Ge.polygon.polygon),Ge.polygon.type=t,Ge.polygon.data=l,v()}break;case"MultiAreaItem":var c,u,p;if(null===a||void 0===a||!a.data||Array.isArray(a.data))return;var m=a.data.item,y=null===a||void 0===a?void 0:null===(c=a.data)||void 0===c?void 0:c.fit;b(),T(Ge.polygon.marker),y&&g();var M=[],H=[];if(Ge.polygon.bounds=new google.maps.LatLngBounds,Ge.polygon.polygon=null!==m&&void 0!==m&&m.length&&Ge.polygon.polygon?Ge.polygon.polygon:[],Array.isArray(m)&&m.forEach(function(e){var t,o;if("HSStreetArea"===(null===e||void 0===e?void 0:e.type_)&&null!==(t=e.segments)&&void 0!==t&&t.length){var a=null===e||void 0===e?void 0:e.segments.map(function(e){return e});H=H.concat(a)}else if(null!==e&&void 0!==e&&e.polygon)M.push(e.polygon);else if(null!==e&&void 0!==e&&null!==(o=e.zones)&&void 0!==o&&o.length){var n=e.zones.map(function(e){return e.polygon})[0];n&&M.push(n)}e.north&&e.south&&e.east&&e.west&&(Ge.polygon.bounds.extend({lat:e.south,lng:e.west}),Ge.polygon.bounds.extend({lat:e.north,lng:e.east}))}),H.length){var z=H.map(function(e){return google.maps.geometry.encoding.decodePath(e)});Ge.polygon.polygon=Ge.polygon.polygon.concat(P({paths:z}))}if(M.length){var D=O(M);Ge.polygon.polygon=Ge.polygon.polygon.concat(x({paths:D,fit:y}))}y&&ce.fitBounds(E(Ge.polygon.bounds,y.percent));var B=a.data.item.filter(function(e){return 26===e.entityType});if(B.length){var R;We.multiAreasSchools.data=Ge.multiAreasSchools.data,Ge.multiAreasSchools.data=new ve.HashTable,B.forEach(function(e){Ge.multiAreasSchools.data.setItem(e.id.toString(),e)});var j=fe.js.dedupeHashTables(We.multiAreasSchools.data,Ge.multiAreasSchools.data);null!==j&&void 0!==j&&null!==(R=j.remove)&&void 0!==R&&R.length&&j.remove.forEach(function(e,t){var o=Ge.multiAreasSchools.markers.getItem(e);o&&(T(o),Ge.multiAreasSchools.markers.removeItem(e))}),e(["modules/MapCustomMarker"],function(e){var t;if(void 0===e||null===e)return!1;if((null===j||void 0===j?void 0:null===(t=j.add)||void 0===t?void 0:t.length)>0){var n,s=function(t,a){function n(e,t){_({latLng:t,marker:Ge.multiAreasSchools.markers.getItem(e.id.toString()),data:e,onClick:function(e,t,a){o({type:"url.unhandled",url:e&&e.hasPolygon&&t?e.polygonUrl:e.url,data:e,polygon:t,details:a})}})}var s=new google.maps.LatLng(t.latitude,t.longitude);return new e.School(s,a,t,!0,n)};null===j||void 0===j||null===(n=j.add)||void 0===n||n.forEach(function(e){var t=Ge.multiAreasSchools.data.getItem(e);if(!1!==a.marker&&t.latitude&&t.longitude){var o=s(t,ce);Ge.multiAreasSchools.markers.setItem(t.id.toString(),o)}})}})}else Ge.multiAreasSchools.data.length&&S();1===m.length&&fe.ajax.isType(m[0],"HSSchool")&&(null===(u=m[0])||void 0===u||null===(p=u.zones)||void 0===p||!p.length)&&m[0].latitude&&m[0].longitude&&(ce.setCenter({lat:m[0].latitude,lng:m[0].longitude}),ce.setZoom(Pe.get("nonPolygonZoom",18))),Ge.polygon.type=t,Ge.polygon.data=m;break;case"HSSchool":if(a&&a.data&&Array.isArray(a.data)){We.schools.data=Ge.schools.data,a.ui&&a.ui.schools&&(Ge.ui.schools=a.ui.schools),Ge.schools.data=new ve.HashTable;for(var K=0;K0;Ge.polygon.polygon.forEach(function(o){google.maps.geometry.poly.containsLocation(t,o)&&!n&&Ge.schools.data.setItem(e.id.toString(),e)})}}();var N=fe.js.dedupeHashTables(We.schools.data,Ge.schools.data);if(N&&N.remove&&N.remove.length>0)for(var V=0;V0&&e(["modules/MapCustomMarker"],function(e){if(void 0===e||null===e)return!1;for(var t=0;t0){var X=U.zones.reduce(function(e,t){return t.polygon&&(e=e||[],e.push(t.polygon)),e},void 0),Y=O(X);Ge.polygon.polygon=x({paths:Y,fit:q}),U.north&&U.south&&U.east&&U.west? Homes at Oakdale Greystone Properties Ask us how! This Magnificent Low Country Home is located on 44 Beautiful Acres which includes a 12 Acre Lake. Hire the Best Deck Builders in Florence, SC on HomeAdvisor. Hardwood floors, formal living room also has a fireplace with gas logs and a large formal dining room. Florence, SC 29506 (843) 629-8020 info@woodland-builders.com . Greystone Properties In Florence, South Carolina, the largest builders are Hopkins Builders, Great Southern Homes, and Clayton Homes. View 42 photos of this 4 bed, 2 bath, 2730 Sq Ft home in Florence, SC. Check out modern homes in new communities around Florence. Gourmet kitchen with Wolf range, Thermador oven and Sub Zero refrigerator. (\d{2}),\d+(\)\(\d{2},\d+)*/i,r=e.match(n);return"26"!==(null===r||void 0===r?void 0:r[1])||r[2]?e.indexOf("/cp_")>-1?a.polygonType=2:e.indexOf("/ct_")>-1?a.polygonType=1:"21"!==(null===r||void 0===r?void 0:r[1])||r[2]||(a.polygonType=4):a.polygonType=3,e.indexOf("hm_")>-1&&(a.heatmapOption=e.match(/.*\/hm_(\w*)_\d*\/. Florence, SC New Custom Homes on Your Lot | Red Door Homes Carolinas "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? Attached in-law suite includes open living area, full kitchen, bedroom, and full bath. define("controllers/Property/PropertyHistory",["require","ControllerObjects","Application","lodash","Objects"],function(e){return function(t){function r(e){if(0!==e.data.length){var t=e.data;C.add("mortgages",new u.ChildController({type:"controllers/Property/PropertyHistoryMortgages",namespace:b.get(),register:{bubble:s}}),!0),w.updateController("mortgages",{$dom:v.mortgagesContent,data:{mortgages:t,allExpanded:A,propertyStatus:S}}),v.mortgagesTab.parent().removeClass("hidden")}}function o(e){if(0!==e.data.length){var t=e.data;C.add("taxes",new u.ChildController({type:"controllers/Property/PropertyHistoryTaxes",namespace:b.get(),register:{bubble:s}}),!0),w.updateController("taxes",{$dom:v.taxContent,data:{taxes:t,allExpanded:A,propertyStatus:S}}),v.taxTab.parent().removeClass("hidden")}}function a(e){if(0!==e.data.length){var t=e.data;C.add("deeds",new u.ChildController({type:"controllers/Property/PropertyHistoryDeeds",namespace:b.get(),register:{bubble:s}}),!0),w.updateController("deeds",{$dom:v.deedContent,data:{deeds:t,allExpanded:A,propertyStatus:S}}),v.deedTab.parent().removeClass("hidden")}}function n(){A=null}function s(e){f.call("bubble",e)}function d(e){w.update(e),i()}function i(){try{w.requireDom(),w.optional("listing")}catch(e){throw e}var e=w.get("listing");S=w.get("propertyStatus"),e&&e.sListingStatus&&e.sListingStatus.removed&&S&&(S.text="Off-Market"),x=w.get("history"),e&&(x=e.history),x&&(n(),g.getCurrentUser(function(e){h=e.user,T.main.get({$dom:w.$dom,data:{propertyAddressItem:w.get("propertyAddressItem"),history:x,propertyStatus:S,pro:m.get(h,"currentDetails.products.pro.availableForUse")}})},!0))}function l(e){v=e.$dom;var t=e.data,r={promoMedium:"web-".concat(P)};if(w.updateController("summaryRows",{$dom:v.summaryRow,data:x.map(function(t,r){return{historyItems:t,dataIndex:r,propertyStatus:S,pro:e.data.pro,open:A,proPlus:m.get(h,"currentDetails.products.proPlus.availableForUse"),propertyListingID:e.data.propertyAddressItem.listing&&e.data.propertyAddressItem.listing.id}})}),e.data.pro){var o=e.data.propertyAddressItem.propertyID;T.mortgages.get({$dom:v.mortgagesContent,data:{propertyID:o}}),T.taxes.get({$dom:v.taxContent,data:{propertyID:o}}),T.deeds.get({$dom:v.deedContent,data:{propertyID:o}}),v.expandAll.on("click",function(){A=!A,v.expandAll.text(A? (o.status.raw|=1,o.status.isFavorited=!0):null!==e&&void 0!==e&&e.favoriteStatus||(o.status.raw&=-2,o.status.isFavorited=!1),o&&y.set("propertyAddressItem",o),a())}function d(e,t){"listingDetails.loaded"===e&&v.resolve(t),"propertyFavoriteStatus.updated"===e&&l(t),I.event(e,t)}var u,p,c,v,g=e("ControllerObjects"),h=e("Application"),w=e("jquery"),f=new g.Unique(t),m=new g.Callbacks,I=new g.ChildControllerManager,y=new g.StateManager(I,{}),A={template:new g.Getter({namespace:f.get(),success:function(e){try{i(e)}catch(e){throw void 0!==y&&null!==y&&console.info(y),e}},failure:function(){try{throw new Error("ActionBar controller: Unhandled Error")}catch(e){throw void 0!==y&&null!==y&&console.info(y),e}},template:{url:"controllers/ActionBar.html",dom:["liFavorite","liSendInAMessage","liShare","ulShare","btnSocialShare"]}})},C=function(){var e=w.Deferred();return h.getCurrentUser(function(t){c=t.user,e.resolve()},!0),e}();return{update:o,restore:function(e){y.restore(e,n)},uninit:function(){I.uninit()},getState:y.getState.bind(y),register:m.register.bind(m),event:d}}});