var timeOutFlag;
var timeOutLength=70;
var allMenus=new Array();
var numMenus=0;
var currentMenu='';
var keyP=0;
var keyP_handler='disabled';

//---	Browser Detection ---------------------------------------------------------------------------------
DOM=(document.getElementById) ? 1 : 0;
NS4=(document.layers) ? 1 : 0;
NS7=((navigator.userAgent.indexOf("Gecko") > -1) && (navigator.userAgent.indexOf("Mozilla/5") > -1 || navigator.userAgent.indexOf("Mozilla 5") > -1) && navigator.userAgent.indexOf("MSIE") == -1) ? 1 : 0;
Konqueror=(navigator.userAgent.indexOf("Konqueror") > -1) ? 1 : 0;
//Konqueror2=(navigator.userAgent.indexOf("Konqueror 2") > -1 || navigator.userAgent.indexOf("Konqueror/2") > -1) ? 1 : 0;
//Konqueror3=(navigator.userAgent.indexOf("Konqueror 3") > -1 || navigator.userAgent.indexOf("Konqueror/3") > -1) ? 1 : 0;
Opera=(navigator.userAgent.indexOf("Opera") > -1) ? 1 : 0;
//Opera5=(navigator.userAgent.indexOf("Opera 5") > -1 || navigator.userAgent.indexOf("Opera/5") > -1) ? 1 : 0;
//Opera6=(navigator.userAgent.indexOf("Opera 6") > -1 || navigator.userAgent.indexOf("Opera/6") > -1) ? 1 : 0;
IE=(document.all) ? 1 : 0;
//IE4=IE && !DOM;

//---------------------------------------------------------------------------------------------------------


	
function initMDown(eItem,wherefunc,funcname){
	if(DOM && NS7){
		eItem.addEventListener('mouseup',eval(wherefunc+'.'+funcname),false);
	}
	else if(DOM && IE){
		eItem.attachEvent('onmouseup',eval(wherefunc+'.'+funcname));
	}
	else {
		onmouseup=eval(wherefunc+'.'+funcname);
	}
}


function isMDown(e){
	e = e || window.Event || window.event;
	button=e.button || e.which;

	if(keyP==16 || button==2 || button==3){	return(true);}
	else{					return(false);}
} 



function setKeyP(e){
	e = e || window.Event || window.event;
	keyP=e.which || e.keyCode;
	if(keyP_handler=='enabled'){handle_keyP();}	
}

function clearKeyP(e){
	keyP=0;
}


if(DOM && NS7){
	document.addEventListener('keydown',setKeyP,false);
	document.addEventListener('keyup',clearKeyP,false);
}

else if(DOM && IE){
	document.attachEvent('onkeydown',setKeyP);
	document.attachEvent('onkeyup',clearKeyP);
}

else {
	document.onkeydown=setKeyP;
	document.onkeyup=clearKeyP;
}



function doOption(menu,menucontent){
showMenu(menu,false);
alert(menu+' -> '+menucontent);
}


function activateOption(eItem,on){

if(on){
	eItem.style.background="darkblue";
	eItem.style.color="white";
}
else{
	eItem.style.background="#cccccc";
	eItem.style.color="black";
}

}

function showMenu(menu,on,posstyle){

if(DOM){
	maintableObj=document.getElementById('maintable');
	object=document.getElementById(menu);
	eItem=document.getElementById('top'+menu);
}
else{
	maintableObj=document.all['maintable'];
	object=document.all[menu];
	eItem=document.all['top'+menu];
}

chPosY=maintableObj.offsetTop+maintableObj.offsetHeight+1;
chPosX=maintableObj.offsetLeft+1;

if(on && posstyle=='inset'){
	if(DOM){
		object.style.left=eItem.offsetLeft+chPosX+'px';
		object.style.top=eItem.offsetTop+chPosY+'px';
	}
	else{
		object.style.pixelLeft=eItem.offsetLeft+chPosX;
		object.style.pixelTop=eItem.offsetTop+chPosY;
	}
	object.style.visibility="visible";
	eItem.style.color="black";
	eItem.style.borderRight="1px solid white";
	eItem.style.borderBottom="1px solid white";
	eItem.style.borderLeft="1px solid black";
	eItem.style.borderTop="1px solid black";
	currentMenu=menu;
}
else if(on && posstyle=='outset'){
	object.style.visibility="hidden";
	eItem.style.color="black";
	eItem.style.borderRight="1px solid black";
	eItem.style.borderBottom="1px solid black";
	eItem.style.borderLeft="1px solid white";
	eItem.style.borderTop="1px solid white";
	currentMenu=menu;
}
else{
	object.style.visibility="hidden";
	eItem.style.color="black";
	eItem.style.borderRight="1px solid #cccccc";
	eItem.style.borderBottom="1px solid #cccccc";
	eItem.style.borderLeft="1px solid #cccccc";
	eItem.style.borderTop="1px solid #cccccc";
	currentMenu='';
}

}

