ARB.map = function () {
    
    return {
        points: [],
        initgmap: function () {
            if (!GBrowserIsCompatible()) return;

            var map = new google.maps.Map2(document.getElementById("map")),
                latlngbounds = new GLatLngBounds(),
                coords = [],
                pointMarkerMap = {};

            for (var i in ARB.map.points) {
                var point = ARB.map.points[i],
                    coord = new GLatLng(point.x, point.y),
                    marker = new GMarker(coord);
                    
                coords.push(coord);
                map.addOverlay(marker);
                latlngbounds.extend(coord);
                pointMarkerMap[coord.toString()] = point;

                GEvent.addListener(marker, "click", function(overlay, latlng) {
                    var point = pointMarkerMap[overlay.toString()],
                    html = ["<div style='width: 300px;'><strong>", point.title, '</strong>\n<br />', 
                        point.description, "<br /><a href='", point.get_absolute_url, "'>Read more</a></div>"].join('');
                    map.openInfoWindowHtml(overlay, html);
                });
            }

            map.setCenter(latlngbounds.getCenter(), map.getBoundsZoomLevel(latlngbounds));
            map.setUIToDefault();
        } // initgmap
    }
    
}();

