Fluidbook.prototype = {
init: function (datas) {
+
+ this.flags = {};
+ this.networkPause = false;
+ this.networkPauseTimeout = null;
+ this.networkPauseQueue = [];
+
this.datas = datas;
+ this.singleMode = (this.datas.mobileNavigationType === 'portrait');
+
this.junk = datas.cacheDate;
if (this.datas.landingPage != undefined && this.datas.landingPage != '') {
this.landingpage = new FluidbookLandingPage(this);
}
$('html').addClass(this.datas.mobileLVersion);
this.currentPage = -1;
- this.maxPage = this.datas.pages;
- if (this.datas.maxPages > 0) {
- this.maxPage = Math.min(this.datas.maxPages, this.datas.pages);
- }
+
+ this.contentlock.init();
this.resize = new FluidbookResize(this);
+ this.pagetransitions = new FluidbookPageTransition(this);
this.stats = new FluidbookStats(this);
this.stats.track(10);
- this.flags = {};
this.initTheme();
this.initKeyboardShortcuts();
navigator.splashscreen.hide();
} catch (err) {
}
-
+ $(this).trigger('fluidbook.splash.beforehide');
var $this = this;
- setTimeout(function () {
- $this._hideSplash();
- }, 1000);
+ if (this.support.transitions3dacc) {
+ this.pauseNetwork(4000);
+ setTimeout(function () {
+ this.fluidbook.pagetransitions.flip3d.performancesTest(function () {
+ $this.pauseNetwork(-1);
+ $this._hideSplash();
+ })
+ }, 1000);
+ } else {
+ this._hideSplash();
+ }
},
+
_hideSplash: function () {
+ var $this = this;
+
+ var timeout = 300;
+ if (this.support.transitions3dacc) {
+ timeout = 2000;
+ }
+
+ setTimeout(function () {
+ $this.__hideSplash();
+ }, timeout);
+ },
+
+ __hideSplash: function () {
$("#main,#viewOverlay,#view").css('visibility', 'visible');
+ this.resize.resize(false, true);
this.hideLoader(0, true);
if (this.support.transitions2d) {
return;
}
+ this.transitionPages = pages.slice(0);
+
var $callback = callback;
var $page = $pages.shift();
- if ($page > this.fluidbook.contentlock.getMaxPage() || $page < 1) {
- $this.preloadPagesBeforeTransition($pages, $callback);
+
- if ($page == undefined || $page == 'undefined' || $page > this.fluidbook.getMaxPage() || $page < 1) {
++ if ($page == undefined || $page == 'undefined' || $page > this.fluidbook.contentlock.getMaxPage() || $page < 1) {
+ callback();
return;
}
- this._loadBackground($page, function () {
- if ($this.getVersionToLoad($page) == 'textasvector') {
- $this._loadTexts($page, function () {
- $this.preloadPagesBeforeTransition($pages, $callback);
- });
- } else {
- $this.preloadPagesBeforeTransition($pages, $callback);
- }
+ this._preloadPage($page, function () {
+ $this.preloadPagesBeforeTransition($pages, $callback);
});
-
},
arePreloadedPages: function (pages) {
return;
}
- var numPreloadAfter = 5;
- var numPreloadBefore = 2;
+ var numPreloadAfter = 8;
+ var numPreloadBefore = 4;
if (this.fluidbook.resize.orientation == 'portrait') {
- numPreloadAfter = 3;
- numPreloadBefore = 1;
+ numPreloadAfter = 4;
+ numPreloadBefore = 2;
}
- var fmx = this.fluidbook.getMaxPage();
- var max = Math.min(page + numPreloadAfter, this.fluidbook.contentlock.getMaxPage());
++ var fmx = this.fluidbook.contentlock.getMaxPage();
+ var max = Math.min(page + numPreloadAfter, fmx);
var min = Math.max(1, page - numPreloadBefore);
- this.toPreload = [];
+ this.toPreload = [1, fmx];
for (var i = min; i <= max; i++) {
- this.toPreload.push(i);
+ if(this.toPreload.indexOf(i)===-1) {
+ this.toPreload.push(i);
+ }
}
-
+ this.preloaded = this.toPreload.slice(0);
this.cleanPreloaded();
this.preloadPages();
},
- cleanPreloaded: function () {
+
+ _cleanPreloaded: function () {
- for (var i = 1; i <= this.fluidbook.getMaxPage(); i++) {
+ for (var i = 1; i <= this.fluidbook.contentlock.getMaxPage(); i++) {
- if (this.backgrounds[i] != undefined && this.toPreload.indexOf(i) == -1) {
+ if (this.preloaded.indexOf(i) === -1 && this.transitionPages.indexOf(i) === -1) {
this.deletePage(i);
}
}