function FlippingBook() { this.pages = []; this.zoomPages = []; this.printPages = []; this.contents = []; this.stageWidth = "100%"; this.stageHeight = "100%"; this.settings = { isVertical: false, autoDragOnZoom: true, showScrollBars: true, menuPosition: "bottom", menuColor: "0x000000", //internal only menuPath: "includes/templates/modules/pageflip/navigation.swf",//"" turns internal menu on menuEnabled: false, bookWidth: 640, bookHeight: 480, scaleBook: true, bookToStageScaling: "1.0", downScaleOnly: true, pagesSet: this.pages, zoomPagesSet: this.zoomPages, printPagesSet: this.printPages, scaleContent: true, preserveProportions: false, centerContent: true, hardcover: false, hardcoverThickness: 3, hardcoverEdgeColor: "0xFFFFFF", highlightHardcover: true, frameWidth: 0, frameColor: "0xFFFFFF", frameAlpha: 100, firstPageNumber: 1, autoFlipSize: 50, navigationFlipOffset: 30, navigationFlipTop: false, flipOnClick: true, handOverCorner: true, handOverPage: true, alwaysOpened: false, staticShadowsType: "Asymmetric", // Asymmetric, Symmetric, Default staticShadowsDepth: 1, staticShadowsLightColor: "0xFFFFFF", // works for "Symmetric" shadows only staticShadowsDarkColor: "0x000000", dynamicShadowsDepth: 1, dynamicShadowsLightColor: "0xFFFFFF", // works for "dark" pages only dynamicShadowsDarkColor: "0x000000", moveSpeed: 2, closeSpeed: 3, gotoSpeed: 3, rigidPageSpeed: 5, flipSound: "", hardcoverSound: "", preloaderType: "Thin", // "Progress Bar", "Round", "Thin", "Dots", "Gradient Wheel", "Gear Wheel", "Line", "Animated Book", "None" pageBackgroundColor: "0x99CCFF", loadOnDemand: true, allowPagesUnload: true, showUnderlyingPages: false, playOnDemand: true, freezeOnFlip: false, darkPages: false, smoothPages: false, rigidPages: false, flipCornerStyle: "manually",// "first page only", "each page", "manually" flipCornerPosition: "bottom-right",// "bottom-right","top-right","bottom-left","top-left" flipCornerAmount: 50, flipCornerAngle: 20, flipCornerRelease: true, flipCornerVibrate: true, flipCornerPlaySound: false, zoomEnabled: true, zoomPath: "pages/large/", zoomImageWidth: 900, zoomImageHeight: 1275, zoomOnClick: true, zoomUIColor: "0x8f9ea6", zoomHint: "Doppelklicken zum Zoomen", zoomHintEnabled: false, centerBook: true, useCustomCursors: true, dropShadowEnabled: true, dropShadowHideWhenFlipping: true, backgroundColor: "0xFFFFFF", backgroundImage: "includes/templates/modules/pageflip/img/bookBackground.png", backgroundImagePlacement: "fit", // "top left", "center", "fit" printEnabled: true, printTitle: "Seiten drucken", downloadURL: "", downloadTitle: "PDF herunterladen", downloadSize: "Größe: 4.7 Mb", downloadComplete: "Fertig", extXML: "" }; this.containerId = "fbContainer"; this.forwardButtonId = "fbForwardButton"; this.backButtonId = "fbBackButton"; this.zoomButtonId = "fbZoomButton"; this.printButtonId = "fbPrintButton"; this.downloadButtonId = "fbDownloadButton"; this.currentPagesId = "fbCurrentPages"; this.totalPagesId = "fbTotalPages"; this.contentsMenuId = "fbContentsMenu"; }; FlippingBook.prototype.create = function(){ this.settings.pagesSet = this.pages; this.settings.zoomPagesSet = this.zoomPages; this.settings.printPagesSet = this.printPages; if( location.hash.substr(1) != "" ) this.settings.firstPageNumber = location.hash.substr(1); this.addLoadEvent( this.onWindowLoad ); var tmpArr = this.settings.backgroundColor.split("x"); swfobject.embedSWF("includes/templates/modules/pageflip/FlippingBook.swf", this.containerId, this.stageWidth, this.stageHeight, "9.0.0", "includes/templates/modules/pageflip/js/expressInstall.swf", this.settings, {allowFullScreen:"true", allowScriptAccess: "always", bgcolor: "#" + tmpArr[1] }); } FlippingBook.prototype.getFlippingBookReference = function() { return this.getObjectReference( this.containerId ); } FlippingBook.prototype.getObjectReference = function( id ) { return document.getElementById( id ); } FlippingBook.prototype.flipForward = function() { flippingBook.getFlippingBookReference().flipForward(); } FlippingBook.prototype.flipBack = function() { flippingBook.getFlippingBookReference().flipBack(); } FlippingBook.prototype.zoomButtonClick = function() { if( flippingBook.getFlippingBookReference().isZoomedIn() ) flippingBook.zoomOut(); else flippingBook.zoomIn(); } FlippingBook.prototype.zoomIn = function() { this.getFlippingBookReference().zoomIn(); } FlippingBook.prototype.zoomOut = function() { this.getFlippingBookReference().zoomOut(); } FlippingBook.prototype.print = function() { flippingBook.getFlippingBookReference().print(); } FlippingBook.prototype.downloadFile = function() { if( flippingBook.settings.downloadURL ) flippingBook.getFlippingBookReference().downloadFile(); } FlippingBook.prototype.onWindowLoad = function(){ var forwardButton = flippingBook.getObjectReference( flippingBook.forwardButtonId ); if( forwardButton ){ forwardButton.style.cursor = "pointer"; forwardButton.onclick = flippingBook.flipForward; } var backButton = flippingBook.getObjectReference( flippingBook.backButtonId ); if( backButton ){ backButton.style.cursor = "pointer"; backButton.onclick = flippingBook.flipBack; } var zoomButton = flippingBook.getObjectReference( flippingBook.zoomButtonId ); if( zoomButton ){ zoomButton.style.cursor = "pointer"; zoomButton.onclick = flippingBook.zoomButtonClick; } var printButton = flippingBook.getObjectReference( flippingBook.printButtonId ); if( printButton ){ printButton.style.cursor = "pointer"; printButton.onclick = flippingBook.print; } var downloadButton = flippingBook.getObjectReference( flippingBook.downloadButtonId ); if( downloadButton ){ downloadButton.style.cursor = "pointer"; downloadButton.onclick = flippingBook.downloadFile; } flippingBook.buildContentsMenu(); } FlippingBook.prototype.onPutPage = function( leftPageNumber, rightPageNumber ){ this.updatePagination( leftPageNumber, rightPageNumber ); this.updateContentsMenu( leftPageNumber, rightPageNumber ); } FlippingBook.prototype.updatePagination = function( leftPageNumber, rightPageNumber ){ var leftPageExists = ( leftPageNumber != undefined ); var rightPageExists = ( rightPageNumber != undefined ); var pageNumberString = leftPageNumber + "-" + rightPageNumber; if( !leftPageExists ) pageNumberString = rightPageNumber; if( !rightPageExists ) pageNumberString = leftPageNumber; this.getObjectReference( this.currentPagesId ).innerHTML = pageNumberString; this.getObjectReference( this.totalPagesId ).innerHTML = " / " + this.getFlippingBookReference().totalPages(); } FlippingBook.prototype.buildContentsMenu = function(){ var contentsSelect = this.getObjectReference( this.contentsMenuId ); if( contentsSelect ){ for( var i = 0; i < this.contents.length; i++ ) contentsSelect.options[i] = new Option(this.contents[i][0], this.contents[i][1]); contentsSelect.onchange = this.onContentsChange; } } FlippingBook.prototype.onContentsChange = function(){ var contentsSelect = flippingBook.getObjectReference( flippingBook.contentsMenuId ); var pageNumber = contentsSelect.options[contentsSelect.selectedIndex].value; if( pageNumber ) flippingBook.getFlippingBookReference().flipGotoPage( pageNumber ); } FlippingBook.prototype.updateContentsMenu = function( leftPageNumber, rightPageNumber ){ var contentsSelect = flippingBook.getObjectReference( flippingBook.contentsMenuId ); if( contentsSelect ){ for( var i = 0; i < this.contents.length - 1; i++ ){ var minPage = contentsSelect.options[i].value; var maxPage = contentsSelect.options[i+1].value; if( leftPageNumber ){ var l = Number( leftPageNumber ); var isLeftTitle = (l == minPage); var isLeftInner = !isLeftTitle && ( l > minPage && l < maxPage ); } else { var isLeftTitle = false; var isLeftInner = true; } if( rightPageNumber ){ var r = Number( rightPageNumber ); var isRightTitle = (r == minPage); var isRightInner = !isRightTitle && ( r > minPage && r < maxPage ); }else { var isRightTitle = false; var isRightInner = true; } if( (isLeftTitle || isRightTitle) || (isLeftInner && isRightInner) ) { break; } } contentsSelect.selectedIndex = i; } } FlippingBook.prototype.getWindowHeight = function() { var windowHeight = 0; if (typeof(window.innerHeight) == 'number' ) { windowHeight=window.innerHeight; } else { if (document.documentElement && document.documentElement.clientHeight) { windowHeight = document.documentElement.clientHeight; } else { if (document.body&&document.body.clientHeight) { windowHeight=document.body.clientHeight; } } } return windowHeight; } FlippingBook.prototype.addLoadEvent = function ( fn ) { if (typeof window.addEventListener != "undefined") { window.addEventListener("load", fn, false); } else if (typeof document.addEventListener != "undefined") { document.addEventListener("load", fn, false); } else if (typeof window.attachEvent != "undefined") { window.attachEvent("onload", fn); } else if (typeof window.onload == "function") { var fnOld = window.onload; window.onload = function() { fnOld(); fn(); }; } else { window.onload = fn; } } FlippingBook.prototype.handleWheel = function ( delta ){ // this.getFlippingBookReference().onWheelScroll( delta ); } flippingBook = new FlippingBook(); function wheel(event){ var delta = 0; if (!event) event = window.event; if (event.wheelDelta) { delta = event.wheelDelta/120; if (window.opera) delta = -delta; } else if (event.detail) { delta = -event.detail/3; } if (delta) flippingBook.handleWheel(delta); if (event.preventDefault) event.preventDefault(); event.returnValue = false; } // if (window.addEventListener) // window.addEventListener('DOMMouseScroll', wheel, false); // window.onmousewheel = document.onmousewheel = wheel;