jQuery(document).ready(function()
{
jQuery('a[rel^=lightbox], button.quickview').lightBox();
});
(function($)
{
$.fn.lightBox = function(settings)
{
// Configuration
settings = jQuery.extend({
// Theme
theme: '',
// Overlay
overlayBgColor: '#000000',
overlayOpacity: 0.8,
// Navigation
fixedNavigation: false,
// Images
imageLoading: '/images/lightbox_loading.gif',
imageBtnPrev: '/images/lightbox_prevlabel.gif',
imageBtnNext: '/images/lightbox_nextlabel.gif',
imageBtnClose: '/images/lightbox_closelabel.gif',
imageBlank: '/images/lightbox_blank.gif',
// Image container
containerBorderSize: 10,
containerResizeSpeed: 400,
// Info text
txtImage: 'Image',
txtOf: 'of',
// Keyboard navigation
keyToClose: 'c',
keyToPrev: 'p',
keyToNext: 'n',
// Don't change
imageArray: [],
activeImage: 0
}, settings);
// Cache jQuery object with all elements matched
var jQueryMatchedObj = this;
function _initialize()
{
_start(this, jQueryMatchedObj);
return false;
}
function _start(objClicked, jQueryMatchedObj)
{
// Hide elements
// $('embed, object, select').css({ 'visibility': 'hidden' });
$('.ui-dialog').remove();
// Set theme
if (objClicked.getAttribute('href').indexOf('youtube') == -1)
{
settings.theme = '';
settings.imageLoading = '/images/lightbox_loading.gif';
settings.imageBtnPrev = '/images/lightbox_prevlabel.gif';
settings.imageBtnNext = '/images/lightbox_nextlabel.gif';
settings.imageBtnClose = '/images/lightbox_closelabel.gif';
}
else
{
settings.theme = '-dark';
settings.imageLoading = '/images/lightbox_blank.gif';
settings.imageBtnPrev = '/images/lightbox_prevlabel_dark.gif';
settings.imageBtnNext = '/images/lightbox_nextlabel_dark.gif';
settings.imageBtnClose = '/images/lightbox_closelabel_dark.gif';
}
// Create structure
_set_interface();
// Unset image info
settings.imageArray.length = 0;
settings.activeImage = 0;
// Remove duplicate images
if (jQueryMatchedObj.length > 1)
{
var duplicates = new Array();
for (var i = jQueryMatchedObj.length - 1; i > -1; i--)
{
if ($.inArray(jQueryMatchedObj[i].getAttribute('href').replace(window.location.protocol + '//' + window.location.hostname, ''), duplicates) == -1)
duplicates.push(jQueryMatchedObj[i].getAttribute('href').replace(window.location.protocol + '//' + window.location.hostname, ''));
else
jQueryMatchedObj.splice(i, 1);
}
}
var thishref = objClicked.getAttribute('href').replace(window.location.protocol + '//' + window.location.hostname, '');
var mode = document.documentMode || 0;
if ($.browser.msie && (($.browser.version < 8 && !mode) || mode < 8)) thishref = thishref.replace('%20', ' ');
if ((typeof zoom3 != 'undefined') && ($.inArray(thishref, zoom3) != -1))
{
// Additional images
for (var i = 0; i < zoom3.length; i++)
{
if ($.browser.msie && (($.browser.version < 8 && !mode) || mode < 8)) thishref = zoom3[i].replace(' ', '%20'); else thishref = zoom3[i];
if (thishref) settings.imageArray.push(new Array(thishref, objClicked.getAttribute('title')));
}
}
else if ((jQueryMatchedObj.length == 1) || (objClicked.getAttribute('rel') == "lightbox"))
{
// Single image
thishref = objClicked.getAttribute('href').replace(window.location.protocol + '//' + window.location.hostname, '');
if (objClicked.tagName == 'BUTTON')
{
if (thishref.indexOf('?') == -1) thishref += '?quickview=1'; else thishref += '&quickview=1';
}
if ($.browser.msie && (($.browser.version < 8 && !mode) || mode < 8)) thishref = thishref.replace('%20', ' ');
settings.imageArray.push(new Array(thishref, objClicked.getAttribute('title')));
}
else
{
// Image set
for (var i = 0; i < jQueryMatchedObj.length; i++)
{
thishref = jQueryMatchedObj[i].getAttribute('href').replace(window.location.protocol + '//' + window.location.hostname, '');
if (objClicked.tagName == 'BUTTON')
{
if (thishref.indexOf('?') == -1) thishref += '?quickview=1'; else thishref += '&quickview=1';
}
if ($.browser.msie && (($.browser.version < 8 && !mode) || mode < 8)) thishref = thishref.replace('%20', ' ');
settings.imageArray.push(new Array(thishref, jQueryMatchedObj[i].getAttribute('title')));
}
}
thishref = objClicked.getAttribute('href').replace(window.location.protocol + '//' + window.location.hostname, '');
if (objClicked.tagName == 'BUTTON')
{
if (thishref.indexOf('?') == -1) thishref += '?quickview=1'; else thishref += '&quickview=1';
}
if ($.browser.msie && (($.browser.version < 8 && !mode) || mode < 8)) thishref = thishref.replace('%20', ' ');
while (settings.imageArray[settings.activeImage][0] != thishref)
{
settings.activeImage++;
}
// Prepare image
_set_image_to_view();
}
function _set_interface()
{
// Add HTML
$('body').append('');
// Get page sizes
var arrPageSizes = calcPageSize();
// Style overlay and display
$('#jquery-overlay').css({
backgroundColor: settings.overlayBgColor,
opacity: settings.overlayOpacity,
width: arrPageSizes[0],
height: arrPageSizes[1],
display: 'none'
}).fadeIn('fast');
// Get page scroll
var arrPageScroll = calcPageScroll();
// Calculate top and left offset for jquery-lightbox and display
var top = arrPageSizes[3] / 10;
if (top > 100) top = 100;
$('#jquery-lightbox').css({
top: arrPageScroll[1] + top,
left: arrPageScroll[0]
}).show();
// Assign click events to elements to close
$('#jquery-overlay, #jquery-lightbox').click(function()
{
_finish();
});
// Assign _finish function to lightbox-loading-link and lightbox-secNav-btnClose
$('#lightbox-loading-link, #lightbox-secNav-btnClose').click(function()
{
_finish();
return false;
});
// If window was resized, calculate new overlay dimensions
$(window).resize(function()
{
// Get page sizes
var arrPageSizes = calcPageSize();
// Style overlay and display
$('#jquery-overlay').css({
width: arrPageSizes[0],
height: arrPageSizes[1]
});
// Get page scroll
var arrPageScroll = calcPageScroll();
// Calculate top and left offset for jquery-lightbox and display
var top = arrPageSizes[3] / 10;
if (top > 100) top = 100;
$('#jquery-lightbox').css({
top: arrPageScroll[1] + top,
left: arrPageScroll[0]
});
});
}
function _set_image_to_view()
{
$('#lightbox-loading').show();
if (settings.fixedNavigation)
{
$('#lightbox-image, #lightbox-container-image-data-box' + settings.theme + ', #lightbox-image-details-currentNumber').hide();
}
else
{
$('#lightbox-image, #lightbox-nav, #lightbox-nav-btnPrev, #lightbox-nav-btnNext, #lightbox-container-image-data-box' + settings.theme + ', #lightbox-image-details-currentNumber').hide();
}
if ((settings.imageArray[settings.activeImage][0].indexOf('youtube') == -1) && (settings.imageArray[settings.activeImage][0].indexOf('quickview') == -1))
{
// Preload image
var objImagePreloader = new Image();
objImagePreloader.onload = function()
{
$('#lightbox-image').attr('src', settings.imageArray[settings.activeImage][0]);
_resize_container_image_box(objImagePreloader.width, objImagePreloader.height);
objImagePreloader.onload=function(){};
};
objImagePreloader.src = settings.imageArray[settings.activeImage][0];
}
else if (settings.imageArray[settings.activeImage][0].indexOf('youtube') == -1)
{
// Display page
$('#lightbox-image').replaceWith('