﻿var omGlobalTimer = null;
var zmGlobalPreviousItemID = "";
var zmGlobalPreviousMenuID = "";
var bmGlobalFirefoxBrowser = false;

function globalWinLoad()
{
	if (navigator.userAgent.indexOf("Firefox") != -1)
	{
		bmGlobalFirefoxBrowser = true;
	}
	
	//Get website root URL
	var zpRoot = document.getElementById("Header1_divRootURL").innerHTML;
		
	popupMenuLoad();
	
	var opPopupMenu;
	var opPopupMenu2;
	
	// Services and solutions menu
	opPopupMenu = new PopupMenu("mnuServices");
	opPopupMenu.NoImages = true;
	opPopupMenu.AddSubMenuItem("mnu1", "Information management consultancy", "mnuServices1", function () { window.location = zpRoot + "InformationManagement.aspx"; }, false);
		opPopupMenu2 = new PopupMenu("mnuServices1");
		opPopupMenu2.NoImages = true;
		opPopupMenu2.AddMenuItem("mnu1_1", "Business process modelling", "", function () { window.location = zpRoot + "BusinessProcessModelling.aspx"; } );
		opPopupMenu2.AddDivider("mnu1Gap");
		opPopupMenu2.AddMenuItem("mnu1_2", "Knowledge management", "", function () { window.location = zpRoot + "KnowledgeManagement.aspx"; } );
	
	opPopupMenu.AddDivider("mnu1Gap");
	opPopupMenu.AddSubMenuItem("mnu2", "Application development", "mnuServices2", function () { window.location = zpRoot + "ApplicationDevelopment.aspx"; }, false);
		opPopupMenu2 = new PopupMenu("mnuServices2");
		opPopupMenu2.NoImages = true;
		opPopupMenu2.AddMenuItem("mnu2_1", "Bespoke application development", "", function () { window.location = zpRoot + "BespokeApplicationDevelopment.aspx"; } );
		opPopupMenu2.AddDivider("mnu2Gap");
		opPopupMenu2.AddMenuItem("mnu2_2", "Web solutions", "", function () { window.location = zpRoot + "WebSolutions.aspx"; } );
		opPopupMenu2.AddDivider("mnu2Gap");
		opPopupMenu2.AddMenuItem("mnu2_3", "Client-server solutions", "", function () { window.location = zpRoot + "ClientServerSolutions.aspx"; } );
		opPopupMenu2.AddDivider("mnu2Gap");
		opPopupMenu2.AddMenuItem("mnu2_4", "Systems integration", "", function () { window.location = zpRoot + "SystemsIntegration.aspx"; } );
		opPopupMenu2.AddDivider("mnu2Gap");
		opPopupMenu2.AddMenuItem("mnu2_5", "Technologies", "", function () { window.location = zpRoot + "Technologies.aspx"; } );
	
	opPopupMenu.AddDivider("mnu1Gap");
	opPopupMenu.AddMenuItem("mnu3", "Visualisation", "", function () { window.location = zpRoot + "Visualisation.aspx"; } );
	opPopupMenu.AddDivider("mnu1Gap");
	opPopupMenu.AddMenuItem("mnu3", "Geographical Information Systems", "", function () { window.location = zpRoot + "GIS.aspx"; } );
	opPopupMenu.AddDivider("mnu1Gap");
	opPopupMenu.AddMenuItem("mnu3", "Network design and security", "", function () { window.location = zpRoot + "NetworkDesign.aspx"; } );
	opPopupMenu.AddDivider("mnu1Gap");
	opPopupMenu.AddMenuItem("mnu3", "Research and development", "", function () { window.location = zpRoot + "ResearchAndDevelopment.aspx"; } );
	opPopupMenu.AddDivider("mnu1Gap");
	opPopupMenu.AddMenuItem("mnu3", "Software support", "", function () { window.location = zpRoot + "SoftwareSupport.aspx"; } );
	opPopupMenu.AddDivider("mnu1Gap");
	opPopupMenu.AddMenuItem("mnu3", "Training", "", function () { window.location = zpRoot + "Training.aspx"; } );
	opPopupMenu.AddDivider("mnu1Gap");
	opPopupMenu.AddMenuItem("mnu3", "Web application hosting", "", function () { window.location = zpRoot + "Hosting.aspx"; } );
		
	// Industries menu
	opPopupMenu = new PopupMenu("mnuIndustries");
	opPopupMenu.NoImages = true;
	opPopupMenu.AddSubMenuItem("mnu1", "Commercial", "mnuIndustries1", function () { window.location = zpRoot + "Commercial.aspx"; }, false);
		opPopupMenu2 = new PopupMenu("mnuIndustries1");
		opPopupMenu2.NoImages = true;
		opPopupMenu2.AddMenuItem("mnu1_1", "Business systems analysis", "", function () { window.location = zpRoot + "SystemsAnalysis.aspx"; } );
		opPopupMenu2.AddDivider("mnu1Gap");
		opPopupMenu2.AddMenuItem("mnu1_2", "E-commerce systems", "", function () { window.location = zpRoot + "eCommerce.aspx"; } );
		opPopupMenu2.AddDivider("mnu1Gap");
		opPopupMenu2.AddMenuItem("mnu1_2", "Websites & e-marketing", "", function () { window.location = zpRoot + "WebsiteDevelopment.aspx"; } );
	
	opPopupMenu.AddDivider("mnu1Gap");
	opPopupMenu.AddSubMenuItem("mnu1", "Defence", "mnuIndustries2", function () { window.location = zpRoot + "Defence.aspx"; }, false);
		opPopupMenu2 = new PopupMenu("mnuIndustries2");
		opPopupMenu2.NoImages = true;
		opPopupMenu2.AddMenuItem("mnu1_1", "Secure applications design & development", "", function () { window.location = zpRoot + "DefenceApplicationDevelopment.aspx"; } );
		opPopupMenu2.AddDivider("mnu1Gap");
		opPopupMenu2.AddMenuItem("mnu1_2", "Through life management systems", "", function () { window.location = zpRoot + "TLCM.aspx"; } );
		opPopupMenu2.AddDivider("mnu1Gap");
		opPopupMenu2.AddMenuItem("mnu1_3", "Technology assessment & roadmapping", "", function () { window.location = zpRoot + "TechnologyRoadmapping.aspx"; } );
		
	opPopupMenu.AddDivider("mnu1Gap");
	opPopupMenu.AddMenuItem("mnu1", "Energy", "mnuIndustries3", function () { window.location = zpRoot + "Energy.aspx"; }, false);
		/*opPopupMenu2 = new PopupMenu("mnuIndustries3");
		opPopupMenu2.NoImages = true;
		opPopupMenu2.AddMenuItem("mnu1_1", "Oil and gas", "", function () { window.location = "#"; } );
		opPopupMenu2.AddDivider("mnu1Gap");
		opPopupMenu2.AddMenuItem("mnu1_2", "Renewable energy", "", function () { window.location = "#"; } );*/
		
	opPopupMenu.AddDivider("mnu1Gap");
	opPopupMenu.AddMenuItem("mnu1", "Environment", "mnuIndustries4", function () { window.location = zpRoot + "Environment.aspx"; }, false);
		/*opPopupMenu2 = new PopupMenu("mnuIndustries4");
		opPopupMenu2.NoImages = true;
		opPopupMenu2.AddMenuItem("mnu1_1", "Hazard and risk management", "", function () { window.location = "#"; } );
		opPopupMenu2.AddDivider("mnu1Gap");
		opPopupMenu2.AddMenuItem("mnu1_2", "Pollution management systems", "", function () { window.location = "#"; } );*/
		
	opPopupMenu.AddDivider("mnu1Gap");
	opPopupMenu.AddMenuItem("mnu1", "Maritime", "mnuIndustries5", function () { window.location = zpRoot + "Maritime.aspx"; }, false);
		/*opPopupMenu2 = new PopupMenu("mnuIndustries5");
		opPopupMenu2.NoImages = true;
		opPopupMenu2.AddMenuItem("mnu1_1", "Escape and evacuation", "", function () { window.location = "#"; } );
		opPopupMenu2.AddDivider("mnu1Gap");
		opPopupMenu2.AddMenuItem("mnu1_2", "Real-time simulation", "", function () { window.location = "#"; } );
		opPopupMenu2.AddDivider("mnu1Gap");
		opPopupMenu2.AddMenuItem("mnu1_2", "Instrumentation software", "", function () { window.location = "#"; } );
		opPopupMenu2.AddDivider("mnu1Gap");
		opPopupMenu2.AddMenuItem("mnu1_2", "Monitoring and evaluation", "", function () { window.location = "#"; } );*/
		
	opPopupMenu.AddDivider("mnu1Gap");
	opPopupMenu.AddMenuItem("mnu1", "Transport", "mnuIndustries6", function () { window.location = zpRoot + "Transport.aspx"; }, false);
		/*opPopupMenu2 = new PopupMenu("mnuIndustries6");
		opPopupMenu2.NoImages = true;
		opPopupMenu2.AddMenuItem("mnu1_1", "Ports and logistics", "", function () { window.location = "#"; } );
		opPopupMenu2.AddDivider("mnu1Gap");
		opPopupMenu2.AddMenuItem("mnu1_2", "Rail systems", "", function () { window.location = "#"; } );*/
		
	// Products menu
	opPopupMenu = new PopupMenu("mnuProducts");
	opPopupMenu.NoImages = true;
	opPopupMenu.AddMenuItem("mnu1", "Overview of services and capabilities", "", function () { window.location = "#"; } );
	opPopupMenu.AddDivider("mnu1Gap");
	opPopupMenu.AddMenuItem("mnu1", "Portfolio", "", function () { window.location = "#"; } );
	
	// Company menu
	opPopupMenu = new PopupMenu("mnuCompany");
	opPopupMenu.NoImages = true;
	opPopupMenu.AddMenuItem("mnu1", "About us", "", function () { window.location = zpRoot + "AboutUs.aspx"; } );
	opPopupMenu.AddDivider("mnu1Gap");
	opPopupMenu.AddMenuItem("mnu1", "Contact us", "", function () { window.location = zpRoot + "ContactUs.aspx"; } );
}

