var acTerms, scrollOffset, mbHeight, $sidebar, sidebarOffset, drawerOpen = false;

$(document).ready(function() {
		
	//homepage stuff
	$('body.home article.category-featured header h2 a').lettering();
	$('body.home article.category-featured header img').hover(function(){
		$(this).parent().next('h2').find('a').toggleClass('hover');
	});
	
	setupDrawer();

	acTerms = acTermsSetup();

	$('#s').autocomplete({
		source: acTerms
	});

	// don't need this anymore
	/*
	mbHeight = $('#site-name-wrapper').height();
	$('#member-bar .scrollup').css('padding-top', mbHeight);
	$(document).scroll(function() {
		scrollOffset = $(window).scrollTop();
		scrollOffset = ( scrollOffset < mbHeight ) ? mbHeight - scrollOffset : 0 ;
		//this is kludgey
		$('#member-bar strong').css('padding-top', scrollOffset + 3);
		$('#member-bar div.scrollup').css('padding-top', scrollOffset + 13);
	});
	*/

	// we're not doing this anymore
	/*
	$sidebar = $('#sidebar');
	$(document).scroll(function() {
		sidebarOffset = $sidebar.parent().offset().top - $(window).scrollTop();
		if ( sidebarOffset <= 40 ) {
			$sidebar.addClass('sticky');
		} else {
			$sidebar.removeClass('sticky');
		}
	});
	*/

});


function setupDrawer() {
	// navDrawer
	$('#menu-articles a').click(function() {
		if (drawerOpen) { closeDrawer(); }
		else { openDrawer(); }
		return false;
	});

	$('body').keyup(function(e) { 
		if (drawerOpen && e.which == 27 ) { // escape
			closeDrawer();
		}
	});
	
	$('body').click(function(e) {
		if (drawerOpen && $(e.target).parents('#nav-drawer').length == 0) closeDrawer();
	});
}


function openDrawer() {
	var $contents = $('#nav-drawer-contents'),
			$loading = $('#nav-drawer-loading');

	$contents.hide().empty();
	$loading.slideDown('fast');
	$('#nav-drawer').show();

	$.ajax({
		url: navDrawer.template,
		dataType : 'html',
		data : unescape(navDrawer.args),
		success : function(data){
			$contents.html(data).slideDown();
			$loading.slideUp('fast');

//			we're not going to fade out the rest of the site
//			$('#main').fadeTo('slow', 0.25);
//			$('#sidebar').fadeTo('slow', 0.25);

			$contents.find('#nav-drawer-close').click(function() {
				closeDrawer();
				return false;
			});

		}

	});

	drawerOpen = true;
}

function closeDrawer() {
//	$('#main').fadeTo('slow', 1);
//	$('#sidebar').fadeTo('slow', 1);
	$('#nav-drawer-contents').slideUp();			
	$('#nav-drawer').delay(500).hide('fast');
	drawerOpen = false;
}

function acTermsSetup() {
	var terms = new Array();

	for (var key in searchAutocomplete) {
		terms.push(searchAutocomplete[key]);
	}
	
	return terms;
}


/* Using this method to slow down Chrome */
window.onload = function() {

	var letters = new Array();

	$('.home .category-featured header h2 a span').each(function(){
		letters.push(this);
	});

	if (letters.length) { // don't run if there's no letters
		for (var i = 0; i < letters.length; i++) {
			if (letters[i].offsetLeft == 0) {
				$(letters[i]).css('padding-left', '16px');
				$(letters [i-1]).css('padding-right', '16px'); // this even works for the last span
			}
		}
		$(letters [i-1]).css('padding-right', '16px'); /*catches the very last one on the page */ 
	}

	// account for the menu bar
	if (window.location.hash) {
		window.scrollTo(0, $(window.location.hash).offset().top - 40);
	}

};
