var iSelFromX	= new Array;
var iSelFromY	= new Array;
var iSelToX		= new Array;
var iSelToY		= new Array;
var oSelect		= new Array;
var iTblFromX	= new Array;
var iTblFromY	= new Array;
var iTblToX		= new Array;
var iTblToY		= new Array;

var bIsNN6		= false;
var isGecko		= false;
var bIsIE4		= false;
var bExtraMenu	= false;

var sHostName	= window.location.hostname;
var sURLPrefix	= 'http://' + sHostName;

function formatURL(sURL) {
	if (sURL.charAt(0) == '/') return sURLPrefix + sURL;
	else return sURL;
}

function menuBar()
{	this.menus		= new Array();
	this.addMenu	= addMenu;
	this.write		= write;
}
function addMenu(oMenu)
{	this.menus[this.menus.length] = oMenu;
}
function menu(sText, sURL) 
{		this.Text	 	= sText;
		this.URL		= formatURL(sURL);
		this.items		= new Array();
		this.addItem	= addItem;
}		
function addItem(sText, sURL)
{	var oMenuItem = new Object;
	oMenuItem.Text	= sText;
	oMenuItem.URL	= formatURL(sURL);
	this.items[this.items.length] = oMenuItem;
}
function write()
{	
   var userAgent = navigator.userAgent;
   if (navigator.appVersion.charAt(0) == "5")
	{ 
	   if(userAgent.indexOf("Gecko") > -1)
	   {
		   var geckoVerPos = userAgent.indexOf("rv:") + 3;
		   var geckoVerStr = userAgent.substring(geckoVerPos, geckoVerPos + 3);
		   var geckoVer = parseFloat(geckoVerStr);
		   if(geckoVer >= 1.7)
		   {
		     isGecko = true;
		   }
	   }
	   
	   if (!isGecko && navigator.appName == "Netscape") { 
	    bIsNN6 = true;
	   }
	} else {
		if (navigator.appVersion.indexOf('MSIE 4')>-1) {
			bIsIE4	= true;
		}
	}
	
	var sOutMenuBar		= '';
	var sOutMenuItem	= '';
	if (this.menus.length < 4) {
		var oMenu	= new menu('&nbsp;', ' ');
		this.addMenu(oMenu);
		bExtraMenu	= true;
	}
	var iNumMenus		= this.menus.length;
	sOutMenuBar			= createMenuBarHdr(iNumMenus);
	sOutMenuBar			+= '<tr>';
	for (var i=0; i<iNumMenus;i++) {
		var oMenu		= this.menus[i];
		sOutMenuBar		+= createMenuBarCells(i, oMenu, iNumMenus);
		var iNumItems	= oMenu.items.length;
		sOutMenuItem	+= createMenuItemHdr(i, iNumItems);
		for (var j=0; j<iNumItems; j++) {
			var oItem	= oMenu.items[j];
			sOutMenuItem += createMenuItemCells(i, j, oItem, iNumItems);
		}
		sOutMenuItem	+= '</table>';
		if (bIsNN6 || isGecko) {
			sOutMenuItem += '</div>';
		}
	}
	sOutMenuBar += 	'</tr></table>';
	document.write(sOutMenuBar);
	document.write(sOutMenuItem);
	document.close();
}
function createMenuBarHdr(iNumMenus, iMaxWidth)
{	var sOut = '<table id="tblMenuBar" name="tblMenuBar" class="mnuMenuBar" cellspacing="0" cellpadding="0"  rows="1"';
	sOut +=	' cols="' + iNumMenus + '">';
	return sOut;
}
function createMenuBarCells(iCellNum, oMenu, iNumMenus)
{	var sOut = '<td id="menu' + iCellNum + '" class="mnuMenuBar"';
	if (iCellNum ==0)	sOut += ' style="border-left-width:0px;"';
	
	if ((iCellNum == iNumMenus-1) && (bExtraMenu)) {
		var iWidth	= 50 + (4-iNumMenus)*15;
		if (bIsNN6 || isGecko) {
			iWidth = Math.floor((iWidth / 100) * document.getElementById("tblMain").width);
			sWidth = iWidth + "px";
		} else {
			sWidth = iWidth + "%";
		}
		sOut += 'width="' + sWidth + '">&nbsp;';
	}
	else {
		sOut +=	' onclick="goTo(\'' + oMenu.URL + '\');"';
		sOut +=	' onmouseover="select(\'' + iCellNum + '\', this);"';
		sOut +=	' onmouseout="unSelect(\'' + iCellNum + '\', this);">';
		sOut +=	oMenu.Text;
	}
	sOut +=	' </td>';
	return sOut;
}
function createMenuItemHdr(iCellNum, iNumItems)
{	var sOut = '';
	if (bIsNN6 || isGecko) {
		sOut	= '<div id="divItem' + iCellNum + '" style="position: absolute;z-index:2;left:-600px;"> <table cellpadding="0" cellspacing="0" cols="1" ';
	} else {
		sOut	= '<table cellpadding="0" cellspacing="0" cols="1" style="left: -600px;position: absolute; z-index:2"';
	}
	sOut +=	' id="tblItem' + iCellNum + '" rows="' + iNumItems + '" >';
	return sOut;
}
function createMenuItemCells(iCellNum, iMenuNum, oItem, iNumItems) 
{	var sOut =	'<tr><td class="mnuItem"';
	sOut +=		' onclick="goTo(\'' + oItem.URL + '\');"';
	sOut +=		' onmouseover="select(\'' + iCellNum + '\', this);"';
	sOut +=		' onmouseout="unSelect(\'' + iCellNum + '\', this);"';
	if (iMenuNum == (iNumItems-1)) sOut += ' style="border-bottom-width: 1px;"';
	sOut +=		'>' + oItem.Text;
	sOut +=		'</td></tr>';
	return sOut;
}
function goTo(sURL)
{	if (bFramed) {
		parent.location.href = sURL;
	} else {
		document.location.href = sURL; }
}
function select(sDivNum, oTD)
{	showMenu(sDivNum, oTD);
	oTD.style.cursor = 'hand';
	if (oTD.id.substr(0,4) != 'menu') 
	{	if (!(bIsIE4)) {
			oTD.className	= 'mnuItem mnuItemHi';
		} else {
			oTD.style.color	= '#003366'; 		/* Drop-down text color when selected */
		}
	}
}
function unSelect(sDivNum, oTD) 
{	if (oTD.id.substr(0,4) != 'menu') {
		if (!(bIsIE4)) {
			oTD.className	= 'mnuItem';
		} else {
			oTD.style.color	= '';
		}
	}
	hideMenu(sDivNum, oTD);
}
function showMenu(sDivNum, oTD) {
	if (!(bIsIE4)) {
		var oMenu = document.getElementById('menu' + sDivNum);
		oMenu.className	= 'mnuMenuBar mnuMenuBarHi';
	} else {
		var oMenu = document.body.all('menu' + sDivNum);
		oMenu.style.color	= '#FF8C00';	/* Menu Text color when selected */
	}
	if (bIsNN6 || isGecko) { 
		var oTblItem	= document.getElementById('divItem' + sDivNum);
		oTblItem.style.visibility	= 'visible';
	} else {
		if (!(bIsIE4)) {
			var oTblItem	= document.getElementById('tblItem' + sDivNum);
			oTblItem.style.display = '';
		} else {
			var oTblItem	= document.body.all('tblItem' + sDivNum);
			oTblItem.style.display = '';
		}
	}
	showSelect(sDivNum, false);
}

