var curSpotOpen = "";
var center=false;
var leftDivMargin=200;
var topDivMargin=195;
var imagemapUseMouseAsPopupLocation = false;

function closeHotspotDelayed(id) {
  return setTimeOut("closeHotspot('"+id+"')", 500);
}

function closeHotspot(id) {
  setEltDisplay(getElt(id),"none");
}

function toggleHotspot(area,id,show, evt) {
  if(curSpotOpen!="") {
    setEltDisplay(getElt(curSpotOpen),"none");
  }

  if(area!=null) {
    var map=area.parentNode;
    var x = 0;
    var y = 0;
    
    if (imagemapUseMouseAsPopupLocation) {
      x  = (evt && evt.clientX ? evt.clientX : event.clientX ? event.clientX : null) + (window.pageXOffset ? window.pageXOffset : document.body.scrollLeft ? document.body.scrollLeft : document.documentElement.scrollLeft ? document.documentElement.scrollLeft : null);
      y = (evt && evt.clientY ? evt.clientY : event.clientY ? event.clientY : null) + (window.pageYOffset ? window.pageYOffset : document.body.scrollTop ? document.body.scrollTop : document.documentElement.scrollTop ? document.documentElement.scrollTop : null);
    }
    else {
      x=getEltLeft(getElt('p_'+map.id), "x");
      y=Element.cumulativeOffset('p_'+map.id)[1];

      var map=area.parentNode;

      var coords=(""+area.coords).split(",");
      var minX=10000;
      var minY=10000;
      var maxX=0;
      var maxY=0;
      var corInd;
      var shape=area.shape.toLowerCase();

      if (shape=="poly" || shape=="rect") {
        for (corInd=0;corInd<coords.length;corInd+=2) {
          var curX=parseInt(coords[corInd]);
          if (curX<minX) minX=curX;
          if (curX>maxX) maxX=curX;
        }
        for (corInd=1;corInd<coords.length;corInd+=2) {
          var curY=parseInt(coords[corInd]);
          if (curY<minY) minY=curY;
          if (curY>maxY) maxY=curY;
        }
        x+=(minX+maxX)/2;
        y+=(minY+maxY)/2;
      }
      else if (shape=="circle") {
        x+=parseInt(coords[0]);
        y+=parseInt(coords[1]);
      }
    } 
      
    setEltLeft(getElt(id),x);
    setEltTop(getElt(id),y);
  }
  
  setEltDisplay(getElt(id),show?"block":"none");
  
  
  if (show) {
    curSpotOpen = id;
  } else {
    curSpotOpen = "";
  }
  
  return false;
}
