$(document).ready(function() {

		$('#gallery li a.big').click(function() {
			
			var link = $(this);
	
			if(!$('div.darkbox-frame').length) {
				
				darkbox = $('<div class="darkbox-frame"><div class="darkbox-shadow"></div><div class="darkbox-canvas"><div class="darkbox-button"></div></div></div>').appendTo('body');
			}

			var frame = darkbox.clone().appendTo('body').addClass('darkbox-frame-on');

			var shadow = frame.find('div.darkbox-shadow').animate({opacity:0.8},300);
			var canvas = frame.find('div.darkbox-canvas');
			var button = frame.find('div.darkbox-button');

			var image = $('<img src="'+ link.attr('href') +'" alt="'+ link.attr('title') +'"/>');

			image.appendTo(canvas);
			image.load(function(){

				var imageWidth = image.width();
				var imageHeight = image.height();
				var frameWidth = frame.width()-40;
				var frameHeight = frame.height()-40;

				if(imageWidth > frameWidth) {

					imageWidth = frameWidth;
					image.width(imageWidth);					
					while(image.height() > frameHeight) {
						image.width(imageWidth);
						imageWidth--;
					}

					imageHeight = image.height();
				}

				if(imageHeight > frameHeight) {

					imageHeight = frameHeight;
					image.height(imageHeight);						
					while(image.width() > frameWidth) {
						image.height(imageHeight);
						imageHeight--;
					}

					imageWidth = image.width();
				}
				
				canvas.addClass('darkbox-canvas-load').animate({

					width:imageWidth,
					marginLeft:-imageWidth/2,
					height:imageHeight,
					marginTop:-imageHeight/2

				},500,function() {

					canvas.addClass('darkbox-canvas-done');
					button.addClass('darkbox-button-on');
					button.addClass(navigator.platform.toLowerCase().indexOf('mac')+1?'darkbox-button-left':'darkbox-button-right');

					image.animate({opacity:1},500,function() {

						shadow.click(closer);
						button.click(closer);

					});
				});
			});

			var closer = function() {
		
				canvas.remove();
				shadow.animate({opacity:0},300,function() {
					frame.remove();
				});
			}

			$(document).keydown(function(e) {
				if(e.which==27) closer();
			});

			return false;
		});
	});