$(document).ready(function(){
  if ($.isFunction($.fn.bxSlider)) {
    $('.bxslider').bxSlider({

      infiniteLoop: true,
      hideControlOnEnd: false,
      captions: true,
      auto: false,
      speed: 600

    });
  }

  if (typeof Swiper != 'undefined') {
    new Swiper ('.swiper-container', {
      slidesPerView: 3,
      preventClicks: false,
      preventClicksPropagation: false,
      grabCursor: false,
      keyboardControl: true,
      simulateTouch: false,
      mousewheelControl: false,
      prevButton: '.swiper-button-prev',
      nextButton: '.swiper-button-next',
      slidesOffsetBefore: 16,
      loop: true,
      pagination: '.swiper-pagination',
      paginationClickable: true,
      speed: 600
    });
  }

  if ($.isFunction($.fn.colorbox)) {
    $(".screenshot").colorbox();
  }

  if (typeof PDFJS != 'undefined') {
    $('.pdf')
      .each(function (index, element) {
        var data = $(element).data();
        PDFJS.getDocument(data.src)
          .then(function (pdf) {
            pdf.getPage(1)
              .then(function (page) {
                data.page = 1;
                var viewport = page.getViewport(1);
                var maxHeight = $(element).height();
                var maxWidth = $(element).width();
                var scaleVertical = maxHeight / viewport.height;
                var scaleHorizontal = maxWidth / viewport.width;
                var scale = Math.min(scaleVertical, scaleHorizontal);
                var scaledViewport = page.getViewport(scale);

                var navLeft = $('<div></div>').addClass('nav-left').hide();
                var navRight = $('<div></div>').addClass('nav-right');

                if (pdf.numPages < 2) {
                  navRight.hide();
                } else {
                  navLeft.click(function (event) {
                    navRight.show();
                    var pageNo = data.page - 1;
                    if (pageNo === 1) {
                      $(event.target).hide();
                    }
                    pdf.getPage(pageNo).then(function (page) {
                      data.page = pageNo;
                      page.render(data.renderContext);
                    });
                  });
                  navRight.click(function (event) {
                    navLeft.show();
                    var pageNo = data.page + 1;
                    if (pageNo === pdf.numPages) {
                      $(event.target).hide();
                    }
                    pdf.getPage(pageNo).then(function (page) {
                      data.page = pageNo;
                      page.render(data.renderContext);
                    });
                  });
                }

                if (pdf.numPages > 1) {
                  $(element).append(navLeft);
                }

                var canvas = $('<canvas class="case-studies"></canvas>');
                $(element).append(canvas);
                canvas = canvas[0];

                if (pdf.numPages > 1) {
                  $(element).append(navRight);
                }

                var context = canvas.getContext('2d');
                canvas.height = scaledViewport.height;
                canvas.width = scaledViewport.width;

                var renderContext = {
                  canvasContext: context,
                  viewport: scaledViewport
                };
                data.renderContext = renderContext;
                page.render(renderContext);
              }
            );
          }
        );
      }
    );
  }
});