$(document).ready(function() {

	var stacks = [];
	var stacks_lengh = 0;
	
	$('div.post a.anchor').click(function(e) {
	
		e.preventDefault();
		var target = $(this.hash);
		var fixOffset = 0;
		if(this.hash.indexOf('project')>-1) fixOffset = 50;
        var targetOffset = target.offset().top;
        $('html,body').animate({scrollTop: (targetOffset-fixOffset)}, 800);
	
	});
	

	$('.navigation a').click(function(e) {
	
		e.preventDefault();
		var obj = $(this);
		var parent = obj.parents('div.post');
		var navigation = obj.parents('div.navigation');
		var container = $('div.images',parent);
		
		if(!container.hasClass('loading') && !container.hasClass('loaded')) {
		
			var id = 'cycle-'+stacks_lengh;
			stacks_lengh++;
			container.attr('id',id);
			container.addClass('loading');
			container.height( container.height() );
			navigation.attr('id','nav-'+id);

			$('img',container).hide();
			
			stacks[id] = {};
			stacks[id].obj = obj;
			stacks[id].images = [];
			stacks[id].images_max = $('a',navigation).length - 3;
			stacks[id].container = container;
			stacks[id].navigation = navigation;
			
			var fx = location.hash;

			if(fx.length > 0) fx = fx.split('#').join('');
			else fx = 'cover';
			
			$('span a',navigation).not(".activeSlide").each(function(n) {
			
				var src = $(this).attr('href');
				var img = new Image();
				img.src = src;
				img.title = n;
		        $(img).bind('load', function() {
		        	stacks[id].images.push(this);
		        	var stack_count = stacks[id].images.length;
		        	var images_max = stacks[id].images_max;
		        	if(stack_count == images_max) {
		        		var images = stacks[id].images;
		        		images.sort(function(a,b) {
		        			return (parseInt(a.title,10) - parseInt(b.title,10));
		        		});
		        		var container = stacks[id].container;
		        		var navigation = stacks[id].navigation;
						for(var i=0;i<images_max;i++) container.append( images[i] );
						container.removeClass('loading');
						container.addClass('loaded');
						$('img',container).show();
					    container.cycle( { 
					    	manualTrump: false,
					    	speed: 400,
					    	timeout: 0, 
					    	fx: fx,
					    	next: $('a.next',navigation), 
    						prev: $('a.previous',navigation),
    						pager: $('span',navigation),
    						pagerAnchorBuilder: function(idx, slide) { 
    							return $('#'+navigation.attr('id')+' span a:eq(' + idx + ')');
    						} 
						});
						stacks[id].obj.click();
		        	}
		        });
			
			});
		
		}
		
	});

});