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