/*
	Slimbox v2.03 - The ultimate lightweight Lightbox clone for jQuery
	(c) 2007-2009 Christophe Beyls <http://www.digitalia.be>
	MIT-style license.
*/

/* pcss */
function slimbox_onopen() {

	//document.getElementById("div_plaster_flash").style.display = "none";
	//document.getElementById("div_plaster_img").style.display = "block";
//window.alert("x");
}

function slimbox_onclose() {
//window.alert("y");
	var plaster_pl = document.getElementById("plaster");
	var plaster_en = document.getElementById("plaster_a");
	
	//document.getElementById("div_plaster_flash").style.display = "block";
	//document.getElementById("div_plaster_img").style.display = "none";
	
	if(plaster_pl) plaster_pl.style.visibility = "visible";
	if(plaster_en) plaster_en.style.visibility = "visible";
	
}
/* pcss */

(function (w) {
    var E = w(window),
        u, g, F = -1,
        o, x, D, v, y, L, s, n = !window.XMLHttpRequest,
        e = window.opera && (document.compatMode == "CSS1Compat") && (w.browser.version >= 9.3),
        m = document.documentElement,
        l = {},
        t = new Image(),
        J = new Image(),
        H, a, h, q, I, d, G, c, A, K;
    w(function () {
        w("body").append(w([H = w('<div id="lbOverlay" />')[0], a = w('<div id="lbCenter" />')[0], G = w('<div id="lbBottomContainer" />')[0]]).css("display", "none"));
        h = w('<div id="lbImage" />').appendTo(a).append(q = w('<div style="position: relative;" />').append([I = w('<a id="lbPrevLink" href="#" />').click(B)[0], d = w('<a id="lbNextLink" href="#" />').click(f)[0]])[0])[0];
        c = w('<div id="lbBottom" />').appendTo(G).append([w('<a id="lbCloseLink" href="#" />').add(H).click(C)[0], A = w('<div id="lbCaption" />')[0], K = w('<div id="lbNumber" />')[0], w('<div style="clear: both;" />')[0]])[0]
    });
    w.slimbox = function (O, N, M) {
        u = w.extend({
            loop: false,
            overlayOpacity: 0.8,
            overlayFadeDuration: 400,
            resizeDuration: 400,
            resizeEasing: "swing",
            initialWidth: 250,
            initialHeight: 250,
            imageFadeDuration: 400,
            captionAnimationDuration: 400,
            counterText: "Zdjêcie {x} z {y}",
            closeKeys: [27, 88, 67],
            previousKeys: [37, 80],
            nextKeys: [39, 78]
        },
        M);
        if (typeof O == "string") {
            O = [
                [O, N]
            ];
            N = 0
        }
        y = E.scrollTop() + ((e ? m.clientHeight : E.height()) / 2);
        L = u.initialWidth;
        s = u.initialHeight;
        w(a).css({
            top: Math.max(0, y - (s / 2)),
            width: L,
            height: s,
            marginLeft: -L / 2
        }).show();
        v = n || (H.currentStyle && (H.currentStyle.position != "fixed"));
        if (v) {
            H.style.position = "absolute"
        }
        w(H).css("opacity", u.overlayOpacity).fadeIn(u.overlayFadeDuration);
        z();
        k(1);
        g = O;
        u.loop = u.loop && (g.length > 1);
        return b(N)
    };
    w.fn.slimbox = function (M, P, O) {
        P = P ||
        function (Q) {
            return [Q.href, Q.title]
        };
        O = O ||
        function () {
            return true
        };
        var N = this;
        return N.unbind("click").click(function () {
		
			slimbox_onopen();
		
            var S = this,
                U = 0,
                T, Q = 0,
                R;
            T = w.grep(N, function (W, V) {
                return O.call(S, W, V)
            });
            for (R = T.length; Q < R; ++Q) {
                if (T[Q] == S) {
                    U = Q
                }
                T[Q] = P(T[Q], Q)
            }
            return w.slimbox(T, U, M)
        })
    };

    function z() {
        var N = E.scrollLeft(),
            M = e ? m.clientWidth : E.width();
        w([a, G]).css("left", N + (M / 2));
        if (v) {
            w(H).css({
                left: N,
                top: E.scrollTop(),
                width: M,
                height: E.height()
            })
        }
    }
    function k(M) { 
		
        w("object").add(n ? "select" : "embed").each(function (O, P) {
            if (M) {
                w.data(P, "slimbox", P.style.visibility)
            }
			else {
				slimbox_onclose();
			}
            P.style.visibility = M ? "hidden" : w.data(P, "slimbox")
        });
        var N = M ? "bind" : "unbind";
        E[N]("scroll resize", z);
        w(document)[N]("keydown", p)
    }
    function p(O) {
        var N = O.keyCode,
            M = w.inArray;
        return (M(N, u.closeKeys) >= 0) ? C() : (M(N, u.nextKeys) >= 0) ? f() : (M(N, u.previousKeys) >= 0) ? B() : false
    }
    function B() {
        return b(x)
    }
    function f() {
        return b(D)
    }
    function b(M) {
        if (M >= 0) {
            F = M;
            o = g[F][0];
            x = (F || (u.loop ? g.length : 0)) - 1;
            D = ((F + 1) % g.length) || (u.loop ? 0 : -1);
            r();
            a.className = "lbLoading";
            l = new Image();
            l.onload = j;
            l.src = o
        }
        return false
    }
    function j() {
        a.className = "";
        w(h).css({
            backgroundImage: "url(" + o + ")",
            visibility: "hidden",
            display: ""
        });
        w(q).width(l.width);
        w([q, I, d]).height(l.height);
        w(A).html(g[F][1] || "");
        w(K).html((((g.length > 1) && u.counterText) || "").replace(/{x}/, F + 1).replace(/{y}/, g.length));
        if (x >= 0) {
            t.src = g[x][0]
        }
        if (D >= 0) {
            J.src = g[D][0]
        }
        L = h.offsetWidth;
        s = h.offsetHeight;
        var M = Math.max(0, y - (s / 2));
        if (a.offsetHeight != s) {
            w(a).animate({
                height: s,
                top: M
            },
            u.resizeDuration, u.resizeEasing)
        }
        if (a.offsetWidth != L) {
            w(a).animate({
                width: L,
                marginLeft: -L / 2
            },
            u.resizeDuration, u.resizeEasing)
        }
        w(a).queue(function () {
            w(G).css({
                width: L,
                top: M + s,
                marginLeft: -L / 2,
                visibility: "hidden",
                display: ""
            });
            w(h).css({
                display: "none",
                visibility: "",
                opacity: ""
            }).fadeIn(u.imageFadeDuration, i)
        })
    }
    function i() {
        if (x >= 0) {
            w(I).show()
        }
        if (D >= 0) {
            w(d).show()
        }
        w(c).css("marginTop", -c.offsetHeight).animate({
            marginTop: 0
        },
        u.captionAnimationDuration);
        G.style.visibility = ""
    }
    function r() {
        l.onload = null;
        l.src = t.src = J.src = o;
        w([a, h, c]).stop(true);
        w([I, d, h, G]).hide()
    }
    function C() {
        if (F >= 0) {
            r();
            F = x = D = -1;
            w(a).hide();
            w(H).stop().fadeOut(u.overlayFadeDuration, k)
        }
        return false
    }
})(jQuery);

// AUTOLOAD CODE BLOCK (MAY BE CHANGED OR REMOVED)
if (!/android|iphone|ipod|series60|symbian|windows ce|blackberry/i.test(navigator.userAgent)) {
    jQuery(function ($) {
        $("a[rel^='lightbox']").slimbox({
            /* Put custom options here */
        },
        null, function (el) {
            return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));
        });
    });
}
