slabs-rails 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +5 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.md +32 -0
  5. data/assets/images/ajax-loader.gif +0 -0
  6. data/assets/images/arrow1-blue.png +0 -0
  7. data/assets/images/arrow1.png +0 -0
  8. data/assets/images/arrow2-blue.png +0 -0
  9. data/assets/images/arrow2.png +0 -0
  10. data/assets/images/arrow3-blue.png +0 -0
  11. data/assets/images/arrow3.png +0 -0
  12. data/assets/images/arrow4-blue.png +0 -0
  13. data/assets/images/arrow4.png +0 -0
  14. data/assets/images/btn-play.png +0 -0
  15. data/assets/images/circle1-blue.png +0 -0
  16. data/assets/images/circle1.png +0 -0
  17. data/assets/images/circle2-blue.png +0 -0
  18. data/assets/images/circle2.png +0 -0
  19. data/assets/images/circle3-blue.png +0 -0
  20. data/assets/images/circle3.png +0 -0
  21. data/assets/images/circle4-blue.png +0 -0
  22. data/assets/images/circle4.png +0 -0
  23. data/assets/javascripts/slabs-sprockets.js +4 -0
  24. data/assets/javascripts/slabs.js +3401 -0
  25. data/assets/javascripts/slabs.min.js +7 -0
  26. data/assets/javascripts/slabs/ekko-lightbox.js +446 -0
  27. data/assets/javascripts/slabs/slabs.headers.js +51 -0
  28. data/assets/javascripts/slabs/slabs.js +4 -0
  29. data/assets/javascripts/slabs/slick.js +2892 -0
  30. data/assets/stylesheets/_slabs-mincer.scss +18 -0
  31. data/assets/stylesheets/_slabs-sprockets.scss +5 -0
  32. data/assets/stylesheets/_slabs.scss +40 -0
  33. data/assets/stylesheets/slabs/_backgrounds.scss +5 -0
  34. data/assets/stylesheets/slabs/_buttons.scss +25 -0
  35. data/assets/stylesheets/slabs/_mixins.scss +7 -0
  36. data/assets/stylesheets/slabs/_sweet_hacks.scss +19 -0
  37. data/assets/stylesheets/slabs/_typo.scss +27 -0
  38. data/assets/stylesheets/slabs/_variables.scss +114 -0
  39. data/assets/stylesheets/slabs/_wells.scss +9 -0
  40. data/assets/stylesheets/slabs/commons/_headers.scss +37 -0
  41. data/assets/stylesheets/slabs/commons/ekko-lightbox.scss +127 -0
  42. data/assets/stylesheets/slabs/commons/slick.scss +312 -0
  43. data/assets/stylesheets/slabs/contents/_content-1.scss +45 -0
  44. data/assets/stylesheets/slabs/contents/_content-10.scss +18 -0
  45. data/assets/stylesheets/slabs/contents/_content-11.scss +18 -0
  46. data/assets/stylesheets/slabs/contents/_content-12.scss +42 -0
  47. data/assets/stylesheets/slabs/contents/_content-13.scss +64 -0
  48. data/assets/stylesheets/slabs/contents/_content-2.scss +11 -0
  49. data/assets/stylesheets/slabs/contents/_content-3.scss +23 -0
  50. data/assets/stylesheets/slabs/contents/_content-4.scss +54 -0
  51. data/assets/stylesheets/slabs/contents/_content-5.scss +27 -0
  52. data/assets/stylesheets/slabs/contents/_content-6.scss +63 -0
  53. data/assets/stylesheets/slabs/contents/_content-7.scss +71 -0
  54. data/assets/stylesheets/slabs/contents/_content-8.scss +22 -0
  55. data/assets/stylesheets/slabs/contents/_content-9.scss +46 -0
  56. data/assets/stylesheets/slabs/footers/_footer-1.scss +60 -0
  57. data/assets/stylesheets/slabs/footers/_footer-2.scss +29 -0
  58. data/assets/stylesheets/slabs/headers/_header-1.scss +97 -0
  59. data/assets/stylesheets/slabs/headers/_header-2.scss +134 -0
  60. data/assets/stylesheets/slabs/mixins/_backgrounds.scss +12 -0
  61. data/assets/stylesheets/slabs/mixins/_breakpoints.scss +108 -0
  62. data/assets/stylesheets/slabs/mixins/_buttons.scss +28 -0
  63. data/assets/stylesheets/slabs/mixins/_transitions.scss +128 -0
  64. data/assets/stylesheets/slabs/people/_people-1.scss +52 -0
  65. data/assets/stylesheets/slabs/people/_people-2.scss +51 -0
  66. data/lib/slabs-rails.rb +51 -0
  67. data/lib/slabs-rails/engine.rb +11 -0
  68. data/slabs-rails.gemspec +20 -0
  69. metadata +139 -0
