function clickEvent(e) {
	var targ;
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3) // defeat Safari bug
		targ = targ.parentNode;

	var navigation = document.getElementById("navigation");
	cleanWhitespace(navigation);
	var parent = navigation.firstChild;
	var firstLevelNodes = parent.childNodes;
	
	var sibling = targ.nextSibling;
	sibling.style.display = (sibling.style.display == '' || sibling.style.display == 'block') ? 'none' : 'block';
	targ.style.borderBottom = (sibling.style.display == 'block') ? "0px" : "1px solid #b3b7b9";
	
	for (var i = 0; i < firstLevelNodes.length; i++) {
		nextSibling = firstLevelNodes[i].firstChild.nextSibling;
		if (nextSibling && nextSibling.id != sibling.id) {   
			firstLevelNodes[i].firstChild.nextSibling.style.display = "none";
			firstLevelNodes[i].firstChild.style.borderBottom = "1px solid #b3b7b9";
		}
	}
	setHeight();
}

function CreateMenu() {
	
	var navigation = document.getElementById("navigation");
	if(document.all) navigation.style.marginTop = "17px";
	cleanWhitespace(navigation);
	var parent = navigation.firstChild;

	var firstLevelNodes = parent.childNodes;

	var uls = parent.getElementsByTagName("UL");

	for (k = 0; k < uls.length; k++)
		uls[k].id = "ul_" + k;

	for (var i = 0; i < firstLevelNodes.length; i++) {
		if (firstLevelNodes[i].firstChild.nodeValue != null) {
			currentNode = firstLevelNodes[i];
			
			//create a clickable item
			text = document.createTextNode(currentNode.firstChild.nodeValue);
			div = document.createElement("DIV");
			div.appendChild(text);
			div.setAttribute("id", "div_" + i);
			div.setAttribute("class", "menutitle");

			currentNode.removeChild(currentNode.firstChild);
			currentNode.insertBefore(div, currentNode.firstChild);
		}
		else if (firstLevelNodes[i].firstChild.nodeName.toUpperCase() == "A"){
			firstLevelNodes[i].setAttribute("class", "menutitle");
		}
   }

   divs = getDivsByClassName("menutitle");

   attachEvents(divs);

	for (var i = 0; i < firstLevelNodes.length; i++) {
		if (firstLevelNodes[i].firstChild.nodeName.toUpperCase() == "A")
			firstLevelNodes[i].className = "menutitle";

		if (firstLevelNodes[i].firstChild.nextSibling && firstLevelNodes[i].firstChild.nextSibling.nodeName.toUpperCase() == "UL") {
			firstLevelNodes[i].firstChild.nextSibling.style.display = "none";
			firstLevelNodes[i].firstChild.nextSibling.className = "submenu";
		}
	}

	//alert(navigation.innerHTML);
	navigation.style.display = "block";

}

function attachEvents(divs) {
	for (i = 0; i < divs.length; i++) {
		div = document.getElementById(divs[i].id);

		if (document.attachEvent)
			div.attachEvent("onclick", clickEvent);
		else
			div.addEventListener("click", clickEvent, false);
	}
}

function getDivsByClassName(clsName) {
	var elements = new Array();
	curElements = document.getElementsByTagName("DIV");
	for (c = 0; c < curElements.length; c++) {

		if (curElements[c].getAttribute("class") == clsName) {
			elements.push(curElements[c]);
			curElements[c].className = clsName;
		}
	}
	return elements;
}

function cleanWhitespace(node) {
	var notWhitespace = /\S/;
	for (var x = 0; x < node.childNodes.length; x++) {
		var childNode = node.childNodes[x];
		if ((childNode.nodeType == 3)&&(!notWhitespace.test(childNode.nodeValue))) {
			// that is, if it's a whitespace text node
			node.removeChild(node.childNodes[x]);
			x--;
		}
		if (childNode.nodeType == 1) {
			// elements can have text child nodes of their own
			cleanWhitespace(childNode)
		}
	}
}

function setNavPointer(){
	var pointer = document.getElementById("pointer");
	var navigation = document.getElementById("navigation");
	var element;
	var filename = getURLFileName();
	
	var links = navigation.getElementsByTagName("A");
	
	for (var i = 0; i < links.length; i++){
		var href = (links[i].href.indexOf("/") > 0) ? links[i].href.split("/") : links[i].href.split("\\");
		
		if (href && filename.length > 0){
			href = href[href.length - 1];
			if (filename == href){
				element = links[i];
				break;
			}
		}
		
		if (filename.length == 0) element = links[0]; //assuming the first link is index.html or home page
	}
	
	if(element){
		var pNode = element.parentNode.parentNode;
		if(pNode.className == "submenu" ){
			//we are on submenu page
			pNode.style.display = "block";
			pNode.parentNode.firstChild.style.borderBottom = "0px";
			
			if(document.all) {
				element.parentNode.style.marginBottom = "2px";
				if(element.parentNode == element.parentNode.parentNode.lastChild)
					element.parentNode.parentNode.style.marginBottom = "5px";
			}
		}

		element.parentNode.style.listStyleImage = (document.all) ? "url('images/nav/arrowIE.png')" : "url('images/nav/arrowFF.png')";
	}
}

function getURLFileName(){
	var pagepath = " " + window.location;
	var pagepatharr = (pagepath.indexOf("/") > 0) ? pagepath.split("/") : pagepath.split("\\");
	return pagepatharr[pagepatharr.length - 1];
}
