author | Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de> |
Wed, 31 Aug 2011 14:22:19 +0200 | |
changeset 1 | 6288d5685bff |
permissions | -rw-r--r-- |
1
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
1 |
// ColorBox v1.3.17.2 - a full featured, light-weight, customizable lightbox based on jQuery 1.3+ |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
2 |
// Copyright (c) 2011 Jack Moore - jack@colorpowered.com |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
3 |
// Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
4 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
5 |
(function ($, document, window) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
6 |
var |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
7 |
// ColorBox Default Settings. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
8 |
// See http://colorpowered.com/colorbox for details. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
9 |
defaults = { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
10 |
transition: "elastic", |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
11 |
speed: 300, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
12 |
width: false, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
13 |
initialWidth: "600", |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
14 |
innerWidth: false, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
15 |
maxWidth: false, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
16 |
height: false, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
17 |
initialHeight: "450", |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
18 |
innerHeight: false, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
19 |
maxHeight: false, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
20 |
scalePhotos: true, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
21 |
scrolling: true, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
22 |
inline: false, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
23 |
html: false, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
24 |
iframe: false, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
25 |
fastIframe: true, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
26 |
photo: false, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
27 |
href: false, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
28 |
title: false, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
29 |
rel: false, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
30 |
opacity: 0.9, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
31 |
preloading: true, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
32 |
current: "image {current} of {total}", |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
33 |
previous: "previous", |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
34 |
next: "next", |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
35 |
close: "close", |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
36 |
open: false, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
37 |
returnFocus: true, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
38 |
loop: true, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
39 |
slideshow: false, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
40 |
slideshowAuto: true, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
41 |
slideshowSpeed: 2500, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
42 |
slideshowStart: "start slideshow", |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
43 |
slideshowStop: "stop slideshow", |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
44 |
onOpen: false, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
45 |
onLoad: false, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
46 |
onComplete: false, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
47 |
onCleanup: false, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
48 |
onClosed: false, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
49 |
overlayClose: true, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
50 |
escKey: true, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
51 |
arrowKey: true, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
52 |
top: false, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
53 |
bottom: false, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
54 |
left: false, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
55 |
right: false, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
56 |
fixed: false, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
57 |
data: false |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
58 |
}, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
59 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
60 |
// Abstracting the HTML and event identifiers for easy rebranding |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
61 |
colorbox = 'colorbox', |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
62 |
prefix = 'cbox', |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
63 |
boxElement = prefix + 'Element', |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
64 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
65 |
// Events |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
66 |
event_open = prefix + '_open', |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
67 |
event_load = prefix + '_load', |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
68 |
event_complete = prefix + '_complete', |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
69 |
event_cleanup = prefix + '_cleanup', |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
70 |
event_closed = prefix + '_closed', |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
71 |
event_purge = prefix + '_purge', |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
72 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
73 |
// Special Handling for IE |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
74 |
isIE = $.browser.msie && !$.support.opacity, // Detects IE6,7,8. IE9 supports opacity. Feature detection alone gave a false positive on at least one phone browser and on some development versions of Chrome, hence the user-agent test. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
75 |
isIE6 = isIE && $.browser.version < 7, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
76 |
event_ie6 = prefix + '_IE6', |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
77 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
78 |
// Cached jQuery Object Variables |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
79 |
$overlay, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
80 |
$box, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
81 |
$wrap, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
82 |
$content, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
83 |
$topBorder, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
84 |
$leftBorder, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
85 |
$rightBorder, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
86 |
$bottomBorder, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
87 |
$related, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
88 |
$window, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
89 |
$loaded, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
90 |
$loadingBay, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
91 |
$loadingOverlay, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
92 |
$title, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
93 |
$current, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
94 |
$slideshow, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
95 |
$next, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
96 |
$prev, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
97 |
$close, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
98 |
$groupControls, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
99 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
100 |
// Variables for cached values or use across multiple functions |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
101 |
settings, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
102 |
interfaceHeight, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
103 |
interfaceWidth, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
104 |
loadedHeight, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
105 |
loadedWidth, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
106 |
element, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
107 |
index, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
108 |
photo, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
109 |
open, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
110 |
active, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
111 |
closing, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
112 |
handler, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
113 |
loadingTimer, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
114 |
publicMethod; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
115 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
116 |
// **************** |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
117 |
// HELPER FUNCTIONS |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
118 |
// **************** |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
119 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
120 |
// jQuery object generator to reduce code size |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
121 |
function $div(id, cssText, div) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
122 |
div = document.createElement('div'); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
123 |
if (id) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
124 |
div.id = prefix + id; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
125 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
126 |
div.style.cssText = cssText || ''; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
127 |
return $(div); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
128 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
129 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
130 |
// Convert '%' and 'px' values to integers |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
131 |
function setSize(size, dimension) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
132 |
return Math.round((/%/.test(size) ? ((dimension === 'x' ? $window.width() : $window.height()) / 100) : 1) * parseInt(size, 10)); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
133 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
134 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
135 |
// Checks an href to see if it is a photo. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
136 |
// There is a force photo option (photo: true) for hrefs that cannot be matched by this regex. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
137 |
function isImage(url) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
138 |
return settings.photo || /\.(gif|png|jpg|jpeg|bmp)(?:\?([^#]*))?(?:#(\.*))?$/i.test(url); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
139 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
140 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
141 |
// Assigns function results to their respective settings. This allows functions to be used as values. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
142 |
function makeSettings(i) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
143 |
settings = $.extend({}, $.data(element, colorbox)); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
144 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
145 |
for (i in settings) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
146 |
if ($.isFunction(settings[i]) && i.substring(0, 2) !== 'on') { // checks to make sure the function isn't one of the callbacks, they will be handled at the appropriate time. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
147 |
settings[i] = settings[i].call(element); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
148 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
149 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
150 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
151 |
settings.rel = settings.rel || element.rel || 'nofollow'; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
152 |
settings.href = settings.href || $(element).attr('href'); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
153 |
settings.title = settings.title || element.title; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
154 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
155 |
if (typeof settings.href === "string") { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
156 |
settings.href = $.trim(settings.href); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
157 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
158 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
159 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
160 |
function trigger(event, callback) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
161 |
if (callback) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
162 |
callback.call(element); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
163 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
164 |
$.event.trigger(event); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
165 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
166 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
167 |
// Slideshow functionality |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
168 |
function slideshow() { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
169 |
var |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
170 |
timeOut, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
171 |
className = prefix + "Slideshow_", |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
172 |
click = "click." + prefix, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
173 |
start, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
174 |
stop, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
175 |
clear; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
176 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
177 |
if (settings.slideshow && $related[1]) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
178 |
start = function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
179 |
$slideshow |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
180 |
.text(settings.slideshowStop) |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
181 |
.unbind(click) |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
182 |
.bind(event_complete, function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
183 |
if (index < $related.length - 1 || settings.loop) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
184 |
timeOut = setTimeout(publicMethod.next, settings.slideshowSpeed); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
185 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
186 |
}) |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
187 |
.bind(event_load, function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
188 |
clearTimeout(timeOut); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
189 |
}) |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
190 |
.one(click + ' ' + event_cleanup, stop); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
191 |
$box.removeClass(className + "off").addClass(className + "on"); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
192 |
timeOut = setTimeout(publicMethod.next, settings.slideshowSpeed); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
193 |
}; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
194 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
195 |
stop = function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
196 |
clearTimeout(timeOut); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
197 |
$slideshow |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
198 |
.text(settings.slideshowStart) |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
199 |
.unbind([event_complete, event_load, event_cleanup, click].join(' ')) |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
200 |
.one(click, start); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
201 |
$box.removeClass(className + "on").addClass(className + "off"); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
202 |
}; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
203 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
204 |
if (settings.slideshowAuto) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
205 |
start(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
206 |
} else { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
207 |
stop(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
208 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
209 |
} else { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
210 |
$box.removeClass(className + "off " + className + "on"); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
211 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
212 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
213 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
214 |
function launch(target) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
215 |
if (!closing) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
216 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
217 |
element = target; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
218 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
219 |
makeSettings(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
220 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
221 |
$related = $(element); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
222 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
223 |
index = 0; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
224 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
225 |
if (settings.rel !== 'nofollow') { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
226 |
$related = $('.' + boxElement).filter(function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
227 |
var relRelated = $.data(this, colorbox).rel || this.rel; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
228 |
return (relRelated === settings.rel); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
229 |
}); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
230 |
index = $related.index(element); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
231 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
232 |
// Check direct calls to ColorBox. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
233 |
if (index === -1) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
234 |
$related = $related.add(element); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
235 |
index = $related.length - 1; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
236 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
237 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
238 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
239 |
if (!open) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
240 |
open = active = true; // Prevents the page-change action from queuing up if the visitor holds down the left or right keys. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
241 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
242 |
$box.show(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
243 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
244 |
if (settings.returnFocus) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
245 |
try { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
246 |
element.blur(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
247 |
$(element).one(event_closed, function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
248 |
try { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
249 |
this.focus(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
250 |
} catch (e) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
251 |
// do nothing |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
252 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
253 |
}); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
254 |
} catch (e) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
255 |
// do nothing |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
256 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
257 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
258 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
259 |
// +settings.opacity avoids a problem in IE when using non-zero-prefixed-string-values, like '.5' |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
260 |
$overlay.css({"opacity": +settings.opacity, "cursor": settings.overlayClose ? "pointer" : "auto"}).show(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
261 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
262 |
// Opens inital empty ColorBox prior to content being loaded. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
263 |
settings.w = setSize(settings.initialWidth, 'x'); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
264 |
settings.h = setSize(settings.initialHeight, 'y'); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
265 |
publicMethod.position(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
266 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
267 |
if (isIE6) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
268 |
$window.bind('resize.' + event_ie6 + ' scroll.' + event_ie6, function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
269 |
$overlay.css({width: $window.width(), height: $window.height(), top: $window.scrollTop(), left: $window.scrollLeft()}); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
270 |
}).trigger('resize.' + event_ie6); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
271 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
272 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
273 |
trigger(event_open, settings.onOpen); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
274 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
275 |
$groupControls.add($title).hide(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
276 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
277 |
$close.html(settings.close).show(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
278 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
279 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
280 |
publicMethod.load(true); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
281 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
282 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
283 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
284 |
// **************** |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
285 |
// PUBLIC FUNCTIONS |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
286 |
// Usage format: $.fn.colorbox.close(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
287 |
// Usage from within an iframe: parent.$.fn.colorbox.close(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
288 |
// **************** |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
289 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
290 |
publicMethod = $.fn[colorbox] = $[colorbox] = function (options, callback) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
291 |
var $this = this; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
292 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
293 |
options = options || {}; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
294 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
295 |
if (!$this[0]) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
296 |
if ($this.selector) { // if a selector was given and it didn't match any elements, go ahead and exit. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
297 |
return $this; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
298 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
299 |
// if no selector was given (ie. $.colorbox()), create a temporary element to work with |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
300 |
$this = $('<a/>'); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
301 |
options.open = true; // assume an immediate open |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
302 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
303 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
304 |
if (callback) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
305 |
options.onComplete = callback; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
306 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
307 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
308 |
$this.each(function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
309 |
$.data(this, colorbox, $.extend({}, $.data(this, colorbox) || defaults, options)); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
310 |
$(this).addClass(boxElement); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
311 |
}); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
312 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
313 |
if (($.isFunction(options.open) && options.open.call($this)) || options.open) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
314 |
launch($this[0]); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
315 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
316 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
317 |
return $this; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
318 |
}; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
319 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
320 |
// Initialize ColorBox: store common calculations, preload the interface graphics, append the html. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
321 |
// This preps ColorBox for a speedy open when clicked, and minimizes the burdon on the browser by only |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
322 |
// having to run once, instead of each time colorbox is opened. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
323 |
publicMethod.init = function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
324 |
// Create & Append jQuery Objects |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
325 |
$window = $(window); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
326 |
$box = $div().attr({id: colorbox, 'class': isIE ? prefix + (isIE6 ? 'IE6' : 'IE') : ''}); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
327 |
$overlay = $div("Overlay", isIE6 ? 'position:absolute' : '').hide(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
328 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
329 |
$wrap = $div("Wrapper"); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
330 |
$content = $div("Content").append( |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
331 |
$loaded = $div("LoadedContent", 'width:0; height:0; overflow:hidden'), |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
332 |
$loadingOverlay = $div("LoadingOverlay").add($div("LoadingGraphic")), |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
333 |
$title = $div("Title"), |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
334 |
$current = $div("Current"), |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
335 |
$next = $div("Next"), |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
336 |
$prev = $div("Previous"), |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
337 |
$slideshow = $div("Slideshow").bind(event_open, slideshow), |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
338 |
$close = $div("Close") |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
339 |
); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
340 |
$wrap.append( // The 3x3 Grid that makes up ColorBox |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
341 |
$div().append( |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
342 |
$div("TopLeft"), |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
343 |
$topBorder = $div("TopCenter"), |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
344 |
$div("TopRight") |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
345 |
), |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
346 |
$div(false, 'clear:left').append( |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
347 |
$leftBorder = $div("MiddleLeft"), |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
348 |
$content, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
349 |
$rightBorder = $div("MiddleRight") |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
350 |
), |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
351 |
$div(false, 'clear:left').append( |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
352 |
$div("BottomLeft"), |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
353 |
$bottomBorder = $div("BottomCenter"), |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
354 |
$div("BottomRight") |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
355 |
) |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
356 |
).children().children().css({'float': 'left'}); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
357 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
358 |
$loadingBay = $div(false, 'position:absolute; width:9999px; visibility:hidden; display:none'); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
359 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
360 |
$('body').prepend($overlay, $box.append($wrap, $loadingBay)); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
361 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
362 |
$content.children() |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
363 |
.hover(function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
364 |
$(this).addClass('hover'); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
365 |
}, function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
366 |
$(this).removeClass('hover'); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
367 |
}).addClass('hover'); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
368 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
369 |
// Cache values needed for size calculations |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
370 |
interfaceHeight = $topBorder.height() + $bottomBorder.height() + $content.outerHeight(true) - $content.height();//Subtraction needed for IE6 |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
371 |
interfaceWidth = $leftBorder.width() + $rightBorder.width() + $content.outerWidth(true) - $content.width(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
372 |
loadedHeight = $loaded.outerHeight(true); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
373 |
loadedWidth = $loaded.outerWidth(true); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
374 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
375 |
// Setting padding to remove the need to do size conversions during the animation step. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
376 |
$box.css({"padding-bottom": interfaceHeight, "padding-right": interfaceWidth}).hide(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
377 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
378 |
// Setup button events. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
379 |
// Anonymous functions here keep the public method from being cached, thereby allowing them to be redefined on the fly. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
380 |
$next.click(function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
381 |
publicMethod.next(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
382 |
}); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
383 |
$prev.click(function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
384 |
publicMethod.prev(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
385 |
}); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
386 |
$close.click(function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
387 |
publicMethod.close(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
388 |
}); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
389 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
390 |
$groupControls = $next.add($prev).add($current).add($slideshow); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
391 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
392 |
// Adding the 'hover' class allowed the browser to load the hover-state |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
393 |
// background graphics in case the images were not part of a sprite. The class can now can be removed. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
394 |
$content.children().removeClass('hover'); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
395 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
396 |
$overlay.click(function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
397 |
if (settings.overlayClose) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
398 |
publicMethod.close(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
399 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
400 |
}); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
401 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
402 |
// Set Navigation Key Bindings |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
403 |
$(document).bind('keydown.' + prefix, function (e) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
404 |
var key = e.keyCode; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
405 |
if (open && settings.escKey && key === 27) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
406 |
e.preventDefault(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
407 |
publicMethod.close(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
408 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
409 |
if (open && settings.arrowKey && $related[1]) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
410 |
if (key === 37) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
411 |
e.preventDefault(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
412 |
$prev.click(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
413 |
} else if (key === 39) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
414 |
e.preventDefault(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
415 |
$next.click(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
416 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
417 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
418 |
}); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
419 |
}; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
420 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
421 |
publicMethod.remove = function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
422 |
$box.add($overlay).remove(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
423 |
$('.' + boxElement).removeData(colorbox).removeClass(boxElement); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
424 |
}; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
425 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
426 |
publicMethod.position = function (speed, loadedCallback) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
427 |
var top = 0, left = 0; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
428 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
429 |
$window.unbind('resize.' + prefix); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
430 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
431 |
// remove the modal so that it doesn't influence the document width/height |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
432 |
$box.hide(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
433 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
434 |
if (settings.fixed && !isIE6) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
435 |
$box.css({position: 'fixed'}); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
436 |
} else { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
437 |
top = $window.scrollTop(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
438 |
left = $window.scrollLeft(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
439 |
$box.css({position: 'absolute'}); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
440 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
441 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
442 |
// keeps the top and left positions within the browser's viewport. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
443 |
if (settings.right !== false) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
444 |
left += Math.max($window.width() - settings.w - loadedWidth - interfaceWidth - setSize(settings.right, 'x'), 0); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
445 |
} else if (settings.left !== false) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
446 |
left += setSize(settings.left, 'x'); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
447 |
} else { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
448 |
left += Math.round(Math.max($window.width() - settings.w - loadedWidth - interfaceWidth, 0) / 2); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
449 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
450 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
451 |
if (settings.bottom !== false) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
452 |
top += Math.max(document.documentElement.clientHeight - settings.h - loadedHeight - interfaceHeight - setSize(settings.bottom, 'y'), 0); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
453 |
} else if (settings.top !== false) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
454 |
top += setSize(settings.top, 'y'); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
455 |
} else { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
456 |
top += Math.round(Math.max(document.documentElement.clientHeight - settings.h - loadedHeight - interfaceHeight, 0) / 2); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
457 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
458 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
459 |
$box.show(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
460 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
461 |
// setting the speed to 0 to reduce the delay between same-sized content. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
462 |
speed = ($box.width() === settings.w + loadedWidth && $box.height() === settings.h + loadedHeight) ? 0 : speed || 0; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
463 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
464 |
// this gives the wrapper plenty of breathing room so it's floated contents can move around smoothly, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
465 |
// but it has to be shrank down around the size of div#colorbox when it's done. If not, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
466 |
// it can invoke an obscure IE bug when using iframes. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
467 |
$wrap[0].style.width = $wrap[0].style.height = "9999px"; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
468 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
469 |
function modalDimensions(that) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
470 |
// loading overlay height has to be explicitly set for IE6. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
471 |
$topBorder[0].style.width = $bottomBorder[0].style.width = $content[0].style.width = that.style.width; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
472 |
$loadingOverlay[0].style.height = $loadingOverlay[1].style.height = $content[0].style.height = $leftBorder[0].style.height = $rightBorder[0].style.height = that.style.height; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
473 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
474 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
475 |
$box.dequeue().animate({width: settings.w + loadedWidth, height: settings.h + loadedHeight, top: top, left: left}, { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
476 |
duration: speed, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
477 |
complete: function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
478 |
modalDimensions(this); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
479 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
480 |
active = false; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
481 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
482 |
// shrink the wrapper down to exactly the size of colorbox to avoid a bug in IE's iframe implementation. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
483 |
$wrap[0].style.width = (settings.w + loadedWidth + interfaceWidth) + "px"; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
484 |
$wrap[0].style.height = (settings.h + loadedHeight + interfaceHeight) + "px"; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
485 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
486 |
if (loadedCallback) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
487 |
loadedCallback(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
488 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
489 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
490 |
setTimeout(function(){ // small delay before binding onresize due to an IE8 bug. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
491 |
$window.bind('resize.' + prefix, publicMethod.position); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
492 |
}, 1); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
493 |
}, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
494 |
step: function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
495 |
modalDimensions(this); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
496 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
497 |
}); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
498 |
}; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
499 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
500 |
publicMethod.resize = function (options) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
501 |
if (open) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
502 |
options = options || {}; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
503 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
504 |
if (options.width) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
505 |
settings.w = setSize(options.width, 'x') - loadedWidth - interfaceWidth; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
506 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
507 |
if (options.innerWidth) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
508 |
settings.w = setSize(options.innerWidth, 'x'); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
509 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
510 |
$loaded.css({width: settings.w}); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
511 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
512 |
if (options.height) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
513 |
settings.h = setSize(options.height, 'y') - loadedHeight - interfaceHeight; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
514 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
515 |
if (options.innerHeight) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
516 |
settings.h = setSize(options.innerHeight, 'y'); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
517 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
518 |
if (!options.innerHeight && !options.height) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
519 |
var $child = $loaded.wrapInner("<div style='overflow:auto'></div>").children(); // temporary wrapper to get an accurate estimate of just how high the total content should be. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
520 |
settings.h = $child.height(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
521 |
$child.replaceWith($child.children()); // ditch the temporary wrapper div used in height calculation |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
522 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
523 |
$loaded.css({height: settings.h}); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
524 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
525 |
publicMethod.position(settings.transition === "none" ? 0 : settings.speed); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
526 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
527 |
}; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
528 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
529 |
publicMethod.prep = function (object) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
530 |
if (!open) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
531 |
return; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
532 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
533 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
534 |
var callback, speed = settings.transition === "none" ? 0 : settings.speed; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
535 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
536 |
$loaded.remove(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
537 |
$loaded = $div('LoadedContent').append(object); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
538 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
539 |
function getWidth() { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
540 |
settings.w = settings.w || $loaded.width(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
541 |
settings.w = settings.mw && settings.mw < settings.w ? settings.mw : settings.w; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
542 |
return settings.w; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
543 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
544 |
function getHeight() { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
545 |
settings.h = settings.h || $loaded.height(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
546 |
settings.h = settings.mh && settings.mh < settings.h ? settings.mh : settings.h; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
547 |
return settings.h; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
548 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
549 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
550 |
$loaded.hide() |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
551 |
.appendTo($loadingBay.show())// content has to be appended to the DOM for accurate size calculations. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
552 |
.css({width: getWidth(), overflow: settings.scrolling ? 'auto' : 'hidden'}) |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
553 |
.css({height: getHeight()})// sets the height independently from the width in case the new width influences the value of height. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
554 |
.prependTo($content); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
555 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
556 |
$loadingBay.hide(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
557 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
558 |
// floating the IMG removes the bottom line-height and fixed a problem where IE miscalculates the width of the parent element as 100% of the document width. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
559 |
//$(photo).css({'float': 'none', marginLeft: 'auto', marginRight: 'auto'}); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
560 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
561 |
$(photo).css({'float': 'none'}); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
562 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
563 |
// Hides SELECT elements in IE6 because they would otherwise sit on top of the overlay. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
564 |
if (isIE6) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
565 |
$('select').not($box.find('select')).filter(function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
566 |
return this.style.visibility !== 'hidden'; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
567 |
}).css({'visibility': 'hidden'}).one(event_cleanup, function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
568 |
this.style.visibility = 'inherit'; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
569 |
}); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
570 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
571 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
572 |
callback = function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
573 |
var prev, prevSrc, next, nextSrc, total = $related.length, iframe, complete; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
574 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
575 |
if (!open) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
576 |
return; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
577 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
578 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
579 |
function removeFilter() { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
580 |
if (isIE) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
581 |
$box[0].style.removeAttribute('filter'); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
582 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
583 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
584 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
585 |
complete = function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
586 |
clearTimeout(loadingTimer); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
587 |
$loadingOverlay.hide(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
588 |
trigger(event_complete, settings.onComplete); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
589 |
}; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
590 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
591 |
if (isIE) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
592 |
//This fadeIn helps the bicubic resampling to kick-in. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
593 |
if (photo) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
594 |
$loaded.fadeIn(100); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
595 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
596 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
597 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
598 |
$title.html(settings.title).add($loaded).show(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
599 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
600 |
if (total > 1) { // handle grouping |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
601 |
if (typeof settings.current === "string") { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
602 |
$current.html(settings.current.replace('{current}', index + 1).replace('{total}', total)).show(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
603 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
604 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
605 |
$next[(settings.loop || index < total - 1) ? "show" : "hide"]().html(settings.next); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
606 |
$prev[(settings.loop || index) ? "show" : "hide"]().html(settings.previous); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
607 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
608 |
prev = index ? $related[index - 1] : $related[total - 1]; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
609 |
next = index < total - 1 ? $related[index + 1] : $related[0]; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
610 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
611 |
if (settings.slideshow) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
612 |
$slideshow.show(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
613 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
614 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
615 |
// Preloads images within a rel group |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
616 |
if (settings.preloading) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
617 |
nextSrc = $.data(next, colorbox).href || next.href; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
618 |
prevSrc = $.data(prev, colorbox).href || prev.href; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
619 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
620 |
nextSrc = $.isFunction(nextSrc) ? nextSrc.call(next) : nextSrc; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
621 |
prevSrc = $.isFunction(prevSrc) ? prevSrc.call(prev) : prevSrc; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
622 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
623 |
if (isImage(nextSrc)) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
624 |
$('<img/>')[0].src = nextSrc; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
625 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
626 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
627 |
if (isImage(prevSrc)) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
628 |
$('<img/>')[0].src = prevSrc; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
629 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
630 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
631 |
} else { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
632 |
$groupControls.hide(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
633 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
634 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
635 |
if (settings.iframe) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
636 |
iframe = $('<iframe/>').addClass(prefix + 'Iframe')[0]; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
637 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
638 |
if (settings.fastIframe) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
639 |
complete(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
640 |
} else { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
641 |
$(iframe).one('load', complete); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
642 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
643 |
iframe.name = prefix + (+new Date()); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
644 |
iframe.src = settings.href; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
645 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
646 |
if (!settings.scrolling) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
647 |
iframe.scrolling = "no"; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
648 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
649 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
650 |
if (isIE) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
651 |
iframe.frameBorder = 0; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
652 |
iframe.allowTransparency = "true"; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
653 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
654 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
655 |
$(iframe).appendTo($loaded).one(event_purge, function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
656 |
iframe.src = "//about:blank"; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
657 |
}); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
658 |
} else { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
659 |
complete(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
660 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
661 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
662 |
if (settings.transition === 'fade') { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
663 |
$box.fadeTo(speed, 1, removeFilter); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
664 |
} else { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
665 |
removeFilter(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
666 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
667 |
}; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
668 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
669 |
if (settings.transition === 'fade') { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
670 |
$box.fadeTo(speed, 0, function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
671 |
publicMethod.position(0, callback); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
672 |
}); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
673 |
} else { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
674 |
publicMethod.position(speed, callback); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
675 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
676 |
}; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
677 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
678 |
publicMethod.load = function (launched) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
679 |
var href, setResize, prep = publicMethod.prep; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
680 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
681 |
active = true; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
682 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
683 |
photo = false; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
684 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
685 |
element = $related[index]; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
686 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
687 |
if (!launched) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
688 |
makeSettings(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
689 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
690 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
691 |
trigger(event_purge); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
692 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
693 |
trigger(event_load, settings.onLoad); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
694 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
695 |
settings.h = settings.height ? |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
696 |
setSize(settings.height, 'y') - loadedHeight - interfaceHeight : |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
697 |
settings.innerHeight && setSize(settings.innerHeight, 'y'); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
698 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
699 |
settings.w = settings.width ? |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
700 |
setSize(settings.width, 'x') - loadedWidth - interfaceWidth : |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
701 |
settings.innerWidth && setSize(settings.innerWidth, 'x'); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
702 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
703 |
// Sets the minimum dimensions for use in image scaling |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
704 |
settings.mw = settings.w; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
705 |
settings.mh = settings.h; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
706 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
707 |
// Re-evaluate the minimum width and height based on maxWidth and maxHeight values. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
708 |
// If the width or height exceed the maxWidth or maxHeight, use the maximum values instead. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
709 |
if (settings.maxWidth) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
710 |
settings.mw = setSize(settings.maxWidth, 'x') - loadedWidth - interfaceWidth; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
711 |
settings.mw = settings.w && settings.w < settings.mw ? settings.w : settings.mw; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
712 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
713 |
if (settings.maxHeight) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
714 |
settings.mh = setSize(settings.maxHeight, 'y') - loadedHeight - interfaceHeight; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
715 |
settings.mh = settings.h && settings.h < settings.mh ? settings.h : settings.mh; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
716 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
717 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
718 |
href = settings.href; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
719 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
720 |
loadingTimer = setTimeout(function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
721 |
$loadingOverlay.show(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
722 |
}, 100); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
723 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
724 |
if (settings.inline) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
725 |
// Inserts an empty placeholder where inline content is being pulled from. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
726 |
// An event is bound to put inline content back when ColorBox closes or loads new content. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
727 |
$div().hide().insertBefore($(href)[0]).one(event_purge, function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
728 |
$(this).replaceWith($loaded.children()); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
729 |
}); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
730 |
prep($(href)); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
731 |
} else if (settings.iframe) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
732 |
// IFrame element won't be added to the DOM until it is ready to be displayed, |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
733 |
// to avoid problems with DOM-ready JS that might be trying to run in that iframe. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
734 |
prep(" "); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
735 |
} else if (settings.html) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
736 |
prep(settings.html); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
737 |
} else if (isImage(href)) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
738 |
$(photo = new Image()) |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
739 |
.addClass(prefix + 'Photo') |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
740 |
.error(function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
741 |
settings.title = false; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
742 |
prep($div('Error').text('This image could not be loaded')); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
743 |
}) |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
744 |
.load(function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
745 |
var percent; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
746 |
photo.onload = null; //stops animated gifs from firing the onload repeatedly. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
747 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
748 |
if (settings.scalePhotos) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
749 |
setResize = function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
750 |
photo.height -= photo.height * percent; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
751 |
photo.width -= photo.width * percent; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
752 |
}; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
753 |
if (settings.mw && photo.width > settings.mw) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
754 |
percent = (photo.width - settings.mw) / photo.width; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
755 |
setResize(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
756 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
757 |
if (settings.mh && photo.height > settings.mh) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
758 |
percent = (photo.height - settings.mh) / photo.height; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
759 |
setResize(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
760 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
761 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
762 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
763 |
if (settings.h) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
764 |
photo.style.marginTop = Math.max(settings.h - photo.height, 0) / 2 + 'px'; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
765 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
766 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
767 |
if ($related[1] && (index < $related.length - 1 || settings.loop)) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
768 |
photo.style.cursor = 'pointer'; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
769 |
photo.onclick = function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
770 |
publicMethod.next(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
771 |
}; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
772 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
773 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
774 |
if (isIE) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
775 |
photo.style.msInterpolationMode = 'bicubic'; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
776 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
777 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
778 |
setTimeout(function () { // A pause because Chrome will sometimes report a 0 by 0 size otherwise. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
779 |
prep(photo); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
780 |
}, 1); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
781 |
}); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
782 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
783 |
setTimeout(function () { // A pause because Opera 10.6+ will sometimes not run the onload function otherwise. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
784 |
photo.src = href; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
785 |
}, 1); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
786 |
} else if (href) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
787 |
$loadingBay.load(href, settings.data, function (data, status, xhr) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
788 |
prep(status === 'error' ? $div('Error').text('Request unsuccessful: ' + xhr.statusText) : $(this).contents()); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
789 |
}); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
790 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
791 |
}; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
792 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
793 |
// Navigates to the next page/image in a set. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
794 |
publicMethod.next = function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
795 |
if (!active && $related[1] && (index < $related.length - 1 || settings.loop)) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
796 |
index = index < $related.length - 1 ? index + 1 : 0; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
797 |
publicMethod.load(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
798 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
799 |
}; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
800 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
801 |
publicMethod.prev = function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
802 |
if (!active && $related[1] && (index || settings.loop)) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
803 |
index = index ? index - 1 : $related.length - 1; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
804 |
publicMethod.load(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
805 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
806 |
}; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
807 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
808 |
// Note: to use this within an iframe use the following format: parent.$.fn.colorbox.close(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
809 |
publicMethod.close = function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
810 |
if (open && !closing) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
811 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
812 |
closing = true; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
813 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
814 |
open = false; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
815 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
816 |
trigger(event_cleanup, settings.onCleanup); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
817 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
818 |
$window.unbind('.' + prefix + ' .' + event_ie6); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
819 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
820 |
$overlay.fadeTo(200, 0); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
821 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
822 |
$box.stop().fadeTo(300, 0, function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
823 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
824 |
$box.add($overlay).css({'opacity': 1, cursor: 'auto'}).hide(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
825 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
826 |
trigger(event_purge); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
827 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
828 |
$loaded.remove(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
829 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
830 |
setTimeout(function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
831 |
closing = false; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
832 |
trigger(event_closed, settings.onClosed); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
833 |
}, 1); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
834 |
}); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
835 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
836 |
}; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
837 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
838 |
// A method for fetching the current element ColorBox is referencing. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
839 |
// returns a jQuery object. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
840 |
publicMethod.element = function () { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
841 |
return $(element); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
842 |
}; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
843 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
844 |
publicMethod.settings = defaults; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
845 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
846 |
// Bind the live event before DOM-ready for maximum performance in IE6 & 7. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
847 |
handler = function (e) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
848 |
// checks to see if it was a non-left mouse-click and for clicks modified with ctrl, shift, or alt. |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
849 |
if (!((e.button !== 0 && typeof e.button !== 'undefined') || e.ctrlKey || e.shiftKey || e.altKey)) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
850 |
e.preventDefault(); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
851 |
launch(this); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
852 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
853 |
}; |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
854 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
855 |
if ($.fn.delegate) { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
856 |
$(document).delegate('.' + boxElement, 'click', handler); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
857 |
} else { |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
858 |
$('.' + boxElement).live('click', handler); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
859 |
} |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
860 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
861 |
// Initializes ColorBox when the DOM has loaded |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
862 |
$(publicMethod.init); |
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
863 |
|
6288d5685bff
Stand v. 31.08.2011
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff
changeset
|
864 |
}(jQuery, document, this)); |