(function ($) {

        $.fn.darkbox_one = 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
        },
        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;
        }
})(jQuery);