(function ($) {
	var onDocumentReady = function () {
		var menu = $('#sec-nav'),
			menuInner = $('#sec-nav-inner'),
			menuWidth = 866,
			menuItems = menuInner.find('li'), 
			menuInnerWidth = 116 * menuItems.length + (menuItems.length - 1) * 9,
			menuHeight = 66;
		menu.css({
			'width': menuWidth + 'px',
			'overflow': 'hidden',
			'height': menuHeight + 'px'
		});
		if (menuInnerWidth > menuWidth) {
			var prev = $('<a href="javascript:void(0)" class="prev png irpl">Previous</a>'),
				next = $('<a href="javascript:void(0)" class="next png irpl">Next</a>'),
				onPrevMouseDown = function (event) {
					menuInner.animate({marginLeft: 0}, 2000, 'easeInOutQuad', onScrollAnimateEnd);
				},
				onNextMouseDown = function (event) {
					menuInner.animate({marginLeft: (menuWidth - menuInnerWidth)}, 2000, 'easeInOutQuad', onScrollAnimateEnd);
				},
				onPrevNextMouseUp = function (event) {
					menuInner.stop();
					onScrollAnimateEnd.apply(menuInner);
				},
				onScrollAnimateEnd = function () {
					var $t = $(this),
						offset = parseInt($t.css('margin-left').replace(/px/, ''), 10);
					if (offset < 0) {
						enableButton(prev);
					}
					else {
						disableButton(prev);
					} 
					if (Math.abs(offset) >= (menuInnerWidth - menuWidth)) {
						disableButton(next);
					}
					else {
						enableButton(next);
					}
					$.cookie('referencesScrollOffset', offset)
				},
				disableButton = function (button) {
					button.css({'opacity': 0.1, 'cursor': 'default'}).unbind();
				},
				enableButton = function (button) {
					var cb = button.is('.prev') ? onPrevMouseDown : onNextMouseDown; 
					button.css({'opacity': 1, 'cursor': 'pointer'}).bind('mousedown', cb).bind('mouseover', cb).bind('mouseup', onPrevNextMouseUp).bind('mouseout', onPrevNextMouseUp);
				};
			prev.bind('mousedown', onPrevMouseDown).bind('mouseover', onPrevMouseDown);
			next.bind('mousedown', onNextMouseDown).bind('mouseover', onNextMouseDown);
			prev.add(next).css('background-color', $('body').css('background-color')).bind('mouseup', onPrevNextMouseUp).bind('mouseout', onPrevNextMouseUp);
			menu.after(prev).after(next);
			disableButton(prev);
			var offset = $.cookie('referencesScrollOffset');
			if (offset !== null) {
				menuInner.css({marginLeft: (Math.abs(offset) < (menuInnerWidth - menuWidth) ? offset : (menuWidth - menuInnerWidth)) + 'px'});
				onScrollAnimateEnd.apply(menuInner[0]);
			}
			$('#pri-nav a, #thi-nav').bind('click', function () {
				$.cookie('referencesScrollOffset', 0);
			});
		}
	};
	$(document).bind('ready', onDocumentReady);
})(jQuery);
