$(document).ready(function() {
	(function() {
		var item = $('li.search');
		var search_input = $('input', item);
		var search_label = $('label', item);
		
		var expanded = true;
		var speed = 0;
	
		search_input
			.focus(function() {
				if (expanded) return;
	
				search_label.fadeOut(speed);
				search_input.animate({
					'width': 150
				}, speed);
				expanded = true;
			})
			.blur(function() {
				if (!expanded) return;
	
				if ($(this).val() == '') {
					search_label.fadeIn(speed);
					search_input.animate({
						'width': search_label.outerWidth(true)
					}, speed);
					expanded = false;
				}
			});
	
		search_input.blur();
		speed = 'fast';
	})();

	$('#nav li a')
		.click(function() {
			$('#nav li a').not(this).trigger('tab_close');
			return $(this).triggerHandler(
				$(this).parent('li').hasClass('active') ? 'tab_close' : 'tab_open'
			);
		})
		.bind('tab_open', function() {
			var sublist = $(this).data('sublist');
			if (!sublist || sublist.length == 0) return true;

			var item = $(this).parent('li');				
			if (!item.hasClass('active')) {
				item.addClass('active');
				sublist.slideDown('fast');
			}

			return false;
		})
		.bind('tab_close', function() {
			var sublist = $(this).data('sublist');
			if (!sublist || sublist.length == 0) return true;

			var item = $(this).parent('li');				
			if (item.hasClass('active')) {
				sublist.slideUp('fast', function() {
					item.removeClass('active');
				});
			}

			return false;
		});

	$('#nav li a').each(function() {
		var sublist = $('ul', $(this).parent('li'));
		$(this).data('sublist', sublist);
	});

	$('#nav li.sidebar a').data('sublist', $('#sidebar'));

	$(document.body).click(function() {
		$('#nav li a').trigger('tab_close');	
	});

	$(document.body).removeClass('loading');
});
