// Browser detection
var agent  = navigator.appName.toLowerCase();
var dom    = (document.getElementById)? true : false;
var nn4    = (document.layers)? true : false;
var ie4    = (!dom && ie)? true : false;

// Menu specific
var menuTimeout;

function toggleSelects(show) {
  var selectElements = [];
  selectElements = (dom) ? document.getElementsByTagName('select') : document.all.tags('select');
  for(var i = 0; i < selectElements.length; i++) {
    var theSelect = selectElements[i];
    if(!theSelect) continue;
    if(dom||ie4) {
      theSelect.style.visibility = show ? "inherit" : "hidden";
    } else {
      theSelect.visibility = show ? "inherit" : "hide";
    }
  }
  return true;
}

function showElem(prefix, menuId)
{
	var offset = (menuId-1)*19+'px';
  var elemId = prefix+menuId;

  toggleSelects(false);

	if (dom) {
	    document.getElementById(elemId).style.visibility = "visible";
		document.getElementById(elemId).style.top        = offset;
	} else if (ie4) {
		document.all[elemId].style.visibility = "visible";
		document.all[elemenId].style.top        = offset;
	} else if (nn4) {
  	    document.layers[elemId].visibility = "show";
		document.layers[elemId].top = offset;
	};
}

function hideElem(elemId)
{
	if (dom){
	   document.getElementById(elemId).style.visibility = "hidden";
	}	else if (ie4) {
		document.all[elemId].style.visibility = "hidden";
	}	else if (nn4) {
		document.layers[elemId].visibility = "hide";
  };

  toggleSelects(true);
}

function hideMenu(prefix)
{
	var i = 1;
	while (true) {
	  var elemId = prefix+i;
	  if (dom) {
	    if (document.getElementById(elemId) == null)
          break;
      } else if (ie4) {
	    if (document.all[elemId] == null)
          break;
      } else if (nn4) {
	    if (document.layers[elemId] == null)
          break;
	  } else {
	    break;
	  };
 	  hideElem(elemId);
	  i++;
	};
	
	if( menuTimeout )
	    clearTimeout( menuTimeout );
}
