Skip to content

Commit f2681f4

Browse files
Added additional functionality and Jersey license information
1 parent a452867 commit f2681f4

18 files changed

+1030
-4
lines changed

Jersey - Legal information.html

Lines changed: 420 additions & 0 deletions
Large diffs are not rendered by default.

Jersey - Legal information_files/bootstrap.min.js

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
498 Bytes
Loading

Jersey - Legal information_files/ga.js

Lines changed: 66 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Loading

Jersey - Legal information_files/highlight.min.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
1.59 KB
Loading

Jersey - Legal information_files/jquery.ba-bbq.min.js

Lines changed: 18 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Jersey - Legal information_files/jquery.min.js

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Jersey - Legal information_files/jquery.smooth-scroll.min.js

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 351 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,351 @@
1+
2+
/*
3+
Lightbox v2.51
4+
by Lokesh Dhakar - http://www.lokeshdhakar.com
5+
6+
For more information, visit:
7+
http://lokeshdhakar.com/projects/lightbox2/
8+
9+
Licensed under the Creative Commons Attribution 2.5 License - http://creativecommons.org/licenses/by/2.5/
10+
- free for use in both personal and commercial projects
11+
- attribution requires leaving author name, author link, and the license info intact
12+
13+
Thanks
14+
- Scott Upton(uptonic.com), Peter-Paul Koch(quirksmode.com), and Thomas Fuchs(mir.aculo.us) for ideas, libs, and snippets.
15+
- Artemy Tregubenko (arty.name) for cleanup and help in updating to latest proto-aculous in v2.05.
16+
17+
18+
Table of Contents
19+
=================
20+
LightboxOptions
21+
22+
Lightbox
23+
- constructor
24+
- init
25+
- enable
26+
- build
27+
- start
28+
- changeImage
29+
- sizeContainer
30+
- showImage
31+
- updateNav
32+
- updateDetails
33+
- preloadNeigbhoringImages
34+
- enableKeyboardNav
35+
- disableKeyboardNav
36+
- keyboardAction
37+
- end
38+
39+
options = new LightboxOptions
40+
lightbox = new Lightbox options
41+
*/
42+
43+
(function() {
44+
var $, Lightbox, LightboxOptions;
45+
46+
$ = jQuery;
47+
48+
LightboxOptions = (function() {
49+
50+
function LightboxOptions() {
51+
this.fileLoadingImage = 'images/loading.gif';
52+
this.fileCloseImage = 'images/close.png';
53+
this.resizeDuration = 700;
54+
this.fadeDuration = 500;
55+
this.labelImage = "Image";
56+
this.labelOf = "of";
57+
}
58+
59+
return LightboxOptions;
60+
61+
})();
62+
63+
Lightbox = (function() {
64+
65+
function Lightbox(options) {
66+
this.options = options;
67+
this.album = [];
68+
this.currentImageIndex = void 0;
69+
this.init();
70+
}
71+
72+
Lightbox.prototype.init = function() {
73+
this.enable();
74+
return this.build();
75+
};
76+
77+
Lightbox.prototype.enable = function() {
78+
var _this = this;
79+
return $('body').on('click', 'a[rel^=lightbox], area[rel^=lightbox]', function(e) {
80+
_this.start($(e.currentTarget));
81+
return false;
82+
});
83+
};
84+
85+
Lightbox.prototype.build = function() {
86+
var $lightbox,
87+
_this = this;
88+
$("<div>", {
89+
id: 'lightboxOverlay'
90+
}).after($('<div/>', {
91+
id: 'lightbox'
92+
}).append($('<div/>', {
93+
"class": 'lb-outerContainer'
94+
}).append($('<div/>', {
95+
"class": 'lb-container'
96+
}).append($('<img/>', {
97+
"class": 'lb-image'
98+
}), $('<div/>', {
99+
"class": 'lb-nav'
100+
}).append($('<a/>', {
101+
"class": 'lb-prev'
102+
}), $('<a/>', {
103+
"class": 'lb-next'
104+
})), $('<div/>', {
105+
"class": 'lb-loader'
106+
}).append($('<a/>', {
107+
"class": 'lb-cancel'
108+
}).append($('<img/>', {
109+
src: this.options.fileLoadingImage
110+
}))))), $('<div/>', {
111+
"class": 'lb-dataContainer'
112+
}).append($('<div/>', {
113+
"class": 'lb-data'
114+
}).append($('<div/>', {
115+
"class": 'lb-details'
116+
}).append($('<span/>', {
117+
"class": 'lb-caption'
118+
}), $('<span/>', {
119+
"class": 'lb-number'
120+
})), $('<div/>', {
121+
"class": 'lb-closeContainer'
122+
}).append($('<a/>', {
123+
"class": 'lb-close'
124+
}).append($('<img/>', {
125+
src: this.options.fileCloseImage
126+
}))))))).appendTo($('body'));
127+
$('#lightboxOverlay').hide().on('click', function(e) {
128+
_this.end();
129+
return false;
130+
});
131+
$lightbox = $('#lightbox');
132+
$lightbox.hide().on('click', function(e) {
133+
if ($(e.target).attr('id') === 'lightbox') _this.end();
134+
return false;
135+
});
136+
$lightbox.find('.lb-outerContainer').on('click', function(e) {
137+
if ($(e.target).attr('id') === 'lightbox') _this.end();
138+
return false;
139+
});
140+
$lightbox.find('.lb-prev').on('click', function(e) {
141+
_this.changeImage(_this.currentImageIndex - 1);
142+
return false;
143+
});
144+
$lightbox.find('.lb-next').on('click', function(e) {
145+
_this.changeImage(_this.currentImageIndex + 1);
146+
return false;
147+
});
148+
$lightbox.find('.lb-loader, .lb-close').on('click', function(e) {
149+
_this.end();
150+
return false;
151+
});
152+
};
153+
154+
Lightbox.prototype.start = function($link) {
155+
var $lightbox, $window, a, i, imageNumber, left, top, _len, _ref;
156+
$(window).on("resize", this.sizeOverlay);
157+
$('select, object, embed').css({
158+
visibility: "hidden"
159+
});
160+
$('#lightboxOverlay').width($(document).width()).height($(document).height()).fadeIn(this.options.fadeDuration);
161+
this.album = [];
162+
imageNumber = 0;
163+
if ($link.attr('rel') === 'lightbox') {
164+
this.album.push({
165+
link: $link.attr('href'),
166+
title: $link.attr('title')
167+
});
168+
} else {
169+
_ref = $($link.prop("tagName") + '[rel="' + $link.attr('rel') + '"]');
170+
for (i = 0, _len = _ref.length; i < _len; i++) {
171+
a = _ref[i];
172+
this.album.push({
173+
link: $(a).attr('href'),
174+
title: $(a).attr('title')
175+
});
176+
if ($(a).attr('href') === $link.attr('href')) imageNumber = i;
177+
}
178+
}
179+
$window = $(window);
180+
top = $window.scrollTop() + $window.height() / 10;
181+
left = $window.scrollLeft();
182+
$lightbox = $('#lightbox');
183+
$lightbox.css({
184+
top: top + 'px',
185+
left: left + 'px'
186+
}).fadeIn(this.options.fadeDuration);
187+
this.changeImage(imageNumber);
188+
};
189+
190+
Lightbox.prototype.changeImage = function(imageNumber) {
191+
var $image, $lightbox, preloader,
192+
_this = this;
193+
this.disableKeyboardNav();
194+
$lightbox = $('#lightbox');
195+
$image = $lightbox.find('.lb-image');
196+
this.sizeOverlay();
197+
$('#lightboxOverlay').fadeIn(this.options.fadeDuration);
198+
$('.loader').fadeIn('slow');
199+
$lightbox.find('.lb-image, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption').hide();
200+
$lightbox.find('.lb-outerContainer').addClass('animating');
201+
preloader = new Image;
202+
preloader.onload = function() {
203+
$image.attr('src', _this.album[imageNumber].link);
204+
$image.width = preloader.width;
205+
$image.height = preloader.height;
206+
return _this.sizeContainer(preloader.width, preloader.height);
207+
};
208+
preloader.src = this.album[imageNumber].link;
209+
this.currentImageIndex = imageNumber;
210+
};
211+
212+
Lightbox.prototype.sizeOverlay = function() {
213+
return $('#lightboxOverlay').width($(document).width()).height($(document).height());
214+
};
215+
216+
Lightbox.prototype.sizeContainer = function(imageWidth, imageHeight) {
217+
var $container, $lightbox, $outerContainer, containerBottomPadding, containerLeftPadding, containerRightPadding, containerTopPadding, newHeight, newWidth, oldHeight, oldWidth,
218+
_this = this;
219+
$lightbox = $('#lightbox');
220+
$outerContainer = $lightbox.find('.lb-outerContainer');
221+
oldWidth = $outerContainer.outerWidth();
222+
oldHeight = $outerContainer.outerHeight();
223+
$container = $lightbox.find('.lb-container');
224+
containerTopPadding = parseInt($container.css('padding-top'), 10);
225+
containerRightPadding = parseInt($container.css('padding-right'), 10);
226+
containerBottomPadding = parseInt($container.css('padding-bottom'), 10);
227+
containerLeftPadding = parseInt($container.css('padding-left'), 10);
228+
newWidth = imageWidth + containerLeftPadding + containerRightPadding;
229+
newHeight = imageHeight + containerTopPadding + containerBottomPadding;
230+
if (newWidth !== oldWidth && newHeight !== oldHeight) {
231+
$outerContainer.animate({
232+
width: newWidth,
233+
height: newHeight
234+
}, this.options.resizeDuration, 'swing');
235+
} else if (newWidth !== oldWidth) {
236+
$outerContainer.animate({
237+
width: newWidth
238+
}, this.options.resizeDuration, 'swing');
239+
} else if (newHeight !== oldHeight) {
240+
$outerContainer.animate({
241+
height: newHeight
242+
}, this.options.resizeDuration, 'swing');
243+
}
244+
setTimeout(function() {
245+
$lightbox.find('.lb-dataContainer').width(newWidth);
246+
$lightbox.find('.lb-prevLink').height(newHeight);
247+
$lightbox.find('.lb-nextLink').height(newHeight);
248+
_this.showImage();
249+
}, this.options.resizeDuration);
250+
};
251+
252+
Lightbox.prototype.showImage = function() {
253+
var $lightbox;
254+
$lightbox = $('#lightbox');
255+
$lightbox.find('.lb-loader').hide();
256+
$lightbox.find('.lb-image').fadeIn('slow');
257+
this.updateNav();
258+
this.updateDetails();
259+
this.preloadNeighboringImages();
260+
this.enableKeyboardNav();
261+
};
262+
263+
Lightbox.prototype.updateNav = function() {
264+
var $lightbox;
265+
$lightbox = $('#lightbox');
266+
$lightbox.find('.lb-nav').show();
267+
if (this.currentImageIndex > 0) $lightbox.find('.lb-prev').show();
268+
if (this.currentImageIndex < this.album.length - 1) {
269+
$lightbox.find('.lb-next').show();
270+
}
271+
};
272+
273+
Lightbox.prototype.updateDetails = function() {
274+
var $lightbox,
275+
_this = this;
276+
$lightbox = $('#lightbox');
277+
if (typeof this.album[this.currentImageIndex].title !== 'undefined' && this.album[this.currentImageIndex].title !== "") {
278+
$lightbox.find('.lb-caption').html(this.album[this.currentImageIndex].title).fadeIn('fast');
279+
}
280+
if (this.album.length > 1) {
281+
$lightbox.find('.lb-number').html(this.options.labelImage + ' ' + (this.currentImageIndex + 1) + ' ' + this.options.labelOf + ' ' + this.album.length).fadeIn('fast');
282+
} else {
283+
$lightbox.find('.lb-number').hide();
284+
}
285+
$lightbox.find('.lb-outerContainer').removeClass('animating');
286+
$lightbox.find('.lb-dataContainer').fadeIn(this.resizeDuration, function() {
287+
return _this.sizeOverlay();
288+
});
289+
};
290+
291+
Lightbox.prototype.preloadNeighboringImages = function() {
292+
var preloadNext, preloadPrev;
293+
if (this.album.length > this.currentImageIndex + 1) {
294+
preloadNext = new Image;
295+
preloadNext.src = this.album[this.currentImageIndex + 1].link;
296+
}
297+
if (this.currentImageIndex > 0) {
298+
preloadPrev = new Image;
299+
preloadPrev.src = this.album[this.currentImageIndex - 1].link;
300+
}
301+
};
302+
303+
Lightbox.prototype.enableKeyboardNav = function() {
304+
$(document).on('keyup.keyboard', $.proxy(this.keyboardAction, this));
305+
};
306+
307+
Lightbox.prototype.disableKeyboardNav = function() {
308+
$(document).off('.keyboard');
309+
};
310+
311+
Lightbox.prototype.keyboardAction = function(event) {
312+
var KEYCODE_ESC, KEYCODE_LEFTARROW, KEYCODE_RIGHTARROW, key, keycode;
313+
KEYCODE_ESC = 27;
314+
KEYCODE_LEFTARROW = 37;
315+
KEYCODE_RIGHTARROW = 39;
316+
keycode = event.keyCode;
317+
key = String.fromCharCode(keycode).toLowerCase();
318+
if (keycode === KEYCODE_ESC || key.match(/x|o|c/)) {
319+
this.end();
320+
} else if (key === 'p' || keycode === KEYCODE_LEFTARROW) {
321+
if (this.currentImageIndex !== 0) {
322+
this.changeImage(this.currentImageIndex - 1);
323+
}
324+
} else if (key === 'n' || keycode === KEYCODE_RIGHTARROW) {
325+
if (this.currentImageIndex !== this.album.length - 1) {
326+
this.changeImage(this.currentImageIndex + 1);
327+
}
328+
}
329+
};
330+
331+
Lightbox.prototype.end = function() {
332+
this.disableKeyboardNav();
333+
$(window).off("resize", this.sizeOverlay);
334+
$('#lightbox').fadeOut(this.options.fadeDuration);
335+
$('#lightboxOverlay').fadeOut(this.options.fadeDuration);
336+
return $('select, object, embed').css({
337+
visibility: "visible"
338+
});
339+
};
340+
341+
return Lightbox;
342+
343+
})();
344+
345+
$(function() {
346+
var lightbox, options;
347+
options = new LightboxOptions;
348+
return lightbox = new Lightbox(options);
349+
});
350+
351+
}).call(this);
8.28 KB
Loading

0 commit comments

Comments
 (0)