/*
	****************************************************
	Menu.js
	Used for the side navigation menu bar
	****************************************************
*/
function OpenMenu(menuIndex,count, objThis)
{
	//Is the current selected row, do nothing
	if(menuIndex == selectedMenuIndex)
		return;
	if(IsIE() && objThis.contains(event.fromElement))
		return;
	//Highlight the pointing row
	var cellID = 'tdMenu' + menuIndex;
	var currentCell = document.getElementById(cellID);
	SetMenu(currentCell);
	//Show the fly-out submenu
	if(count!=-1)
	{
		var itemID = 'flyout' + menuIndex;
		var currentDiv = document.getElementById(itemID);
		currentDiv.style.display = 'block';
		//Add menu index info to the hyper link of the submenus
		var currentSubmenuLinks = currentDiv.getElementsByTagName("a");
		for(i=0; i<currentSubmenuLinks.length; i++)
		{
			if(currentSubmenuLinks[i].href.indexOf("MenuIndex=")==-1)
			{
				currentSubmenuLinks[i].href = currentSubmenuLinks[i].href + "&MenuIndex=" + menuIndex;
			}
		}
	}
}
function CloseMenu(menuIndex,count, objThis)
{
	if(menuIndex == selectedMenuIndex)
		return;
	if(IsIE() && objThis.contains(event.toElement))
		return;
	if(count!=-1)
	{
		var itemID = 'flyout' + menuIndex;
		var currentDiv = document.getElementById(itemID);
		currentDiv.style.display = 'none';
	}
	var cellID = 'tdMenu' + menuIndex;
	var currentCell = document.getElementById(cellID);
	ResetMenu(currentCell);
}
function SetMenu(menuItem)
{
	//Change the background image of the menu item
	var bgImage = menuItem.style.backgroundImage;
	var pos = bgImage.indexOf("navBar_off.gif");
	if(pos>-1)
	{
		bgImage = bgImage.replace("navBar_off.gif", "navBar_on.gif");
		menuItem.style.backgroundImage = bgImage;
	}
}
function ResetMenu(menuItem)
{
	//Reset the background image of the menu item
	var bgImage = menuItem.style.backgroundImage;
	var pos = bgImage.indexOf("navBar_on.gif");
	if(pos>-1)
	{
		bgImage = bgImage.replace("navBar_on.gif", "navBar_off.gif");
		menuItem.style.backgroundImage = bgImage;
	}
}

//open sub menu
function OpenSubmenu(menuIndex, objThis)
{
	if(IsIE() && objThis.contains(event.fromElement))
		return; 
	var itemID = 'flyout' + menuIndex;
	var currentDiv = document.getElementById(itemID);
	currentDiv.style.display = 'block';
	//set the selected colour schema for the selected menu row
	var cellID = 'tdMenu' + menuIndex;
	var currentCell = document.getElementById(cellID);
	SetMenu(currentCell);
}
//close sub menu
function CloseSubmenu(menuIndex, objThis)
{
	if(IsIE() && objThis.contains(event.toElement))
		return;
	var itemID = 'flyout' + menuIndex;
	var currentDiv = document.getElementById(itemID);
	currentDiv.style.display = 'none';
			
	var cellID = 'tdMenu' + menuIndex;
	var currentCell = document.getElementById(cellID);
	ResetMenu(currentCell);
}
//swap the bullet image of the current pointed submenu item
	function swapImage(oLink, flag)
	{
		var hrefString = oLink.href;
		var menuName = "MenuIndex=";
		var submenuName = "SubmenuIndex=";
		var pos1 = hrefString.indexOf(menuName);
		var pos2 = hrefString.indexOf(submenuName);
		if(pos1 != -1 && pos2 != -1)
		{
			var menuIndex = GetFirstNumber(hrefString, pos1 + menuName.length); 
			var submenuIndex = GetFirstNumber(hrefString, pos2 + submenuName.length);
			//do nothing with the selected submenu
			if(submenuIndex == selectedSubmenuIndex)
				return;
			var tableID = 'tbl' + menuIndex;
			var currentTable = document.getElementById(tableID);
			if(currentTable == null)
				return;
			var imgVID = "imgV" + submenuIndex;
			var imageVs = currentTable.getElementsByTagName("img");
			var currentImageV = imageVs[submenuIndex];
			if(currentImageV == null)
				return;
			pos3 = currentImageV.src.lastIndexOf("/");
			tempStr = currentImageV.src.substring(0, pos3);
			currentImageV.src = tempStr + ((flag==1)?"/arrow_rgt.gif":"/spacer9x9px.gif");
		}
	}
	//parse the input string to retrieve the first number from the give position
	function GetFirstNumber(sourceString, startPosition)
	{
		var resultNumber="";
		var len = sourceString.length;
		for( i=startPosition; i<len; i++)
		{
			if(isNaN(sourceString.charAt(i)))
				break;
			resultNumber = resultNumber + sourceString.charAt(i);
		}
		return resultNumber;
	}
	function ShowArrow(menuIndex, submenuIndex, flag)
	{
			var tableID = 'tbl' + menuIndex;
			var currentTable = document.getElementById(tableID);
			if(currentTable == null)
				return;
			var imgVID = "imgV" + submenuIndex;
			var imageVs = currentTable.getElementsByTagName("img");
			var currentImageV = imageVs[submenuIndex];
			if(currentImageV == null)
				return;
			pos3 = currentImageV.src.lastIndexOf("/");
			tempStr = currentImageV.src.substring(0, pos3);
			currentImageV.src = tempStr + ((flag)?"/arrow_rgt.gif":"/spacer9x9px.gif");
	}	
