/*
 * menuExpandable2.js - implements an expandable menu based on a HTML list
 * Author: Dave Lindquist (dave@gazingus.org)
 */

if (!document.getElementById)
    document.getElementById = function() { return null; }

var fileName;

function loadMenu()
{
	selectVisited();
	oddEven();
	buildMenu();
}

function initializeMenu(menuId, actuatorId, specificId) {
	var menu = document.getElementById(menuId);
    var actuator = document.getElementById(actuatorId);
	
	if (actuator)
	{
		actuator.parentNode.style.listStyle = "none";

	    if (menu == null || actuator == null) return;

	    if (menu.style.display == "block")
			actuator.parentNode.style.backgroundImage = "url(../images/minus.gif)";
		else
			actuator.parentNode.style.backgroundImage = "url(../images/plus.gif)";
		
	    actuator.onclick = function()
		{
        	var display = menu.style.display;
	        this.parentNode.style.backgroundImage =
    	        (display == "block") ? "url(../images/plus.gif)" : "url(../images/minus.gif)";
			menu.style.display = (display == "block") ? "none" : "block";

	        return false;
		}
	}
}

function openBranch(Id)
{
	var menu = Id + "_Menu";

	if(document.getElementById(menu))
	{
		menu = document.getElementById(menu);
		menu.parentNode.style.backgroundImage = "url(../images/minus.gif)";
		menu.style.display = "block";
	}
}

function selectVisited()
{
  var nav = document.getElementById('Menu');
  var links = nav.getElementsByTagName('a');

  for (var i=0; i<links.length; i++)
    if (links[i].href == location.href)
    {
      links[i].className = "current";
	      break;
    }
}

function oddEven()
{
	var finalOutput;

	fileName=getPage(location.href);

	while(fileName.length > 8)
 {
	if (fileName.length == 20)
	{
			finalOutput = removeCharacters(fileName, fileName.length, 6);
			openBranch(finalOutput);
			fileName = finalOutput + ".htm";
	}
	else
		if (fileName.length == 18 || fileName.length == 15 || fileName.length == 11) // This section is used to open the menu of the page you are on, if it exists
		{
			finalOutput = removeCharacters(fileName, fileName.length, 4);
			openBranch(finalOutput);
			fileName = finalOutput + ".htm";
		}
		if (fileName.length == 18)
		{
			finalOutput = removeCharacters(fileName, fileName.length, 7);
			openBranch(finalOutput);
			fileName = finalOutput + ".htm";
		}
		else
			if (fileName.length == 15)
			{
				finalOutput = removeCharacters(fileName, fileName.length, 8);
				openBranch(finalOutput);
				fileName = finalOutput;
			}
			else
				return;
 }
}

function getPage(fileName)
{
var fileName = new String(fileName);
var j = 0;

	for (i=0; fileName.charAt(fileName.length - i) != '/' && fileName.charAt(fileName.length - i) != '\\'; i++)
			j = i;
 
fileName = removeCharacters(fileName, j, 0);

return fileName;
}

function removeCharacters (inputString, s, e) 
{

	var returnString = new String(inputString);
	var start = returnString.length - s;
	var end = returnString.length - e;

	returnString = returnString.substring(start,end);

	return returnString;
}

