1function isMobile(returnTrueIfTouch){if(returnTrueIfTouch==undefined){returnTrueIfTouch=true}var ua=navigator.userAgent;var devices=["iphone","ipad","ipod","droid","blackberry","mobile","htc","samsung","nokia","archos","galaxy","motorola","pad","tab","slate","motorola","symbian","phone","nintendo","playstation","touch","webos","ericsson"];var pattern;if(Modernizr.ftouch&&returnTrueIfTouch){return true}for(i=0;i<devices.length;i++){pattern=new RegExp(devices[i],"i");if(ua.search(pattern)>-1){return true}}return false}function parseGet(){var couples=window.location.search.substr(1).split("&");var res={};var couple=[];for(var i=0;i<couples.length;i++){couple=couples[i].split("=");res[couple[0]]=couple[1]}return res}function getBaseURL(removeQuery){if(removeQuery===undefined){removeQuery=false}var l=window.location.toString();var e=l.split("#");var l=e[0];if(removeQuery){e=l.split("?");l=e[0]}if(l.indexOf(".")!=-1){e=l.split("/");e.pop();l=e.join("/")}return l}function getSpriteIcon(icon,attrs,dimensions){var a=[];
1var iconSymbol=$('svg symbol[id="'+icon+'"]');if(iconSymbol.length>1){$('svg symbol[id="'+icon+'"]:not(:last)').remove();iconSymbol=$('svg symbol[id="'+icon+'"]')}if(iconSymbol.length==0){return""}if(attrs==undefined){attrs={}}if(attrs.viewBox==null){attrs.viewBox=iconSymbol.get(0).attributes.viewBox.value}if(dimensions===true){var vb=attrs.viewBox.split(" ");attrs.x=vb[0];attrs.y=vb[1];attrs.width=vb[2];attrs.height=vb[3]}if(attrs.class==null){attrs.class=icon}else{attrs.class+=" "+icon}attrs.class+=" nav-icon svg-icon";$.each(attrs,function(k,v){a.push(k+'="'+v+'"')});return"<svg "+a.join(" ")+' aria-hidden="true"><use xlink:href="#'+icon+'" /></svg>'}function relativeToAbsoluteURL(relative){var link=document.createElement("a");link.href=relative;return link.href}function blur(){if($(":focus").length>0){var tmp=document.createElement("input");document.body.appendChild(tmp);tmp.focus();document.body.removeChild(tmp)}}function array_diff(a,b){return a.filter(function(i){return b.indexOf(i)<0})}function getIframeDocument(iframe){iframe=$(iframe).get(0);var doc=iframe.contentWindow||iframe.contentDocument;if(doc.document){doc=doc.document}return doc}function FluidbookNetworkControl(fluidbook){this.fluidbook=fluidbook;this.pauseDate=null;this.pauseQueue=[];this.pausePriorityQueue=[];this.afterProcessingQueue=[];this.processing=true;this.init()}FluidbookNetworkControl.prototype={init:function(){var $this=this;setInterval(function(){if($this.pauseDate!=null&&$this.pauseDate<Date.now()){$this.resume()}},1e3)},pause:function(during,reset){if(reset===undefined){reset=false}var date=Date.now()+during+500;if(this.pauseDate==null||reset){this.pauseDate=date}else{this.pauseDate=Math.max(this.pauseDate,date)}},resume:function(){this.pauseDate=null;this.flushQueue();return},executeWhenNetwork:function(f,highPriority){if(this.fluidbook.shortLoading||this.fluidbook.settings.priorityToPreload){f();return}if(highPriority===undefined){highPriority=false}if(highPriority){this.pausePriorityQueue.push(f)}else{this.pauseQueue.push(f)}if(this.pauseDate==null){this.flushQueue()}},executeAfterProcessing:function(f,loader){this.afterProcessingQueue=[f];if(!this.processing){this.flushAfterProcessingQueue()}else{if(loader!==undefined&&loader===true){this.fluidbook.displayLoader()}}},flushAfterProcessingQueue:function(){$.each(this.afterProcessingQueue,function(k,f){f()});this.afterProcessingQueue=[]},flushQueue:function(){if(this.pausePriorityQueue.length===0&&this.pauseQueue.length===0||this.pauseDate!=null){this.processing=false;return}this.processing=true;var f;if(this.pausePriorityQueue.length>0){f=this.pausePriorityQueue.shift()}else{f=this.pauseQueue.shift()}var $this=this;f(function(){setTimeout(function(){$this.flushAfterProcessingQueue();$this.processing=false;$this.flushQueue()},100)})}};function FluidbookSplash(fluidbook){this.fluidbook=fluidbook;this.hideSplashTimeout=.5;this.isHidding=false;this.init()}FluidbookSplash.prototype={init:function(){this.waitForTimer=true;this.waitForReady=true;var defaultMin=1;if(this.fluidbook.settings.performance3DMode==="auto"){defaultMin=3}var min=parseFloat(this.fluidbook.settings.splashMinimalTime);if(min<defaultMin||isNaN(min)){min=defaultMin}if(this.fluidbook.shortLoading){min=0;this.waitForTimer=false;this.hideIfPossible()}var $this=this;this.initTime=Date.now();setTimeout(function(){$this.waitForTimer=false;$this.hideIfPossible()},min*1e3)},hide:function(){if($("#splash").length==0){return}this.waitForReady=false;try{navigator.splashscreen.hide()}catch(err){}$(this.fluidbook).trigger("fluidbook.splash.beforehide");var $this=this;if(this.fluidbook.support.transitions3dacc&&this.fluidbook.settings.mobileTransitions==="flip3d"&&!this.fluidbook.mobilefirst.enabled){$("#main,#viewOverlay,#view").css("visibility","visible");resize();this.fluidbook.networkControl.pause(4e3);setTimeout(function(){this.fluidbook.pagetransitions.flip3d.performancesTest(function(){$this.fluidbook.networkControl.resume();var timeout=$this.hideSplashTimeout;setTimeout(function(){$this.hideIfPossible()},timeout*1e3)})},500)}else{this.hideIfPossible()}},isVisible:function(){return $("#splash").is(":visible")},hideIfPossible:function(){if(!this.waitForReady&&!this.waitForTimer){this._hide()}},_hide:function(){this.isHidding=true;var $this=this;var timeout=this.fluidbook.shortLoading?0:700;this.fluidbook.resize.resize(false,true);setTimeout(function(){$this.__hide()},timeout)},__hide:function(){$("#main,#viewOverlay,#view").css("visibility","visible");this.fluidbook.resize.resize(false);this.fluidbook.hideLoader(0,true);if(this.fluidbook.shortLoading){$("#splash").remove()}else if(this.fluidbook.support.transitions2d&&!this.fluidbook.support.iOS){$("#splash").css("opacity",0).one("transitionend",function(){$(this).remove()})}else{gsap.to($("#splash"),{duration:.5,autoAlpha:0,onComplete:function(){$("#splash").remove()}})}$("#background").addClass("visible");setTimeout(function(){$("#splash").remove()},1500);this.fluidbook.allowChangePage();$(this.fluidbook).trigger("fluidbook.splash.hide");this.isHidding=false}};function FluidbookLinks(fluidbook){this.fluidbook=fluidbook;this.showLinkAnimating=false;this.lastTriggeredLinksPage=-1;try{this.zoom=new FluidbookLinksZoom(fluidbook)}catch(e){}this.lowdef=false;this.init()}FluidbookLinks.prototype={init:function(){$("#hiddencontents").html(this.fluidbook.settings.hiddenContents);this.jumpToPageContainingLink=true;var $this=this;if(this.fluidbook.settings.phonegap==="ios"){$(document).on("touchstart touchend click","a.clickonly",function(e){var cancel=function(e){e.preventDefault();e.stopPropagation();e.stopImmediatePropagation()};if(e.type==="touchstart"){$(this).data("touchstart",Date.now());cancel(e)}else if(e.type==="touchend"){var start=$(this).data("touchstart");if(start===null){cancel(e);return false}var diff=Date.now()-start;if(diff>300){cancel(e);return false}var href=$(this).attr("href");if(href!==undefined&&href!==null&&href!==""&&href!=="#"){cancel(e);window.location=href;return false}return true}})}this.lowdef=this.fluidbook.support.android||this.fluidbook.support.iOS;$(this.fluidbook).on("fluidbook.page.change.end",function(){if($this.lastTriggeredLinksPage==$this.fluidbook.currentPage){}$this.lastTriggeredLinksPage=$this.fluidbook.currentPage;var pages=$this.fluidbook.getDisplayedPages();var links=[];$.each(pages,function(k,page){$.each($this.fluidbook.settings.triggersLinks,function(j,triggers){if(triggers.page==page&&links.indexOf(triggers.link)===-1){links.push({link:triggers.link,delay:triggers.delay})}})});$.each(links,function(k,link){setTimeout(function(){$this.showLinkAnimating=false;$this.triggerLinkById(link.link)},k+link.delay*1e3)})});$(document).on(this.fluidbook.input.clickEvent,"[data-id] a",function(){var id=$(this).closest("[data-id]").attr("data-id");$this.fluidbook.contentlock.addAction(id,"click");$this.fluidbook.gamify.linkClicked(id);
1$($this.fluidbook).trigger("fluidbook.link.click",[id]);return true});$(document).on("mouseover mouseout mouseenter mouseleave","[data-related-animation]",function(e){var iframe=$('[data-id="'+$(this).data("related-animation")+'"] iframe');if(iframe.length===0){return true}var iframeWindow=iframe.get(0).contentWindow;var iframeDocument=iframeWindow.document;var iframeLottie=iframeDocument.getElementById("lottie");if(!iframeLottie){return true}var event=new MouseEvent(e.type,{view:iframeWindow,bubbles:true,cancelable:true});iframeLottie.dispatchEvent(event);return true});$(document).on(this.fluidbook.input.clickEvent,'.multimediaContainer[data-click-to-close="1"]',function(){$this.fluidbook.menu.closeView();return false});$(document).on(this.fluidbook.input.clickEvent,'[href^="#"]:not([href="#"])',function(){location.hash=$(this).attr("href");return false});$(document).on(this.fluidbook.input.clickEvent,"[data-wescosales-ref]",function(){});$(document).on(this.fluidbook.input.clickEvent,"[data-flipcard] > a",function(){var f=$(this).closest("[data-flipcard]");f.find(".flipcard").toggleClass("flipped");return false});new ClipboardJS("[data-clipboard-text]");$(document).on(this.fluidbook.input.clickEvent,"[data-clipboard-text]",function(){$this.fluidbook.tooltip.displayTooltip($this.fluidbook.l10n.__("copied!"));return true});$(document).on("mouseenter","#links a.image_rollover",function(){var id=$(this).closest("[data-id]").data("id");var iid="i_"+id;$this.rolloverEnter(iid)});$(document).on("mouseleave","#links a.image_rollover",function(){var id=$(this).closest("[data-id]").data("id");var iid="i_"+id;$this.rolloverLeave(iid)});$(this.fluidbook).on("fluidbook.resize",function(){$this.resize()});$(document).on(this.fluidbook.input.clickEvent,"a, [data-pseudolink-href]",function(){if($(this).is("#wopen")){return true}var target=$(this).is("[data-pseudolink-href]")?$(this).data("pseudolink-target"):$(this).attr("target");if(!target){target="_self"}var href=$(this).is("[data-pseudolink-href]")?$(this).data("pseudolink-href"):$(this).attr("href");if(href===undefined){return true}var external=href.indexOf("http")===0;if(href==="#"){return true}if(external){href=$this.handleExternalHref(this)}if(!navigator.onLine&&external&&$this.fluidbook.settings.phonegap){$this.fluidbook.alertInternetRequired();e.preventDefault();e.stopPropagation();e.stopImmediatePropagation();return false}if($(this).data("type")===16&&external){target="_system"}if($this.fluidbook.settings.phonegap==="android"&&$(this).data("type")===16&&!external){$this.fluidbook._openFile($this.fluidbook.relativeToAbsolute(href),$("body"),"pdf");return}if(target==="_self"){return true}if($(this).attr("download")&&!Modernizr.msie){return true}fluidbook.wopen(href,target);return false});$(document).on("mouseover",'[data-showid][data-showmode="showonhover"]',function(){$this.showLinkById($(this).data("showid"));return true}).on("mouseout",'[data-showid][data-showmode="showonhover"]',function(){$this.hideLinkById($(this).data("showid"))}).on(this.fluidbook.input.clickEvent,'[data-showid][data-showmode="showonhover"]',function(){return false});$(document).on(this.fluidbook.input.clickEvent,'[data-showid]:not([data-showmode="showonhover"])',function(){if($this.showLinkAnimating){return false}$this.showLinkAnimating=true;var transition=$(this).data("showtransition")?$(this).data("showtransition"):"fadein";var preventOtherTransitionTimeout=transition==="fadeinout"?1e3:500;setTimeout(function(){$this.showLinkAnimating=false},preventOtherTransitionTimeout);var mode=$(this).data("showmode");var ids=$(this).data("showid").toString().split(",");if(mode==="hide"){$.each(ids,function(k,id){$('div.link[data-id="'+id+'"]').hide()});$this.updateAttachedLinks();return false}if(mode==="toggle"){$.each(ids,function(k,id){$('div.link[data-id$="'+id+'"]').toggleClass("show");$this.updateAttachedLinks()});return false}var showid=[];var hide=[];if(mode==="pickrandom"){while(true){var idx=Math.floor(Math.random()*ids.length);showid=[ids[idx]];if($('div.link[data-hidden="1"][data-id$="'+showid+'"].show').length===0||ids.length===0){break}}}else if(mode==="shownext"||mode==="shownextcycle"||mode==="showprev"||mode==="showprevcycle"){var a=1;if(mode==="showprev"||mode==="showprevcycle"){a=-1}
1var current=$(this).data("current-showid");if(current===undefined){$.each(ids,function(k,id){if($('[data-id="'+id+'"].show').length>0){current=id}})}if(current===undefined){showid=[ids[0]]}else{var idx=ids.indexOf(current)+a;if(mode==="showprevcycle"||mode==="shownextcycle"){idx=(ids.length+idx)%ids.length}else{if(idx>=ids.length||idx<0){return false}}showid=[ids[idx]]}$('[data-showid="'+$(this).attr("data-showid")+'"]').each(function(){$(this).data("current-showid",showid[0])})}else if(mode==="showhide"||mode==="toggleshowhide"){let invert=false;$.each(ids,function(k,v){let sign=v.substring(0,1);let offset=0;let show=true;let id=v;if(sign==="+"){offset=1}else if(sign==="-"){offset=1;show=false}if(offset>0){id=id.substring(offset)}if(k===0&&mode==="toggleshowhide"){let l=$('div.link[data-id="'+id+'"]').hasClass("show");invert=l&&show||!l&&!show}if(show&&!invert||!show&&invert){showid.push(id)}else{hide.push(id)}});console.log("showhide",showid,hide)}else{showid=ids}let showTimeout=10;if(mode==="exclusiveshow"||mode==="shownext"||mode==="shownextcycle"||mode==="showprev"||mode==="showprevcycle"||mode==="pickrandom"||mode==="showhide"||mode==="toggleshowhide"){var selector='div.link[data-hidden="1"].show';if(mode!=="showhide"&&mode!=="toggleshowhide"){if($(this).is("[data-showid]")){hide=$(this).data("showid").split(",");var maxZindex=0;$.each(hide,function(k,hideid){var e=$('[data-id="'+hideid+'"]');var zIndex;if($(e).is("[data-zindex]")){zIndex=$(e).attr("data-zindex")}else{zIndex=$(e).css("z-index");$(e).attr("data-zindex",zIndex)}maxZindex=Math.max(parseInt(zIndex),maxZindex)})}else{hide="all"}if(mode==="exclusiveshow"){hide="all"}}var transitionTime=500;var hideTimeout=10;if(transition==="fadein"){hideTimeout=transitionTime}else if(transition==="fade"){}else if(transition==="fadeoutin"){showTimeout=transitionTime}$.each(showid,function(k,id){selector+=':not([data-id$="'+id+'"])'});console.log(selector);$(selector).each(function(){let timeout=hideTimeout;if($(selector).is("[data-animation-hide]")){timeout=0}var id=$(this).data("id");if(hide==="all"||hide.indexOf(id)>=0){if($(this).is("[data-zindex]")){$(this).css("z-index",$(this).data("zindex"))}console.log("hide ",id);$this.hidePlacedLink(this,timeout)}})}var close=$(this).data("showclose");$.each(showid,function(k,id){$('div.link[data-id$="'+id+'"]').each(function(){var l=this;if(close!=="none"){$(l).addClass("forceinteractive");$(l).append('<a href="#" class="linkshowclose '+close+'"></a>')}$(l).find("iframe").each(function(){$(this).attr("data-src",$(this).attr("src"));$(this).attr("src","")});$(l).show();setTimeout(function(){$(l).find("iframe").each(function(){$(this).attr("src",$(this).attr("data-src"))})},10);$(l).trigger("fluidbook.link.show");if(close!=="none"){$(l).removeClass("notinteractive");$(l).find("img").css("pointer-events","none")}if(maxZindex!==undefined){$(l).css("z-index",maxZindex+1)}setTimeout(function(){if($(l).is("[data-animation-hide]")&&!$(l).hasClass("show")){$this.animateContentLink($(l),true,true)}$(l).addClass("show");$this.updateAttachedLinks()},showTimeout)})});return false});$(document).on(this.fluidbook.input.clickEvent,".linkshowclose",function(){var id=$(this).closest("[data-id]").data("id");$('div.link[data-id="'+id+'"]').each(function(){$this.hidePlacedLink(this)});return false});$(document).on(this.fluidbook.input.clickEvent,".textpopup",function(){$this.fluidbook.menu.__openView("text",$(this).data("text"),function(){});return false});$(document).on(this.fluidbook.input.clickEvent,'a.triggerlink[data-trigger-event="click"]',function(){var ids=$(this).data("trigger-id").split(",");$.each(ids,function(k,id){try{$this.triggerLinkById(id)}catch(e){}});return false});$(document).on(this.fluidbook.input.clickEvent,'a.triggerlink[data-trigger-event="stoponclick"]',function(){var ids=$(this).data("trigger-id").split(",");$.each(ids,function(k,id){try{$this.stopLinkById(id)}catch(e){}});return false});$(document).on(this.fluidbook.input.clickEvent,"[data-action]",function(){var map={pdf:"print",fullScreen:"fullscreen",locales:"localesContainers",basket:"cart"};var action=$(this).data("action");var extra=$(this).data("extra");$this.fluidbook.nav.closeMenu();if(action==="share"){return true}if(map[action]){action=map[action]}if(action==="chapters"&&extra){window.location.hash="#/chapters/"+extra;return false}var navitem=$("#horizontalNav_"+action);if(navitem.length>0){if($(this).data("extra")!=null){$(navitem).data("extra",$(this).data("extra"))}$(navitem).get(0).click()}return false});$(this.fluidbook).one("fluidbook.splash.hide",function(){if($this.fluidbook.settings.openLinkAtStartup!==""){$this.fluidbook.links.triggerLinkById($this.fluidbook.settings.openLinkAtStartup)}})},updateAttachedLinks:function(){$("[data-attached]").each(function(){var attached=$('.link[data-id="'+$(this).data("attached")+'"]');var visible=true;if(attached.length===0||!$(attached).is(":visible")||$(attached).attr("data-hidden")==="1"&&!$(attached).hasClass("show")){visible=false}if(visible){$(this).show()}else{$(this).hide()}});this.fluidbook.video.pauseHiddenVideos()},stopLinkById:function(id){var link=$('.link[data-id="'+id+'"]');if($(link).length===0){console.warn("Link "+id+" cant be stopped");return}this.stopAnimationOfLink($(link))},stopAnimationOfLink:function(link){if($(link).data("gsap")!==un
1defined&&$(link).data("gsap")!==null){$.each($(link).data("gsap"),function(k,v){v.pause()})}},handleExternalHref:function(link){var href=$(link).is("[data-pseudolink-href]")?$(link).data("pseudolink-href"):$(link).attr("href");var change=false;if(this.fluidbook.stats.relay_url_params!==""&&!$(link).hasClass("relay_appended")){$(link).addClass("relay_appended");href=this.appendParamsToURL(href,this.fluidbook.stats.relay_url_params);change=true}if(this.fluidbook.settings.linkTracker!==""&&(this.fluidbook.settings.linkTrackerRegexp===""||href.indexOf(this.fluidbook.settings.linkTrackerRegexp)>=0)&&!$(link).hasClass("tracking_appended")){$(link).addClass("relay_appended");href=this.appendParamsToURL(href,this.fluidbook.settings.linkTracker);change=true}if(change){if($(link).is("[data-pseudolink-href]")){$(link).attr("[data-pseudolink-href]",href).data("pseudolink-href",href)}else{$(link).attr("href",href)}}return href},appendParamsToURL:function(url,params){var u=new URL(url);var s="";if(u.search===""){s="?"}else{s="&"}u.search=s+params;return u.href},showLinkById:function(id){var $this=this;var s=$('div.link[data-id="'+id+'"]');s.show();setTimeout(function(){s.addClass("show");$this.updateAttachedLinks()},10)},hideLinkById:function(id){var $this=this;var s=$('div.link[data-id="'+id+'"]');if($(s).attr("data-hidden")!="1"){$(s).attr("data-hidden","1").addClass("show")}setTimeout(function(){$(s).removeClass("show");$this.updateAttachedLinks()},10)},hidePlacedLink:function(p,timeout){var $this=this;if($(p).length===0){return}if(timeout===undefined){timeout=0}setTimeout(function(){$(p).removeClass("show");$(p).find(".linkshowclose").remove();setTimeout(function(){$(p).hide();$this.updateAttachedLinks()},200);$this.updateAttachedLinks()},timeout)},initLinks:function(pageNr){if(pageNr===undefined){pageNr=this.fluidbook.currentPage}var rightPage,leftPage;if(pageNr%2===0){leftPage=pageNr;rightPage=pageNr+1}else{rightPage=pageNr;leftPage=pageNr-1}var links=$("#links").removeClass("right");$(links).html("").show();if(this.fluidbook.displayOnePage&&pageNr%2===1&&this.fluidbook.l10n.dir==="ltr"){$(links).addClass("right")}var leftLinks,rightLinks;leftLinks=rightLinks=true;if(this.fluidbook.displayOnePage){if(pageNr!==rightPage){rightLinks=false}if(pageNr!==leftPage){leftLinks=false}}if(leftLinks){this.setLinksInContainer(leftPage,"left")}if(rightLinks){this.setLinksInContainer(rightPage,"right")}if(links.find(".link.multimedia iframe").length>0){this.fluidbook.networkControl.pause(3e4)}this.replaceVariableInTextLinks();links.prepend('<div class="nonlinkarea"></div>');this.fluidbook.resize.resizeLinks();var $this=this;this.animateLinks();$this.initAnimatedContentsLinks();setTimeout(function(){$this.fluidbook.initVideos();$this.fluidbook.audioplayer.initAudios();$this.initInlineSlideshows();$this.fluidbook.l10n.translateAttributes();$this.updateAttachedLinks()},200);$(this.fluidbook).trigger("fluidbook.links.ready");$this.updateAttachedLinks();this.resize()},replaceVariableInTextLinks:function(){$(".textLink").each(function(){var t=$(this).text();while(res=t.match(/\$_GET\[['"]?(\w+)['"]?\]/)){var val=$_GET[res[1]];if(val===undefined||val===null){val=""}t=t.replace(res[0],val)}$(this).text(t)})},setLinksInContainer:function(page,side){var links=$("#links");links.prepend('<div class="'+side+'Container container"></div>');var container=links.find("."+side+"Container");var llinks=this.fluidbook.loader.handleExtension(this.fluidbook.settings.links[page]);if(llinks!==""){container.html(llinks)}else if(page==0){container.addClass("empty")}if(this.fluidbook.settings.bookmark){container.append(this.fluidbook.bookmarks.getBookmarkForPage(page,this.fluidbook.displayOnePage,this.fluidbook.settings.bookmarkPermanentIcon))}},animateLinks:function(){if(this.fluidbook.settings.linkBlinkTime==0||this.fluidbook.settings.linkBlinkRepetition==0||!this.fluidbook.settings.mobileLinksRevealAnim||this.fluidbook.menu.viewMode()){return}var $this=this;setTimeout(function(){$this.doAnimateLinks()},650)},initAnimatedContentsLinks:function(container){if(this.fluidbook.mobilefirst.enabled||this.fluidbook.splash.isVisible()&&!this.fluidbook.splash.isHidding){return}var $this=this;if(container===undefined){container=$("#currentDoublePage,#links")}$(container).find("[data-animations]").each(function(){$this.animateContentLink($(this),true)})},animateContentLink:function(link,autostart,force,delay){if(force===undefined){force=false}if(!force&&$(link).data("animation-started")===true){return}if(autostart===undefined){autostart=false}var animations=$(link).data("animations");var $this=this;var defaults=["ease","duration","delay"];var firstDefaults={};if(animations===undefined||animations===null||animations.length===0){return}if(animations[0]["autostart"]===undefined){animations[0]["autostart"]=true}if(animations[0]["autostart"]=="0"||animations[0]["autostart"]=="false"){animations[0]["autostart"]=false}if(autostart&&!animations[0]["autostart"]){return}$.each(defaults,function(k,v){if(animations[0][v]!==undefined){firstDefaults[v]=animations[0][v]}});var override={};if(delay!==undefined){override.delay=delay}$.each(animations,function(k,animation){$this.executeAnimation(link,$.extend({},firstDefaults,animation,override))})},executeAnimation:function(link,animation){$(link).data("animation-started",true);link=$(link);var linkElement=$(link).get(0);var animatedElement=linkElement;if(animation.type===undefined||animation.type===""){animation.type="none"}var defaultParams={};var globalDefault={x:0,y:0,yoyo:0,repeatdelay:0,repeat:0,transformorigin:"50% 50%",preventflickering:0};if($(linkElement).hasClass("textLink")){globalDefault.transformorigin="0 100%"}var w=parseFloat(link.css("width"));var cx=w/2;var h=parseFloat(link.css("height"));var cy=h/2;var from={};var to={};var tweenFunctions={};var duration=.5;var usegsap=true;animation=$.extend({},globalDefault,defaultParams,animation);
1if(animation.duration!==undefined){duration=parseFloat(animation.duration)}to.yoyo=animation.yoyo===true||animation.yoyo===1||animation.yoyo==="1"||animation.yoyo==="true";to.repeat=parseInt(animation.repeat);to.repeatDelay=parseFloat(animation.repeatdelay);var css={};if(animation.filter){css.filter=animation.filter}if(animation.align){css.textAlign=animation.align}if(animation.scale&&["scale","scalefrom","zoomin","zoomout"].indexOf(animation.type)===-1){if(animation.preventflickering){css.backgroundSize="100% 100%";css.backgroundPosition=animation.transformorigin}else{css.transform="scale("+animation.scale+")";css.transformOrigin=animation.transformorigin}}if(animation.letterspacing){css.letterspacing=parseFloat(animation.letterspacing)}animation.ease=this.fixEase(animation.ease);if(animation.rotate!==undefined){animation.rotation=animation.rotate}if(animation.rotation!==undefined){from.rotation=animation.rotation}to.ease=animation.ease;if(animation.delay!==undefined){to.delay=parseFloat(animation.delay)}if(animation.type==="scalefrom"){to.display="block";to.visibility="visible";from.scale=animation.scale;to.scale=1;from.transformOrigin=to.transformOrigin=animation.transformorigin}else if(animation.type==="scale"){to.display="block";to.visibility="visible";from.scale=1;to.scale=animation.scale;from.transformOrigin=to.transformOrigin=animation.transformorigin}else if(animation.type==="rotate"){to.display="block";to.visibility="visible";from.rotation=0;to.rotation=animation.rotation;from.transformOrigin=to.transformOrigin=animation.transformorigin}else if(animation.type==="rotatefrom"){to.display="block";to.visibility="visible";to.rotation=0;from.rotation=animation.rotation;from.transformOrigin=to.transformOrigin=animation.transformorigin}else if(animation.type==="translatefrom"){from.display="none";to.display="block";to.visibility="visible";from.x=animation.x;from.y=animation.y;to.x=0;to.y=0}else if(animation.type==="translate"){from.display="none";to.display="block";to.visibility="visible";from.x=0;from.y=0;to.x=animation.x;to.y=animation.y}else if(animation.type==="zoomin"||animation.type==="zoomout"){to.display="block";to.visibility="visible";animatedElement=$(linkElement).find("img,div.img");from.scale=animation.type==="zoomin"?1:animation.scale;to.scale=animation.type==="zoomout"?1:animation.scale;from.transformOrigin=to.transformOrigin=animation.transformorigin;if(animation.preventflickering==1){from.backgroundSize=from.scale*100+"% "+from.scale*100+"%";to.backgroundSize=to.scale*100+"% "+to.scale*100+"%";from.backgroundPosition=animation.transformorigin;to.transformOrigin=from.transformOrigin="50% 50%";to.scale=from.scale=1}}else if(animation.type==="fadein"){from.display="none";to.display="block";to.visibility="visible";from.opacity=0;to.opacity=1}else if(animation.type==="fadeout"){from.opacity=1;to.opacity=0}else if(animation.type==="unmask"||animation.type==="reveal"){if(animation.type==="reveal"){from.display="none";to.display="block";to.visibility="visible"}var top=0;var right=w;var bottom=h;var left=0;var rectinit="rect(0px,"+w+"px,"+h+"px,0px)";if(animation.direction==="left"&&animation.type==="unmask"||animation.direction==="right"&&animation.type==="reveal"){right=0}else if(animation.direction==="right"&&animation.type==="unmask"||animation.direction==="left"&&animation.type==="reveal"){left=w}else if(animation.direction==="up"&&animation.type==="unmask"||animation.direction==="down"&&animation.type==="reveal"){bottom=0}else if(animation.direction==="down"&&animation.type==="unmask"||animation.direction==="up"&&animation.type==="reveal"){top=h}var rect="rect("+top+"px,"+right+"px,"+bottom+"px,"+left+"px)";if(animation.type==="unmask"){to.clip=rect;from.clip=rectinit}else if(animation.type==="reveal"){to.clip=rectinit;from.clip=rect}}else if(animation.type==="pie"){defaultParams={startangle:"0",direction:"clockwise",size:"outside",innerradius:"0",hideonstart:"0"};animation=$.extend({},globalDefault,defaultParams,animation);animation.startangle=parseFloat(animation.startangle);
1animation.innerradius=parseFloat(animation.innerradius);if(animation.direction==="clockwise"){from.angle=animation.startangle+720}else{from.angle=animation.startangle}linkElement.angle=from.angle;var radius;if(animation.size==="outside"){radius=Math.sqrt(cx*cx+cy*cy)}else{radius=Math.min(w,h)/2}var sector=function(paper,cx,cy,r,pct,startAngle,endAngle,params){if(animation.direction==="clockwise"){var sa=startAngle;startAngle=endAngle;endAngle=sa}var rad=Math.PI/180;var x1=cx+r*Math.cos(-startAngle*rad),x2=cx+r*Math.cos(-endAngle*rad),y1=cy+r*Math.sin(-startAngle*rad),y2=cy+r*Math.sin(-endAngle*rad);var r1=r*pct;var x3=cx+r1*Math.cos(-endAngle*rad),y3=cy+r1*Math.sin(-endAngle*rad),x4=cx+r1*Math.cos(-startAngle*rad),y4=cy+r1*Math.sin(-startAngle*rad);var long=+(endAngle-startAngle>180);return paper.path(["M",x4,y4,"L",x1,y1,"A",r,r,0,long,0,x2,y2,"L",x3,y3,"A",r1,r1,0,long,1,x4,y4,"z"]).attr(params)};var paper=new Raphael(link.attr("id"),w,h);var bgc=link.attr("data-color");to.angle=animation.startangle+360;if(animation.hideonstart=="1"){to.onStart=function(){link.css("background-color","transparent")}}to.onUpdate=function(){paper.clear();if(Math.abs(linkElement.angle-from.angle)<2){return}if(animation.backgroundcolor!==null&&animation.backgroundcolor!==undefined){let circle=paper.circle(cx,cy,radius-2);circle.attr("fill",animation.backgroundcolor)}sector(paper,cx,cy,radius,animation.innerradius,linkElement.angle,to.angle,{fill:bgc,stroke:"none"});link.css("background-color","transparent")}}else if(animation.type==="number"){usegsap=false;defaultParams={startvalue:"0",decimalseparator:".",decimaldigitnumber:"0",separator:" ",letterspacing:"0",prefix:"",suffix:""};animation=$.extend({},globalDefault,defaultParams,animation);animation.startvalue=parseFloat(animation.startvalue.replace(/,/,"."));animation.decimaldigitnumber=parseInt(animation.decimaldigitnumber);animation.letterspacing=parseFloat(animation.letterspacing);var ease=gsap.parseEase(to.ease);var options={duration:duration,useEasing:true,useGrouping:true,separator:animation.separator,decimalPlaces:animation.decimaldigitnumber,decimal:animation.decimalseparator,prefix:animation.prefix,suffix:animation.suffix,startVal:animation.startvalue,easingFn:function(t,b,c,d){return b+ease(Math.min(1,Math.max(0,t/d)))*c}};css["opacity"]=0;let value;if($(link).data("anim-numeric-value")===null||$(link).data("anim-numeric-value")===undefined){value=parseFloat(link.text().replace(/,/,"."));$(link).data("anim-numeric-value",value)}else{value=$(link).data("anim-numeric-value")}link.text("");var countup=new CountUp(link.attr("id"),value,options);setTimeout(function(){link.css("opacity",1);countup.start()},to.delay*1e3)}else if(animation.type==="draggable"){this.fluidbook.hasDraggableOnPage(true);$(link).css("pointer-events","auto");var $this=this;var draggable=new Draggable(link,{inertia:true,type:"x",onDragStart:function(){$this.fluidbook.touch.draggingFromOutside=true},onRelease:function(){var d=this;setTimeout(function(){$this.fluidbook.touch.draggingFromOutside=false},250);if(animation.drop==="clickhide"){$("#links .link a").each(function(){if(d.hitTest(this)){var e=this;setTimeout(function(){$(e).click()},500);gsap.to($(link),{duration:.5,autoAlpha:0});return true}})}}})}else{usegsap=false}link.css(css);if(from.display!==undefined&&from.display!=="none"){link.show()}if(from.display!==undefined&&from.display==="none"){link.hide()}if(usegsap){to.duration=duration;let anim=gsap.fromTo(animatedElement,from,to);let anims=[];if($(link).data("gsap")!==undefined){anims=$(link).data("gsap")}anims.push(anim);$(link).data("gsap",anims)}this.fluidbook.networkControl.pause((to.delay+duration+.5)*1e3)},fixEase:function(ease){if(ease===undefined){ease="power1.out"}ease=ease.toLowerCase();if(ease.indexOf("linear")===0||ease.indexOf("power0")===0){ease="none"}ease=ease.replace(".ease",".");ease=ease.replace("inout","inOut");return ease},getLinkDataById:function(uid){return this.fluidbook.settings.linksData[uid]},getLinkByHref:function(href){for(var i=1;i<=this.fluidbook.settings.pages;i++){var res=$(this.fluidbook.loader.handleExtension(this.fluidbook.settings.links[i])).find('a[href="'+href+'"]');if(res.length>0){return res.eq("0")}}return null},doAnimateLinks:function(linksContainer,additionalDelay){var container=$(document);if(linksContainer!==undefined){container=$(linksContainer)}if(additionalDelay===undefined){additionalDelay=0}if(this.fluidbook.pagetransitions.transitionning){return}var animateBookmarks=this.fluidbook.settings.bookmarkBlinkOnPageChange==true;var $this=this;var links=$(container).find(".link a.displayArea");if(!this.fluidbook.mobilefirst.enabled){$(links).each(function(){$this.animateLink(this,additionalDelay)})}if(animateBookmarks){this._blink($("#links .bookmark:not([data-enabled])"))}this.updateAttachedLinks()},_blink:function(el,delay){if(delay===undefined||delay==0){this.__blink(el);return}var $this=this;setTimeout(function(){$this.__blink(el)},delay)},__blink:function(el){var _complete=function(){el.removeClass("animating").
1css("opacity","")};var speed=.5;var timeline=new TimelineMax;var repetitions=this.fluidbook.settings.linkBlinkRepetition-1;el.addClass("animating");var d=.1;if(repetitions>0){el.css("opacity",0);timeline.add(gsap.to(el,{duration:this.fluidbook.settings.linkBlinkTime*speed,delay:.1,opacity:1,ease:"none"}));d=0}else{el.css("opacity",1)}for(var i=0;i<repetitions;i++){timeline.add(gsap.to(el,{duration:this.fluidbook.settings.linkBlinkTime*speed,opacity:.5,ease:"none"}));timeline.add(gsap.to(el,{duration:this.fluidbook.settings.linkBlinkTime*speed,opacity:1,ease:"none"}))}timeline.add(gsap.to(el,{duration:this.fluidbook.settings.linkBlinkTime,delay:d,opacity:0,onComplete:_complete}));timeline.play()},animateLink:function(link,additionalDelay){if(!$(link).is(".displayArea")){link=$(link).find(".displayArea")}if(additionalDelay===undefined){additionalDelay=0}var delay=$(link).data("blinkdelay");if(delay===undefined||delay===null){delay=0}else{delay=parseInt(delay)}this._blink($(link),delay+additionalDelay)},triggerLinkById:function(id){var link=$('.link[data-id="'+id+'"]');if($(link).length===0){console.warn("Link "+id+" cant be triggered");return}if($(link).is("[data-animations]")){this.animateContentLink($(link),false,true)}else{var a=$(link).find("a:eq(0)");a.get(0).click()}},initInlineSlideshows:function(){var $this=this;if(this.fluidbook.slideshow!==undefined){$("#links .fb-slideshow, #currentDoublePage .fb-slideshow").each(function(){$this.fluidbook.slideshow.initInlineSlideshow(this)});this.fluidbook.slideshow.resizeInline()}},resize:function(){var $this=this;$("#links .link.iframe").each(function(){var iframe=$(this).find("iframe");var scale=$(iframe).data("scale");var w=$(this).outerWidth();var h=$(this).outerHeight();var iw=w*$this.fluidbook.resize.bookScale;var ih=h*$this.fluidbook.resize.bookScale;if(scale!=="no"){if(scale==="auto"){scale=1/$this.fluidbook.resize.bookScale}$(iframe).attr("width",iw).attr("height",ih).css({width:iw,height:ih,transform:"scale("+scale+")"})}});this.updateAttachedLinks()},rolloverEnter:function(iid){var e=$('[data-id="'+iid+'"]');e.addClass("animaterollover")},rolloverLeave:function(iid){var e=$('[data-id="'+iid+'"]');e.removeClass("animaterollover")},resizeIframe:function(height){var iframe=$(".link iframe").eq(0);var container=iframe.closest(".content");var iframeHeight=parseFloat(iframe.data("height"));var height=Math.max(height,iframeHeight);var containerHeight=parseFloat(container.data("height"));if(containerHeight===0||isNaN(containerHeight)){containerHeight=iframeHeight}iframe.attr("height",height);iframe.closest(".multimediaScale").css("height",height);container.css({maxHeight:Math.min(iframeHeight,containerHeight)});if(!Modernizr.ftouch){container.perfectScrollbar("update")}}};function FluidbookSupport(fluidbook){this.fluidbook=fluidbook;this.testDataURILoading();this.userAgent=navigator.userAgent;this.IE=0;try{this.IE=navigator.userAgent.match(/(MSIE |Trident.*rv[ :])([0-9]+)/)[2]}catch(e){}this.macOs=Modernizr.macos;this.safari=Modernizr.safari;this.android=this.fitScreenAtZero=Modernizr.android;this.android3=this.android&&this.userAgent.search(/android 3/i)>-1;this.iOS=Modernizr.ios;this.edge=Modernizr.edge;this.chromeBased=Modernizr.chrome||this.edge;this.gpuInfos=this.getGPUInfos();this.svgtocanvas=this.fluidbook.settings.svgToCanvas&&this.IE===0&&!(this.safari&&this.macOs)&&this.getGPUInfos().vendor.indexOf("intel")===-1&&this.getGPUInfos().vendor.indexOf("renderer")===-1;this.svgtocanvg=false;this.offline=typeof process!=="undefined"&&process.versions["node-webkit"]||window.location.toString().indexOf("file://")==0;switch(this.fluidbook.settings.mobileVersion){case"html5":this.imagesVersion=false;break;case"html5-images":this.imagesVersion=true;break;case"html5-desktop":this.imagesVersion=this.iOS||this.android||this.safari&&this.fluidbook.settings.rasterizeOnSafari||this.IE>0;break;default:this.imagesVersion=false;break}this.transitions2d=Modernizr.csstransforms&&Modernizr.csstransitions;this.transitions3d=this.transitions2d&&Modernizr.csstransforms3d&&Modernizr.preserve3d;this.transitions3dacc=this.transitions2d;this.ie9=$("html").hasClass("ie9");
1this.androidbrowser=this.android&&this.userAgent.search(/applewebkit/i)>-1;this.transitionEndEvent=this.whichTransitionEvent();if(window.resolution==="auto"){if(Modernizr.mq("(min-device-width : 320px) and (max-device-width : 480px)")){this.resolution=this.fluidbook.settings.standardResolution}else{this.resolution=Modernizr.mq("(-webkit-min-device-pixel-ratio: 2)")?this.fluidbook.settings.retinaResolution:this.fluidbook.settings.standardResolution}}else{this.resolution=window.resolution}this.isMobile=isMobile();this.SVG=true;this.nwjs=typeof process!=="undefined"&&process.versions["node-webkit"];this.screenWidth=Math.min(window.screen.availWidth,window.screen.availHeight);this.screenHeight=Math.max(window.screen.availWidth,window.screen.availHeight);this.fullscreen=screenfull.enabled&&!this.iOS;this._orientation=this.getOrientation();this.initEvents()}FluidbookSupport.prototype={testDataURILoading:function(){var img=new Image;var $this=this;$(img).on("error",function(){$this.datauriallowed=false});$(img).on("load",function(){$this.datauriallowed=true});try{img.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"}catch(err){$this.datauriallowed=false}},getTransitionEndEvent:function(all){if(all==undefined){all=false}if(!all){return this.transitionEndEvent}return"webkitTransitionEnd transitionend oTransitionEnd msTransitionEnd transitionEnd"},hasNetwork:function(){if(navigator.onLine!=undefined){return navigator.onLine}else{return networkState()!="none"}},networkState:function(){var connection=navigator.connection||navigator.mozConnection||navigator.webkitConnection||{type:"unknown"};var t=connetion.type;if(t===undefined){t="unknown"}else if(t===0){t="unknown"}else if(t===1){t="ethernet"}else if(t===2){t="wifi"}else if(t===3){t="2g"}else if(t===4){t="3g"}else if(t===5){t="4g"}else{t="none"}return t},initEvents:function(){var $this=this;if(!isMobile(false)){$(window).on("resize",function(){resize()});setInterval(function(){$this.checkOrientation()},1e3)}else{if("onorientationchange"in window){window.addEventListener("orientationchange",function(){resize();$this.checkOrientation();setTimeout(function(){resize();$this.checkOrientation()},750)},false)}else{setInterval(function(){$this.checkOrientation()},100)}}},whichTransitionEvent:function(){var t;var el=document.createElement("fakeelement");var transitions={transition:"transitionend",WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",MSTransition:"msTransitionEnd",OTransition:"oTransitionEnd"};for(t in transitions){if(el.style[t]!==undefined){return transitions[t]}}},checkOrientation:function(){var o=this.getOrientation();if(o!=this._orientation){this._orientation=o;$(this.fluidbook).trigger("fluidbook.orientationchange");resize()}},getOrientation:function(){try{if(this.fluidbook.pad&&this.fluidbook.pad.enabled||this.fluidbook.mobilefirst.enabled){return 0}else if(this.fluidbook.settings.mobileNavigationType==="landscape"){return 90}else if(this.fluidbook.settings.mobileNavigationType==="portrait"){return 0}}catch(err){}try{return Modernizr.mq("(orientation: portrait)")?0:90}catch(err){}return $("#op").is(":visible")?0:90},getGPUInfos:function(){var canvas=document.createElement("canvas");var gl;var debugInfo;var vendor;var renderer;try{gl=canvas.getContext("webgl")||canvas.getContext("experimental-webgl")}catch(e){}if(gl){debugInfo=gl.getExtension("WEBGL_debug_renderer_info");vendor=gl.getParameter(debugInfo.UNMASKED_VENDOR_WEBGL);renderer=gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL);return{vendor:vendor.toLowerCase(),renderer:renderer.toLowerCase()}}return false}};function FluidbookVideo(fluidbook){var $this=this;this.players={};this.fullscreenActive=false;$(fluidbook).on("fluidbook.beforePageTransition",function(){$this.removeAllVideos()});$(fluidbook).on("fluidbook.resize",function(e){$this.resizeControls()});$(window).on("videoFullscreenEntered",function(){$this.fullscreenActive=true});$(window).on("videoFullscreenExited",function(){setTimeout(function(){$this.fluidbook.resize.resize()},250);setTimeout(function(){$this.fullscreenActive=false;$this.fluidbook.resize.resize()},1e3)});this.fluidbook=fluidbook;this.video=(Modernizr.video&&(Modernizr.video.h264||Modernizr.video.webm||Modernizr.video.ogg))!=false;this.videoFormats=[];var probably=[];var maybe=[];var not=[];if(this.video){var formats=this.fluidbook.settings.videoFormats;for(var i=0;i<formats.length;i++){var f=formats[i];if(f=="mp4"){f="h264"}if(f=="ogv"){f="ogg"}
1var support=Modernizr.video[f];if(f=="ogg"){f="ogv"}if(f=="h264"){f="mp4"}if(support=="probably"){probably.push(f)}else if(support=="maybe"){maybe.push(f)}else{not.push(f)}}}this.videoFormats=$.merge(probably,maybe,not);this.preferedFormat=this.videoFormats[0]}FluidbookVideo.prototype={initVideos:function(){var $this=this;$(".videoContainer").each(function(){if($(this).closest(".rightclone").length>0&&$(this).is(":hidden")){return}$this.initVideo(this)})},initVideo:function(e){var $this=this;if($(e).html()!=""){return}var id=$(e).data("id"),backgroundColor=$(e).data("backgroundcolor"),width=parseFloat($(e).data("width")),height=parseFloat($(e).data("height")),name=$(e).data("name"),controls=parseInt($(e).data("controls"))==1,loop=parseInt($(e).data("loop"))==1,sound=parseInt($(e).data("sound"))==1,autoplay=parseInt($(e).data("autoplay"))==1,nativeAutoplay=!autoplay&&parseInt($(e).data("nativeautoplay"))==1,statsName=$(e).data("stats-name"),statsType=$(e).data("stats-type"),setup=$(e).data("setup"),linkid=$(e).data("link-id"),url=$(e).data("url"),path,poster,html,player;var hidelinksonplay=$(e).data("hidelinksonplay")==undefined||$(e).data("hidelinksonplay")===""?[]:$(e).data("hidelinksonplay").split(",");if(videojs.players[id]){try{videojs(id).dispose()}catch(exception){console.warn("Error disposing player #"+id+" -- "+exception.message)}}if(fluidbook.settings.mobileVideosPath==""){if(name.indexOf("data/")!==-1){path=name}else{path="data/links/"+name}}else{path=fluidbook.settings.mobileVideosPath+name;if(!fluidbook.settings.standalone&&path.substr(0,3)=="../"){path="../"+path}}if(url){path=url}else if(name!==""){poster=path+".jpg"}if($(e).hasClass("integration-background_texts")){poster=false}html='<video playsinline class="video-js vjs-fluidbook-skin"';html+=' style="background-color:'+backgroundColor+';" ';if(poster&&!autoplay){html+='poster="'+poster+'" '}html+='id="'+id+'" ';if(!isNaN(width)){html+='data-width="'+width+'" ';html+='width="'+width+'" '}if(!isNaN(height)){html+='data-height="'+height+'" ';html+='height="'+height+'" '}if(controls){html+="controls "}else{html+="disablePictureInPicture "}if(loop){html+="loop "}if(nativeAutoplay||autoplay){html+="autoplay "}if(!sound){html+="muted "}html+='controlsList="nodownload" ';html+='oncontextmenu="return false;" ';html+=">";if(name!==""){this.videoFormats.forEach(function(format){var p=path;if(p.indexOf("."+format)===-1){p+="."+format}html+='<source src="'+p+'">'})}html+="</video>";$(e).html(html);let playEventSent=false;function sendPlayEvent(){if(!playEventSent){$this.fluidbook.stats.trackEvent(statsType,"play",statsName);playEventSent=true}}player=videojs(id,setup);player.ready(function(){$this.fluidbook.stats.trackEvent(statsType,"show",statsName);$this.resizeControls();if(autoplay){var promise=player.play();if(promise!==undefined){promise.then(function(){sendPlayEvent()}).catch(function(error){player.one("play",function(){sendPlayEvent()})})}else{}}if(fluidbook.video.players[id]){var settings=fluidbook.video.players[id];player.autoplay(false);player.volume(settings.volume);player.muted(settings.muted);player.currentTime(settings.currentTime);setTimeout(function(){player.play()},50);player.one("play",function(){if(settings.paused){player.one("play",function(){sendPlayEvent()});setTimeout(function(){player.pause()},100)}else{sendPlayEvent();$.each(hidelinksonplay,function(k,id){$this.fluidbook.links.hideLinkById(id)})}});player.play();if(settings.paused){player.pause();player.one("play",function(){sendPlayEvent()})}else{sendPlayEvent()}setTimeout(function(){$this.fluidbook.contentlock.addAction(linkid,"complete")},(player.duration()-5)*1e3)}});player.on("play",function(){$.each(hidelinksonplay,function(k,id){$this.fluidbook.links.hideLinkById(id)})});player.on("pause",function(){if(controls){this.bigPlayButton.show()}player.one("play",function(){this.bigPlayButton.hide()});$.each(hidelinksonplay,function(k,id){$this.fluidbook.links.showLinkById(id)})});player.on("fullscreenchange",function(){if(player.isFullscreen()){$(window).trigger("videoFullscreenEntered")}else{$(window).trigger("videoFullscreenExited")}});player.on("ended",function(){$this.fluidbook.contentlock.addAction(linkid,"complete")}
1)},openVideo:function(link){if(link===undefined)return false;link=$(link);var popup=$("#videoPopup"),html,width=parseFloat(link.data("width")),height=parseFloat(link.data("height")),name=link.data("name"),controls=link.data("controls"),loop=link.data("loop"),sound=link.data("sound"),autoplay=link.data("autoplay"),path,poster;if(fluidbook.settings.mobileVideosPath==""){path="data/links/"+name}else{path=fluidbook.settings.mobileVideosPath+name;if(!fluidbook.settings.standalone&&path.substr(0,3)=="../"){path="../"+path}}poster=path+".jpg";html='<video class="video-js" playsinline disablePictureInPicture poster="'+poster+'" ';if(!isNaN(width)){html+='data-width="'+width+'" ';html+='width="'+width+'" '}if(!isNaN(height)){html+='data-height="'+height+'" ';html+='height="'+height+'" '}html+='controls="controls" ';if(controls=="0"){html+="onplay=\"this.removeAttribute('controls')\" "}if(loop=="1"){html+='onended="this.play()" '}html+='data-autoplay="'+autoplay+'" ';if(sound=="0"){html+='muted="muted" '}html+='controlsList="nodownload" ';html+='oncontextmenu="return false;" ';html+='src="'+path+"."+this.preferedFormat+'"></video>';popup.html(html);videojs($("#videoPopup video"));$("body").addClass("videoPopup");popup.show()},initCache:function(){var $this=this;$("body").append('<iframe id="videoframe" marginheight="0" marginwidth="0" scrolling="no" width="1" height="1" src="data/links/video.'+this.preferedFormat+'.html" frameborder="0"></iframe>');$("#videoframe").load(function(){var w=this.contentWindow;var cache=w.applicationCache;cache.addEventListener("downloading",$this.logCacheEvent,false);cache.addEventListener("checking",$this.logCacheEvent,false);cache.addEventListener("cached",$this.logCacheEvent,false);cache.addEventListener("downloading",$this.logCacheEvent,false);cache.addEventListener("noupdate",$this.logCacheEvent,false);cache.addEventListener("updateready",$this.logCacheEvent,false);cache.addEventListener("error",$this.logCacheEvent,false);$(this).hide()})},logCacheEvent:function(e){},pauseAllVideos:function(){$("video").each(function(){this.pause()})},removeAllVideos:function(skipPopupVideos){skipPopupVideos=skipPopupVideos||true;var $this=this,playersToBeRemoved=this.getActivePlayers();if(skipPopupVideos){playersToBeRemoved=playersToBeRemoved.filter(function(player){return!$.contains(document.getElementById("view"),document.getElementById(player.id()))})}playersToBeRemoved.forEach(function(player){$this.disposeVideo(player)})},disposeVideo:function(player){var id=player.id();if(player.hasStarted()){fluidbook.video.players[id]={currentTime:player.currentTime(),volume:player.volume(),muted:player.muted(),paused:player.paused()}}player.dispose();return id},getActivePlayers:function(){var players=[];if(typeof videojs!=="undefined"&&Object.keys(videojs.players).length>0){for(var id in videojs.players){if(videojs.players[id]){players.push(videojs(id))}}}return players},isVideoFullscreen:function(){return this.fullscreenActive},resizeControls:function(){$(".video-js").each(function(){var id=$(this).attr("id");if(videojs(id)&&videojs(id).isFullscreen()){$(this).attr("style","")}else{var scaledFontSize=12/fluidbook.resize.bookScale,scaledWidth=$(this).width()*fluidbook.resize.bookScale,breakpoint=400;if(scaledWidth<breakpoint){$(this).css("fontSize",scaledFontSize*scaledWidth/breakpoint)}else{$(this).css("fontSize",scaledFontSize)}}})},pauseHiddenVideos:function(){$(".videoContainer:hidden video").each(function(){$(this).get(0).pause()})},killVideosIn:function(e){var $this=this;$(e).find(".videoContainer").each(function(){var id=$(this).data("id");try{var player=videojs(id);$this.disposeVideo(player)}catch(e){}})}};function FluidbookViewport(fluidbook){this.width="device-width";this.height=null;this.minScale=1;this.maxScale=1;this.initialScale=1;this.userScalable=false;this.meta=$('meta[name="viewport"]');this.fluidbook=fluidbook;if(this.fluidbook.support.iOS){this.initialScale=1}}FluidbookViewport.prototype={updateViewport:function(){var w="";if(this.width!=null){w="width="+this.width+", "}var h="";if(this.height!=null){h="height="+this.height+", "}var is="";if(this.initialScale>0){var is="initial-scale="+this.initialScale+", "}var us=this.userScalable==true?"yes":"no";var value=w+h+is+"minimum-scale="+Math.max(.25,this.minScale)+", maximum-scale="+Math.min(10,this.maxScale)+", user-scalable="+us+", shrink-to-fit=no";this.meta.attr("content",value)}};function FluidbookDesktop(fluidbook){this.fluidbook=fluidbook;if(this.fluidbook.support.iOS||this.fluidbook.support.android){return}this.init()}FluidbookDesktop.prototype={init:function(){var $this=this;$(document).on("touchend","#links",function(e){if($(e.target).is("#links")){e.preventDefault()}});$(document).on("click","#links",function(e){if($this.fluidbook.settings.zoomClick!==false&&$this.fluidbook.zoom.enabled&&$this.fluidbook.input.isUsingMouse()&&!$this.fluidbook.hasDraggableOnPage()){$this.clickZoom(e);return false}});$(document).on("click","#links .link:not(.eventOverlayLink)",function(e){e.stopPropagation()});$(document).on("mousemove","body",function(e){if($this.fluidbook.zoom.enabled&&$this.fluidbook.settings.zoomMouseMoveMode==="move"){$this.moveZoom(e)}})},moveZoom:function(e,force){try{var x=e.pageX/this.fluidbook.resize.ww;var y=e.pageY/this.fluidbook.resize.hh;this.fluidbook.zoom.setOriginPct(x,y,force)}catch(err){}},clickZoom:function(e,way){if(way==undefined){if(this.fluidbook.zoom.zoom==1){way=1}else{way=-1}}var newScale;if(way==1){newScale=this.fluidbook.settings.zoom/100}else if(way==-1){newScale=1}this.moveZoom(e,true);this.fluidbook.zoom.setZoom(newScale);return false}};function FluidbookService(fluidbook,id){this.fluidbook=fluidbook;this.id=id}FluidbookService.prototype={getBaseURL:function(short){var res="https://toolbox.fluidbook.com/";if(this.fluidbook.settings.compiler===undefined||this.fluidbook.settings.compiler!==3){res="https://workshop.fluidbook.com/"}if(short==="true"){res+="s"}else{res+="services"}res+="/";return res}
1,call:function(func,settings,handler,context){settings["id"]=this.id;return $.ajax({url:this.getBaseURL()+func,context:context,format:"xml",crossDomain:true,data:settings,success:function(data){handler.call(this,data)}})},open:function(func,settings,options){settings["id"]=this.id;var u=[];$.each(settings,function(k,v){u.push(k+"="+encodeURIComponent(v))});var url=this.getBaseURL()+func+"?"+u.join("&");this.fluidbook.wopen(url,"_blank",options)}};function FluidbookShare(fluidbook){this.fluidbook=fluidbook;if(this.isEnabled()){var $this=this;if(this.fluidbook.settings.phonegap!=="android"){$(document).on(this.fluidbook.input.clickEvent,".share",function(){var f="send"+ucfirst($(this).data("service"));var url=$(this).data("url");if(url===undefined||url===null||url==="undefined"){url=""}var context=$(this).data("context")===null?"publication":$(this).data("context");$this[f](url,context);$(this).closest(".mview").find(".back").click();return false})}$(document).on(this.fluidbook.input.clickEvent,'[data-action="share"]',function(){$this.fluidbook.menu.openView("share",$(this).data("extra"),$(this).data("context"));return false});$(this.fluidbook).on("fluidbook.page.change.end",function(){$('[data-href^="article:"]').each(function(){$(this).attr("data-href",relativeToAbsoluteURL($this.getShareURL($(this).data("href"))))});if($(".fb-like").length>0){try{console.log("try to refresh facebook");FB.XFBML.parse()}catch(e){}}});if(this.fluidbook.settings.phonegap==="android"){$(document).on(this.fluidbook.input.clickEvent,"#shareLinks, #shareLinks a",function(e){e.stopPropagation();e.stopImmediatePropagation();e.preventDefault();$this.intentShare();return false})}}}FluidbookShare.prototype={isEnabled:function(){return this.fluidbook.settings.share&&this.getShareURL("")!==false},getFluidbookURL:function(withPage){var l=window.location.toString();if(this.fluidbook.settings.restrictPrintDownload!==""){l=l.replace("?"+this.fluidbook.settings.restrictPrintDownload,"");l=l.replace(this.fluidbook.settings.restrictPrintDownload,"")}var e=l.split("#");var res=e[0];if(withPage===true){res+="#/page/"+this.fluidbook.currentPage}return res},getShareURL:function(url){if(url==undefined||url=="undefined"||url==null||url==false){url=""}url=url.toString();if(url==""){var res=false;if(this.fluidbook.support.offline||this.fluidbook.settings.phonegap){if(this.fluidbook.settings.offlineLink!==""&&this.fluidbook.settings.offlineLink!=="http://"){res=this.fluidbook.settings.offlineLink}}else if($_GET["hybrid"]!==undefined&&$_GET["hybrid"]==="1"&&$_GET["from"]!==undefined&&$_GET["from"]){res=decodeURIComponent($_GET["from"])}else{res=this.getFluidbookURL()}return res}var e=url.split(":");if(e.length===1){return relativeToAbsoluteURL(url)}else{if(e[0]==="http"||e[0]==="https"){return url}else if(e[0]==="article"){e.shift();var articleTitle=e.join(":");return relativeToAbsoluteURL("./p/"+this.getSEOArticle(articleTitle).url)}}},getShareTitle:function(url){if(url==""){return this.fluidbook.settings.title}else{var e=url.split(":");if(e[0]=="article"){e.shift();var articleTitle=e.join(":");return this.getSEOArticle(articleTitle).title}}return this.fluidbook.settings.title},getEmailSubject:function(url,context){if(context==="publication"){if(this.fluidbook.settings.email_title===""){return this.fluidbook.settings.title}return this.fluidbook.settings.email_title}else if(context==="product"){return this.fluidbook.settings.product_email_title}else if(context==="article"){return this.getSEOArticle(url).title}},getEmailBody:function(url,context){var body;var u=this.getShareURL(url);var title=this.fluidbook.settings.title;if(context==="publication"){if(this.fluidbook.settings.email_body===""){body=this.fluidbook.l10n.__("Veuillez cliquer sur le lien suivant pour ouvrir %title%\\n%link%")}else{body=this.fluidbook.settings.email_body}}else if(context==="product"){body=this.fluidbook.settings.product_email_body}else if(context==="article"){body="%title%\\n%link%";title=this.getSEOArticle(url).title}body=body.trim();body=body.replace(/\%title\%/g,title);if(body.indexOf("%link%")===-1&&body.indexOf("http")===-1){body+="\n\n"+u}else{body=body.replace(/\%link\%/g,u)}body=body.replace(/\\r\\n/g,"\n");body=body.replace(/\\r/g,"\n");
1body=body.replace(/\\n/g,"\r\n");return body},getSEOArticle:function(id){id=id.toString();if(id.indexOf("article:")===0){id=id.substr(8)}if(this.fluidbook.settings.seoArticles[id]!==undefined){return this.fluidbook.settings.seoArticles[id]}var found=false;$.each(this.fluidbook.settings.seoArticles,function(k,v){if(v.id.toString()===id){found=v;return false}});if(found!==false){return found}},getShareLinks:function(hideLabels,url,context){var shareLinks={},shareHTML="";if(url===undefined||url===null||url==="undefined"){url=""}hideLabels=hideLabels||false;if(this.fluidbook.settings.friend){shareLinks["email"]="E-mail"}if(this.fluidbook.settings.facebook){shareLinks["facebook"]="Facebook"}if(this.fluidbook.settings.twitter){shareLinks["twitter"]="Twitter"}if(this.fluidbook.settings.whatsapp){shareLinks["whatsapp"]="WhatsApp"}if(this.fluidbook.settings.linkedin){shareLinks["linkedin"]="LinkedIn"}if(this.fluidbook.settings.pinterest){shareLinks["pinterest"]="Pinterest"}for(var shareType in shareLinks){if(shareLinks.hasOwnProperty(shareType)){shareHTML+='<li data-level="0"><a href="#" data-service="'+shareType+'" data-url="'+url+'" data-context="'+context+'" class="share level0">';shareHTML+=getSpriteIcon("share-"+shareType);if(!hideLabels){shareHTML+=" "+shareLinks[shareType]}shareHTML+="</a></li>"}}return'<ul class="chapters shareList">'+shareHTML+"</ul>"},openShare:function(url,context,callback){var view;if(url===undefined||url===null||url==="undefined"||!url){url=""}if(context===undefined||context===null){context=url.indexOf("article:")===0?"article":"publication"}view=this.fluidbook.menu.getCaption(this.fluidbook.l10n.__("share"));view+='<div class="content">';view+=this.getShareLinks(false,url,context);view+="</div>";this.fluidbook.menu.viewWrap(view,"share");if(callback!=undefined){callback()}},intentShare:function(subject,body){if(subject==undefined){subject=this.fluidbook.settings.title}if(body==undefined){body=this.fluidbook.settings.title+" : "+this.getShareURL()}body=body.replace(/\r\n/g,"\n");body=body.replace(/\r/g,"\n");body=body.replace(/\n/g,"\r\n");if(this.fluidbook.settings.phonegap==="android"){var extras={};extras[window.plugins.webintent.EXTRA_SUBJECT]=subject;extras[window.plugins.webintent.EXTRA_TEXT]=body;window.plugins.webintent.startActivity({action:window.plugins.webintent.ACTION_SEND,type:"text/plain",extras:extras},function(args){},function(args){})}else{window.location="mailto:?subject="+encodeURIComponent(subject)+"&body="+encodeURIComponent(body)}this.fluidbook.stats.track(5,null,"email")},getTweetContent:function(url,context){var tweet;if(context==="publication"){tweet=this.fluidbook.settings.twitter_description}else if(context==="product"){tweet=this.fluidbook.settings.product_tweet}else if(context==="article"){tweet="%title% : %short%"}return tweet.replace("%title%",this.getShareTitle(url))},sendEmail:function(url,context){var subject=encodeURIComponent(this.getEmailSubject(url,context));var body=encodeURIComponent(this.getEmailBody(url,context));var mailtoParams=[];if(subject!==""){mailtoParams.push("subject="+subject)}if(body!==""){mailtoParams.push("body="+body)}window.location="mailto:?"+mailtoParams.join("&");this.fluidbook.stats.track(5,null,"email")},_getShortShare:function(url,context){var tweet=this.getTweetContent(url,context);var hasUrlInTweet=tweet.indexOf("%url%")>=0||tweet.indexOf("%short%")>=0;url=this.getShareURL(url);var escaped_url=encodeURIComponent(url);tweet=tweet.replace("%short%",url);tweet=tweet.replace("%url%",url);var urlshare="";if(!hasUrlInTweet){urlshare="&url="+escaped_url}return{url:urlshare,content:tweet}},sendTwitter:function(url,context){var data=this._getShortShare(url,context);this.fluidbook.wopen("https://twitter.com/intent/tweet?source=webclient"+data.url+"&text="+encodeURIComponent(data.content),"share_twitter","width=650,height=400");this.fluidbook.stats.track(13,null,"twitter")},sendWhatsapp:function(url,context){var data=this._getShortShare(url,context);this.fluidbook.wopen("https://api.whatsapp.com/send?text="+encodeURIComponent(data.content),"share_whatsapp","width=600,height=600");this.fluidbook.stats.track(12,null,"whatsapp")},sendFacebook:function(url,context){this.fluidbook.wopen("https://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(this.getShareURL(url)),"share_facebook","width=6
150,height=400");this.fluidbook.stats.track(12,null,"facebook")},sendLinkedin:function(url,context){this.fluidbook.wopen("https://www.linkedin.com/sharing/share-offsite/?url="+encodeURIComponent(this.getShareURL(url)),"share_linkedin","width=650,height=400");this.fluidbook.stats.track(12,null,"linkedin")},sendPinterest:function(url,context){this.fluidbook.wopen("http://pinterest.com/pin/create/button/?url="+encodeURIComponent(this.getShareURL(url))+"&media="+encodeURIComponent(this.fluidbook.service.getBaseURL()+"facebook_thumbnail?id="+this.fluidbook.settings.id+"&j="+Date.now())+'"',"width=650,height=400");this.fluidbook.stats.track(12,null,"pinterest")}};function FluidbookL10N(fluidbook,lang){this.translations={};this.multilang=[];this.multilangEnabled=false;this.fluidbook=fluidbook;this.currentLang;this.init(lang);this.initMultilang();this.load()}FluidbookL10N.prototype={init:function(lang){if(lang===undefined||lang===null||lang===""){lang="default"}this.lang=lang;if(this.lang==="default"){this.currentLang=this.fluidbook.settings.defaultLang}else{this.currentLang=this.lang}},translateAttributes:function(){var $this=this;var attrs=["data-tooltip","aria-label"];var selectors=[];$.each(attrs,function(k,attr){selectors.push("["+attr+"]")});$(selectors.join(",")).each(function(){var e=this;$.each(attrs,function(k,attr){if($(e).is("["+attr+"]")){var attrValue=$(e).attr(attr);if(attrValue.substr(0,1)==="~"){$(e).attr(attr,$this.fluidbook.l10n.__(attrValue.substring(1)))}}})})},load:function(){this.dir=this.getLanguageDirection(this.getActiveLang());this.ltr=this.dir=="ltr";this.rtl=!this.ltr;$("html").attr("dir",this.dir);if(this.dir=="rtl"){$("html").removeClass("ltr").addClass("rtl")}else{$("html").removeClass("rtl").addClass("ltr")}if(this.lang==="default"){this.translations=this.fluidbook.settings.l10n[this.fluidbook.settings.defaultLang];$.extend(this.translations,this.fluidbook.settings.l10n[this.lang])}else{this.translations=this.fluidbook.settings.l10n[this.lang]}this.updateTranslations()},getActiveLang:function(){var res=this.lang;if(this.lang==="default"){res=this.fluidbook.settings.defaultLang}if(undefined!==this._langsCount&&this._langsCount[res]>1){res+="_"+this.fluidbook.settings.country}return res},initMultilang:function(){var forceLocales;try{forceLocales=window.localStorage.getItem("locales")}catch(err){}var force=false;if(forceLocales===undefined||forceLocales===null||forceLocales==="undefined"){force=false}else{force=true;try{forceLocales=json_parse(forceLocales)}catch(err){force=false}}if(!force){if(this.fluidbook.settings.multilang==""){return}if(this.fluidbook.settings.multiApp){return}}this.multilangEnabled=true;var $this=this;var ml=this.fluidbook.settings.multilang.replace(/\r/g,"\n").replace(/\n+/g,"\n");var e=ml.split("\n");this._langsCount={};var versions=[];$.each(e,function(k,v){if(v==""){return}var l=v.split(",");if(l[0]==""){return}var url=l[2];if(force){var publications=forceLocales[l[0]];if(publications===undefined||publications===null){publications=forceLocales[l[0]+"_"+l[1].toLocaleUpperCase()]}if(publications===undefined||publications===null){return}var pubid=publications[0];try{url=pubid}catch(err){url=""}}var o={lang:l[0],flag:l[1],url:url,langName:l[3],countryName:l[4]};if($this._langsCount[o.lang]===undefined){$this._langsCount[o.lang]=0}$this._langsCount[o.lang]++;versions.push(o)});$.each(versions,function(k,version){var languageId=version.lang;if($this._langsCount[version.lang]>1){languageId+="_"+version.flag}version.id=languageId;$this.multilang[languageId]=version})},getCurrentLanguageName:function(){return this.getLanguageName(this.getActiveLang())},getLanguageName:function(languageCode){var details=this.multilang[languageCode],name="";if(details===undefined){return name}switch(this.fluidbook.settings.multilangDisplay){case"lang":name=details.langName;break;case"lang_country":name=details.langName+" ("+details.countryName+")";break;case"country_lang":name=details.countryName+" ("+details.langName+")";break}return name},getLanguageDirection:function(languageCode){let rtlLanguages=["ar","he","fa","ku","pa","sd","ur"];var e=languageCode.substring(0,2).toLowerCase();return rtlLanguages.indexOf(e)>=0?"rtl":"ltr"},updateTranslations:function(){var $this=this;$("#q").attr("placeholder",this.__("search"));$("i.l10n").each(function(){var t=$this.fluidbook.l10n.__($(this).attr("str"));$(this).replaceWith(t)})},translate:function(str,markupIfNonAvailable){return this.__(str,markupIfNonAvailable)},__:function(str,markupIfNonAvailable){if(str===undefined){return}if(str.substr(0,1)==="!"){return str.substr(1)}if(str.substr(0,1)==="~"){str=str.substring(1)}
1if(this.translations[str]==undefined||this.translations[str]==null||this.translations[str]==""){if(markupIfNonAvailable==undefined||!markupIfNonAvailable){return str}else{return"~ "+str+" ~"}}return this.translations[str]}};function FluidbookSlider(fluidbook){var $this=this;this.fluidbook=fluidbook;this.sliderWidth=0;this.cursorWidth=0;this.snapsWidth=0;this.snapsCount=0;this.hasSliderLink=false;this.hasSlider=false;if(this.fluidbook.settings.pagesBar){this.init()}$this.initSliderLink()}FluidbookSlider.prototype={initSliderLink:function(){if(this.hasSliderLink){return}if(this.fluidbook.settings.links.slider.length===0){return}this.hasSliderLink=true;$("#interface").append('<div id="sliderlinks" style="width:'+this.fluidbook.settings.sliderImageDimensions[0]+"px;height:"+this.fluidbook.settings.sliderImageDimensions[1]+'px;" aria-hidden="true"><img src="data/interface/'+this.fluidbook.settings.sliderImage+'" class="back"><div class="links">'+this.fluidbook.loader.handleExtension(this.fluidbook.settings.links.slider)+"</div></div>")},init:function(){this.hasSlider=true;var $this=this;$(document).on(this.fluidbook.input.clickEvent,function(){$("#slider").removeClass("drag");return true});$(document).on(this.fluidbook.input.clickEvent,"#sliderthumb a[data-page]",function(){if($this.fluidbook.canChangePage()){$this.fluidbook.setCurrentPage(parseInt($(this).attr("data-page")))}return false});$("#interface").append('<div id="slider" aria-hidden="true"><div id="sliderthumb"><div class="doubleThumb"><div class="thumb left"><a href="#"><div class="img"></div></a><span class="number"></span><a href="#" class="bookmark left"></a></div><div class="thumb right"><a href="#"><div class="img"></div></a><span class="number"></span><a href="#" class="bookmark right"></a></div></div></div><div id="sliderback"><div class="visible"></div></div><div id="slidercursor"><div class="visible"></div></div></div>');$(this.fluidbook).on("fluidbook.page.change.end",function(e,page){$this.updateCursorPosition()});$("#sliderback").on(this.fluidbook.input.clickEvent,function(e){if($this.fluidbook.pagetransitions.transitionning){return}$this.updatePageByCursorPosition($this.pageToSlider(e.pageX),true,true);$("#slider").removeClass("")});$("#slidercursor").on("mousedown",function(e){$this.dragCursor(e,false,true);return true});var hmf=new Hammer.Manager(document.getElementById("slidercursor"),{domEvents:false});hmf.add(new Hammer.Pan({threshold:0}));hmf.on("panmove",function(event){$this.dragCursor(event,false,true);event.preventDefault()});hmf.on("panend",function(event){$this.dragCursor(event,true,true);event.preventDefault()});$("#slider").on("mouseenter mousemove",function(e){if($this.fluidbook.input.isUsingMouse()){return $this.hover(e.pageX)}});$("#slider").on("mouseleave",function(){if($this.fluidbook.input.isUsingMouse()){$this.leave()}})},leave:function(){$("#slider").removeClass("hover")},hover:function(pageX){if(!$("#slider").length===0){return}$("#slider").addClass("hover");var page=this.getPageByX(this.pageToSlider(pageX));this.updateThumb(page)},dragCursor:function(e,end,move){if(move==undefined){move=true}if(!end){$("#slider").addClass("drag")}else{$("#slider").removeClass("drag")}if(move){if(e.center!=undefined){this.updatePageByCursorPosition(this.pageToSlider(e.center.x),end,true)}}},pageToSlider:function(pageX){try{return pageX-$("#slider").offset().left}catch(e){return 1}},updatePageByCursorPosition:function(pos,gotoPage,updateCursor){if(updateCursor==undefined){updateCursor=false}if(gotoPage==undefined){gotoPage=true}var page=this.getPageByX(pos);if(gotoPage&&this.fluidbook.canChangePage()){this.fluidbook.setCurrentPage(page)}if(updateCursor){this.updateCursorPosition(page)}return false},getPageByX:function(pos){var page;if(this.fluidbook.l10n.rtl){pos=Math.max(0,this.sliderWidth-pos)}if(this.fluidbook.resize.orientation=="portrait"){page=Math.floor(pos/(this.sliderWidth/this.snapsCount))+1;pageMin=1}else{page=Math.floor(pos/(this.sliderWidth/this.snapsCount))*2;pageMin=0}return Math.min(this.fluidbook.contentlock.getMaxPage(),Math.max(pageMin,page))},resize:function(ww,hh,single){if(this.hasSlider){this.resizeSlider(ww,hh,single)}if(this.hasSliderLink){this.resizeSliderLink(ww,hh,single)}},resizeSliderLink:function(ww,hh,single){var r=document.getElementById("fluidbook").getBoundingClientRect();var iw=this.fluidbook.settings.sliderImageDimensions[0];var ih=this.fluidbook.settings.sliderImageDimensions[1];var ah=hh-r.top-r.height;var scale=Math.min(r.width/iw,ah/ih);var h=ih*scale;var w=iw*scale;css={left:r.left+(r.width-w)/2,top:r.top+r.height+(ah-h)/2,transform:"scale("+scale+")"};$("#sliderlinks").css(css)},resizeSlider:function(ww,hh,single){if(single){this.sliderWidth=ww/2}else{this.sliderWidth=this.fluidbook.resize.getScreenFluidbookWidth()*.4}this.sliderWidth=Math.round(this.sliderWidth);var bottom=26;if(single){bottom=18}bottom*=this.fluidbook.resize.interfaceScale;$("#slider").css({width:this.sliderWidth,left:(ww-this.sliderWidth)/2,top:hh-bottom}).transform({scaleY:this.fluidbook.resize.interfaceScale});$("#sliderthumb").transform({scaleX:this.fluidbook.resize.interfaceScale});this.updateSnaps(single);
1$("#slidercursor").css("width",this.cursorWidth);this.updateCursorPosition()},updateSnaps:function(single){if(single){this.snapsCount=this.fluidbook.contentlock.getMaxPage()}else{this.snapsCount=Math.floor(this.fluidbook.contentlock.getMaxPage()/2)+1}this.cursorWidth=Math.max(30,this.sliderWidth/this.snapsCount);this.snapsWidth=(this.sliderWidth-this.cursorWidth)/(this.snapsCount-1)},updateCursorPosition:function(page){if(page==undefined){page=this.fluidbook.currentPage}$("#slidercursor").css("left",this.getCursorXByPage(page));if($("#sliderthumb").is(":visible")){if($("#slider").hasClass("hover")&&!$("#slider").hasClass("drag")){}else{this.updateThumb(page)}}},getCursorXByPage:function(page){var left;if(this.fluidbook.l10n.rtl){page=this.fluidbook.contentlock.getMaxPage()-page}if(this.fluidbook.resize.orientation==="portrait"){left=this.snapsWidth*(page-1)}else{var current=Math.floor(page/2);left=this.snapsWidth*current}return Math.max(0,Math.min(left,this.sliderWidth-this.cursorWidth))},updateThumb:function(page){var left=0;var right=0;var single=false;if(this.fluidbook.resize.orientation==="portrait"){single=true;left=page}else{if(page%2===1){page--}if(page>0){left=page}if(page<=this.fluidbook.contentlock.getMaxPage()){right=page+1}}if(single){$("#sliderthumb").addClass("single")}else{$("#sliderthumb").removeClass("single");if(left==0||right==0){$("#sliderthumb .doubleThumb").addClass("simple");if(left==0){$("#sliderthumb .doubleThumb").addClass("right")}else{$("#sliderthumb .doubleThumb").removeClass("right")}if(right==0){$("#sliderthumb .doubleThumb").addClass("left")}else{$("#sliderthumb .doubleThumb").removeClass("left")}}}if(this.fluidbook.l10n.ltr){this.setThumb($("#sliderthumb .doubleThumb").find(".thumb.left"),left,!single);this.setThumb($("#sliderthumb .doubleThumb").find(".thumb.right"),r
1ight,!single)}else{this.setThumb($("#sliderthumb .doubleThumb").find(".thumb.left"),right,!single);this.setThumb($("#sliderthumb .doubleThumb").find(".thumb.right"),left,!single)}this.fluidbook.bookmarks.updateBookmarks();$("#sliderthumb").css("left",this.getCursorXByPage(page)+this.cursorWidth/2-$("#sliderthumb").outerWidth()/2)},setThumb:function(thumb,page,shade){thumb.find(".bookmark").attr("data-page",page);if(page>0&&page<=this.fluidbook.contentlock.getMaxPage()){thumb.css("visibility","visible");var img=this.fluidbook.loader.getThumbImage(page,shade);var link=thumb.find("a:not(.bookmark)");if(page!=link.attr("data-page")){link.attr("href","#").attr("data-page",page).html(img);thumb.find(".number").text(this.fluidbook.physicalToVirtual(page))}}else{thumb.css("visibility","hidden")}}};function FluidbookPageTransition(fluidbook){this.fluidbook=fluidbook;this.transitionning=false;this.timeoutAfterTransition=0;this.init()}FluidbookPageTransition.prototype={init:function(){if(this.fluidbook.support.transitions3dacc&&this.fluidbook.settings.mobileTransitions==="flip3d"){this.flip3d=new Fluidbook3DFlip(this.fluidbook)}else{this.flip3d=false}},normalizeTransitionPageNr:function(pageNr){if(pageNr==undefined){pageNr=this.fluidbook.currentPage;if(pageNr==-1){pageNr=1}}return this.fluidbook.normalizePage(pageNr)},getTransitionDuration:function(pageNr){var type=this.getTransitionType(pageNr);var f=0;if(type==="immediate"){return 0}else if(type==="flip3d"){return this.flip3d.animationTime}else if(type==="flipcss"||type==="flip"){return parseFloat(this.fluidbook.settings.mobileTransitionDuration)}else{return parseFloat(this.fluidbook.settings.mobileTransitionDurationSlide)}},getTransitionType:function(pageNr){if(pageNr!==undefined){pageNr=this.normalizeTransitionPageNr(pageNr);if(pageNr===this.fluidbook.normalizePage(this.fluidbook.currentPage)||this.fluidbook.currentPage===-1){return"immediate"}}if(this.fluidbook.settings.mobileTransitions==="fade"){if(this.fluidbook.displayOnePage){return"fadeone"}else{return"fade"}}if(!this.fluidbook.support.transitions2d||this.fluidbook.settings.mobileTransitions==="none"){return"immediate"}if(this.fluidbook.displayOnePage){return"portrait"}if(!this.fluidbook.support.transitions3d&&this.fluidbook.settings.mobileTransitions==="flip"){return"slide"}if(this.fluidbook.settings.mobileTransitions==="slide"){return"slide"}if(!this.fluidbook.support.transitions3dacc||!this.fluidbook.support.datauriallowed){if(!this.fluidbook.support.transitions3d){return"slide"}else{return"flipcss"}}if(this.fluidbook.support.transitions3dacc&&this.fluidbook.settings.mobileTransitions==="flip3d"&&this.fluidbook.support.datauriallowed){return"flip3d"}return"flipcss"},pageTransition:function(pageNr,transitionType){var $this=this;if(this.fluidbook.pad.enabled){this.transitionAxis=this.fluidbook.pad.getTransitionAxis(this.fluidbook.currentPage,page)}else{this.transitionAxis="x"}$(this.fluidbook).trigger("fluidbook.beforePageTransition");this.fluidbook.tooltip.hideTooltip();pageNr=this.normalizeTransitionPageNr(pageNr);if(transitionType===undefined){transitionType=this.getTransitionType(pageNr)}if(this.fluidbook.firstTransition||transitionType==="immediate"){this.fluidbook.firstTransition=false;this.fluidbook.zoom.resetZoom();return this.pageTransition1D(pageNr)}if(transitionType==="fade"){this.fluidbook.zoom.resetZoom();return this.pageTransitionFade(pageNr)}if(transitionType==="fadeone"){this.fluidbook.zoom.resetZoom();return this.pageTransitionFadeOne(pageNr)}if(transitionType==="portrait"){this.fluidbook.zoom.resetZoom();return this.pageTransition2DPortrait(pageNr)}if(transitionType==="slide"){this.fluidbook.zoom.resetZoom();return this.pageTransition2D(pageNr)}if(transitionType==="flip3d"){this.fluidbook.zoom.resetZoom(function(){return $this.pageTransition3DFlip(pageNr)});return true}else if(transitionType==="flipcss"){this.fluidbook.zoom.resetZoom();return this.pageTransition3D(pageNr)}},pauseNetworkDuringTransition:function(pageNr){this.fluidbook.networkControl.pause((this.getTransitionDuration(pageNr)+.5)*1e3,true)},pauseNetworkDuringPagesPreload:function(){this.fluidbook.networkControl.pause(3e4)},pageTransition3D:function(pageNr){var $this=this;if($("#pages").hasClass("_3dtransition")){return}this.transitionning=true;var $this=this;var turning=this.getTurningPages(pageNr);$("#pages").prepend('<div id="nextDoublePage" aria-hidden="true" class="_3d doublePage '+turning.nextFromClass+'start"></div>');var doublePage=$("#nextDoublePage");var currentDoublePage=$("#currentDoublePage");
1if(!this.fluidbook.loader.arePreloadedPages(turning.end)){this.fluidbook.displayLoader()}this.pauseNetworkDuringPagesPreload();this.fluidbook.loader.preloadPagesBeforeTransition(turning.end,function(){$("#pages").addClass("_3dtransition");$this.fluidbook.loader.setContentsInDoublePage(currentDoublePage,turning.flat,false,function(){$this.fluidbook.loader.setContentsInDoublePage(doublePage,turning.flip,false,function(){$this.beforeTransition(pageNr,3,turning);$this.pauseNetworkDuringTransition(pageNr);$(doublePage).addClass(turning.nextFromClass+"end").one($this.fluidbook.support.getTransitionEndEvent(),function(){if($this.transitionning===false){return}if($("#nextDoublePage").length===0){$("#pages").removeClass("_3dtransition");$this.transitionning=false}$this.fluidbook.loader.setContentsInDoublePage(doublePage,turning.end,false,function(){$(doublePage).removeClass("_3d").removeClass(turning.nextFromClass+"start").removeClass(turning.nextFromClass+"end");$("#currentDoublePage").remove();$(doublePage).attr("id","currentDoublePage");$("#pages").removeClass("_3dtransition");$this.afterTransition(pageNr)})})})})})},pageTransition3DFlip:function(pageNr){var $this=this;var turning=this.getTurningPages(pageNr);this.transitionning=true;if(!this.fluidbook.loader.arePreloadedPages(turning.end)){this.fluidbook.displayLoader()}var currentDoublePage=$("#currentDoublePage");var cdir="fwd";if(turning.dir===-1){cdir="bwd"}$("#pages").prepend('<div id="nextDoublePage" aria-hidden="true" class="_3dflip '+cdir+' doublePage"></div>');var doublePage=$("#nextDoublePage");this.pauseNetworkDuringPagesPreload();this.fluidbook.loader.preloadPagesBeforeTransition(turning.end,function(){$this.flip3d.clean();$this.flip3d.prepareTurn(turning,function(){$this.beforeTransition(pageNr,3,turning);$this.flip3d.initTurn(turning.dir);setTimeout(function(){$this.fluidbook.loader.setContentsInDoublePage(currentDoublePage,turning.flat,true,function(){$this.fluidbook.loader.setContentsInDoublePage(doublePage,turning.end,true,function(){$this.fluidbook.networkControl.executeAfterProcessing(function(){$this.pauseNetworkDuringTransition(pageNr);$this.fluidbook.hideLoader();$this.flip3d.playTurn(turning.dir,function(){if($this.transitionning===false){return}$("#currentDoublePage").remove();$(doublePage).attr("id","currentDoublePage").removeClass("_3dflip").removeClass("fwd").removeClass("bwd");$this.afterTransition(pageNr)})},true)})})},10)})})},getTurningPages:function(newPage){var res={};res.dir=1;if(newPage<this.fluidbook.currentPage){res.dir=-1}if(this.fluidbook.l10n.dir==="ltr"){res.currentLeft=this.fluidbook.currentPage-this.fluidbook.currentPage%2;res.currentRight=res.currentLeft+1;if(res.dir===1){res.currentToClass="prev";res.nextFromClass="next";res.flat=[res.currentLeft,newPage+1];res.flip=[newPage,res.currentRight]}else{res.currentToClass="next";res.nextFromClass="prev";res.flat=[newPage,res.currentRight];res.flip=[res.currentLeft,newPage+1]}res["end"]=[newPage,newPage+1]}else{res.currentRight=this.fluidbook.currentPage-this.fluidbook.currentPage%2;res.currentLeft=res.currentRight+1;if(res.dir===1){res.currentToClass="next";res.nextFromClass="prev";res.flat=[newPage+1,res.currentRight];res.flip=[res.currentLeft,newPage]}else{res.currentToClass="prev";res.nextFromClass="next";res.flat=[res.currentLeft,newPage];res.flip=[newPage+1,res.currentRight]}if(this.fluidbook.displayOnePage){res.end=[newPage,newPage+1]}else{res.end=[newPage+1,newPage]}res.dir*=-1}var center=this.centerBookEnabled();res.center=0;if(center){if(newPage<=1){res.center=-1}else if(this.fluidbook.settings.pages%2===0&&newPage===this.fluidbook.settings.pages){res.center=1}if(this.fluidbook.l10n.dir==="rtl"){res.center*=-1}}res.loading=[res.currentLeft,res.currentRight];res=json_parse(JSON.stringify(res));return res},centerBookEnabled:function(){return!!this.fluidbook.settings.centerBook&&!this.fluidbook.displayOnePage},centerBook:function(center,animationDuration){var animate=animationDuration!==undefined&&animationDuration>0;var move=$("#center-fluidbook,#center-shadow,#l_tabs .tabs");var currentLeft=$("#center-fluidbook").data("left");var left=0;if(center===undefined){center=$("#center-fluidbook").data("center")}if(center!==0){left=this.fluidbook.resize.centerOffset*center}if(currentLeft===left){return}$("#center-fluidbook,#l_tabs .tabs").data({left:left,center:center});if(animate){$(move).addClass("animate")}else{$(move).removeClass("animate")}var $this=this;var delay=this.fluidbook.support.android?this.fluidbook.settings.mobileTransitionDuration*1e3:10;setTimeout(function(){move.transform({translateX:left+"px"});$this.fluidbook.resize.updateFluidbookRect()},delay)},pageTransition2D:function(pageNr){this.transitionning=true;var $this=this;var turning=this.getTurningPages(pageNr);$("#pages").append('<div id="nextDoublePage" aria-hidden="true" class="doublePage _2d axis_'+this.transitionAxis+" "+turning.nextFromClass+'"></div>');var doublePage=$("#nextDoublePage");
1if(!this.fluidbook.loader.arePreloadedPages(turning.end)){this.fluidbook.displayLoader()}this.pauseNetworkDuringPagesPreload();this.fluidbook.loader.preloadPagesBeforeTransition(turning.end,function(){$this.fluidbook.loader.setContentsInDoublePage(doublePage,turning.end,true,function(){$("#shade").addClass("transition");$this.pauseNetworkDuringTransition(pageNr);$this.beforeTransition(pageNr,2,turning);$("#currentDoublePage").addClass("_2d").addClass("axis_"+$this.transitionAxis).addClass(turning.currentToClass);$(doublePage).removeClass(turning.nextFromClass).one($this.fluidbook.support.getTransitionEndEvent(),function(event){if($this.transitionning===false){return}$("#currentDoublePage").remove();$("#nextDoublePage").attr("id","currentDoublePage");$this.afterTransition(pageNr)})})})},pageTransitionFade:function(pageNr){return this.pageTransitionFadeOne(pageNr)},pageTransitionFadeOne:function(pageNr){this.transitionning=true;var $this=this;var turning=this.getTurningPages(pageNr);$("#pages").append('<div id="nextDoublePage" aria-hidden="true" class="doublePage _fade '+turning.nextFromClass+'"></div>');var doublePage=$("#nextDoublePage");if(this.fluidbook.displayOnePage){this.fluidbook.hidePage("right")}if(!this.fluidbook.loader.arePreloadedPages(turning.end)){this.fluidbook.displayLoader()}this.pauseNetworkDuringPagesPreload();this.fluidbook.loader.preloadPagesBeforeTransition(turning.end,function(){$this.fluidbook.loader.setContentsInDoublePage(doublePage,turning.end,true,function(){$("#shade").addClass("fadetransition");$this.pauseNetworkDuringTransition(pageNr);$this.beforeTransition(pageNr,1,turning);if(turning.center&&!$this.fluidbook.displayOnePage){$("#currentDoublePage").css("opacity",0)}$(doublePage).removeClass(turning.nextFromClass).one($this.fluidbook.support.getTransitionEndEvent(),function(){if($this.transitionning===false){return}$("#currentDoublePage").remove();$("#nextDoublePage").attr("id","currentDoublePage");$this.afterTransition(pageNr)})})})},pageTransition2DPortrait:function(pageNr){this.transitionning=true;var $this=this;var turning=this.getTurningPages(pageNr);$("#pages").append('<div id="nextDoublePage" aria-hidden="true" class="doublePage _2d axis_'+this.transitionAxis+" "+turning.nextFromClass+'"></div>');var doublePage=$("#nextDoublePage");if(this.fluidbook.displayOnePage){this.fluidbook.hidePage("right")}if(!this.fluidbook.loader.arePreloadedPages(turning.end)){this.fluidbook.displayLoader()}this.pauseNetworkDuringPagesPreload();this.fluidbook.loader.preloadPagesBeforeTransition(turning.end,function(){$this.fluidbook.loader.setContentsInDoublePage(doublePage,turning.end,true,function(){$this.pauseNetworkDuringTransition(pageNr);$this.beforeTransition(pageNr,2,turning);$("#currentDoublePage").addClass("axis_"+$this.transitionAxis).addClass("_2d").addClass(turning.currentToClass);$(doublePage).removeClass(turning.nextFromClass).one($this.fluidbook.support.getTransitionEndEvent(),function(){if($this.transitionning===false){return}$("#currentDoublePage").remove();$("#nextDoublePage").attr("id","currentDoublePage");$this.afterTransition(pageNr)})})})},pageTransition1D:function(pageNr){var page=pageNr;var doublePage=$("#currentDoublePage");var $this=this;if(this.fluidbook.displayOnePage){this.fluidbook.hidePage("right")}var turning=this.getTurningPages(pageNr);this.beforeTransition(pageNr,1,turning);this.fluidbook.loader.preloadPagesBeforeTransition(turning.end,function(){$this.fluidbook.loader.setContentsInDoublePage(doublePage,turning.end,true,function(){$this.afterTransition(page)})})},beforeTransition:function(page,transition,turning){if(transition==undefined){transition=1}$(this.fluidbook).trigger("fluidbook.page.change.start",[page,{transition:transition,page:page,turningPages:turning.flip}]);var $this=this;this.fluidbook.tooltip.hideTooltip();$(".axis_y").removeClass("axis_y");$(".axis_x").removeClass("axis_x");$("#links").hide();if(this.fluidbook.mobilefirst.enabled){this.fluidbook.mobilefirst.beforeTransition(page)}if(turning.flip.indexOf(1)>=0&&turning.dir===-1){$("#shade .left").hide()}if(turning.flip.indexOf(this.fluidbook.contentlock.maxPage)>=0&&this.fluidbook.contentlock.maxPage%2===0&&turning.dir===1){$("#shade .right").hide()}this.fluidbook.hideLoader();this.fluidbook.hideUnnecessaryButtons(page);var animationDuration=this.getTransitionDuration(page);this.fluidbook.updateShadows(page,animationDuration);this.centerBook(turning.center,animationDuration);$("#pagesnumbers").addClass("hidden");this.timeoutAfterTransition=setTimeout(function(){if($this.transitionning){$this.afterTransition(page,true)}},1e3*(animationDuration+2));try{this.fluidbook.search.clearHighlights()}catch(err){}},afterTransition:function(page,timeout){if(timeout===undefined){timeout=false}clearTimeout(this.timeoutAfterTransition);var $this=this;this.fluidbook.currentPage=page;this.fluidbook.setPageNumbers();setTimeout(function(){$this.fluidbook.loader.preloadAround(page)},1e3);this.fluidbook.hideLoader();this.fluidbook.resetWaiters();this.fluidbook.updateShadows(page,0);$("#pages").removeClass("_3dtransition");if($("#nextDoublePage").length>0){$("#currentDoublePage").remove();$("#nextDoublePage").attr("id","currentDoublePage")}if($("#currentDoublePage").length>1){$("#currentDoublePage:gt(0)").remove()}$("#nextDoublePage").remove();if(this.fluidbook.pad.enabled){if(this.fluidbook.currentPage==this.fluidbook.settings.pages){$("#down").css("opacity",0)}else{$("#down").css("opacity",1);if(!this.fluidbook.bookmarks.hasNextPageInGroup(this.fluidbook.currentPage)){$("#down").addClass("right")}else{$("#down").removeClass("right")}}}else{$("#down").css("opacity",0)}if(this.fluidbook.getPhysicalPageNumberOfSide("left",true)===false){$("#shade .left").hide()}else{$("#shade .left").show()}if(this.fluidbook.getPhysicalPageNumberOfSide("right",true)===false){$("#shade .right").hide()}else{$("#shade .right").show()}$("#shade").removeClass("transition").removeClass("fadetransition");setTimeout(function(){$this.transitionning=false},10);$("._3dflip").removeClass("_3dflip").removeClass("fwd").removeClass("bwd");this.fluidbook.links.initLinks();if(this.fluidbook.mobilefirst.enabled){this.fluidbook.mobilefirst.afterTransition(page)}$(this.fluidbook).trigger("fluidbook.page.change.end",[this.fluidbook.currentPage])},canChangePage:function(){return this.fluidbook.canNavigate&&!this.transitionning}};function FluidbookNav(fluidbook){this.fluidbook=fluidbook;this._dimensions=this.fluidbook.settings.iconsDimensions;this.menuIsOpen=false;this.chaptersMenuHTML="";this.searchHTML="";this.shareLinksHTML="";this.menu=$("#menu");this.horizontalNav=$("#horizontalNav");this._inited={};this.setNav("horizontalNav");if($("#iconList").html()!==""){this.setNav("menu")}if(Modernizr.msie){$("#horizontalNav svg").each(function(){var h=25;var viewBox=$(this).attr("viewBox").split(" ");var w=parseFloat(viewBox[2])*(h/parseFloat(viewBox[3]));$(this).css("width",w)})}}FluidbookNav.prototype={isLogoCentered:function(){return this.fluidbook.settings.invertMenuPosition>=2},isInverted:function(){let v=this.fluidbook.settings.invertMenuPosition;if(v===false||v==="false"||v==0||v==2){return false}else if(v===true||v==="true"||v==1||v==3){return true}return false},initMenu:function(){var $this=this,dir=this.fluidbook.l10n.dir,
1inverted=this.isInverted(),side=dir==="ltr"&&inverted||dir==="rtl"&&!inverted?"right":"left";var extensions=["pagedim-black","position-front"];if(side==="right"){extensions.push("position-right")}this.menu.mmenu({onClick:{close:function(){if(fluidbook.settings.phonegap==="ios"){return!$(this).is("#menu_download,#menu_print")}return true},preventDefault:function(){return false}},extensions:extensions,offCanvas:{position:side,zposition:"front"},navbar:{title:""},rtl:{use:"detect"}},{offCanvas:{page:{noSelector:["#loader"]}}});this.menuAPI=this.menu.data("mmenu");this.menuAPI.bind("open:finish",function(){$("body").addClass("menu-open");$("nav#menu").addClass("mm-menu_opened");$this.menuIsOpen=true;setInterval(function(){$this.fluidbook.resize.resizeMenu()},500)});this.menuAPI.bind("close:finish",function(){$("body").removeClass("menu-open");$this.menuIsOpen=false});$(document).on(this.fluidbook.input.clickEvent,"#menuOpener",function(e){e.preventDefault();$this.menuAPI.open()});$(document).on(this.fluidbook.input.clickEvent,"#menuSearchResults a",function(e){$this.closeMenu()});$(this.fluidbook).on("fluidbook.resize",function(){$this.fluidbook.resize.resizeMenu()});var swipeCloseDirection=this.menuAPI.getInstance().opts.offCanvas.position,menuSwipe=new Hammer(document.getElementById("menu"));menuSwipe.on("swipe"+swipeCloseDirection,function(e){if(!$this.menuIsOpen){return false}$this.closeMenu()});$("#menuList").append(this.searchHTML+this.shareLinksHTML);$("#menuList > ul, #chapterList").perfectScrollbar({suppressScrollX:true,minScrollbarLength:40})},closeMenu:function(){this.menuAPI.close()},addLink:function(navType,name,href,id,title,help,keyboardShortcut,before,className,showIcon){var $nav=this.getNavFromType(navType),elementID=navType+"_"+id;if($nav.find("#"+elementID).length>0){return}var l=$(this.getLink(name,href,id,title,help,className,showIcon,navType,keyboardShortcut)),li="<li>"+l[0].outerHTML+"</li>";if(before===undefined){$nav.find("ul").append(li)}else{$nav.find("ul #"+before).before(li)}return $("#"+elementID).get(0)},getLink:function(name,href,id,title,help,className,showIcon,navType,keyboardShortcut){if(showIcon===undefined){showIcon=true}if(keyboardShortcut===undefined){keyboardShortcut=""}var res="";if(id===undefined){var id=name;if(navType!==undefined){id+="_"+navType}}var elementID=navType===undefined||navType===null||navType===""||navType==="interface"?id:navType+"_"+id;res+=' id="'+elementID+'"';className=className===undefined?"icon-"+id:className+" icon-"+id;if(className!==undefined){res+=' class="'+className+'"'}res+=' role="button"';if(help!==undefined&&help!==""){if(navType==="horizontalNav"){res+=' data-tooltip="'+this.fluidbook.l10n.__(help)+'"'}if(navType==="interface"){res+=' data-keyboard-tooltip="'+this.fluidbook.l10n.__(help)+'"'}res+=' aria-label="'+this.fluidbook.l10n.__(help)+'"'}if(keyboardShortcut!==""){res+=' aria-keyshortcuts="'+keyboardShortcut+'"';this.fluidbook.keyboard.ariaShortcut(keyboardShortcut,function(){console.log("triggers "+elementID+" click");$("#"+elementID).get(0).click()})}res+=">";if(showIcon){res+=getSpriteIcon(name);if(name==="nav-fullscreen"){res+=getSpriteIcon("nav-fullscreen-exit")}}if(navType==="menu"||id==="locales"){if(title!==undefined&&title!==""){res+=' <span class="menu-item-title">'+this.fluidbook.l10n.__(title)+"</span>"}}if(href===""){return"<span"+res+"</span>"}else{return'<a href="'+href+'"'+res+"</a>"}},getNavFromType:function(navType){switch(navType){case"horizontalNav":return this.horizontalNav;break;case"menu":return this.menu;break;default:console.error("navType "+navType+" not found!");return false}},setNav:function(navType){if(typeof navType==="undefined"){return false}var $nav=this.getNavFromType(navType);if(this._inited[navType]===true){return}this._inited[navType]=true;var $this=this,navOrder=this.fluidbook.settings.navOrder;var v2="";if(this.fluidbook.settings.iconSet<15){v2=' class="v2"'}if(navType==="menu"){if(this.fluidbook.settings.navOrderH.length>0){navOrder=this.fluidbook.settings.navOrderH}var menuOpener='<a href="#" id="menuOpener">
1'+getSpriteIcon("interface-menu")+'<span class="label">'+this.fluidbook.l10n.__("Menu")+"</span></a>";$("#main header").append(menuOpener);$nav.append('<ul id="menuList"'+v2+"></ul>");var searchElement=this.fluidbook.settings.search?this.getSearch():"";this.searchHTML='<div id="menuSearch">'+searchElement+"</div>"}else if(navType==="horizontalNav"){$nav.append('<ul id="iconList"'+v2+"></ul>")}try{var skipHome=window.localStorage.getItem("home")==="0";var forceHome=window.localStorage.getItem("home")==="1";if(forceHome){if(this.fluidbook.settings.navOrder.indexOf("home")===-1){this.fluidbook.settings.navOrder.unshift("home")}}}catch(err){}var all=["extra","index","chapters","search","friend","print","pdf","notes","bookmark","archives","basket","fullscreen","sound","3d","help","lang","extra1","extra2","extra3","extra4","extra5"];if(navOrder.length===0){navOrder=all}var localeIconIndex;if((localeIconIndex=navOrder.indexOf("lang"))!==-1){navOrder.push(navOrder.splice(localeIconIndex,1)[0])}var hide=array_diff(all,navOrder);var thisall=navOrder.concat(hide);var $this=this;var extraNPerURL={};for(var i in thisall){var icon=thisall[i];var visible=hide.indexOf(icon)===-1;if(!visible&&navType==="menu"){continue}var link=null;var link2=null;if(icon==="home"&&!skipHome){var homeURL=this.fluidbook.settings.home;var homeRequireLoader=true;if(this.fluidbook.settings.home==="%apphome%"||forceHome&&this.fluidbook.settings.phonegap){homeURL=decodeURIComponent(window.localStorage.getItem("apphome"))}if($_GET["home"]!==undefined){if($_GET["home"].indexOf("%253A")<=6){$_GET["home"]=decodeURIComponent(decodeURIComponent($_GET["home"]))}if($_GET["home"].indexOf("%3A")<=6){$_GET["home"]=decodeURIComponent($_GET["home"])}homeURL=$_GET["home"]}else if(this.fluidbook.landingpage!==undefined&&this.fluidbook.landingpage.hasLandingPage){homeURL="#/landing";homeRequireLoader=false}try{if(homeURL!==""){link=this.addLink(navType,"nav-home",homeURL,"home","home","home","Control+H")}}catch(err){}$(link).on(this.fluidbook.input.clickEvent,function(){if(homeRequireLoader){var $thislink=this;fluidbook.displayLoader();setTimeout(function(){window.location=$($thislink).attr("href")},500)}else{$this.closeMenu();window.location=$(this).attr("href")}return false})}else if(icon==="index"&&this.fluidbook.settings.index!==false){link=this.addLink(navType,"nav-index","#/index","index","overview","overview","Control+O")}else if(icon==="chapters"){if(!this.fluidbook.settings.displayChaptersIcon){continue}if(this.fluidbook.settings.externalChaptersHTML){link=this.addLink(navType,"nav-chapters","#/chapters","chapters","chapters","chapters","F2")}else if(this.fluidbook.settings.chaptersPage!==""){link=this.addLink(navType,"nav-chapters","#/page/"+this.fluidbook.settings.chaptersPage,"chapters","chapters","chapters","F2")}else if(this.fluidbook.settings.chapters.length>0){if(navType==="menu"&&this.fluidbook.settings.chaptersCascade&&!this.fluidbook.settings.displayChaptersPopup){link=this.addLink(navType,"nav-chapters","","chapters","chapters","chapters","F2");this.chaptersMenuHTML=this.makeChapterLists(this.fluidbook.settings.chapters)}else{link=this.addLink(navType,"nav-chapters","#/chapters","chapters","chapters","chapters","F2")}}}else if(icon==="friend"){if(this.fluidbook.share.isEnabled()){if(navType==="horizontalNav"){if(this.fluidbook.settings.share){link=this.addLink(navType,"nav-share","#/share","share","share","share","Alt+S")}}else if(navType==="menu"){this.shareLinksHTML='<div id="shareLinks"><div class="share-icons">'+this.fluidbook.share.getShareLinks(true,undefined,"publication")+"</div></div>"}}}else if(icon==="bookmark"&&this.fluidbook.settings.bookmark){link=this.addLink(navType,"nav-bookmarks","#/bookmark","bookmarks","bookmarks","bookmarks","Control+B")}else if(icon==="pdf"&&this.fluidbook.settings.pdf){link=this.addLink(navType,"nav-download","#","download","download","download","Control+S")}else if(icon==="print"&&this.fluidbook.settings.print){link=this.addLink(navType,"nav-print","#","print","print","print","Control+P")}else if(icon==="basket"&&this.fluidbook.cart!==undefined&&this.fluidbook.cart.enabled){link=this.addLink(navType,this.fluidbook.settings.cartIcon,"#/cart","cart","basket","basket","Control+Alt+C");$(this.fluidbook).on("fluidbook.cart.updateIcon",{link:link},function(e,data){var n=data.number;var l=$("#"+$(e.data.link).attr("id"));if(n===0){$(l).find("span.number").remove()}else{if($(l).find("span.number").length===0){$(l).append('<span class="number"></span>')}$(l).find("span.number").text(n)}});try{this.fluidbook.cart.instance.updateIcon()}catch(e){}}else if(icon==="lang"&&this.fluidbook.l10n.multilangEnabled){link=this.addLink(navType,"nav-locales","#/locales","locales","!"+this.fluidbook.l10n.getCurrentLanguageName(),"!Select Language","Control+L")}else if(icon==="archives"&&this.fluidbook.settings.externalArchives){link=this.addLink(navType,"nav-archives","#/archives","archives","!"+this.fluidbook.settings.archivesLabel,"!"+this.fluidbook.settings.archivesLabel,"")}else if(icon==="help"&&this.fluidbook.settings.help){link=this.addLink(navType,"nav-help","#","help","help","help","F1")}else if(icon==="zoom"&&!this.fluidbook.support.isMobile){link=this.addLink(navType,"nav-zoomin","#","zoomin","zoom in","zoom in");link=this.addLink(navType,"nav-zoomout","#","zoomout","zoom out","zoom out")}else if(icon==="fullscreen"&&this.fluidbook.settings.fullscreen&&this.fluidbook.support.fullscreen&&!this.fluidbook.settings.phonegap){link=this.addLink(navType,"nav-"+icon,"#",icon,"full screen","switch between fullscreen and normal","F11")}else if(icon==="sound"&&this.fluidbook.sound.enabled){link=this.addLink(navType,"nav-sound-on","#","sound-on","switch off the sound","switch on / switch off the sound","F10");link2=this.addLink(navType,"nav-sound-off","#","sound-off","switch on the sound","switch on / switch off the sound","F10")}else if(icon==="search"){if(this.fluidbook.settings.search&&navType==="horizontalNav"){link=this.addLink(navType,"nav-search","#","searchIcon","search","search","Control+F")}}else if(icon==="notes"){if(this.fluidbook.notes.enabled){link=this.addLink(navType,"nav-notes","#","notes","notes","notes","Control+Alt+N")}}else if(icon==="extra"){var id="extra",$nav=this.getNavFromType(navType),elementID=navType+"_"+id,navExtraImage,navLinkTarget="";if(typeof this.fluidbook.settings.navExtraLink==="string"&&this.fluidbook.settings.navExtraLink.lastIndexOf("http",0)===0){navLinkTarget=' target="_blank" rel="noopener noreferrer"'}if($nav.find("#"+elementID).length>0){continue}if(navType==="horizontalNav"){if(this.fluidbook.settings.navExtraImage!==""&&this.fluidbook.settings.navExtraLink!==""){navExtraImage=this.fluidbook.settings.navExtraImage;link='<a id="'+elementID+'" data-tooltip="'+this.fluidbook.settings.navExtraTooltip+'" href="'+this.fluidbook.settings.navExtraLink+'"'+navLinkTarget+'><img class="nav-icon" src="data/images/'+navExtraImage+'"></a>'}}else if(navType==="menu"&&(this.fluidbook.settings.navExtraImage!==""||this.fluidbook.settings.navExtraImageMobile!=="")&&this.fluidbook.settings.navExtraLink!==""){navExtraImage=this.fluidbook.settings.navExtraImageMobile||this.fluidbook.settings.navExtraImage;link='<a id="'+elementID+'" href="'+this.fluidbook.settings.navExtraLink+'"'+navLinkTarget+'><img class="nav-icon" src="data/images/'+navExtraImage+'"> <span class="menu-item-title">'+this.fluidbook.l10n.__(this.fluidbook.settings.navExtraTooltip)+"</span></a>"}if(link!==null){$nav.find("ul").append("<li>"+link+"</li>")}}else if(icon.match(/extra\d/)){var n=icon.substr(5,1);var extraURL=this.fluidbook.settings["navExtraLink"+n];var extraIcon=this.fluidbook.settings["navExtraIcon"+n];var extraVisibility=this.fluidbook.settings["navExtraVisibility"+n];var extraType=this.fluidbook.settings["navExtraType"+n];if(extraURL===""||extraIcon===""){continue}if(extraVisibility==="horizontal"&&navType==="menu"||extraVisibility==="burger"&&navType==="horizontalNav"){continue}var linkIcon;if(extraIcon.indexOf(".")===-1){linkIcon=getSpriteIcon(extraIcon)}else{if(extraIcon.indexOf(".addLink")>=0&&extraType==="icon"){if(getSpriteIcon("extra-extra"+n)===""){var url="data/images/"+extraIcon;extraNPerURL[url]=n;$.ajax({url:url,type:"GET",dataType:"xml",success:function(data){var n1=extraNPerURL[this.url];var svg=$(data).find("svg");$(svg).wrapInner("<g />");var viewbox=$(svg).attr("viewBox");var maing=$(svg).children("g").eq(0);if($("#extra-extra"+n1).length===0){$("#svg-container").append('<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><symbol id="extra-extra'+n1+'" viewBox="'+viewbox+'"><g>'+$("<g/>").append($(maing).clone()).html()+"</g></symbol></svg>")}$("#spare_extra"+n1).replaceWith(getSpriteIcon("extra-extra"+n1))}});linkIcon='<div id="spare_extra'+n+'"></div>'}else{linkIcon=getSpriteIcon("extra-extra"+n)}}else{linkIcon='<img class="nav-icon" src="data/images/'+extraIcon+'">'}}if(extraURL.indexOf(":")===-1&&extraURL.indexOf("/")===-1){extraURL="link:"+extraURL}if(extraURL.indexOf("link:")===0){var linkId=extraURL.split(":",2)[1];var foundLink="";$.each(this.fluidbook.settings.links,function(page,plinks){var allLinks="";$.each(plinks,function(blendmode,links){allLinks+=links.join("")});var l=$("<root>"+allLinks+"</root>").find('[data-id="'+linkId+'"]');if(l.length===1){foundLink=l;return false}});if(foundLink===""){console.log("link not found");continue}link=$(foundLink).find("a").append(linkIcon);if(navType==="menu"&&extraType==="icon"){$(link).append('<span class="menu-item-title">'+this.fluidbook.l10n.__($(link).data("tooltip"))+"</span>")}link=$(link).get(0);if(link===null||link===undefined||link==="undefined"){link=""}link=link.outerHTML}else{link='<a href="'+extraURL+'" target="_blank" rel="noopener">'+linkIcon+"</a>"}var nav=this.getNavFromType(navType);nav.find("ul").append("<li>"+link+"</li>")}if(!visible){$(link).addClass("hidden");if(link2){$(link2).addClass("hidden")}}}if(navType==="menu"){var credits=$("footer#credits").clone().attr("id","mobile-credits");var a=credits.find("a");var t=a.text();credits.find("a").text(t);$("#menuList").append(credits);if(this.chaptersMenuHTML!==""){$("#menu_chapters").parent().append(this.chaptersMenuHTML)}$("#chapterList li a").each(function(){if($(this).siblings("ul").length>
10){$(this).contents().wrap("<span></span>").parent().unwrap("a")}});if(!this.fluidbook.settings.chaptersCascade){$("#chapterList").wrap('<div id="chaptersPanel" class="Panel"></div>');$("#chaptersPanel ul").addClass("mm-nopanel");$("#chapters").wrap('<a href="#chaptersPanel"></a>')}this.menu.append(this.getMenuCloseButton());this.initMenu();this.initEventHandlers();$(this.fluidbook).trigger("fluidbook.navigation.ready");$(document).trigger("fluidbook.navigation.ready")}if(this.fluidbook.settings.afterSearch!==""&&this.fluidbook.settings.afterSearchDisplayForHTML&&this.fluidbook.settings.themeEnableAfterSearch&&navType==="horizontalNav"){var afterSearchContent='<div id="afterSearch"><div class="c">'+this.fluidbook.loader.getImage("data/images/"+this.fluidbook.settings.afterSearch)+'</div><div class="links">'+this.fluidbook.loader.handleExtension(this.fluidbook.settings.links.aftersearch)+"</div></li>";$nav.after(afterSearchContent)}},initEventHandlers:function(){var $this=this;$(document).on(this.fluidbook.input.clickEvent,".icon-home",function(){var $this=this;fluidbook.displayLoader();setTimeout(function(){window.location=$($this).attr("href")},500);return false});$(document).on(this.fluidbook.input.clickEvent,"#horizontalNav_searchIcon",function(event){event.preventDefault();$this.openSearch()});$(document).on(this.fluidbook.input.clickEvent,".icon-share",function(){if($this.fluidbook.settings.phonegap!=="android"){return true}$this.fluidbook.share.intentShare();return false});$(document).on(this.fluidbook.input.clickEvent,".icon-download",function(event){event.preventDefault();if($this.fluidbook.settings.pdfComplex&&$this.fluidbook.settings.phonegap===false){$this.fluidbook.menu.openView("download")}else{$this.fluidbook.downloadPDF($(this))}return false});$(document).on(this.fluidbook.input.clickEvent,".icon-print",function(){if(!$this.fluidbook.printing.advancedPrint()){$this.fluidbook.print($(this));return false}else{$this.fluidbook.menu.openView("print")}return false});$(document).on(this.fluidbook.input.clickEvent,".icon-bookmarks",function(){if($(this).data("extra")!==null&&$(this).data("extra")!==undefined){$this.fluidbook.menu.openView("bookmark",$(this).data("extra"),null,function(){});return false}});if(this.fluidbook.support.fullscreen){this.initFullScreen()}},initFullScreen:function(){var $this=this;$(document).on(this.fluidbook.input.clickEvent,".icon-fullscreen",function(){$this.closeMenu();screenfull.toggle();return false});screenfull.on("change",function(){resize();setTimeout(function(){if(screenfull.isFullscreen){$(".icon-fullscreen").addClass("active")}else{window.focus();$(".icon-fullscreen").removeClass("active")}resize()},250);setTimeout(function(){resize()},1e3);window.focus()})},openSearch:function(q,cb){if(!this.fluidbook.search.isSearchActive()){if(!this.fluidbook.settings.searchFullBurger){this.fluidbook.search.initSearchHints();this.menuAPI.closeAllPanels()}}if(q!==undefined){$("#q").val(q);if($("#menuSearchResults .content").length===0){this.fluidbook.search.submitForm()}}else{this.menuAPI.open();$("#q").focus()}if(cb!==undefined){cb()}},getMenuCloseButton:function(){var $this=this,buttonID="menuClose";$(document).on(this.fluidbook.input.clickEvent,"#"+buttonID,function(e){e.preventDefault();if($this.fluidbook.search.isSearchActive()){$this.fluidbook.search.closeSearch();if($("#horizontalNav").is(":visible")){$this.closeMenu()}}else{var sHints=$this.fluidbook.search.menuSearchHints,sResults=$this.fluidbook.search.menuSearchResults;if(sHints&&sHints.html().length===0&&sResults&&sResults.html().length===0){$this.fluidbook.search.closeSearch()}$this.closeMenu()}});return'<a href="#" id="'+buttonID+'" aria-label="'+$this.fluidbook.l10n.__("close")+'" aria-keyshortcuts="Escape">'+getSpriteIcon("interface-close")+"</a>"},getSearch:function(){var search=$("#search");var $this=this;var res='<form action="#" id="searchForm" method="post">';res+='<input id="q" name="q" type="search" value="" placeholder="'+this.fluidbook.l10n.__("search")+'" autocorrect="off" autocomplete="off" autocapitalize="off" />';res+=this.getLink("nav-search","#","submitSearch");res+="</form>";res+='<div id="menuSearchHints" class="mm-nopanel"></div>';res+='<div id="menuSearchResults" class="mm-nopanel"></div>';search.append(res);$(document).on(this.fluidbook.input.clickEvent,"#submitSearch",function(e){$("#searchForm").submit();e.preventDefault();return false});$(document).on("submit","#searchForm",function(){$this.fluidbook.search.submitForm(
1);return false});$(document).on("keyup","#q",function(key){switch(key.which){case 13:case 37:case 38:case 39:case 40:return;default:searchHints()}});$(document).on(this.fluidbook.input.clickEvent,".hint",function(){var e=$("#q").val().split(" ");e.pop();e.push($(this).attr("term"));$("#q").val(e.join(" "));$("#searchForm").submit();return false});var searchHTML=search.html();search.remove();return searchHTML},setInterface:function(){},makeChapterLists:function(chapters){var currentLevel=0,loopIndex=0,html='<ul id="chapterList">';var $this=this;chapters.forEach(function(chapter){loopIndex++;if(chapter.level>currentLevel){html+="<ul>"}else if(chapter.level<currentLevel){var levelDifference=currentLevel-chapter.level;for(var i=0;i<levelDifference;i++){html+="</li></ul></li>"}}else{if(loopIndex>1){html+="</li>"}}currentLevel=chapter.level;var page=$this.fluidbook.virtualToPhysical(chapter.page);html+='<li><a href="#/page/'+page+'" class="level-'+chapter.level+'">'+chapter.label+"</a>"});html+="</li></ul>";return html},burgerActive:function(){return $("#menuOpener").is(":visible")}};function FluidbookInterface(fluidbook){this.fluidbook=fluidbook;this.interfaceVisible=false;this.visibleTimeout;this.visibleTime=5e3;this.interfaceVisible=false;this.maskToggleEventsTimeout=Date.now();this.init()}FluidbookInterface.prototype={init:function(){var $this=this;if(this.arrowsEnabled()){this.fluidbook.keyboard.initInterfaceShortcuts();var labels=this.getLabels();var res="";if($("html").hasClass("ltr")){res+='<div id="prev-arrows">';res+=this.fluidbook.nav.getLink("interface-prev","#","previous","",labels.previous,"arrow-top",true,"interface","PageUp");res+=this.fluidbook.nav.getLink("interface-first","#","first","",labels.first,"arrow-bottom",true,"interface","Home");res+="</div>";res+='<div id="next-arrows">';res+=this.fluidbook.nav.getLink("interface-next","#","next","",labels.next,"arrow-top",true,"interface","PageDown");res+=this.fluidbook.nav.getLink("interface-last","#","last","",labels.last,"arrow-bottom",true,"interface","End");res+="</div>"}else{res+='<div id="prev-arrows">';res+=this.fluidbook.nav.getLink("interface-next","#","previous","",labels.previous,"arrow-top",true,"interface","PageUp");res+=this.fluidbook.nav.getLink("interface-last","#","first","",labels.first,"arrow-bottom",true,"interface","Home");res+="</div>";res+='<div id="next-arrows">';res+=this.fluidbook.nav.getLink("interface-prev","#","next","",labels.next,"arrow-top",true,"interface","PageDown");res+=this.fluidbook.nav.getLink("interface-first","#","last","",labels.last,"arrow-bottom",true,"interface","End");res+="</div>"}$("#interface").append(res);$(document).on(this.fluidbook.input.clickEvent,"#next",function(){if($this.fluidbook.help.isVisible()){return false}$this.fluidbook.interface.resetTimeout();if($this.fluidbook.pad.enabled){$this.fluidbook.goNextChapter()}else{$this.fluidbook.goNextPage()}return false});$(document).on(this.fluidbook.input.clickEvent,"#previous",function(){if($this.fluidbook.help.isVisible()){return}$this.fluidbook.interface.resetTimeout();if($this.fluidbook.pad.enabled){$this.fluidbook.goPreviousChapter()}else{$this.fluidbook.goPreviousPage()}return false});$(document).on(this.fluidbook.input.clickEvent,"#first",function(){if($this.fluidbook.help.isVisible()){return false}$this.fluidbook.interface.resetTimeout();$this.fluidbook.goFirstPage();return false});$(document).on(this.fluidbook.input.clickEvent,"#last",function(){if($this.fluidbook.help.isVisible()){return false}$this.fluidbook.interface.resetTimeout();$this.fluidbook.goLastPage();return false});$(this.fluidbook).on("fluidbook.lib.ready",function(){setTimeout(function(){$this.initArrowsVisibilityManagement()},1e3)})}$(this.fluidbook).on("fluidbook.resize, fluidbook.resize.orientation",function(){$this.checkHidden()})},getLabels:function(){var next=this.fluidbook.l10n.__("next double page");var previous=this.fluidbook.l10n.__("previous double page");if(this.fluidbook.pad.enabled){next=this.fluidbook.l10n.__("next chapter");previous=this.fluidbook.l10n.__("previous chapter")}if(this.fluidbook.mobilefirst.enabled){next=this.fluidbook.l10n.__("next page");previous=this.fluidbook.l10n.__("previous page")}return{next:next,previous:previous,first:this.fluidbook.l10n.__("frontpage"),last:this.fluidbook.l10n.__("last page")}},arrowsEnabled:function(){switch(this.fluidbook.settings.arrowsEnabled){case"0":return false;case"1":return true;case"2":return!this.fluidbook.input.hasTouch;default:return true}},checkHidden:function(){if(!this.autoHideArrows()){this.displayInterface()}else{this.resetTimeout()}},areArrowsOverlapingPublication:function(){var res=$("#fluidbook").get(0).getBoundingClientRect().left<60;return res},autoHideArrows:function(){var res=this.arrowsEnabled()&&(this.fluidbook.resize===undefined||this.fluidbook.resize.reduceHorizontalMargins())&&this.areArrowsOverlapingPublication()&&$("#helpView:visible").length===0;return res},initArrowsVisibilityManagement:function(){var $this=this;this.getInterfaceSelector().addClass("interfacecomponent");if(this.autoHideArrows()){if(this.fluidbook.touch){this.fluidbook.touch.hm.on("singletap",function(event){var target=$(event.target);if(target.is("a")||target.closest("a").length>0){return true}$this.toggleInterface(1e3);return true})}else{$(document).on(this.fluidbook.input.clickEvent,":not(a)",function(){var selector="#fluidbook";if(!$(this).is(selector)&&$(this).closest(selector).length===0){return true}$this.toggleInterface(1e3);return true})}}$(this.fluidbook).on("fluidbook.ready",function(){setTimeout(function(){$this.checkHidden()},1e3)});this.checkHidden()},toggleInterface:function(mask){if(mask===undefined){mask=0}var now=Date.now();if(now<this.maskToggleEventsTimeout){return}if(mask>0){this.maskToggleEventsTimeout=Math.max(this.maskToggleEventsTimeout,Date.now()+mask)}if(this.interfaceVisible&&this.autoHideArrows()){return this.hideInterface()}else{return this.displayInterface()}},displayInterface:function(){this.interfaceVisible=true;this.getInterfaceSelector().removeClass("interfacehidden");this.resetTimeout()},resetTimeout:function(){this.clearTimeout();if(!this.autoHideArrows()){return false}var $this=this;this.visibleTimeout=setTimeout(function(){$this.hideInterface()},this.visibleTime)},hideInterface:function(){if(!this.autoHideArrows()){return}this.interfaceVisible=false;if($("#helpView").is(":visible")||document.activeElement.tagName.toLowerCase()==="input"){this.resetTimeout();return}this.getInterfaceSelector().addClass("interfacehidden");this.clearTimeout()},getInterfaceSelector:function(){var selector="";if(this.arrowsEnabled()){selector="#next-arrows,#prev-arrows"}if(this.fluidbook.pad.enabled){selector="header,#interface"}return $(selector)},clearTimeout:function(){clearTimeout(this.visibleTimeout)}};function FluidbookInput(fluidbook){this.fluidbook=fluidbook;this.usingMouse=false;this.hasMouse=false;this.forceMouse=false;this.usingTouch=false;this.hasTouch=false;this.forceTouch=false;this.hasKeyboard=false;this.usingKeyboard=false;this.forceKeyboard=false;this.clickEvent="click";
1this.hoverEvent="mouseover";this.init()}FluidbookInput.prototype={init:function(){var $this=this;this.hoverEvent="mouseover";this.clickEvent="click";this.forceClickEvent="click";if(this.fluidbook.settings.phonegap==="ios"){this.clickEvent="touchend";this.forceClickEvent="touchend"}else if(Modernizr.ftouch){this.clickEvent="click"}if(Modernizr.ftouch){this.hasTouch=true}else{this.usingMouse=this.hasMouse=this.forceMouse=true;this.usingKeyboard=this.forceKeyboard=false;this.hasKeyboard=true;this.usingTouch=this.hasTouch=this.forceTouch=false;this.setMouseClasses()}if(Modernizr.ios||Modernizr.android||this.fluidbook.settings.phonegap==="ios"||this.fluidbook.settings.phonegap==="android"){this.usingTouch=this.hasTouch=this.forceTouch=true;this.usingMouse=this.hasMouse=this.forceMouse=false;this.usingKeyboard=this.hasKeyboard=this.forceKeyboard=false;this.setTouchClasses()}this.forceTouch=this.forceMouse=false;$(document).on("pointermove",function(e){if(e.pointerType==="mouse"){$this.useMouse()}else{$this.useTouch()}return true})},isUsingTouch:function(){return this.usingTouch},isUsingMouse:function(){return this.usingMouse},isUsingKeyboard:function(){return this.usingKeyboard},useTouch:function(){if(!this.usingTouch){this.hasTouch=this.usingTouch=true;this.usingKeyboard=this.usingMouse=false;this.setTouchClasses()}},useMouse:function(){if(!this.usingMouse){this.hasMouse=this.usingMouse=true;this.usingKeyboard=this.usingTouch=false;this.setMouseClasses()}},useKeyboard:function(){if(!this.usingKeyboard){this.hasKeyboard=this.usingKeyboard=true;this.usingMouse=this.usingTouch=false;this.setKeyboardClasses()}},setTouchClasses:function(){$("html").removeClass("using-mouse").removeClass("no-using-touch").removeClass("using-keyboard").addClass("no-using-mouse").addClass("using-touch").addClass("no-using-keyboard")},setMouseClasses:function(){$("html").addClass("using-mouse").addClass("no-using-touch").addClass("no-using-keyboard").removeClass("no-using-mouse").removeClass("using-touch").removeClass("using-keyboard")},setKeyboardClasses:function(){$("html").addClass("using-keyboard").addClass("no-using-touch").addClass("no-using-mouse").removeClass("no-using-keyboard").removeClass("using-touch").removeClass("using-mouse")}};function FluidbookTouch(fluidbook){this.fluidbook=fluidbook;this.startX=0;this.startY=0;this.offsetX=0;this.offsetY=0;this.panX=0;this.panY=0;this.panInited=false;this.touchAction="compute";this.elementId="main";this.panElementId="fluidbook";this.zoomAtPinchStart=0;this.options={domEvents:false,touchAction:"compute"};this.triggerOffset=this.fluidbook.mobilefirst.enabled?.1:.05;this.draggingFromOutside=false;if(this.fluidbook.input.hasTouch){this.init()}}FluidbookTouch.prototype={init:function(){var $this=this;$(this.fluidbook).on("fluidbook.page.change.start",function(){$this.draggingFromOutside=false;$this.fluidbook.hasDraggableOnPage(false)});$(this.fluidbook).on("fluidbook.page.change.end",function(){$this.resetSlide()});$this.initInteract()},initInteract:function(){var tapEnabled=true;var pinchEnabled=true;var doubletapEnabled=true;var panEnabled=true;if(this.fluidbook.mobilefirst.enabled){this.touchAction="auto";this.elementId="scroll";this.panElementId="scroll"}var $this=this;if(!tapEnabled&&!doubletapEnabled&&!panEnabled&&!pinchEnabled){return}this.options={domEvents:this.fluidbook.mobilefirst.enabled,touchAction:this.touchAction};this.initHammerManager();if(doubletapEnabled){this.hm.add(new Hammer.Tap({event:"doubletap",taps:2,interval:500}))}if(tapEnabled){this.hm.add(new Hammer.Tap({event:"singletap",taps:1,interval:500}))}if(pinchEnabled){this.hm.add(new Hammer.Pinch({threshold:0}));this.hm.get("pinch").set({enable:true})}if(doubletapEnabled){this.hm.on("doubletap",function(event){if($this.fluidbook.zoom.enabled){if($this.fluidbook.zoom.zoom>1){$this.fluidbook.zoom.setTransition(true);$this.fluidbook.zoom.resetZoom()}else{$this.setZoomOriginFromEvent(event.srcEvent);$this.fluidbook.zoom.setTransition(true);$this.fluidbook.zoom.setZoom($this.fluidbook.settings.zoom/100,1)}}event.preventDefault()})}if(pinchEnabled){this.hm.on("pinchstart",function(event){if($this.fluidbook.zoom.enabled){if($this.fluidbook.zoom.zoom===1){$this.setZoomOriginFromEvent({pageX:event.center.x,pageY:event.center.y})}$this.zoomAtPinchStart=$this.fluidbook.zoom.zoom;$this.pinchZoom(event.scale,false)}event.preventDefault()});this.hm.on("pinch",function(event){if($this.fluidbook.zoom.enabled){if($this.zoomAtPinchStart!==0){$this.pinchZoom(event.scale,false);event.preventDefault()}}});this.hm.on("pinchend pinchcancel",function(event){if($this.fluidbook.zoom.enabled){$this.pinchZoom(event.scale,true);$this.zoomAtPinchStart=$this.fluidbook.zoom.zoom}event.preventDefault()})}if(panEnabled){this.initPan(this.panElementId)}},initHammerManager:function(){if(this.hm!==undefined&&this.hm!==null){return}Hammer.defaults.domEvents=this.options.domEvents;Hammer.defaults.touchAction=this.options.touchAction;this.hm=new Hammer.Manager(document.getElementById(this.elementId),this.options)}
1,initPan(panElementId){if(this.panInited){return}var $this=this;this.panInited=true;if(panElementId===undefined){panElementId="fluidbook"}this.initHammerManager();this.hmf=new Hammer.Manager(document.getElementById(panElementId),this.options);this.hmf.add(new Hammer.Pan({threshold:0}));this.hmf.on("pan",function(event){});this.hmf.on("panstart",function(event){if($this.drag(event,"start")){event.preventDefault()}});this.hmf.on("panmove",function(event){if($this.drag(event,"move")){event.preventDefault()}});this.hmf.on("panend",function(event){var prevent=$this.drag(event,"end");$this.startX=$this.startY=-1;$this.panX=$this.panY=0;if(prevent){event.preventDefault()}})},pinchZoom:function(s,end){if(s===1){return}this.fluidbook.zoom.setTransition(false);var amplitudeRegulation=.2*this.zoomAtPinchStart;var dir;if(s>1){s=1+(s-1)*amplitudeRegulation;dir=1}else if(s<1){s/=1;s=1+(s-1)*amplitudeRegulation;s/=1;dir=-1}this.fluidbook.zoom.setZoom(this.zoomAtPinchStart*s,dir,end)},drag:function(e,type){if($(".mview:visible").length>0){return false}if(this.fluidbook.zoom.zoom===1){if(this.startX===-1||this.startY===-1||type==="start"){this.startX=e.center.x;this.startY=e.center.y}this.offsetX=(e.center.x-this.startX)/this.fluidbook.resize.ww;this.offsetY=(e.center.y-this.startY)/this.fluidbook.resize.hh;return this.testSlideOffset(e)}else{this.resetSlide();if(type==="end"){e.deltaX+=e.velocityX*200;e.deltaY+=e.velocityY*200;this.dragZoom(e,this.fluidbook.input.usingTouch)}else{this.dragZoom(e,this.fluidbook.input.usingTouch)}return true}},dragZoom:function(e,inertia){e.dx=e.deltaX-this.panX;e.dy=e.deltaY-this.panY;this.panX=e.deltaX;this.panY=e.deltaY;if(e.dx===0&&e.dy===0){return}var currentX=this.fluidbook.zoom.originpx[0];var currentY=this.fluidbook.zoom.originpx[1];var x=currentX-e.dx;var y=currentY-e.dy;this.fluidbook.zoom.setOrigin(x,y,true,inertia);return false},testSlideOffset:function(e){if(!this.fluidbook.pad.enabled){try{if(e.additionalEvent==="panup"||e.additionalEvent==="pandown"){return false}}catch(e){}try{var angle=Math.abs(e.angle);if(angle>=90&&angle<150){return false}if(angle>30&&angle<90){return false}}catch(e){}if(this.fluidbook.input.usingMouse){return false}if(this.fluidbook.mobilefirst.enabled&&this.fluidbook.mobilefirst.isScrolling){return false}if(Math.abs(this.offsetX)<this.triggerOffset){return false}var ltr=this.fluidbook.l10n.dir==="ltr";if(!this.draggingFromOutside&&!this.fluidbook.hasDraggableOnPage()){if(this.offsetX<0&<r||this.offsetX>0&&!ltr){this.fluidbook.goNextPage()}else{this.fluidbook.goPreviousPage()}}return true}else{var offset=this.offsetX;var way="x";if(Math.abs(this.offsetX)<Math.abs(this.offsetY)){offset=this.offsetY;way="y"}if(Math.abs(offset)<this.triggerOffset){return false}if(offset<-this.triggerOffset){if(way==="x"){this.fluidbook.goNextChapter();this.resetSlide()}else{this.fluidbook.goNextChapterPage();this.resetSlide()}}else{if(way==="x"){this.fluidbook.goPreviousChapter();this.resetSlide()}else{this.fluidbook.goPreviousChapterPage();this.resetSlide()}}return true}},resetSlide:function(){this.startX=-1;this.startY=-1;this.offsetX=0;this.offsetY=0},setZoomOriginFromEvent:function(event){var cx=event.pageX;var cy=event.pageY;var z=this.fluidbook.zoom.zoom;var zrect=$("#z").get(0).getBoundingClientRect();var ox=(cx-zrect.left)/z;var oy=(cy-zrect.top)/z;this.fluidbook.zoom.setOrigin(ox,oy,true)}};function FluidbookLoader(fluidbook){this.fluidbook=fluidbook;this.texts=[];this.backgrounds=[];this.textures=[];this.leaveTextures=[];this.links=[];this.toPreload=[];this.preloaded=[];this.imagesErrors=[];this.shadeLeft=null;this.shadeRight=null;this.transitionPages=[];this.thumbnails=[];this.loadedThumbnails=[];this.cleanTimeout=null;this.format=fluidbook.settings.imageFormat;this.imageMimeType=this.format==="jpg"?"image/jpeg":"image/png";this._needSeparateTextures=[];this._loadbalancingServerURL={};this._textureAssetsCache={};this.loadbalancing=false;if(this.fluidbook.settings.hosting_loadbalancer){this.loadbalancing=["s1.lb.fluidbook.com"]}}FluidbookLoader.prototype={init:function(callback){let $this=this;if(this.fluidbook.settings.hosting_loadbalancer){this.loadbalancing=["s1.lb.fluidbook.com"];this._loadbalancingServerURL=this.fluidbook.cache.get("_loadbalancingServerURL",{});setInterval(function(){$this.fluidbook.cache.set("_loadbalancingServerURL",$this._loadbalancingServerURL)},15e3);$.ajax("https://toolbox.fluidbook.com/lb.json").done(function(data){$this.loadbalancing=data;$this.loadShades(callback)}).fail(function(){$this.loadbalancing=false;$this.loadShades(callback)})}else{this.loadShades(callback)}setInterval(function(){$this.cleanCaches()},3e4)},loadShades:function(callback){this.shadeLeft=this.loadImage(this.getURL("images/sh
1adows/pages/left.png"));this.shadeRight=this.loadImage(this.getURL("images/shadows/pages/right.png"));if(callback){callback()}},getPageDimensions:function(page,width){var dim=this.fluidbook.settings.pagesDimensions[page];if(dim===undefined){}var height;if(undefined===width){width=dim[0];height=dim[1]}else{height=dim[1]*(width/dim[0])}return{width:width,height:height}},getVersionToLoad:function(page){if(this.fluidbook.vectorTexts){if(this.fluidbook.settings.vectorPages.indexOf(page)>=0){return"vector"}if(this.fluidbook.settings.rasterizePages.indexOf(page)===-1){return"textasvector"}}return"raster"},preloadStart:function(callback){let $this=this;this.init(function(){if($this.fluidbook.sound.enabled){$this.fluidbook.sound.preloadSounds()}if($this.fluidbook.shortLoading){$this.toPreload=[1]}else{$this.toPreload=[1,2,3]}$this.preloaded=$this.toPreload.slice(0);$this.preloadPages(callback)})},balanceLinkAssets(links){if(!this.loadbalancing){return links}let $this=this;return links.replace(/data\/[^"]*/gm,function(matched){return $this.getURL(matched)})},preloadPagesBeforeTransition:function(pages,callback){var preloadedOk=false;this.transitionPages=pages.slice(0);var $this=this;var timeout;var _cb=function(){clearTimeout(timeout);if(preloadedOk===true){return}preloadedOk=true;callback()};timeout=setTimeout(function(){if(preloadedOk===true){return}this.fluidbook.displayLoader();$this._preloadPagesBeforeTransition(pages,_cb)},7e3);this._preloadPagesBeforeTransition(pages,_cb)},_preloadPagesBeforeTransition:function(pages,callback){if(this.arePreloadedPages(pages)){this._cleanPreloaded();callback();return}var $this=this;var $pages=pages.slice(0);if($pages.length==0){this._cleanPreloaded();callback();return}var $callback=callback;var $page=$pages.shift();if($page==undefined||$page=="undefined"||$page>this.fluidbook.contentlock.getMaxPage()||$page<1){this._cleanPreloaded();callback();return}this._preloadPage($page,function(){$this._preloadPagesBeforeTransition($pages,$callback)})},arePreloadedPages:function(pages){for(var i in pages){var page=pages[i];if(this.backgrounds[page]===undefined){return false}}this.preloaded.push(page);return true},preloadPages:function(cb){if(cb===undefined){cb=function(){}}if(this.toPreload.length==0){cb();return}var $this=this;this.fluidbook.networkControl.executeWhenNetwork(function(_cb){var preloadingPage=$this.toPreload.shift();var callback=function(){if($this.toPreload.length===0){cb()}else{$this.preloadPages(cb)}if(_cb!==undefined){_cb()}};$this._preloadPage(preloadingPage,callback)},true)},_preloadPage:function(page,callback){var $this=this;var _cb=function(data){$this._preloadPageAfterSecurityChecks(page,callback)};if(this.fluidbook.settings.recaptcha){this.fluidbook.secure.recaptcha("loadpage",_cb);return}_cb()},_preloadPageAfterSecurityChecks:function(page,callback){if(page==undefined||page=="undefined"||page>this.fluidbook.contentlock.getMaxPage()||page<1){callback();return}var $this=this;var $_callback;if(this.fluidbook.pagetransitions.flip3d!==false){$_callback=function(){$this.loadTexture(page,function(){if($this.needSeparateTextures(page)){$this.loadTexture(page,callback,false)}else{callback()}},true)}}else{$_callback=callback}var $__callback=function(){if($this.getVersionToLoad(page)==="textasvector"||$this.getVersionToLoad(page)==="vector"){$this.loadTexts(page,$_callback)}else{$_callback()}};if(this.backgrounds[page]!==undefined&&this.backgrounds[page]!==null){$__callback();return}var backgroundURL=this.getBackgroundURL(page);if(backgroundURL===false){this.backgrounds[page]=null;$__callback()}else{this.backgrounds[page]=this.loadImage(this.getURL(backgroundURL),null,null,null,page,function(){$__callback()})}},preloadAround:function(page){if(this.numPreload==0){return}var numPreloadAfter=10;var numPreloadBefore=4;if(this.fluidbook.resize.orientation==="portrait"||this.fluidbook.singleMode){numPreloadAfter/=2;numPreloadBefore/=2}if(this.fluidbook.shortLoading){numPreloadAfter=numPreloadBefore=0}var fmx=this.fluidbook.contentlock.getMaxPage();var max=Math.min(page+numPreloadAfter,fmx);var min=Math.max(1,page-numPreloadBefore);this.toPreload=[1,fmx];for(var i=min;i<=max;i++){if(this.toPreload.indexOf(i)===-1){this.toPreload.push(i)}}this.preloaded=this.toPreload.slice(0);this.preloadPages()},_cleanPreloaded:function(){for(var i=1;i<=this.fluidbook.contentlock.getMaxPage();i++){if(this.preloaded.indexOf(i)===-1&&this.transitionPages.indexOf(i)===-1){this.deletePage(i)}else{this.setOnStage(this.backgrounds[i]);if(!this.fluidbook.support.svgtocanvas){this.setOnStage(this.texts[i])}}}},deletePage:function(page){if(this.backgrounds[page]!==undefined){delete this.backgrounds[page]}if(this.texts[page]!==undefined){delete this.texts[page]}if(this.links[page]!==undefined){delete this.links[page]}if(this.textures[page]!==undefined&&this.textures[page]!==null){delete this.textures[page]}if(this.leaveTextures[page]!==undefined&&this.leaveTextures[page]!==null){delete this.leaveTextures[page]}
1$("#loadedcontents [data-page='"+page+"']").remove()},setContentsInDoublePage:function(doublePage,pages,immediate,callback){var $this=this;var leftPage=pages[0];var rightPage=pages[1];if(immediate){this.loadLeftPage(leftPage,$(doublePage),function(){});this.loadRightPage(rightPage,$(doublePage),function(){});callback()}else{this.loadLeftPage(leftPage,$(doublePage),function(){$this.loadRightPage(rightPage,$(doublePage),function(){callback()})})}},loadPage:function(pageNr,doublePage,position,callback){if(pageNr<=0||pageNr>this.fluidbook.settings.pages){callback();return}if($(doublePage).find("."+position+"#page_"+pageNr).length>0){callback();return}$(doublePage).find("."+position).each(function(){if($(this).attr("id")!="page_"+pageNr||pageNr==0){$(this).remove()}});var page;if($("#page_"+pageNr).length>0){page=$("#page_"+pageNr);if($(doublePage).find("#page_"+pageNr).length===0){$(doublePage).append(page)}if(!$(page).hasClass(position)){if(position==="left"){$(page).removeClass("right")}else{$(page).removeClass("left")}$(page).addClass(position)}if(!$(page).is(":visible")){$(page).show()}this.addCLinks(pageNr);callback();return}this.fluidbook.initPage(pageNr,doublePage,position);var version=this.getVersionToLoad(parseInt(pageNr));page=$("#page_"+pageNr);$(doublePage).append(page);$(page).show();$(page).addClass(position);var $this=this;this.loadDatas(pageNr,function(){$(page).addClass(position);$this.addCLinks(pageNr);$this.fluidbook.resize.resizeLinks();callback()})},addCLinks:function(pageNr){var $this=this;var page=$("#page_"+pageNr);$.each(["clinks","ctlinks"],function(k,cont){var normal=$(page).children("."+cont+'[data-blendmode="normal"]');$.each($this.fluidbook.settings[cont][pageNr],function(blendmode,links){var c=$(page).children("."+cont+'[data-blendmode="'+blendmode+'"]');if(c.length===0){$('<div class="'+cont+'" data-blendmode="'+blendmode+'" style="mix-blend-mode:'+blendmode+';"></div>').insertAfter(normal);c=$(page).children("."+cont+'[data-blendmode="'+blendmode+'"]')}c.html($this.handleExtension(links.join("")))})})},handleExtension:function(content){if(typeof content==="object"&&content!==null){var c="";$.each(content,function(blendode,links){c+=links.join("")});content=c}var ext=this.fluidbook.settings.actualHtmlExtension;if(ext===undefined||ext===null||ext==="html"){return this.balanceLinkAssets(content)}var res=content.replace(/data\/([^"]*)\.html/gm,"data/$1."+ext);return this.balanceLinkAssets(res)},loadPageShade:function(position){return this.loadImage(this.getURL("images/shadows/pages/"+position+".png"),this.fluidbook.settings.width/4,this.fluidbook.settings.height)},loadLeftPage:function(page,doublePage,callback){if(page>0&&page<=this.fluidbook.contentlock.getMaxPage()){this.loadPage(page,doublePage,"left",callback)}else{$(doublePage).find(".left").remove();callback()}},loadRightPage:function(page,doublePage,callback){if(!this.fluidbook.displayOnePage&&page<=this.fluidbook.contentlock.getMaxPage()&&page>0){this.loadPage(page,doublePage,"right",callback)}else{$(doublePage).find(".right").remove();callback()}},getBackgroundURL:function(page){var version=this.getVersionToLoad(page);if(version==="vector"){return false}var prefix=version==="textasvector"?"p":"t";return"data/background/"+this.fluidbook.support.resolution+"/"+prefix+page+"."+this.format},getTextsURL:function(page){return"data/contents/p"+page+".svg"},setBackground:function(page,callback){var $this=this;var back=$("#page_"+page+" .background");this._loadBackground(page,function(){$(back).addClass("r"+$this.fluidbook.support.resolution);$(back).append($this.backgrounds[page]);callback()})},setOnStage:function(element){if(element===undefined||element==null){return}if(!isOnStage(element)){$("#loadedcontents").append($(element))}},_loadBackground:function(page,callback){if(page<=0||page>this.fluidbook.settings.pages){callback();return}if(this.backgrounds[page]!==undefined){callback()}else{var $this=this;if(window.gal!==undefined&&window.gal!==null&&!OFFLINEAPP){window.gal.downloadAndCall("content_"+page,function(){$this.__loadBackground(page,callback)},250)}
1else{this.__loadBackground(page,callback)}}},__loadBackground:function(page,callback){if(page<=0||page>this.fluidbook.settings.pages){callback();return}var url=this.getBackgroundURL(page);if(url==false){callback();return false}this.backgrounds[page]=this.loadImage(this.getURL(url),null,null,null,page,callback)},needSeparateTextures:function(page){if(this._needSeparateTextures[page]===undefined){var $this=this;this._needSeparateTextures[page]=false;$.each(this.fluidbook.settings.clinks[page],function(blendmode,links){$.each(links,function(k,link){if(link.indexOf("data-animation-hide")>=0||link.indexOf("data-animation-hide-on-leave")>=0){$this._needSeparateTextures[page]=true;return false}});if($this._needSeparateTextures[page]){return false}})}return this._needSeparateTextures[page]},loadTexture:function(page,callback,enter){if(enter===undefined){enter=true}if(!this.needSeparateTextures(page)){enter=true}if(page<=0||page>this.fluidbook.settings.pages){callback();return}if(enter&&this.textures[page]!==undefined&&this.textures[page]!==null||!enter&&this.leaveTextures[page]!==undefined&&this.leaveTextures[page]!==null){callback()}else{try{this._loadTexture(page,callback,enter)}catch(e){console.warn(e);callback()}}},_preloadContentLinkTextures:function(page,clinks,links,enter,callback){var textures={};let $this=this;var cl="";$.each(clinks,function(blendmode,links){cl+=links.join("")});$.each(links,function(blendmode,links){$.each(links,function(k,v){if(v.indexOf("data-force-texture")>=0){cl+=v}})});if(cl===""){callback(textures,cl);return}$("body").append('<div class="texture_clinks" data-page="'+page+'">'+cl+"</div>");var loaded=0;var nb=0;var cb=function(){loaded++;if(loaded===nb){callback(textures,cl)}};$('.texture_clinks[data-page="'+page+'"] .contentLink[data-image]').each(function(){if(enter&&$(this).is("[data-animation-hide]")||!enter&&$(this).is("[data-animation-hide-on-leave]")){return}nb++;var i=$(this).data("id");var url=$(this).data("image").replace(/^\.\./,"data");$this._getTextureLinkAsset(url,i,function(datauri){textures[i]=$this.loadImage(datauri,null,null,null,"i_"+i,cb)})});if(nb===0){callback(textures,cl);return}},_getTextureLinkAsset:function(url,id,callback){let $this=this;if(this._textureAssetsCache[url]===undefined||this._textureAssetsCache[url]===null){this.toDataURL($this.getURL(url),function(res){$this._textureAssetsCache[url]={content:res,lastAccess:Date.now()};callback(res)});return}this._textureAssetsCache[url].lastAccess=Date.now();callback(this._textureAssetsCache[url].content)},cleanCaches:function(){let limit=Date.now()-12e4;let urlToDelete=[];for(var url in this._textureAssetsCache){if(this._textureAssetsCache[url].lastAccess<limit){urlToDelete.push(url)}}for(var i in urlToDelete){delete this._textureAssetsCache[urlToDelete[i]]}},toDataURL:function(url,callback){var xhr=new XMLHttpRequest;xhr.open("get",url);xhr.responseType="blob";xhr.onload=function(){var fr=new FileReader;fr.onload=function(){callback(this.result)};fr.readAsDataURL(xhr.response)};xhr.send()},_loadTexture:function(page,callback,enter){if(enter===undefined){enter=true}if(!this.fluidbook.support.datauriallowed||page<=0||page>this.fluidbook.settings.pages){callback();return}var $this=this;this._preloadContentLinkTextures(page,this.fluidbook.settings.clinks[page],this.fluidbook.settings.links[page],enter,function(textures,clinks){var d=1024;var c=document.getElementById("pscanvas");c.width=d;c.height=d;var ctx=c.getContext("2d");ctx.clearRect(0,0,d,d);var wr=d/$this.fluidbook.settings.width;var hr=d/$this.fluidbook.settings.height;if($this.backgrounds[page]!==undefined&&$this.backgrounds[page]!==null){ctx.drawImage($this.backgrounds[page].get(0),0,0,d*1.002,d)}else{ctx.fillStyle="#FFFFFF";ctx.fillRect(0,0,d,d)}if($this.getVersionToLoad(page)==="textasvector"||$this.getVersionToLoad(page)==="vector"){try{var img=$this.texts[page].get(0);if(img.width===0){$this.deletePage(page);$this._preloadPage(page,callback);console.warn("failed to load page for drawing texture ",page);return}ctx.drawImage(img,-1,0,d+2,d)}catch(e){console.warn(e)}}if(clinks!==""){$('.texture_clinks[data-page="'+page+'"] .contentLink').each(function(){if(enter&&$(this).is("[data-animation-hide]")||!enter&&$(this).is("[data-animation-hide-on-leave]")){return}var left=parseFloat($(this).css("left"))*wr;var top=parseFloat($(this).css("top"))*hr;var width=parseFloat($(this).css("width"))*wr;var height=parseFloat($(this).css("height"))*hr;var blendmode=$(this).data("blendmode");if(blendmode==="normal"){ctx.globalCompositeOperation="source-over"}else{try{ctx.globalCompositeOperation=blendmode}catch(e){ctx.globalCompositeOperation="source-over"}}if($(this).is('[data-layer="bothsvg"]')){ctx.fillStyle="#ffffff";ctx.fillRect(left,top,width,height)}if($(this).is("[data-color]")){ctx.fillStyle=$(this).attr("data-color");ctx.fillRect(left,top,width,height)}else if($(this).is("[data-image]")){var i=$(this).data("id");if(textures[i]!==undefined&&textures[i]!==null){try{ctx.drawImage(textures[i].get(0),left,top,width,height)}catch(e){console.warn(textures[i])}}}});$('.texture_clinks[data-page="'+page+'"]').remove()}if($this.fluidbook.settings.shadeAlpha>0){var sw=d*.25;var s,x;if(page%2===0){s=$this.shadeLeft;x=1024-sw}else{s=$this.shadeRight;x=0}ctx.globalAlpha=2*$this.fluidbook.settings.shadeAlpha/100;ctx.drawImage(s.get(0),x,0,sw,d);ctx.globalAlpha=1}try{let dataurl=c.toDataURL("image/png");var i=new Image;i.onload=function(){if(enter){$this.textures[page]=i}else{$this.leaveTextures[page]=i}callback()};i.src=dataurl}catch(e){console.warn(e);callback()}})},getURL(url){if(!this.loadbalancing){return url}if(this._loadbalancingServerURL[url]===undefined||this.loadbalancing.indexOf(this._loadbalancingServerURL[url])===-1){this._loadbalancingServerURL[url]=this.loadbalancing[Math.floor(Math.random()*this.loadbalancing.length)]}return"https://"+this._loadbalancingServerURL[url]+"/"+this.fluidbook.settings.id+"_"+this.fluidbook.settings.hash+"/"+url},getTexture:function(page,callback,enter){if(enter===undefined){enter=true}var $this=this;var t=enter||!this.needSeparateTextures(page)?"textures":"leaveTextures";if(this[t][page]===undefined||this[t][page]===null){this._preloadPage(page,function(){callback($this[t][page])})}else{callback(this[t][page])}},loadTexts:function(pageNr,callback){if(pageNr<=0||pageNr>this.fluidbook.settings.pages){callback();return}if(this.getVersionToLoad(pageNr)==="raster"){callback();return}var $this=this;if(this.texts[pageNr]!==undefined&&(!this.fluidbook.support.svgtocanvg&&$(this.texts[pageNr]).get(0).width>0)){this.addTextContents(pageNr,callback)}else{this._loadTexts(pageNr,function(){$this.addTextContents(pageNr,callback)})}},addTextContents:function(pageNr,callback){var t=$("#page_"+pageNr+" .texts");
1if(this.fluidbook.support.svgtocanvas){var html='<canvas data-page="'+pageNr+'" class="p"></canvas>';if(!this.fluidbook.mobilefirst.enabled){html+='<canvas data-page="'+pageNr+'" class="z"></canvas>'}$(t).html(html);this.renderTextsCanvas()}else{$(t).append(this.texts[pageNr])}callback()},renderTextsCanvas:function(){if(!this.fluidbook.support.svgtocanvas){return}var $this=this;var upscale=this.fluidbook.settings.svgToCanvasUpscale!==undefined?this.fluidbook.settings.svgToCanvasUpscale:1;var z=window.devicePixelRatio*upscale;var mz=this.fluidbook.zoom.max*window.devicePixelRatio*upscale*1.1;$("canvas[data-page]:not(.thick)").each(function(){if($this.fluidbook.zoom.zoom===1&&$(this).hasClass("z")){return}var page=$(this).data("page");var c=$(this).closest(".texts");var tw=$(c).width();var th=$(c).height();var w=tw*z;var h=th*z;var wz=tw*mz;var hz=th*mz;var canvas=$(this).get(0);var cz=$(this).hasClass("z")?mz:z;var cw=$(this).hasClass("z")?wz:w;var ch=$(this).hasClass("z")?hz:h;if($(this).data("w")===cw&&$(this).data("h")===ch){return}canvas.width=cw+30;canvas.height=ch+30;if(cz===1){$(canvas).css("transform",null)}else{$(canvas).css("transform","scale("+1/cz+")")}var ctx=canvas.getContext("2d");if($this.fluidbook.support.svgtocanvg){try{var dim=$this.getPageDimensions(page);var c=canvg.Canvg.fromString(ctx,$this.texts[page],{enableRedraw:false,ignoreAnimation:true,ignoreMouse:true,ignoreDimensions:true,scaleWidth:cw,scaleHeight:ch,offsetX:cw-dim.width/2,offsetY:ch-dim.height/2});c.render()}catch(e){console.warn(e);console.info($this.texts[page])}}else{var img=$this.texts[page].get(0);if(img.width===0){$this.deletePage(page);$this._preloadPage(page,callback);return}ctx.drawImage(img,0,0,img.width-2,img.height-2,0,0,cw,ch)}$(this).data("w",cw).data("h",ch);if(!$(this).hasClass("z")&&$this.fluidbook.settings.textsThickness>1&&$this.fluidbook.settings.textsThicknessPages.indexOf(page)>=0){$("canvas:not(.z)[data-page="+page+"].thick").remove();var clone;for(var i=1;i<=$this.fluidbook.settings.textsThickness;i++){clone=$this._cloneCanvas($(this).get(0));$(clone).insertBefore($(this))}var lastOpacity=$this.fluidbook.settings.textsThickness-Math.floor($this.fluidbook.settings.textsThickness);if(lastOpacity>0){$(clone).css("opacity",lastOpacity)}}})},_cloneCanvas:function(source){var dest=document.createElement("canvas");var context=dest.getContext("2d");dest.width=source.width;dest.height=source.height;$(dest).addClass("thick").addClass("p").attr("data-page",$(source).attr("data-page")).css("transform",$(source).css("transform"));context.drawImage(source,0,0);return dest},_loadTexts:function(pageNr,callback){if(pageNr<=0||pageNr>this.fluidbook.settings.pages){callback();return}var $this=this;var url=this.getTextsURL(pageNr);if(this.fluidbook.support.svgtocanvg){$.ajax({url:url,dataType:"text"}).done(function(data){$this.texts[pageNr]=data;callback()})}else{this.texts[pageNr]=this.loadImage(this.getURL(url),null,null,"image/svg+xml",pageNr,callback)}},loadDatas:function(pageNr,callback){var $this=this;this.loadTexts(pageNr,function(){$this.setBackground(pageNr,function(){callback()})})},getImage:function(src,width,height,type,callback){var img=this.loadImage(src,width,height,type,null,callback);return $(img).get(0).outerHTML},checkLoadedThumbs:function(){var res=this.loadedThumbnails.length===this.fluidbook.settings.pages;return res},preloadThumbs:function(callback){if(this.checkLoadedThumbs()){callback();return}$(this).one("thumbnails.loaded",function(){callback()});var cb=function(){};for(var i=1;i<=this.fluidbook.settings.pages;i++){this.loadThumb(i,cb)}},loadThumb:function(pageNr,callback){if(this.thumbnails[pageNr]===undefined||this.thumbnails[pageNr]===null){return this._loadThumb(pageNr,callback)}callback(this.thumbnails[pageNr]);return this.thumbnails[pageNr]},_loadThumb:function(pageNr,callback){if(pageNr<=0||pageNr>this.fluidbook.settings.pages){callback();return}var $this=this;var cb=function(){$this.loadedThumbnails.push(pageNr);if($this.checkLoadedThumbs()){$($this).trigger("thumbnails.loaded")}callback()};var img=this.loadImage(this.getURL("data/thumbnails/p"+pageNr+"."+this.format),null,
1null,this.imageMimeType,pageNr,cb);this.thumbnails[pageNr]=img;return img},getThumbImage:function(page,shade,pageHolderStyle){var s="";if(pageHolderStyle===undefined){pageHolderStyle=""}if(shade){s='<div class="shade"></div>'}var thumb=this.loadThumb(page,function(){});var thumbhtml="";if(thumb!==undefined&&thumb.length>0){thumbhtml=thumb.get(0).outerHTML}return'<div class="pageholder"'+pageHolderStyle+">"+thumbhtml+s+"</div>"},loadImage:function(src,width,height,type,page,cb){var $this=this;var callback=function(img){if(cb&&typeof cb=="function"){setTimeout(function(){if(!callbackCalled){callbackCalled=true;cb(img)}},$this.fluidbook.shortLoading?0:10)}};if(src===false){callback();return}var img=new Image;img.crossOrigin="anonymous";var $this=this;var callbackCalled=false;$(img).one("load",function(){callback(img)});$(img).one("error",function(){$this.imagesErrors.push(this);callback()});img.src=src;if(width!==undefined&&width!==null){img.width=width}if(height!==undefined&&height!==null){img.height=height}if(type!==undefined&&type!==null){img.type=type}if(img.complete||img.readyState==="complete"||img.readyState===4){callback(img)}var res=$(img);$(res).attr("aria-hidden",true);if(page!==null){$(res).attr("data-page",page);$("#loadedcontents").append(res)}return res}
1,callWhenLoaded:function(image,callback){$(image).one("load",function(){callback()});$(image).one("error",function(){callback()});if($(image).length===0){callback();return}var img=$(image).get(0);if(img===undefined||img.complete||img.readyState==="complete"||img.readyState===4){callback()}},retryErrorImages:function(){$(this.imagesErrors).each(function(){$(this).attr("src",$(this).attr("src"))});this.imagesErrors=[]}};function FluidbookSearch(fluidbook){this.fluidbook=fluidbook;this.indexLoaded=false;this.termsToHighlight=[];this.highlights=[];this.highlightEnabled=fluidbook.settings.highlightResults;this.resultPages=[];this.resultNavPages=[];this.plugins=[];this.singleMode=fluidbook.singleMode;this.resultsNavID="searchResultsNav";this.hideableElements=$("header,footer,#interface");this.resultsActiveClass="searchResultsNavActive";this.robust=fluidbook.settings.search_mode==="robust";this.hintsEnabled=!this.robust;this.init()}FluidbookSearch.prototype={init:function(){var $this=this;$(this.fluidbook).on("fluidbook.page.change.end",function(e,pageNr){$this.highlightSearchTerms(pageNr)});$(document).on("change","#q",function(){$this.setHighlightTerms([]);$this.clearHighlights();return true});$(document).on("keyup","#q",function(){if($(this).val()==""){$this.setHighlightTerms([]);$this.clearHighlights()}return true});this.initResultsNav()},debugSearch:function(keyword){this._loadLib(function(){console.log('Comparison of page results for keyword "'+keyword+'"');console.log("INDEX:",Object.keys(INDEX[keyword].p).join(", "));console.log("HIGHLIGHTS:",Array.from(new Set(HIGHLIGHTS["loutres"].map(function(h){return h.page}))).join(", "))})},initResultsNav:function(){this.fluidbook.keyboard.initSearchShortcuts();var $this=this;var html="";html+='<div id="'+this.resultsNavID+'" class="hidden">';html+='<div class="button searchResultsNavField">';html+=getSpriteIcon("nav-search");html+='<div class="searchResultsNavQuery"></div>';html+="</div>";html+='<div class="searchResultsNavArrows">';html+='<div class="button searchResultsPrev" role="button" aria-label="'+this.fluidbook.l10n.__("previous result")+'" aria-keyshortcuts="Shift+F3"></div>';html+='<div class="searchResultsNavCounter"></div>';html+='<div class="button searchResultsNext" role="button" aria-label="'+this.fluidbook.l10n.__("next result")+'" aria-keyshortcuts="F3"></div>';html+="</div>";html+='<div class="button searchResultsNavClose" role="button" aria-label="'+this.fluidbook.l10n.__("close")+'" aria-keyshortcuts="Escape">';html+=getSpriteIcon("interface-close");html+="</div>";html+="</div>";$("body").append(html);this.resultsNav=$("#"+this.resultsNavID);$(document).on(this.fluidbook.input.clickEvent,"#menuSearchResults a",function(){var pageNumber=parseInt($(this).find(".doubleThumb").attr("page"));$this.openResultsNav(pageNumber)});$(document).on(this.fluidbook.input.clickEvent,".searchResultsNavField",function(){$this.closeResultsNav(true);$this.fluidbook.nav.openSearch()});$(document).on(this.fluidbook.input.clickEvent,".searchResultsNext",function(){$this.nextResultsPage()});$(document).on(this.fluidbook.input.clickEvent,".searchResultsPrev",function(){$this.previousResultsPage()});$(document).on(this.fluidbook.input.clickEvent,".searchResultsNavClose",function(){$this.closeResultsNav()});$(this.fluidbook).on("fluidbook.resize.orientation",function(event,details){if(!$this.resultsNavActive()){return}$this.updateResultsNav($this.fluidbook.currentPage)})},resultsNavActive:function(){return $("body").hasClass(this.resultsActiveClass)},updateResultsNav:function(resultPage){if(this.fluidbook.resize.orientation==="landscape"){const noOddPages=this.resultPages.map(function(page){if(page%2===1)page--;return page});this.resultNavPages=noOddPages.filter(function(value,index,self){return self.indexOf(value)===index})}else{this.resultNavPages=this.resultPages}let resultPagePosition=this.resultNavPages.indexOf(resultPage);resultPagePosition=resultPagePosition===-1?1:resultPagePosition+1;const counterText=resultPagePosition+"/"+this.resultNavPages.length;this.resultsNav.find(".searchResultsNavQuery").text($("#q").val());this.resultsNav.find(".searchResultsNavCounter").text(counterText)},openResultsNav:function(resultPage){this.updateResultsNav(resultPage);this.hideableElements.addClass("hidden");this.resultsNav.removeClass("hidden");$("body").addClass(this.resultsActiveClass)},isResultNavOpened:function(){return $("body").hasClass(this.resultsActiveClass)},isHintsNavOpened:function(){return $("#menuSearchHints").is(":visible")},isResultsOverviewOpened:function(){return $("#menuSearchResults").is(":visible")},navigateHint:function(dir){this.fluidbook.keyboard._navigate("#menuSearchHints .hint",dir)},navigateResults:function(dir){this.fluidbook.keyboard._navigate("#menuSearchResults .menuSearchResult",dir)},closeResultsNav:function(keepSearch){keepSearch=keepSearch!=="undefined"?keepSearch:false;this.hideableElements.removeClass("hidden");this.resultsNav.addClass("hidden");if(!keepSearch){this.closeSearch()}$("body").removeClass(this.resultsActiveClass)},nextResultsPage:function(){var currentIndex=this.resultNavPages.indexOf(fluidbook.currentPage);var nextIndex=currentIndex+1;if(nextIndex>=this.resultNavPages.length){nextIndex=0}var nextPage=this.resultNavPages[nextIndex];this.updateResultsNav(nextPage);this.fluidbook.setCurrentPage(nextPage)},previousResultsPage:function(){var currentIndex=this.resultNavPages.indexOf(fluidbook.currentPage);var prevIndex=currentIndex-1;if(prevIndex<0){prevIndex=this.resultNavPages.length-1}var prevPage=this.resultNavPages[prevIndex];this.updateResultsNav(prevPage);this.fluidbook.setCurrentPage(prevPage)},getHints:function(q,callback){var $this=this;this._loadLib(function(){$this._getHints(q,callback)})},find:function(q,callback){var $this=this;this._loadLib(function(){$this._find(q,callback)})},_loadLib:function(callback){if(this.indexLoaded){return callback()}var $this=this;let __loadTexts=function(){$this._loadTexts(function(){if($this.highlightEnabled){loadJSLibrary($this.fluidbook.loader.getURL("data/search.highlight.js?j="+this.fluidbook.settings.cacheDate),function(){$this.indexLoaded=true;callback()})}else{$this.indexLoaded=true;callback()}})};if(!this.robust){loadJSLibrary(this.fluidbook.loader.getURL("data/search.index.js?j="+this.fluidbook.settings.cacheDate),function(){__loadTexts()})}else{__loadTexts()}},_loadTexts:function(callback){if(this.robust||this.fluidbook.settings.searchWordSelectionAlgorithm==="expression"){loadJSLibrary(this.fluidbook.loader.getURL("data/search.texts.js?j="+this.fluidbook.settings.cacheDate),function(){callback()})}else{callback()}},_getHints:function(q,callback){var words=this.normalizeQuery(q,true,false);q=words.pop();var res=[];if(q.length<3){return res}var v;
1for(var k in INDEX){v=INDEX[k];if(k.indexOf(q)!==0){continue}res.push([k,v.t])}for(var p in this.plugins){var plugin=this.plugins[p];var h=plugin.getHints(q);res=res.concat(h)}res.sort(this.sortHints);callback(res.slice(0,12))},getSearchWordSelectionAlgorithm:function(q){var a=this.fluidbook.settings.searchWordSelectionAlgorithm;if(q.indexOf(" ")===-1&&a==="expression"){a="begins"}return a},_findRobust(q,callback){q=this.normalizeQuery(q,false,true);var res={};var terms=[];var total=0;var doublesPages=[];var maxPage=this.fluidbook.contentlock.getMaxPage();for(var p in TEXTS){var t=TEXTS[p];var regexp=new RegExp(q,"g");var r=t.match(regexp);var nb=0;try{nb=r.length}catch(e){}if(nb===0){continue}page=parseInt(p);if(page>maxPage){continue}this.resultPages.push(page);if(!this.singleMode&&page%2===1){page--}doublesPages[page]=[];doublesPages[page][q]=nb;res[page]=nb;total+=nb}if(total>0){terms=[q]}var returnVal={total:total,results:res,terms:terms};callback(returnVal)},_find:function(q,callback){this.resultPages=[];if(this.robust){return this._findRobust(q,callback)}var algo=this.getSearchWordSelectionAlgorithm(q);if(algo==="expression"){return this._findExpression(q,callback)}var searchTerms=this.normalizeQuery(q,true);var res={};var terms=[];var total=0;var doublePages=[];var matchedWord,indexWord,searchTerm,term,page;var maxPage=this.fluidbook.contentlock.getMaxPage();for(searchTerm in searchTerms){term=searchTerms[searchTerm];terms.push(term);for(indexWord in INDEX){if(indexWord.length<this.fluidbook.settings.ignoreWordLimit){continue}if(algo==="begins"&&indexWord.indexOf(term)!==0){continue}else if(algo==="contains"&&indexWord.indexOf(term)===-1){continue}else if(algo==="exact"&&indexWord!==term){continue}matchedWord=INDEX[indexWord];for(page in matchedWord.p){var occurrences=matchedWord.p[page];page=parseInt(page);if(page>maxPage){continue}if(doublePages[page]==null||doublePages[page]==undefined){doublePages[page]=[]}if(doublePages[page][searchTerm]==null||doublePages[page][searchTerm]==undefined){doublePages[page][searchTerm]=0}doublePages[page][searchTerm]+=occurrences;total+=occurrences}}}var nbwords=searchTerms.length;total=0;for(var dpNumber in doublePages){var doublePageOccurences=doublePages[dpNumber];if(Object.keys(doublePageOccurences).length===nbwords||this.fluidbook.settings.searchPageSelectionAlgorithm==="OR"){var totalOccurrences=0;for(var ww in doublePageOccurences){totalOccurrences+=doublePageOccurences[ww]}res[dpNumber]=totalOccurrences;this.resultPages.push(parseInt(dpNumber));total+=totalOccurrences}}var returnVal={total:total,results:res,terms:terms};callback(returnVal)},_findExpression:function(q,callback){q=this.normalizeQuery(q,false);var words=this.normalizeQuery(q,true);var res={};var terms=[];var total=0;var doublesPages=[];var maxPage=this.fluidbook.contentlock.getMaxPage();for(var p in TEXTS){var t=TEXTS[p];var regexp=new RegExp(q,"g");var r=t.match(regexp);var nb=0;try{nb=r.length}catch(e){}if(nb==0){continue}page=parseInt(p);if(page>maxPage){continue}if(!this.singleMode&&page%2===1){page--}doublesPages[page]=[];doublesPages[page][q]=nb;res[page]=nb;this.resultPages.push(page);total+=nb}if(total>0){terms=words}var returnVal={total:total,results:res,terms:terms};callback(returnVal)},sortHints:function(a,b){return b[1]-a[1]},kill:function(){},normalizeQuery:function(q,split,removeSpaces){q=this.noAccents(q);q=q.trim();q=q.replace(/\s+/g," ");if(removeSpaces){q=q.replace(/\s+/g,"");q=this.removeSpaceAndPoints(q)}q=q.toLowerCase();if(split){return q.split(" ")}return q},noAccents:function(source){return removeDiacritics(source)}
1,setHighlightTerms:function(terms){if(!this.highlightEnabled||window.HIGHLIGHTS===undefined){return}this.termsToHighlight=terms;this.highlights=[];if(terms.length===0){return}if(this.robust){this.setRobustHighlightTerms(terms)}else{var algo=this.getSearchWordSelectionAlgorithm(terms.join(" "));if(algo==="expression"){return}for(var t in terms){var term=terms[t];for(var w in HIGHLIGHTS){if(algo!=="expression"&&w.length<this.fluidbook.settings.ignoreWordLimit){continue}if(algo==="begins"&&w.indexOf(term)!==0){continue}else if(algo==="contains"&&w.indexOf(term)===-1){continue}else if(algo==="exact"&&w!==term){continue}var color=t;if(algo==="expression"){color=0}var h={occurences:HIGHLIGHTS[w],color:color,word:w,term:term};this.highlights.push(h)}}}},setRobustHighlightTerms:function(terms){let term=terms.join("");term=this.removeSpaceAndPoints(term);console.log(term);let letters=term.split("");let occurences=[];for(let i=0;i<letters.length;i++){let letter=letters[i];if(i===0){occurences=HIGHLIGHTS[letter]}else{let filteredOccurences=[];for(let j in occurences){let o=occurences[j];for(let k in HIGHLIGHTS[letter]){if(HIGHLIGHTS[letter][k].o===o.o+i){if(o.next===undefined){o.next=[]}o.next.push(HIGHLIGHTS[letter][k]);filteredOccurences.push(o)}}}if(filteredOccurences.length===0){return}occurences=filteredOccurences}}if(!occurences.length){return}for(let i in occurences){let o=occurences[i];this.highlights.push({occurences:[o],color:0,word:term,term:term});if(o.next){this.highlights.push({occurences:o.next,color:0,word:term,term:term})}}},removeSpaceAndPoints:function(str){str=str.replace(/[-\/_]/g,"");str=str.replace(/[ããããï¼ï¼ï½¡ãããï¹âãâãï¼ï¼½ï½ããããããï¼ï¼ï¼ï¼
ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ [\]^_ï½ï½ï½ï½ï½ï½ï½ 「」、ãããããããããããããããããããããã°ã¾ã¿ââââââââââ¦â§ï¹ï¹ï¹Â·ãä¸ã]/g,"");
1str=str.replace(/[\u2000-\u20ff\u2122\x21-\x2f\x3a-\x3f\x5b-\x60\x7b-\xa0\xaa-\xbf]/g,"");str=str.replace(/\\p{Cc}/g,"");str=str.replace(/\\p{Whitespace}/g,"");return str},clearHighlights:function(){$("#searchHighlights").html("");for(var p in this.plugins){var plugin=this.plugins[p];plugin.clearHighlights()}},highlightSearchTerms:function(pageNr){if(!this.highlightEnabled){console.warn("hightlight disabled");return}this.clearHighlights();if(this.termsToHighlight.length===0){return}for(var p in this.plugins){var plugin=this.plugins[p];plugin.highlight(pageNr,this.termsToHighlight)}if(!this.fluidbook.settings.highlightAllOccurences){var evenPageNumber=pageNr;if(!this.singleMode&&evenPageNumber%2===1){evenPageNumber--}}var pageNrs=[];if(this.fluidbook.resize.orientation==="portrait"){pageNrs.push(pageNr)}else{if(!this.singleMode&&pageNr%2===1){pageNr--}pageNrs.push(pageNr);pageNr++;if(pageNr<this.fluidbook.contentlock.getMaxPage()){pageNrs.push(pageNr)}}if(this.fluidbook.l10n.dir==="rtl"){pageNrs.reverse()}for(var i in this.highlights){var h=this.highlights[i];for(var j in h.occurences){var o=h.occurences[j];var pageIndex=pageNrs.indexOf(o.page);if(pageIndex==-1){continue}this.highlightOccurence(o,h.word,h.term,h.color,pageIndex*this.fluidbook.settings.width)}}},highlightOccurence:function(position,word,term,color,offset){if(word==term){width=position.width;x=0}else{var width=0;var x=0;var startIndex=word.indexOf(term);for(var i=0;i<word.length;i++){if(i<startIndex){x+=position.lw[i]}else{width+=position.lw[i]}if(i>=term.length){break}}}var padding=position.height*.2;var z=this.fluidbook.settings.cssScale;var h=$('<div class="highlight'+(this.robust?" robust":"")+'" data-color="'+color+'"></div>');var coords={top:(position.y-position.height-padding*2)*z,left:(position.x+x-padding)*z+offset,width:(width+2*padding)*z,height:(position.height+padding*3)*z};var transform={};if(position.rotation){transform.rotate=-position.rotation+"deg"}var hash=coords.top+"|"+coords.left+"|"+coords.width+"|"+coords.height;if($('[data-hash="'+hash+'"]').length>0){return}$(h).attr("data-hash",hash);$(h).css(coords).transform(transform);$("#searchHighlights").append(h)},initSearchResults:function(){this.menuSearchResults=$("#menuSearchResults");this.fluidbook.resize.resizeMenu();this.menuSearchResults.hide()},initSearchHints:function(){if(!this.hintsEnabled){return}this.menuSearchHints=$("#menuSearchHints");this.fluidbook.hideMenuItems();this.menuSearchHints.fadeIn(300)},getSearchHints:function(q){if(!this.hintsEnabled){this.fluidbook.hideMenuItems();this._loadLib(function(){});return}var $this=this;this.killLastSearchHint();this.getHints(q,function(r){$this.displaySearchHints(r)})},displaySearchHints:function(hints){if(!this.hintsEnabled){return}var $this=this;if(hints.length==0){return}this.menuSearchHints.html("");$.each(hints,function(k,v){var termType="word";if(v.length>2){label=v[2]}else{label=v[0]}$this.menuSearchHints.append('<a class="hint" term="'+v[0]+'" href="#/search/'+v[0]+'">'+label+"</a>")});var qoffset=$("#q").offset();var top=qoffset.top+$("#q").outerHeight()+5;var left=qoffset.left;if(this.fluidbook.l10n.dir==="rtl"){left=-1*($(window).width()-left-$("#q").outerWidth())}this.menuSearchHints.perfectScrollbar({suppressScrollX:true,minScrollbarLength:40});$("#searchHints").css({top:top,left:left}).show()},killLastSearchHint:function(){if(!this.hintsEnabled){return}this.kill()},hideSearchHints:function(){if(!this.hintsEnabled){return}if(this.menuSearchHints!==undefined){this.menuSearchHints.html("").hide()}},hideSearchResults:function(){if(this.menuSearchResults!==undefined){this.menuSearchResults.html("").hide()}},isSearchActive:function(){if(!this.fluidbook.settings.search){return false}return $("#q").val().length>0},closeSearch:function(){$("#q").val("");this.clearHighlights();this.setHighlightTerms([]);this.hideSearchHints();this.hideSearchResults();this.fluidbook.showMenuItems()},submitForm:function(){var q=$("#q").val();if(q===""){return false}this.closeKeyboardonTouchDevices();window.location.hash="/search/"+q;this.fluidbook.stats.track(1,this.fluidbook.currentPage,q);var continueProcessingAfterPlugins=true;for(var p in this.plugins){if(!continueProcessingAfterPlugins){continue}var plugin=this.plugins[p];continueProcessingAfterPlugins=plugin.submitQuery(q)}if(!continueProcessingAfterPlugins){return}var $this=this;this.find(q,function(results){$this.openResults(results)})},openResults:function(results,gotoPageIfOneResult){if(gotoPageIfOneResult===undefined){gotoPageIfOneResult=false}var $this=this;this.closeKeyboardonTouchDevices();if(results.total<=0){this.menuSearchResults.html('<div class="no-results">'+this.fluidbook.l10n.__("no result found")+"</div>");this.hideSearchHints();this.menuSearchResults.fadeIn(300);return false}var hits=[];for(var i=0;i<=this.fluidbook.contentlock.getMaxPage();i++){hits[i]=0}$.each(results.results,function(k,v){hits[k]+=v});if(this.menuSearchResults===undefined){this.initSearchResults()}this.menuSearchResults.html(this.fluidbook.menu.index._getSearchResultsView()).hide();var spreadEnabled=0;this.menuSearchResults.find(".doubleThumb").each(function(){var currentPages=$(this).data("pages").toString().split(","),totalHits=0,pagesWithHits=[];var firstPageWithResult;for(var i in currentPages){var pageNum=parseInt(currentPages[i]);if(hits[pageNum]>0){if(firstPageWithResult===undefined){firstPageWithResult=currentPages[i]}totalHits+=hits[pageNum];pagesWithHits.push(currentPages[i])}}if($(this).find(".hits").length>0){return}if(totalHits===0){if($this.fluidbook.settings.searchShowNoResultsPages){$(this).append('<div class="overlay"></div>');$(this).append('<div class="hits no">'+$this.fluidbook.l10n.__("no result found")+"</div>")}else{$(this).remove();return}}else{spreadEnabled++;p=$this.fluidbook.displayOnePage?firstPageWithResult:$(this).attr("page");var url="#/page/"+p;if($this.fluidbook.pad.enabled){if(pagesWithHits.length==1){url="#/page/"+pagesWithHits[0]}else{url="#/search/"+e+"/"+$(this).attr("page")}}$(this).wrap('<a class="menuSearchResult" href="'+url+'"></a>');$(this).attr("data-enabled","1");
1$(this).append('<div class="hits yes">'+totalHits+" "+$this.fluidbook.l10n.__("hit(s)")+"</div>")}});this.setHighlightTerms(results.terms);this.hideSearchHints();this.highlightSearchTerms(this.fluidbook.currentPage);if(gotoPageIfOneResult&&spreadEnabled===1){setTimeout(function(){fluidbook.setCurrentPage($this.menuSearchResults.find('.doubleThumb[data-enabled="1"]').attr("page"));fluidbook.nav.closeMenu()},100);return}this.menuSearchResults.fadeIn(300).scrollTop(0);setTimeout(function(){this.fluidbook.resize.resizeMenu()},500);this.menuSearchResults.perfectScrollbar({suppressScrollX:true,minScrollbarLength:40})},registerPlugin:function(p){this.plugins.push(p)},closeKeyboardonTouchDevices:function(){if(this.fluidbook.support.iOS||this.fluidbook.support.android){$("#q").blur()}}};function FluidbookHelp(fluidbook){this.autoTimeout;this.fluidbook=fluidbook;this.view=$("#helpView");this.overlay=$("#helpViewOverlay");this.initEvents();this.interfaceTop;this.ww=0;this.ns=0;this.ignoreResize=false}FluidbookHelp.prototype={init:function(force){if(force===undefined){force=false}var ww=this.fluidbook.resize.ww;var skip=true;if(this.view.html()===""){skip=false}if(this.ww!==ww&&this.fluidbook.l10n.rtl){skip=false}if(this.ns!==this.fluidbook.resize.navScale){skip=false}if(force){skip=false}this.ww=ww;this.ns=this.fluidbook.resize.navScale;if(skip){return}var $this=this;var help="";var ext="svg";var touchzoom=2;var mousezoom=1;help='<div id="help-illustrations">';if(this.fluidbook.mobilefirst.enabled){var name="fingers";var text=this.fluidbook.l10n.__("scroll down to read the page content");help+='<div class="illustration touch">'+getSpriteIcon("help-touch-scroll",{widh:50*touchzoom,height:38*touchzoom});help+="<p>"+text+"</p>";help+="</div>"}else{var name="fingers";var text=this.fluidbook.l10n.__("tap twice or spread your fingers to zoom in");help+='<div class="illustration touch">'+getSpriteIcon("help-touch-zoom",{width:180*touchzoom,height:170*touchzoom});help+="<p>"+text+"</p>";help+="</div>"}help+='<div class="illustration keyboard">';help+='<div class="bigkeys"><kbd>Ctrl</kbd><span>+</span><kbd class="big">+</kbd><div class="separator"></div><kbd>Ctrl</kbd><span>+</span><kbd class="big">â</kbd></div>';help+="<p>"+this.fluidbook.l10n.__("zoom in and zoom out")+"</p>";help+="</div>";name="mouse";if(this.fluidbook.mobilefirst.enabled){text=this.fluidbook.l10n.__("scroll down to read the page content")}else{text=this.fluidbook.l10n.__("click once to zoom in, click again to zoom out");if(this.fluidbook.settings.zoomWheel==="wheel"){text+="<br />"+this.fluidbook.l10n.__("roll the mouse wheel to zoom in/out")}else if(this.fluidbook.settings.zoomWheel==="ctrlwheel"){text+="<br />"+this.fluidbook.l10n.__("use Ctrl + scroll to zoom in/out")}}help+='<div class="illustration mouse">'+getSpriteIcon("help-mouse",{width:60*mousezoom,height:100*mousezoom});help+="<p>"+text+"</p>";help+="</div>";if(this.fluidbook.mobilefirst.enabled){help+='<div class="illustration touch">'+getSpriteIcon("help-touch-swipe",{width:50*touchzoom,height:38*touchzoom});help+="<p>"+this.fluidbook.l10n.__("swipe to change the page")+"</p>";help+="</div>"}help+="</div>";help+='<div id="icons">';var tooltipSelector="#horizontalNav li > a[data-tooltip]:visible";var tooltips=this.fluidbook.nav.isInverted()?$(tooltipSelector).get().reverse():$(tooltipSelector);var navScale=this.fluidbook.resize.navScale;var initialHeight=20*navScale;var hStep=25*navScale;var h=initialHeight+($(tooltipSelector).length-1)*hStep;$(tooltips).each(function(){var text=$(this).data("tooltip");if(text===null||text===undefined||text===""||$(this).hasClass("hidden")){return}var shortcuts=$(this).attr("aria-keyshortcuts");if(shortcuts===null||shortcuts===undefined||shortcuts===""){shortcuts=[]}else{shortcuts=shortcuts.split("+")}var icon=$(this).find(".nav-icon:visible:first");if(icon.length>0){var offset=icon.offset();var iconWidth=parseFloat($(icon).width())*navScale;var left;if($this.fluidbook.l10n.dir==="ltr"){left=offset.left+iconWidth/2}else{left=(ww-offset.left-iconWidth/2)*-1}left=left/navScale;var c="nav";if($(this).parents("#afterSearch").length>0){c="afterSearch"}help+='<div class="icon '+c+'" style="padding-top:'+h+"px;left:"+left+'px;"><span>'+$this.keyboardShortcut(shortcuts)+text+"</span></div>";h-=hStep}});help+="</div>";if(this.fluidbook.interface.arrowsEnabled()){var next=this.fluidbook.l10n.__("next double page");var previous=this.fluidbook.l10n.__("previous double page");if(this.fluidbook.pad.enabled){next=this.fluidbook.l10n.__("next chapter");previous=this.fluidbook.l10n.__("previous chapter")}if(this.fluidbook.mobilefirst.enabled){next=this.fluidbook.l10n.__("next page");previous=this.fluidbook.l10n.__("previous page")}}help+='<div class="interface">';if(this.fluidbook.interface.arrowsEnabled()){var labels=this.fluidbook.interface.getLabels();help+='<div class="help-arrows">';help+='<div class="next">'+labels.next+this.keyboardShortcut(["PageDown"])+"</div>";help+='<div class="last">
1'+labels.last+this.keyboardShortcut(["End"])+"</div>";help+='<div class="previous">'+this.keyboardShortcut(["PageUp"])+labels.previous+"</div>";help+='<div class="first">'+this.keyboardShortcut(["Home"])+labels.first+"</div>";help+="</div>"}if($("#slider").length>0){help+='<div class="slider"><span>'+this.fluidbook.l10n.__("drag handle to switch page")+"</span></div>"}help+=this.bookmarkLabel();help+="</div>";if(this.fluidbook.pad.enabled){help+='<div class="down">'+this.fluidbook.l10n.__("read more")+"<hr /></div>"}this.view.html(help)},initEvents:function(){var $this=this;$(document).on(this.fluidbook.input.clickEvent,".icon-help",function(e){$this.show();if($this.fluidbook.nav.menuIsOpen){$this.fluidbook.nav.closeMenu()}e.preventDefault()});$this.overlay.click(function(e){e.stopImmediatePropagation();e.stopPropagation();e.preventDefault();$this.hide();return false});$(this.fluidbook).on("fluidbook.resize",function(){if(!$this.ignoreResize){$this.hide()}})},isVisible:function(){return this.view.is(":visible")},show:function(time){this.clearTimeout();if(time===undefined){time=0}this.fluidbook.interface.displayInterface();if(this.isVisible()){return false}var $this=this;this.overlay.show();this.view.css("opacity",0).show();this.view.find(".interface").show();$("#help-illustrations").css("opacity","0");if(time!==0){this.autoTimeout=setTimeout(function(){$this.hide()},time*1e3)}this.init(true);setTimeout(function(){$this.resize();$("body,#prev-arrows,#next-arrows").addClass("help");this.fluidbook.showAllButtons();$this.view.css("opacity",1)},50);setTimeout(function(){$this.resize();$("#help-illustrations").css("opacity","1")},100);$(this.fluidbook).trigger("fluidbook.help.show");return false},hide:function(){this.clearTimeout();this.fluidbook.interface.checkHidden();var $this=this;if(this.isVisible()){this.overlay.hide();this.view.hide();$("body,#prev-arrows,#next-arrows").removeClass("help");this.fluidbook.hideUnnecessaryButtons();if(this.fluidbook.support.isMobile){$("*").unbind(this.fluidbook.input.clickEvent,function(){$this.hide()})}$(this.fluidbook).trigger("fluidbook.help.hide")}return false},toggle:function(){if(this.isVisible()){this.hide()}else{this.show()}},resize:function(){this.view.find("#help-illustrations").css({transform:""});var hh=this.fluidbook.resize.hh;var navScale=this.fluidbook.resize.navScale;var interfaceScale=this.fluidbook.resize.interfaceScale;this.init(false);var $this=this;var dir=this.fluidbook.l10n.dir;var menuHeightScaled=this.fluidbook.settings.menuHeight*navScale;var nextTop;var firstTop;if(this.fluidbook.interface.arrowsEnabled()){var arrow=$("#interface #next-arrows").get(0).getBoundingClientRect();nextTop=Math.round(arrow.top+arrow.height*.35);firstTop=Math.round(arrow.top+arrow.height*.71);this.view.find(".previous, .next").css({top:nextTop});this.view.find(".first, .last").css({top:firstTop});var prevPosition=dir==="ltr"?{left:Math.round(arrow.width)}:{right:Math.round(arrow.width)},nextPosition=dir==="ltr"?{right:Math.round(arrow.width)}:{left:Math.round(arrow.width)};this.view.find(".previous, .first").css(prevPosition);this.view.find(".next, .last").css(nextPosition)}if(this.fluidbook.bookmarks.enabled){var inverted=this.fluidbook.nav.isInverted();var side=this.fluidbook.l10n.dir==="ltr"&&inverted||this.fluidbook.l10n.dir==="rtl"&&!inverted?"left":"right";if(this.fluidbook.mobilefirst.enabled){side="right"}var baseElement=$("#links .bookmark."+side+":visible");if(baseElement.length>0){var box=baseElement[0].getBoundingClientRect();var circleExtra=25*this.fluidbook.resize.interfaceScale;var circleOffset=circleExtra/2;$(".bookmark-help .bookmark").css({width:Math.round(box.width),height:Math.round(box.height),margin:Math.round(circleOffset)});$(".bookmark-help .bookmark-help-icon").css({width:Math.round(box.width+circleExtra),height:Math.round(box.height+circleExtra)});var css={top:Math.round(box.top-circleOffset)};if(side==="left"){css.transformOrigin="left top";css.flexDirection="row";css.left=Math.round(box.left-circleOffset)}else{css.right=Math.round(this.fluidbook.resize.ww-box.left-box.width-circleOffset);css.transformOrigin="right top";css.flexDirection="row-reverse"}$(".bookmark-help").css(css)}}if($("#slider").length>0){var positionSliderLabel=function(){var sliderHelp=$this.view.find(".slider");var span=$(sliderHelp).find("span");
1var sliderCursor=$("#slidercursor .visible");var bottom=Math.round(hh-sliderCursor.offset().top);var left=Math.round(sliderCursor.offset().left+sliderCursor.width()/2);var spanTop=-8;var spanLeft=0;var diff=$(span).width()+left-($this.fluidbook.resize.ww-10);var height=null;if(diff>0){spanLeft=-diff;spanTop=-25;height=0}sliderHelp.css({bottom:bottom,left:left,height:height,transformOrigin:"left bottom"});$(span).css({top:spanTop,left:spanLeft})};positionSliderLabel();setTimeout(positionSliderLabel,250)}this.view.find("#icons").css({top:menuHeightScaled,transform:"scale("+navScale+")"});var s=Math.max(.9,Math.min(1.5,interfaceScale));$("#helpView #icons").css({fontSize:14/navScale*s});var is=Math.min(s,hh*.7/$("#help-illustrations").outerHeight());this.view.find("#help-illustrations").css({transform:"translate(-50%, 0) scale("+is+")"});$("#helpView .interface").find("> div").transform({scale:[s,s]});var top=(hh-$("#help-illustrations").outerHeight())/2;$("#help-illustrations").css("top",top)},clearTimeout:function(){clearTimeout(this.autoTimeout)},displayAtStartup:function(){if(this.fluidbook.settings.helpStartup){var $this=this;var time=parseInt(this.fluidbook.settings.helpStartupTime);this.ignoreResize=true;setTimeout(function(){$this.ignoreResize=false},(time+1)*1e3);this.show(time);if(this.fluidbook.pad.enabled){this.fluidbook.pad.displayInterface()}}else{if(this.fluidbook.settings.landscapeWarning!==""&&(this.fluidbook.support.iOS||this.fluidbook.support.android)){this.fluidbook.menu.openView("text",this.fluidbook.settings.landscapeWarning,function(){})}this.fluidbook.hideUnnecessaryButtons()}},showBookmark:function(){if(!this.fluidbook.bookmarks.enabled){return false}if(this.fluidbook.displayOnePage){return true}if(!this.fluidbook.nav.isInverted()&&!this.fluidbook.getButtonsVisibility().next&&this.fluidbook.contentlock.getMaxPage()%2===0){return false}return true},bookmarkLabel:function(){if(!this.showBookmark()){return""}var dir=this.fluidbook.l10n.dir;var inverted=this.fluidbook._boolean(this.fluidbook.settings.invertMenuPosition);var side=dir==="ltr"&&inverted||dir==="rtl"&&!inverted?"left":"right";if(this.fluidbook.mobilefirst.enabled){side="right"}var baseElement=$("#links .bookmark."+side);var html="";if(baseElement.length===0){return""}var iconHolder=$('<div class="bookmark '+side+'" data-enabled="enabled" />');iconHolder.html(getSpriteIcon("bookmark-corner"));var icon=$(iconHolder).get(0).outerHTML;html+=$('<div class="bookmark-help-icon">'+icon+"</div>")[0].outerHTML;html+=$('<div class="bookmark-help-line"/>')[0].outerHTML;html+=$('<div class="bookmark-help-label">'+this.keyboardShortcut(["Ctrl","Alt","D"])+this.fluidbook.l10n.__("add / remove bookmark")+"</div>")[0].outerHTML;var wrapper=$('<div class="bookmark-help">'+html+"</div>")[0].outerHTML;if(wrapper===undefined||wrapper==="undefined"){return""}return wrapper},keyboardShortcut:function(keys){if(keys.length===0){return""}var map={Control:"Ctrl"};var norm=[];$.each(keys,function(k,v){if(map[v]!==undefined){norm.push(map[v])}else{norm.push(v)}});return'<div class="keyboardshortcut"><kbd>'+norm.join("</kbd><span>+</span><kbd>")+"</kbd></div>"}};function FluidbookResize(fluidbook){this.fluidbook=fluidbook;this.setMargins();this.corr=.8;this.referenceWidthLandscape=1024;this.referenceWidthPortrait=400;this.referenceHeight=600;this.orientation="";this.textScale=2;this.bookScale=1;this.interfaceScale=1;this.headerScale=1;this.navScale=1;this.ww=$(window).width();this.hh=$(window).height();this.aw=0;this.ah=0;this.fw=0;this.fh=0;this.fww=0;this.fhh=0;this.marginTop=0;this.marginBottom=0;this.marginLeft=0;this.marginRight=0;this.init();this.navresizeTimeout=0}FluidbookResize.prototype={reduceHorizontalMargins:function(){return this.fluidbook.mobilefirst.enabled||this.orientation==="portrait"&&(this.fluidbook.support.iOS||this.fluidbook.support.android)},reduceVerticalMargins:function(){return this.fluidbook.settings.mobileReducedMargins&&this.orientation==="portrait"&&this.fluidbook.nav.burgerActive()},setMargins:function(){var marginV=20;var marginY=marginV;var marginX=60;if(this.reduceHorizontalMargins()){marginX=20}this.marginleft=marginX+parseInt(this.fluidbook.settings.extraXSpace);this.margintop=marginY+parseInt(this.fluidbook.settings.extraYSpace);this.marginbottom=marginY+marginV;this.marginright=this.marginleft;if(this.reduceVerticalMargins()){this.margintop-=parseInt(this.fluidbook.settings.extraYSpace);this.margintop-=65;this.marginbottom-=30}},init:function(){var ltr=this.fluidbook.l10n.dir==="ltr";var left=ltr?"0%":"100%";
1var right=ltr?"100%":"0%";$("#nav,#searchHints").transform({origin:[left,"0%"]});$("#footer").transform({origin:[right,"100%"]});if(this.fluidbook.interface.arrowsEnabled()){$("#next-arrows").transform({origin:[right,"50%"]});$("#prev-arrows").transform({origin:[left,"50%"]})}if(this.fluidbook.support.android||this.fluidbook.support.iOS){$(document).on("blur focus","input",function(){setTimeout(resize,1500);setTimeout(resize,3e3)})}if(this.fluidbook.support.IE>9){this.watchForResize()}},watchForResize:function(){var w=Math.max(document.documentElement.clientWidth,window.innerWidth||0);var h=Math.max(document.documentElement.clientHeight,window.innerHeight||0);if(w!==this.ww||h!==this.hh){resize()}var $this=this;window.setTimeout(function(){$this.watchForResize()},1e3)},resize:function(init,forceOrientation){if(init==undefined||init==null){init=false}if(forceOrientation===undefined){forceOrientation=false}var $this=this;this.updateWindow();this.handleOrientation(init||forceOrientation);if(this.fluidbook.support.android){this.fluidbook.viewport.width="device-width";this.fluidbook.viewport.updateViewport();this.updateWindow()}if(window.devicePixelRatio===1){$("html").addClass("no-devicepixelratio-scale").removeClass("devicepixelratio-scale")}else{$("html").removeClass("no-devicepixelratio-scale").addClass("devicepixelratio-scale")}var headerScale=1;var interfaceScale,headerScale;if(this.orientation==="landscape"){interfaceScale=Math.min(1,this.ww/this.referenceWidthLandscape,this.hh/this.referenceHeight)}else if(this.orientation==="portrait"){var nminwidth=$("#nav a").length*51+205+50;var refWidth=Math.max(this.referenceWidthPortrait,nminwidth);headerScale=Math.min(1,this.ww/refWidth,this.hh/this.referenceHeight);interfaceScale=Math.min(1,.7*this.ww/refWidth,.7*this.hh/this.referenceHeight)}if(this.fluidbook.mobilefirst.enabled){interfaceScale=Math.max(.8,interfaceScale);headerScale=Math.max(.8,headerScale)}this.interfaceScale=interfaceScale;this.headerScale=headerScale;var navScale=headerScale*parseInt(this.fluidbook.settings.mobileNavScale)/100;this.navScale=navScale;var cssInterfaceScale=[interfaceScale,interfaceScale];var cssNavScale=[navScale,navScale];var cssHeaderScale=[headerScale,headerScale];$("#main,#z,#scroll").css({width:this.ww,height:this.hh});this.resizeView();this.setMargins();var marginTop,marginBottom,marginLeft,marginRight;if(this.fluidbook.pad.enabled){extraX=0;this.marginTop=0;this.marginBottom=0;this.marginLeft=0;this.marginRight=0}else{var extraX=parseInt(this.fluidbook.settings.mobileExtraXSpace);if(isNaN(extraX)){extraX=0}this.marginTop=parseInt(this.fluidbook.settings.menuHeight)*headerScale+this.margintop*interfaceScale;this.marginBottom=(10+this.marginbottom)*interfaceScale;this.marginLeft=(this.marginleft+parseInt(extraX))*interfaceScale;this.marginRight=(this.marginright+parseInt(extraX))*interfaceScale}this.aw=this.ww-this.marginLeft-this.marginRight;this.ah=this.hh-this.marginTop-this.marginBottom;this.fhh=this.fluidbook.settings.height;this.fww=this.fluidbook.settings.width;if(this.orientation==="landscape"){this.fww*=2}this.bookScale=Math.min(this.aw/this.fww,this.ah/this.fhh);this.origin=["50%","50%"];if(this.fluidbook.mobilefirst.enabled){this.bookScale=this.fluidbook.mobilefirst.getBookScale(this.aw);this.origin[1]="0%"}var tabsScale=this.fluidbook.tabs.guessBookScale(this.bookScale,this.aw,this.fww);this.bookScale*=tabsScale;this.fw=this.bookScale*this.fww;this.fh=this.bookScale*this.fhh;if(this.fluidbook.support.iOS&&this.fluidbook.pagetransitions.getTransitionType()==="flip3d"){}this.resizeBook();if(this.fluidbook.mobilefirst.enabled){this.fluidbook.mobilefirst.resize()}this.fluidbook.loader.renderTextsCanvas();this.centerOffset=this.fw/4;this.fluidbook.pagetransitions.centerBook();$("#pagesnumbers").css({transform:"scale("+this.bookScale+")",top:this.fh,fontSize:11.25/this.bookScale});if(this.fluidbook.nav.isLogoCentered()){$("#logo").css("left",(this.ww-this.fluidbook.settings.logoDimensions[0])/2)}if(this.fluidbook.interface.arrowsEnabled()){$("#next-arrows").transform({scale:cssInterfaceScale});$("#prev-arrows").transform({scale:cssInterfaceScale})}var audioButtonPosition=Math.max(this.hh/6,30*interfaceScale);$(".audio-description-button").css({scale:cssInterfaceScale,bottom:audioButtonPosition});$("#logo,footer,#searchHints").transform({scale:navScale});$("#horizontalNav, #menuOpener").css({transform:"translateY(-"+50*navScale+"%) scale("+navScale+")"});var headerHeight=this.fluidbook.settings.menuHeight*navScale;$("header").css({height:headerHeight,backgroundSize:"100% "+headerHeight+"px"});this.refw=this.fw;this.refh=this.fh;this.updateFluidbookRect();if(this.fluidbook.help){this.fluidbook.help.resize(this.ww,this.hh,interfaceScale,navScale)}$("#loader").css({top:this.hh/2,left:this.ww/2});this.fluidbook.background.resize(this.ww,this.hh);if(this.fluidbook.slider){this.fluidbook.slider.resize(this.ww,this.hh,this.orientation==="portrait")}var timeout=0;if(this.fluidbook.support.android){timeout=1e3}if(timeout>0){clearTimeout(this.navresizeTimeout);this.navresizeTimeout=setTimeout(function(){$this.resizeNav(interfaceScale)},timeout)}else{this.resizeNav(interfaceScale)}this.resizeSplash();if(this.fluidbook.form){try{this.fluidbook.form.resize()}catch(e){}}$("#main").show();if(this.fluidbook.nav){if(this.fluidbook.nav.burgerActive()){$("html").addClass("menu-burger");$("html").removeClass("menu-horizontal")}else{$("html").addClass("menu-horizontal");$("html").removeClass("menu-burger")}}this.checkLogoVisibility();$(window).scrollTop(0);var data={ww:this.ww,hh:this.hh,orientation:this.orientation,bookScale:this.bookScale,fluidbookrect:this.fluidbookrect};if(this.fluidbook.interface.arrowsEnabled()){try{data.arrowLeftRect=$("#prev-arrows").get(0).getBoundingClientRect();data.arrowRightRect=$("#next-arrows").get(0).getBoundingClientRect()}catch(e){}}$(this.fluidbook).trigger("fluidbook.resize",data)},resizeBook:function(){var f=$("#fluidbook");$(f).css({width:this.fw,height:this.fh,top:this._top(this.fh),left:this._left(this.fw)});this.resizePages();this.resizeShadow();this.resizeEdges()},resizePages:function(){var p=$("#pages");var css={width:"100%",height:"100%"};$(p).css(css);$(p).find(".doublePage").css(css);this.resizeLinks()},resizeLinks:function(){$("#links .container,.clinks,.ctlinks,#searchHighlights").css({transform:"scale("+this.bookScale+")"})},resizeEdges:function(){$("#edges").css({transform:"scale("+this.bookScale+")",transformOrigin:"0 0"})},_left:function(w){return this.marginLeft+(this.aw-w)/2},_top:function(h){if(this.fluidbook.mobilefirst.enabled){return this.marginTop}return this.marginTop+(this.ah-h)/2},resizeShadow:function(){$("#shadow").transform({scale:[this.bookScale,this.bookScale],origin:this.origin}).css({width:this.fww,left:this._left(this.fww),top:this._top(this.fhh)})},updateFluidbookRect:function(){this.fluidbookrect=$("#fluidbook").get(0).getBoundingClientRect()},resizeNav:function(interfaceScale){var $this=this;if(this.fluidbook.interface.arrowsEnabled()){var topNext=(this.hh-100*interfaceScale)/2;$("#next-arrows,#prev-arrows").css({top:topNext}).show()}if($("#afterSearch:visible").length===1){setTimeout(function(){$this.resizeAfterSearch()},10);this.resizeAfterSearch()}},resizeAfterSearch:function(){var rect=$("#horizontalNav").get(0).getBoundingClientRect();var inverted=this.fluidbook.nav.isInverted();if(this.fluidbook.l10n.ltr&&!inverted||this.fluidbook.l10n.rtl&&inverted){$("#afterSearch").css({left:rect.left+rect.width,right:"auto"})}else{$("#afterSearch").css({right:this.ww-rect.right+rect.width,left:"auto"})}},checkLogoVisibility:function(){if(this.fluidbook.mobilefirst.enabled||!this.fluidbook.settings.logoHideWhenOverriden){return}var logo=document.getElementById("logo").getBoundingClientRect();var fluidbook=document.getElementById("fluidbook").getBoundingClientRect();var inverted=this.fluidbook.nav.isInverted();var overlapY=logo.bottom>fluidbook.top;var overlapX;if(this.fluidbook.l10n.rtl&&!inverted||this.fluidbook.l10n.ltr&&inverted){overlapX=logo.right>fluidbook.left-$("#center-fluidbook").data("left")}else{overlapX=logo.left<fluidbook.right-$("#center-fluidbook").data("left")}var hidden=overlapY&&overlapX;if(hidden){$("#logo").addClass("hidden")}else{$("#logo.hidden").removeClass("hidden")}},resizeSplash:function(){if($("#splash").length==0){return}$("#splash").css({width:this.ww,height:this.hh});if($("#splash").css("opacity")==0){$("#splash").css("opacity",1)}var lw=$("#splash .logo").width();var lh=$("#splash .logo").height();$("#splash .logo").css({top:this.hh/2-30-lh-10,left:Math.max((this.ww-lw)/2,0)})},updateWindow:function(){this.ww=$(window).width();this.hh=$(window).height();if(window.innerHeight&&window.innerHeight!=this.hh){this.hh=window.innerHeight}},resizeView:function(){var $this=this;this.updateWindow();this.fluidbook.menu.resize(this.ww,this.hh)},handleOrientation:function(forceChange){var $this=this;if(forceChange===undefined){forceChange=false}var o=this.fluidbook.support.getOrientation();var newo;if(this.fluidbook.video.isVideoFullscreen()){this.fluidbook.video.resizeControls();return false}if(o===0||o===180){newo="portrait";$("body").removeClass("landscape")}else{newo="landscape";$("body").removeClass("portrait")}var changeOrientation=forceChange||this.orientation!==newo;this.orientation=newo;$("body").addClass(this.orientation);this.fluidbook.displayOnePage=this.fluidbook.alwaysDisplayOnePage||this.orientation==="portrait";if(changeOrientation){$(this.fluidbook).trigger("fluidbook.resize.beforeOrientationChange");this.fluidbook.zoom.resetZoom();if(!this.fluidbook.firstTransition){this.fluidbook.pagetransitions.pageTransition(this.fluidbook.currentPageURL,"immediate")}$(this.fluidbook).trigger("fluidbook.resize.orientation",{orientation:this.orientation});if(this.fluidbook.support.android){setTimeout(function(){$($this.fluidbook).trigger("fluidbook.resize.orientation",{orientation:$this.orientation})},1e3);setTimeout(function(){$($this.fluidbook).trigger("fluidbook.resize.orientation",{orientation:$this.orientation})},2e3)}}},getScreenFluidbookWidth:function(){return $("#fluidbook").outerWidth()},resizeHorizontalNav:function(){if(!$("#horizontalNav").is(":visible")){return}if(Modernizr.msie){$("#horizontalNav #iconList li a").each(function(){$(this).css({width:$(this).find("img,svg").outerWidth()+34})})}},resizeMenu:function(){if(this.fluidbook==undefined){return false}this.resizeHorizontalNav();if(!this.fluidbook.nav.menuIsOpen)return false;var wh=$(window).height();var formHeight=$("#searchForm").height();var marginBottom;var marginTop=marginBottom=Math.min(Math.round(wh*.075),50);var searchResultsMaxHeight=wh-formHeight-marginTop-marginBottom;var shareHeight=0;var sl=$("#shareLinks");
1if(sl.length>0){shareHeight=sl.outerHeight()}var menuSearchHeight=0;var ms=$("#menuSearch");if(ms.length>0){menuSearchHeight=ms.height()}var mainMenuMaxHeight=wh-menuSearchHeight-shareHeight;if(this.fluidbook.search.menuSearchResults==undefined){this.fluidbook.search.initSearchResults();return false}$("#menuList > ul").css("maxHeight",mainMenuMaxHeight);if(this.fluidbook.search.menuSearchResults!==undefined){this.fluidbook.search.menuSearchResults.css("maxHeight",searchResultsMaxHeight);this.fluidbook.search.menuSearchResults.css("marginTop",marginTop);this.fluidbook.search.menuSearchResults.perfectScrollbar("update")}if(this.fluidbook.search.menuSearchHints!==undefined){this.fluidbook.search.menuSearchHints.css("maxHeight",wh-formHeight);this.fluidbook.search.menuSearchHints.perfectScrollbar("update")}}};function FluidbookStats(fluidbook){var $this=this;this.fluidbook=fluidbook;this.id=this.fluidbook.settings.id;this.vid=guid();this.relay_url_params="";this.lastTCHash="";this.gaqueue=[];if($_GET["puppeteer"]!==undefined){this.fluidbook.settings.stats=false;this.fluidbook.settings.googleTagManager="";this.fluidbook.settings.googleAnalytics="";this.fluidbook.settings.statsMatomo=false;this.fluidbook.settings.tagcommander_id="";this.fluidbook.settings.xiti="";this.fluidbook.settings.tagcommander_plan_type=""}if(this.fluidbook.settings.tagcommander_plan_type==="esm"){this.esm=new FluidbookStatsEsm(this.fluidbook)}if(this.fluidbook.settings.stats){this.worker=new Worker("js/libs/fluidbook/workers/stats.js")}if(this.fluidbook.settings.statsMatomo){if(this.fluidbook.settings.statsMatomoServer===undefined||this.fluidbook.settings.statsMatomoServer===null){this.fluidbook.settings.statsMatomoServer="3"}window._paq=window._paq||[];window._paq.push(["setDoNotTrack",true]);window._paq.push(["enableHeartBeatTimer"]);window._paq.push(["enableLinkTracking"]);(function(siteId,server){var u="https://stats"+server+".fluidbook.com/";window._paq.push(["setTrackerUrl",u+"matomo.php"]);window._paq.push(["setSiteId",siteId]);var d=document,g=d.createElement("script"),s=d.getElementsByTagName("script")[0];g.async=true;g.src=u+"matomo.js";s.parentNode.insertBefore(g,s)})(this.fluidbook.settings.statsMatomo,this.fluidbook.settings.statsMatomoServer.toString())}if(this.fluidbook.settings.googleTagManager!==undefined&&this.fluidbook.settings.googleTagManager!==""){this.ga="gtm"}else if(this.fluidbook.settings.googleAnalytics!==""){this.ga="gtag";this.gaCodes=this.fluidbook.settings.googleAnalytics.split(",");if(window.gtag!==undefined){gtag("js",new Date)}$.each(this.gaCodes,function(k,code){if(window.gtag!==undefined){gtag("config",code,{send_page_view:false})}});if(this.fluidbook.settings.gtag_additional_code!==""){eval(this.fluidbook.settings.gtag_additional_code)}}else{this.checkGoogleAnalytics()}if(this.fluidbook.settings.relay_url_params!==""){var e=this.fluidbook.settings.relay_url_params.split(",");var p=[];$.each(e,function(k,v){v=v.trim();if($_GET[v]!==undefined&&$_GET[v]!==null){p.push(v+"="+encodeURIComponent($_GET[v]))}});this.relay_url_params=p.join("&")}this.init()}FluidbookStats.prototype={init:function(){var $this=this;$(document).on(this.fluidbook.input.clickEvent,"a[data-track]",function(){$this.track(6,0,$(this).attr("data-track"));return true});if(this.fluidbook.settings.tagcommander_id&&this.fluidbook.settings.tagcommander_plan_type==="file"){this.initTagCommander()}if(this.fluidbook.settings.xiti){this.initPianoAnalytics()}},initTagCommander:function(){var $this=this;$(this.fluidbook).on("fluidbook.hashchange",function(e,data){if(window.location.hash===this.lastTCHash){return}this.lastTCHash=window.location.hash;data.shift();var hashes=[];if(!$this.fluidbook.displayOnePage&&data[0]=="page"){var p=parseInt(data[1]);if(!isNaN(p)){var even,odd;if(p%2===0){even=p;odd=p+1}else{odd=p;even=p-1}if($this.fluidbook.settings.tagcommander_plan["page/"+even]!==undefined){data[1]=even;hashes.push(data.join("/"))}if($this.fluidbook.settings.tagcommander_plan["page/"+odd]!==undefined){data[1]=odd;hashes.push(data.join("/"))}}}else{hashes.push(data.join("/"))}var custom_vars={};if(window.location.toString().indexOf("workshop.fluidbook.com")>
1=0||window.location.toString().indexOf("toolbox.fluidbook.com")){custom_vars.env_work="pre-prod"}$.each(hashes,function(k,hash){if($this.fluidbook.settings.tagcommander_plan[hash]){setTimeout(function(){window.tc_vars={};var location=window.location.toString().split("#")[0];location+="#/"+hash;custom_vars.url=location;$.extend(window.tc_vars,$this.fluidbook.settings.tagcommander_default_vars,custom_vars,$this.fluidbook.settings.tagcommander_plan[hash]);console.info("Tag commander",window.tc_vars);try{var o={events:{}};o.events[$this.fluidbook.settings.tagcommander_event_page]=[{},{}];tC.container.reload(o)}catch(e){console.error(e)}},500*k)}})})},initPianoAnalytics:function(){var $this=this;$(this.fluidbook).on("fluidbook.hashchange",function(e,data){if(window.location.hash===this.lastTCHash){return}this.lastTCHash=window.location.hash;data.shift();var hashes=[];if(!$this.fluidbook.displayOnePage&&data[0]==="page"){var p=parseInt(data[1]);if(!isNaN(p)){var even,odd;if(p%2===0){even=p;odd=p+1}else{odd=p;even=p-1}if($this.fluidbook.settings.piano_plan["page/"+even]!==undefined){data[1]=even;hashes.push(data.join("/"))}if($this.fluidbook.settings.piano_plan["page/"+odd]!==undefined){data[1]=odd;hashes.push(data.join("/"))}}}else{hashes.push(data.join("/"))}$.each(hashes,function(k,hash){if($this.fluidbook.settings.piano_plan[hash]){setTimeout(function(){var pianoData=$this.fluidbook.settings.piano_plan[hash];console.info("Piano Data",pianoData);try{pa.sendEvent("page.display",pianoData)}catch(e){console.error(e)}},500*k)}})})},track:function(type,page,extra){if(!this.fluidbook.support.hasNetwork()||this.fluidbook.nointerface){return}if(this.fluidbook.settings.stats){try{this.trackFluidbook(type,page,extra)}catch(e){}}if(this.fluidbook.settings.statsMatomo){try{this.trackMatomo(type,page,extra)}catch(e){}}try{this.trackGoogleAnalytics(type,page,extra)}catch(e){console.log(e)}},checkGoogleAnalytics:function(){if(this.ga!==false&&this.ga!==undefined){return}if("gtag"in window){this.ga="gtag"}else if("ga"in window&&"getAll"in window.ga){this.ga="ga"}else{this.ga=false}if(this.ga!==false&&this.gaqueue.length>0){var $this=this;$.each(this.gaqueue,function(k,v){$this.trackGoogleAnalytics(v[0],v[1],v[2],v[3])});this.gaqueue=[]}},trackMatomo(type,page,extra,url){if(url===undefined){url=window.location}switch(type){case 0:window._paq.push(["setCustomUrl","/page/"+page]);window._paq.push(["trackPageView","View page "+page]);break;case 10:window._paq.push(["setCustomUrl","/"]);window._paq.push(["trackPageView","Open fluidbook"]);break;case 14:window._paq.push(["trackEvent","menu","click","chapters"]);break;case 6:window._paq.push(["trackEvent","link","click",extra]);window._paq.push(["trackLink",extra]);break;case 1:window._paq.push(["trackSiteSearch",extra]);break;case 3:window._paq.push(["trackEvent","menu","click","print"]);break;case 5:case 12:case 13:window._paq.push(["trackEvent","share","send",extra]);break;case 7:case 8:window._paq.push(["trackEvent","menu","click","download"]);break;case 4:window._paq.push(["trackEvent","bookmark","page","page "+page]);break;case 9:window._paq.push(["trackEvent","extra","click",extra]);break;case 2:window._paq.push(["trackEvent","zoom","page",page]);break;case 15:window._paq.push(["trackEvent","cart","addproduct",extra])}},trackGoogleAnalytics:function(type,page,extra,url){this.checkGoogleAnalytics();if(url===undefined){url=location.pathname+location.search+location.hash}if(this.ga===false){this.gaqueue.push([type,page,extra,url]);return}switch(type){case 0:this._ga("pageview",url);break;case 10:this._ga("pageview");break;case 14:this._ga("event","menu","click","chapters");break;case 6:this._ga("event","link","click",extra);break;case 1:var l=document.createElement("a");l.href=window.location.toString();if(l.search==""){l.search="?"}else{l.search+="&"}l.search="q="+extra;this._ga("pageview",l.pathname+l.search+l.hash);break;case 3:this._ga("event","menu","click","print");break;case 5:case 12:case 13:this._ga("event","share","send",extra);break;case 7:case 8:this._ga("event","menu","click","download");break;case 4:this._ga("event","bookmark","page","page "+page);break;case 9:this._ga("event","extra","click",extra);break;case 2:this._ga("event","zoom","page",page);break;case 15:this._ga("event","cart","addproduct",extra)}},trackEvent:function(category,action,name){if(!this.fluidbook.support.hasNetwork()||this.fluidbook.nointerface){return}if(this.fluidbook.settings.statsMatomo){try{window._paq.push(["trackEvent",category,action,name+"|:|"+this.fluidbook.currentPage])}catch(e){}}try{this._ga("event",category,action,name)}catch(e){}},_ga:function(a0,a1,a2,a3,a4){var args=Array.prototype.slice.call(arguments);if(this.ga==="gtm"){var dl={};if(a0==="pageview"){dl.event="pageview";if(a1!==undefined){dl.location=a1}}else if(a0==="event"){dl.event=a1;dl.eventLabel=a3;dl.eventAction=a2}dataLayer.push(dl)}else if(this.ga==="gtag"){var f,o,a;o={};if(a0==="pageview"){f="event";o={};a="page_view";if(a1!==undefined){o.page_path=a1}}else if(a0==="event"){f="event";a=a2;o.event_category=a1;o.event_label=a3}$.each(this.gaCodes,function(k,code){var data=$.extend({send_to:code},o);gtag(f,a,data)})}else if(this.ga==="ga"){$.each(ga.getAll(),function(k,tracker){try{tracker.send.apply(tracker,args)}catch(e){}})}},trackFluidbook:function(type,page,extra){if(page==undefined){page=0}if(extra==undefined){extra=""}var $this=this;var data={id:$this.id,vid:$this.vid,type:type,page:page,str:extra,time:(new Date).getTime()};setTimeout(function(){$this.fluidbook.networkControl.executeWhenNetwork(function(cb){$this.worker.postMessage(data);setTimeout(cb,100)},false)},2500)}};function FluidbookCache(fluidbook){this.fluidbook=fluidbook;this._cache={};this.options=fluidbook.settings;this._prefix="fluidbook."+this.options.id+".";this._support=false;this._date=this.options.cacheDate;
1this._support=Modernizr.localstorage;this.init()}FluidbookCache.prototype={init:function(){var $this=this;this.fluidbook.keyboard.keyShortcut("â+alt+c, ctrl+alt+c",function(){$this.clear()});if(this._support){this.checkValidity()}},clear:function(){if(this._support){for(var i=localStorage.length-1;i>=0;i--){var key=localStorage.key(i);if(key.indexOf(this._prefix)===0){localStorage.removeItem(key)}}}else{this._cache={}}},isset:function(key){if(this._support){if(key.indexOf(this._prefix)!==0){key=this._prefix+key}var res=localStorage.getItem(key)!=null;return res}else{return this._cache[key]!=null}},get:function(key,defaultValue){if(defaultValue===undefined){defaultValue=null}var res;if(this._support){if(key.indexOf(this._prefix)!==0){key=this._prefix+key}res=localStorage.getItem(key)}else{res=this._cache[key]}if(!this.isset(key)){return defaultValue}var f=res.substr(0,1);if(f==="["||f==="{"){res=json_parse(res)}return res},set:function(key,value){if(typeof value!=="string"){value=JSON.stringify(value)}if(this._support){if(key.indexOf(this._prefix)!==0){key=this._prefix+key}localStorage.setItem(key,value)}else{this._cache[key]=value}},unset:function(key){if(this._support){if(key.indexOf(this._prefix)!==0){key=this._prefix+key}localStorage.removeItem(key)}else{delete this._cache[key]}},find:function(search){var $this=this;var res={};var it=this._support?localStorage:this._cache;if(this._support){search=this._prefix+search}$.each(it,function(k,v){if(k.indexOf(search)===0){res[k.replace($this._prefix,"")]=$this.get(k)}});return res},checkValidity:function(){if(!this.isset("validity")||this.get("validity")!=this._date){this.set("validity",this._date)}}};function FluidbookTooltip(fluidbook){this.fluidbook=fluidbook;this.displaying=false;this.mouseX=0;this.mouseY=0;this.type="mouse";this.init()}FluidbookTooltip.prototype={init:function(){var $this=this;$(window).on("mousemove",function(e){if($this.type==="keyboard"){$this.type="mouse";$this.hideTooltip()}$this.updateMousePosition(e)});$(window).on("fluidbookzoom",function(e,zoom){$("#tooltip").transform({scale:1/zoom}).css({marginTop:20/zoom,marginLeft:-10/zoom})});$(document).on(this.fluidbook.input.hoverEvent,"a[data-tooltip]",function(e){$this.type="mouse";$this.updateMousePosition(e);$this.eventTriggered(this)});$(document).on("focus","a[data-tooltip],a[data-keyboard-tooltip]",function(e){if($("body").hasClass("keyboard-navigating")){$this.type="keyboard";var rect=this.getBoundingClientRect();$this.updateMousePosition({pageX:rect.x+rect.width/2,pageY:rect.y+rect.height/2});$this.eventTriggered(this)}});$(document).on("blur","a[data-tooltip],a[data-keyboard-tooltip]",function(e){$this.hideTooltip()});$(document).on(this.fluidbook.input.clickEvent,"[data-tooltip-hide-on-click]",function(){$this.hideTooltip()});$("body").append('<div id="tooltip" role="tooltip"></div>')},updateMousePosition:function(e){this.mouseX=e.pageX;this.mouseY=e.pageY;if($("#tooltip").is(":visible")){this.updateTooltipPosition()}},updateTooltipPosition:function(){var y="s";if(this.mouseY<this.fluidbook.resize.hh/2){y="n"}var x="e";if(this.mouseX<this.fluidbook.resize.ww/2){x="w"}var w=$("#tooltip").outerWidth();var h=$("#tooltip").outerHeight();if(y=="n"){offsetY=40}else{offsetY=-1*(h+16)}if(x=="w"){offsetX=-26}else{offsetX=26-w}var top=this.mouseY+offsetY;var left=this.mouseX+offsetX;var maxx=this.fluidbook.resize.ww-w;var maxy=this.fluidbook.resize.hh-h;$("#tooltip").attr("data-pos-x",x).attr("data-pos-y",y).css({top:Math.max(1,Math.min(top,maxy)),left:Math.max(1,Math.min(left,maxx))})},eventTriggered:function(target){if($(target).is("[data-tooltip-ignore]")){return true}if(fluidbook.input.isUsingTouch()&&!$(target).is("[data-tooltip-touch]")){return true}if(this.fluidbook.help.isVisible()){return true}var $this=this;var text="";var css={};if($(target).is("[data-tooltip-background]")){css.backgroundColor=$(target).data("tooltip-background")}if($(target).is("[data-tooltip-color]")){css.color=$(target).data("tooltip-color")}if($(target).is("[data-tooltip]")){text=$(target).attr("data-tooltip")}else if($(target).is("[data-keyboard-tooltip]")){text=$(target).attr("data-keyboard-tooltip")}var conditionnalText=false;if($(target).is("[data-tooltip-conditional]")){$.each($(target).data("tooltip-conditional"),function(condition,ctext){if($(target).is(condition)){text="~"+ctext;conditionnalText=true;return false}})}
1text=$("<textarea />").html(text).text();if(text.substr(0,1)=="~"){var text=$this.fluidbook.l10n.__(text.substring(1));if(!conditionnalText){$(target).attr("data-tooltip",text)}}if(text==undefined||text==""){return false}if(fluidbook.input.isUsingTouch()){$(document).one("touchstart",function(){$this.hideTooltip()})}else{$(target).one("mouseout",function(){$this.hideTooltip()})}this.displayTooltip(text,undefined,css);return false},displayTooltip:function(text,style,css){if(text==="-"){return this.hideTooltip()}if($(".fixedTooltip:visible").length>0){return}if(css===undefined){css={}}var t=$("#tooltip");if(style==undefined){style=""}t.attr("data-style",style);var tooltipMaxWidth=Math.max(250,this.fluidbook.settings.linkTooltipMaxWidth);css.maxWidth=tooltipMaxWidth;if(Modernizr.cssvars){if(css.backgroundColor){t.get(0).style.setProperty("--background-color",css.backgroundColor)}else{css.backgroundColor="";t.get(0).style.setProperty("--background-color",null)}}if(css.color){}else{css.color=""}t.css(css).html(text).show();var nbchars=t.text().length;var maxWidth=Math.min(this.fluidbook.resize.ww,Math.max(tooltipMaxWidth,Math.min(750,nbchars*1.2)));for(var w=250;w<=maxWidth;w+=25){if(t.height()*1.5>t.width()){t.css("maxWidth",w)}else{break}}if(t.outerHeight()>this.fluidbook.resize.hh/1.4){t.hide();this.fluidbook.menu.__openView("text",text,function(){});return false}this.updateTooltipPosition();return true},hideTooltip:function(){$("#tooltip").hide().text("")},showFixedTooltip:function(e,posX,posY,css){this.hideTooltip();$(e).attr("data-pos-x",posX).attr("data-pos-y",posY).css(css).show();$(document).one(this.fluidbook.input.clickEvent,"*",function(){$(e).hide()})}};function FluidbookBookmarks(fluidbook){this.fluidbook=fluidbook;this.enabled=false;this.bookmarks=[];this._pagesToGroup=[];this._groupNames=[];this._groups=0;this._groupOrder=[];this._txtAdd=this.fluidbook.l10n.translate("add a bookmark",false);this._txtRemove=this.fluidbook.l10n.translate("remove the bookmark",false);this._labelRemove=this.fluidbook.l10n.translate("remove the bookmark on page %s",false);this._labelAdd=this.fluidbook.l10n.translate("add a bookmark on page %s",false);this._cornersIndex=[];this._cornersPages=[];this.enabled=this.fluidbook.settings.bookmark;this.init()}FluidbookBookmarks.prototype={init:function(){var $this=this;$(document).on(this.fluidbook.input.clickEvent,".bookmark",function(){$this.toggleBookmark(parseInt($(this).attr("data-page")));$this.fluidbook.tooltip.hideTooltip();return false});$(document).on(this.fluidbook.input.clickEvent,".bookmarkssub a.send",function(){var subject="%title%";if($this.fluidbook.settings.bookmark_email_title!==""){subject=$this.fluidbook.settings.bookmark_email_title}var body=$this.fluidbook.l10n.__('Please see the attached files from "%title%".');if($this.fluidbook.settings.bookmark_email_body!==""){body=$this.fluidbook.settings.bookmark_email_body}if(body.indexOf("%link%")===-1){body+=$this.fluidbook.l10n.__(": ")+"%link%"}subject=subject.replace(/\%title\%/gi,$this.fluidbook.settings.title);body=trim(body.replace(/\%title\%/gi,$this.fluidbook.settings.title)," .:");body=body.replace(/\%link\%/gi,$this.getPDF());$this.fluidbook.share.intentShare(subject,body);return false});$(document).on(this.fluidbook.input.clickEvent,".bookmarkssub a.empty",function(){$.confirm({backgroundDismiss:true,title:$this.fluidbook.l10n.__("empty bookmarks"),content:$this.fluidbook.l10n.__("are you sure you want to delete all the bookmarks ?"),buttons:{confirm:{text:$this.fluidbook.l10n.__("confirm"),btnClass:"btn-ok",action:function(){$this.removeAllBookmarks()}},cancel:{text:$this.fluidbook.l10n.__("Cancel"),action:function(){}}}});return false});$(document).on(this.fluidbook.input.clickEvent,".bookmarkssub a.download,.bookmarkssub a.print",function(){$(this).data("ios-preview","1");if(!navigator.onLine&&$this.fluidbook.settings.phonegap){$this.fluidbook.alertInternetRequired();return false}var print=$(this).hasClass("print");if($this.fluidbook.settings.bookmarkFunctionsMainMenu){$this.fluidbook.menu.openView(print?"print":"download","","",function(){$("#bookmarkedPages").prop("checked",true)})}else{$this.openPDF($(this),print)}return false});for(var g in this.fluidbook.settings.bookmarkGroups){var group=this.fluidbook.settings.bookmarkGroups[g];this.addGroup(group.page,group.nb,group.name)}this.completeGroups();this._groupOrder.sort($.proxy(this.sortGroup,this));this.bookmarks=this.getSavedBookmarks();for(var i in this.bookmarks){this.addBookmark(this.bookmarks[i],true)}this.fluidbook.keyboard.initBookmarksShortcuts()},toggleSide:function(side){var b=$("a.bookmark."+side);if(b.length===0){b=$("a.bookmark")}$(b).click()},sortGroup:function(a,b){var p_a=this.getPagesOfGroup(a)[0];var p_b=this.getPagesOfGroup(b)[0];return p_a-p_b},sortnumeric:function(a,b){return a-b},openPDF:function(element,print){print=print||false;this.fluidbook._openFile(this.getPDF(),element,"pdf",this.getBookmarksCompacted()+".pdf",print)},getPDF:function(){return this.fluidbook.service.getBaseURL(true)+"e/"+this.fluidbook.settings.cid+"/"+this.getBookmarksCompacted()},getBookmarksCompacted:function(){this.bookmarks.sort(this.sortnumeric);var g=[];var rs=0;var re=0;for(var i=0;i<this.bookmarks.length;i++){var b=this.bookmarks[i];if(b>this.fluidbook.contentlock.getMaxPage()){continue}if(rs===0){rs=re=b;continue}if(re+1===b){re=b;continue}if(rs===re){g.push(""+rs)}else{g.push(rs+"-"+re)}rs=re=b}if(rs!==0){if(rs===re){g.push(""+rs)}else{g.push(rs+"-"+re)}}return g.join(",")},addGroup:function(from,nb,name){var to=Math.min(from+(nb-1),this.fluidbook.settings.pages);for(var i=from;i<=to;i++){this._pagesToGroup[i]=this._groups}this._groupNames[this._groups]=name;this._groupOrder.push(this._groups);this._groups++},completeGroups:function(){for(var i=1;i<=this.fluidbook.settings.pages;i++){if(this._pagesToGroup[i]===undefined||this._pagesToGroup[i]===null){this._pagesToGroup[i]=this._groups;this._groupOrder.push(this._groups);this._groups++}}},getPreviousGroup:function(group){var o=this.getOrderGroup(group);if(o===-1){return false}o--;return this._groupOrder[o]},getNextGroup:function(group){var o=this.getOrderGroup(group);if(o===-1){return false}o++;return this._groupOrder[o]},getOrderGroup:function(group){return this._groupOrder.indexOf(group)},getGroupName:function(groupId){var res="";if(this._groupNames[groupId]!==undefined){res=this._groupNames[groupId]}if(res===""){var pages=this.getPagesOfGroup(groupId);res=this.fluidbook.physicalToVirtual(pages[0]);if(pages.length===1){return res}res+=" - "+this.fluidbook.physicalToVirtual(pages[pages.length-1])}return res},getPagesOfGroup:function(groupId){var res=[];for(var i=1;i<=this.fluidbook.settings.pages;i++){if(this._pagesToGroup[i]===groupId){res.push(i)}}return res},getPagesNumberInGroup:function(groupId){return this.getPagesOfGroup(groupId).length},getBookmarkedGroups:function(onlyBookmarked){if(onlyBookmarked===undefined){onlyBookmarked=true}var res=[];var nb;var groupId;for(var i=1;i<=this.fluidbook.contentlock.getMaxPage();){if(this.isBookmarked(i)||!onlyBookmarked){groupId=this.getGroupOfPage(i);nb=this.getPagesNumberInGroup(groupId);res.push({page:i,nb:nb,name:this.getGroupName(groupId)});i+=nb;continue}i++}return res},getOrderedGroups:function(){return this.getBookmarkedGroups(false)},getGroupOfPage:function(page){return this._pagesToGroup[page]},getNextPageInGroupOfPage:function(page){var group=this.getLinkedPages(page);var index=group.indexOf(page);if(index===group.length-1){return false}return group[index+1]},getPreviousPageInGroupOfPage:function(page){var group=this.getLinkedPages(page);var index=group.indexOf(page);if(index===0){return false}return group[index-1]},getNextGroupCover:function(page){var group=this.getGroupOfPage(page);group=this.getNextGroup(group);if(group===false){return false}return this.getCoverOfGroup(group)},getPreviousGroupCover:function(page){var group=this.getGroupOfPage(page);group=this.getPreviousGroup(group);if(group===false){return false}return this.getCoverOfGroup(group)},getCoverOfGroup:function(group){var pages=this.getPagesOfGroup(group);if(pages.length){return pages[0]}return false},hasNextPageInGroup:function(page){var group=this.getGroupOfPage(page);var pages=this.getPagesOfGroup(group);var i=pages.indexOf(page);if(i===pages.length-1){return false}return true},getLinkedPages:function(page){var group=this.getGroupOfPage(page);if(group===-1||isNaN(group)){return[]}return this.getPagesOfGroup(group)},addBookmark:function(page,cornersOnly){if(!this.areBookmarksAllowedOn(page)){return}
1if(cornersOnly===undefined){cornersOnly=false}var pages=this.getLinkedPages(page);var page;for(i in pages){page=pages[i];if(!cornersOnly){this.bookmarks.push(page)}}if(!cornersOnly){this.updateBookmarks();if(pages.length>0){this.fluidbook.stats.track(4,pages[0])}}},setCornersEnabled:function(page,enabled){var bookmarks=$('.bookmark[data-page="'+page+'"]');if(enabled){$(bookmarks).attr("data-enabled","enabled").attr("data-tooltip",this._txtRemove)}else{$(bookmarks).attr("data-enabled",null).attr("data-tooltip",this._txtAdd)}},disableCorners:function(){$(".bookmark").attr("data-enabled",null).attr("data-tooltip",this._txtAdd)},toggleBookmark:function(page){if(!this.areBookmarksAllowedOn(page)){return}var pages=this.getLinkedPages(page);var add=false;for(var i in pages){var p=pages[i];if(this.bookmarks.indexOf(p)>-1){add=true;break}}if(add){this.removeBookmark(page)}else{this.addBookmark(page)}},removeAllBookmarks(){this.bookmarks=[];this.updateBookmarks()},removeBookmark:function(page){var pages=this.getLinkedPages(page);for(var i in pages){this.bookmarks=arrayRemove(this.bookmarks,pages[i])}this.updateBookmarks()},updateBookmarks:function(){this.saveBookmarks();var $this=this;this.disableCorners();$.each(this.bookmarks,function(k,v){$this.setCornersEnabled(v,true)})},saveBookmarks:function(){this.fluidbook.cache.set("bookmarks",this.bookmarks)},getSavedBookmarks:function(){var res=[];if(this.fluidbook.cache.isset("bookmarks")){res=this.fluidbook.cache.get("bookmarks");if(res===undefined||res===null||res==="undefined"||res==="null"||res===""){res=[]}}return res},isBookmarked:function(page){return this.areBookmarksAllowedOn(page)&&this.bookmarks.indexOf(page)>-1},areBookmarksAllowedOn:function(pageNr){if(pageNr===0||pageNr>this.fluidbook.settings.pages){return false}return this.fluidbook.settings.bookmarkDisablePages.indexOf(pageNr)===-1},getBookmarkForPage:function(pageNr,allwaysAtRight,permanentIcon){if(!this.areBookmarksAllowedOn(pageNr)){return""}if(permanentIcon===undefined){permanentIcon=false}if(allwaysAtRight===undefined){allwaysAtRight=false}var bookmarks="";var side;if(allwaysAtRight){side=this.fluidbook.l10n.dir==="ltr"?"right":"left"}else{side=pageNr%2===0?"left":"right";if(this.fluidbook.l10n.dir==="rtl"){side=side==="left"?"right":"left"}}if(side==="left"&&pageNr===0){return""}if(permanentIcon){side+=" permanent"}var shortcut="Control+Alt+D";if(side==="left"){shortcut="Control+Shift+D"}var virtual=this.fluidbook.physicalToVirtual(pageNr);bookmarks+='<a href="#" class="bookmark '+side+'" data-page="'+pageNr+'"';bookmarks+=' aria-keyshortcuts="'+shortcut+'" role="button"';if(this.isBookmarked(pageNr)){bookmarks+=' data-enabled="enabled"';bookmarks+=' data-tooltip="'+this._txtRemove+'"';bookmarks+=' aria-label="'+sprintf(this._labelRemove,virtual)+'"'}else{bookmarks+=' data-tooltip="'+this._txtAdd+'"';bookmarks+=' aria-label="'+sprintf(this._labelAdd,virtual)+'"'}bookmarks+=">"+getSpriteIcon("bookmark-corner")+"</a>";return bookmarks},getView:function(title,downloadLabel){var c=this.getIndex(false,false,downloadLabel);if(c===false){return c}if(title===""){title=this.fluidbook.l10n.__("bookmarks")}var index='<div class="bookmarkssub">';index+=this.fluidbook.menu.getCaption(title);index+=c;index+="</div>";return index},hasBookmarkedPages:function(all){if(all===undefined){all=false}if(all===false){groups=this.getBookmarkedGroups()}else{groups=this.getOrderedGroups()}if(groups.length===0){return false}return true},getIndex:function(all,onlyGroup,downloadLabel){if(all===undefined){all=false}var groups;if(all===false){groups=this.getBookmarkedGroups()}else{groups=this.getOrderedGroups()}if(groups.length===0&&this.fluidbook.settings.bookmarkView!=="large"){return false}if(downloadLabel===""){downloadLabel=this.fluidbook.l10n.__("download")}var printLabel=this.fluidbook.l10n.__("print");var contentClass="content";if(this.fluidbook.mobilefirst.enabled){contentClass+=" noscroll mobilefirst"}var index='<div class="'+contentClass+'"><div class="indexView bookmarkView" data-size="'+this.fluidbook.settings.bookmarkView+'">';if(this.fluidbook.settings.bookmarkView==="small"){index+=this.getSmallView(onlyGroup,groups)}else if(this.fluidbook.settings.bookmarkView==="large"){var $this=this;$(document).on("change","[name=bookmarkDisplay]",function(){var v=$(this).val();if(v==="bookmarked"){if(all===false){groups=$this.getBookmarkedGroups()}else{groups=$this.getOrderedGroups()}
1$("#bookmarksHolder").html($this.getSmallView(onlyGroup,groups))}else{$("#bookmarksHolder").html($this.fluidbook.menu.index.getPages())}});index+='<div id="bookmarkDisplayOptions" role="radiogroup">';index+='<div class="radio-option"><input id="bookmarkDisplay-all" type="radio" name="bookmarkDisplay" value="all" checked /><label for="bookmarkDisplay-all">'+this.fluidbook.l10n.__("show all the pages")+"</label></div>";index+='<div class="radio-option"><input id="bookmarkDisplay-bookmarked" type="radio" name="bookmarkDisplay" value="bookmarked" /><label for="bookmarkDisplay-bookmarked">'+this.fluidbook.l10n.__("show bookmarked pages")+"</label></div>";index+="</div>";index+='<div id="bookmarksHolder">';index+=this.fluidbook.menu.index.getPages();index+="</div>"}index+="</div></div>";index+='<div class="fonctions">';if(this.fluidbook.settings.bookmarkEmpty){index+='<a role="button" aria-label="'+this.fluidbook.l10n.__("empty bookmarks")+'" class="empty noborder icon" href="#">'+getSpriteIcon("icon-trashbin")+this.fluidbook.l10n.__("empty bookmarks")+"</a>"}if(this.fluidbook.settings.friend&&this.fluidbook.settings.bookmarkSendEnable){index+='<a role="button" aria-label="'+this.fluidbook.l10n.__("send")+'" class="send" href="#">'+this.fluidbook.l10n.__("send")+"</a>"}if(this.fluidbook.settings.print&&this.fluidbook.settings.bookmarkPrint){index+='<a role="button" aria-label="'+printLabel+'" class="print" href="#">'+printLabel+"</a>"}if(this.fluidbook.settings.pdf){index+='<a role="button" aria-label="'+downloadLabel+'" class="download" href="#">'+downloadLabel+"</a>"}index+="</div>";return index},getSmallView:function(onlyGroup,groups){var index='<div class="indexViewHolder small">';if(onlyGroup===undefined||!onlyGroup){for(var g=0;g<groups.length;g++){var group=groups[g];var pages=[];for(var i=0;i<group.nb;i++){pages.push(group.page+i)}var dim=this.fluidbook.menu.index.getThumbDimensions(group.page);index+='<div class="doubleThumb simple left"'+dim.doublethumb+' page="'+group.page+'" data-pages="'+pages.join(",")+'">';index+=this.fluidbook.menu.index._thumb(group.page,"left",this.fluidbook.mobilefirst.enabled?undefined:100,group.name);if(this.fluidbook.bookmarks.enabled){index+=this.fluidbook.bookmarks.getBookmarkForPage(group.page,true,true)}index+="</div></div>"}}else{var group=groups[this.getGroupOfPage(onlyGroup)];var pages=[];for(var i=0;i<group.nb;i++){pages.push(group.page+i)}for(i in pages){var p=pages[i];var dim=this.fluidbook.menu.index.getThumbDimensions(p);index+='<div class="doubleThumb simple left"'+dim.doublethumb+' page="'+p+'" data-pages="'+p+'">';index+=this.fluidbook.menu.index._thumb(p,"left",this.fluidbook.mobilefirst.enabled?undefined:100);if(this.fluidbook.bookmarks.enabled){index+=this.fluidbook.bookmarks.getBookmarkForPage(p,true,true)}index+="</div></div>"}}index+="</div>";return index},getPrintPreview:function(){if(!this.hasBookmarkedPages()){return'<div class="thumb '+(this.fluidbook.l10n.ltr?"left":"right")+' blank"><div class="blank-mask"></div></div>'}var maxImages=3,count=0,html="",groups=this.getBookmarkedGroups();html+='<div class="bookmark-thumbnails">';for(var g=0;g<groups.length;g++){count++;var group=groups[g];html+='<div class="thumb">'+this.fluidbook.loader.getThumbImage(group.page);if(this.fluidbook.bookmarks.enabled){html+=this.fluidbook.bookmarks.getBookmarkForPage(group.page,true,true)}html+="</div>";if(count>=maxImages){break}}html+="</div>";return html}};function FluidbookBackground(fluidbook){this.fluidbook=fluidbook;this.hasLinks=false;this.dynamicBackgroundColor={};this.init()}FluidbookBackground.prototype={init:function(){if(this.fluidbook.settings.links.background!==undefined&&(this.fluidbook.settings.repeat!==Fluidbook.REPEAT||this.fluidbook.tabs.hasTabs())&&this.fluidbook.settings.links.background!==""&&this.fluidbook.settings.mobileIgnoreBackgroundLinks===false){$("#background").prepend('<div class="links">'+this.fluidbook.loader.handleExtension(this.fluidbook.settings.links.background)+"</div>");this.hasLinks=true}if(Object.keys(this.fluidbook.settings.dynamicBackgroundColor).length>0){var $this=this;$(this.fluidbook).on("fluidbook.page.change.start",function(e,page){try{var s=$this.fluidbook.settings.dynamicBackgroun
1dColor[page];var back=s[0];var arrows="";if(s.length>1){arrows=s[1]}}catch(e){back=null;arrows=""}var style;if(back===undefined||back===null||back===""||back==="-"){style=""}else{style="background-image:none !important;background-color:"+back+" !important;"}$("#background").attr("style",style);$("#prev-arrows,#next-arrows,#menuOpener,.audio-description-button,#horizontalNav #iconList a .svg-icon, #horizontalNav #iconList a span").css("color",arrows)})}},resize:function(w,h){if(!this.hasLinks){return}if(this.fluidbook.tabs.hasTabs()){return}var left,top,iw,ih;if(this.fluidbook.settings.backgroundImageDimensions===undefined){}else if(this.fluidbook.settings.repeat===Fluidbook.NONE){iw=this.fluidbook.settings.backgroundImageDimensions.width;ih=this.fluidbook.settings.backgroundImageDimensions.height;if(this.fluidbook.settings.backgroundHAlign===Fluidbook.LEFT){left=0}else if(this.fluidbook.settings.backgroundHAlign===Fluidbook.RIGHT){left=w-iw}else if(this.fluidbook.settings.backgroundHAlign===Fluidbook.CENTER){left=(w-iw)/2}if(this.fluidbook.settings.backgroundVAlign===Fluidbook.TOP){top=0}else if(this.fluidbook.settings.backgroundVAlign===Fluidbook.BOTTOM){top=h-ih}else if(this.fluidbook.settings.backgroundVAlign===Fluidbook.MIDDLE){top=(h-ih)/2}$("#background .links").css({top:top,left:left})}else if(this.fluidbook.settings.repeat===Fluidbook.RATIO||this.fluidbook.settings.repeat===Fluidbook.STRETCH){var origin=["0%","0%","0%"];origin=["0%","0%","0%"];var bw=parseFloat(this.fluidbook.settings.backgroundImageDimensions.width);var bh=parseFloat(this.fluidbook.settings.backgroundImageDimensions.height);var translateX=0;var translateY=0;var css={};var scaleX=w/bw;var scaleY=h/bh;if(this.fluidbook.settings.repeat===Fluidbook.RATIO){if(scaleX<scaleY){var l=(scaleX-scaleY)*bw;if(this.fluidbook.settings.backgroundHAlign===Fluidbook.CENTER){css.left=l/2}else if(this.fluidbook.settings.backgroundHAlign===Fluidbook.LEFT){css.left=0}}else{css.left=0}scaleX=scaleY=Math.max(scaleX,scaleY)}if($("#background .links .tabslink").length>0){var transform={scaleX:scaleX,scaleY:scaleY,translateX:translateX,translateY:translateY,origin:origin};$("#background .links").transform(transform).css(css)}}}};function FluidbookPad(fluidbook){this.fluidbook=fluidbook;this.enabled=this.fluidbook.settings.mobileNavigationType=="tab";if(this.enabled){this.init()}}FluidbookPad.prototype={init:function(){this.initEvents()},initEvents:function(){var $this=this;$(document).on(this.fluidbook.input.clickEvent,"#down",function(){if($this.fluidbook.help.isVisible()){return}if($(this).hasClass("right")){$this.fluidbook.goNextChapter()}else{$this.fluidbook.goNextChapterPage()}return false})},getTransitionAxis:function(currentPage,nextPage){var linkedPages=this.fluidbook.bookmarks.getLinkedPages(currentPage);if(linkedPages.indexOf(nextPage)==-1){return"x"}return"y"}};function FluidbookAudioDescription(fluidbook){this.fluidbook=fluidbook;this.dataPath="data/audiodescription/";this.container=$("#interface");this.buttonClass="audio-description-button";this.audioSupport=Modernizr.audio;if(this.audioSupport){try{this.audioplayerLeft=new Audio;this.audioplayerRight=new Audio}catch(err){this.audioSupport=false}}this.buttonLeft=$('<a href="#" class="'+this.buttonClass+' left" role="button" aria-keyshortcuts="Ctrl+Shift+LeftArrow">'+getSpriteIcon("audiodescription-on")+getSpriteIcon("audiodescription-off")+"</a>");this.buttonRight=$('<a href="#" class="'+this.buttonClass+' right" role="button" aria-keyshortcuts="Ctrl+Shift+RightArrow">'+getSpriteIcon("audiodescription-on")+getSpriteIcon("audiodescription-off")+"</a>");if(this.audioSupport){this.init()}}FluidbookAudioDescription.prototype={init:function(){this.container.append(this.buttonLeft);this.container.append(this.buttonRight);var $this=this,buttons=$("."+this.buttonClass);buttons.attr("data-tooltip",this.fluidbook.l10n.__("listen to the page"));buttons.attr("aria-label",this.fluidbook.l10n.__("listen to the page"));buttons.hide();this.audioplayerLeft.addEventListener("ended",this.endPlaying.bind(this,this.audioplayerLeft));this.audioplayerRight.addEventListener("ended",this.endPlaying.bind(this,this.audioplayerRight));$(document).on(this.fluidbook.input.clickEvent,"."+this.buttonClass,function(e){var player,button;if($(this).hasClass("right")){player=$this.audioplayerRight;button=$($this.buttonRight)}else{player=$this.audioplayerLeft;button=$($this.buttonLeft)}if($(this).hasClass("playing")){$this.pauseAllPlayers();return false}$this.pauseAllPlayers();button.addClass("playing");player.play();e.preventDefault()});this.fluidbook.keyboard.keyShortcut("ctrl+shift+left",this.playSide.bind(this,"left"));this.fluidbook.keyboard.keyShortcut("ctrl+shift+right",this.playSide.bind(this,"right"));this.setupPages()},setupPages:function(){if(!this.audioSupport){return}this.pauseAllPlayers();var pageNumLeft=this.fluidbook.getPhysicalPageNumberOfSide("left",true);var pageNumRight=this.fluidbook.getPhysicalPageNumberOfSide("right",true);if(this.hasAudio(pageNumLeft)){$(this.buttonLeft).show();this.audioplayerLeft.src=this.getAudio(pageNumLeft)}else{$(this.buttonLeft).hide()}if(this.hasAudio(pageNumRight)&&!this.fluidbook.displayOnePage){$(this.buttonRight).show();this.audioplayerRight.src=this.getAudio(pageNumRight)}else{$(this.buttonRight).hide()}},pauseAllPlayers:function(){if(!this.audioSupport){return}this.audioplayerLeft.pause();this.audioplayerRight.pause();$("."+this.buttonClass).removeClass("playing")},endPlaying:function(player){this.pauseAllPlayers();player.currentTime=0},hasAudio:function(page){if(!this.audioSupport){return false}if(this.fluidbook.settings.audiodescription===undefined)return false;return this.fluidbook.settings.audiodescription[page]!==undefined},getAudio:function(page){return this.dataPath+this.fluidbook.settings.audiodescription[page]},playSide:function(side){var targetSelector="."+this.buttonClass+"."+side,pageNum=this.fluidbook.getPageNumberOfSide(side);if(this.hasAudio(pageNum)){$(targetSelector).trigger("click")}}};function FluidbookAudioPlayer(fluidbook){this.fluidbook=fluidbook;this.init()}FluidbookAudioPlayer.prototype={init:function(){var $this=this;$(document).on(this.fluidbook.input.clickEvent,"audio + .visualPlayer",function(){var audio=$(this).prev("audio").get(0);if(audio.paused){audio.play();$(audio).addClass("playing");$(this).addClass("playing")}else{audio.pause();$(audio).removeClass("playing");$(this).removeClass("playing")}return false});requestAnimationFrame(function(){$this.updatePlayers()})},initAudios:function(){var $this=this;$("audio.redbull").each(function(){$this.initRedbullPlayer(this)});$("audio.twostatesicon").each(function(){$this.initTwoStatesIconPlayer(this)})},updatePlayers:function(){var $this=this;$("audio.playing.redbull").each(function(){$this.updateRedbullPlayer(this)});requestAnimationFrame(function(){$this.updatePlayers()})},updateRedbullPlayer:function(player){var paper=$(player).data(paper);var halfw=$(player).data("halfw");var sw=3;paper.clear();var p=Math.max(0,Math.min(1,player.currentTime/player.duration));var arc=paper.path(this.arc([halfw,halfw],halfw-sw,270,270+p*360));arc.attr("stroke",this.fluidbook.settings.audioplayerStrokeColor);arc.attr("stroke-width",sw)},initTwoStatesIconPlayer:function(player){if($(player).find(".icon").length>0){return}var vp=$(player).next(".visualPlayer");if($(player).prop("autoplay")){$(player).addClass("playing");$(vp).addClass("playing")}vp.append('<div class="icon play">
1'+getSpriteIcon("audioplayer-play")+"</div>");vp.append('<div class="icon pause">'+getSpriteIcon("audioplayer-pause")+"</div>")},initRedbullPlayer:function(player){var vp=$(player).next(".visualPlayer");if($(player).prop("autoplay")){$(player).addClass("playing");$(vp).addClass("playing")}vp.append('<div class="back"></div>');vp.append('<div class="icon play">'+getSpriteIcon("audioplayer-play")+"</div>");vp.append('<div class="icon pause">'+getSpriteIcon("audioplayer-pause")+"</div>");vp.append('<div class="arc"></div>');var vpw=60;$(player).data("halfw",vpw/2);$(vp).css("transform","scale("+$(player).outerWidth()/vpw+")");var paper=Raphael(vp.find(".arc").get(0),vpw,vpw);$(player).data(paper)},arc:function(center,radius,startAngle,endAngle){angle=startAngle;coords=this.toCoords(center,radius,angle);path="M "+coords[0]+" "+coords[1];while(angle<=endAngle){coords=this.toCoords(center,radius,angle);path+=" L "+coords[0]+" "+coords[1];angle+=1}return path},toCoords:function(center,radius,angle){var radians=angle/180*Math.PI;var x=center[0]+Math.cos(radians)*radius;var y=center[1]+Math.sin(radians)*radius;return[x,y]}};function FluidbookAccessibility(fluidbook){this.fluidbook=fluidbook;this.init()}FluidbookAccessibility.prototype={init:function(){var $this=this;this.audiodescription=new FluidbookAudioDescription(this.fluidbook);$(this.fluidbook).on("fluidbook.page.change.end",function(e,data){$this.endChangePage(data)});$(this.fluidbook).on("fluidbook.splash.hide",function(){$("body").attr("aria-hidden","false");setTimeout(function(){$(this.fluidbook).trigger("fluidbook.splash.hide")},2500)})},endChangePage:function(page){this.audiodescription.setupPages();this.updateTexts()},updateTexts:function(){var $this=this;var texts=[];$.each(this.fluidbook.getDisplayedPages(),function(k,page){var t=$this.getAccessibleTextOfPage(page);if(t!==false){texts.push(t)}});$("#accessible-contents").html(texts.join(""))},getAccessibleTextOfPage:function(page){if(this.fluidbook.settings.accessibleTexts===undefined||this.fluidbook.settings.accessibleTexts===null){return false}page=parseInt(page);if(this.fluidbook.settings.accessibleTexts[page]===undefined||this.fluidbook.settings.accessibleTexts[page]===null){return false}return'<section data-page="'+page+'">'+this.fluidbook.settings.accessibleTexts[page]+"</section>"}};(function(d){var style_element=d.createElement("STYLE"),dom_events="addEventListener"in d,add_event_listener=function(type,callback){if(dom_events){d.addEventListener(type,callback)}else{d.attachEvent("on"+type,callback)}},set_css=function(css_text){!!style_element.styleSheet?style_element.styleSheet.cssText=css_text:style_element.innerHTML=css_text};d.getElementsByTagName("HEAD")[0].appendChild(style_element);add_event_listener("mousedown",function(){$("body").removeClass("keyboard-navigating");set_css(":focus{outline:0}::-moz-focus-inner{border:0;}")});add_event_listener("keydown",function(e){if(e.keyCode===9||e.keyCode===38||e.keyCode===40){$("body").addClass("keyboard-navigating");fluidbook.input.useKeyboard();set_css("")}})})(document);function FluidbookPrivacy(fluidbook){this.fluidbook=fluidbook;this.storageKey="cookieConsent";if(location.host==="workshop.fluidbook.com"||location.host==="toolbox.fluidbook.com"){this.storageKey="fluidbook."+fluidbook.settings.id+"."+this.storageKey}if(!this.fluidbook.settings.cookieConsent){return}this.init()}FluidbookPrivacy.prototype={init:function(){if(localStorage.getItem(this.storageKey)==="1"){return}var $this=this;$(this.fluidbook).on("fluidbook.splash.hide",function(){$this.displayCookieConsent()})},displayCookieConsent:function(){if($("#cookieConsent").length>0){return}var $this=this;$("body").append('<div id="cookieConsent"><a href="#" class="close"></a><p>'+this.fluidbook.settings.cookieConsentMessage+"</p></div>");if(this.fluidbook.settings.cookieConsentAutoclose>0){setTimeout(function(){$this.close()},this.fluidbook.settings.cookieConsentAutoclose*1e3)}$(document).on("touchend click","#cookieConsent a.close",function(){$this.close();return false})},close:function(){gsap.to($("#cookieConsent"),{duration:.5,autoAlpha:0});localStorage.setItem(this.storageKey,"1")}};function FluidbookZoom(fluidbook){this.fluidbook=fluidbook;this.zoom=0;this.originpct=[.5,.5];this.zoomStep=.7;this.originpx=["0px","0px"];this.initial=this.fluidbook.settings.zoom/100;this.max=this.fluidbook.settings.zoomw/100;this.transition=true;this.enabled=true;this.shadowTimeout;this.hideInterfaceTimeout;this.init()}FluidbookZoom.prototype={init:function(){if(this.fluidbook.mobilefirst.enabled||this.fluidbook.settings.zoom<=100&&this.fluidbook.settings.zoomw<=100){this.disable();return}if(this.fluidbook.settings.zoomClick===false){this.disableZoomCursor()}var $this=this;this.setTransition(true);this.initMouseWheel();$(this.fluidbook).on("fluidbook.lib.ready",function(){if($this.fluidbook.settings.zoomMouseMoveMode){$this.fluidbook.touch.initPan("fluidbook")}});$(document).on(this.fluidbook.input.clickEvent,".icon-zoomin",function(e){if($this.fluidbook.settings.zoomMouseMoveMode!=="dragndrop"){$this.fluidbook.desktop.moveZoom(e,true)}else if($this.zoom===1){$this.fluidbook.zoom.setOriginPct(.5,.5,true)}$this.fluidbook.zoom.zoomInFromMenu();return false});$(document).on(this.fluidbook.input.clickEvent,".icon-zoomout",function(e){$this.fluidbook.zoom.zoomOutFromMenu();return false});$(this.fluidbook).on("fluidbook.zoom.out.end",function(){$("#z").addClass("nozoom")});$("#z").on(this.fluidbook.support.transitionEndEvent,function(){$this.triggerEvent(($this.zoom===1?"out":"in")+".end")});$(this.fluidbook).on("fluidbook.zoom.out.end,fluidbook.zoom.in.end",function(){clearTimeout($this.shadowTimeout);if($this.zoom===1){$("#shadow").removeClass("hidden")}else{$("#shadow").addClass("hidden")}});this.fluidbook.keyboard.initZoomShortcuts()},initMouseWheel:function(){var $this=this;window.addEventListener("wheel",function(e){var returnValue=true;if(e.ctrlKey){e.preventDefault();e.stopPropagation();e.stopImmediatePropagation();returnValue=false}if(!$this.enabled||$this.fluidbook.settings.zoomWheel==="disabled"){return returnValue}if($this.fluidbook.settings.zoomWheel==="ctrlwheel"&&!e.ctrlKey){return returnValue}if($("body").is(".view, .menu-open")){return returnValue}if(e.deltaY<0){$this.fluidbook.desktop.moveZoom(e,true)}$this.wheelZoom(e.deltaY*-1);return returnValue},{passive:false})},wheelZoom:function(delta){var dir;if(delta>0){delta=this.zoomStep;dir=1}else{delta=-1*this.zoomStep;dir=-1}this.setZoom(this.zoom+delta,dir)},increaseZoom:function(){var z;if(this.zoom===1){z=this.initial}else{z=this.max}this.setZoom(z,1,true)},decreaseZoom:function(){var z;if(this.zoom===1){return}else if(this.zoom>this.initial){z=this.initial}else{return this.resetZoom()}this.setZoom(z,-1,true)},move:function(direction,amount){amount=amount===undefined?.1:amount;var dir=0;var mult=1;if(direction==="up"||direction==="down"){dir=1}if(direction==="left"||direction==="up"){mult=-1}this.originpct[dir]=Math.min(1,Math.max(0,this.originpct[dir]+amount*mult));this.setOriginPct(this.originpct[0],this.originpct[1],false,true)},disable:function(){this.disableZoomCursor();this.enabled=false},disableZoomCursor:function(){$("body").addClass("zoom-disabled")},triggerEvent:function(event){var e="fluidbook.zoom."+event;$(this.fluidbook).trigger(e)},setZoom:function(zoom,direction,end){var origZoom=this.zoom;
1if(end===undefined){end=false}if(direction===undefined){if(this.zoom>zoom){direction=-1}else{direction=1}}zoom=Math.max(Math.min(zoom,this.max),1);if(this.fluidbook.menu.viewMode()){zoom=1}if(end){if(direction===1){if(zoom<1.5){zoom=1.5;this.setTransition(true)}}else if(direction===-1){if(zoom<1.5){zoom=1;this.setTransition(true)}}}if(this.zoom===zoom){return}this.zoom=zoom;this.updateZoom();if(origZoom===1&&this.zoom>1){this.fluidbook.stats.track(2,this.fluidbook.currentPage)}},zoomInFromMenu:function(){if(this.zoom===1){this.setZoom(this.fluidbook.settings.zoom/100)}else{this.setZoom(this.zoom+this.zoomStep)}},zoomOutFromMenu:function(){var z=this.zoom-this.zoomStep;if(z<1+this.zoomStep){z=1}this.setZoom(z)},setTransition:function(transition){if(transition==undefined){transition=true}if(transition==false){$("#z").addClass("notransition").removeClass("transition").removeClass("transition-inertia")}else{$("#z").removeClass("notransition").removeClass("transition-inertia")}this.transition=transition},resetZoom:function(callback){if(this.zoom===1){if(callback){callback()}return}this.setOriginPct(.5,.5,true,true);this.setZoom(1,-1);if(callback){setTimeout(function(){callback()},350)}},setOriginPct:function(x,y,force,inertia){if(force==undefined){force=false}if(inertia==undefined){inertia=false}x=Math.min(1,Math.max(0,x));y=Math.min(1,Math.max(0,y));this.originpct=[x,y];if(this.fluidbook.resize!==undefined){this.originpx=[x*this.fluidbook.resize.ww,y*this.fluidbook.resize.hh]}if(!force&&this.fluidbook.zoom.zoom==1){return}else{if(inertia){$("#z").addClass("transition-inertia")}else{$("#z").removeClass("transition-inertia")}$("#z").transform({origin:[this.originpct[0]*100+"%",this.originpct[1]*100+"%"]},{preserve:true})}},setOrigin:function(x,y,force,inertia){if(force===undefined){force=false}if(inertia===undefined){inertia=false}x=Math.max(0,Math.min(x,this.fluidbook.resize.ww));y=Math.max(0,Math.min(y,this.fluidbook.resize.hh));this.originpx=[x,y];if(!force&&this.fluidbook.zoom.zoom===1){return}if(inertia){$("#z").addClass("transition-inertia")}else{$("#z").removeClass("transition-inertia")}$("#z").transform({origin:[this.originpx[0]+"px",this.originpx[1]+"px"]},{preserve:true})},updateZoom:function(){var $this=this;clearTimeout(this.shadowTimeout);if(this.zoom>1){$("#z").removeClass("nozoom")}var animation={scale:[this.zoom,this.zoom]};if(this.desktopScale==1){animation.origin=["50%","50%"]}if(!this.fluidbook.search.resultsNavActive()){var selector="footer,#interface,#links a.bookmark";if(this.fluidbook.settings.hideHeaderOnZoom){selector+=",header"}var hiddenElements=$(selector);if(this.zoom!==1){if(this.fluidbook.help!==undefined){this.fluidbook.help.hide()}$("#shadow").addClass("hidden");$(hiddenElements).addClass("hidden");clearTimeout(this.hideInterfaceTimeout);this.hideInterfaceTimeout=setTimeout(function(){$(hiddenElements).hide()},500)}else{clearTimeout(this.hideInterfaceTimeout);$(hiddenElements).show().removeClass("hidden");this.shadowTimeout=setTimeout(function(){$("#shadow").removeClass("hidden")},250)}}$("#z").transform(animation,{preserve:true});$this.triggerEvent((this.zoom===1?"out":"in")+".start");if(!this.transition){$this.triggerEvent((this.zoom===1?"out":"in")+".end")}if(this.zoom>1){$("body").addClass("zoomed")}else{$("body").removeClass("zoomed")}try{this.fluidbook.loader.renderTextsCanvas()}catch(e){}return true}};function FluidbookMenu(fluidbook){this.fluidbook=fluidbook;this.viewOverlayHideTimeout;this.init()}FluidbookMenu.prototype={init:function(){this.closeEventSent=false;this.index=new FluidbookIndex(this.fluidbook);var $this=this;$(document).on(this.fluidbook.input.clickEvent,".mview .button.back, #viewOverlay",function(e){e.stopImmediatePropagation();e.stopPropagation();e.preventDefault();$this.closeView(function(){},false);return false});if(this.fluidbook.settings.displayChaptersAtStart){$(this.fluidbook).on("fluidbook.splash.hide",function(){$this.openView("chapters","","",function(){})})}},viewMode:function(){return $("#view .mview").length>0},openView:function(view,param1,param2,callback){var $this=this;setTimeout(function(){$this._openView(view,param1,param2,callback)},10)},_openView:function(view,param1,param2,callback){var $this=this;var preload={index:"thumbnails",search:"thumbnails",bookmark:"thumbnails",video:"extras"};
1if(!OFFLINEAPP&&this.fluidbook.gal!=null&&preload[view]!==undefined){this.fluidbook.displayLoader();this.fluidbook.resetWaiters();var w=this.fluidbook.addWaiter(true);this.fluidbook.gal.downloadAndCall(preload[view],function(){if($this.fluidbook.waiterActive(w)){$this.__openView(view,param1,param2,callback)}})}else{this.__openView(view,param1,param2,callback)}},__openView:function(view,param1,param2,callback){var closeMenu=true;try{if(typeof param1==="string"){param1=decodeURIComponent(param1)}}catch(e){}try{if(typeof param2==="string"){param2=decodeURIComponent(param2)}}catch(e){}var $this=this;var camelView=view.charAt(0).toUpperCase()+view.substr(1);var cb=function(){$this.openingView(callback,view)};if(view==="index"){this.openIndex(this.fluidbook.l10n.__("overview"),undefined,true,cb)}else if(view==="video"){this.openVideo(param1,cb)}else if(view==="audio"){this.openAudio(param1,cb)}else if(view==="webvideo"){this.openWebVideo(param1,param2,cb)}else if(view==="multimedia"){this.openMultimedia(param1,cb)}else if(view==="chapters"){if(param1===undefined||param1==="undefined"||param1===null||param1===""){param1="null"}this.openChapters(param1,cb)}else if(view==="archives"){this.openArchives($("#nav #archives").data("tooltip"),cb)}else if(view==="text"){this.openText(param1,cb)}else if(view==="slideshow"){this.openSlideshow(param1,cb)}else if(view==="iframe"){this.openIframe(param1,cb)}else if(view==="freeiframe"){this.openFreeiframe(param1,cb)}else if(view==="search"){closeMenu=false;this.openSearch(param1,cb)}else if(view==="print"){this.openPrint(cb)}else if(view==="download"){this.openDownload(cb)}else if(view==="pdf"){this.openPDF(param1,cb)}else if(view==="article"){this.fluidbook.articles.openArticle(param1,cb)}else{this["open"+camelView](param1,param2,cb)}if(closeMenu){this.fluidbook.nav.closeMenu()}},openNotes:function(p1,p2,cb){this.fluidbook.notes.openMenu(cb)},openSearch:function(q,cb){this.fluidbook.nav.openSearch(q,cb)},openPDF:function(uid,callback){var infos=this.fluidbook.settings.pdfLinks[uid];let c=this.getCaption("","nocaption","nocaption");c+='<div class="content"><div class="pdf-holder"><iframe class="pdf view '+infos.interface+'" data-width="'+infos.width+'" data-height="'+infos.height+'" data-total-height="'+infos.totalHeight+'" frameborder="0" scrolling="no" src="pdfjs/web/viewer.html?&file=../../data/links/'+infos.file+'#zoom=page-width"></iframe></div></div>';this.viewWrap(c,"pdf","","pdf");if(callback!=undefined){callback()}this.fluidbook.displayLoader()},openingView:function(callback,view){var $this=this;this.fluidbook.resize.resizeView();this.fluidbook.tooltip.hideTooltip();var mview=$("#view .mview:last");$("#view").attr("aria-hidden","false");$("#main").attr("aria-hidden","true");if(!Modernizr.ftouch){$(mview).find(".content:not(.noscroll)").perfectScrollbar()}else{$(mview).find(".content:not(.noscroll)").css({overflowY:"auto"})}var from={y:"-200px",opacity:0};var to={y:"0px",opacity:1};if(mview.hasClass("fs")){from.y="0px"}else if(view!=="search"){this.showOverlay()}$(mview).addClass("notransition").css({opacity:from.opacity}).transform({translateY:from.y}).show().removeClass("notransition");setTimeout(function(){$(mview).css({opacity:to.opacity}).transform({translateY:to.y})},20);setTimeout(function(){if(callback!=undefined){callback()}$this.fluidbook.hideLoader();resize()},420)},viewWrap:function(content,menu,attributes,cls,replace,hash){if(attributes===undefined){attributes=""}if(cls===undefined){cls=""}if(hash!==undefined){hash=' data-hash="'+hash+'"'}else{hash=""}var res='<div class="mview '+cls+'"'+hash+' data-menu="'+menu+'" role="dialog" aria-labelledby="mview-dialog-title"'+attributes+">"+content+"</div>";if(replace===true){$("#view").html(res)}else{$("#view").append(res)}},getCaption:function(caption,close,cls){if(cls===undefined){cls=""}if(close===undefined){close=true}if(caption===undefined){caption=""}var res='<div class="caption '+cls+'">';if(close){res+=this.closeButton(close)}if(caption!==""){res+='<h2 id="mview-dialog-title">'+caption+"</h2>"}res+="</div>";return res},openMultimedia:function(multimedia,callback){var $this=this;var hash="#/multimedia/"+multimedia;var a=$('a[href="'+hash+'"]');var markup=decodeURIComponent($(a).attr("data-multimedia"));var view=this.getCaption("",$(a).attr("data-popup-close")===null||$(a).attr("data-popup-close")===undefined||$(a).attr("data-popup-close")==="1");var subLinks="";var hasLinks=false;if($(a).closest("[data-md5]").length>0){let md5=$(a).closest("[data-md5]").data("md5");if(this.fluidbook.settings.links["link_"+md5]!==undefined){subLinks=this.fluidbook.settings.links["link_"+md5]}}if(subLinks===""){let uid=$(a).closest("[data-id]").data("id");if(this.fluidbook.settings.links["link_uid_"+uid]!==undefined){subLinks=this.fluidbook.settings.links["link_uid_"+uid]}}if(subLinks!==""){subLinks='<div class="links">
1'+this.fluidbook.loader.handleExtension(subLinks)+"</div>";hasLinks=true}this.fluidbook.stats.trackEvent($(a).data("stats-type"),"show",$(a).data("stats-name"));view+='<div class="content"><div class="multimediaHolder"><div class="multimediaScale">';view+=markup+subLinks;view+="</div></div></div>";var read=multimedia.indexOf("r_")==0?' data-readmode="1"':"";read+=' dir="ltr"';this.viewWrap(view,"multimedia",read,"",false,hash);if(hasLinks){this.fluidbook.links.doAnimateLinks($("#view"),500);this.fluidbook.links.replaceVariableInTextLinks();setTimeout(function(){$this.fluidbook.links.initAnimatedContentsLinks($("#view"))},250)}if(callback!=undefined){callback()}},openFreeiframe:function(url,callback){var markup='<div class="iframeContainer" data-type="free">';markup+='<iframe src="'+url+'" width="100%" height="100%" frameborder="0" marginwidth="0" marginheight="0" scrolling="auto" allowfullscreen mozallowfullscreen="true" webkitallowfullscreen="true" onmousewheel=""></iframe>';markup+="</div>";this._openiframe(markup,"",callback)},_openiframe:function(markup,maxWidth,callback,hash){var $this=this;var view=this.getCaption();view+='<div class="content noscroll"><div class="iframeHolder">';view+=markup;view+="</div></div>";this.viewWrap(view,"iframe",maxWidth+' dir="ltr" data-hash="#/iframe"',"",false,hash);if(callback!=undefined){callback()}var t=$("#view .iframeContainer").data("type");$("#view").find(".iframeHolder,.content,.mview").attr("data-type",t);$("#view .iframeContainer iframe").on("load",function(){try{var doc=getIframeDocument(this);doc.body.style.maxWidth="100%";doc.body.style.overflow="auto"}catch(e){}$this.resize()})},openIframe:function(iframe,callback){var hash="#/iframe/"+iframe;var href=hash;var a=$('a[href="'+href+'"]');if($(a).length===0){a=this.fluidbook.links.getLinkByHref(href)}var markup=decodeURIComponent($(a).attr("data-iframe"));var maxWidth="";if($(a).data("max-width")){maxWidth=' data-max-width="'+$(a).data("max-width")+'"'}this._openiframe(markup,maxWidth,callback,hash)},openVideo:function(video,callback){var hash="#/video/"+video;var a=$('a[href="'+hash+'"]');var markup=decodeURIComponent($(a).attr("data-video"));var view=this.getCaption();view+='<div class="content">';view+=markup;view+="</div>";this.viewWrap(view,"video","","",false,hash);this.fluidbook.initVideos();var $this=this;var times=[250,500,750,1e3,1250];$.each(times,function(k,v){setTimeout(function(){$('[data-menu="video"] .video-js').each(function(){if($(this).parent().data("autoplay")==1){videojs.players[$(this).attr("id")].play()}});$this.resize()},v)});if(callback!=undefined){callback()}this.fluidbook.hideLoader(5)},openSlideshow:function(slideshow,callback){var markup,hash;hash="#/slideshow/"+slideshow;var a=$('a[href="'+hash+'"]');markup=decodeURIComponent($(a).attr("data-slideshow"));var view=this.getCaption();view+='<div class="content">';view+=markup;view+="</div>";this.viewWrap(view,"slideshow","","",false,hash);this.fluidbook.slideshow.initPopupSlideshow($(".mview:last .fb-slideshow:eq(0)"));if(callback!=undefined){callback()}this.fluidbook.hideLoader(5)},closeButton:function(c){if(c==undefined||c===true){c=""}else{c=" "+c}return'<a href="#/closeview" role="button" aria-label="'+this.fluidbook.l10n.__("close")+'" aria-keyshortcuts="Escape" class="button back'+c+'">'+getSpriteIcon("interface-close")+"</a>"},openAudio:function(audio,callback){var hash="#/audio/"+audio;var a=$('a[href="'+hash+'"]');var markup=decodeURIComponent($(a).attr("data-audio"));var view=this.getCaption();view+='<div class="content noscroll">';view+=markup;view+="</div>";this.viewWrap(view,"audio","","",false,hash);var $this=this;var times=[250,500,750,1e3,1250];$.each(times,function(k,v){setTimeout(function(){$this.resize()},v)});if(callback!=undefined){callback()}},openWebVideo:function(service,video,callback){var hash="#/webvideo/"+service+"/"+video;var a=$('a[href="'+hash+'"]');var markup=decodeURIComponent($(a).attr("data-video"));var view=this.getCaption();view+='<div class="content noscroll">';view+=markup;view+="</div>";this.viewWrap(view,"webvideo","","",false,hash);this.fluidbook.initVideos();if(callback!=undefined){callback()}},openLocales:function(p1,p2,callback){var view=this.getCaption("Select language");view+='<div class="content">';view+='<ul class="chapters localesList">';var $this=this;Object.keys(this.fluidbook.l10n.multilang).forEach(function(langCode){var v=this.fluidbook.l10n.multilang[langCode];var url=v.url;var name=$this.fluidbook.l10n.getLanguageName(langCode);var c="";if($this.fluidbook.settings.phonegap){view+='<li data-level="0"><a href="#" data-id="'+url+'" data-locale="'+v.lang+'" class="level0 appswitchlocale"><img src="images/flags/'+v.flag+'.png" alt="'+name+'" /><span dir="'+$this.fluidbook.l10n.getLanguageDirection(langCode)+'">'+name+"</span></a></li>"}else{view+='<li data-level="0"><a href="'+url+'" class="level0"><img src="images/flags/'+v.flag+'.png" alt="'+name+'" /><span dir="'+$this.fluidbook.l10n.getLanguageDirection(langCode)+'">'+name+"</span></a></li>"}});view+="</ul>";view+="</div>";this.viewWrap(view,"locales",[],"",false,"#/locales");if(callback!=undefined){callback()}},openCart:function(p1,p2,callback){this.fluidbook.cart.instance.openMenu(p1,p2,callback)},openShare:function(p1,p2,callback){this.fluidbook.share.openShare(p1,p2,callback)},openBookmarkHelp:function(p1,p2,callback){var message=__("you don't have any bookmark. to add a bookmark, please click on the icon in the page corner");var view="<div>"+this.getCaption();view+="</div>";view+='<div class="content">';view+="<p>"+message+"</p>";view+='<div class="visual">';if(this.fluidbook.mobilefirst.enabled){var dim=this.fluidbook.loader.getPageDimensions(2,147);var h=' style="height:'+dim.height+'px;"';view+='<div class="doubleThumb"'+h+'><div class="thumb right"'+h+">"+this.fluidbook.loader.getThumbImage(2,true)+'<div class="circle"></div><a href="#" class="bookmark right" data-enabled="enabled">'+getSpriteIcon("bookmark-corner")+"</a></div></div>"}else{var p1=this.fluidbook.loader.getThumbImage(this.fluidbook.l10n.ltr?2:3,true);var p2=this.fluidbook.loader.getThumbImage(this.fluidbook.l10n.ltr?3:2,true);view+='<div class="doubleThumb"><div class="thumb left">'+p1+'<div class="circle"></div><a href="#" class="bookmark left" data-enabled="enabled">'+getSpriteIcon("bookmark-corner")+'</a></div><div class="thumb right">'+p2+'<div class="circle"></div><a href="#" class="bookmark right" data-enabled="enabled">'+getSpriteIcon("bookmark-corner")+"</a></div></div>"}view+="</div>";view+="";view+="</div>";view+="</div>";this.viewWrap(view,"bookmarks-help");if(callback!=undefined){callback()}},openBookmark:function(p1,p2,callback){if(!this.fluidbook.bookmarks.hasBookmarkedPages()&&this.fluidbook.settings.bookmarkView!=="large"){return this.openBookmarkHelp(p1,p2,callback)}var title="";var downloadLabel="";try{title=p1.title}catch(e){}try{downloadLabel=p1.downloadLabel}catch(e){}if(title===undefined){title=""}if(downloadLabel===undefined){downloadLabel=""}this.viewWrap(this.fluidbook.bookmarks.getView(title,downloadLabel),"bookmarks");if(callback!==undefined){$('[role="radiogroup"]').AriaRadio();callback()}}
1,openChapters:function(submenu,callback){if(this.fluidbook.settings.externalChaptersHTML!=""){this.openExternalChapters(callback);return}if(this.fluidbook.chapters==undefined){this.fluidbook.chapters=new FluidbookChapters(this.fluidbook,this.fluidbook.settings.chapters)}if(submenu==undefined){submenu="null"}var v=this.fluidbook.chapters.getView(submenu);var menuId="mview-chapters-"+v.sub;var c="";if(this.fluidbook.settings.chaptersCaptionDisplay===false){c+=" h0"}var view=this.getCaption(this.fluidbook.settings.chaptersCaptionDisplay?v.title:"",true,c);view+='<div class="content">';view+=v.view;view+="</div>";var color="";if(v.color!="default"){color=" c_"+v.color}this.viewWrap(view,"chapters",'id="'+menuId+'"',color);this.fluidbook.chapters.removeItemsAfterMaxPage();if(callback!=undefined){callback()}this.fluidbook.stats.track(14)},openExternalChapters:function(callback){var view=this.getCaption();view+='<div class="content"><div class="multimediaHolder"><div class="multimediaScale">';view+='<iframe data-width="'+this.fluidbook.settings.externalChaptersSize.width+'" data-height="'+this.fluidbook.settings.externalChaptersSize.height+'" width="'+this.fluidbook.settings.externalChaptersSize.width+'" height="'+this.fluidbook.settings.externalChaptersSize.height+'" src="data/chapters/index.html" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" allowfullscreen mozallowfullscreen="true" webkitallowfullscreen="true" onmousewheel=""></iframe>';view+="</div></div></div>";var read=' data-readmode="1"';this.viewWrap(view,"externalchapters",read+' dir="ltr"');if(callback!=undefined){callback()}this.fluidbook.stats.track(14)},openIndex:function(title,group,closeAll,callback){this.index.openIndex(title,group,closeAll,callback)},openArchives:function(title,callback){var archives=this.getCaption(title,true,title===undefined||title===""?"h0":"");archives+='<div class="content"><div class="image" id="archivesview"><img src="data/images/'+this.fluidbook.settings.externalArchives+'" /><div class="links">'+this.fluidbook.loader.handleExtension(this.fluidbook.settings.links.archives)+"</div></div></div>";this.viewWrap(archives,"archives","","archives");if(callback!=undefined){callback()}},openText:function(text,callback){var styleMatches=text.match(/\<style\>([^\<]*)<\/style>/);var style="";if(styleMatches!==undefined&&styleMatches!==null&&styleMatches.length>1){style=styleMatches[1].replace(/\s/g,"")}text=text.replace(/\<style\>([^\<]*)<\/style>/g,"");var t=this.getCaption();t+='<div class="content"><div class="text" style="'+style+'">'+text+"</div></div>";this.viewWrap(t,"text");if(callback!=undefined){callback()}},openPrint:function(callback){var printDialogue=this.getCaption(__("print"));printDialogue+=this.fluidbook.printing.getView();this.viewWrap(printDialogue,"print");$('.print-dialogue .print-option:first-of-type input[type="radio"]').prop("checked",true);$('[role="radiogroup"]').AriaRadio();if(callback!=undefined){callback()}},openDownload:function(callback){var downloadDialogue=this.getCaption(__("download"));downloadDialogue+=this.fluidbook.printing.getView("download");this.viewWrap(downloadDialogue,"download");$('.print-dialogue .print-option:first-of-type input[type="radio"]').prop("checked",true);if(callback!=undefined){callback()}},closeViewCallbackEvent:function(all){var $this=this;if(this.closeEventSent){return}this.closeEventSent=true;$(this.fluidbook).trigger("fluidbook.view.close");if(all){$(this.fluidbook).trigger("fluidbook.view.close.all")}setTimeout(function(){$this.closeEventSent=false},1e3)},closeView:function(callback,all,animate){var $this=this;all=all||$("#view .mview").length<=1;var cb;if(callback===undefined){cb=function(){$this.closeViewCallbackEvent(all)}}else{cb=function(){callback();$this.closeViewCallbackEvent(all)}}if(all){var currentHash=window.location.hash;window.location.hash="#/page/"+this.fluidbook.currentPage;if(window.location.hash==currentHash){this._closeView(cb,true,animate)}else{setTimeout(cb,1e3)}}else{this._closeView(cb,all,animate)}},_closeView:function(callback,all,animate){var $this=this;if(all==undefined){all=false}if(animate==undefined){animate=true}all=all||$("#view .mview").length<=1;if(!this.viewMode()){this.hideOverlay();callback();return}var mview=$("#view .mview:last");if(all){var s=$("#view .mview:not(:last)");this.fluidbook.video.killVideosIn(s);$(s).remove()}if(mview.length>0){$(mview).css("opacity",0);setTimeout(function(){$this.fluidbook.video.killVideosIn(mview);mview.remove();callback()},420)}if(all){this.hideOverlay();$("#view").attr("aria-hidden","true");$("#main").attr("aria-hidden","false").show();$("body").removeClass("view")}else{var formerHash=$("#view .mview").eq(-2).data("hash");if(formerHash!==undefined&&formerHash!==null){console.log("goto former hash",formerHash);window.location.hash=formerHash}}resize()}
1,quickCloseView:function(){$("#view .mview").remove();this.closeViewCallbackEvent(true)},resize:function(ww,hh){if(ww==undefined){ww=this.fluidbook.resize.ww}if(hh==undefined){hh=this.fluidbook.resize.hh}$("#viewOverlay").css({width:ww,height:hh});var $this=this;$(".mview").each(function(){$this.resizeView($(this),ww,hh)})},resizeView:function(m,ww,hh){var w=ww*.6;var h=hh*.8;var s=1;var forceHeight=false;var contentHeight=null;var fullscreen=m.data("fullscreen")==="1";var nw,nh;var maxWidth=1e5;if(m.data("max-width")){maxWidth=m.data("max-width")}var minWidth=0;switch(m.data("menu")){case"chapters":this.fluidbook.settings.chaptersColumns=Math.max(1,Math.min(6,this.fluidbook.settings.chaptersColumns));if(this.fluidbook.settings.chaptersCascade){this.fluidbook.settings.chaptersColumns=1}if(this.fluidbook.settings.chaptersColumns>1){w=this.fluidbook.settings.chaptersColMaxWidth*this.fluidbook.settings.chaptersColumns}else{w=Math.min(450,this.fluidbook.settings.chaptersColMaxWidth)}fullscreen=w>=ww*.9;if(fullscreen){w=ww}if(this.fluidbook.settings.chaptersCascade){h=hh*.8;forceHeight=true}if(this.fluidbook.settings.chaptersColumns>1){if(w<this.fluidbook.settings.chaptersColMaxWidth*this.fluidbook.settings.chaptersColumns){$(m).find("ul.chapters").addClass("onecolumn")}else{$(m).find("ul.chapters").removeClass("onecolumn")}}break;case"text":w=parseInt(this.fluidbook.settings.textPopupWidth);fullscreen=w>=ww*.9;break;case"index":if(this.fluidbook.mobilefirst.enabled){var cw=10+130*this.fluidbook.settings.pages;fullscreen=cw>=ww*.9;if(!fullscreen){w=Math.max(400,cw+30)}}else{fullscreen=true}break;case"notes":fullscreen=true;break;case"share":w=200;break;case"locales":w=300;break;case"article":h=hh*.9;w=Math.min(ww,1e3);if(ww<800){w=ww;h=hh;fullscreen=true}break;case"iframe":case"freeiframe":iframe=$("#view .iframeHolder iframe");if(parseInt(this.fluidbook.settings.iframePopupMaxWidth)>0){maxWidth=parseInt(this.fluidbook.settings.iframePopupMaxWidth)}maxWidth=this.getMetaIframeNumber(iframe,"max-width",maxWidth);$(iframe).closest(".iframeContainer").css("background-color",this.getMetaIframe(iframe,"background-color","#fff"));w=ww*.8;if(maxWidth>0){console.log(maxWidth,w);w=Math.min(w,maxWidth)}h=hh*.8;if(ww<800){w=ww;h=hh;fullscreen=true}forceHeight=true;if(maxWidth>0){w=Math.min(w,maxWidth)}iframe.css("width",w);try{var doc=getIframeDocument(iframe);doc.body.style.maxWidth=w+"px"}catch(e){}if(!fullscreen){var ih=-1;try{ih=$(iframe).get(0).contentWindow.document.body.getBoundingClientRect().bottom}catch(e){ih=-1}if(ih>0){h=Math.min(ih,h)}let minHeight=this.getMetaIframeNumber(iframe,"min-height",0);if(minHeight>0){h=Math.max(h,minHeight)}}break;case"cart":w=this.fluidbook.cart.getMenuWidth();if(ww<w){fullscreen=true}break;case"cart-grandvision-selection":h=hh*.98;var rw=parseInt($("#grandvision-cart").css("width"));var rh=parseInt($("#grandvision-cart").css("height"));if(ww<rw||hh<rh){s=Math.min(ww/rw,h/rh)}else{s=1}h=rh*s;w=rw*s;$("#grandvision-cart").css("transform","scale("+s+")");setTimeout(function(){$("#grandvision-selection .items").perfectScrollbar("update")},200);break;case"bookmarks":if(this.fluidbook.settings.bookmarkView==="large"){fullscreen=true}else if(this.fluidbook.mobilefirst.enabled){var indexWidth=Math.floor(ww/230)*230;$(".indexViewHolder:visible").css("width",indexWidth);var cw=30+10+130*this.fluidbook.bookmarks.getBookmarkedGroups(true).length;fullscreen=cw>=ww*.75||ww<=520;if(!fullscreen){w=Math.max(400,cw)}}else{var max=Math.floor(ww*.8/120)*120+40;w=Math.min(max,Math.max(m.find(".doubleThumb").length,4)*120+40);if(ww<520){fullscreen=true}}break;case"bookmarks-help":w=420;if(ww<520){fullscreen=true}break;case"webvideo":w=Math.max(ww*.8,600);h=w/16*9;if(h>hh*.9){h=hh*.9;w=h/9*16}forceHeight=true;if(w>ww*.9){fullscreen=true;w=ww}break;case"video":var maxVideoScale=1;var video=m.find(".video-js");nw=parseInt($(video).data("width"));nh=parseInt($(video).data("height"));forceHeight=true;w=Math.max(ww*.8);h=Math.max(hh*.8);if(ww<600){w=ww;h=hh;fullscreen=true}s=Math.min(w/nw,h/nh,maxVideoScale);if(!fullscreen){w=nw*s;h=nh*s}else{}m.find(".videoContainer").css({width:w,height:h});contentHeight=h;break;case"multimedia":case"externalchapters":var iframe=m.find("iframe,img");var readmode=m.data("readmode")==1;nw=parseInt($(iframe).data("width"));nh=parseInt($(iframe).data("height"));w=Math.max(ww*.8);h=Math.max(hh*.92);if(ww<600){w=ww;h=hh;fullscreen=true}var x,y;if(readmode){w=nw;forceHeight=false;if(w>ww*.9){fullscreen=true;w=ww;h=hh;s=ww/nw}else{s=w/nw}x=0;y=0}else{forceHeight=true;var ms=parseFloat(m.find("iframe").data("scale"));if(isNaN(ms)){ms=2}
1s=Math.min(ms,w/nw,h/nh);if(iframe.is("img")||fullscreen){s=Math.min(1,s)}if(!fullscreen){w=nw*s;h=nh*s}x=(w-nw*s)/2;y=(h-nh*s)/2}if(s<1){var css={overflow:"hidden",width:nw*s,height:nh*s,top:y,left:x,position:"absolute"};m.find(".multimediaHolder").css(css)}else{m.find(".multimediaHolder").css({position:"",overflow:"",width:"",height:"",top:"",left:""})}m.find(".multimediaScale").css({width:nw,height:nh,overflow:"hidden"}).transform({scale:[s,s],origin:[0,0]}).css("text-align","left");break;case"slideshow":var res=this.fluidbook.slideshow.popupInstance.resize(ww,hh,m);w=res.w;h=res.h;fullscreen=res.fullscreen;break;case"print":case"download":w=820;if(!this.fluidbook.settings.printFullBrochure){w=560}if(!this.fluidbook.settings.pdfComplexShowCurrent){w=500}if(m.find(".print-dialogue").hasClass("compact")){w=500}if(ww<w){fullscreen=true}break;case"zoomhd":if(ww<800){fullscreen=true;this.fluidbook.links_zoomhd.setAvailableDimensions(ww,hh)}else{this.fluidbook.links_zoomhd.setAvailableDimensions(ww-40,hh-40);var d=this.fluidbook.links_zoomhd.getContainerDimensions();w=d.width;h=d.height}break;case"archives":if(ww<600){fullscreen=true}else{w=Math.min(w,this.fluidbook.settings.filesInfos.archives.width/1.5)}break;case"pdf":this.initPDFViewer();iframe=m.find("iframe");let seamless=iframe.hasClass("seamless");var pw=iframe.data("width")*2;var th=iframe.data("total-height")*2;w=Math.min(pw,ww);fullscreen=w===ww;ratio=pw/th;ih=w/ratio;h=Math.min(ih,fullscreen?hh:hh*.9);let offsetw=seamless?40:0;iframe.css("height",seamless?ih:h).css("width",w+offsetw);break;default:if(m.data("max-width")!==null){maxWidth=parseInt(m.data("max-width"))}if(m.data("min-width")!==null){minWidth=parseInt(m.data("min-width"))}w=Math.min(Math.max(minWidth,w),maxWidth);break}if(m.data("menu")!=="bookmarks"&&$(".indexViewHolder").length>0){let baseWidth=130;if($(".indexViewHolder").find(".doubleThumb:not(.simple)").length>0){baseWidth=230}var indexWidth=Math.floor(w/baseWidth)*baseWidth;$(".indexViewHolder").css("width",indexWidth)}var captionHeight=0;m.find(".caption, .fixed, .fonctions").each(function(){captionHeight+=$(this).outerHeight()});if(maxWidth>0){w=Math.min(maxWidth,w)}css={};var ccss={};if(fullscreen){w=ww;h=hh;forceHeight=true;css.top=0;css.left=0;m.addClass("fs")}else{m.removeClass("fs")}css.maxWidth=css.minWidth=css.width=w;css.maxHeight=h;ccss.maxHeight=h-captionHeight;if(forceHeight){css.minHeight=css.height=h;if(contentHeight===null){ccss.minHeight=ccss.height=h-captionHeight}else{ccss.minHeight=ccss.height=contentHeight}}else{ccss.minHeight=ccss.height=css.minHeight=css.height=""}m.css(css);m.find(".content").css(ccss).attr("data-height",ccss.height);if(!fullscreen){m.css({top:(hh-m.outerHeight())/2,left:(ww-m.outerWidth())/2})}if(!Modernizr.ftouch){m.find(".content:not(.noscroll)").perfectScrollbar("update")}$("#popinOverlay>div").each(function(){$(this).css({top:(hh-$(this).outerHeight())/2,left:(ww-$(this).outerWidth())/2})});if($("#archivesview").length==1){var arw=this.fluidbook.settings.filesInfos.archives.width;var ratio=$("#archivesview img").width()/arw;$("#archivesview .links").transform({scale:[ratio]})}if(m.data("menu")==="index"||m.data("menu")==="bookmarks"){this.fluidbook.mobilefirst.resizeIndex()}},getMetaIframe:function(iframe,name,defaultValue){try{var res=iframe.get(0).contentWindow.document.querySelector('meta[name="'+name+'"]').content;if(res===undefined||res===null){return defaultValue}return res}catch(e){return defaultValue}},getMetaIframeNumber:function(iframe,name,defaultValue){try{var res=this.getMetaIframe(iframe,name,defaultValue);if(isNaN(res)){return defaultValue}return res}catch(e){return defaultValue}},resizePopupAudios:function(){$(".mview audio").each(function(){var w=$(window).width()-200;var h=30;$(this).css({height:h,width:w,display:"block",margin:"40px auto"})})},hideOverlay:function(){$("#viewOverlay").css("opacity",0);this.viewOverlayHideTimeout=setTimeout(function(){$("#viewOverlay").hide()},400)},showOverlay:function(){clearTimeout(this.viewOverlayHideTimeout);$("#viewOverlay").css("opacity",0).show();setTimeout(function(){$("#viewOverlay").css("opacity",1)},10)},initPDFViewer:function(){var menu=this;$("iframe.pdf.view").each(function(){var page=$(this).contents().find("div.page");if(page.length===0){setTimeout(function(){menu.initPDFViewer()},200);return}menu.fluidbook.hideLoader();var body=$(this).contents().find("body");if($(this).hasClass("seamless")){$(body).addClass("seamless")}var $this=this;setTimeout(function(){$($this).closest(".pdf-holder").addClass("visible");$($this).addClass("visible");menu.fluidbook.hideLoader()},500)})}};function FluidbookSound(fluidbook){this.fluidbook=fluidbook;if(this.fluidbook.settings.soundTheme==="none"||this.fluidbook.settings.soundTheme==""||!Modernizr.audio||this.fluidbook.support.iOS||this.fluidbook.support.android){this.enabled=false;this.on=false;return}this.enabled=true;this.on=!!this.fluidbook.settings.soundOn;this.audios={};this.playing=null;this.simpleTheme=this.fluidbook.settings.simpleSoundTheme;this.initEvents()}FluidbookSound.prototype={initEvents:function(){var $this=this;$(this.fluidbook).on("fluidbook.ready",function(){$this.init()});$(document).on(this.fluidbook.input.clickEvent,".icon-sound-off,.icon-sound-on",function(){$this.toggle();return false});$(this.fluidbook).on("fluidbook.page.change.start",function(e,page,data){$this.playSoundForPage(data)});$(document).one(this.fluidbook.input.clickEvent,"*",function(){try{$this.audios["empty"].play();$this.playing=$this.audios["empty"]}catch(e){}return true})},preloadSounds:function(){var sounds;if(this.simpleTheme){sounds=["empty","flip"]}else{sounds=["empty","cover-flip","page-flip-1","page-flip-2"]}var $this=this;$.each(sounds,function(k,v){var src;if(v==="empty"){src="sound/"+v+".mp3"}else{src="data/sounds/"+v+".mp3"}var s=new Audio($this.fluidbook.loader.getURL(src));s.volume=1;s.preload="auto";$this.audios[v]=s})},init:function(){if(!this.on){this.disable()}else{this.enable()}},toggle:function(){if(this.on){this.disable()}else{this.enable()}},enable:function(){this.on=true;$(".icon-sound-off").hide();$(".icon-sound-on").show()},disable:function(){this.on=false;$(".icon-sound-on").hide();$(".icon-sound-off").show()},playSoundForPage:function(data){if(!this.enabled||!this.on||data.transition<3){return}var page=data.page;if(page%2===1){page--}var last=this.fluidbook.contentlock.getMaxPage();if(last%2===1){last++}var sound="";if(this.simpleTheme){sound="flip"}else{if(data.turningPages.indexOf(1)>=0||data.turningPages.indexOf(last)>
1=0){sound="cover-flip"}else{sound="page-flip-"+Math.round(Math.random()+1)}}var transitionDuration=this.fluidbook.pagetransitions.getTransitionDuration(page);if(transitionDuration===0){return}var seek=0;if(transitionDuration<.6){seek=.6-transitionDuration}try{this.audios[sound].volume=1;if(this.audios[sound].fastSeek!==undefined){this.audios[sound].fastSeek(seek)}else{this.audios[sound].currentTime=seek}this.audios[sound].play()}catch(e){console.log(e)}}};function FluidbookContentLock(fluidbook){this.fluidbook=fluidbook;this.maxPage;this.linksActions={};this.locks=this.fluidbook.settings.content_lock}FluidbookContentLock.prototype={init:function(){var $this=this;this.fluidbook.keyboard.keyShortcut("â+alt+u, ctrl+alt+u",function(){$this.setMaxPage()});this.maxPage=Math.min(this.getNextLockPage(),this.fluidbook.settings.pages);if(!this.fluidbook.scorm.isActive()&&this.fluidbook.cache.isset("lock_maxpage")){var mp=parseInt(this.fluidbook.cache.get("lock_maxpage"));this.maxPage=Math.max(this.maxPage,mp)}if(this.maxPage<=0){this.maxPage=this.fluidbook.settings.pages}},getNextLockPage:function(){var res=0;$.each(this.locks,function(k,v){if(v.unlocked===1){return true}res=k;return false});return parseInt(res)},setMaxPage:function(p,allowbackwards){var currentMaxPage=this.maxPage;if(allowbackwards===undefined){allowbackwards=false}if(p===undefined||p<=0){p=this.fluidbook.settings.pages}if(!allowbackwards&&p<this.maxPage){return}this.maxPage=Math.min(p,this.fluidbook.settings.pages);if(currentMaxPage===this.maxPage){return}if(!this.fluidbook.scorm.isActive()){this.fluidbook.cache.set("lock_maxpage",this.maxPage)}$(this.fluidbook).trigger("fluidbook.maxpage.set",[this.maxPage]);this.updateMaxPage()},getMaxPage:function(){return Math.min(this.fluidbook.settings.pages,this.maxPage)},updateMaxPage:function(){if(this.fluidbook.currentPage>this.maxPage){this.fluidbook.setCurrentPage(this.maxPage)}var $this=this;$.each(this.locks,function(k,v){if($this.maxPage>k){$this.locks[k].unlocked=1}});this.fluidbook.menu.index.reset();this.fluidbook.hideUnnecessaryButtons();this.fluidbook.mobilefirst.refreshFooterNavigation();resize()},addAction:function(linkId,action){if(this.linksActions[linkId]===undefined){this.linksActions[linkId]=[]}if(this.linksActions[linkId].indexOf(action)===-1){this.linksActions[linkId].push(action)}this.testConditions()},testConditions:function(){var $this=this;var change=false;$.each(this.locks,function(k,v){if(v.unlocked===1){return}if(v.conditions.length===0){return}var conditionsToObserve=v.conditions.length;$.each(v.conditions,function(i,c){if($this.testCondition(c)){conditionsToObserve--}});if(conditionsToObserve===0){$this.locks[k].unlocked=1;change=true}});if(change||this.getNextLockPage()!==this.getMaxPage()){this.setMaxPage(this.getNextLockPage(),false)}},testCondition:function(condition){var linkId=condition[0];var action=condition[1];if(this.linksActions[linkId]===undefined){return false}return this.linksActions[linkId].indexOf(action)>=0},unlockCurrentPage:function(){var $this=this;var change=false;var unlockEvenPages=!this.fluidbook.mobilefirst.enabled;var currentPage=$this.fluidbook.currentPage;$.each(this.locks,function(k,v){if(v.unlocked===1){return}if(unlockEvenPages&¤tPage%2===1){currentPage--}var lockPage=parseInt(k);if(unlockEvenPages&&lockPage%2===1){lockPage--}if(currentPage<lockPage){return}console.log("unlock "+lockPage+"("+currentPage+")");$this.locks[k].unlocked=1;change=true});if(change){this.setMaxPage(this.getNextLockPage(),false)}}};function FluidbookScorm(fluidbook){this.fluidbook=fluidbook;this.linksToComplete=[];this.manageScore=this.fluidbook.settings.scorm_score;this.cache={};this.ok=false;this.init()}FluidbookScorm.prototype={init:function(){var $this=this;if(this.fluidbook.settings.scorm_enable&&window.initScorm!==undefined){this.ok=initScorm()}if(this.fluidbook.settings.scorm_variables!==undefined&&this.fluidbook.settings.scorm_variables.linkstocomplete!==undefined){this.linksToComplete=this.fluidbook.settings.scorm_variables.linkstocomplete.split(",")}$(document).on(this.fluidbook.input.clickEvent,"a",function(){var link=$(this).closest(".link[data-id]");if(link.length>0){var id=link.data("id");$this.completeLink(id)}return true});$(this.fluidbook).on("fluidbook.links.ready",function(){$this.hideScormLinks()});if(this.fluidbook.settings.scorm_complete_on_last_page){$(this.fluidbook).on("fluidbook.page.change.end",function(){if($this.fluidbook.currentPage===$this.fluidbook.settings.pages){if(window.scormMarkAsComplete!==undefined){scormMarkAsComplete()}}})}if(this.fluidbook.settings.scorm_complete_coins>0){$(this.fluidbook).on("fluidbook.gamify.coins.update",function(e,coins){console.log("update coins ",coins);if(coins>=$this.fluidbook.settings.scorm_complete_coins){console.log($this.fluidbook.settings.scorm_complete_coins+" coins reached !!");if(window.scormMarkAsComplete!==undefined){scormMarkAsComplete()}}})}},hideScormLinks:function(){if(this.isActive()){return}$('.link[data-scorm="1"]').hide()},completeLink:function(id){var index=this.linksToComplete.indexOf(id);if(index>-1){this.linksToComplete.splice(index,1)}},linksCompleted:function(){return this.linksToComplete.length===0},saveCache:function(){scormSaveCurrentPosition(undefined,undefined,this.cache)},isActive:function(){if(!this.fluidbook.settings.scorm_enable){return false}if(undefined!==window.FORCE_SCORM&&window.FORCE_SCORM){return true}return SCORM_OK},openLinkIfCompleteOrDisplayImage:function(openLink,openImage){var $this=this;var id=this.linksCompleted()?openLink:openImage;if(!Array.isArray(id)){id=[id]}$.each(id,function(k,v){$this.fluidbook.links.triggerLinkById(v)})}};function Fluidbook3DFlip(fluidbook){var $this=this;this.fluidbook=fluidbook;this.camera=null;this.scene=null;this.renderer=null;this.controls=null;this.action=null;this.clock=new THREE.Clock;this.mesh=null;this.plane=null;this.sizePlane=null;this.loader=null;this.animation=null;this._progressAnimation=0;this._pageRotation=0;this._callbackAfterNextRender=null;this._gapOffset=0;this.jcontainerLeft=0;this.ready=false;this.performancesTestRunning=true;this.performancesFrames=0;this.performancesTestStart=null;this.performancesTestEnd=null;this.performancesMode="";this.benchmark={};this.textures=[];this.jcontainer=$("#flip3dcontainer");this.pw=this.fluidbook.resize.ww;this.ph=this.fluidbook.resize.hh;this.turnRunning=false;this.pi2=Math.PI*2;this.deg2rad=this.pi2/360;this.errorInitWebGL=false;try{this.init()}catch(e){this.errorInitWebGL=true;this.init()}}Fluidbook3DFlip.prototype={webglEnabled:function(){return!this.errorInitWebGL&&this.fluidbook.support.IE===0&&Modernizr.webgl},init:function(){var $this=this;$(this.fluidbook).on("fluidbook.resize",function(){$this.resize()});this.geometryScale=3;this.container=$(this.jcontainer).get(0);var mode=this.fluidbook.settings.performance3DMode;if(mode===undefined||mode===null||mode==="auto"){if($_GET["performance"]==null){mode="performancesTest"}else{var map={1:"highPerf",2:"lowPerf",3:"veryLowPerf"};mode=map[$_GET["performance"]]}}this.init3D(mode);this.animate(true);$(this.fluidbook).on("fluidbook.ready",function(){$this.guessCameraZoom(true)});this.fluidbook.keyboard.keyShortcut("â+alt+w, ctrl+alt+w",function(){$this.debugGPU()});this.resize()},_guessTestMode:function(){var testMode="";if(!this.webglEnabled()){return"veryLowPerf"}if(isNaN(this.benchmark)||this.benchmark<=0){return"lowPerf"}var b=60*(this.benchmark/3580);if(b>50){return"highPerf"}else if(b>30){return"lowPerf"}return"veryLowPerf"},guessTestMode:function(){var mode=this._guessTestMode();if(mode==="highPerf"){if(this.fluidbook.support.edge||this.fluidbook.support.android||this.fluidbook.support.macOs||this.fluidbook.support.iOS){return"lowPerf"}}return mode},debugGPU:function(){console.log("Performances mode",this.performancesMode);console.log("Render engine",this.renderEngine);try{var canvas=this.jcontainer.find("canvas").get(0);var gl=canvas.getContext("webgl")||canvas.getContext("experimental-webgl");debugInfo=gl.getExtension("WEBGL_debug_renderer_info");vendor=gl.getParameter(debugInfo.UNMASKED_VENDOR_WEBGL);renderer=gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL);
1console.log("GPU vendor",vendor);console.log("GPU renderer",renderer);console.log(gl)}catch(e){}console.log("Quality ratio: "+this.qualityRatio);console.log("Triangles: "+this.triangles);console.log("Animation time: "+this.animationTime);console.log("Antialias: "+this.antialias);console.log("Lights enabled: "+this.enableLight);console.log("Shadows enabled: "+this.enableShadow)},init3D:function(performanceMode){try{this.dispose3D()}catch(e){}this.performancesMode=performanceMode;if(this.performancesMode==="disable"){return}if(this.performancesMode==="performancesTest"){var testMode=this.guessTestMode();if(testMode==="highPerf"){this.lowPerf=this.veryLowPerf=false}else if(testMode==="lowPerf"){this.lowPerf=true;this.veryLowPerf=false}else if(testMode==="veryLowPerf"){this.veryLowPerf=this.lowPerf=true}}else{if(this.performancesMode===undefined||this.performancesMode==="auto"){this.veryLowPerf=this.fluidbook.support.IE>0;this.lowPerf=!Modernizr.webgl||this.veryLowPerf||this.fluidbook.support.edge||this.fluidbook.support.android||this.fluidbook.support.macOs||this.fluidbook.support.iOS}else if(this.performancesMode==="lowPerf"){this.lowPerf=true;this.veryLowPerf=false}else if(this.performancesMode==="highPerf"){this.lowPerf=this.veryLowPerf=false}else if(this.performancesMode==="veryLowPerf"){this.veryLowPerf=this.lowPerf=true}}this.renderEngine="webgl";if(this.veryLowPerf){this.renderEngine="canvas"}if(this.fluidbook.support.android||this.fluidbook.support.iOS){this.renderEngine="webgl"}if(!this.webglEnabled()){this.renderEngine="canvas"}this.enableLight=!this.lowPerf&&this.renderEngine==="webgl";this.enableShadow=!this.lowPerf&&this.enableLight&&this.renderEngine==="webgl";this.antialias=false;this.animationTime=parseFloat(this.fluidbook.settings.mobileTransitionDuration);if(this.veryLowPerf){this.qualityRatio=.8;this.triangles=3;this.animationTime/=1.5}else if(this.lowPerf||this.veryLowPerf){this.qualityRatio=1.2;this.triangles=3;this.animationTime/=1.25}else{this.qualityRatio=1.5;this.triangles=50}this.animationTime=Math.max(.4,this.animationTime);
1this.pixelRatio=window.devicePixelRatio*this.qualityRatio;this.frames=0;return this.initThree()},initThree:function(){if(this.scene!==null){return}this.scene=new THREE.Scene;if(this.enableLight){this.scene.add(new THREE.AmbientLight(16777215,1.5))}var zoom=.8;var far=24e3*zoom;var near=1e3;this.camera=new THREE.PerspectiveCamera(20,1,near,far);this.camera.zoom=zoom;this.camera.position.z=8873*2*zoom;this.camera.updateProjectionMatrix();if(this.enableLight){var lightIntensity=.3;var light=new THREE.SpotLight(16777215,lightIntensity,0,1);light.position.set(2e3,0,1.72503*1e4);if(this.enableShadow){light.castShadow=true;light.shadow.mapSize.width=512;light.shadow.mapSize.height=512;light.shadow.camera.near=near;light.shadow.camera.far=far;light.shadow.bias=-.0075;light.shadow.radius=3}this.scene.add(light)}var geometry;if(this.enableShadow){geometry=new THREE.PlaneGeometry(this.fluidbook.settings.width*this.geometryScale*2,this.fluidbook.settings.height*this.geometryScale,1,1,true);var shadowTexture=new THREE.ShadowMaterial({color:0,side:THREE.FrontSide,overdraw:.5,opacity:.1});this.shadowPlane=new THREE.Mesh(geometry,[shadowTexture]);this.shadowPlane.receiveShadow=true;this.shadowPlane.translateZ(-1);this.scene.add(this.shadowPlane)}this.geometryWidth=this.fluidbook.settings.width*this.geometryScale;this.geometryHeight=this.fluidbook.settings.height*this.geometryScale;geometry=new THREE.PlaneGeometry(this.geometryWidth,this.geometryHeight,Math.round(this.triangles*5),Math.round(this.triangles),true);var geometry2=geometry.clone();var geometry3=new THREE.PlaneGeometry(this.geometryWidth,this.geometryHeight,1,1,true);geometry.merge(geometry2,(new THREE.Matrix4).makeRotationY(Math.PI),1);var roughness=.8;var meshSettings={side:THREE.FrontSide};if(this.renderEngine==="canvas"){meshSettings.overdraw=true}if(this.enableLight){meshSettings.roughness=roughness;this.textures=[new THREE.MeshStandardMaterial(meshSettings),new THREE.MeshStandardMaterial(meshSettings)]}else{this.textures=[new THREE.MeshBasicMaterial(meshSettings),new THREE.MeshBasicMaterial(meshSettings)]}geometry.translate(this.fluidbook.settings.width*this.geometryScale*.5,0,0);this.plane=new THREE.Mesh(geometry,this.textures);this.plane.castShadow=this.enableShadow;this.plane.receiveShadow=false;this.sizePlane=new THREE.Mesh(geometry3);this.sizePlane.castShadow=this.sizePlane.receiveShadow=false;this.sizePlane.visible=false;this.scene.add(this.sizePlane);this.scene.add(this.plane);this.modifier=new ModifierStack(this.plane);this.bendAngle=250;this.bendOffset=.65;this.bendForceMultiplicator=1;var ratio=this.fluidbook.settings.width/this.fluidbook.settings.height;if(ratio>1.2){this.bendAngle=15;this.bendOffset=.4;this.bendForceMultiplicator=1.3}else if(ratio>=1){this.bendAngle=20;this.bendOffset=.4;this.bendForceMultiplicator=1.2}this.bend=new Bend(0,this.bendOffset,this.bendAngle*.0174533);this.bend.constraint=-1;this.modifier.reset();this.modifier.addModifier(this.bend);var rendererOptions={antialias:this.antialias,alpha:true};if(this.renderEngine==="webgl"){try{this.renderer=new THREE.WebGLRenderer(rendererOptions)}catch(e){this.errorInitWebGL=true;return this.init3D("performancesTest")}}else if(this.renderEngine==="canvas"){this.renderer=new THREE.CanvasRenderer(rendererOptions)}if(this.enableShadow){this.renderer.shadowMap.enabled=true;this.renderer.shadowMap.type=THREE.PCFSoftShadowMap}this.renderer.setClearColor(0,0);this.renderer.setPixelRatio(this.pixelRatio);this.renderer.setSize(this.pw,this.ph);this.jcontainer.empty();this.container.appendChild(this.renderer.domElement);this.initAnimations()},dispose3D:function(){if(this.scene===undefined){return}if(this.renderer!==null){this.renderer.dispose()}this.disposeHierarchy(this.scene,this.disposeNode);this.scene=null;this.camera=null;this.modifier=null;this.textures=null;this.renderer=null},setBendAngle:function(a){this.bend.angle=a*.0174533},clean:function(){this.disposeTextures()},initAnimations:function(){var force=.65*this.bendForceMultiplicator*1.15;var easeOut="power0.out";var easeIn="power0.in";var noease="none";this.tlright=gsap.timeline();this.tlright.add(gsap.fromTo(this.bend,.5,{force:0},{force:force*-1,ease:easeIn}));this.tlright.add(gsap.fromTo(this.bend,.5,{force:force*-1},{force:0,ease:easeOut}));this.tlright.add(gsap.fromTo(this,1,{_pageRotation:-0},{_pageRotation:-180,ease:easeIn}),0);this.tlright.add(gsap.fromTo(this,1,{_gapOffset:-.5},{_gapOffset:1.2,ease:noease}),0);this.tlright.pause();this.tlright.progress(0);this.tlleft=new TimelineMax;this.tlleft.add(gsap.fromTo(this.bend,.5,{force:0},{force:force,ease:easeIn}));this.tlleft.add(gsap.fromTo(this.bend,.5,{force:force},{force:0,ease:easeOut}));this.tlleft.add(gsap.fromTo(this,1,{_pageRotation:-180},{_pageRotation:-0,ease:easeIn}),0);this.tlleft.add(gsap.fromTo(this,1,{_gapOffset:1.2},{_gapOffset:-.5,ease:easeOut}),0);this.tlleft.pause();this.tlleft.progress(0)},prepareTurn:function(turning,callback){var $this=this;this.prepareTexture(turning.flip[1],function(t1){$this.prepareTexture(turning.flip[0],function(t2){$this.texturesLoaded(t1,t2,turning.dir,callback)},turning.dir>0)},turning.dir<0)},getPerformancesTestResult:function(){var time=(this.performancesEndTime.getTime()-this.performancesStartTime.getTime())/1e3;return this.performancesFrames/time},performancesTest:function(callback){var _cb;var $this=this;var timeScale=1;if(this.performancesMode!=="performancesTest"){console.log("no perf test");_cb=callback;timeScale=.1}else{_cb=function(){$this.performancesEndTime=new Date;$this.adjustPerformancesSettings(callback)}}this.prepareTurn({flip:[1,2]},function(){$this.playTurn(1,function(){_cb()},timeScale)}
1)},adjustPerformancesSettings:function(callback){var $this=this;var newMode;var res=this.getPerformancesTestResult();console.log("perf test",res);if(this.fluidbook.support.iOS){if(res<45){newMode="disable"}}else{if(!this.lowPerf){if(res<5){newMode="disable"}else if(res<20){newMode="veryLowPerf"}else if(res<35){newMode="lowPerf"}else{newMode="highPerf"}}else if(this.veryLowPerf){if(res<30){newMode="disable"}else{newMode="veryLowPerf"}}else{if(res<10){newMode="disable"}else if(res<30){if(this.fluidbook.support.edge){newMode="disable"}else{newMode="veryLowPerf"}}else{newMode="lowPerf"}}}if(newMode!=="disable"){this.init3D(newMode);callback();this.prepareTurn({flip:[1,2]},function(){$this.playTurn(.1,function(){$this.prepareTurn({flip:[2,1]},function(){$this.playTurn(-1,function(){callback()},.1,0)})},1,0)})}else{this.fluidbook.support.transitions3dacc=false;callback()}},texturesLoaded:function(t1,t2,dir,callback){if(this.textures===undefined||this.textures===null||this.textures.length===0){console.warn("Texture object not ready. Waiting");var $this=this;setTimeout(function(){$this.texturesLoaded(t1,t2,dir,callback)},500);return}if(t1!=null){this.textures[0].map=t1}if(t2!=null){this.textures[1].map=t2}this.textures[0].needsUpdate=true;this.textures[1].needsUpdate=true;this.ready=true;this.resize();callback()},disposeTextures:function(){if(this.textures[0].map!==null){this.textures[0].map.dispose()}if(this.textures[1].map!==null){this.textures[1].map.dispose()}},prepareTexture:function(page,callback,enter){if(null===THREE){return}if(enter===undefined){enter=true}this.fluidbook.loader.getTexture(page,function(image){var texture=new THREE.Texture(image);texture.needsUpdate=true;callback(texture)},enter)},initTurn:function(dir){this.turnRunning=true;this.tlname=dir===1?"right":"left";this.tlleft.kill();this.tlright.kill();this.progressAnimation(0);this.animate(false);this.resize()},playTurn:function(dir,callback,timeScale,delay){if(!this.turnRunning){this.initTurn(dir)}if(timeScale===undefined){timeScale=1}var $this=this;if(delay===undefined){delay=this.fluidbook.support.iOS?.15:.06}gsap.fromTo(this,{progressAnimation:0},{duration:this.animationTime*timeScale,progressAnimation:1,ease:"power0.in",delay:delay,onStart:function(){if($this.performancesTestRunning){$this.performancesStartTime=new Date}},onComplete:function(){this.tlname="";callback();setTimeout(function(){$this.turnRunning=false},5)}})},animate:function(next){var $this=this;if(next){requestAnimationFrame(function(){$this.animate(true)})}var render=true;var visible;if(this._progressAnimation<1){if(this.turnRunning){if(this.performancesTestRunning){this.performancesFrames++}render=true;visible=true}else{render=false;visible=false}}else{render=false;visible=false}if(render){var d=(720+this._pageRotation)%360;this.plane.rotation.y=d*this.deg2rad;this.renderer.render(this.scene,this.camera);this.modifier&&this.modifier.apply()}if(visible){var offset=0;if(this.jcontainerWidth<=1300||this.jcontainerHeight<=1300){var m=1;offset=this._gapOffset*m}this.jcontainer.css({left:this.jcontainerLeft+offset})}this.setJContainerVisibility(visible);if(this._callbackAfterNextRender!==null){try{var c=this._callbackAfterNextRender;this._callbackAfterNextRender=null;c.apply()}catch(e){}}},setJContainerVisibility:function(visibility){var isVisible=this.jcontainer.css("display")==="block";if(isVisible===visibility){return}if(visibility){this.jcontainer.show()}else{this.jcontainer.hide()}},resize:function(){if(!this.ready){return}this.pw=this.fluidbook.resize.ww;this.ph=this.fluidbook.resize.hh;if(null!==THREE){this.camera.aspect=this.pw/this.ph;this.camera.updateProjectionMatrix()}var fw=$("#fluidbook").get(0).getBoundingClientRect();this.jcontainerLeft=(this.pw-fw.width)/2;this.jcontainerWidth=fw.width;this.jcontainerHeight=fw.height;this.jcontainer.css({left:this.jcontainerLeft,width:fw.width,height:this.ph});this.jcontainer.find("canvas").css({left:-this.jcontainerLeft,width:this.pw,height:this.ph});if(null!==THREE){this.renderer.setSize(this.pw,this.ph);this.guessCameraZoom()}},guessCameraZoom:function(){if(null===THREE){return}if(this._progressAnimation!==0&&this._progressAnimation!==1){return}this.camera.updateProjectionMatrix();var bookBox=$("#currentDoublePage").get(0).getBoundingClientRect();this.sizePlane.scale.x=this.sizePlane.scale.y=1;for(var i=0;i<25;i++){var bbox=(new THREE.Box3).setFromObject(this.sizePlane);var min=this.to2D(bbox.min);var max=this.to2D(bbox.max);var rect={x:Math.min(min.x,max.x),y:Math.min(min.y,max.y),width:Math.abs(min.x-max.x),height:Math.abs(min.y-max.y)};if(rect.width===0||rect.width>1e5){continue}var s=bookBox.width/2/rect.width;this.sizePlane.scale.x*=s;this.sizePlane.scale.y*=s;this.sizePlane.rotateX(0);if(this.enableShadow){this.shadowPlane.scale.x=this.sizePlane.scale.x;this.shadowPlane.scale.y=this.sizePlane.scale.y}bbox=(new THREE.Box3).setFromObject(this.sizePlane);min=this.to2D(bbox.min);max=this.to2D(bbox.max);rect={x:Math.min(min.x,max.x),y:Math.min(min.y,max.y),width:Math.abs(min.x-max.x),height:Math.abs(min.y-max.y)};this.sizePlane.translateY(rect.y-bookBox.top)}this.plane.position.y=this.sizePlane.position.y;this.plane.scale.x=this.sizePlane.scale.x;this.plane.scale.y=this.sizePlane.scale.y;if(this.enableShadow){this.shadowPlane.scale.x=this.sizePlane.scale.x;this.shadowPlane.scale.y=this.sizePlane.scale.y;this.shadowPlane.position.y=this.sizePlane.position.y;this.shadowPlane.rotateX(0)}},to2D:function(point){var widthHalf=.5*this.pw;var heightHalf=.5*this.ph;var vector=new THREE.Vector3(point.x,point.y,point.z);vector.project(this.camera);vector.x=vector.x*widthHalf+widthHalf;vector.y=-(vector.y*heightHalf)+heightHalf;return{x:vector.x,y:vector.y}},progressAnimation:function(val){if(arguments.length===0){return this._progressAnimation}if(this.tlname==="left"){this.tlleft.progress(val);this.tlleft.pause()}else if(this.tlname==="right"){this.tlright.progress(val);this.tlright.pause()}this._progressAnimation=val},disposeNode:function(node){if(node instanceof THREE.Mesh){if(node.geometry){node.geometry.dispose()}if(node.material){if(node.material instanceof THREE.MeshFaceMaterial){$.each(node.material.materials,function(idx,mtrl){if(mtrl.map)mtrl.map.dispose();if(mtrl.lightMap)mtrl.lightMap.dispose();if(mtrl.bumpMap)mtrl.bumpMap.dispose();if(mtrl.normalMap)mtrl.normalMap.dispose();if(mtrl.specularMap)mtrl.specularMap.dispose();if(mtrl.envMap)mtrl.envMap.dispose();mtrl.dispose()})}else{try{if(node.material.map)node.material.map.dispose();if(node.material.lightMap)node.material.lightMap.dispose();if(node.material.bumpMap)node.material.bumpMap.dispose();if(node.material.normalMap)node.material.normalMap.dispose();if(node.material.specularMap)node.material.specularMap.dispose();if(node.material.envMap)node.material.envMap.dispose();node.material.dispose()}catch(e){}}}}},disposeHierarchy:function(node,callback){if(node===null){return}for(var i=node.children.length-1;i>=0;i--){var child=node.children[i];this.disposeHierarchy(child,callback);callback(child)}}};function FluidbookChapters(fluidbook,chapters){this.fluidbook=fluidbook;this.chapters=chapters;this.style="classic";this.cascade=this.fluidbook.settings.chaptersCascade;this.indent=this.fluidbook.settings.chaptersIndent;this.cascadeEventsInited=false;if(this.fluidbook.settings.mobileChaptersStyle){this.style=this.fluidbook.settings.mobileChaptersStyle}this.html=[];this.titles={null:this.fluidbook.l10n.__("chapters")};this.colors={null:"default"};this.lastColor}FluidbookChapters.prototype={getView:function(sub){if(sub==undefined||sub==null||sub==""){sub="null"}if(this.html[sub]==null){this.makeView(sub)}return{sub:sub,view:this.html[sub],title:this.titles[sub],color:this.colors[sub]}},makeView:function(sub){this.makeClassicMenu(sub);if(this.cascade){this.makeCascadeMenu(sub)}},makeCascadeMenu:function(sub){var h=$(this.html[sub]);for(var i=3;i>=0;i--){$(h).find("li[data-level="+i+"]").each(function(){var siblings=$(this).nextUntil("li[data-level!="+(i+1)+"]","li[data-level="+(i+1)+"]");if(siblings.length>0){$(this).append("<ul></ul>");var nav=$(this).find("ul");$(nav).append(siblings);$(nav).hide()}})}this.html[sub]=$(h).get(0).outerHTML;if(!this.cascadeEventsInited){this.initCascadeEvents()}},initCascadeEvents:function(){this.cascadeEventsInited=true;if(this.style=="ina"){$(document).on(this.fluidbook.input.forceClickEvent,"ul.chapters a .right",function(e){var p=$(this).data("page");if(p!=""){$this.fluidbook.setCurrentPage(p);e.stopImmediatePropagation();e.stopPropagation();e.preventDefault();return false}})}$(document).on(this.fluidbook.input.forceClickEvent,"ul.chapters a",function(){var li=$(this).parent();var subnav=$(li).children("ul");if($(subnav).length){$(subnav).slideToggle();return false}else{return true}})},makeClassicMenu:function(sub){var $this=this;var base;var baseLevel=0;var nbItems=0;var columns=Math.max(1,parseInt(this.fluidbook.settings.chaptersColumns));$.each(this.chapters,function(k,v){if(v.label==="--"||v.label==="++"){}else{nbItems++}});var perCol=Math.round(nbItems/columns);var forgetCut=false;var forceCut=false;var ignore=false;var columnId=0;var i=0;var columnsContainers=[];for(var j=0;j<columns;j++){columnsContainers[j]=[]}if(sub==="null"){base=this.chapters}else{var base=[];var vu=false;var level;$.each(this.chapters,function(k,v){if(v.decoration===undefined){v.decoration=""}if(v.decoration==="nocut"||v.decoration==="forcecut"||v.label==="--"||v.label==="++"){}else{nbItems++}if(!vu){if(v.page=="#"+sub){vu=true;level=v.level;baseLevel=v.level+1;$this.titles[sub]=v.label;$this.colors[sub]=v.color}return true}else{if(v.level>level){base.push(v)}else{return false}}})}var $this=this;var classes=["chapters"];if(this.indent){classes.push("indent")}this.html[sub]='<ul class="'+classes.join(" ")+'">';$.each(base,function(k,v){if(!forgetCut){forgetCut=v.decoration==="nocut"||v.label.indexOf("++")===0;if(forgetCut){return}}forceCut=v.decoration==="forcecut"||v.decoration==="column_head"||v.decoration==="separator"||v.label.indexOf("--")===0||v.label.indexOf("!!!")===0;ignore=forceCut||v.decoration==="nocut"||v.label.indexOf("++")===0;if(!forgetCut&&(columnId+1<columns&&(columns>1&&v.level===0&&i>perCol*.8||forceCut&&i>0))){i=0;columnId++}if(forgetCut){forgetCut=false}columnsContainers[columnId].push($this.addItem(v,baseLevel));if(!ignore){i++}});for(j=0;j<columns;j++){this.html[sub]+='<div class="column">'+columnsContainers[j].join("")+"</div>"}this.html[sub]+="</ul>"}
1,addItem:function(chapter,baseLevel){if(baseLevel==undefined){baseLevel=0}if(chapter.decoration==="separator"||chapter.label==="----"){return'<li class="separator"></li>'}var color=chapter.color;if(color==""){if(this.lastColor!=undefined){color=this.lastColor}}if(color!=""){this.lastColor=color}if(chapter.decoration==="column_head"||chapter.label.substr(0,3)=="!!!"){chapter.label=chapter.decoration==="column_head"?chapter.label:chapter.label.substring(3);chapter.level="-1"}chapter.label=chapter.label.replace(/\*([^\*]+)\*/g,"<strong>$1</strong>");var res="";var href;var level=chapter.level-baseLevel;var p="";var pdisplay="";if(chapter.page!=""){if(this.fluidbook.settings.chaptersPagesNumber==="virtual"){p=this.fluidbook.virtualToPhysical(chapter.page);pdisplay=chapter.page}else{p=chapter.page;pdisplay=this.fluidbook.physicalToVirtual(p)}if(p===false){p="";href=this.cascade?'href="#"':"nohref"}else{href='href="#/page/'+p+'"'}}else{href=this.cascade?'href="#"':"nohref"}if(this.style=="classic"){res+='<li data-level="'+level+'" data-page="'+p+'"><a '+href+' class="level'+level+' clickonly">'}else if(this.style=="ina"){res+='<li style="background-color:#'+color+';" data-level="'+level+'" data-page="'+p+'"><a '+href+' class="nodark level'+level+' clickonly">'}res+="<span>"+chapter.label+"</span>";if(href!="nohref"){res+='<div class="right" data-page="'+p+'">';if(this.style=="classic"){if(color==""){if(chapter.page!=""){res+='<span class="pagen">'+pdisplay+"</span>"}}else{res+='<div class="puce" style="background-color:#'+color+';">'+getSpriteIcon("interface-chevron")+"</div>"}}else{if(pdisplay!=""){res+='<span class="pagen">'+pdisplay+"</span>"}res+='<div class="puce noshadow"></div>'}res+="</div>"}res+="</a></li>";return res},removeItemsAfterMaxPage:function(){var max=this.fluidbook.contentlock.getMaxPage();$('.mview[data-menu="chapters"] ul.chapters li[data-page]').each(function(){var p=parseInt($(this).data("page"));if(isNaN(p)){return}if(p>max){$(this).remove()}});for(var i=0;i<=10;i++){$('.mview[data-menu="chapters"] ul.chapters li[data-page=""]').each(function(){if($(this).find("ul li").length==0){$(this).remove()}})}}};function FluidbookIndex(fluidbook){this.fluidbook=fluidbook;this.init()}FluidbookIndex.prototype={init:function(){this.normalHTML="";this.padHTML="";this.singleMode=this.fluidbook.singleMode},getView:function(group){if(this.fluidbook.pad.enabled){return this.getPadView(group)}else{return this.getNormalView()}},getPadView:function(group){return this.fluidbook.bookmarks.getIndex(true,group)},preloadThumbs:function(callback){this.fluidbook.loader.preloadThumbs(callback)},openIndex:function(title,group,closeAll,callback){var $this=this;this.fluidbook.displayLoader();this.preloadThumbs(function(){$this._openIndex(title,group,closeAll,callback)})},_openIndex:function(title,group,closeAll,callback){var c=!closeAll?" one":"";var index=this.fluidbook.menu.getCaption(title);index+=this.getView(group);this.fluidbook.menu.viewWrap(index,"index");var cp=this.fluidbook.currentPage;if(!this.fluidbook.singleMode){if(cp%2===1){cp--}}$("#view").find('.doubleThumb[page="'+cp+'"]').addClass("here");this.fluidbook.bookmarks.updateBookmarks();if(callback!=undefined){callback()}},reset:function(){this.normalHTML="";this.padHTML=""},getNormalView:function(forceNormal){if(this.normalHTML===""){this.normalHTML=this._getNormalView()}return this.normalHTML},_getSearchResultsView:function(){return this._getNormalView(true,141,false,false)},_getNormalView:function(forceNormal,height,bookmarks,pageLinks){var contentClass="content";if(pageLinks===undefined){pageLinks=true}if(bookmarks===undefined){bookmarks=true}if(forceNormal===undefined){forceNormal=false}if(height===undefined){height="auto"}var mobileFirst=this.fluidbook.mobilefirst.enabled&&!forceNormal;if(mobileFirst){contentClass+=" mobilefirst noscroll"}var res="";res+='<div class="'+contentClass+'"><div class="indexView">';if(this.fluidbook.settings.indexMessage!==""){res+='<div class="indexViewMessage">'+this.fluidbook.settings.indexMessage+"</div>"}res+=this.getPages(height,pageLinks,bookmarks,mobileFirst);res+="</div></div>";return res},getPages:function(height,pageLinks,bookmarks,mobileFirst){if(pageLinks===undefined){pageLinks=true}if(bookmarks===undefined){bookmarks=true}if(height===undefined){height="auto"}if(mobileFirst===undefined){mobileFirst=this.fluidbook.mobilefirst.enabled}var res='<nav class="indexViewHolder">';var j=0;var ix1="",ix2="",ix="";var c="";var s1,s2;var increment=this.singleMode?1:2;var start=this.singleMode?1:0;for(var i=start;i<=this.fluidbook.contentlock.getMaxPage();i+=increment){res+=this.getPage(i,this.singleMode,height,pageLinks,bookmarks,mobileFirst,"")}res+="</nav>";return res},getPage:function(page,singleMode,height,links,bookmarks,mobileFirst,additionalContent){if(additionalContent===undefined){additionalContent=""}var pages=[];var j=page+1;var ix1="";var ix2="";var ix;var dim=this.getThumbDimensions(page,height);var s1,s2;if(singleMode){var c=" singlemode simple left ";s2=s1="left"}else{c="";if(this.fluidbook.l10n.dir==="ltr"){s1="left";s2="right"}else{s1="right";s2="left"}}if(page>0){ix1+=this._thumb(page,s1,height,undefined,links);if(this.fluidbook.bookmarks.enabled&&bookmarks){ix1+=this.fluidbook.bookmarks.getBookmarkForPage(page,mobileFirst,this.fluidbook.settings.bookmarkPermanentIcon)}pages.push(page);ix1+="</div>"}else{c=" simple "+s2}if(this.fluidbook.l10n.dir==="rtl"){s1="left";s2="right"}else{s1="right";s2="left"}if(!singleMode){if(j<=this.fluidbook.contentlock.getMaxPage()){ix2+=this._thumb(j,s1,height,undefined,links);if(this.fluidbook.bookmarks.enabled&&bookmarks){ix2+=this.fluidbook.bookmarks.getBookmarkForPage(j,true)}ix2+="</div>";pages.push(j)}else{c=" simple "+s2}if(j===1){pages.unshift(0)}ix=ix1+ix2}else{ix=ix1}var res='<div class="doubleThumb'+c+'" page="'+page+'" data-pages="'+pages.join(",")+'"'+dim.doublethumb+">"+ix;res+=additionalContent;res+="</div>";return res},_thumb:function(page,side,height,label,link){if(link===undefined){link=true}var dim=this.getThumbDimensions(page,height);var virtual=this.fluidbook.physicalToVirtual(page);if(label===undefined){label=virtual}var res='<div class="thumb '+side+'" '+dim.thumb+">";if(link){res+='<a role="button" aria-label="'+sprintf(this.fluidbook.l10n.__("goto page %s"),label)+'" class="clickonly" href="#/page/'+page+'">'}res+=this.fluidbook.loader.getThumbImage(page,true,dim.thumb);if(link){res+="</a>"}res+='<span aria-hidden="true" class="number" '+dim.pagenumber+">"+label+"</span>";return res},getThumbDimensions:function(page,height){var h="";var pnt="";var dth="";if(height===undefined){height="auto"}if(this.fluidbook.mobilefirst.enabled){var ph;if(height==="auto"){ph=this.fluidbook.loader.getPageDimensions(page,100).height}else{ph=height}console.log(page,height,ph);h=' style="height:'+ph+'px;"';pnt=' style="top:'+(ph-5)+'px;" data-top="'+(ph-5)+'"';dth=' style="height:'+ph+'px;" data-height="'+ph+'" '}return{thumb:h,pagenumber:pnt,pageheight:ph,doublethumb:dth}}};function FluidbookLandingPage(fluidbook){this.fluidbook=fluidbook;this.hasLandingPage=false;this.init()}FluidbookLandingPage.prototype={init:function(){var $this=this;if(this.fluidbook.settings.landingPage!=undefined&&this.fluidbook.settings.landingPage!=""){this.hasLandingPage=true}setTimeout(function(){$this.setupLandingPage()},10)},setupLandingPage:function(){var $this=this;if(this.hasLandingPage){$("#landingPage").html('<iframe id="landingPageIframe" width="100%" height="100%" frameborder="0" src="data/landing-page/index.html"></iframe>');$("#landingPageIframe").on("load",function(){$(this).contents().on($this.fluidbook.input.clickEvent,"a",$this.handleLink)})}},handleLink:function(event){if($(this).data("page")!==undefined){fluidbook.landingpage.hide();fluidbook.setCurrentPage(parseInt($(this).data("page")))}else if($(this).data("link")!==undefined){fluidbook.landingpage.hide();var link=$('[data-id="'+$(this).data("link")+'"] a');if(link.length>0){window.location.hash=link.attr("href")}}else{var href=$(this).attr("href");if(href.indexOf("#")===0){event.preventDefault();window.location.hash=href;fluidbook.landingpage.hide()}else{window.open(href,"_blank")}}event.preventDefault();return false},hide:function(){$("#landingPage").removeClass("visible")},show:function(){$("#landingPage").addClass("visible")},resize:function(w,h){if(!this.hasLandingPage){return}console.log("TODO: landing page resize...")}};function FluidbookPrint(fluidbook){this.fluidbook=fluidbook;this.init()}FluidbookPrint.prototype={init:function(){var $this=this;$(document).on(this.fluidbook.input.clickEvent,"#confirmChoice",function(event){event.preventDefault();var element=$(this);var mode=element.data("mode");var print=mode==="print";var dynamicPDF=$this.fluidbook.service.getBaseURL(true)+(print?"ep":"e")+"/"+$this.fluidbook.settings.cid+"/";var leftPageNumber=$this.fluidbook.getPhysicalPageNumberOfSide("left");var rightPageNumber=$this.fluidbook.getPhysicalPageNumberOfSide("right");var choice=$('input[name="pageChoice"]:checked').val();
1switch(choice){case"left":$this.fluidbook._openFilePreload(dynamicPDF+leftPageNumber,element,"pdf",leftPageNumber+".pdf",print);break;case"right":$this.fluidbook._openFilePreload(dynamicPDF+rightPageNumber,element,"pdf",rightPageNumber+".pdf",print);break;case"double":var pageRange=leftPageNumber+"-"+rightPageNumber;$this.fluidbook._openFilePreload(dynamicPDF+pageRange,element,"pdf",pageRange+".pdf",print);break;case"all":$this.fluidbook.openPDF(element,print);break;case"bookmarks":$this.fluidbook.bookmarks.openPDF(element,print);break;case"range":var rangeStart=$this.fluidbook.virtualToPhysical($("#pageRangeStart").val());var rangeEnd=$this.fluidbook.virtualToPhysical($("#pageRangeEnd").val());if(isNaN(rangeStart)||isNaN(rangeEnd)||rangeStart<1||rangeEnd>$this.fluidbook.settings.pages||rangeStart>rangeEnd){alert(__("Invalid page range. Please try again."));return false}var pageRange=rangeStart+"-"+rangeEnd;$this.fluidbook._openFilePreload(dynamicPDF+pageRange,element,"pdf",pageRange+".pdf",print);break;default:return false}});$(document).on("focus",".page-range-input",function(){$("#pageRange").prop("checked",true)});$(document).on(this.fluidbook.input.clickEvent,".bookmarks-option.disabled",function(event){event.preventDefault();$this.fluidbook.menu.quickCloseView();$this.fluidbook.menu.openView("bookmarkHelp")})},getView:function(mode){this.compact=this.fluidbook.mobilefirst.enabled;mode=mode==="download"?mode:"print";this.leftPageNumber=this.fluidbook.getPhysicalPageNumberOfSide("left");this.rightPageNumber=this.fluidbook.getPhysicalPageNumberOfSide("right");this.isFirstPage=this.fluidbook.currentPage===0;this.isLastPage=this.fluidbook.currentPage===this.fluidbook.settings.pages;this.isSinglePageMode=this.fluidbook.resize.orientation==="portrait";this.buttonLabels={print:__("print"),download:__("download")};var view="";view+='<div class="content">';view+='<div role="radiogroup" class="print-dialogue'+(this.compact?" compact":"")+'">';if(this.fluidbook.settings.pdfComplexShowCurrent){view+=this.getSinglePages();if(!this.isFirstPage&&!this.isLastPage&&!this.isSinglePageMode){var label=__("spread");view+='<div class="print-option" role="radio" aria-label="'+label+'">';if(!this.compact){view+='<label for="doublePage" aria-hidden="true">';view+='<div class="doubleThumb">';view+='<div class="thumb left">';view+=this.fluidbook.loader.getThumbImage(this.leftPageNumber,true);view+="</div>";view+='<div class="thumb right">';view+=this.fluidbook.loader.getThumbImage(this.rightPageNumber,true);view+="</div>";view+="</div>";view+="</label>"}view+='<input aria-hidden="true" type="radio" name="pageChoice" value="double" id="doublePage">';view+='<label aria-hidden="true" for="doublePage" class="print-label-text">'+label+"</label>";view+="</div>"}}if(this.fluidbook.settings.printFullBrochure){var label=__("entire brochure");view+='<div class="print-option" role="radio" aria-label="'+label+'">';if(!this.compact){view+='<label aria-hidden="" for="allPages">';view+='<div class="doubleThumb">';view+='<div class="thumb '+(this.fluidbook.l10n.ltr?"left":"right")+'">';view+=this.fluidbook.loader.getThumbImage(1,true);view+="</div>";view+="</div>";view+="</label>"}view+='<input aria-hidden="true" type="radio" name="pageChoice" value="all" id="allPages">';view+='<label aria-hidden="true" for="allPages" class="print-label-text">'+label+"</label>";view+="</div>"}if(this.fluidbook.settings.bookmark){var label=__("bookmarks");var hasBookmarks=this.fluidbook.bookmarks.hasBookmarkedPages(),bookmarksDisabled=hasBookmarks?"":"disabled";view+='<div class="print-option bookmarks-option '+bookmarksDisabled+'" role="radio" aria-label="'+label+'">';if(!this.compact){view+='<label for="bookmarkedPages" aria-hidden="true">';view+='<div class="doubleThumb bookmarks">';view+=this.fluidbook.bookmarks.getPrintPreview();view+="</div>";view+="</label>"}view+='<input aria-hidden="true" type="radio" name="pageChoice" value="bookmarks" id="bookmarkedPages" '+bookmarksDisabled+">";view+='<label aria-hidden="true" for="bookmarkedPages" class="print-label-text">'+label+"</label>";view+="</div>"}if(this.fluidbook.settings.pdfComplexShowCurrent){view+='<div class="print-option blank" aria-hidden="true"></div>'}if(this.fluidbook.settings.printPageRange){var rangeStart=Math.max(this.leftPageNumber,1);var rangeEnd=Math.min(rangeStart+1,this.fluidbook.settings.pages);view+='<div class="print-option page-range-option" role="radio">';view+='<input aria-hidden="true" type="radio" name="pageChoice" value="range" id="pageRange">';view+='<label for="pageRange">';view+=__("From page");view+='<input class="page-range-input" type="text" id="pageRangeStart" value="'+this.fluidbook.physicalToVirtual(rangeStart)+'" autocomplete="off">';view+=__("to");view+='<input class="page-range-input" type="text" id="pageRangeEnd" value="'+this.fluidbook.physicalToVirtual(rangeEnd)+'" autocomplete="off">';view+="</label>";view+="</div>"}view+="</div>";view+='<div class="fonctions">';view+='<a role="button" id="confirmChoice" href="#" data-mode="'+mode+'">'+this.buttonLabels[mode]+"</a>";view+="</div>";view+="</div>";return view},getSinglePage:function(side,pageNumber,label,addMask){var sideMask="";
1if(addMask){sideMask=side==="left"?"right":"left"}var view="";view+='<div class="print-option" role="radio" aria-label="'+label+'">';if(!this.compact){view+='<label for="'+side+'Page" aria-hidden="true">';view+='<div class="doubleThumb">';if(addMask&&sideMask==="left"){view+=this.getSideMask(sideMask)}view+='<div class="thumb '+side+'">';view+=this.fluidbook.loader.getThumbImage(pageNumber,true);view+="</div>";if(addMask&&sideMask==="right"){view+=this.getSideMask(sideMask)}view+="</div>";view+="</label>"}view+='<input aria-hidden="true" type="radio" name="pageChoice" value="'+side+'" id="'+side+'Page">';view+='<label aria-hidden="true" for="'+side+'Page" class="print-label-text">'+label+"</label>";view+="</div>";return view},getSideMask:function(side){return'<div aria-hidden="true" class="thumb '+side+' blank"><div class="blank-mask"></div></div>'},getSinglePages:function(){var view="";var onePage=this.isSinglePageMode||this.isFirstPage||this.isLastPage;var leftPage=this.leftPageNumber;var rightPage=this.rightPageNumber;if(this.fluidbook.l10n.dir==="ltr"){if(this.isFirstPage){leftPage=this.rightPageNumber}view+=this.getSinglePage("left",leftPage,onePage?__("Current page"):__("left page"),!onePage);if(!onePage){view+=this.getSinglePage("right",rightPage,__("right page"),true)}}else{if(this.isFirstPage||this.isSinglePageMode){rightPage=this.leftPageNumber}view+=this.getSinglePage("right",rightPage,onePage?__("Current page"):__("right page"),!onePage);if(!onePage){view+=this.getSinglePage("left",leftPage,__("left page"),true)}}return view},advancedPrint:function(){if(this.fluidbook.settings.phonegap!==false){return false}if(this.fluidbook.support.offline&&!this.fluidbook.settings.offlineEnableAdvancedPrinting){return false}return true}};function FluidbookSecure(fluidbook){this.fluidbook=fluidbook;this.serverSideRecaptcha=true;this.lastRecaptchaCall=0;this.init()}FluidbookSecure.prototype={init:function(){if(this.fluidbook.settings.recaptcha){this.recaptcha("load",function(){})}if(this.fluidbook.settings.restrictPrintDownload!==""){if(window.location.search.indexOf(this.fluidbook.settings.restrictPrintDownload)===-1){if(this.fluidbook.settings.restrictPrint){this.fluidbook.settings.print=false}if(this.fluidbook.settings.restrictDownload){this.fluidbook.settings.pdf=false}if(this.fluidbook.settings.restrictSendBookmark){this.fluidbook.settings.bookmarkSendEnable=false}}}},recaptcha:function(action,callback){var now=Date.now();var limit=now-6e4;if(this.lastRecaptchaCall>limit){callback();return}this.lastRecaptchaCall=now;var $this=this;try{grecaptcha.ready(function(){grecaptcha.execute(this.fluidbook.settings.recaptcha,{action:action}).then(function(token){if($this.serverSideRecaptcha){$.ajax({method:"post",url:"_recaptcha.php",data:{token:token},complete:callback,error:function(data){$this.serverSideRecaptcha=false;callback()}})}else{callback()}})})}catch(e){callback()}},checkSecure:function(callback){var $this=this;if(this.fluidbook.settings.secureURL!=="http://"&&this.fluidbook.settings.secureURL!==""&&this.fluidbook.settings.secureClientSidePassword!==""){return this.checkSecureByURL(function(res){if(res){callback()}else{$this.checkSecureByClientSidePassword(callback)}},false)}if(this.fluidbook.settings.secureURL!=="http://"&&this.fluidbook.settings.secureURL!==""){return this.checkSecureByURL(callback,true)}if(this.fluidbook.settings.secureClientSidePassword!==""||this.fluidbook.settings.secureClientSideEnabled){return this.checkSecureByClientSidePassword(callback)}callback()},checkSecureByURL:function(callback,nokURL){if(nokURL===undefined){nokURL=true}var $this=this;$.ajax({url:$this.fluidbook.settings.secureURL,crossDomain:true,method:"GET",type:"json",xhrFields:{withCredentials:true},success:function(data){var res=data!==undefined&&data.data!==undefined&&data.data[0]!==undefined&&data.data[0]["logged-in"];if(res!==undefined&&res!==null){if(!nokURL){callback(res)}else{if(res===true){callback(true)}else if(res===false){$this.secureByURLNOK()}}}},error:function(e){console.log(e);callback(false)}})},secureByURLNOK:function(){console.warn("Auth failed");window.location=this.fluidbook.settings.secureURLRedirect},checkSecureByClientSidePassword:function(callback){var u=window.sessionStorage.getItem("secureUsername");if(u!==null){u=u.toLowerCase()}var p=window.sessionStorage.getItem("securePassword");var ok=false;if(u!==null&&p!==null){$.each(this.fluidbook.settings.secureClientSidePasswordCredentials,function(user,data){if(forge_sha256(data.usersalt+"+"+u)===user&&forge_sha256(data.salt+"-"+p)===data.hash){ok=true}})}if(!ok){window.location="secure.html";return}callback()}};function FluidbookTabs(fluidbook){this.fluidbook=fluidbook;this.hasSVGTabs=false;this.visibility={};if(this.fluidbook.settings.svgTabs){this.hasSVGTabs=true;this.svgLoaded=false;this.cont;this.naturalDimensions={width:0,height:0};this.init()}else if(this.hasTabs()){this.initZip()}}FluidbookTabs.prototype={hasTabs:function(){return this.fluidbook.settings.tabsHTML5!==""},initZip:function(){},checkVisibility:function(types){var res=true;var $this=this;$.each(types,function(k,type){if($this.visibility[type]===false){res=false;return false}});return res},guessTabsWidth:function(bookScale){var fh=this.fluidbook.settings.height*bookScale;var tabsScale=fh/this.naturalDimensions.height;return this.linkWidth*tabsScale},guessBookScale:function(bookScale,aw,fww){if(!this.hasSVGTabs||!this.svgLoaded){return 1}if(this.checkVisibility(["portrait"])===false){this.changeVisibility("priority",true);return 1}var tabsWidth=this.guessTabsWidth(bookScale);var awt=aw-tabsWidth*2;var scale=awt/fww;var ratio=scale/bookScale;var reductionRatio=1-ratio;if(reductionRatio>this.priority){this.changeVisibility("priority",false);return 1}this.changeVisibility("priority",true);return Math.min(1,ratio)},init:function(){if($("#background .links").length===0){$("#background").append('<div class="links"></div>')}this.setOptions();var hidden="";if(this.fluidbook.settings.tabsHiddenAtStartup){hidden=' data-hidden="1"'}$("#background .links").append('<div id="l_tabs" class="link tabslink multimedia '+this.align+'" data-id="tabs"'+hidden+"></div>");this.element=$("#l_tabs");this.addLinks(this.fluidbook.settings.tabsPages);this.initTabs()},setOptions:function(){this.hideOnPages=this.fluidbook.settings.tabsHideOnPages;this.hideOnLastPage=this.fluidbook.settings.tabsHideOnLastPage;this.hideOnFirstPage=this.fluidbook.settings.tabsHideOnCover;this.hideOnPortrait=this.fluidbook.settings.tabsHideOnPortrait;this.hideOnZoom=this.fluidbook.settings.tabsHideOnZoom;this.hideWhenOverlapingArrows=this.fluidbook.settings.tabsHideWhenOverlapingArrows;this.mode="side";this.side=this.align=this.fluidbook.settings.tabsSide;this.margin=parseFloat(this.fluidbook.settings.tabsMargin);this.hideEdge=this.fluidbook.settings.tabsHideEdges;this.linkWidth=parseFloat(this.fluidbook.settings.tabsLinkWidth);this.priority=parseFloat(this.fluidbook.settings.tabsPriority)/100;this.disabledOnPages=this.fluidbook.settings.tabsDisabledOnPages;this.sections=this.fluidbook.settings.tabsSections.map(function(x){return parseInt(x)})},updateClasses:function(){if(!this.fluidbook.cache.isset("tabsClasses")){return}var $this=this;var classes=this.fluidbook.cache.get("tabsClasses");
1$.each(classes,function(o,classes){$this.svg.find("#o"+o).attr("class",classes)});this.changePage(this.fluidbook.currentPage)},areLinksSetFromEditor:function(){return this.fluidbook.settings.links.tabs!==undefined&&this.fluidbook.settings.links.tabs.normal!==undefined},addLinks:function(pages){if(this.areLinksSetFromEditor()){return}this.links=[];var $this=this;var sections=[];if(this.hasSections()){$.each(this.sections,function(id,limit){var sectionPages=[];var foundOnePage=false;$.each(pages,function(k,p){let weight=1;let e=p.toString().split("*");if(e.length===2){weight=parseInt(e[1]);p=e[0]}let page={page:p,weight:weight};if(p==="-"&&foundOnePage){sectionPages.push(page)}else{page.page=parseInt(page.page);if($this.getSectionByPageNumber(page.page)-1===id){foundOnePage=true;sectionPages.push(page)}else if(foundOnePage){return false}}});sections.push(sectionPages)})}else{var section=[];$.each(pages,function(k,p){let weight=1;let e=p.toString().split("*");if(e.length===2){weight=parseInt(e[1]);p=e[0]}section.push({page:p,weight:weight})});sections.push(section)}var index=1;$.each(sections,function(k,sectionPages){var totalWeight=0;$.each(sectionPages,function(k,value){totalWeight+=value.weight});var i=0;$.each(sectionPages,function(k,value){if(value.page!=="-"){var activeLandscape=parseInt(value.page);if(!$this.fluidbook.alwaysDisplayOnePage&&value%2===1){activeLandscape--}$this.links.push({css:{height:value.weight*(100/totalWeight)+"%",top:100/totalWeight*i+"%"},page:parseInt(value.page),pageActiveLandscape:activeLandscape,index:index,id:"o"+index})}i+=value.weight;index++})})},initTabs:function(){var $this=this;this.element.append('<div class="tabs"></div>');this.cont=this.element.find(".tabs");var svgPath="data/tabs.svg";$.get(svgPath,{},function(data){$this.cont.append(data);$this.naturalDimensions.width=Math.floor(parseFloat($(data).attr("width")));$this.naturalDimensions.height=Math.floor(parseFloat($(data).attr("height")));$this.svg=$this.cont.find("svg");$this.svg.addClass("tabsimg").css({height:"100%",width:"auto"});$this.svgLoaded=true;$this.createLinks();$this.initStandardEvents();$this.updateClasses()},"text")},changePage:function(page){var id="oo";var $this=this;if(this.disabledOnPages.indexOf(page)>=0){id="none"}else{$.each(this.links,function(k,v){var active=$this.fluidbook.displayOnePage?v.page:v.pageActiveLandscape;if(page>=active){try{if(v.last!==undefined&&page>=v.last){id="none"}else{id=v.id}}catch(e){}}})}if(id==="none"){this.svg.find('[id^="o"].active').removeClass("active")}else{try{this.svg.find('[id^="o"].active:not(#'+id+")").removeClass("active");this.svg.find("#"+id).addClass("active")}catch(err){}}if(this.hasSections()){this.changeSection(page)}},changeSection:function(page){var currentSection=this.getSectionByPageNumber(page);if(currentSection>0){var sectionSelector="#s"+currentSection;this.svg.find('[id^="s"]').not(sectionSelector).addClass("section_hidden");this.svg.find(sectionSelector).removeClass("section_hidden");this.cont.find("[data-section]").not('[data-section="'+currentSection+'"]').hide();this.cont.find('[data-section="'+currentSection+'"]').show()}},hasSections:function(){return!(this.sections===undefined||this.sections==null||this.sections===""||this.sections.length===0)},getSectionByPageNumber:function(page){if(!this.hasSections()){return 0}var section=0;$.each(this.sections,function(k,v){if(parseInt(page)>=v){section=k+1}});return section},hideEdges:function(hide){if(!hide){$("#edges .edge, #shadow .shadow.side").css("visibility","visible");return}if(this.hideEdge===undefined||this.hideEdge==="none"){return}if(this.hideEdge==="left"||this.hideEdge==="both"){$("#edges .edge.left, #shadow .shadow.side.left").css({visibility:"hidden"})}if(this.hideEdge==="right"||this.hideEdge==="both"){$("#edges .edge.right, #shadow .shadow.side.right").css({visibility:"hidden"})}},createLinks:function(){var $this=this;if(this.areLinksSetFromEditor()){this.createLinksFromEditor();return}var commoncss={};commoncss.width=100*(this.linkWidth/this.naturalDimensions.width)+"%";commoncss.left=-100*(this.margin/this.naturalDimensions.width)+"%";$(this.links).each(function(k,v){var l=$('<a class="tablink" />');$this.cont.append(l);l.css(commoncss);l.css(v.css);if(v.page>=0){l.attr("href","#/page/"+v.page)}
1if($this.hasSections()){l.attr("data-section",$this.getSectionByPageNumber(v.page))}if($this.svg.find("#t"+v.index).length>0){l.attr("data-labelid","t"+v.index)}})},createLinksFromEditor:function(){let $this=this;const dims=["left","top","width","height"];$.each(this.fluidbook.settings.links.tabs.normal,function(k,link){var l=$(link);$this.cont.append(l);$.each(dims,function(k,dim){let v=parseFloat($(l).css(dim));let div=$this.naturalDimensions.height;if(dim==="left"||dim==="width"){div=$this.naturalDimensions.width}$(l).css(dim,100*(v/div)+"%")});const a=$(l).find("a");let href=a.attr("href");href=href.replace(/^#\/page\/o(\d+)$/,function(match,tab,offset,string){return"#/page/"+$this.getTabPageNumber(tab)});$(a).attr("href",href);$(l).addClass("tablink")})},initStandardEvents:function(){var $this=this;$(this.fluidbook).on("fluidbook.resize",function(e,data){$this.resize(data);return true});if(this.hideOnZoom){this.visibility.zoomin=true;$(this.fluidbook).on("fluidbook.zoom.in.start",function(e){$this.changeVisibility("zoomin",false)});$(this.fluidbook).on("fluidbook.zoom.out.end",function(e){$this.changeVisibility("zoomin",true)})}if(this.hideOnPortrait){this.visibility.portrait=true;$(this.fluidbook).on("fluidbook.resize.orientation",function(e,data){if(data.orientation==="portrait"){$this.changeVisibility("portrait",false)}else{$this.changeVisibility("portrait",true)}})}if(this.hideOnLastPage){this.visibility.lastpage=true}if(this.hideOnFirstPage){this.visibility.firstpage=true}$(this.fluidbook).on("fluidbook.page.change.start",function(e,page){$this.checkPageVisibility(page);$this.changePage(page)});$(this.fluidbook).on("fluidbook.page.change.end",function(e,page){$this.checkPageVisibility();$this.fluidbook.resize.resize()});$(document).on("mouseover",".tablink[data-labelid]",function(){$this.svg.find('[id^="t"].active').removeClass("active");$this.svg.find("#"+$(this).data("labelid")).addClass("active")});$(document).on("mouseout",".tablink[data-labelid]",function(){$this.svg.find('[id^="t"].active').removeClass("active")})},checkPageVisibility:function(page){var $this=this;var pages=this.fluidbook.getDisplayedPages(page);var hide=false;$.each(pages,function(k,p){if($this.hideOnPages.indexOf(p)>=0){hide=true;return false}});this.changeVisibility("firstpage",!hide)},changeVisibility:function(type,visible){this.visibility[type]=visible;var tabsvisible=true;$.each(this.visibility,function(k,v){if(!v){tabsvisible=false;return false}});if(!tabsvisible){this.cont.addClass("hide")}else{this.cont.removeClass("hide")}this.hideEdges(tabsvisible)},resize:function(data){var $this=this;var css={position:"absolute"};var svgcss={height:css.height};if(this.mode==="side"){var scale=data.fluidbookrect.height/this.naturalDimensions.height;var w=this.naturalDimensions.width*scale;css.top=data.fluidbookrect.top;css.height=data.fluidbookrect.height;if(this.fluidbook.support.IE>0){svgcss.width=w}if(this.fluidbook.support.iOS){if(this.svg.get(0).style.height==="100%"){svgcss.height="99.9999%"}else{svgcss.height="100%"}}css.width="auto";if(this.align==="right"){css.left=data.fluidbookrect.left+data.fluidbookrect.width+this.margin*scale}else if(this.align==="left"){css.left=data.fluidbookrect.left-w-this.margin}let centerOffet=this.cont.data("left");if(centerOffet!==null&&!isNaN(centerOffet)){css.left-=centerOffet}}try{this.svg.css(svgcss)}catch(e){}if(this.fluidbook.support.safari&&this.fluidbook.support.macOs){setTimeout(function(){$this.svg.css("position","absolute")},10);setTimeout(function(){$this.svg.css("position","relative")},100)}console.log(css);this.cont.css(css)},getTabPageNumber:function(tab){return this.fluidbook.settings.tabsPages[tab-1]}};function FluidbookArticles(fluidbook){this.fluidbook=fluidbook;this.initPDFJSIframeInterval=null;this.init()}FluidbookArticles.prototype={init:function(){if(!this.isEnabled()){return}var $this=this;$(this.fluidbook).on("fluidbook.resize",function(){$this.resize()});if(this.fluidbook.settings.articlesPrint){$(document).on(this.fluidbook.input.clickEvent,'.mview[data-menu="article"] .articlesPrint',function(){var view=$(this).closest(".mview");if($(view).hasClass("pdf")){$(view).find(".pdfarticle.print").contents().find("#print").click()}else{var a=$(this).closest("article").attr("data-id");var print_window=window.open("","print_article","height=400,width=600");print_window.document.write($this.fluidbook.settings.articlesList[a
1].print);setTimeout(function(){print_window.focus();print_window.print();print_window.close()},1e3)}return false})}if(this.fluidbook.settings.articlesShare){$(document).on(this.fluidbook.input.clickEvent,'.mview[data-menu="article"] .articlesShare',function(){$(".mview").remove();$this.fluidbook.menu.openView("share","article:"+$(this).attr("data-id"),"article");return false})}},openArticle:function(url,callback){try{this.fluidbook.accessibility.audiodescription.pauseAllPlayers()}catch(e){}var article=this.findArticleByURL(url);if(article===null){callback()}var footerContents="";var view="";var cls="";var attrs="";if(article.type==="pdf"){var ratio=article.infos.width/article.infos.height;var width=Math.min(480,this.fluidbook.resize.ww);var height=Math.round(width/ratio);var imargin=0;var iwidth=width+imargin;var iheight=Math.round(iwidth/ratio);var zoom=Math.ceil(100*width/(article.infos.width/.75));footerContents='<div class="actions">';if(this.fluidbook.settings.articlesShare){footerContents+='<a href="#" class="articlesShare" data-id="'+article.id+'" data-url="'+article.url+'">'+getSpriteIcon("nav-share")+"</a>"}if(this.fluidbook.settings.articlesPrint){footerContents+='<a href="#" class="articlesPrint">'+getSpriteIcon("nav-print")+"</a>"}footerContents+="</div>";attrs+=' data-max-width="'+width+'" ';cls="pdf";view='<div class="content"><div class="pdfarticle-holder" style="max-width: '+width+"px;max-height: "+height+"px;width: "+width+"px;height: "+height+'px;">'+'<iframe class="pdfarticle view" frameborder="0" scrolling="no" width="'+iwidth+'" height="'+iheight+'" src="pdfjs/web/viewer.html?&file=../../data/links/'+article.content+"#zoom="+zoom+',0,0"></iframe>'+'<iframe class="pdfarticle print" frameborder="0" scrolling="no" width="'+iwidth+'" height="'+iheight+'" src="pdfjs/web/viewer.html?&file=../../data/links/'+article.printcontent+"#zoom="+zoom+',0,0"></iframe>'+"</div></div>"}else{view='<div class="content">'+article.contents+"</div>"}var footer='<div class="footer fixed"><a href="#/article/'+article.prev+'" class="article-prev">'+getSpriteIcon("interface-previous-simple")+" "+this.fluidbook.l10n.__("previous article")+"</a>"+footerContents+'<a href="#/article/'+article.next+'" class="article-next">'+this.fluidbook.l10n.__("next article")+" "+getSpriteIcon("interface-next-simple")+"</a></div>";view+=footer;this.fluidbook.menu.viewWrap(this.fluidbook.menu.closeButton()+view,"article",attrs,cls,true);$("iframe.pdfarticle.view").each(function(){var iframe=$(this);var view=iframe.parent().parent();$(this).on("load",function(){var $iframe=this;if(!$this.initIframe($iframe,view)){$this.initPDFJSIframeInterval=setInterval(function(){$this.initIframe($iframe,view)},100)}})});if($("#view article").attr("dir")===undefined){$("#view article").attr("dir",this.fluidbook.l10n.dir)}this.fluidbook.silentChangePage(article.page,true);callback();var $this=this;setTimeout(function(){$this.resize()},10)},initIframe:function(iframe,view){var body=$(iframe).contents().find("body");if($(body).length===0){return false}var m=25;$(body).on("mousewheel",function(e){var d=e.deltaY*m;var v="-="+d;if(e.deltaY<0){v="+="+d*-1}$(view).scrollTo(v)});this.initPDFArticles();clearInterval(this.initPDFJSIframeInterval);$(iframe).addClass("visible");return true},findArticleByURL:function(url){var res=null;$.each(this.fluidbook.settings.articlesList,function(k,v){if(v.url===url){res=v;return false}});return res},findArticleById:function(id){return this.fluidbook.settings.articlesList[id]},isEnabled:function(){return Object.keys(this.fluidbook.settings.articlesList).length>0},initPDFArticles:function(){$("iframe.pdfarticle.view").each(function(){var body=$(this).contents().find("body");$(body).addClass("article");$(body).addClass("seamless");var $this=this;setTimeout(function(){$($this).closest(".pdfarticle-holder").addClass("visible");$($this).closest(".mview").addClass("visible")},500)})},resize:function(){var $this=this;this.initPDFArticles();$(".mview article").each(function(){if($(this).hasClass("pdf")){}else{var w=$(this).width();var aw=$(this).find(".actions").outerWidth();if($this.fluidbook.resize.ww<800){aw+=20}$(this).find("h3").eq(0).css("width",w-aw);var $thisart=this;setTimeout(function(){$($thisart).closest(".mview").addClass("visible")},10)}})}};function FluidbookWidget(fluidbook){this.fluidbook=fluidbook;this.featureEnabled=true;this.enabled=false;this.nav="auto";this.init()}FluidbookWidget.prototype={init:function(){if($_GET["widget"]!="1"){return}this.background=false;if($_GET.hasOwnProperty("background")){this.background=$_GET["background"];if(this.background!=="transparent"&&this.background.indexOf("rgb")!==0&&this.background.indexOf("#")!==0){this.background="#"+this.background}}this.nav=$_GET.hasOwnProperty("nav")?$_GET["nav"]:"auto";this.action=$_GET.hasOwnProperty("action")?$_GET["action"]:"fullscreen";this.enabled=true;var $this=this;$(this.fluidbook).on("fluidbook.resize",function(){$this.update()});$("#fluidbook").on(this.fluidbook.input.clickEvent,function(){return $this.click()});this.update(true)},click:function(){var active=this.isWidgetModeActive();
1if(active){if(this.action==="fullscreen"){screenfull.toggle()}else if(this.action==="tab"){window.open(window.location.toString().replace("widget=1","widget=0"),"_blank")}}return!active},update:function(force){var newMode=this.isWidgetModeActive();if(force!==true&&newMode===this.enabled){return}this.enabled=newMode;if(this.enabled){this.enable()}else{this.disable()}},enable:function(){$("body").addClass("widget");if(this.background!==false){$("#background,#splash").attr("style","background-color: "+this.background+" !important;background-image:none !important")}if(this.nav=="auto"){$("body").removeClass("nav-horizontal").removeClass("nav-burger")}else if(this.nav==="horizontal"){$("body").addClass("nav-horizontal").removeClass("nav-burger")}else if(this.nav==="burger"){$("body").removeClass("nav-horizontal").addClass("nav-burger")}},disable:function(){$("body").removeClass("widget");$("#background,#splash").attr("style","");$("body").removeClass("nav-horizontal").removeClass("nav-burger")},isWidgetModeActive:function(){return this.featureEnabled&&!screenfull.isFullscreen}};function FluidbookKeyboard(fluidbook){this.fluidbook=fluidbook;this.shortcuts=[];this.initKeyboardShortcuts()}FluidbookKeyboard.prototype={initKeyboardShortcuts:function(){var $this=this;hotkeys.filter=function(event){var e=$(event.target||event.srcElement);return!e.is("input:not(#q),select,textarea")};this.keyShortcut("escape",function(){if($this.fluidbook.help.isVisible()){$this.fluidbook.help.hide()}if($this.fluidbook.menu.viewMode()){$this.fluidbook.menu.closeView(function(){},true,true)}$this.fluidbook.search.closeSearch();if($this.fluidbook.nav.menuIsOpen){$this.fluidbook.nav.closeMenu()}if(screenfull.isFullscreen){screenfull.exit()}});this.keyShortcut("tab,shift+tab",function(e,handler){if($this.fluidbook.menu.viewMode()){$this.tabNavigation(".mview",handler.shortcut==="tab"?1:-1);e.preventDefault()}},false,false);if(this.fluidbook.settings.fullscreen){this.keyShortcut("f11",function(){screenfull.toggle()})}if(!this.fluidbook.settings.print){this.keyShortcut("ctrl+p",function(){})}},_navigate:function(list,dir,actions){if(actions===undefined){actions=["focus"]}if(dir===undefined){dir=1}var items=$(list);console.log(list);var nb=items.length;var next;if($(items).has(document.activeElement)){var index=$(items).index(document.activeElement);next=(nb+index+dir)%nb;console.log("n",nb)}else{if(dir===1){next=0}else{next=nb-1}}console.log(next);var ne=$(items).eq(next);console.log(ne,actions);$.each(actions,function(k,action){if(action==="focus"){$(ne).focus()}else if(action==="click"){$(ne).click()}})},tabNavigation:function(selector,dir){var focusableElementsString='a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [tabindex="0"]:not(.ps__thumb-x):not(.ps__thumb-y), [contenteditable]';var elements=$(selector).find(focusableElementsString);var list=[];$(elements).each(function(){if($(this).parents('[tabindex="-1"],.ignore-tab-children').length===0){list.push(this)}});this._navigate(list,dir)},initBookmarksShortcuts:function(){var $this=this;this.keyShortcut("ctrl+alt+d",function(){$this.fluidbook.bookmarks.toggleSide("right")});this.keyShortcut("ctrl+shift+d",function(){$this.fluidbook.bookmarks.toggleSide("left")})},initSearchShortcuts:function(){var $this=this;this.keyShortcut("f3",function(){if($this.fluidbook.search.isResultNavOpened()){$this.fluidbook.search.nextResultsPage()}else{$this.fluidbook.nav.openSearch()}});this.keyShortcut("shift+f3",function(){if($this.fluidbook.search.isResultNavOpened()){$this.fluidbook.search.previousResultsPage()}});this.keyShortcut("up,down",function(e,handler){if($this.fluidbook.search.isHintsNavOpened()){$this.fluidbook.search.navigateHint(handler.key==="down"?1:-1);e.preventDefault()}else if($this.fluidbook.search.isResultsOverviewOpened()){$this.fluidbook.search.navigateResults(handler.key==="down"?1:-1);e.preventDefault()}},false,false)},initZoomShortcuts:function(){var $this=this;window.addEventListener("keydown",function(e){if(e.ctrlKey){if(e.key==="+"){$this.fluidbook.zoom.increaseZoom();e.preventDefault()}else if(e.key==="-"){$this.fluidbook.zoom.decreaseZoom();e.preventDefault()}else if(e.key==="0"){$this.fluidbook.zoom.resetZoom();e.preventDefault()}}});this.keyShortcut("left,right,up,down",function(e,handler){if($this.fluidbook.zoom.zoom===1){return}$this.fluidbook.zoom.move(handler.key);e.preventDefault()},false,false)},initInterfaceShortcuts:function(){var $this=this;this.keyShortcut("pageup,pagedown,home,end,left,right",function(e,handler){if($this.fluidbook.zoom.zoom>1){return}if(handler.key==="pageup"||handler.key==="pagedown"||handler.key==="left"||handler.key==="right"){var dir="Next";if(handler.key==="pageup"||handler.key==="left"&&this.fluidbook.l10n.ltr||handler.key==="right"&&this.fluidbook.l10n.rtl){dir="Previous"}var func="go"+dir;if(this.fluidbook.pad.enabled){func+="Chapter"}else{func+="Page"}this.fluidbook[func]()}else if(handler.key==="end"){$this.fluidbook.goLastPage()}else if(handler.key==="home"){$this.fluidbook.goFirstPage()}e.preventDefault()},false)},keyShortcut:function(shortcuts,func,preventDefault,check){if(preventDefault===undefined){preventDefault=true}if(check===undefined){check=true}if(shortcuts===""){return}var s={shortcuts:shortcuts,options:{}};if(check){s=this.checkShortcuts(shortcuts)}hotkeys(s.shortcuts,s.options,function(e,handler){func(e,handler);fluidbook.input.useKeyboard();if(preventDefault){e.preventDefault()}})},checkShortcuts:function(shortcuts){var $this=this;var res=[];var splitKey="+";var s=shortcuts.split(",");$.each(s,function(k,shortcut){shortcut=shortcut.trim();if($this.shortcuts.indexOf(shortcut)===-1){$this.shortcuts.push(shortcut);res.push(shortcut)}});return{shortcuts:res.join(", "),options:{splitKey:splitKey}}},ariaShortcut:function(shortcuts,func){if(shortcuts===""){return}this.keyShortcut(this.ariaToKey(shortcuts),func)},ariaToKey:function(shortcuts){var $this=this;shortcuts=shortcuts.split(" ");var res=[];var map={control:"ctrl",arrowleft:"left",arrowright:"right",arrowup:"up",arrowdown:"down"};$.each(shortcuts,function(k,shortcut){if(shortcut===""){return}var keys=shortcut.split("+");var ok=[];$.each(keys,function(kk,key){key=key.toLowerCase();if(map[key]){ok.push(map[key])}else{ok.push(key)}});res.push(ok.join("+"))});return res.join(",")}};function FluidbookPOSAd(fluidbook){this.fluidbook=fluidbook;this.enabled=this.fluidbook.settings.plv;this.direction=1;if(this.enabled){this.init()}}FluidbookPOSAd.prototype={init:function(){$("body").addClass("posad");this.fluidbook.settings.bookmarkBlinkOnPageChange=this.fluidbook.settings.mobileLinksRevealAnim=false;if(this.fluidbook.support.nwjs){win=nw.Window.get();win.enterFullscreen()}var $this=this;$(this.fluidbook).one("fluidbook.splash.hide",function(){$this.launch()})},launch:function(){var $this=this;setTimeout(function(){$this.nextPage()},this.fluidbook.settings.plvTimer*1e3)},nextPage:function(){var bv=this.fluidbook.getButtonsVisibility();if(this.direction===1){if(bv.next){this.fluidbook.goNextPage()}else{if(this.fluidbook.settings.plvMode==="first"){this.fluidbook.goFirstPage()}else{this.fluidbook.goPreviousPage();this.direction=-1}}}else{if(bv.previous){this.fluidbook.goPreviousPage()}else{this.fluidbook.goNextPage();this.direction=1}}var $this=this;$(this.fluidbook).one("fluidbook.page.change.end",function(){$this.launch()})}};function FluidbookNotes(fluidbook){this.fluidbook=fluidbook;this.enabled=!!this.fluidbook.settings.notes;this.allNotes=null;if(this.enabled){this.init()}}FluidbookNotes.prototype={init:function(){var $this=this;$(document).on(this.fluidbook.input.clickEvent,'#horizontalNav_notes,[data-action="notes"]',function(event){event.preventDefault();var rect=$(this).get(0).getBoundingClientRect();$this.fluidbook.tooltip.showFixedTooltip($("#notesHorizontalSub"),"w","n",{top:rect.y+rect.height+20,left
1:-30+rect.x+rect.width/2})});$(document).on(this.fluidbook.input.clickEvent,"#notes-add",function(){$this.addNote();return false});$(document).on(this.fluidbook.input.clickEvent,".note .remove",function(){$this.removeNote($(this).closest(".note"));return false});$(document).on("change keyup resize",".note textarea",function(){$this.updateNote($(this).closest(".note").attr("id"))});$(this.fluidbook).on("fluidbook.resize",function(){$this.resize()});$(this.fluidbook).on("fluidbook.page.change.start",function(){$this.clearNotes();$this.resize()});$(this.fluidbook).on("fluidbook.page.change.end",function(){setTimeout(function(){$this.resize();$this.initNotesFromStorage()},150)});$(document).on(this.fluidbook.input.clickEvent,".notes-toggle",function(){$this.toggleNotes();return false});$(this.fluidbook).on("fluidbook.zoom.in.start",function(){$("#notesHolder").addClass("hiddenzoom")});$(this.fluidbook).on("fluidbook.zoom.out.end",function(){$("#notesHolder").removeClass("hiddenzoom")});$("header").append(this.horizontalNav());$("body").addClass("notes-no").addClass("notes-unhidden");this.updateMenus()},unhideNotes:function(){if($("body").hasClass("notes-hidden")){this.toggleNotes()}},toggleNotes:function(){$("body").toggleClass("notes-hidden").toggleClass("notes-unhidden")},horizontalNav:function(){var res='<nav class="fixedTooltip" id="notesHorizontalSub">';res+='<a href="#" id="notes-add">'+getSpriteIcon("notes-add")+" "+this.fluidbook.l10n.__("add a note")+"</a>";res+='<a class="having-notes" href="#/notes">'+getSpriteIcon("notes-overview")+" "+this.fluidbook.l10n.__("all notes")+"</a>";res+='<a class="having-notes notes-toggle" href="#"><span class="unhide">'+getSpriteIcon("notes-unhide")+" "+this.fluidbook.l10n.__("unhide notes")+'</span><span class="hide">'+getSpriteIcon("notes-hide")+" "+this.fluidbook.l10n.__("hide notes")+"</span></a>";res+="</nav>";return res},addNote:function(){var name="note_"+Math.round(Math.random()*1e7);$("#notesHolder").append('<div class="note" id="'+name+'" style="left:'+(-120+.5*this.fluidbook.resize.fluidbookrect.width)+"px;top:"+(-120+.5*this.fluidbook.resize.fluidbookrect.height)+'px;"><a href="#" class="remove">'+getSpriteIcon("interface-close")+'</a><textarea placeholder="'+__("your text")+'" name="'+name+'"></textarea></div>');this.initNotes();this.createNote(name);this.updateMenus();this.unhideNotes()},removeNote:function(n){var id=$(n).attr("id");$("#"+id).remove();this._unsetNote(id);this.updateMenus()},clearNotes:function(){$("#notesHolder .note").each(function(){interact("#"+$(this).attr("id")).unset()});$("#notesHolder").html("")},initNotesFromStorage:function(){this.clearNotes();var notes=this.getNotesOfPageFromStorage();var $this=this;$.each(notes,function(k,v){v.y=Math.max(0,Math.min(1,v.y));v.x=Math.max(0,Math.min(1,v.x));var w=$this.fluidbook.resize.fluidbookrect.width;if(!$this.fluidbook.displayOnePage){w/=2;if(v.p%2===1){v.x++}}$("#notesHolder").append('<div class="note" id="'+k+'" style="left:'+v.x*w+"px;top:"+v.y*$this.fluidbook.resize.fluidbookrect.height+'px;"><a href="#" class="remove">'+getSpriteIcon("interface-close")+'</a><textarea style="width:'+v.w+"px;px;height:"+v.h+'px;" placeholder="'+__("your text")+'" name="'+k+'">'+v.c+"</textarea></div>")});this.initNotes()},getNotesOfPageFromStorage:function(page){if(page===undefined){page=this.fluidbook.currentPage}var pages=[page];if(!this.fluidbook.displayOnePage){if(this.currentPage===1){pages.unshift(0)}else{pages.push(this.fluidbook.currentPage+1)}}var notes=this.getAllNotes();var res={};$.each(notes,function(k,v){if(pages.indexOf(v.p)===-1){return}res[k]=v});return res},openMenu:function(callback){this.fluidbook.menu.viewWrap(this.getView(this.fluidbook.l10n.__("all notes")),"notes");if(callback!==undefined){callback()}},getView:function(title){var c=this.getIndex();if(c===false){return c}var index='<div class="notessub">';index+=this.fluidbook.menu.getCaption(title);index+=c;index+="</div>";return index},getIndex:function(){var contentClass="content";if(this.fluidbook.mobilefirst.enabled){contentClass+=" noscroll mobilefirst"}var $this=this;var index='<div class="'+contentClass+'"><div class="indexView notesView"><div class="indexViewHolder">';$.each(this.getPagesWithNotes(),function(k,page){var thumb_notes='<div class="notes">';$.each($this.getNotesOfPageFromStorage(page),function(id,n){if(!$this.fluidbook.displayOnePage){n.x/=2;if(n.p%2===1){n.x+=1}}var x=n.x*100;var y=n.y*100;thumb_notes+='<a href="#/page/'+n.p+'" class="note" style="top:'+y+"%;left:"+x+'%;" data-tooltip-hide-on-click data-tooltip="'+escapeHtml(n.c)+'"></a>'});
1thumb_notes+="</div>";index+=$this.fluidbook.menu.index.getPage(page,$this.fluidbook.displayOnePage,300,true,false,$this.fluidbook.mobilefirst.enabled,thumb_notes)});index+="</div></div>";index+="</div>";return index},getPagesWithNotes:function(){var pages=[];var $this=this;$.each(this.getAllNotes(),function(k,note){if(!$this.fluidbook.displayOnePage){if(note.p%2===1){note.p--}}if(pages.indexOf(note.p)===-1){pages.push(note.p)}});pages.sort();return pages},initNotes:function(){var $this=this;$("#notesHolder").find(".note").each(function(){$this.initNote($(this))})},initNote:function(note){if($(note).data("inited")===true){return}$(note).data("inited",true);this.setNotePosition(note,parseFloat($(note).css("left")),parseFloat($(note).css("top")));var $this=this;var options={inertia:true,modifiers:[interact.modifiers.restrict({restriction:"parent",elementRect:{top:0,left:0,right:1,bottom:1},endOnly:true})],ignoreFrom:"textarea",onstart:function(){if(Modernizr.ftouch){$this.fluidbook.touch.externalgesture=true}},onmove:function(event){$this.moveNote(event)},onend:function(){if(Modernizr.ftouch){setTimeout(function(){$this.fluidbook.touch.externalgesture=false},200)}$this.updateNote($(note).attr("id"))}};interact("#"+$(note).attr("id")).draggable(options)},setNotePosition:function(note,x,y){$(note).data("x",x).data("y",y).css({top:y,left:x})},moveNote:function(event){var target=event.target;this.setNotePosition(target,$(target).data("x")+event.dx,$(target).data("y")+event.dy)},getNotes:function(pageNr){if(!this.enabled){return""}},resize:function(){this.fluidbook.resize.updateFluidbookRect();var maxx=this.fluidbook.resize.fluidbookrect.width;var maxy=this.fluidbook.resize.fluidbookrect.height;var minx=this.fluidbook.resize.fluidbookrect.x;var miny=this.fluidbook.resize.fluidbookrect.y;this.dragRestrict={restriction:{x:minx,y:miny,width:maxx,height:maxy}};$("#notesHolder").css({top:this.fluidbook.resize.fluidbookrect.y,left:this.fluidbook.resize.fluidbookrect.x,width:this.fluidbook.resize.fluidbookrect.width,height:this.fluidbook.resize.fluidbookrect.height})},updateNote:function(id){this.fluidbook.resize.updateFluidbookRect();var n=this._getNote(id);var e=$("#"+id);var t=$(e).find("textarea");n.c=$(t).val();n.w=$(t).outerWidth();n.h=$(t).outerHeight();n.x=parseFloat($(e).css("left"))/this.fluidbook.resize.fluidbookrect.width;n.y=parseFloat($(e).css("top"))/this.fluidbook.resize.fluidbookrect.height;n.p=this.fluidbook.currentPage;if(!this.fluidbook.displayOnePage){n.x*=2;if(n.x>=1){n.x--;n.p++}}this._setNote(id,n)},updateMenus:function(){var nb=this.getNotesNumber();if(nb===0){$("body").addClass("notes-no")}else{$("body").removeClass("notes-no")}},getNotesNumber:function(){try{return this.getAllNotes().length}catch(e){}return 0},getAllNotes:function(){if(this.allNotes===null){this.allNotes=this.fluidbook.cache.find("note_")}return this.allNotes},createNote:function(id){this._setNote(id,this._defaultNote());this.updateNote(id)},_defaultNote:function(){return{x:0,y:0,w:0,h:0,p:-1,c:""}},_setNote:function(id,val){this.allNotes=null;this.fluidbook.cache.set(id,val)},_getNote:function(id){return this.fluidbook.cache.get(id,this._defaultNote())},_unsetNote:function(id){this.allNotes=null;this.fluidbook.cache.unset(id)}};function FluidbookGamify(fluidbook){this.fluidbook=fluidbook;this.totalCoins={main:0};this.init()}FluidbookGamify.prototype={init:function(){var $this=this;if(!this.fluidbook.scorm.ok){this.initGamify()}else{$(this.fluidbook).on("fluidbook.scorm.ready",function(){$this.initGamify()})}},getFromCache:function(key,defaultValue){if(!this.fluidbook.scorm.ok){return this.fluidbook.cache.get(key,defaultValue)}if(this.fluidbook.scorm.cache[key]===undefined||this.fluidbook.scorm.cache[key]===null){return defaultValue}return this.fluidbook.scorm.cache[key]},setToCache(key,value){if(!this.fluidbook.scorm.ok){return this.fluidbook.cache.set(key,value)}else{this.fluidbook.scorm.cache[key]=value;this.fluidbook.scorm.saveCache()}},initGamify:function(){this.coinsLinksSeen=this.getFromCache("gamify_coins_links_seen",[]);this.addedCoins=this.getFromCache("gamify_coins_added",{});var $this=this;$(this.fluidbook).on("fluidbook.page.change.end",function(e,page){$this.linkClicked("visit_page_"+page)});this.updateTotalCoins()},linkClicked:function(id){if(this.coinsLinksSeen.indexOf(id)===-1&&this.fluidbook.settings.gamifyCoins[id]!==undefined){this.coinsLinksSeen.push(id);this.save();this.updateTotalCoins()}},resetCoins:function(variable){var $this=this;if(variable===undefined){variable="main"}var addedCoins={};$.each(this.addedCoins,function(k,v){if(!$this.isSameVar(variable,v)){addedCoins[k]=v}});this.addedCoins=addedCoins;var coinsLinksSeen=[];$.each(this.coinsLinksSeen,function(k,uid){if($this.fluidbook.settings.gamifyCoins[uid]!==undefined){if(!$this.isSameVar(variable,$this.fluidbook.settings.gamifyCoins[uid])){coinsLinksSeen.push(uid)}}});this.coinsLinksSeen=coinsLinksSeen;this.save();this.updateTotalCoins()},isSameVar(v1,v2){let e=this.extractCoinsVariableAndValue(v2);return e.variable===v1.toLowerCase()},addCoins:function(id,coins){this.addedCoins[id]=coins;this.save();this.updateTotalCoins()}
1,setMaxCoins:function(id,coins){if(this.addedCoins[id]===undefined){return this.addCoins(id,coins)}let currentCoins=this.extractCoinsVariableAndValue(this.addedCoins[id]);let newValue=this.extractCoinsVariableAndValue(coins);this.addCoins(id,newValue.variable+":"+Math.max(newValue.value,currentCoins.value))},updateTotalCoins:function(){var $this=this;var formerValue=this.totalCoins;this.totalCoins={main:0};var stop=false;$.each(this.coinsLinksSeen,function(k,uid){if($this.fluidbook.settings.gamifyCoins[uid]!==undefined){if($this.sumCoins($this.fluidbook.settings.gamifyCoins[uid])===false){stop=true;return true}}});if(stop){return}$.each(this.addedCoins,function(id,coins){if($this.sumCoins(coins)===false){stop=true;return true}});if(stop){return}setTimeout(function(){$($this.fluidbook).trigger("fluidbook.gamify.coins.update",[$this.totalCoins])},1e3)},extractCoinsVariableAndValue:function(coins){var e=coins.toString().toLowerCase().split(":");var variable=e[0];var value;var action="coins";if(e.length===1){variable="main";value=e[0]}else{value=e[1]}if(value==="reset"){action="reset";value="0"}return{variable:variable,action:action,value:parseInt(value)}},sumCoins:function(v){let coins=this.extractCoinsVariableAndValue(v);if(coins.action==="reset"){console.log("reset coins "+coins.variable);this.resetCoins(coins.variable);return false}if(this.totalCoins[coins.variable]===undefined||this.totalCoins[coins.variable]===null){this.totalCoins[coins.variable]=0}this.totalCoins[coins.variable]+=coins.value;return true},save:function(){this.setToCache("gamify_coins_links_seen",this.coinsLinksSeen);this.setToCache("gamify_coins_added",this.addedCoins)},getTotalCoins:function(variable){if(variable===undefined){variable="main"}variable=variable.toString().toLowerCase();var res=this.totalCoins[variable];if(res===undefined){res=0}return res}};function Fluidbook(settings){this.init(settings)}Fluidbook.NONE=3;Fluidbook.STRETCH=0;Fluidbook.RATIO=2;Fluidbook.REPEAT=1;Fluidbook.CENTER=4;Fluidbook.LEFT=5;Fluidbook.RIGHT=6;Fluidbook.MIDDLE=7;Fluidbook.TOP=8;Fluidbook.BOTTOM=9;Fluidbook.prototype={init:function(settings){this.flags={};this.secureOKDone=false;this.initEventsWhenSecureOK=false;this.canNavigate=false;this.shortLoading=false;this.nointerface=false;this.hideBook=false;if($_GET["nointerface"]!==undefined){$("body").addClass("nointerface");settings.mobileTransitions="none";this.shortLoading=this.nointerface=true}if($_GET["shortLoading"]!==undefined){console.info("Short loading");this.shortLoading=true}this.initSettings(settings);this.secure=new FluidbookSecure(this);var $this=this;this.secure.checkSecure(function(){$this.secureOK()})},hasDraggableOnPage:function(v){if(v===undefined){return $("body").hasClass("draggable-on-page")}else if(v){$("body").addClass("draggable-on-page")}else{$("body").removeClass("draggable-on-page")}},_boolean:function(v){if(v===undefined||v===null||v==="0"||v===0||v==="false"||!v){return false}return true},secureOK:function(){this.singleMode=this.settings.mobileNavigationType==="portrait"||this.settings.mobileNavigationType==="mobilefirst";this.junk=this.settings.cacheDate;this.l10n=new FluidbookL10N(this,$_GET["lang"]);this.networkControl=new FluidbookNetworkControl(this);this.input=new FluidbookInput(this);this.keyboard=new FluidbookKeyboard(this);if(this.settings.landingPage!=undefined&&this.settings.landingPage!=""){this.landingpage=new FluidbookLandingPage(this)}this.splash=new FluidbookSplash(this);this.contentlock=new FluidbookContentLock(this);this.menu=new FluidbookMenu(this);this.support=new FluidbookSupport(this);this.search=new FluidbookSearch(this);this.mobilefirst=new FluidbookMobileFirst(this);this.displayOnePage=this.alwaysDisplayOnePage=this.settings.mobileNavigationType==="portrait"||this.pad&&this.pad.enabled||this.mobilefirst.enabled;this.zoom=new FluidbookZoom(this);this.zoom.resetZoom();this.cache=new FluidbookCache(this);this.service=new FluidbookService(this,this.settings.id);this.loader=new FluidbookLoader(this);if(!this.mobilefirst.enabled){this.slider=new FluidbookSlider(this)}this.pad=new FluidbookPad(this);this.scorm=new FluidbookScorm(this);this.links=new FluidbookLinks(this);if(window.FluidbookParallax){this.parallax=new FluidbookParallax(this)}this.waiters=[];this.viewport=new FluidbookViewport(this);this.viewport.updateViewport();this.desktop=new FluidbookDesktop(this);this.share=new FluidbookShare(this);this.firstTransition=true;this.touch=new FluidbookTouch(this);
1this.background=new FluidbookBackground(this);this.video=new FluidbookVideo(this);this.audioplayer=new FluidbookAudioPlayer(this);this.bookmarks=new FluidbookBookmarks(this);this.tooltip=new FluidbookTooltip(this);this.accessibility=new FluidbookAccessibility(this);this.sound=new FluidbookSound(this);if(window.FluidbookSlideshow){this.slideshow=new FluidbookSlideshow(this)}this.printing=new FluidbookPrint(this);this.posad=new FluidbookPOSAd(this);this.notes=new FluidbookNotes(this);this.gamify=new FluidbookGamify(this);if(this.settings.basket){this.cart=new FluidbookCart(this)}if(this.settings.form==="bulle"){this.form=new FluidbookBulleForm(this)}else if(this.settings.form==="bourbon"){this.form=new FluidbookBourbonForm(this)}else if(this.settings.form==="avery"){this.form=new FluidbookAveryForm(this)}else{this.form=false}this.privacy=new FluidbookPrivacy(this);if(typeof window.FluidbookTabs==="function"){this.tabs=new FluidbookTabs(this)}this.widget=new FluidbookWidget(this);this.refw=0;this.refh=0;this.refh=0;this.searchString="";this.vectorTexts=!this.support.imagesVersion;this.indexHTML="";this.gal=null;this.isReady=false;this.transitionAxis="x";if(this.support.isMobile){$("body").addClass("mobile")}else{$("body").addClass("desktop")}if(this.settings.correctCenter){$("body").addClass("correct-center")}if(this.pad.enabled){$("body").addClass("pad")}$("html").addClass(this.settings.mobileLVersion);this.currentPage=-1;this.currentPageURL=-1;this.contentlock.init();this.nav=new FluidbookNav(this);this.interface=new FluidbookInterface(this);this.resize=new FluidbookResize(this);this.pagetransitions=new FluidbookPageTransition(this);this.stats=new FluidbookStats(this);this.stats.track(10);this.help=new FluidbookHelp(this);this.articles=new FluidbookArticles(this);$(this).trigger("fluidbook.lib.ready");this.initTheme();this.initLoading();this.secureOKDone=true;if(this.initEventsWhenSecureOK){initEvents()}},initEvents:function(){var $this=this;$(document).on(this.input.clickEvent,".lazy",function(){return false});if(this.settings.url_link!==""&&this.settings.url_link!=="http://"&&this.settings.url_link!=="https://"){$("#logo").attr("href","#");$(document).on(this.input.clickEvent,"#logo",function(){$this.clickLogo();return false})}},initSettings:function(settings){this.settings=settings;if($_GET["transition"]!=null){var map={1:"none",2:"slide",3:"flip",4:"flip3d"};this.settings.mobileTransitions=map[$_GET["transition"]]}if(this.shortLoading){this.settings.performance3DMode="highPerf"}this.datas=this.settings},setMaxPage:function(p,allowbackwards){return this.contentlock.setMaxPage(p,allowbackwards)},initTheme:function(){var $this=this;if(this.settings.arrowsTheme){$("html").addClass("sharp")}if(this.nav.isInverted()){$("html").addClass("menu-inverted")}else{$("html").addClass("menu-default")}if(this.nav.isLogoCentered()){$("#logo").addClass("center")}$(document).on("fluidbook.init",function(){var logoImg=$("#splash .logo img");if($(logoImg).isLoaded()){$this.splashLogoLoaded()}else{$(logoImg).on("load",function(){$this.splashLogoLoaded()})}})},splashLogoLoaded:function(){resize();$("#splash .logo img").css("opacity",1)},initLoading:function(){if($("#loader svg").length>0){return}$("#loader").append(getSpriteIcon("interface-loader"));this.displayLoader();var $this=this;this.loader.preloadStart(function(){$this.ready()})},allowChangePage:function(){var $this=this;setTimeout(function(){$this.canNavigate=true;$($this).trigger("fluidbook.navigation.cannavigate")},1500)},ready:function(){if(this.isReady){return}this.isReady=true;$("#main").css("display","block");resize();$(this).trigger("fluidbook.ready");$(document).trigger("fluidbook.ready");this.changeAddress();var $this=this;setTimeout(function(){$this.help.displayAtStartup()},1500)},loadPlugins:function(){$.each(this.settings.plugins,function(k,plugin){try{var functionName=plugin.replace(/\./g,"_");eval(functionName+"();")}catch(err){}});$.each(this.settings.htmlmultimedia,function(k,code){try{eval(code)}catch(err){}})},initPage:function(pageNr,doublePage,position){if($("#page_"+pageNr).length>0){return}$(doublePage).find("."+position).remove();var page='<div class="page '+position+'" id="page_'+pageNr+'" data-page="'+pageNr+'"><div class="background" page="'+pageNr+'"></div><div class="ctlinks" data-blendmode="normal"></div><div class="texts" highlight=""></div><div class="clinks" data-blendmode="normal"></div><div class="shade"></div></div>';$(doublePage).append(page)},hidePage:function(position){$("#pages ."+position).hide()},canChangePage:function(){try{return this.pagetransitions.canChangePage()}catch(e){}return false},initVideos:function(){this.video.initVideos()},getNextOffset:function(){var offset=2;if(this.displayOnePage){offset=1}this.transitionAxis="x";return offset},goNextPage:function(){if(!this.canChangePage()){return}if(this.search.resultsNavActive()){this.search.nextResultsPage()}else{this.transitionAxis="x";this.setCurrentPage(this.normalizePage(this.currentPage)+this.getNextOffset())}},goFirstPage:function(){if(!this.canChangePage()){return}this.transitionAxis="x";this.setCurrentPage(1)},goPreviousPage:function(){if(!this.canChangePage()){return}if(this.search.resultsNavActive()){this.search.previousResultsPage()}else{this.transitionAxis="x";this.setCurrentPage(this.normalizePage(this.currentPage)-this.getNextOffset())}},goLastPage:function(){if(!this.canChangePage()){return}this.transitionAxis="x";this.setCurrentPage(this.contentlock.getMaxPage())},goNextChapter:function(){if(!this.canChangePage()){return}var next=this.bookmarks.getNextGroupCover(this.currentPage);if(next===false){return}this.transitionAxis="x";this.setCurrentPage(this.normalizePage(next))},goPreviousChapter:function(){if(!this.canChangePage()){return}var prev=this.bookmarks.getPreviousGroupCover(this.currentPage);if(prev===false){return}this.transitionAxis="x";this.setCurrentPage(this.normalizePage(prev))},goNextChapterPage:function(){if(!this.canChangePage()){return}var next=this.bookmarks.getNextPageInGroupOfPage(this.currentPage);if(next===false){return}this.transitionAxis="y";this.setCurrentPage(this.normalizePage(next))},goPreviousChapterPage:function(){if(!this.canChangePage()){return}var prev=this.bookmarks.getPreviousPageInGroupOfPage(this.currentPage);if(prev===false){return}this.transitionAxis="y";this.setCurrentPage(this.normalizePage(prev))},normalizePage:function(page){page=Math.max(1,Math.min(page,this.contentlock.getMaxPage()));if(!this.displayOnePage&&page%2===1){page--}return page},setCurrentPage:function(page){window.location.hash="#/page/"+this.normalizePage(page)},changeAddress:function(){var hash=window.location.hash;if($('.mview[data-hash="'+hash+'"]').length>0){return}var $this=this;var page;var args=hash.split("/");var defaultStartPage=1;if(FLUIDBOOK_START_PAGE!==undefined){defaultStartPage=FLUIDBOOK_START_PAGE}if(args.length<=1||args[1]==""||args[1]==undefined){if(this.landingpage!==undefined&&this.landingpage.hasLandingPage){window.location.hash="/landing";return}return this.setCurrentPage(defaultStartPage)}if(args.length>1){var a1=args[1];if(a1.match(/^[0-9]+$/)){args=["#","page",a1]}}$(this).trigger("fluidbook.hashchange",[args.slice()]);if(args[1]==="closeview"){console.log("closeview");return this.setCurrentPage(this.currentPage)}else if(args[1]==="page"){var anchor=this.normalizeAnchor(args[2]);
1if(this.settings.pageLabels[anchor]!==undefined){page=this.settings.pageLabels[anchor]}else{page=parseInt(args[2]);anchor=false}if(isNaN(page)||page==undefined){return this.setCurrentPage("1")}this.currentPageURL=page;if(page!==$this.currentPage){$($this).trigger("fluidbook.page.navigation",[page]);$($this).trigger("changePage",[page])}if(this.landingpage!==undefined){this.landingpage.hide()}this.menu._closeView(function(){if(page!==$this.currentPage){$this.pagetransitions.pageTransition(page);$this.stats.track(0,page);if(anchor){$this.scrollToAnchorAfterTransition(anchor)}}else{if(anchor){$this.scrollToAnchor(anchor)}}$this.zoom.resetZoom();$this.splash.hide();$this.menu.closeViewCallbackEvent(true)},true)}else if(args[1]==="landing"){$this.splash.hide();if(this.landingpage!==undefined){this.landingpage.show()}}else{var view=args[1];if(this.currentPage===-1){if(view==="multimedia"||view==="video"||view==="iframe"||view==="slideshow"){var searchURL=args.join("/");$.each(this.settings.links,function(pageNr,links){var hl=$("<root>"+links+"</root>");if($(hl).find('[href="'+searchURL+'"]').length>0){$this.currentPage=pageNr;return false}});if(this.currentPage===-1){this.currentPage=0}}else{this.currentPage=0}$this.pagetransitions.pageTransition(this.currentPage)}this.menu.openView(view,args[2],args[3],function(){$this.splash.hide()})}return},normalizeAnchor:function(anchor){return anchor.toLowerCase().replace(/-/g,"")},scrollToAnchor:function(anchor){if(!this.mobilefirst.enabled){return}anchor=this.normalizeAnchor(anchor);var id=$('[data-anchor="'+anchor+'"]').attr("id");gsap.to($("#scroll"),{duration:.5,scrollTo:{y:"#"+id,offsetY:$("header").outerHeight()+10}})},scrollToAnchorAfterTransition:function(anchor){if(!this.mobilefirst.enabled){return}var $this=this;if(this.splash.isVisible()){$(this).one("fluidbook.splash.hide",function(){$this.scrollToAnchor(anchor)})}else{$(this).one("fluidbook.page.change.end",function(){$this.scrollToAnchor(anchor)})}},silentChangePage:function(page,transition){if(page!==this.currentPage){if(transition!==true){this.currentPage=page}this.pagetransitions.pageTransition(page)}},reloadCurrentPage:function(){this.pageTransition(this.currentPage)},readingPage:function(side){if(!this.displayOnePage){var page=this.currentPage;var change=false;if(side==="left"&&page%2===1){page--;change=true}else if(side==="right"&&page%2===0){page++;change=true}if(change){window.location.hash="/page/"+page}}},getButtonsVisibility:function(page){if(page===undefined){page=this.currentPage}var max=this.contentlock.getMaxPage();if(this.contentlock.getMaxPage()%2===1&&this.settings.mobileNavigationType!=="portrait"&&this.settings.mobileNavigationType!=="mobilefirst"&&this.resize.orientation!=="portrait"){max--}var next=page<max;var previous=page>1;return{previous:previous,next:next}},hideUnnecessaryButtons:function(page){var speed=500;if(page===undefined){page=this.currentPage;speed=0}var visibility=this.getButtonsVisibility(page);if(visibility.next){this.showArrows("#next-arrows")}else{this.hideArrows("#next-arrows")}if(visibility.previous){this.showArrows("#prev-arrows")}else{this.hideArrows("#prev-arrows")}},hideArrows:function(id){$(id).addClass("hidden").attr("aria-hidden","true");$(id).find("a").prop("tabindex",-1)},showArrows:function(id){$(id).removeClass("hidden").attr("aria-hidden","false");$(id).find("a").prop("tabindex",0)},updateShadows:function(page,animationDuration){if(animationDuration===undefined){animationDuration=0}animationDuration*=1e3;var delay;if(animationDuration===0){delay=0}else{delay=animationDuration}var left=true,right=true;if(!this.displayOnePage){if(page<=1&&this.l10n.dir==="ltr"||page>=this.contentlock.getMaxPage()&&this.l10n.dir==="rtl"){left=false}else if(page<=1&&this.l10n.dir==="rtl"||page>=this.contentlock.getMaxPage()&&this.l10n.dir==="ltr"){right=false}}var s=$("#shadow,#edges");var s_in=[];var s_out=[];if(left){s_in.push(".left.hidden")}else{s_out.push(".left:not('.hidden')")}if(right){s_in.push(".right.hidden")}else{s_out.push(".right:not('.hidden')")}if(s_in.length>0){setTimeout(function(){$(s).children(s_in.join(",")).removeClass("hidden")},delay)}if(s_out.length>0){$(s).children(s_out.join(",")).addClass("hidden")}},showAllButtons:function(){$("#next-arrows,#prev-arrows").addClass("help").show()},setPageNumbers:function(){$("#pagesnumbers .left").html(this.getPageNumberOfSide("left",true));$("#pagesnumbers .right").html(this.getPageNumberOfSide("right",true));$("#pagesnumbers").removeClass("hidden")},getPhysicalPageNumberOfSide:function(side,strict){if(undefined===strict){strict=false}var pageSide=$("#currentDoublePage").find("."+side);if(pageSide.length===0){if(strict){return false}pageSide=$("#currentDoublePage").find(".page").eq(0)}return $(pageSide).data("page")},getDisplayedPages:function(page){var res=[];if(page===undefined){var left=this.getPhysicalPageNumberOfSide("left",true);var right=this.getPhysicalPageNumberOfSide("right",true);if(left!==false){res.push(left)}if(right!==false){res.push(right)}}else{if(this.displayOnePage||page==1){res.push(page)}else{if(page%2==1){res.push(page-1);res.push(page)}else{res.push(page);res.push(page+1)}}}return res},getPageNumberOfSide:function(side,strict){if(undefined===strict){strict=false}var physical=this.getPhysicalPageNumberOfSide(side,strict);if(!physical||physical===1){return""}return this.physicalToVirtual(physical)},clickLogo:function(){if(this.settings.url_link.indexOf("#")===0){window.location.hash=this.settings.url_link}else{this.wopen(this.settings.url_link,"_blank")}},addWaiter:function(reset){if(reset==undefined){reset=false}if(reset){this.resetWaiters()}var rand=Math.round(Math.random()*1e5);this.waiters.push(rand);return rand},waiterActive:function(id){return this.waiters.indexOf(id)>-1},resetWaiters:function(){this.waiters=[]},physicalToVirtual:function(page){return this.settings.numerotation[page-1]},virtualToPhysical:function(page){if(page===undefined){return false}var i=this.settings.numerotation.indexOf(page.toString());if(i==-1){return false}return i+1},hideMenuItems:function(){gsap.to($("#menuList > ul > li, #shareLinks,footer#mobile-credits"),{duration:.1,autoAlpha:0})},showMenuItems:function(){gsap.to($("#menuList > ul > li, #shareLinks,footer#mobile-credits"),{duration:.3,autoAlpha:1})},print:function(button){return this.openPDF(button,true)},downloadPDF:function(button){return this.openPDF(button,false)},openPDF:function(button,print){var $this=this;var pdf;var pdfName;if(this.settings.pages!=this.contentlock.getMaxPage()){pdf=this.service.getBaseURL(true)+"e/"+this.settings.cid+"/1-"+this.contentlock.getMaxPage()}else if(this.settings.pdfName.substr(0,4)==="http"){pdf=this.settings.pdfName}else{pdf=this.relativeToAbsolute(this.loader.getURL("data/"+this.settings.pdfName))}var e=pdf.split("/");pdfName=e.pop();this._openFile(pdf,button,"pdf",pdfName,print)},_openFile:function(url,e,type,localname,print){if(print===undefined){print=false}var statsEventType=print?3:7;this.stats.track(statsEventType);var $this=this;if(this.settings.phonegap!=false){if(type==undefined){var e=url.split(".");type=e.pop()}if(url.indexOf("http")===0){return this._downloadFilePhonegap(url,localname,window.TEMPORARY,this._openFilePhonegap,[url,e,type])}else{if(this._openFilePhonegap(url,e,type)){return}}}var w=this.wopen(url,"_blank","");if(print){setTimeout(function(){},2e3)}},_openFilePreload:function(url,e,type,localname,print){var $this=this;var f=function(){$this._openFile(url,e,type,localname,print)};if(this.settings.phonegap!=false){this.displayLoader();$.ajax({url:url,type:"HEAD",success:function(data){f();$this.hideLoader(1,true)}})}else{f()}},_downloadFilePhonegap:function(url,localname,fs,callback,callbackArgs){console.log("download file phonegap");var $this=this;if(fs===undefined){fs=LocalFileSystem.PERSISTENT}var requestFileSystem=window.requestFileSystem||window.webkitRequestFileSystem;requestFileSystem(fs,0,function(fileSystem){console.log("fs requested");fileSystem.root.getFile("dummy.html",{create:true,exclusive:false}
1,function(fileEntry){console.log("dummy file created");var filePath=fileEntry.toURL().replace("dummy.html","")+localname;var fileTransfer=new FileTransfer;var uri=encodeURI(url);fileTransfer.download(uri,filePath,function(entry){console.log("file donwloaded");if(callback!==undefined){if(callbackArgs===undefined){callbackArgs=[]}callbackArgs[0]=entry.toURL();callback.apply($this,callbackArgs)}},function(error){console.log("file error")})})},function(){})},_openFilePhonegap:function(url,e,type){var $this=this;var types_ios={pdf:"com.adobe.pdf"};var types_android={pdf:"application/pdf"};if(this.settings.phonegap==="ios"){console.log("open download on ios "+type+" -> "+types_ios[type]);this.displayLoader();if(types_ios[type]!==undefined){console.log("intro to open with External file util");try{var offset=$(e).offset();offset.left+=$(e).width()/2;offset.top+=$(e).height()/2;offset.left*=2;offset.top*=2;if($(e).data("ios-preview")==="1"){offset.top=offset.left=0}}catch(err){console.log("error while getting offset")}try{console.log("attempt to open with External file util");ExternalFileUtil.openWith(url,types_ios[type],function(){console.log("ok to open with External file util : "+url);$this.hideLoader()},function(){console.log("failed to open with External file util");$this.wopen(url,"_blank","location=no");$this.hideLoader()},offset)}catch(err){console.error("unable to open with externalfileutil");$this.wopen(url,"_blank","location=no");$this.hideLoader()}return true}}if(this.settings.phonegap==="android"){if(types_android[type]!==undefined){var errorCallback=function(e){$this.bugreport(e);$this.hideLoader()};console.log("open pdf file");this.displayLoader();try{window.requestFileSystem(LocalFileSystem.TEMPORARY,0,function(fileSystem){console.log("got local file system");console.log("try to resolve url");window.resolveLocalFileSystemURL(url,function(entry){console.log("resolved from file");window.resolveLocalFileSystemURL(cordova.file.externalDataDirectory,function(dirEntry){console.log("resolved to dir");entry.copyTo(dirEntry,entry.name,function(copyEntry){console.log("copied file");window.plugins.webintent.startActivity({action:window.plugins.webintent.ACTION_VIEW,type:types_android[type],url:copyEntry.toURL()},function(args){$this.hideLoader(5)},function(args){$this.wopen(copyEntry.toURL(),"_blank","");$this.hideLoader(5)})},errorCallback)},errorCallback)},errorCallback)},errorCallback)}catch(e){$this.bugreport(e);$this.hideLoader()}}return true}return false},relativeToAbsolute:function(relative){var a=document.createElement("a");a.href=relative;return a.cloneNode(false).href},alertInternetRequired:function(){navigator.notification.alert("",function(){},this.l10n.__("an internet connection is required for this action"))},touchOffset:function(offset){offset*=$("#currentDoublePage").width();$("#currentDoublePage").addClass("sliding");$("#currentDoublePage").css({translateX:offset})},displayLoader:function(){$("#loader").addClass("show");if(!this.support.isMobile){$("body").addClass("loading")}},hideLoader:function(delay,force){if(force==undefined){force=false}if(delay==undefined){delay=0}var $this=this;if(delay==0){return this._hideLoader(force)}setTimeout(function(){$this._hideLoader(force)},delay*1e3)},_hideLoader:function(force){if(force==undefined){force=false}if(!force&&$("#splash").css("visibility")=="visible"){return}$("#loader").removeClass("show");if(!this.support.isMobile){$("body").removeClass("loading")}},wopen:function(url,target,options,print){var $this=this;var win;if(this.support.nwjs){win=nw.Window.get().window}else{win=window}url=url.replace("$uuid",this.stats.vid);var attrs="";if(target==undefined){target="_self"}if(options==undefined){options=""}if(target==="_download"){var e=url.split("/");var last=e.pop();e=last.split("?");var name=e.shift();this.clickFakeLink('<a href="'+url+'" download="'+name+'"></a>');return false}if(target==="_popupiframe"&&Modernizr.ios&&url.search(/\.pdf$/)>=0){target="_blank"}var locationdefault="yes";var mtarget=target;var replace=true;if(this.settings.phonegap){if(target=="_unique"||target=="_new"){mtarget="_blank"}}else{if(target=="_new"){mtarget="fb_"+this.settings.id+"_"+Math.round(Math.random()*1e7);options+=",scrollbars=yes"}else if(target=="_unique"){mtarget="fb_"+this.settings.id;options+=",scrollbars=yes"}else{}}if(this.settings.phonegap){locationdefault="yes"}if(options==""){options="location="+locationdefault}else if(options.indexOf("location=")==-1){options+=",location="+locationdefault}if(this.settings.phonegap&&mtarget=="_blank"){options+=",zoom=yes,enableViewportScale=yes"}if(!this.settings.phonegap&&mtarget=="_blank"){options=undefined;replace=undefined}if(mtarget==="_popupiframe"){this.openInPopupIframe(url);return false}var w;if(options==undefined&&replace==undefined){if(this.support.IE==0){w=win.open(url,mtarget)}else{this.clickFakeLink('<a href="'+url+'" target="'+mtarget+'"></a>')}}else{w=win.open(url,mtarget,options,replace)}
1try{if(target=="_new"||target=="_unique"){w.focus()}}catch(e){}return w},clickFakeLink:function(html){var a=$(html);$(a).attr("id","wopen");$("#wopen").remove();$("body").append(a);$("#wopen").get(0).click();setTimeout(function(){$("#wopen").remove()},200)},openInPopupIframe:function(url,callback){this.menu.openView("freeiframe",url,"",function(){if(callback!==undefined){callback()}})},setFlag:function(name,value){if(value===undefined){value=true}this.flags[name]=value},hasFlag:function(name){return this.flags[name]===true},hasFlags:function(names){var res=true;var $this=this;$.each(names,function(k,v){if($this.hasFlag(v)){return}res=false;return true});return res},unlockCurrentPage:function(){this.contentlock.unlockCurrentPage()},bugreport:function(e){if(window.confirm("An error occured: "+e.name+". Do you want to send a report ?")){var subject="[Fluidbook error report] "+e.message;var o={name:e.name,message:e.message,stack:e.stack};window.location="mailto:[email protected]?subject="+encodeURIComponent(subject)+"&body="+encodeURIComponent(JSON.stringify(o))}}};var DEVICE_READY_BEFORE_JQUERY=false;var JQUERY_READY=false;document.addEventListener("deviceready",_onDeviceReady,false);function _onDeviceReady(){if(JQUERY_READY){onDeviceReady()}else{DEVICE_READY_BEFORE_JQUERY=true}}var fluidbook;var desktopScale;var dektopScaleAmount;var INITED;var $_GET;var maskHashChange=false;var jsLibraries=[];var longpresstime=undefined;var startAfterLoading=false;var gal=null;var home=window.location.toString();var resolution="auto";var OFFLINEAPP=false;var FINISHLOADING=false;var PLATFORM="web";var DEVICE_READY=false;try{$(function(){JQUERY_READY=true;$("#message").hide();$("#splash").show();$_GET=parseGet();INITED=false;if(SETTINGS&&SETTINGS.phonegap){$("body").addClass("cordova").addClass("cordova-"+SETTINGS.phonegap);loadPhonegap()}else{setTimeout(function(){init()},10)}});function loadPhonegap(){var cordovaPath="data/cordova.js";var cordovaStorage=window.localStorage.getItem("cordova");OFFLINEAPP=window.localStorage.getItem("offlineapp")=="1";if(window.localStorage.getItem("offline."+SETTINGS.id)=="1"){FINISHLOADING=true}if(cordovaStorage){cordovaPath=window.localStorage.getItem("cordova")}document.addEventListener("resume",onAppResume,false);loadJSLibrary(cordovaPath,cordovaLoaded);if(window.cordova){console.log("cordova already loaded");cordovaLoaded()}if(DEVICE_READY_BEFORE_JQUERY){onDeviceReady()}}function cordovaLoaded(){}function onDeviceOffline(){if(OFFLINEAPP){return}if(FINISHLOADING){return}navigator.notification.alert(__("This publication is not available offline. To read it, an internet connection is required"),function(){window.location=window.localStorage.getItem("apphome")},__("An internet connection is required"))}function onAppResume(){if(!INITED){return}fluidbook.hideLoader(1)}function onDeviceReady(){if(DEVICE_READY){return}DEVICE_READY=true;setInterval(function(){try{StatusBar.hide()}catch(e){}},2e3);console.log("device ready !");document.addEventListener("offline",onDeviceOffline,false);var manifest;var fsprefix=window.localStorage.getItem("galfsprefix");PLATFORM=SETTINGS.phonegap;if(PLATFORM=="ios"){try{window.ExternalFileUtil=cordova.require("com.techblue.cordova.plugin.externalfileutilios.ExternalFileUtilIos")}catch(err){console.error("Error while loading ExternalFileUtil plugin");console.error(err)}}else if(PLATFORM=="android"){}var collection;try{collection=json_parse(window.localStorage.getItem("collection"))}catch(err){console.log("error parsing collection")}if(collection.res!=undefined&&collection.res){resolution=collection.res}if(OFFLINEAPP){resolution=150}if(!OFFLINEAPP){console.log("set manifest from manifest pub");manifest=collection.manifestPub[SETTINGS.id]}if(navigator.onLine&&!OFFLINEAPP){console.log("init online");var readyToLoad=false;var finishedLoading=false;gal=new GameAssetLoader(manifest,fsprefix);gal.init(galLoaded);var timeout=setTimeout(function(){window.location.reload(true)},1e3);gal.onLoaded(function(info){console.log("gal loaded");clearTimeout(timeout);$(window).trigger("GALBundleLoaded",[info])});gal.check("content_4",function(info){if(info.success){fluidbook.changeAddress()}});gal.check("extras",function(info){if(info.success){console.log("set offline flag");FINISHLOADING=true;window.localStorage.setItem("offline."+SETTINGS.id,"1")}});$(window).on("GALBundleLoaded",function(e,info){console.log("Loaded :: "+info.bundleName);if(info.bundleName=="content_4"){fluidbook.changeAddress()}if(info.bundleName=="extras"){console.log("set offline flag");FINISHLOADING=true;window.localStorage.setItem("offline."+SETTINGS.id,"1")}
1try{if(fluidbook&&fluidbook.loader){fluidbook.loader.retryErrorImages()}}catch(err){}})}else{init()}}function loadJSLibrary(url,callback,error){if(jsLibraries.indexOf(url)>-1){if(callback!=undefined){callback()}return}jsLibraries[jsLibraries.length]=url;var script=document.createElement("script");script.type="text/javascript";if(script.readyState){script.onreadystatechange=function(){if(script.readyState=="loaded"||script.readyState=="complete"){script.onreadystatechange=null;if(callback!=undefined){callback()}}}}else{script.onload=function(){if(callback!=undefined){callback()}};script.onerror=function(){console.error("Error loading "+url);if(error!=undefined){error()}}}script.src=url;document.getElementsByTagName("head")[0].appendChild(script)}function galLoaded(){startAfterLoading=true;init()}function init(){if(INITED==true){return}INITED=true;console.log("init fluidbook "+window.location);try{window.fluidbook=new Fluidbook(SETTINGS)}catch(e){console.error("error while loading the fluidbook "+e.message);console.error(e)}if(null!=gal){fluidbook.gal=gal}try{window.fluidbook.loadPlugins()}catch(e){}$(document).trigger("fluidbook.init");desktopScale=1;desktopScaleAmount=1.5;if($_GET.s=="1"){$("html").addClass("screenshot");$("#splash").hide();window.fluidbook.ready()}if(this.fluidbook.secureOKDone){initEvents()}else{this.fluidbook.initEventsWhenSecureOK=true}}function initEvents(){console.log("init events");resize(true);if(SETTINGS.preventRightClick){$(document).on("contextmenu",function(){return false});$(document).on("mousedown",function(e){if(e.button==2){return false}else{return true}})}$(window).on("hashchange",function(){if(maskHashChange){return}fluidbook.changeAddress();return false});$(document).on("webkitfullscreenchange mozfullscreenchange msfullscreenchange fullscreenchange",function(){resize();setTimeout(function(){resize()},100);for(var i=1;i<=3;i++){setTimeout(function(){resize()},1e3*i)}});$(document).on(fluidbook.input.clickEvent,"#popinOverlay",function(){closePopin();return false});$(document).on(fluidbook.input.clickEvent,"a.popin",function(){var iframeid="iframe_"+Math.round(Math.random()*1e5);var html='<div style="width:'+$(this).data("width")+"px;height:"+$(this).data("height")+'px"><iframe id="'+iframeid+'" width="'+$(this).data("width")+'" height="'+$(this).data("height")+'" src="'+$(this).data("src")+'" frameborder="0"></iframe></div>';$("#popinOverlay").append(html).show();var frame=$("#"+iframeid);$(frame).load(function(){var f=$(frame).contents();$(f).click(function(e){if($(e.target).hasClass("closePopup")){closePopin();return}$(e.target).parents().each(function(){if($(this).hasClass("closePopup")){closePopin();return}})})});resize();return false});$(document).on(this.fluidbook.input.clickEvent,"a.appswitchlocale",function(){try{fluidbook.displayLoader();if($(".mview").length>0){$("#main").hide();$("#view").addClass("fadeout")}else{$("#main").addClass("fadeout")}var $this=this;var locale=$(this).data("locale");var id=$(this).data("id");window.localStorage.setItem("locale",locale);if(OFFLINEAPP){window.location=getPublicationURL(id)}else{var topmanifest=window.localStorage.getItem("topmanifest");window.gallocale=new GameAssetLoader(json_parse(topmanifest,"topmanifest"),window.localStorage.getItem("galfsprefix"));window.gallocale.init(function(){window.gallocale.downloadAndCall("p_"+id,function(){window.location=getPublicationURL(id)})})}}catch(err){}return false});fluidbook.initEvents();$(document).trigger("fluidbook.ready");setTimeout(function(){resize()},1e3)}}catch(err){console.log(err)}function checkScroll(){if(fluidbook.viewMode()){return}if(window.innerWidth==0){return}var left=$(window).width()/2-window.scrollX;var right=window.innerWidth-left;var reading=left>=right?"left":"right";fluidbook.readingPage(reading)}function changeAddress(event){fluidbook.changeAddress(event)}function resize(init){if(init==undefined||init==null){init=false}if(fluidbook.resize===undefined){return}fluidbook.resize.resize(init)}function goNextPage(e){if(fluidbook.help.isVisible()){return}fluidbook.interface.resetTimeout();
1var y=e.offsetY==undefined?e.originalEvent.layerY:e.offsetY;if(y<65){if(fluidbook.pad.enabled){fluidbook.goNextChapter()}else{fluidbook.goNextPage()}}else{fluidbook.goLastPage()}return false}function goPreviousPage(e){if(fluidbook.help.isVisible()){return}var y=e.offsetY==undefined?e.originalEvent.layerY:e.offsetY;if(y<65){if(fluidbook.pad.enabled){fluidbook.goPreviousChapter()}else{fluidbook.goPreviousPage()}}else{fluidbook.goFirstPage()}return false}function preloadBackground(page,resolution){fluidbook.preloadBackground(page,resolution)}function setBackground(page,resolution){fluidbook.setBackground(page,resolution)}function searchHints(){if($("#q").val().length>=1){fluidbook.search.initSearchHints();fluidbook.search.getSearchHints($("#q").val())}else{try{if($("#q").val().length==0){fluidbook.search.hideSearchHints();fluidbook.search.hideSearchResults();fluidbook.showMenuItems()}}catch(err){}}}function lazy(){}function __(str){return fluidbook.l10n.__(str)}function cacheUpdated(e){applicationCache.swapCache();if(window.confirm(fluidbook.l10n.__("An update of the publication is available. Do you want to load it ?"))){window.location.reload()}}function closePopin(){$("#popinOverlay").html("").hide()}(function(){var proxied=window.alert;window.alert=function(){if(navigator.notification){navigator.notification.alert(arguments[0],function(){},"Alert","Ok")}else{return proxied.apply(this,arguments)}}})();function getPublicationURL(id){var url=window.home;var replace="/"+fluidbook.settings.id+"/";var replaceby="/"+id+"/";url=url.replace(replace,replaceby);return url}function escapeHtml(text){return text.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}$(function(){$.fn.isLoaded=function(){if($(this).length===0){return true}var img=$(this).get(0);if(img.readyState===4||img.readyState==="complete"){return true}if(img.complete){return true}return false}});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.