function hideMenu(sDivNum, oTD) {
	if (!(bIsIE4)) {
		var oMenu = document.getElementById('menu' + sDivNum);
		oMenu.className	= 'mnuMenuBar';
	} else {
		var oMenu = document.all('menu' + sDivNum);
		oMenu.style.color	= '';
	}
	showSelect(sDivNum, true);
	if (bIsNN6 || isGecko) {
		document.getElementById('divItem' + sDivNum).style.visibility	= 'hidden';
	} else {
		if (!(bIsIE4)) {
			var oTblItem	= document.getElementById('tblItem' + sDivNum);
			oTblItem.style.display = 'none';
		} else {
			var oTblItem	= document.all('tblItem' + sDivNum);
			oTblItem.style.display = 'none';
		}
	}
}

function init()
{	if (bIsNN6 || isGecko) {
		var tblMenuBar	= document.getElementById("tblMenuBar");
		var oParent		= document.getElementById("tblMain");	//TABLE
		if (null != tblMenuBar)
		{
			var iParentLeft	= oParent.offsetLeft;

			tblMenuBar.width	= oParent.width;

			calculate_widths(tblMenuBar, oParent.width);
			var iMenuBarOffsetHgt	= tblMenuBar.offsetHeight;
			var iTblItemTop			= tblMenuBar.offsetTop + 
										oParent.offsetTop + 
										iMenuBarOffsetHgt -1;
							
			if(isGecko)
			{
				iTblItemTop += 57; // small hack for gecko 1.7+
			}
			
			var oCells	= tblMenuBar.getElementsByTagName("TD");
			var iNumCells	= oCells.length;
	
			for (var i=0; i<iNumCells; i++)
			{	oMenu		= oCells[i];
				var sTblItem	= "tblItem" + i;
				oTblItem	= document.getElementById(sTblItem);
				if (oTblItem.getElementsByTagName("TR").length != 0)
				{	position_menu(i, oTblItem, oMenu, iParentLeft, iTblItemTop);
				}
			}
		}
	} else {
		if (bIsIE4) {
			var tblMenuBar	= document.all("tblMenuBar");
			var oParent		= document.all("tblMain");	//TABLE
			if (null != tblMenuBar)
			{
				var iParentLeft	= oParent.offsetLeft;

				tblMenuBar.width	= oParent.width;
				var iTblItemTop		= oParent.offsetTop + oParent.offsetHeight -7;
				var iNumCells	= tblMenuBar.all.tags("TD").length;

				for (var i=0; i<iNumCells; i++)
				{	oTblItem	= document.all('tblItem' + i);
					oMenu		= tblMenuBar.all.tags("TD").item(i);
					
					if (oTblItem.all.tags("TR").length != 0)
					{	position_menu(i, oTblItem, oMenu, iParentLeft, iTblItemTop);
					}
				}
			}

		} else {
			var tblMenuBar	= document.getElementById("tblMenuBar");
			if (null != tblMenuBar)
			{
				var oParent		= tblMenuBar.offsetParent;	//TD
				var oParent1	= oParent.offsetParent;		//TABLE
				var iParentLeft	= oParent.offsetLeft;

				tblMenuBar.width	= oParent1.width;
				if (iParentLeft == 0) iParentLeft = tblMenuBar.offsetLeft -1;

				var iMenuBarOffsetHgt	= tblMenuBar.offsetHeight;
				var iTblItemTop			= tblMenuBar.offsetTop + 
											oParent.offsetTop + 
											oParent1.offsetTop + 
											iMenuBarOffsetHgt -2;
				var iNumCells	= tblMenuBar.cells.length;
	
				for (var i=0; i<iNumCells; i++)
				{	oTblItem	= document.getElementById('tblItem' + i);
					oMenu		= tblMenuBar.cells.item(i);
					if (oTblItem.cells.length != 0)
					{	position_menu(i, oTblItem, oMenu, iParentLeft, iTblItemTop);
					}
				}
			}
		}
		if (null != tblMenuBar)
		{
			calculate_selects();
		}
	}
}
function position_menu(iTblNum, oTblItem, oMenu, iParentLeft, iTblItemTop)
{	if (bIsNN6 || isGecko) {
		var tblMenuBar	= document.getElementById("tblMenuBar");
		var sDivItem	= "divItem" + iTblNum;
		var oDivItem	= document.getElementById(sDivItem);
		oDivItem.style.visibility = "hidden";
		oDivItem.style.left	= "200";

		var iNumItems			= oTblItem.getElementsByTagName("TR").length;
		var oCell0				= oTblItem.getElementsByTagName("TR")[0];

		var iTblWidth			= oCell0.offsetWidth;
		var iTblHeight			= parseInt(oCell0.offsetHeight) * (iNumItems);

		oDivItem.style.top	= iTblItemTop + "px";
	
		var iMaxWidth	= tblMenuBar.width;
		var iMenuWidth	= oMenu.offsetWidth +1;
		var iMenuLeft	= oMenu.offsetLeft + iParentLeft;

		if (iMenuWidth > iTblWidth)
		{	oDivItem.style.width = iMenuWidth + "px";
			oTblItem.width		= "100%";
			oDivItem.style.left	= iMenuLeft + "px";
			iTblFromX[iTblNum]	= iMenuLeft;
		} else {
			if (iTblWidth + iMenuLeft > iMaxWidth) {
				var iMenuRight = iMenuLeft + iMenuWidth;
				oDivItem.style.left	= (iMenuRight - iTblWidth) + "px";
				iTblFromX[iTblNum]	= iMenuRight - iTblWidth;
			} else {
				oDivItem.style.left	= iMenuLeft + "px";
				iTblFromX[iTblNum]	= iMenuLeft;
			}
		}
		iTblFromY[iTblNum]	= iTblItemTop;
		iTblToX[iTblNum]	= iTblFromX[iTblNum] + iTblWidth;
		iTblToY[iTblNum]	= iTblFromY[iTblNum] + iTblHeight + 120;
	} else {
		if (bIsIE4) {
			var tblMenuBar	= document.all("tblMenuBar");
			oTblItem.style.left	= '-600px';
			oTblItem.style.display	= '';
			var oCell0				= oTblItem.all.tags("TR").item(0);
		
			var iTblWidth			= oCell0.offsetWidth;
			var iTblHeight			= parseInt(oCell0.offsetHeight) * (oTblItem.all.tags("TR").length);
			oTblItem.style.display = 'none';
	
			oTblItem.style.top = iTblItemTop;

			var iMaxWidth	= tblMenuBar.width;
			var iMenuWidth	= oMenu.offsetWidth +1;
			var iMenuLeft	= oMenu.offsetLeft + iParentLeft;

			if (iMenuWidth > iTblWidth)
			{	oTblItem.style.width = iMenuWidth;
				oTblItem.style.left	= iMenuLeft;
				iTblFromX[iTblNum]	= iMenuLeft;
			} else {
				if (iTblWidth + iMenuLeft > iMaxWidth) {
					var iMenuRight = iMenuLeft + iMenuWidth;
					oTblItem.style.left	= iMenuRight - iTblWidth;
					iTblFromX[iTblNum]	= iMenuRight - iTblWidth;
				} else {
					oTblItem.style.left	= iMenuLeft;
					iTblFromX[iTblNum]	= iMenuLeft;
				}
			}
			iTblFromY[iTblNum]	= iTblItemTop;
			iTblToX[iTblNum]	= iTblFromX[iTblNum] + iTblWidth;
			iTblToY[iTblNum]	= iTblFromY[iTblNum] + iTblHeight + 120;
		} else {
			var tblMenuBar	= document.getElementById("tblMenuBar");
			oTblItem.style.left	= '-600px';
			oTblItem.style.display	= '';
			var oCell0				= oTblItem.cells.item(0);
		
			var iTblWidth			= oCell0.offsetWidth;
			var iTblHeight			= parseInt(oCell0.offsetHeight) * (oTblItem.cells.length);
			oTblItem.style.display = 'none';
	
			oTblItem.style.top = iTblItemTop;

			var iMaxWidth	= tblMenuBar.width;
			var iMenuWidth	= oMenu.offsetWidth +1;
			var iMenuLeft	= oMenu.offsetLeft + iParentLeft;

			if (iMenuWidth > iTblWidth)
			{	oTblItem.style.width = iMenuWidth;
				oTblItem.style.left	= iMenuLeft;
				iTblFromX[iTblNum]	= iMenuLeft;
			} else {
				if (iTblWidth + iMenuLeft > iMaxWidth) {
					var iMenuRight = iMenuLeft + iMenuWidth;
					oTblItem.style.left	= iMenuRight - iTblWidth;
					iTblFromX[iTblNum]	= iMenuRight - iTblWidth;
				} else {
					oTblItem.style.left	= iMenuLeft;
					iTblFromX[iTblNum]	= iMenuLeft;
				}
			}
			iTblFromY[iTblNum]	= iTblItemTop;
			iTblToX[iTblNum]	= iTblFromX[iTblNum] + iTblWidth;
			iTblToY[iTblNum]	= iTblFromY[iTblNum] + iTblHeight + 120;
		}
	}
}

