diff --git a/public/js/jquery/colorbox/colorbox-rateit.js b/public/js/jquery/colorbox/colorbox-rateit.js
index fd5dc4e..b413434 100644
--- a/public/js/jquery/colorbox/colorbox-rateit.js
+++ b/public/js/jquery/colorbox/colorbox-rateit.js
@@ -1,8 +1,7 @@
/*!
- Colorbox v1.5.8 - 2014-04-15
- jQuery lightbox and modal window plugin
- (c) 2014 Jack Moore - http://www.jacklmoore.com/colorbox
- license: http://www.opensource.org/licenses/mit-license.php
+ Colorbox 1.6.1
+ license: MIT
+ http://www.jacklmoore.com/colorbox
*/
(function ($, document, window) {
var
@@ -86,15 +85,47 @@
},
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;
}
},
-
// Abstracting the HTML and event identifiers for easy rebranding
colorbox = 'colorbox',
prefix = 'cbox',
boxElement = prefix + 'Element',
-
+
// Events
event_open = prefix + '_open',
event_load = prefix + '_load',
@@ -130,7 +161,7 @@
$ratingDescription,
$groupControls,
$events = $(''), // $({}) would be prefered, but there is an issue with jQuery 1.4.2
-
+
// Variables for cached values or use across multiple functions
settings,
interfaceHeight,
@@ -152,7 +183,7 @@
// ****************
// HELPER FUNCTIONS
// ****************
-
+
// Convenience function for creating new jQuery objects
function $tag(tag, id, css) {
var element = document.createElement(tag);
@@ -167,7 +198,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() {
@@ -211,7 +242,7 @@
var
max = $related.length,
newIndex = (index + increment) % max;
-
+
return (newIndex < 0) ? max + newIndex : newIndex;
}
@@ -219,7 +250,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) {
@@ -246,15 +277,15 @@
function getRelated(rel) {
index = 0;
-
- if (rel && rel !== false) {
+
+ if (rel && rel !== false && rel !== 'nofollow') {
$related = $('.' + boxElement).filter(function () {
var options = $.data(this, colorbox);
var settings = new Settings(this, options);
return (settings.get('rel') === rel);
});
index = $related.index(settings.el);
-
+
// Check direct calls to Colorbox.
if (index === -1) {
$related = $related.add(settings.el);
@@ -304,7 +335,7 @@
function stop() {
clear();
-
+
$events
.unbind(event_complete, set)
.unbind(event_load, clear);
@@ -358,20 +389,20 @@
if (!closing) {
- options = $(element).data('colorbox');
+ 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);
@@ -399,14 +430,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);
});
@@ -421,12 +452,13 @@
}
}
+ var opacity = parseFloat(settings.get('opacity'));
$overlay.css({
- opacity: parseFloat(settings.get('opacity')) || '',
+ opacity: opacity === opacity ? opacity : '',
cursor: settings.get('overlayClose') ? 'pointer' : '',
visibility: 'visible'
}).show();
-
+
if (settings.get('closeButton')) {
$close.html(settings.get('close')).appendTo($content);
} else {
@@ -440,7 +472,7 @@
// Colorbox's markup needs to be added to the DOM prior to being called
// so that the browser will go ahead and load the CSS background images.
function appendHTML() {
- if (!$box && document.body) {
+ if (!$box) {
init = false;
$window = $(window);
$box = $tag(div).attr({
@@ -454,7 +486,7 @@
$wrap = $tag(div, "Wrapper");
$content = $tag(div, "Content").append(
$title = $tag(div, "Title"),
- // Beginn Anpassungen für RateIt
+ // Beginn Anpassungen für RateIt
$rating = $tag(div, "mbRating").attr({"class": "mbrateItRating"})
.css({'bottom': '-20px', 'position': 'absolute'}).append(
$ratingWrapper = $tag(div, "mbrateItRating").attr({"class": "wrapper"}).append(
@@ -464,7 +496,7 @@
$ratingDescription = $tag(div, "mbRatingDescription").attr({"class": "mbratingText ratingText"})
.css({'margin-left': '10px'})
),
- // Ende Anpassungen für RateIt
+ // Ende Anpassungen für RateIt
$current = $tag(div, "Current"),
$prev = $('').attr({id:prefix+'Previous'}),
$next = $('').attr({id:prefix+'Next'}),
@@ -473,7 +505,7 @@
);
$close = $('').attr({id:prefix+'Close'});
-
+
$wrap.append( // The 3x3 Grid that makes up Colorbox
$tag(div).append(
$tag(div, "TopLeft"),
@@ -491,11 +523,12 @@
$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);
+ $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) {
$(document.body).append($overlay, $box.append($wrap, $loadingBay));
}
}
@@ -530,7 +563,7 @@
publicMethod.close();
}
});
-
+
// Key Bindings
$(document).bind('keydown.' + prefix, function (e) {
var key = e.keyCode;
@@ -565,7 +598,7 @@
}
// Don't do anything if Colorbox already exists.
- if ($.colorbox) {
+ if ($[colorbox]) {
return;
}
@@ -578,7 +611,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;
@@ -588,15 +621,12 @@
if ($.isFunction($obj)) { // assume a call to $.colorbox
$obj = $('');
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()) {
@@ -611,12 +641,12 @@
}).addClass(boxElement);
settings = new Settings($obj[0], options);
-
+
if (settings.get('open')) {
launch($obj[0]);
}
}
-
+
return $obj;
};
@@ -628,7 +658,7 @@
offset = $box.offset(),
scrollTop,
scrollLeft;
-
+
$window.unbind('resize.' + prefix);
// remove the modal so that it doesn't influence the document width/height
@@ -655,7 +685,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) {
@@ -665,12 +695,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';
@@ -700,20 +730,20 @@
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);
}, 1);
}
- if (loadedCallback) {
+ if ($.isFunction(loadedCallback)) {
loadedCallback();
}
},
@@ -723,10 +753,10 @@
publicMethod.resize = function (options) {
var scrolltop;
-
+
if (open) {
options = options || {};
-
+
if (options.width) {
settings.w = setSize(options.width, 'x') - loadedWidth - interfaceWidth;
}
@@ -736,7 +766,7 @@
}
$loaded.css({width: settings.w});
-
+
if (options.height) {
settings.h = setSize(options.height, 'y') - loadedHeight - interfaceHeight;
}
@@ -756,7 +786,7 @@
if(scrolltop) {
$loaded.scrollTop(scrolltop);
}
-
+
publicMethod.position(settings.get('transition') === "none" ? 0 : settings.get('speed'));
}
};
@@ -765,14 +795,14 @@
if (!open) {
return;
}
-
+
var callback, speed = settings.get('transition') === "none" ? 0 : settings.get('speed');
$loaded.remove();
$loaded = $tag(div, 'LoadedContent').append(object);
- // Beginn Anpassungen für RateIt
+ // Beginn Anpassungen für RateIt
$rating.css('display', 'none');
if (typeof arrRatings == 'object') {
for (var ri = 0; ri < arrRatings.length; ri++) {
@@ -797,7 +827,7 @@
}
}
}
- // Ende Anpassungen für RateIt
+ // Ende Anpassungen für RateIt
function getWidth() {
settings.w = settings.w || $loaded.width();
@@ -809,17 +839,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'));
@@ -828,17 +858,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();
@@ -846,20 +876,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(){
@@ -878,32 +908,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";
});
@@ -914,14 +935,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);
@@ -933,27 +954,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')) {
@@ -964,23 +985,24 @@
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.
// An event is bound to put inline content back when Colorbox closes or loads new content.
- $inline = $tag(div).hide().insertBefore($(href)[0]);
+ $inline = $('
').hide().insertBefore($target);
$events.one(event_purge, function () {
- $inline.replaceWith($loaded.children());
+ $inline.replaceWith($target);
});
- prep($(href));
+ prep($target);
} else if (settings.get('iframe')) {
// IFrame element won't be added to the DOM until it is ready to be displayed,
// to avoid problems with DOM-ready JS that might be trying to run in that iframe.
@@ -991,11 +1013,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 () {
@@ -1003,18 +1025,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;
@@ -1034,16 +1049,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';
@@ -1051,7 +1067,7 @@
prep(photo);
}, 1);
});
-
+
photo.src = href;
} else if (href) {
@@ -1062,7 +1078,7 @@
});
}
}
-
+
// Navigates to the next page/image in a set.
publicMethod.next = function () {
if (!active && $related[1] && (settings.get('loop') || $related[index + 1])) {
@@ -1070,7 +1086,7 @@
launch($related[index]);
}
};
-
+
publicMethod.prev = function () {
if (!active && $related[1] && (settings.get('loop') || index)) {
index = getIndex(-1);
@@ -1081,20 +1097,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);
@@ -1109,8 +1125,8 @@
if (!$box) { return; }
$box.stop();
- $.colorbox.close();
- $box.stop().remove();
+ $[colorbox].close();
+ $box.stop(false, true).remove();
$overlay.remove();
closing = false;
$box = null;
@@ -1118,7 +1134,7 @@
.removeData(colorbox)
.removeClass(boxElement);
- $(document).unbind('click.'+prefix);
+ $(document).unbind('click.'+prefix).unbind('keydown.'+prefix);
};
// A method for fetching the current element Colorbox is referencing.
@@ -1129,4 +1145,4 @@
publicMethod.settings = defaults;
-}(jQuery, document, window));
\ No newline at end of file
+}(jQuery, document, window));
diff --git a/public/js/jquery/colorbox/colorbox-rateit.min.js b/public/js/jquery/colorbox/colorbox-rateit.min.js
index 93f0b23..cbe9d26 100644
--- a/public/js/jquery/colorbox/colorbox-rateit.min.js
+++ b/public/js/jquery/colorbox/colorbox-rateit.min.js
@@ -1,6 +1,10 @@
(function($,document,window){var
-defaults={html:false,photo:false,iframe:false,inline:false,transition:"elastic",speed:300,fadeOut:300,width:false,initialWidth:"600",innerWidth:false,maxWidth:false,height:false,initialHeight:"450",innerHeight:false,maxHeight:false,scalePhotos:true,scrolling:true,opacity:0.9,preloading:true,className:false,overlayClose:true,escKey:true,arrowKey:true,top:false,bottom:false,left:false,right:false,fixed:false,data:undefined,closeButton:true,fastIframe:true,open:false,reposition:true,loop:true,slideshow:false,slideshowAuto:true,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",photoRegex:/\.(gif|png|jp(e|g|eg)|bmp|ico|webp|jxr|svg)((#|\?).*)?$/i,retinaImage:false,retinaUrl:false,retinaSuffix:'@2x.$1',current:"image {current} of {total}",previous:"previous",next:"next",close:"close",xhrError:"This content failed to load.",imgError:"This image failed to load.",returnFocus:true,trapFocus:true,onOpen:false,onLoad:false,onComplete:false,onCleanup:false,onClosed:false,rel:function(){return this.rel;},href:function(){return $(this).attr('href');},title:function(){return this.title;}},colorbox='colorbox',prefix='cbox',boxElement=prefix+'Element',event_open=prefix+'_open',event_load=prefix+'_load',event_complete=prefix+'_complete',event_cleanup=prefix+'_cleanup',event_closed=prefix+'_closed',event_purge=prefix+'_purge',$overlay,$box,$wrap,$content,$topBorder,$leftBorder,$rightBorder,$bottomBorder,$related,$window,$loaded,$loadingBay,$loadingOverlay,$title,$current,$slideshow,$next,$prev,$close,$rating,$ratingWrapper,$ratingSelected,$ratingHover,$ratingDescription,$groupControls,$events=$(''),settings,interfaceHeight,interfaceWidth,loadedHeight,loadedWidth,index,photo,open,active,closing,loadingTimer,publicMethod,div="div",requests=0,previousCSS={},init;function $tag(tag,id,css){var element=document.createElement(tag);if(id){element.id=prefix+id;}
+defaults={html:false,photo:false,iframe:false,inline:false,transition:"elastic",speed:300,fadeOut:300,width:false,initialWidth:"600",innerWidth:false,maxWidth:false,height:false,initialHeight:"450",innerHeight:false,maxHeight:false,scalePhotos:true,scrolling:true,opacity:0.9,preloading:true,className:false,overlayClose:true,escKey:true,arrowKey:true,top:false,bottom:false,left:false,right:false,fixed:false,data:undefined,closeButton:true,fastIframe:true,open:false,reposition:true,loop:true,slideshow:false,slideshowAuto:true,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",photoRegex:/\.(gif|png|jp(e|g|eg)|bmp|ico|webp|jxr|svg)((#|\?).*)?$/i,retinaImage:false,retinaUrl:false,retinaSuffix:'@2x.$1',current:"image {current} of {total}",previous:"previous",next:"next",close:"close",xhrError:"This content failed to load.",imgError:"This image failed to load.",returnFocus:true,trapFocus:true,onOpen:false,onLoad:false,onComplete:false,onCleanup:false,onClosed:false,rel:function(){return this.rel;},href:function(){return $(this).attr('href');},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();iframe.allowFullScreen=true;return iframe;}},colorbox='colorbox',prefix='cbox',boxElement=prefix+'Element',event_open=prefix+'_open',event_load=prefix+'_load',event_complete=prefix+'_complete',event_cleanup=prefix+'_cleanup',event_closed=prefix+'_closed',event_purge=prefix+'_purge',$overlay,$box,$wrap,$content,$topBorder,$leftBorder,$rightBorder,$bottomBorder,$related,$window,$loaded,$loadingBay,$loadingOverlay,$title,$current,$slideshow,$next,$prev,$close,$rating,$ratingWrapper,$ratingSelected,$ratingHover,$ratingDescription,$groupControls,$events=$(''),settings,interfaceHeight,interfaceWidth,loadedHeight,loadedWidth,index,photo,open,active,closing,loadingTimer,publicMethod,div="div",requests=0,previousCSS={},init;function $tag(tag,id,css){var element=document.createElement(tag);if(id){element.id=prefix+id;}
if(css){element.style.cssText=css;}
return $(element);}
function winheight(){return window.innerHeight?window.innerHeight:$(window).height();}
@@ -14,7 +18,7 @@ function isImage(settings,url){return settings.get('photo')||settings.get('photo
function retinaUrl(settings,url){return settings.get('retinaUrl')&&window.devicePixelRatio>1?url.replace(settings.get('photoRegex'),settings.get('retinaSuffix')):url;}
function trapFocus(e){if('contains'in $box[0]&&!$box[0].contains(e.target)&&e.target!==$overlay[0]){e.stopPropagation();$box.focus();}}
function setClass(str){if(setClass.str!==str){$box.add($overlay).removeClass(setClass.str).addClass(str);setClass.str=str;}}
-function getRelated(rel){index=0;if(rel&&rel!==false){$related=$('.'+boxElement).filter(function(){var options=$.data(this,colorbox);var settings=new Settings(this,options);return(settings.get('rel')===rel);});index=$related.index(settings.el);if(index===-1){$related=$related.add(settings.el);index=$related.length-1;}}else{$related=$(settings.el);}}
+function getRelated(rel){index=0;if(rel&&rel!==false&&rel!=='nofollow'){$related=$('.'+boxElement).filter(function(){var options=$.data(this,colorbox);var settings=new Settings(this,options);return(settings.get('rel')===rel);});index=$related.index(settings.el);if(index===-1){$related=$related.add(settings.el);index=$related.length-1;}}else{$related=$(settings.el);}}
function trigger(event){$(document).trigger(event);$events.triggerHandler(event);}
var slideshow=(function(){var active,className=prefix+"Slideshow_",click="click."+prefix,timeOut;function clear(){clearTimeout(timeOut);}
function set(){if(settings.get('loop')||$related[index+1]){clear();timeOut=setTimeout(publicMethod.next,settings.get('slideshowSpeed'));}}
@@ -22,18 +26,19 @@ function start(){$slideshow.html(settings.get('slideshowStop')).unbind(click).on
function stop(){clear();$events.unbind(event_complete,set).unbind(event_load,clear);$slideshow.html(settings.get('slideshowStart')).unbind(click).one(click,function(){publicMethod.next();start();});$box.removeClass(className+"on").addClass(className+"off");}
function reset(){active=false;$slideshow.hide();clear();$events.unbind(event_complete,set).unbind(event_load,clear);$box.removeClass(className+"off "+className+"on");}
return function(){if(active){if(!settings.get('slideshow')){$events.unbind(event_cleanup,reset);reset();}}else{if(settings.get('slideshow')&&$related[1]){active=true;$events.one(event_cleanup,reset);if(settings.get('slideshowAuto')){start();}else{stop();}
-$slideshow.show();}}};}());function launch(element){var options;if(!closing){options=$(element).data('colorbox');settings=new Settings(element,options);getRelated(settings.get('rel'));if(!open){open=active=true;setClass(settings.get('className'));$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);interfaceHeight=$topBorder.height()+$bottomBorder.height()+$content.outerHeight(true)-$content.height();interfaceWidth=$leftBorder.width()+$rightBorder.width()+$content.outerWidth(true)-$content.width();loadedHeight=$loaded.outerHeight(true);loadedWidth=$loaded.outerWidth(true);var initialWidth=setSize(settings.get('initialWidth'),'x');var initialHeight=setSize(settings.get('initialHeight'),'y');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;$loaded.css({width:'',height:settings.h});publicMethod.position();trigger(event_open);settings.get('onOpen');$groupControls.add($title).hide();$box.focus();if(settings.get('trapFocus')){if(document.addEventListener){document.addEventListener('focus',trapFocus,true);$events.one(event_closed,function(){document.removeEventListener('focus',trapFocus,true);});}}
+$slideshow.show();}}};}());function launch(element){var options;if(!closing){options=$(element).data(colorbox);settings=new Settings(element,options);getRelated(settings.get('rel'));if(!open){open=active=true;setClass(settings.get('className'));$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);interfaceHeight=$topBorder.height()+$bottomBorder.height()+$content.outerHeight(true)-$content.height();interfaceWidth=$leftBorder.width()+$rightBorder.width()+$content.outerWidth(true)-$content.width();loadedHeight=$loaded.outerHeight(true);loadedWidth=$loaded.outerWidth(true);var initialWidth=setSize(settings.get('initialWidth'),'x');var initialHeight=setSize(settings.get('initialHeight'),'y');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;$loaded.css({width:'',height:settings.h});publicMethod.position();trigger(event_open);settings.get('onOpen');$groupControls.add($title).hide();$box.focus();if(settings.get('trapFocus')){if(document.addEventListener){document.addEventListener('focus',trapFocus,true);$events.one(event_closed,function(){document.removeEventListener('focus',trapFocus,true);});}}
if(settings.get('returnFocus')){$events.one(event_closed,function(){$(settings.el).focus();});}}
-$overlay.css({opacity:parseFloat(settings.get('opacity'))||'',cursor:settings.get('overlayClose')?'pointer':'',visibility:'visible'}).show();if(settings.get('closeButton')){$close.html(settings.get('close')).appendTo($content);}else{$close.appendTo('');}
+var opacity=parseFloat(settings.get('opacity'));$overlay.css({opacity:opacity===opacity?opacity:'',cursor:settings.get('overlayClose')?'pointer':'',visibility:'visible'}).show();if(settings.get('closeButton')){$close.html(settings.get('close')).appendTo($content);}else{$close.appendTo('');}
load();}}
-function appendHTML(){if(!$box&&document.body){init=false;$window=$(window);$box=$tag(div).attr({id:colorbox,'class':$.support.opacity===false?prefix+'IE':'',role:'dialog',tabindex:'-1'}).hide();$overlay=$tag(div,"Overlay").hide();$loadingOverlay=$([$tag(div,"LoadingOverlay")[0],$tag(div,"LoadingGraphic")[0]]);$wrap=$tag(div,"Wrapper");$content=$tag(div,"Content").append($title=$tag(div,"Title"),$rating=$tag(div,"mbRating").attr({"class":"mbrateItRating"}).css({'bottom':'-20px','position':'absolute'}).append($ratingWrapper=$tag(div,"mbrateItRating").attr({"class":"wrapper"}).append($ratingSelected=$tag(div).attr({"class":"rateItRating-selected","display":"block"}),$ratingHover=$tag(div).attr({"class":"rateItRating-hover"})),$ratingDescription=$tag(div,"mbRatingDescription").attr({"class":"mbratingText ratingText"}).css({'margin-left':'10px'})),$current=$tag(div,"Current"),$prev=$('').attr({id:prefix+'Previous'}),$next=$('').attr({id:prefix+'Next'}),$slideshow=$tag('button',"Slideshow"),$loadingOverlay);$close=$('').attr({id:prefix+'Close'});$wrap.append($tag(div).append($tag(div,"TopLeft"),$topBorder=$tag(div,"TopCenter"),$tag(div,"TopRight")),$tag(div,false,'clear:left').append($leftBorder=$tag(div,"MiddleLeft"),$content,$rightBorder=$tag(div,"MiddleRight")),$tag(div,false,'clear:left').append($tag(div,"BottomLeft"),$bottomBorder=$tag(div,"BottomCenter"),$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);$(document.body).append($overlay,$box.append($wrap,$loadingBay));}}
+function appendHTML(){if(!$box){init=false;$window=$(window);$box=$tag(div).attr({id:colorbox,'class':$.support.opacity===false?prefix+'IE':'',role:'dialog',tabindex:'-1'}).hide();$overlay=$tag(div,"Overlay").hide();$loadingOverlay=$([$tag(div,"LoadingOverlay")[0],$tag(div,"LoadingGraphic")[0]]);$wrap=$tag(div,"Wrapper");$content=$tag(div,"Content").append($title=$tag(div,"Title"),$rating=$tag(div,"mbRating").attr({"class":"mbrateItRating"}).css({'bottom':'-20px','position':'absolute'}).append($ratingWrapper=$tag(div,"mbrateItRating").attr({"class":"wrapper"}).append($ratingSelected=$tag(div).attr({"class":"rateItRating-selected","display":"block"}),$ratingHover=$tag(div).attr({"class":"rateItRating-hover"})),$ratingDescription=$tag(div,"mbRatingDescription").attr({"class":"mbratingText ratingText"}).css({'margin-left':'10px'})),$current=$tag(div,"Current"),$prev=$('').attr({id:prefix+'Previous'}),$next=$('').attr({id:prefix+'Next'}),$slideshow=$tag('button',"Slideshow"),$loadingOverlay);$close=$('').attr({id:prefix+'Close'});$wrap.append($tag(div).append($tag(div,"TopLeft"),$topBorder=$tag(div,"TopCenter"),$tag(div,"TopRight")),$tag(div,false,'clear:left').append($leftBorder=$tag(div,"MiddleLeft"),$content,$rightBorder=$tag(div,"MiddleRight")),$tag(div,false,'clear:left').append($tag(div,"BottomLeft"),$bottomBorder=$tag(div,"BottomCenter"),$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){$(document.body).append($overlay,$box.append($wrap,$loadingBay));}}
function addBindings(){function clickHandler(e){if(!(e.which>1||e.shiftKey||e.altKey||e.metaKey||e.ctrlKey)){e.preventDefault();launch(this);}}
if($box){if(!init){init=true;$next.click(function(){publicMethod.next();});$prev.click(function(){publicMethod.prev();});$close.click(function(){publicMethod.close();});$overlay.click(function(){if(settings.get('overlayClose')){publicMethod.close();}});$(document).bind('keydown.'+prefix,function(e){var key=e.keyCode;if(open&&settings.get('escKey')&&key===27){e.preventDefault();publicMethod.close();}
if(open&&settings.get('arrowKey')&&$related[1]&&!e.altKey){if(key===37){e.preventDefault();$prev.click();}else if(key===39){e.preventDefault();$next.click();}}});if($.isFunction($.fn.on)){$(document).on('click.'+prefix,'.'+boxElement,clickHandler);}else{$('.'+boxElement).live('click.'+prefix,clickHandler);}}
return true;}
return false;}
-if($.colorbox){return;}
-$(appendHTML);publicMethod=$.fn[colorbox]=$[colorbox]=function(options,callback){var settings;var $obj=this;options=options||{};if($.isFunction($obj)){$obj=$('');options.open=true;}else if(!$obj[0]){return $obj;}
+if($[colorbox]){return;}
+$(appendHTML);publicMethod=$.fn[colorbox]=$[colorbox]=function(options,callback){var settings;var $obj=this;options=options||{};if($.isFunction($obj)){$obj=$('');options.open=true;}
if(!$obj[0]){return $obj;}
appendHTML();if(addBindings()){if(callback){options.onComplete=callback;}
$obj.each(function(){var old=$.data(this,colorbox)||{};$.data(this,colorbox,$.extend(old,options));}).addClass(boxElement);settings=new Settings($obj[0],options);if(settings.get('open')){launch($obj[0]);}}
@@ -45,7 +50,7 @@ $box.css({top:offset.top,left:offset.left,visibility:'visible'});$wrap[0].style.
css={width:settings.w+loadedWidth+interfaceWidth,height:settings.h+loadedHeight+interfaceHeight,top:top,left:left};if(speed){var tempSpeed=0;$.each(css,function(i){if(css[i]!==previousCSS[i]){tempSpeed=speed;return;}});speed=tempSpeed;}
previousCSS=css;if(!speed){$box.css(css);}
$box.dequeue().animate(css,{duration:speed||0,complete:function(){modalDimensions();active=false;$wrap[0].style.width=(settings.w+loadedWidth+interfaceWidth)+"px";$wrap[0].style.height=(settings.h+loadedHeight+interfaceHeight)+"px";if(settings.get('reposition')){setTimeout(function(){$window.bind('resize.'+prefix,publicMethod.position);},1);}
-if(loadedCallback){loadedCallback();}},step:modalDimensions});};publicMethod.resize=function(options){var scrolltop;if(open){options=options||{};if(options.width){settings.w=setSize(options.width,'x')-loadedWidth-interfaceWidth;}
+if($.isFunction(loadedCallback)){loadedCallback();}},step:modalDimensions});};publicMethod.resize=function(options){var scrolltop;if(open){options=options||{};if(options.width){settings.w=setSize(options.width,'x')-loadedWidth-interfaceWidth;}
if(options.innerWidth){settings.w=setSize(options.innerWidth,'x');}
$loaded.css({width:settings.w});if(options.height){settings.h=setSize(options.height,'y')-loadedHeight-interfaceHeight;}
if(options.innerHeight){settings.h=setSize(options.innerHeight,'y');}
@@ -60,18 +65,16 @@ $loaded.hide().appendTo($loadingBay.show()).css({width:getWidth(),overflow:setti
function removeFilter(){if($.support.opacity===false){$box[0].style.removeAttribute('filter');}}
complete=function(){clearTimeout(loadingTimer);$loadingOverlay.hide();trigger(event_complete);settings.get('onComplete');};$title.html(settings.get('title')).show();$loaded.show();if(total>1){if(typeof settings.get('current')==="string"){$current.html(settings.get('current').replace('{current}',index+1).replace('{total}',total)).show();}
$next[(settings.get('loop')||index1){photo.height=photo.height/window.devicePixelRatio;photo.width=photo.width/window.devicePixelRatio;}
+href=settings.get('href');loadingTimer=setTimeout(function(){$loadingOverlay.show();},100);if(settings.get('inline')){var $target=$(href);$inline=$('
').hide().insertBefore($target);$events.one(event_purge,function(){$inline.replaceWith($target);});prep($target);}else if(settings.get('iframe')){prep(" ");}else if(settings.get('html')){prep(settings.get('html'));}else if(isImage(settings,href)){href=retinaUrl(settings,href);photo=settings.get('createImg');$(photo).addClass(prefix+'Photo').bind('error.'+prefix,function(){prep($tag(div,'Error').html(settings.get('imgError')));}).one('load',function(){if(request!==requests){return;}
+setTimeout(function(){var percent;if(settings.get('retinaImage')&&window.devicePixelRatio>1){photo.height=photo.height/window.devicePixelRatio;photo.width=photo.width/window.devicePixelRatio;}
if(settings.get('scalePhotos')){setResize=function(){photo.height-=photo.height*percent;photo.width-=photo.width*percent;};if(settings.mw&&photo.width>settings.mw){percent=(photo.width-settings.mw)/photo.width;setResize();}
if(settings.mh&&photo.height>settings.mh){percent=(photo.height-settings.mh)/photo.height;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(){publicMethod.next();};}
+if($related[1]&&(settings.get('loop')||$related[index+1])){photo.style.cursor='pointer';$(photo).bind('click.'+prefix,function(){publicMethod.next();});}
photo.style.width=photo.width+'px';photo.style.height=photo.height+'px';prep(photo);},1);});photo.src=href;}else if(href){$loadingBay.load(href,settings.get('data'),function(data,status){if(request===requests){prep(status==='error'?$tag(div,'Error').html(settings.get('xhrError')):$(this).contents());}});}}
publicMethod.next=function(){if(!active&&$related[1]&&(settings.get('loop')||$related[index+1])){index=getIndex(1);launch($related[index]);}};publicMethod.prev=function(){if(!active&&$related[1]&&(settings.get('loop')||index)){index=getIndex(-1);launch($related[index]);}};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);settings.get('onClosed');},1);});}};publicMethod.remove=function(){if(!$box){return;}
-$box.stop();$.colorbox.close();$box.stop().remove();$overlay.remove();closing=false;$box=null;$('.'+boxElement).removeData(colorbox).removeClass(boxElement);$(document).unbind('click.'+prefix);};publicMethod.element=function(){return $(settings.el);};publicMethod.settings=defaults;}(jQuery,document,window));
\ No newline at end of file
+$box.stop();$[colorbox].close();$box.stop(false,true).remove();$overlay.remove();closing=false;$box=null;$('.'+boxElement).removeData(colorbox).removeClass(boxElement);$(document).unbind('click.'+prefix).unbind('keydown.'+prefix);};publicMethod.element=function(){return $(settings.el);};publicMethod.settings=defaults;}(jQuery,document,window));
\ No newline at end of file