;
$("html").bind("gcsNavigate", function(e, settings) {
    var $$ = $(e.target);
    if ($$.attr("id") != "lightbox") return;
    if (e.relatedTarget) { // load
        var data = $(e.relatedTarget);
        var hash = settings.hash;
        if(typeof(initAccordion) == 'function'){
            initAccordion(hash, data);
        }
        if (e.target != e.relatedTarget) {
            data.hide();
            $$.replaceWith(data.fadeIn($.animationSpeed, function() {
                if (data.find('.bm-error').length) $('.lb_close').hide();
                else $('.lb_close').show();
                window.setTimeout(function() {data.fadeIn($.animationSpeed);},1); // This fixes Safari show()-Bug -> http://dev.jquery.com/ticket/1239
            }));
            e.preventDefault();
        }
    } else {
        $$.fadeOut($.animationSpeed/2,function() {
            $$.html('');
        });
        e.preventDefault();
    }
});

function closeLightbox() {
    $('#lightbox').gcsNavigate({});
}


$.Enhancer.add(function() {

});

$.extend(true,{
    Lightbox: {
        element: false,
        buttons: {
            'OK': function() {
                $.Lightbox.hide();
            }
        },
        show: function(options) {
            if (!this.element) this.element = $('#lightbox');
            if (this.element.html() != "") {
                this.element.fadeOut($.animationSpeed,function() {
                    $.Lightbox.element.html('');
                    $.Lightbox.show(options);
                });
                return;
            }
            this.element.append('<div class="lb_main lb_dialog '+ options.styleClass +'"><div class="lb_content"><h2>'+ options.headline +'</h2><div class="lb_onecolumn">'+ options.content +'</div><p class="lb_buttonrow"/></div></div>');
            if (options.styleClass.indexOf('bm-error') == -1) this.element.append('<p><a class="lb_close" rel="close-lightbox" href="#">Abbrechen</a></p>');
            if (!options.buttons) {
                options.buttons = this.buttons;
            }
            $.each(options.buttons, function(name, fn) {
                var span = $('<span></span>').text(name);
                var button = $('<a class="plc-button" href="#"></a>')
                                .html(span)
                                .click(function() { fn.apply(this, arguments); return false;})
                                .appendTo($('div.lb_content p:last'));
            });
            $('div.lb_content p:last').wrapInner('<span/>');
			this.element.enhance();
            this.element.fadeIn($.animationSpeed);
            return this.element;
        },
        hide: function() {
            this.element.fadeOut($.animationSpeed,function() {
                $.Lightbox.element.html('');
            });
            return this.element;
        }
    }
});

