function swapImg()
{
  var doc = document, args = arguments, elm, n;
  doc.$imgSwaps = new Array();
  
  for(n = 2; n < args.length; n += 2)
  {
    elm = getObjectByID(args[n]);
    if(elm)
    {
      doc.$imgSwaps[doc.$imgSwaps.length] = elm;
      elm.$src = elm.src;
      elm.src = args[n + 1];
    }
  }
}

function preloadImgs()
{
  var d = document, a = arguments;
  if(!d.imgs)
    d.imgs = new Array();
    
  for(var i = 0; i < a.length; i++)
  {
    d.imgs[i] = new Image;
    d.imgs[i].src = a[i];
  }
}

function getObjectByID(id, o)
{
  var c, el, els, f, m, n;
  
  if(!o)
    o = document;
    
  if(o.getElementById)
    el = o.getElementById(id);
    
  else if(o.layers)
    c = o.layers;
    
  else if(o.all)
    el = o.all[id];
    
  if(el)
    return el;
    
  if(o.id == id || o.name == id)
    return o;
    
  if(o.childNodes)
    c = o.childNodes;

  if(c)
  {
    for(n = 0; n < c.length; n++)
    {
      el = getObjectByID(id, c[n]);
      if(el)
        return el;
    }
  }
  
  f = o.forms;
  if(f)
  {
    for(n = 0; n < f.length; n++)
    {
      els = f[n].elements;
      for(m = 0; m < els.length; m++)
      {
        el = getObjectByID(id, els[n]);
        if(el)
          return el;
      }
    }
  }
  return null;
}

function swapImgRestore()
{
  var doc = document, i;
  if(doc.$imgSwaps)
  {
    for(i = 0; i < doc.$imgSwaps.length; i++)
    {
      var elm = doc.$imgSwaps[i];
      if(elm)
      {
        elm.src = elm.$src;
        elm.$src = null;
      }
    } 
    doc.$imgSwaps = null;
  }
}