$(document).ready( function() {
		
			
	// Cache some variables
	var lias	=	$('#nav > li > a');
	// Figure out which li uls should hidden, based on body/li ids
	var bodyid	=	$('body').attr('id');
	var bodyidx	=	bodyid.indexOf('Body');
	var visliid	=	'#' + bodyid.substr(0,bodyidx);
	var hiduls	=	$('#nav li:not('+visliid+') ul');
	// Hide nested uls using JS instead of CSS for JS-disabled users
	hiduls.hide();
	
	
	// Insert toggler before link
	lias.before('<a class="toggler" href="#" />');
	$(visliid).find('.toggler').addClass('open'); // active nav link that's already open
	var togglers = $('.toggler');
	
	
	// Add open/close all
	$('#nav').prepend('<li id="all"><a href="#">Open/Close All</a></li>');
	// Open/close all listener
	$('#all a').live('click', function() {
		if ( $('.open').length < 3 ) {
			$('#nav ul').slideDown(100);
			togglers.addClass('open');
		}
		else {
			$('#nav ul').slideUp(100);
			togglers.removeClass('open');
		}
		return false;
	});
	
	
	// Show/hide nested navigation
	togglers.live('click', function() {
	   var ul = $(this).next().next();
	   ul.is(':hidden') ? ul.slideDown(100):ul.slideUp(100);
	   $(this).toggleClass('open');
	   return false;
	});
	
	
	
	
	// Handle external links
	$('a[href^=http://]').each( function(i) {
		$(this).attr('title', 'Open this external link in a new window');
	});
	
	$('a[href^=http://]').click( function() {
		window.open( $(this).attr('href') );
		return false;
	});
	
	
	
	// Change href="#" to javascript:void(0);
	$('a[href=#]').attr('href', 'javascript:void(0)');
	
	
});
