
function
MiniMap(container, data)
{
  if (data.pics.length == 0)
    return; // this will not fly.
  this.div = document.createElement("div");
  this.div.style.width="286px";
  this.div.style.height="448px";
  this.div.style.position="relative";
  container.appendChild(this.div);
  enablePixboxGMapExtensionPreloader(this.div);
  var mm = this;
  pbu.$(document).ready(function() {
    pbu.loadGoogleMaps("ABQIAAAAu0Hnvl37U5F_PXtWVgHSHhTBnsZ7HVIADijP4vk6Nlng2RwsfRSoRUyyRudd4FmkhezdPuJb61AAcg", function() {
      pbu.$(window).bind("unload", function() {
        GUnload();
      });
      mm.gmap = new google.maps.Map2(mm.div, {disableDefaultUI:true});
      mm.gmap.disableDoubleClickZoom();
      mm.gmap.disableScrollWheelZoom();
      initPixboxGMapExtension();
      new PixboxGMapExtension(mm.gmap);
      // hack: the div sometimes leaks outside of it's container due to being too large.
      // fix this by allowing the text to wrap. (google should fix this)
      window.setInterval(function () {
        pbu.$("span", mm.div).css({"white-space":"normal"});
      }, 1000);
      var m = [0,63.74,17.05,4];
      var center = new GLatLng(parseFloat(m[1]), parseFloat(m[2]));
      mm.gmap.setCenter(center, parseInt(m[3]));
      mm.gmap.pixbox.changeExtensionState(mm.gmap.pixbox.STATE_MINIMAP_MODE);
      mm.applyUpdate(data);
    });
  });
}

MiniMap.prototype.applyUpdate = function(json) {
  for (var i = 0; i < json.pics.length; i++) {
    this.gmap.pixbox.imm.add(json.pics[i].pid, json.pics[i].lat, json.pics[i].lng);
  }
}

