function createMarker(point, place,image)
{
    if (image.length > 3)
    {
        var icon = new GIcon(baseIcon);
        icon.image = "/include/images/map/" + image;
        var marker = new PdMarker(point, icon);
    }
    else
    {
        var marker = new PdMarker(point);
    }
    marker.setTooltip('<p class="maptooltip">' + place.getAttribute("name") + '</p>');
    marker.setDetailWinHTML('<div class="maptooltip"><p><strong>' + place.getAttribute("name") + "<br /> Area: " + place.getAttribute("area") + "<br/>Type: " + place.getAttribute("type") + "<br/>Elysium: " + place.getAttribute("elysium") +"</strong></p></div>");
    
    return marker;
}

function fetch_overlays()
{
    var bounds = map.getBoundsLatLng();

    var request = GXmlHttp.create();
    request.open("GET", '/ajax/map_points.xml?MinX='+ bounds.minX + '&MinY=' + bounds.minY + '&MaxX=' + bounds.maxX + '&MaxY=' + bounds.maxY, true);
    request.onreadystatechange = function()
    {
        if (request.readyState == 4)
        {
            map.clearOverlays();
            var xmlDoc = request.responseXML;
            var markers = xmlDoc.documentElement.getElementsByTagName("marker");
            for (var i = 0; i < markers.length; i++)
            {
                var point = new GPoint(parseFloat(markers[i].getAttribute("lng")),parseFloat(markers[i].getAttribute("lat")));
                var marker = createMarker(point,markers[i],markers[i].getAttribute("icon"));
                
                map.addOverlay(marker);
            }
        }
    }
    request.send(null);
}    

function create_base_icon()
{
    var baseIcon = new GIcon();
    baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
    baseIcon.iconSize = new GSize(20, 34);
    baseIcon.shadowSize = new GSize(37, 34);
    baseIcon.iconAnchor = new GPoint(9, 34);
    baseIcon.infoWindowAnchor = new GPoint(9, 2);
    baseIcon.infoShadowAnchor = new GPoint(18, 25);

    return baseIcon;
}

function display_center_lat_long()
{
    var center = map.getCenterLatLng();
    var latLngStr = 'Center Lat/Long: (' + center.y + ', ' + center.x + ')';
    document.getElementById("message").innerHTML = latLngStr;
}    