
var dragElement;
var elX;
var elY;
var mouseDownX;
var mouseDownY;

function getPageY (element) {
  var y = 0;
  do 
    y += element.offsetTop;
  while ((element = element.offsetParent));
  return y;
}
function getPageX (element) {
  var x = 0;
  do 
    x += element.offsetLeft;
  while ((element = element.offsetParent));
  return x;
}

function startDrag (element, evt) {
  dragElement = element;
  if (document.layers) {
    elX = dragElement.left;
    elY = dragElement.top;
    mouseDownX = evt.pageX;
    mouseDownY = evt.pageY;
    document.captureEvents(Event.MOUSEMOVE);
  }
  else if (document.all || document.getElementById) {
    elX = getPageX (dragElement);
    elY = getPageY (dragElement);
    mouseDownX = evt.clientX;
    mouseDownY = evt.clientY;
  }
  document.onmousemove = drag;
}

function drag (evt) {
  if (document.layers) {
    dragElement.left = elX + evt.pageX - mouseDownX;
    dragElement.top = elY + evt.pageY - mouseDownY; }
  else if (document.all) {
    dragElement.style.pixelLeft = elX + event.clientX - mouseDownX;
    dragElement.style.pixelTop = elY + event.clientY - mouseDownY; }
  else if (document.getElementById) {
    dragElement.style.left = (elX + evt.clientX - mouseDownX) + 'px';
		dragElement.style.top = (elY + evt.clientY - mouseDownY) + 'px';  }
}

function stopDrag () {
  document.onmousemove = null;
  dragElement = null;
  if (document.layers)
    document.releaseEvents(Event.MOUSEMOVE);
}

function closeDiv(name)
{	
	if (document.getElementById)
		document.getElementById(name).style.visibility = "hidden";
	else if (document.all)
		document.all(name).style.visibility = "hidden";
	else if (document.layers)
		document.layers[name].visibility = "hidden";
}

function openDiv(name)
{	
	if (document.getElementById)
		document.getElementById(name).style.visibility = "visible";
	else if (document.all)
		document.all(name).style.visibility = "visible";
	else if (document.layers)
		document.layers[name].visibility = "visible";
		}
