var map = null;
var geocoder = null;

function load() {
	if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
        GEvent.addListener(map, "moveend", function() {
          var center = map.getCenter();
          document.getElementById("message").innerHTML = center.toString();
        });
		map.addControl(new GOverviewMapControl(),
               new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10, 10)));
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
        map.setCenter(new GLatLng(63, 16), 5);
		geocoder = new GClientGeocoder();
		
		var baseIcon = new GIcon();
baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
baseIcon.iconSize = new GSize(12, 20);
baseIcon.shadowSize = new GSize(26, 20);
baseIcon.iconAnchor = new GPoint(4, 20);
baseIcon.infoWindowAnchor = new GPoint(8, 2);
baseIcon.infoShadowAnchor = new GPoint(12, 20);

function createMarker(point,info,marker) {
  var icon = new GIcon(baseIcon);
  icon.image = "img/peakold.png";
  var marker = new GMarker(point, icon);

  GEvent.addListener(marker, 'click', function() {
    marker.openInfoWindowHtml(info);
  });
  return marker;
}
function createMarker2(point,info,marker) {
  var icon2 = new GIcon(baseIcon);
  icon2.image = "http://www.google.com/mapfiles/marker.png";
  var marker = new GMarker(point, icon2);

  GEvent.addListener(marker, 'click', function() {
    marker.openInfoWindowHtml(info);
  });
  return marker;
}
function createMarker3(point,info,marker) {
  var icon3 = new GIcon(baseIcon);
  icon3.image = "img/peak.png";
  var marker = new GMarker(point, icon3);

  GEvent.addListener(marker, 'click', function() {
    marker.openInfoWindowHtml(info);
  });
  return marker;
}

var hem = new GLatLng(58.5727717, 16.1983015);
map.addOverlay(createMarker2(hem,'Här bor och lever jag när jag<br />  inte är ute på tävlingar.'));

	GDownloadUrl("xml/dataold.php", function(data, responseCode) {
  var xml = GXml.parse(data);
  var markers = xml.documentElement.getElementsByTagName("marker");

  for (var i = 0; i < markers.length; i++) {
    var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                            parseFloat(markers[i].getAttribute("lng")));
	var dat = xml.getElementsByTagName('dat')[i].childNodes[0].nodeValue;
  var name = xml.getElementsByTagName('name')[i].childNodes[0].nodeValue;
  var res = xml.getElementsByTagName('res')[i].childNodes[0].nodeValue;
  var karta = xml.getElementsByTagName('map')[i].childNodes[0].nodeValue;
  var id = xml.getElementsByTagName('id')[i].childNodes[0].nodeValue;
    map.addOverlay(createMarker(point, ''+ dat +' '+ name +'<br /><br /><a href="'+ res +'" target="_blank" title="Resultat från tävlingen.">Resultat</a> <a href="'+ karta +'" target="_blank" title="Karta från tävlingen.">Karta</a> <a href="http://orientering.mickesweb.se/tavling.php?id='+ id +'" title="Min info om tävlingen">Läs mer..</a>'));
  }
});

	GDownloadUrl("xml/data.php", function(data, responseCode) {
  var xml = GXml.parse(data);
  var markers = xml.documentElement.getElementsByTagName("marker");

  for (var i = 0; i < markers.length; i++) {
    var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                            parseFloat(markers[i].getAttribute("lng")));
	var dat = xml.getElementsByTagName('dat')[i].childNodes[0].nodeValue;
  var name = xml.getElementsByTagName('name')[i].childNodes[0].nodeValue;
  var res = xml.getElementsByTagName('res')[i].childNodes[0].nodeValue;
  var karta = xml.getElementsByTagName('map')[i].childNodes[0].nodeValue;
  var id = xml.getElementsByTagName('id')[i].childNodes[0].nodeValue;
    map.addOverlay(createMarker3 (point, ''+ dat +' '+ name +'<br /><br /><a href="'+ res +'" target="_blank" title="Resultat från tävlingen.">Resultat</a> <a href="'+ karta +'" target="_blank" title="Karta från tävlingen.">Karta</a> <a href="http://orientering.mickesweb.se/tavling.php?id='+ id +'" title="Min info om tävlingen">Läs mer..</a>'));
  }
});
	
	}
}

function showAddress(address) {
	if (geocoder) {
        geocoder.getLatLng(
          address,
          function(point) {
            if (!point) {
              alert(address + " not found");
            } else {
              map.setCenter(point, 13);
              var marker = new GMarker(point);
              map.addOverlay(marker);
              marker.openInfoWindowHtml(address);
            }
          }
        );
      }
}
