
function cycleDocuments(e) {
	if($(e.target).is('input[type=text]')) return true;
	if(e.which == 106 || e.which == 107 || e.which == 103 || e.which == 71) {
		var passages = $('#seemore');
		if(passages.size() == 0) {
			if(documents != null && ! documents.closed) {
				passages = documents.$('#seemore');
			}
		}
	
		var selected = passages.find('.passages.selected');

		var next = null;
		
		var offset = 0;
		
		if(e.which == 103 /* `g` */) {
			next = passages.find('.passages:first');
		}
		if(e.which == 106 /* `j` */) {
			if(selected.size() == 0 || selected.next('.passages').size() == 0) {
				next = passages.find('.passages:first');
			} else {
				next = selected.next();
				offset = next.offset().top - 20;
			}
		}
		if(e.which == 71 /* `G` */) {
			next = passages.find('.passages:last');
			offset = next.offset().top - 20;
		}
		if(e.which == 107 /* `k` */) {
			if(selected.size() == 0 || selected.prev('.passages').size() == 0) {
				next = passages.find('.passages:last');
				offset = next.offset().top - 20;
			} else {
				next = selected.prev();
				offset = next.offset().top - 20;
				if(selected.prevAll('.passages').size() == 1) offset = 0;
			}
		}
		selected.removeClass('selected');
		next.addClass('selected');

		passages.find('a.toggle.hide:first').trigger('click');
		
		next.find('h3 a').focus();
		if($('#seemore').size() == 0) {
			if(documents != null && ! documents.closed) {
				documents.scrollTo(0, offset);
				$(documents).focus();
			}
		} else {
			window.scrollTo(0, offset);
		}
		
	}
	return true;
}

function focusSearchField(e) {
	if($(e.target).is('input[type=text]')) return true;
	if(e.which == 47 /* `/` */) {
		var input = $('input[type=text]:first');
		if(input.size() == 0) {
			if(window.opener != window) {
				input = window.opener.$('input[type=text]:first');
				window.opener.scrollTo(0, 0);
				$(window.opener).focus();
			}
		} else {
			window.scrollTo(0, 0);
		}
		input.focus();
		return false;
	}
	return false;
}

$(document).ready(function() {
	$(document).keypress(function(e) {
		focusSearchField(e);
		cycleDocuments(e);
	});	
//	$('.result-summary').append('<a href="#" class="help">press j, k, g, G to browse documents<br />press / to focus search field</a>');
//	$('.result-summary a.help').click(function() { return false; });
});


