/**************************** IMAGE SWAPING *****************************/
/**** The following script is used to preload images into the DOM    ****/
/**** and swaping them with images rendered at initial load time.    ****/
/****                                                                ****/
/**** The following syntax should be used inside any object that     ****/
/**** should trigger an image swap:                                  ****/
/****                                                                ****/
/****     onmouseover="swapImg('[imgName]','[filepath/fileName]');"  ****/
/****     onmouseout="imgRestore();"                                 ****/
/****                                                                ****/
/************************************************************************/

var d = document;

function preload() 
{
  if(d.images) { 
    if(!d.imgArray) {
      d.imgArray = new Array();
    }
    var j = d.imgArray.length;
    var a = arguments;
    for(i = 0; i < a.length; i++) {
      d.imgArray[j] = new Image();
      d.imgArray[j++].src = a[i];
    }
  }
}

function locate(oImg, oDoc) 
{
  var p;
  var i;
  var x;  
  
  //find object in frames
  if(!oDoc) oDoc = d; 
  if((p = oImg.indexOf("?")) > 0 && parent.frames.length) {
    oDoc = parent.frames[oImg.substring(p+1)].d; 
    oImg = oImg.substring(0,p);
  }
  
  //find object in forms and layers(NS4)
  if(!(x=d[oImg]) && d.all) {
    x = d.all[oImg];
  }
  for (i = 0; !x && i < d.forms.length; i++) {
    x = d.forms[i][oImg];
  }
  for (i = 0; !x && d.layers && i < d.layers.length; i++) {
    x = locate(oImg,d.layers[i].doc);
  }
  return x;
}

function swapImg() 
{
  var j = 0;
  var x;
  var a = arguments; 
  
  d.restoreArray = new Array; 
  
  for (i = 0; i < (a.length); i += 2) {
    if ((x = locate(a[i])) != null) {
      d.restoreArray[j++] = x; 
      if(!x.oSrc) {
        x.oSrc = x.src;
      }
      x.src = a[i+1];
    }
  }
}

function imgRestore() 
{
  var i;
  var x;
  var a = d.restoreArray; 
  
  for(i=0; a && i < a.length && (x = a[i]) && x.oSrc; i++) {
    x.src = x.oSrc;
  }
}