@@ -0,0 +1,7 @@
1
+ /*!
2
+ * Slabs v1.0.0 (https://github.com/Boltech/slabs)
3
+ * Copyright 2016-2016 Boltech
4
+ * Licensed under the license
5
+ */
6
+ window.slabs={name:"Slabs",version:"1.0.0"};var checkNavScroll;slabs.headers=slabs.headers||{},slabs.headers.header2=function(){return $(".header-2").slick({dots:!0,infinite:!0,autoplaySpeed:8e3,speed:500,prevArrow:'<i class="slick_prev fa fa-angle-left"></i>',nextArrow:'<i class="slick_next fa fa-angle-right"></i>',autoplay:!0,fade:!0})},function(a){return a(function(){var a,b;for(a in slabs.headers)return a=a,b=a.slice(6),void(0!==jQuery(".header-"+b).length&&slabs.headers[a]())})}(jQuery),checkNavScroll=function(){var a;a=2*$(".navbar-transparent").height(),$(window).scrollTop()>a?$(".navbar-transparent").addClass("scrolled"):$(".navbar-transparent").removeClass("scrolled")},$(function(){return $(".navbar-transparent").length>0?(console.log("Starting!!!"),$(window).on("scroll load resize",function(){checkNavScroll()})):void 0}),function(){"use strict";var a,b;a=jQuery,b=function(b,c){var d,e,f;return this.options=a.extend({title:null,footer:null,remote:null},a.fn.ekkoLightbox.defaults,c||{}),this.$element=a(b),d="",this.modal_id=this.options.modal_id?this.options.modal_id:"ekkoLightbox-"+Math.floor(1e3*Math.random()+1),f='<div class="modal-header"'+(this.options.title||this.options.always_show_close?"":' style="display:none"')+'><button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button><h4 class="modal-title">'+(this.options.title||"&nbsp;")+"</h4></div>",e='<div class="modal-footer"'+(this.options.footer?"":' style="display:none"')+">"+this.options.footer+"</div>",a(document.body).append('<div id="'+this.modal_id+'" class="ekko-lightbox modal fade" tabindex="-1"><div class="modal-dialog"><div class="modal-content">'+f+'<div class="modal-body"><div class="ekko-lightbox-container"><div></div></div></div>'+e+"</div></div></div>"),this.modal=a("#"+this.modal_id),this.modal_dialog=this.modal.find(".modal-dialog").first(),this.modal_content=this.modal.find(".modal-content").first(),this.modal_body=this.modal.find(".modal-body").first(),this.modal_header=this.modal.find(".modal-header").first(),this.modal_footer=this.modal.find(".modal-footer").first(),this.lightbox_container=this.modal_body.find(".ekko-lightbox-container").first(),this.lightbox_body=this.lightbox_container.find("> div:first-child").first(),this.showLoading(),this.modal_arrows=null,this.border={top:parseFloat(this.modal_dialog.css("border-top-width"))+parseFloat(this.modal_content.css("border-top-width"))+parseFloat(this.modal_body.css("border-top-width")),right:parseFloat(this.modal_dialog.css("border-right-width"))+parseFloat(this.modal_content.css("border-right-width"))+parseFloat(this.modal_body.css("border-right-width")),bottom:parseFloat(this.modal_dialog.css("border-bottom-width"))+parseFloat(this.modal_content.css("border-bottom-width"))+parseFloat(this.modal_body.css("border-bottom-width")),left:parseFloat(this.modal_dialog.css("border-left-width"))+parseFloat(this.modal_content.css("border-left-width"))+parseFloat(this.modal_body.css("border-left-width"))},this.padding={top:parseFloat(this.modal_dialog.css("padding-top"))+parseFloat(this.modal_content.css("padding-top"))+parseFloat(this.modal_body.css("padding-top")),right:parseFloat(this.modal_dialog.css("padding-right"))+parseFloat(this.modal_content.css("padding-right"))+parseFloat(this.modal_body.css("padding-right")),bottom:parseFloat(this.modal_dialog.css("padding-bottom"))+parseFloat(this.modal_content.css("padding-bottom"))+parseFloat(this.modal_body.css("padding-bottom")),left:parseFloat(this.modal_dialog.css("padding-left"))+parseFloat(this.modal_content.css("padding-left"))+parseFloat(this.modal_body.css("padding-left"))},this.modal.on("show.bs.modal",this.options.onShow.bind(this)).on("shown.bs.modal",function(a){return function(){return a.modal_shown(),a.options.onShown.call(a)}}(this)).on("hide.bs.modal",this.options.onHide.bind(this)).on("hidden.bs.modal",function(b){return function(){return b.gallery&&a(document).off("keydown.ekkoLightbox"),b.modal.remove(),b.options.onHidden.call(b)}}(this)).modal("show",c),this.modal},b.prototype={modal_shown:function(){var b;return this.options.remote?(this.gallery=this.$element.data("gallery"),this.gallery&&("document.body"===this.options.gallery_parent_selector||""===this.options.gallery_parent_selector?this.gallery_items=a(document.body).find('*[data-gallery="'+this.gallery+'"]'):this.gallery_items=this.$element.parents(this.options.gallery_parent_selector).first().find('*[data-gallery="'+this.gallery+'"]'),this.gallery_index=this.gallery_items.index(this.$element),a(document).on("keydown.ekkoLightbox",this.navigate.bind(this)),this.options.directional_arrows&&this.gallery_items.length>1&&(this.lightbox_container.append('<div class="ekko-lightbox-nav-overlay"><a href="#" class="'+this.strip_stops(this.options.left_arrow_class)+'"></a><a href="#" class="'+this.strip_stops(this.options.right_arrow_class)+'"></a></div>'),this.modal_arrows=this.lightbox_container.find("div.ekko-lightbox-nav-overlay").first(),this.lightbox_container.find("a"+this.strip_spaces(this.options.left_arrow_class)).on("click",function(a){return function(b){return b.preventDefault(),a.navigate_left()}}(this)),this.lightbox_container.find("a"+this.strip_spaces(this.options.right_arrow_class)).on("click",function(a){return function(b){return b.preventDefault(),a.navigate_right()}}(this)))),this.options.type?"image"===this.options.type?this.preloadImage(this.options.remote,!0):"youtube"===this.options.type&&(b=this.getYoutubeId(this.options.remote))?this.showYoutubeVideo(b):"vimeo"===this.options.type?this.showVimeoVideo(this.options.remote):"instagram"===this.options.type?this.showInstagramVideo(this.options.remote):"url"===this.options.type?this.loadRemoteContent(this.options.remote):"video"===this.options.type?this.showVideoIframe(this.options.remote):this.error('Could not detect remote target type. Force the type using data-type="image|youtube|vimeo|instagram|url|video"'):this.detectRemoteType(this.options.remote)):this.error("No remote target given")},strip_stops:function(a){return a.replace(/\./g,"")},strip_spaces:function(a){return a.replace(/\s/g,"")},isImage:function(a){return a.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i)},isSwf:function(a){return a.match(/\.(swf)((\?|#).*)?$/i)},getYoutubeId:function(a){var b;return b=a.match(/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/),b&&11===b[2].length?b[2]:!1},getVimeoId:function(a){return a.indexOf("vimeo")>0?a:!1},getInstagramId:function(a){return a.indexOf("instagram")>0?a:!1},navigate:function(a){if(a=a||window.event,39===a.keyCode||37===a.keyCode){if(39===a.keyCode)return this.navigate_right();if(37===a.keyCode)return this.navigate_left()}},navigateTo:function(b){var c,d;return 0>b||b>this.gallery_items.length-1?this:(this.showLoading(),this.gallery_index=b,this.$element=a(this.gallery_items.get(this.gallery_index)),this.updateTitleAndFooter(),d=this.$element.attr("data-remote")||this.$element.attr("href"),this.detectRemoteType(d,this.$element.attr("data-type")||!1),this.gallery_index+1<this.gallery_items.length&&(c=a(this.gallery_items.get(this.gallery_index+1),!1),d=c.attr("data-remote")||c.attr("href"),"image"===c.attr("data-type")||this.isImage(d))?this.preloadImage(d,!1):void 0)},navigate_left:function(){return 1!==this.gallery_items.length?(0===this.gallery_index?this.gallery_index=this.gallery_items.length-1:this.gallery_index--,this.options.onNavigate.call(this,"left",this.gallery_index),this.navigateTo(this.gallery_index)):void 0},navigate_right:function(){return 1!==this.gallery_items.length?(this.gallery_index===this.gallery_items.length-1?this.gallery_index=0:this.gallery_index++,this.options.onNavigate.call(this,"right",this.gallery_index),this.navigateTo(this.gallery_index)):void 0},detectRemoteType:function(a,b){var c;return b=b||!1,"image"===b||this.isImage(a)?(this.options.type="image",this.preloadImage(a,!0)):"youtube"===b||(c=this.getYoutubeId(a))?(this.options.type="youtube",this.showYoutubeVideo(c)):"vimeo"===b||(c=this.getVimeoId(a))?(this.options.type="vimeo",this.showVimeoVideo(c)):"instagram"===b||(c=this.getInstagramId(a))?(this.options.type="instagram",this.showInstagramVideo(c)):"video"===b?(this.options.type="video",this.showVideoIframe(c)):(this.options.type="url",this.loadRemoteContent(a))},updateTitleAndFooter:function(){var a,b,c,d;return c=this.modal_content.find(".modal-header"),b=this.modal_content.find(".modal-footer"),d=this.$element.data("title")||"",a=this.$element.data("footer")||"",d||this.options.always_show_close?c.css("display","").find(".modal-title").html(d||"&nbsp;"):c.css("display","none"),a?b.css("display","").html(a):b.css("display","none"),this},showLoading:function(){return this.lightbox_body.html('<div class="modal-loading">'+this.options.loadingMessage+"</div>"),this},showYoutubeVideo:function(a){var b,c,d;return c=null!=this.$element.attr("data-norelated")||this.options.no_related?"&rel=0":"",d=this.checkDimensions(this.$element.data("width")||560),b=d/(560/315),this.showVideoIframe("//www.youtube.com/embed/"+a+"?badge=0&autoplay=1&html5=1"+c,d,b)},showVimeoVideo:function(a){var b,c;return c=this.checkDimensions(this.$element.data("width")||560),b=c/(500/281),this.showVideoIframe(a+"?autoplay=1",c,b)},showInstagramVideo:function(a){var b,c;return c=this.checkDimensions(this.$element.data("width")||612),this.resize(c),b=c+80,this.lightbox_body.html('<iframe width="'+c+'" height="'+b+'" src="'+this.addTrailingSlash(a)+'embed/" frameborder="0" allowfullscreen></iframe>'),this.options.onContentLoaded.call(this),this.modal_arrows?this.modal_arrows.css("display","none"):void 0},showVideoIframe:function(a,b,c){return c=c||b,this.resize(b),this.lightbox_body.html('<div class="embed-responsive embed-responsive-16by9"><iframe width="'+b+'" height="'+c+'" src="'+a+'" frameborder="0" allowfullscreen class="embed-responsive-item"></iframe></div>'),this.options.onContentLoaded.call(this),this.modal_arrows&&this.modal_arrows.css("display","none"),this},loadRemoteContent:function(b){var c,d;return d=this.$element.data("width")||560,this.resize(d),c=this.$element.data("disableExternalCheck")||!1,c||this.isExternal(b)?(this.lightbox_body.html('<iframe width="'+d+'" height="'+d+'" src="'+b+'" frameborder="0" allowfullscreen></iframe>'),this.options.onContentLoaded.call(this)):this.lightbox_body.load(b,a.proxy(function(a){return function(){return a.$element.trigger("loaded.bs.modal")}}(this))),this.modal_arrows&&this.modal_arrows.css("display","none"),this},isExternal:function(a){var b;return b=a.match(/^([^:\/?#]+:)?(?:\/\/([^\/?#]*))?([^?#]+)?(\?[^#]*)?(#.*)?/),"string"==typeof b[1]&&b[1].length>0&&b[1].toLowerCase()!==location.protocol?!0:"string"==typeof b[2]&&b[2].length>0&&b[2].replace(new RegExp(":("+{"http:":80,"https:":443}[location.protocol]+")?$"),"")!==location.host},error:function(a){return this.lightbox_body.html(a),this},preloadImage:function(b,c){var d;return d=new Image,null!=c&&c!==!0||(d.onload=function(b){return function(){var c;return c=a("<img />"),c.attr("src",d.src),c.addClass("img-responsive"),b.lightbox_body.html(c),b.modal_arrows&&b.modal_arrows.css("display","block"),c.load(function(){return b.options.scale_height?b.scaleHeight(d.height,d.width):b.resize(d.width),b.options.onContentLoaded.call(b)})}}(this),d.onerror=function(a){return function(){return a.error("Failed to load image: "+b)}}(this)),d.src=b,d},scaleHeight:function(b,c){var d,e,f,g,h,i;return g=this.modal_header.outerHeight(!0)||0,f=this.modal_footer.outerHeight(!0)||0,this.modal_footer.is(":visible")||(f=0),this.modal_header.is(":visible")||(g=0),d=this.border.top+this.border.bottom+this.padding.top+this.padding.bottom,h=parseFloat(this.modal_dialog.css("margin-top"))+parseFloat(this.modal_dialog.css("margin-bottom")),i=a(window).height()-d-h-g-f,e=Math.min(i/b,1),this.modal_dialog.css("height","auto").css("max-height",i),this.resize(e*c)},resize:function(b){var c;return c=b+this.border.left+this.padding.left+this.padding.right+this.border.right,this.modal_dialog.css("width","auto").css("max-width",c),this.lightbox_container.find("a").css("line-height",function(){return a(this).parent().height()+"px"}),this},checkDimensions:function(a){var b,c;return c=a+this.border.left+this.padding.left+this.padding.right+this.border.right,b=document.body.clientWidth,c>b&&(a=this.modal_body.width()),a},close:function(){return this.modal.modal("hide")},addTrailingSlash:function(a){return"/"!==a.substr(-1)&&(a+="/"),a}},a.fn.ekkoLightbox=function(c){return this.each(function(){var d;return d=a(this),c=a.extend({remote:d.attr("data-remote")||d.attr("href"),gallery_parent_selector:d.attr("data-parent"),type:d.attr("data-type")},c,d.data()),new b(this,c),this})},a.fn.ekkoLightbox.defaults={gallery_parent_selector:"document.body",left_arrow_class:".glyphicon .glyphicon-chevron-left",right_arrow_class:".glyphicon .glyphicon-chevron-right",directional_arrows:!0,type:null,always_show_close:!0,no_related:!1,scale_height:!0,loadingMessage:"Loading...",onShow:function(){},onShown:function(){},onHide:function(){},onHidden:function(){},onNavigate:function(){},onContentLoaded:function(){}}}.call(this),$(document).delegate('*[data-toggle="lightbox"]',"click",function(a){a.preventDefault(),$(this).ekkoLightbox()}),function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):"undefined"!=typeof exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){"use strict";var b=window.Slick||{};b=function(){function b(b,d){var e,f=this;f.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:a(b),appendDots:a(b),arrows:!0,asNavFor:null,prevArrow:'<button type="button" data-role="none" class="slick-prev" aria-label="Previous" tabindex="0" role="button">Previous</button>',nextArrow:'<button type="button" data-role="none" class="slick-next" aria-label="Next" tabindex="0" role="button">Next</button>',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(b,c){return a('<button type="button" data-role="none" role="button" tabindex="0" />').text(c+1)},dots:!1,dotsClass:"slick-dots",draggable:!0,easing:"linear",edgeFriction:.35,fade:!1,focusOnSelect:!1,infinite:!0,initialSlide:0,lazyLoad:"ondemand",mobileFirst:!1,pauseOnHover:!0,pauseOnFocus:!0,pauseOnDotsHover:!1,respondTo:"window",responsive:null,rows:1,rtl:!1,slide:"",slidesPerRow:1,slidesToShow:1,slidesToScroll:1,speed:500,swipe:!0,swipeToSlide:!1,touchMove:!0,touchThreshold:5,useCSS:!0,useTransform:!0,variableWidth:!1,vertical:!1,verticalSwiping:!1,waitForAnimate:!0,zIndex:1e3},f.initials={animating:!1,dragging:!1,autoPlayTimer:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,$dots:null,listWidth:null,listHeight:null,loadIndex:0,$nextArrow:null,$prevArrow:null,slideCount:null,slideWidth:null,$slideTrack:null,$slides:null,sliding:!1,slideOffset:0,swipeLeft:null,$list:null,touchObject:{},transformsEnabled:!1,unslicked:!1},a.extend(f,f.initials),f.activeBreakpoint=null,f.animType=null,f.animProp=null,f.breakpoints=[],f.breakpointSettings=[],f.cssTransitions=!1,f.focussed=!1,f.interrupted=!1,f.hidden="hidden",f.paused=!0,f.positionProp=null,f.respondTo=null,f.rowCount=1,f.shouldClick=!0,f.$slider=a(b),f.$slidesCache=null,f.transformType=null,f.transitionType=null,f.visibilityChange="visibilitychange",f.windowWidth=0,f.windowTimer=null,e=a(b).data("slick")||{},f.options=a.extend({},f.defaults,d,e),f.currentSlide=f.options.initialSlide,f.originalSettings=f.options,"undefined"!=typeof document.mozHidden?(f.hidden="mozHidden",f.visibilityChange="mozvisibilitychange"):"undefined"!=typeof document.webkitHidden&&(f.hidden="webkitHidden",f.visibilityChange="webkitvisibilitychange"),f.autoPlay=a.proxy(f.autoPlay,f),f.autoPlayClear=a.proxy(f.autoPlayClear,f),f.autoPlayIterator=a.proxy(f.autoPlayIterator,f),f.changeSlide=a.proxy(f.changeSlide,f),f.clickHandler=a.proxy(f.clickHandler,f),f.selectHandler=a.proxy(f.selectHandler,f),f.setPosition=a.proxy(f.setPosition,f),f.swipeHandler=a.proxy(f.swipeHandler,f),f.dragHandler=a.proxy(f.dragHandler,f),f.keyHandler=a.proxy(f.keyHandler,f),f.instanceUid=c++,f.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/,f.registerBreakpoints(),f.init(!0)}var c=0;return b}(),b.prototype.activateADA=function(){var a=this;a.$slideTrack.find(".slick-active").attr({"aria-hidden":"false"}).find("a, input, button, select").attr({tabindex:"0"})},b.prototype.addSlide=b.prototype.slickAdd=function(b,c,d){var e=this;if("boolean"==typeof c)d=c,c=null;else if(0>c||c>=e.slideCount)return!1;e.unload(),"number"==typeof c?0===c&&0===e.$slides.length?a(b).appendTo(e.$slideTrack):d?a(b).insertBefore(e.$slides.eq(c)):a(b).insertAfter(e.$slides.eq(c)):d===!0?a(b).prependTo(e.$slideTrack):a(b).appendTo(e.$slideTrack),e.$slides=e.$slideTrack.children(this.options.slide),e.$slideTrack.children(this.options.slide).detach(),e.$slideTrack.append(e.$slides),e.$slides.each(function(b,c){a(c).attr("data-slick-index",b)}),e.$slidesCache=e.$slides,e.reinit()},b.prototype.animateHeight=function(){var a=this;if(1===a.options.slidesToShow&&a.options.adaptiveHeight===!0&&a.options.vertical===!1){var b=a.$slides.eq(a.currentSlide).outerHeight(!0);a.$list.animate({height:b},a.options.speed)}},b.prototype.animateSlide=function(b,c){var d={},e=this;e.animateHeight(),e.options.rtl===!0&&e.options.vertical===!1&&(b=-b),e.transformsEnabled===!1?e.options.vertical===!1?e.$slideTrack.animate({left:b},e.options.speed,e.options.easing,c):e.$slideTrack.animate({top:b},e.options.speed,e.options.easing,c):e.cssTransitions===!1?(e.options.rtl===!0&&(e.currentLeft=-e.currentLeft),a({animStart:e.currentLeft}).animate({animStart:b},{duration:e.options.speed,easing:e.options.easing,step:function(a){a=Math.ceil(a),e.options.vertical===!1?(d[e.animType]="translate("+a+"px, 0px)",e.$slideTrack.css(d)):(d[e.animType]="translate(0px,"+a+"px)",e.$slideTrack.css(d))},complete:function(){c&&c.call()}})):(e.applyTransition(),b=Math.ceil(b),e.options.vertical===!1?d[e.animType]="translate3d("+b+"px, 0px, 0px)":d[e.animType]="translate3d(0px,"+b+"px, 0px)",e.$slideTrack.css(d),c&&setTimeout(function(){e.disableTransition(),c.call()},e.options.speed))},b.prototype.getNavTarget=function(){var b=this,c=b.options.asNavFor;return c&&null!==c&&(c=a(c).not(b.$slider)),c},b.prototype.asNavFor=function(b){var c=this,d=c.getNavTarget();null!==d&&"object"==typeof d&&d.each(function(){var c=a(this).slick("getSlick");c.unslicked||c.slideHandler(b,!0)})},b.prototype.applyTransition=function(a){var b=this,c={};b.options.fade===!1?c[b.transitionType]=b.transformType+" "+b.options.speed+"ms "+b.options.cssEase:c[b.transitionType]="opacity "+b.options.speed+"ms "+b.options.cssEase,b.options.fade===!1?b.$slideTrack.css(c):b.$slides.eq(a).css(c)},b.prototype.autoPlay=function(){var a=this;a.autoPlayClear(),a.slideCount>a.options.slidesToShow&&(a.autoPlayTimer=setInterval(a.autoPlayIterator,a.options.autoplaySpeed))},b.prototype.autoPlayClear=function(){var a=this;a.autoPlayTimer&&clearInterval(a.autoPlayTimer)},b.prototype.autoPlayIterator=function(){var a=this,b=a.currentSlide+a.options.slidesToScroll;a.paused||a.interrupted||a.focussed||(a.options.infinite===!1&&(1===a.direction&&a.currentSlide+1===a.slideCount-1?a.direction=0:0===a.direction&&(b=a.currentSlide-a.options.slidesToScroll,a.currentSlide-1===0&&(a.direction=1))),a.slideHandler(b))},b.prototype.buildArrows=function(){var b=this;b.options.arrows===!0&&(b.$prevArrow=a(b.options.prevArrow).addClass("slick-arrow"),b.$nextArrow=a(b.options.nextArrow).addClass("slick-arrow"),b.slideCount>b.options.slidesToShow?(b.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),b.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),b.htmlExpr.test(b.options.prevArrow)&&b.$prevArrow.prependTo(b.options.appendArrows),b.htmlExpr.test(b.options.nextArrow)&&b.$nextArrow.appendTo(b.options.appendArrows),b.options.infinite!==!0&&b.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true")):b.$prevArrow.add(b.$nextArrow).addClass("slick-hidden").attr({"aria-disabled":"true",tabindex:"-1"}))},b.prototype.buildDots=function(){var b,c,d=this;if(d.options.dots===!0&&d.slideCount>d.options.slidesToShow){for(d.$slider.addClass("slick-dotted"),c=a("<ul />").addClass(d.options.dotsClass),b=0;b<=d.getDotCount();b+=1)c.append(a("<li />").append(d.options.customPaging.call(this,d,b)));d.$dots=c.appendTo(d.options.appendDots),d.$dots.find("li").first().addClass("slick-active").attr("aria-hidden","false")}},b.prototype.buildOut=function(){var b=this;b.$slides=b.$slider.children(b.options.slide+":not(.slick-cloned)").addClass("slick-slide"),b.slideCount=b.$slides.length,b.$slides.each(function(b,c){a(c).attr("data-slick-index",b).data("originalStyling",a(c).attr("style")||"")}),b.$slider.addClass("slick-slider"),b.$slideTrack=0===b.slideCount?a('<div class="slick-track"/>').appendTo(b.$slider):b.$slides.wrapAll('<div class="slick-track"/>').parent(),b.$list=b.$slideTrack.wrap('<div aria-live="polite" class="slick-list"/>').parent(),b.$slideTrack.css("opacity",0),b.options.centerMode!==!0&&b.options.swipeToSlide!==!0||(b.options.slidesToScroll=1),a("img[data-lazy]",b.$slider).not("[src]").addClass("slick-loading"),b.setupInfinite(),b.buildArrows(),b.buildDots(),b.updateDots(),b.setSlideClasses("number"==typeof b.currentSlide?b.currentSlide:0),b.options.draggable===!0&&b.$list.addClass("draggable")},b.prototype.buildRows=function(){var a,b,c,d,e,f,g,h=this;if(d=document.createDocumentFragment(),f=h.$slider.children(),h.options.rows>1){for(g=h.options.slidesPerRow*h.options.rows,e=Math.ceil(f.length/g),a=0;e>a;a++){var i=document.createElement("div");for(b=0;b<h.options.rows;b++){var j=document.createElement("div");for(c=0;c<h.options.slidesPerRow;c++){var k=a*g+(b*h.options.slidesPerRow+c);f.get(k)&&j.appendChild(f.get(k))}i.appendChild(j)}d.appendChild(i)}h.$slider.empty().append(d),h.$slider.children().children().children().css({width:100/h.options.slidesPerRow+"%",display:"inline-block"})}},b.prototype.checkResponsive=function(b,c){var d,e,f,g=this,h=!1,i=g.$slider.width(),j=window.innerWidth||a(window).width();if("window"===g.respondTo?f=j:"slider"===g.respondTo?f=i:"min"===g.respondTo&&(f=Math.min(j,i)),g.options.responsive&&g.options.responsive.length&&null!==g.options.responsive){e=null;for(d in g.breakpoints)g.breakpoints.hasOwnProperty(d)&&(g.originalSettings.mobileFirst===!1?f<g.breakpoints[d]&&(e=g.breakpoints[d]):f>g.breakpoints[d]&&(e=g.breakpoints[d]));null!==e?null!==g.activeBreakpoint?(e!==g.activeBreakpoint||c)&&(g.activeBreakpoint=e,"unslick"===g.breakpointSettings[e]?g.unslick(e):(g.options=a.extend({},g.originalSettings,g.breakpointSettings[e]),b===!0&&(g.currentSlide=g.options.initialSlide),g.refresh(b)),h=e):(g.activeBreakpoint=e,"unslick"===g.breakpointSettings[e]?g.unslick(e):(g.options=a.extend({},g.originalSettings,g.breakpointSettings[e]),b===!0&&(g.currentSlide=g.options.initialSlide),g.refresh(b)),h=e):null!==g.activeBreakpoint&&(g.activeBreakpoint=null,g.options=g.originalSettings,b===!0&&(g.currentSlide=g.options.initialSlide),g.refresh(b),h=e),b||h===!1||g.$slider.trigger("breakpoint",[g,h])}},b.prototype.changeSlide=function(b,c){var d,e,f,g=this,h=a(b.currentTarget);switch(h.is("a")&&b.preventDefault(),h.is("li")||(h=h.closest("li")),f=g.slideCount%g.options.slidesToScroll!==0,d=f?0:(g.slideCount-g.currentSlide)%g.options.slidesToScroll,b.data.message){case"previous":e=0===d?g.options.slidesToScroll:g.options.slidesToShow-d,g.slideCount>g.options.slidesToShow&&g.slideHandler(g.currentSlide-e,!1,c);break;case"next":e=0===d?g.options.slidesToScroll:d,g.slideCount>g.options.slidesToShow&&g.slideHandler(g.currentSlide+e,!1,c);break;case"index":var i=0===b.data.index?0:b.data.index||h.index()*g.options.slidesToScroll;g.slideHandler(g.checkNavigable(i),!1,c),h.children().trigger("focus");break;default:return}},b.prototype.checkNavigable=function(a){var b,c,d=this;if(b=d.getNavigableIndexes(),c=0,a>b[b.length-1])a=b[b.length-1];else for(var e in b){if(a<b[e]){a=c;break}c=b[e]}return a},b.prototype.cleanUpEvents=function(){var b=this;b.options.dots&&null!==b.$dots&&a("li",b.$dots).off("click.slick",b.changeSlide).off("mouseenter.slick",a.proxy(b.interrupt,b,!0)).off("mouseleave.slick",a.proxy(b.interrupt,b,!1)),b.$slider.off("focus.slick blur.slick"),b.options.arrows===!0&&b.slideCount>b.options.slidesToShow&&(b.$prevArrow&&b.$prevArrow.off("click.slick",b.changeSlide),b.$nextArrow&&b.$nextArrow.off("click.slick",b.changeSlide)),b.$list.off("touchstart.slick mousedown.slick",b.swipeHandler),b.$list.off("touchmove.slick mousemove.slick",b.swipeHandler),b.$list.off("touchend.slick mouseup.slick",b.swipeHandler),b.$list.off("touchcancel.slick mouseleave.slick",b.swipeHandler),b.$list.off("click.slick",b.clickHandler),a(document).off(b.visibilityChange,b.visibility),b.cleanUpSlideEvents(),b.options.accessibility===!0&&b.$list.off("keydown.slick",b.keyHandler),b.options.focusOnSelect===!0&&a(b.$slideTrack).children().off("click.slick",b.selectHandler),a(window).off("orientationchange.slick.slick-"+b.instanceUid,b.orientationChange),a(window).off("resize.slick.slick-"+b.instanceUid,b.resize),a("[draggable!=true]",b.$slideTrack).off("dragstart",b.preventDefault),a(window).off("load.slick.slick-"+b.instanceUid,b.setPosition),a(document).off("ready.slick.slick-"+b.instanceUid,b.setPosition)},b.prototype.cleanUpSlideEvents=function(){var b=this;b.$list.off("mouseenter.slick",a.proxy(b.interrupt,b,!0)),b.$list.off("mouseleave.slick",a.proxy(b.interrupt,b,!1))},b.prototype.cleanUpRows=function(){var a,b=this;b.options.rows>1&&(a=b.$slides.children().children(),a.removeAttr("style"),b.$slider.empty().append(a))},b.prototype.clickHandler=function(a){var b=this;b.shouldClick===!1&&(a.stopImmediatePropagation(),a.stopPropagation(),a.preventDefault())},b.prototype.destroy=function(b){var c=this;c.autoPlayClear(),c.touchObject={},c.cleanUpEvents(),a(".slick-cloned",c.$slider).detach(),c.$dots&&c.$dots.remove(),c.$prevArrow&&c.$prevArrow.length&&(c.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),c.htmlExpr.test(c.options.prevArrow)&&c.$prevArrow.remove()),c.$nextArrow&&c.$nextArrow.length&&(c.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),c.htmlExpr.test(c.options.nextArrow)&&c.$nextArrow.remove()),c.$slides&&(c.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function(){a(this).attr("style",a(this).data("originalStyling"))}),c.$slideTrack.children(this.options.slide).detach(),c.$slideTrack.detach(),c.$list.detach(),c.$slider.append(c.$slides)),c.cleanUpRows(),c.$slider.removeClass("slick-slider"),c.$slider.removeClass("slick-initialized"),c.$slider.removeClass("slick-dotted"),c.unslicked=!0,b||c.$slider.trigger("destroy",[c])},b.prototype.disableTransition=function(a){var b=this,c={};c[b.transitionType]="",b.options.fade===!1?b.$slideTrack.css(c):b.$slides.eq(a).css(c)},b.prototype.fadeSlide=function(a,b){var c=this;c.cssTransitions===!1?(c.$slides.eq(a).css({zIndex:c.options.zIndex}),c.$slides.eq(a).animate({opacity:1},c.options.speed,c.options.easing,b)):(c.applyTransition(a),c.$slides.eq(a).css({opacity:1,zIndex:c.options.zIndex}),b&&setTimeout(function(){c.disableTransition(a),b.call()},c.options.speed))},b.prototype.fadeSlideOut=function(a){var b=this;b.cssTransitions===!1?b.$slides.eq(a).animate({opacity:0,zIndex:b.options.zIndex-2},b.options.speed,b.options.easing):(b.applyTransition(a),b.$slides.eq(a).css({opacity:0,zIndex:b.options.zIndex-2}))},b.prototype.filterSlides=b.prototype.slickFilter=function(a){var b=this;null!==a&&(b.$slidesCache=b.$slides,b.unload(),b.$slideTrack.children(this.options.slide).detach(),b.$slidesCache.filter(a).appendTo(b.$slideTrack),b.reinit())},b.prototype.focusHandler=function(){var b=this;b.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick","*:not(.slick-arrow)",function(c){c.stopImmediatePropagation();var d=a(this);setTimeout(function(){b.options.pauseOnFocus&&(b.focussed=d.is(":focus"),b.autoPlay())},0)})},b.prototype.getCurrent=b.prototype.slickCurrentSlide=function(){var a=this;return a.currentSlide},b.prototype.getDotCount=function(){var a=this,b=0,c=0,d=0;if(a.options.infinite===!0)for(;b<a.slideCount;)++d,b=c+a.options.slidesToScroll,c+=a.options.slidesToScroll<=a.options.slidesToShow?a.options.slidesToScroll:a.options.slidesToShow;else if(a.options.centerMode===!0)d=a.slideCount;else if(a.options.asNavFor)for(;b<a.slideCount;)++d,b=c+a.options.slidesToScroll,c+=a.options.slidesToScroll<=a.options.slidesToShow?a.options.slidesToScroll:a.options.slidesToShow;else d=1+Math.ceil((a.slideCount-a.options.slidesToShow)/a.options.slidesToScroll);return d-1},b.prototype.getLeft=function(a){var b,c,d,e=this,f=0;return e.slideOffset=0,c=e.$slides.first().outerHeight(!0),e.options.infinite===!0?(e.slideCount>e.options.slidesToShow&&(e.slideOffset=e.slideWidth*e.options.slidesToShow*-1,f=c*e.options.slidesToShow*-1),e.slideCount%e.options.slidesToScroll!==0&&a+e.options.slidesToScroll>e.slideCount&&e.slideCount>e.options.slidesToShow&&(a>e.slideCount?(e.slideOffset=(e.options.slidesToShow-(a-e.slideCount))*e.slideWidth*-1,f=(e.options.slidesToShow-(a-e.slideCount))*c*-1):(e.slideOffset=e.slideCount%e.options.slidesToScroll*e.slideWidth*-1,f=e.slideCount%e.options.slidesToScroll*c*-1))):a+e.options.slidesToShow>e.slideCount&&(e.slideOffset=(a+e.options.slidesToShow-e.slideCount)*e.slideWidth,f=(a+e.options.slidesToShow-e.slideCount)*c),e.slideCount<=e.options.slidesToShow&&(e.slideOffset=0,f=0),e.options.centerMode===!0&&e.options.infinite===!0?e.slideOffset+=e.slideWidth*Math.floor(e.options.slidesToShow/2)-e.slideWidth:e.options.centerMode===!0&&(e.slideOffset=0,e.slideOffset+=e.slideWidth*Math.floor(e.options.slidesToShow/2)),b=e.options.vertical===!1?a*e.slideWidth*-1+e.slideOffset:a*c*-1+f,e.options.variableWidth===!0&&(d=e.slideCount<=e.options.slidesToShow||e.options.infinite===!1?e.$slideTrack.children(".slick-slide").eq(a):e.$slideTrack.children(".slick-slide").eq(a+e.options.slidesToShow),b=e.options.rtl===!0?d[0]?-1*(e.$slideTrack.width()-d[0].offsetLeft-d.width()):0:d[0]?-1*d[0].offsetLeft:0,e.options.centerMode===!0&&(d=e.slideCount<=e.options.slidesToShow||e.options.infinite===!1?e.$slideTrack.children(".slick-slide").eq(a):e.$slideTrack.children(".slick-slide").eq(a+e.options.slidesToShow+1),b=e.options.rtl===!0?d[0]?-1*(e.$slideTrack.width()-d[0].offsetLeft-d.width()):0:d[0]?-1*d[0].offsetLeft:0,b+=(e.$list.width()-d.outerWidth())/2)),b},b.prototype.getOption=b.prototype.slickGetOption=function(a){var b=this;return b.options[a]},b.prototype.getNavigableIndexes=function(){var a,b=this,c=0,d=0,e=[];for(b.options.infinite===!1?a=b.slideCount:(c=-1*b.options.slidesToScroll,d=-1*b.options.slidesToScroll,a=2*b.slideCount);a>c;)e.push(c),c=d+b.options.slidesToScroll,d+=b.options.slidesToScroll<=b.options.slidesToShow?b.options.slidesToScroll:b.options.slidesToShow;return e},b.prototype.getSlick=function(){return this},b.prototype.getSlideCount=function(){var b,c,d,e=this;return d=e.options.centerMode===!0?e.slideWidth*Math.floor(e.options.slidesToShow/2):0,e.options.swipeToSlide===!0?(e.$slideTrack.find(".slick-slide").each(function(b,f){return f.offsetLeft-d+a(f).outerWidth()/2>-1*e.swipeLeft?(c=f,!1):void 0}),b=Math.abs(a(c).attr("data-slick-index")-e.currentSlide)||1):e.options.slidesToScroll},b.prototype.goTo=b.prototype.slickGoTo=function(a,b){var c=this;c.changeSlide({data:{message:"index",index:parseInt(a)}},b)},b.prototype.init=function(b){var c=this;a(c.$slider).hasClass("slick-initialized")||(a(c.$slider).addClass("slick-initialized"),
7
+ c.buildRows(),c.buildOut(),c.setProps(),c.startLoad(),c.loadSlider(),c.initializeEvents(),c.updateArrows(),c.updateDots(),c.checkResponsive(!0),c.focusHandler()),b&&c.$slider.trigger("init",[c]),c.options.accessibility===!0&&c.initADA(),c.options.autoplay&&(c.paused=!1,c.autoPlay())},b.prototype.initADA=function(){var b=this;b.$slides.add(b.$slideTrack.find(".slick-cloned")).attr({"aria-hidden":"true",tabindex:"-1"}).find("a, input, button, select").attr({tabindex:"-1"}),b.$slideTrack.attr("role","listbox"),b.$slides.not(b.$slideTrack.find(".slick-cloned")).each(function(c){a(this).attr({role:"option","aria-describedby":"slick-slide"+b.instanceUid+c})}),null!==b.$dots&&b.$dots.attr("role","tablist").find("li").each(function(c){a(this).attr({role:"presentation","aria-selected":"false","aria-controls":"navigation"+b.instanceUid+c,id:"slick-slide"+b.instanceUid+c})}).first().attr("aria-selected","true").end().find("button").attr("role","button").end().closest("div").attr("role","toolbar"),b.activateADA()},b.prototype.initArrowEvents=function(){var a=this;a.options.arrows===!0&&a.slideCount>a.options.slidesToShow&&(a.$prevArrow.off("click.slick").on("click.slick",{message:"previous"},a.changeSlide),a.$nextArrow.off("click.slick").on("click.slick",{message:"next"},a.changeSlide))},b.prototype.initDotEvents=function(){var b=this;b.options.dots===!0&&b.slideCount>b.options.slidesToShow&&a("li",b.$dots).on("click.slick",{message:"index"},b.changeSlide),b.options.dots===!0&&b.options.pauseOnDotsHover===!0&&a("li",b.$dots).on("mouseenter.slick",a.proxy(b.interrupt,b,!0)).on("mouseleave.slick",a.proxy(b.interrupt,b,!1))},b.prototype.initSlideEvents=function(){var b=this;b.options.pauseOnHover&&(b.$list.on("mouseenter.slick",a.proxy(b.interrupt,b,!0)),b.$list.on("mouseleave.slick",a.proxy(b.interrupt,b,!1)))},b.prototype.initializeEvents=function(){var b=this;b.initArrowEvents(),b.initDotEvents(),b.initSlideEvents(),b.$list.on("touchstart.slick mousedown.slick",{action:"start"},b.swipeHandler),b.$list.on("touchmove.slick mousemove.slick",{action:"move"},b.swipeHandler),b.$list.on("touchend.slick mouseup.slick",{action:"end"},b.swipeHandler),b.$list.on("touchcancel.slick mouseleave.slick",{action:"end"},b.swipeHandler),b.$list.on("click.slick",b.clickHandler),a(document).on(b.visibilityChange,a.proxy(b.visibility,b)),b.options.accessibility===!0&&b.$list.on("keydown.slick",b.keyHandler),b.options.focusOnSelect===!0&&a(b.$slideTrack).children().on("click.slick",b.selectHandler),a(window).on("orientationchange.slick.slick-"+b.instanceUid,a.proxy(b.orientationChange,b)),a(window).on("resize.slick.slick-"+b.instanceUid,a.proxy(b.resize,b)),a("[draggable!=true]",b.$slideTrack).on("dragstart",b.preventDefault),a(window).on("load.slick.slick-"+b.instanceUid,b.setPosition),a(document).on("ready.slick.slick-"+b.instanceUid,b.setPosition)},b.prototype.initUI=function(){var a=this;a.options.arrows===!0&&a.slideCount>a.options.slidesToShow&&(a.$prevArrow.show(),a.$nextArrow.show()),a.options.dots===!0&&a.slideCount>a.options.slidesToShow&&a.$dots.show()},b.prototype.keyHandler=function(a){var b=this;a.target.tagName.match("TEXTAREA|INPUT|SELECT")||(37===a.keyCode&&b.options.accessibility===!0?b.changeSlide({data:{message:b.options.rtl===!0?"next":"previous"}}):39===a.keyCode&&b.options.accessibility===!0&&b.changeSlide({data:{message:b.options.rtl===!0?"previous":"next"}}))},b.prototype.lazyLoad=function(){function b(b){a("img[data-lazy]",b).each(function(){var b=a(this),c=a(this).attr("data-lazy"),d=document.createElement("img");d.onload=function(){b.animate({opacity:0},100,function(){b.attr("src",c).animate({opacity:1},200,function(){b.removeAttr("data-lazy").removeClass("slick-loading")}),g.$slider.trigger("lazyLoaded",[g,b,c])})},d.onerror=function(){b.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),g.$slider.trigger("lazyLoadError",[g,b,c])},d.src=c})}var c,d,e,f,g=this;g.options.centerMode===!0?g.options.infinite===!0?(e=g.currentSlide+(g.options.slidesToShow/2+1),f=e+g.options.slidesToShow+2):(e=Math.max(0,g.currentSlide-(g.options.slidesToShow/2+1)),f=2+(g.options.slidesToShow/2+1)+g.currentSlide):(e=g.options.infinite?g.options.slidesToShow+g.currentSlide:g.currentSlide,f=Math.ceil(e+g.options.slidesToShow),g.options.fade===!0&&(e>0&&e--,f<=g.slideCount&&f++)),c=g.$slider.find(".slick-slide").slice(e,f),b(c),g.slideCount<=g.options.slidesToShow?(d=g.$slider.find(".slick-slide"),b(d)):g.currentSlide>=g.slideCount-g.options.slidesToShow?(d=g.$slider.find(".slick-cloned").slice(0,g.options.slidesToShow),b(d)):0===g.currentSlide&&(d=g.$slider.find(".slick-cloned").slice(-1*g.options.slidesToShow),b(d))},b.prototype.loadSlider=function(){var a=this;a.setPosition(),a.$slideTrack.css({opacity:1}),a.$slider.removeClass("slick-loading"),a.initUI(),"progressive"===a.options.lazyLoad&&a.progressiveLazyLoad()},b.prototype.next=b.prototype.slickNext=function(){var a=this;a.changeSlide({data:{message:"next"}})},b.prototype.orientationChange=function(){var a=this;a.checkResponsive(),a.setPosition()},b.prototype.pause=b.prototype.slickPause=function(){var a=this;a.autoPlayClear(),a.paused=!0},b.prototype.play=b.prototype.slickPlay=function(){var a=this;a.autoPlay(),a.options.autoplay=!0,a.paused=!1,a.focussed=!1,a.interrupted=!1},b.prototype.postSlide=function(a){var b=this;b.unslicked||(b.$slider.trigger("afterChange",[b,a]),b.animating=!1,b.setPosition(),b.swipeLeft=null,b.options.autoplay&&b.autoPlay(),b.options.accessibility===!0&&b.initADA())},b.prototype.prev=b.prototype.slickPrev=function(){var a=this;a.changeSlide({data:{message:"previous"}})},b.prototype.preventDefault=function(a){a.preventDefault()},b.prototype.progressiveLazyLoad=function(b){b=b||1;var c,d,e,f=this,g=a("img[data-lazy]",f.$slider);g.length?(c=g.first(),d=c.attr("data-lazy"),e=document.createElement("img"),e.onload=function(){c.attr("src",d).removeAttr("data-lazy").removeClass("slick-loading"),f.options.adaptiveHeight===!0&&f.setPosition(),f.$slider.trigger("lazyLoaded",[f,c,d]),f.progressiveLazyLoad()},e.onerror=function(){3>b?setTimeout(function(){f.progressiveLazyLoad(b+1)},500):(c.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),f.$slider.trigger("lazyLoadError",[f,c,d]),f.progressiveLazyLoad())},e.src=d):f.$slider.trigger("allImagesLoaded",[f])},b.prototype.refresh=function(b){var c,d,e=this;d=e.slideCount-e.options.slidesToShow,!e.options.infinite&&e.currentSlide>d&&(e.currentSlide=d),e.slideCount<=e.options.slidesToShow&&(e.currentSlide=0),c=e.currentSlide,e.destroy(!0),a.extend(e,e.initials,{currentSlide:c}),e.init(),b||e.changeSlide({data:{message:"index",index:c}},!1)},b.prototype.registerBreakpoints=function(){var b,c,d,e=this,f=e.options.responsive||null;if("array"===a.type(f)&&f.length){e.respondTo=e.options.respondTo||"window";for(b in f)if(d=e.breakpoints.length-1,c=f[b].breakpoint,f.hasOwnProperty(b)){for(;d>=0;)e.breakpoints[d]&&e.breakpoints[d]===c&&e.breakpoints.splice(d,1),d--;e.breakpoints.push(c),e.breakpointSettings[c]=f[b].settings}e.breakpoints.sort(function(a,b){return e.options.mobileFirst?a-b:b-a})}},b.prototype.reinit=function(){var b=this;b.$slides=b.$slideTrack.children(b.options.slide).addClass("slick-slide"),b.slideCount=b.$slides.length,b.currentSlide>=b.slideCount&&0!==b.currentSlide&&(b.currentSlide=b.currentSlide-b.options.slidesToScroll),b.slideCount<=b.options.slidesToShow&&(b.currentSlide=0),b.registerBreakpoints(),b.setProps(),b.setupInfinite(),b.buildArrows(),b.updateArrows(),b.initArrowEvents(),b.buildDots(),b.updateDots(),b.initDotEvents(),b.cleanUpSlideEvents(),b.initSlideEvents(),b.checkResponsive(!1,!0),b.options.focusOnSelect===!0&&a(b.$slideTrack).children().on("click.slick",b.selectHandler),b.setSlideClasses("number"==typeof b.currentSlide?b.currentSlide:0),b.setPosition(),b.focusHandler(),b.paused=!b.options.autoplay,b.autoPlay(),b.$slider.trigger("reInit",[b])},b.prototype.resize=function(){var b=this;a(window).width()!==b.windowWidth&&(clearTimeout(b.windowDelay),b.windowDelay=window.setTimeout(function(){b.windowWidth=a(window).width(),b.checkResponsive(),b.unslicked||b.setPosition()},50))},b.prototype.removeSlide=b.prototype.slickRemove=function(a,b,c){var d=this;return"boolean"==typeof a?(b=a,a=b===!0?0:d.slideCount-1):a=b===!0?--a:a,d.slideCount<1||0>a||a>d.slideCount-1?!1:(d.unload(),c===!0?d.$slideTrack.children().remove():d.$slideTrack.children(this.options.slide).eq(a).remove(),d.$slides=d.$slideTrack.children(this.options.slide),d.$slideTrack.children(this.options.slide).detach(),d.$slideTrack.append(d.$slides),d.$slidesCache=d.$slides,void d.reinit())},b.prototype.setCSS=function(a){var b,c,d=this,e={};d.options.rtl===!0&&(a=-a),b="left"==d.positionProp?Math.ceil(a)+"px":"0px",c="top"==d.positionProp?Math.ceil(a)+"px":"0px",e[d.positionProp]=a,d.transformsEnabled===!1?d.$slideTrack.css(e):(e={},d.cssTransitions===!1?(e[d.animType]="translate("+b+", "+c+")",d.$slideTrack.css(e)):(e[d.animType]="translate3d("+b+", "+c+", 0px)",d.$slideTrack.css(e)))},b.prototype.setDimensions=function(){var a=this;a.options.vertical===!1?a.options.centerMode===!0&&a.$list.css({padding:"0px "+a.options.centerPadding}):(a.$list.height(a.$slides.first().outerHeight(!0)*a.options.slidesToShow),a.options.centerMode===!0&&a.$list.css({padding:a.options.centerPadding+" 0px"})),a.listWidth=a.$list.width(),a.listHeight=a.$list.height(),a.options.vertical===!1&&a.options.variableWidth===!1?(a.slideWidth=Math.ceil(a.listWidth/a.options.slidesToShow),a.$slideTrack.width(Math.ceil(a.slideWidth*a.$slideTrack.children(".slick-slide").length))):a.options.variableWidth===!0?a.$slideTrack.width(5e3*a.slideCount):(a.slideWidth=Math.ceil(a.listWidth),a.$slideTrack.height(Math.ceil(a.$slides.first().outerHeight(!0)*a.$slideTrack.children(".slick-slide").length)));var b=a.$slides.first().outerWidth(!0)-a.$slides.first().width();a.options.variableWidth===!1&&a.$slideTrack.children(".slick-slide").width(a.slideWidth-b)},b.prototype.setFade=function(){var b,c=this;c.$slides.each(function(d,e){b=c.slideWidth*d*-1,c.options.rtl===!0?a(e).css({position:"relative",right:b,top:0,zIndex:c.options.zIndex-2,opacity:0}):a(e).css({position:"relative",left:b,top:0,zIndex:c.options.zIndex-2,opacity:0})}),c.$slides.eq(c.currentSlide).css({zIndex:c.options.zIndex-1,opacity:1})},b.prototype.setHeight=function(){var a=this;if(1===a.options.slidesToShow&&a.options.adaptiveHeight===!0&&a.options.vertical===!1){var b=a.$slides.eq(a.currentSlide).outerHeight(!0);a.$list.css("height",b)}},b.prototype.setOption=b.prototype.slickSetOption=function(){var b,c,d,e,f,g=this,h=!1;if("object"===a.type(arguments[0])?(d=arguments[0],h=arguments[1],f="multiple"):"string"===a.type(arguments[0])&&(d=arguments[0],e=arguments[1],h=arguments[2],"responsive"===arguments[0]&&"array"===a.type(arguments[1])?f="responsive":"undefined"!=typeof arguments[1]&&(f="single")),"single"===f)g.options[d]=e;else if("multiple"===f)a.each(d,function(a,b){g.options[a]=b});else if("responsive"===f)for(c in e)if("array"!==a.type(g.options.responsive))g.options.responsive=[e[c]];else{for(b=g.options.responsive.length-1;b>=0;)g.options.responsive[b].breakpoint===e[c].breakpoint&&g.options.responsive.splice(b,1),b--;g.options.responsive.push(e[c])}h&&(g.unload(),g.reinit())},b.prototype.setPosition=function(){var a=this;a.setDimensions(),a.setHeight(),a.options.fade===!1?a.setCSS(a.getLeft(a.currentSlide)):a.setFade(),a.$slider.trigger("setPosition",[a])},b.prototype.setProps=function(){var a=this,b=document.body.style;a.positionProp=a.options.vertical===!0?"top":"left","top"===a.positionProp?a.$slider.addClass("slick-vertical"):a.$slider.removeClass("slick-vertical"),void 0===b.WebkitTransition&&void 0===b.MozTransition&&void 0===b.msTransition||a.options.useCSS===!0&&(a.cssTransitions=!0),a.options.fade&&("number"==typeof a.options.zIndex?a.options.zIndex<3&&(a.options.zIndex=3):a.options.zIndex=a.defaults.zIndex),void 0!==b.OTransform&&(a.animType="OTransform",a.transformType="-o-transform",a.transitionType="OTransition",void 0===b.perspectiveProperty&&void 0===b.webkitPerspective&&(a.animType=!1)),void 0!==b.MozTransform&&(a.animType="MozTransform",a.transformType="-moz-transform",a.transitionType="MozTransition",void 0===b.perspectiveProperty&&void 0===b.MozPerspective&&(a.animType=!1)),void 0!==b.webkitTransform&&(a.animType="webkitTransform",a.transformType="-webkit-transform",a.transitionType="webkitTransition",void 0===b.perspectiveProperty&&void 0===b.webkitPerspective&&(a.animType=!1)),void 0!==b.msTransform&&(a.animType="msTransform",a.transformType="-ms-transform",a.transitionType="msTransition",void 0===b.msTransform&&(a.animType=!1)),void 0!==b.transform&&a.animType!==!1&&(a.animType="transform",a.transformType="transform",a.transitionType="transition"),a.transformsEnabled=a.options.useTransform&&null!==a.animType&&a.animType!==!1},b.prototype.setSlideClasses=function(a){var b,c,d,e,f=this;c=f.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden","true"),f.$slides.eq(a).addClass("slick-current"),f.options.centerMode===!0?(b=Math.floor(f.options.slidesToShow/2),f.options.infinite===!0&&(a>=b&&a<=f.slideCount-1-b?f.$slides.slice(a-b,a+b+1).addClass("slick-active").attr("aria-hidden","false"):(d=f.options.slidesToShow+a,c.slice(d-b+1,d+b+2).addClass("slick-active").attr("aria-hidden","false")),0===a?c.eq(c.length-1-f.options.slidesToShow).addClass("slick-center"):a===f.slideCount-1&&c.eq(f.options.slidesToShow).addClass("slick-center")),f.$slides.eq(a).addClass("slick-center")):a>=0&&a<=f.slideCount-f.options.slidesToShow?f.$slides.slice(a,a+f.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"):c.length<=f.options.slidesToShow?c.addClass("slick-active").attr("aria-hidden","false"):(e=f.slideCount%f.options.slidesToShow,d=f.options.infinite===!0?f.options.slidesToShow+a:a,f.options.slidesToShow==f.options.slidesToScroll&&f.slideCount-a<f.options.slidesToShow?c.slice(d-(f.options.slidesToShow-e),d+e).addClass("slick-active").attr("aria-hidden","false"):c.slice(d,d+f.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false")),"ondemand"===f.options.lazyLoad&&f.lazyLoad()},b.prototype.setupInfinite=function(){var b,c,d,e=this;if(e.options.fade===!0&&(e.options.centerMode=!1),e.options.infinite===!0&&e.options.fade===!1&&(c=null,e.slideCount>e.options.slidesToShow)){for(d=e.options.centerMode===!0?e.options.slidesToShow+1:e.options.slidesToShow,b=e.slideCount;b>e.slideCount-d;b-=1)c=b-1,a(e.$slides[c]).clone(!0).attr("id","").attr("data-slick-index",c-e.slideCount).prependTo(e.$slideTrack).addClass("slick-cloned");for(b=0;d>b;b+=1)c=b,a(e.$slides[c]).clone(!0).attr("id","").attr("data-slick-index",c+e.slideCount).appendTo(e.$slideTrack).addClass("slick-cloned");e.$slideTrack.find(".slick-cloned").find("[id]").each(function(){a(this).attr("id","")})}},b.prototype.interrupt=function(a){var b=this;a||b.autoPlay(),b.interrupted=a},b.prototype.selectHandler=function(b){var c=this,d=a(b.target).is(".slick-slide")?a(b.target):a(b.target).parents(".slick-slide"),e=parseInt(d.attr("data-slick-index"));return e||(e=0),c.slideCount<=c.options.slidesToShow?(c.setSlideClasses(e),void c.asNavFor(e)):void c.slideHandler(e)},b.prototype.slideHandler=function(a,b,c){var d,e,f,g,h,i=null,j=this;return b=b||!1,j.animating===!0&&j.options.waitForAnimate===!0||j.options.fade===!0&&j.currentSlide===a||j.slideCount<=j.options.slidesToShow?void 0:(b===!1&&j.asNavFor(a),d=a,i=j.getLeft(d),g=j.getLeft(j.currentSlide),j.currentLeft=null===j.swipeLeft?g:j.swipeLeft,j.options.infinite===!1&&j.options.centerMode===!1&&(0>a||a>j.getDotCount()*j.options.slidesToScroll)?void(j.options.fade===!1&&(d=j.currentSlide,c!==!0?j.animateSlide(g,function(){j.postSlide(d)}):j.postSlide(d))):j.options.infinite===!1&&j.options.centerMode===!0&&(0>a||a>j.slideCount-j.options.slidesToScroll)?void(j.options.fade===!1&&(d=j.currentSlide,c!==!0?j.animateSlide(g,function(){j.postSlide(d)}):j.postSlide(d))):(j.options.autoplay&&clearInterval(j.autoPlayTimer),e=0>d?j.slideCount%j.options.slidesToScroll!==0?j.slideCount-j.slideCount%j.options.slidesToScroll:j.slideCount+d:d>=j.slideCount?j.slideCount%j.options.slidesToScroll!==0?0:d-j.slideCount:d,j.animating=!0,j.$slider.trigger("beforeChange",[j,j.currentSlide,e]),f=j.currentSlide,j.currentSlide=e,j.setSlideClasses(j.currentSlide),j.options.asNavFor&&(h=j.getNavTarget(),h=h.slick("getSlick"),h.slideCount<=h.options.slidesToShow&&h.setSlideClasses(j.currentSlide)),j.updateDots(),j.updateArrows(),j.options.fade===!0?(c!==!0?(j.fadeSlideOut(f),j.fadeSlide(e,function(){j.postSlide(e)})):j.postSlide(e),void j.animateHeight()):void(c!==!0?j.animateSlide(i,function(){j.postSlide(e)}):j.postSlide(e))))},b.prototype.startLoad=function(){var a=this;a.options.arrows===!0&&a.slideCount>a.options.slidesToShow&&(a.$prevArrow.hide(),a.$nextArrow.hide()),a.options.dots===!0&&a.slideCount>a.options.slidesToShow&&a.$dots.hide(),a.$slider.addClass("slick-loading")},b.prototype.swipeDirection=function(){var a,b,c,d,e=this;return a=e.touchObject.startX-e.touchObject.curX,b=e.touchObject.startY-e.touchObject.curY,c=Math.atan2(b,a),d=Math.round(180*c/Math.PI),0>d&&(d=360-Math.abs(d)),45>=d&&d>=0?e.options.rtl===!1?"left":"right":360>=d&&d>=315?e.options.rtl===!1?"left":"right":d>=135&&225>=d?e.options.rtl===!1?"right":"left":e.options.verticalSwiping===!0?d>=35&&135>=d?"down":"up":"vertical"},b.prototype.swipeEnd=function(a){var b,c,d=this;if(d.dragging=!1,d.interrupted=!1,d.shouldClick=!(d.touchObject.swipeLength>10),void 0===d.touchObject.curX)return!1;if(d.touchObject.edgeHit===!0&&d.$slider.trigger("edge",[d,d.swipeDirection()]),d.touchObject.swipeLength>=d.touchObject.minSwipe){switch(c=d.swipeDirection()){case"left":case"down":b=d.options.swipeToSlide?d.checkNavigable(d.currentSlide+d.getSlideCount()):d.currentSlide+d.getSlideCount(),d.currentDirection=0;break;case"right":case"up":b=d.options.swipeToSlide?d.checkNavigable(d.currentSlide-d.getSlideCount()):d.currentSlide-d.getSlideCount(),d.currentDirection=1}"vertical"!=c&&(d.slideHandler(b),d.touchObject={},d.$slider.trigger("swipe",[d,c]))}else d.touchObject.startX!==d.touchObject.curX&&(d.slideHandler(d.currentSlide),d.touchObject={})},b.prototype.swipeHandler=function(a){var b=this;if(!(b.options.swipe===!1||"ontouchend"in document&&b.options.swipe===!1||b.options.draggable===!1&&-1!==a.type.indexOf("mouse")))switch(b.touchObject.fingerCount=a.originalEvent&&void 0!==a.originalEvent.touches?a.originalEvent.touches.length:1,b.touchObject.minSwipe=b.listWidth/b.options.touchThreshold,b.options.verticalSwiping===!0&&(b.touchObject.minSwipe=b.listHeight/b.options.touchThreshold),a.data.action){case"start":b.swipeStart(a);break;case"move":b.swipeMove(a);break;case"end":b.swipeEnd(a)}},b.prototype.swipeMove=function(a){var b,c,d,e,f,g=this;return f=void 0!==a.originalEvent?a.originalEvent.touches:null,!g.dragging||f&&1!==f.length?!1:(b=g.getLeft(g.currentSlide),g.touchObject.curX=void 0!==f?f[0].pageX:a.clientX,g.touchObject.curY=void 0!==f?f[0].pageY:a.clientY,g.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(g.touchObject.curX-g.touchObject.startX,2))),g.options.verticalSwiping===!0&&(g.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(g.touchObject.curY-g.touchObject.startY,2)))),c=g.swipeDirection(),"vertical"!==c?(void 0!==a.originalEvent&&g.touchObject.swipeLength>4&&a.preventDefault(),e=(g.options.rtl===!1?1:-1)*(g.touchObject.curX>g.touchObject.startX?1:-1),g.options.verticalSwiping===!0&&(e=g.touchObject.curY>g.touchObject.startY?1:-1),d=g.touchObject.swipeLength,g.touchObject.edgeHit=!1,g.options.infinite===!1&&(0===g.currentSlide&&"right"===c||g.currentSlide>=g.getDotCount()&&"left"===c)&&(d=g.touchObject.swipeLength*g.options.edgeFriction,g.touchObject.edgeHit=!0),g.options.vertical===!1?g.swipeLeft=b+d*e:g.swipeLeft=b+d*(g.$list.height()/g.listWidth)*e,g.options.verticalSwiping===!0&&(g.swipeLeft=b+d*e),g.options.fade===!0||g.options.touchMove===!1?!1:g.animating===!0?(g.swipeLeft=null,!1):void g.setCSS(g.swipeLeft)):void 0)},b.prototype.swipeStart=function(a){var b,c=this;return c.interrupted=!0,1!==c.touchObject.fingerCount||c.slideCount<=c.options.slidesToShow?(c.touchObject={},!1):(void 0!==a.originalEvent&&void 0!==a.originalEvent.touches&&(b=a.originalEvent.touches[0]),c.touchObject.startX=c.touchObject.curX=void 0!==b?b.pageX:a.clientX,c.touchObject.startY=c.touchObject.curY=void 0!==b?b.pageY:a.clientY,void(c.dragging=!0))},b.prototype.unfilterSlides=b.prototype.slickUnfilter=function(){var a=this;null!==a.$slidesCache&&(a.unload(),a.$slideTrack.children(this.options.slide).detach(),a.$slidesCache.appendTo(a.$slideTrack),a.reinit())},b.prototype.unload=function(){var b=this;a(".slick-cloned",b.$slider).remove(),b.$dots&&b.$dots.remove(),b.$prevArrow&&b.htmlExpr.test(b.options.prevArrow)&&b.$prevArrow.remove(),b.$nextArrow&&b.htmlExpr.test(b.options.nextArrow)&&b.$nextArrow.remove(),b.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden","true").css("width","")},b.prototype.unslick=function(a){var b=this;b.$slider.trigger("unslick",[b,a]),b.destroy()},b.prototype.updateArrows=function(){var a,b=this;a=Math.floor(b.options.slidesToShow/2),b.options.arrows===!0&&b.slideCount>b.options.slidesToShow&&!b.options.infinite&&(b.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false"),b.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false"),0===b.currentSlide?(b.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true"),b.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false")):b.currentSlide>=b.slideCount-b.options.slidesToShow&&b.options.centerMode===!1?(b.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),b.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")):b.currentSlide>=b.slideCount-1&&b.options.centerMode===!0&&(b.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),b.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")))},b.prototype.updateDots=function(){var a=this;null!==a.$dots&&(a.$dots.find("li").removeClass("slick-active").attr("aria-hidden","true"),a.$dots.find("li").eq(Math.floor(a.currentSlide/a.options.slidesToScroll)).addClass("slick-active").attr("aria-hidden","false"))},b.prototype.visibility=function(){var a=this;a.options.autoplay&&(document[a.hidden]?a.interrupted=!0:a.interrupted=!1)},a.fn.slick=function(){var a,c,d=this,e=arguments[0],f=Array.prototype.slice.call(arguments,1),g=d.length;for(a=0;g>a;a++)if("object"==typeof e||"undefined"==typeof e?d[a].slick=new b(d[a],e):c=d[a].slick[e].apply(d[a].slick,f),"undefined"!=typeof c)return c;return d}});
@@ -0,0 +1,446 @@
1
+
2
+ /*
3
+ Lightbox for Bootstrap 3 by @ashleydw
4
+ https://github.com/ashleydw/lightbox
5
+
6
+ License: https://github.com/ashleydw/lightbox/blob/master/LICENSE
7
+ */
8
+
9
+ (function() {
10
+ "use strict";
11
+ var $, EkkoLightbox;
12
+
13
+ $ = jQuery;
14
+
15
+ EkkoLightbox = function(element, options) {
16
+ var content, footer, header;
17
+ this.options = $.extend({
18
+ title: null,
19
+ footer: null,
20
+ remote: null
21
+ }, $.fn.ekkoLightbox.defaults, options || {});
22
+ this.$element = $(element);
23
+ content = '';
24
+ this.modal_id = this.options.modal_id ? this.options.modal_id : 'ekkoLightbox-' + Math.floor((Math.random() * 1000) + 1);
25
+ header = '<div class="modal-header"' + (this.options.title || this.options.always_show_close ? '' : ' style="display:none"') + '><button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button><h4 class="modal-title">' + (this.options.title || "&nbsp;") + '</h4></div>';
26
+ footer = '<div class="modal-footer"' + (this.options.footer ? '' : ' style="display:none"') + '>' + this.options.footer + '</div>';
27
+ $(document.body).append('<div id="' + this.modal_id + '" class="ekko-lightbox modal fade" tabindex="-1"><div class="modal-dialog"><div class="modal-content">' + header + '<div class="modal-body"><div class="ekko-lightbox-container"><div></div></div></div>' + footer + '</div></div></div>');
28
+ this.modal = $('#' + this.modal_id);
29
+ this.modal_dialog = this.modal.find('.modal-dialog').first();
30
+ this.modal_content = this.modal.find('.modal-content').first();
31
+ this.modal_body = this.modal.find('.modal-body').first();
32
+ this.modal_header = this.modal.find('.modal-header').first();
33
+ this.modal_footer = this.modal.find('.modal-footer').first();
34
+ this.lightbox_container = this.modal_body.find('.ekko-lightbox-container').first();
35
+ this.lightbox_body = this.lightbox_container.find('> div:first-child').first();
36
+ this.showLoading();
37
+ this.modal_arrows = null;
38
+ this.border = {
39
+ top: parseFloat(this.modal_dialog.css('border-top-width')) + parseFloat(this.modal_content.css('border-top-width')) + parseFloat(this.modal_body.css('border-top-width')),
40
+ right: parseFloat(this.modal_dialog.css('border-right-width')) + parseFloat(this.modal_content.css('border-right-width')) + parseFloat(this.modal_body.css('border-right-width')),
41
+ bottom: parseFloat(this.modal_dialog.css('border-bottom-width')) + parseFloat(this.modal_content.css('border-bottom-width')) + parseFloat(this.modal_body.css('border-bottom-width')),
42
+ left: parseFloat(this.modal_dialog.css('border-left-width')) + parseFloat(this.modal_content.css('border-left-width')) + parseFloat(this.modal_body.css('border-left-width'))
43
+ };
44
+ this.padding = {
45
+ top: parseFloat(this.modal_dialog.css('padding-top')) + parseFloat(this.modal_content.css('padding-top')) + parseFloat(this.modal_body.css('padding-top')),
46
+ right: parseFloat(this.modal_dialog.css('padding-right')) + parseFloat(this.modal_content.css('padding-right')) + parseFloat(this.modal_body.css('padding-right')),
47
+ bottom: parseFloat(this.modal_dialog.css('padding-bottom')) + parseFloat(this.modal_content.css('padding-bottom')) + parseFloat(this.modal_body.css('padding-bottom')),
48
+ left: parseFloat(this.modal_dialog.css('padding-left')) + parseFloat(this.modal_content.css('padding-left')) + parseFloat(this.modal_body.css('padding-left'))
49
+ };
50
+ this.modal.on('show.bs.modal', this.options.onShow.bind(this)).on('shown.bs.modal', (function(_this) {
51
+ return function() {
52
+ _this.modal_shown();
53
+ return _this.options.onShown.call(_this);
54
+ };
55
+ })(this)).on('hide.bs.modal', this.options.onHide.bind(this)).on('hidden.bs.modal', (function(_this) {
56
+ return function() {
57
+ if (_this.gallery) {
58
+ $(document).off('keydown.ekkoLightbox');
59
+ }
60
+ _this.modal.remove();
61
+ return _this.options.onHidden.call(_this);
62
+ };
63
+ })(this)).modal('show', options);
64
+ return this.modal;
65
+ };
66
+
67
+ EkkoLightbox.prototype = {
68
+ modal_shown: function() {
69
+ var video_id;
70
+ if (!this.options.remote) {
71
+ return this.error('No remote target given');
72
+ } else {
73
+ this.gallery = this.$element.data('gallery');
74
+ if (this.gallery) {
75
+ if (this.options.gallery_parent_selector === 'document.body' || this.options.gallery_parent_selector === '') {
76
+ this.gallery_items = $(document.body).find('*[data-gallery="' + this.gallery + '"]');
77
+ } else {
78
+ this.gallery_items = this.$element.parents(this.options.gallery_parent_selector).first().find('*[data-gallery="' + this.gallery + '"]');
79
+ }
80
+ this.gallery_index = this.gallery_items.index(this.$element);
81
+ $(document).on('keydown.ekkoLightbox', this.navigate.bind(this));
82
+ if (this.options.directional_arrows && this.gallery_items.length > 1) {
83
+ this.lightbox_container.append('<div class="ekko-lightbox-nav-overlay"><a href="#" class="' + this.strip_stops(this.options.left_arrow_class) + '"></a><a href="#" class="' + this.strip_stops(this.options.right_arrow_class) + '"></a></div>');
84
+ this.modal_arrows = this.lightbox_container.find('div.ekko-lightbox-nav-overlay').first();
85
+ this.lightbox_container.find('a' + this.strip_spaces(this.options.left_arrow_class)).on('click', (function(_this) {
86
+ return function(event) {
87
+ event.preventDefault();
88
+ return _this.navigate_left();
89
+ };
90
+ })(this));
91
+ this.lightbox_container.find('a' + this.strip_spaces(this.options.right_arrow_class)).on('click', (function(_this) {
92
+ return function(event) {
93
+ event.preventDefault();
94
+ return _this.navigate_right();
95
+ };
96
+ })(this));
97
+ }
98
+ }
99
+ if (this.options.type) {
100
+ if (this.options.type === 'image') {
101
+ return this.preloadImage(this.options.remote, true);
102
+ } else if (this.options.type === 'youtube' && (video_id = this.getYoutubeId(this.options.remote))) {
103
+ return this.showYoutubeVideo(video_id);
104
+ } else if (this.options.type === 'vimeo') {
105
+ return this.showVimeoVideo(this.options.remote);
106
+ } else if (this.options.type === 'instagram') {
107
+ return this.showInstagramVideo(this.options.remote);
108
+ } else if (this.options.type === 'url') {
109
+ return this.loadRemoteContent(this.options.remote);
110
+ } else if (this.options.type === 'video') {
111
+ return this.showVideoIframe(this.options.remote);
112
+ } else {
113
+ return this.error("Could not detect remote target type. Force the type using data-type=\"image|youtube|vimeo|instagram|url|video\"");
114
+ }
115
+ } else {
116
+ return this.detectRemoteType(this.options.remote);
117
+ }
118
+ }
119
+ },
120
+ strip_stops: function(str) {
121
+ return str.replace(/\./g, '');
122
+ },
123
+ strip_spaces: function(str) {
124
+ return str.replace(/\s/g, '');
125
+ },
126
+ isImage: function(str) {
127
+ return str.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i);
128
+ },
129
+ isSwf: function(str) {
130
+ return str.match(/\.(swf)((\?|#).*)?$/i);
131
+ },
132
+ getYoutubeId: function(str) {
133
+ var match;
134
+ match = str.match(/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/);
135
+ if (match && match[2].length === 11) {
136
+ return match[2];
137
+ } else {
138
+ return false;
139
+ }
140
+ },
141
+ getVimeoId: function(str) {
142
+ if (str.indexOf('vimeo') > 0) {
143
+ return str;
144
+ } else {
145
+ return false;
146
+ }
147
+ },
148
+ getInstagramId: function(str) {
149
+ if (str.indexOf('instagram') > 0) {
150
+ return str;
151
+ } else {
152
+ return false;
153
+ }
154
+ },
155
+ navigate: function(event) {
156
+ event = event || window.event;
157
+ if (event.keyCode === 39 || event.keyCode === 37) {
158
+ if (event.keyCode === 39) {
159
+ return this.navigate_right();
160
+ } else if (event.keyCode === 37) {
161
+ return this.navigate_left();
162
+ }
163
+ }
164
+ },
165
+ navigateTo: function(index) {
166
+ var next, src;
167
+ if (index < 0 || index > this.gallery_items.length - 1) {
168
+ return this;
169
+ }
170
+ this.showLoading();
171
+ this.gallery_index = index;
172
+ this.$element = $(this.gallery_items.get(this.gallery_index));
173
+ this.updateTitleAndFooter();
174
+ src = this.$element.attr('data-remote') || this.$element.attr('href');
175
+ this.detectRemoteType(src, this.$element.attr('data-type') || false);
176
+ if (this.gallery_index + 1 < this.gallery_items.length) {
177
+ next = $(this.gallery_items.get(this.gallery_index + 1), false);
178
+ src = next.attr('data-remote') || next.attr('href');
179
+ if (next.attr('data-type') === 'image' || this.isImage(src)) {
180
+ return this.preloadImage(src, false);
181
+ }
182
+ }
183
+ },
184
+ navigate_left: function() {
185
+ if (this.gallery_items.length === 1) {
186
+ return;
187
+ }
188
+ if (this.gallery_index === 0) {
189
+ this.gallery_index = this.gallery_items.length - 1;
190
+ } else {
191
+ this.gallery_index--;
192
+ }
193
+ this.options.onNavigate.call(this, 'left', this.gallery_index);
194
+ return this.navigateTo(this.gallery_index);
195
+ },
196
+ navigate_right: function() {
197
+ if (this.gallery_items.length === 1) {
198
+ return;
199
+ }
200
+ if (this.gallery_index === this.gallery_items.length - 1) {
201
+ this.gallery_index = 0;
202
+ } else {
203
+ this.gallery_index++;
204
+ }
205
+ this.options.onNavigate.call(this, 'right', this.gallery_index);
206
+ return this.navigateTo(this.gallery_index);
207
+ },
208
+ detectRemoteType: function(src, type) {
209
+ var video_id;
210
+ type = type || false;
211
+ if (type === 'image' || this.isImage(src)) {
212
+ this.options.type = 'image';
213
+ return this.preloadImage(src, true);
214
+ } else if (type === 'youtube' || (video_id = this.getYoutubeId(src))) {
215
+ this.options.type = 'youtube';
216
+ return this.showYoutubeVideo(video_id);
217
+ } else if (type === 'vimeo' || (video_id = this.getVimeoId(src))) {
218
+ this.options.type = 'vimeo';
219
+ return this.showVimeoVideo(video_id);
220
+ } else if (type === 'instagram' || (video_id = this.getInstagramId(src))) {
221
+ this.options.type = 'instagram';
222
+ return this.showInstagramVideo(video_id);
223
+ } else if (type === 'video') {
224
+ this.options.type = 'video';
225
+ return this.showVideoIframe(video_id);
226
+ } else {
227
+ this.options.type = 'url';
228
+ return this.loadRemoteContent(src);
229
+ }
230
+ },
231
+ updateTitleAndFooter: function() {
232
+ var caption, footer, header, title;
233
+ header = this.modal_content.find('.modal-header');
234
+ footer = this.modal_content.find('.modal-footer');
235
+ title = this.$element.data('title') || "";
236
+ caption = this.$element.data('footer') || "";
237
+ if (title || this.options.always_show_close) {
238
+ header.css('display', '').find('.modal-title').html(title || "&nbsp;");
239
+ } else {
240
+ header.css('display', 'none');
241
+ }
242
+ if (caption) {
243
+ footer.css('display', '').html(caption);
244
+ } else {
245
+ footer.css('display', 'none');
246
+ }
247
+ return this;
248
+ },
249
+ showLoading: function() {
250
+ this.lightbox_body.html('<div class="modal-loading">' + this.options.loadingMessage + '</div>');
251
+ return this;
252
+ },
253
+ showYoutubeVideo: function(id) {
254
+ var height, rel, width;
255
+ if ((this.$element.attr('data-norelated') != null) || this.options.no_related) {
256
+ rel = "&rel=0";
257
+ } else {
258
+ rel = "";
259
+ }
260
+ width = this.checkDimensions(this.$element.data('width') || 560);
261
+ height = width / (560 / 315);
262
+ return this.showVideoIframe('//www.youtube.com/embed/' + id + '?badge=0&autoplay=1&html5=1' + rel, width, height);
263
+ },
264
+ showVimeoVideo: function(id) {
265
+ var height, width;
266
+ width = this.checkDimensions(this.$element.data('width') || 560);
267
+ height = width / (500 / 281);
268
+ return this.showVideoIframe(id + '?autoplay=1', width, height);
269
+ },
270
+ showInstagramVideo: function(id) {
271
+ var height, width;
272
+ width = this.checkDimensions(this.$element.data('width') || 612);
273
+ this.resize(width);
274
+ height = width + 80;
275
+ this.lightbox_body.html('<iframe width="' + width + '" height="' + height + '" src="' + this.addTrailingSlash(id) + 'embed/" frameborder="0" allowfullscreen></iframe>');
276
+ this.options.onContentLoaded.call(this);
277
+ if (this.modal_arrows) {
278
+ return this.modal_arrows.css('display', 'none');
279
+ }
280
+ },
281
+ showVideoIframe: function(url, width, height) {
282
+ height = height || width;
283
+ this.resize(width);
284
+ this.lightbox_body.html('<div class="embed-responsive embed-responsive-16by9"><iframe width="' + width + '" height="' + height + '" src="' + url + '" frameborder="0" allowfullscreen class="embed-responsive-item"></iframe></div>');
285
+ this.options.onContentLoaded.call(this);
286
+ if (this.modal_arrows) {
287
+ this.modal_arrows.css('display', 'none');
288
+ }
289
+ return this;
290
+ },
291
+ loadRemoteContent: function(url) {
292
+ var disableExternalCheck, width;
293
+ width = this.$element.data('width') || 560;
294
+ this.resize(width);
295
+ disableExternalCheck = this.$element.data('disableExternalCheck') || false;
296
+ if (!disableExternalCheck && !this.isExternal(url)) {
297
+ this.lightbox_body.load(url, $.proxy((function(_this) {
298
+ return function() {
299
+ return _this.$element.trigger('loaded.bs.modal');
300
+ };
301
+ })(this)));
302
+ } else {
303
+ this.lightbox_body.html('<iframe width="' + width + '" height="' + width + '" src="' + url + '" frameborder="0" allowfullscreen></iframe>');
304
+ this.options.onContentLoaded.call(this);
305
+ }
306
+ if (this.modal_arrows) {
307
+ this.modal_arrows.css('display', 'none');
308
+ }
309
+ return this;
310
+ },
311
+ isExternal: function(url) {
312
+ var match;
313
+ match = url.match(/^([^:\/?#]+:)?(?:\/\/([^\/?#]*))?([^?#]+)?(\?[^#]*)?(#.*)?/);
314
+ if (typeof match[1] === "string" && match[1].length > 0 && match[1].toLowerCase() !== location.protocol) {
315
+ return true;
316
+ }
317
+ if (typeof match[2] === "string" && match[2].length > 0 && match[2].replace(new RegExp(":(" + {
318
+ "http:": 80,
319
+ "https:": 443
320
+ }[location.protocol] + ")?$"), "") !== location.host) {
321
+ return true;
322
+ }
323
+ return false;
324
+ },
325
+ error: function(message) {
326
+ this.lightbox_body.html(message);
327
+ return this;
328
+ },
329
+ preloadImage: function(src, onLoadShowImage) {
330
+ var img;
331
+ img = new Image();
332
+ if ((onLoadShowImage == null) || onLoadShowImage === true) {
333
+ img.onload = (function(_this) {
334
+ return function() {
335
+ var image;
336
+ image = $('<img />');
337
+ image.attr('src', img.src);
338
+ image.addClass('img-responsive');
339
+ _this.lightbox_body.html(image);
340
+ if (_this.modal_arrows) {
341
+ _this.modal_arrows.css('display', 'block');
342
+ }
343
+ return image.load(function() {
344
+ if (_this.options.scale_height) {
345
+ _this.scaleHeight(img.height, img.width);
346
+ } else {
347
+ _this.resize(img.width);
348
+ }
349
+ return _this.options.onContentLoaded.call(_this);
350
+ });
351
+ };
352
+ })(this);
353
+ img.onerror = (function(_this) {
354
+ return function() {
355
+ return _this.error('Failed to load image: ' + src);
356
+ };
357
+ })(this);
358
+ }
359
+ img.src = src;
360
+ return img;
361
+ },
362
+ scaleHeight: function(height, width) {
363
+ var border_padding, factor, footer_height, header_height, margins, max_height;
364
+ header_height = this.modal_header.outerHeight(true) || 0;
365
+ footer_height = this.modal_footer.outerHeight(true) || 0;
366
+ if (!this.modal_footer.is(':visible')) {
367
+ footer_height = 0;
368
+ }
369
+ if (!this.modal_header.is(':visible')) {
370
+ header_height = 0;
371
+ }
372
+ border_padding = this.border.top + this.border.bottom + this.padding.top + this.padding.bottom;
373
+ margins = parseFloat(this.modal_dialog.css('margin-top')) + parseFloat(this.modal_dialog.css('margin-bottom'));
374
+ max_height = $(window).height() - border_padding - margins - header_height - footer_height;
375
+ factor = Math.min(max_height / height, 1);
376
+ this.modal_dialog.css('height', 'auto').css('max-height', max_height);
377
+ return this.resize(factor * width);
378
+ },
379
+ resize: function(width) {
380
+ var width_total;
381
+ width_total = width + this.border.left + this.padding.left + this.padding.right + this.border.right;
382
+ this.modal_dialog.css('width', 'auto').css('max-width', width_total);
383
+ this.lightbox_container.find('a').css('line-height', function() {
384
+ return $(this).parent().height() + 'px';
385
+ });
386
+ return this;
387
+ },
388
+ checkDimensions: function(width) {
389
+ var body_width, width_total;
390
+ width_total = width + this.border.left + this.padding.left + this.padding.right + this.border.right;
391
+ body_width = document.body.clientWidth;
392
+ if (width_total > body_width) {
393
+ width = this.modal_body.width();
394
+ }
395
+ return width;
396
+ },
397
+ close: function() {
398
+ return this.modal.modal('hide');
399
+ },
400
+ addTrailingSlash: function(url) {
401
+ if (url.substr(-1) !== '/') {
402
+ url += '/';
403
+ }
404
+ return url;
405
+ }
406
+ };
407
+
408
+ $.fn.ekkoLightbox = function(options) {
409
+ return this.each(function() {
410
+ var $this;
411
+ $this = $(this);
412
+ options = $.extend({
413
+ remote: $this.attr('data-remote') || $this.attr('href'),
414
+ gallery_parent_selector: $this.attr('data-parent'),
415
+ type: $this.attr('data-type')
416
+ }, options, $this.data());
417
+ new EkkoLightbox(this, options);
418
+ return this;
419
+ });
420
+ };
421
+
422
+ $.fn.ekkoLightbox.defaults = {
423
+ gallery_parent_selector: 'document.body',
424
+ left_arrow_class: '.glyphicon .glyphicon-chevron-left',
425
+ right_arrow_class: '.glyphicon .glyphicon-chevron-right',
426
+ directional_arrows: true,
427
+ type: null,
428
+ always_show_close: true,
429
+ no_related: false,
430
+ scale_height: true,
431
+ loadingMessage: 'Loading...',
432
+ onShow: function() {},
433
+ onShown: function() {},
434
+ onHide: function() {},
435
+ onHidden: function() {},
436
+ onNavigate: function() {},
437
+ onContentLoaded: function() {}
438
+ };
439
+
440
+ }).call(this);
441
+
442
+
443
+ $(document).delegate('*[data-toggle="lightbox"]', 'click', function(event) {
444
+ event.preventDefault();
445
+ $(this).ekkoLightbox();
446
+ });