// Config
var timeout = 500;
var delaytime = 200;
var browser = "unkown";

// Browser Checking
if(navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) >= 4) 
	browser = "ie4";
else if(navigator.appName == "Netscape" && parseInt(navigator.appVersion) >= 4 && parseInt(navigator.appVersion) < 5) 
	browser = "nav4";
else if(navigator.appName == "Netscape" && parseInt(navigator.appVersion) >= 5) 
	browser = "nav6";


// The MenuBar object
function MenuBar(reference, menuwidth) 
{
	this.reference = reference;	// menubar's id name
	this.menuwidth = menuwidth;
	this.menus = null;
	this.menuClicked = -1;
	
	this.addMenu = MenuBar_addMenu;
	this.delayMenu = MenuBar_delayMenu; // additional function
	this.handleClick = MenuBar_handleClick;
	this.hideMenu = MenuBar_hideMenu;
	this.display = MenuBar_display;
	this.displayIE4 = MenuBar_displayIE4;
	this.displayNav4 = MenuBar_displayNav4;
	this.displayNav6 = MenuBar_displayNav6;
	this.showMenu = MenuBar_showMenu;
	this.showMenuIE4 = MenuBar_showMenuIE4;
	this.showMenuNav4 = MenuBar_showMenuNav4;
	this.showMenuNav6 = MenuBar_showMenuNav6;
	
	if(browser == "ie4") this.chImage = Menu_chImageIE;
	else if(browser == "nav4") this.chImage = Menu_chImageNav4;
	else if(browser == "nav6") this.chmage = Menu_chImageNav6;
}

function MenuBar_addMenu(menu) 
{
	if(this.menus == null) 
	{
		this.menus = new Array(1);
		this.menus[0] = menu;
	}
	else 
	{
		var n = this.menus.length;
		this.menus[n] = menu;
	}
}

function MenuBar_delayMenu(n)
{
	timeout = setTimeout(this.reference + ".hideMenu("+n+")", 200);
}

function MenuBar_handleClick(n) 
{
	if(this.menuClicked >= 0) 
	{
		if(n == this.menuClicked) 
		{
			this.hideMenu(n);
			this.menuClicked = -1;
		}
		else
		{
			this.hideMenu(this.menuClicked);
			this.showMenu(n);
			this.menuClicked = n;
		}
	}
	else
	{
		this.showMenu(n);
		this.menuClicked = n;
	}
}

function MenuBar_hideMenu(n) 
{
	var menuItemDiv;
	if(browser == "ie4") 
	{
		menuItemDiv = document.all(this.reference+"."+n+".mi",0);
		menuItemDiv.style.visibility = "hidden";

	}
	else if(browser == "nav4") 
	{
		menuItemDiv = document.layers[this.reference+"."+n+".mi"];
		menuItemDiv.visibility = "hidden";
	}
/*	else if(browser == "nav6") 
	{
		menuItemDiv = document.getElementById(this.reference+"."+n+".mi");
		menuItemDiv.style.zIndex = -100;
		menuItemDiv.style.visibility = "hidden";
	}*/  	
	
	this.chImage(n, this.menus[n].imgClose);
}

function MenuBar_showMenu(n) 
{
	if (this.menuClicked >= 0) 
	{
		if(n != this.menuClicked) 
		{
			this.hideMenu(this.menuClicked);
		}
	}
	this.menuClicked = n;
	
	this.chImage(n, this.menus[n].imgOpen);
	if(browser == "ie4") this.showMenuIE4(n);
	else if(browser == "nav4") this.showMenuNav4(n);
//	else if(browser == "nav6") this.showMenuNav6(n);
}

function MenuBar_showMenuIE4(n) 
{
	var menuBarDiv = document.all(this.reference,0);
	var menuDiv = document.all(this.reference+"."+n,0);
	var menuItemDiv = document.all(this.reference+"."+n+".mi",0);
	var menuBarX = menuBarDiv.offsetLeft;
	var menuBarY = menuBarDiv.offsetTop;
	var menuBarWidth = menuBarDiv.offsetWidth;
	var menuBarHeight = menuBarDiv.offsetHeight;
	var delta = 0;

	for(var i=0; i<n; ++i) 
	{
		var tempDiv = document.all(this.reference+"."+i,0);
		delta += tempDiv.offsetWidth;
	}
	menuItemDiv.style.left = menuBarX + delta;
	menuItemDiv.style.top = 20;
	menuItemDiv.style.visibility = "visible";
}

