(function(){var n,i,t,r;if(L.Control.FullScreen=L.Control.extend({options:{position:"topleft",title:"Full Screen",forceSeparateButton:!1,forcePseudoFullscreen:!1},onAdd:function(n){var t;return t=n.zoomControl&&!this.options.forceSeparateButton?n.zoomControl._container:L.DomUtil.create("div","leaflet-bar"),this._createButton(this.options.title,"leaflet-control-zoom-fullscreen",t,this.toggleFullScreen,this),t},_createButton:function(t,i,r,u,f){var e=L.DomUtil.create("a",i,r);return e.href="#",e.title=t,L.DomEvent.addListener(e,"click",L.DomEvent.stopPropagation).addListener(e,"click",L.DomEvent.preventDefault).addListener(e,"click",u,f),L.DomEvent.addListener(r,n.fullScreenEventName,L.DomEvent.stopPropagation).addListener(r,n.fullScreenEventName,L.DomEvent.preventDefault).addListener(r,n.fullScreenEventName,this._handleEscKey,f),L.DomEvent.addListener(document,n.fullScreenEventName,L.DomEvent.stopPropagation).addListener(document,n.fullScreenEventName,L.DomEvent.preventDefault).addListener(document,n.fullScreenEventName,this._handleEscKey,f),e},toggleFullScreen:function(){var t=this._map;t._exitFired=!1;t._isFullscreen?(n.supportsFullScreen&&!this.options.forcePseudoFullscreen?n.cancelFullScreen(t._container):L.DomUtil.removeClass(t._container,"leaflet-pseudo-fullscreen"),t.invalidateSize(),t.fire("exitFullscreen"),t._exitFired=!0,t._isFullscreen=!1):(n.supportsFullScreen&&!this.options.forcePseudoFullscreen?n.requestFullScreen(t._container):L.DomUtil.addClass(t._container,"leaflet-pseudo-fullscreen"),t.invalidateSize(),t.fire("enterFullscreen"),t._isFullscreen=!0)},_handleEscKey:function(){var t=this._map;n.isFullScreen(t)||t._exitFired||(t.fire("exitFullscreen"),t._exitFired=!0,t._isFullscreen=!1)}}),L.Map.addInitHook(function(){this.options.fullscreenControl&&(this.fullscreenControl=L.control.fullscreen(this.options.fullscreenControlOptions),this.addControl(this.fullscreenControl))}),L.control.fullscreen=function(n){return new L.Control.FullScreen(n)},n={supportsFullScreen:!1,isFullScreen:function(){return!1},requestFullScreen:function(){},cancelFullScreen:function(){},fullScreenEventName:"",prefix:""},i="webkit moz o ms khtml".split(" "),typeof document.exitFullscreen!="undefined")n.supportsFullScreen=!0;else for(t=0,r=i.length;t<r;t++)if(n.prefix=i[t],typeof document[n.prefix+"CancelFullScreen"]!="undefined"){n.supportsFullScreen=!0;break}n.supportsFullScreen&&(n.fullScreenEventName=n.prefix+"fullscreenchange",n.isFullScreen=function(){switch(this.prefix){case"":return document.fullScreen;case"webkit":return document.webkitIsFullScreen;default:return document[this.prefix+"FullScreen"]}},n.requestFullScreen=function(n){return this.prefix===""?n.requestFullscreen():n[this.prefix+"RequestFullScreen"]()},n.cancelFullScreen=function(){return this.prefix===""?document.exitFullscreen():document[this.prefix+"CancelFullScreen"]()});typeof jQuery!="undefined"&&(jQuery.fn.requestFullScreen=function(){return this.each(function(){var t=jQuery(this);n.supportsFullScreen&&n.requestFullScreen(t)})});window.fullScreenApi=n})()