(\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*\/. define("controllers/SchoolDetailsKeyMetrics",["require","ControllerObjects","lodash","Utilities","tinycolor"],function(t){return function(e){function r(t){g.call("bubble",t)}function a(t){m.update(t),o()}function o(){try{m.requireDom()}catch(t){throw t}var t=m.get("schoolDetails");if(t.studentsByGrade){var e=t.studentsByGrade.groups.map(function(t){return t.count.raw}),r=h.max(e),a=h.sortBy(e).reverse(),o=t.studentsByGrade.groups.map(function(t){return(t.count.raw/r*100).toFixed(2)}),n=o.map(function(t){return t>25}),i=t.studentsByGrade.groups.map(function(t){var e=a.indexOf(t.count.raw),r=c.split("|");return e<2?r[e]:r[2]});y.template.get({$dom:m.$dom,data:{schoolDetails:t,percentages:o,takeGradeNameOutOfBar:n,barColors:i}})}}function n(t){var e=t.$dom,a=t.data;a.schoolDetails.ethnicity&&(f.add("ethnicityPieChart",new u.ChildController({type:"controllers/Charts/PieChart",namespace:p.get(),register:{bubble:r}}),!0),m.updateController("ethnicityPieChart",{$dom:e.divEthnicityPieChart,data:{chartData:i(a.schoolDetails.ethnicity),colorsArray:c.split("|"),total:a.schoolDetails.ethnicity.total.raw,tooltipFormat:"label",height:160,presorted:!0}})),a.schoolDetails.freeLunches&&(f.add("lunchPieChart",new u.ChildController({type:"controllers/Charts/PieChart",namespace:p.get(),register:{bubble:r}}),!0),m.updateController("lunchPieChart",{$dom:e.divLunchPieChart,data:{chartData:i(a.schoolDetails.freeLunches),colorsArray:c.split("|"),total:a.schoolDetails.freeLunches.total.raw,tooltipFormat:"label",height:160}}))}function i(t){for(var e={datasets:[],labels:[]},r=t.total.raw,a=0,o=t.groups.length;a0?$("a[href='#".concat(c.divMiddleSchoolContainer[0].id,"']")).trigger("click").attr("aria-selected",!0):h.high.length>0&&$("a[href='#".concat(c.divHighSchoolContainer[0].id,"']")).trigger("click").attr("aria-selected",!0)),d.call("bubble",{type:"url.update"})}var l=e("ControllerObjects"),n=e("Objects"),i=(e("bootstrap"),new l.Unique(t)),d=new l.Callbacks,c=new l.ChildControllerManager,u=new l.StateManager(c,{});c.add("graduateFromSchoolItem",new l.ChildControllerArray({type:"controllers/schoolItem",namespace:i.get(),register:{bubble:o}})),c.add("graduateToSchoolItem",new l.ChildControllerArray({type:"controllers/schoolItem",namespace:i.get(),register:{bubble:o}})),c.add("elementarySchoolItem",new l.ChildControllerArray({type:"controllers/schoolItem",namespace:i.get(),register:{bubble:o}})),c.add("middleSchoolItem",new l.ChildControllerArray({type:"controllers/schoolItem",namespace:i.get(),register:{bubble:o}})),c.add("highSchoolItem",new l.ChildControllerArray({type:"controllers/schoolItem",namespace:i.get(),register:{bubble:o}}));var h={getRelated:new l.Getter({namespace:i.get(),type:n.HSSchoolRelated,webService:"/service/Schools/GetRelated",failure:function(){throw u&&console.info(u),new Error("School Related Schools controller: Unhandled Error")}}),main:new l.Getter({namespace:i.get(),success:function(e){try{a(e)}catch(e){throw u&&console.info(u),e}},template:{url:"controllers/SchoolRelatedSchools.html",dom:["divFrom","divGraduateTo","divGraduateFrom","divElementary","divMiddle","divHigh","divElementaryContainer","divMiddleSchoolContainer","divHighSchoolContainer",["divGraduateFromSchool"],["divGraduateToSchool"],["divElementarySchool"],["divMiddleSchool"],["divHighSchool"],"aElementaryLabel","aMiddleLabel","aHighLabel","ulTabList"]}})};return{update:function(e){u.update(e),r()},restore:function(e){u.restore(e,r)},uninit:function(){c.uninit()},getState:u.getState.bind(u),register:d.register.bind(d),event:function(e,t){c.event(e,t)}}}}); Homesnap.templates["controllers/generic.html"] = '
'; Homesnap.templates["controllers/SearchDropdown.html"] = '{{#with data}}{{#each this}} {{#if header}} {{/if}} {{#each items}}
  • {{#compare type_ "HSAreaItem"}} {{name}} {{#compare areaTypeID 1}}
    State {{/compare}} {{#compare areaTypeID 2}} {{#if state}}
    {{state}} {{else}}
    Metro Area {{/if}} {{/compare}} {{#compare areaTypeID 3}}
    {{state}} {{/compare}} {{#compare areaTypeID 4}}
    City/Town {{/compare}} {{#compare areaTypeID 5}}
    Zip {{/compare}} {{#compare areaTypeID 6}}
    {{#if uspsCity}}{{uspsCity}}, {{/if}}{{state}} {{/compare}} {{#unless status.hasMLSCoverage}}
    Notify Me When Available {{/unless}} {{else compare type_ "HSPropertyAddressItem"}} {{#if building.name}} {{building.name}}
    {{/if}} {{address.fullStreetAddress}} {{#compare propertyStatus.color "red"}} {{/compare}} {{#compare propertyStatus.color "orange"}} {{/compare}} {{#compare propertyStatus.color "yellow"}} {{/compare}} {{#compare propertyStatus.color "purple"}} {{/compare}} {{#compare propertyStatus.color "green"}} {{/compare}}
    {{address.cityStateZip}} {{else compare type_ "HSSchool"}} {{name}}
    {{address.city}}, {{address.state}} {{else compare type_ "HSStreetArea"}} {{name}}
    {{area.name}} {{else compare type_ "HSSavedSearch"}} {{name}} {{#if summary}}
    {{{summary}}} {{/if}} {{else compare type_ "CommuteTimeBanner"}} Find Homes by Commute Time {{else compare type_ "HSIPLocation"}} Current Location {{else compare type_ "notClickable"}} {{name}} {{else compare type_ "ListingCarts"}} Imported Listing Carts {{else compare type_ "SavedSearches"}} Imported Saved Searches {{/compare}} {{#if autocompleteStatus.farFromBoundary}}
    Too far away. Incredible, once in a lifetime opportunity to own the perfect combination of one of Fresno's finest luxury homes along w/the most beautiful River & Bluff views anywhere in town. Previous "".concat(t.pa.length," Open Houses"):"".concat(t.pa.length," Listings"),F=t.pa[0].address.fullStreetAddressWithoutUnit}else if(t.pa[0].propertyCount&&t.pa[0].propertyCount.raw>1){var B=t.pa[0].properties?t.pa[0].properties.filter(function(t){return t.listing}):[];V=B.length>0&&!t.miniPin? The highly functional kitchen features wood custom cabinets, double dishwashers, eight burner Star stove, double ovens, lrg walk-in pantry & gorgeous stone counters. "touchend":"mouseup",f),t.stopPropagation()},f=function t(i){document.removeEventListener("touchend"===i.type? ":"&","hash=").concat(n,"&v=").concat(i)),require(["jquery"],function(t){if(!t("link[href='".concat(e,"']")).length){var a=t("head");if(a.length){var n=t('').attr("href",e);a.append(n),null!==o&&void 0!==o&&o.key&&null!==o&&void 0!==o&&o.value&&n.attr(o.key,o.value)}}"function"==typeof r&&r()})})}},o.ui={getWindowSize:function(e){return e>=1200?"lg":e>=992?"md":e>=768?"sm":"xs"},belowthefold:function(e,t,r,a){return(a&&a.offset()?a.offset().top+a.height():(t[0].innerHeight?t[0].innerHeight:t.height())+t.scrollTop())<=e.offset().top-(r||0)},rightoffold:function(e,t,r,a){return(a&&a.offset()?a.offset().left+a.width():t.width()+t.scrollLeft())<=e.offset().left-(r||0)},abovethetop:function(e,t,r,a){return(a&&a.offset()?a.offset().top:t.scrollTop())>=e.offset().top+(r||0)+e.height()},leftofbegin:function(e,t,r,a){return(a&&a.offset()?a.offset().left:t.scrollLeft())>=e.offset().left+(r||0)+e.width()},inviewport:function(e,t,r,a){return!(!e||!e.length)&&! "".concat(L.locationTitle," "):"").concat(L.searchDefinition.getTitle())}function y(){if(L.area.id)switch(L.area.areaTypeID){case 1:return"Search ".concat(L.locationTitle," homes for sale, apartments for rent, open houses, and more on ").concat(I.name,". {protocol:r[1]||location.protocol,host:r[2]||location.host,hostname:r[3]||location.hostname,port:r[4]||location.port,pathname:r[5],search:r[6],hash:r[7]}:null},isiOS:function(){return/iPad|iPhone|iPod/.test(navigator.userAgent||navigator.vendor||window.opera)&&!window.MSStream},isAndroid:function(){return/android/i.test(navigator.userAgent||navigator.vendor||window.opera)},isChromeiOS:function(){return/CriOS/i.test(navigator.userAgent||navigator.vendor||window.opera)},isWebView:function(){return/wv/i.test(navigator.userAgent||navigator.vendor||window.opera)},isHSPuppeteer:function(){return/HSPuppeteer/i.test(navigator.userAgent||navigator.vendor||window.opera)}},o.path={getImageUrl:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return t.imageRootPath+e},getJSUrl:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return t.jsRootPath+e},getHandlebarUrl:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return t.handlebarRootPath+e},getDomain:function(e){var t=e.split(".
  • {{/with}}'; Save your search for quick access to new listings and price cuts"),Ke.addClass("registration-reminder pos-abs text-white paint-first-background-before");var e=we("Save Search");e.addClass("btn pull-right registration-reminder-save text-white bs4--position-relative"),e.on("click",function(e){return Le.call("saveSearch",{}),!1});var t=we('');t.addClass("registration-reminder-cancel bs4--position-relative"),t.on("click",function(e){return $e.set(Ee,!0),Ke.hide(),!1}),Ke.append(e),Ke.append(t),Pe.$dom.parent().append(Ke)}return Ke}function F(){if(!Ne){Ne=we("Save your commute location(s) Sign up to access commute times on every property and save them for future updates"),Ne.addClass("registration-reminder pos-abs text-white paint-first-background-before");var e=we("Sign Up");e.addClass("btn pull-right registration-reminder-save text-white bs4--position-relative"),e.on("click",function(e){return o({type:"account.mode",mode:"default"}),!1});var t=we('');t.addClass("registration-reminder-cancel bs4--position-relative"),t.on("click",function(e){return Me.setReminder(),Ne.hide(),!1}),Ne.append(e).append(t),Pe.$dom.parent().append(Ne)}return Ne}function U(e,t){var o=document.createElement("div");o.className="bs4--rounded-circle mr-20",be.getBrowser().touch?o.classList.add("draw-polygon-mobile-btn"):o.classList.add("draw-polygon-btn"),e.appendChild(o);var a=document.createElement("button");a.className="bs4--mt-auto bs4--border-0 bs4--bg-transparent paint-base-font",a.title="Draw a custom area",a.innerHTML="Draw",o.appendChild(a),google.maps.event.addDomListener(a,"click",V)}function q(e,t){var o=document.createElement("div");o.className="layers-btn bs4--rounded-circle mr-20",e.appendChild(o);var a=document.createElement("button");a.className="bs4--mt-auto bs4--border-0 bs4--bg-transparent paint-base-font",a.innerHTML="Layers",o.appendChild(a);var n;google.maps.event.addDomListener(a,"click",function(){var e=a.parentElement.parentElement,t=e.querySelectorAll("button");n? [e]:Array.isArray(e)?e:[e];null!==(n=window.Homesnap.mlsVersionNumber)&&void 0!==n||window.Homesnap.versionNumber;i.forEach(function(e){var n,i=window.Homesnap.versionNumber;if(-1==e.indexOf("https://")&&0!=e.indexOf("//")){var s=e.toLowerCase();e=t.cssAppHashes&&!t.cssAppHashes["".concat(s)]? (a.title="Show List",a.replaceChild(s,n),a.style.paddingRight="5px"):(e=!1,a.title="Hide List",a.replaceChild(n,s),a.style.paddingRight="0"),Le.call("listToggle",e)})}function ae(e,t){var o=document.createElement("div");o.className="mobile-list-toggle-btn bs4--rounded-circle mr-20",e.appendChild(o);var a=document.createElement("button");a.className="bs4--mt-auto bs4--border-0 bs4--bg-transparent paint-base-font",a.innerHTML="List",a.title="Toggle Search List",a.setAttribute("data-hide-status",!1),o.appendChild(a),google.maps.event.addDomListener(a,"click",function(){var e=a.getAttribute("data-hide-status");a.setAttribute("data-hide-status","false"===e),Le.call("listToggle","false"===e)})}function ne(e){if(Ie){var t=We.paItems.markers.getItem(e.toString());t||(t=We.listingGroups.markers.getItem(e.toString())),t&&t.listingMarker.click()}else Le.register("clickWhenMapReady_",function(){var t=We.paItems.markers.getItem(e.toString());t&&t.listingMarker.click()})}function se(e){if(ce&&ce.getZoom()<16)return!1;if(e&&e.group&&e.value){var t=ke.getHeatMapCriteria(e.group,e.value)||{};e.sectionKey=t.sectionKey,e.colors=t.colors,e.sectionValues=t.sectionValues}if(e&&e.sectionKey!=We.heatMaps.sectionKey&&We.heatMaps.polygon&&We.paItems.markers.each(function(e,t){var o=t;o.polygon&&o.setVisibility(!1)}),e&&null===e.sectionKey&&We.heatMaps.polygon)le();else{var o=0;for(var a in We.paItems.data.items){if(!We.paItems.data.items.hasOwnProperty(a))return;var n=We.paItems.data.items[a],s=n[0]||null,l=null,i=null;if(! //# sourceMappingURL=https://assets.homesnap.com/app/js_min/controllers/SchoolRelatedSchools.js.map?hash=b25fadfbd06e131a454a5ec39afbbefc )/g;return"string"==typeof e?e.match(t):null}},o.date={getDateInfo:function(e){if(e){var t,r=new Date(e),a={weekday:"long",year:"numeric",month:"long",day:"numeric"},n={weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},i=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],s=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],l=["January","February","March","April","May","June","July","August","September","October","November","December"];return{raw:r.getTime(),date:r,month:r.getMonth()+1,day:r.getDate(),year:r.getFullYear(),monthDayYear:r.getMonth()+1+"/"+r.getDate()+"/"+r.getFullYear().toString().substr(2,2),formattedDate:r.toLocaleString("en-us",a),formattedDateTime:r.toLocaleString("en-us",n),shortMonth:s[r.getMonth()],longMonth:l[r.getMonth()],formattedTime:r.toLocaleTimeString("en-us",{hour:"2-digit",minute:"2-digit"}),ago:o.date.getAgo(r),agoFriendly:o.date.getAgoFriendly(r),shortDay:i[r.getDay()],longDay:null===(t=o.date.getDayOfWeek(r.getDay()))||void 0===t?void 0:t.dayFull}}return null},getAgo:function(e){var t=Date.now();if(e){var r=t-e.getTime(),a=Math.round(r/1e3),n=Math.round(a/60),o=Math.round(n/60),i=Math.round(o/24),s=Math.round(i/7),l=Math.round(i/30);return a<=0? (L.hasPropertyAddresses=!0,b?m():e(["modules/MapPropertyAddressTiles"],function(e){b=new e,b.register("new",s),m()})):L.layer.propertyAddresses&&L.hasPropertyAddresses&&(H.call("new",{propertyAddresses:[]}),L.hasPropertyAddresses=!1),u(L.layer.schools)?h():L.layer.schools&&H.call("new",{schools:[]}),4===(null===(a=L.searchDefinition)||void 0===a?void 0:null===(r=a.transactionType)||void 0===r?void 0:r.value)&&null!==(n=L.allHomesSearchDefinition.heatMaps)&&void 0!==n&&n.value?L.heatmaps=k.getHeatMapCriteria(L.allHomesSearchDefinition.heatMaps.group,L.allHomesSearchDefinition.heatMaps.value):(L.heatmaps.sectionKey=null,L.heatmaps.sectionValues=null,L.heatmaps.colors=null,H.call("new",{heatMaps:L.heatmaps})),L.heatmaps&&(L.heatmaps.colors||L.heatmaps.sectionKey||L.heatmaps.sectionValues)&&H.call("new",{heatMaps:L.heatmaps});var p=o.set&&(o.set.bounds||o.set.centerZoom)||(null===(c=o.clear)||void 0===c?void 0:c.polygon),f=!