var markers=[];

function gmaps_click(marker,position,id) {
    if(marker) {
        switch (marker.type) {
            case "point":
                var myHtml = "<b>" + marker.texto + "</b>";
                marker.openInfoWindowHtml(myHtml);
                break;
        }
    }
}

function gmaps_load(id,lat,lon,zoom,points) {
    if (GBrowserIsCompatible()) {
        eval("var map_"+id+"='';");
        window["map_"+id] = new GMap2(document.getElementById("map_" + id));
//        if (points.length>0) {
//            window["map_"+id].setCenter(new GLatLng(points[0][0],points[0][1]),zoom);
//        }
//        else {
            window["map_"+id].setCenter(new GLatLng(lat,lon),zoom);
//        }
        window["map_"+id].addControl(new GLargeMapControl());
        window["map_"+id].addControl(new GHierarchicalMapTypeControl());
        window["map_"+id].enableScrollWheelZoom();
        var mc = new GOverviewMapControl();
        window["map_"+id].addControl(mc);
        GEvent.addListener(window["map_"+id],"click",function(overlay,point) {gmaps_click(overlay,point,id);});
        if (points != undefined) {
            gmap_load_points(id,points);
        }
    }
}

function gmap_add_point(id,lat,lon,id_point,texto) {
    marker = new GMarker(new GLatLng(lat,lon));
    marker.id_point = id_point;
    marker.texto = texto;
    marker.type = "point";
    marker.position = markers.length;
    markers[markers.length] = marker;
    window["map_"+id].addOverlay(marker);
}

function gmap_load_points(id,points) {
    var i;
    for(i=0;i<points.length;i++) {
        gmap_add_point(id,points[i][0],points[i][1],points[i][2],points[i][3]);
    }
}