$(function(){
	
	// scroll that mug
	$("div.scrollable").scrollable({ size: 2 });

	// go to day
	$('input[name=go]').click(function(){
		var theVal = $('input[name=goToIndex]').val();
		var theVal = theVal * 1;
		var theVal = theVal - 1;
		goToItem(theVal);
	});
	
	// go to something
	$('.goTo').click(function(){
		theIndex = $(this).attr('rel');
		if (theIndex == 'end' || theIndex == 'begin'){
			var api = $("div.scrollable").scrollable(); 
			if(theIndex == 'end'){
				api.end(); 					
			}
			else{
				api.begin(); 										
			};
		}
		else{
			goToItem(theIndex);
		};
		return false;
	});
	
	// go
	function goToItem(theVal) { 		 
		var api = $("div.scrollable").scrollable(); 
		api.seekTo(theVal); 
	};
	
	// hover lovins
    $(".day .regular-body").hover(
      function () {
        $(this).find("span").slideDown('fast');
      }, 
      function () {
        $(this).find("span").slideUp('fast');
      }
    );
	
	// fill in the days
	function appendPosts(){
	
		var str = 	'&start=0&num=49';
		getPosts(str, buildPostArray, function (result) {
			$('div.items').append(result);
			
			var str = 	'&start=50&num=49';
			getPosts(str, buildPostArray, function (result) {
				$('div.items').append(result);
				
				var api = $("div.scrollable").scrollable();
				var anniv_date = new Date(2009, 8-1, 17);
				var today = new Date();
				var diff = (today - anniv_date)/1000/60/60/24;		
				var diff = parseInt(diff);
				var theVal = diff - 1 ;					
				api.seekTo(theVal);		
				
			    $(".day:not(.inactive) .regular-body").hover(
			      function () {
			        $(this).find("span").slideDown('fast');
			      }, 
			      function () {
			        $(this).find("span").slideUp('fast');
			      }
			    );						
				
			});					
			
		});
					
	};
	
	// don't fill days on permalink
	if ($('body').attr('class') != 'permalink') {
		appendPosts();
	};
	
	// get data
	function buildPostArray(data) {
	  var arrPosts = [];
	  $.each(data.posts, function(i,posts){
            var id = this.id; var urlSlug = this["url-with-slug"]; var regularTitle = this["regular-title"]; var regularBody = this["regular-body"];	var anniv_date = new Date(2009, 8-1, 16); var today = new Date(); var diff = (today - anniv_date)/1000/60/60/24;var diff = parseInt(diff);var theVal = diff - 1;
			if(regularTitle > theVal){theClass = 'inactive';}else{theClass = 'active';};
			arrPosts.push('<div class="day '+theClass+'"><div class=\"day-number'+regularTitle+'"><div class=\"regular-body"\><span>'+regularBody+'<p class="link-details"><a href=\"'+urlSlug+'\">Details/Comment</a></p></span></div><div class=\"label\">'+regularTitle+'<a class=\"go\" href=\"'+urlSlug+'\"></a></div></div></div>'); 					
	  });
	  var arrPosts = arrPosts.join('');
	  return arrPosts;
	}
	
	// call
	function getPosts(str, callback, finishCallback){
	  $.getJSON('http://90daysof.me/api/read/json?'+str+'&callback=?', function (data) {
	    finishCallback(callback(data));
	  });
	};
	
	// call
	function setPrevNext(){

		var anniv_date = new Date(2009, 8-1, 17);
		var today = new Date();
		var diff = (today - anniv_date)/1000/60/60/24;		
		var diff = parseInt(diff);
		var theVal = diff;
			  	
		var currentPost = $('a[name=prev]').attr('rel');
		var prevPost = parseInt(currentPost) - 1;
		var nextPost = parseInt(currentPost) + 1;
		
		// make sure there's a post to get
		if(prevPost >= 1){
			
			var str = '&tagged=Day'+prevPost+'';

			$.getJSON('http://90daysof.me/api/read/json?'+str+'&callback=?', function (data) {
		    	
				  var arrPosts = [];
				  $.each(data.posts, function(i,posts){
		    			var urlSlug = this["url-with-slug"];
						$('a[name=prev]').attr('href',urlSlug);
				  });				
				
			});
			
		}
		else{
			$('a[name=prev]').addClass('disabled').removeAttr('href');
		};
		
		// make sure there's a post to get
		if(nextPost <= 89 && nextPost <= theVal){
			
			var str = '&tagged=Day'+nextPost+'';

			$.getJSON('http://90daysof.me/api/read/json?'+str+'&callback=?', function (data) {
				  var arrPosts = [];
				  $.each(data.posts, function(i,posts){
		    			var urlSlug = this["url-with-slug"];
						$('a[name=next]').attr('href',urlSlug);
				  });				

			});
			
		}	
		else{
			$('a[name=next]').addClass('disabled').removeAttr('href');
		};			
		
	};
	
	
	if($('body').hasClass('permalink')){
		setPrevNext();
		$('.goTo').parent('li').remove();
		$('#prevPageMain, #nextPageMain').remove();
	}
	else{
		$('.home').parent('li').remove();
		$('.permalink-nav').remove();
	};

});