﻿
function GoAlert() { alert("got to 1"); }

//turn off all divs under the top level
$(function() {

	var skipTopLevelOpen = false;
	var skipLevel0Open = false;
	//AllMenusOff(null);

	//if you click on the hyperlink, just return, ignore the open command
	//this event will fire before the div that it sits on.
	$(".JqvTreeMenuLevTop > a").click(function() {
		skipTopLevelOpen = true;
	});

	//for each top level, the click will show just the sublevel
	$("#JqvTreeMenuContainer > div > div.JqvTreeMenuLevTop").click(function() {

		if (!skipTopLevelOpen) {
			var currNode = $($(this).parent().find(" > .JqvTreeMenuLev"));
			if (currNode.length > 0 && currNode.css("display") == "none") {
				AllMenusOff(currNode);
				currNode.slideDown();
				$(this).find("div.JqvTreeMenuClosed").removeClass("JqvTreeMenuClosed").addClass("JqvTreeMenuOpen");
				$(this).addClass("JqvTreeMenuOpen");
			}
			else {
				currNode.slideUp();
				$(this).find("div.JqvTreeMenuOpen").removeClass("JqvTreeMenuOpen").addClass("JqvTreeMenuClosed");
				$(this).removeClass("JqvTreeMenuOpen");
				var lev1Node = currNode.find("div.JqvTreeMenuLev");
				lev1Node.css("display", "none");
				currNode.find("div.JqvTreeMenuOpen").removeClass("JqvTreeMenuOpen").addClass("JqvTreeMenuClosed");
			}
		}
	});

	$(".JqvTreeMenuLev > a").click(function() {
		skipLevel0Open = true;
	});

	//for each level underneath the top level, including sublevels
	$("#JqvTreeMenuContainer > div > div.JqvTreeMenuLev").click(function() {

		if (!skipLevel0Open) {
			var currNode = $($(this).find(" > div.JqvTreeMenuLev"));

			if (currNode.length > 0 && currNode.css("display") == "none") {
				currNode.slideDown();
				$(this).addClass("JqvTreeMenuOpen");
			}
			else {
				currNode.slideUp();
				$(this).removeClass("JqvTreeMenuOpen");
			}
		}
	});

	// Endpoints vs. Closed Nodes
	$(".JqvTreeMenuLev").parents(".JqvTreeMenuLev").removeClass("JqvTreeMenuEndpoint").addClass("JqvTreeMenuClosed");
	$(".JqvTreeMenuLev").parent().find(".JqvTreeMenuLevTop").removeClass("JqvTreeMenuEndpoint").addClass("JqvTreeMenuClosed");

	// Collapse All
	$(".JqvTreeMenuLev1Text").parent().css("display", "none");
	$(".JqvTreeMenuLev0Text").parent().css("display", "none");
	
});

function AllMenusOff(exceptCurrNode) {
    $("#JqvTreeMenuContainer div.JqvTreeMenuLevTop").each(function() {
    if (exceptCurrNode != null && $(this).parent().find("div.JqvTreeMenuLev") != exceptCurrNode)
        {
            ($(this).parent().find("div.JqvTreeMenuLev")).css("display", "none"); //close all level divs
            $(this).find("div.JqvTreeMenuOpen").removeClass("JqvTreeMenuOpen").addClass("JqvTreeMenuClosed"); //turn all to plus sign
            $(this).parent().find("div.JqvTreeMenuOpen").removeClass("JqvTreeMenuOpen").addClass("JqvTreeMenuClosed"); //turn inner to plus sign
        }
    });
}

function OpenMenu(menuIndex) {
	if (menuIndex != -1) {
		var currPick;
		currPick = $("#JqvTreeMenuContainer > div > div.JqvTreeMenuLevTop").eq(menuIndex);  //need to find index of JqvTreeMenuLevTop
		currPick.parent().find(".JqvTreeMenuLev").each(function() {
			var currNode = $(this);
			if (currNode.length > 0 && currNode.css("display") == "none") currNode.slideDown();
		});
		currPick.parent().find(".JqvTreeMenuClosed").removeClass("JqvTreeMenuClosed").addClass("JqvTreeMenuOpen");
	}
}

function JqvTreeMenu_ShowMenu(menuName) {
	if (menuName == "") return;
	if (menuName == "All")
		$("#JqvTreeMenuContainer .JqvTreeMenu").css("display", "block");
	else
	{
		$("#JqvTreeMenuContainer .JqvTreeMenu").css("display", "none");
		$("#JqvTreeMenuContainer #JqvTreeMenu_" + menuName).css("display", "block");
	}
}

function JqvTreeMenu_NavigateTo(nodeID) {
	if (nodeID == "") return;
	var found = true;
	var thisNode = $("#" + nodeID).first();
	if (thisNode.length < 1) {
		found = false;
		thisNode = $(".JqvTreeMenuLev .JqvTreeMenuLev").first();
		if (thisNode.length < 1) thisNode = $(".JqvTreeMenuLev").first();
	}
	$(".JqvTreeMenuLev").css("display", "none").children().removeClass("JqvTreeMenuOpen");
	while (thisNode.attr("id") != "JqvTreeMenuContainer") {
		thisNode.css("display", "block").parents(".JqvTreeMenuLev").addClass("JqvTreeMenuOpen");
		if (found) thisNode.find("a, span").first().css("font-weight", "bold");
		thisNode.children(".JqvTreeMenuLev").css("display", "block");
		thisNode = thisNode.parents("div").first();
	}
}

/*
to pop open a section by an id put this in the template UNDER the rest of the jquery
calls

    <script type="text/javascript">
        $(function() { OpenMenu(1); });
    </script>
    
To Navigate to a Node by ID: (eg. "CAT3085")
    <script type="text/javascript">$(function() { JqvTreeMenu_NavigateTo("CAT3085"); });</script>

*/

function Announce(mySelf) {
	var s = "Empty";
	try {
		s = mySelf.get(0).tagName;
	}
	catch (ex) {
		// do nada
	}
	return s + ": " + mySelf.attr("class") + "." + mySelf.attr("id");
}