//Setup the menu bar for the current selection
function SetupMenu(IsOptusZoo)
{
	//Highlight the selected menu and display its submenu
	if(selectedMenuIndex>-1)
	{
		var cellID = 'tdMenu' + selectedMenuIndex;
		var currentCell = document.getElementById(cellID);
		SetMenu(currentCell);
		
				
		if( IsOptusZoo==false )
		{
			var subrowID = 'rowSubmenu' + selectedMenuIndex;
			var currentSubrow = document.getElementById(subrowID);
			currentSubrow.style.display = 'block';
			
			//Add menu index info to the hyper link of the submenus
			var currentSubmenuLinksV = currentSubrow.getElementsByTagName("a");
			for(i=0; i<currentSubmenuLinksV.length; i++)
			{
				if(currentSubmenuLinksV[i].href.indexOf("MenuIndex=")==-1)
					currentSubmenuLinksV[i].href = currentSubmenuLinksV[i].href + "&MenuIndex=" + selectedMenuIndex;
				//Highlight the selected submenu, change the font to bold 
				if(i == selectedSubmenuIndex)
				{
					currentSubmenuLinksV[i].className = "secLvlMenuOn";
				}
			}
		//and show the orange arrow at the selectd submenu
		ShowArrow(selectedMenuIndex, selectedSubmenuIndex, true);
		}
		else
		{
			if(selectedMenuIndex>-1)
			{
				var subrowID = 'rowSubmenu' + selectedMenuIndex;
				var currentSubrow = document.getElementById(subrowID);
				//Add menu index info to the hyper link of the submenus
				var currentSubmenuLinksV = currentSubrow.all.item("secLvlMenuLink");
					
				if (currentSubmenuLinksV != null) {
				
					var subrowID = 'rowSubmenu' + selectedMenuIndex;
					var currentSubrow = document.getElementById(subrowID);
					currentSubrow.style.display = 'block';
						
				for(i=0; i<currentSubmenuLinksV.length; i++)
				{
					//Highlight the selected submenu, change the font to bold 
					if(i == selectedSubmenuIndex)
					{
						currentSubmenuLinksV[i].className = "secLvlMenuOn";
						selectedSubmenuIndex = -1;
						swapImageOptusZoo( i, true);
						selectedSubmenuIndex = i;
					}
					else
					{
						currentSubmenuLinksV[i].className = "secLvlMenuHov";
						//and remove the orange arrow at the non-selectd submenu
						swapImageOptusZoo( i, false);
					}
				}
				var thirdsubrowID = 'row3rdSubmenu' + selectedSubmenuIndex;
		//		var current3rdSubrow = currentSubrow.children(thirdsubrowID);
				var current3rdSubrow = currentSubrow.all.item(thirdsubrowID);
				current3rdSubrow.style.display = 'block';
				swapImageOptusZoo3rd( 0, true);
				selected3rdSubmenuIndex = 0;
				
				}
			}
		}
	}
}

