/*! lightgallery - v1.2.14 - 2016-01-18 * http://sachinchoolur.github.io/lightGallery/ * Copyright (c) 2016 Sachin N; Licensed Apache 2.0 */ (function($, window, document, undefined) { 'use strict'; var defaults = { fullScreen: true }; var Fullscreen = function(element) { // get lightGallery core plugin data this.core = $(element).data('lightGallery'); this.$el = $(element); // extend module defalut settings with lightGallery core settings this.core.s = $.extend({}, defaults, this.core.s); this.init(); return this; }; Fullscreen.prototype.init = function() { var fullScreen = ''; if (this.core.s.fullScreen) { // check for fullscreen browser support if (!document.fullscreenEnabled && !document.webkitFullscreenEnabled && !document.mozFullScreenEnabled && !document.msFullscreenEnabled) { return; } else { fullScreen = ''; this.core.$outer.find('.lg-toolbar').append(fullScreen); this.fullScreen(); } } }; Fullscreen.prototype.requestFullscreen = function() { var el = document.documentElement; if (el.requestFullscreen) { el.requestFullscreen(); } else if (el.msRequestFullscreen) { el.msRequestFullscreen(); } else if (el.mozRequestFullScreen) { el.mozRequestFullScreen(); } else if (el.webkitRequestFullscreen) { el.webkitRequestFullscreen(); } }; Fullscreen.prototype.exitFullscreen = function() { if (document.exitFullscreen) { document.exitFullscreen(); } else if (document.msExitFullscreen) { document.msExitFullscreen(); } else if (document.mozCancelFullScreen) { document.mozCancelFullScreen(); } else if (document.webkitExitFullscreen) { document.webkitExitFullscreen(); } }; // https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Using_full_screen_mode Fullscreen.prototype.fullScreen = function() { var _this = this; $(document).on('fullscreenchange.lg webkitfullscreenchange.lg mozfullscreenchange.lg MSFullscreenChange.lg', function() { _this.core.$outer.toggleClass('lg-fullscreen-on'); }); this.core.$outer.find('.lg-fullscreen').on('click.lg', function() { if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement) { _this.requestFullscreen(); } else { _this.exitFullscreen(); } }); }; Fullscreen.prototype.destroy = function() { // exit from fullscreen if activated this.exitFullscreen(); $(document).off('fullscreenchange.lg webkitfullscreenchange.lg mozfullscreenchange.lg MSFullscreenChange.lg'); }; $.fn.lightGallery.modules.fullscreen = Fullscreen; })(jQuery, window, document);