!function(a,b,c,d){c.swipebox=function(e,f){var g,h,i={useCSS:!0,useSVG:!0,initialIndexOnArray:0,removeBarsOnMobile:!0,hideCloseButtonOnMobile:!1,hideBarsDelay:3e3,videoMaxWidth:1140,vimeoColor:"cccccc",beforeOpen:null,afterOpen:null,afterClose:null,afterMedia:null,nextSlide:null,prevSlide:null,loopAtEnd:!1,autoplayVideos:!1,queryStringData:{},toggleClassOnLoad:""},j=this,k=[],l=e.selector,m=navigator.userAgent.match(/(iPad)|(iPhone)|(iPod)|(Android)|(PlayBook)|(BB10)|(BlackBerry)|(Opera Mini)|(IEMobile)|(webOS)|(MeeGo)/i),n=null!==m||b.createTouch!==d||"ontouchstart"in a||"onmsgesturechange"in a||navigator.msMaxTouchPoints,o=!!b.createElementNS&&!!b.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,p=a.innerWidth?a.innerWidth:c(a).width(),q=a.innerHeight?a.innerHeight:c(a).height(),r=0,s='
';j.settings={},c.swipebox.close=function(){g.closeSlide()},c.swipebox.extend=function(){return g},j.init=function(){j.settings=c.extend({},i,f),c.isArray(e)?(k=e,g.target=c(a),g.init(j.settings.initialIndexOnArray)):c(b).on("click",l,function(a){if("slide current"===a.target.parentNode.className)return!1;c.isArray(e)||(g.destroy(),h=c(l),g.actions()),k=[];var b,d,f;f||(d="data-rel",f=c(this).attr(d)),f||(d="rel",f=c(this).attr(d)),h=f&&""!==f&&"nofollow"!==f?c(l).filter("["+d+'="'+f+'"]'):c(l),h.each(function(){var a=null,b=null;c(this).attr("title")&&(a=c(this).attr("title")),c(this).attr("href")&&(b=c(this).attr("href")),k.push({href:b,title:a})}),b=h.index(c(this)),a.preventDefault(),a.stopPropagation(),g.target=c(a.target),g.init(b)})},g={init:function(a){j.settings.beforeOpen&&j.settings.beforeOpen(),this.target.trigger("swipebox-start"),c.swipebox.isOpen=!0,this.build(),this.openSlide(a),this.openMedia(a),this.preloadMedia(a+1),this.preloadMedia(a-1),j.settings.afterOpen&&j.settings.afterOpen(a)},build:function(){var a,b=this;c("body").append(s),o&&j.settings.useSVG===!0&&(a=c("#swipebox-close").css("background-image"),a=a.replace("png","svg"),c("#swipebox-prev, #swipebox-next, #swipebox-close").css({"background-image":a})),m&&j.settings.removeBarsOnMobile&&c("#swipebox-bottom-bar, #swipebox-top-bar").remove(),c.each(k,function(){c("#swipebox-slider").append('')}),b.setDim(),b.actions(),n&&b.gesture(),b.keyboard(),b.animBars(),b.resize()},setDim:function(){var b,d,e={};"onorientationchange"in a?a.addEventListener("orientationchange",function(){0===a.orientation?(b=p,d=q):(90===a.orientation||-90===a.orientation)&&(b=q,d=p)},!1):(b=a.innerWidth?a.innerWidth:c(a).width(),d=a.innerHeight?a.innerHeight:c(a).height()),e={width:b,height:d},c("#swipebox-overlay").css(e)},resize:function(){var b=this;c(a).resize(function(){b.setDim()}).resize()},supportTransition:function(){var a,c="transition WebkitTransition MozTransition OTransition msTransition KhtmlTransition".split(" ");for(a=0;a=m||i)){var q=.75-Math.abs(d)/s.height();s.css({top:d+"px"}),s.css({opacity:q}),i=!0}e=b,b=o.pageX-n.pageX,g=100*b/p,!j&&!i&&Math.abs(b)>=l&&(c("#swipebox-slider").css({"-webkit-transition":"",transition:""}),j=!0),j&&(b>0?0===a?c("#swipebox-overlay").addClass("leftSpringTouch"):(c("#swipebox-overlay").removeClass("leftSpringTouch").removeClass("rightSpringTouch"),c("#swipebox-slider").css({"-webkit-transform":"translate3d("+(r+g)+"%, 0, 0)",transform:"translate3d("+(r+g)+"%, 0, 0)"})):0>b&&(k.length===a+1?c("#swipebox-overlay").addClass("rightSpringTouch"):(c("#swipebox-overlay").removeClass("leftSpringTouch").removeClass("rightSpringTouch"),c("#swipebox-slider").css({"-webkit-transform":"translate3d("+(r+g)+"%, 0, 0)",transform:"translate3d("+(r+g)+"%, 0, 0)"}))))}),!1}).bind("touchend",function(a){if(a.preventDefault(),a.stopPropagation(),c("#swipebox-slider").css({"-webkit-transition":"-webkit-transform 0.4s ease",transition:"transform 0.4s ease"}),d=o.pageY-n.pageY,b=o.pageX-n.pageX,g=100*b/p,i)if(i=!1,Math.abs(d)>=2*m&&Math.abs(d)>Math.abs(f)){var k=d>0?s.height():-s.height();s.animate({top:k+"px",opacity:0},300,function(){h.closeSlide()})}else s.animate({top:0,opacity:1},300);else j?(j=!1,b>=l&&b>=e?h.getPrev():-l>=b&&e>=b&&h.getNext()):q.hasClass("visible-bars")?(h.clearTimeout(),h.hideBars()):(h.showBars(),h.setTimeout());c("#swipebox-slider").css({"-webkit-transform":"translate3d("+r+"%, 0, 0)",transform:"translate3d("+r+"%, 0, 0)"}),c("#swipebox-overlay").removeClass("leftSpringTouch").removeClass("rightSpringTouch"),c(".touching").off("touchmove").removeClass("touching")})},setTimeout:function(){if(j.settings.hideBarsDelay>0){var b=this;b.clearTimeout(),b.timeout=a.setTimeout(function(){b.hideBars()},j.settings.hideBarsDelay)}},clearTimeout:function(){a.clearTimeout(this.timeout),this.timeout=null},showBars:function(){var a=c("#swipebox-top-bar, #swipebox-bottom-bar");this.doCssTrans()?a.addClass("visible-bars"):(c("#swipebox-top-bar").animate({top:0},500),c("#swipebox-bottom-bar").animate({bottom:0},500),setTimeout(function(){a.addClass("visible-bars")},1e3))},hideBars:function(){var a=c("#swipebox-top-bar, #swipebox-bottom-bar");this.doCssTrans()?a.removeClass("visible-bars"):(c("#swipebox-top-bar").animate({top:"-50px"},500),c("#swipebox-bottom-bar").animate({bottom:"-50px"},500),setTimeout(function(){a.removeClass("visible-bars")},1e3))},animBars:function(){var a=this,b=c("#swipebox-top-bar, #swipebox-bottom-bar");b.addClass("visible-bars"),a.setTimeout(),c("#swipebox-slider").click(function(){b.hasClass("visible-bars")||(a.showBars(),a.setTimeout())}),c("#swipebox-bottom-bar").hover(function(){a.showBars(),b.addClass("visible-bars"),a.clearTimeout()},function(){j.settings.hideBarsDelay>0&&(b.removeClass("visible-bars"),a.setTimeout())})},keyboard:function(){var b=this;c(a).bind("keyup",function(a){a.preventDefault(),a.stopPropagation(),37===a.keyCode?b.getPrev():39===a.keyCode?b.getNext():27===a.keyCode&&b.closeSlide()})},actions:function(){var a=this,b="touchend click";k.length<2?(c("#swipebox-bottom-bar").hide(),d===k[1]&&c("#swipebox-top-bar").hide()):(c("#swipebox-prev").bind(b,function(b){b.preventDefault(),b.stopPropagation(),a.getPrev(),a.setTimeout()}),c("#swipebox-next").bind(b,function(b){b.preventDefault(),b.stopPropagation(),a.getNext(),a.setTimeout()})),c("#swipebox-close").bind(b,function(){a.closeSlide()})},setSlide:function(a,b){b=b||!1;var d=c("#swipebox-slider");r=100*-a,this.doCssTrans()?d.css({"-webkit-transform":"translate3d("+100*-a+"%, 0, 0)",transform:"translate3d("+100*-a+"%, 0, 0)"}):d.animate({left:100*-a+"%"}),c("#swipebox-slider .slide").removeClass("current"),c("#swipebox-slider .slide").eq(a).addClass("current"),this.setTitle(a),b&&d.fadeIn(),c("#swipebox-prev, #swipebox-next").removeClass("disabled"),0===a?c("#swipebox-prev").addClass("disabled"):a===k.length-1&&j.settings.loopAtEnd!==!0&&c("#swipebox-next").addClass("disabled")},openSlide:function(b){c("html").addClass("swipebox-html"),n?(c("html").addClass("swipebox-touch"),j.settings.hideCloseButtonOnMobile&&c("html").addClass("swipebox-no-close-button")):c("html").addClass("swipebox-no-touch"),c(a).trigger("resize"),this.setSlide(b,!0)},preloadMedia:function(a){var b=this,c=null;k[a]!==d&&(c=k[a].href),b.isVideo(c)?b.openMedia(a):setTimeout(function(){b.openMedia(a)},1e3)},openMedia:function(a){var b,e,f=this;return k[a]!==d&&(b=k[a].href),0>a||a>=k.length?!1:(e=c("#swipebox-slider .slide").eq(a),void(f.isVideo(b)?(e.html(f.getVideo(b)),j.settings.afterMedia&&j.settings.afterMedia(a)):(e.addClass("slide-loading"),f.loadMedia(b,function(){e.removeClass("slide-loading"),e.html(this),j.settings.afterMedia&&j.settings.afterMedia(a)}))))},setTitle:function(a){var b=null;c("#swipebox-title").empty(),k[a]!==d&&(b=k[a].title),b?(c("#swipebox-top-bar").show(),c("#swipebox-title").append(b)):c("#swipebox-top-bar").hide()},isVideo:function(a){if(a){if(a.match(/(youtube\.com|youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/)||a.match(/vimeo\.com\/([0-9]*)/)||a.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/))return!0;if(a.toLowerCase().indexOf("swipeboxvideo=1")>=0)return!0}},parseUri:function(a,d){var e=b.createElement("a"),f={};return e.href=decodeURIComponent(a),e.search&&(f=JSON.parse('{"'+e.search.toLowerCase().replace("?","").replace(/&/g,'","').replace(/=/g,'":"')+'"}')),c.isPlainObject(d)&&(f=c.extend(f,d,j.settings.queryStringData)),c.map(f,function(a,b){return a&&a>""?encodeURIComponent(b)+"="+encodeURIComponent(a):void 0}).join("&")},getVideo:function(a){var b="",c=a.match(/((?:www\.)?youtube\.com|(?:www\.)?youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/),d=a.match(/(?:www\.)?youtu\.be\/([a-zA-Z0-9\-_]+)/),e=a.match(/(?:www\.)?vimeo\.com\/([0-9]*)/),f="";return c||d?(d&&(c=d),f=g.parseUri(a,{autoplay:j.settings.autoplayVideos?"1":"0",v:""}),b=''):e?(f=g.parseUri(a,{autoplay:j.settings.autoplayVideos?"1":"0",byline:"0",portrait:"0",color:j.settings.vimeoColor}),b=''):b='','"},loadMedia:function(a,b){if(0===a.trim().indexOf("#"))b.call(c("",{"class":"swipebox-inline-container"}).append(c(a).clone().toggleClass(j.settings.toggleClassOnLoad)));else if(!this.isVideo(a)){var d=c("
").on("load",function(){b.call(d)});d.attr("src",a)}},getNext:function(){var a,b=this,d=c("#swipebox-slider .slide").index(c("#swipebox-slider .slide.current"));d+1
0?(a=c("#swipebox-slider .slide").eq(b).contents().find("iframe").attr("src"),c("#swipebox-slider .slide").eq(b).contents().find("iframe").attr("src",a),b--,this.setSlide(b),this.preloadMedia(b-1),j.settings.prevSlide&&j.settings.prevSlide(b)):(c("#swipebox-overlay").addClass("leftSpring"),setTimeout(function(){c("#swipebox-overlay").removeClass("leftSpring")},500))},nextSlide:function(a){},prevSlide:function(a){},closeSlide:function(){c("html").removeClass("swipebox-html"),c("html").removeClass("swipebox-touch"),c(a).trigger("resize"),this.destroy()},destroy:function(){c(a).unbind("keyup"),c("body").unbind("touchstart"),c("body").unbind("touchmove"),c("body").unbind("touchend"),c("#swipebox-slider").unbind(),c("#swipebox-overlay").remove(),c.isArray(e)||e.removeData("_swipebox"),this.target&&this.target.trigger("swipebox-destroy"),c.swipebox.isOpen=!1,j.settings.afterClose&&j.settings.afterClose()}},j.init()},c.fn.swipebox=function(a){if(!c.data(this,"_swipebox")){var b=new c.swipebox(this,a);this.data("_swipebox",b)}return this.data("_swipebox")}}(window,document,jQuery);
var timeout;
var previous_row_resize_scale=1;
var rgg_is_pro=rgg_params.rgg_is_pro;
jQuery(document).ready(function($){
if(typeof $('.rgg-swipebox').swipebox==='function'){
$('.rgg-swipebox').swipebox();
}
$grids=$('.rgg-imagegrid');
sanitize_params();
jQuery(window).resize(function(){
clearTimeout(timeout);
timeout=setTimeout(function(){
reinit_grids();
}, 200);
});
init_grids();
function sanitize_params(){
for (var i in rgg_params){
rgg_params[i].margin=parseInt(rgg_params[i].margin);
}}
function reinit_grids(){
$('.rgg-img',$grids).stop().off();
init_grids();
}
function init_grids(){
$grids.each(function(i){
$grid=$(this);
par=rgg_params[$grid.data('rgg-id')];
par.scale_percent=par.scale*100;
init_grid($grid,par);
});
}
function init_grid($grid, par){
var containerwidth=$grid.width();
var top=0;
var left=0;
var total_margins=-par.margin;
var tiles=[];
var lastrow=[];
var $imgs=$('.rgg-img',$grid);
$imgs.each(function(img_index){
$img=$(this);
$img.css('background-image',"url('"+$img.data('src')+"')");
var tile=new Tile($img,par);
tile.top=top;
tile.left=left;
$img.on('mouseenter', {tile:tile},function(e){
e.data.tile.animate_in();
});
$img.on('mouseleave', {tile:tile},function(e){
e.data.tile.animate_out();
});
lastrow.push(tile);
tiles.push(tile);
left +=tile.width;
total_margins +=par.margin + tile.extrawidth;
var resize_scale=1;
var row_is_full=(left > (containerwidth-total_margins));
var is_last_row=($imgs.length-1===img_index);
var left_offset=0;
var margin=par.margin;
if(row_is_full){
resize_scale=(containerwidth-total_margins)/left;
previous_row_resize_scale=resize_scale;
}
if(is_last_row&&!row_is_full){
if(par.lastrowbehavior==='last_row_same_height'){
resize_scale=previous_row_resize_scale;
}else if(rgg_is_pro){
if(par.lastrowbehavior==='force_justified'){
resize_scale=(containerwidth - total_margins) / left;
}else if(par.lastrowbehavior==='center'){
resize_scale=previous_row_resize_scale;
left_offset=(containerwidth - total_margins - left * resize_scale) / 2;
}else if(par.lastrowbehavior==='align_right'){
resize_scale=previous_row_resize_scale;
left_offset=(containerwidth - total_margins - left * resize_scale);
}else if(par.lastrowbehavior==='hide'){
resize_scale=0;
margin=0;
}}
}
if(row_is_full||is_last_row){
var scaled_height=par.maxrowheight*resize_scale;
for (var i in lastrow){
lastrow[i].width=lastrow[i].width*resize_scale;
lastrow[i].left=left_offset + lastrow[i].left*resize_scale+(i*(par.margin+tile.extrawidth));
lastrow[i].height=scaled_height;
}
top +=scaled_height + margin + tile.extraheight;
left=0;
total_margins=-margin;
lastrow=[];
}});
$grid.css('height',top);
for (var i in tiles){
$imgs.eq(i).css({'left': tiles[i].left, 'top':tiles[i].top, 'width': tiles[i].width, 'height':tiles[i].height});
}}
});
function Tile($img, par){
this.$img=$img;
this.$caption=jQuery('.rgg-caption-container',$img).eq(0);
this.par=par;
this.ratio=$img.data('ratio');
this.width=par.maxrowheight * this.ratio;
this.extrawidth=parseInt($img.css('border-left-width'))+parseInt($img.css('border-right-width'));
this.extraheight=parseInt($img.css('border-top-width'))+parseInt($img.css('border-bottom-width'));
this.height=par.maxrowheight;
this.top=0;
this.left=0;
if(rgg_is_pro){
this.init_captions_params();
}
this.init_animate_params();
}
Tile.prototype.animate_in=function(){
if(this.is_animating_in){
this.$img.clearQueue();
return false;
}else if(this.is_animating_out){
this.$img.clearQueue();
this.$img.finish();
}
if(rgg_is_pro&&this.par.effect==='fade'){
this.fade();
} if(rgg_is_pro&&this.par.effect==='zoom'){
this.zoom();
}else if(this.par.effect==='bubble'){
this.bubble();
}else{
this.dummy();
}};
Tile.prototype.animate_out=function(){
if(this.is_animating_out){
this.$img.clearQueue();
return false;
}
if(rgg_is_pro&&this.par.effect==='fade'){
this.unfade();
}else if(rgg_is_pro&&this.par.effect==='zoom'){
this.unzoom();
}else if(this.par.effect==='bubble'){
this.unbubble();
}else{
this.undummy();
}};
Tile.prototype.animate_tile_in=function(css){
var tile=this;
if(this.is_animating_in) return false;
this.$img.animate(css,
{
duration: parseInt(this.par.intime),
complete: function(){
tile.animate_in_done();
},
start: function(){
tile.$img.css({'box-shadow':'0 1px 3px rgba(0,0,0,.5)'});
tile.animate_in_start();
},
progress: function(animation, progress){
zindex=Math.round(10+progress*10);
tile.$img.css({'z-index':zindex});
}}
);
this.$caption.show();
};
Tile.prototype.animate_tile_out=function(css){
var tile=this;
this.$img.animate(css,
{
duration: parseInt(this.par.outtime),
complete: function(){
tile.animate_out_done();
tile.$img.css({
'box-shadow':'0 0 0 rgba(0,0,0,.1)'
});
},
start: function(){
tile.animate_out_start();
},
progress: function(animation, progress){
zindex=Math.round(20-progress*10);
tile.$img.css({'z-index':zindex});
}}
);
};
Tile.prototype.init_animate_params=function(){
this.is_animating=false;
this.is_animating_in=false;
this.is_animating_out=false;
this.is_animated_in=false;
this.is_animated_out=false;
};
Tile.prototype.animate_in_done=function(){
this.init_animate_params();
this.is_animated_in=true;
this.$img.trigger('animate_in_done');
};
Tile.prototype.animate_out_done=function(){
this.init_animate_params();
this.is_animated_out=true;
this.$img.trigger('animate_out_done');
};
Tile.prototype.animate_in_start=function(){
this.init_animate_params();
this.is_animating=true;
this.is_animating_in=true;
this.$img.trigger('animate_in_start');
this.$img.addClass('rgg-in');
if(rgg_is_pro){
this.animate_caption_in();
}};
Tile.prototype.animate_out_start=function(){
this.init_animate_params();
this.is_animating=true;
this.is_animating_out=true;
this.$img.trigger('animate_out_start');
this.$img.removeClass('rgg-in');
if(rgg_is_pro){
this.animate_caption_out();
}};
Tile.prototype.dummy=function(){
this.animate_tile_in({});
}
Tile.prototype.undummy=function(){
this.animate_tile_out({});
}
Tile.prototype.bubble=function(){
num_px=0;
num_px=(this.height*this.par.scale-this.height)/2;
var t_left=this.left - num_px*this.ratio;
var t_top=this.top - num_px;
var t_width=this.width*this.par.scale;
var t_height=this.height*this.par.scale;
if(num_px > 0){
this.$img.css({
'left':this.left-.5,
'top':this.top-.5,
'width':this.width + 1,
'height' :this.height + 1
});
}
this.animate_tile_in({
'left':t_left,
'top':t_top,
'width':t_width,
'height':t_height
});
};
Tile.prototype.unbubble=function(){
this.animate_tile_out({
'left':this.left,
'top':this.top,
'width':this.width,
'height':this.height
});
};