/*** swap images using the cached images *********************/
function swap(x, y, parent) {
  if(document.all || document.getElementById) {
    if (document.images[x]) document.images[x].src=eval(y+'.src');
  } else if (document.layers) {
    if (parent) {
      if (eval('document.'+parent+'.document.images["'+x+'"]')) {
        eval('document.'+parent+'.document.images["'+x+'"].src = '+y+'.src')
      }
    } else if (eval('document.images["'+x+'"]')) {
      eval('document.images["'+x+'"].src = '+y+'.src')
    }
  }
}



/*** cache images for quick image swapping *******************/
function preload() {
    for(var i = 0; i < navigation.length; i += 2) {
      eval(navigation[i]+'on = new Image()')
      eval(navigation[i]+'on.src = "images/'+navigation[i+1]+'_hover.gif"')
      eval(navigation[i]+'off = new Image()')
      eval(navigation[i]+'off.src = "images/'+navigation[i+1]+'.gif"')
    }
}



/*** identifies browser type *********************************/
var doc = (document.layers) ? 'document.':'document.all.';
var sty = (document.layers) ? '' : '.style';
var ns = (document.layers)? true:false
var ie = (document.all)? true:false
var ns6 = (document.getElementById)? true:false



/*** Show/Hide functions for non-pointer layer/objects *******/
function show(id) {
  if (ns) { if (document.layers[id]) document.layers[id].visibility = "show"; }
  else if (ie) { if (document.all[id]) document.all[id].style.visibility = "visible"; }
  else if (ns6) { if (document.getElementById(id)) document.getElementById(id).style.visibility="visible"; }
}

function hide(id) {
  if (ns) { if (document.layers[id]) document.layers[id].visibility = "hide" }
  else if (ie) { if (document.all[id]) document.all[id].style.visibility = "hidden" }
  else if (ns6) { if (document.getElementById(id)) document.getElementById(id).style.visibility="hidden"; }
}



/*** nav stuff below *****************************************/
navTimer = 0	// used by menu setTimeout() functions

function nav_display (which, showHide) {
  hideAll(which);
  (showHide) ? swap(which, which+'on'):swap(which, which+'off');
  (showHide) ? show(which+'Div'):hideNav(which);
}

function hideNav (what) {
  exeHide = "hide('"+what+"Div'); swap('"+what+"','"+what+"off');";
  navTimer = setTimeout(exeHide ,1000);
}

function hideAll (what) {
  for (i = 0; i < navigation.length; i += 2) {
    if (navigation[i] != what) {
      hide(navigation[i]+'Div');
      swap(navigation[i],navigation[i]+'off');
    }
  }
}

function makeLayer (layer,name,x,y,zindex) {
  content = '';
  content += (document.layers) ? '<layer name="'+name+'" left="'+x+'" top="'+y+'" z-index="'+zindex+'" position="absolute" visibility="hidden">\n':'<div id="'+name+'" style="position: absolute; left: '+x+'; top: '+y+'; z-index: '+zindex+'; visibility: hidden;">\n';
  content += (layer);
  content += (document.layers) ? '</layer>\n':'</div>\n';
  return(content);
}