function ValidateQuery(strSource)
{
	//remove the duplicated parameter section
	var pos = strSource.lastIndexOf("?");
	if(pos==-1)
	{
		return strSource;
	}
	var tempRef = strSource.substring(0, pos);
	if(tempRef.indexOf("?")>-1)
		return tempRef;
	else
		return strSource;
}

function LoadDocument( Url, Target)
{
	Url = ValidateQuery( Url );
	window.open( Url, Target, "status, scrollbars,HEIGHT=530,WIDTH=800,TOP=20,LEFT=100"); 
	return false;
}

function IsIE()
{
	var ua = window.navigator.userAgent
	var msie = ua.indexOf ( "MSIE " )
	if ( msie > 0 )      // If Internet Explorer, return true
		return true;
	else                 // If another browser, return false
		return false;
}

function SetupOptusZooMenu( menuIndex)
{
	if(selectedMenuIndex == menuIndex)
		return;
	//refresh the frame
	window.location.href="SimMenu.aspx?MenuIndex=" + menuIndex + "&SubmenuIndex=0";
	//Reset the previous selected menu and hide its submenu
/*	if(selectedMenuIndex>-1)
	{
		var cellID = 'tdMenu' + selectedMenuIndex;
		var currentCell = document.getElementById(cellID);
		ResetMenu(currentCell);
		//reset all the submenu items
		SetupOptusZooSubmenu(-1);
		var subTableID = 'tbl' + selectedMenuIndex;
		var currentSubTable = document.getElementById(subTableID);
		currentSubTable.style.display = 'none';
		var subrowID = 'rowSubmenu' + selectedMenuIndex;
		var currentSubrow = document.getElementById(subrowID);
		currentSubrow.style.display = 'none';
	}
	selectedMenuIndex = menuIndex;
	//Highlight the selected menu and display its submenu
	if(selectedMenuIndex>-1)
	{
		var cellID = 'tdMenu' + selectedMenuIndex;
		var currentCell = document.getElementById(cellID);
		SetMenu(currentCell);
		var subrowID = 'rowSubmenu' + selectedMenuIndex;
		var currentSubrow = document.getElementById(subrowID);
		currentSubrow.style.display = 'block';
		//and show the orange arrow at the selectd submenu
		selectedSubmenuIndex = -1;
		swapImageOptusZoo( 0, true);
		selectedSubmenuIndex = 0;
	}
	*/
}

