var EMPTY_SPAN_FILL=0.001;var OverlayList=Class.create({_map:undefined,_overlays:undefined,_markers:undefined,_vectorLayer:undefined,initialize:function(A){this._map=A;this._overlays=new Array();this._vectorLayer=new OpenLayers.Layer.Vector("vector2");this._markers=new OpenLayers.Layer.Markers("Markers");this._map.addLayers([this._vectorLayer,this._markers])},addOverlay:function(A){A._map=this._map;this._overlays.push(A);this._markers.addMarker(A._marker)},addRoute:function(A){A._map=this._map;A._routestart._map=this._map;A._routeend._map=this._map;this._overlays.push(A);this._vectorLayer.addFeatures(A._routevector);this._markers.addMarker(A._routestart._marker);this._markers.addMarker(A._routeend._marker)},removeOverlay:function(A){for(var B=0;B<this._overlays.length;B++){var C=this._overlays[B];if(C._id==A){this._overlays.splice(B,1);this._markers.removeMarker(C._marker);this._map.removePopup(C._frameCloud)}}},removeRoute:function(A){for(var B=0;B<this._overlays.length;B++){var C=this._overlays[B];if(C._id==A){this._overlays.splice(B,1);this._vectorLayer.removeFeatures(C._routevector);this._markers.removeMarker(C._routestart._marker);this._markers.removeMarker(C._routeend._marker);this._map.removePopup(C._routestart._frameCloud);this._map.removePopup(C._routeend._frameCloud)}}},getOverlay:function(A){for(var B=0;B<this._overlays.length;B++){var C=this._overlays[B];if(C._id==A){return C}}},clearOverlays:function(){while(this._overlays.length>0){var A=this._overlays[0];if(A._routevector==undefined){this.removeOverlay(A._id)}else{this.removeRoute(A._id)}}},getBoundingBox:function(){var B=180;var I=90;var E=-180;var D=-90;for(var H=0;H<this._overlays.length;H++){var C=this._overlays[H];if(C._marker!=undefined){var G=C._marker.lonlat.lon;var F=C._marker.lonlat.lat;B=Math.min(G,B);I=Math.min(F,I);E=Math.max(G,E);D=Math.max(F,D)}}if(B>=E){B-=EMPTY_SPAN_FILL/2;E+=EMPTY_SPAN_FILL/2}if(I>=D){I-=EMPTY_SPAN_FILL/2;D+=EMPTY_SPAN_FILL/2}var A=new OpenLayers.Bounds();A.extend(new OpenLayers.LonLat(B,I));A.extend(new OpenLayers.LonLat(E,D));A.toBBOX();return A},zoomToBounds:function(){var A=this.getBoundingBox();this._map.zoomToExtent(A)},checkForOverlayID:function(C){var B;for(var A=0;A<this._overlays.length;A++){if(this._overlays[A]._id.indexOf(C)==-1){B=false}else{return true}}return B},checkIfOverlayExists:function(C){var B;for(var A=0;A<this._overlays.length;A++){if(this._overlays[A]._id.indexOf(C)==-1){B=false}else{return true}}return B}});