$(document).ready(function(){
	el = $('.fixed-nav');
	w = $(window).width();
	c = (el.outerWidth() * 2) + $('section').outerWidth();
	r = 0.6; // iPad fixed-nav y-axis ratio
	navOver = 0.5; // navigation opacity
	s = 500; // animation speed
	scrollPad = 20;
	
	if(navigator.platform == 'iPad') {
		var offset = iPadNavHeight();
		el.css({top:offset});
	}

	if (w > c) {
		el.animate({opacity:navOver},1000);
	}
	
	$(window).resize(function() {
		setCurrentArticle();
		var w = $(window).width();
		var c = (el.outerWidth() * 2) + $('section').outerWidth();
		if (w < c) {
			el.stop(true).animate({opacity:0},s);
		} else {
			el.stop(true).animate({opacity:navOver},s);
		}
	});

	if(navigator.platform == 'iPad') {
		el.css({position:"absolute"});
		$(window).scroll(function(){
		 	iPadNavAdjust();
		});
	}

	$(window).scroll(function(){
		setCurrentArticle();
	});
	
	// keyboard nav
	setCurrentArticle();
	var nextURL = $('a[rel="next"]').attr("href");
	var prevURL = $('a[rel="prev"]').attr("href");
	var startURL = $('a[rel="start"]').attr("href");

	// in-page nav
	$(document).bind('keyup','j',function(){
		var current = getCurrentArticle();
		var prev = current.prev('article').length ? current.prev('article') : false; // check .length for empty object
		if (prev) {
			$.scrollTo(prev.offset().top-scrollPad);
		} 
	});

	$(document).bind('keyup','k',function(){
		var current = getCurrentArticle();
		var next = current.next('article').length ? current.next('article') : false; // check .length for empty object
		if (next) {
			$.scrollTo(next.offset().top-scrollPad);
		} 
	});

	// pagination
	$(document).bind('keyup', 'left', function(){
		if (nextURL) window.location = nextURL;
	});

	$(document).bind('keyup', 'right', function(){
		if (prevURL) window.location = prevURL;
	});

	$(document).bind('keyup', 'h', function(){
		if (startURL) window.location = startURL;
	});

});

function iPadNavHeight() {
	var scrollTop = $(window).scrollTop();
	var navTop = Math.round(($(window).height() - el.height()) * r);
	return (navTop + scrollTop);
}

function iPadNavAdjust() {
	var offset = iPadNavHeight();
	el.animate({top:offset},s);
}

function orientationChange() {
	iPadNavAdjust();
	if ( Math.abs( window.orientation ) % 180 == 90 ) {
		var orientation = "landscape";
	} else {
		var orientation = "portrait";
	}
}

function firstVisibleArticle() {
	var el = $("article");
  var windowTop = $(window).scrollTop();
	var windowBottom = windowTop + $(window).height();
	var first = el.first();

	el.each(function(index) {
    var elTop = $(this).offset().top;
    var elBottom = elTop + $(this).height();
		if (elTop >= windowTop) {
			first = $(this);
			return false;
		}
	});
	return first;
}

function setCurrentArticle() {
	$('article').removeClass('current-article');
	var first = firstVisibleArticle();
	first.addClass('current-article');
}

function getCurrentArticle() {
	var current = $('.current-article');
	return (current) ? current : false;
}

