
	window.onerror = null;
	var bName = navigator.appName;
	var bVer = parseInt(navigator.appVersion);
	var IE4 = (bName == "Microsoft Internet Explorer" && bVer >= 4);
	var FF = (bName == "Netscape");
	var menuActive = 0;
	var menuOn = 0;
	var onLayer;
	var timeOn = null;
	var onItem;
	
	function showLayer(item, cc){
		if (timeOn != null) {
			clearTimeout(timeOn);
			hideLayer(onLayer, onItem);
		}
	
		var index = "0";
		
		if (item.id)
			index = item.id.replace("td","");
			
		var layerName = "submenu" + index;
		var aa = "item" + index;
		var bb = item.offsetParent.id
		
		var s =document.getElementById(aa);
		var c = document.getElementById(bb);

		var tt = findPosX(s) + c.offsetLeft;
		var ww = findPosY(s);
		
		if (IE4) {
			var layers = eval('document.all["'+layerName+'"].style');
			layers.left = tt;
			eval('document.all["'+layerName+'"].style.visibility="visible"');
		}
		else {
			if(document.getElementById){				
				var elementRef = document.getElementById(layerName);
				if((elementRef.style)&& (elementRef.style.visibility != null)){
					elementRef.style.left = tt + 'px';
					elementRef.style.top = ww + 'px';
					elementRef.style.position = 'absolute';
					elementRef.style.visibility = 'visible';					
				}				
			}
		}
		
		if (s != null)
			s.style.backgroundColor = cc;
		
		onLayer = layerName;
		onItem = aa;
	}

	function findPosX(obj)
	{
		var curleft = 0;

		if (!document.layers) {
			var onWindows = navigator.platform ? navigator.platform == "Win32" : false;			
			var macIE45 = document.all && !onWindows && getExplorerVersion() == 4.5;
			var par = obj;
			var lastOffset = 0;
			while(par){
			
				if( par.leftMargin && ! onWindows ) 
					curleft += parseInt(par.leftMargin);
			
				if( (par.offsetLeft != lastOffset) && par.offsetLeft ) 
					curleft += parseInt(par.offsetLeft);
			
				if( par.offsetLeft != 0 )
					lastOffset = par.offsetLeft;
				
				par = macIE45 ? par.parentElement : par.offsetParent;
			}
		} 
		else if (obj.x) 
			curleft += obj.x;
		
		if (curleft > 0)
			curleft -= 2;
			
		return curleft;
	}

	function findPosY(obj)
	{
		var curtop = 0;
				
		if (!document.layers) {
			var onWindows = navigator.platform ? navigator.platform == "Win32" : false;
			var macIE45 = document.all && !onWindows && getExplorerVersion() == 4.5;
			var par = obj;
			var lastOffset = 0;
			
			while(par){
				if( par.topMargin && ! onWindows ) 
					curtop += parseInt(par.topMargin);
				
				if( (par.offsetTop != lastOffset) && par.offsetTop ) 
					curtop += parseInt(par.offsetTop);
				
				if( par.offsetTop != 0 )
					lastOffset = par.offsetTop;
				
				par = macIE45 ? par.parentElement : par.offsetParent;				
			}
		} 
		else if (obj.y) 
			curtop += obj.y;		
			
		try
		{
			if (obj.offsetHeight)
				curtop +=  parseInt(obj.offsetHeight);
		}
		catch(e)
		{
		}
		return curtop;
	}
	
	function hideLayer(layerName, bb){

		if (menuActive == 0)
		{
			if (IE4){
				eval('document.all["'+layerName+'"].style.visibility="hidden"');
			}
			else{
				if(document.getElementById && layerName != null){
					var elementRef = document.getElementById(layerName);
					if((elementRef.style)&& (elementRef.style.visibility!=null)){
						elementRef.style.visibility = 'hidden';
					}					
				}
			}
		}
				
		if (bb != null && bb != 'item' + menuitem)
		{
			var item = document.getElementById(bb);
			if (item != null)
				item.style.backgroundColor = '#ffffff';
		}
	}

	function btnTimer() {
		timeOn = setTimeout("btnOut()",600)
	}

	function btnOut(layerName){
		if (menuActive == 0 && onLayer != null){
			hideLayer(onLayer, onItem)
		}
	}

	var item;
	function menuOver(itemName,ocolor){
		item=itemName;
		itemName.style.backgroundColor = ocolor; //background color change on mouse over
		clearTimeout(timeOn);
		menuActive = 1
	}

	function menuOut(itemName,ocolor){
		if(item != null)
			itemName.style.backgroundColor = ocolor;
		menuActive = 0
		timeOn = setTimeout("hideLayer(onLayer, onItem)", 100)
	}
