// ----- Variables -------------------------------------------------------------

var popup_dragging = false;
var popup_target;
var popup_mouseX;
var popup_mouseY;
var popup_mouseposX;
var popup_mouseposY;
var popup_oldfunction;

function popup_display(x)
{
  var win = window.open();
  for (var i in x) win.document.write(i+' = '+x[i]+'<br>');
}

// ----- popup_mousedown -------------------------------------------------------

function popup_mousedown(e)
{
  var ie = navigator.appName == "Microsoft Internet Explorer";

  if ( ie && window.event.button != 1) return;
  if (!ie && e.button            != 0) return;

  popup_dragging = true;
  popup_target   = this['target'];
  popup_mouseX   = ie ? window.event.clientX : e.clientX;
  popup_mouseY   = ie ? window.event.clientY : e.clientY;

  if (ie)
       popup_oldfunction      = document.onselectstart;
  else popup_oldfunction      = document.onmousedown;

  if (ie)
       document.onselectstart = new Function("return false;");
  else document.onmousedown   = new Function("return false;");
}

// ----- popup_mousemove -------------------------------------------------------

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
}

function popup_mousemove(e)
{
  if (!popup_dragging) return;

  var ie      = navigator.appName == "Microsoft Internet Explorer";
  var element = document.getElementById(popup_target);

  var mouseX = ie ? window.event.clientX : e.clientX;
  var mouseY = ie ? window.event.clientY : e.clientY;

  var scrollt=typeof pageYOffset=='number'? pageYOffset : iecompattest().scrollTop? iecompattest().scrollTop : 0;
  var scrolll=typeof pageXOffset=='number'? pageXOffset : iecompattest().scrollLeft? iecompattest().scrollLeft : 0;
  var leftlim=window.innerWidth? window.innerWidth-element.offsetWidth : iecompattest().clientWidth-element.offsetWidth;
  var leftset=element.offsetLeft+mouseX-popup_mouseX;
  var toplim=window.innerHeight? window.innerHeight-element.offsetHeight : iecompattest().clientHeight-element.offsetHeight;
  var topset=element.offsetTop +mouseY-popup_mouseY;

  element.style.left = Math.min(leftset, leftlim+scrolll)+'px';
  element.style.top  = Math.min(topset, toplim+scrollt)+'px';

  popup_mouseX = ie ? window.event.clientX : e.clientX;
  popup_mouseY = ie ? window.event.clientY : e.clientY;
  
  shimpopup(element);
}

// ----- popup_mouseup ---------------------------------------------------------

function popup_mouseup(e)
{
  if (!popup_dragging) return;
  popup_dragging = false;

  var ie      = navigator.appName == "Microsoft Internet Explorer";
  var element = document.getElementById(popup_target);

  if (ie)
       document.onselectstart = popup_oldfunction;
  else document.onmousedown   = popup_oldfunction;
}

// ----- popup_exit ------------------------------------------------------------

function popup_exit(e)
{
  var ie      = navigator.appName == "Microsoft Internet Explorer";
  var element = document.getElementById(popup_target);

  popup_mouseup(e);
  element.style.visibility = 'hidden';
  element.style.display    = 'none';
  document.getElementById('body').style.display='none';
  nopopupshim();
}


// ----- popup_show ------------------------------------------------------------

function popup_show(id, drag_id, exit_id)
{
  element      = document.getElementById(id);
  drag_element = document.getElementById(drag_id);
  exit_element = document.getElementById(exit_id);

  element.style.position  ="absolute";
  element.style.visibility="visible";
  element.style.display   ="block";
  
  w = 380;
  h = document.getElementById(id).offsetHeight+100;
   
  element.style.left = (screen.width)?(screen.width-w)/2:100;
///(document.documentElement.scrollLeft+x)+'px';
  element.style.top  = (screen.height)?(screen.height-h)/2:100;
///(document.documentElement.scrollTop +y)+'px';

  drag_element['target']   = id;
  drag_element.onmousedown = popup_mousedown;
  exit_element.onclick     = popup_exit;
  
  shimpopup(element);
}

// ----- popup_mousepos --------------------------------------------------------

function popup_mousepos(e)
{
  var ie = navigator.appName == "Microsoft Internet Explorer";

  popup_mouseposX = ie ? window.event.clientX : e.clientX;
  popup_mouseposY = ie ? window.event.clientY : e.clientY;
}

// ----- Attach Events ---------------------------------------------------------

if (navigator.appName == "Microsoft Internet Explorer")
     document.attachEvent('onmousedown', popup_mousepos);
else document.addEventListener('mousedown', popup_mousepos, false);

if (navigator.appName == "Microsoft Internet Explorer")
     document.attachEvent('onmousemove', popup_mousemove);
else document.addEventListener('mousemove', popup_mousemove, false);

if (navigator.appName == "Microsoft Internet Explorer")
     document.attachEvent('onmouseup', popup_mouseup);
else document.addEventListener('mouseup', popup_mouseup, false);

function shimpopup(popupobj){
var popupshimobj=document.getElementById('popupshim').style
popupshimobj.height=popupobj.offsetHeight+'px'
popupshimobj.width=popupobj.offsetWidth+'px'
var popupobj=popupobj.style
popupshimobj.left=popupobj.left
popupshimobj.top=popupobj.top
popupshimobj.zIndex=99
popupshimobj.display='block'
}

function nopopupshim(){
document.getElementById('popupshim').style.display='none';
}

document.write('<IFRAME id="popupshim"  src="" style="display: none; left: 0; top: 0; z-index: 90; position: absolute" frameBorder="0" scrolling="no"></IFRAME>')