//-----------------------------------------------------------------------------
//
// Copyright (c) 2004 by Computors Limited. All Rights Reserved.
//
// No part of this publication or software may be reproduced, transmitted,   
// transcribed, stored in a retrieval system, or translated into any      
// language without the prior written authorization of Computors Limited. 
//
// This is a licensed product of Computors Limitied.
//
// Program    : template_menu.js
// Description: Template Based Menu JScript functions
//
//-----------------------------------------------------------------------------
var hidedelay = 400;
menuarrayvis = new Array();

//for(var i in menuarrayvis) {
//  alert("Array Element: " + i + " , " + menuarrayvis[i]);
//}

//var hidestr = "hidden";
//var showstr = "visible";
//if (browser.isNS4up) {
//  hidestr = "hide";
//  showstr = "show";
//}

function submenu_addnode(pid,id) {

  //alert("Parent Id: " + pid + "\nId: " + id);

  menuarrayvis[id] = "hidden";
  //menuarrayvis[id] = "none";
  submenu_position(pid,id);
}

function submenu_position(pid,id) {

//  if (browser.isNS4up) {
//    width = document.getElementById(pid).clip.width;
//    height = document.getElementById(pid).clip.height;
//  } else {
    width = document.getElementById(pid).offsetWidth;
    height = document.getElementById(pid).offsetHeight;
//  }
  menupos = element_offset(document.getElementById(pid));

  //alert("Width: " + width + ", Menu X: " + menupos[0] + ", Menu Y: " + menupos[1]);


  //document.getElementById(id).style.minwidth = width;
  
  // Setup Minimum Width
  //document.getElementById(id).style.width = "auto";
  document.getElementById(id).style.left = menupos[0];
  document.getElementById(id).style.top = menupos[1] + menupos[3];
 
//  document.getElementById(id).style.wordWrap = "normal";
}

/*
function element_offset(e) {
  eo = new Array();
  eo[0] = 0;
  eo[1] = 0;
  if (e.offsetParent) {
    while (e.offsetParent) {
        eo[0] += e.offsetLeft;
        eo[1] += e.offsetTop;
        e = e.offsetParent;

       alert("Left: " + eo[0] + ", Top: " + eo[1]);
    }
  } else if (obj.x) {
    eo[0] += e.x;
    eo[1] += e.y;
  }
  return eo;
}
*/

function element_offset(e) {
  eo = new Array();
  eo[0] = 0;
  eo[1] = 0;
  eo[2] = 0;
  eo[3] = 0;
  while (e) {
    if (e.tagName != "TABLE") {
      eo[0] += e.offsetLeft;
      eo[1] += e.offsetTop;
    }
    if (e.tagName == "BODY" && lastElement == "TABLE") {
      eo[0] += lastOffsetLeft;
      eo[1] += lastOffsetTop;
    }

    //alert("TAG: " + e.tagName + ", Left: " + eo[0] + ", Top: " + eo[1]);

    lastElement = e.tagName;
    lastOffsetLeft = e.offsetLeft;
    lastOffsetTop = e.offsetTop;
    
    if (eo[2] == 0) {eo[2] = e.offsetWidth;}
    if (eo[3] == 0) {eo[3] = e.offsetHeight;}
    
    e = e.offsetParent;
  }
  return eo;
}


function dropmenu_hideit(id) {
    menuarrayvis[id] = "hidden";
    //menuarrayvis[id] = "none";
    setTimeout("dropmenu_showhide('" + id + "')",hidedelay)
}

function dropmenu_showit(id) {

    for(var arrayname in menuarrayvis) {
      if (arrayname != id) {
        menuarrayvis[arrayname] = "hidden";
        //menuarrayvis[arrayname] = "none";
        dropmenu_showhide(arrayname);
      }
    }

    menuarrayvis[id] = "visible";
    //menuarrayvis[id] = "block";
    dropmenu_showhide(id);
}

function dropmenu_showhide(id) {
  if (browser.isNS40x) {
    document.getElementById(id).visibility = menuarrayvis[id];
  } else {
    document.getElementById(id).style.visibility = menuarrayvis[id];
  }
  //document.getElementById(id).style.display = menuarrayvis[id];
}
