
var kolping_icon = new GIcon();
kolping_icon.image = "http://www.kolping-muenchen.de/img/map_marker.png";
kolping_icon.shadow = "http://www.google.com/mapfiles/shadow50.png";
kolping_icon.iconSize = new GSize(20, 34);
kolping_icon.shadowSize = new GSize(37, 34);
kolping_icon.iconAnchor = new GPoint(9, 33);
kolping_icon.infoWindowAnchor = new GPoint(9, 3);

function create_marker(point, title, info_window) {
    var marker = new GMarker(point, {icon: kolping_icon, title: title});
    GEvent.addListener(marker, "click", function() {
        marker.openInfoWindow(info_window);
    });
    return marker;
}

function get_marker_root() {
    return document.getElementById("map_markers");
}

function is_marker(element) {
    return element.className == "map_marker";
}

function make_marker(element) {
    var location = element.getElementsByTagName("location")[0];
    var point = new GLatLng(parseFloat(location.getAttribute("lat")),
        parseFloat(location.getAttribute("lng")));
    var title = element.getAttribute("title");
    var info_window = element.cloneNode(true);
    return create_marker(point, title, info_window);
}

function show_list(button) {
    get_marker_root().style.display = "block";
    button.style.display = "none";
}

function load() {
    if (GBrowserIsCompatible()) {

        // initialise document
        var elem_body = document.getElementById("kolpingsfamilien");
        elem_body.className = "map";

        // initialise map
        var elem_map = document.getElementById("map");
        var map = new GMap2(elem_map);
        map.setCenter(new GLatLng(48.144098, 11.584396), 11, G_HYBRID_MAP);
        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());

        // initialise markers
        var elements = get_marker_root().childNodes;
        for (var i = 0; i < elements.length; i++) {
            var element = elements[i];
            if (is_marker(element)) map.addOverlay(make_marker(element));
        }
    }
}

function unload() {
    GUnload();
}

