function webClient() {
	var i;
	this.IE    = false;
	this.NS    = false;
	this.OP    = false; 
	this.release = null;
	if ((i = navigator.userAgent.indexOf("Opera")) >= 0) {
		this.OP = true;
		this.release = parseFloat(navigator.userAgent.substr(i + 5));
		return;
	}
	if ((i = navigator.userAgent.indexOf("MSIE")) >= 0) {
		this.IE = true;
		this.release = parseFloat(navigator.userAgent.substr(i + 4));
		return;
	}
	if ((i = navigator.userAgent.indexOf("Netscape6/")) >= 0) {
		this.NS = true;
		this.release = parseFloat(navigator.userAgent.substr(i + 10));
		return;
	}
	if ((i = navigator.userAgent.indexOf("Netscape7/")) >= 0) {
		this.NS = true;
		this.release = parseFloat(navigator.userAgent.substr(i + 10));
		return;
	}
	if ((i = navigator.userAgent.indexOf("Gecko")) >= 0) {
		this.NS = true;
		this.release = 6.1;
		return;
	}
}

var webClient = new webClient();
var activeButton = null;
var activeSubButton = null;

if (webClient.IE)
	document.onmousedown = pageMouseDown;
  else
	document.addEventListener("mousedown", pageMouseDown, true);

function pageMouseDown(event) {
	var el;
	if (webClient.IE)
    	el = window.event.srcElement;
	  else
		el = (event.target.tagName ? event.target : event.target.parentNode);
	if (el == activeButton || el == activeSubButton)
		return;
	if (el.className != "menuButton"  && el.className != "menuItem" && el.className != "menuItemSep" && el.className != "menu") {
		if (activeButton) closeMenu(activeButton);
		if (activeSubButton) closeSubMenu(activeSubButton);
	}
}

function menuTouch(event, menuName) {
	var button;
	if (webClient.IE)
		button = window.event.srcElement;
	  else
		button = (event.target.tagName ? event.target : event.target.parentNode);
	if (!button.menu && menuName)
		button.menu = document.getElementById(menuName);
	if (activeButton && activeButton != button)
		closeMenu(activeButton);
	if (activeSubButton && activeSubButton != button)
		closeSubMenu(activeSubButton);
	if (!button.isactive)
		if (menuName)
			openMenu(button);
	return false;
}

function subMenuTouch(event, menuName) {
	var button;
	if (webClient.IE)
		button = window.event.srcElement;
	  else
		button = (event.target.tagName ? event.target : event.target.parentNode);
	if (!button.menu && menuName)
		button.menu = document.getElementById(menuName);
	if (activeSubButton && activeSubButton != button)
		closeSubMenu(activeSubButton);
	if (!button.isactive && menuName)
		openSubMenu(button);
	return false;
}

function openSubMenu(button) {
	var w, dw, x, y;
	button.className = "menuItemActive";  
	if (webClient.IE && !button.menu.firstChild.style.width) {
		w = button.menu.firstChild.offsetWidth;
		button.menu.firstChild.style.width = w + "px";
		dw = button.menu.firstChild.offsetWidth - w;
		w -= dw;
		button.menu.firstChild.style.width = w + "px";
	}
	x = getPageOffsetLeft(button)+ button.offsetWidth;;
	y = getPageOffsetTop(button);
	x++;
	y++;
	button.menu.style.left = x + "px";
	button.menu.style.top  = y + "px";
	button.menu.style.visibility = "visible";
	button.isactive = true;
	activeSubButton = button;
}

function openMenu(button) {
	var w, dw, x, y;
	button.className = "menuButtonActive";
	if (webClient.IE && !button.menu.firstChild.style.width) {
		w = button.menu.firstChild.offsetWidth;
		button.menu.firstChild.style.width = w + "px";
		dw = button.menu.firstChild.offsetWidth - w;
		w -= dw;
		button.menu.firstChild.style.width = w + "px";
	}
	x = getPageOffsetLeft(button)-getPageOffsetLeft(button.offsetParent)+8;  
	y = getPageOffsetTop(button)-getPageOffsetTop(button.offsetParent)+97+button.offsetHeight;
	button.menu.style.left = x + "px";
	button.menu.style.top  = y + "px";
	button.menu.style.visibility = "visible";
	button.isactive = true;
	activeButton = button;
}

function closeMenu(button) {
//	button.menu.id  = topicmenu1
	button.className = "menuButton";
	if (button.menu) button.menu.style.visibility = "hidden";
	button.isactive = false;
	activeButton = null;
}

function closeSubMenu(button) {
	button.className = "menuItem";
	if (button.menu) button.menu.style.visibility = "hidden";
		button.isactive = false;
		activeSubButton = null;
}

function getPageOffsetLeft(el) {
	return el.offsetLeft + (el.offsetParent ? getPageOffsetLeft(el.offsetParent) : 0);
}

function getPageOffsetTop(el) {
	return el.offsetTop + (el.offsetParent ? getPageOffsetTop(el.offsetParent) : 0);
}