var activeCatButton = null;
var activeSubCatButton = null;

function catmenuTouch(event, catmenuName) {
  var button;
  if (webClient.IE)
    button = window.event.srcElement;
  else
    button = (event.target.tagName ? event.target : event.target.parentNode);

  if (!button.catmenu && catmenuName)
    button.catmenu = document.getElementById(catmenuName);

  if (activeButton)
    closeMenu(activeButton);

  if (activeCatButton && activeCatButton != button)
    closeCatMenu(activeCatButton);
  if (activeSubCatButton && activeSubCatButton != button)
    closeSubCatMenu(activeSubCatButton);
	
  if (!button.isactive)
  	if (catmenuName) {
	    openCatMenu(button);
	//} else {
	//	activeCatButton=button;
	//	button.isactive=true;
	//	button.className = "catmenuButtonActive";
	}
  return false;
}

function subCatMenuTouch(event, catmenuName) {
  var button;

  if (webClient.IE)
    button = window.event.srcElement;
  else
    button = (event.target.tagName ? event.target : event.target.parentNode);

  if (!button.catmenu && catmenuName)
    button.catmenu = document.getElementById(catmenuName);

  if (activeSubCatButton && activeSubCatButton != button)
    closeSubCatMenu(activeSubCatButton);

  if (!button.isactive && catmenuName)
    openSubCatMenu(button);

  return false;
}

function openSubCatMenu(button) {

  var w, dw, x, y;

  button.className = "catmenuItemActive";  
  
  if (webClient.IE && !button.catmenu.firstChild.style.width) {
    w = button.catmenu.firstChild.offsetWidth;
    button.catmenu.firstChild.style.width = w + "px";
    dw = button.catmenu.firstChild.offsetWidth - w;
    w -= dw;
    button.catmenu.firstChild.style.width = w + "px";
  }

  x = getPageOffsetLeft(button)+ button.offsetWidth;;
  y = getPageOffsetTop(button);

  x++;
  y++;
  
  button.catmenu.style.left = x + "px";
  button.catmenu.style.top  = y + "px";
  button.catmenu.style.visibility = "visible";

  button.isactive = true;
  activeSubCatButton = button;
}

function openCatMenu(button) {

  var w, dw, x, y;

  button.className = "catmenuButtonActive";

  if (webClient.IE && !button.catmenu.firstChild.style.width) {
    w = button.catmenu.firstChild.offsetWidth;
    button.catmenu.firstChild.style.width = w + "px";
    dw = button.catmenu.firstChild.offsetWidth - w;
    w -= dw;
    button.catmenu.firstChild.style.width = w + "px";
  }

  x = getPageOffsetLeft(button)+ button.offsetWidth;  
  y = getPageOffsetTop(button);

  button.catmenu.style.left = x + "px";
  button.catmenu.style.top  = y + "px";
  button.catmenu.style.visibility = "visible";

  button.isactive = true;
  activeCatButton = button;
}

function closeCatMenu(button) {
  button.className = "catmenuButton";

  if (button.catmenu) button.catmenu.style.visibility = "hidden";

  button.isactive = false;
  activeCatButton = null;
}

function closeSubCatMenu(button) {
  button.className = "catmenuItem";

  if (button.catmenu) button.catmenu.style.visibility = "hidden";

  button.isactive = false;
  activeSubCatButton = null;
}
