// Symbole einfügen
function insertSymbols( map ) {
    
    // Standort Daten für Logo-Positionierung und Fenster
    var positionLatLng = new GLatLng( 54.32395, 13.07818 );
    var logoIcon = new GIcon();
    logoIcon.image = "/js/ksd_logo_for_map.png";
//    logoIcon.shadow = "/js/ksd_logo_for_map_with_shadow.png";
    logoIcon.iconSize = new GSize(30, 30);
    logoIcon.shadowSize = new GSize(30, 30);
    logoIcon.iconAnchor = new GPoint(30, 15);
    logoIcon.infoWindowAnchor = new GPoint(28, 2);
//    logoIcon.infoShadowAnchor = new GPoint(30, 20);
    var positionMarker = new GMarker( positionLatLng, { icon:logoIcon, title: "Küchenstudio DENN" } );
    map.addOverlay( positionMarker );
    GEvent.addListener( positionMarker, "click", function() {
        positionMarker.openInfoWindowHtml( "<div style='font-family: Helvetica, Arial, sans-serif; font-size: 130%;'><b style='color: #1f4ea5;'>Küchenstudio DENN<\/b><br />Knieperdamm 25<br />18435 Stralsund<br /></div>" );
    });
    
}

// Karte initialisieren
function initMyMap() {
    if ( GBrowserIsCompatible() ) {

        var map = new GMap2( document.getElementById( "ksd_map" ));
        map.setCenter( new GLatLng( 54.323, 13.078 ), 12 );
//        map.setMapType( G_HYBRID_MAP );
		map.setMapType( G_NORMAL_MAP );
//        map.enableScrollWheelZoom();
//        map.enableContinuousZoom();

        map.addControl( new GMapTypeControl() );
        map.addControl( new GSmallMapControl() );
        map.addControl( new GScaleControl(), new GControlPosition( G_ANCHOR_BOTTOM_LEFT, new GSize( 5, 40 )));
        
        overviewMap = new GOverviewMapControl( new GSize( 100, 100 )); 
        map.addControl( overviewMap );

        map.hideControls();   // "mouseover" macht sie wieder sichtbar

        // Mousescroll unterdrücken
        GEvent.addDomListener( map.getContainer(), "DOMMouseScroll", wheelevent );
        map.getContainer().onmousewheel = wheelevent;

        // Controls zeigen bei "mouseover"
        GEvent.addListener( map, "mouseover", function() {
            map.showControls();
        });

        // Controls verbergen bei "mouseout"
        GEvent.addListener( map, "mouseout", function() {
            map.hideControls(); 
        });
        
        insertSymbols( map );
    }
}

// Karte "entladen"
function disposeMyMap() {
    GUnload();
}

// Scroll-Event verarbeiten, also unterdrücken
function wheelevent( e ) {
    if ( !e ) {
        e = window.event
    }
    if ( e.preventDefault ) {
        e.preventDefault()
    }
    e.returnValue = false;
}

// registriert Funktionen für das "onload"-Event
function addLoadEvent( func ) {
    var oldonload = window.onload;
    if ( typeof window.onload != 'function' ) {
        window.onload = func;
    } else {
        window.onload = function() {
            if ( oldonload ) {
                oldonload();
            }
            func();
        }
    }
}

// registriert Funktionen für das "onunload"-Event
function addUnLoadEvent( func ) {
    var oldonunload = window.onunload;
    if ( typeof window.onunload != 'function' ) {
        window.onunload = func;
    } else {
        window.onunload = function() {
            if ( oldonload ) {
                oldonload();
            }
            func();
        }
    }
}

// Funktionen zum "onload"-Event hinzufügen
addLoadEvent( function() {
    initMyMap();
})

// Funktionen zum "onunload"-Event hinzufügen
addUnLoadEvent( function() {
    disposeMyMap();
})

