var DSGNGoogleMaps = new Class({
	Extends: EosGoogleMaps,
	
	initialize: function(elementId, location, zoomLevel, options){
		this.parent(elementId, location, zoomLevel, options);
	},
	
	addMarkersToMap: function(){
		this.setRequiredCenterAndZoom();
		this.parent();
	},
	
	setRequiredCenterAndZoom: function(){
		var minlat = null;
		var minlong = null;
		var maxlat = null;
		var maxlong = null;
		this.markers.each(function(item, id) {

			var latlng = item.getLatLng();
			if (!$chk(minlat) || ($chk(minlat) && latlng.lat() < minlat)){
				minlat = latlng.lat();
			}
			if (!$chk(maxlat) || ($chk(maxlat) && latlng.lat() > maxlat)){
				maxlat = latlng.lat();
			}
			if (!$chk(minlong) || ($chk(minlong) && latlng.lng() < minlong)){
				minlong = latlng.lng();
			}
			if (!$chk(maxlong) || ($chk(maxlong) && latlng.lng() > maxlong)){
				maxlong = latlng.lng();
			}
		});
		sw = new GLatLng(parseFloat(minlat), parseFloat(minlong));
		ne = new GLatLng(parseFloat(maxlat), parseFloat(maxlong));
		
		var bounds = new GLatLngBounds(sw, ne);
		this.zoomLevel = this.map.getBoundsZoomLevel(bounds);
		//	Set Map to center of bounds
		center = bounds.getCenter();
		this.map.setCenter(center, this.zoomLevel);
	}
});
