function toggle(what,pre) {
	var sub = what+"_sub_menu";
	if(document.getElementById(sub).style.display==""||
		document.getElementById(sub).style.display=="none") {
		document.getElementById(sub).style.display="block";
		document.getElementById(sub).style.top=(document.getElementById('menu').offsetHeight)+"px";
		document.getElementById(sub).style.left=(document.getElementById(what).offsetLeft)+"px";
		document.getElementById(sub).style.zIndex = 1000;
	} else {
		document.getElementById(sub).style.display="none";
	}
}

/* var elements = new Array();
var subElements = new Array();
var elementNames = new Array('about');
function initializeVars() {
	for(var i=0;i<elementNames.length;i++) {
		if(elementNames[i]!=document.body.id) {
			var page = elementNames[i]+"_page";
			var subPage = elementNames[i]+"_sub_menu";
			elements[i] = document.getElementById(page);
			if(elements[i]) {
				elements[i].onmouseover = toggle;	
				elements[i].onmouseout = toggle;
			}
			subElements[i] = document.getElementById(subPage);
			if(subElements[i]) {
				subElements[i].onmouseover = subToggle;	
				subElements[i].onmouseout = subToggle;
			}
		}
	}
}

var currentSubMenu="";
var timerId;
var currentZIndex = -1;
var hasFocus="";
var top = 0;
var right = 0;
var bottom = 0;
var left = 0;
var buttonTop = 0;
var buttonRight = 0;
var buttonBottom = 0;
var buttonLeft = 0;

function subToggle(e) {
		var subMenu = this.id;
		//page = this.id;
		
		if(e) {
			getMouseCoordinates(e);
		} else {
			getMouseCoordinates(event);
		}
		
		if((mouseX<=left||mouseX>=right||mouseY<=top||mouseY>=bottom)&&
			(mouseX<=buttonLeft||mouseX>=buttonRight||mouseY<=buttonTop||mouseY>=buttonBottom)) {
			//alert("sub "+mouseY+" "+top+" "+bottom+" "+buttonTop+" "+buttonBottom);
			document.getElementById(subMenu).style.opacity=0;
			document.getElementById(subMenu).style.filter="alpha(opacity=0)";
			document.getElementById(subMenu).style.display="none";
		}
}


function toggle(e) {
		var subMenu = this.id.replace("_page","_sub_menu");
		page = this.id;
		if(e) {
			getMouseCoordinates(e);
		} else {
			getMouseCoordinates(event);
		}
		if(document.getElementById(subMenu).style.display=="none"||
			document.getElementById(subMenu).style.display=="") {
			document.getElementById(subMenu).style.display="inline"; 
			document.getElementById(subMenu).style.zIndex='1000';
			
			if (version >= 5.5&&version <7){
				lists = document.getElementById(subMenu).getElementsByTagName('ul');
				if(lists.length==1) {
					subWidth=200;
				} else {
					subWidth=400;
				}
						
				document.getElementById(subMenu).style.width = subWidth+'px';
			}
						
			//set coordinates of the sub menu
			top = document.getElementById('menu').offsetTop+
				document.getElementById('menu').offsetHeight-1;
			//if(navigator.appName=="Microsoft Internet Explorer") {
				left = document.getElementById('container').offsetLeft+
					document.getElementById(subMenu).offsetLeft;
			//} else {
			//	left = document.getElementById('container').offsetLeft+
			//		document.getElementById(page).offsetLeft;
			//}
			bottom = top + document.getElementById(subMenu).offsetHeight;
			//alert(left);
			right = left + document.getElementById(subMenu).offsetWidth;
			//alert(right);
			buttonTop = document.getElementById('menu').offsetTop;
			buttonLeft = left;
			buttonBottom = document.getElementById('menu').offsetTop+
				document.getElementById('menu').offsetHeight;
			//alert(document.getElementById('menu').offsetHeight);
			buttonRight = left + document.getElementById(page).offsetWidth;
			if(right<document.getElementById('container').offsetLeft+
				document.getElementById('content').offsetLeft+
				document.getElementById('menu').offsetWidth) {
				//document.getElementById(subMenu).style.left=left+"px";
			} else {
				document.getElementById(subMenu).style.right=0;
			}
			for(var i=0;i<elements.length;i++) {
				if(elements[i]&&elements[i].id!=page) {
					thisSubPage = elements[i].id.replace("_page","")+"_sub_menu";
					document.getElementById(thisSubPage).style.opacity=0;
					document.getElementById(thisSubPage).style.filter="alpha(opacity=0)";
					document.getElementById(thisSubPage).style.display="none";
				}
			}
			fade(subMenu,'in');
		} else {
			if((mouseX<left||mouseX>right||mouseY<top||mouseY>bottom)&&
			(mouseX<=buttonLeft||mouseX>=buttonRight||mouseY<=buttonTop||mouseY>=buttonBottom)) {
				//alert(mouseX+" "+left+" "+right+" "+buttonLeft+" "+buttonRight);
				document.getElementById(subMenu).style.opacity=0;
				document.getElementById(subMenu).style.filter="alpha(opacity=0)";
				document.getElementById(subMenu).style.display="none";
			}
		}
}

function fade(subMenu,inOut) {
	if(timerId) {
	
		clearTimeout(timerId);
	}
 	alpha = Number(document.getElementById(subMenu).style.opacity);
 	if(inOut=="in") {
		alpha+=.05;
		document.getElementById(subMenu).style.opacity = alpha;
		document.getElementById(subMenu).style.filter="alpha(opacity="+(alpha*100)+")";
	
		if(document.getElementById(subMenu).style.opacity<.85) {
			timerId = setTimeout('fade(\''+subMenu+'\',\''+inOut+'\')',10);
		} else {
			document.getElementById(subMenu).style.opacity=.85;
			document.getElementById(subMenu).style.filter="alpha(opacity=85)";
		}
	} else {
		alpha-=.1;
		document.getElementById(subMenu).style.opacity=alpha;
		document.getElementById(subMenu).style.filter="alpha(opacity="+(alpha*100)+")";
		
		if(document.getElementById(subMenu).style.opacity>0) {
			timerId = setTimeout('fade(\''+subMenu+'\',\''+inOut+'\')',10);
		} else {
			document.getElementById(subMenu).style.opacity=0;
			document.getElementById(subMenu).style.filter="alpha(opacity=0)";
			document.getElementById(subMenu).style.display="none";
		}
	}
}

var mouseX;
var mouseY;
function getMouseCoordinates(event) {
mouseX = getMouseX(event);
mouseY = getMouseY(event);
function getMouseX(evt) {
	if (evt.pageX) return evt.pageX;
	else if (evt.clientX)
   return evt.clientX + (document.documentElement.scrollLeft ?
   document.documentElement.scrollLeft :
   document.body.scrollLeft);
else return null;
}

function getMouseY(evt) {
if (evt.pageY) return evt.pageY;
else if (evt.clientY)
   return evt.clientY + (document.documentElement.scrollTop ?
   document.documentElement.scrollTop :
   document.body.scrollTop);
else return null;
}
}

 */