// JavaScript Document
// A document containing script of the Java variety
// brought to you by Adam Bellas and the letters R, C, and S
//
// EXAMPLE OBJECT CONSTRUCTOR CALLS
//
// new menuElement(divName, onHeight, offHeight, onClassName, offClassName)
// new dynamicMenu(programVersionId, text, hyperlink, state)
// new menuBlock(programVersionId)

// Start by defining the menu block
mainBlock = new menuBlock(1);
subnavBlock = new menuBlock(1);

// Create the menu objects that fill it
// "Select a Degree" menu
menuDegreePrograms = new dynamicMenu(1, "", "", "off");
	// Create the elements of the menu item that represent the menu in the DOM
	menuDegreeProgramsOffHeading = new menuElement("sDegreeLite", 0, 29, "sDegreeLiteOn", "sDegreeLiteOff");
	menuDegreeProgramsOnHeading = new menuElement("sDegreeDark", 29, 0, "sDegreeDarkOn", "sDegreeDarkOff");
	menuDegreeProgramsList = new menuElement("selectDegreePanel", 339, 0, "selectDegreePanelOn", "selectDegreePanelOff");
	// Add the elements to the menu item
	menuDegreePrograms.addElement(menuDegreeProgramsOffHeading);
	menuDegreePrograms.addElement(menuDegreeProgramsOnHeading);
	menuDegreePrograms.addElement(menuDegreeProgramsList);

// Degree Specific Menu
menuDegreeOptions = new dynamicMenu(1, "Degree Options", "", "off");
	// Create the elements of the menu item that represent the menu in the DOM
	menuDegreeOptionsList = new menuElement("degreeNavContainer", 164, 0, "onDegreeNav", "offDegreeNav");
	// Add the elements to the menu item
	menuDegreeOptions.addElement(menuDegreeOptionsList);
	// Degree ID stuff...
	menuDegreeOptionsNameOn = new menuElement("degreeId", 28, 0, "degreeIdOn", "degreeIdOff");
	menuDegreeOptions.addElement(menuDegreeOptionsNameOn);
	menuDegreeOptionsNameOff = new menuElement("degreeIdExp", 0, 28, "degreeIdExpOn", "degreeIdExpOff");
	menuDegreeOptions.addElement(menuDegreeOptionsNameOff);


// News Menu ** It's a top item
menuNews = new dynamicMenu(1, "", "", "off");
	menuNewsList = new menuElement("news_subMenu", "auto", 0, "", "");
	menuNewsHeader = new menuElement("genNews", "auto", "auto", "onNavNoTop", "normNavNoTop");
	menuNews.addElement(menuNewsList);
	menuNews.addElement(menuNewsHeader);
// CampusExplorer Menu
menuCampusExplorer = new dynamicMenu(1, "", "", "off");
	// menuCampusExplorerList = new menuElement("campusexplorer_subMenu", "auto", 0, "", "");
	menuCampusExplorerHeader = new menuElement("genCampusExplorer", "auto", "auto", "onNavList", "normNavList");
	// menuCampusExplorer.addElement(menuCampusExplorerList);
	menuCampusExplorer.addElement(menuCampusExplorerHeader);
// AboutUs Menu
menuAboutUs = new dynamicMenu(1, "", "", "off");
	// menuAboutUsList = new menuElement("aboutus_subMenu", "auto", 0, "", "");
	menuAboutUsHeader = new menuElement("genAboutUs", "auto", "auto", "onNavList", "normNavList");
	// menuAboutUs.addElement(menuAboutUsList);
	menuAboutUs.addElement(menuAboutUsHeader);
// Admissions Menu
menuAdmissions = new dynamicMenu(1, "", "", "off");
	menuAdmissionsList = new menuElement("admissions_subMenu", "auto", 0, "", "");
	menuAdmissionsHeader = new menuElement("genAdmissions", "auto", "auto", "onNavList", "normNavList");
	menuAdmissions.addElement(menuAdmissionsList);
	menuAdmissions.addElement(menuAdmissionsHeader);
// International Menu
menuInternational = new dynamicMenu(1, "", "", "off");
	menuInternationalList = new menuElement("international_subMenu", "auto", 0, "", "");
	menuInternationalHeader = new menuElement("genInternational", "auto", "auto", "onNavList", "normNavList");
	menuInternational.addElement(menuInternationalList);
	menuInternational.addElement(menuInternationalHeader);
