!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='','
'+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+10?(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 }); };