function setColor(e, color, ignoreLinks) {
  if (ignoreLinks) {
    if (e.all) {
      var els = e.all;
    } else {
      var els = e.getElementsByTagName("*");
    }
  } else {
    var els = e.getElementsByTagName("div");
  }
  e.style.color = color;
  for (k=0;k<els.length;k++) {
    els[k].style.color = color;
  }
}

function initShadowed() {
  var main = document.getElementById('shadowed-main')
  // Duplicate
  var shadow = main.cloneNode(true)
  // Add the shadow
  main.parentNode.insertBefore(shadow,main)
  setColor(main, "white", false)
  setColor(shadow, "black", true)
  // Don't shadow forms
  var theforms = shadow.getElementsByTagName('form')
  if (theforms.length > 0) {
    for (var i=0; i<theforms.length; i++) {
      Element.hide(theforms[i])
    }
  }
  shadow.style.position = "absolute"
  shadow.style.top = "2px"
  shadow.style.left = "2px"
}

function shadowEffect(name, func) {
  var els = document.getElementsByName(name)
  for (i=0; i<els.length; i++) {
    func(els[i])
  }
}

function hideShadowed(name) {
  shadowEffect(name, Element.hide)
}

function showShadowed(name) {
  shadowEffect(name, Element.show)
}

function appearShadowed(name, options) {
  shadowEffect(name, function(e) { new Effect.Appear(e, options) })
}

function fadeShadowed(name, options) {
  shadowEffect(name, function(e) { new Effect.Fade(e, options) })
}

function setStyleShadowed(name, style) {
  shadowEffect(name, function(e) { Element.setStyle(e, style) })
}