function resize_menu()
{	var iTableWidth	= tblMenuBar.offsetParent.width;
	if (iTableWidth > 779)
	{	tblMenuBar.width = iTableWidth + 'px';
	} else {
		tblMenuBar.width = '779px';
	}
	init();
}
function calculate_selects()
{	var colAllSelects	= document.body.all.tags("SELECT");
	for (i=0; i<colAllSelects.length; i++)
	{	var fOverlap	= false;
		oSelect[i]		= colAllSelects.item(i);
		if (!(bIsIE4)) {
			var rcts		= oSelect[i].getClientRects();
			iSelFromX[i]	= rcts[0].left;
			iSelFromY[i]	= rcts[0].top;
			iSelToX[i]		= rcts[0].right;
			iSelToY[i]		= rcts[0].bottom;
		} else {
			oParent			= oSelect[i].offsetParent;	//TD1
			oParent1		= oParent.offsetParent;		//TR1
			oParent2		= oParent1.offsetParent;	//TABLE1
			oParent3		= oParent2.offsetParent;	//TD2
			oParent4		= oParent3.offsetParent;	//TR2
			oParent5		= oParent4.offsetParent;	//TABLE2
			oParent6		= oParent5.offsetParent;	//BODY

			iSelFromX[i]	= oSelect[i].offsetLeft + oParent.offsetLeft + oParent1.offsetLeft + oParent2.offsetLeft + oParent3.offsetLeft + oParent4.offsetLeft + oParent5.offsetLeft + oParent6.offsetLeft;
			iSelFromY[i]	= oSelect[i].offsetTop + oParent.offsetTop + oParent1.offsetTop + oParent2.offsetTop + oParent3.offsetTop + oParent4.offsetTop + oParent5.offsetTop + oParent6.offsetTop;
			iSelToX[i]		= iSelFromX[i] + oSelect[i].offsetWidth;
			iSelToY[i]		= iSelFromY[i] + oSelect[i].offsetHeight;
		}		
	}
}	
function showSelect(iTblNum, fShow)
{	for (i=0; i<iSelFromX.length; i++)
	{	var fOverlap	= false;
		if (iSelFromY[i] < iTblToY[iTblNum])
		{	if ( (iSelToX[i] < iTblFromX[iTblNum]) || (iSelFromX[i] > iTblToX[iTblNum]) )
			{	fOverlap	= false;
			} else {
				fOverlap	= true;
			}
		}
		if (fOverlap)
		{	if (fShow)
			{	oSelect[i].style.visibility	= 'visible';
			} else {
				oSelect[i].style.visibility	= 'hidden';
			}
		}
	}
}
function calculate_widths(tblMenuBar, iTotalWidth) {
	var oMenus		= tblMenuBar.getElementsByTagName("TD");
	var iNumMenus	= oMenus.length;
	var iTotMenuLen	= 0;
	var iTotLen		= 0;
	var iMenuWidth	= 0;
	if (bExtraMenu)
	{	iNumMenus--;
		var iLastMenuWidth	= oMenus[iNumMenus].width;
		iTotalWidth	-= iLastMenuWidth;
	}
	for (var i=0; i<iNumMenus; i++) {
		iTotMenuLen += (oMenus[i].innerHTML.length);
	}
	
	var iLenRatio	= (iTotalWidth/iTotMenuLen);
	for (var i=0; i<iNumMenus; i++) {
		var iTextLen	= oMenus[i].innerHTML.length;
		iMenuWidth	= Math.floor(iTextLen * iLenRatio);
		oMenus[i].width	= iMenuWidth;
		iTotLen			= iTotLen + iMenuWidth;
	}
	iMenuWidth			+= (iTotalWidth - iTotLen);
	oMenus[i-1].width	= iMenuWidth;
}