function ClusterIcon(cluster,styles){cluster.getMarkerClusterer().extend(ClusterIcon,google.maps.OverlayView);this.cluster_=cluster;this.className_=cluster.getMarkerClusterer().getClusterClass();this.styles_=styles;this.center_=null;this.div_=null;this.sums_=null;this.visible_=false;this.setMap(cluster.getMap())}ClusterIcon.prototype.onAdd=function(){var cClusterIcon=this;var cMouseDownInCluster;var cDraggingMapByCluster;var gmVersion=google.maps.version.split(".");gmVersion=parseInt(gmVersion[0]*100,10)+parseInt(gmVersion[1],10);this.div_=document.createElement("div");this.div_.className=this.className_;if(this.visible_){this.show()}this.getPanes().overlayMouseTarget.appendChild(this.div_);this.boundsChangedListener_=google.maps.event.addListener(this.getMap(),"bounds_changed",function(){cDraggingMapByCluster=cMouseDownInCluster});google.maps.event.addDomListener(this.div_,"mousedown",function(){cMouseDownInCluster=true;cDraggingMapByCluster=false});if(gmVersion>=332){google.maps.event.addDomListener(this.div_,"touchstart",function(e){e.stopPropagation()})}google.maps.event.addDomListener(this.div_,"click",function(e){cMouseDownInCluster=false;if(!cDraggingMapByCluster){var theBounds;var mz;var mc=cClusterIcon.cluster_.getMarkerClusterer();google.maps.event.trigger(mc,"click",cClusterIcon.cluster_);google.maps.event.trigger(mc,"clusterclick",cClusterIcon.cluster_);if(mc.getZoomOnClick()){mz=mc.getMaxZoom();theBounds=cClusterIcon.cluster_.getBounds();mc.getMap().fitBounds(theBounds);setTimeout(function(){mc.getMap().fitBounds(theBounds);if(mz!==null&&mc.getMap().getZoom()>mz){mc.getMap().setZoom(mz+1)}},100)}e.cancelBubble=true;if(e.stopPropagation){e.stopPropagation()}}});google.maps.event.addDomListener(this.div_,"mouseover",function(){var mc=cClusterIcon.cluster_.getMarkerClusterer();google.maps.event.trigger(mc,"mouseover",cClusterIcon.cluster_)});google.maps.event.addDomListener(this.div_,"mouseout",function(){var mc=cClusterIcon.cluster_.getMarkerClusterer();google.maps.event.trigger(mc,"mouseout",cClusterIcon.cluster_)})};ClusterIcon.prototype.onRemove=function(){if(this.div_&&this.div_.parentNode){this.hide();google.maps.event.removeListener(this.boundsChangedListener_);google.maps.event.clearInstanceListeners(this.div_);this.div_.parentNode.removeChild(this.div_);this.div_=null}};ClusterIcon.prototype.draw=function(){if(this.visible_){var pos=this.getPosFromLatLng_(this.center_);this.div_.style.top=pos.y+"px";this.div_.style.left=pos.x+"px";this.div_.style.zIndex=google.maps.Marker.MAX_ZINDEX+1}};ClusterIcon.prototype.hide=function(){if(this.div_){this.div_.style.display="none"}this.visible_=false};ClusterIcon.prototype.show=function(){if(this.div_){var img="";var bp=this.backgroundPosition_.split(" ");var spriteH=parseInt(bp[0].replace(/^\s+|\s+$/g,""),10);var spriteV=parseInt(bp[1].replace(/^\s+|\s+$/g,""),10);var pos=this.getPosFromLatLng_(this.center_);this.div_.style.cssText=this.createCss(pos);if(typeof this.url_!="undefined"){img="<img src='"+this.url_+"' style='position: absolute; top: "+spriteV+"px; left: "+spriteH+"px; ";if(this.cluster_.getMarkerClusterer().enableRetinaIcons_){img+="width: "+this.width_+"px; height: "+this.height_+"px;"}else{img+="clip: rect("+-1*spriteV+"px, "+(-1*spriteH+this.width_)+"px, "+(-1*spriteV+this.height_)+"px, "+-1*spriteH+"px);"}img+="'>"}this.div_.innerHTML=img+"<div style='"+"position: absolute;"+"top: "+this.anchorText_[0]+"px;"+"left: "+this.anchorText_[1]+"px;"+"color: "+this.textColor_+";"+"font-size: "+this.textSize_+"px;"+"font-family: "+this.fontFamily_+";"+"font-weight: "+this.fontWeight_+";"+"font-style: "+this.fontStyle_+";"+"text-decoration: "+this.textDecoration_+";"+"text-align: center;"+"width: "+this.width_+"px;"+"line-height:"+this.height_+"px;"+"'>"+this.sums_.text+"</div>";if(typeof this.sums_.title==="undefined"||this.sums_.title===""){this.div_.title=this.cluster_.getMarkerClusterer().getTitle()}else{this.div_.title=this.sums_.title}this.div_.style.display=""}this.visible_=true};ClusterIcon.prototype.useStyle=function(sums){this.sums_=sums;var index=Math.max(0,sums.index-1);index=Math.min(this.styles_.length-1,index);var style=this.styles_[index];this.url_=style.url;this.height_=style.height;this.width_=style.width;this.anchorText_=style.anchorText||[0,0];this.anchorIcon_=style.anchorIcon||[parseInt(this.height_/2,10),parseInt(this.width_/2,10)];this.textColor_=style.textColor||"black";this.textSize_=style.textSize||11;this.textDecoration_=style.textDecoration||"none";this.fontWeight_=style.fontWeight||"bold";this.fontStyle_=style.fontStyle||"normal";this.fontFamily_=style.fontFamily||"Arial,sans-serif";this.backgroundPosition_=style.backgroundPosition||"0 0"};ClusterIcon.prototype.setCenter=function(center){this.center_=center};ClusterIcon.prototype.createCss=function(pos){var style=[];style.push("cursor: pointer;");style.push("position: absolute; top: "+pos.y+"px; left: "+pos.x+"px;");style.push("width: "+this.width_+"px; height: "+this.height_+"px;");style.push("-webkit-user-select: none;");style.push("-khtml-user-select: none;");style.push("-moz-user-select: none;");style.push("-o-user-select: none;");style.push("user-select: none;");return style.join("")};ClusterIcon.prototype.getPosFromLatLng_=function(latlng){var pos=this.getProjection().fromLatLngToDivPixel(latlng);pos.x-=this.anchorIcon_[1];pos.y-=this.anchorIcon_[0];pos.x=parseInt(pos.x,10);pos.y=parseInt(pos.y,10);return pos};function Cluster(mc){this.markerClusterer_=mc;this.map_=mc.getMap();this.gridSize_=mc.getGridSize();this.minClusterSize_=mc.getMinimumClusterSize();this.averageCenter_=mc.getAverageCenter();this.markers_=[];this.center_=null;this.bounds_=null;this.clusterIcon_=new ClusterIcon(this,mc.getStyles())}Cluster.prototype.getSize=function(){return this.markers_.length};Cluster.prototype.getMarkers=function(){return this.markers_};Cluster.prototype.getCenter=function(){return this.center_};Cluster.prototype.getMap=function(){return this.map_};Cluster.prototype.getMarkerClusterer=function(){return this.markerClusterer_};Cluster.prototype.getBounds=function(){var i;var bounds=new google.maps.LatLngBounds(this.center_,this.center_);var markers=this.getMarkers();for(i=0;i<markers.length;i++){bounds.extend(markers[i].getPosition())}return bounds};Cluster.prototype.remove=function(){this.clusterIcon_.setMap(null);this.markers_=[];delete this.markers_};Cluster.prototype.addMarker=function(marker){var i;var mCount;var mz;if(this.isMarkerAlreadyAdded_(marker)){return false}if(!this.center_){this.center_=marker.getPosition();this.calculateBounds_()}else{if(this.averageCenter_){var l=this.markers_.length+1;var lat=(this.center_.lat()*(l-1)+marker.getPosition().lat())/l;var lng=(this.center_.lng()*(l-1)+marker.getPosition().lng())/l;this.center_=new google.maps.LatLng(lat,lng);this.calculateBounds_()}}marker.isAdded=true;this.markers_.push(marker);mCount=this.markers_.length;mz=this.markerClusterer_.getMaxZoom();if(mz!==null&&this.map_.getZoom()>mz){if(marker.getMap()!==this.map_){marker.setMap(this.map_)}}else if(mCount<this.minClusterSize_){if(marker.getMap()!==this.map_){marker.setMap(this.map_)}}else if(mCount===this.minClusterSize_){for(i=0;i<mCount;i++){this.markers_[i].setMap(null)}}else{marker.setMap(null)}this.updateIcon_();return true};Cluster.prototype.isMarkerInClusterBounds=function(marker){return this.bounds_.contains(marker.getPosition())};Cluster.prototype.calculateBounds_=function(){var bounds=new google.maps.LatLngBounds(this.center_,this.center_);this.bounds_=this.markerClusterer_.getExtendedBounds(bounds)};Cluster.prototype.updateIcon_=function(){var mCount=this.markers_.length;var mz=this.markerClusterer_.getMaxZoom();if(mz!==null&&this.map_.getZoom()>mz){this.clusterIcon_.hide();return}if(mCount<this.minClusterSize_){this.clusterIcon_.hide();return}var numStyles=this.markerClusterer_.getStyles().length;var sums=this.markerClusterer_.getCalculator()(this.markers_,numStyles);this.clusterIcon_.setCenter(this.center_);this.clusterIcon_.useStyle(sums);this.clusterIcon_.show()};Cluster.prototype.isMarkerAlreadyAdded_=function(marker){var i;if(this.markers_.indexOf){return this.markers_.indexOf(marker)!==-1}else{for(i=0;i<this.markers_.length;i++){if(marker===this.markers_[i]){return true}}}return false};function MarkerClusterer(map,opt_markers,opt_options){this.extend(MarkerClusterer,google.maps.OverlayView);opt_markers=opt_markers||[];opt_options=opt_options||{};this.markers_=[];this.clusters_=[];this.listeners_=[];this.activeMap_=null;this.ready_=false;this.gridSize_=opt_options.gridSize||60;this.minClusterSize_=opt_options.minimumClusterSize||2;this.maxZoom_=opt_options.maxZoom||null;this.styles_=opt_options.styles||[];this.title_=opt_options.title||"";this.zoomOnClick_=true;if(opt_options.zoomOnClick!==undefined){this.zoomOnClick_=opt_options.zoomOnClick}this.averageCenter_=false;if(opt_options.averageCenter!==undefined){this.averageCenter_=opt_options.averageCenter}this.ignoreHidden_=false;if(opt_options.ignoreHidden!==undefined){this.ignoreHidden_=opt_options.ignoreHidden}this.enableRetinaIcons_=false;if(opt_options.enableRetinaIcons!==undefined){this.enableRetinaIcons_=opt_options.enableRetinaIcons}this.imagePath_=opt_options.imagePath||MarkerClusterer.IMAGE_PATH;this.imageExtension_=opt_options.imageExtension||MarkerClusterer.IMAGE_EXTENSION;this.imageSizes_=opt_options.imageSizes||MarkerClusterer.IMAGE_SIZES;this.calculator_=opt_options.calculator||MarkerClusterer.CALCULATOR;this.batchSize_=opt_options.batchSize||MarkerClusterer.BATCH_SIZE;this.batchSizeIE_=opt_options.batchSizeIE||MarkerClusterer.BATCH_SIZE_IE;this.clusterClass_=opt_options.clusterClass||"cluster";if(navigator.userAgent.toLowerCase().indexOf("msie")!==-1){this.batchSize_=this.batchSizeIE_}this.setupStyles_();this.addMarkers(opt_markers,true);this.setMap(map)}MarkerClusterer.prototype.onAdd=function(){var cMarkerClusterer=this;this.activeMap_=this.getMap();this.ready_=true;this.repaint();this.prevZoom_=this.getMap().getZoom();this.listeners_=[google.maps.event.addListener(this.getMap(),"zoom_changed",function(){var zoom=this.getMap().getZoom();var minZoom=this.getMap().minZoom||0;var maxZoom=Math.min(this.getMap().maxZoom||100,this.getMap().mapTypes[this.getMap().getMapTypeId()].maxZoom);zoom=Math.min(Math.max(zoom,minZoom),maxZoom);if(this.prevZoom_!=zoom){this.prevZoom_=zoom;this.resetViewport_(false)}}.bind(this)),google.maps.event.addListener(this.getMap(),"idle",function(){cMarkerClusterer.redraw_()})]};MarkerClusterer.prototype.onRemove=function(){var i;for(i=0;i<this.markers_.length;i++){if(this.markers_[i].getMap()!==this.activeMap_){this.markers_[i].setMap(this.activeMap_)}}for(i=0;i<this.clusters_.length;i++){this.clusters_[i].remove()}this.clusters_=[];for(i=0;i<this.listeners_.length;i++){google.maps.event.removeListener(this.listeners_[i])}this.listeners_=[];this.activeMap_=null;this.ready_=false};MarkerClusterer.prototype.draw=function(){};MarkerClusterer.prototype.setupStyles_=function(){var i,size;if(this.styles_.length>0){return}for(i=0;i<this.imageSizes_.length;i++){size=this.imageSizes_[i];this.styles_.push({url:this.imagePath_+(i+1)+"."+this.imageExtension_,height:size,width:size})}};MarkerClusterer.prototype.fitMapToMarkers=function(){var i;var markers=this.getMarkers();var bounds=new google.maps.LatLngBounds;for(i=0;i<markers.length;i++){if(markers[i].getVisible()||!this.getIgnoreHidden()){bounds.extend(markers[i].getPosition())}}this.getMap().fitBounds(bounds)};MarkerClusterer.prototype.getGridSize=function(){return this.gridSize_};MarkerClusterer.prototype.setGridSize=function(gridSize){this.gridSize_=gridSize};MarkerClusterer.prototype.getMinimumClusterSize=function(){return this.minClusterSize_};MarkerClusterer.prototype.setMinimumClusterSize=function(minimumClusterSize){this.minClusterSize_=minimumClusterSize};MarkerClusterer.prototype.getMaxZoom=function(){return this.maxZoom_};MarkerClusterer.prototype.setMaxZoom=function(maxZoom){this.maxZoom_=maxZoom};MarkerClusterer.prototype.getStyles=function(){return this.styles_};MarkerClusterer.prototype.setStyles=function(styles){this.styles_=styles};MarkerClusterer.prototype.getTitle=function(){return this.title_};MarkerClusterer.prototype.setTitle=function(title){this.title_=title};MarkerClusterer.prototype.getZoomOnClick=function(){return this.zoomOnClick_};MarkerClusterer.prototype.setZoomOnClick=function(zoomOnClick){this.zoomOnClick_=zoomOnClick};MarkerClusterer.prototype.getAverageCenter=function(){return this.averageCenter_};MarkerClusterer.prototype.setAverageCenter=function(averageCenter){this.averageCenter_=averageCenter};MarkerClusterer.prototype.getIgnoreHidden=function(){return this.ignoreHidden_};MarkerClusterer.prototype.setIgnoreHidden=function(ignoreHidden){this.ignoreHidden_=ignoreHidden};MarkerClusterer.prototype.getEnableRetinaIcons=function(){return this.enableRetinaIcons_};MarkerClusterer.prototype.setEnableRetinaIcons=function(enableRetinaIcons){this.enableRetinaIcons_=enableRetinaIcons};MarkerClusterer.prototype.getImageExtension=function(){return this.imageExtension_};MarkerClusterer.prototype.setImageExtension=function(imageExtension){this.imageExtension_=imageExtension};MarkerClusterer.prototype.getImagePath=function(){return this.imagePath_};MarkerClusterer.prototype.setImagePath=function(imagePath){this.imagePath_=imagePath};MarkerClusterer.prototype.getImageSizes=function(){return this.imageSizes_};MarkerClusterer.prototype.setImageSizes=function(imageSizes){this.imageSizes_=imageSizes};MarkerClusterer.prototype.getCalculator=function(){return this.calculator_};MarkerClusterer.prototype.setCalculator=function(calculator){this.calculator_=calculator};MarkerClusterer.prototype.getBatchSizeIE=function(){return this.batchSizeIE_};MarkerClusterer.prototype.setBatchSizeIE=function(batchSizeIE){this.batchSizeIE_=batchSizeIE};MarkerClusterer.prototype.getClusterClass=function(){return this.clusterClass_};MarkerClusterer.prototype.setClusterClass=function(clusterClass){this.clusterClass_=clusterClass};MarkerClusterer.prototype.getMarkers=function(){return this.markers_};MarkerClusterer.prototype.getTotalMarkers=function(){return this.markers_.length};MarkerClusterer.prototype.getClusters=function(){return this.clusters_};MarkerClusterer.prototype.getTotalClusters=function(){return this.clusters_.length};MarkerClusterer.prototype.addMarker=function(marker,opt_nodraw){this.pushMarkerTo_(marker);if(!opt_nodraw){this.redraw_()}};MarkerClusterer.prototype.addMarkers=function(markers,opt_nodraw){var key;for(key in markers){if(markers.hasOwnProperty(key)){this.pushMarkerTo_(markers[key])}}if(!opt_nodraw){this.redraw_()}};MarkerClusterer.prototype.pushMarkerTo_=function(marker){if(marker.getDraggable()){var cMarkerClusterer=this;google.maps.event.addListener(marker,"dragend",function(){if(cMarkerClusterer.ready_){this.isAdded=false;cMarkerClusterer.repaint()}})}marker.isAdded=false;this.markers_.push(marker)};MarkerClusterer.prototype.removeMarker=function(marker,opt_nodraw){var removed=this.removeMarker_(marker);if(!opt_nodraw&&removed){this.repaint()}return removed};MarkerClusterer.prototype.removeMarkers=function(markers,opt_nodraw){var i,r;var removed=false;for(i=0;i<markers.length;i++){r=this.removeMarker_(markers[i]);removed=removed||r}if(!opt_nodraw&&removed){this.repaint()}return removed};MarkerClusterer.prototype.removeMarker_=function(marker){var i;var index=-1;if(this.markers_.indexOf){index=this.markers_.indexOf(marker)}else{for(i=0;i<this.markers_.length;i++){if(marker===this.markers_[i]){index=i;break}}}if(index===-1){return false}marker.setMap(null);this.markers_.splice(index,1);return true};MarkerClusterer.prototype.clearMarkers=function(){this.resetViewport_(true);this.markers_=[]};MarkerClusterer.prototype.repaint=function(){var oldClusters=this.clusters_.slice();this.clusters_=[];this.resetViewport_(false);this.redraw_();setTimeout(function(){var i;for(i=0;i<oldClusters.length;i++){oldClusters[i].remove()}},0)};MarkerClusterer.prototype.getExtendedBounds=function(bounds){var projection=this.getProjection();var tr=new google.maps.LatLng(bounds.getNorthEast().lat(),bounds.getNorthEast().lng());var bl=new google.maps.LatLng(bounds.getSouthWest().lat(),bounds.getSouthWest().lng());var trPix=projection.fromLatLngToDivPixel(tr);trPix.x+=this.gridSize_;trPix.y-=this.gridSize_;var blPix=projection.fromLatLngToDivPixel(bl);blPix.x-=this.gridSize_;blPix.y+=this.gridSize_;var ne=projection.fromDivPixelToLatLng(trPix);var sw=projection.fromDivPixelToLatLng(blPix);bounds.extend(ne);bounds.extend(sw);return bounds};MarkerClusterer.prototype.redraw_=function(){this.createClusters_(0)};MarkerClusterer.prototype.resetViewport_=function(opt_hide){var i,marker;for(i=0;i<this.clusters_.length;i++){this.clusters_[i].remove()}this.clusters_=[];for(i=0;i<this.markers_.length;i++){marker=this.markers_[i];marker.isAdded=false;if(opt_hide){marker.setMap(null)}}};MarkerClusterer.prototype.distanceBetweenPoints_=function(p1,p2){var R=6371;var dLat=(p2.lat()-p1.lat())*Math.PI/180;var dLon=(p2.lng()-p1.lng())*Math.PI/180;var a=Math.sin(dLat/2)*Math.sin(dLat/2)+Math.cos(p1.lat()*Math.PI/180)*Math.cos(p2.lat()*Math.PI/180)*Math.sin(dLon/2)*Math.sin(dLon/2);var c=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));var d=R*c;return d};MarkerClusterer.prototype.isMarkerInBounds_=function(marker,bounds){return bounds.contains(marker.getPosition())};MarkerClusterer.prototype.addToClosestCluster_=function(marker){var i,d,cluster,center;var distance=4e4;var clusterToAddTo=null;for(i=0;i<this.clusters_.length;i++){cluster=this.clusters_[i];center=cluster.getCenter();if(center){d=this.distanceBetweenPoints_(center,marker.getPosition());if(d<distance){distance=d;clusterToAddTo=cluster}}}if(clusterToAddTo&&clusterToAddTo.isMarkerInClusterBounds(marker)){clusterToAddTo.addMarker(marker)}else{cluster=new Cluster(this);cluster.addMarker(marker);this.clusters_.push(cluster)}};MarkerClusterer.prototype.createClusters_=function(iFirst){var i,marker;var mapBounds;var cMarkerClusterer=this;if(!this.ready_){return}if(iFirst===0){google.maps.event.trigger(this,"clusteringbegin",this);if(typeof this.timerRefStatic!=="undefined"){clearTimeout(this.timerRefStatic);delete this.timerRefStatic}}if(this.getMap().getZoom()>3){mapBounds=new google.maps.LatLngBounds(this.getMap().getBounds().getSouthWest(),this.getMap().getBounds().getNorthEast())}else{mapBounds=new google.maps.LatLngBounds(new google.maps.LatLng(85.02070771743472,-178.48388434375),new google.maps.LatLng(-85.08136444384544,178.00048865625))}var bounds=this.getExtendedBounds(mapBounds);var iLast=Math.min(iFirst+this.batchSize_,this.markers_.length);for(i=iFirst;i<iLast;i++){marker=this.markers_[i];if(!marker.isAdded&&this.isMarkerInBounds_(marker,bounds)){if(!this.ignoreHidden_||this.ignoreHidden_&&marker.getVisible()){this.addToClosestCluster_(marker)}}}if(iLast<this.markers_.length){this.timerRefStatic=setTimeout(function(){cMarkerClusterer.createClusters_(iLast)},0)}else{delete this.timerRefStatic;google.maps.event.trigger(this,"clusteringend",this)}};MarkerClusterer.prototype.extend=function(obj1,obj2){return function(object){var property;for(property in object.prototype){this.prototype[property]=object.prototype[property]}return this}.apply(obj1,[obj2])};MarkerClusterer.CALCULATOR=function(markers,numStyles){var index=0;var title="";var count=markers.length.toString();var dv=count;while(dv!==0){dv=parseInt(dv/10,10);index++}index=Math.min(index,numStyles);return{text:count,index:index,title:title}};MarkerClusterer.BATCH_SIZE=2e3;MarkerClusterer.BATCH_SIZE_IE=500;MarkerClusterer.IMAGE_PATH="../images/m";MarkerClusterer.IMAGE_EXTENSION="png";MarkerClusterer.IMAGE_SIZES=[53,56,66,78,90];if(typeof module=="object"){module.exports=MarkerClusterer};
function InfoBox(opt_opts){opt_opts=opt_opts||{};google.maps.OverlayView.apply(this,arguments);this.content_=opt_opts.content||"";this.disableAutoPan_=opt_opts.disableAutoPan||false;this.maxWidth_=opt_opts.maxWidth||0;this.pixelOffset_=opt_opts.pixelOffset||new google.maps.Size(0,0);this.position_=opt_opts.position||new google.maps.LatLng(0,0);this.zIndex_=opt_opts.zIndex||null;this.boxClass_=opt_opts.boxClass||"infoBox";this.boxStyle_=opt_opts.boxStyle||{};this.closeBoxMargin_=opt_opts.closeBoxMargin||"2px";this.closeBoxURL_=opt_opts.closeBoxURL||"//www.google.com/intl/en_us/mapfiles/close.gif";if(opt_opts.closeBoxURL===""){this.closeBoxURL_=""}this.closeBoxTitle_=opt_opts.closeBoxTitle||" Close ";this.infoBoxClearance_=opt_opts.infoBoxClearance||new google.maps.Size(1,1);if(typeof opt_opts.visible==="undefined"){if(typeof opt_opts.isHidden==="undefined"){opt_opts.visible=true}else{opt_opts.visible=!opt_opts.isHidden}}this.isHidden_=!opt_opts.visible;this.alignBottom_=opt_opts.alignBottom||false;this.pane_=opt_opts.pane||"floatPane";this.enableEventPropagation_=opt_opts.enableEventPropagation||false;this.div_=null;this.closeListener_=null;this.moveListener_=null;this.contextListener_=null;this.eventListeners_=null;this.fixedWidthSet_=null}InfoBox.prototype=new google.maps.OverlayView;InfoBox.prototype.createInfoBoxDiv_=function(){var i;var events;var bw;var me=this;var cancelHandler=function(e){e.cancelBubble=true;if(e.stopPropagation){e.stopPropagation()}};var ignoreHandler=function(e){e.returnValue=false;if(e.preventDefault){e.preventDefault()}if(!me.enableEventPropagation_){cancelHandler(e)}};if(!this.div_){this.div_=document.createElement("div");this.setBoxStyle_();if(typeof this.content_.nodeType==="undefined"){this.div_.innerHTML=this.getCloseBoxImg_()+this.content_}else{this.div_.innerHTML=this.getCloseBoxImg_();this.div_.appendChild(this.content_)}this.getPanes()[this.pane_].appendChild(this.div_);this.addClickHandler_();if(this.div_.style.width){this.fixedWidthSet_=true}else{if(this.maxWidth_!==0&&this.div_.offsetWidth>this.maxWidth_){this.div_.style.width=this.maxWidth_;this.div_.style.overflow="auto";this.fixedWidthSet_=true}else{bw=this.getBoxWidths_();this.div_.style.width=this.div_.offsetWidth-bw.left-bw.right+"px";this.fixedWidthSet_=false}}this.panBox_(this.disableAutoPan_);if(!this.enableEventPropagation_){this.eventListeners_=[];events=["mousedown","mouseover","mouseout","mouseup","click","dblclick","touchstart","touchend","touchmove"];for(i=0;i<events.length;i++){this.eventListeners_.push(google.maps.event.addDomListener(this.div_,events[i],cancelHandler))}this.eventListeners_.push(google.maps.event.addDomListener(this.div_,"mouseover",function(e){this.style.cursor="default"}))}this.contextListener_=google.maps.event.addDomListener(this.div_,"contextmenu",ignoreHandler);google.maps.event.trigger(this,"domready")}};InfoBox.prototype.getCloseBoxImg_=function(){var img="";if(this.closeBoxURL_!==""){img="<img";img+=" src='"+this.closeBoxURL_+"'";img+=" align=right";img+=" title='"+this.closeBoxTitle_+"'";img+=" style='";img+=" position: relative;";img+=" cursor: pointer;";img+=" margin: "+this.closeBoxMargin_+";";img+="'>"}return img};InfoBox.prototype.addClickHandler_=function(){var closeBox;if(this.closeBoxURL_!==""){closeBox=this.div_.firstChild;this.closeListener_=google.maps.event.addDomListener(closeBox,"click",this.getCloseClickHandler_())}else{this.closeListener_=null}};InfoBox.prototype.getCloseClickHandler_=function(){var me=this;return function(e){e.cancelBubble=true;if(e.stopPropagation){e.stopPropagation()}google.maps.event.trigger(me,"closeclick");me.close()}};InfoBox.prototype.panBox_=function(disablePan){var map;var bounds;var xOffset=0,yOffset=0;if(!disablePan){map=this.getMap();if(map instanceof google.maps.Map){if(!map.getBounds().contains(this.position_)){map.setCenter(this.position_)}var iwOffsetX=this.pixelOffset_.width;var iwOffsetY=this.pixelOffset_.height;var iwWidth=this.div_.offsetWidth;var iwHeight=this.div_.offsetHeight;var padX=this.infoBoxClearance_.width;var padY=this.infoBoxClearance_.height;if(map.panToBounds.length==2){var padding={left:0,right:0,top:0,bottom:0};padding.left=-iwOffsetX+padX;padding.right=iwOffsetX+iwWidth+padX;if(this.alignBottom_){padding.top=-iwOffsetY+padY+iwHeight;padding.bottom=iwOffsetY+padY}else{padding.top=-iwOffsetY+padY;padding.bottom=iwOffsetY+iwHeight+padY}map.panToBounds(new google.maps.LatLngBounds(this.position_),padding)}else{var mapDiv=map.getDiv();var mapWidth=mapDiv.offsetWidth;var mapHeight=mapDiv.offsetHeight;var pixPosition=this.getProjection().fromLatLngToContainerPixel(this.position_);if(pixPosition.x<-iwOffsetX+padX){xOffset=pixPosition.x+iwOffsetX-padX}else if(pixPosition.x+iwWidth+iwOffsetX+padX>mapWidth){xOffset=pixPosition.x+iwWidth+iwOffsetX+padX-mapWidth}if(this.alignBottom_){if(pixPosition.y<-iwOffsetY+padY+iwHeight){yOffset=pixPosition.y+iwOffsetY-padY-iwHeight}else if(pixPosition.y+iwOffsetY+padY>mapHeight){yOffset=pixPosition.y+iwOffsetY+padY-mapHeight}}else{if(pixPosition.y<-iwOffsetY+padY){yOffset=pixPosition.y+iwOffsetY-padY}else if(pixPosition.y+iwHeight+iwOffsetY+padY>mapHeight){yOffset=pixPosition.y+iwHeight+iwOffsetY+padY-mapHeight}}if(!(xOffset===0&&yOffset===0)){var c=map.getCenter();map.panBy(xOffset,yOffset)}}}}};InfoBox.prototype.setBoxStyle_=function(){var i,boxStyle;if(this.div_){this.div_.className=this.boxClass_;this.div_.style.cssText="";boxStyle=this.boxStyle_;for(i in boxStyle){if(boxStyle.hasOwnProperty(i)){this.div_.style[i]=boxStyle[i]}}if(typeof this.div_.style.WebkitTransform==="undefined"||this.div_.style.WebkitTransform.indexOf("translateZ")===-1&&this.div_.style.WebkitTransform.indexOf("matrix")===-1){this.div_.style.WebkitTransform="translateZ(0)"}if(typeof this.div_.style.opacity!=="undefined"&&this.div_.style.opacity!==""){this.div_.style.MsFilter='"progid:DXImageTransform.Microsoft.Alpha(Opacity='+this.div_.style.opacity*100+')"';this.div_.style.filter="alpha(opacity="+this.div_.style.opacity*100+")"}this.div_.style.position="absolute";this.div_.style.visibility="hidden";if(this.zIndex_!==null){this.div_.style.zIndex=this.zIndex_}}};InfoBox.prototype.getBoxWidths_=function(){var computedStyle;var bw={top:0,bottom:0,left:0,right:0};var box=this.div_;if(document.defaultView&&document.defaultView.getComputedStyle){computedStyle=box.ownerDocument.defaultView.getComputedStyle(box,"");if(computedStyle){bw.top=parseInt(computedStyle.borderTopWidth,10)||0;bw.bottom=parseInt(computedStyle.borderBottomWidth,10)||0;bw.left=parseInt(computedStyle.borderLeftWidth,10)||0;bw.right=parseInt(computedStyle.borderRightWidth,10)||0}}else if(document.documentElement.currentStyle){if(box.currentStyle){bw.top=parseInt(box.currentStyle.borderTopWidth,10)||0;bw.bottom=parseInt(box.currentStyle.borderBottomWidth,10)||0;bw.left=parseInt(box.currentStyle.borderLeftWidth,10)||0;bw.right=parseInt(box.currentStyle.borderRightWidth,10)||0}}return bw};InfoBox.prototype.onRemove=function(){if(this.div_){this.div_.parentNode.removeChild(this.div_);this.div_=null}};InfoBox.prototype.draw=function(){this.createInfoBoxDiv_();var pixPosition=this.getProjection().fromLatLngToDivPixel(this.position_);this.div_.style.left=pixPosition.x+this.pixelOffset_.width+"px";if(this.alignBottom_){this.div_.style.bottom=-(pixPosition.y+this.pixelOffset_.height)+"px"}else{this.div_.style.top=pixPosition.y+this.pixelOffset_.height+"px"}if(this.isHidden_){this.div_.style.visibility="hidden"}else{this.div_.style.visibility="visible"}};InfoBox.prototype.setOptions=function(opt_opts){if(typeof opt_opts.boxClass!=="undefined"){this.boxClass_=opt_opts.boxClass;this.setBoxStyle_()}if(typeof opt_opts.boxStyle!=="undefined"){this.boxStyle_=opt_opts.boxStyle;this.setBoxStyle_()}if(typeof opt_opts.content!=="undefined"){this.setContent(opt_opts.content)}if(typeof opt_opts.disableAutoPan!=="undefined"){this.disableAutoPan_=opt_opts.disableAutoPan}if(typeof opt_opts.maxWidth!=="undefined"){this.maxWidth_=opt_opts.maxWidth}if(typeof opt_opts.pixelOffset!=="undefined"){this.pixelOffset_=opt_opts.pixelOffset}if(typeof opt_opts.alignBottom!=="undefined"){this.alignBottom_=opt_opts.alignBottom}if(typeof opt_opts.position!=="undefined"){this.setPosition(opt_opts.position)}if(typeof opt_opts.zIndex!=="undefined"){this.setZIndex(opt_opts.zIndex)}if(typeof opt_opts.closeBoxMargin!=="undefined"){this.closeBoxMargin_=opt_opts.closeBoxMargin}if(typeof opt_opts.closeBoxURL!=="undefined"){this.closeBoxURL_=opt_opts.closeBoxURL}if(typeof opt_opts.closeBoxTitle!=="undefined"){this.closeBoxTitle_=opt_opts.closeBoxTitle}if(typeof opt_opts.infoBoxClearance!=="undefined"){this.infoBoxClearance_=opt_opts.infoBoxClearance}if(typeof opt_opts.isHidden!=="undefined"){this.isHidden_=opt_opts.isHidden}if(typeof opt_opts.visible!=="undefined"){this.isHidden_=!opt_opts.visible}if(typeof opt_opts.enableEventPropagation!=="undefined"){this.enableEventPropagation_=opt_opts.enableEventPropagation}if(this.div_){this.draw()}};InfoBox.prototype.setContent=function(content){this.content_=content;if(this.div_){if(this.closeListener_){google.maps.event.removeListener(this.closeListener_);this.closeListener_=null}if(!this.fixedWidthSet_){this.div_.style.width=""}if(typeof content.nodeType==="undefined"){this.div_.innerHTML=this.getCloseBoxImg_()+content}else{this.div_.innerHTML=this.getCloseBoxImg_();this.div_.appendChild(content)}if(!this.fixedWidthSet_){this.div_.style.width=this.div_.offsetWidth+"px";if(typeof content.nodeType==="undefined"){this.div_.innerHTML=this.getCloseBoxImg_()+content}else{this.div_.innerHTML=this.getCloseBoxImg_();this.div_.appendChild(content)}}this.addClickHandler_()}google.maps.event.trigger(this,"content_changed")};InfoBox.prototype.setPosition=function(latlng){this.position_=latlng;if(this.div_){this.draw()}google.maps.event.trigger(this,"position_changed")};InfoBox.prototype.setZIndex=function(index){this.zIndex_=index;if(this.div_){this.div_.style.zIndex=index}google.maps.event.trigger(this,"zindex_changed")};InfoBox.prototype.setVisible=function(isVisible){this.isHidden_=!isVisible;if(this.div_){this.div_.style.visibility=this.isHidden_?"hidden":"visible"}};InfoBox.prototype.getContent=function(){return this.content_};InfoBox.prototype.getPosition=function(){return this.position_};InfoBox.prototype.getZIndex=function(){return this.zIndex_};InfoBox.prototype.getVisible=function(){var isVisible;if(typeof this.getMap()==="undefined"||this.getMap()===null){isVisible=false}else{isVisible=!this.isHidden_}return isVisible};InfoBox.prototype.getWidth=function(){var width=null;if(this.div_){width=this.div_.offsetWidth}return width};InfoBox.prototype.getHeight=function(){var height=null;if(this.div_){height=this.div_.offsetHeight}return height};InfoBox.prototype.show=function(){this.isHidden_=false;if(this.div_){this.div_.style.visibility="visible"}};InfoBox.prototype.hide=function(){this.isHidden_=true;if(this.div_){this.div_.style.visibility="hidden"}};InfoBox.prototype.open=function(map,anchor){var me=this;if(anchor){this.setPosition(anchor.getPosition());this.moveListener_=google.maps.event.addListener(anchor,"position_changed",function(){me.setPosition(this.getPosition())})}this.setMap(map);if(this.div_){this.panBox_(this.disableAutoPan_)}};InfoBox.prototype.close=function(){var i;if(this.closeListener_){google.maps.event.removeListener(this.closeListener_);this.closeListener_=null}if(this.eventListeners_){for(i=0;i<this.eventListeners_.length;i++){google.maps.event.removeListener(this.eventListeners_[i])}this.eventListeners_=null}if(this.moveListener_){google.maps.event.removeListener(this.moveListener_);this.moveListener_=null}if(this.contextListener_){google.maps.event.removeListener(this.contextListener_);this.contextListener_=null}this.setMap(null)};
var ERE_MAP=ERE_MAP||{};(function($){"use strict";ERE_MAP={type:"google",options:{locations:[],zoom:!isNaN(parseInt(ere_map_vars.zoom,10))?parseInt(ere_map_vars.zoom,10):12,minZoom:0,skin:ere_map_vars.skin,gestureHandling:"cooperative",cluster_marker_enable:ere_map_vars.cluster_marker_enable,draggable:true,navigationControl:true,mapTypeControl:true,streetViewControl:true},instances:[],skins:[],getInstance:function(id){for(var i=0;i<this.instances.length;i++){if(this.instances[i].id===id){return this.instances[i]}}return false},getSkin:function(skin){return ERE_MAP.skins[skin]?ERE_MAP.skins[skin]:""},addListener:function(el,e,t){google.maps.event.addListener(el,e,function(e){t(e)})}};ERE_MAP.skins={skin1:[{featureType:"all",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"administrative",elementType:"geometry.fill",stylers:[{color:"#eeeeee"}]},{featureType:"administrative.country",elementType:"geometry",stylers:[{lightness:"100"}]},{featureType:"administrative.country",elementType:"geometry.stroke",stylers:[{lightness:"0"},{color:"#d0ecff"}]},{featureType:"administrative.country",elementType:"labels",stylers:[{visibility:"on"}]},{featureType:"administrative.province",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"administrative.locality",elementType:"labels.text",stylers:[{visibility:"simplified"},{color:"#777777"}]},{featureType:"administrative.locality",elementType:"labels.icon",stylers:[{visibility:"simplified"},{lightness:60}]},{featureType:"administrative.neighborhood",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"administrative.land_parcel",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"landscape.man_made",elementType:"all",stylers:[{visibility:"simplified"},{color:"#f5f5f5"}]},{featureType:"landscape.natural",elementType:"geometry",stylers:[{color:"#fafafa"}]},{featureType:"landscape.natural",elementType:"labels",stylers:[{visibility:"simplified"}]},{featureType:"poi",elementType:"geometry",stylers:[{color:"#eeeeee"}]},{featureType:"poi",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"poi.attraction",elementType:"geometry",stylers:[{color:"#e2e8cf"}]},{featureType:"poi.business",elementType:"all",stylers:[{visibility:"simplified"}]},{featureType:"poi.business",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"poi.medical",elementType:"all",stylers:[{color:"#eeeeee"}]},{featureType:"poi.park",elementType:"geometry",stylers:[{color:"#ecf4d7"}]},{featureType:"poi.park",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"poi.place_of_worship",elementType:"geometry",stylers:[{color:"#eeeeee"}]},{featureType:"poi.school",elementType:"geometry",stylers:[{color:"#eeeeee"}]},{featureType:"poi.sports_complex",elementType:"geometry",stylers:[{color:"#eeeeee"}]},{featureType:"road.highway",elementType:"geometry",stylers:[{color:"#e5e5e5"},{visibility:"simplified"}]},{featureType:"road.highway",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"road.arterial",elementType:"geometry.stroke",stylers:[{color:"#eeeeee"}]},{featureType:"road.arterial",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"road.local",elementType:"geometry.fill",stylers:[{color:"#ffffff"}]},{featureType:"road.local",elementType:"geometry.stroke",stylers:[{visibility:"on"},{color:"#eeeeee"}]},{featureType:"road.local",elementType:"labels",stylers:[{visibility:"simplified"}]},{featureType:"road.local",elementType:"labels.text",stylers:[{color:"#777777"}]},{featureType:"road.local",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"transit.line",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"transit.station",elementType:"geometry.fill",stylers:[{color:"#eeeeee"}]},{featureType:"water",elementType:"all",stylers:[{visibility:"simplified"}]},{featureType:"water",elementType:"geometry.fill",stylers:[{color:"#d0ecff"}]},{featureType:"water",elementType:"labels",stylers:[{visibility:"off"}]}],skin2:[{featureType:"all",elementType:"labels.text.fill",stylers:[{saturation:"0"},{color:"#f3f3f3"},{lightness:"-40"},{gamma:"1"}]},{featureType:"all",elementType:"labels.text.stroke",stylers:[{visibility:"on"},{color:"#000000"},{lightness:"12"}]},{featureType:"all",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"administrative",elementType:"geometry.fill",stylers:[{color:"#2c2d37"},{lightness:"4"}]},{featureType:"administrative",elementType:"geometry.stroke",stylers:[{color:"#2c2d37"},{lightness:17},{weight:1.2}]},{featureType:"landscape",elementType:"geometry",stylers:[{color:"#2c2d37"},{lightness:"25"},{gamma:"0.60"}]},{featureType:"poi",elementType:"geometry",stylers:[{color:"#2c2d37"},{lightness:"26"},{gamma:"0.49"}]},{featureType:"road.highway",elementType:"geometry.fill",stylers:[{color:"#2c2d37"},{lightness:17},{gamma:"0.60"}]},{featureType:"road.highway",elementType:"geometry.stroke",stylers:[{color:"#2c2d37"},{lightness:29},{weight:.2},{gamma:"0.60"}]},{featureType:"road.arterial",elementType:"geometry",stylers:[{color:"#2c2d37"},{lightness:18},{gamma:"0.60"}]},{featureType:"road.local",elementType:"geometry",stylers:[{color:"#2c2d37"},{lightness:16},{gamma:"0.60"}]},{featureType:"transit",elementType:"geometry",stylers:[{color:"#2c2d37"},{lightness:"29"},{gamma:"0.60"}]},{featureType:"water",elementType:"geometry",stylers:[{color:"#3c3d47"},{lightness:"16"},{gamma:"0.50"}]}],skin3:[{featureType:"water",elementType:"geometry",stylers:[{color:"#e9e9e9"},{lightness:17}]},{featureType:"landscape",elementType:"geometry",stylers:[{color:"#f5f5f5"},{lightness:20}]},{featureType:"road.highway",elementType:"geometry.fill",stylers:[{color:"#ffffff"},{lightness:17}]},{featureType:"road.highway",elementType:"geometry.stroke",stylers:[{color:"#ffffff"},{lightness:29},{weight:.2}]},{featureType:"road.arterial",elementType:"geometry",stylers:[{color:"#ffffff"},{lightness:18}]},{featureType:"road.local",elementType:"geometry",stylers:[{color:"#ffffff"},{lightness:16}]},{featureType:"poi",elementType:"geometry",stylers:[{color:"#f5f5f5"},{lightness:21}]},{featureType:"poi.park",elementType:"geometry",stylers:[{color:"#dedede"},{lightness:21}]},{elementType:"labels.text.stroke",stylers:[{visibility:"on"},{color:"#ffffff"},{lightness:16}]},{elementType:"labels.text.fill",stylers:[{saturation:36},{color:"#333333"},{lightness:40}]},{elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"geometry",stylers:[{color:"#f2f2f2"},{lightness:19}]},{featureType:"administrative",elementType:"geometry.fill",stylers:[{color:"#fefefe"},{lightness:20}]},{featureType:"administrative",elementType:"geometry.stroke",stylers:[{color:"#fefefe"},{lightness:17},{weight:1.2}]}],skin4:[{featureType:"administrative",elementType:"labels.text.fill",stylers:[{color:"#444444"}]},{featureType:"landscape",elementType:"all",stylers:[{color:"#f2f2f2"}]},{featureType:"poi",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"road",elementType:"all",stylers:[{saturation:-100},{lightness:45}]},{featureType:"road.highway",elementType:"all",stylers:[{visibility:"simplified"}]},{featureType:"road.arterial",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"water",elementType:"all",stylers:[{color:"#46bcec"},{visibility:"on"}]}],skin5:[{featureType:"landscape.man_made",elementType:"geometry",stylers:[{color:"#f7f1df"}]},{featureType:"landscape.natural",elementType:"geometry",stylers:[{color:"#d0e3b4"}]},{featureType:"landscape.natural.terrain",elementType:"geometry",stylers:[{visibility:"off"}]},{featureType:"poi",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"poi.business",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"poi.medical",elementType:"geometry",stylers:[{color:"#fbd3da"}]},{featureType:"poi.park",elementType:"geometry",stylers:[{color:"#bde6ab"}]},{featureType:"road",elementType:"geometry.stroke",stylers:[{visibility:"off"}]},{featureType:"road",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"road.highway",elementType:"geometry.fill",stylers:[{color:"#ffe15f"}]},{featureType:"road.highway",elementType:"geometry.stroke",stylers:[{color:"#efd151"}]},{featureType:"road.arterial",elementType:"geometry.fill",stylers:[{color:"#ffffff"}]},{featureType:"road.local",elementType:"geometry.fill",stylers:[{color:"black"}]},{featureType:"transit.station.airport",elementType:"geometry.fill",stylers:[{color:"#cfb2db"}]},{featureType:"water",elementType:"geometry",stylers:[{color:"#a2daf2"}]}],skin6:[{featureType:"administrative",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"landscape",elementType:"all",stylers:[{visibility:"simplified"},{hue:"#0066ff"},{saturation:74},{lightness:100}]},{featureType:"poi",elementType:"all",stylers:[{visibility:"simplified"}]},{featureType:"road",elementType:"all",stylers:[{visibility:"simplified"}]},{featureType:"road.highway",elementType:"all",stylers:[{visibility:"off"},{weight:.6},{saturation:-85},{lightness:61}]},{featureType:"road.highway",elementType:"geometry",stylers:[{visibility:"on"}]},{featureType:"road.arterial",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"road.local",elementType:"all",stylers:[{visibility:"on"}]},{featureType:"transit",elementType:"all",stylers:[{visibility:"simplified"}]},{featureType:"water",elementType:"all",stylers:[{visibility:"simplified"},{color:"#5f94ff"},{lightness:26},{gamma:5.86}]}],skin7:[{featureType:"water",elementType:"geometry",stylers:[{color:"#a0d6d1"},{lightness:17}]},{featureType:"landscape",elementType:"geometry",stylers:[{color:"#ffffff"},{lightness:20}]},{featureType:"road.highway",elementType:"geometry.fill",stylers:[{color:"#dedede"},{lightness:17}]},{featureType:"road.highway",elementType:"geometry.stroke",stylers:[{color:"#dedede"},{lightness:29},{weight:.2}]},{featureType:"road.arterial",elementType:"geometry",stylers:[{color:"#dedede"},{lightness:18}]},{featureType:"road.local",elementType:"geometry",stylers:[{color:"#ffffff"},{lightness:16}]},{featureType:"poi",elementType:"geometry",stylers:[{color:"#f1f1f1"},{lightness:21}]},{elementType:"labels.text.stroke",stylers:[{visibility:"on"},{color:"#ffffff"},{lightness:16}]},{elementType:"labels.text.fill",stylers:[{saturation:36},{color:"#333333"},{lightness:40}]},{elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"geometry",stylers:[{color:"#f2f2f2"},{lightness:19}]},{featureType:"administrative",elementType:"geometry.fill",stylers:[{color:"#fefefe"},{lightness:20}]},{featureType:"administrative",elementType:"geometry.stroke",stylers:[{color:"#fefefe"},{lightness:17},{weight:1.2}]}],skin8:[{featureType:"all",stylers:[{saturation:0},{hue:"#e7ecf0"}]},{featureType:"road",stylers:[{saturation:-70}]},{featureType:"transit",stylers:[{visibility:"off"}]},{featureType:"poi",stylers:[{visibility:"off"}]},{featureType:"water",stylers:[{visibility:"simplified"},{saturation:-60}]}],skin9:[{featureType:"all",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"all",elementType:"labels",stylers:[{visibility:"on"}]},{featureType:"administrative.country",elementType:"labels",stylers:[{visibility:"on"}]},{featureType:"administrative.country",elementType:"labels.text",stylers:[{visibility:"on"}]},{featureType:"administrative.province",elementType:"labels",stylers:[{visibility:"on"}]},{featureType:"administrative.province",elementType:"labels.text",stylers:[{visibility:"on"}]},{featureType:"administrative.locality",elementType:"labels",stylers:[{visibility:"on"}]},{featureType:"administrative.neighborhood",elementType:"labels",stylers:[{visibility:"on"}]},{featureType:"administrative.land_parcel",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"landscape",elementType:"all",stylers:[{hue:"#FFBB00"},{saturation:43.400000000000006},{lightness:37.599999999999994},{gamma:1}]},{featureType:"landscape",elementType:"geometry.fill",stylers:[{saturation:"-40"},{lightness:"36"}]},{featureType:"landscape.man_made",elementType:"geometry",stylers:[{visibility:"off"}]},{featureType:"landscape.natural",elementType:"geometry.fill",stylers:[{saturation:"-77"},{lightness:"28"}]},{featureType:"landscape.natural",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"poi",elementType:"all",stylers:[{hue:"#ff0091"},{saturation:-44},{lightness:11.200000000000017},{gamma:1}]},{featureType:"poi",elementType:"labels",stylers:[{visibility:"off"},{saturation:-81}]},{featureType:"poi.attraction",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"poi.park",elementType:"geometry.fill",stylers:[{saturation:"-24"},{lightness:"61"}]},{featureType:"road",elementType:"labels",stylers:[{visibility:"on"}]},{featureType:"road",elementType:"labels.text.fill",stylers:[{visibility:"on"}]},{featureType:"road",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"road.highway",elementType:"all",stylers:[{hue:"#ff0048"},{saturation:-78},{lightness:45.599999999999994},{gamma:1}]},{featureType:"road.highway",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"road.highway.controlled_access",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"road.arterial",elementType:"all",stylers:[{hue:"#FF0300"},{saturation:-100},{lightness:51.19999999999999},{gamma:1}]},{featureType:"road.local",elementType:"all",stylers:[{hue:"#ff0300"},{saturation:-100},{lightness:52},{gamma:1}]},{featureType:"road.local",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"geometry",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"geometry.stroke",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"transit.line",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"transit.station",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"water",elementType:"all",stylers:[{hue:"#789cdb"},{saturation:-66},{lightness:2.4000000000000057},{gamma:1}]},{featureType:"water",elementType:"labels",stylers:[{visibility:"off"}]}],skin10:[{featureType:"all",elementType:"labels",stylers:[{visibility:"on"}]},{featureType:"administrative.country",elementType:"labels",stylers:[{visibility:"on"}]},{featureType:"administrative.country",elementType:"labels.text",stylers:[{visibility:"on"}]},{featureType:"administrative.province",elementType:"labels",stylers:[{visibility:"on"}]},{featureType:"administrative.province",elementType:"labels.text",stylers:[{visibility:"on"}]},{featureType:"administrative.locality",elementType:"labels",stylers:[{visibility:"on"}]},{featureType:"administrative.neighborhood",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"administrative.land_parcel",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"landscape",elementType:"all",stylers:[{hue:"#FFBB00"},{saturation:43.400000000000006},{lightness:37.599999999999994},{gamma:1}]},{featureType:"landscape",elementType:"geometry.fill",stylers:[{saturation:"-40"},{lightness:"36"}]},{featureType:"landscape.man_made",elementType:"geometry",stylers:[{visibility:"off"}]},{featureType:"landscape.natural",elementType:"geometry.fill",stylers:[{saturation:"-77"},{lightness:"28"}]},{featureType:"landscape.natural",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"poi",elementType:"all",stylers:[{hue:"#00FF6A"},{saturation:-1.0989010989011234},{lightness:11.200000000000017},{gamma:1}]},{featureType:"poi",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"poi.attraction",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"poi.park",elementType:"geometry.fill",stylers:[{saturation:"-24"},{lightness:"61"}]},{featureType:"road",elementType:"labels",stylers:[{visibility:"on"}]},{featureType:"road",elementType:"labels.text.fill",stylers:[{visibility:"on"}]},{featureType:"road",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"road.highway",elementType:"all",stylers:[{hue:"#FFC200"},{saturation:-61.8},{lightness:45.599999999999994},{gamma:1}]},{featureType:"road.highway",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"road.highway.controlled_access",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"road.arterial",elementType:"all",stylers:[{hue:"#FF0300"},{saturation:-100},{lightness:51.19999999999999},{gamma:1}]},{featureType:"road.local",elementType:"all",stylers:[{hue:"#ff0300"},{saturation:-100},{lightness:52},{gamma:1}]},{featureType:"road.local",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"geometry",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"geometry.stroke",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"transit.line",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"transit.station",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"water",elementType:"all",stylers:[{hue:"#0078FF"},{saturation:-13.200000000000003},{lightness:2.4000000000000057},{gamma:1}]},{featureType:"water",elementType:"labels",stylers:[{visibility:"off"}]}],skin11:[{featureType:"all",elementType:"labels",stylers:[{visibility:"on"}]},{featureType:"administrative.country",elementType:"labels",stylers:[{visibility:"on"}]},{featureType:"administrative.country",elementType:"labels.text",stylers:[{visibility:"on"}]},{featureType:"all",elementType:"geometry",stylers:[{color:"#262c33"}]},{featureType:"all",elementType:"labels.text.fill",stylers:[{gamma:.01},{lightness:20},{color:"#949aa6"}]},{featureType:"all",elementType:"labels.text.stroke",stylers:[{saturation:-31},{lightness:-33},{weight:2},{gamma:"0.00"},{visibility:"off"}]},{featureType:"all",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"administrative.province",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"administrative.locality",elementType:"all",stylers:[{visibility:"simplified"}]},{featureType:"administrative.locality",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"administrative.neighborhood",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"administrative.land_parcel",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"landscape",elementType:"geometry",stylers:[{lightness:30},{saturation:30},{color:"#353c44"},{visibility:"on"}]},{featureType:"poi",elementType:"geometry",stylers:[{saturation:"0"},{lightness:"0"},{gamma:"0.30"},{weight:"0.01"},{visibility:"off"}]},{featureType:"poi.park",elementType:"geometry",stylers:[{lightness:"100"},{saturation:-20},{visibility:"simplified"},{color:"#31383f"}]},{featureType:"road",elementType:"geometry",stylers:[{lightness:10},{saturation:-30},{color:"#2a3037"}]},{featureType:"road",elementType:"geometry.stroke",stylers:[{saturation:"-100"},{lightness:"-100"},{gamma:"0.00"},{color:"#2a3037"}]},{featureType:"road",elementType:"labels",stylers:[{visibility:"on"}]},{featureType:"road",elementType:"labels.text",stylers:[{visibility:"on"},{color:"#575e6b"}]},{featureType:"road",elementType:"labels.text.stroke",stylers:[{visibility:"off"}]},{featureType:"road",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"road.highway",elementType:"geometry.fill",stylers:[{color:"#4c5561"},{visibility:"on"}]},{featureType:"road.highway",elementType:"geometry.stroke",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"transit.station.airport",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"water",elementType:"all",stylers:[{lightness:-20},{color:"#2a3037"}]}],skin12:[]};ERE_MAP.LatLng=function(latitude,longitude){this.init(latitude,longitude)};ERE_MAP.LatLng.prototype.init=function(latitude,longitude){this.latitude=latitude;this.longitude=longitude;this.latlng=new google.maps.LatLng(latitude,longitude)};ERE_MAP.LatLng.prototype.getLatitude=function(){return this.latlng.lat()};ERE_MAP.LatLng.prototype.getLongitude=function(){return this.latlng.lng()};ERE_MAP.LatLng.prototype.toGeocoderFormat=function(){return this.latlng};ERE_MAP.LatLng.prototype.getSourceObject=function(){return this.latlng};ERE_MAP.LatLngBounds=function(southwest,northeast){this.init(southwest,northeast)};ERE_MAP.LatLngBounds.prototype.init=function(southwest,northeast){this.southwest=southwest;this.northeast=northeast;this.bounds=new google.maps.LatLngBounds(southwest,northeast)};ERE_MAP.LatLngBounds.prototype.getSourceObject=function(){return this.bounds};ERE_MAP.LatLngBounds.prototype.extend=function(e){this.bounds.extend(e.getSourceObject())};ERE_MAP.Clusterer=function(e){this.init(e)};ERE_MAP.Clusterer.prototype.init=function(e){this.map=e;var options={clusterClass:"ere__cluster",styles:[{textColor:"#fff",height:35,width:35}]};this.clusterer=new MarkerClusterer(this.map.getSourceObject(),this.getMarkers(),options)};ERE_MAP.Clusterer.prototype.getMarkers=function(){return this.map.markers.map(function(e){return e.getSourceObject()})};ERE_MAP.Clusterer.prototype.update=function(){this.clusterer.clearMarkers();this.clusterer.addMarkers(this.getMarkers())};ERE_MAP.Clusterer.prototype.setMaxZoom=function(e){this.clusterer.setMaxZoom(e)};ERE_MAP.Clusterer.prototype.repaint=function(){this.clusterer.repaint()};ERE_MAP.Marker=function(options){var newConfigMarker=$.parseJSON(JSON.stringify(ere_map_vars.marker));this.options=$.extend(true,{position:false,map:false,popup:false,animation:false,draggable:false,template:{type:"basic",marker:newConfigMarker,id:""}},options);this.init()};ERE_MAP.Marker.prototype.init=function(){if(this.options.template.type==="basic"){this.marker=new ERE_MAP.MarkerOverLay(this)}else{this.marker=new google.maps.Marker({position:this.options.position.latlng,map:this.options.map.map,draggable:this.options.draggable,animation:this.options.animation})}if(this.options.position){this.setPosition(this.options.position)}if(this.options.map){this.setMap(this.options.map)}};ERE_MAP.Marker.prototype.setPosition=function(e){this.marker.setPosition(e.getSourceObject());return this};ERE_MAP.Marker.prototype.getPosition=function(){return this.options.position};ERE_MAP.Marker.prototype.setMap=function(e){this.marker.setMap(e.getSourceObject());return this};ERE_MAP.Marker.prototype.remove=function(){if(this.options.popup){this.options.popup.remove()}this.marker.setMap(null);this.marker.remove();return this};ERE_MAP.Marker.prototype.getSourceObject=function(){return this.marker};ERE_MAP.Marker.prototype.getTemplate=function(){var e=document.createElement("div");e.className="ere__marker-container ere__marker-"+this.options.template.marker.type;e.id=this.options.template.id;var template=wp.template("ere__marker_template");var t=template({icon:this.options.template.marker.html});$(e).append(t);this.$element=$(e);return e};ERE_MAP.Marker.prototype.active=function(){this.$element.addClass("active");$(this.marker.args.template).trigger("click")};ERE_MAP.Marker.prototype.hide=function(){this.$element.addClass("hide")};ERE_MAP.Marker.prototype.show=function(){this.$element.removeClass("hide")};ERE_MAP.MarkerOverLay=function(e){this.args={marker:e,template:null,position:e.getPosition().getSourceObject(),map:e.options.map,animation:e.options.animation,popup:e.options.popup,draggable:e.options.draggable};if(this.args.map&&this.args.popup){this.args.popup.setMap(this.args.map)}};"undefined"!=typeof google&&(ERE_MAP.MarkerOverLay.prototype=new google.maps.OverlayView);ERE_MAP.MarkerOverLay.prototype.onAdd=function(){var self=this;if(!this.args.template){this.args.template=this.args.marker.getTemplate();if(this.args.map&&this.args.popup){google.maps.event.addDomListener(this.args.template,"click",function(e){e.preventDefault();e.stopPropagation();self.args.map.closePopups();self.args.popup.setPosition(self.args.marker.getPosition());var $marker=$(this).find(".ere__pin-wrap"),marker_bottom=parseInt($marker.css("bottom").replace("px","")),marker_height=$marker.height();if(!isNaN(marker_bottom)){marker_height=marker_height+marker_bottom}self.args.popup.popup.setOptions({boxStyle:{margin:"0 0 "+marker_height+"px 0"}});self.args.popup.show();self.args.marker.active()})}this.getPanes().overlayMouseTarget.appendChild(this.args.template)}};ERE_MAP.MarkerOverLay.prototype.draw=function(){this.setPosition()};ERE_MAP.MarkerOverLay.prototype.remove=function(){if(this.args.template){this.args.template.parentNode.removeChild(this.args.template);this.args.template=null}};ERE_MAP.MarkerOverLay.prototype.getPosition=function(){return this.args.position};ERE_MAP.MarkerOverLay.prototype.setPosition=function(){if(this.args.template&&!(!this.args.position instanceof google.maps.LatLng)){var projection=this.getProjection();var position=projection.fromLatLngToDivPixel(this.args.position);this.args.template.style.left=position.x+"px";this.args.template.style.top=position.y+"px"}};ERE_MAP.MarkerOverLay.prototype.getDraggable=function(){return this.args.draggable};ERE_MAP.Geocoder=function(){this.init()};ERE_MAP.Geocoder.prototype.init=function(){this.geocoder=new google.maps.Geocoder};ERE_MAP.Geocoder.prototype.setMap=function(e){this.map=e};ERE_MAP.Geocoder.prototype.geocode=function(e,t,i){var self=this,r={},o=false;if(typeof t==="function"){i=t;t={}}if(e instanceof google.maps.LatLng){r.location=e}else if(e instanceof ERE_MAP.LatLng){r.location=e.getSourceObject()}else{if("string"!=typeof e||!e.length)return i(o);r.address=e}t=$.extend({limit:1},t);this.geocoder.geocode(r,function(results,status){if(status==="OK"&&results&&results.length){o=t.limit===1?self.formatFeature(results[0]):results.map(self.formatFeature)}return i(o)})};ERE_MAP.Geocoder.prototype.formatFeature=function(e){return{location:new ERE_MAP.LatLng(e.geometry.location.lat(),e.geometry.location.lng()),latitude:e.geometry.location.lat(),longitude:e.geometry.location.lng(),address:e.formatted_address}};ERE_MAP.Autocomplete=function(e){$(e).data("autocomplete",this);this.init(e)};ERE_MAP.Autocomplete.prototype.init=function(e){if(!(e instanceof Element))return false;this.element=e;this.$element=$(e);this.options={};if(ere_map_vars.types.length){this.options.types=[ere_map_vars.types]}if(ere_map_vars.countries.length){this.options.componentRestrictions={country:ere_map_vars.countries}}this.geocoder=new ERE_MAP.Geocoder;this.autocomplete=new google.maps.places.Autocomplete(this.element,this.options);this.$element.on("keydown",function(e){if(e.which===13){e.preventDefault()}})};ERE_MAP.Autocomplete.prototype.change=function(t){var self=this;this.autocomplete.addListener("place_changed",function(){var place=self.autocomplete.getPlace();var e=false;if(typeof place.geometry!=="undefined"){e=self.geocoder.formatFeature(self.autocomplete.getPlace())}else if(typeof place.name!=="undefined"){self.geocoder.geocode(place.name,function(e){if(e){self.$element.val(e.address);t(e)}})}t(e)})};ERE_MAP.Popup=function(e){this.options=$.extend(true,{content:"",classes:"ere__map-popup-wrap ere__map-popup-google",position:false,map:false,width:false,type:""},e);if(this.options.type!==""){this.options.classes=this.options.classes+" "+this.options.type}this.init(e)};ERE_MAP.Popup.prototype.init=function(e){this.template_name="default";this.popup=new InfoBox({content:"",disableAutoPan:false,maxWidth:0,zIndex:5e8,boxClass:this._getBoxClass(),boxStyle:{width:this.options.width?this.options.width:"300px",zIndex:5e6},infoBoxClearance:new google.maps.Size(1,1),isHidden:false,pane:"floatPane",enableEventPropagation:false,alignBottom:true});if(this.options.position){this.setPosition(this.options.position)}if(this.options.content){this.setContent(this.options.content)}if(this.options.map){this.setMap(this.options.map)}};ERE_MAP.Popup.prototype.setContent=function(e){this.popup.setContent(e);return this};ERE_MAP.Popup.prototype.setPosition=function(e){this.popup.setPosition(e.getSourceObject());return this};ERE_MAP.Popup.prototype.setMap=function(e){this.map=e;return this};ERE_MAP.Popup.prototype.remove=function(){this.popup.close();return this};ERE_MAP.Popup.prototype.show=function(){return this.popup.getVisible()?this:(this.popup.open(this.map.getSourceObject()),setTimeout(function(){this.popup.setOptions({boxClass:this._getBoxClass()+" show"})}.bind(this),5),this)};ERE_MAP.Popup.prototype.hide=function(){return this.popup.getVisible()?(this.remove(),this.popup.setOptions({boxClass:this._getBoxClass()}),this):this};ERE_MAP.Popup.prototype._getBoxClass=function(){return[this.options.classes?this.options.classes:"","tpl-"+this.template_name].join(" ")};ERE_MAP.MAP=function(element){this.$element=$(element);this.element=element;this.init()};ERE_MAP.MAP.prototype.init=function(){this.options=$.extend({},ERE_MAP.options,this.$element.data("options"));this.markers=[];this.bounds=new ERE_MAP.LatLngBounds;this.id=typeof this.$element.attr("id")!=="undefined"?this.$element.attr("id"):false;this.events={};var map_options={zoom:parseInt(this.options.zoom,10),minZoom:this.options.minZoom,draggable:this.options.draggable,navigationControl:this.options.navigationControl,mapTypeControl:this.options.mapTypeControl,streetViewControl:this.options.streetViewControl};var map_styles=ERE_MAP.getSkin(this.options.skin);if(map_styles!==""){map_options.styles=map_styles}this.map=new google.maps.Map(this.element,map_options);this.setCenter(new ERE_MAP.LatLng(0,0));this.maybeAddMarkers();if(this.options.cluster_marker_enable){this.clusterer=new ERE_MAP.Clusterer(this);this.addListener("updated_markers",this._updateCluster.bind(this))}this.addListener("zoom_changed",this.closePopups.bind(this));this.addListener("click",this.closePopups.bind(this));this.addListener("click",this.deactiveMarker.bind(this));ERE_MAP.instances.push({id:this.id,map:this.map,instance:this})};ERE_MAP.MAP.prototype.maybeAddMarkers=function(){var location=this.$element.data("location");if(location&&location.position){this.trigger("updating_markers");var position=new ERE_MAP.LatLng(location.position.lat,location.position.lng);var marker_option={position:position,map:this,template:{}};if(location.marker){marker_option.template.marker=location.marker}if(location.marker_type){marker_option.template.type=location.marker_type}if(location.id){marker_option.template.id=location.id}if(location.popup){var template=wp.template("ere__map_popup_template");var content_popup=template({title:location.popup.title,url:location.popup.url,thumb:location.popup.thumb,price:location.popup.price,address:location.popup.address});marker_option.popup=new ERE_MAP.Popup({content:content_popup})}var marker=new ERE_MAP.Marker(marker_option);this.markers.push(marker);this.setCenter(position);this.trigger("updated_markers")}};ERE_MAP.MAP.prototype.setZoom=function(e){this.map.setZoom(e)};ERE_MAP.MAP.prototype.resetZoom=function(e){this.setZoom(this.options.zoom)};ERE_MAP.MAP.prototype.getZoom=function(){return this.map.getZoom()};ERE_MAP.MAP.prototype.setCenter=function(e){this.map.setCenter(e.getSourceObject())};ERE_MAP.MAP.prototype.fitBounds=function(e){this.map.fitBounds(e.getSourceObject())};ERE_MAP.MAP.prototype.panTo=function(e){this.map.panTo(e.getSourceObject())};ERE_MAP.MAP.prototype.getClickPosition=function(e){return new ERE_MAP.LatLng(e.latLng.lat(),e.latLng.lng())};ERE_MAP.MAP.prototype.getDragPosition=function(e){return new ERE_MAP.LatLng(e.latLng.lat(),e.latLng.lng())};ERE_MAP.MAP.prototype.addListener=function(e,t){google.maps.event.addListener(this.map,this.getSourceEvent(e),function(e){t(e)})};ERE_MAP.MAP.prototype.addListenerOnce=function(e,t){google.maps.event.addListenerOnce(this.map,this.getSourceEvent(e),function(e){t(e)})};ERE_MAP.MAP.prototype.trigger=function(e){google.maps.event.trigger(this.map,this.getSourceEvent(e))};ERE_MAP.MAP.prototype.getSourceObject=function(){return this.map};ERE_MAP.MAP.prototype.getSourceEvent=function(e){return void 0!==this.events[e]?this.events[e]:e};ERE_MAP.MAP.prototype.closePopups=function(){for(var i=0;i<this.markers.length;i++){if("object"===typeof this.markers[i].options.popup){this.markers[i].options.popup.hide()}}};ERE_MAP.MAP.prototype.removeMarkers=function(){for(var i=0;i<this.markers.length;i++){this.markers[i].remove()}this.markers.length=0;this.markers=[]};ERE_MAP.MAP.prototype._updateCluster=function(){this.clusterer||(this.clusterer=new ERE_MAP.Clusterer(this));setTimeout(function(){this.clusterer.update()}.bind(this),5)};ERE_MAP.MAP.prototype.refresh=function(){};ERE_MAP.MAP.prototype.activeMarker=function(id){if(this.options.cluster_markers){this.clusterer.setMaxZoom(1);this.clusterer.repaint()}var self=this;clearTimeout(this.timeOutActive);this.timeOutActive=setTimeout(function(){for(var i=0;i<self.markers.length;i++){if(self.markers[i].options.template.id==id){self.markers[i].active();break}}},10)};ERE_MAP.MAP.prototype.deactiveMarker=function(){var self=this;if(self.options.cluster_markers){self.clusterer.setMaxZoom(13);self.clusterer.repaint()}self.$element.find(".ere__marker-container").removeClass("active");self.closePopups()};ERE_MAP.DirectionsService=function(){this.init()};ERE_MAP.DirectionsService.prototype.init=function(){this.directionsService=new google.maps.DirectionsService};ERE_MAP.DirectionsService.prototype.route=function(request,i){var result=false;request=$.extend(true,{travelMode:"DRIVING",origin:"",destination:""},request);if(request.origin instanceof ERE_MAP.LatLng){request.origin=request.origin.getSourceObject()}if(request.destination instanceof ERE_MAP.LatLng){request.destination=request.destination.getSourceObject()}this.directionsService.route(request,function(response,status){if(status===google.maps.DirectionsStatus.OK){result=response}return i(result)})};ERE_MAP.DirectionsService.prototype.getSourceObject=function(){return this.directionsService};ERE_MAP.DirectionsRenderer=function(){this.init()};ERE_MAP.DirectionsRenderer.prototype.init=function(){this.directionsRenderer=new google.maps.DirectionsRenderer};ERE_MAP.DirectionsRenderer.prototype.getSourceObject=function(){return this.directionsRenderer};ERE_MAP.DirectionsRenderer.prototype.setMap=function(e){this.directionsRenderer.setMap(e.getSourceObject());return this};ERE_MAP.DirectionsRenderer.prototype.setDirections=function(directions){this.directionsRenderer.setDirections(directions);return this};ERE_MAP.DirectionsRenderer.prototype.getDirections=function(){return this.directionsRenderer.getDirections()};ERE_MAP.DirectionsRenderer.prototype.change=function(t){var self=this;self.directionsRenderer.addListener("directions_changed",function(){var total=0;var myroute=self.directionsRenderer.getDirections().routes[0];for(var i=0;i<myroute.legs.length;i++){total+=myroute.legs[i].distance.value}t(total)})};ERE_MAP.DirectionsRenderer.prototype.clear=function(){this.directionsRenderer.setMap(null)};ERE_MAP.PlacesService=function(options){this.options=$.extend({maxResultCount:20,includedTypes:[],radius:5e3,rankPreference:"",position:false,map:false},options);this.init()};ERE_MAP.PlacesService.prototype.init=function(){if(this.options.map){this.setMap(this.options.map)}if(this.options.position){this.setPosition(this.options.position)}};ERE_MAP.PlacesService.prototype.setMap=function(e){this.map=e;return this};ERE_MAP.PlacesService.prototype.setPosition=function(e){this.position=e;return this};ERE_MAP.PlacesService.prototype.nearbySearch=function(t){var self=this;var requestUrl="https://places.googleapis.com/v1/places:searchNearby";var request={maxResultCount:this.options.maxResultCount,includedTypes:this.options.includedTypes,locationRestriction:{circle:{center:{latitude:this.position.getLatitude(),longitude:this.position.getLongitude()},radius:this.options.radius}}};if(this.options.rankPreference==="distance"){request.rankPreference="DISTANCE"}$.ajax({type:"POST",url:requestUrl,data:JSON.stringify(request),dataType:"json",crossDomain:true,headers:{"X-Goog-Api-Key":ere_map_vars.api_key,"Content-Type":"application/json","X-Goog-FieldMask":"*"},success:function(response){var result=false;if(response.places){result=[];$.each(response.places,function(index,value){var place=self.getPlace(value);result.push(place)})}t(result)},error:function(response){t(false)}})};ERE_MAP.PlacesService.prototype.getPlace=function(place){return{types:place.types,displayName:place.displayName.text,lat:place.location.latitude,lng:place.location.longitude}};typeof google!=="undefined"&&typeof ere_map_vars!=="undefined"&&google.maps.event.addDomListener(window,"load",function(){if(typeof ere_map_vars.skin_custom==="object"&&ere_map_vars.skin==="custom"){try{ERE_MAP.skins.custom=JSON.parse(ere_map_vars.skin_custom)}catch(e){ERE_MAP.skins.custom=[]}}$(".ere__map-canvas:not(.manual)").each(function(){new ERE_MAP.MAP(this)});$(document).trigger("maps:loaded")})})(jQuery);