// JavaScript Document

sfHover = function() {
	var sfEls = document.getElementById("navMain").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}


//addLoadEvent(collapseMenu);
addLoadEvent(prepareMenu);

function collapseMenu(node) {
	//if (!document.getElementById) return false;
	if (!$("menu")) return false;
	if (!node) node = $("menu");

	if (node.childNodes.length > 0) {
		for (var i=0; i<node.childNodes.length; i++) {
			var child = node.childNodes[i];
			if (child.nodeName == "UL") {
					child.style.display = "none";
			}
			collapseMenu(child);
		}
	}

}

function prepareMenu() {
	//if (!document.getElementById || !document.getElementsByTagName) return false;
	if (!$("menu")) return false;

	var links = $("menu").getElementsByTagName("a");
	for (var i=0; i<links.length; i++) {		
		links[i].onclick = function() {
			toggleMenu(this.parentNode.getElementsByTagName("UL")[0], this.parentNode.getElementsByTagName("A")[0]);
			return false;
		}
	}
}

function openMenu(filter,theme,nest) {
	if(node = $('nav_'+filter)) {	
		
		toggleMenu(node,node.parentNode.getElementsByTagName("A")[0]);
		
		if(theme && (nested_node = $('nav_'+filter+'_'+theme)))
		{
			toggleMenu(nested_node,nested_node.parentNode.getElementsByTagName("A")[0]);
		}
		if(nest && (highlight_node = $('nav_'+filter+'_'+theme+'_'+nest)))
		{
			//add highlight text function
			highlight_node.getElementsByTagName("A")[0].className +=" selected";
		}
	}
}

function toggleMenu(node, link) {
	if (!link) return false;
	if (!node) location.href = link.href;
	

	// Collapse all nodes, and only show clicked node (when clicking top level of menu)
	if (node.parentNode.parentNode.id == "menu") {
		hideTopLevels(node);
	}
	
	if (node.style.display == "block") {
		node.style.display = "none";
		link.className=link.className.replace(new RegExp(" selected\\b"), "");
	} else {
		node.style.display = "block";
		link.className+=" selected";
	}
}

function hideTopLevels(oNode) {
	if (!(node = $("menu"))) return false;	

	if (node.childNodes.length > 0) {
		for (var i=0; i<node.childNodes.length; i++) {
			var child = node.childNodes[i];
			for(var j=0; j<child.childNodes.length; j++) {
				var grandchild = child.childNodes[j];
				if(grandchild != oNode) { 
					if(grandchild.nodeName == "A") {
						grandchild.className=grandchild.className.replace(new RegExp(" selected\\b"), "");
					}
					if (grandchild.nodeName == "UL") {
						if (grandchild.style.display == "block") {
							grandchild.style.display = "none";
						}
					}
				}
			}
		}		
	}
}


function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