function MenuBar_showMenuNav4(n) 
{
	var menuBarDiv = document.layers[this.reference];
	var menuItemDiv = document.layers[this.reference+"."+n+".mi"];
	var menuBarX = menuBarDiv.pageX;
	var menuBarY = menuBarDiv.pageY;
	var menuWidth = menuBarDiv.clip.width;
	var menuHeight = menuBarDiv.clip.height;
	var avgWidth = 0;
	
	for(var i=0; i<n; ++i)
	{
		var tempLayer = document.layers[this.reference].layers[this.reference + "." + i];
		avgWidth += tempLayer.clip.width;
	}

	menuItemDiv.pageX = menuBarX+avgWidth;
	menuItemDiv.pageY = menuBarY+menuHeight;
	menuItemDiv.visibility = "visible";
}

function MenuBar_showMenuNav6(n) 
{
	var menuBarDiv = document.getElementById(this.reference);
	var menuDiv = document.getElementById(this.reference+"."+n);
	var menuItemDiv = document.getElementById(this.reference+"."+n+".mi");
	var menuBarX = parseInt(menuBarDiv.style.left);
	var menuBarY = parseInt(menuBarDiv.style.top);
	var menuBarWidth = parseInt(menuBarDiv.style.marginTop);
	var menuBarHeight = parseInt(menuBarDiv.style.marginRight);
	var delta = this.menuwidth + 2;
	
	if(delta == 2) delta = 75;
	delta *= n;
	menuItemDiv.style.left = menuBarX + delta + "px";
	menuItemDiv.style.top = menuBarY + 35 + "px";
	menuItemDiv.style.zIndex = 100;
	menuItemDiv.style.visibility = "visible";
}

function MenuBar_display(x, y) 
{
	if(browser == "ie4") this.displayIE4(x,y);
	else if(browser == "nav4") this.displayNav4(x,y);
	else if(browser == "nav6") this.displayNav6(x,y);
}

function MenuBar_displayIE4(x,y) 
{
	var styleString = 'position: absolute; left: '+x+'; top: '+y;
	document.writeln('<div id="'+this.reference+'" style="'+styleString+'">');
	document.write('<table border="0" cellspacing="0" cellpadding="0" height="24">');
	document.write('<tr>');

	for(var i=0; i<this.menus.length; ++i)
		this.menus[i].displayIE4(this.reference,i);
	
	document.writeln('</tr></table>');
	document.writeln('</div>');
				
	for(var i=0; i<this.menus.length; ++i)
		this.menus[i].displayMenuItemsIE4(this.reference,i);
}

function MenuBar_displayNav4(x,y) 
{
	var styleString = 'position: absolute; left: '+x+'; top: '+y;
	document.writeln('<layer id="'+this.reference+'" pagex="'+x+'" pagey="'+y+'">');
	document.writeln('<table border="0" cellspacing="0" cellpadding="0" height="24"><tr>');

	for(var i=0; i<this.menus.length; ++i)
		this.menus[i].displayNav4(this.reference,i);

	document.writeln('</tr></table>');
	document.writeln('</layer>');

	for(var i=0; i<this.menus.length; ++i)
		this.menus[i].displayMenuItemsNav4(this.reference,i);
}

function MenuBar_displayNav6(x,y) 
{
	for(var i=0; i<this.menus.length; ++i)
		this.menus[i].displayMenuItemsNav6(this.reference,i);
	
	var styleString = 'position: absolute; left: '+x+'; top: '+y;
	document.writeln('<div id="'+this.reference+'" style="'+styleString+'">');
	document.write('<table border="0" cellspacing="0" cellpadding="0" height="24">');
	document.write('<tr>');

	for(var i=0; i<this.menus.length; ++i)
		this.menus[i].displayNav6(this.reference,i);
					
	document.writeln('</tr></table>');
	document.writeln('</div>');
}

// The Menu object
function Menu(imgClose, imgOpen, alt, imgWidth, imgHeight, linkTo, menuItemWidth, backgroundColor, textColor) 
{
	if(arguments.length < 3) textColor = "black";
	if(arguments.length < 2) backgroundColor = "white";
	
	this.imgClose = imgClose;
	this.imgOpen = imgOpen;
	this.alt = alt;
	this.imgWidth = imgWidth;
	this.imgHeight = imgHeight;
	this.linkTo = linkTo;
	this.backgroundColor = backgroundColor;
	this.textColor = textColor;
	this.fontSize = 12;
	this.fontWeight = "plain";
	this.fontFamily = "arial, helvetica, verdana, sans-serif";
	this.fontColor = textColor;
	this.mouseOverColor = "purple";
	this.menuItemWidth = menuItemWidth;
	
	this.borderWidth = 0;
	if (sborder == "show") this.borderWidth = 1;   // sborder delcare in menu_param.js/bmenu_param.js
	this.shimSrc = imgPath + "img_index/shim.gif"; // imgPath delcare in home.htm/bhome.htm
	
	this.menuItems = new Array();
			
	this.addMenuItem = Menu_addMenuItem;
	this.displayIE4 = Menu_displayIE4;
	this.displayNav4 = Menu_displayNav4;
	this.displayNav6 = Menu_displayNav6;
	this.displayMenuItemsIE4 = Menu_displayMenuItemsIE4;
	this.displayMenuItemsNav4 = Menu_displayMenuItemsNav4;
	this.displayMenuItemsNav6 = Menu_displayMenuItemsNav6;
		
	if(browser == "ie4") this.chBGColor = Menu_chBGColorIE;
	else if(browser == "nav4") this.chBGColor = Menu_chBGColorNav4;
//	else if(browser == "nav6") this.chBGColor = Menu_chBGColorNav6;

}

