var toFade = 1;
all_loaded = false;
var fadingDone = false;

function viewPost(url){
	$("#blog").animate(
		{
			opacity: 0
		},
		500,
		function(){
			$.ajax(
				{
					url: url,
		 			success: function(response){
		 				$("#blog").html(response);
		 				Cufon.replace('h3');
		 				Cufon.replace('h2');
		 				Cufon.replace('h1');
		 				$("#blog").animate({
							opacity: 1
						},500);
						pageTracker._trackPageview(url);
		 			},
		 			dataType: "html"
		 		}
		 	);
		 }
	);
	return true;
}


function fadeNext(){
	$("#home_container").append(old);
	old = '';
	if($("#blog_box_"+(toFade)).length > 0){
		
		fadingDone = false;
		toFade++;
		displayPosts();
		$("#blog_box_"+(toFade-1)).fadeIn({
			duration:600,
			easing: 'easeInSine',
			complete: function(){
				fadeNext();
				
			}
		});
		Cufon.replace('h1');
		Cufon.replace('h2');
		Cufon.replace('h3');
		displayPosts();

	} else {
		fadingDone = true;
	}
				
	
}


old = '';
toLoad = 0;

function displayPosts(){
	var html = '';
	
	//if(all_loaded){
		for(var i =0;i<lasti+2-toFade;i++){
			html += $("#home_container_loading_example").html();
		}
	//}
	
	if(fadingDone){
		fadeNext();
	}
	$("#home_container_loading").html(html);
}
end = '';
$(window).scroll(function(){
	if  ( (!all_loaded) && $(window).scrollTop() == $(document).height() - $(window).height()){
		//alert(lasti);
		if(lasti + 3 < num_posts-1){
	    	lasti = lasti + 3;
	    } else {
	    	all_loaded = true;
	    	lasti = num_posts-1;
	    	//alert('jo!');
	    	$("#all_posts_loaded").fadeIn(700);
	    }
   		
    	displayPosts();
    	
   		$.ajax(
   			{
   				url: "/posts/get_more_posts_for_home/"+(lasti-3), 
   				success: function(response){
   					old += response;
   					old += end;
   					if(response.split('blog_box_padding').length !=  4){
   						lasti -= 5 - response.split('blog_box_padding').length;
       					all_loaded = true;
       					
   					} 
					
   					
   				}, 
   				complete: function(){
   					displayPosts();
					
					
				},
   				dataType: "html"
   				
   			}
   		);
   		
   		return true;
	}
});
