function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf('#')!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf('?'))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}





function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=='Netscape')&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);


function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v;
  }
}



var currentlayerNumber = '';
var currentSublayerNumber = '';
var currentSubSublayerNumber = '';
var skinColor = '';
var timeOn;
var menuIndex;

function displayLayerHelper(layerNumber,visibility){
  if ((obj=MM_findObj('Layer'+layerNumber))!=null) {
    v=visibility;
    if (obj.style) {
      obj=obj.style;
      v=(v=='show')?'visible':(v=='hide')?'hidden':v;
    }
    obj.visibility=v;
  }
}

function showLayer(layerNumber){
  menuOver();
  if(currentlayerNumber!='' && currentlayerNumber!=layerNumber){
    MM_showHideLayers('Layer'+currentlayerNumber,'','hide');
    deHilite(currentlayerNumber);
  }
  currentlayerNumber=layerNumber;
  MM_showHideLayers('Layer'+layerNumber,'','show');
  hilite(layerNumber);
  fixMenuVsCursor(true);
}

function fixMenuVsCursor(isFocusSwapped){
  if(document.forms[0] && document.forms[0].abcd && document.forms[0].target){
    if(isFocusSwapped){
      document.forms[0].target.focus();
    }else{
      document.forms[0].abcd.focus();
    }
  }

}

function selectNonLink(spanElement){
  spanElement.style.color = "#FFFFFF";
  spanElement.style.backgroundColor = "#999999";
}

function deselectNonLink(spanElement){
  spanElement.style.color = "#000000";
  spanElement.style.backgroundColor = "#FFFFFF";
}

function showSubLayer(layerNumber, spanElement){
  selectNonLink(spanElement);
  showSubLayer(layerNumber);
}

function showSubLayer(layerNumber){
  menuOver();
  if(currentSublayerNumber!='' && currentSublayerNumber!=layerNumber){
    MM_showHideLayers('Layer'+currentSublayerNumber,'','hide');
  }
  currentSublayerNumber=layerNumber;
  MM_showHideLayers('Layer'+layerNumber,'','show');
}

function showSubSubLayer(layerNumber){
  menuOver();
  if(currentSubSublayerNumber!='' && currentSubSublayerNumber!=layerNumber){
    MM_showHideLayers('Layer'+currentSubSublayerNumber,'','hide');
  }
  currentSubSublayerNumber=layerNumber;
  MM_showHideLayers('Layer'+layerNumber,'','show');
}

function hilite(menuItem){
  var menu=MM_findObj('Menu'+menuItem);
  menu.style.color=skinColor;
  menu.style.border='1px solid '+skinColor ;
  if(menuItem != menuIndex){
    unsetIndex();
  }
}

function deHilite(menuItem){
  if(menuItem != ''){
    var menu=MM_findObj('Menu'+menuItem);
    if(menu){
      menu.style.textDecoration = 'none';
      menu.style.color='#000000';
      menu.style.border='none' ;
      menu.style.borderStyle='none';
    }
  }
  setIndex();
}


function setIndex(){
  if(menuIndex && menuIndex != ""){
    var menu=MM_findObj('Menu'+menuIndex);
    menu.style.color=skinColor;
    menu.style.border='1px solid '+skinColor ;
  }
}

function unsetIndex(){
  if(menuIndex && menuIndex != ""){
    var menu=MM_findObj('Menu'+menuIndex);
    menu.style.textDecoration = 'none';
    menu.style.color='#000000';
    menu.style.border='none' ;
  }
}

function menuOver() {
  if(timeOn){
      clearTimeout(timeOn);
  }
}

function menuOut() {
  timeOn = setTimeout("hideAllMenus()", 50);
}

function hideAllMenus() {
  hideMenusHelper(true,true,true);
  fixMenuVsCursor(false);

}

function hideAllSubMenus()  {
  hideMenusHelper(false,true,true);
}

function hideAllSubSubMenus()  {
  hideMenusHelper(false,false,true);
}

function LayerSpecs(name,type){
  this.name = name;
  this.type = type;
}

function preloadLayers() {
  var d=document;
  d.menuLayers=new Array();

  var i,m = 0;
  for(i = 1; i <= 6; ++i) {
    var layerName = 'Layer'+i
    var layer=MM_findObj(layerName);
    if(layer){
      d.menuLayers[m++] = new LayerSpecs(layerName,'top');

      for(j = 1; j <= 7; ++j) {
        var childLayerName = layerName+j;
        var childLayer=MM_findObj(childLayerName);

        if(childLayer){
          d.menuLayers[m++] = new LayerSpecs(childLayerName,'child');
          for(k = 1; k <= 7; ++k) {
            var subChildLayer=MM_findObj(childLayerName+k);

            if(subChildLayer){
              d.menuLayers[m++] = new LayerSpecs(childLayerName+k,'subChild');
            }
          }
        }
      }
    }else{
      break;
    }
  }
}

function hideMenusHelper(top,child,subChild) {
  var topIndex = 1;
  var d=document;
  if(!d.menuLayers || d.menuLayers.length < 1){
    preloadLayers();
  }
  for(i = 0;d.menuLayers && i < d.menuLayers.length; ++i) {
    if(d.menuLayers[i]){
      if(subChild && d.menuLayers[i].type == 'subChild'){
        MM_showHideLayers(d.menuLayers[i].name,'','hide');
      }
      if(child && d.menuLayers[i].type == 'child'){
        MM_showHideLayers(d.menuLayers[i].name,'','hide');
      }
      if(top && d.menuLayers[i].type == 'top'){
        MM_showHideLayers(d.menuLayers[i].name,'','hide');
        deHilite(topIndex++);
      }

    }else{
      break;
    }
  }
}
