﻿var navigationMenu = null;
var togglableItems = new Array();
var expandedMenuItems = new Array();
function InitializeSecondaryPage() {
	//navigationMenu = GetMenuElement();
	// Find all the items marked "current"
	//currentNavItems = GetCurrentNavItems();
	FindTogglableItems(GetMenuElement());
	InitializeRollovers();
}

function GetMenuElement() {
	return document.getElementById("secondaryNavigationMenu");
}

function GetCurrentNavItems(useCached) {
	if(useCached && currentNavItems) {
		return currentNavItems;
	}		
}

function InitializeRollovers() {
	var inputs = document.getElementsByTagName("input");
	var images = document.getElementsByTagName("img");
	SetRolloverEvents(inputs, "rollover");
	SetRolloverEvents(images, "rollover");
}

function SetRolloverEvents(listOfElements, rolloverClassName) {
	if (listOfElements) {
		var cnt = listOfElements.length;
		var i = 0;
		for(i = 0; i < cnt; i++) {
			if(listOfElements[i]) {
				if(listOfElements[i].className && listOfElements[i].className.indexOf(rolloverClassName) > -1) {
					listOfElements[i].onmouseover = OnImageRollover;
					listOfElements[i].onmouseout = OnImageRollover;
				}
			}
		}
	}
}

function OnImageRollover() {
	if(this && this.src) {
		var ext = this.src.substring(this.src.lastIndexOf("."));
		var over = "-over" + ext;
		if(this.src.indexOf(over) > -1) {
			this.src = this.src.replace(over, ext);
		} else {
			this.src = this.src.replace(ext, over);
		}
	}
}


function FindTogglableItems(itemContainer) {
	if(itemContainer) {		
		var links = itemContainer.getElementsByTagName("a");
		var itemCount = links.length;
		var i = 0;
		for(i = 0; i < itemCount; i++) {			
			var togglableItem = null;
			if(links[i].childNodes[0] && links[i].childNodes[0].tagName == "img") {	
				if(links[i].className && links[i].className.indexOf("current") > -1) {
					togglableItem = links[i];
				}
			} else if (links[i].className && links[i].className.indexOf("current") > -1) {
				togglableItem = links[i];				
			}
			if(togglableItem) {
				SetTogglable(togglableItem);
				expandedMenuItems.push(togglableItem);
			}
		}
	}
}

function SetTogglable(item) {
	item.onclick = OnToggleClicked;
	togglableItems.push(item);	
}

function OnToggleClicked() {
	// Find the <ul> which is a sibling 
	if(this.parentNode) {
		var subList = this.parentNode.getElementsByTagName("ul")[0];
		if(subList) {
			var i = 0;
			if(expandedMenuItems) {
				var itemCount = expandedMenuItems.length;
				ToggleDisplay(this, subList);
			}
		}
	}
	return false;
}

function ToggleDisplay(menuItem, toBeToggled) {
	var position = ArrayPosition(expandedMenuItems, menuItem);
	if(position > -1) {
		// This is expanded already so hide it
		toBeToggled.style.display = "none";
		expandedMenuItems.splice(position, 1);
	} else {
		// this is contracted so show it
		toBeToggled.style.display = "block";
		expandedMenuItems.push(menuItem);
	}
}

function ArrayPosition(arrayToSearch, objectValue) {
	var i = 0;
	var itemCount = arrayToSearch.length;
	for(i = 0; i < itemCount; i++) {
		if(arrayToSearch[i] == objectValue) {
			return i;
		}
	}
	return -1;
}