google.load("maps","2.x");

var i;

function createMarker(point,name,html,icon) {
  var marker = new google.maps.Marker(point,{icon:icon});
  google.maps.Event.addListener(marker,"click",function() {
    marker.openInfoWindowHtml("<div style=\"color:#000;\"><b>"+name+"</b><br />"+html+"</div>"); 
  });
  i++;
  return marker;
}

function initialize() {
    var copyOSM = new google.maps.CopyrightCollection("<a href=\"http://www.openstreetmap.org/\">OpenStreetMap</a>");
    copyOSM.addCopyright(new GCopyright(1, new GLatLngBounds(new GLatLng(-90,-180), new GLatLng(90,180)), 0, " "));

    var tilesOsmarender = new google.maps.TileLayer(copyOSM, 1, 17, {tileUrlTemplate: 'http://tah.openstreetmap.org/Tiles/tile/{Z}/{X}/{Y}.png'});
    var mapOsmarender     = new google.maps.MapType([tilesOsmarender],     G_NORMAL_MAP.getProjection(), "Osmarender");
    var map           = new google.maps.Map2(document.getElementById("map"), { mapTypes: [mapOsmarender], draggableCursor: 'crosshair', draggingCursor: 'pointer' });
 	
  var mgr = new google.maps.MarkerManager(map);

  var icon=new google.maps.Icon();
  icon.iconSize=new google.maps.Size(32,32);
  icon.shadowSize=new google.maps.Size(56,32);
  icon.iconAnchor=new google.maps.Point(16,16);
  icon.infoWindowAnchor=new google.maps.Point(16,16); 

  var icons=new Array();
  icons["majoitus"]=new google.maps.Icon(icon,"http://maps.google.com/mapfiles/kml/pal2/icon28.png","http://maps.google.com/mapfiles/kml/pal2/icon28s.png");
  icons["hq"]=new google.maps.Icon(icon,"http://maps.google.com/mapfiles/kml/pal3/icon31.png","http://maps.google.com/mapfiles/kml/pal3/icon31s.png");
  icons["fuel"]=new google.maps.Icon(icon,"http://maps.google.com/mapfiles/kml/pal2/icon29.png","http://maps.google.com/mapfiles/kml/pal2/icon29s.png");
  icons["mokki"]=new google.maps.Icon(icon,"http://maps.google.com/mapfiles/kml/pal3/icon56.png","http://maps.google.com/mapfiles/kml/pal3/icon56s.png");
  icons["info"]=new google.maps.Icon(icon,"http://maps.google.com/mapfiles/kml/pal3/icon43.png","http://maps.google.com/mapfiles/kml/pal3/icon43s.png");
  icons["teltta"]=new google.maps.Icon(icon,"http://maps.google.com/mapfiles/ms/micons/campground.png","http://maps.google.com/mapfiles/ms/micons/campground.shadow.png");
  icons["nuotio"]=new google.maps.Icon(icon,"http://maps.google.com/mapfiles/ms/micons/campfire.png","http://maps.google.com/mapfiles/ms/micons/campfire.shadow.png");
  icons["kassi"]=new google.maps.Icon(icon,"http://maps.google.com/mapfiles/ms/micons/shopping.png","http://maps.google.com/mapfiles/ms/micons/shopping.shadow.png");
  icons["wc"]=new google.maps.Icon(icon,"http://maps.google.com/mapfiles/ms/micons/toilets.png","http://maps.google.com/mapfiles/ms/micons/toilets.shadow.png");
  icons["euro"]=new google.maps.Icon(icon,"http://maps.google.com/mapfiles/ms/micons/euro.png","http://maps.google.com/mapfiles/ms/micons/euro.shadow.png");
  icons["bussi"]=new google.maps.Icon(icon,"http://maps.google.com/mapfiles/ms/micons/bus.png","http://maps.google.com/mapfiles/ms/micons/bus.shadow.png");
  icons["taksi"]=new google.maps.Icon(icon,"http://maps.google.com/mapfiles/ms/micons/cabs.png","http://maps.google.com/mapfiles/ms/micons/cabs.shadow.png");
  map.enableContinuousZoom();
  map.enableScrollWheelZoom();
  map.addControl(new google.maps.SmallZoomControl3D());
  map.addControl(new google.maps.ScaleControl());
  map.setCenter(new google.maps.LatLng(65.62932,27.696018),12);  

// kaikilla tasoilla näkyvät markkerit
  google.maps.DownloadUrl("markers_all.xml", function(data,responsecode) {
    var mrkrs=new Array();
    var xml=google.maps.Xml.parse(data);
    var markers=xml.documentElement.getElementsByTagName("marker");
    for (var j=0;j<markers.length;j++) {
      var name=markers[j].getAttribute("name");
      var html=markers[j].getAttribute("html");
      var type=markers[j].getAttribute("type");
      var x=markers[j].getAttribute("x");
      var y=markers[j].getAttribute("y");
      var p=new google.maps.LatLng(y,x);
      var marker=createMarker(p,name,html,icons[type]);
      mrkrs.push(marker);
    }
    mgr.addMarkers(mrkrs,1,17);
    mgr.refresh();
  });

// tasoilla 12-17 näkyvät markkerit
  google.maps.DownloadUrl("markers_12.xml", function(data,responsecode) {
    var mrkrs=new Array();
    var xml=google.maps.Xml.parse(data);
    var markers=xml.documentElement.getElementsByTagName("marker");
    for (var j=0;j<markers.length;j++) {
      var name=markers[j].getAttribute("name");
      var html=markers[j].getAttribute("html");
      var type=markers[j].getAttribute("type");
      var x=markers[j].getAttribute("x");
      var y=markers[j].getAttribute("y");
      var p=new google.maps.LatLng(y,x);
      var marker=createMarker(p,name,html,icons[type]);
      mrkrs.push(marker);
    }
    mgr.addMarkers(mrkrs,12,17);

    mgr.refresh();
  });

// tasoilla 14-17 näkyvät markkerit
  google.maps.DownloadUrl("markers_14.xml", function(data,responsecode) {
    var mrkrs=new Array();
    var xml=google.maps.Xml.parse(data);
    var markers=xml.documentElement.getElementsByTagName("marker");
    for (var j=0;j<markers.length;j++) {
      var name=markers[j].getAttribute("name");
      var html=markers[j].getAttribute("html");
      var type=markers[j].getAttribute("type");
      var x=markers[j].getAttribute("x");
      var y=markers[j].getAttribute("y");
      var p=new google.maps.LatLng(y,x);
      var marker=createMarker(p,name,html,icons[type]);
      mrkrs.push(marker);
    }
    mgr.addMarkers(mrkrs,14,17);

    mgr.refresh();
});

// tasoilla 16-17 näkyvät markkerit
  google.maps.DownloadUrl("markers_16.xml", function(data,responsecode) {
    var mrkrs=new Array();
    var xml=google.maps.Xml.parse(data);
    var markers=xml.documentElement.getElementsByTagName("marker");
    for (var j=0;j<markers.length;j++) {
      var name=markers[j].getAttribute("name");
      var html=markers[j].getAttribute("html");
      var type=markers[j].getAttribute("type");
      var x=markers[j].getAttribute("x");
      var y=markers[j].getAttribute("y");
      var p=new google.maps.LatLng(y,x);
      var marker=createMarker(p,name,html,icons[type]);
      mrkrs.push(marker);
    }
    mgr.addMarkers(mrkrs,16,17);

    mgr.refresh();
});
/* 
google.maps.Event.addListener(map, "mousemove", function(point) {
  document.getElementById("lon").value=point.lng();
  document.getElementById("lat").value=point.lat();
});

google.maps.Event.addListener(map, "click", function(foo,point) {
  document.getElementById("clon").innerHTML=point.lng();
  document.getElementById("clat").innerHTML=point.lat();
});

google.maps.Event.addListener(map, "zoomend", function(oldzoom, zoom) {
  document.getElementById("zoom").value=zoom;
});
*/
}
google.setOnLoadCallback(initialize);

