var browserType = "";
var browserVersion = "";

function showLayer(layerNum) {
var layerObj = document.getElementById("dropmenu" + layerNum);
if (!layerObj)
	return;
var layerPositionObj = document.getElementById("pos" + layerNum);
//layerObj.style.left = layerPositionObj.offsetLeft + "px";
//layerObj.style.top = layerPositionObj.offsetTop + 27 + "px";
layerObj.style.left = getAbsoluteLeft("pos" + layerNum) + 0 + "px";
layerObj.style.top = getAbsoluteTop("pos" + layerNum) + 23 + "px";

layerObj.style.display='block';
}

/*
function showLayer(layerNum) {
if (browserType == "explorer" || browserType == "opera") {
        var layerPositionObj = document.getElementById("pos" + layerNum);
        document.all['submenu' + layerNum].style.left = layerPositionObj.offsetLeft + 3;
        document.all['submenu' + layerNum].style.top = layerPositionObj.offsetTop - 10;
        document.all['submenu' + layerNum].style.display='block';
} else {
        var layerObj = document.getElementById('submenu' + layerNum);
        var layerPositionObj = document.getElementById("pos" + layerNum);
        layerObj.style.left = layerPositionObj.offsetLeft + 3 + "px";
        layerObj.style.top = layerPositionObj.offsetTop - 10 + "px";
        layerObj.style.display = 'block';
}
}
*/

function hideLayer(layerName){
var layerObj = document.getElementById(layerName);
if (!layerObj)
	return;
layerObj.style.display='none';
}

function menuOn(tdname, parent) {
  ResetCloseTimeout();
  if (!parent) { SetOpenTimeout(tdname); }
}

function menuOff(tdname, parent) {
 if(!parent) { ResetOpenTimeout(); }
 SetCloseTimeout(tdname);
}

var closeTimeout, openTimeout;

function SetOpenTimeout(item) {
 clearTimeout(openTimeout);
 openTimeout = setTimeout("onOpenEvent('" + item + "')", 150);
}

function ResetOpenTimeout() { if(openTimeout) clearTimeout(openTimeout); }

function SetCloseTimeout() {
 clearTimeout(closeTimeout);
 closeTimeout = setTimeout("onCloseEvent()", 350);
}

function ResetCloseTimeout() {
 if(closeTimeout) clearTimeout(closeTimeout);
}

function onOpenEvent(item) {
 ResetCloseTimeout();
 onCloseEvent();
 showLayer(item);
}

function onCloseEvent() {
 var lastElement = document.getElementById("NumOfElements");
 if(lastElement.innerHTML) {
  for (var i=1; i<=lastElement.innerHTML; i++) hideLayer('dropmenu'+i);
 }

}


function test(obj){
var r = "";
var o = obj;
  for(i in o){
   r += i + "=" + o[i] + "\t";
  }
  alert(r);
}

function init() {
   if(navigator.appCodeName == 'Mozilla') {
      if(navigator.userAgent.indexOf('Opera') != -1) {
         browserType = "opera";
         browserVersion = navigator.userAgent.substring(navigator.userAgent.indexOf('v'));
      } else if(navigator.userAgent.indexOf('Gecko') != -1) {
         browserType = "mozilla";
      } else if(navigator.appName == 'Microsoft Internet Explorer') {
         browserType = "explorer";
         browserVersion = navigator.appVersion.substring(0,3);
      } else if(navigator.appName == 'Netscape') {
         browserType = "netscape";
         browserVersion = navigator.appVersion.substring(0,3);
      }
   }
}
init();

function getAbsoluteLeft(objectId) {
        // Get an object left position from the upper left viewport corner
        o = document.getElementById(objectId)
        oLeft = o.offsetLeft            // Get left position from the parent object
        while(o.offsetParent!=null) {   // Parse the parent hierarchy up to the document element
                oParent = o.offsetParent    // Get parent object reference
                oLeft += oParent.offsetLeft // Add parent left position
                o = oParent
        }
        return oLeft
}

function getAbsoluteTop(objectId) {
        // Get an object top position from the upper left viewport corner
        o = document.getElementById(objectId)
        oTop = o.offsetTop            // Get top position from the parent object
        while(o.offsetParent!=null) { // Parse the parent hierarchy up to the document element
                oParent = o.offsetParent  // Get parent object reference
                oTop += oParent.offsetTop // Add parent top position
                o = oParent
        }
        return oTop
}
