		$(function() {
			$('a.darkbox').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.6},100);
				var canvas = frame.find('div.darkbox-canvas');
				var button = frame.find('div.darkbox-button');
				var title;
				if (!link.attr('title')) { title = ''; } else { title = '<p>'+ link.attr('title') +'</p>'; }
				var image = $('<img src="'+ link.attr('href') +'" alt="'+ link.attr('title') +'"/>' + 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-15;
						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;
			});
		});