LMI.MapInit=(function(){var map,L={getMap:function(){return map;}};LMI.Init.addFunction(function(){if("centerPoint"in LMI.Data||"searchResults"in LMI.Data){var i,p,c,propList=['name','listing','listingId','streetAddress','city','state','zipCode','phoneNumbers','inList','provider','partner','detailUrl','rating','priceLevel','imageUrl','ratesPhone'],M=LMI.Mapping,opts=LMI.Data.mapOptions,PoiType=M.AttractionMarker;if(LMI.Data.pageName==='hotelMapResults'){PoiType=M.HotelMarker;}else if(LMI.Data.pageName==='carrental'){PoiType=M.AirportMarker;opts.enableOverview=false;}else if(LMI.Data.pageName==="yellow"){opts.enableOverview=false;}else if(LMI.Data.pageName==="realestate"){PoiType=M.RealEstateMarker;propList=propList.concat(['minPrice','maxPrice','bedrooms','bathrooms','area','smallImageUrl']);}
map=new M.InteractiveMap('#mapImage',opts);if('centerPoint'in LMI.Data&&LMI.Data.centerPoint.geoCoded){c=LMI.Data.centerPoint;map.addObject(new DSIcon(new M.Point(c.latitude,c.longitude),LMI.MapUtils.getIcon(-1,'red',true),20,30));}
if('searchResults'in LMI.Data){i=LMI.Data.searchResults.length-1;LMI.Lang.forEach(LMI.Data.searchResults.reverse(),function(loc){if(loc.geoCoded){p=new PoiType(new M.Point(loc.latitude,loc.longitude),i);LMI.Lang.forEach(propList,function(prop){if(prop in loc){p.setProperty(prop,loc[prop]);}});p.setProperty('type','listing');if(LMI.Data.pageName==="realestate"){p.setProperty("name",constructDisplayName(loc));p.setProperty("displayName",constructDisplayName(loc));}
map.addObject(p);}
i--;});}
if(LMI.Data.pageName==="carrental"||LMI.Data.pageName==="yellow"){map.addControls(M.Controls.getSmallControls());}else{map.addControls();}
map.bestFit();}});function constructDisplayName(poi){var name="";if(poi.streetAddress){name+=poi.streetAddress+" ";}
if(poi.city&&poi.state){name+=poi.city+", "+poi.state;}else if(poi.city){name+=poi.city;}else if(poi.state){name+=poi.state;}
if(poi.zipCode){name+=" "+poi.zipCode;}
return name;}
return L;})();