function initialize(y) {
  if (GBrowserIsCompatible()) {
    var map = new GMap2(document.getElementById("map"));
    var center = new GLatLng(65.0, -19.0);
    map.setCenter(center, 6);
    map.addControl(new GSmallMapControl());
    map.addControl(new GMapTypeControl());
    map.removeMapType(G_HYBRID_MAP);
    map.addMapType(G_PHYSICAL_MAP);
    map.setMapType(G_PHYSICAL_MAP);

    var tinyIcon = new GIcon();
    tinyIcon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
    tinyIcon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
    tinyIcon.iconSize = new GSize(12, 20);
    tinyIcon.shadowSize = new GSize(22, 20);
    tinyIcon.iconAnchor = new GPoint(6, 20);
    tinyIcon.infoWindowAnchor = new GPoint(5, 1);
    markerOptions = { icon:tinyIcon };
    
    function createMarker(index) {
      var point = new GLatLng(parseFloat(markers[index].getAttribute("lat")), parseFloat(markers[index].getAttribute("lon")));
      var marker = new GMarker(point, markerOptions);
      var loc = markers[index].getAttribute("loc");
      var wcamps = markers[index].getElementsByTagName("workcamp");

      var text = "<table cellpadding='2' id='maplist'>";
      for (var j=0;j<wcamps.length;j++){ 
        text = text+"<tr>";
        text = text+"<td>"+wcamps[j].getAttribute("code")+"</td>";
        text = text+"<td><a href='?p=1&s=3&d="+wcamps[j].getAttribute("id")+"'>"+wcamps[j].getAttribute("name")+"</a></td>";
        text = text+"<td>"+wcamps[j].getAttribute("date")+"</td>";
        text = text+"</tr>";
      }
      text = text+"</table>";

      GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml("<h2>" + loc + "</h2>" + text);
      });
      GEvent.addListener(marker, "infowindowclose", function (){
        if(map.getZoom() <= 6)  map.panTo(center);
      });
      return marker;
    }
    
    file = "locations"+y+".xml";
    GDownloadUrl(file, function(data) {
      var xml = GXml.parse(data);
      markers = xml.documentElement.getElementsByTagName("marker");
      for (var i = 0; i < markers.length; i++) {
        map.addOverlay(createMarker(i));
      }
    });
  }
} 
function editmap(id) {
  if (GBrowserIsCompatible()) {
    var map = new GMap2(document.getElementById("mapE"));
    var center = new GLatLng(65.0, -19.0);
    map.setCenter(center, 6);
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.removeMapType(G_HYBRID_MAP);
    map.addMapType(G_PHYSICAL_MAP);
    map.setMapType(G_PHYSICAL_MAP);

    var tinyIcon = new GIcon();
    tinyIcon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
    tinyIcon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
    tinyIcon.iconSize = new GSize(12, 20);
    tinyIcon.shadowSize = new GSize(22, 20);
    tinyIcon.iconAnchor = new GPoint(6, 20);
    tinyIcon.infoWindowAnchor = new GPoint(5, 1);
    markerOptions = { icon:tinyIcon };

    function createMarker(index) {
      var point = new GLatLng(parseFloat(markers[index].getAttribute("lat")), parseFloat(markers[index].getAttribute("lon")));
      //var point = new GLatLng(63 + 3 * Math.random(), -22 + 6 * Math.random());
      var marker = new GMarker(point, markerOptions);
      var loc = markers[index].getAttribute("loc");
      var id = markers[index].getAttribute("id");
      var url = "<a href='?p=2&s=4&d="+id+"'>Edit this location</a>"

      GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml("<h2>" + loc + "</h2>" + url);
      });
      GEvent.addListener(marker, "infowindowclose", function (){
        if(map.getZoom() <= 6)  map.panTo(center);
      });
      return marker;
    }
    GDownloadUrl("locationsAll.xml", function(data) {
      var xml = GXml.parse(data);
      markers = xml.documentElement.getElementsByTagName("marker");
      for (var i = 0; i < markers.length; i++) {
        idl = markers[i].getAttribute("id");
        if(id == idl){
          var lat = parseFloat(markers[i].getAttribute("lat"));
          var lon = parseFloat(markers[i].getAttribute("lon"));
          if(isNaN(lat) || isNaN(lon))
            point = map.getCenter();
          else
            point = new GLatLng(lat, lon);
          document.getElementById('lat').value = point.lat();
          document.getElementById('lon').value = point.lng();
          map.setCenter(point, map.getZoom());
          markerE = new GMarker(point, {draggable: true});
          GEvent.addListener(markerE, "dragstart", function() {
            map.closeInfoWindow();
          });
          GEvent.addListener(markerE, "dragend", function() {
            map.panTo(markerE.getPoint());
            map.setCenter(markerE.getPoint(), map.getZoom()+1);
            point = markerE.getLatLng();
            document.getElementById('lat').value = point.lat();
            document.getElementById('lon').value = point.lng();
          });
          map.addOverlay(markerE);
          markerE.openInfoWindowHtml("Bring me to right position");
        }
        else{
          map.addOverlay(createMarker(i));
        }
      }
    });
    
   if((id+'') == 'undefined'){
      markerE = new GMarker(center, {draggable: true});
      document.getElementById('lat').value = center.lat();
      document.getElementById('lon').value = center.lng();
      GEvent.addListener(markerE, "dragstart", function() {
        map.closeInfoWindow();
      });
      GEvent.addListener(markerE, "dragend", function() {
        map.panTo(markerE.getPoint());
        map.setCenter(markerE.getPoint(), map.getZoom()+1);
        point = markerE.getLatLng();
        document.getElementById('lat').value = point.lat();
        document.getElementById('lon').value = point.lng();
      });
      map.addOverlay(markerE);
      markerE.openInfoWindowHtml("Bring me to right position");
    }
    
  }
} 
function editCUCmap(id) {
  if (GBrowserIsCompatible()) {
    var map = new GMap2(document.getElementById("mapCUCE"));
    var center = new GLatLng(65.0, -19.0);
    map.setCenter(center, 6);
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.removeMapType(G_HYBRID_MAP);
    map.addMapType(G_PHYSICAL_MAP);
    map.setMapType(G_PHYSICAL_MAP);

    var tinyIcon = new GIcon();
    tinyIcon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
    tinyIcon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
    tinyIcon.iconSize = new GSize(12, 20);
    tinyIcon.shadowSize = new GSize(22, 20);
    tinyIcon.iconAnchor = new GPoint(6, 20);
    tinyIcon.infoWindowAnchor = new GPoint(5, 1);
    markerOptions = { icon:tinyIcon };

    function createMarker(index) {
      var point = new GLatLng(parseFloat(markers[index].getAttribute("lat")), parseFloat(markers[index].getAttribute("lon")));
      //var point = new GLatLng(63 + 3 * Math.random(), -22 + 6 * Math.random());
      var marker = new GMarker(point, markerOptions);
      var loc = markers[index].getAttribute("loc");
      var id = markers[index].getAttribute("id");
      var url = "<a href='?p=6&s=4&d="+id+"'>Edit this location</a>"

          GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml("<h2>" + loc + "</h2>" + url);
          });
          GEvent.addListener(marker, "infowindowclose", function (){
            if(map.getZoom() <= 6)  map.panTo(center);
          });
          return marker;
    }
    GDownloadUrl("../locationsCUC.xml", function(data) {
      var xml = GXml.parse(data);
      markers = xml.documentElement.getElementsByTagName("marker");
      //alert(markers.length);
      for (var i = 0; i < markers.length; i++) {
        idl = markers[i].getAttribute("id");
        if(id == idl){
          var lat = parseFloat(markers[i].getAttribute("lat"));
          var lon = parseFloat(markers[i].getAttribute("lon"));
          if(isNaN(lat) || isNaN(lon))
          point = map.getCenter();
          else
            point = new GLatLng(lat, lon);
          document.getElementById('lat').value = point.lat();
          document.getElementById('lon').value = point.lng();
          map.setCenter(point, map.getZoom());
          markerE = new GMarker(point, {draggable: true});
          GEvent.addListener(markerE, "dragstart", function() {
            map.closeInfoWindow();
          });
          GEvent.addListener(markerE, "dragend", function() {
            map.panTo(markerE.getPoint());
            map.setCenter(markerE.getPoint(), map.getZoom()+1);
            point = markerE.getLatLng();
            document.getElementById('lat').value = point.lat();
            document.getElementById('lon').value = point.lng();
          });
          map.addOverlay(markerE);
          markerE.openInfoWindowHtml("Bring me to right position");
        }
        else{
          map.addOverlay(createMarker(i));
        }
      }
    });
    
    if((id+'') == 'undefined'){
      markerE = new GMarker(center, {draggable: true});
      document.getElementById('lat').value = center.lat();
      document.getElementById('lon').value = center.lng();
      GEvent.addListener(markerE, "dragstart", function() {
        map.closeInfoWindow();
      });
      GEvent.addListener(markerE, "dragend", function() {
        map.panTo(markerE.getPoint());
        map.setCenter(markerE.getPoint(), map.getZoom()+1);
        point = markerE.getLatLng();
        document.getElementById('lat').value = point.lat();
        document.getElementById('lon').value = point.lng();
      });
      map.addOverlay(markerE);
      markerE.openInfoWindowHtml("Bring me to right position");
    }
    
  }
} 