function SetupOptusZooSubmenu( submenuIndex)
{
	if(selectedSubmenuIndex == submenuIndex)
		return;
	window.location.href="SimMenu.aspx?MenuIndex=" + selectedMenuIndex + "&SubmenuIndex=" + submenuIndex;
/*
	selectedSubmenuIndex = submenuIndex;
	//Highlight the selected menu and display its submenu
	if(selectedMenuIndex>-1)
	{
		var subrowID = 'rowSubmenu' + selectedMenuIndex;
		var currentSubrow = document.getElementById(subrowID);
		//Add menu index info to the hyper link of the submenus
		var currentSubmenuLinksV = currentSubrow.all.item("secLvlMenuLink");
		for(i=0; i<currentSubmenuLinksV.length; i++)
		{
			//Highlight the selected submenu, change the font to bold 
			if(i == selectedSubmenuIndex)
			{
				currentSubmenuLinksV[i].className = "secLvlMenuOn";
			}
			else
			{
				currentSubmenuLinksV[i].className = "secLvlMenuHov";
				//and remove the orange arrow at the non-selectd submenu
				swapImageOptusZoo( i, false);
			}
		}
		var thirdsubrowID = 'row3rdSubmenu' + selectedSubmenuIndex;
//		var current3rdSubrow = currentSubrow.children(thirdsubrowID);
		var current3rdSubrow = currentSubrow.all.item(thirdsubrowID);
		current3rdSubrow.style.display = 'block';
	}
	*/
}
function SetupOptusZoo3rdSubmenu( thirdsubmenuIndex)
{
	selected3rdSubmenuIndex = thirdsubmenuIndex;
	//Highlight the selected menu and display its submenu
	if(selectedSubmenuIndex>-1)
	{
//		var thirdsubrowID = 'row3rdSubmenu' + selectedSubmenuIndex;
//		var current3rdSubrows = document.getElementByName(thirdsubrowID);
//		var current3rdSubrow = current3rdSubrows[selectedMenuIndex];

		var subrowID = 'rowSubmenu' + selectedMenuIndex;
		var currentSubrow = document.getElementById(subrowID);
		var thirdsubrowID = 'row3rdSubmenu' + selectedSubmenuIndex;
		var current3rdSubrow = currentSubrow.all.item(thirdsubrowID);
			if(current3rdSubrow == null)
				return;
		//Add menu index info to the hyper link of the submenus
		var currentSubmenuLinksV = current3rdSubrow.getElementsByTagName("a");
		for(i=0; i<currentSubmenuLinksV.length; i++)
		{
			//Highlight the selected submenu, change the font to bold 
			if(i == selected3rdSubmenuIndex)
			{
				//currentSubmenuLinksV[i].className = "secLvlMenuOn";
			}
			else
			{
				//currentSubmenuLinksV[i].className = "secLvlMenuHov";
				//and remove the orange arrow at the non-selectd submenu
				swapImageOptusZoo3rd( i, false);
			}
		}
	}
}
//swap the bullet image of the current pointed submenu item
	function swapImageOptusZoo(submenuIndex, flag)
	{
			//do nothing with the selected submenu
			if(submenuIndex == selectedSubmenuIndex)
				return true;
			var tableID = 'tbl' + selectedMenuIndex;
			var currentTable = document.getElementById(tableID);
			if(currentTable == null)
				return;
			var imgVID = "imgV" + submenuIndex;
//			var imageVs = currentTable.getElementsByTagName("img");
//			var currentImageV = imageVs[submenuIndex];
		var currentImageV = currentTable.all.item(imgVID);
			if(currentImageV == null)
				return;
			pos3 = currentImageV.src.lastIndexOf("/");
			tempStr = currentImageV.src.substring(0, pos3);
			currentImageV.src = tempStr + ((flag)?"/arrow_rgt.gif":"/spacer9x9px.gif");
	}

	function swapImageOptusZoo3rd(thirdsubmenuIndex, flag)
	{
			//do nothing with the selected submenu
			if(thirdsubmenuIndex == selected3rdSubmenuIndex)
				return true;
//			var table3rdID = 'tbl3rd' + selectedSubmenuIndex;
//			var currentTable3rds = document.getElementByName(table3rdID);
//			var currentTable3rd = currentTable3rds[selectedMenuIndex];
		var subrowID = 'rowSubmenu' + selectedMenuIndex;
		var currentSubrow = document.getElementById(subrowID);
		var table3rdID = 'tbl3rd' + selectedSubmenuIndex;
		var currentTable3rd = currentSubrow.all.item(table3rdID);
			if(currentTable3rd == null)
				return;
			var imgVID = "imgV3rd" + thirdsubmenuIndex;
			var currentImageV = currentTable3rd.all.item(imgVID);
//			var imageVs = currentTable3rd.getElementsByTagName("img");
//			var currentImageV = imageVs[thirdsubmenuIndex];
			if(currentImageV == null)
				return;
			pos3 = currentImageV.src.lastIndexOf("/");
			tempStr = currentImageV.src.substring(0, pos3);
			currentImageV.src = tempStr + ((flag)?"/arrow_rgt.gif":"/spacer9x9px.gif");
	}
