// ---------------------------------------------------
// gmapevntmap.js
// Mark Needham
// Sept 2009
// ---------------------------------------------------

 
var map;
var InfoWindowOpen=-1;
 
function findID(gmid)
{
  var mymrkr=-1;
  for (var m in myMarkers)
  {
    if (gmid == myMarkers[m].gmid)
    {
      mymrkr=m;
      break;
    }
  }
  return mymrkr;
}
 
function hideinfo()
{
  if (InfoWindowOpen!=-1)
  {
    map.closeInfoWindow();
    InfoWindowOpen=-1;
  }
}
 
function showinfo(gmid)
{
  var mymrkr=findID(gmid);
  if (mymrkr!=-1)
  {
    if (InfoWindowOpen!=gmid)
    {
      hideinfo();
    }
    var latlng=new GLatLng(myMarkers[mymrkr].latitude, myMarkers[mymrkr].longitude);
 
    var mydiv = document.createElement('div');
 
    var sText = '<table style="width:400px;"><tr><td>';
    sText += '<b>' + myMarkers[mymrkr].loc + '</b><br><br>';
 
    // now add the events for this location
    for (var ev in myEvents)
    {
      if (myEvents[ev].gmid == gmid)
      {
        sText+='<b>' + myEvents[ev].date+'</b>: <b>'+myEvents[ev].title+'</b><br>'+myEvents[ev].dets+'<br><br>';
      }
    }
    sText += '</td></tr></table>';
 
    mydiv.innerHTML=sText;
 
    map.openInfoWindowHtml(latlng, mydiv);
    InfoWindowOpen=gmid;
  }
}
 
function addAMarker(lat,long,gmid,icon)
{
 var location = new GLatLng(lat, long);
 var img='';
 
// var myicon = new GIcon();
// myicon.iconSize = new GSize(16,16);
// myicon.iconAnchor = new GPoint(5,5);
// myicon.infoWindowAnchor = new GPoint(5,5);
// if (icon == 0)
// {
//   myicon.image='castle100.gif';
// }
// else
// {
//   myicon.image='abbey100.gif';
// }
// var marker = new GMarker(location, myicon);
 
 var marker = new GMarker(location);
 map.addOverlay(marker);
 
 GEvent.addListener(marker, 'click', 
       function() { 
            showinfo(gmid)
       } 
   );
      ////      marker.openInfoWindowHtml(loc+'<br>'+when+'<br>'+dets);
 
}
 
var markersadded=false;
 
function showMarkers()
{
  if (! markersadded)
  {
    markersadded=true;
    for (m in myMarkers)
    {
       addAMarker(myMarkers[m].latitude, 
                  myMarkers[m].longitude,
                  myMarkers[m].gmid,
                  myMarkers[m].typ);
    }
  }
}

