$(document).ready(function(){

	var $linkTimeout = null;
	
	//Define property namespace and variables
	$.rollingLinks = {
		rotationTime: 5000, 
		fadeInTime: 750, 
		fadeOutTime: 500
	}
	
	//Set up inital link to be displayed
	$('#holder').children().fadeTo(0, 0.001);
	$('#holder').children().css("z-index", 100);
	$('#holder .link').first().fadeTo(0, 1);
	$('#holder .link').first().css("z-index", 200);
	$('#holder .link').first().addClass("current");
	$('#holder .nav').css("z-index", 300);


	$('#holder .nav').mouseenter(function(){
		$(this).stop(false, true).fadeTo(250, 1);
	});

	$('#holder .nav').mouseleave(function(){
		$(this).stop(false, true).fadeTo(500, 0.01);
	});
		
		
	$('#rightclick').click(function() {
	    
		//Determine current and next links
		var $visibleLink = $('#holder .current');
		var $nextVisible = null;
		
		if($visibleLink.next('.link').length != 0) {
			$nextVisible = $visibleLink.next('.link');
		} else {
			$nextVisible = $('#holder .link').first();
		}
		
		//Show/hide links
		$visibleLink.fadeTo($.rollingLinks.fadeOutTime, 0.001);
		$visibleLink.css("z-index", 100);
		$nextVisible.fadeTo($.rollingLinks.fadeInTime, 1);
		$nextVisible.css("z-index", 200);
		
		//Change current link
		$visibleLink.removeClass("current");
		$nextVisible.addClass("current");
		
});
		
		
	$('#leftclick').click(function() {
	    
		//Determine current and next links
		var $visibleLink = $('#holder .current');
		var $nextVisible = null;
		
		if($visibleLink.prev('.link').length != 0) {
			$nextVisible = $visibleLink.prev('.link');
		} else {
			$nextVisible = $('#holder .link').last();
		}
		
		//Show/hide links
		$visibleLink.fadeTo($.rollingLinks.fadeOutTime, 0.001);
		$visibleLink.css("z-index", 100);
		$nextVisible.fadeTo($.rollingLinks.fadeInTime, 1);
		$nextVisible.css("z-index", 200);
		
		//Change current link
		$visibleLink.removeClass("current");
		$nextVisible.addClass("current");
		
		
	});
	
	function showAndHideLinks(){
		$linkTimeout = setTimeout(function(){
			
			//Determine current and next links
			var $visibleLink = $('#holder .current');
			var $nextVisible = null;
			
			if($visibleLink.next('.link').length != 0) {
				$nextVisible = $visibleLink.next('.link');
			} else {
				$nextVisible = $('#holder .link').first();
			}
			
			//Show/hide links
			$visibleLink.fadeTo($.rollingLinks.fadeOutTime, 0.001);
			$visibleLink.css("z-index", 100);
			$nextVisible.css("z-index", 200);
			$nextVisible.fadeTo($.rollingLinks.fadeInTime, 1, function(){
				
				$visibleLink.removeClass("current");
				$nextVisible.addClass("current");
					
				showAndHideLinks();
			
			});
		
		}, $.rollingLinks.rotationTime);
	}
	
	showAndHideLinks();
	
});