function buildMenu()
{
	// Used to find the Subject we are currently on
	for (i=0; fileName.charAt(fileName.length - i) != 's'; i++)
			j = i;
 
	subjectNum = removeCharacters(fileName, j, j-2);
	// Done finding subject


switch (subjectNum)
{
case '00':
{
// Course Introduction
initializeMenu("pdi_s00_Menu", "pdi_s00_Actuator")
	initializeMenu("pdi_s00_m01_Menu", "pdi_s00_m01_Actuator")
	initializeMenu("pdi_s00_m02_Menu", "pdi_s00_m02_Actuator")
		initializeMenu("pdi_s00_m02_01_Menu", "pdi_s00_m02_01_Actuator")
		initializeMenu("pdi_s00_m02_02_Menu", "pdi_s00_m02_02_Actuator")
	initializeMenu("pdi_s00_m03_Menu", "pdi_s00_m03_Actuator")
		initializeMenu("pdi_s00_m03_02_Menu", "pdi_s00_m03_02_Actuator")
}
case '01':
{
// Subject 1
initializeMenu("pdi_s01_Menu", "pdi_s01_Actuator")
	initializeMenu("pdi_s01_m01_Menu", "pdi_s01_m01_Actuator")
		initializeMenu("pdi_s01_m01_02_Menu", "pdi_s01_m01_02_Actuator")
		initializeMenu("pdi_s01_m01_05_Menu", "pdi_s01_m01_05_Actuator")
	initializeMenu("pdi_s01_m02_Menu", "pdi_s01_m02_Actuator")
		initializeMenu("pdi_s01_m02_01_Menu", "pdi_s01_m02_01_Actuator")
		initializeMenu("pdi_s01_m02_02_Menu", "pdi_s01_m02_02_Actuator")
	initializeMenu("pdi_s01_m03_Menu", "pdi_s01_m03_Actuator")
break;
}
case '02':
{
// Subject 2
initializeMenu("pdi_s02_Menu", "pdi_s02_Actuator")
	initializeMenu("pdi_s02_m01_Menu", "pdi_s02_m01_Actuator")
		initializeMenu("pdi_s02_m01_02_Menu", "pdi_s02_m01_02_Actuator")
		initializeMenu("pdi_s02_m01_03_Menu", "pdi_s02_m01_03_Actuator")
		initializeMenu("pdi_s02_m01_04_Menu", "pdi_s02_m01_04_Actuator")
	initializeMenu("pdi_s02_m02_Menu", "pdi_s02_m02_Actuator")
		initializeMenu("pdi_s02_m02_01_Menu", "pdi_s02_m02_01_Actuator")
		initializeMenu("pdi_s02_m02_02_Menu", "pdi_s02_m02_02_Actuator")
		initializeMenu("pdi_s02_m02_03_Menu", "pdi_s02_m02_03_Actuator")
		initializeMenu("pdi_s02_m02_04_Menu", "pdi_s02_m02_04_Actuator")
break;
}
case '03':
{
// Subject 3
initializeMenu("pdi_s03_Menu", "pdi_s03_Actuator")
	initializeMenu("pdi_s03_m01_Menu", "pdi_s03_m01_Actuator")
	initializeMenu("pdi_s03_m02_Menu", "pdi_s03_m02_Actuator")
		initializeMenu("pdi_s03_m02_01_Menu", "pdi_s03_m02_01_Actuator")
	initializeMenu("pdi_s03_m03_Menu", "pdi_s03_m03_Actuator")
		initializeMenu("pdi_s03_m03_01_Menu", "pdi_s03_m03_01_Actuator")
	initializeMenu("pdi_s03_m04_Menu", "pdi_s03_m04_Actuator")
		initializeMenu("pdi_s03_m04_01_Menu", "pdi_s03_m04_01_Actuator")
		initializeMenu("pdi_s03_m04_02_Menu", "pdi_s03_m04_02_Actuator")
	initializeMenu("pdi_s03_m05_Menu", "pdi_s03_m05_Actuator")
		initializeMenu("pdi_s03_m05_07_Menu", "pdi_s03_m05_07_Actuator")
		initializeMenu("pdi_s03_m05_08_Menu", "pdi_s03_m05_08_Actuator")
break;
}
case '04':
{
// Subject 4
initializeMenu("pdi_s04_Menu", "pdi_s04_Actuator")
	initializeMenu("pdi_s04_m01_Menu", "pdi_s04_m01_Actuator")
		initializeMenu("pdi_s04_m01_02_Menu", "pdi_s04_m01_02_Actuator")
		initializeMenu("pdi_s04_m01_03_Menu", "pdi_s04_m01_03_Actuator")
	initializeMenu("pdi_s04_m02_Menu", "pdi_s04_m02_Actuator")
		initializeMenu("pdi_s04_m02_02_Menu", "pdi_s04_m02_02_Actuator")
		initializeMenu("pdi_s04_m02_03_Menu", "pdi_s04_m02_03_Actuator")
	initializeMenu("pdi_s04_m03_Menu", "pdi_s04_m03_Actuator")
		initializeMenu("pdi_s04_m03_01_Menu", "pdi_s04_m03_01_Actuator")
		initializeMenu("pdi_s04_m03_02_Menu", "pdi_s04_m03_02_Actuator")
	initializeMenu("pdi_s04_m04_Menu", "pdi_s04_m04_Actuator")
		initializeMenu("pdi_s04_m04_01_Menu", "pdi_s04_m04_01_Actuator")
		initializeMenu("pdi_s04_m04_02_Menu", "pdi_s04_m04_02_Actuator")
		initializeMenu("pdi_s04_m04_03_Menu", "pdi_s04_m04_03_Actuator")
		initializeMenu("pdi_s04_m04_04_Menu", "pdi_s04_m04_04_Actuator")
break;
}
case '05':
{
// Subject 5
initializeMenu("pdi_s05_Menu", "pdi_s05_Actuator")
	initializeMenu("pdi_s05_m01_Menu", "pdi_s05_m01_Actuator")
		initializeMenu("pdi_s05_m01_01_Menu", "pdi_s05_m01_01_Actuator")
		initializeMenu("pdi_s05_m01_02_Menu", "pdi_s05_m01_02_Actuator")
	initializeMenu("pdi_s05_m02_Menu", "pdi_s05_m02_Actuator")
		initializeMenu("pdi_s05_m02_01_Menu", "pdi_s05_m02_01_Actuator")
	initializeMenu("pdi_s05_m03_Menu", "pdi_s05_m03_Actuator")
		initializeMenu("pdi_s05_m03_02_Menu", "pdi_s05_m03_02_Actuator")
	initializeMenu("pdi_s05_m04_Menu", "pdi_s05_m04_Actuator")
break;
}
case '06':
{
// Subject 6
initializeMenu("pdi_s06_Menu", "pdi_s06_Actuator")
	initializeMenu("pdi_s06_m01_Menu", "pdi_s06_m01_Actuator")
		initializeMenu("pdi_s06_m01_02_Menu", "pdi_s06_m01_02_Actuator")
		initializeMenu("pdi_s06_m01_04_Menu", "pdi_s06_m01_04_Actuator")
	initializeMenu("pdi_s06_m02_Menu", "pdi_s06_m02_Actuator")
		initializeMenu("pdi_s06_m02_03_Menu", "pdi_s06_m02_03_Actuator")
		initializeMenu("pdi_s06_m02_05_Menu", "pdi_s06_m02_05_Actuator")
		initializeMenu("pdi_s06_m02_10_Menu", "pdi_s06_m02_10_Actuator")
	initializeMenu("pdi_s06_m03_Menu", "pdi_s06_m03_Actuator")
		initializeMenu("pdi_s06_m03_02_Menu", "pdi_s06_m03_02_Actuator")
		initializeMenu("pdi_s06_m03_06_Menu", "pdi_s06_m03_06_Actuator")
		initializeMenu("pdi_s06_m03_07_Menu", "pdi_s06_m03_07_Actuator")
break;
}
case '07':
{
// Subject 7
initializeMenu("pdi_s07_Menu", "pdi_s07_Actuator")
	initializeMenu("pdi_s07_m01_Menu", "pdi_s07_m01_Actuator")
		initializeMenu("pdi_s07_m01_01_Menu", "pdi_s07_m01_01_Actuator")
		initializeMenu("pdi_s07_m01_02_Menu", "pdi_s07_m01_02_Actuator")
	initializeMenu("pdi_s07_m02_Menu", "pdi_s07_m02_Actuator")
		initializeMenu("pdi_s07_m02_04_Menu", "pdi_s07_m02_04_Actuator")
		initializeMenu("pdi_s07_m02_05_Menu", "pdi_s07_m02_05_Actuator")
		initializeMenu("pdi_s07_m02_06_Menu", "pdi_s07_m02_06_Actuator")
break;
}
case '08':
{
// Subject 8
initializeMenu("pdi_s08_Menu", "pdi_s08_Actuator")
	initializeMenu("pdi_s08_m01_Menu", "pdi_s08_m01_Actuator")
		initializeMenu("pdi_s08_m01_01_Menu", "pdi_s08_m01_01_Actuator")
		initializeMenu("pdi_s08_m01_02_Menu", "pdi_s08_m01_02_Actuator")
		initializeMenu("pdi_s08_m01_03_Menu", "pdi_s08_m01_03_Actuator")
	initializeMenu("pdi_s08_m02_Menu", "pdi_s08_m02_Actuator")
		initializeMenu("pdi_s08_m02_02_Menu", "pdi_s08_m02_02_Actuator")
		initializeMenu("pdi_s08_m02_03_Menu", "pdi_s08_m02_03_Actuator")
	initializeMenu("pdi_s08_m03_Menu", "pdi_s08_m03_Actuator")
		initializeMenu("pdi_s08_m03_01_Menu", "pdi_s08_m03_01_Actuator")
break;
}
case '09':
{
// Subject 9
initializeMenu("pdi_s09_Menu", "pdi_s09_Actuator")
	initializeMenu("pdi_s09_m01_Menu", "pdi_s09_m01_Actuator")
		initializeMenu("pdi_s09_m01_01_Menu", "pdi_s09_m01_01_Actuator")
		initializeMenu("pdi_s09_m01_02_Menu", "pdi_s09_m01_02_Actuator")
		initializeMenu("pdi_s09_m01_03_Menu", "pdi_s09_m01_03_Actuator")
		initializeMenu("pdi_s09_m01_04_Menu", "pdi_s09_m01_04_Actuator")
	initializeMenu("pdi_s09_m02_Menu", "pdi_s09_m02_Actuator")
		initializeMenu("pdi_s09_m02_01_Menu", "pdi_s09_m02_01_Actuator")
	initializeMenu("pdi_s09_m03_Menu", "pdi_s09_m03_Actuator")
		initializeMenu("pdi_s09_m03_01_Menu", "pdi_s09_m03_01_Actuator")
break;
}
case '10':
{
// Course Resources (Subject 10)
initializeMenu("pdi_s10_Menu", "pdi_s10_Actuator")
	initializeMenu("pdi_s10_m01_Menu", "pdi_s10_m01_Actuator")
		initializeMenu("pdi_s10_m01_01_Menu", "pdi_s10_m01_01_Actuator")
	initializeMenu("pdi_s10_m02_Menu", "pdi_s10_m02_Actuator")
	initializeMenu("pdi_s10_m03_Menu", "pdi_s10_m03_Actuator")
		initializeMenu("pdi_s10_m03_01_Menu", "pdi_s10_m03_01_Actuator")
		initializeMenu("pdi_s10_m03_02_Menu", "pdi_s10_m03_02_Actuator")
	initializeMenu("pdi_s10_m04_Menu", "pdi_s10_m04_Actuator")
	initializeMenu("pdi_s10_m05_Menu", "pdi_s10_m05_Actuator")
}
case '11':
{
// Subject 11
initializeMenu("pdi_s11_Menu", "pdi_s11_Actuator")
	initializeMenu("pdi_s11_m01_Menu", "pdi_s11_m01_Actuator")
		initializeMenu("pdi_s11_m01_01_Menu", "pdi_s11_m01_01_Actuator")
		initializeMenu("pdi_s11_m01_03_Menu", "pdi_s11_m01_03_Actuator")
		initializeMenu("pdi_s11_m01_04_Menu", "pdi_s11_m01_04_Actuator")
		initializeMenu("pdi_s11_m01_05_Menu", "pdi_s11_m01_05_Actuator")
		initializeMenu("pdi_s11_m01_06_Menu", "pdi_s11_m01_06_Actuator")
		initializeMenu("pdi_s11_m01_07_Menu", "pdi_s11_m01_07_Actuator")
		initializeMenu("pdi_s11_m01_08_Menu", "pdi_s11_m01_08_Actuator")
		initializeMenu("pdi_s11_m01_09_Menu", "pdi_s11_m01_09_Actuator")
		initializeMenu("pdi_s11_m01_10_Menu", "pdi_s11_m01_10_Actuator")
break;
}
}
}