var mapUtil = {

    minLat: null,
    maxLat: null,
    minLng: null,
    maxLng: null,
    
    calculateBorders: function(latitude, longitude) {
        latitude = Number(latitude);
        longitude = Number(longitude);
        
        if(typeof(latitude) == 'number' && typeof(longitude) == 'number') {
            if(mapUtil.minLat == null || mapUtil.minLat > latitude) {
                mapUtil.minLat = latitude;
            }
    
            if(mapUtil.maxLat == null || mapUtil.maxLat < latitude) {
                mapUtil.maxLat = latitude;
            }
    
            if(mapUtil.minLng == null || mapUtil.minLng > longitude) {
                mapUtil.minLng = longitude;
            }
    
            if(mapUtil.minLax == null || mapUtil.maxLng < longitude) {
                mapUtil.maxLng = longitude;
            }
        }
    },
    
    zoomToViewAll: function() {
        var visibleBounds = mapUtil.getVisibleBounds();
        
        if(visibleBounds) {
            var boundsCentre = visibleBounds.getCenter();
            var zoomLevel = map.getBoundsZoomLevel(visibleBounds);
            
            if(zoomLevel < 8 ) {
                map.setCenter(boundsCentre, zoomLevel);
            }
            else {
                map.setCenter(boundsCentre, 8);
            }
        }
    },
    
    getVisibleBounds: function() {
        if(mapUtil.maxLng) {
            var swLatLng = new GLatLng(mapUtil.minLat, mapUtil.minLng);
            var neLatLng = new GLatLng(mapUtil.maxLat, mapUtil.maxLng);
            var minBounds = new GLatLngBounds(swLatLng, neLatLng);
            
            return minBounds;
        }
        
        return null;
    }
}