function detmap(id,y) {
  if (GBrowserIsCompatible()) {
    var map = new GMap2(document.getElementById("dmap"));
    var center = new GLatLng(65.0, -19.0);
    map.setCenter(center, 5);
    map.removeMapType(G_HYBRID_MAP);
    map.addMapType(G_PHYSICAL_MAP);
    map.setMapType(G_PHYSICAL_MAP);

    var tinyIcon = new GIcon();
    tinyIcon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
    tinyIcon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
    tinyIcon.iconSize = new GSize(12, 20);
    tinyIcon.shadowSize = new GSize(22, 20);
    tinyIcon.iconAnchor = new GPoint(6, 20);
    tinyIcon.infoWindowAnchor = new GPoint(5, 1);
    markerOptions = { icon:tinyIcon };
    
    function createMarker(place) {
      var point = new GLatLng(parseFloat(place.getAttribute("lat")), parseFloat(place.getAttribute("lon")));
      var marker = new GMarker(point, markerOptions);
      var loc = place.getAttribute("loc");

      GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml("<h2>" + loc + "</h2>");
      });
      GEvent.addListener(marker, "infowindowclose", function (){
        map.panTo(center);
      });
      return marker;
    }
    file = "locations"+y+".xml";
    GDownloadUrl(file, function(data) {
      var xml = GXml.parse(data);
      wcamps = xml.documentElement.getElementsByTagName("workcamp");
      for (var i = 0; i < wcamps.length; i++) {
        idw = wcamps[i].getAttribute("id");
        if(id == idw){
          loc = wcamps[i].parentNode;
          map.addOverlay(createMarker(loc));
        }
      }
    });
  }
} 
function coast() {
  if (GBrowserIsCompatible()) {
    var map = new GMap2(document.getElementById("coast_map"));
    var center = new GLatLng(65.0, -19.0);
    map.setCenter(center, 6);
    map.addControl(new GSmallMapControl());
    map.addControl(new GMapTypeControl());
    map.removeMapType(G_HYBRID_MAP);
    map.addMapType(G_PHYSICAL_MAP);
    map.setMapType(G_PHYSICAL_MAP);

    var tinyIcon = new GIcon();
    tinyIcon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
    tinyIcon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
    tinyIcon.iconSize = new GSize(12, 20);
    tinyIcon.shadowSize = new GSize(22, 20);
    tinyIcon.iconAnchor = new GPoint(6, 20);
    tinyIcon.infoWindowAnchor = new GPoint(5, 1);
    markerOptions = { icon:tinyIcon };
    
    function createMarker(index) {
      var point = new GLatLng(parseFloat(markers[index].getAttribute("lat")), parseFloat(markers[index].getAttribute("lon")));
      var marker = new GMarker(point, markerOptions);
      var loc = markers[index].getAttribute("loc");

      GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml("<h2>" + loc + "</h2>");
      });
      GEvent.addListener(marker, "infowindowclose", function (){
        if(map.getZoom() <= 6)  map.panTo(center);
      });
      return marker;
    }
    
    GDownloadUrl("locationsCUC.xml", function(data) {
      var xml = GXml.parse(data);
      markers = xml.documentElement.getElementsByTagName("marker");
      for (var i = 0; i < markers.length; i++) {
        map.addOverlay(createMarker(i));
      }
    });
  }
} 