// CareerDevelopment Menu
menuCareerDevelopment = new dynamicMenu(1, "", "", "off");
	menuCareerDevelopmentList = new menuElement("careerdevelopment_subMenu", "auto", 0, "", "");
	menuCareerDevelopmentHeader = new menuElement("genCareerDevelopment", "auto", "auto", "onNavList", "normNavList");
	menuCareerDevelopment.addElement(menuCareerDevelopmentList);
	menuCareerDevelopment.addElement(menuCareerDevelopmentHeader);
// AlumniNetwork Menu
menuAlumniNetwork = new dynamicMenu(1, "", "", "off");
	menuAlumniNetworkHeader = new menuElement("genAlumniNetwork", "auto", "auto", "onNavList", "normNavList");
	menuAlumniNetwork.addElement(menuAlumniNetworkHeader);
/* abellas 20060329
// ContactUs Menu
menuContactUs = new dynamicMenu(1, "", "", "off");
	menuContactUsHeader = new menuElement("genContactUs", "auto", "auto", "onNavList", "normNavList");
	menuContactUs.addElement(menuContactUsHeader);
*/
menuRequestInformation = new dynamicMenu(1, "", "", "off");
	menuRequestInformationHeader = new menuElement("genRequestInformation", "auto", "auto", "onNavList", "normNavList");
	menuRequestInformation.addElement(menuRequestInformationHeader);



// Add the menu objects to the block
mainBlock.addMenu(menuDegreePrograms);
mainBlock.addMenu(menuDegreeOptions);
subnavBlock.addMenu(menuNews);
subnavBlock.addMenu(menuCampusExplorer);
subnavBlock.addMenu(menuAboutUs);
subnavBlock.addMenu(menuAdmissions);
subnavBlock.addMenu(menuInternational);
subnavBlock.addMenu(menuCareerDevelopment);
subnavBlock.addMenu(menuAlumniNetwork);
// subnavBlock.addMenu(menuContactUs); abellas 20060329
subnavBlock.addMenu(menuRequestInformation);


// Now that everything is set up, we need to iterate through the markup as it relates
// to the menu objects and flag those active entities as active
function initLeftNav()
{
	// Now do it all over again for the mainBlock menu
	counter = 0;
	for (var i = 0; i < mainBlock.menus.length; i++)
	{
		counter = counter + 1;
		if (counter > 50) break;
		foo = mainBlock.menus[i].isActive();
		// alert("mainBlock.menus[" + i + "] of " + mainBlock.menus.length + " has active state of " + foo);
	}
}

function toggleDegreePrograms()
{
	menuActive = menuDegreePrograms.toggleState();
	if (menuActive) subnavBlock.collapseAllMenus();
	else subnavBlock.expandLastActive();
	
	return false;
}

function toggleDegreeOptions()
{
	menuActive = menuDegreeOptions.toggleState();
	if (menuActive) subnavBlock.collapseAllMenus();
	else subnavBlock.expandLastActive();
	
	return false;
}

function mjgDegreeToggle() {
	var menuDiv = document.getElementById('degreeId');
	var menuDiv2 = document.getElementById('degreeIdExp');
	var div3 = document.getElementById('degreeNavContainer');
	
	if (menuDiv.className == "degreeIdOn") {
		menuDiv.setAttribute("class","degreeIdOff");
		menuDiv.setAttribute("className","degreeIdOff");
		menuDiv2.setAttribute("class","degreeIdExpOff");
		menuDiv2.setAttribute("className","degreeIdExpOff");
		div3.setAttribute("class","onDegreeNav");
		div3.setAttribute("className","onDegreeNav");
		subnavBlock.collapseAllMenus();
	}
	else if (menuDiv.className == "degreeIdOff") {
		menuDiv.setAttribute("class","degreeIdOn");
		menuDiv.setAttribute("className","degreeIdOn");
		menuDiv2.setAttribute("class","degreeIdExpOn");
		menuDiv2.setAttribute("className","degreeIdExpOn");
		div3.setAttribute("class","offDegreeNav");
		div3.setAttribute("className","offDegreeNav");
		subnavBlock.expandLastActive();
	}
}