lighbox update

This commit is contained in:
Ian 2015-08-31 17:49:37 +02:00
parent ec076359ea
commit c32e652f5f
69 changed files with 11268 additions and 1158 deletions

View file

@ -1,3 +1,11 @@
2.1.0:
* check for an active dependency plugin imagesidebar to include libs
* lightbox2-jquery update v.2.8.1
* prettyPhoto update v.3.1.6
* colorbox update v.1.6.3
* jquery update jquery-1.11.3.min.js
------------------------------------------------------------------------
2.0.3:
* force fallback to a new lib for upgraders that did not do this themselves

View file

@ -3,285 +3,305 @@ A customizable lightbox plugin for jQuery. See the [project page](http://jacklm
## Changelog:
### Version 1.5.14 - 2014/9/9
##### Version 1.6.3 - 2015/07/27
* Fixed regression that caused error in IE8 when the calculated initial size was negative. Fixes #741
##### Version 1.6.2 - 2015/07/13
* Fixed iframe attribute name (allowFullScreen to allowFullscreen). Fixes #737
##### Version 1.6.1 - 2015/05/14
* Replaced the inline onclick handler for cboxPhoto with a namespaced event for easier unbinding. Fixes #719.
##### Version 1.6.0 - 2015/03/03
* Added two new properties that expose how `<img>` and `<iframe>` elements are created, to give users direct control over those elements. Fixes #700.
##### Version 1.5.15 - 2015/02/25
* Adding to NPM, merged white-space cleanup & new language file.
##### Version 1.5.14 - 2014/9/9
* When opening, append Colorbox to the DOM if it was detached for whatever reason. Fixes #645.
### Version 1.5.13 - 2014/8/4
##### Version 1.5.13 - 2014/8/4
* Fixed regression introduced with v1.5.12 with legacy versions of jQuery (1.3x-1.6x). References #628.
### Version 1.5.12 - 2014/7/31
##### Version 1.5.12 - 2014/7/31
* Allowed setting the overlay opacity via CSS, by setting Colorbox's opacity property to false. References #628.
### Version 1.5.11 - 2014/7/31
##### Version 1.5.11 - 2014/7/31
* Fixed bug where setting opacity to 0 was ignored. Fixes #628.
### Version 1.5.10 - 2014/6/26
##### Version 1.5.10 - 2014/6/26
* Minor misc. tweaks (merging pull requests #611, #612, #615, #619, #620).
### Version 1.5.9 - 2014/4/25
##### Version 1.5.9 - 2014/4/25
* Fixed inline content bug when using child selectors. Fixes #599
### Version 1.5.8 - 2014/4/15
##### Version 1.5.8 - 2014/4/15
* Fixed accidental leak of global variable. References #591
* Enabled strict mode. Fixes #597
### Version 1.5.7 - 2014/4/15
##### Version 1.5.7 - 2014/4/15
* Fix potential error when calling Colorbox directly. References #591
* Potentially worked around browser limitation of reporting that an image height and width is 0 immediately after onload. Fixes #535
### Version 1.5.6 - 2014/4/4
##### Version 1.5.6 - 2014/4/4
* Applied maxWidth and maxHeight to the initialWidth and initialHeight. Fixes #391
### Version 1.5.5 - 2014/3/13
##### Version 1.5.5 - 2014/3/13
* Allow setting the overlay opacity through CSS, rather than having to use Colorbox's opacity property. Fixes #580
### Version 1.5.4 - 2014/3/7
##### Version 1.5.4 - 2014/3/7
* Fixed potential issue where IE9+ wouldn't close the modal when clicking on the overlay. Fixes #576
### Version 1.5.3 - 2014/3/4
##### Version 1.5.3 - 2014/3/4
* Added access to settings object in callbacks.
### Version 1.5.2 - 2014/2/28
##### Version 1.5.2 - 2014/2/28
* Added svg to image types regex.
### Version 1.5.1 - 2014/2/27
##### Version 1.5.1 - 2014/2/27
* Fixed regression that broke direct calls to Colorbox, ie. $.colorbox(…)
### Version 1.5.0 - 2014/2/27
##### Version 1.5.0 - 2014/2/27
* Changed when the className is applied: immediately on open, but only updated immediately prior to transition. Fixes #565
* Fixed potential style flash if #cboxLoadedContent is given a background. Fixes #567
* Misc. code cleanup
### Version 1.4.37 - 2014/2/11
##### Version 1.4.37 - 2014/2/11
* Fixed potential error when resizing. Fixes #254
* Added Microsoft's JPEG XR to photo detection regex.
### Version 1.4.33 - 2013/10/31
##### Version 1.4.33 - 2013/10/31
* Fixed an issue where private events propagated to the document in versions of jQuery prior to 1.7. Fixes #525, Fixes #526
### Version 1.4.32 - 2013/10/16
##### Version 1.4.32 - 2013/10/16
* Updated stylesheets to avoid issue with using `div {max-width:100%}` (Fixes #520)
### Version 1.4.31 - 2013/9/25
##### Version 1.4.31 - 2013/9/25
* Used setAttribute to set londesc, so that the value is accessible via DOM Node longDesc property #508
### Version 1.4.30 - 2013/9/24
##### Version 1.4.30 - 2013/9/24
* Added longdesc and aria-describedby attributes to photos. Fixes #508
### Version 1.4.29 - 2013/9/10
##### Version 1.4.29 - 2013/9/10
* Fixed a slideshow regression from 1.4.27
* Fixed a potential issue with the starting size of #cboxLoadedContent
### Version 1.4.28 - 2013/9/4
##### Version 1.4.28 - 2013/9/4
* Fixed a potential issue with using the open property with mixed slideshow and non-slideshow groups
### Version 1.4.27 - 2013/7/16
##### Version 1.4.27 - 2013/7/16
* Fixed a width calculation issue relating to using margin:auto on #cboxLoadedContent.
### Version 1.4.26 - 2013/6/30
##### Version 1.4.26 - 2013/6/30
* Fixed a regression in IE7 and IE8 that was causing an error.
### Version 1.4.25 - 2013/6/28
##### Version 1.4.25 - 2013/6/28
* Use an animation speed of zero between same-sized content (fixed).
* Removed temporary fix for jQuery UI 1.8
### Version 1.4.24 - 2013/6/24
##### Version 1.4.24 - 2013/6/24
* Added closeButton option. Set to false to remove the close button.
### Version 1.4.23 - 2013/6/23
##### Version 1.4.23 - 2013/6/23
* Bugfix loading overlay/graphic append order
### Version 1.4.22 - 2013/6/19
##### Version 1.4.22 - 2013/6/19
* Updated manifest files for the jQuery plugin repository and Bower (no changes to plugin)
### Version 1.4.21 - 2013/6/6
##### Version 1.4.21 - 2013/6/6
* Replaced new Image() with document.createElement('img') to avoid a potential bug in Chrome 27.
### Version 1.4.20 - 2013/6/5
##### Version 1.4.20 - 2013/6/5
* Fixing bug/typo from last update.
### Version 1.4.19 - 2013/6/3
##### Version 1.4.19 - 2013/6/3
* Fixed bug where Colorbox was capturing ctrl+click on assigned links on windows browsers with jQuery 1.7+, rather than ignoring.
### Version 1.4.18 - 2013/5/30
##### Version 1.4.18 - 2013/5/30
* Fixed a scroll position issue when using $.colorbox.resize()
### Version 1.4.17 - 2013/5/23
##### Version 1.4.17 - 2013/5/23
* Possible fix for a Chrome 27 issue (https://github.com/jackmoore/colorbox/pull/438#issuecomment-18334804)
### Version 1.4.16 - 2013/5/20
##### Version 1.4.16 - 2013/5/20
* Added trapFocus setting to allow disabling of focus trapping
### Version 1.4.15 - 2013/4/22
##### Version 1.4.15 - 2013/4/22
* Added .webp to list of recognized image extensions
### Version 1.4.14 - 2013/4/16
##### Version 1.4.14 - 2013/4/16
* Added fadeOut property to control the closing fadeOut speed.
* Removed longdesc attribute for now.
### Version 1.4.13 - 2013/4/11
##### Version 1.4.13 - 2013/4/11
* Fixed an error involving IE7/IE8 and legacy versions of jQuery
### Version 1.4.12 - 2013/4/9
##### Version 1.4.12 - 2013/4/9
* Fixed a potential conflict with Twitter Bootstrap default img styles.
### Version 1.4.11 - 2013/4/9
##### Version 1.4.11 - 2013/4/9
* Added `type='button'` to buttons to prevent accidental form submission
* Added alt and longdesc attributes to photo content if they are present on the calling element.
### Version 1.4.10 - 2013/4/2
##### Version 1.4.10 - 2013/4/2
* Better 'old IE' feature detection that fixes an error with jQuery 2.0.0pre.
### Version 1.4.9 - 2013/4/2
##### Version 1.4.9 - 2013/4/2
* Fixes bug introduced in previous version.
### Version 1.4.8 - 2013/4/2
##### Version 1.4.8 - 2013/4/2
* Dropped IE6 support.
* Fixed other issues with $.colorbox.remove.
### Version 1.4.7 - 2013/4/1
##### Version 1.4.7 - 2013/4/1
* Prevented an error if $.colorbox.remove is called during the transition.
### Version 1.4.6 - 2013/3/19
##### Version 1.4.6 - 2013/3/19
* Minor change to work around a jQuery 1.4.2 bug for legacy users.
### Version 1.4.5 - 2013/3/10
##### Version 1.4.5 - 2013/3/10
* Minor change to apply the close and className properties sooner.
### Version 1.4.4 - 2013/3/10
##### Version 1.4.4 - 2013/3/10
* Fixed an issue with percent-based heights in iOS
* Fixed an issue with ajax requests being applied at the wrong time.
### Version 1.4.3 - 2013/2/18
##### Version 1.4.3 - 2013/2/18
* Made image preloading aware of retina settings.
### Version 1.4.2 - 2013/2/18
##### Version 1.4.2 - 2013/2/18
* Removed $.contains for compatibility with jQuery 1.3.x
### Version 1.4.1 - 2013/2/14
##### Version 1.4.1 - 2013/2/14
* Ignored left and right arrow keypresses if combined with the alt key.
### Version 1.4.0 - 2013/2/12
##### Version 1.4.0 - 2013/2/12
* Better accessibility:
* Replaced div controls with buttons
* Tabbed navigation confined to modal window
* Added aria role
### Version 1.3.34 - 2013/2/4
##### Version 1.3.34 - 2013/2/4
* Updated manifest for plugins.jquery.com
### Version 1.3.33 - 2013/2/4
##### Version 1.3.33 - 2013/2/4
* Added retina display properties: retinaImage, retinaUrl, retinaSuffix
* Fixed iframe scrolling on iOS devices.
### Version 1.3.32 - 2013/1/31
##### Version 1.3.32 - 2013/1/31
* Improved internal event subscribing & fixed event bug introduced in v1.3.21
### Version 1.3.31 - 2013/1/28
##### Version 1.3.31 - 2013/1/28
* Fixed a size-calculation bug introduced in the previous commit.
### Version 1.3.30 - 2013/1/25
##### Version 1.3.30 - 2013/1/25
* Delayed border-width calculations until after opening, to avoid a bug in FF when using Colorbox in a hidden iframe.
### Version 1.3.29 - 2013/1/24
##### Version 1.3.29 - 2013/1/24
* Fixes bug with bubbling delegated events, introduced in the previous commit.
### Version 1.3.28 - 2013/1/24
##### Version 1.3.28 - 2013/1/24
* Fixed compatibility issue with old versions of jQuery (1.3.2-1.4.2)
### Version 1.3.27 - 2013/1/23
##### Version 1.3.27 - 2013/1/23
* Added className property.
### Version 1.3.26 - 2013/1/23
##### Version 1.3.26 - 2013/1/23
* Minor bugfix: clear the onload event handler after photo has loaded.
### Version 1.3.25 - 2013/1/23
##### Version 1.3.25 - 2013/1/23
* Removed grunt file & added Bower component.json.
### Version 1.3.24 - 2013/1/22
##### Version 1.3.24 - 2013/1/22
* Added generated files (jquery.colorbox.js / jquery.colorbox-min.js) back to the repository.
### Version 1.3.23 - 2013/1/18
##### Version 1.3.23 - 2013/1/18
* Minor bugfix for calling Colorbox on empty jQuery collections without a selector.
### Version 1.3.22 - 2013/1/17
##### Version 1.3.22 - 2013/1/17
* Recommit for plugins.jquery.com
### Version 1.3.21 - 2013/1/15
##### Version 1.3.21 - 2013/1/15
Files Changed: *.js
* Fixed compatibility issues with jQuery 1.9
### Version 1.3.20 - August 15 2012
##### Version 1.3.20 - August 15 2012
Files Changed:jquery.colorbox.js
* Added temporary workaround for jQuery-UI 1.8 bug (http://bugs.jquery.com/ticket/12273)
* Added *.jpe extension to the list of image types.
### Version 1.3.19 - December 08 2011
##### Version 1.3.19 - December 08 2011
Files Changed:jquery.colorbox.js, colorbox.css (all)
* Fixed bug related to using the 'fixed' property.
@ -289,7 +309,7 @@ Files Changed:jquery.colorbox.js, colorbox.css (all)
* Removed $.colorbox.init() as it will no longer be needed (will self-init when called).
* Removed use of $.browser.
### Version 1.3.18 - October 07 2011
##### Version 1.3.18 - October 07 2011
Files Changed:jquery.colorbox.js/jquery.colorbox-min.js, colorbox.css (all) and example 1's controls.png
* Fixed a regression where Flash content displayed in Colorbox would be reloaded if the browser window was resized.
@ -298,7 +318,7 @@ Files Changed:jquery.colorbox.js/jquery.colorbox-min.js, colorbox.css (all) and
* Changed the slideshow behavior so that it immediately moves to the next slide when the slideshow is started.
* Minor regex bugfix to allow automatic detection of image URLs that include fragments.
### Version 1.3.17 - May 11 2011
##### Version 1.3.17 - May 11 2011
Files Changed:jquery.colorbox.js/jquery.colorbox-min.js
* Added properties "top", "bottom", "left" and "right" to specify a position relative to the viewport, rather than using the default centering.
@ -307,7 +327,7 @@ Files Changed:jquery.colorbox.js/jquery.colorbox-min.js
* Fixed ClearType problem with IE7.
* Minor fixes.
### Version 1.3.16 - March 01 2011
##### Version 1.3.16 - March 01 2011
Files Changed:jquery.colorbox.js/jquery.colorbox-min.js, colorbox.css (all) and example 4 background png files
* Better IE related transparency workarounds. IE7 and up now uses the same background image sprite as other browsers.
@ -315,35 +335,35 @@ Files Changed:jquery.colorbox.js/jquery.colorbox-min.js, colorbox.css (all) and
* Added new property: 'fastIframe' and set it to true by default. Setting to fastIframe:false will delay the loading graphic removal and onComplete event until iframe has completely loaded.
* Ability to redefine $.colorbox.close (or prev, or next) at any time.
### Version 1.3.15 - October 27 2010
##### Version 1.3.15 - October 27 2010
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
* Minor fixes for specific cases.
### Version 1.3.14 - October 27 2010
##### Version 1.3.14 - October 27 2010
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
* In IE6, closing an iframe when using HTTPS no longer generates a security warning.
### Version 1.3.13 - October 22 2010
##### Version 1.3.13 - October 22 2010
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
* Changed the index.html example files to use YouTube's new embedded link format.
* By default, Colorbox returns focus to the element it was launched from once it closes. This can now be disabled by setting the 'returnFocus' property to false. Focus was causing problems for some users who had their anchor elements inside animated containers.
* Minor bug fix involved in using a combination of slideshow and non-slideshow content.
### Version 1.3.12 - October 20 2010
##### Version 1.3.12 - October 20 2010
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
* Minor bug fix involved in preloading images when using a function as a value for the href property.
### Version 1.3.11 - October 19 2010
##### Version 1.3.11 - October 19 2010
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
* Fixed the slideshow functionality that broke with 1.3.10
* The slideshow now respects the loop property.
### Version 1.3.10 - October 16 2010
##### Version 1.3.10 - October 16 2010
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
* Fixed compatibility with jQuery 1.4.3
@ -353,14 +373,14 @@ Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
* May have fixed an issue in Opera 10.6+ where Colorbox would rarely/randomly freeze up while switching between photos in a group.
* Some functionality better encapsulated & minor performance improvements.
### Version 1.3.9 - July 7 2010
##### Version 1.3.9 - July 7 2010
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js/ all colorbox.css (the core styles)
* Fixed a problem where iframed youtube videos would cause a security alert in IE.
* More code is event driven now, making the source easier to grasp.
* Removed some unnecessary style from the core CSS.
### Version 1.3.8 - June 21 2010
##### Version 1.3.8 - June 21 2010
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
* Fixed a bug in Chrome where it would sometimes render photos at 0 by 0 width and height (behavior introduced in recent update to Chrome).
@ -369,7 +389,7 @@ Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
* Abstracted the identifiers (HTML ids & classes, and JS plugin name, method, and events) so that the plugin can be easily rebranded.
* Small changes to improve either code readability or compression.
### Version 1.3.7 - June 13 2010
##### Version 1.3.7 - June 13 2010
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js/index.html
* $.colorbox can now be used for direct calls and accessing public methods. Example: $.colorbox.close();
@ -381,19 +401,19 @@ Files Changed: jquery.colorbox.js/jquery.colorbox-min.js/index.html
* Now uses the exact href specified on an anchor, rather than the version returned by 'this.href'. This was causing "#example" to be normalized to "http://domain/#example" which interfered with how some users were setting up links to inline content.
* Changed example documents over to HTML5.
### Version 1.3.6 - Jan 13 2010
##### Version 1.3.6 - Jan 13 2010
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
* Small change to make Colorbox compatible with jQuery 1.4
### Version 1.3.5 - December 15 2009
##### Version 1.3.5 - December 15 2009
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
* Fixed a bug introduced in 1.3.4 with IE7's display of example 2 and 3, and auto-width in Opera.
* Fixed a bug introduced in 1.3.4 where colorbox could not be launched by triggering an element's click event through JavaScript.
* Minor refinements.
### Version 1.3.4 - December 5 2009
##### Version 1.3.4 - December 5 2009
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
* Event delegation is now used for elements that Colorbox is assigned to, rather than individual click events.
@ -403,13 +423,13 @@ Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
* Fixed a bug where maxHeight and maxWidth did not work for non-photo content.
* Direct calls no longer need 'open:true', it is assumed. Example: `$.colorbox({html:'<p>Hi</p>'});`
### Version 1.3.3 - November 7 2009
##### Version 1.3.3 - November 7 2009
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
* Changed $.colorbox.element() to return a jQuery object rather the DOM element.
* jQuery.colorbox-min.js is compressed with Google's Closure Compiler rather than YUI Compressor.
### Version 1.3.2 - October 27 2009
##### Version 1.3.2 - October 27 2009
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
* Added 'innerWidth' and 'innerHeight' options to allow people to easily set the size dimensions for Colorbox, without having to anticipate the size of the borders and buttons.
@ -419,13 +439,13 @@ Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
* Bug fix: In Firefox, opening Colorbox causes a split second shift with a small minority of webpage layouts.
* Simplified code in a few areas.
### Version 1.3.1 - September 16 2009
##### Version 1.3.1 - September 16 2009
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js/colorbox.css/colorbox-ie.css(removed)
* Removed the IE-only stylesheets and conditional comments for example styles 1 & 4. All CSS is handled by a single CSS file for all examples.
* Removed user-agent sniffing from the js and replaced it with feature detection. This will allow correct rendering for visitors masking their agent type.
### Version 1.3.0 - September 15 2009
##### Version 1.3.0 - September 15 2009
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js/colorbox.css
* Added $.colorbox.resize() method to allow Colorbox to resize it's height if it's contents change.
@ -436,20 +456,20 @@ Files Changed: jquery.colorbox.js/jquery.colorbox-min.js/colorbox.css
* Fixed a bug where ClearType may not work in IE6&7 if using the fade transition.
* Minor code optimizations to increase compression.
### Version 1.2.9 - August 7 2009
##### Version 1.2.9 - August 7 2009
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
* Minor change to enable use with $.getScript();
* Minor change to the timing of the 'cbox_load' event so that it is more useful.
* Added a direct link to a YouTube video to the examples.
### Version 1.2.8 - August 5 2009
##### Version 1.2.8 - August 5 2009
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
* Fixed a bug with the overlay in IE6
* Fixed a bug where left & right keypress events might be prematurely unbound.
### Version 1.2.7 - July 31 2009
##### Version 1.2.7 - July 31 2009
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js, example stylesheets and background images (core styles have not changed and the updates will not affect existing user themes / old example themes)
* Code cleanup and reduction, better organization and documentation in the full source.
@ -464,7 +484,7 @@ Files Changed: jquery.colorbox.js/jquery.colorbox-min.js, example stylesheets an
* Optimized pngs for smaller file size.
* Added slices, grid, and correct sizing to the Adobe Illustrator file, all theme files are now export ready!
### Version 1.2.6 - July 15 2009
##### Version 1.2.6 - July 15 2009
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
* Fixed a bug with fixed width/height images in Opera 9.64.
@ -472,29 +492,29 @@ Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
* Changed how href/rel/title settings are determined to avoid users having to manually update Colorbox settings if they use JavaScript to update any of those attributes, after Colorbox has been defined.
* Fixed a FF3 bug where the back button was disabled after closing an iframe.
### Version 1.2.5 - June 23 2009
##### Version 1.2.5 - June 23 2009
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
* Changed the point at which iframe srcs are set (to eliminate the need to refresh the iframe once it has been added to the DOM).
* Removed unnecessary return values for a very slight code reduction.
### Version 1.2.4 - June 9 2009
##### Version 1.2.4 - June 9 2009
Files Changed: jquery.colorbox.js, jquery.colorbox-min.js
* Fixed an issue where Colorbox may not close completely if it is closed during a transition animation.
* Minor code reduction.
### Version 1.2.3 - June 4 2009
##### Version 1.2.3 - June 4 2009
* Fixed a png transparency stacking issue in IE.
* More accurate Ajax auto-sizing if the user was depending on the #cboxLoadedContent ID for CSS styling.
* Added a public function for returning the current html element that Colorbox is associated with. Example use: var that = $.colorbox.element();
* Added bicubic scaling for resized images in the original IE7.
* Removed the IE6 stylesheet and png files from Example 3. It now uses the same png file for the controls that the rest of the browsers use (an alpha transparency PNG8). This example now only has 2 graphics files and 1 stylesheet.
### Version 1.2.2 - May 28 2009
##### Version 1.2.2 - May 28 2009
* Fixed an issue with the 'resize' option.
### Version 1.2.1 - May 28 2009
##### Version 1.2.1 - May 28 2009
* Note: If you are upgrading, update your jquery.colorbox.js and colorbox.css files.
* Added photo resizing.
* Added a maximum width and maximum height. Example: {height:800, maxHeight:'100%'}, would allow the box to be a maximum potential height of 800px, instead of a fixed height of 800px. With maxHeight of 100% the height of Colorbox cannot exceed the height of the browser window.
@ -507,7 +527,7 @@ Files Changed: jquery.colorbox.js, jquery.colorbox-min.js
* Fixed a minor grouping issue with IE6, when transition type is set to 'none'.
* Added an Adobe Illustrator file that contains the borders and buttons used in the various examples.
### Version 1.2 - May 13 2009
##### Version 1.2 - May 13 2009
* Added a slideshow feature.
* Added re-positioning on browser resize. If the browser is resized, Colorbox will recenter itself onscreen.
* Added hooks for key events: cbox_open, cbox_load, cbox_complete, cbox_closed.
@ -523,23 +543,23 @@ Files Changed: jquery.colorbox.js, jquery.colorbox-min.js
* Changed the naming of variables in the parameter map to be more concise and intuitive.
* Removed colorbox.css. Combined the colorbox.css styles with jquery.colorbox.js: the css file was not large enough to warrant being a separate file.
### Version 1.1.6 - April 28 2009
##### Version 1.1.6 - April 28 2009
* Prevented the default action of the next & previous anchors and the left and right keys for gallery mode.
* Fixed a bug where the title element was being added back to the DOM when closing Colorbox while using inline content.
* Fixed a bug where IE7 would crash for example 2.
* Smaller filesize: removed a small amount of unused code and rewrote the HTML injection with less syntax.
* Added a public method for closing Colorbox: $.colorbox.close(). This will allow iframe users to add an event to close Colorbox without having to create an additional function.
### Version 1.1.5 - April 11 2009
##### Version 1.1.5 - April 11 2009
* Fixed minor issues with exiting Colorbox.
### Version 1.1.4 - April 08 2009
##### Version 1.1.4 - April 08 2009
* Fixed a bug in the fade transition where Colorbox not close completely if instructed to close during the fade-in portion of the transition.
### Version 1.1.3 - April 06 2009
##### Version 1.1.3 - April 06 2009
* Fixed an IE6&7 issue with using Colorbox to display animated GIFs.
### Version 1.1.2 - April 05 2009
##### Version 1.1.2 - April 05 2009
* Added ability to change content when Colorbox is already open.
* Added vertical photo centering now works for all browsers (this feature previously excluded IE6&7).
* Added namespacing to the esc-key keydown event for people who want to disable it: "keydown.colorClose"
@ -549,13 +569,13 @@ Files Changed: jquery.colorbox.js, jquery.colorbox-min.js
* Fixed a bug in the fade transition where the border would still come up if Colorbox was closed mid-transition.
* Switch from JSMin to Yui Compressor for minification. Minified code now under 7KB.
### Version 1.1.1 - March 31 2009
##### Version 1.1.1 - March 31 2009
* More robust image detection regex. Now detects image file types with url fragments and/or query strings.
* Added 'nofollow' exception to rel grouping.
* Changed how images are loaded into the DOM to prevent premature size calculation by Colorbox.
* Added timestamp to iframe name to prevent caching - this was a problem in some browsers if the user had multiple iframes and the visitor left the page and came back, or if they refreshed the page.
### Version 1.1.0 - March 21 2009
##### Version 1.1.0 - March 21 2009
* Animation is now much smoother and less resource intensive.
* Added support for % sizing.
* Callback option added.
@ -575,22 +595,22 @@ Files Changed: jquery.colorbox.js, jquery.colorbox-min.js
* Added a minified version.
* Code passes JSLint.
### Version 1.0.5 - March 11 2009
##### Version 1.0.5 - March 11 2009
* Redo: Fixed a bug where IE would cut off the bottom portion of a photo, if the photo was larger than the document dimensions.
### Version 1.0.4 - March 10 2009
##### Version 1.0.4 - March 10 2009
* Added an option to allow users to automatically open the lightbox. Example usage: $(".colorbox").colorbox({open:true});
* Fixed a bug where IE would cut off the bottom portion of a photo, if the photo was larger than the document dimensions.
### Version 1.0.3 - March 09 2009
##### Version 1.0.3 - March 09 2009
* Fixed vertical centering for Safari 3.0.x.
### Version 1.0.2 - March 06 2009
##### Version 1.0.2 - March 06 2009
* Corrected a typo.
* Changed the content-type check so that it does not assume all links to photos should actually display photos. This allows for Ajax/inline/and iframe calls on anchors linking to picture file types.
### Version 1.0.1 - March 05 2009
##### Version 1.0.1 - March 05 2009
* Fixed keydown events (esc, left arrow, right arrow) for Webkit browsers.
### Version 1.0 - March 03 2009
##### Version 1.0 - March 03 2009
* First release

View file

@ -0,0 +1,16 @@
#cboxContent img { max-height: 100%; }
#cboxSlideshow .icon-play:before {
padding: 0 .2em;
color: #111;
content: "\25BA"; /* U+25BA: BLACK RIGHT-POINTING POINTER - fallback */
content: content: '► ';
}
#cboxSlideshow .icon-pause:before {
padding: 0 .2em;
color: #111;
content: "\25FC"; /* U+25FC: BLACK MEDIUM SQUARE - fallback */
content: '◼ ';
}
@media (max-width: 640px) { #cboxTitle, #cboxCurrent { display: none !important; } }

View file

@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Arabic (ar)
translated by: A.Rhman Sayes
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "الصورة {current} من {total}",
previous: "السابق",
next: "التالي",
close: "إغلاق",
xhrError: "حدث خطأ أثناء تحميل المحتوى.",
imgError: "حدث خطأ أثناء تحميل الصورة.",
slideshowStart: "تشغيل العرض",
slideshowStop: "إيقاف العرض"
});

View file

@ -0,0 +1,16 @@
/*
jQuery Colorbox language configuration
language: Bulgarian (bg)
translated by: Marian M.Bida
site: webmax.bg
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "изображение {current} от {total}",
previous: "предишна",
next: "следваща",
close: "затвори",
xhrError: "Неуспешно зареждане на съдържанието.",
imgError: "Неуспешно зареждане на изображението.",
slideshowStart: "пусни слайд-шоу",
slideshowStop: "спри слайд-шоу"
});

View file

@ -0,0 +1,16 @@
/*
jQuery Colorbox language configuration
language: Bengali (bn)
translated by: Arkaprava Majumder
http://github.com/arkaindas
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "ছবি {current} এর {total}",
previous: "আগে",
next: "পরে",
close: "বন্ধ",
xhrError: "এই কন্টেন্ট লোড করা যায়নি.",
imgError: "এই ছবিটি লোড করা যায়নি.",
slideshowStart: "স্লাইডশো শুরু",
slideshowStop: "স্লাইডশো বন্ধ"
});

View file

@ -0,0 +1,13 @@
/*
jQuery Colorbox language configuration
language: Catala (ca)
translated by: eduard salla
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Imatge {current} de {total}",
previous: "Anterior",
next: "Següent",
close: "Tancar",
xhrError: "Error en la càrrega del contingut.",
imgError: "Error en la càrrega de la imatge."
});

View file

@ -0,0 +1,16 @@
/*
jQuery Colorbox language configuration
language: Czech (cs)
translated by: Filip Novak
site: mame.napilno.cz/filip-novak
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "{current}. obrázek z {total}",
previous: "Předchozí",
next: "Následující",
close: "Zavřít",
xhrError: "Obsah se nepodařilo načíst.",
imgError: "Obrázek se nepodařilo načíst.",
slideshowStart: "Spustit slideshow",
slideshowStop: "Zastavit slideshow"
});

View file

@ -0,0 +1,16 @@
/*
jQuery Colorbox language configuration
language: Danish (da)
translated by: danieljuhl
site: danieljuhl.dk
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Billede {current} af {total}",
previous: "Forrige",
next: "Næste",
close: "Luk",
xhrError: "Indholdet fejlede i indlæsningen.",
imgError: "Billedet fejlede i indlæsningen.",
slideshowStart: "Start slideshow",
slideshowStop: "Stop slideshow"
});

View file

@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: German (de)
translated by: wallenium
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Bild {current} von {total}",
previous: "Zurück",
next: "Vor",
close: "Schließen",
xhrError: "Dieser Inhalt konnte nicht geladen werden.",
imgError: "Dieses Bild konnte nicht geladen werden.",
slideshowStart: "Slideshow starten",
slideshowStop: "Slideshow anhalten"
});

View file

@ -0,0 +1,13 @@
/*
jQuery Colorbox language configuration
language: Spanish (es)
translated by: migolo
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Imagen {current} de {total}",
previous: "Anterior",
next: "Siguiente",
close: "Cerrar",
xhrError: "Error en la carga del contenido.",
imgError: "Error en la carga de la imagen."
});

View file

@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Estonian (et)
translated by: keevitaja
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "{current}/{total}",
previous: "eelmine",
next: "järgmine",
close: "sulge",
xhrError: "Sisu ei õnnestunud laadida.",
imgError: "Pilti ei õnnestunud laadida.",
slideshowStart: "Käivita slaidid",
slideshowStop: "Peata slaidid"
});

View file

@ -0,0 +1,18 @@
/*
jQuery Colorbox language configuration
language: Persian (Farsi)
translated by: Mahdi Jaberzadeh Ansari (MJZSoft)
site: www.mjzsoft.ir
email: mahdijaberzadehansari (at) yahoo.co.uk
Please note : Persian language is right to left like arabic.
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "تصویر {current} از {total}",
previous: "قبلی",
next: "بعدی",
close: "بستن",
xhrError: "متاسفانه محتویات مورد نظر قابل نمایش نیست.",
imgError: "متاسفانه بارگذاری این عکس با مشکل مواجه شده است.",
slideshowStart: "آغاز نمایش خودکار",
slideshowStop: "توقف نمایش خودکار"
});

View file

@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Finnish (fi)
translated by: Mikko
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Kuva {current} / {total}",
previous: "Edellinen",
next: "Seuraava",
close: "Sulje",
xhrError: "Sisällön lataaminen epäonnistui.",
imgError: "Kuvan lataaminen epäonnistui.",
slideshowStart: "Aloita kuvaesitys.",
slideshowStop: "Lopeta kuvaesitys."
});

View file

@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: French (fr)
translated by: oaubert
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "image {current} sur {total}",
previous: "pr&eacute;c&eacute;dente",
next: "suivante",
close: "fermer",
xhrError: "Impossible de charger ce contenu.",
imgError: "Impossible de charger cette image.",
slideshowStart: "d&eacute;marrer la pr&eacute;sentation",
slideshowStop: "arr&ecirc;ter la pr&eacute;sentation"
});

View file

@ -0,0 +1,13 @@
/*
jQuery Colorbox language configuration
language: Galician (gl)
translated by: donatorouco
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Imaxe {current} de {total}",
previous: "Anterior",
next: "Seguinte",
close: "Pechar",
xhrError: "Erro na carga do contido.",
imgError: "Erro na carga da imaxe."
});

View file

@ -0,0 +1,16 @@
/*
jQuery Colorbox language configuration
language: Greek (gr)
translated by: S.Demirtzoglou
site: webiq.gr
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Εικόνα {current} από {total}",
previous: "Προηγούμενη",
next: "Επόμενη",
close: "Απόκρυψη",
xhrError: "Το περιεχόμενο δεν μπόρεσε να φορτωθεί.",
imgError: "Απέτυχε η φόρτωση της εικόνας.",
slideshowStart: "Έναρξη παρουσίασης",
slideshowStop: "Παύση παρουσίασης"
});

View file

@ -0,0 +1,16 @@
/*
jQuery Colorbox language configuration
language: Hebrew (he)
translated by: David Cohen
site: dav.co.il
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "תמונה {current} מתוך {total}",
previous: "הקודם",
next: "הבא",
close: "סגור",
xhrError: "שגיאה בטעינת התוכן.",
imgError: "שגיאה בטעינת התמונה.",
slideshowStart: "התחל מצגת",
slideshowStop: "עצור מצגת"
});

View file

@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Croatian (hr)
translated by: Mladen Bicanic (base.hr)
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Slika {current} od {total}",
previous: "Prethodna",
next: "Sljedeća",
close: "Zatvori",
xhrError: "Neuspješno učitavanje sadržaja.",
imgError: "Neuspješno učitavanje slike.",
slideshowStart: "Pokreni slideshow",
slideshowStop: "Zaustavi slideshow"
});

View file

@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Hungarian (hu)
translated by: kovadani
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "{current}/{total} kép",
previous: "Előző",
next: "Következő",
close: "Bezár",
xhrError: "A tartalmat nem sikerült betölteni.",
imgError: "A képet nem sikerült betölteni.",
slideshowStart: "Diavetítés indítása",
slideshowStop: "Diavetítés leállítása"
});

View file

@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Indonesian (id)
translated by: sarwasunda
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "ke {current} dari {total}",
previous: "Sebelumnya",
next: "Berikutnya",
close: "Tutup",
xhrError: "Konten ini tidak dapat dimuat.",
imgError: "Gambar ini tidak dapat dimuat.",
slideshowStart: "Putar",
slideshowStop: "Berhenti"
});

View file

@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Italian (it)
translated by: maur8ino
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Immagine {current} di {total}",
previous: "Precedente",
next: "Successiva",
close: "Chiudi",
xhrError: "Errore nel caricamento del contenuto.",
imgError: "Errore nel caricamento dell'immagine.",
slideshowStart: "Inizia la presentazione",
slideshowStop: "Termina la presentazione"
});

View file

@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Japanaese (ja)
translated by: Hajime Fujimoto
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "{total}枚中{current}枚目",
previous: "前",
next: "次",
close: "閉じる",
xhrError: "コンテンツの読み込みに失敗しました",
imgError: "画像の読み込みに失敗しました",
slideshowStart: "スライドショー開始",
slideshowStop: "スライドショー終了"
});

View file

@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Korean (kr)
translated by: lunareffect
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "총 {total} 중 {current}",
previous: "이전",
next: "다음",
close: "닫기",
xhrError: "컨텐츠를 불러오는 데 실패했습니다.",
imgError: "이미지를 불러오는 데 실패했습니다.",
slideshowStart: "슬라이드쇼 시작",
slideshowStop: "슬라이드쇼 중지"
});

View file

@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Lithuanian (lt)
translated by: Tomas Norkūnas
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Nuotrauka {current} iš {total}",
previous: "Atgal",
next: "Pirmyn",
close: "Uždaryti",
xhrError: "Nepavyko užkrauti turinio.",
imgError: "Nepavyko užkrauti nuotraukos.",
slideshowStart: "Pradėti automatinę peržiūrą",
slideshowStop: "Sustabdyti automatinę peržiūrą"
});

View file

@ -0,0 +1,16 @@
/*
jQuery Colorbox language configuration
language: Latvian (lv)
translated by: Matiss Roberts Treinis
site: x0.lv
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "attēls {current} no {total}",
previous: "iepriekšējais",
next: "nākamais",
close: "aizvērt",
xhrError: "Neizdevās ielādēt saturu.",
imgError: "Neizdevās ielādēt attēlu.",
slideshowStart: "sākt slaidrādi",
slideshowStop: "apturēt slaidrādi"
});

View file

@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Myanmar (my)
translated by: Yan Naing
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "ပုံ {total} မှာ {current} မြောက်ပုံ",
previous: "ရှေ့သို့",
next: "နောက်သို့",
close: "ပိတ်မည်",
xhrError: "ပါဝင်သော အကြောင်းအရာများ ဖော်ပြရာတွင် အနည်းငယ် ချို့ယွင်းမှုရှိနေပါသည်",
imgError: "ပုံပြသရာတွင် အနည်းငယ် ချို့ယွင်းချက် ရှိနေပါသည်",
slideshowStart: "ပုံများ စတင်ပြသမည်",
slideshowStop: "ပုံပြသခြင်း ရပ်ဆိုင်မည်"
});

View file

@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Dutch (nl)
translated by: barryvdh
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Afbeelding {current} van {total}",
previous: "Vorige",
next: "Volgende",
close: "Sluiten",
xhrError: "Deze inhoud kan niet geladen worden.",
imgError: "Deze afbeelding kan niet geladen worden.",
slideshowStart: "Diashow starten",
slideshowStop: "Diashow stoppen"
});

View file

@ -0,0 +1,16 @@
/*
jQuery Colorbox language configuration
language: Norwegian (no)
translated by: lars-erik
site: markedspartner.no
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Bilde {current} av {total}",
previous: "Forrige",
next: "Neste",
close: "Lukk",
xhrError: "Feil ved lasting av innhold.",
imgError: "Feil ved lasting av bilde.",
slideshowStart: "Start lysbildefremvisning",
slideshowStop: "Stopp lysbildefremvisning"
});

View file

@ -0,0 +1,16 @@
/*
jQuery Colorbox language configuration
language: Polski (pl)
translated by: Tomasz Wasiński
site: 2bevisible.pl
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "{current}. obrazek z {total}",
previous: "Poprzedni",
next: "Następny",
close: "Zamknij",
xhrError: "Nie udało się załadować treści.",
imgError: "Nie udało się załadować obrazka.",
slideshowStart: "rozpocznij pokaz slajdów",
slideshowStop: "zatrzymaj pokaz slajdów"
});

View file

@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Brazilian Portuguese (pt-BR)
translated by: ReinaldoMT
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Imagem {current} de {total}",
previous: "Anterior",
next: "Próxima",
close: "Fechar",
slideshowStart: "iniciar apresentação de slides",
slideshowStop: "parar apresentação de slides",
xhrError: "Erro ao carregar o conteúdo.",
imgError: "Erro ao carregar a imagem."
});

View file

@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Romanian (ro)
translated by: shurub3l
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "imagine {current} din {total}",
previous: "precedenta",
next: "următoarea",
close: "închideți",
xhrError: "Acest conținut nu poate fi încărcat.",
imgError: "Această imagine nu poate fi încărcată",
slideshowStart: "începeți prezentarea (slideshow)",
slideshowStop: "opriți prezentarea (slideshow)"
});

View file

@ -0,0 +1,16 @@
/*
jQuery Colorbox language configuration
language: Russian (ru)
translated by: Marfa
site: themarfa.name
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "изображение {current} из {total}",
previous: "назад",
next: "вперёд",
close: "закрыть",
xhrError: "Не удалось загрузить содержимое.",
imgError: "Не удалось загрузить изображение.",
slideshowStart: "начать слайд-шоу",
slideshowStop: "остановить слайд-шоу"
});

View file

@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Slovenian (si)
translated by: Boštjan Pišler (pisler.si)
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Slika {current} od {total}",
previous: "Prejšnja",
next: "Naslednja",
close: "Zapri",
xhrError: "Vsebine ni bilo mogoče naložiti.",
imgError: "Slike ni bilo mogoče naložiti.",
slideshowStart: "Zaženi prezentacijo",
slideshowStop: "Zaustavi prezentacijo"
});

View file

@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Slovak (sk)
translated by: Jaroslav Kostal
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "{current}. obrázok z {total}",
previous: "Predchádzajúci",
next: "Následujúci",
close: "Zatvoriť",
xhrError: "Obsah sa nepodarilo načítať.",
imgError: "Obrázok sa nepodarilo načítať.",
slideshowStart: "Spustiť slideshow",
slideshowStop: "zastaviť slideshow"
});

View file

@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Serbian (sr)
translated by: Sasa Stefanovic (baguje.com)
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Slika {current} od {total}",
previous: "Prethodna",
next: "Sledeća",
close: "Zatvori",
xhrError: "Neuspešno učitavanje sadržaja.",
imgError: "Neuspešno učitavanje slike.",
slideshowStart: "Pokreni slideshow",
slideshowStop: "Zaustavi slideshow"
});

View file

@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Swedish (sv)
translated by: Mattias Reichel
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Bild {current} av {total}",
previous: "Föregående",
next: "Nästa",
close: "Stäng",
xhrError: "Innehållet kunde inte laddas.",
imgError: "Den här bilden kunde inte laddas.",
slideshowStart: "Starta bildspel",
slideshowStop: "Stoppa bildspel"
});

View file

@ -0,0 +1,19 @@
/*
jQuery Colorbox language configuration
language: Turkish (tr)
translated by: Caner ÖNCEL
site: egonomik.com
edited by: Sinan Eldem
www.sinaneldem.com.tr
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Görsel {current} / {total}",
previous: "Önceki",
next: "Sonraki",
close: "Kapat",
xhrError: "İçerik yüklenirken hata meydana geldi.",
imgError: "Resim yüklenirken hata meydana geldi.",
slideshowStart: "Slaytı Başlat",
slideshowStop: "Slaytı Durdur"
});

View file

@ -0,0 +1,16 @@
/*
jQuery ColorBox language configuration
language: Ukrainian (uk)
translated by: Andrew
http://acisoftware.com.ua
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "зображення {current} з {total}",
previous: "попереднє",
next: "наступне",
close: "закрити",
xhrError: "Не вдалося завантажити вміст.",
imgError: "Не вдалося завантажити зображення.",
slideshowStart: "почати слайд-шоу",
slideshowStop: "зупинити слайд-шоу"
});

View file

@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Chinese Simplified (zh-CN)
translated by: zhao weiming
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "当前图像 {current} 总共 {total}",
previous: "前一页",
next: "后一页",
close: "关闭",
xhrError: "此内容无法加载",
imgError: "此图片无法加载",
slideshowStart: "开始播放幻灯片",
slideshowStop: "停止播放幻灯片"
});

View file

@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Chinese Traditional (zh-TW)
translated by: Atans Chiu
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "圖片 {current} 總共 {total}",
previous: "上一頁",
next: "下一頁",
close: "關閉",
xhrError: "此內容載入失敗.",
imgError: "此圖片加入失敗.",
slideshowStart: "開始幻燈片",
slideshowStop: "結束幻燈片"
});

File diff suppressed because one or more lines are too long

View file

@ -1,5 +1,5 @@
/*!
Colorbox 1.5.14
Colorbox 1.6.3
license: MIT
http://www.jacklmoore.com/colorbox
*/
@ -85,6 +85,39 @@
},
title: function() {
return this.title;
},
createImg: function() {
var img = new Image();
var attrs = $(this).data('cbox-img-attrs');
if (typeof attrs === 'object') {
$.each(attrs, function(key, val){
img[key] = val;
});
}
return img;
},
createIframe: function() {
var iframe = document.createElement('iframe');
var attrs = $(this).data('cbox-iframe-attrs');
if (typeof attrs === 'object') {
$.each(attrs, function(key, val){
iframe[key] = val;
});
}
if ('frameBorder' in iframe) {
iframe.frameBorder = 0;
}
if ('allowTransparency' in iframe) {
iframe.allowTransparency = "true";
}
iframe.name = (new Date()).getTime(); // give the iframe a unique name to prevent caching
iframe.allowFullscreen = true;
return iframe;
}
},
@ -92,7 +125,7 @@
colorbox = 'colorbox',
prefix = 'cbox',
boxElement = prefix + 'Element',
// Events
event_open = prefix + '_open',
event_load = prefix + '_load',
@ -123,7 +156,7 @@
$close,
$groupControls,
$events = $('<a/>'), // $({}) would be prefered, but there is an issue with jQuery 1.4.2
// Variables for cached values or use across multiple functions
settings,
interfaceHeight,
@ -145,7 +178,7 @@
// ****************
// HELPER FUNCTIONS
// ****************
// Convenience function for creating new jQuery objects
function $tag(tag, id, css) {
var element = document.createElement(tag);
@ -160,7 +193,7 @@
return $(element);
}
// Get the window height using innerHeight when available to avoid an issue with iOS
// http://bugs.jquery.com/ticket/6724
function winheight() {
@ -204,7 +237,7 @@
var
max = $related.length,
newIndex = (index + increment) % max;
return (newIndex < 0) ? max + newIndex : newIndex;
}
@ -212,7 +245,7 @@
function setSize(size, dimension) {
return Math.round((/%/.test(size) ? ((dimension === 'x' ? $window.width() : winheight()) / 100) : 1) * parseInt(size, 10));
}
// Checks an href to see if it is a photo.
// There is a force photo option (photo: true) for hrefs that cannot be matched by the regex.
function isImage(settings, url) {
@ -239,7 +272,7 @@
function getRelated(rel) {
index = 0;
if (rel && rel !== false && rel !== 'nofollow') {
$related = $('.' + boxElement).filter(function () {
var options = $.data(this, colorbox);
@ -247,7 +280,7 @@
return (settings.get('rel') === rel);
});
index = $related.index(settings.el);
// Check direct calls to Colorbox.
if (index === -1) {
$related = $related.add(settings.el);
@ -297,7 +330,7 @@
function stop() {
clear();
$events
.unbind(event_complete, set)
.unbind(event_load, clear);
@ -354,17 +387,17 @@
options = $(element).data(colorbox);
settings = new Settings(element, options);
getRelated(settings.get('rel'));
if (!open) {
open = active = true; // Prevents the page-change action from queuing up if the visitor holds down the left or right keys.
setClass(settings.get('className'));
// Show colorbox so the sizes can be calculated in older versions of jQuery
$box.css({visibility:'hidden', display:'block', opacity:''});
$loaded = $tag(div, 'LoadedContent', 'width:0; height:0; overflow:hidden; visibility:hidden');
$content.css({width:'', height:''}).append($loaded);
@ -380,8 +413,8 @@
var maxWidth = settings.get('maxWidth');
var maxHeight = settings.get('maxHeight');
settings.w = (maxWidth !== false ? Math.min(initialWidth, setSize(maxWidth, 'x')) : initialWidth) - loadedWidth - interfaceWidth;
settings.h = (maxHeight !== false ? Math.min(initialHeight, setSize(maxHeight, 'y')) : initialHeight) - loadedHeight - interfaceHeight;
settings.w = Math.max((maxWidth !== false ? Math.min(initialWidth, setSize(maxWidth, 'x')) : initialWidth) - loadedWidth - interfaceWidth, 0);
settings.h = Math.max((maxHeight !== false ? Math.min(initialHeight, setSize(maxHeight, 'y')) : initialHeight) - loadedHeight - interfaceHeight, 0);
$loaded.css({width:'', height:settings.h});
publicMethod.position();
@ -392,14 +425,14 @@
$groupControls.add($title).hide();
$box.focus();
if (settings.get('trapFocus')) {
// Confine focus to the modal
// Uses event capturing that is not supported in IE8-
if (document.addEventListener) {
document.addEventListener('focus', trapFocus, true);
$events.one(event_closed, function () {
document.removeEventListener('focus', trapFocus, true);
});
@ -420,7 +453,7 @@
cursor: settings.get('overlayClose') ? 'pointer' : '',
visibility: 'visible'
}).show();
if (settings.get('closeButton')) {
$close.html(settings.get('close')).appendTo($content);
} else {
@ -456,7 +489,7 @@
);
$close = $('<button type="button"/>').attr({id:prefix+'Close'});
$wrap.append( // The 3x3 Grid that makes up Colorbox
$tag(div).append(
$tag(div, "TopLeft"),
@ -474,9 +507,9 @@
$tag(div, "BottomRight")
)
).find('div div').css({'float': 'left'});
$loadingBay = $tag(div, false, 'position:absolute; width:9999px; visibility:hidden; display:none; max-width:none;');
$groupControls = $next.add($prev).add($current).add($slideshow);
}
if (document.body && !$box.parent().length) {
@ -514,7 +547,7 @@
publicMethod.close();
}
});
// Key Bindings
$(document).bind('keydown.' + prefix, function (e) {
var key = e.keyCode;
@ -562,7 +595,7 @@
// Usage format: $.colorbox.close();
// Usage from within an iframe: parent.jQuery.colorbox.close();
// ****************
publicMethod = $.fn[colorbox] = $[colorbox] = function (options, callback) {
var settings;
var $obj = this;
@ -572,15 +605,12 @@
if ($.isFunction($obj)) { // assume a call to $.colorbox
$obj = $('<a/>');
options.open = true;
} else if (!$obj[0]) { // colorbox being applied to empty collection
return $obj;
}
if (!$obj[0]) { // colorbox being applied to empty collection
return $obj;
}
appendHTML();
if (addBindings()) {
@ -595,12 +625,12 @@
}).addClass(boxElement);
settings = new Settings($obj[0], options);
if (settings.get('open')) {
launch($obj[0]);
}
}
return $obj;
};
@ -612,7 +642,7 @@
offset = $box.offset(),
scrollTop,
scrollLeft;
$window.unbind('resize.' + prefix);
// remove the modal so that it doesn't influence the document width/height
@ -639,7 +669,7 @@
} else {
left += Math.round(Math.max($window.width() - settings.w - loadedWidth - interfaceWidth, 0) / 2);
}
if (settings.get('bottom') !== false) {
top += Math.max(winheight() - settings.h - loadedHeight - interfaceHeight - setSize(settings.get('bottom'), 'y'), 0);
} else if (settings.get('top') !== false) {
@ -649,12 +679,12 @@
}
$box.css({top: offset.top, left: offset.left, visibility:'visible'});
// this gives the wrapper plenty of breathing room so it's floated contents can move around smoothly,
// but it has to be shrank down around the size of div#colorbox when it's done. If not,
// it can invoke an obscure IE bug when using iframes.
$wrap[0].style.width = $wrap[0].style.height = "9999px";
function modalDimensions() {
$topBorder[0].style.width = $bottomBorder[0].style.width = $content[0].style.width = (parseInt($box[0].style.width,10) - interfaceWidth)+'px';
$content[0].style.height = $leftBorder[0].style.height = $rightBorder[0].style.height = (parseInt($box[0].style.height,10) - interfaceHeight)+'px';
@ -684,13 +714,13 @@
duration: speed || 0,
complete: function () {
modalDimensions();
active = false;
// shrink the wrapper down to exactly the size of colorbox to avoid a bug in IE's iframe implementation.
$wrap[0].style.width = (settings.w + loadedWidth + interfaceWidth) + "px";
$wrap[0].style.height = (settings.h + loadedHeight + interfaceHeight) + "px";
if (settings.get('reposition')) {
setTimeout(function () { // small delay before binding onresize due to an IE8 bug.
$window.bind('resize.' + prefix, publicMethod.position);
@ -707,10 +737,10 @@
publicMethod.resize = function (options) {
var scrolltop;
if (open) {
options = options || {};
if (options.width) {
settings.w = setSize(options.width, 'x') - loadedWidth - interfaceWidth;
}
@ -720,7 +750,7 @@
}
$loaded.css({width: settings.w});
if (options.height) {
settings.h = setSize(options.height, 'y') - loadedHeight - interfaceHeight;
}
@ -740,7 +770,7 @@
if(scrolltop) {
$loaded.scrollTop(scrolltop);
}
publicMethod.position(settings.get('transition') === "none" ? 0 : settings.get('speed'));
}
};
@ -749,13 +779,13 @@
if (!open) {
return;
}
var callback, speed = settings.get('transition') === "none" ? 0 : settings.get('speed');
$loaded.remove();
$loaded = $tag(div, 'LoadedContent').append(object);
function getWidth() {
settings.w = settings.w || $loaded.width();
settings.w = settings.mw && settings.mw < settings.w ? settings.mw : settings.w;
@ -766,17 +796,17 @@
settings.h = settings.mh && settings.mh < settings.h ? settings.mh : settings.h;
return settings.h;
}
$loaded.hide()
.appendTo($loadingBay.show())// content has to be appended to the DOM for accurate size calculations.
.css({width: getWidth(), overflow: settings.get('scrolling') ? 'auto' : 'hidden'})
.css({height: getHeight()})// sets the height independently from the width in case the new width influences the value of height.
.prependTo($content);
$loadingBay.hide();
// 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.
$(photo).css({'float': 'none'});
setClass(settings.get('className'));
@ -785,17 +815,17 @@
var total = $related.length,
iframe,
complete;
if (!open) {
return;
}
function removeFilter() { // Needed for IE8 in versions of jQuery prior to 1.7.2
if ($.support.opacity === false) {
$box[0].style.removeAttribute('filter');
}
}
complete = function () {
clearTimeout(loadingTimer);
$loadingOverlay.hide();
@ -803,20 +833,20 @@
settings.get('onComplete');
};
$title.html(settings.get('title')).show();
$loaded.show();
if (total > 1) { // handle grouping
if (typeof settings.get('current') === "string") {
$current.html(settings.get('current').replace('{current}', index + 1).replace('{total}', total)).show();
}
$next[(settings.get('loop') || index < total - 1) ? "show" : "hide"]().html(settings.get('next'));
$prev[(settings.get('loop') || index) ? "show" : "hide"]().html(settings.get('previous'));
slideshow();
// Preloads images within a rel group
if (settings.get('preloading')) {
$.each([getIndex(-1), getIndex(1)], function(){
@ -835,32 +865,23 @@
} else {
$groupControls.hide();
}
if (settings.get('iframe')) {
iframe = document.createElement('iframe');
if ('frameBorder' in iframe) {
iframe.frameBorder = 0;
}
if ('allowTransparency' in iframe) {
iframe.allowTransparency = "true";
}
iframe = settings.get('createIframe');
if (!settings.get('scrolling')) {
iframe.scrolling = "no";
}
$(iframe)
.attr({
src: settings.get('href'),
name: (new Date()).getTime(), // give the iframe a unique name to prevent caching
'class': prefix + 'Iframe',
allowFullScreen : true // allow HTML5 video to go fullscreen
'class': prefix + 'Iframe'
})
.one('load', complete)
.appendTo($loaded);
$events.one(event_purge, function () {
iframe.src = "//about:blank";
});
@ -871,14 +892,14 @@
} else {
complete();
}
if (settings.get('transition') === 'fade') {
$box.fadeTo(speed, 1, removeFilter);
} else {
removeFilter();
}
};
if (settings.get('transition') === 'fade') {
$box.fadeTo(speed, 0, function () {
publicMethod.position(0, callback);
@ -890,27 +911,27 @@
function load () {
var href, setResize, prep = publicMethod.prep, $inline, request = ++requests;
active = true;
photo = false;
trigger(event_purge);
trigger(event_load);
settings.get('onLoad');
settings.h = settings.get('height') ?
setSize(settings.get('height'), 'y') - loadedHeight - interfaceHeight :
settings.get('innerHeight') && setSize(settings.get('innerHeight'), 'y');
settings.w = settings.get('width') ?
setSize(settings.get('width'), 'x') - loadedWidth - interfaceWidth :
settings.get('innerWidth') && setSize(settings.get('innerWidth'), 'x');
// Sets the minimum dimensions for use in image scaling
settings.mw = settings.w;
settings.mh = settings.h;
// Re-evaluate the minimum width and height based on maxWidth and maxHeight values.
// If the width or height exceed the maxWidth or maxHeight, use the maximum values instead.
if (settings.get('maxWidth')) {
@ -921,13 +942,13 @@
settings.mh = setSize(settings.get('maxHeight'), 'y') - loadedHeight - interfaceHeight;
settings.mh = settings.h && settings.h < settings.mh ? settings.h : settings.mh;
}
href = settings.get('href');
loadingTimer = setTimeout(function () {
$loadingOverlay.show();
}, 100);
if (settings.get('inline')) {
var $target = $(href);
// Inserts an empty placeholder where inline content is being pulled from.
@ -949,11 +970,11 @@
href = retinaUrl(settings, href);
photo = new Image();
photo = settings.get('createImg');
$(photo)
.addClass(prefix + 'Photo')
.bind('error',function () {
.bind('error.'+prefix,function () {
prep($tag(div, 'Error').html(settings.get('imgError')));
})
.one('load', function () {
@ -961,18 +982,11 @@
return;
}
// A small pause because some browsers will occassionaly report a
// A small pause because some browsers will occassionaly report a
// img.width and img.height of zero immediately after the img.onload fires
setTimeout(function(){
var percent;
$.each(['alt', 'longdesc', 'aria-describedby'], function(i,val){
var attr = $(settings.el).attr(val) || $(settings.el).attr('data-'+val);
if (attr) {
photo.setAttribute(val, attr);
}
});
if (settings.get('retinaImage') && window.devicePixelRatio > 1) {
photo.height = photo.height / window.devicePixelRatio;
photo.width = photo.width / window.devicePixelRatio;
@ -992,16 +1006,17 @@
setResize();
}
}
if (settings.h) {
photo.style.marginTop = Math.max(settings.mh - photo.height, 0) / 2 + 'px';
}
if ($related[1] && (settings.get('loop') || $related[index + 1])) {
photo.style.cursor = 'pointer';
photo.onclick = function () {
$(photo).bind('click.'+prefix, function () {
publicMethod.next();
};
});
}
photo.style.width = photo.width + 'px';
@ -1009,7 +1024,7 @@
prep(photo);
}, 1);
});
photo.src = href;
} else if (href) {
@ -1020,7 +1035,7 @@
});
}
}
// Navigates to the next page/image in a set.
publicMethod.next = function () {
if (!active && $related[1] && (settings.get('loop') || $related[index + 1])) {
@ -1028,7 +1043,7 @@
launch($related[index]);
}
};
publicMethod.prev = function () {
if (!active && $related[1] && (settings.get('loop') || index)) {
index = getIndex(-1);
@ -1039,20 +1054,20 @@
// Note: to use this within an iframe use the following format: parent.jQuery.colorbox.close();
publicMethod.close = function () {
if (open && !closing) {
closing = true;
open = false;
trigger(event_cleanup);
settings.get('onCleanup');
$window.unbind('.' + prefix);
$overlay.fadeTo(settings.get('fadeOut') || 0, 0);
$box.stop().fadeTo(settings.get('fadeOut') || 0, 0, function () {
$box.hide();
$overlay.hide();
trigger(event_purge);
$loaded.remove();
setTimeout(function () {
closing = false;
trigger(event_closed);

File diff suppressed because one or more lines are too long

View file

@ -1,31 +0,0 @@
# Lightbox2
The original lightbox script. Eight years later — still going strong!
## Demo and basic instructions
[Goto the Lightbox2 page](http://lokeshdhakar.com/projects/lightbox2/)
## Credits
### Author
by Lokesh Dhakar
[lokeshdhakar.com](http://www.lokeshdhakar.com)
[twitter.com/lokesh](http://twitter.com/lokesh)
### Thanks
* Scott Upton [(uptonic.com)](uptonic.com), Peter-Paul Koch [(quirksmode.com)](quirksmode.com), and Thomas Fuchs [(mir.aculo.us)](mir.aculo.us) for ideas, libs, and snippets.
* Artemy Tregubenko [(arty.name)](arty.name) for cleanup and help in updating to latest proto-aculous in v2.05.
* Matthias Vill [(https://github.com/TheConstructor)](https://github.com/TheConstructor)
* XhmikosR - [(https://github.com/XhmikosR)](https://github.com/XhmikosR)
* mwasson - [(https://github.com/mwasson)](https://github.com/mwasson)
* Heleen v.d. S - [(https://github.com/Heleen)](https://github.com/Heleen)
* careilly - [(https://github.com/careilly)](https://github.com/careilly)
* and many others. Thanks!!!
##License
Licensed under the [Creative Commons Attribution 2.5 License](http://creativecommons.org/licenses/by/2.5/)
* Free for use in both personal and commercial projects.
* Attribution requires leaving author name, author homepage link, and the license info intact.

View file

@ -0,0 +1,102 @@
# Lightbox2
The original lightbox script. Eight years later — still going strong!
Lightbox is small javascript library used to overlay images on top of the current page. It's a snap to setup and works on all modern browsers.
For demos and usage instructions, visit [lokeshdhakar.com/projects/lightbox2/](http://lokeshdhakar.com/projects/lightbox2/).
by [Lokesh Dhakar](http://www.lokeshdhakar.com)
## Roadmap
- **Maintenance.** Get open Issues and PRs number down.
- **Mobile experience.** Redo animations and interactions from scratch and include gesture support.
### v3.0 - IN PLANNING PHASE
- Add touch gesture support.
- Optimize layout for mobile.
- Optimize layout for screens of varying densities.
- Use inline SVG for UI elements.
- Do not initialize automatically and allow multiple instances.
- Add event handlers.
- Evaluate start, end, and transition animations.
- Evaluate preloading and caching.
- Evaluate droppping jQuery requirement.
## Changelog
### v2.8.1 - 2015-07-09
- [Fix] Change AMD jQuery require statement to use all lowercase. [#464](https://github.com/lokesh/lightbox2/pull/464) Thanks [@vtforester](https://github.com/vtforester)
### v2.8.0 - 2015-06-29
- [Add] UMD support (AMD, CommonJS, fallback to global export).[#461](https://github.com/lokesh/lightbox2/pull/461)
- [Add] CONTRIBUTING.md
### v2.7.4 - 2015-06-23
- [Change] Revert jquery dep version to 2.x from 1.x. Added note to Lightbox page about using jQuery 1.x to get IE6, 7, and 8 support.
- [Fix] Preserve author and license comments from lightbox.js in minified files.
### v2.7.3 - 2015-06-22
- [Add] Barebone HTML file with examples /examples/index.html.
- [Add] jquery.lightbox.js which concatenates jQuery and Lightbox. This is for those who are Bower averse or want an extra easy install.
### v2.7.2 - 2015-06-16
- [Add] maxWidth and maxHeight options added [#197](https://github.com/lokesh/lightbox2/pull/197)
- [Add] Enable target attribute in caption links [#299](https://github.com/lokesh/lightbox2/pull/299)
- [Change] Switched to The MIT License from Creative Commons Attribution 4.0 International License.
- [Change] Add CSS and images to bower.json main property.
- [Change] Dropped version property from bower.json. [#453](https://github.com/lokesh/lightbox2/pull/453)
- [Change] Use src -> dist folder structure for build.
- [Fix] Remove empty src attribute from img tag [#287](https://github.com/lokesh/lightbox2/pull/287)
- [Fix] Correct grammatical error in comment [#224](https://github.com/lokesh/lightbox2/pull/224)
- [Fix] Clear the jquery animation queue before hiding the .lb-loader [#309](https://github.com/lokesh/lightbox2/pull/309)
- [Remove] Remove releases's zips from repo.
### v2.7.1 - 2014-03-30
- [Fix] Enable links in captions
### v2.7.0 - 2014-03-29
- [Add] Support for data-title attribute for the caption. - Thanks [@copycut](https://github.com/copycut)
- [Add] New option to enable always visible prev and next arrows
- [Change] Rewrite Coffeescript code into plain ole Javascript
- [Change] Updated jQuery to v1.10.2
- [Fix] prev/next arrows not appearing in IE9 and IE 10 - Thanks [@rebizu](https://github.com/rebizu)
- [Fix] Support wrap around option w/keyboard actions. Thanks [@vovayatsyuk](https://github.com/vovayatsyuk)
### v2.6.0 - 2013-07-06
- [Add] Added wraparound option
- [Add] Added fitImagesInViewport option - now mobile friendly
- [Add] Added showImageNumber label
- [Add] Compatibility with html5shiv
- [Add] Html5 valid using new data-lightbox attribute
- [Add] Compatibility with hmtl5shiv and modernizr
- [Add] Support jquery 1.9+
- [Change] Move reference to loading and close images into css
- [Change] Cache jquery objects
### v2.5.0 - 2012-04-11
- [Change] Switch to jQuery from Prototype and Scriptaculous
- [Change] Switch from Javacript to Coffeescript
- [Change] Switch from CSS to SASS
- [Add] Repo created on Github
## How to deploy
- Update version number in ```src/lightbox.js```
- Update README.md Changelog with release date
- grunt build
- Push to Github repo
- Create a new Github release along with tag. Naming convention for both ```v2.8.1```

View file

@ -1,6 +1,6 @@
/* Preload images */
body:after {
content: url(../img/close.png) url(../img/loading.gif) url(../img/prev.png) url(../img/next.png);
content: url(../images/close.png) url(../images/loading.gif) url(../images/prev.png) url(../images/next.png);
display: none;
}
@ -79,7 +79,7 @@ body:after {
width: 32px;
height: 32px;
margin: 0 auto;
background: url(../img/loading.gif) no-repeat;
background: url(../images/loading.gif) no-repeat;
}
.lb-nav {
@ -110,7 +110,7 @@ body:after {
width: 34%;
left: 0;
float: left;
background: url(../img/prev.png) left 48% no-repeat;
background: url(../images/prev.png) left 48% no-repeat;
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
opacity: 0;
-webkit-transition: opacity 0.6s;
@ -128,7 +128,7 @@ body:after {
width: 64%;
right: 0;
float: right;
background: url(../img/next.png) right 48% no-repeat;
background: url(../images/next.png) right 48% no-repeat;
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
opacity: 0;
-webkit-transition: opacity 0.6s;
@ -192,7 +192,7 @@ body:after {
float: right;
width: 30px;
height: 30px;
background: url(../img/close.png) top right no-repeat;
background: url(../images/close.png) top right no-repeat;
text-align: right;
outline: none;
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);

File diff suppressed because one or more lines are too long

View file

Before

Width:  |  Height:  |  Size: 280 B

After

Width:  |  Height:  |  Size: 280 B

View file

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,411 +1,444 @@
/**
* Lightbox v2.7.1
* by Lokesh Dhakar - http://lokeshdhakar.com/projects/lightbox2/
/*!
* Lightbox v2.8.1
* by Lokesh Dhakar
*
* @license http://creativecommons.org/licenses/by/2.5/
* - Free for use in both personal and commercial projects
* - Attribution requires leaving author name, author link, and the license info intact
* More info:
* http://lokeshdhakar.com/projects/lightbox2/
*
* Copyright 2007, 2015 Lokesh Dhakar
* Released under the MIT license
* https://github.com/lokesh/lightbox2/blob/master/LICENSE
*/
(function() {
// Use local alias
var $ = jQuery;
var LightboxOptions = (function() {
function LightboxOptions() {
this.fadeDuration = 500;
this.fitImagesInViewport = true;
this.resizeDuration = 700;
this.positionFromTop = 50;
this.showImageNumberLabel = true;
this.alwaysShowNavOnTouchDevices = false;
this.wrapAround = false;
// Uses Node, AMD or browser globals to create a module.
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['jquery'], factory);
} else if (typeof exports === 'object') {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require('jquery'));
} else {
// Browser globals (root is window)
root.lightbox = factory(root.jQuery);
}
// Change to localize to non-english language
LightboxOptions.prototype.albumLabel = function(curImageNum, albumSize) {
return "Image " + curImageNum + " of " + albumSize;
};
}(this, function ($) {
return LightboxOptions;
})();
function Lightbox(options) {
this.album = [];
this.currentImageIndex = void 0;
this.init();
// options
this.options = $.extend({}, this.constructor.defaults);
this.option(options);
}
var Lightbox = (function() {
function Lightbox(options) {
this.options = options;
this.album = [];
this.currentImageIndex = void 0;
this.init();
// Descriptions of all options available on the demo site:
// http://lokeshdhakar.com/projects/lightbox2/index.html#options
Lightbox.defaults = {
albumLabel: 'Image %1 of %2',
alwaysShowNavOnTouchDevices: false,
fadeDuration: 500,
fitImagesInViewport: true,
// maxWidth: 800,
// maxHeight: 600,
positionFromTop: 50,
resizeDuration: 700,
showImageNumberLabel: true,
wrapAround: false
};
Lightbox.prototype.option = function(options) {
$.extend(this.options, options);
};
Lightbox.prototype.imageCountLabel = function(currentImageNum, totalImages) {
return this.options.albumLabel.replace(/%1/g, currentImageNum).replace(/%2/g, totalImages);
};
Lightbox.prototype.init = function() {
this.enable();
this.build();
};
// Loop through anchors and areamaps looking for either data-lightbox attributes or rel attributes
// that contain 'lightbox'. When these are clicked, start lightbox.
Lightbox.prototype.enable = function() {
var self = this;
$('body').on('click', 'a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]', function(event) {
self.start($(event.currentTarget));
return false;
});
};
// Build html for the lightbox and the overlay.
// Attach event handlers to the new DOM elements. click click click
Lightbox.prototype.build = function() {
var self = this;
$('<div id="lightboxOverlay" class="lightboxOverlay"></div><div id="lightbox" class="lightbox"><div class="lb-outerContainer"><div class="lb-container"><img class="lb-image" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /><div class="lb-nav"><a class="lb-prev" href="" ></a><a class="lb-next" href="" ></a></div><div class="lb-loader"><a class="lb-cancel"></a></div></div></div><div class="lb-dataContainer"><div class="lb-data"><div class="lb-details"><span class="lb-caption"></span><span class="lb-number"></span></div><div class="lb-closeContainer"><a class="lb-close"></a></div></div></div></div>').appendTo($('body'));
// Cache jQuery objects
this.$lightbox = $('#lightbox');
this.$overlay = $('#lightboxOverlay');
this.$outerContainer = this.$lightbox.find('.lb-outerContainer');
this.$container = this.$lightbox.find('.lb-container');
// Store css values for future lookup
this.containerTopPadding = parseInt(this.$container.css('padding-top'), 10);
this.containerRightPadding = parseInt(this.$container.css('padding-right'), 10);
this.containerBottomPadding = parseInt(this.$container.css('padding-bottom'), 10);
this.containerLeftPadding = parseInt(this.$container.css('padding-left'), 10);
// Attach event handlers to the newly minted DOM elements
this.$overlay.hide().on('click', function() {
self.end();
return false;
});
this.$lightbox.hide().on('click', function(event) {
if ($(event.target).attr('id') === 'lightbox') {
self.end();
}
return false;
});
this.$outerContainer.on('click', function(event) {
if ($(event.target).attr('id') === 'lightbox') {
self.end();
}
return false;
});
this.$lightbox.find('.lb-prev').on('click', function() {
if (self.currentImageIndex === 0) {
self.changeImage(self.album.length - 1);
} else {
self.changeImage(self.currentImageIndex - 1);
}
return false;
});
this.$lightbox.find('.lb-next').on('click', function() {
if (self.currentImageIndex === self.album.length - 1) {
self.changeImage(0);
} else {
self.changeImage(self.currentImageIndex + 1);
}
return false;
});
this.$lightbox.find('.lb-loader, .lb-close').on('click', function() {
self.end();
return false;
});
};
// Show overlay and lightbox. If the image is part of a set, add siblings to album array.
Lightbox.prototype.start = function($link) {
var self = this;
var $window = $(window);
$window.on('resize', $.proxy(this.sizeOverlay, this));
$('select, object, embed').css({
visibility: 'hidden'
});
this.sizeOverlay();
this.album = [];
var imageNumber = 0;
function addToAlbum($link) {
self.album.push({
link: $link.attr('href'),
title: $link.attr('data-title') || $link.attr('title')
});
}
Lightbox.prototype.init = function() {
this.enable();
this.build();
};
// Support both data-lightbox attribute and rel attribute implementations
var dataLightboxValue = $link.attr('data-lightbox');
var $links;
// Loop through anchors and areamaps looking for either data-lightbox attributes or rel attributes
// that contain 'lightbox'. When these are clicked, start lightbox.
Lightbox.prototype.enable = function() {
var self = this;
$('body').on('click', 'a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]', function(event) {
self.start($(event.currentTarget));
return false;
});
};
// Build html for the lightbox and the overlay.
// Attach event handlers to the new DOM elements. click click click
Lightbox.prototype.build = function() {
var self = this;
$("<div id='lightboxOverlay' class='lightboxOverlay'></div><div id='lightbox' class='lightbox'><div class='lb-outerContainer'><div class='lb-container'><img class='lb-image' src='' /><div class='lb-nav'><a class='lb-prev' href='' ></a><a class='lb-next' href='' ></a></div><div class='lb-loader'><a class='lb-cancel'></a></div></div></div><div class='lb-dataContainer'><div class='lb-data'><div class='lb-details'><span class='lb-caption'></span><span class='lb-number'></span></div><div class='lb-closeContainer'><a class='lb-close'></a></div></div></div></div>").appendTo($('body'));
// Cache jQuery objects
this.$lightbox = $('#lightbox');
this.$overlay = $('#lightboxOverlay');
this.$outerContainer = this.$lightbox.find('.lb-outerContainer');
this.$container = this.$lightbox.find('.lb-container');
// Store css values for future lookup
this.containerTopPadding = parseInt(this.$container.css('padding-top'), 10);
this.containerRightPadding = parseInt(this.$container.css('padding-right'), 10);
this.containerBottomPadding = parseInt(this.$container.css('padding-bottom'), 10);
this.containerLeftPadding = parseInt(this.$container.css('padding-left'), 10);
// Attach event handlers to the newly minted DOM elements
this.$overlay.hide().on('click', function() {
self.end();
return false;
});
this.$lightbox.hide().on('click', function(event) {
if ($(event.target).attr('id') === 'lightbox') {
self.end();
if (dataLightboxValue) {
$links = $($link.prop('tagName') + '[data-lightbox="' + dataLightboxValue + '"]');
for (var i = 0; i < $links.length; i = ++i) {
addToAlbum($($links[i]));
if ($links[i] === $link[0]) {
imageNumber = i;
}
return false;
});
this.$outerContainer.on('click', function(event) {
if ($(event.target).attr('id') === 'lightbox') {
self.end();
}
return false;
});
this.$lightbox.find('.lb-prev').on('click', function() {
if (self.currentImageIndex === 0) {
self.changeImage(self.album.length - 1);
} else {
self.changeImage(self.currentImageIndex - 1);
}
return false;
});
this.$lightbox.find('.lb-next').on('click', function() {
if (self.currentImageIndex === self.album.length - 1) {
self.changeImage(0);
} else {
self.changeImage(self.currentImageIndex + 1);
}
return false;
});
this.$lightbox.find('.lb-loader, .lb-close').on('click', function() {
self.end();
return false;
});
};
// Show overlay and lightbox. If the image is part of a set, add siblings to album array.
Lightbox.prototype.start = function($link) {
var self = this;
var $window = $(window);
$window.on('resize', $.proxy(this.sizeOverlay, this));
$('select, object, embed').css({
visibility: "hidden"
});
this.sizeOverlay();
this.album = [];
var imageNumber = 0;
function addToAlbum($link) {
self.album.push({
link: $link.attr('href'),
title: $link.attr('data-title') || $link.attr('title')
});
}
// Support both data-lightbox attribute and rel attribute implementations
var dataLightboxValue = $link.attr('data-lightbox');
var $links;
if (dataLightboxValue) {
$links = $($link.prop("tagName") + '[data-lightbox="' + dataLightboxValue + '"]');
for (var i = 0; i < $links.length; i = ++i) {
addToAlbum($($links[i]));
if ($links[i] === $link[0]) {
imageNumber = i;
}
}
} else {
if ($link.attr('rel') === 'lightbox') {
// If image is not part of a set
addToAlbum($link);
} else {
if ($link.attr('rel') === 'lightbox') {
// If image is not part of a set
addToAlbum($link);
} else {
// If image is part of a set
$links = $($link.prop("tagName") + '[rel="' + $link.attr('rel') + '"]');
for (var j = 0; j < $links.length; j = ++j) {
addToAlbum($($links[j]));
if ($links[j] === $link[0]) {
imageNumber = j;
}
// If image is part of a set
$links = $($link.prop('tagName') + '[rel="' + $link.attr('rel') + '"]');
for (var j = 0; j < $links.length; j = ++j) {
addToAlbum($($links[j]));
if ($links[j] === $link[0]) {
imageNumber = j;
}
}
}
// Position Lightbox
var top = $window.scrollTop() + this.options.positionFromTop;
var left = $window.scrollLeft();
this.$lightbox.css({
top: top + 'px',
left: left + 'px'
}).fadeIn(this.options.fadeDuration);
}
this.changeImage(imageNumber);
};
// Position Lightbox
var top = $window.scrollTop() + this.options.positionFromTop;
var left = $window.scrollLeft();
this.$lightbox.css({
top: top + 'px',
left: left + 'px'
}).fadeIn(this.options.fadeDuration);
// Hide most UI elements in preparation for the animated resizing of the lightbox.
Lightbox.prototype.changeImage = function(imageNumber) {
var self = this;
this.changeImage(imageNumber);
};
this.disableKeyboardNav();
var $image = this.$lightbox.find('.lb-image');
// Hide most UI elements in preparation for the animated resizing of the lightbox.
Lightbox.prototype.changeImage = function(imageNumber) {
var self = this;
this.$overlay.fadeIn(this.options.fadeDuration);
this.disableKeyboardNav();
var $image = this.$lightbox.find('.lb-image');
$('.lb-loader').fadeIn('slow');
this.$lightbox.find('.lb-image, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption').hide();
this.$overlay.fadeIn(this.options.fadeDuration);
this.$outerContainer.addClass('animating');
$('.lb-loader').fadeIn('slow');
this.$lightbox.find('.lb-image, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption').hide();
// When image to show is preloaded, we send the width and height to sizeContainer()
var preloader = new Image();
preloader.onload = function() {
var $preloader, imageHeight, imageWidth, maxImageHeight, maxImageWidth, windowHeight, windowWidth;
$image.attr('src', self.album[imageNumber].link);
this.$outerContainer.addClass('animating');
$preloader = $(preloader);
// When image to show is preloaded, we send the width and height to sizeContainer()
var preloader = new Image();
preloader.onload = function() {
var $preloader;
var imageHeight;
var imageWidth;
var maxImageHeight;
var maxImageWidth;
var windowHeight;
var windowWidth;
$image.width(preloader.width);
$image.height(preloader.height);
if (self.options.fitImagesInViewport) {
// Fit image inside the viewport.
// Take into account the border around the image and an additional 10px gutter on each side.
$image.attr('src', self.album[imageNumber].link);
windowWidth = $(window).width();
windowHeight = $(window).height();
maxImageWidth = windowWidth - self.containerLeftPadding - self.containerRightPadding - 20;
maxImageHeight = windowHeight - self.containerTopPadding - self.containerBottomPadding - 120;
$preloader = $(preloader);
// Is there a fitting issue?
if ((preloader.width > maxImageWidth) || (preloader.height > maxImageHeight)) {
if ((preloader.width / maxImageWidth) > (preloader.height / maxImageHeight)) {
imageWidth = maxImageWidth;
imageHeight = parseInt(preloader.height / (preloader.width / imageWidth), 10);
$image.width(imageWidth);
$image.height(imageHeight);
} else {
imageHeight = maxImageHeight;
imageWidth = parseInt(preloader.width / (preloader.height / imageHeight), 10);
$image.width(imageWidth);
$image.height(imageHeight);
}
$image.width(preloader.width);
$image.height(preloader.height);
if (self.options.fitImagesInViewport) {
// Fit image inside the viewport.
// Take into account the border around the image and an additional 10px gutter on each side.
windowWidth = $(window).width();
windowHeight = $(window).height();
maxImageWidth = windowWidth - self.containerLeftPadding - self.containerRightPadding - 20;
maxImageHeight = windowHeight - self.containerTopPadding - self.containerBottomPadding - 120;
// Check if image size is larger then maxWidth|maxHeight in settings
if (self.options.maxWidth && self.options.maxWidth < maxImageWidth) {
maxImageWidth = self.options.maxWidth;
}
if (self.options.maxHeight && self.options.maxHeight < maxImageWidth) {
maxImageHeight = self.options.maxHeight;
}
// Is there a fitting issue?
if ((preloader.width > maxImageWidth) || (preloader.height > maxImageHeight)) {
if ((preloader.width / maxImageWidth) > (preloader.height / maxImageHeight)) {
imageWidth = maxImageWidth;
imageHeight = parseInt(preloader.height / (preloader.width / imageWidth), 10);
$image.width(imageWidth);
$image.height(imageHeight);
} else {
imageHeight = maxImageHeight;
imageWidth = parseInt(preloader.width / (preloader.height / imageHeight), 10);
$image.width(imageWidth);
$image.height(imageHeight);
}
}
self.sizeContainer($image.width(), $image.height());
};
preloader.src = this.album[imageNumber].link;
this.currentImageIndex = imageNumber;
};
// Stretch overlay to fit the viewport
Lightbox.prototype.sizeOverlay = function() {
this.$overlay
.width($(window).width())
.height($(document).height());
};
// Animate the size of the lightbox to fit the image we are showing
Lightbox.prototype.sizeContainer = function(imageWidth, imageHeight) {
var self = this;
var oldWidth = this.$outerContainer.outerWidth();
var oldHeight = this.$outerContainer.outerHeight();
var newWidth = imageWidth + this.containerLeftPadding + this.containerRightPadding;
var newHeight = imageHeight + this.containerTopPadding + this.containerBottomPadding;
function postResize() {
self.$lightbox.find('.lb-dataContainer').width(newWidth);
self.$lightbox.find('.lb-prevLink').height(newHeight);
self.$lightbox.find('.lb-nextLink').height(newHeight);
self.showImage();
}
self.sizeContainer($image.width(), $image.height());
};
if (oldWidth !== newWidth || oldHeight !== newHeight) {
this.$outerContainer.animate({
width: newWidth,
height: newHeight
}, this.options.resizeDuration, 'swing', function() {
postResize();
});
} else {
preloader.src = this.album[imageNumber].link;
this.currentImageIndex = imageNumber;
};
// Stretch overlay to fit the viewport
Lightbox.prototype.sizeOverlay = function() {
this.$overlay
.width($(window).width())
.height($(document).height());
};
// Animate the size of the lightbox to fit the image we are showing
Lightbox.prototype.sizeContainer = function(imageWidth, imageHeight) {
var self = this;
var oldWidth = this.$outerContainer.outerWidth();
var oldHeight = this.$outerContainer.outerHeight();
var newWidth = imageWidth + this.containerLeftPadding + this.containerRightPadding;
var newHeight = imageHeight + this.containerTopPadding + this.containerBottomPadding;
function postResize() {
self.$lightbox.find('.lb-dataContainer').width(newWidth);
self.$lightbox.find('.lb-prevLink').height(newHeight);
self.$lightbox.find('.lb-nextLink').height(newHeight);
self.showImage();
}
if (oldWidth !== newWidth || oldHeight !== newHeight) {
this.$outerContainer.animate({
width: newWidth,
height: newHeight
}, this.options.resizeDuration, 'swing', function() {
postResize();
}
};
});
} else {
postResize();
}
};
// Display the image and it's details and begin preload neighboring images.
Lightbox.prototype.showImage = function() {
this.$lightbox.find('.lb-loader').hide();
this.$lightbox.find('.lb-image').fadeIn('slow');
this.updateNav();
this.updateDetails();
this.preloadNeighboringImages();
this.enableKeyboardNav();
};
// Display the image and its details and begin preload neighboring images.
Lightbox.prototype.showImage = function() {
this.$lightbox.find('.lb-loader').stop(true).hide();
this.$lightbox.find('.lb-image').fadeIn('slow');
// Display previous and next navigation if appropriate.
Lightbox.prototype.updateNav = function() {
// Check to see if the browser supports touch events. If so, we take the conservative approach
// and assume that mouse hover events are not supported and always show prev/next navigation
// arrows in image sets.
var alwaysShowNav = false;
try {
document.createEvent("TouchEvent");
alwaysShowNav = (this.options.alwaysShowNavOnTouchDevices)? true: false;
} catch (e) {}
this.updateNav();
this.updateDetails();
this.preloadNeighboringImages();
this.enableKeyboardNav();
};
this.$lightbox.find('.lb-nav').show();
// Display previous and next navigation if appropriate.
Lightbox.prototype.updateNav = function() {
// Check to see if the browser supports touch events. If so, we take the conservative approach
// and assume that mouse hover events are not supported and always show prev/next navigation
// arrows in image sets.
var alwaysShowNav = false;
try {
document.createEvent('TouchEvent');
alwaysShowNav = (this.options.alwaysShowNavOnTouchDevices) ? true : false;
} catch (e) {}
if (this.album.length > 1) {
if (this.options.wrapAround) {
if (alwaysShowNav) {
this.$lightbox.find('.lb-prev, .lb-next').css('opacity', '1');
}
this.$lightbox.find('.lb-prev, .lb-next').show();
} else {
if (this.currentImageIndex > 0) {
this.$lightbox.find('.lb-prev').show();
if (alwaysShowNav) {
this.$lightbox.find('.lb-prev').css('opacity', '1');
}
}
if (this.currentImageIndex < this.album.length - 1) {
this.$lightbox.find('.lb-next').show();
if (alwaysShowNav) {
this.$lightbox.find('.lb-next').css('opacity', '1');
}
}
this.$lightbox.find('.lb-nav').show();
if (this.album.length > 1) {
if (this.options.wrapAround) {
if (alwaysShowNav) {
this.$lightbox.find('.lb-prev, .lb-next').css('opacity', '1');
}
}
};
// Display caption, image number, and closing button.
Lightbox.prototype.updateDetails = function() {
var self = this;
// Enable anchor clicks in the injected caption html.
// Thanks Nate Wright for the fix. @https://github.com/NateWr
if (typeof this.album[this.currentImageIndex].title !== 'undefined' && this.album[this.currentImageIndex].title !== "") {
this.$lightbox.find('.lb-caption')
.html(this.album[this.currentImageIndex].title)
.fadeIn('fast')
.find('a').on('click', function(event){
location.href = $(this).attr('href');
});
}
if (this.album.length > 1 && this.options.showImageNumberLabel) {
this.$lightbox.find('.lb-number').text(this.options.albumLabel(this.currentImageIndex + 1, this.album.length)).fadeIn('fast');
this.$lightbox.find('.lb-prev, .lb-next').show();
} else {
this.$lightbox.find('.lb-number').hide();
}
this.$outerContainer.removeClass('animating');
this.$lightbox.find('.lb-dataContainer').fadeIn(this.options.resizeDuration, function() {
return self.sizeOverlay();
});
};
// Preload previous and next images in set.
Lightbox.prototype.preloadNeighboringImages = function() {
if (this.album.length > this.currentImageIndex + 1) {
var preloadNext = new Image();
preloadNext.src = this.album[this.currentImageIndex + 1].link;
}
if (this.currentImageIndex > 0) {
var preloadPrev = new Image();
preloadPrev.src = this.album[this.currentImageIndex - 1].link;
}
};
Lightbox.prototype.enableKeyboardNav = function() {
$(document).on('keyup.keyboard', $.proxy(this.keyboardAction, this));
};
Lightbox.prototype.disableKeyboardNav = function() {
$(document).off('.keyboard');
};
Lightbox.prototype.keyboardAction = function(event) {
var KEYCODE_ESC = 27;
var KEYCODE_LEFTARROW = 37;
var KEYCODE_RIGHTARROW = 39;
var keycode = event.keyCode;
var key = String.fromCharCode(keycode).toLowerCase();
if (keycode === KEYCODE_ESC || key.match(/x|o|c/)) {
this.end();
} else if (key === 'p' || keycode === KEYCODE_LEFTARROW) {
if (this.currentImageIndex !== 0) {
this.changeImage(this.currentImageIndex - 1);
} else if (this.options.wrapAround && this.album.length > 1) {
this.changeImage(this.album.length - 1);
if (this.currentImageIndex > 0) {
this.$lightbox.find('.lb-prev').show();
if (alwaysShowNav) {
this.$lightbox.find('.lb-prev').css('opacity', '1');
}
}
} else if (key === 'n' || keycode === KEYCODE_RIGHTARROW) {
if (this.currentImageIndex !== this.album.length - 1) {
this.changeImage(this.currentImageIndex + 1);
} else if (this.options.wrapAround && this.album.length > 1) {
this.changeImage(0);
if (this.currentImageIndex < this.album.length - 1) {
this.$lightbox.find('.lb-next').show();
if (alwaysShowNav) {
this.$lightbox.find('.lb-next').css('opacity', '1');
}
}
}
};
}
};
// Closing time. :-(
Lightbox.prototype.end = function() {
this.disableKeyboardNav();
$(window).off("resize", this.sizeOverlay);
this.$lightbox.fadeOut(this.options.fadeDuration);
this.$overlay.fadeOut(this.options.fadeDuration);
$('select, object, embed').css({
visibility: "visible"
});
};
// Display caption, image number, and closing button.
Lightbox.prototype.updateDetails = function() {
var self = this;
return Lightbox;
// Enable anchor clicks in the injected caption html.
// Thanks Nate Wright for the fix. @https://github.com/NateWr
if (typeof this.album[this.currentImageIndex].title !== 'undefined' &&
this.album[this.currentImageIndex].title !== '') {
this.$lightbox.find('.lb-caption')
.html(this.album[this.currentImageIndex].title)
.fadeIn('fast')
.find('a').on('click', function(event) {
if ($(this).attr('target') !== undefined) {
window.open($(this).attr('href'), $(this).attr('target'));
} else {
location.href = $(this).attr('href');
}
});
}
})();
if (this.album.length > 1 && this.options.showImageNumberLabel) {
var labelText = this.imageCountLabel(this.currentImageIndex + 1, this.album.length);
this.$lightbox.find('.lb-number').text(labelText).fadeIn('fast');
} else {
this.$lightbox.find('.lb-number').hide();
}
$(function() {
var options = new LightboxOptions();
var lightbox = new Lightbox(options);
});
this.$outerContainer.removeClass('animating');
}).call(this);
this.$lightbox.find('.lb-dataContainer').fadeIn(this.options.resizeDuration, function() {
return self.sizeOverlay();
});
};
// Preload previous and next images in set.
Lightbox.prototype.preloadNeighboringImages = function() {
if (this.album.length > this.currentImageIndex + 1) {
var preloadNext = new Image();
preloadNext.src = this.album[this.currentImageIndex + 1].link;
}
if (this.currentImageIndex > 0) {
var preloadPrev = new Image();
preloadPrev.src = this.album[this.currentImageIndex - 1].link;
}
};
Lightbox.prototype.enableKeyboardNav = function() {
$(document).on('keyup.keyboard', $.proxy(this.keyboardAction, this));
};
Lightbox.prototype.disableKeyboardNav = function() {
$(document).off('.keyboard');
};
Lightbox.prototype.keyboardAction = function(event) {
var KEYCODE_ESC = 27;
var KEYCODE_LEFTARROW = 37;
var KEYCODE_RIGHTARROW = 39;
var keycode = event.keyCode;
var key = String.fromCharCode(keycode).toLowerCase();
if (keycode === KEYCODE_ESC || key.match(/x|o|c/)) {
this.end();
} else if (key === 'p' || keycode === KEYCODE_LEFTARROW) {
if (this.currentImageIndex !== 0) {
this.changeImage(this.currentImageIndex - 1);
} else if (this.options.wrapAround && this.album.length > 1) {
this.changeImage(this.album.length - 1);
}
} else if (key === 'n' || keycode === KEYCODE_RIGHTARROW) {
if (this.currentImageIndex !== this.album.length - 1) {
this.changeImage(this.currentImageIndex + 1);
} else if (this.options.wrapAround && this.album.length > 1) {
this.changeImage(0);
}
}
};
// Closing time. :-(
Lightbox.prototype.end = function() {
this.disableKeyboardNav();
$(window).off('resize', this.sizeOverlay);
this.$lightbox.fadeOut(this.options.fadeDuration);
this.$overlay.fadeOut(this.options.fadeDuration);
$('select, object, embed').css({
visibility: 'visible'
});
};
return new Lightbox();
}));

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -4,8 +4,17 @@ http://www.no-margin-for-errors.com
============================= Released under =============================
Creative Commons 2.5
http://creativecommons.org/licenses/by/2.5/
OR
GPLV2 license
http://www.gnu.org/licenses/gpl-2.0.html
You are free to use prettyPhoto in commercial projects as long as the
copyright header is left intact.
============================ More information ============================
http://www.no-margin-for-errors.com/projects/prettyPhoto/
@ -18,4 +27,4 @@ it also add support for videos, flash, YouTube, iFrame. It's a full blown
media modal box.
Please refer to http://www.no-margin-for-errors.com/projects/prettyPhoto/
for all the details on how to use.
for all the details on how to use.

View file

@ -1,525 +1,170 @@
/* ------------------------------------------------------------------------
This you can edit.
------------------------------------------------------------------------- */
/* ----------------------------------
Default Theme
----------------------------------- */
div.pp_default .pp_top,
div.pp_default .pp_top .pp_middle,
div.pp_default .pp_top .pp_left,
div.pp_default .pp_top .pp_right,
div.pp_default .pp_bottom,
div.pp_default .pp_bottom .pp_left,
div.pp_default .pp_bottom .pp_middle,
div.pp_default .pp_bottom .pp_right { height: 13px; }
div.pp_default .pp_top .pp_left { background: url(../images/prettyPhoto/default/sprite.png) -78px -93px no-repeat; } /* Top left corner */
div.pp_default .pp_top .pp_middle { background: url(../images/prettyPhoto/default/sprite_x.png) top left repeat-x; } /* Top pattern/color */
div.pp_default .pp_top .pp_right { background: url(../images/prettyPhoto/default/sprite.png) -112px -93px no-repeat; } /* Top right corner */
div.pp_default .pp_content .ppt { color: #f8f8f8; }
div.pp_default .pp_content_container .pp_left { background: url(../images/prettyPhoto/default/sprite_y.png) -7px 0 repeat-y; padding-left: 13px; }
div.pp_default .pp_content_container .pp_right { background: url(../images/prettyPhoto/default/sprite_y.png) top right repeat-y; padding-right: 13px; }
div.pp_default .pp_content { background-color: #fff; } /* Content background */
div.pp_default .pp_next:hover { background: url(../images/prettyPhoto/default/sprite_next.png) center right no-repeat; cursor: pointer; } /* Next button */
div.pp_default .pp_previous:hover { background: url(../images/prettyPhoto/default/sprite_prev.png) center left no-repeat; cursor: pointer; } /* Previous button */
div.pp_default .pp_expand { background: url(../images/prettyPhoto/default/sprite.png) 0 -29px no-repeat; cursor: pointer; width: 28px; height: 28px; } /* Expand button */
div.pp_default .pp_expand:hover { background: url(../images/prettyPhoto/default/sprite.png) 0 -56px no-repeat; cursor: pointer; } /* Expand button hover */
div.pp_default .pp_contract { background: url(../images/prettyPhoto/default/sprite.png) 0 -84px no-repeat; cursor: pointer; width: 28px; height: 28px; } /* Contract button */
div.pp_default .pp_contract:hover { background: url(../images/prettyPhoto/default/sprite.png) 0 -113px no-repeat; cursor: pointer; } /* Contract button hover */
div.pp_default .pp_close { width: 30px; height: 30px; background: url(../images/prettyPhoto/default/sprite.png) 2px 1px no-repeat; cursor: pointer; } /* Close button */
div.pp_default #pp_full_res .pp_inline { color: #000; }
div.pp_default .pp_gallery ul li a { background: url(../images/prettyPhoto/default/default_thumb.png) center center #f8f8f8; border:1px solid #aaa; }
div.pp_default .pp_gallery ul li a:hover,
div.pp_default .pp_gallery ul li.selected a { border-color: #fff; }
div.pp_default .pp_social { margin-top: 7px; }
div.pp_default .pp_gallery a.pp_arrow_previous,
div.pp_default .pp_gallery a.pp_arrow_next { position: static; left: auto; }
div.pp_default .pp_nav .pp_play,
div.pp_default .pp_nav .pp_pause { background: url(../images/prettyPhoto/default/sprite.png) -51px 1px no-repeat; height:30px; width:30px; }
div.pp_default .pp_nav .pp_pause { background-position: -51px -29px; }
div.pp_default .pp_details { position: relative; }
div.pp_default a.pp_arrow_previous,
div.pp_default a.pp_arrow_next { background: url(../images/prettyPhoto/default/sprite.png) -31px -3px no-repeat; height: 20px; margin: 4px 0 0 0; width: 20px; }
div.pp_default a.pp_arrow_next { left: 52px; background-position: -82px -3px; } /* The next arrow in the bottom nav */
div.pp_default .pp_content_container .pp_details { margin-top: 5px; }
div.pp_default .pp_nav { clear: none; height: 30px; width: 110px; position: relative; }
div.pp_default .pp_nav .currentTextHolder{ font-family: Georgia; font-style: italic; color:#999; font-size: 11px; left: 75px; line-height: 25px; margin: 0; padding: 0 0 0 10px; position: absolute; top: 2px; }
div.pp_default .pp_close:hover, div.pp_default .pp_nav .pp_play:hover, div.pp_default .pp_nav .pp_pause:hover, div.pp_default .pp_arrow_next:hover, div.pp_default .pp_arrow_previous:hover { opacity:0.7; }
div.pp_default .pp_description{ font-size: 11px; font-weight: bold; line-height: 14px; margin: 5px 50px 5px 0; }
div.pp_default .pp_bottom .pp_left { background: url(../images/prettyPhoto/default/sprite.png) -78px -127px no-repeat; } /* Bottom left corner */
div.pp_default .pp_bottom .pp_middle { background: url(../images/prettyPhoto/default/sprite_x.png) bottom left repeat-x; } /* Bottom pattern/color */
div.pp_default .pp_bottom .pp_right { background: url(../images/prettyPhoto/default/sprite.png) -112px -127px no-repeat; } /* Bottom right corner */
div.pp_default .pp_loaderIcon { background: url(../images/prettyPhoto/default/loader.gif) center center no-repeat; } /* Loader icon */
/* ----------------------------------
Light Rounded Theme
----------------------------------- */
div.light_rounded .pp_top .pp_left { background: url(../images/prettyPhoto/light_rounded/sprite.png) -88px -53px no-repeat; } /* Top left corner */
div.light_rounded .pp_top .pp_middle { background: #fff; } /* Top pattern/color */
div.light_rounded .pp_top .pp_right { background: url(../images/prettyPhoto/light_rounded/sprite.png) -110px -53px no-repeat; } /* Top right corner */
div.light_rounded .pp_content .ppt { color: #000; }
div.light_rounded .pp_content_container .pp_left,
div.light_rounded .pp_content_container .pp_right { background: #fff; }
div.light_rounded .pp_content { background-color: #fff; } /* Content background */
div.light_rounded .pp_next:hover { background: url(../images/prettyPhoto/light_rounded/btnNext.png) center right no-repeat; cursor: pointer; } /* Next button */
div.light_rounded .pp_previous:hover { background: url(../images/prettyPhoto/light_rounded/btnPrevious.png) center left no-repeat; cursor: pointer; } /* Previous button */
div.light_rounded .pp_expand { background: url(../images/prettyPhoto/light_rounded/sprite.png) -31px -26px no-repeat; cursor: pointer; } /* Expand button */
div.light_rounded .pp_expand:hover { background: url(../images/prettyPhoto/light_rounded/sprite.png) -31px -47px no-repeat; cursor: pointer; } /* Expand button hover */
div.light_rounded .pp_contract { background: url(../images/prettyPhoto/light_rounded/sprite.png) 0 -26px no-repeat; cursor: pointer; } /* Contract button */
div.light_rounded .pp_contract:hover { background: url(../images/prettyPhoto/light_rounded/sprite.png) 0 -47px no-repeat; cursor: pointer; } /* Contract button hover */
div.light_rounded .pp_close { width: 75px; height: 22px; background: url(../images/prettyPhoto/light_rounded/sprite.png) -1px -1px no-repeat; cursor: pointer; } /* Close button */
div.light_rounded .pp_details { position: relative; }
div.light_rounded .pp_description { margin-right: 85px; }
div.light_rounded #pp_full_res .pp_inline { color: #000; }
div.light_rounded .pp_gallery a.pp_arrow_previous,
div.light_rounded .pp_gallery a.pp_arrow_next { margin-top: 12px !important; }
div.light_rounded .pp_nav .pp_play { background: url(../images/prettyPhoto/light_rounded/sprite.png) -1px -100px no-repeat; height: 15px; width: 14px; }
div.light_rounded .pp_nav .pp_pause { background: url(../images/prettyPhoto/light_rounded/sprite.png) -24px -100px no-repeat; height: 15px; width: 14px; }
div.light_rounded .pp_arrow_previous { background: url(../images/prettyPhoto/light_rounded/sprite.png) 0 -71px no-repeat; } /* The previous arrow in the bottom nav */
div.light_rounded .pp_arrow_previous.disabled { background-position: 0 -87px; cursor: default; }
div.light_rounded .pp_arrow_next { background: url(../images/prettyPhoto/light_rounded/sprite.png) -22px -71px no-repeat; } /* The next arrow in the bottom nav */
div.light_rounded .pp_arrow_next.disabled { background-position: -22px -87px; cursor: default; }
div.light_rounded .pp_bottom .pp_left { background: url(../images/prettyPhoto/light_rounded/sprite.png) -88px -80px no-repeat; } /* Bottom left corner */
div.light_rounded .pp_bottom .pp_middle { background: #fff; } /* Bottom pattern/color */
div.light_rounded .pp_bottom .pp_right { background: url(../images/prettyPhoto/light_rounded/sprite.png) -110px -80px no-repeat; } /* Bottom right corner */
div.light_rounded .pp_loaderIcon { background: url(../images/prettyPhoto/light_rounded/loader.gif) center center no-repeat; } /* Loader icon */
/* ----------------------------------
Dark Rounded Theme
----------------------------------- */
div.dark_rounded .pp_top .pp_left { background: url(../images/prettyPhoto/dark_rounded/sprite.png) -88px -53px no-repeat; } /* Top left corner */
div.dark_rounded .pp_top .pp_middle { background: url(../images/prettyPhoto/dark_rounded/contentPattern.png) top left repeat; } /* Top pattern/color */
div.dark_rounded .pp_top .pp_right { background: url(../images/prettyPhoto/dark_rounded/sprite.png) -110px -53px no-repeat; } /* Top right corner */
div.dark_rounded .pp_content_container .pp_left { background: url(../images/prettyPhoto/dark_rounded/contentPattern.png) top left repeat-y; } /* Left Content background */
div.dark_rounded .pp_content_container .pp_right { background: url(../images/prettyPhoto/dark_rounded/contentPattern.png) top right repeat-y; } /* Right Content background */
div.dark_rounded .pp_content { background: url(../images/prettyPhoto/dark_rounded/contentPattern.png) top left repeat; } /* Content background */
div.dark_rounded .pp_next:hover { background: url(../images/prettyPhoto/dark_rounded/btnNext.png) center right no-repeat; cursor: pointer; } /* Next button */
div.dark_rounded .pp_previous:hover { background: url(../images/prettyPhoto/dark_rounded/btnPrevious.png) center left no-repeat; cursor: pointer; } /* Previous button */
div.dark_rounded .pp_expand { background: url(../images/prettyPhoto/dark_rounded/sprite.png) -31px -26px no-repeat; cursor: pointer; } /* Expand button */
div.dark_rounded .pp_expand:hover { background: url(../images/prettyPhoto/dark_rounded/sprite.png) -31px -47px no-repeat; cursor: pointer; } /* Expand button hover */
div.dark_rounded .pp_contract { background: url(../images/prettyPhoto/dark_rounded/sprite.png) 0 -26px no-repeat; cursor: pointer; } /* Contract button */
div.dark_rounded .pp_contract:hover { background: url(../images/prettyPhoto/dark_rounded/sprite.png) 0 -47px no-repeat; cursor: pointer; } /* Contract button hover */
div.dark_rounded .pp_close { width: 75px; height: 22px; background: url(../images/prettyPhoto/dark_rounded/sprite.png) -1px -1px no-repeat; cursor: pointer; } /* Close button */
div.dark_rounded .pp_details { position: relative; }
div.dark_rounded .pp_description { margin-right: 85px; }
div.dark_rounded .currentTextHolder { color: #c4c4c4; }
div.dark_rounded .pp_description { color: #fff; }
div.dark_rounded #pp_full_res .pp_inline { color: #fff; }
div.dark_rounded .pp_gallery a.pp_arrow_previous,
div.dark_rounded .pp_gallery a.pp_arrow_next { margin-top: 12px !important; }
div.dark_rounded .pp_nav .pp_play { background: url(../images/prettyPhoto/dark_rounded/sprite.png) -1px -100px no-repeat; height: 15px; width: 14px; }
div.dark_rounded .pp_nav .pp_pause { background: url(../images/prettyPhoto/dark_rounded/sprite.png) -24px -100px no-repeat; height: 15px; width: 14px; }
div.dark_rounded .pp_arrow_previous { background: url(../images/prettyPhoto/dark_rounded/sprite.png) 0 -71px no-repeat; } /* The previous arrow in the bottom nav */
div.dark_rounded .pp_arrow_previous.disabled { background-position: 0 -87px; cursor: default; }
div.dark_rounded .pp_arrow_next { background: url(../images/prettyPhoto/dark_rounded/sprite.png) -22px -71px no-repeat; } /* The next arrow in the bottom nav */
div.dark_rounded .pp_arrow_next.disabled { background-position: -22px -87px; cursor: default; }
div.dark_rounded .pp_bottom .pp_left { background: url(../images/prettyPhoto/dark_rounded/sprite.png) -88px -80px no-repeat; } /* Bottom left corner */
div.dark_rounded .pp_bottom .pp_middle { background: url(../images/prettyPhoto/dark_rounded/contentPattern.png) top left repeat; } /* Bottom pattern/color */
div.dark_rounded .pp_bottom .pp_right { background: url(../images/prettyPhoto/dark_rounded/sprite.png) -110px -80px no-repeat; } /* Bottom right corner */
div.dark_rounded .pp_loaderIcon { background: url(../images/prettyPhoto/dark_rounded/loader.gif) center center no-repeat; } /* Loader icon */
/* ----------------------------------
Dark Square Theme
----------------------------------- */
div.dark_square .pp_left ,
div.dark_square .pp_middle,
div.dark_square .pp_right,
div.dark_square .pp_content { background: #000; }
div.dark_square .currentTextHolder { color: #c4c4c4; }
div.dark_square .pp_description { color: #fff; }
div.dark_square .pp_loaderIcon { background: url(../images/prettyPhoto/dark_square/loader.gif) center center no-repeat; } /* Loader icon */
div.dark_square .pp_expand { background: url(../images/prettyPhoto/dark_square/sprite.png) -31px -26px no-repeat; cursor: pointer; } /* Expand button */
div.dark_square .pp_expand:hover { background: url(../images/prettyPhoto/dark_square/sprite.png) -31px -47px no-repeat; cursor: pointer; } /* Expand button hover */
div.dark_square .pp_contract { background: url(../images/prettyPhoto/dark_square/sprite.png) 0 -26px no-repeat; cursor: pointer; } /* Contract button */
div.dark_square .pp_contract:hover { background: url(../images/prettyPhoto/dark_square/sprite.png) 0 -47px no-repeat; cursor: pointer; } /* Contract button hover */
div.dark_square .pp_close { width: 75px; height: 22px; background: url(../images/prettyPhoto/dark_square/sprite.png) -1px -1px no-repeat; cursor: pointer; } /* Close button */
div.dark_square .pp_details { position: relative; }
div.dark_square .pp_description { margin: 0 85px 0 0; }
div.dark_square #pp_full_res .pp_inline { color: #fff; }
div.dark_square .pp_gallery a.pp_arrow_previous,
div.dark_square .pp_gallery a.pp_arrow_next { margin-top: 12px !important; }
div.dark_square .pp_nav { clear: none; }
div.dark_square .pp_nav .pp_play { background: url(../images/prettyPhoto/dark_square/sprite.png) -1px -100px no-repeat; height: 15px; width: 14px; }
div.dark_square .pp_nav .pp_pause { background: url(../images/prettyPhoto/dark_square/sprite.png) -24px -100px no-repeat; height: 15px; width: 14px; }
div.dark_square .pp_arrow_previous { background: url(../images/prettyPhoto/dark_square/sprite.png) 0 -71px no-repeat; } /* The previous arrow in the bottom nav */
div.dark_square .pp_arrow_previous.disabled { background-position: 0 -87px; cursor: default; }
div.dark_square .pp_arrow_next { background: url(../images/prettyPhoto/dark_square/sprite.png) -22px -71px no-repeat; } /* The next arrow in the bottom nav */
div.dark_square .pp_arrow_next.disabled { background-position: -22px -87px; cursor: default; }
div.dark_square .pp_next:hover { background: url(../images/prettyPhoto/dark_square/btnNext.png) center right no-repeat; cursor: pointer; } /* Next button */
div.dark_square .pp_previous:hover { background: url(../images/prettyPhoto/dark_square/btnPrevious.png) center left no-repeat; cursor: pointer; } /* Previous button */
/* ----------------------------------
Light Square Theme
----------------------------------- */
div.light_square .pp_left ,
div.light_square .pp_middle,
div.light_square .pp_right,
div.light_square .pp_content { background: #fff; }
div.light_square .pp_content .ppt { color: #000; }
div.light_square .pp_expand { background: url(../images/prettyPhoto/light_square/sprite.png) -31px -26px no-repeat; cursor: pointer; } /* Expand button */
div.light_square .pp_expand:hover { background: url(../images/prettyPhoto/light_square/sprite.png) -31px -47px no-repeat; cursor: pointer; } /* Expand button hover */
div.light_square .pp_contract { background: url(../images/prettyPhoto/light_square/sprite.png) 0 -26px no-repeat; cursor: pointer; } /* Contract button */
div.light_square .pp_contract:hover { background: url(../images/prettyPhoto/light_square/sprite.png) 0 -47px no-repeat; cursor: pointer; } /* Contract button hover */
div.light_square .pp_close { width: 75px; height: 22px; background: url(../images/prettyPhoto/light_square/sprite.png) -1px -1px no-repeat; cursor: pointer; } /* Close button */
div.light_square .pp_details { position: relative; }
div.light_square .pp_description { margin-right: 85px; }
div.light_square #pp_full_res .pp_inline { color: #000; }
div.light_square .pp_gallery a.pp_arrow_previous,
div.light_square .pp_gallery a.pp_arrow_next { margin-top: 12px !important; }
div.light_square .pp_nav .pp_play { background: url(../images/prettyPhoto/light_square/sprite.png) -1px -100px no-repeat; height: 15px; width: 14px; }
div.light_square .pp_nav .pp_pause { background: url(../images/prettyPhoto/light_square/sprite.png) -24px -100px no-repeat; height: 15px; width: 14px; }
div.light_square .pp_arrow_previous { background: url(../images/prettyPhoto/light_square/sprite.png) 0 -71px no-repeat; } /* The previous arrow in the bottom nav */
div.light_square .pp_arrow_previous.disabled { background-position: 0 -87px; cursor: default; }
div.light_square .pp_arrow_next { background: url(../images/prettyPhoto/light_square/sprite.png) -22px -71px no-repeat; } /* The next arrow in the bottom nav */
div.light_square .pp_arrow_next.disabled { background-position: -22px -87px; cursor: default; }
div.light_square .pp_next:hover { background: url(../images/prettyPhoto/light_square/btnNext.png) center right no-repeat; cursor: pointer; } /* Next button */
div.light_square .pp_previous:hover { background: url(../images/prettyPhoto/light_square/btnPrevious.png) center left no-repeat; cursor: pointer; } /* Previous button */
div.light_square .pp_loaderIcon { background: url(../images/prettyPhoto/light_rounded/loader.gif) center center no-repeat; } /* Loader icon */
/* ----------------------------------
Facebook style Theme
----------------------------------- */
div.facebook .pp_top .pp_left { background: url(../images/prettyPhoto/facebook/sprite.png) -88px -53px no-repeat; } /* Top left corner */
div.facebook .pp_top .pp_middle { background: url(../images/prettyPhoto/facebook/contentPatternTop.png) top left repeat-x; } /* Top pattern/color */
div.facebook .pp_top .pp_right { background: url(../images/prettyPhoto/facebook/sprite.png) -110px -53px no-repeat; } /* Top right corner */
div.facebook .pp_content .ppt { color: #000; }
div.facebook .pp_content_container .pp_left { background: url(../images/prettyPhoto/facebook/contentPatternLeft.png) top left repeat-y; } /* Content background */
div.facebook .pp_content_container .pp_right { background: url(../images/prettyPhoto/facebook/contentPatternRight.png) top right repeat-y; } /* Content background */
div.facebook .pp_content { background: #fff; } /* Content background */
div.facebook .pp_expand { background: url(../images/prettyPhoto/facebook/sprite.png) -31px -26px no-repeat; cursor: pointer; } /* Expand button */
div.facebook .pp_expand:hover { background: url(../images/prettyPhoto/facebook/sprite.png) -31px -47px no-repeat; cursor: pointer; } /* Expand button hover */
div.facebook .pp_contract { background: url(../images/prettyPhoto/facebook/sprite.png) 0 -26px no-repeat; cursor: pointer; } /* Contract button */
div.facebook .pp_contract:hover { background: url(../images/prettyPhoto/facebook/sprite.png) 0 -47px no-repeat; cursor: pointer; } /* Contract button hover */
div.facebook .pp_close { width: 22px; height: 22px; background: url(../images/prettyPhoto/facebook/sprite.png) -1px -1px no-repeat; cursor: pointer; } /* Close button */
div.facebook .pp_details { position: relative; }
div.facebook .pp_description { margin: 0 37px 0 0; }
div.facebook #pp_full_res .pp_inline { color: #000; }
div.facebook .pp_loaderIcon { background: url(../images/prettyPhoto/facebook/loader.gif) center center no-repeat; } /* Loader icon */
div.facebook .pp_arrow_previous { background: url(../images/prettyPhoto/facebook/sprite.png) 0 -71px no-repeat; height: 22px; margin-top: 0; width: 22px; } /* The previous arrow in the bottom nav */
div.facebook .pp_arrow_previous.disabled { background-position: 0 -96px; cursor: default; }
div.facebook .pp_arrow_next { background: url(../images/prettyPhoto/facebook/sprite.png) -32px -71px no-repeat; height: 22px; margin-top: 0; width: 22px; } /* The next arrow in the bottom nav */
div.facebook .pp_arrow_next.disabled { background-position: -32px -96px; cursor: default; }
div.facebook .pp_nav { margin-top: 0; }
div.facebook .pp_nav p { font-size: 15px; padding: 0 3px 0 4px; }
div.facebook .pp_nav .pp_play { background: url(../images/prettyPhoto/facebook/sprite.png) -1px -123px no-repeat; height: 22px; width: 22px; }
div.facebook .pp_nav .pp_pause { background: url(../images/prettyPhoto/facebook/sprite.png) -32px -123px no-repeat; height: 22px; width: 22px; }
div.facebook .pp_next:hover { background: url(../images/prettyPhoto/facebook/btnNext.png) center right no-repeat; cursor: pointer; } /* Next button */
div.facebook .pp_previous:hover { background: url(../images/prettyPhoto/facebook/btnPrevious.png) center left no-repeat; cursor: pointer; } /* Previous button */
div.facebook .pp_bottom .pp_left { background: url(../images/prettyPhoto/facebook/sprite.png) -88px -80px no-repeat; } /* Bottom left corner */
div.facebook .pp_bottom .pp_middle { background: url(../images/prettyPhoto/facebook/contentPatternBottom.png) top left repeat-x; } /* Bottom pattern/color */
div.facebook .pp_bottom .pp_right { background: url(../images/prettyPhoto/facebook/sprite.png) -110px -80px no-repeat; } /* Bottom right corner */
/* ------------------------------------------------------------------------
DO NOT CHANGE
------------------------------------------------------------------------- */
div.pp_pic_holder a:focus { outline:none; }
div.pp_overlay {
background: #000;
display: none;
left: 0;
position: absolute;
top: 0;
width: 100%;
z-index: 9500;
}
div.pp_pic_holder {
display: none;
position: absolute;
width: 100px;
z-index: 10000;
}
.pp_top {
height: 20px;
position: relative;
}
* html .pp_top { padding: 0 20px; }
.pp_top .pp_left {
height: 20px;
left: 0;
position: absolute;
width: 20px;
}
.pp_top .pp_middle {
height: 20px;
left: 20px;
position: absolute;
right: 20px;
}
* html .pp_top .pp_middle {
left: 0;
position: static;
}
.pp_top .pp_right {
height: 20px;
left: auto;
position: absolute;
right: 0;
top: 0;
width: 20px;
}
.pp_content { height: 40px; min-width: 40px; }
* html .pp_content { width: 40px; }
.pp_fade { display: none; }
.pp_content_container {
position: relative;
text-align: left;
width: 100%;
}
.pp_content_container .pp_left { padding-left: 20px; }
.pp_content_container .pp_right { padding-right: 20px; }
.pp_content_container .pp_details {
float: left;
margin: 10px 0 2px 0;
}
.pp_description {
display: none;
margin: 0;
}
.pp_social { float: left; margin: 0; }
.pp_social .facebook { float: left; margin-left: 5px; width: 55px; overflow: hidden; }
.pp_social .twitter { float: left; }
.pp_nav {
clear: right;
float: left;
margin: 3px 10px 0 0;
}
.pp_nav p {
float: left;
margin: 2px 4px;
white-space: nowrap;
}
.pp_nav .pp_play,
.pp_nav .pp_pause {
float: left;
margin-right: 4px;
text-indent: -10000px;
}
a.pp_arrow_previous,
a.pp_arrow_next {
display: block;
float: left;
height: 15px;
margin-top: 3px;
overflow: hidden;
text-indent: -10000px;
width: 14px;
}
.pp_hoverContainer {
position: absolute;
top: 0;
width: 100%;
z-index: 2000;
}
.pp_gallery {
display: none;
left: 50%;
margin-top: -50px;
position: absolute;
z-index: 10000;
}
.pp_gallery div {
float: left;
overflow: hidden;
position: relative;
}
.pp_gallery ul {
float: left;
height: 35px;
margin: 0 0 0 5px;
padding: 0;
position: relative;
white-space: nowrap;
}
.pp_gallery ul a {
border: 1px #000 solid;
border: 1px rgba(0,0,0,0.5) solid;
display: block;
float: left;
height: 33px;
overflow: hidden;
}
.pp_gallery ul a:hover,
.pp_gallery li.selected a { border-color: #fff; }
.pp_gallery ul a img { border: 0; }
.pp_gallery li {
display: block;
float: left;
margin: 0 5px 0 0;
padding: 0;
}
.pp_gallery li.default a {
background: url(../images/prettyPhoto/facebook/default_thumbnail.gif) 0 0 no-repeat;
display: block;
height: 33px;
width: 50px;
}
.pp_gallery li.default a img { display: none; }
.pp_gallery .pp_arrow_previous,
.pp_gallery .pp_arrow_next {
margin-top: 7px !important;
}
a.pp_next {
background: url(../images/prettyPhoto/light_rounded/btnNext.png) 10000px 10000px no-repeat;
display: block;
float: right;
height: 100%;
text-indent: -10000px;
width: 49%;
}
a.pp_previous {
background: url(../images/prettyPhoto/light_rounded/btnNext.png) 10000px 10000px no-repeat;
display: block;
float: left;
height: 100%;
text-indent: -10000px;
width: 49%;
}
a.pp_expand,
a.pp_contract {
cursor: pointer;
display: none;
height: 20px;
position: absolute;
right: 30px;
text-indent: -10000px;
top: 10px;
width: 20px;
z-index: 20000;
}
a.pp_close {
position: absolute; right: 0; top: 0;
display: block;
line-height:22px;
text-indent: -10000px;
}
.pp_bottom {
height: 20px;
position: relative;
}
* html .pp_bottom { padding: 0 20px; }
.pp_bottom .pp_left {
height: 20px;
left: 0;
position: absolute;
width: 20px;
}
.pp_bottom .pp_middle {
height: 20px;
left: 20px;
position: absolute;
right: 20px;
}
* html .pp_bottom .pp_middle {
left: 0;
position: static;
}
.pp_bottom .pp_right {
height: 20px;
left: auto;
position: absolute;
right: 0;
top: 0;
width: 20px;
}
.pp_loaderIcon {
display: block;
height: 24px;
left: 50%;
margin: -12px 0 0 -12px;
position: absolute;
top: 50%;
width: 24px;
}
#pp_full_res {
line-height: 1 !important;
}
#pp_full_res .pp_inline {
text-align: left;
}
#pp_full_res .pp_inline p { margin: 0 0 15px 0; }
div.ppt {
color: #fff;
display: none;
font-size: 17px;
margin: 0 0 5px 15px;
z-index: 9999;
}
div.pp_default .pp_top,div.pp_default .pp_top .pp_middle,div.pp_default .pp_top .pp_left,div.pp_default .pp_top .pp_right,div.pp_default .pp_bottom,div.pp_default .pp_bottom .pp_left,div.pp_default .pp_bottom .pp_middle,div.pp_default .pp_bottom .pp_right{height:13px}
div.pp_default .pp_top .pp_left{background:url(../images/prettyPhoto/default/sprite.png) -78px -93px no-repeat}
div.pp_default .pp_top .pp_middle{background:url(../images/prettyPhoto/default/sprite_x.png) top left repeat-x}
div.pp_default .pp_top .pp_right{background:url(../images/prettyPhoto/default/sprite.png) -112px -93px no-repeat}
div.pp_default .pp_content .ppt{color:#f8f8f8}
div.pp_default .pp_content_container .pp_left{background:url(../images/prettyPhoto/default/sprite_y.png) -7px 0 repeat-y;padding-left:13px}
div.pp_default .pp_content_container .pp_right{background:url(../images/prettyPhoto/default/sprite_y.png) top right repeat-y;padding-right:13px}
div.pp_default .pp_next:hover{background:url(../images/prettyPhoto/default/sprite_next.png) center right no-repeat;cursor:pointer}
div.pp_default .pp_previous:hover{background:url(../images/prettyPhoto/default/sprite_prev.png) center left no-repeat;cursor:pointer}
div.pp_default .pp_expand{background:url(../images/prettyPhoto/default/sprite.png) 0 -29px no-repeat;cursor:pointer;width:28px;height:28px}
div.pp_default .pp_expand:hover{background:url(../images/prettyPhoto/default/sprite.png) 0 -56px no-repeat;cursor:pointer}
div.pp_default .pp_contract{background:url(../images/prettyPhoto/default/sprite.png) 0 -84px no-repeat;cursor:pointer;width:28px;height:28px}
div.pp_default .pp_contract:hover{background:url(../images/prettyPhoto/default/sprite.png) 0 -113px no-repeat;cursor:pointer}
div.pp_default .pp_close{width:30px;height:30px;background:url(../images/prettyPhoto/default/sprite.png) 2px 1px no-repeat;cursor:pointer}
div.pp_default .pp_gallery ul li a{background:url(../images/prettyPhoto/default/default_thumb.png) center center #f8f8f8;border:1px solid #aaa}
div.pp_default .pp_social{margin-top:7px}
div.pp_default .pp_gallery a.pp_arrow_previous,div.pp_default .pp_gallery a.pp_arrow_next{position:static;left:auto}
div.pp_default .pp_nav .pp_play,div.pp_default .pp_nav .pp_pause{background:url(../images/prettyPhoto/default/sprite.png) -51px 1px no-repeat;height:30px;width:30px}
div.pp_default .pp_nav .pp_pause{background-position:-51px -29px}
div.pp_default a.pp_arrow_previous,div.pp_default a.pp_arrow_next{background:url(../images/prettyPhoto/default/sprite.png) -31px -3px no-repeat;height:20px;width:20px;margin:4px 0 0}
div.pp_default a.pp_arrow_next{left:52px;background-position:-82px -3px}
div.pp_default .pp_content_container .pp_details{margin-top:5px}
div.pp_default .pp_nav{clear:none;height:30px;width:110px;position:relative}
div.pp_default .pp_nav .currentTextHolder{font-family:Georgia;font-style:italic;color:#999;font-size:11px;left:75px;line-height:25px;position:absolute;top:2px;margin:0;padding:0 0 0 10px}
div.pp_default .pp_close:hover,div.pp_default .pp_nav .pp_play:hover,div.pp_default .pp_nav .pp_pause:hover,div.pp_default .pp_arrow_next:hover,div.pp_default .pp_arrow_previous:hover{opacity:0.7}
div.pp_default .pp_description{font-size:11px;font-weight:700;line-height:14px;margin:5px 50px 5px 0}
div.pp_default .pp_bottom .pp_left{background:url(../images/prettyPhoto/default/sprite.png) -78px -127px no-repeat}
div.pp_default .pp_bottom .pp_middle{background:url(../images/prettyPhoto/default/sprite_x.png) bottom left repeat-x}
div.pp_default .pp_bottom .pp_right{background:url(../images/prettyPhoto/default/sprite.png) -112px -127px no-repeat}
div.pp_default .pp_loaderIcon{background:url(../images/prettyPhoto/default/loader.gif) center center no-repeat}
div.light_rounded .pp_top .pp_left{background:url(../images/prettyPhoto/light_rounded/sprite.png) -88px -53px no-repeat}
div.light_rounded .pp_top .pp_right{background:url(../images/prettyPhoto/light_rounded/sprite.png) -110px -53px no-repeat}
div.light_rounded .pp_next:hover{background:url(../images/prettyPhoto/light_rounded/btnNext.png) center right no-repeat;cursor:pointer}
div.light_rounded .pp_previous:hover{background:url(../images/prettyPhoto/light_rounded/btnPrevious.png) center left no-repeat;cursor:pointer}
div.light_rounded .pp_expand{background:url(../images/prettyPhoto/light_rounded/sprite.png) -31px -26px no-repeat;cursor:pointer}
div.light_rounded .pp_expand:hover{background:url(../images/prettyPhoto/light_rounded/sprite.png) -31px -47px no-repeat;cursor:pointer}
div.light_rounded .pp_contract{background:url(../images/prettyPhoto/light_rounded/sprite.png) 0 -26px no-repeat;cursor:pointer}
div.light_rounded .pp_contract:hover{background:url(../images/prettyPhoto/light_rounded/sprite.png) 0 -47px no-repeat;cursor:pointer}
div.light_rounded .pp_close{width:75px;height:22px;background:url(../images/prettyPhoto/light_rounded/sprite.png) -1px -1px no-repeat;cursor:pointer}
div.light_rounded .pp_nav .pp_play{background:url(../images/prettyPhoto/light_rounded/sprite.png) -1px -100px no-repeat;height:15px;width:14px}
div.light_rounded .pp_nav .pp_pause{background:url(../images/prettyPhoto/light_rounded/sprite.png) -24px -100px no-repeat;height:15px;width:14px}
div.light_rounded .pp_arrow_previous{background:url(../images/prettyPhoto/light_rounded/sprite.png) 0 -71px no-repeat}
div.light_rounded .pp_arrow_next{background:url(../images/prettyPhoto/light_rounded/sprite.png) -22px -71px no-repeat}
div.light_rounded .pp_bottom .pp_left{background:url(../images/prettyPhoto/light_rounded/sprite.png) -88px -80px no-repeat}
div.light_rounded .pp_bottom .pp_right{background:url(../images/prettyPhoto/light_rounded/sprite.png) -110px -80px no-repeat}
div.dark_rounded .pp_top .pp_left{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -88px -53px no-repeat}
div.dark_rounded .pp_top .pp_right{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -110px -53px no-repeat}
div.dark_rounded .pp_content_container .pp_left{background:url(../images/prettyPhoto/dark_rounded/contentPattern.png) top left repeat-y}
div.dark_rounded .pp_content_container .pp_right{background:url(../images/prettyPhoto/dark_rounded/contentPattern.png) top right repeat-y}
div.dark_rounded .pp_next:hover{background:url(../images/prettyPhoto/dark_rounded/btnNext.png) center right no-repeat;cursor:pointer}
div.dark_rounded .pp_previous:hover{background:url(../images/prettyPhoto/dark_rounded/btnPrevious.png) center left no-repeat;cursor:pointer}
div.dark_rounded .pp_expand{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -31px -26px no-repeat;cursor:pointer}
div.dark_rounded .pp_expand:hover{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -31px -47px no-repeat;cursor:pointer}
div.dark_rounded .pp_contract{background:url(../images/prettyPhoto/dark_rounded/sprite.png) 0 -26px no-repeat;cursor:pointer}
div.dark_rounded .pp_contract:hover{background:url(../images/prettyPhoto/dark_rounded/sprite.png) 0 -47px no-repeat;cursor:pointer}
div.dark_rounded .pp_close{width:75px;height:22px;background:url(../images/prettyPhoto/dark_rounded/sprite.png) -1px -1px no-repeat;cursor:pointer}
div.dark_rounded .pp_description{margin-right:85px;color:#fff}
div.dark_rounded .pp_nav .pp_play{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -1px -100px no-repeat;height:15px;width:14px}
div.dark_rounded .pp_nav .pp_pause{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -24px -100px no-repeat;height:15px;width:14px}
div.dark_rounded .pp_arrow_previous{background:url(../images/prettyPhoto/dark_rounded/sprite.png) 0 -71px no-repeat}
div.dark_rounded .pp_arrow_next{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -22px -71px no-repeat}
div.dark_rounded .pp_bottom .pp_left{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -88px -80px no-repeat}
div.dark_rounded .pp_bottom .pp_right{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -110px -80px no-repeat}
div.dark_rounded .pp_loaderIcon{background:url(../images/prettyPhoto/dark_rounded/loader.gif) center center no-repeat}
div.dark_square .pp_left,div.dark_square .pp_middle,div.dark_square .pp_right,div.dark_square .pp_content{background:#000}
div.dark_square .pp_description{color:#fff;margin:0 85px 0 0}
div.dark_square .pp_loaderIcon{background:url(../images/prettyPhoto/dark_square/loader.gif) center center no-repeat}
div.dark_square .pp_expand{background:url(../images/prettyPhoto/dark_square/sprite.png) -31px -26px no-repeat;cursor:pointer}
div.dark_square .pp_expand:hover{background:url(../images/prettyPhoto/dark_square/sprite.png) -31px -47px no-repeat;cursor:pointer}
div.dark_square .pp_contract{background:url(../images/prettyPhoto/dark_square/sprite.png) 0 -26px no-repeat;cursor:pointer}
div.dark_square .pp_contract:hover{background:url(../images/prettyPhoto/dark_square/sprite.png) 0 -47px no-repeat;cursor:pointer}
div.dark_square .pp_close{width:75px;height:22px;background:url(../images/prettyPhoto/dark_square/sprite.png) -1px -1px no-repeat;cursor:pointer}
div.dark_square .pp_nav{clear:none}
div.dark_square .pp_nav .pp_play{background:url(../images/prettyPhoto/dark_square/sprite.png) -1px -100px no-repeat;height:15px;width:14px}
div.dark_square .pp_nav .pp_pause{background:url(../images/prettyPhoto/dark_square/sprite.png) -24px -100px no-repeat;height:15px;width:14px}
div.dark_square .pp_arrow_previous{background:url(../images/prettyPhoto/dark_square/sprite.png) 0 -71px no-repeat}
div.dark_square .pp_arrow_next{background:url(../images/prettyPhoto/dark_square/sprite.png) -22px -71px no-repeat}
div.dark_square .pp_next:hover{background:url(../images/prettyPhoto/dark_square/btnNext.png) center right no-repeat;cursor:pointer}
div.dark_square .pp_previous:hover{background:url(../images/prettyPhoto/dark_square/btnPrevious.png) center left no-repeat;cursor:pointer}
div.light_square .pp_expand{background:url(../images/prettyPhoto/light_square/sprite.png) -31px -26px no-repeat;cursor:pointer}
div.light_square .pp_expand:hover{background:url(../images/prettyPhoto/light_square/sprite.png) -31px -47px no-repeat;cursor:pointer}
div.light_square .pp_contract{background:url(../images/prettyPhoto/light_square/sprite.png) 0 -26px no-repeat;cursor:pointer}
div.light_square .pp_contract:hover{background:url(../images/prettyPhoto/light_square/sprite.png) 0 -47px no-repeat;cursor:pointer}
div.light_square .pp_close{width:75px;height:22px;background:url(../images/prettyPhoto/light_square/sprite.png) -1px -1px no-repeat;cursor:pointer}
div.light_square .pp_nav .pp_play{background:url(../images/prettyPhoto/light_square/sprite.png) -1px -100px no-repeat;height:15px;width:14px}
div.light_square .pp_nav .pp_pause{background:url(../images/prettyPhoto/light_square/sprite.png) -24px -100px no-repeat;height:15px;width:14px}
div.light_square .pp_arrow_previous{background:url(../images/prettyPhoto/light_square/sprite.png) 0 -71px no-repeat}
div.light_square .pp_arrow_next{background:url(../images/prettyPhoto/light_square/sprite.png) -22px -71px no-repeat}
div.light_square .pp_next:hover{background:url(../images/prettyPhoto/light_square/btnNext.png) center right no-repeat;cursor:pointer}
div.light_square .pp_previous:hover{background:url(../images/prettyPhoto/light_square/btnPrevious.png) center left no-repeat;cursor:pointer}
div.facebook .pp_top .pp_left{background:url(../images/prettyPhoto/facebook/sprite.png) -88px -53px no-repeat}
div.facebook .pp_top .pp_middle{background:url(../images/prettyPhoto/facebook/contentPatternTop.png) top left repeat-x}
div.facebook .pp_top .pp_right{background:url(../images/prettyPhoto/facebook/sprite.png) -110px -53px no-repeat}
div.facebook .pp_content_container .pp_left{background:url(../images/prettyPhoto/facebook/contentPatternLeft.png) top left repeat-y}
div.facebook .pp_content_container .pp_right{background:url(../images/prettyPhoto/facebook/contentPatternRight.png) top right repeat-y}
div.facebook .pp_expand{background:url(../images/prettyPhoto/facebook/sprite.png) -31px -26px no-repeat;cursor:pointer}
div.facebook .pp_expand:hover{background:url(../images/prettyPhoto/facebook/sprite.png) -31px -47px no-repeat;cursor:pointer}
div.facebook .pp_contract{background:url(../images/prettyPhoto/facebook/sprite.png) 0 -26px no-repeat;cursor:pointer}
div.facebook .pp_contract:hover{background:url(../images/prettyPhoto/facebook/sprite.png) 0 -47px no-repeat;cursor:pointer}
div.facebook .pp_close{width:22px;height:22px;background:url(../images/prettyPhoto/facebook/sprite.png) -1px -1px no-repeat;cursor:pointer}
div.facebook .pp_description{margin:0 37px 0 0}
div.facebook .pp_loaderIcon{background:url(../images/prettyPhoto/facebook/loader.gif) center center no-repeat}
div.facebook .pp_arrow_previous{background:url(../images/prettyPhoto/facebook/sprite.png) 0 -71px no-repeat;height:22px;margin-top:0;width:22px}
div.facebook .pp_arrow_previous.disabled{background-position:0 -96px;cursor:default}
div.facebook .pp_arrow_next{background:url(../images/prettyPhoto/facebook/sprite.png) -32px -71px no-repeat;height:22px;margin-top:0;width:22px}
div.facebook .pp_arrow_next.disabled{background-position:-32px -96px;cursor:default}
div.facebook .pp_nav{margin-top:0}
div.facebook .pp_nav p{font-size:15px;padding:0 3px 0 4px}
div.facebook .pp_nav .pp_play{background:url(../images/prettyPhoto/facebook/sprite.png) -1px -123px no-repeat;height:22px;width:22px}
div.facebook .pp_nav .pp_pause{background:url(../images/prettyPhoto/facebook/sprite.png) -32px -123px no-repeat;height:22px;width:22px}
div.facebook .pp_next:hover{background:url(../images/prettyPhoto/facebook/btnNext.png) center right no-repeat;cursor:pointer}
div.facebook .pp_previous:hover{background:url(../images/prettyPhoto/facebook/btnPrevious.png) center left no-repeat;cursor:pointer}
div.facebook .pp_bottom .pp_left{background:url(../images/prettyPhoto/facebook/sprite.png) -88px -80px no-repeat}
div.facebook .pp_bottom .pp_middle{background:url(../images/prettyPhoto/facebook/contentPatternBottom.png) top left repeat-x}
div.facebook .pp_bottom .pp_right{background:url(../images/prettyPhoto/facebook/sprite.png) -110px -80px no-repeat}
div.pp_pic_holder a:focus{outline:none}
div.pp_overlay{background:#000;display:none;left:0;position:absolute;top:0;width:100%;z-index:9500}
div.pp_pic_holder{display:none;position:absolute;width:100px;z-index:10000}
.pp_content{height:40px;min-width:40px}
* html .pp_content{width:40px}
.pp_content_container{position:relative;text-align:left;width:100%}
.pp_content_container .pp_left{padding-left:20px}
.pp_content_container .pp_right{padding-right:20px}
.pp_content_container .pp_details{float:left;margin:10px 0 2px}
.pp_description{display:none;margin:0}
.pp_social{float:left;margin:0}
.pp_social .facebook{float:left;margin-left:5px;width:55px;overflow:hidden}
.pp_social .twitter{float:left}
.pp_nav{clear:right;float:left;margin:3px 10px 0 0}
.pp_nav p{float:left;white-space:nowrap;margin:2px 4px}
.pp_nav .pp_play,.pp_nav .pp_pause{float:left;margin-right:4px;text-indent:-10000px}
a.pp_arrow_previous,a.pp_arrow_next{display:block;float:left;height:15px;margin-top:3px;overflow:hidden;text-indent:-10000px;width:14px}
.pp_hoverContainer{position:absolute;top:0;width:100%;z-index:2000}
.pp_gallery{display:none;left:50%;margin-top:-50px;position:absolute;z-index:10000}
.pp_gallery div{float:left;overflow:hidden;position:relative}
.pp_gallery ul{float:left;height:35px;position:relative;white-space:nowrap;margin:0 0 0 5px;padding:0}
.pp_gallery ul a{border:1px rgba(0,0,0,0.5) solid;display:block;float:left;height:33px;overflow:hidden}
.pp_gallery ul a img{border:0}
.pp_gallery li{display:block;float:left;margin:0 5px 0 0;padding:0}
.pp_gallery li.default a{background:url(../images/prettyPhoto/facebook/default_thumbnail.gif) 0 0 no-repeat;display:block;height:33px;width:50px}
.pp_gallery .pp_arrow_previous,.pp_gallery .pp_arrow_next{margin-top:7px!important}
a.pp_next{background:url(../images/prettyPhoto/light_rounded/btnNext.png) 10000px 10000px no-repeat;display:block;float:right;height:100%;text-indent:-10000px;width:49%}
a.pp_previous{background:url(../images/prettyPhoto/light_rounded/btnNext.png) 10000px 10000px no-repeat;display:block;float:left;height:100%;text-indent:-10000px;width:49%}
a.pp_expand,a.pp_contract{cursor:pointer;display:none;height:20px;position:absolute;right:30px;text-indent:-10000px;top:10px;width:20px;z-index:20000}
a.pp_close{position:absolute;right:0;top:0;display:block;line-height:22px;text-indent:-10000px}
.pp_loaderIcon{display:block;height:24px;left:50%;position:absolute;top:50%;width:24px;margin:-12px 0 0 -12px}
#pp_full_res{line-height:1!important}
#pp_full_res .pp_inline{text-align:left}
#pp_full_res .pp_inline p{margin:0 0 15px}
div.ppt{color:#fff;display:none;font-size:17px;z-index:9999;margin:0 0 5px 15px}
div.pp_default .pp_content,div.light_rounded .pp_content{background-color:#fff}
div.pp_default #pp_full_res .pp_inline,div.light_rounded .pp_content .ppt,div.light_rounded #pp_full_res .pp_inline,div.light_square .pp_content .ppt,div.light_square #pp_full_res .pp_inline,div.facebook .pp_content .ppt,div.facebook #pp_full_res .pp_inline{color:#000}
div.pp_default .pp_gallery ul li a:hover,div.pp_default .pp_gallery ul li.selected a,.pp_gallery ul a:hover,.pp_gallery li.selected a{border-color:#fff}
div.pp_default .pp_details,div.light_rounded .pp_details,div.dark_rounded .pp_details,div.dark_square .pp_details,div.light_square .pp_details,div.facebook .pp_details{position:relative}
div.light_rounded .pp_top .pp_middle,div.light_rounded .pp_content_container .pp_left,div.light_rounded .pp_content_container .pp_right,div.light_rounded .pp_bottom .pp_middle,div.light_square .pp_left,div.light_square .pp_middle,div.light_square .pp_right,div.light_square .pp_content,div.facebook .pp_content{background:#fff}
div.light_rounded .pp_description,div.light_square .pp_description{margin-right:85px}
div.light_rounded .pp_gallery a.pp_arrow_previous,div.light_rounded .pp_gallery a.pp_arrow_next,div.dark_rounded .pp_gallery a.pp_arrow_previous,div.dark_rounded .pp_gallery a.pp_arrow_next,div.dark_square .pp_gallery a.pp_arrow_previous,div.dark_square .pp_gallery a.pp_arrow_next,div.light_square .pp_gallery a.pp_arrow_previous,div.light_square .pp_gallery a.pp_arrow_next{margin-top:12px!important}
div.light_rounded .pp_arrow_previous.disabled,div.dark_rounded .pp_arrow_previous.disabled,div.dark_square .pp_arrow_previous.disabled,div.light_square .pp_arrow_previous.disabled{background-position:0 -87px;cursor:default}
div.light_rounded .pp_arrow_next.disabled,div.dark_rounded .pp_arrow_next.disabled,div.dark_square .pp_arrow_next.disabled,div.light_square .pp_arrow_next.disabled{background-position:-22px -87px;cursor:default}
div.light_rounded .pp_loaderIcon,div.light_square .pp_loaderIcon{background:url(../images/prettyPhoto/light_rounded/loader.gif) center center no-repeat}
div.dark_rounded .pp_top .pp_middle,div.dark_rounded .pp_content,div.dark_rounded .pp_bottom .pp_middle{background:url(../images/prettyPhoto/dark_rounded/contentPattern.png) top left repeat}
div.dark_rounded .currentTextHolder,div.dark_square .currentTextHolder{color:#c4c4c4}
div.dark_rounded #pp_full_res .pp_inline,div.dark_square #pp_full_res .pp_inline{color:#fff}
.pp_top,.pp_bottom{height:20px;position:relative}
* html .pp_top,* html .pp_bottom{padding:0 20px}
.pp_top .pp_left,.pp_bottom .pp_left{height:20px;left:0;position:absolute;width:20px}
.pp_top .pp_middle,.pp_bottom .pp_middle{height:20px;left:20px;position:absolute;right:20px}
* html .pp_top .pp_middle,* html .pp_bottom .pp_middle{left:0;position:static}
.pp_top .pp_right,.pp_bottom .pp_right{height:20px;left:auto;position:absolute;right:0;top:0;width:20px}
.pp_fade,.pp_gallery li.default a img{display:none}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

View file

@ -2,11 +2,10 @@
Class: prettyPhoto
Use: Lightbox clone for jQuery
Author: Stephane Caron (http://www.no-margin-for-errors.com)
Copy from https://github.com/scaron/prettyphoto
Version: 3.1.5
Version: 3.1.6
------------------------------------------------------------------------- */
(function($) {
$.prettyPhoto = {version: '3.1.5'};
$.prettyPhoto = {version: '3.1.6'};
$.fn.prettyPhoto = function(pp_settings) {
pp_settings = jQuery.extend({
@ -886,7 +885,7 @@
function getHashtag(){
var url = location.href;
hashtag = (url.indexOf('#prettyPhoto') !== -1) ? decodeURI(url.substring(url.indexOf('#prettyPhoto')+1,url.length)) : false;
if(hashtag){ hashtag = hashtag.replace(/<|>/g,''); }
return hashtag;
};

File diff suppressed because one or more lines are too long

View file

@ -28,7 +28,7 @@ class serendipity_event_lightbox extends serendipity_event {
$propbag->add('name', PLUGIN_EVENT_LIGHTBOX_NAME);
$propbag->add('description', PLUGIN_EVENT_LIGHTBOX_DESC);
$propbag->add('author', 'Thomas Nesges, Andy Hopkins, Lokesh Dhakar, Cody Lindley, Stephan Manske, Grischa Brockhaus, Ian');
$propbag->add('version', '2.0.3');
$propbag->add('version', '2.1.0');
$propbag->add('requirements', array(
'serendipity' => '1.6',
'php' => '5.3.0'
@ -146,6 +146,12 @@ class serendipity_event_lightbox extends serendipity_event {
if ($type === null) {
$type = $this->get_config('type');
#$new = array('colorbox', 'lightbox2jq', 'magnific', 'prettyPhoto');
/*$removed = array('lightbox2', 'lightbox', 'lightbox_plus', 'thickbox', 'greybox');
if (in_array($type, $removed)) {
$type = 'lightbox2jq'; // force and set new default for upgraders
$this->set_config('type', $type);
}*/
}
if ($navigate === null) {
@ -178,9 +184,12 @@ class serendipity_event_lightbox extends serendipity_event {
case 'frontend_header':
$headcss = true;
case 'frontend_footer':
// case plugin imagesidebar on eg staticpages. We need the libs then!
$check_imagesidebar = serendipity_plugin_api::enum_plugins('*', false, 'serendipity_plugin_imagesidebar');
$cisb = $check_imagesidebar['placement'] != 'hide' ? $check_imagesidebar : null;
// If no imagelink was processed, don't add css or js files to the header! (configurable optimization)
if (serendipity_db_bool($this->get_config('header_optimization', false)) && !$this->foundImageLink) {
if (serendipity_db_bool($this->get_config('header_optimization', false)) && !$this->foundImageLink && empty($cisb)) {
return true;
}
echo "\n";
@ -188,10 +197,11 @@ class serendipity_event_lightbox extends serendipity_event {
if ($type == 'colorbox') {
if ($headcss) {
echo ' <link rel="stylesheet" type="text/css" href="' . $pluginDir . '/fixchrome.css" />' . "\n";
echo ' <link rel="stylesheet" type="text/css" href="' . $pluginDir . '/colorbox/colorboxScreens.css" />' . "\n";
echo ' <link rel="stylesheet" type="text/css" href="' . $pluginDir . '/colorbox/colorbox.css" />' . "\n";
} else {
if (!class_exists('serendipity_event_jquery') && !$serendipity['capabilities']['jquery']) {
echo ' <script type="text/javascript" src="' . $pluginDir . '/jquery-1.11.1.min.js" charset="utf-8"></script>' . "\n";
echo ' <script type="text/javascript" src="' . $pluginDir . '/jquery-1.11.3.min.js" charset="utf-8"></script>' . "\n";
}
echo ' <script type="text/javascript" src="' . $pluginDir . '/colorbox/jquery.colorbox-min.js" charset="utf-8"></script>' . "\n";
echo ' <script type="text/javascript" src="' . $pluginDir . '/colorbox/jquery.colorbox.init.js" charset="utf-8"></script>' . "\n";
@ -203,7 +213,7 @@ class serendipity_event_lightbox extends serendipity_event {
echo ' <link rel="stylesheet" type="text/css" href="' . $pluginDir . '/lightbox2-jquery/css/lightbox.css" />' . "\n";
} else {
if (!class_exists('serendipity_event_jquery') && !$serendipity['capabilities']['jquery']) {
echo ' <script type="text/javascript" src="' . $pluginDir . '/jquery-1.11.1.min.js" charset="utf-8"></script>' . "\n";
echo ' <script type="text/javascript" src="' . $pluginDir . '/jquery-1.11.3.min.js" charset="utf-8"></script>' . "\n";
}
// remove anchors possible onclick handler
echo ' <script type="text/javascript"> jQuery(document).ready(function(){ jQuery(\'a[rel^="lightbox"]\').removeAttr("onclick"); }); </script>' . "\n";
@ -217,7 +227,7 @@ class serendipity_event_lightbox extends serendipity_event {
echo ' <link rel="stylesheet" type="text/css" href="' . $pluginDir . '/magnific-popup/magnific-popup.css" />' . "\n";
} else {
if (!class_exists('serendipity_event_jquery') && !$serendipity['capabilities']['jquery']) {
echo ' <script type="text/javascript" src="' . $pluginDir . '/jquery-1.11.1.min.js" charset="utf-8"></script>' . "\n";
echo ' <script type="text/javascript" src="' . $pluginDir . '/jquery-1.11.3.min.js" charset="utf-8"></script>' . "\n";
}
echo ' <script type="text/javascript" src="' . $pluginDir . '/magnific-popup/jquery.magnific-popup.min.js" charset="utf-8"></script>' . "\n";
echo ' <script type="text/javascript" src="' . $pluginDir . '/magnific-popup/jquery.magnific-popup.init.js" charset="utf-8"></script>' . "\n";
@ -231,7 +241,7 @@ class serendipity_event_lightbox extends serendipity_event {
echo ' <link rel="stylesheet" type="text/css" href="' . $pluginDir . '/prettyphoto/css/prettyPhotoScreens.css" />' . "\n";
} else {
if (!class_exists('serendipity_event_jquery') && !$serendipity['capabilities']['jquery']) {
echo ' <script type="text/javascript" src="' . $pluginDir . '/jquery-1.11.1.min.js" charset="utf-8"></script>' . "\n";
echo ' <script type="text/javascript" src="' . $pluginDir . '/jquery-1.11.3.min.js" charset="utf-8"></script>' . "\n";
}
// remove anchors possible onclick handler
echo ' <script type="text/javascript">jQuery(document).ready(function(){ jQuery(\'a[rel^="prettyPhoto"]\').removeAttr("onclick"); }); </script>' . "\n";