var firstID, currentID, lastID, myContent, t;
var slideout = false;
var busy = false;
$(function(){
	firstID = $('a:first.numbers').attr('id');
	lastID = $('a:last.numbers').attr('id');
	$('nav').prepend("<p>You can also navigate with keyboard arrows and mouse scroll wheel</p>").hover(
		function(){
			$(this).addClass('active')
		},
		function(){
			$(this).removeClass('active')
		});
	$('#prev').after("<a id='prev-js' href='#'>Prev</a>").remove();
	$('#next').after("<a id='next-js' href='#'>Next</a>").remove();
	
	$('.numbers').click(function(){
		$('.numbers').removeClass('selected');
		$(this).addClass('selected');
		currentID = $(this).attr('id');
		ajaxURL = $(this).attr('href').replace('index','project');
		disabled = $(this).hasClass('disabled');
		changer(ajaxURL,disabled);
		return false;
	});
	
	$('h1 a').click(function(){
		$('#home').click();		
		return false;
	});

	$('#contact').live('click',function(){
		currentID = $(this).attr('id');
		ajaxURL = $(this).attr('href').replace('index','project');
		$('.numbers').removeClass('selected');
		disabled = $(this).hasClass('disabled');
		changer(ajaxURL,disabled);
		return false;
	});

	$('#next-js').click(function(){
		if(!$(this).hasClass('disabled') && busy == false){
			$('.selected').parent().next().children('a').click();	
		}
		return false;
	});
	
	$('#prev-js').click(function(){
		if(!$(this).hasClass('disabled') && busy == false){
			$('.selected').parent().prev().children('a').click();		
		}
		return false;
	});
	
	preloadProj = window.location.toString().split('#-')[1];
	if(!preloadProj || preloadProj == "-home"){
		$('#prev-js').addClass('disabled');
	}else{	
		$('#'+preloadProj).click();
	}
		
	//Add event listener for mousescroll 
	$('body').bind('mousewheel', function(event, delta) {
		if(delta > 0){
			$('#prev-js').click();
		}else{
			$('#next-js').click();
		}
		return false;
	});
	
	//Add event listener for up/down keypress
	$(document).keydown(function(e) {
      switch(e.keyCode) { 
         // User pressed "up" arrow
         case 38:
           $('#prev-js').click();
         break;
         // User pressed "left" arrow
         case 37:
           $('#prev-js').click();
         break;
         // User pressed "down" arrow
         case 40:
           $('#next-js').click();
         break;
         // User pressed "right" arrow
         case 39:
           $('#next-js').click();
         break;
		 return false;
      }
   });
});

function changer(ajaxURL,disabled){
	if(busy == false){
		busy = true;
		$.ajax({
			method: "get",
			url: ajaxURL,
			beforeSend: function(){
				slideout = true;
				$('h1 a').addClass('spin');
				$('#project-header').animate({ top: "-1000px" },300);
				$('#project-details').animate({ left: "-1000px" },300);
				$('#project-image').animate({ right: "-1000px" },300, function(){
					slideout = false;																
				});
			}, 
			success: function(html){
				myContent = $(html);
				updateContent();
			},
			error: function(){
				alert("website is dying");			
			}
		});
	}
	return false;
}
function updateContent(){
	
	if(slideout){
		t = setTimeout(function(){updateContent()},100);
	}else{
		clearTimeout(t);
		$('div').html();
		$('h1 a').removeClass('spin');
		
		window.location = window.location.toString().split('#')[0]+"#-"+currentID;
		
		//update class on previous link if necessary
		if(currentID == firstID || currentID == 'contact'){
			$('#prev-js').addClass('disabled');	
		}else{
			$('#prev-js').removeClass('disabled');	
		}
		
		//update class on next link is necessary
		if(currentID == lastID || currentID == 'contact'){
			$('#next-js').addClass('disabled');
		}else{
			$('#next-js').removeClass('disabled');	
		}
		$('#project-header').html(myContent.children().eq(0).html()).animate({ top: "0px" },300);
		$('#project-details').html(myContent.children().eq(1).html()).animate({ left: "0px" },300);
		$('#project-image').html(myContent.children().eq(2).html()).animate({ right: "0px" },300, function(){
			busy = false;																						
		});
	}	
}
