$(function() {
	
		$('#content dt').click(function() {

				var next = $(this).next('dd');
				
				$('#content dd').not(next).slideUp(200, function() {
						$(this).addClass('hide');
				});

				if(next.hasClass('hide')) {
						next.slideDown(200, function() {
								next.removeClass('hide');
						});
						
						var images = next.find('.images');
						var uid = images.attr('rel');
						
						if(images.hasClass('loaded')) return true;
						
						images.load('images.php', {'uid' : uid}, function() {

								var imgs = images.find('img');
								
								imgs.each(function(i, img) {
										rm.preload($(img).attr('src'), function() {
												$(img).animate({'opacity' : 1}, 300);
										});								
										
										if(i == (imgs.length-1)) {
												images.removeClass('loading').addClass('loaded');										
										}
										
								});
								
						
						});
												
				} else {
						next.slideUp(200, function() {
								next.addClass('hide');
						});				
				}
		});
		
		$('#meta dt').click(function() {

				var next = $(this).next('dd');

				$('#meta dd').not(next).slideUp(200, function() {
						$(this).addClass('hide');
				});

				if(next.hasClass('hide')) {
						next.slideDown(200, function() {
								next.removeClass('hide');
						});
				} else {
						next.slideUp(200, function() {
								next.addClass('hide');
						});				
				}
		});

		$('#archive h1').click(function() {

				var next = $(this).next('dl');

				$('#projects dd').not(next).slideUp(200, function() {
						$(this).addClass('hide');
				});


				if(next.hasClass('hide')) {
						next.slideDown(200, function() {
								next.removeClass('hide');
						});
				} else {
						next.slideUp(200, function() {
								next.addClass('hide');
						});				
				}
		});
		
				
		$('#content a.prev, #content a.next').click(function() {

				var parent = $(this).parent().find('.images');								
				var active = parent.find('img.active');

				if(parent.hasClass('loading')) return false;
								
				if($(this).hasClass('prev')) {
						
						var prev = active.prev();
						if(prev.length == 0) prev = parent.find('img').last();
						var nr = prev.attr('rel').replace('image-', '');
								
						active.removeClass('active');
						prev.addClass('active');
				
						parent.animate({'margin-left' : nr*600*-1}, 300);
																
				} else {

						var next = active.next();
						if(next.length == 0) next = parent.find('img').first();
						var nr = next.attr('rel').replace('image-', '');
								
						active.removeClass('active');
						next.addClass('active');
				
						parent.animate({'margin-left' : nr*600*-1}, 300);
				
				}
				
				return false;
		});		
		
				
});

var rm = {
		preload : function(src, onload) {
				var image = new Image();
				$(image).attr('src', src).load(onload);
		}
};
