// ------------------------------------------------------------
// 
// ------------------------------------------------------------
$(document).ready(
	function() 
	{
		initNav();
		
		initEventLinks();
		
		initPersonLinks();
		
		initPublicationLinks();
		
		initSearchForm();
	}
);

// ------------------------------------------------------------
// 
// ------------------------------------------------------------
function initEventLinks ()
{
	$("dl.event dd.link a.bio").click(
		function ()
		{
			this.blur();
			
			var parentEl = $(this).parents(".event");
			
			if (parentEl.is(".event-bio-expanded"))
			{
				parentEl.removeClass("event-bio-expanded");
				parentEl.addClass("event-bio-collapsed");

				$(this).html("view bio");
			}
			else
			{
				parentEl.removeClass("event-bio-collapsed");
				parentEl.addClass("event-bio-expanded");

				$(this).html("collapse bio");
			};
			
			return false;
		}
	);
	
	$("dl.event dd.link a.bio").each(
		function ()
		{
			this.onclick = function () { return false; };
		}
	);
};

// ------------------------------------------------------------
// 
// ------------------------------------------------------------
function initPersonLinks ()
{
	$("dl.person dd.bio a").click(
		function ()
		{
			this.blur();
			
			var parentEl = $(this).parents(".person");
			
			if (parentEl.is(".person-expanded"))
			{
				parentEl.removeClass("person-expanded");
				parentEl.addClass("person-collapsed");

				$(this).html("expand bio");
			}
			else
			{
				parentEl.removeClass("person-collapsed");
				parentEl.addClass("person-expanded");

				$(this).html("collapse bio");
			};
			
			return false;
		}
	);
	
	$("dl.person dd.bio a").each(
		function ()
		{
			this.onclick = function () { return false; };
		}
	);
};

// ------------------------------------------------------------
// 
// ------------------------------------------------------------
function initPublicationLinks ()
{
	$("dl.publication dd.description a").click(
		function ()
		{
			this.blur();
			
			var parentEl = $(this).parents(".publication");
			
			if (parentEl.is(".publication-expanded"))
			{
				parentEl.removeClass("publication-expanded");
				parentEl.addClass("publication-collapsed");
			}
			else
			{
				parentEl.removeClass("publication-collapsed");
				parentEl.addClass("publication-expanded");
			};
			
			return false;
		}
	);
	
	$("dl.publication dd.description a").each(
		function ()
		{
			this.onclick = function () { return false; };
		}
	);
};

// ------------------------------------------------------------
// 
// ------------------------------------------------------------
function initNav ()
{
	/* top level nav items */
	$("#nav-main a.main").click(
		function ()
		{
			$(this).parent().toggleClass("expanded");
			
			if (!$(this).parent().is(".expanded"))
			{
				$(this).parent().removeClass("tracking");
			}
			else if ($(this).parent().is(".active"))
			{
				$(this).parent().addClass("tracking");
			};
		
			return false;
		}
	);
	
	$("#nav-main a.main").each(
		function ()
		{
			this.onclick = function () { return false; };
		}
	);

	$("#nav-main a.main").focus(
		function ()
		{
			this.blur();
		}
	);
	
	/* second level nav items */
	$("#nav-main li li a").mouseover(
		function ()
		{
			setActiveSubNavItem($(this));
		}
	);

	$("#nav-main li li a").mouseout(
		function ()
		{
			$(this).parent().parent().parent().removeClass("tracking");
			$("li", $(this).parent().parent()).removeClass("tracking");
			$("li a", $(this).parent().parent()).removeClass("hover");
			
			// reset the active sub nav item
			initActiveSubNavItem();
		}
	);
	
	// set the active sub nav item
	initActiveSubNavItem();
};

function initActiveSubNavItem ()
{
	$("#nav-main li.expanded li.active a").each(
		function ()
		{
			setActiveSubNavItem($(this));
		}
	);
};

function setActiveSubNavItem (el)
{
	$("li a", el.parent().parent()).removeClass("hover");
	el.parent().parent().parent().addClass("tracking");
	el.parent().parent().parent().addClass("active");
	$("li", el.parent().parent()).removeClass("tracking");
	el.parent().prevAll().addClass("tracking");
	
	// alert(el.parent().parent().parent().parent().html());
	
	el.addClass("hover");
};

// ------------------------------------------------------------
// 
// ------------------------------------------------------------
function initSearchForm ()
{
	$("form#search a.submit").click(
		function ()
		{
			$("form#search").submit();
			
			return false;
		}
	);
};

