/*
 * 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; }

function loadMenu()
{
	//selectVisited();
	//oddEven();
	buildMenu();
}

function initializeMenu(menuId, actuatorId, specificId) {
	var menu = document.getElementById(menuId);
    var actuator = document.getElementById(actuatorId);

	if (actuator)
	{
	    if (menu == null || actuator == null) return;

	    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";

	var 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 fileName;
	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) // 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);

	subjectNum = subjectNum - 1;
	subjectNum = subjectNum + 1;*/
	// Done finding subject


// 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")
// 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")
// 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")
// 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")
// 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")
// 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")
// 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")
// 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")
// 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")
// 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")
// 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")
}
