<div id="interface"></div>\r
<div id="helpView"></div>\r
<div id="fluidbook">\r
- <div id="shadow"></div>\r
+ <div id="shadow"><div class="left"></div><div class="right"></div></div>\r
<div id="pagesnumbers"><div class="left"></div><div class="right"></div></div>\r
<div id="pages" class="double">\r
<div id="currentDoublePage" class="doublePage"></div>\r
<div id="pagesContents"><!-- $pagesContents --></div>\r
<div id="op"></div>\r
<div id="ol"></div>\r
- <div id="fontsLoader">\r
- <div class="silkscreen"></div>\r
- <div class="puritan"></div>\r
- <div class="puritanbold"></div>\r
- </div>\r
\r
<div id="coquillette"></div>\r
<div id="hiddencontents"><!-- $hiddenContents --></div>\r
side = 'right';
} else {
side = (i % 2 == 0) ? 'left' : 'right';
+ if (this.fluidbook.l10n.dir == 'rtl') {
+ side = side == 'left' ? 'right' : 'left';
+ }
}
bookmarks += "<a href=\"#\" class=\"bookmark " + side + "\" data-page=\"" + i + "\"";
preserve: true\r
});\r
var h = 40 + ($("#nav a[data-tooltip]").length - 1) * 25;\r
+ var ww = $(window).width();\r
+\r
$("#nav a[data-tooltip]").each(function() {\r
var text = $(this).data('tooltip');\r
if (text == null || text == undefined || text == '') {\r
return;\r
}\r
var offset = $(this).offset();\r
- var left = offset.left + ($(this).width() / 2);\r
+ var left;\r
+\r
+ if ($this.fluidbook.l10n.dir == 'ltr') {\r
+ left = offset.left + ($(this).width() / 2);\r
+ } else {\r
+ left = (ww - offset.left - ($(this).width() / 2)) * -1;\r
+ }\r
+\r
var c = 'nav';\r
if ($(this).parents("#afterSearch").length > 0) {\r
c = 'afterSearch';\r
}\r
\r
help += '<div class="interface">';\r
- help += '<div class="next">' + next + '<hr /></div>';\r
- help += '<div class="last">' + this.fluidbook.l10n.__('last page') + '<hr /></div>';\r
- help += '<div class="previous"><hr />' + previous + '</div>';\r
- help += '<div class="first"><hr />' + this.fluidbook.l10n.__('frontpage') + '</div>';\r
+ help += '<div class="next">' + next + '</div>';\r
+ help += '<div class="last">' + this.fluidbook.l10n.__('last page') + '</div>';\r
+ help += '<div class="previous">' + previous + '</div>';\r
+ help += '<div class="first">' + this.fluidbook.l10n.__('frontpage') + '</div>';\r
help += '</div>';\r
\r
if (this.fluidbook.pad.enabled) {\r
if (this.fluidbook.pad.enabled) {\r
this.fluidbook.pad.displayInterface();\r
}\r
+ } else {\r
+ this.fluidbook.hideUnnecessaryButtons();\r
}\r
}\r
};\r
\r
$("#links").removeClass('left').removeClass('right').addClass(lClass).html(this.datas.links[pageNr]).show();\r
if (this.datas.bookmark) {\r
-\r
$("#links").append(this.bookmarks.getBookmarkForPage(pageNr));\r
}\r
$("#links").prepend('<a href="#" class="nonlinkarea"></a>');\r
return;\r
}\r
this.transitionning = true;\r
- var nextFromClass;\r
var $this = this;\r
- if (pageNr > this.currentPage) {\r
- nextFromClass = 'next';\r
- } else {\r
- nextFromClass = 'prev';\r
- }\r
\r
- $("#pages").prepend('<div id="nextDoublePage" class="_3d doublePage ' + nextFromClass + 'start"></div>');\r
+ var turning = this.getTurningPages(pageNr);\r
+\r
+ $("#pages").prepend('<div id="nextDoublePage" class="_3d doublePage ' + turning.nextFromClass + 'start"></div>');\r
var doublePage = $("#nextDoublePage");\r
var currentDoublePage = $("#currentDoublePage");\r
\r
- var currentLeft = this.currentPage - this.currentPage % 2;\r
- var currentRight = currentLeft + 1;\r
-\r
- var dir = 1;\r
- if (pageNr < this.currentPage) {\r
- dir = -1;\r
- }\r
-\r
-\r
- var preload = [pageNr, pageNr + 1];\r
-\r
this.displayLoader();\r
\r
- this.loader.preloadPagesBeforeTransition(preload, function() {\r
- var pages;\r
+ this.loader.preloadPagesBeforeTransition([turning.currentLeft, turning.currentRight], function() {\r
$("#pages").addClass('_3dtransition');\r
- // Set contents of flat part\r
- if (dir == 1) {\r
- pages = [currentLeft, pageNr + 1];\r
- } else {\r
- pages = [pageNr, currentRight];\r
- }\r
- $this.loader.setContentsInDoublePage(currentDoublePage, pages, true, function() {\r
- // Set the contents of fliping part\r
- if (dir == 1) {\r
- pages = [pageNr, currentRight];\r
- } else {\r
- pages = [currentLeft, pageNr + 1];\r
- }\r
-\r
- $this.loader.setContentsInDoublePage(doublePage, pages, true, function() {\r
+ $this.loader.setContentsInDoublePage(currentDoublePage, turning.flat, true, function() {\r
+ $this.loader.setContentsInDoublePage(doublePage, turning.flip, true, function() {\r
$this.beforeTransition(pageNr);\r
- // Do the transition\r
-\r
- $(doublePage).addClass(nextFromClass + 'end').one($this.support.getTransitionEndEvent(), function() {\r
+ $(doublePage).addClass(turning.nextFromClass + 'end').one($this.support.getTransitionEndEvent(), function() {\r
if ($this.transitionning == false) {\r
return;\r
}\r
}\r
\r
// Set the flat contents with the new page\r
- $this.loader.setContentsInDoublePage(doublePage, [pageNr, pageNr + 1], false, function() {\r
- $(doublePage).removeClass('_3d').removeClass(nextFromClass + 'start').removeClass(nextFromClass + 'end');\r
+ $this.loader.setContentsInDoublePage(doublePage, turning.end, false, function() {\r
+ $(doublePage).removeClass('_3d').removeClass(turning.nextFromClass + 'start').removeClass(turning.nextFromClass + 'end');\r
// Remove former part\r
$("#currentDoublePage").remove();\r
$(doublePage).attr('id', 'currentDoublePage');\r
});\r
});\r
},\r
+ getTurningPages: function(newPage) {\r
+ var res = {};\r
+\r
+ res.dir = 1;\r
+ if (newPage < this.currentPage) {\r
+ res.dir = -1;\r
+ }\r
+\r
+ if (this.l10n.dir == 'ltr') {\r
+ res.currentLeft = this.currentPage - this.currentPage % 2;\r
+ res.currentRight = res.currentLeft + 1;\r
+ if (res.dir == 1) {\r
+ res.currentToClass = 'prev';\r
+ res.nextFromClass = 'next';\r
+ res.flat = [res.currentLeft, newPage + 1];\r
+ res.flip = [newPage, res.currentRight];\r
+ } else {\r
+ res.currentToClass = 'next';\r
+ res.nextFromClass = 'prev';\r
+ res.flat = [newPage, res.currentRight];\r
+ res.flip = [res.currentLeft, newPage + 1];\r
+ }\r
+ res['end'] = [newPage, newPage + 1];\r
+ } else {\r
+ res.currentRight = this.currentPage - this.currentPage % 2;\r
+ res.currentLeft = res.currentRight + 1;\r
+\r
+ if (res.dir == 1) {\r
+ res.currentToClass = 'next';\r
+ res.nextFromClass = 'prev';\r
+ res.flat = [newPage + 1, res.currentRight];\r
+ res.flip = [res.currentLeft, newPage];\r
+ } else {\r
+ res.currentToClass = 'prev';\r
+ res.nextFromClass = 'next';\r
+ res.flat = [res.currentLeft, newPage];\r
+ res.flip = [newPage + 1, res.currentRight];\r
+ }\r
+ res.end = [newPage + 1, newPage];\r
+ }\r
+ res.loading = [res.currentLeft, res.currentRight];\r
+ return JSON.parse(JSON.stringify(res));\r
+ },\r
reloadCurrentPage: function() {\r
this.pageTransition(this.currentPage);\r
},\r
} else {\r
$("#next").removeClass('hidden');\r
}\r
-\r
} else {\r
$("#previous,#next").removeClass('hidden');\r
\r
}\r
}\r
\r
- if (page <= 1) {\r
- $("#shadow").removeClass('double');\r
- $("#shadow").removeClass('left');\r
- $("#shadow").addClass('right');\r
- $("#shadow").addClass('single');\r
- } else if (page >= this.datas.pages) {\r
- $("#shadow").removeClass('double');\r
- $("#shadow").removeClass('right');\r
- $("#shadow").addClass('left');\r
- $("#shadow").addClass('single');\r
+ if ((page <= 1 && this.l10n.dir == 'ltr') || (page >= this.datas.pages && this.l10n.dir == 'rtl')) {\r
+ $("#shadow").removeClass('double').removeClass('left').addClass('right').addClass('single');\r
+ } else if ((page <= 1 && this.l10n.dir == 'rtl') || (page >= this.datas.pages && this.l10n.dir == 'ltr')) {\r
+ $("#shadow").removeClass('double').removeClass('right').addClass('left').addClass('single');\r
}\r
else {\r
- $("#shadow").removeClass('single');\r
- $("#shadow").addClass('double');\r
+ $("#shadow").removeClass('single').addClass('double');\r
}\r
-\r
},\r
showAllButtons: function() {\r
$("#next,#previous").addClass('help').show();\r
},\r
pageTransition2D: function(pageNr) {\r
this.transitionning = true;\r
- var currentFromClass, currentToClass;\r
var $this = this;\r
- if (pageNr > this.currentPage) {\r
- currentToClass = 'prev';\r
- nextFromClass = 'next';\r
- }\r
- else {\r
- currentToClass = 'next';\r
- nextFromClass = 'prev';\r
- }\r
\r
+ var turning = this.getTurningPages(pageNr);\r
+ fb(turning);\r
\r
- $("#pages").append('<div id="nextDoublePage" class="doublePage _2d axis_' + this.transitionAxis + ' ' + nextFromClass + '"></div>');\r
+ $("#pages").append('<div id="nextDoublePage" class="doublePage _2d axis_' + this.transitionAxis + ' ' + turning.nextFromClass + '"></div>');\r
var doublePage = $("#nextDoublePage");\r
this.displayLoader();\r
- this.loader.preloadPagesBeforeTransition([pageNr, pageNr + 1], function() {\r
- $this.loader.setContentsInDoublePage(doublePage, [pageNr, pageNr + 1], true, function() {\r
+ this.loader.preloadPagesBeforeTransition(turning.end, function() {\r
+ $this.loader.setContentsInDoublePage(doublePage, turning.end, true, function() {\r
$this.beforeTransition(pageNr);\r
- $("#currentDoublePage").addClass('_2d').addClass('axis_' + $this.transitionAxis).addClass(currentToClass);\r
- $(doublePage).removeClass(nextFromClass).one($this.support.getTransitionEndEvent(), function(event) {\r
+ $("#currentDoublePage").addClass('_2d').addClass('axis_' + $this.transitionAxis).addClass(turning.currentToClass);\r
+ $(doublePage).removeClass(turning.nextFromClass).one($this.support.getTransitionEndEvent(), function(event) {\r
if ($this.transitionning == false) {\r
return;\r
}\r
},\r
pageTransition2DPortrait: function(pageNr) {\r
this.transitionning = true;\r
- var currentFromClass, currentToClass;\r
var $this = this;\r
- if (pageNr > this.currentPage) {\r
- currentToClass = 'prev';\r
- nextFromClass = 'next';\r
- }\r
- else {\r
- currentToClass = 'next';\r
- nextFromClass = 'prev';\r
- }\r
\r
+ var turning = this.getTurningPages(pageNr);\r
\r
- $("#pages").append('<div id="nextDoublePage" class="doublePage _2d axis_' + this.transitionAxis + ' ' + nextFromClass + '"></div>');\r
+ $("#pages").append('<div id="nextDoublePage" class="doublePage _2d axis_' + this.transitionAxis + ' ' + turning.nextFromClass + '"></div>');\r
var doublePage = $("#nextDoublePage");\r
\r
if (this.displayOnePage) {\r
}\r
\r
this.displayLoader();\r
- this.loader.preloadPagesBeforeTransition([pageNr, pageNr + 1], function() {\r
- $this.loader.setContentsInDoublePage(doublePage, [pageNr, pageNr + 1], true, function() {\r
+ this.loader.preloadPagesBeforeTransition(turning.end, function() {\r
+ $this.loader.setContentsInDoublePage(doublePage, turning.end, true, function() {\r
$this.beforeTransition(pageNr);\r
- $("#currentDoublePage").addClass('axis_' + $this.transitionAxis).addClass('_2d').addClass(currentToClass);\r
- $(doublePage).removeClass(nextFromClass).one($this.support.getTransitionEndEvent(), function() {\r
+ $("#currentDoublePage").addClass('axis_' + $this.transitionAxis).addClass('_2d').addClass(turning.currentToClass);\r
+ $(doublePage).removeClass(turning.nextFromClass).one($this.support.getTransitionEndEvent(), function() {\r
if ($this.transitionning == false) {\r
return;\r
}\r
if (this.displayOnePage) {\r
this.hidePage('right');\r
}\r
+ var turning = this.getTurningPages(pageNr);\r
this.beforeTransition(pageNr);\r
- this.loader.setContentsInDoublePage(doublePage, [page, page + 1], true, function() {\r
+ this.loader.setContentsInDoublePage(doublePage, turning.end, true, function() {\r
$this.afterTransition(page);\r
});\r
\r
},\r
setPageNumbers: function() {\r
var page = this.currentPage;\r
+\r
+ var min, max;\r
+\r
+\r
if (page > 0) {\r
- $("#pagesnumbers .left").html(this.physicalToVirtual(page));\r
+ min = this.physicalToVirtual(page);\r
} else {\r
- $("#pagesnumbers .left").html('');\r
+ min;\r
}\r
\r
- if (!this.displayOnePage) {\r
- page++;\r
- if (page <= this.datas.pages) {\r
- $("#pagesnumbers .right").html(this.physicalToVirtual(page));\r
- $("#pagesnumbers .right").show();\r
- } else {\r
- $("#pagesnumbers .right").html('');\r
- $("#pagesnumbers .right").hide();\r
- }\r
+ page++;\r
+ if (page <= this.datas.pages) {\r
+ max = this.physicalToVirtual(page);\r
+ } else {\r
+ max = '';\r
+ }\r
+\r
+\r
+ if (this.displayOnePage || this.l10n.dir == 'ltr') {\r
+ $("#pagesnumbers .left").html(min);\r
+ $("#pagesnumbers .right").html(max);\r
+ } else {\r
+ $("#pagesnumbers .right").html(min);\r
+ $("#pagesnumbers .left").html(max);\r
}\r
},\r
clickLogo: function() {\r
}
this.lang = lang;
+ this.dir = (this.getActiveLang() == 'ar' || this.getActiveLang() == 'he') ? 'rtl' : 'ltr';
+ $('html').attr('dir', this.dir);
+ if (this.dir == 'rtl') {
+ $('html').removeClass('ltr').addClass('rtl');
+ } else {
+ $("html").removeClass('rtl').addClass('ltr');
+ }
+
this.translations = this.fluidbook.datas.l10n[lang];
this.updateTranslations();
},
if (this.translations[str] == undefined || this.translations[str] == null || this.translations[str] == '') {
if (markupIfNonAvailable == undefined || markupIfNonAvailable) {
- return '<i class="l10n" str="' + str + '">~ ' + str + ' ~</i>';
+ return '~ ' + str + ' ~';
} else {
return str;
}
FluidbookLoader.prototype = {
preloadPagesBeforeTransition: function(pages, callback) {
var $this = this;
- if (pages.length == 0) {
+ var $pages= pages.slice(0);
+ if ($pages.length == 0) {
callback();
return;
}
- var $pages = pages;
+
var $callback = callback;
- var $page = pages.shift();
+ var $page = $pages.shift();
if ($page > this.fluidbook.datas.pages || $page < 1) {
$this.preloadPagesBeforeTransition($pages, $callback);
return;
if (!immediate) {
this.loadLeftPage(leftPage, $(doublePage), function() {
$this.loadRightPage(rightPage, $(doublePage), callback);
- })
-
+ });
} else {
this.loadLeftPage(leftPage, $(doublePage), function() {
})
$(page).children(".shade").html(this.loadImage('images/' + shade, this.fluidbook.datas.width / 4, this.fluidbook.datas.height));
},
loadLeftPage: function(page, doublePage, callback) {
- if (page > 0) {
+ if (page > 0 && page <= this.fluidbook.datas.pages) {
this.loadPage(page, doublePage, 'left', callback);
} else {
$(doublePage).find('.left').remove();
}
},
loadRightPage: function(page, doublePage, callback) {
- if (!this.fluidbook.displayOnePage && page <= this.fluidbook.datas.pages) {
+ if (!this.fluidbook.displayOnePage && page <= this.fluidbook.datas.pages && page > 0) {
this.loadPage(page, doublePage, 'right', callback);
} else {
$(doublePage).find('.right').remove();
this._dimensions = this.fluidbook.datas.iconsDimensions;
this._inited = false;
this.setNav();
-
+
}
FluidbookNav.prototype = {
$("#nav #" + before).before(l);
}
},
- getLink: function(name, href, id, help, className) {
+ getLink: function(name, href, id, help, className, icon) {
+ if (icon == undefined) {
+ icon = true;
+ }
var res = '<a href="' + href + '"';
if (id != undefined) {
res += ' id="' + id + '"';
res += ' data-tooltip="' + this.fluidbook.l10n.__(help) + '"';
}
res += '>';
- res += this.getIcon(name);
+ if (icon) {
+ res += this.getIcon(name);
+ }
res += '</a>';
return res;
},
});
}
} else if (icon == 'pdf' || icon == 'print') {
- if ($("#print").length==0 && (this.fluidbook.datas.print || this.fluidbook.datas.pdf)) {
+ if ($("#print").length == 0 && (this.fluidbook.datas.print || this.fluidbook.datas.pdf)) {
this.addLink('nav-print', '#', 'print', '!' + this.fluidbook.l10n.__('print') + ' | ' + this.fluidbook.l10n.__('download pdf'));
$("#print").on('click', function() {
$this.fluidbook.print();
},
setInterface: function() {
- var res = this.getLink('interface-previous', '#', 'previous', '', 'hidden');
- res += this.getLink('interface-next', '#', 'next');
+ var res = this.getLink('interface-previous', '#', 'previous', '', '', false);
+ res += this.getLink('interface-next', '#', 'next', '', '', false);
$('#interface').append(res);
$(document).on('click', '#next', goNextPage);
$(document).on('click', '#previous', goPreviousPage);
\r
this.resizeView();\r
\r
- $("#next").css({\r
- right: 0\r
- });\r
-\r
var marginY, marginX, marginTop, marginBottom, marginLeft, marginRight;\r
\r
if (this.fluidbook.pad.enabled) {\r
addItem: function(chapter) {\r
if (chapter.label == '--' || chapter.label == '++') {\r
return "";\r
-\r
}\r
var color = chapter.color;\r
if (color == '') {\r
this.lastColor = color;\r
}\r
\r
-\r
if (chapter.label.substr(0, 3) == '!!!') {\r
chapter.label = chapter.label.substring(3);\r
chapter.level = '-1';\r
\r
return res;\r
}\r
-\r
-\r
};\r
\r
if (this.normalHTML == '') {
this.normalHTML += '<div class="content"><div id="indexView">';
var j = 0;
- var ix = '';
+ var ix1 = '', ix2 = '', ix = '';
var c = '';
+ var s1, s2;
for (var i = 0; i <= this.fluidbook.datas.pages; i += 2) {
var pages = [];
j = i + 1;
- ix = '';
+ ix1 = '';
+ ix2 = '';
c = '';
+
+ if (this.fluidbook.l10n.dir == 'ltr') {
+ s1 = 'left';
+ s2 = 'right'
+ } else {
+ s1 = 'right';
+ s2 = 'left'
+ }
+
if (i > 0) {
- ix += '<div class="thumb left"><a href="#/page/' + i + '">' + this.fluidbook.loader.getImage('data/thumbnails/p' + i + '.jpg') + '</a><span class="number">' + this.fluidbook.physicalToVirtual(i) + '</span>';
+ ix1 += '<div class="thumb ' + s1 + '"><a href="#/page/' + i + '">' + this.fluidbook.loader.getImage('data/thumbnails/p' + i + '.jpg') + '</a><span class="number">' + this.fluidbook.physicalToVirtual(i) + '</span>';
if (this.fluidbook.bookmarks.enabled) {
- ix += this.fluidbook.bookmarks.getBookmarkForPage(i, true);
+ ix1 += this.fluidbook.bookmarks.getBookmarkForPage(i, true);
}
pages.push(i);
- ix += '</div>';
+ ix1 += '</div>';
} else {
- c = ' simple right';
+ c = ' simple ' + s2;
}
+
+ if (this.fluidbook.l10n.dir == 'rtl') {
+ s1 = 'left';
+ s2 = 'right'
+ } else {
+ s1 = 'right';
+ s2 = 'left'
+ }
+
if (j < this.fluidbook.datas.pages) {
- ix += '<div class="thumb right"><a href="#/page/' + j + '">' + this.fluidbook.loader.getImage('data/thumbnails/p' + j + '.jpg') + '</a><span class="number">' + this.fluidbook.physicalToVirtual(j) + '</span>';
+ ix2 += '<div class="thumb ' + s1 + '"><a href="#/page/' + j + '">' + this.fluidbook.loader.getImage('data/thumbnails/p' + j + '.jpg') + '</a><span class="number">' + this.fluidbook.physicalToVirtual(j) + '</span>';
if (this.fluidbook.bookmarks.enabled) {
- ix += this.fluidbook.bookmarks.getBookmarkForPage(j, true);
+ ix2 += this.fluidbook.bookmarks.getBookmarkForPage(j, true);
}
- ix += '</div>';
+ ix2 += '</div>';
pages.push(j);
} else {
- c = ' simple left';
+ c = ' simple ' + s2;
}
-
+ ix = ix1 + ix2;
this.normalHTML += '<div class="doubleThumb' + c + '" page="' + i + '" data-pages="' + pages.join(',') + '">' + ix;
this.normalHTML += '</div>';
}
}
}
- console.log('Load phonegap');
- console.log(cordova);
-
loadJSLibrary(
cordova
, function() {
#fluidbook{\r
position:absolute;\r
z-index: 11;\r
+ direction: ltr;\r
}\r
\r
#cache{\r
display:block;\r
opacity:1;\r
z-index:21;\r
+ background-size: 40px 100px;\r
}\r
\r
#next,#previous,#down,#splash{\r
cursor:default;\r
}\r
\r
-#next{\r
+.ltr #next{\r
+ background-image: url("../data/images/interface-next.svg");\r
right:0px;\r
border-top-left-radius:7px;\r
border-bottom-left-radius:7px;\r
}\r
\r
-#previous{\r
+.ltr #previous{\r
+ background-image: url("../data/images/interface-previous.svg");\r
left:0px;\r
border-top-right-radius:7px;\r
border-bottom-right-radius:7px;\r
}\r
\r
+.rtl #previous{\r
+ background-image: url("../data/images/interface-next.svg");\r
+ right:0px;\r
+ border-top-left-radius:7px;\r
+ border-bottom-left-radius:7px;\r
+}\r
+\r
+.rtl #next{\r
+ background-image: url("../data/images/interface-previous.svg");\r
+ left:0px;\r
+ border-top-right-radius:7px;\r
+ border-bottom-right-radius:7px;\r
+}\r
+\r
+.rtl.no-svg #next{\r
+ background-image: url("../data/images/interface-next.png");\r
+}\r
+\r
+.rtl.no-svg #previous{\r
+ background-image: url("../data/images/interface-previous.png");\r
+}\r
+\r
+.rtl.no-svg #previous{\r
+ background-image: url("../data/images/interface-next.png");\r
+}\r
+\r
+.rtl.no-svg #next{\r
+ background-image: url("../data/images/interface-previous.png");\r
+}\r
+\r
/* Header */\r
header{position:relative;z-index: 1;}\r
+\r
+\r
#nav>a{\r
- margin:0 0 0 20px;\r
vertical-align: top;\r
}\r
+\r
+.ltr #nav a{\r
+ margin:0 0 0 20px;\r
+}\r
+\r
+.rtl #nav>a{\r
+ margin:0 20px 0 0;\r
+}\r
+\r
+\r
#nav>a>img{\r
padding: 10px 2px 0px 2px;\r
vertical-align: top;\r
}\r
\r
#nav{\r
- float:left;\r
position:relative;\r
z-index:12;\r
white-space: nowrap;\r
#search{\r
position:relative;\r
display:inline-block;\r
- margin:8px 0 0 30px;\r
z-index: 2;\r
vertical-align: top;\r
}\r
+\r
+.ltr #search{\r
+ margin:8px 0 0 30px;\r
+}\r
+\r
+.rtl #search{\r
+ margin:8px 30px 0 0;\r
+}\r
+\r
+\r
#search img{\r
vertical-align: middle;\r
}\r
#logo{\r
position:absolute;\r
top:0px;\r
- right:0px;\r
background-repeat: no-repeat;\r
z-index: 10;\r
}\r
+\r
+.ltr #logo{\r
+ right:0px;\r
+}\r
+\r
+.rtl #logo{\r
+ left:0px;\r
+}\r
+\r
+\r
.portrait #logo{\r
display:none;\r
}\r
font-size:8px;\r
text-transform: uppercase;\r
position: absolute;\r
- bottom:0px;\r
- right:0px;\r
+ bottom:2px;\r
z-index: 20;\r
}\r
footer a{\r
margin:0 4px 4px 0;\r
}\r
\r
+.ltr footer{\r
+ right:2px;\r
+}\r
+\r
+.rtl footer{\r
+ left:2px;\r
+}\r
+\r
/* Fluidbook zooming */\r
\r
footer,header,#interface{\r
top:3px;\r
}\r
\r
+.rtl ul.chapters.shareList a.level0 img{\r
+ margin:2px 0 0 10px;\r
+}\r
+\r
/* Help */\r
#helpView{\r
background-color: rgba(0,0,0,0.7);\r
white-space: nowrap;\r
}\r
\r
+.rtl #helpView .icon span{\r
+ position:absolute;\r
+ right:1em;\r
+ display: block;\r
+ margin-top:-1em;\r
+}\r
+\r
#helpView .interface hr{\r
width:30px;\r
height:0px;\r
vertical-align: middle;\r
}\r
\r
-#helpView .interface .next,\r
-#helpView .interface .last{\r
+.ltr #helpView .interface .next,\r
+.ltr #helpView .interface .last,\r
+.rtl #helpView .interface .first,\r
+.rtl #helpView .interface .previous{\r
text-align: right;\r
right:40px;\r
top:340px;\r
}\r
\r
-#helpView .interface .first,\r
-#helpView .interface .previous{\r
+.ltr #helpView .interface .next:after,\r
+.ltr #helpView .interface .last:after,\r
+.rtl #helpView .interface .first:after,\r
+.rtl #helpView .interface .previous:after{\r
+ content:'------------';\r
+ width:100px;\r
+ border-bottom: 1px solid #fff;\r
+ margin:0 10px;\r
+ position:relative;\r
+ top:-0.5em;\r
+ color:transparent;\r
+}\r
+\r
+.rtl #helpView .interface .next,\r
+.rtl #helpView .interface .last,\r
+.ltr #helpView .interface .first,\r
+.ltr #helpView .interface .previous{\r
left:40px;\r
top:340px;\r
}\r
\r
+.rtl #helpView .interface .next:before,\r
+.rtl #helpView .interface .last:before,\r
+.ltr #helpView .interface .first:before,\r
+.ltr #helpView .interface .previous:before{\r
+ content:'------------';\r
+ width:100px;\r
+ border-bottom: 1px solid #fff;\r
+ margin:0 10px;\r
+ position:relative;\r
+ top:-0.5em;\r
+ color:transparent;\r
+}\r
+\r
+\r
#helpView .interface .first,\r
#helpView .interface .last{\r
margin-top:43px;\r
\r
#helpView .interface div{\r
position:absolute;\r
+ direction: ltr;\r
}\r
\r
.portrait #helpView .interface{\r
ul.chapters a{\r
display:block;\r
text-align: left;\r
- padding:10px 20px 10px 20px;\r
+ padding:10px 20px;\r
+}\r
+\r
+.rtl ul.chapters a{\r
+ text-align: right;\r
}\r
\r
ul.chapters a.level-1{\r