var refmap_locations = [
  { x: 360.47757754801, y: 281.32084462151, name: 'Čechočovice' },
  { x: 262.28360413589, y: 142.23658964143, name: 'Čelákovice' },
  { x: 257.86035893648, y: 187.04919521912, name: 'Čerčany' },
  { x: 222.32102806499, y: 172.52835059761, name: 'Černošice' },
  { x: 293.74971048744, y: 183.18151394422, name: 'Červený Hrádek' },
  { x: 236.34631905465, y: 314.44339442231, name: 'České Budějovice' },
  { x: 326.57920384047, y: 298.65652589641, name: 'Dačice' },
  { x: 326.94992466765, y: 298.91611155379, name: 'Dačice' },
  { x: 326.94992466765, y: 298.91611155379, name: 'Dačice' },
  { x: 311.15853471196, y: 258.81520318725, name: 'Dobrá Voda' },
  { x: 246.02646085672, y: 168.41993625498, name: 'Dobřejovice' },
  { x: 468.63208567208, y: 282.62312350598, name: 'Dražovice' },
  { x: 250.83548153619, y: 141.38967330677, name: 'Dřevčice' },
  { x: 388.39737223043, y: 285.92812749004, name: 'Hartvíkovice' },
  { x: 240.61619497784, y: 139.61752988048, name: 'Hovorčovice' },
  { x: 359.30425553914, y: 154.19058167331, name: 'Hradiště na Písku' },
  { x: 369.78323485968, y: 297.04535458167, name: 'Jaroměřice nad Rokytnou' },
  { x: 341.3468774003, y: 253.25658964143, name: 'Jihlava' },
  { x: 341.43720531758, y: 253.29864541833, name: 'Jihlava' },
  { x: 396.07618611521, y: 289.79435856574, name: 'Kladeruby nad Oslavou' },
  { x: 396.06019054653, y: 289.74070119522, name: 'Kladeruby nad Oslavou' },
  { x: 380.85499113737, y: 275.55775298805, name: 'Kojatín' },
  { x: 468.25477843427, y: 290.10035059761, name: 'Křižanovice' },
  { x: 429.90210930576, y: 267.44968924303, name: 'Kuřim' },
  { x: 332.53802363368, y: 214.69289243028, name: 'Lučice' },
  { x: 345.97241949778, y: 252.97525099602, name: 'Malý Beranov' },
  { x: 322.68475332349, y: 283.18725099602, name: 'Mrákotín' },
  { x: 233.61013589365, y: 203.46109960159, name: 'Nahoruby' },
  { x: 375.84461447563, y: 284.01241434263, name: 'Okrašovice' },
  { x: 358.21843870015, y: 275.15459760956, name: 'Okříšky' },
  { x: 359.11983604136, y: 160.12189641434, name: 'Pardubice' },
  { x: 306.37585967504, y: 248.22149800797, name: 'Pelhřimov' },
  { x: 306.82279468242, y: 248.18814342629, name: 'Pelhřimov' },
  { x: 359.91208714919, y: 275.7651314741, name: 'Petrovice' },
  { x: 229.12573116691, y: 142.74850996016, name: 'Praha' },
  { x: 231.62198079764, y: 152.98256573705, name: 'Praha' },
  { x: 231.62198079764, y: 152.98256573705, name: 'Praha' },
  { x: 253.27621713442, y: 166.9276812749, name: 'Říčany u Prahy' },
  { x: 357.09874889217, y: 286.0905498008, name: 'Římov' },
  { x: 390.95384047267, y: 300.02551394422, name: 'Rouchovany' },
  { x: 260.50621418021, y: 159.87971314741, name: 'Škvorec' },
  { x: 376.87774002954, y: 285.39735458167, name: 'Slavičky' },
  { x: 565.75247415066, y: 300.66215139442, name: 'Štítná nad Vláří' },
  { x: 182.5287577548, y: 272.83137848606, name: 'Strakonice' },
  { x: 365.64320531758, y: 264.46372908366, name: 'Svatoslav' },
  { x: 368.6070901034, y: 278.83665338645, name: 'Třebíč' },
  { x: 368.76328212703, y: 279.57335458167, name: 'Třebíč' },
  { x: 368.76328212703, y: 279.57335458167, name: 'Třebíč' },
  { x: 464.89947267356, y: 200.04878087649, name: 'Újezd u Mohelnice' },
  { x: 383.25620827179, y: 289.81466135458, name: 'Valeč' },
  { x: 406.76687149188, y: 283.83113944223, name: 'Vysoké Popovice' },
  { x: 406.70100738552, y: 284.19803984064, name: 'Vysoké Popovice' },
  { x: 374.30527621861, y: 228.80478087649, name: 'Žďár nad Sázavou' },
];

var refmap_scale = {
  lat: 0.76699807692308, /* km / px */
  lon: 0.76202354788069, /* km / px */
  radius: 20 /* km */
};

var refmap_obj = document.getElementsByName('map')[0];
var refmap_tip = document.getElementById('map_tip');
var refmap_pos = { x: 0, y: 0 };
var refmap_timeout;

function refmap_find_locations(pos) {
  var ret = [];
  for (var i in refmap_locations) {
    var loc = refmap_locations[i];
    var dist_x = (loc.x - pos.x) * refmap_scale.lon;
    var dist_y = (loc.y - pos.y) * refmap_scale.lat;
    var dist = Math.sqrt (dist_x*dist_x + dist_y*dist_y);
    if (dist <= refmap_scale.radius)
      ret.push(loc.name);
  }
  return ret;
}

function refmap_showtip() {
  refmap_timeout = null;
  var locs = refmap_find_locations(refmap_pos);
  if (locs.length == 0) {
    var txt = 'Klikněte poblíž vlaječky pro zobrazení více informací.';
  } else if (locs.length == 1) {
    var txt = locs[0];
  } else {
    var txt = '- ' + locs.join('<br />- ');
  }
  refmap_tip.innerHTML = txt;
  refmap_tip.style.left = (refmap_pos.x + 5) + 'px';
  refmap_tip.style.top  = (refmap_pos.y + 2) + 'px';
  refmap_tip.style.display = txt == '' ? 'none' : 'block';
}

function refmap_leave(ev) {
  if (refmap_timeout) {
    clearTimeout(refmap_timeout); 
  }
  refmap_tip.style.display = 'none';
}

function refmap_move(ev) {
  ev = ev || window.event;
  refmap_pos.x = ev.layerX || ev.offsetX;
  refmap_pos.y = ev.layerY || ev.offsetY;
  if (refmap_timeout) {
    clearTimeout(refmap_timeout); 
  }
  refmap_tip.style.display = 'none';
  refmap_timeout = setTimeout('refmap_showtip()',400);
}

refmap_obj.onmousemove = refmap_move;
refmap_obj.onmouseout = refmap_leave;
