// JavaScript Document

function setCountdown(index)
{
  var img = document.getElementById(getImgID(index));
  var oldBorder = img.style.border;
  img.style.border = "3px solid rgb(51,102,192)";
  var code = "expandBox("+index+");";
  var cancel = setTimeout(code, 250);
  img.onmouseout = function()
  {
    clearTimeout(cancel);
    img.style.border = oldBorder;
  }
}
function expandBox(index)
{
  var img = document.getElementById(getImgID(index));
  var cell = img.parentNode.parentNode;
  var div = document.getElementById('content');
  var table = document.getElementById('liveLinks');
  var divT = document.createElement('div');
  var paraT = document.createElement('p');
  var linkT = document.createElement('a');
  var imgT = document.createElement('img');
  divT.className = 'explandedLiveLink';
  divT.style.top = (getFullOffsetTop(cell)-34)+'px'
  divT.style.left = (getFullOffsetLeft(cell)-34)+'px';
  setOpacity(divT, 0);
  document.body.appendChild(divT);
  divT.onmouseout = function()
  {
    setCountdownRemove(divT);
  }
  linkT.href = hrefs[index];
  divT.onclick = function()
  {
    window.location = hrefs[index];
  }
  imgT.src = imageSrcs[index];
  linkT.appendChild(imgT);
  divT.appendChild(linkT);
  paraT.innerHTML = descs[index];
  divT.appendChild(paraT);
  fadeIn(divT, 250);
}
function preLoadimage(index)
{	var preLoadImg = new Image(194,125);
	preLoadImg.src = imageSrcs[index];}
function setCountdownRemove(divT)
{
  var cancel;
  var cancel2;
  var closeBox;
  var removeFunc = function()
  {
    clearInterval(cancel);
    var removeChild = function()
    {
      clearInterval(cancel2);
      document.body.removeChild(divT);
    }
    fadeOut(divT, 250);
    cancel2 = setInterval(removeChild, 250);
  }
  cancel = setInterval(removeFunc,250);
  divT.onmouseover = function()
  {
    clearInterval(cancel);
  }
}
function getFullOffsetLeft(node)
{
  var offset = 0;

  while (node.offsetParent != null)
  {
    offset += node.offsetLeft;
    node = node.offsetParent;
  }

  return offset;
}
function getFullOffsetTop(node)
{
  var offset = 0;

  while (node.offsetParent != null)
  {
    offset += node.offsetTop;
    node = node.offsetParent;
  }

  return offset;
}
function addOutput(string)
{
  var output = document.getElementById('output');
  var outputString = output.innerHTML+string+'<br />';
  output.innerHTML = outputString;
}
function setOpacity(node, value)
{
  node.style.opacity = value;
  node.style.filter = 'alpha(opacity='+(value*100)+')';
}
function getImgID(index)
{
  return 'thumbImg'+index;
}
function fadeOut(node, time)
{
  var steps = 5;
  var timeStepSize = time/steps;
  var opacStepSize = 1/steps;
  var i = steps-1;
  var cancel;
  var dim = function()
  {
    setOpacity(node, i/steps);
    if (i < 0.1)
    clearInterval(cancel);
    i--;
  }
  cancel = setInterval(dim,timeStepSize);
}
function fadeIn(node, time)
{
  var steps = 5;
  var timeStepSize = time/steps;
  var opacStepSize = 1/steps;
  var i = 1;
  var cancel;
  var dim = function()
  {
    setOpacity(node, i/steps);
    if (i >= steps)
    clearInterval(cancel);
    i++;
  }
  cancel = setInterval(dim,timeStepSize);
}