function contact(lat,lon,info,change) {
  if (GBrowserIsCompatible()) {
    var map = new GMap2(document.getElementById("officemap"));
    var point = new GLatLng(lat, lon);
    var center = new GLatLng(64.137934, -21.935437);
    if(center.distanceFrom(point)>1600) map.setCenter(point, 13); //ak je dalej od stredu Reykjaviku tak bude v strede mapy
    else map.setCenter(center, 13);
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.removeMapType(G_HYBRID_MAP);
    map.addMapType(G_PHYSICAL_MAP);
    map.setMapType(G_SATELLITE_MAP);

    var wficon = new GIcon();
    wficon.image = "./img/icon.png";
    wficon.shadow = "./img/shadow.png";
    wficon.iconSize = new GSize(26, 36);
    wficon.shadowSize = new GSize(55, 36);
    wficon.iconAnchor = new GPoint(13, 36);
    wficon.infoWindowAnchor = new GPoint(14, 2);

    if(change){
      wficon.image = "../img/icon.png";
      wficon.shadow = "../img/shadow.png";
      var marker = new GMarker(point,{icon:wficon, draggable:true});
      GEvent.addListener(marker, "dragstart", function() {
        map.closeInfoWindow();
      });
      GEvent.addListener(marker, "dragend", function() {
        map.panTo(marker.getPoint());
        map.setCenter(marker.getPoint(), map.getZoom()+1);
        point = marker.getLatLng();
        document.getElementById('lat').value = point.lat();
        document.getElementById('lon').value = point.lng();
      });
    }
    else{
      var marker = new GMarker(point,wficon);
      var text = info+"";
      GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml(text);
      });
      GEvent.addListener(marker, "infowindowclose", function (){
        if(map.getZoom() <= 13)  map.panTo(center);
      });
    }
    map.addOverlay(marker);
    if(change) marker.openInfoWindowHtml("Bring me to right position");
  }
} 
function parseXML(subor){

  try //Internet Explorer
  {
    xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  }
  catch(e)
  {
    try //Firefox, Mozilla, Opera, etc.
    {
      xmlDoc=document.implementation.createDocument("","",null);
    }
    catch(e)
    {
      alert(e.message);
      return;
    }
  }
//  var url="getxml.php";
//  url=url+"?q="+subor;
  xmlDoc.async=false;
  xmlDoc.load(subor);

  return xmlDoc;
}

