﻿(function (a) { a.fn.lightBox = function (p) { p = jQuery.extend({ overlayBgColor: "#000", overlayOpacity: 0.8, fixedNavigation: false, imageLoading: "http://www.dongklantkaart.nl/images/lightbox-ico-loading.gif", imageBtnPrev: "http://www.dongklantkaart.nl/images/lightbox-btn-prev.gif", imageBtnNext: "http://www.dongklantkaart.nl/images/lightbox-btn-next.gif", imageBtnClose: "http://www.dongklantkaart.nl/images/lightbox-btn-close.gif", imageBlank: "http://www.dongklantkaart.nl/images/lightbox-blank.gif", containerBorderSize: 10, containerResizeSpeed: 400, txtImage: "Image", txtOf: "of", keyToClose: "c", keyToPrev: "p", keyToNext: "n", imageArray: [], activeImage: 0 }, p); var i = this; function r() { o(this, i); return false } function o(v, u) { a("embed, object, select").css({ visibility: "hidden" }); c(); p.imageArray.length = 0; p.activeImage = 0; if (u.length == 1) { p.imageArray.push(new Array(v.getAttribute("href"), v.getAttribute("title"))) } else { for (var t = 0; t < u.length; t++) { p.imageArray.push(new Array(u[t].getAttribute("href"), u[t].getAttribute("title"))) } } while (p.imageArray[p.activeImage][0] != v.getAttribute("href")) { p.activeImage++ } l() } function c() { a("body").append('<div id="jquery-overlay"></div><div id="jquery-lightbox"><div id="lightbox-container-image-box"><div id="lightbox-container-image"><img id="lightbox-image"><div style="" id="lightbox-nav"><a href="#" id="lightbox-nav-btnPrev"></a><a href="#" id="lightbox-nav-btnNext"></a></div><div id="lightbox-loading"><a href="#" id="lightbox-loading-link"><img src="http://www.dongklantkaart.nl/images/lightbox-ico-loading.gif"></a></div></div></div><div id="lightbox-container-image-data-box"><div id="lightbox-container-image-data"><div id="lightbox-image-details"><span id="lightbox-image-details-caption"></span><span id="lightbox-image-details-currentNumber"></span></div><div id="lightbox-secNav"><a href="#" id="lightbox-secNav-btnClose"><img src="http://www.dongklantkaart.nl/images/lightbox-btn-close.gif"></a></div></div></div></div>'); var t = f(); a("#jquery-overlay").css({ backgroundColor: p.overlayBgColor, opacity: p.overlayOpacity, width: t[0], height: t[1] }).fadeIn(); var u = h(); a("#jquery-lightbox").css({ top: u[1] + (t[3] / 10), left: u[0] }).show(); a("#jquery-overlay,#jquery-lightbox").click(function () { b() }); a("#lightbox-loading-link,#lightbox-secNav-btnClose").click(function () { b(); return false }); a(window).resize(function () { var v = f(); a("#jquery-overlay").css({ width: v[0], height: v[1] }); var w = h(); a("#jquery-lightbox").css({ top: w[1] + (v[3] / 10), left: w[0] }) }) } function l() { a("#lightbox-loading").show(); if (p.fixedNavigation) { a("#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber").hide() } else { a("#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber").hide() } var t = new Image(); t.onload = function () { a("#lightbox-image").attr("src", p.imageArray[p.activeImage][0]); j(t.width, t.height); t.onload = function () { } }; t.src = p.imageArray[p.activeImage][0] } function j(w, z) { var t = a("#lightbox-container-image-box").width(); var y = a("#lightbox-container-image-box").height(); var x = (w + (p.containerBorderSize * 2)); var v = (z + (p.containerBorderSize * 2)); var u = t - x; var A = y - v; a("#lightbox-container-image-box").animate({ width: x, height: v }, p.containerResizeSpeed, function () { g() }); if ((u == 0) && (A == 0)) { if (a.browser.msie) { n(250) } else { n(100) } } a("#lightbox-container-image-data-box").css({ width: w }); a("#lightbox-nav-btnPrev,#lightbox-nav-btnNext").css({ height: z + (p.containerBorderSize * 2) }) } function g() { a("#lightbox-loading").hide(); a("#lightbox-image").fadeIn(function () { k(); s() }); q() } function k() { a("#lightbox-container-image-data-box").slideDown("fast"); a("#lightbox-image-details-caption").hide(); if (p.imageArray[p.activeImage][1]) { a("#lightbox-image-details-caption").html(p.imageArray[p.activeImage][1]).show() } if (p.imageArray.length > 1) { a("#lightbox-image-details-currentNumber").html(p.txtImage + " " + (p.activeImage + 1) + " " + p.txtOf + " " + p.imageArray.length).show() } } function s() { a("#lightbox-nav").show(); a("#lightbox-nav-btnPrev,#lightbox-nav-btnNext").css({ background: "transparent url(http://www.dongklantkaart.nl/images/lightbox-blank.gif) no-repeat" }); if (p.activeImage != 0) { if (p.fixedNavigation) { a("#lightbox-nav-btnPrev").css({ background: "url(http://www.dongklantkaart.nl/images/lightbox-btn-prev.gif) left 15% no-repeat" }).unbind().bind("click", function () { p.activeImage = p.activeImage - 1; l(); return false }) } else { a("#lightbox-nav-btnPrev").unbind().hover(function () { a(this).css({ background: "url(http://www.dongklantkaart.nl/images/lightbox-btn-prev.gif) left 15% no-repeat" }) }, function () { a(this).css({ background: "transparent url(http://www.dongklantkaart.nl/images/lightbox-blank.gif) no-repeat" }) }).show().bind("click", function () { p.activeImage = p.activeImage - 1; l(); return false }) } } if (p.activeImage != (p.imageArray.length - 1)) { if (p.fixedNavigation) { a("#lightbox-nav-btnNext").css({ background: "url(http://www.dongklantkaart.nl/images/lightbox-btn-next.gif) right 15% no-repeat" }).unbind().bind("click", function () { p.activeImage = p.activeImage + 1; l(); return false }) } else { a("#lightbox-nav-btnNext").unbind().hover(function () { a(this).css({ background: "url(http://www.dongklantkaart.nl/images/lightbox-btn-next.gif) right 15% no-repeat" }) }, function () { a(this).css({ background: "transparent url(http://www.dongklantkaart.nl/images/lightbox-blank.gif) no-repeat" }) }).show().bind("click", function () { p.activeImage = p.activeImage + 1; l(); return false }) } } m() } function m() { a(document).keydown(function (t) { d(t) }) } function e() { a(document).unbind() } function d(t) { if (t == null) { keycode = event.keyCode; escapeKey = 27 } else { keycode = t.keyCode; escapeKey = t.DOM_VK_ESCAPE } key = String.fromCharCode(keycode).toLowerCase(); if ((key == p.keyToClose) || (key == "x") || (keycode == escapeKey)) { b() } if ((key == p.keyToPrev) || (keycode == 37)) { if (p.activeImage != 0) { p.activeImage = p.activeImage - 1; l(); e() } } if ((key == p.keyToNext) || (keycode == 39)) { if (p.activeImage != (p.imageArray.length - 1)) { p.activeImage = p.activeImage + 1; l(); e() } } } function q() { if ((p.imageArray.length - 1) > p.activeImage) { objNext = new Image(); objNext.src = p.imageArray[p.activeImage + 1][0] } if (p.activeImage > 0) { objPrev = new Image(); objPrev.src = p.imageArray[p.activeImage - 1][0] } } function b() { a("#jquery-lightbox").remove(); a("#jquery-overlay").fadeOut(function () { a("#jquery-overlay").remove() }); a("embed, object, select").css({ visibility: "visible" }) } function f() { var v, t; if (window.innerHeight && window.scrollMaxY) { v = window.innerWidth + window.scrollMaxX; t = window.innerHeight + window.scrollMaxY } else { if (document.body.scrollHeight > document.body.offsetHeight) { v = document.body.scrollWidth; t = document.body.scrollHeight } else { v = document.body.offsetWidth; t = document.body.offsetHeight } } var u, w; if (self.innerHeight) { if (document.documentElement.clientWidth) { u = document.documentElement.clientWidth } else { u = self.innerWidth } w = self.innerHeight } else { if (document.documentElement && document.documentElement.clientHeight) { u = document.documentElement.clientWidth; w = document.documentElement.clientHeight } else { if (document.body) { u = document.body.clientWidth; w = document.body.clientHeight } } } if (t < w) { pageHeight = w } else { pageHeight = t } if (v < u) { pageWidth = v } else { pageWidth = u } arrayPageSize = new Array(pageWidth, pageHeight, u, w); return arrayPageSize } function h() { var u, t; if (self.pageYOffset) { t = self.pageYOffset; u = self.pageXOffset } else { if (document.documentElement && document.documentElement.scrollTop) { t = document.documentElement.scrollTop; u = document.documentElement.scrollLeft } else { if (document.body) { t = document.body.scrollTop; u = document.body.scrollLeft } } } arrayPageScroll = new Array(u, t); return arrayPageScroll } function n(v) { var u = new Date(); t = null; do { var t = new Date() } while (t - u < v) } return this.unbind("click").click(r) } })(jQuery);
