var viewport_x,viewport_y;
if (self.innerHeight) // all except Explorer
{
	viewport_x = self.innerWidth;
	viewport_y = self.innerHeight;
}
else if (document.documentElement && document.documentElement.clientHeight)
	// Explorer 6 Strict Mode
{
	viewport_x = document.documentElement.clientWidth;
	viewport_y = document.documentElement.clientHeight;
}
else if (document.body) // other Explorers
{
	viewport_x = document.body.clientWidth;
	viewport_y = document.body.clientHeight;
}

function setupPopupDivs() {
  if (!document.getElementsByTagName) return;
  var all_links = document.getElementsByTagName('a');
  for (var i = 0; i < all_links.length; i++) {
    var link = all_links[i];
    if (link.className && (' ' + link.className + ' ').indexOf(' popupdiv ') != -1) {
      addEvent (link, 'click', popupdiv_click, false);
    }
  }
}

function popupdiv_click(e) {
  x = (window.Event) ? e.pageX : event.clientX;
  y = (window.Event) ? e.pageY : event.clientY;

  var target = findTarget(e);
  if (!target) return;

  var popupDiv = findObj(target.name+'_popupdiv');
  var div_width = 400;
  var div_height = 160;
  var new_x,new_y;
  new_x = x - div_width/2;
  if (new_x < 0) new_x = 0;
    if ((new_x + div_width) > viewport_x)
    new_x = viewport_x - div_width;
  new_y = y - div_height/2;
  if (new_y < 0) new_y = 0;
  if ((new_y + div_height) > viewport_y)
    new_y = viewport_y - div_height;
  popupDiv.style.left = new_x +'px';
  popupDiv.style.top = new_y +'px';

  toggleVisibility(target.name+'_popupdiv');
}

// When the page loads, set up the flyouts
addEvent (window, 'load', setupPopupDivs, false);