function fotky(xml){ return xml.getElementsByTagName("entry");}
  
//swf = xmlDoc.getElementsByTagName("link")[3].getAttribute('href');
  
//  jedna(xmlDoc.getElementsByTagName("entry"),'P1010101.JPG');
//  vsetky(fotky(parseXml('OFK.xml')));

function vsetky(fotky,div){
  //vsetky fotky albumu
  for(var i=0;i<fotky.length;i++){
    con = fotky[i].getElementsByTagName("thumbnail")[1].getAttribute('url');//0-male,1-stredne,2-velke
    con2 = fotky[i].getElementsByTagName("content")[0].getAttribute('src');
        //.childNodes[4].getAttribute('url');//3-male,4-stredne,5-velke,6-original radsej vybrat cez thumbnail
    obr = document.createElement("img");
    obr.src = con;
    //if(i == 1) obr.src = con2;
    obr.title = fotky[i].getElementsByTagName("title")[0].childNodes[0].nodeValue;
    document.getElementById(div).appendChild(obr);
  }
}

function jedna(fotky,meno,img){
  //vsetky fotky albumu
  for(var i=0;i<fotky.length;i++){
    if(meno == fotky[i].getElementsByTagName("title")[0].childNodes[0].nodeValue){
      con = fotky[i].getElementsByTagName("thumbnail")[2].getAttribute('url');
      obr = document.getElementById(img);
      obr.src = con;
      obr.title = meno;
    }
  }
}
function flash(fotky){ return fotky.getElementsByTagName("link")[3].getAttribute('href');}