function Menu_addMenuItem(name, action, shimWidth) 
{
	var menuItem = new MenuItem(name, action, shimWidth);
	if(this.menuItems == null) 
	{
		this.menuItems = new Array(1);
		this.menuItems[0] = menuItem;
	}
	else
	{
		var n = this.menuItems.length;
		this.menuItems[n] = menuItem;
	} 
}

function Menu_displayIE4(reference, menuNumber) 
{
	document.writeln('<th>');
	var id = ""+reference + "." + menuNumber;
	var imgName = "img"+menuNumber;
	document.write('<div id="'+id+'" style="padding: 0 background-color: '+this.backgroundColor+'; color: '+this.textColor+'">');

	var styleString = "text-decoration: none; color: "+this.textColor;
	document.writeln('<a href="');
	if (this.linkTo == "NoLink") document.write('javascript:void(0)');
	else document.write(this.linkTo);
	document.write('" style="'+styleString+'" onmouseover="clearTimeout(timeout); '+reference+'.showMenu('+menuNumber+')" onmouseout="'+reference+'.delayMenu('+menuNumber+')">');
	document.write('<img name="'+imgName+'" src="'+this.imgClose+'" width="'+this.imgWidth+'" height="'+this.imgHeight+'" alt="'+this.alt+'" border="0"></a>');
	document.writeln('</div></th>');
}

function Menu_displayMenuItemsIE4(reference, menuNumber) 
{
	var id = ""+reference + "." + menuNumber + ".mi";
	var style="position: absolute; left: 10; top:10; visibility: hidden";
	document.write('<div id="'+id+'" style="'+style+'">');
	document.write('<table width="'+this.menuItemWidth+'" border="0" cellspacing="0" cellpadding="0">');

	for(var i=0; i<this.menuItems.length; ++i) 
	{
		document.write('<tr><td>');
		var id2 = 'mitem'+menuNumber+'_'+i;
		document.write('<div id="' + id2 + '" style="background-color: '+this.backgroundColor+'; width='+this.menuItemWidth+'; border-width:1,2; border-color:dark; border-style:solid; padding:0px,5px,1px,3px;" ');
		document.write('onmouseover="clearTimeout(timeout);window.'+reference+'.menus['+menuNumber+'].chBGColor(this, true);" ');
		document.write('onmouseout="window.'+reference+'.menus['+menuNumber+'].chBGColor(this, false);'+reference+'.delayMenu('+menuNumber+')">');
		
		var styleString = "font-family: "+this.fontFamily+"; font-weight: "+this.fontWeight+"; font-size: "+this.fontSize+"; text-decoration: none; color: "+this.textColor;
		document.write('<a href="'+this.menuItems[i].action+'" style="'+styleString+'" ');
		document.writeln('>');
		document.writeln(this.menuItems[i].name+'<img border="'+this.borderWidth+'" src="'+this.shimSrc+'" width="'+this.menuItems[i].shimWidth+'" height="10"></a>');
		document.write('</div>');
		
		document.write('</td></tr>');
	}
	document.writeln('</table></div>');
}

function Menu_displayNav4(reference, menuNumber) 
{
	var id = ""+reference + "." + menuNumber;
	var imgName = "img"+menuNumber;
	
	document.write('<td bgcolor="'+this.backgroundColor+'">');
	document.write('<ilayer name="' + id + '">');
	document.write('<a href="');
	if (this.linkTo == "NoLink") document.write('javascript:void(0)');
	else document.write(this.linkTo);
	document.write('" onmouseover="clearTimeout(timeout); window.'+reference+'.showMenu('+menuNumber+')" onmouseout="window.'+reference+'.delayMenu('+menuNumber+')">');
	document.write('<img name="'+imgName+'" src="'+this.imgClose+'" width="'+this.imgWidth+'" height="'+this.imgHeight+'" alt="'+this.alt+'" border="0"></a>');
	document.write('</ilayer>');
	document.write('</td>');
}

