menuimages = new Array();
menuImageScanner = window.setInterval(scanMenuImage, 100);
window.onresize = resizeMenuImages;

function preload(basedir, urls) {
  if (document.images && urls && urls.length) {
    var images = new Array();
    for (var i = 0, lengthI = urls.length; i < lengthI; i++) {
      images.push(new Image());
      images[i].src = basedir + urls[i];
    }
    return images;
  } else {
    return false;
  }
}

function getAbsolutePosition(object) {
  var position = {left:0, top:0};
  
  if (typeof object.offsetLeft != 'undefined') {
     while (object) {
         position.left += object.offsetLeft;
         position.top += object.offsetTop;
         object = object.offsetParent;
     }
  }
  else {
     position.left = object.left ;
     position.top = object.top ;
  }
  return position;
}

function positionMenuImage(menulink, menuimage) {
  if (!menulink || !menuimage) {return false;}
  
  var position = getAbsolutePosition(menulink);
  position.top = position.top + menulink.offsetHeight;
  menuimage.style.top = "" + position.top + "px";
  position.left = position.left + menulink.offsetWidth - 
    menuimage.offsetWidth;
  menuimage.style.left = "" + position.left + "px";
}

function scanMenuImage() {
  var nav_main = document.getElementById('nav_main');
  var parent = document.getElementById('menuimages');
  if (!nav_main || !parent || !menuimages || !menuimages.length) {
    return false;
  }
  
  var menulinks = nav_main.getElementsByTagName("a");
  for (var i = 0, lengthLinks = menulinks.length, lengthImages = menuimages.length; (i < lengthLinks) && (i < lengthImages); i++) {
    if (!menulinks[i].bound) {
      menulinks[i].bound = true;
      menulinks[i].image = menuimages[i];
      
      menuimages[i].className = "nav_main_abs";
      menuimages[i].style.visibility = "hidden";
      parent.appendChild(menuimages[i]);
    }
    positionMenuImage(menulinks[i], menuimages[i]);
  }
}

function stopScanMenuImage() {
  window.clearInterval(menuImageScanner);
  scanMenuImage();
}

function resizeMenuImages() {
  var nav_main = document.getElementById('nav_main');
  if (!nav_main || !menuimages || !menuimages.length) {
    return false;
  }
  var menulinks = nav_main.getElementsByTagName("a");
  for (var i = 0, lengthLinks = menulinks.length, lengthImages = menuimages.length; (i < lengthLinks) && (i < lengthImages); i++) {
    positionMenuImage(menulinks[i], menuimages[i]);
  }
}

function showMenuImage(sender) {
  if (sender && sender.image && menuimages && menuimages.length) {
    for (var i = 0, lengthI = menuimages.length; i < lengthI; i++) {
      menuimages[i].style.visibility = "hidden";
    }
    sender.image.style.visibility = "visible";
  }
}

function hideMenuImage(sender) {
  if (sender && sender.image) {
    sender.image.style.visibility = "hidden";
  }
}

function testMenuImage() {
  var navmain = document.getElementById("nav_main");
  var menuitems = navmain.getElementsByTagName("a");
  for (var i = 0, lengthI = menuitems.length; i < lengthI; i++) {
    showMenuImage(menuitems.item(i));
  }
}

function showCurrent() {
  var current = document.getElementById("current");
  if (current && current.firstChild) {
    current.firstChild.className = "";
  }
}

function hideCurrent() {
  var current = document.getElementById("current");
  if (current && current.firstChild) {
    current.firstChild.className = "hide-current";
  }
}

function showMenuItem(sender) {
  if (showCurrentTimer) {
    window.clearTimeout(showCurrentTimer);
  }
  hideCurrent();
  showMenuImage(sender);
}

function hideMenuItem(sender) {
  hideMenuImage(sender);
  showCurrentTimer = window.setTimeout("showCurrent()", 500);
}