var menuOpen=null;
var isIE = isSaf = isNS = false; // 1 for Internet Explorer, 0 for other browsers
if(navigator.appName.indexOf('Microsoft') !=-1) {
	isIE = true;
}/* else if(navigator.appName.indexOf('Safari') != -1) {
	isSaf = true;
} else if(navigator.appName.indexOf('Netscape') != -1) {
	//isNS = true;
}*/

function getdom(objid) {
	return (document.getElementById(objid));
	/*if( isIE) {
		return (document.getElementById(objid));
	} else if(isNS) {
		return (document.layers[objid]);
	} else if(isSaf) {
		return
	}*/
}

function repositionMenus() {
	showmenu(cmenu);
	highlightSubmenu(csubmenu);
}

function showmenu(menuid) {
	if(menuOpen != null) {
		getdom(menuOpen).className = 'bmenu';
		removeAllChildren(getdom('mcontainer'));
		menuOpen = null;
	}
	
	if(submenus[menuid]!=null && menuOpen!==menuid) {
		menuOpen=menuid;
		qq = getdom('mcontainer');
		if(isIE) {
			qq.style.top= getdom(menuid).offsetTop+220;
			qq.style.left = findPosX(getdom(menuid)) + 100;;
		} else {
			qq.style.top = getdom(menuid).offsetTop+220+ 'px';
			qq.style.left = findPosX(getdom(menuid))+100+'px';
		}
		getdom(menuid).className = 'bmenu active';
		var nrsub = submenus[menuid].length;
		qq.style.display='block';
		qq.style.height = nrsub * 35+ (isIE ? '' : 'px');
		
		for(x=0; x < nrsub; x++) {
			ndiv=document.createElement('div');
			getdom('mcontainer').appendChild(ndiv);
			ndiv.innerHTML=submenus[menuid][x][0];
			ndiv.className='bmenuon' + (x == nrsub-1 ? ' last' : '');
			ndiv.setAttribute('openlink', submenus[menuid][x][1]);
			if( cmenu == menuid && csubmenu == x) {
				ndiv.setAttribute('subactive',1);
			} else {
				ndiv.setAttribute('subactive', 0);
			}
			ndiv.onmouseover=function() {
					this.className = 'bmenuon'+(this.getAttribute('subactive')>0 ? ' active' : ' over');
			};
			ndiv.onmouseout=function() {
					this.className = 'bmenuon' + (this.getAttribute('subactive') == 1 ? ' active' : '');
			};
			ndiv.onclick=function() {
					document.location.href=this.getAttribute('openlink');
			};
		}
		try {
			if(cmenu == menuid && csubmenu != -1) {
				highlightSubmenu(csubmenu);
			}
		} catch(e) {};
	} else {
		menuOpen = menuid;
		getdom(menuid).className = 'bmenu active';
	}
}

function highlightSubmenu(submenuid) {
	try {
		var k = getdom('mcontainer').childNodes;
		k[submenuid].className = 'bmenuon active';
	} catch(e) {};
}

function removeAllChildren(tobj) {
	if(tobj.childNodes.length > 0 ) {
		while(tobj.childNodes.length) {
			tobj.removeChild(tobj.firstChild);
		}
	}
	// hide the container
	tobj.style.display='none';
}

function findPosX(obj) {
	var curleft = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent)	{
			curleft += obj.offsetLeft;
			if(!obj.offsetParent) {
				break;
			}
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj) {
	var curtop = 0;
	if (obj.offsetParent){
		while (obj.offsetParent)	{
			curtop += obj.offsetTop;
			if(!obj.offsetParent) {
				break;
			}
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

