  function enableMapInfo() {
    h = document.createElement("div");
    h.setAttribute("id", "mapinfo");
    h.style.position = "absolute";
    h.style.display = "none";
    h.style.border = "1px solid #555555";
    document.getElementsByTagName("body")[0].appendChild(h);

    links = document.getElementsByTagName("img");
    for (i = 0; i < links.length; i++) {
      e = links[i];
      if (e.className == "weatherreport") {
        var mapinfo = document.createElement('div');
        mapinfo.style.width = "128px";
        mapinfo.style.height = "128px";
        var zipcode = e.getAttribute("zipcode");

        e.removeAttribute("zipcode");

        s = document.createElement('div');
        s.style.position = "absolute";
        s.style.width = "128px";
        s.style.height = "128px";
        s2 = document.createElement('img');
        s2.src = '/zipcodemarker/width=128&height=128&zipcode=' + zipcode;
        s.appendChild(s2);
        mapinfo.appendChild(s);

        s = document.createElement('img');
        s.style.width = "128px";
        s.style.height = "128px";
        s.src = "/images/kaart2.gif";
        mapinfo.appendChild(s);
        setOpacity(mapinfo);

        e.mapinfo = mapinfo;
        e.onmouseover = ShowMapInfo;
        e.onmouseout = HideMapInfo;
        e.onmousemove = LocateMapInfo;
      }
    }
  }
  function ShowMapInfo(e) {
    d = document.getElementById('mapinfo');
    d.appendChild(this.mapinfo);

    d.timer = setTimeout("unhideMapInfo()", 500);
    LocateMapInfo(e);
  }

  function unhideMapInfo(e) {
    d = document.getElementById('mapinfo');
    d.style.display = "block";
  }

  function HideMapInfo(e) {
    d = document.getElementById('mapinfo');
    d.style.display = "none";
    clearTimeout(d.timer);
    if (d.childNodes.length > 0) d.removeChild(d.firstChild);
  }

  function LocateMapInfo(e){
    var posx = 0, posy = 0;

    if (e == null) e = window.event;
    if (e.pageX || e.pageY) {
      posx = e.pageX; posy = e.pageY;
    }
    else if (e.clientX || e.clientY) {
      if (document.documentElement.scrollTop) {
        posx = e.clientX + document.documentElement.scrollLeft;
        posy = e.clientY + document.documentElement.scrollTop;
      } else {
        posx = e.clientX + document.body.scrollLeft;
        posy = e.clientY + document.body.scrollTop;
      }
    }
    document.getElementById("mapinfo").style.top = (posy +10) + "px";
    document.getElementById("mapinfo").style.left = (posx +10) + "px";
  }

  addEvent(window, 'load', enableMapInfo);

