/************
 (c) Nomini Networks '03 -jhe
                  ***********/


/* 
 * Browser detection
 */

var ns6 = (!document.all && document.getElementById)?1:0;
var ns = (document.layers)?1:0;
var agt=navigator.userAgent.toLowerCase();
var mac=(agt.indexOf("mac")!=-1);

/* 
 * General variables
 */

// Script uses this variable to store layer id when visible
var actLyr = 0;
// Time in milliseconds which the menus are open after mouseOut
var menuDelay = 1500;
// Reset timer variables
lyrTO = 0;


/* Image preloads here, only mouseOver images. */
function preLoad(lang, host) {
  if (document.images) {
    var imglist = new Array (
      host + "/img/" + lang + "/navi/navi0_on.gif", 
      host + "/img/" + lang + "/navi/navi1_on.gif",
      host + "/img/" + lang + "/navi/navi2_on.gif",
      host + "/img/" + lang + "/navi/navi3_on.gif",
      host + "/img/" + lang + "/navi/navi4_on.gif",
      host + "/img/" + lang + "/navi/navi5_on.gif",
      host + "/img/" + lang + "/navi/navi6_on.gif"
    );
    var tempImgArr = new Array();
    var count;
    for (count=0; count<imglist.length; count++) {
      tempImgArr[count]=new Image(); tempImgArr[count].src=imglist[count];
    }
  } 
}


/* Main function to handle opening and closing of the main menu. */
function toggleMenu(lyr,state,lang) {
    if(state == "visible") {
      if(actLyr) {
        toggleMenu(actLyr, 'hidden', lang);
        clearTimeout( lyrTO );
      }
      actLyr = lyr;
      eval("imSwap('naviIm"+lyr+"','img/"+lang+"/navi/navi"+lyr+"_on.gif','')");
    }
    if(state == "hidden") {
      actLyr = 0;
      eval("imSwap('naviIm"+lyr+"','img/"+lang+"/navi/navi"+lyr+".gif','')");
    }
    if (ns) {
        if(state == "visible") state = "show";
        if(state == "hidden") state = "hide";
        eval("document.layers['subMenu" + lyr + lang + "'].visibility = '" + state + "'");
    }
    else if (ns6) {
		    eval("document.getElementById('subMenu" + lyr + lang + "').style.visibility = '" + state + "'");
    }
    else if (document.all) {
        eval("document.all['subMenu" + lyr + lang + "'].style.visibility = '"+state+"'");
    }
}

/* Subnavi element toggle handler */
function toggleSub(mainLyr, subNo, vis, lang) {
  subId = mainLyr + "x" + subNo;
  subImg = mainLyr + "_" + subNo;
  if(vis) {
    clearTimeout( lyrTO );
    eval("imSwap('naviSubIm"+subImg+"','img/" + lang + "/navi/navi"+subImg+"_on.gif','subMenu" + mainLyr + lang + "')");
  } else {
    lyrTO = setTimeout("toggleMenu(" + mainLyr + ", 'hidden', '" + lang + "')",menuDelay);
    eval("imSwap('naviSubIm"+subImg+"','img/" + lang + "/navi/navi"+subImg+".gif','subMenu" + mainLyr + lang + "')");
  }
}


/* Image swap handler to navi-elements without submenu */
function toggleMenuSimple (el, state, lang, host) {
  if(state) {
    if(actLyr) {
      toggleMenu(actLyr,'hidden',lang);
      clearTimeout( lyrTO );
    }
    eval("imSwap('naviIm"+el+"','"+host+"/img/"+lang+"/navi/navi"+el+"_on.gif','')"); 
  } else {
    eval("imSwap('naviIm"+el+"','"+host+"/img/"+lang+"/navi/navi"+el+".gif','')");
  }
  actLyr = 0;
}

/* Activated when mouseOut happens in main navi images. */
function closeMenuHandler(lyr, lang) {
  lyrTO = setTimeout("toggleMenu(" + lyr + ", 'hidden', '" + lang + "')",menuDelay);
}

/* Function to handle mouseOver image changes. */
function imSwap(im,imSrc,lyr) {
  if(document.images) {
    // alert("im: " + im + ", imSrc: " + imSrc + ", lyr: " + lyr);
    if(ns) {
      dstLyr = (lyr) ? "document." + lyr + "." : ""; 
      var img = eval(dstLyr+'document.'+im);
      img.src = imSrc;
    } else {
      var img = eval('document.'+im);
      img.src = imSrc;
    }
  }
}
