var isMinNS4 = (document.layers) ? 1 : 0;
var isMinIE4 = (document.all)    ? 1 : 0;
var timer, x, y;

function refreshPage(repaint) 
{
  // repaints window if Netscape v4 is resized...
  if (repaint == true) 
    with (navigator) 
    {
      if ((appName == "Netscape") && (parseInt(appVersion) == 4)) 
      {
        document.pageWidth = innerWidth; 
        document.pageHeight = innerHeight; 
        onresize = refreshPage; 
      }
    }
    else if (innerWidth != document.pageWidth || innerHeight != document.pageHeight) 
      location.reload();
}

refreshPage(true);

function getXY(e) 
{
//  alert('getXY()');
//  if (e.pageX || e.pageY)
//  {
//    alert('pageX');
//    x = (window.Event) e.pageX;
//    y = (window.Event) e.pageY;
//  }
//  else if (e.clientX || e.clientY)
//  {
//   alert('clientX');
//    x = (window.Event) e.clientX + document.body.scrollLeft;
//    y = (window.Event) e.clientY + document.body.scrollTop;
//  }
//	else
//	{
//    alert('window.Event');
//    x = (window.Event) ? e.left : event.clientX;
//    y = (window.Event) ? e.top : event.clientY;
//	}
	if (self.pageYOffset)
	{
	  // all except Explorer
		x = self.pageXOffset;
		y = self.pageYOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop)
	{
		// Explorer 6 Strict
		x = document.documentElement.scrollLeft;
		y = document.documentElement.scrollTop;
	}
	else if (document.body)
	{
    // all other Explorers
		x = document.body.scrollLeft;
		y = document.body.scrollTop;
	}
}

function getImageSourceArray()
{
  //alert('getImageSourceArray()');
  var imgSrcArray = new Array();
  imgSrcArray[0] = './image/idahoon.gif';
  imgSrcArray[1] = './image/resumeon.gif';
  imgSrcArray[2] = './image/romanceon.gif';
  imgSrcArray[3] = './image/alteron.gif';
  imgSrcArray[4] = './image/guitaron.gif';
  imgSrcArray[5] = './image/deerheadon.gif';
  imgSrcArray[6] = './image/proramon.gif';
  imgSrcArray[7] = './image/surrealon.gif';
  imgSrcArray[8] = './image/philon.gif';
  imgSrcArray[9] = './image/studioon.gif';
  imgSrcArray[10] = './image/linkson.gif';

return imgSrcArray;
}

function resetMenu()
{
  //alert('resetMenu()');
  renderLayer('deerheadMenuLayer', '', 'hide');
  renderLayer('resumeMenuLayer', '', 'hide');
  resetImageArray();
}

function resetTimer()
{
  //alert('resetTimer()');
  if (timer)
    clearTimeout(timer);
  timer = setTimeout('resetMenu()', 1500);
}

function init() 
{
  //alert('init()');
  JSFX.MakeFloatingLayer ("FloatingMenu",2,2);
  loadImages();
  if (window.Event) 
	{
    if (document.captureEvents)
		{
      document.captureEvents(Event.MOUSEMOVE);
    } 
		else 
		{
      window.captureEvents(Event.MOUSEMOVE);
    }
  }
  document.onmousemove = getXY;
}

function loadImages() 
{
  //alert('loadImages()');
  var doc = document; 
  if (doc.images)
  { 
    if (! doc.imageArray) 
      doc.imageArray = new Array();
    var imgSrcIdx, imgIdx = doc.imageArray.length, imgSourceArray = getImageSourceArray(); 
    for (imgSrcIdx = 0; imgSrcIdx < imgSourceArray.length; imgSrcIdx++)
    { 
      doc.imageArray[imgIdx] = new Image; 
      doc.imageArray[imgIdx++].src= imgSourceArray[imgSrcIdx];
    }
  }
}

function resetImageArray()
{
  //alert('resetImageArray()');
  var imgIdx, img, argList = document.mainImageArray; 
  for (imgIdx = 0; argList && imgIdx < argList.length && (img = argList[imgIdx]) && img.oSrc; imgIdx++) 
    img.src = img.oSrc;
}

function findObject(start, doc)
{
  //alert('findObject()');
  var parentPosition, idx, targetObj;
  if (! doc) 
    doc = document; 
  if ((parentPosition = start.indexOf("?")) > 0 && parent.frames.length) 
  {
    doc = parent.frames[start.substring(parentPosition + 1)].document; 
    start = start.substring(0, parentPosition);
  }
  if (! (targetObj = doc[start]) && doc.all)
    targetObj = doc.all[start]; 
  for (idx = 0; ! targetObj && idx < doc.forms.length; idx++) 
    targetObj = doc.forms[idx][start];
  for (idx = 0; ! targetObj && doc.layers && idx < doc.layers.length; idx++) 
    targetObj = findObject(start, doc.layers[idx].document);
  if (! targetObj && document.getElementById) 
    targetObj = document.getElementById(start); 
  return targetObj;
}

function swapImage()
{
  //alert('swapImage()');
  var argIdx, img, imgIdx = 0, imageArgs = swapImage.arguments; 
  document.mainImageArray = new Array; 
  for (argIdx = 0; argIdx < (imageArgs.length - 2); argIdx += 3)
    if ((img = findObject(imageArgs[argIdx])) != null)
    {
      document.mainImageArray[imgIdx++] = img; 
      if (! img.oSrc) 
        img.oSrc = img.src; 
      img.src = imageArgs[argIdx + 2];
    }
}

function renderLayer() 
{
  //alert('renderLayer');
  var argIdx, p, command, layer, args = renderLayer.arguments;
  for (argIdx = 0; argIdx < (args.length - 2); argIdx += 3) 
    if ((layer = findObject(args[argIdx])) != null) 
    {
      command = args[argIdx + 2];
      renderState = (command == 'show') ? 'visible' : (command = 'hide') ? 'hidden' : command; 
      if (isMinNS4)
      {
        if (command == 'show')
 		{
          layer.moveTo(x, y);
		  resetTimer();
		}
      layer.visibility = renderState; 
	}
	if (isMinIE4)
	{
	  if (command == 'show')
 	  {
        //alert("x/y = " + x + "/" + y);
        layer.style.pageX = x;
        layer.style.pageY = y;
		resetTimer();
	  }
      layer.style.visibility = renderState; 
    }
  }
}