function Menu_displayMenuItemsNav4(reference, menuNumber) 
{
	var id = ""+reference + "." + menuNumber + ".mi";
	document.write('<layer id="'+id+'" visibility="hidden" onload="layout(this)";>');

	for(var i=0; i<this.menuItems.length; ++i) 
	{
		var id2 = 'mitem'+menuNumber+'_'+i
		document.write('<layer name="'+ id2 +'" width="'+this.menuItemWidth+'" height="24" bgcolor="'+this.backgroundColor+'" class="itemBorder"');
		document.write('onmouseover="clearTimeout(timeout);window.'+reference+'.menus['+menuNumber+'].chBGColor(this, true);" ');
		document.write('onmouseout="window.'+reference+'.menus['+menuNumber+'].chBGColor(this, false);window.'+reference+'.delayMenu('+menuNumber+')">');
	
		document.write('<TABLE width="'+this.menuItemWidth+'" border="0" cellspacing="0" cellpadding="0">');
		document.write('<TR><TD align="left" height="17">');
		
		document.write('<a class="itemText" href="'+this.menuItems[i].action+'">');
		document.write(this.menuItems[i].name+'<img border="'+this.borderWidth+'" src="'+this.shimSrc+'" width="'+this.menuItems[i].shimWidth+'" height="10">');
		document.write('</a>');	
		
		document.write('</td></tr></table>');
		
		document.write('</layer>');
	}
	document.writeln('</layer>');
}

function Menu_displayNav6(reference, menuNumber) 
{
	document.writeln('<th>');

	var id = ""+reference + "." + menuNumber;
	document.write('<div id="'+id+'" style="padding: 0 background-color: '+this.backgroundColor+'; color: '+this.textColor+'">');

	var styleString = "text-decoration: none; color: "+this.textColor;
	document.writeln('<a href="javascript:void(0)" style="'+styleString+'" onmouseover="clearTimeout(timeout); '+reference+'.showMenu('+menuNumber+')" onmouseout="'+reference+'.delayMenu('+menuNumber+')">'+this.imgClose+'</a>');
	document.writeln('</div></th>');
}

function Menu_displayMenuItemsNav6(reference, menuNumber) 
{
	var id = ""+reference + "." + menuNumber + ".mi";

	var style="position: absolute; left: 10; top:10; visibility: hidden";
	document.write('<div id="'+id+'" style="'+style+'">');
	document.write('<table border="0" cellspacing="0" cellpadding="0">');

	for(var i=0; i<this.menuItems.length; ++i) 
	{
		document.write('<tr><td bgcolor="'+this.backgroundColor+'">');
		document.write('<div id="'+menuNumber+'_'+i+'"; style="background-color: '+this.backgroundColor+'; border-width:1,2; border-color:dark; border-style:solid; padding:0px,5px,1px,3px;">');

		var styleString = "font-weight: bold; text-decoration: none; color: "+this.textColor;
		document.write('<a target="Main" href="'+this.menuItems[i].action+'" style="'+styleString+'" ');
		document.writeln('onmouseover="clearTimeout(timeout);chBGColor();" onmouseout="'+reference+'.delayMenu('+menuNumber+')">');
		document.writeln(this.menuItems[i].name+'</a>');
		
		document.write('</div>');
		document.write('</td></tr>');
	}
	document.writeln('</table></div>');
}

// The MenuItem object
function MenuItem(name, action, shimWidth) 
{
	this.name = name;
	this.action = action;
	this.shimWidth = shimWidth;
}

function Menu_chBGColorIE(reference, over)
{
	reference.style.background=over?this.mouseOverColor:this.backgroundColor;
}

function Menu_chBGColorNav4(reference, over)
{
	reference.bgColor=over?this.mouseOverColor:this.backgroundColor;
}

function Menu_chBGColorNav6()
{
}

function Menu_chImageIE(menuNumber, img)
{
	var tmp = document.all(this.reference+"."+menuNumber, 0);
	var imgName = "img"+menuNumber;
	tmp.document.images[imgName].src = img;	
}

function Menu_chImageNav4(menuNumber, img)
{
	var numLayerMenu = document.layers[0].document.layers.length;

	if (document.layers[0].document.layers[0].document.images.length > 0)
	{
		document.layers[0].document.layers[menuNumber].document.images[0].src = img;
	}
}

function Menu_chImageNav6(menuNumber, img)
{
}

function layout(parent)
{
	var totalY = 0;
	for (var i=0; i<parent.layers.length; i++)
	{
		parent.layers[i].pageY = totalY;
		totalY += parent.layers[i].clip.height;
	}
	parent.clip.height = totalY;
}

