function ExtInfoWindow(a,b,c,d){this.html_=c;this.marker_=a;this.infoWindowId_=b;this.options_=d==null?{}:d;this.ajaxUrl_=this.options_.ajaxUrl==null?null:this.options_.ajaxUrl;this.callback_=this.options_.ajaxCallback==null?null:this.options_.ajaxCallback;this.borderSize_=this.options_.beakOffset==null?0:this.options_.beakOffset;this.paddingX_=this.options_.paddingX==null?0+this.borderSize_:this.options_.paddingX+this.borderSize_;this.paddingY_=this.options_.paddingY==null?0+this.borderSize_:this.options_.paddingY+this.borderSize_;this.map_=null;this.container_=document.createElement("div");this.container_.style.position="relative";this.container_.style.display="none";this.contentDiv_=document.createElement("div");this.contentDiv_.id=this.infoWindowId_+"_contents";this.contentDiv_.innerHTML=this.html_;this.contentDiv_.style.display="block";this.contentDiv_.style.visibility="hidden";this.wrapperDiv_=document.createElement("div")}ExtInfoWindow.prototype=new GOverlay();ExtInfoWindow.prototype.initialize=function(map){this.map_=map;this.defaultStyles={containerWidth:this.map_.getSize().width/2,borderSize:1};this.wrapperParts={close:{t:0,l:0,w:0,h:0,domElement:null},tl:{t:0,l:0,w:0,h:0,domElement:null},t:{t:0,l:0,w:0,h:0,domElement:null},tr:{t:0,l:0,w:0,h:0,domElement:null},l:{t:0,l:0,w:0,h:0,domElement:null},r:{t:0,l:0,w:0,h:0,domElement:null},bl:{t:0,l:0,w:0,h:0,domElement:null},b:{t:0,l:0,w:0,h:0,domElement:null},br:{t:0,l:0,w:0,h:0,domElement:null},beak:{t:0,l:0,w:0,h:0,domElement:null}};for(var i in this.wrapperParts){var tempElement=document.createElement("div");tempElement.id=this.infoWindowId_+"_"+i;tempElement.style.visibility="hidden";document.body.appendChild(tempElement);tempElement=document.getElementById(this.infoWindowId_+"_"+i);var tempWrapperPart=eval("this.wrapperParts."+i);tempWrapperPart.w=parseInt(this.getStyle_(tempElement,"width"));tempWrapperPart.h=parseInt(this.getStyle_(tempElement,"height"));document.body.removeChild(tempElement)}for(var i in this.wrapperParts){if(i=="close"){this.wrapperDiv_.appendChild(this.contentDiv_)}var wrapperPartsDiv=null;if(this.wrapperParts[i].domElement==null){wrapperPartsDiv=document.createElement("div");this.wrapperDiv_.appendChild(wrapperPartsDiv)}else{wrapperPartsDiv=this.wrapperParts[i].domElement}wrapperPartsDiv.id=this.infoWindowId_+"_"+i;wrapperPartsDiv.style.position="absolute";wrapperPartsDiv.style.width=this.wrapperParts[i].w+"px";wrapperPartsDiv.style.height=this.wrapperParts[i].h+"px";wrapperPartsDiv.style.top=this.wrapperParts[i].t+"px";wrapperPartsDiv.style.left=this.wrapperParts[i].l+"px";this.wrapperParts[i].domElement=wrapperPartsDiv}this.map_.getPane(G_MAP_FLOAT_PANE).appendChild(this.container_);this.container_.id=this.infoWindowId_;var containerWidth=this.getStyle_(document.getElementById(this.infoWindowId_),"width");this.container_.style.width=(containerWidth==null?this.defaultStyles.containerWidth:containerWidth);this.map_.getContainer().appendChild(this.contentDiv_);this.contentWidth=this.getDimensions_(this.container_).width;this.contentDiv_.style.width=this.contentWidth+"px";this.contentDiv_.style.position="absolute";this.container_.appendChild(this.wrapperDiv_);GEvent.bindDom(this.container_,"mousedown",this,this.onClick_);GEvent.trigger(this.map_,"extinfowindowopen");if(this.ajaxUrl_!=null){this.ajaxRequest_(this.ajaxUrl_)}};ExtInfoWindow.prototype.onClick_=function(a){if(navigator.userAgent.toLowerCase().indexOf("msie")!=-1&&document.all){window.event.cancelBubble=true;window.event.returnValue=false}else{a.stopPropagation()}};ExtInfoWindow.prototype.remove=function(){if(this.map_.getExtInfoWindow()!=null){GEvent.trigger(this.map_,"extinfowindowbeforeclose");GEvent.clearInstanceListeners(this.container_);if(this.container_.outerHTML){this.container_.outerHTML=""}if(this.container_.parentNode){this.container_.parentNode.removeChild(this.container_)}this.container_=null;GEvent.trigger(this.map_,"extinfowindowclose");this.map_.setExtInfoWindow_(null)}};ExtInfoWindow.prototype.copy=function(){return new ExtInfoWindow(this.marker_,this.infoWindowId_,this.html_,this.options_)};ExtInfoWindow.prototype.redraw=function(f){if(!f||this.container_==null){return}var e=this.contentDiv_.offsetHeight;this.contentDiv_.style.height=e+"px";this.contentDiv_.style.left=this.wrapperParts.l.w+"px";this.contentDiv_.style.top=this.wrapperParts.tl.h+"px";this.contentDiv_.style.visibility="visible";this.wrapperParts.tl.t=0;this.wrapperParts.tl.l=0;this.wrapperParts.t.l=this.wrapperParts.tl.w;this.wrapperParts.t.w=(this.wrapperParts.l.w+this.contentWidth+this.wrapperParts.r.w)-this.wrapperParts.tl.w-this.wrapperParts.tr.w;this.wrapperParts.t.h=this.wrapperParts.tl.h;this.wrapperParts.tr.l=this.wrapperParts.t.w+this.wrapperParts.tl.w;this.wrapperParts.l.t=this.wrapperParts.tl.h;this.wrapperParts.l.h=e;this.wrapperParts.r.l=this.contentWidth+this.wrapperParts.l.w;this.wrapperParts.r.t=this.wrapperParts.tr.h;this.wrapperParts.r.h=e;this.wrapperParts.bl.t=e+this.wrapperParts.tl.h;this.wrapperParts.b.l=this.wrapperParts.bl.w;this.wrapperParts.b.t=e+this.wrapperParts.tl.h;this.wrapperParts.b.w=(this.wrapperParts.l.w+this.contentWidth+this.wrapperParts.r.w)-this.wrapperParts.bl.w-this.wrapperParts.br.w;this.wrapperParts.b.h=this.wrapperParts.bl.h;this.wrapperParts.br.l=this.wrapperParts.b.w+this.wrapperParts.bl.w;this.wrapperParts.br.t=e+this.wrapperParts.tr.h;this.wrapperParts.close.l=this.wrapperParts.tr.l+this.wrapperParts.tr.w-this.wrapperParts.close.w-this.borderSize_;this.wrapperParts.close.t=-16;this.wrapperParts.beak.l=this.borderSize_+(this.contentWidth/2)-(this.wrapperParts.beak.w/2);this.wrapperParts.beak.t=this.wrapperParts.bl.t+this.wrapperParts.bl.h-this.borderSize_;for(var d in this.wrapperParts){if(d=="close"){this.wrapperDiv_.insertBefore(this.contentDiv_,this.wrapperParts[d].domElement)}var c=null;if(this.wrapperParts[d].domElement==null){c=document.createElement("div");this.wrapperDiv_.appendChild(c)}else{c=this.wrapperParts[d].domElement}c.id=this.infoWindowId_+"_"+d;c.style.position="absolute";c.style.width=this.wrapperParts[d].w+"px";c.style.height=this.wrapperParts[d].h+"px";c.style.top=this.wrapperParts[d].t+"px";c.style.left=this.wrapperParts[d].l+"px";this.wrapperParts[d].domElement=c}var h=this.marker_;var g=this.map_;GEvent.addDomListener(this.wrapperParts.close.domElement,"click",function(){g.closeExtInfoWindow()});var b=this.map_.fromLatLngToDivPixel(this.marker_.getPoint());this.container_.style.position="absolute";var a=this.marker_.getIcon();this.container_.style.left=(b.x-(this.contentWidth/2)-a.iconAnchor.x+a.infoWindowAnchor.x)+"px";this.container_.style.top=(b.y-this.wrapperParts.bl.h-e-this.wrapperParts.tl.h-this.wrapperParts.beak.h-a.iconAnchor.y+a.infoWindowAnchor.y+this.borderSize_)+"px";this.container_.style.display="block";if(this.map_.getExtInfoWindow()!=null){this.repositionMap_()}};ExtInfoWindow.prototype.resize=function(){var a=this.contentDiv_.cloneNode(true);a.id=this.infoWindowId_+"_tempContents";a.style.visibility="hidden";a.style.height="auto";document.body.appendChild(a);a=document.getElementById(this.infoWindowId_+"_tempContents");var e=a.offsetHeight;document.body.removeChild(a);this.contentDiv_.style.height=e+"px";var b=this.contentDiv_.offsetWidth;var d=this.map_.fromLatLngToDivPixel(this.marker_.getPoint());var c=this.wrapperParts.t.domElement.offsetHeight+this.wrapperParts.l.domElement.offsetHeight+this.wrapperParts.b.domElement.offsetHeight;var g=this.wrapperParts.t.domElement.offsetTop;this.wrapperParts.l.domElement.style.height=e+"px";this.wrapperParts.r.domElement.style.height=e+"px";var f=this.wrapperParts.b.domElement.offsetTop-e;this.wrapperParts.l.domElement.style.top=f+"px";this.wrapperParts.r.domElement.style.top=f+"px";this.contentDiv_.style.top=f+"px";windowTHeight=parseInt(this.wrapperParts.t.domElement.style.height);f-=windowTHeight;this.wrapperParts.close.domElement.style.top=f+this.borderSize_+"px";this.wrapperParts.tl.domElement.style.top=f+"px";this.wrapperParts.t.domElement.style.top=f+"px";this.wrapperParts.tr.domElement.style.top=f+"px";this.repositionMap_()};ExtInfoWindow.prototype.repositionMap_=function(){var j=this.map_.fromLatLngToDivPixel(this.map_.getBounds().getNorthEast());var a=this.map_.fromLatLngToDivPixel(this.map_.getBounds().getSouthWest());var h=this.map_.fromLatLngToDivPixel(this.marker_.getPoint());var p=0;var n=0;var l=this.paddingX_;var k=this.paddingY_;var d=this.marker_.getIcon().infoWindowAnchor;var c=this.marker_.getIcon().iconAnchor;var f=this.wrapperParts.t.domElement;var i=this.wrapperParts.l.domElement;var q=this.wrapperParts.b.domElement;var g=this.wrapperParts.r.domElement;var b=this.wrapperParts.beak.domElement;var m=h.y-(-d.y+c.y+this.getDimensions_(b).height+this.getDimensions_(q).height+this.getDimensions_(i).height+this.getDimensions_(f).height+this.paddingY_);if(m<j.y){n=j.y-m}else{var r=h.y+this.paddingY_;if(r>=a.y){n=-(r-a.y)}}var o=Math.round(h.x+this.getDimensions_(this.container_).width/2+this.getDimensions_(g).width+this.paddingX_+d.x-c.x);if(o>j.x){p=-(o-j.x)}else{var e=-(Math.round((this.getDimensions_(this.container_).width/2-this.marker_.getIcon().iconSize.width/2)+this.getDimensions_(i).width+this.borderSize_+this.paddingX_)-h.x-d.x+c.x);if(e<a.x){p=a.x-e}}if(p!=0||n!=0&&this.map_.getExtInfoWindow()!=null){this.map_.panBy(new GSize(p,n))}};ExtInfoWindow.prototype.ajaxRequest_=function(a){var c=this.map_;var b=this.callback_;GDownloadUrl(a,function(e,d){var f=document.getElementById(c.getExtInfoWindow().infoWindowId_+"_contents");if(e==null||d==-1){f.innerHTML='<span class="error">ERROR: The Ajax request failed to get HTML content from "'+a+'"</span>'}else{f.innerHTML=e}if(b!=null){b()}c.getExtInfoWindow().resize();GEvent.trigger(c,"extinfowindowupdate")})};ExtInfoWindow.prototype.getDimensions_=function(c){var g=this.getStyle_(c,"display");if(g!="none"&&g!=null){return{width:c.offsetWidth,height:c.offsetHeight}}var b=c.style;var f=b.visibility;var d=b.position;var a=b.display;b.visibility="hidden";b.position="absolute";b.display="block";var h=c.clientWidth;var e=c.clientHeight;b.display=a;b.position=d;b.visibility=f;return{width:h,height:e}};ExtInfoWindow.prototype.getStyle_=function(b,c){var e=false;c=this.camelize_(c);var d=b.style[c];if(!d){if(document.defaultView&&document.defaultView.getComputedStyle){var a=document.defaultView.getComputedStyle(b,null);d=a?a[c]:null}else{if(b.currentStyle){d=b.currentStyle[c]}}}if((d=="auto")&&(c=="width"||c=="height")&&(this.getStyle_(b,"display")!="none")){if(c=="width"){d=b.offsetWidth}else{d=b.offsetHeight}}if(window.opera&&["left","top","right","bottom"].include(c)){if(this.getStyle_(b,"position")=="static"){d="auto"}}return(d=="auto")?null:d};ExtInfoWindow.prototype.camelize_=function(c){var e=c.split("-"),a=e.length;if(a==1){return e[0]}var d=c.charAt(0)=="-"?e[0].charAt(0).toUpperCase()+e[0].substring(1):e[0];for(var b=1;b<a;b++){d+=e[b].charAt(0).toUpperCase()+e[b].substring(1)}return d};GMap.prototype.ExtInfoWindowInstance_=null;GMap.prototype.ClickListener_=null;GMap.prototype.InfoWindowListener_=null;GMarker.prototype.openExtInfoWindow=function(b,d,a,c){if(b==null){throw"Error in GMarker.openExtInfoWindow: map cannot be null";return false}if(d==null||d==""){throw"Error in GMarker.openExtInfoWindow: must specify a cssId";return false}b.closeInfoWindow();if(b.getExtInfoWindow()!=null){b.closeExtInfoWindow()}if(b.getExtInfoWindow()==null){b.setExtInfoWindow_(new ExtInfoWindow(this,d,a,c));if(b.ClickListener_==null){b.ClickListener_=GEvent.addListener(b,"click",function(e){if(!e&&b.getExtInfoWindow()!=null){b.closeExtInfoWindow()}})}if(b.InfoWindowListener_==null){b.InfoWindowListener_=GEvent.addListener(b,"infowindowopen",function(e){if(b.getExtInfoWindow()!=null){b.closeExtInfoWindow()}})}b.addOverlay(b.getExtInfoWindow())}};GMarker.prototype.closeExtInfoWindow=function(a){a.closeExtInfoWindow()};GMap2.prototype.getExtInfoWindow=function(){return this.ExtInfoWindowInstance_};GMap2.prototype.setExtInfoWindow_=function(a){this.ExtInfoWindowInstance_=a};GMap2.prototype.closeExtInfoWindow=function(){this.ExtInfoWindowInstance_.remove()};;function EInsert(b,f,d,a,c){this.point=b;this.image=f;this.size=d;this.basezoom=a;this.zindex=c||0;var e=navigator.userAgent.toLowerCase();if((e.indexOf("msie")>-1)&&(e.indexOf("opera")<1)){this.ie=true}else{this.ie=false}this.hidden=false}EInsert.prototype=new GOverlay();EInsert.prototype.initialize=function(a){var b=document.createElement("div");b.style.position="absolute";b.style.zIndex=this.zindex;if(this.zindex<0){a.getPane(G_MAP_MAP_PANE).appendChild(b)}else{a.getPane(1).appendChild(b)}this.map_=a;this.div_=b};EInsert.prototype.makeDraggable=function(){this.dragZoom_=this.map_.getZoom();this.dragObject=new GDraggableObject(this.div_);this.dragObject.parent=this;GEvent.addListener(this.dragObject,"dragstart",function(){this.parent.left=this.left;this.parent.top=this.top});GEvent.addListener(this.dragObject,"dragend",function(){var b=this.parent.map_.fromLatLngToDivPixel(this.parent.point);var a=new GPoint(b.x+this.left-this.parent.left,b.y+this.top-this.parent.top);this.parent.point=this.parent.map_.fromDivPixelToLatLng(a);this.parent.redraw(true);GEvent.trigger(this.parent,"dragend",this.parent.point)})};EInsert.prototype.remove=function(){this.div_.parentNode.removeChild(this.div_)};EInsert.prototype.copy=function(){return new EInsert(this.point,this.image,this.size,this.basezoom)};EInsert.prototype.redraw=function(d){if(d){var e=this.map_.fromLatLngToDivPixel(this.point);var g=this.map_.getZoom();var f=Math.pow(2,(g-this.basezoom));var c=this.size.height*f;var b=this.size.width*f;this.div_.style.left=(e.x-b/2)+"px";this.div_.style.top=(e.y-c/2)+"px";if(this.ie){var a="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+this.image+"', sizingMethod='scale');";this.div_.innerHTML='<div style="height:'+c+"px; width:"+b+"px; "+a+'" ></div>'}else{this.div_.innerHTML='<img src="'+this.image+'"  width='+b+" height="+c+" >"}if(this.dragObject){if(g!=this.dragZoom_){this.dragObject.disable()}}}};EInsert.prototype.show=function(){this.div_.style.display="";this.hidden=false};EInsert.prototype.hide=function(){this.div_.style.display="none";this.hidden=true};EInsert.prototype.getPoint=function(){return this.point};EInsert.prototype.supportsHide=function(){return true};EInsert.prototype.isHidden=function(){return this.hidden};EInsert.prototype.setPoint=function(b){this.point=b;this.redraw(true)};EInsert.prototype.setImage=function(b){this.image=b;this.redraw(true)};EInsert.prototype.setZindex=function(b){this.div_.style.zIndex=b};EInsert.prototype.setSize=function(b){this.size=b;this.redraw(true)};EInsert.groundOverlay=function(b,a,i,f,h){var f=f||G_NORMAL_MAP.getProjection();var h=h||17;var j=f.fromLatLngToPixel(a.getSouthWest(),h);var e=f.fromLatLngToPixel(a.getNorthEast(),h);var d=new GPoint((j.x+e.x)/2,(j.y+e.y)/2);var g=f.fromPixelToLatLng(d,h);var k=new GSize(e.x-j.x,j.y-e.y);return new EInsert(g,b,k,h,i)};;function ClusterMarker(b,a){this._map=b;this._mapMarkers=[];this._iconBounds=[];this._clusterMarkers=[];this._eventListeners=[];if(typeof(a)==="undefined"){a={}}this.borderPadding=(a.borderPadding)?a.borderPadding:256;this.clusteringEnabled=(a.clusteringEnabled===false)?false:true;if(a.clusterMarkerClick){this.clusterMarkerClick=a.clusterMarkerClick}if(a.clusterMarkerIcon){this.clusterMarkerIcon=a.clusterMarkerIcon}else{this.clusterMarkerIcon=new GIcon();this.clusterMarkerIcon.image="http://maps.google.com/mapfiles/arrow.png";this.clusterMarkerIcon.iconSize=new GSize(39,34);this.clusterMarkerIcon.iconAnchor=new GPoint(9,31);this.clusterMarkerIcon.infoWindowAnchor=new GPoint(9,31);this.clusterMarkerIcon.shadow="http://www.google.com/intl/en_us/mapfiles/arrowshadow.png";this.clusterMarkerIcon.shadowSize=new GSize(39,34)}this.clusterMarkerTitle=(a.clusterMarkerTitle)?a.clusterMarkerTitle:"Click to zoom in and see %count markers";if(a.fitMapMaxZoom){this.fitMapMaxZoom=a.fitMapMaxZoom}this.intersectPadding=(a.intersectPadding)?a.intersectPadding:0;if(a.markers){this.addMarkers(a.markers)}GEvent.bind(this._map,"moveend",this,this._moveEnd);GEvent.bind(this._map,"zoomend",this,this._zoomEnd);GEvent.bind(this._map,"maptypechanged",this,this._mapTypeChanged)}ClusterMarker.prototype.addMarkers=function(b){var a;if(!b[0]){var c=[];for(a in b){c.push(b[a])}b=c}for(a=b.length-1;a>=0;a--){b[a]._isVisible=false;b[a]._isActive=false;b[a]._makeVisible=false}this._mapMarkers=this._mapMarkers.concat(b)};ClusterMarker.prototype._clusterMarker=function(b){function a(l,i,k){return new GMarker(l,{icon:i,title:k})}var h=new GLatLngBounds(),d,e,g=[],j,f=this,c=this._mapMarkers;for(d=b.length-1;d>=0;d--){j=c[b[d]];j.index=b[d];h.extend(j.getLatLng());g.push(j)}e=a(h.getCenter(),this.clusterMarkerIcon,this.clusterMarkerTitle.replace(/%count/gi,b.length));e.clusterGroupBounds=h;this._eventListeners.push(GEvent.addListener(e,"click",function(){f.clusterMarkerClick({clusterMarker:e,clusteredMarkers:g})}));e._childIndexes=b;for(d=b.length-1;d>=0;d--){c[b[d]]._parentCluster=e}return e};ClusterMarker.prototype.clusterMarkerClick=function(a){this._map.setCenter(a.clusterMarker.getLatLng(),this._map.getBoundsZoomLevel(a.clusterMarker.clusterGroupBounds))};ClusterMarker.prototype._filterActiveMapMarkers=function(){var k=this.borderPadding,j=this._map.getZoom(),q=this._map.getCurrentMapType().getProjection(),o,c,m,h,n,d,b=this._map.getBounds(),f,p,e=[],l,a=this._mapMarkers,g=this._iconBounds;if(k){o=q.fromLatLngToPixel(b.getSouthWest(),j);c=new GPoint(o.x-k,o.y+k);m=q.fromPixelToLatLng(c,j);h=q.fromLatLngToPixel(b.getNorthEast(),j);n=new GPoint(h.x+k,h.y-k);d=q.fromPixelToLatLng(n,j);b.extend(m);b.extend(d)}this._activeMarkersChanged=false;if(typeof(g[j])==="undefined"){this._iconBounds[j]=[];this._activeMarkersChanged=true;for(f=a.length-1;f>=0;f--){p=a[f];p._isActive=b.containsLatLng(p.getLatLng())?true:false;p._makeVisible=p._isActive;if(p._isActive){e.push(f)}}}else{for(f=a.length-1;f>=0;f--){p=a[f];l=p._isActive;p._isActive=b.containsLatLng(p.getLatLng())?true:false;p._makeVisible=p._isActive;if(!this._activeMarkersChanged&&l!==p._isActive){this._activeMarkersChanged=true}if(p._isActive&&typeof(g[j][f])==="undefined"){e.push(f)}}}return e};ClusterMarker.prototype._filterIntersectingMapMarkers=function(){var e,d,b,a=this._map.getZoom(),f=this._mapMarkers,c=this._iconBounds;for(d=f.length-1;d>0;d--){if(f[d]._makeVisible){e=[];for(b=d-1;b>=0;b--){if(f[b]._makeVisible&&c[a][d].intersects(c[a][b])){e.push(b)}}if(e.length!==0){e.push(d);for(b=e.length-1;b>=0;b--){f[e[b]]._makeVisible=false}this._clusterMarkers.push(this._clusterMarker(e))}}}};ClusterMarker.prototype.fitMapToMarkers=function(){var d=this._mapMarkers,c=new GLatLngBounds(),b;for(b=d.length-1;b>=0;b--){c.extend(d[b].getLatLng())}var a=this._map.getBoundsZoomLevel(c);if(this.fitMapMaxZoom&&a>this.fitMapMaxZoom){a=this.fitMapMaxZoom}this._map.setCenter(c.getCenter(),a);this.refresh()};ClusterMarker.prototype._mapTypeChanged=function(){this.refresh(true)};ClusterMarker.prototype._moveEnd=function(){if(!this._cancelMoveEnd){this.refresh()}else{this._cancelMoveEnd=false}};ClusterMarker.prototype._preCacheIconBounds=function(c,h){var n=this._map.getCurrentMapType().getProjection(),g,o,e,a,j,l,f,k,d,m=this.intersectPadding,b=this._mapMarkers;for(g=c.length-1;g>=0;g--){o=b[c[g]];e=o.getIcon().iconSize;a=n.fromLatLngToPixel(o.getLatLng(),h);j=o.getIcon().iconAnchor;l=new GPoint(a.x-j.x-m,a.y-j.y+e.height+m);f=new GPoint(a.x-j.x+e.width+m,a.y-j.y-m);k=n.fromPixelToLatLng(l,h);d=n.fromPixelToLatLng(f,h);this._iconBounds[h][c[g]]=new GLatLngBounds(k,d)}};ClusterMarker.prototype.refresh=function(d){var c,b,e=this._map.getZoom(),a=this._filterActiveMapMarkers();if(this._activeMarkersChanged||d){this._removeClusterMarkers();if(this.clusteringEnabled&&e<this._map.getCurrentMapType().getMaximumResolution()){if(a.length>0){this._preCacheIconBounds(a,e)}this._filterIntersectingMapMarkers()}for(c=this._clusterMarkers.length-1;c>=0;c--){this._map.addOverlay(this._clusterMarkers[c])}for(c=this._mapMarkers.length-1;c>=0;c--){b=this._mapMarkers[c];if(!b._isVisible&&b._makeVisible){this._map.addOverlay(b);b._isVisible=true}if(b._isVisible&&!b._makeVisible){this._map.removeOverlay(b);b._isVisible=false}}}};ClusterMarker.prototype._removeClusterMarkers=function(){var d,b,g=this._map,a=this._eventListeners,f=this._clusterMarkers,c,e=this._mapMarkers;for(d=f.length-1;d>=0;d--){c=f[d]._childIndexes;for(b=c.length-1;b>=0;b--){delete e[c[b]]._parentCluster}g.removeOverlay(f[d])}for(d=a.length-1;d>=0;d--){GEvent.removeListener(a[d])}this._clusterMarkers=[];this._eventListeners=[]};ClusterMarker.prototype.removeMarkers=function(){var a,b=this._mapMarkers,c=this._map;for(a=b.length-1;a>=0;a--){if(b[a]._isVisible){c.removeOverlay(b[a])}delete b[a]._isVisible;delete b[a]._isActive;delete b[a]._makeVisible}this._removeClusterMarkers();this._mapMarkers=[];this._iconBounds=[]};ClusterMarker.prototype.triggerClick=function(h){var k=this._mapMarkers[h];if(k._isVisible){GEvent.trigger(k,"click")}else{if(k._isActive){var f=k._parentCluster._childIndexes,b=true,c,d,g=this._map.getZoom(),j,e=this._iconBounds,a=this._map.getCurrentMapType().getMaximumResolution();while(b&&g<a){b=false;g++;if(typeof(e[g])==="undefined"){e[g]=[];this._preCacheIconBounds(f,g)}else{c=[];for(d=f.length-1;d>=0;d--){if(typeof(e[g][f[d]])==="undefined"){c.push(f[d])}}if(c.length>=1){this._preCacheIconBounds(c,g)}}for(d=f.length-1;d>=0;d--){j=f[d];if(j!==h&&e[g][j].intersects(e[g][h])){b=true;break}}}this._map.setCenter(k.getLatLng(),g);this.triggerClick(h)}else{this._map.setCenter(k.getLatLng());this.triggerClick(h)}}};ClusterMarker.prototype._zoomEnd=function(){this._cancelMoveEnd=true;this.refresh(true)};