var map;
var centrum_lat = 49;
var centrum_lng = 11;
var start_zoom = 15;
var start_maptype = "G_NORMAL_MAP";

// Initialisieren der Karte
function initMap() {
    if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));

        // Kartenmittelpunkt
        map.setCenter(new GLatLng(centrum_lat, centrum_lng), start_zoom);

        // Grosse Kartensteuerung
        map.addControl(new GLargeMapControl());

        // Maptyp Steuerung + zusaetzliche Karte (Gelaende)
        map.addMapType(G_PHYSICAL_MAP);
        map.addControl(new GHierarchicalMapTypeControl());

        // Maptyp setzen
        map.setMapType(eval(start_maptype));

    }
}

var marker;
var marker_html;

// Zeigt den Marker an
function showMarker() {
    map.setCenter(new GLatLng(centrum_lat, centrum_lng), start_zoom);

    marker = new GMarker(new GLatLng(centrum_lat, centrum_lng));
    GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml(marker_html);
    });

    map.addOverlay(marker);

    GEvent.trigger(marker, "click");
}


var directions;
var routing_target;

// Zeigt die Route an
function showRoute() {
    var strasse = document.getElementById('form_strasse').value;
    var plz = document.getElementById('form_plz').value;
    var ort = document.getElementById('form_ort').value;

    if(strasse || plz || ort) {
        if(directions == null) {
            directions = new GDirections(map, document.getElementById('directions'));
        } else {
            document.getElementById("directions").innerHTML = "";
            directions.clear();
            directions = new GDirections(map, document.getElementById('directions'));
        }

        var waypoints = new Array;
        waypoints[0] = strasse+", "+plz+", "+ort+", Deutschland";
        waypoints[1] = routing_target+"@"+centrum_lat+","+centrum_lng;

        directions.loadFromWaypoints(waypoints,{locale:"de"});

        // Error
        GEvent.addListener(directions,"error", function() {
            map.removeOverlay(marker);
            showMarker();
            document.getElementById('beschreibung').style.display = 'block';
            alert("Adresse wurde leider nicht gefunden.");
        });

        // Success
        GEvent.addListener(directions,"load", function() {
            map.removeOverlay(marker);
            document.getElementById('beschreibung').style.display = 'none';
            document.getElementById("directions").innerHTML += "<div style=\"text-align:right;\"><a href=\"http://maps.google.de/maps?f=d&hl=de&geocode=&saddr="+waypoints[0]+"&daddr="+waypoints[1]+"&z=12&om=1&pw=2\" target=\"_blank\" style=\"padding-left:20px; background-image:url(http://www.timm4.de/include/icons/print.gif); background-repeat:no-repeat;\">Druckansicht</a></div>";
        });
    } else {
        document.getElementById("directions").innerHTML = "";
        if (directions != null) {
            directions.clear();
            directions = new GDirections(map, document.getElementById('directions'));
        }
        map.removeOverlay(marker);
        showMarker();
        document.getElementById('beschreibung').style.display = 'block';
        alert("Bitte füllen Sie eines der Felder aus.");
    }
}

addLoadEvent(initMap);
addLoadEvent(showMarker);

window.onunload = GUnload;