function showMenuOLD(menu,on,posstyle){

maintableObj=document.all['maintable'];
object=document.all[menu];
eItem=document.all['top'+menu];

chPosY=maintableObj.offsetTop+maintableObj.offsetHeight+1;
chPosX=maintableObj.offsetLeft+1;

if(on && posstyle=='inset'){
	object.style.pixelLeft=eItem.offsetLeft+chPosX;
	object.style.pixelTop=eItem.offsetTop+chPosY;
	object.style.visibility="visible";
	eItem.style.color="black";
	eItem.style.borderRight="1px solid white";
	eItem.style.borderBottom="1px solid white";
	eItem.style.borderLeft="1px solid black";
	eItem.style.borderTop="1px solid black";
}
else if(on && posstyle=='outset'){
	object.style.visibility="hidden";
	eItem.style.color="black";
	eItem.style.borderRight="1px solid black";
	eItem.style.borderBottom="1px solid black";
	eItem.style.borderLeft="1px solid white";
	eItem.style.borderTop="1px solid white";
}
else{
	object.style.visibility="hidden";
	eItem.style.color="black";
	eItem.style.borderRight="1px solid #cccccc";
	eItem.style.borderBottom="1px solid #cccccc";
	eItem.style.borderLeft="1px solid #cccccc";
	eItem.style.borderTop="1px solid #cccccc";
}

}


function showPopUpMenu(menu,on,x,y){

if(DOM){object=document.getElementById(menu);}
else{	object=document.all[menu];}

if(on){

	if(DOM){
		object.style.left=x+'px';
		object.style.top=y+'px';
	}
	else{
		object.style.pixelLeft=x;
		object.style.pixelTop=y;
	}
	object.style.visibility="visible";
}
else{
	object.style.visibility="hidden";
}
}

function showPopUpMenuOLD(menu,on,x,y){

object=document.all[menu];
if(on){
	object.style.pixelLeft=x;
	object.style.pixelTop=y;
	object.style.visibility="visible";
}
else{
	object.style.visibility="hidden";
}
}


function closeMenu(menu,on){
code='showMenu(\''+menu+'\','+on+',\'inset\')';
timeOutFlag = setTimeout(code,timeOutLength);
}

function closePopUpMenu(menu,on){
code='showPopUpMenu(\''+menu+'\','+on+',-1,-1)';
timeOutFlag = setTimeout(code,timeOutLength);
}

function getOffsetElementX(eItem){
var vx=0;
if(DOM){
	obj=document.getElementById(eItem);
	vx=obj.offsetLeft;
	while(obj.tagName!='BODY' && obj.offsetParent){
		obj=obj.offsetParent;
		vx=vx+obj.offsetLeft;
	}
}
else{
	obj=document.all[eItem];
	vx=obj.offsetLeft;
	while(obj.tagName!='BODY'){
		obj=obj.offsetParent;
		vx=vx+obj.offsetLeft;
	}
}
return(vx);
}

function getOffsetElementY(eItem){
var vy=0;

if(DOM){
	obj=document.getElementById(eItem);
	vy=obj.offsetTop;
	while(obj.tagName!='BODY' && obj.offsetParent){
		obj=obj.offsetParent;
		vy=vy+obj.offsetTop;	
	}
}
else{
	obj=document.all[eItem];
	vy=obj.offsetTop;
	while(obj.tagName!='BODY'){
		obj=obj.offsetParent;
		vy=vy+obj.offsetTop;	
	}
}
return(vy);
}


function getWindowHeight(){
	//if (document.documentElement && document.documentElement.clientHeight){
	//	window_height = document.documentElement.clientHeight;
	//}
	//else 
	if (document.body && IE){
		window_height = document.body.clientHeight;
	}
	else{
		window_height=top.innerHeight;
	}
	
	return(window_height);
}

function getWindowWidth(){
	//if (document.documentElement && document.documentElement.clientWidth){
	//	window_width = document.documentElement.clientWidth;
	//}
	//else 
	if (document.body && IE){
		window_width = document.body.clientWidth;
	}
	else{
		window_width=top.innerWidth;
	}
	
	return(window_width);
}


