var hexTable = [ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F" ];

function toggleElement (elementId)
{
  var elStyle = document.getElementById (elementId).style;
  var button = document.getElementById (elementId + "Button");
  if (elStyle.display == "") {
    elStyle.display = "none";
	button.innerHTML = "More &gt;&gt;";
  } else {
    elStyle.display="";
	button.innerHTML = "Less &lt;&lt;";
  }
}

function showElement (elementId)
{
  document.getElementById (elementId).style.display="";
}

function hideElement (elementId)
{
  document.getElementById (elementId).style.display="none";
}


function backgroundFadeController (elementId)
{
  var elStyle = document.getElementById (elementId).style;

  if (elStyle._targetBackgroundColor < elStyle._currentBackgroundColor)
  {
    elStyle._currentBackgroundColor -= 0.05;
    if (elStyle._targetBackgroundColor > elStyle._currentBackgroundColor)
      elStyle._currentBackgroundColor = elStyle._targetBackgroundColor;
  }
  else
  {
    elStyle._currentBackgroundColor += 0.05;
    if (elStyle._targetBackgroundColor < elStyle._currentBackgroundColor)
      elStyle._currentBackgroundColor = elStyle._targetBackgroundColor;
  }

  elStyle._currentBackgroundColor = Math.round (elStyle._currentBackgroundColor * 100) / 100;

  elStyle.backgroundColor = "rgb(" + 
    Math.round (23 * (1 - elStyle._currentBackgroundColor) + 0 * elStyle._currentBackgroundColor) + "," +
    Math.round (75 * (1 - elStyle._currentBackgroundColor) + 150 * elStyle._currentBackgroundColor) + "," +
    Math.round (101 * (1 - elStyle._currentBackgroundColor) + 180 * elStyle._currentBackgroundColor) +
	")";

  if (elStyle._currentBackgroundColor != elStyle._targetBackgroundColor)
    setTimeout ("backgroundFadeController ('" + elementId + "')", 50);
}


function backgroundFade (elementId, color)
{
  var elStyle = document.getElementById (elementId).style;
  elStyle._targetBackgroundColor = color;

  if (!elStyle._currentBackgroundColor)
    elStyle._currentBackgroundColor = 0;

  backgroundFadeController (elementId);
}


function fadeController (elementId)
{
  var elStyle = document.getElementById (elementId).style;

  if (elStyle._targetOpacity < elStyle._currentOpacity)
  {
    elStyle._currentOpacity -= .05;
    if (elStyle._targetOpacity >= elStyle._currentOpacity) {
      elStyle._currentOpacity = elStyle._targetOpacity;
	  eval (elStyle._afterOpacity);
	}
  }
  else
  {
    elStyle._currentOpacity += .05;
    if (elStyle._targetOpacity <= elStyle._currentOpacity) {
      elStyle._currentOpacity = elStyle._targetOpacity;
	  eval (elStyle._afterOpacity);
	}
  }

  elStyle._currentOpacity = Math.round (elStyle._currentOpacity * 100) / 100;

  elStyle.filter = "alpha(opacity=" + (elStyle._currentOpacity*100) +")";
  elStyle.MozOpacity = elStyle._currentOpacity;

  if (elStyle._currentOpacity != elStyle._targetOpacity)
    setTimeout ("fadeController ('" + elementId + "')", 50);
}


function fade (elementId, targetOpacity, afterwards)
{
  var elStyle = document.getElementById (elementId).style;
  elStyle._targetOpacity = targetOpacity;

  if (!elStyle._currentOpacity)
    elStyle._currentOpacity = 0;

  elStyle._afterOpacity = afterwards;

  fadeController (elementId);
}

function sizeController (element1Id, element2Id)
{
  var elStyle = document.getElementById (element1Id).style;

  if (elStyle._targetSize < elStyle._currentSize)
  {
    elStyle._currentSize -= .05;
    if (elStyle._targetSize >= elStyle._currentSize) {
      elStyle._currentSize = elStyle._targetSize;
	  eval (elStyle._afterSize);
	}
  }
  else
  {
    elStyle._currentSize += .05;
    if (elStyle._targetSize <= elStyle._currentSize) {
      elStyle._currentSize = elStyle._targetSize;
	  eval (elStyle._afterSize);
	}
  }

  elStyle._currentSize = Math.round (elStyle._currentSize * 100) / 100;

  elStyle.height = Math.round (64 + 64 * elStyle._currentSize) + "px";
  elStyle.width = Math.round (64 + 64 * elStyle._currentSize) + "px";

  document.getElementById (element2Id).style.height = Math.round (64 + 64 * elStyle._currentSize) + "px";
  document.getElementById (element2Id).style.width = Math.round (64 + 64 * elStyle._currentSize) + "px";

  if (elStyle._currentSize != elStyle._targetSize)
    setTimeout ("sizeController ('" + element1Id + "', '" + element2Id + "')", 50);
}


function setSize (element1Id, element2Id, targetSize, afterwards)
{
  var elStyle = document.getElementById (element1Id).style;
  elStyle._targetSize = targetSize;

  if (!elStyle._currentSize)
    elStyle._currentSize = 0;

  elStyle._afterSize = afterwards;

  sizeController (element1Id, element2Id);
}


