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.version = 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 (activeButton == null)
//return;

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);
} else {
//	activeButton=button;
//	button.isactive=true;
//	button.className = "menuButtonActive";
}
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, p, d, e;

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)-1;
y  = getPageOffsetTop(button) + button.offsetHeight;
d  = window.innerWidth;
e  = 0.01;

if (d >= 1000) {e=50/1000; }
if (d >= 1152) {e=60/1100; }
if (d >= 1280) {e=120/1200; }
if (d >= 1360) {e=160/1300; }
if (d >= 1400) {e=200/1400; }
if (d >= 1440) {e=220/1500; }
if (d >= 1600) {e=335/1600; }
if (d >= 1680) {e=345/1600; }

p  = (d * e);
//alert ('P '+p+' X '+x+' W '+window.innerWidth+' e '+e+' d '+d);

// mesos am 21.10.2010
if( webClient.IE )
{
	button.menu.style.left = x + "px";
	button.menu.style.top= y + "px";
}
else
{
	button.menu.style.left = x - p + "px";
	button.menu.style.top= 30 + "px";
}
button.menu.style.visibility = "visible";

button.isactive = true;
activeButton = button;
}

function closeMenu(button) {
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);
}



