var map;
var imageMarkers;
var wikipediaMarkers;

var centerLatitude = 55.693;
var centerLongitude = 12.555785;
var startZoom = 15;

// Create marker icons
imageIcon = new GIcon(G_DEFAULT_ICON);
imageIcon.iconSize = new GSize(32,32); 
imageIcon.image = "http://noerrebrolokalhistorie.dk/kort/img/google_maps_darkred.png";
imageIcon.shadow = "http://noerrebrolokalhistorie.dk/kort/img/wikipedia_logo_pin_shadow.png";
imageIcon.iconAnchor = new GPoint(15,31);
imageIcon.shadowSize = new GSize(59,32); 
imageMarkerOptions = { icon:imageIcon };

newImageIcon = new GIcon(G_DEFAULT_ICON);
newImageIcon.iconSize = new GSize(32,32); 
newImageIcon.image = "http://noerrebrolokalhistorie.dk/kort/img/google_maps_darkred_nyt.png";
newImageIcon.shadow = "http://noerrebrolokalhistorie.dk/kort/img/wikipedia_logo_pin_shadow.png";
newImageIcon.iconAnchor = new GPoint(15,31);
newImageIcon.shadowSize = new GSize(59,32); 
newImageMarkerOptions = { icon:newImageIcon };

wikipediaIcon = new GIcon(G_DEFAULT_ICON);
wikipediaIcon.iconSize = new GSize(32,32); 
wikipediaIcon.image = "http://noerrebrolokalhistorie.dk/kort/img/wikipedia_logo_pin.png";
wikipediaIcon.shadow = "http://noerrebrolokalhistorie.dk/kort/img/wikipedia_logo_pin_shadow.png";
wikipediaIcon.iconAnchor = new GPoint(15,31);
wikipediaIcon.shadowSize = new GSize(59,32); 
wikipediaMarkerOptions = { icon:wikipediaIcon };

function addMarker(latitude, longitude, description, myMarkerType) {
    if (myMarkerType == 'imagetype') {
      var marker = new GMarker(new GLatLng(latitude, longitude), imageMarkerOptions);
    }

    if (myMarkerType == 'newimagetype') {
      var marker = new GMarker(new GLatLng(latitude, longitude), newImageMarkerOptions);
    }

    if (myMarkerType == 'wikipediatype') {
      var marker = new GMarker(new GLatLng(latitude, longitude), wikipediaMarkerOptions);
    }

    GEvent.addListener(marker, 'click',
        function() {
           marker.openInfoWindowHtml(description);
        }
    );
    map.addOverlay(marker);
}

function init() {
    if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
        map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
        map.setCenter(new GLatLng(centerLatitude, centerLongitude), startZoom);

	// Placer wikipedia-artikler på kort
        for(id in wikipediaMarkers) {
           description = '<p class="text">Læs om <a target="_blank" href="' + wikipediaMarkers[id].url + '">' + wikipediaMarkers[id].title + '</a><br/>på Wikipedia, den frie encyklopædi.</p>'
           addMarker(wikipediaMarkers[id].lat, wikipediaMarkers[id].lng, description, 'wikipediatype');
        }

	// Placer billeder på kort
        labelTextHeight = 20;
        for(id in imageMarkers) {
	   description = '<div class="mapimg" style="width:' + imageMarkers[id].npixx + 'px;height:' + (imageMarkers[id].npixy+labelTextHeight) + 'px;"><img src="' + imageMarkers[id].url + '" alt="' + imageMarkers[id].text + '" width="' + imageMarkers[id].npixx + '" height="' + imageMarkers[id].npixy + '"><br/>&nbsp;&nbsp;' + imageMarkers[id].text + '</div>'
           if (imageMarkers[id].newimage) {
              addMarker(imageMarkers[id].lat, imageMarkers[id].lng, description, 'newimagetype');
           } else {
              addMarker(imageMarkers[id].lat, imageMarkers[id].lng, description, 'imagetype');
           }
        }
    }
}

window.onload = init;
window.onunload = GUnload;
