var map;
var slat;
var slng;

var mapdiv='<div id=\'map\' style=\'width:400px;height:400px\'></div>';
var mapcaption='Event location';
var mapsearchcaption='Choose center position';
var mapoverstr='Click to see event location on map';
var fdateoverstr='Choose start date';
var withinoverstr='Within a box of approximately 2X * 2X km<br>and not within radius of X km.';
var tdateoverstr='Choose end date';
var cplaceoverstr='Choose center position on map.';
var mjpgoverstr='Click to see relevant orienteering maps';
var tjpgoverstr='Click to see terrain/scenery pictures';
var evoverstr='Click for detailed info about event including<br>possibility to search for events in vicinity.';
var changeoverstr='Click to change info about this event';
var lchangeoverstr='Event data changed and waiting for confirmation.<br>No further changes possible until confirmation.';
var newoverstr='Click to add a new event. Note that all new<br>events and modifications are checked<br>before shown in the calendar. Thus it can<br> take some time before they are seen below.';
var hoverstr='Click to open event homepage in new window';


function showmap(Lat,Lon,Zoom) 
{
  var mapobj = document.getElementById("map");
  map = new GMap2(mapobj);
  map.addControl(new GSmallMapControl()); 
  map.addControl(new GMapTypeControl());
  map.setCenter(new GLatLng(Lat, Lon), Zoom);

  marker=new GMarker(new GLatLng(parseFloat(Lat),parseFloat(Lon)));
  map.addOverlay(marker);

}

function mapclick(Lat,Lon)
{
  overlib(mapdiv,FGCOLOR,'#ffffff', STICKY,CENTER, OFFSETY,2,CLOSECLICK,CAPTION,mapcaption,SHADOW,DRAGGABLE,SHADOWX,8,SHADOWY,8);
  showmap(Lat,Lon,8);
  return false;
}


function mapsearch()
{
  overlib(mapdiv,FGCOLOR,'#ffffff', STICKY,CENTER, OFFSETY,2,CLOSECLICK,CAPTION,mapsearchcaption,SHADOW,DRAGGABLE,SHADOWX,8,SHADOWY,8);

  var mapobj = document.getElementById("map");
  map = new GMap2(mapobj);
  map.addControl(new GSmallMapControl()); 
  map.addControl(new GMapTypeControl());


  // Find lat,lon in s.latlon  
  latlonstr=document.s.latlng.value;
  ll = latlonstr.split(",");
  Lat=parseFloat(ll[0]);
  Lon=parseFloat(ll[1]);
  if (Lat && Lon)
  {
    Zoom=4;
    map.setCenter(new GLatLng(Lat, Lon), Zoom);
    addmarker(new GLatLng(Lat, Lon));
  }
  else
  {
    Zoom=2;Lat=30;Lon=10;
    map.setCenter(new GLatLng(Lat, Lon), Zoom);
  }

  GEvent.addListener(map, "click", function(clickedmarker, point) {
    map.clearOverlays();
    if (point)
    { addmarker(point); }
    else
    { document.s.latlng.value=''; } 
  });

  return false;
}



function addmarker(point)
{
    //map.addOverlay(new GMarker(point));
    marker=new GMarker(point,{draggable: true});
    document.s.latlng.value=point.lat().toFixed(3) + "," + point.lng().toFixed(3);
    GEvent.addListener(marker, "dragend", function() {
      point=marker.getPoint();
    document.s.latlng.value=point.lat().toFixed(3) + "," + point.lng().toFixed(3);
    });
    map.addOverlay(marker);
}


function jpgclick(base,imagesstr)
{
  //imagediv="<div style=\'width:410px;overflow:auto;\'>";

  imagediv="";
  images = imagesstr.split("|");

  for (var i=0; i<images.length; i++) 
  {
    image=images[i];
    imagediv+="<img alt=\"Loading image...\" src=\"" + base + image + "\"><br>";
  }
  imagediv+="</body></html>";
  //imagediv+="</div>";
  thiscaption="Additional event information";
  overlib(imagediv,FGCOLOR,'#ffffff', STICKY,CENTER, OFFSETY,2,CLOSECLICK,CAPTIONPADDING,4,CAPTION,thiscaption,DRAGGABLE,SHADOW,SHADOWX,8,SHADOWY,8);
  return false;
}

function cdistance(lat,lng)
{ 
  var point=new GLatLng(lat,lng);
  var tglobpoint=new GLatLng(slat,slng);
  var distance=point.distanceFrom(tglobpoint)/1000;
  return tooltip("Distance from search point: <b>" +distance.toFixed(1)+ " km</b>.<br>If you go to the page for this event, you<br>can search for other events close to<br>this event in place and time."); 
}

function withinover()
{ return tooltip(withinoverstr); }
function cplaceover()
{ return tooltip(cplaceoverstr); }
function fdateover()
{ return tooltip(fdateoverstr); }
function tdateover()
{ return tooltip(tdateoverstr); }
function mapover()
{ return tooltip(mapoverstr); }
function mjpgover()
{ return tooltip(mjpgoverstr); }
function hover()
{ return tooltip(hoverstr); }
function tjpgover()
{ return tooltip(tjpgoverstr); }
function evover()
{ return tooltip(evoverstr); }
function changeover()
{ return tooltip(changeoverstr); }
function lchangeover()
{ return tooltip(lchangeoverstr); }
function newover()
{ return tooltip(newoverstr); }

function tooltip(txt)
{ return overlib(txt,FGCOLOR,'#ffffcc', TEXTPADDING,1,TEXTSIZE,'10px',OFFSETX,-5, OFFSETY,20,WRAP); }