function globalGetOffsetLeft(element)
{
	var parent=element.offsetParent;
	var offset=element.offsetLeft;
	try
	{
		while (1 != 2)
		{
			offset+=parent.offsetLeft;
			parent=parent.offsetParent;
		}
	}
	catch(e)
	{
		return offset;
	}
}

function globalGetOffsetTop(element)
{
	var parent=element.offsetParent;
	var offset=element.offsetTop;
	try
	{
		while (1 != 2)
		{
			offset+=parent.offsetTop;
			parent=parent.offsetParent;
		}
	}
	catch(e)
	{
		return offset;
	}
}

function globalPopupShowMenu(zItemID, zMenuID)
{
	var opItem = document.getElementById(zItemID);

	if (zmGlobalPreviousItemID != "")
	{
		var opPreviousItem = document.getElementById(zmGlobalPreviousItemID);
		var opPreviousMenu = document.getElementById(zmGlobalPreviousMenuID);
		
		opPreviousItem.style.color = "";
		opPreviousMenu.style.display = "none";
	}

	zmGlobalPreviousItemID = zItemID;
	zmGlobalPreviousMenuID = zMenuID;

	var lpLeft = globalGetOffsetLeft(opItem);
	var lpTop = globalGetOffsetTop(opItem);

	if (navigator.userAgent.indexOf("Firefox") != -1)
	{
		document.getElementById(zMenuID).style.left = lpLeft + "px";
		document.getElementById(zMenuID).style.top = (lpTop + 20) + "px";
	}
	else
	{
		document.getElementById(zMenuID).style.left = lpLeft;
		document.getElementById(zMenuID).style.top = lpTop + 20;
	}
	
	opItem.style.color = "#1abdc9";
	document.getElementById(zMenuID).style.display = "block";
	
}

function globalPopupHideMenu(zItemID, zMenuID)
{
	if (omGlobalTimer)
	{
		clearInterval(omGlobalTimer);
		omGlobalTimer = null;
	
		var opItem = document.getElementById(zItemID);
		var opMenu = document.getElementById(zMenuID);
		
		opItem.style.color = "";
		opMenu.style.display = "none";
	}
}

function globalPopupKeepMenuVisible(zItemID, zMenuID)
{
	clearInterval(omGlobalTimer);
}

function globalPopupMouseOutMenu(zItemID, zMenuID)
{
	var opItem = document.getElementById(zItemID);
	var opMenu = document.getElementById(zMenuID);
	
	omGlobalTimer = setTimeout("globalPopupHideMenu('" + zItemID + "', '" + zMenuID + "')", 750);
}
