jQuery(document).ready( function() {
	
	// initialise artists navigation
	(function() {
		var idMenuContainer = 'sidebar';
		var classMenu = 'nav-artists';
		var classesCurrent = ['current-cat', 'current-cat-parent'];
		var classActive = 'active';
		var classPending = '_pending';
		var currentUlObj = null;
		
		// initially close those main menu blocks that are not currently selected
		jQuery('#' + idMenuContainer + ' ul.' + classMenu + ' > li:not(.' + classesCurrent.join('|.') + ') ul').hide();
		currentUlObj = jQuery('#' + idMenuContainer + ' ul.' + classMenu + ' > li ul:visible');
		currentUlObj.siblings('a').addClass(classActive);
		
		// initialise drop down behaviour of artists navigation
		jQuery('#' + idMenuContainer + ' ul.' + classMenu + ' > li > a').click(
			function() {
				try {
					var linkObj = jQuery(this);
					var ulObj = linkObj.siblings('ul');
					
					linkObj.blur();
					if(ulObj.hasClass(classPending)) return false;
					ulObj.addClass(classPending);
					
					if(ulObj.siblings('a').hasClass(classActive)) {
						ulObj.slideUp(400, function() { ulObj.removeClass(classPending).siblings('a').removeClass(classActive); });
					} else if(currentUlObj.length == 1) {
						currentUlObj.addClass(classPending).slideUp(200, function() {
							currentUlObj.removeClass(classPending).siblings('a').removeClass(classActive);
							ulObj.slideDown(800, function() { ulObj.removeClass(classPending).siblings('a').addClass(classActive); });
							currentUlObj = ulObj;
						});
					} else {
						ulObj.slideDown(800, function() { ulObj.removeClass(classPending).siblings('a').addClass(classActive); });
						currentUlObj = ulObj;
					}
					return false;
				} catch(err) {
					return true;
				}
			}
		);
	})();
	
	// make sub links in venue navigation unclickable
	(function() {
		var idMenuContainer = 'sidebar';
		var classMenu = 'nav-venues';
		var classSubMenu = 'children';
		
		jQuery('#' + idMenuContainer + ' ul.' + classMenu + ' ul.' + classSubMenu + ' li a').each( function() {
			jQuery(this).replaceWith('<span>' + jQuery(this).html() + '</span>');
		});
	})();
	
});