{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/@ksedline/turnjs/index.js","webpack:///./node_modules/jquery/dist/jquery.js","webpack:///./app/javascript/packs/components/ScrollTo.js","webpack:///(webpack)/buildin/module.js","webpack:///./app/javascript/packs/flipbook.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_typeof","obj","iterator","constructor","has3d","hasRot","$","vendor","PI","Math","A90","isTouch","window","mouseEvents","down","move","up","over","out","corners","backward","forward","all","displays","directions","turnOptions","acceleration","display","duration","page","gradients","turnCorners","when","flipOptions","cornerSize","turnMethods","init","options","parts","document","body","style","exec","navigator","userAgent","parseFloat","getPrefix","pageNum","data","this","ch","children","extend","width","height","direction","attr","css","opts","pageObjs","pages","pageWrap","pageZoom","pagePlace","pageMv","zoom","totalPages","eventHandlers","touchStart","proxy","_touchStart","touchMove","_touchMove","touchEnd","_touchEnd","start","_eventStart","has","position","turn","transform","translate","length","_eventEnd","_eventPressed","_eventReleased","_flip","parent","done","addPage","element","currentPage","className","incPages","lastPage","destroying","parseInt","turnError","_movePages","float","addClass","indexOf","hasClass","removeClass","_addPage","_removeFromDOM","_necessPage","class","overflow","append","appendTo","prop","_pageSize","_makeFlip","remove","hasPage","center","size","left","noCenter","view","tpage","marginLeft","destroy","flipbook","trigger","each","index","eventName","unbind","fparent","shadow","removeData","is","newZoom","currentView","iz","newWidth","round","newHeight","autoCenter","_updateShadow","top","right","pageWidth","pageHeight","odd","single","flip","next","disabled","_setPageLoc","_makeRange","range","remainingPages","_view","floor","min","pagesInDOM","max","_removePageFromDOM","dd","flipMethods","_moveFoldingPage","f","fwrapper","_removeMv","removePage","_fitPage","from","change","that","_display","currentDisplay","undefined","inArray","dir","toLowerCase","animating","corner","disable","_disable","resize","splice","_addMv","push","stop","ignore","animate","force","_pages","_missing","missing","newView","_turnPage","current","place","optsCorners","split","flipData","actualPoint","point","effect","_page","pop","previous","shift","peel","_addMotionPage","e","actualZoom","isDefaultPrevented","charAt","target","turned","turnData","mouseAction","time","Date","getTime","outArea","x","preventDefault","stopPropagation","apply","arguments","_eventMove","calculateZ","mv","nextPage","placePage","dpage","total","pageZ","partZ","pageV","addView","abs","update","fixed","pos","actualView","zIndex","pageLocation","view2","divAtt","loc","_options","version","hover","_addPageWrapper","setData","z","_z","_cAllowed","_cornerActivated","y","csz","allowedCorners","_isIArea","offset","originalEvent","touches","pageX","pageY","_c","point2D","_c2","_foldingPage","_backGradient","gradient","bshadow","type","full","wrapper","fpage","ashadow","sqrt","pow","findPos","cssProperties","prepend","hide","flips","bottom","cursor","_fold","leftPos","gradientX","fpageOrigin","parentOrigin","parentCss","relX","angle","half","backgroundColor","opacity","px","gradientEndPointA","gradientEndPointB","gradientStartVal","gradientSize","gradientOpacity","shadowVal","a","df","tr","folding","ac","tan","h","substr","compute","rel","middle","alpha","atan2","gamma","distance","sin","cos","beta","side","sideX","sideY","endingPoint","far","mvW","mvH","cssA","cssB","aliasingFk","origin","rotate","_showFoldedPage","visible","status","animatef","to","frame","v","turning","show","shadows","bshadowLoc","hideFoldedPage","p1","p4","delta","p2","p3","np","bezier","complete","hiding","turnPage","elevation","moving","isTurning","_disable2","_hover","dec","methods","args","Array","slice","overf","b","use3d","degrees","vendorPrefixes","len","p0","colors","numColors","j","cols","join","dx","dy","angle2","diagonal","gradientDiagonal","slope","inverse","segA","context","event","Event","isPropagationStopped","message","TurnJsError","Error","offsetLeft","offsetTop","offsetParent","requestAnim","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","callback","setTimeout","fn","_transform","properties","diff","easing","timeDiff","cssPrefix","cssTransitionEnd","el","createElement","transitions","transition","OTransition","MSTransition","MozTransition","WebkitTransition","global","factory","w","noGlobal","arr","getProto","getPrototypeOf","_slice","flat","array","concat","class2type","toString","hasOwn","fnToString","ObjectFunctionString","support","isFunction","nodeType","item","isWindow","preservedScriptAttributes","src","nonce","noModule","DOMEval","code","node","doc","val","script","text","getAttribute","setAttribute","head","appendChild","parentNode","removeChild","toType","jQuery","selector","isArrayLike","jquery","toArray","num","pushStack","elems","ret","merge","prevObject","map","elem","first","eq","last","even","grep","_elem","end","sort","copy","copyIsArray","clone","deep","isPlainObject","isArray","expando","random","replace","isReady","error","msg","noop","proto","Ctor","isEmptyObject","globalEval","makeArray","results","second","invert","matches","callbackExpect","arg","guid","_i","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","preferredDoc","dirruns","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","sortOrder","pushNative","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rtrim","rcomma","rcombinators","rdescend","rpseudo","ridentifier","matchExpr","rhtml","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","escape","nonHex","high","String","fromCharCode","rcssescape","fcssescape","asCodePoint","charCodeAt","unloadHandler","inDisabledFieldset","addCombinator","nodeName","childNodes","els","seed","nid","match","groups","newSelector","newContext","ownerDocument","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","testContext","scope","toSelector","querySelectorAll","qsaError","removeAttribute","keys","cache","cacheLength","markFunction","assert","addHandle","attrs","handler","attrHandle","siblingCheck","cur","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","namespace","namespaceURI","documentElement","hasCompare","subWindow","defaultView","addEventListener","attachEvent","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","tag","tmp","input","innerHTML","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","specified","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","_argument","simple","ofType","_context","xml","uniqueCache","outerCache","nodeIndex","useCache","lastChild","uniqueID","pseudo","setFilters","idx","matched","matcher","unmatched","lang","elemLang","hash","location","activeElement","hasFocus","href","tabIndex","checked","selected","selectedIndex","_matchIndexes","radio","checkbox","file","password","image","submit","reset","tokens","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","filters","parseOnly","soFar","preFilters","cached","setMatchers","elementMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","matcherFromGroupMatchers","token","compiled","_name","defaultValue","unique","isXMLDoc","escapeSelector","_dir","until","truncate","_siblings","rneedsContext","needsContext","rsingleTag","winnow","qualifier","not","self","rootjQuery","root","parseHTML","ready","rparentsprev","guaranteedUnique","contents","prev","sibling","targets","closest","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","siblings","contentDocument","content","reverse","rnothtmlwhite","Identity","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Callbacks","_","flag","createOptions","firing","memory","_fired","_locked","queue","firingIndex","fire","once","stopOnFalse","empty","lock","locked","fireWith","fired","Deferred","func","tuples","_state","_promise","state","always","deferred","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","stateString","singleValue","remaining","resolveContexts","resolveValues","primary","updateFunc","rerrorNames","stack","console","warn","readyException","readyList","completed","removeEventListener","catch","readyWait","wait","readyState","doScroll","access","chainable","emptyGet","raw","bulk","_key","rmsPrefix","rdashAlpha","fcamelCase","_all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","configurable","set","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","JSON","parse","getData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","showHide","values","toggle","div","rcheckableType","rtagName","rscriptType","createDocumentFragment","checkClone","cloneNode","noCloneChecked","option","wrapMap","thead","col","td","_default","getAll","setGlobalEval","refElements","tbody","tfoot","colgroup","caption","th","optgroup","buildFragment","scripts","selection","ignored","wrap","attached","fragment","nodes","htmlPrefilter","createTextNode","rtypenamespace","returnTrue","returnFalse","expectSync","err","safeActiveElement","_on","types","one","origFn","off","leverageNative","notAsync","saved","isTrigger","delegateType","stopImmediatePropagation","handleObjIn","eventHandle","events","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","currentTarget","isImmediatePropagationStopped","rnamespace","postDispatch","_handlers","matchedHandlers","matchedSelectors","button","addProp","hook","writable","load","noBubble","click","beforeunload","returnValue","props","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","shiftKey","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","which","focus","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","on","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","udataOld","udataCur","fixInput","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","_remove","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","insertBefore","before","after","replaceWith","replaceChild","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","getStyles","opener","getComputedStyle","swap","old","rboxStyle","curCSS","computed","minWidth","maxWidth","getPropertyValue","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","container","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","pixelBoxStylesVal","boxSizingReliableVal","scrollboxSizeVal","offsetWidth","measure","reliableTrDimensionsVal","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","table","trChild","trStyle","borderTopWidth","borderBottomWidth","offsetHeight","cssPrefixes","emptyStyle","vendorProps","finalPropName","final","cssProps","capName","vendorPropName","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","ceil","getWidthOrHeight","valueIsBorderBox","offsetProp","getClientRects","Tween","cssHooks","origName","isCustomProp","setProperty","isFinite","getBoundingClientRect","scrollboxSizeBuggy","margin","padding","border","prefix","suffix","expand","expanded","propHooks","run","percent","eased","step","fx","scrollTop","scrollLeft","linear","swing","fxNow","inProgress","rfxtypes","rrun","schedule","hidden","interval","tick","createFxNow","genFx","includeWidth","createTween","animation","Animation","tweeners","stopped","prefilters","currentTime","startTime","tweens","specialEasing","originalProperties","originalOptions","gotoEnd","propFilter","timer","anim","tweener","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","overflowX","overflowY","prefilter","speed","opt","speeds","fadeTo","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","bool","attrNames","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","classes","curValue","clazz","finalValue","toggleClass","stateVal","isValidValue","classNames","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","triggerHandler","attaches","rquery","parseXML","parserErrorElem","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","responseFields","converters","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","_statusCode","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","responses","isSuccess","response","modified","ct","finalDataType","firstDataType","ajaxHandleResponses","conv2","conv","dataFilter","throws","ajaxConvert","getJSON","getScript","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","xhr","XMLHttpRequest","xhrSuccessStatus","xhrSupported","cors","_callback","errorCallback","open","username","xhrFields","onload","onerror","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","_callback2","scriptAttrs","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","rect","win","pageYOffset","pageXOffset","parentOffset","scrollTo","Height","Width","defaultExtra","funcName","delegate","undelegate","fnOver","fnOut","holdReady","hold","parseJSON","isNumeric","isNaN","trim","_jQuery","_$","noConflict","ScrollTo","webpackPolyfill","deprecate","paths","timeoutId","ratio","aspectWrapper","viewer","pagesCount","prevBtn","nextBtn","pageNumEl","toggleViewEl","loading","linkToPageEl","setCurrentPage","setViewerDimensions","flipWidth","flipHeight","neededwidth","neededHeight","pageChange","action","toggleFullscreen","onkeyup","link","book","initPage","naturalWidth","naturalHeight"],"mappings":"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","file":"flipbook.ddc0c54c98b5b2b5580c.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"//cdn3-assets.talendo.ch/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 999);\n","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nvar $ = require(\"jquery\");\n\nvar has3d,\n hasRot,\n vendor = \"\",\n _version = \"4.1.0\",\n PI = Math.PI,\n A90 = PI / 2,\n isTouch = (\"ontouchstart\" in window),\n mouseEvents = isTouch ? {\n down: \"touchstart\",\n move: \"touchmove\",\n up: \"touchend\",\n over: \"touchstart\",\n out: \"touchend\"\n} : {\n down: \"mousedown\",\n move: \"mousemove\",\n up: \"mouseup\",\n over: \"mouseover\",\n out: \"mouseout\"\n},\n // Contansts used for each corner\n// | tl * tr |\n// l | * * | r\n// | bl * br |\ncorners = {\n backward: [\"bl\", \"tl\"],\n forward: [\"br\", \"tr\"],\n all: [\"tl\", \"bl\", \"tr\", \"br\", \"l\", \"r\"]\n},\n // Display values\ndisplays = [\"single\", \"double\"],\n // Direction values\ndirections = [\"ltr\", \"rtl\"],\n // Default options\nturnOptions = {\n // Enables hardware acceleration\n acceleration: true,\n // Display\n display: \"double\",\n // Duration of transition in milliseconds\n duration: 600,\n // First page\n page: 1,\n // Enables gradients\n gradients: true,\n // Corners used when turning the page\n turnCorners: \"bl,br\",\n // Events\n when: null\n},\n flipOptions = {\n // Size of the active zone of each corner\n cornerSize: 100\n},\n // Number of pages in the DOM, minimum value: 6\npagesInDOM = 6,\n turnMethods = {\n // Singleton constructor\n // $('#selector').turn([options]);\n init: function init(options) {\n // Define constants\n has3d = \"WebKitCSSMatrix\" in window || \"MozPerspective\" in document.body.style;\n hasRot = rotationAvailable();\n vendor = getPrefix();\n var i,\n that = this,\n pageNum = 0,\n data = this.data(),\n ch = this.children(); // Set initial configuration\n\n options = $.extend({\n width: this.width(),\n height: this.height(),\n direction: this.attr(\"dir\") || this.css(\"direction\") || \"ltr\"\n }, turnOptions, options);\n data.opts = options;\n data.pageObjs = {};\n data.pages = {};\n data.pageWrap = {};\n data.pageZoom = {};\n data.pagePlace = {};\n data.pageMv = [];\n data.zoom = 1;\n data.totalPages = options.pages || 0;\n data.eventHandlers = {\n touchStart: $.proxy(turnMethods._touchStart, this),\n touchMove: $.proxy(turnMethods._touchMove, this),\n touchEnd: $.proxy(turnMethods._touchEnd, this),\n start: $.proxy(turnMethods._eventStart, this)\n }; // Add event listeners\n\n if (options.when) for (i in options.when) {\n if (has(i, options.when)) this.bind(i, options.when[i]);\n } // Set the css\n\n this.css({\n position: \"relative\",\n width: options.width,\n height: options.height\n }); // Set the initial display\n\n this.turn(\"display\", options.display); // Set the direction\n\n if (options.direction !== \"\") this.turn(\"direction\", options.direction); // Prevent blue screen problems of switching to hardware acceleration mode\n // By forcing hardware acceleration for ever\n\n if (has3d && !isTouch && options.acceleration) this.transform(translate(0, 0, true)); // Add pages from the DOM\n\n for (i = 0; i < ch.length; i++) {\n if ($(ch[i]).attr(\"ignore\") != \"1\") {\n this.turn(\"addPage\", ch[i], ++pageNum);\n }\n } // Event listeners\n\n\n $(this).bind(mouseEvents.down, data.eventHandlers.touchStart).bind(\"end\", turnMethods._eventEnd).bind(\"pressed\", turnMethods._eventPressed).bind(\"released\", turnMethods._eventReleased).bind(\"flip\", turnMethods._flip);\n $(this).parent().bind(\"start\", data.eventHandlers.start);\n $(document).bind(mouseEvents.move, data.eventHandlers.touchMove).bind(mouseEvents.up, data.eventHandlers.touchEnd); // Set the initial page\n\n this.turn(\"page\", options.page); // This flipbook is ready\n\n data.done = true;\n return this;\n },\n // Adds a page from external data\n addPage: function addPage(element, page) {\n var currentPage,\n className,\n incPages = false,\n data = this.data(),\n lastPage = data.totalPages + 1;\n if (data.destroying) return false; // Read the page number from the className of `element` - format: p[0-9]+\n\n if (currentPage = /\\bp([0-9]+)\\b/.exec($(element).attr(\"class\"))) page = parseInt(currentPage[1], 10);\n\n if (page) {\n if (page == lastPage) incPages = true;else if (page > lastPage) throw turnError('Page \"' + page + '\" cannot be inserted');\n } else {\n page = lastPage;\n incPages = true;\n }\n\n if (page >= 1 && page <= lastPage) {\n if (data.display == \"double\") className = page % 2 ? \" odd\" : \" even\";else className = \"\"; // Stop animations\n\n if (data.done) this.turn(\"stop\"); // Move pages if it's necessary\n\n if (page in data.pageObjs) turnMethods._movePages.call(this, page, 1); // Increase the number of pages\n\n if (incPages) data.totalPages = lastPage; // Add element\n\n data.pageObjs[page] = $(element).css({\n float: \"left\"\n }).addClass(\"page p\" + page + className);\n\n if (!hasHardPage() && data.pageObjs[page].hasClass(\"hard\")) {\n data.pageObjs[page].removeClass(\"hard\");\n } // Add page\n\n\n turnMethods._addPage.call(this, page); // Remove pages out of range\n\n\n turnMethods._removeFromDOM.call(this);\n }\n\n return this;\n },\n // Adds a page\n _addPage: function _addPage(page) {\n var data = this.data(),\n element = data.pageObjs[page];\n if (element) if (turnMethods._necessPage.call(this, page)) {\n if (!data.pageWrap[page]) {\n // Wrapper\n data.pageWrap[page] = $(\"
\", {\n class: \"page-wrapper\",\n page: page,\n css: {\n position: \"absolute\",\n overflow: \"hidden\"\n }\n }); // Append to this flipbook\n\n this.append(data.pageWrap[page]);\n\n if (!data.pagePlace[page]) {\n data.pagePlace[page] = page; // Move `pageObjs[page]` to wrapper\n\n data.pageObjs[page].appendTo(data.pageWrap[page]);\n } // Set the size of the page\n\n\n var prop = turnMethods._pageSize.call(this, page, true);\n\n element.css({\n width: prop.width,\n height: prop.height\n });\n data.pageWrap[page].css(prop);\n }\n\n if (data.pagePlace[page] == page) {\n // If the page isn't in another place, create the flip effect\n turnMethods._makeFlip.call(this, page);\n }\n } else {\n // Place\n data.pagePlace[page] = 0; // Remove element from the DOM\n\n if (data.pageObjs[page]) data.pageObjs[page].remove();\n }\n },\n // Checks if a page is in memory\n hasPage: function hasPage(page) {\n return has(page, this.data().pageObjs);\n },\n // Centers the flipbook\n center: function center(page) {\n var data = this.data(),\n size = $(this).turn(\"size\"),\n left = 0;\n\n if (!data.noCenter) {\n if (data.display == \"double\") {\n var view = this.turn(\"view\", page || data.tpage || data.page);\n\n if (data.direction == \"ltr\") {\n if (!view[0]) left -= size.width / 4;else if (!view[1]) left += size.width / 4;\n } else {\n if (!view[0]) left += size.width / 4;else if (!view[1]) left -= size.width / 4;\n }\n }\n\n $(this).css({\n marginLeft: left\n });\n }\n\n return this;\n },\n // Destroys the flipbook\n destroy: function destroy() {\n var page,\n flipbook = this,\n data = this.data(),\n events = [\"end\", \"first\", \"flip\", \"last\", \"pressed\", \"released\", \"start\", \"turning\", \"turned\", \"zooming\", \"missing\"];\n if (trigger(\"destroying\", this) == \"prevented\") return;\n data.destroying = true;\n $.each(events, function (index, eventName) {\n flipbook.unbind(eventName);\n });\n this.parent().unbind(\"start\", data.eventHandlers.start);\n $(document).unbind(mouseEvents.move, data.eventHandlers.touchMove).unbind(mouseEvents.up, data.eventHandlers.touchEnd);\n\n while (data.totalPages !== 0) {\n this.turn(\"removePage\", data.totalPages);\n }\n\n if (data.fparent) data.fparent.remove();\n if (data.shadow) data.shadow.remove();\n this.removeData();\n data = null;\n return this;\n },\n // Checks if this element is a flipbook\n is: function is() {\n return _typeof(this.data().pages) == \"object\";\n },\n // Sets and gets the zoom value\n zoom: function zoom(newZoom) {\n var data = this.data();\n\n if (typeof newZoom == \"number\") {\n if (newZoom < 0.001 || newZoom > 100) throw turnError(newZoom + \" is not a value for zoom\");\n if (trigger(\"zooming\", this, [newZoom, data.zoom]) == \"prevented\") return this;\n var size = this.turn(\"size\"),\n currentView = this.turn(\"view\"),\n iz = 1 / data.zoom,\n newWidth = Math.round(size.width * iz * newZoom),\n newHeight = Math.round(size.height * iz * newZoom);\n data.zoom = newZoom;\n $(this).turn(\"stop\").turn(\"size\", newWidth, newHeight);\n /*.\n css({marginTop: size.height * iz / 2 - newHeight / 2});*/\n\n if (data.opts.autoCenter) this.turn(\"center\");\n /*else\n $(this).css({marginLeft: size.width * iz / 2 - newWidth / 2});*/\n\n turnMethods._updateShadow.call(this);\n\n for (var i = 0; i < currentView.length; i++) {\n if (currentView[i] && data.pageZoom[currentView[i]] != data.zoom) {\n this.trigger(\"zoomed\", [currentView[i], currentView, data.pageZoom[currentView[i]], data.zoom]);\n data.pageZoom[currentView[i]] = data.zoom;\n }\n }\n\n return this;\n } else return data.zoom;\n },\n // Gets the size of a page\n _pageSize: function _pageSize(page, position) {\n var data = this.data(),\n prop = {};\n\n if (data.display == \"single\") {\n prop.width = this.width();\n prop.height = this.height();\n\n if (position) {\n prop.top = 0;\n prop.left = 0;\n prop.right = \"auto\";\n }\n } else {\n var pageWidth = this.width() / 2,\n pageHeight = this.height();\n\n if (data.pageObjs[page].hasClass(\"own-size\")) {\n prop.width = data.pageObjs[page].width();\n prop.height = data.pageObjs[page].height();\n } else {\n prop.width = pageWidth;\n prop.height = pageHeight;\n }\n\n if (position) {\n var odd = page % 2;\n prop.top = (pageHeight - prop.height) / 2;\n\n if (data.direction == \"ltr\") {\n prop[odd ? \"right\" : \"left\"] = pageWidth - prop.width;\n prop[odd ? \"left\" : \"right\"] = \"auto\";\n } else {\n prop[odd ? \"left\" : \"right\"] = pageWidth - prop.width;\n prop[odd ? \"right\" : \"left\"] = \"auto\";\n }\n }\n }\n\n return prop;\n },\n // Prepares the flip effect for a page\n _makeFlip: function _makeFlip(page) {\n var data = this.data();\n\n if (!data.pages[page] && data.pagePlace[page] == page) {\n var single = data.display == \"single\",\n odd = page % 2;\n data.pages[page] = data.pageObjs[page].css(turnMethods._pageSize.call(this, page)).flip({\n page: page,\n next: odd || single ? page + 1 : page - 1,\n turn: this\n }).flip(\"disable\", data.disabled); // Issue about z-index\n\n turnMethods._setPageLoc.call(this, page);\n\n data.pageZoom[page] = data.zoom;\n }\n\n return data.pages[page];\n },\n // Makes pages within a range\n _makeRange: function _makeRange() {\n var page,\n range,\n data = this.data();\n if (data.totalPages < 1) return;\n range = this.turn(\"range\");\n\n for (page = range[0]; page <= range[1]; page++) {\n turnMethods._addPage.call(this, page);\n }\n },\n // Returns a range of pages that should be in the DOM\n // Example:\n // - page in the current view, return true\n // * page is in the range, return true\n // Otherwise, return false\n //\n // 1 2-3 4-5 6-7 8-9 10-11 12-13\n // ** ** -- ** **\n range: function range(page) {\n var remainingPages,\n left,\n right,\n view,\n data = this.data();\n page = page || data.tpage || data.page || 1;\n view = turnMethods._view.call(this, page);\n if (page < 1 || page > data.totalPages) throw turnError('\"' + page + '\" is not a valid page');\n view[1] = view[1] || view[0];\n\n if (view[0] >= 1 && view[1] <= data.totalPages) {\n remainingPages = Math.floor((pagesInDOM - 2) / 2);\n\n if (data.totalPages - view[1] > view[0]) {\n left = Math.min(view[0] - 1, remainingPages);\n right = 2 * remainingPages - left;\n } else {\n right = Math.min(data.totalPages - view[1], remainingPages);\n left = 2 * remainingPages - right;\n }\n } else {\n left = pagesInDOM - 1;\n right = pagesInDOM - 1;\n }\n\n return [Math.max(1, view[0] - left), Math.min(data.totalPages, view[1] + right)];\n },\n // Detects if a page is within the range of `pagesInDOM` from the current view\n _necessPage: function _necessPage(page) {\n if (page === 0) return true;\n var range = this.turn(\"range\");\n return this.data().pageObjs[page].hasClass(\"fixed\") || page >= range[0] && page <= range[1];\n },\n // Releases memory by removing pages from the DOM\n _removeFromDOM: function _removeFromDOM() {\n var page,\n data = this.data();\n\n for (page in data.pageWrap) {\n if (has(page, data.pageWrap) && !turnMethods._necessPage.call(this, page)) turnMethods._removePageFromDOM.call(this, page);\n }\n },\n // Removes a page from DOM and its internal references\n _removePageFromDOM: function _removePageFromDOM(page) {\n var data = this.data();\n\n if (data.pages[page]) {\n var dd = data.pages[page].data();\n\n flipMethods._moveFoldingPage.call(data.pages[page], false);\n\n if (dd.f && dd.f.fwrapper) dd.f.fwrapper.remove();\n data.pages[page].removeData();\n data.pages[page].remove();\n delete data.pages[page];\n }\n\n if (data.pageObjs[page]) data.pageObjs[page].remove();\n\n if (data.pageWrap[page]) {\n data.pageWrap[page].remove();\n delete data.pageWrap[page];\n }\n\n turnMethods._removeMv.call(this, page);\n\n delete data.pagePlace[page];\n delete data.pageZoom[page];\n },\n // Removes a page\n removePage: function removePage(page) {\n var data = this.data(); // Delete all the pages\n\n if (page == \"*\") {\n while (data.totalPages !== 0) {\n this.turn(\"removePage\", data.totalPages);\n }\n } else {\n if (page < 1 || page > data.totalPages) throw turnError(\"The page \" + page + \" doesn't exist\");\n\n if (data.pageObjs[page]) {\n // Stop animations\n this.turn(\"stop\"); // Remove `page`\n\n turnMethods._removePageFromDOM.call(this, page);\n\n delete data.pageObjs[page];\n } // Move the pages\n\n\n turnMethods._movePages.call(this, page, -1); // Resize the size of this flipbook\n\n\n data.totalPages = data.totalPages - 1; // Check the current view\n\n if (data.page > data.totalPages) {\n data.page = null;\n\n turnMethods._fitPage.call(this, data.totalPages);\n } else {\n turnMethods._makeRange.call(this);\n\n this.turn(\"update\");\n }\n }\n\n return this;\n },\n // Moves pages\n _movePages: function _movePages(from, change) {\n var page,\n that = this,\n data = this.data(),\n single = data.display == \"single\",\n move = function move(page) {\n var next = page + change,\n odd = next % 2,\n className = odd ? \" odd \" : \" even \";\n if (data.pageObjs[page]) data.pageObjs[next] = data.pageObjs[page].removeClass(\"p\" + page + \" odd even\").addClass(\"p\" + next + className);\n\n if (data.pagePlace[page] && data.pageWrap[page]) {\n data.pagePlace[next] = next;\n if (data.pageObjs[next].hasClass(\"fixed\")) data.pageWrap[next] = data.pageWrap[page].attr(\"page\", next);else data.pageWrap[next] = data.pageWrap[page].css(turnMethods._pageSize.call(that, next, true)).attr(\"page\", next);\n if (data.pages[page]) data.pages[next] = data.pages[page].flip(\"options\", {\n page: next,\n next: single || odd ? next + 1 : next - 1\n });\n\n if (change) {\n delete data.pages[page];\n delete data.pagePlace[page];\n delete data.pageZoom[page];\n delete data.pageObjs[page];\n delete data.pageWrap[page];\n }\n }\n };\n\n if (change > 0) for (page = data.totalPages; page >= from; page--) {\n move(page);\n } else for (page = from; page <= data.totalPages; page++) {\n move(page);\n }\n },\n // Sets or Gets the display mode\n display: function display(_display) {\n var data = this.data(),\n currentDisplay = data.display;\n\n if (_display === undefined) {\n return currentDisplay;\n } else {\n if ($.inArray(_display, displays) == -1) throw turnError('\"' + _display + '\" is not a value for display');\n\n switch (_display) {\n case \"single\":\n // Create a temporal page to use as folded page\n if (!data.pageObjs[0]) {\n this.turn(\"stop\").css({\n overflow: \"hidden\"\n });\n data.pageObjs[0] = $(\"\", {\n class: \"page p-temporal\"\n }).css({\n width: this.width(),\n height: this.height()\n }).appendTo(this);\n }\n\n this.addClass(\"shadow\");\n break;\n\n case \"double\":\n // Remove the temporal page\n if (data.pageObjs[0]) {\n this.turn(\"stop\").css({\n overflow: \"\"\n });\n data.pageObjs[0].remove();\n delete data.pageObjs[0];\n }\n\n this.removeClass(\"shadow\");\n break;\n }\n\n data.display = _display;\n\n if (currentDisplay) {\n var size = this.turn(\"size\");\n\n turnMethods._movePages.call(this, 1, 0);\n\n this.turn(\"size\", size.width, size.height).turn(\"update\");\n }\n\n return this;\n }\n },\n // Gets and sets the direction of the flipbook\n direction: function direction(dir) {\n var data = this.data();\n\n if (dir === undefined) {\n return data.direction;\n } else {\n dir = dir.toLowerCase();\n if ($.inArray(dir, directions) == -1) throw turnError('\"' + dir + '\" is not a value for direction');\n\n if (dir == \"rtl\") {\n $(this).attr(\"dir\", \"ltr\").css({\n direction: \"ltr\"\n });\n }\n\n data.direction = dir;\n if (data.done) this.turn(\"size\", $(this).width(), $(this).height());\n return this;\n }\n },\n // Detects animation\n animating: function animating() {\n return this.data().pageMv.length > 0;\n },\n // Gets the current activated corner\n corner: function corner() {\n var corner,\n page,\n data = this.data();\n\n for (page in data.pages) {\n if (has(page, data.pages)) if (corner = data.pages[page].flip(\"corner\")) {\n return corner;\n }\n }\n\n return false;\n },\n // Gets the data stored in the flipbook\n data: function data() {\n return this.data();\n },\n // Disables and enables the effect\n disable: function disable(_disable) {\n var page,\n data = this.data(),\n view = this.turn(\"view\");\n data.disabled = _disable === undefined || _disable === true;\n\n for (page in data.pages) {\n if (has(page, data.pages)) data.pages[page].flip(\"disable\", data.disabled ? true : $.inArray(parseInt(page, 10), view) == -1);\n }\n\n return this;\n },\n // Disables and enables the effect\n disabled: function disabled(disable) {\n if (disable === undefined) {\n return this.data().disabled === true;\n } else {\n return this.turn(\"disable\", disable);\n }\n },\n // Gets and sets the size\n size: function size(width, height) {\n if (width === undefined || height === undefined) {\n return {\n width: this.width(),\n height: this.height()\n };\n } else {\n this.turn(\"stop\");\n var page,\n prop,\n data = this.data(),\n pageWidth = data.display == \"double\" ? width / 2 : width;\n this.css({\n width: width,\n height: height\n });\n if (data.pageObjs[0]) data.pageObjs[0].css({\n width: pageWidth,\n height: height\n });\n\n for (page in data.pageWrap) {\n if (!has(page, data.pageWrap)) continue;\n prop = turnMethods._pageSize.call(this, page, true);\n data.pageObjs[page].css({\n width: prop.width,\n height: prop.height\n });\n data.pageWrap[page].css(prop);\n if (data.pages[page]) data.pages[page].css({\n width: prop.width,\n height: prop.height\n });\n }\n\n this.turn(\"resize\");\n return this;\n }\n },\n // Resizes each page\n resize: function resize() {\n var page,\n data = this.data();\n\n if (data.pages[0]) {\n data.pageWrap[0].css({\n left: -this.width()\n });\n data.pages[0].flip(\"resize\", true);\n }\n\n for (page = 1; page <= data.totalPages; page++) {\n if (data.pages[page]) data.pages[page].flip(\"resize\", true);\n }\n\n turnMethods._updateShadow.call(this);\n\n if (data.opts.autoCenter) this.turn(\"center\");\n },\n // Removes an animation from the cache\n _removeMv: function _removeMv(page) {\n var i,\n data = this.data();\n\n for (i = 0; i < data.pageMv.length; i++) {\n if (data.pageMv[i] == page) {\n data.pageMv.splice(i, 1);\n return true;\n }\n }\n\n return false;\n },\n // Adds an animation to the cache\n _addMv: function _addMv(page) {\n var data = this.data();\n\n turnMethods._removeMv.call(this, page);\n\n data.pageMv.push(page);\n },\n // Gets indexes for a view\n _view: function _view(page) {\n var data = this.data();\n page = page || data.page;\n if (data.display == \"double\") return page % 2 ? [page - 1, page] : [page, page + 1];else return [page];\n },\n // Gets a view\n view: function view(page) {\n var data = this.data(),\n view = turnMethods._view.call(this, page);\n\n if (data.display == \"double\") return [view[0] > 0 ? view[0] : 0, view[1] <= data.totalPages ? view[1] : 0];else return [view[0] > 0 && view[0] <= data.totalPages ? view[0] : 0];\n },\n // Stops animations\n stop: function stop(ignore, animate) {\n if (this.turn(\"animating\")) {\n var i,\n opts,\n page,\n data = this.data();\n\n if (data.tpage) {\n data.page = data.tpage;\n delete data[\"tpage\"];\n }\n\n for (i = 0; i < data.pageMv.length; i++) {\n if (!data.pageMv[i] || data.pageMv[i] === ignore) continue;\n page = data.pages[data.pageMv[i]];\n opts = page.data().f.opts;\n page.flip(\"hideFoldedPage\", animate);\n if (!animate) flipMethods._moveFoldingPage.call(page, false);\n\n if (opts.force) {\n opts.next = opts.page % 2 === 0 ? opts.page - 1 : opts.page + 1;\n delete opts[\"force\"];\n }\n }\n }\n\n this.turn(\"update\");\n return this;\n },\n // Gets and sets the number of pages\n pages: function pages(_pages) {\n var data = this.data();\n\n if (_pages) {\n if (_pages < data.totalPages) {\n for (var page = data.totalPages; page > _pages; page--) {\n this.turn(\"removePage\", page);\n }\n }\n\n data.totalPages = _pages;\n\n turnMethods._fitPage.call(this, data.page);\n\n return this;\n } else return data.totalPages;\n },\n // Checks missing pages\n _missing: function _missing(page) {\n var data = this.data();\n if (data.totalPages < 1) return;\n var p,\n range = this.turn(\"range\", page),\n missing = [];\n\n for (p = range[0]; p <= range[1]; p++) {\n if (!data.pageObjs[p]) missing.push(p);\n }\n\n if (missing.length > 0) this.trigger(\"missing\", [missing]);\n },\n // Sets a page without effect\n _fitPage: function _fitPage(page) {\n var data = this.data(),\n newView = this.turn(\"view\", page);\n\n turnMethods._missing.call(this, page);\n\n if (!data.pageObjs[page]) return;\n data.page = page;\n this.turn(\"stop\");\n\n for (var i = 0; i < newView.length; i++) {\n if (newView[i] && data.pageZoom[newView[i]] != data.zoom) {\n this.trigger(\"zoomed\", [newView[i], newView, data.pageZoom[newView[i]], data.zoom]);\n data.pageZoom[newView[i]] = data.zoom;\n }\n }\n\n turnMethods._removeFromDOM.call(this);\n\n turnMethods._makeRange.call(this);\n\n turnMethods._updateShadow.call(this);\n\n this.trigger(\"turned\", [page, newView]);\n this.turn(\"update\");\n if (data.opts.autoCenter) this.turn(\"center\");\n },\n // Turns the page\n _turnPage: function _turnPage(page) {\n var current,\n next,\n data = this.data(),\n place = data.pagePlace[page],\n view = this.turn(\"view\"),\n newView = this.turn(\"view\", page);\n\n if (data.page != page) {\n var currentPage = data.page;\n\n if (trigger(\"turning\", this, [page, newView]) == \"prevented\") {\n if (currentPage == data.page && $.inArray(place, data.pageMv) != -1) data.pages[place].flip(\"hideFoldedPage\", true);\n return;\n }\n\n if ($.inArray(1, newView) != -1) this.trigger(\"first\");\n if ($.inArray(data.totalPages, newView) != -1) this.trigger(\"last\");\n }\n\n if (data.display == \"single\") {\n current = view[0];\n next = newView[0];\n } else if (view[1] && page > view[1]) {\n current = view[1];\n next = newView[0];\n } else if (view[0] && page < view[0]) {\n current = view[0];\n next = newView[1];\n }\n\n var optsCorners = data.opts.turnCorners.split(\",\"),\n flipData = data.pages[current].data().f,\n opts = flipData.opts,\n actualPoint = flipData.point;\n\n turnMethods._missing.call(this, page);\n\n if (!data.pageObjs[page]) return;\n this.turn(\"stop\");\n data.page = page;\n\n turnMethods._makeRange.call(this);\n\n data.tpage = next;\n\n if (opts.next != next) {\n opts.next = next;\n opts.force = true;\n }\n\n this.turn(\"update\");\n flipData.point = actualPoint;\n if (flipData.effect == \"hard\") {\n if (data.direction == \"ltr\") data.pages[current].flip(\"turnPage\", page > current ? \"r\" : \"l\");else data.pages[current].flip(\"turnPage\", page > current ? \"l\" : \"r\");\n } else {\n if (data.direction == \"ltr\") data.pages[current].flip(\"turnPage\", optsCorners[page > current ? 1 : 0]);else data.pages[current].flip(\"turnPage\", optsCorners[page > current ? 0 : 1]);\n }\n },\n // Gets and sets a page\n page: function page(_page) {\n var data = this.data();\n\n if (_page === undefined) {\n return data.page;\n } else {\n if (!data.disabled && !data.destroying) {\n _page = parseInt(_page, 10);\n\n if (_page > 0 && _page <= data.totalPages) {\n if (_page != data.page) {\n if (!data.done || $.inArray(_page, this.turn(\"view\")) != -1) turnMethods._fitPage.call(this, _page);else turnMethods._turnPage.call(this, _page);\n }\n\n return this;\n } else {\n throw turnError(\"The page \" + _page + \" does not exist\");\n }\n }\n }\n },\n // Turns to the next view\n next: function next() {\n return this.turn(\"page\", Math.min(this.data().totalPages, turnMethods._view.call(this, this.data().page).pop() + 1));\n },\n // Turns to the previous view\n previous: function previous() {\n return this.turn(\"page\", Math.max(1, turnMethods._view.call(this, this.data().page).shift() - 1));\n },\n // Shows a peeling corner\n peel: function peel(corner, animate) {\n var data = this.data(),\n view = this.turn(\"view\");\n animate = animate === undefined ? true : animate === true;\n\n if (corner === false) {\n this.turn(\"stop\", null, animate);\n } else {\n if (data.display == \"single\") {\n data.pages[data.page].flip(\"peel\", corner, animate);\n } else {\n var page;\n\n if (data.direction == \"ltr\") {\n page = corner.indexOf(\"l\") != -1 ? view[0] : view[1];\n } else {\n page = corner.indexOf(\"l\") != -1 ? view[1] : view[0];\n }\n\n if (data.pages[page]) data.pages[page].flip(\"peel\", corner, animate);\n }\n }\n\n return this;\n },\n // Adds a motion to the internal list\n // This event is called in context of flip\n _addMotionPage: function _addMotionPage() {\n var opts = $(this).data().f.opts,\n turn = opts.turn,\n dd = turn.data();\n\n turnMethods._addMv.call(turn, opts.page);\n },\n // This event is called in context of flip\n _eventStart: function _eventStart(e, opts, corner) {\n var data = opts.turn.data(),\n actualZoom = data.pageZoom[opts.page];\n\n if (e.isDefaultPrevented()) {\n turnMethods._updateShadow.call(opts.turn);\n\n return;\n }\n\n if (actualZoom && actualZoom != data.zoom) {\n opts.turn.trigger(\"zoomed\", [opts.page, opts.turn.turn(\"view\", opts.page), actualZoom, data.zoom]);\n data.pageZoom[opts.page] = data.zoom;\n }\n\n if (data.display == \"single\" && corner) {\n if (corner.charAt(1) == \"l\" && data.direction == \"ltr\" || corner.charAt(1) == \"r\" && data.direction == \"rtl\") {\n opts.next = opts.next < opts.page ? opts.next : opts.page - 1;\n opts.force = true;\n } else {\n opts.next = opts.next > opts.page ? opts.next : opts.page + 1;\n }\n }\n\n turnMethods._addMotionPage.call(e.target);\n\n turnMethods._updateShadow.call(opts.turn);\n },\n // This event is called in context of flip\n _eventEnd: function _eventEnd(e, opts, turned) {\n var that = $(e.target),\n data = that.data().f,\n turn = opts.turn,\n dd = turn.data();\n\n if (turned) {\n var tpage = dd.tpage || dd.page;\n\n if (tpage == opts.next || tpage == opts.page) {\n delete dd.tpage;\n\n turnMethods._fitPage.call(turn, tpage || opts.next, true);\n }\n } else {\n turnMethods._removeMv.call(turn, opts.page);\n\n turnMethods._updateShadow.call(turn);\n\n turn.turn(\"update\");\n }\n },\n // This event is called in context of flip\n _eventPressed: function _eventPressed(e) {\n var page,\n data = $(e.target).data().f,\n turn = data.opts.turn,\n turnData = turn.data(),\n pages = turnData.pages;\n turnData.mouseAction = true;\n turn.turn(\"update\");\n return data.time = new Date().getTime();\n },\n // This event is called in context of flip\n _eventReleased: function _eventReleased(e, point) {\n var outArea,\n page = $(e.target),\n data = page.data().f,\n turn = data.opts.turn,\n turnData = turn.data();\n\n if (turnData.display == \"single\") {\n outArea = point.corner == \"br\" || point.corner == \"tr\" ? point.x < page.width() / 2 : point.x > page.width() / 2;\n } else {\n outArea = point.x < 0 || point.x > page.width();\n }\n\n if (new Date().getTime() - data.time < 200 || outArea) {\n e.preventDefault();\n\n turnMethods._turnPage.call(turn, data.opts.next);\n }\n\n turnData.mouseAction = false;\n },\n // This event is called in context of flip\n _flip: function _flip(e) {\n e.stopPropagation();\n var opts = $(e.target).data().f.opts;\n opts.turn.trigger(\"turn\", [opts.next]);\n\n if (opts.turn.data().opts.autoCenter) {\n opts.turn.turn(\"center\", opts.next);\n }\n },\n //\n _touchStart: function _touchStart() {\n var data = this.data();\n\n for (var page in data.pages) {\n if (has(page, data.pages) && flipMethods._eventStart.apply(data.pages[page], arguments) === false) {\n return false;\n }\n }\n },\n //\n _touchMove: function _touchMove() {\n var data = this.data();\n\n for (var page in data.pages) {\n if (has(page, data.pages)) {\n flipMethods._eventMove.apply(data.pages[page], arguments);\n }\n }\n },\n //\n _touchEnd: function _touchEnd() {\n var data = this.data();\n\n for (var page in data.pages) {\n if (has(page, data.pages)) {\n flipMethods._eventEnd.apply(data.pages[page], arguments);\n }\n }\n },\n // Calculate the z-index value for pages during the animation\n calculateZ: function calculateZ(mv) {\n var i,\n page,\n nextPage,\n placePage,\n dpage,\n that = this,\n data = this.data(),\n view = this.turn(\"view\"),\n currentPage = view[0] || view[1],\n total = mv.length - 1,\n r = {\n pageZ: {},\n partZ: {},\n pageV: {}\n },\n addView = function addView(page) {\n var view = that.turn(\"view\", page);\n if (view[0]) r.pageV[view[0]] = true;\n if (view[1]) r.pageV[view[1]] = true;\n };\n\n for (i = 0; i <= total; i++) {\n page = mv[i];\n nextPage = data.pages[page].data().f.opts.next;\n placePage = data.pagePlace[page];\n addView(page);\n addView(nextPage);\n dpage = data.pagePlace[nextPage] == nextPage ? nextPage : page;\n r.pageZ[dpage] = data.totalPages - Math.abs(currentPage - dpage);\n r.partZ[placePage] = data.totalPages * 2 - total + i;\n }\n\n return r;\n },\n // Updates the z-index and display property of every page\n update: function update() {\n var page,\n data = this.data();\n\n if (this.turn(\"animating\") && data.pageMv[0] !== 0) {\n // Update motion\n var p,\n apage,\n fixed,\n pos = this.turn(\"calculateZ\", data.pageMv),\n corner = this.turn(\"corner\"),\n actualView = this.turn(\"view\"),\n newView = this.turn(\"view\", data.tpage);\n\n for (page in data.pageWrap) {\n if (!has(page, data.pageWrap)) continue;\n fixed = data.pageObjs[page].hasClass(\"fixed\");\n data.pageWrap[page].css({\n display: pos.pageV[page] || fixed ? \"\" : \"none\",\n zIndex: (data.pageObjs[page].hasClass(\"hard\") ? pos.partZ[page] : pos.pageZ[page]) || (fixed ? -1 : 0)\n });\n\n if (p = data.pages[page]) {\n p.flip(\"z\", pos.partZ[page] || null);\n if (pos.pageV[page]) p.flip(\"resize\");\n\n if (data.tpage) {\n // Is it turning the page to `tpage`?\n p.flip(\"hover\", false).flip(\"disable\", $.inArray(parseInt(page, 10), data.pageMv) == -1 && page != newView[0] && page != newView[1]);\n } else {\n p.flip(\"hover\", corner === false).flip(\"disable\", page != actualView[0] && page != actualView[1]);\n }\n }\n }\n } else {\n // Update static pages\n for (page in data.pageWrap) {\n if (!has(page, data.pageWrap)) continue;\n\n var pageLocation = turnMethods._setPageLoc.call(this, page);\n\n if (data.pages[page]) {\n data.pages[page].flip(\"disable\", data.disabled || pageLocation != 1).flip(\"hover\", true).flip(\"z\", null);\n }\n }\n }\n\n return this;\n },\n // Updates the position and size of the flipbook's shadow\n _updateShadow: function _updateShadow() {\n var view,\n view2,\n shadow,\n data = this.data(),\n width = this.width(),\n height = this.height(),\n pageWidth = data.display == \"single\" ? width : width / 2;\n view = this.turn(\"view\");\n\n if (!data.shadow) {\n data.shadow = $(\"\", {\n class: \"shadow\",\n css: divAtt(0, 0, 0).css\n }).appendTo(this);\n }\n\n for (var i = 0; i < data.pageMv.length; i++) {\n if (!view[0] || !view[1]) break;\n view = this.turn(\"view\", data.pages[data.pageMv[i]].data().f.opts.next);\n view2 = this.turn(\"view\", data.pageMv[i]);\n view[0] = view[0] && view2[0];\n view[1] = view[1] && view2[1];\n }\n\n if (!view[0]) shadow = data.direction == \"ltr\" ? 1 : 2;else if (!view[1]) shadow = data.direction == \"ltr\" ? 2 : 1;else shadow = 3;\n\n switch (shadow) {\n case 1:\n data.shadow.css({\n width: pageWidth,\n height: height,\n top: 0,\n left: pageWidth\n });\n break;\n\n case 2:\n data.shadow.css({\n width: pageWidth,\n height: height,\n top: 0,\n left: 0\n });\n break;\n\n case 3:\n data.shadow.css({\n width: width,\n height: height,\n top: 0,\n left: 0\n });\n break;\n }\n },\n // Sets the z-index and display property of a page\n // It depends on the current view\n _setPageLoc: function _setPageLoc(page) {\n var data = this.data(),\n view = this.turn(\"view\"),\n loc = 0;\n if (page == view[0] || page == view[1]) loc = 1;else if (data.display == \"single\" && page == view[0] + 1 || data.display == \"double\" && page == view[0] - 2 || page == view[1] + 2) loc = 2;\n if (!this.turn(\"animating\")) switch (loc) {\n case 1:\n data.pageWrap[page].css({\n zIndex: data.totalPages,\n display: \"\"\n });\n break;\n\n case 2:\n data.pageWrap[page].css({\n zIndex: data.totalPages - 1,\n display: \"\"\n });\n break;\n\n case 0:\n data.pageWrap[page].css({\n zIndex: 0,\n display: data.pageObjs[page].hasClass(\"fixed\") ? \"\" : \"none\"\n });\n break;\n }\n return loc;\n },\n // Gets and sets the options\n options: function options(_options) {\n if (_options === undefined) {\n return this.data().opts;\n } else {\n var data = this.data(); // Set new values\n\n $.extend(data.opts, _options); // Set pages\n\n if (_options.pages) this.turn(\"pages\", _options.pages); // Set page\n\n if (_options.page) this.turn(\"page\", _options.page); // Set display\n\n if (_options.display) this.turn(\"display\", _options.display); // Set direction\n\n if (_options.direction) this.turn(\"direction\", _options.direction); // Set size\n\n if (_options.width && _options.height) this.turn(\"size\", _options.width, _options.height); // Add event listeners\n\n if (_options.when) for (var eventName in _options.when) {\n if (has(eventName, _options.when)) {\n this.unbind(eventName).bind(eventName, _options.when[eventName]);\n }\n }\n return this;\n }\n },\n // Gets the current version\n version: function version() {\n return _version;\n }\n},\n // Methods and properties for the flip page effect\nflipMethods = {\n // Constructor\n init: function init(opts) {\n this.data({\n f: {\n disabled: false,\n hover: false,\n effect: this.hasClass(\"hard\") ? \"hard\" : \"sheet\"\n }\n });\n this.flip(\"options\", opts);\n\n flipMethods._addPageWrapper.call(this);\n\n return this;\n },\n setData: function setData(d) {\n var data = this.data();\n data.f = $.extend(data.f, d);\n return this;\n },\n options: function options(opts) {\n var data = this.data().f;\n\n if (opts) {\n flipMethods.setData.call(this, {\n opts: $.extend({}, data.opts || flipOptions, opts)\n });\n return this;\n } else return data.opts;\n },\n z: function z(_z) {\n var data = this.data().f;\n data.opts[\"z-index\"] = _z;\n if (data.fwrapper) data.fwrapper.css({\n zIndex: _z || parseInt(data.parent.css(\"z-index\"), 10) || 0\n });\n return this;\n },\n _cAllowed: function _cAllowed() {\n var data = this.data().f,\n page = data.opts.page,\n turnData = data.opts.turn.data(),\n odd = page % 2;\n\n if (data.effect == \"hard\") {\n return turnData.direction == \"ltr\" ? [odd ? \"r\" : \"l\"] : [odd ? \"l\" : \"r\"];\n } else {\n if (turnData.display == \"single\") {\n if (page == 1) return turnData.direction == \"ltr\" ? corners[\"forward\"] : corners[\"backward\"];else if (page == turnData.totalPages) return turnData.direction == \"ltr\" ? corners[\"backward\"] : corners[\"forward\"];else return corners[\"all\"];\n } else {\n return turnData.direction == \"ltr\" ? corners[odd ? \"forward\" : \"backward\"] : corners[odd ? \"backward\" : \"forward\"];\n }\n }\n },\n _cornerActivated: function _cornerActivated(p) {\n var data = this.data().f,\n width = this.width(),\n height = this.height(),\n point = {\n x: p.x,\n y: p.y,\n corner: \"\"\n },\n csz = data.opts.cornerSize;\n if (point.x <= 0 || point.y <= 0 || point.x >= width || point.y >= height) return false;\n\n var allowedCorners = flipMethods._cAllowed.call(this);\n\n switch (data.effect) {\n case \"hard\":\n if (point.x > width - csz) point.corner = \"r\";else if (point.x < csz) point.corner = \"l\";else return false;\n break;\n\n case \"sheet\":\n if (point.y < csz) point.corner += \"t\";else if (point.y >= height - csz) point.corner += \"b\";else return false;\n if (point.x <= csz) point.corner += \"l\";else if (point.x >= width - csz) point.corner += \"r\";else return false;\n break;\n }\n\n return !point.corner || $.inArray(point.corner, allowedCorners) == -1 ? false : point;\n },\n _isIArea: function _isIArea(e) {\n var pos = this.data().f.parent.offset();\n e = isTouch && e.originalEvent ? e.originalEvent.touches[0] : e;\n return flipMethods._cornerActivated.call(this, {\n x: e.pageX - pos.left,\n y: e.pageY - pos.top\n });\n },\n _c: function _c(corner, opts) {\n opts = opts || 0;\n\n switch (corner) {\n case \"tl\":\n return point2D(opts, opts);\n\n case \"tr\":\n return point2D(this.width() - opts, opts);\n\n case \"bl\":\n return point2D(opts, this.height() - opts);\n\n case \"br\":\n return point2D(this.width() - opts, this.height() - opts);\n\n case \"l\":\n return point2D(opts, 0);\n\n case \"r\":\n return point2D(this.width() - opts, 0);\n }\n },\n _c2: function _c2(corner) {\n switch (corner) {\n case \"tl\":\n return point2D(this.width() * 2, 0);\n\n case \"tr\":\n return point2D(-this.width(), 0);\n\n case \"bl\":\n return point2D(this.width() * 2, this.height());\n\n case \"br\":\n return point2D(-this.width(), this.height());\n\n case \"l\":\n return point2D(this.width() * 2, 0);\n\n case \"r\":\n return point2D(-this.width(), 0);\n }\n },\n _foldingPage: function _foldingPage() {\n var data = this.data().f;\n if (!data) return;\n var opts = data.opts;\n\n if (opts.turn) {\n data = opts.turn.data();\n if (data.display == \"single\") return opts.next > 1 || opts.page > 1 ? data.pageObjs[0] : null;else return data.pageObjs[opts.next];\n }\n },\n _backGradient: function _backGradient() {\n var data = this.data().f,\n turnData = data.opts.turn.data(),\n gradient = turnData.opts.gradients && (turnData.display == \"single\" || data.opts.page != 2 && data.opts.page != turnData.totalPages - 1);\n if (gradient && !data.bshadow) data.bshadow = $(\"\", divAtt(0, 0, 1)).css({\n position: \"\",\n width: this.width(),\n height: this.height()\n }).appendTo(data.parent);\n return gradient;\n },\n type: function type() {\n return this.data().f.effect;\n },\n resize: function resize(full) {\n var data = this.data().f,\n turnData = data.opts.turn.data(),\n width = this.width(),\n height = this.height();\n\n switch (data.effect) {\n case \"hard\":\n if (full) {\n data.wrapper.css({\n width: width,\n height: height\n });\n data.fpage.css({\n width: width,\n height: height\n });\n\n if (turnData.opts.gradients) {\n data.ashadow.css({\n width: width,\n height: height\n });\n data.bshadow.css({\n width: width,\n height: height\n });\n }\n }\n\n break;\n\n case \"sheet\":\n if (full) {\n var size = Math.round(Math.sqrt(Math.pow(width, 2) + Math.pow(height, 2)));\n data.wrapper.css({\n width: size,\n height: size\n });\n data.fwrapper.css({\n width: size,\n height: size\n }).children(\":first-child\").css({\n width: width,\n height: height\n });\n data.fpage.css({\n width: width,\n height: height\n });\n if (turnData.opts.gradients) data.ashadow.css({\n width: width,\n height: height\n });\n if (flipMethods._backGradient.call(this)) data.bshadow.css({\n width: width,\n height: height\n });\n }\n\n if (data.parent.is(\":visible\")) {\n var offset = findPos(data.parent[0]);\n data.fwrapper.css({\n top: offset.top,\n left: offset.left\n }); //if (data.opts.turn) {\n\n offset = findPos(data.opts.turn[0]);\n data.fparent.css({\n top: -offset.top,\n left: -offset.left\n }); //}\n }\n\n this.flip(\"z\", data.opts[\"z-index\"]);\n break;\n }\n },\n // Prepares the page by adding a general wrapper and another objects\n _addPageWrapper: function _addPageWrapper() {\n var att,\n data = this.data().f,\n turnData = data.opts.turn.data(),\n parent = this.parent();\n data.parent = parent;\n if (!data.wrapper) switch (data.effect) {\n case \"hard\":\n var cssProperties = {};\n cssProperties[vendor + \"transform-style\"] = \"preserve-3d\";\n cssProperties[vendor + \"backface-visibility\"] = \"hidden\";\n data.wrapper = $(\"\", divAtt(0, 0, 2)).css(cssProperties).appendTo(parent).prepend(this);\n data.fpage = $(\"\", divAtt(0, 0, 1)).css(cssProperties).appendTo(parent);\n\n if (turnData.opts.gradients) {\n data.ashadow = $(\"\", divAtt(0, 0, 0)).hide().appendTo(parent);\n data.bshadow = $(\"\", divAtt(0, 0, 0));\n }\n\n break;\n\n case \"sheet\":\n var width = this.width(),\n height = this.height(),\n size = Math.round(Math.sqrt(Math.pow(width, 2) + Math.pow(height, 2)));\n data.fparent = data.opts.turn.data().fparent;\n\n if (!data.fparent) {\n var fparent = $(\"\", {\n css: {\n \"pointer-events\": \"none\"\n }\n }).hide();\n fparent.data().flips = 0;\n fparent.css(divAtt(0, 0, \"auto\", \"visible\").css).appendTo(data.opts.turn);\n data.opts.turn.data().fparent = fparent;\n data.fparent = fparent;\n }\n\n this.css({\n position: \"absolute\",\n top: 0,\n left: 0,\n bottom: \"auto\",\n right: \"auto\"\n });\n data.wrapper = $(\"\", divAtt(0, 0, this.css(\"z-index\"))).appendTo(parent).prepend(this);\n data.fwrapper = $(\"\", divAtt(parent.offset().top, parent.offset().left)).hide().appendTo(data.fparent);\n data.fpage = $(\"\", divAtt(0, 0, 0, \"visible\")).css({\n cursor: \"default\"\n }).appendTo(data.fwrapper);\n if (turnData.opts.gradients) data.ashadow = $(\"\", divAtt(0, 0, 1)).appendTo(data.fpage);\n flipMethods.setData.call(this, data);\n break;\n } // Set size\n\n flipMethods.resize.call(this, true);\n },\n // Takes a 2P point from the screen and applies the transformation\n _fold: function _fold(point) {\n var data = this.data().f,\n turnData = data.opts.turn.data(),\n o = flipMethods._c.call(this, point.corner),\n width = this.width(),\n height = this.height();\n\n switch (data.effect) {\n case \"hard\":\n if (point.corner == \"l\") point.x = Math.min(Math.max(point.x, 0), width * 2);else point.x = Math.max(Math.min(point.x, width), -width);\n var leftPos,\n shadow,\n gradientX,\n fpageOrigin,\n parentOrigin,\n totalPages = turnData.totalPages,\n zIndex = data.opts[\"z-index\"] || totalPages,\n parentCss = {\n overflow: \"visible\"\n },\n relX = o.x ? (o.x - point.x) / width : point.x / width,\n angle = relX * 90,\n half = angle < 90;\n\n switch (point.corner) {\n case \"l\":\n fpageOrigin = \"0% 50%\";\n parentOrigin = \"100% 50%\";\n\n if (half) {\n leftPos = 0;\n shadow = data.opts.next - 1 > 0;\n gradientX = 1;\n } else {\n leftPos = \"100%\";\n shadow = data.opts.page + 1 < totalPages;\n gradientX = 0;\n }\n\n break;\n\n case \"r\":\n fpageOrigin = \"100% 50%\";\n parentOrigin = \"0% 50%\";\n angle = -angle;\n width = -width;\n\n if (half) {\n leftPos = 0;\n shadow = data.opts.next + 1 < totalPages;\n gradientX = 0;\n } else {\n leftPos = \"-100%\";\n shadow = data.opts.page != 1;\n gradientX = 1;\n }\n\n break;\n }\n\n parentCss[vendor + \"perspective-origin\"] = parentOrigin;\n data.wrapper.transform(\"rotateY(\" + angle + \"deg)\" + \"translate3d(0px, 0px, \" + (this.attr(\"depth\") || 0) + \"px)\", parentOrigin);\n data.fpage.transform(\"translateX(\" + width + \"px) rotateY(\" + (180 + angle) + \"deg)\", fpageOrigin);\n data.parent.css(parentCss);\n\n if (half) {\n relX = -relX + 1;\n data.wrapper.css({\n zIndex: zIndex + 1\n });\n data.fpage.css({\n zIndex: zIndex\n });\n } else {\n relX = relX - 1;\n data.wrapper.css({\n zIndex: zIndex\n });\n data.fpage.css({\n zIndex: zIndex + 1\n });\n }\n\n if (turnData.opts.gradients) {\n if (shadow) data.ashadow.css({\n display: \"\",\n left: leftPos,\n backgroundColor: \"rgba(0,0,0,\" + 0.5 * relX + \")\"\n }).transform(\"rotateY(0deg)\");else data.ashadow.hide();\n data.bshadow.css({\n opacity: -relX + 1\n });\n\n if (half) {\n if (data.bshadow.parent()[0] != data.wrapper[0]) {\n data.bshadow.appendTo(data.wrapper);\n }\n } else {\n if (data.bshadow.parent()[0] != data.fpage[0]) {\n data.bshadow.appendTo(data.fpage);\n }\n }\n /*data.bshadow.css({\n backgroundColor: 'rgba(0,0,0,'+(0.1)+')'\n })*/\n\n\n gradient(data.bshadow, point2D(gradientX * 100, 0), point2D((-gradientX + 1) * 100, 0), [[0, \"rgba(0,0,0,0.3)\"], [1, \"rgba(0,0,0,0)\"]], 2);\n }\n\n break;\n\n case \"sheet\":\n var that = this,\n a = 0,\n alpha = 0,\n beta,\n px,\n gradientEndPointA,\n gradientEndPointB,\n gradientStartVal,\n gradientSize,\n gradientOpacity,\n shadowVal,\n mv = point2D(0, 0),\n df = point2D(0, 0),\n tr = point2D(0, 0),\n folding = flipMethods._foldingPage.call(this),\n tan = Math.tan(alpha),\n ac = turnData.opts.acceleration,\n h = data.wrapper.height(),\n top = point.corner.substr(0, 1) == \"t\",\n left = point.corner.substr(1, 1) == \"l\",\n compute = function compute() {\n var rel = point2D(0, 0);\n var middle = point2D(0, 0);\n rel.x = o.x ? o.x - point.x : point.x;\n\n if (!hasRot) {\n rel.y = 0;\n } else {\n rel.y = o.y ? o.y - point.y : point.y;\n }\n\n middle.x = left ? width - rel.x / 2 : point.x + rel.x / 2;\n middle.y = rel.y / 2;\n var alpha = A90 - Math.atan2(rel.y, rel.x),\n gamma = alpha - Math.atan2(middle.y, middle.x),\n distance = Math.max(0, Math.sin(gamma) * Math.sqrt(Math.pow(middle.x, 2) + Math.pow(middle.y, 2)));\n a = deg(alpha);\n tr = point2D(distance * Math.sin(alpha), distance * Math.cos(alpha));\n\n if (alpha > A90) {\n tr.x = tr.x + Math.abs(tr.y * rel.y / rel.x);\n tr.y = 0;\n\n if (Math.round(tr.x * Math.tan(PI - alpha)) < height) {\n point.y = Math.sqrt(Math.pow(height, 2) + 2 * middle.x * rel.x);\n if (top) point.y = height - point.y;\n return compute();\n }\n }\n\n if (alpha > A90) {\n var beta = PI - alpha,\n dd = h - height / Math.sin(beta);\n mv = point2D(Math.round(dd * Math.cos(beta)), Math.round(dd * Math.sin(beta)));\n if (left) mv.x = -mv.x;\n if (top) mv.y = -mv.y;\n }\n\n px = Math.round(tr.y / Math.tan(alpha) + tr.x);\n var side = width - px,\n sideX = side * Math.cos(alpha * 2),\n sideY = side * Math.sin(alpha * 2);\n df = point2D(Math.round(left ? side - sideX : px + sideX), Math.round(top ? sideY : height - sideY)); // Gradients\n\n if (turnData.opts.gradients) {\n gradientSize = side * Math.sin(alpha);\n\n var endingPoint = flipMethods._c2.call(that, point.corner),\n far = Math.sqrt(Math.pow(endingPoint.x - point.x, 2) + Math.pow(endingPoint.y - point.y, 2)) / width;\n\n shadowVal = Math.sin(A90 * (far > 1 ? 2 - far : far));\n gradientOpacity = Math.min(far, 1);\n gradientStartVal = gradientSize > 100 ? (gradientSize - 100) / gradientSize : 0;\n gradientEndPointA = point2D(gradientSize * Math.sin(alpha) / width * 100, gradientSize * Math.cos(alpha) / height * 100);\n\n if (flipMethods._backGradient.call(that)) {\n gradientEndPointB = point2D(gradientSize * 1.2 * Math.sin(alpha) / width * 100, gradientSize * 1.2 * Math.cos(alpha) / height * 100);\n if (!left) gradientEndPointB.x = 100 - gradientEndPointB.x;\n if (!top) gradientEndPointB.y = 100 - gradientEndPointB.y;\n }\n }\n\n tr.x = Math.round(tr.x);\n tr.y = Math.round(tr.y);\n return true;\n },\n transform = function transform(tr, c, x, a) {\n var f = [\"0\", \"auto\"],\n mvW = (width - h) * x[0] / 100,\n mvH = (height - h) * x[1] / 100,\n cssA = {\n left: f[c[0]],\n top: f[c[1]],\n right: f[c[2]],\n bottom: f[c[3]]\n },\n cssB = {},\n aliasingFk = a != 90 && a != -90 ? left ? -1 : 1 : 0,\n origin = x[0] + \"% \" + x[1] + \"%\";\n that.css(cssA).transform(rotate(a) + translate(tr.x + aliasingFk, tr.y, ac), origin);\n data.fpage.css(cssA).transform(rotate(a) + translate(tr.x + df.x - mv.x - width * x[0] / 100, tr.y + df.y - mv.y - height * x[1] / 100, ac) + rotate((180 / a - 2) * a), origin);\n data.wrapper.transform(translate(-tr.x + mvW - aliasingFk, -tr.y + mvH, ac) + rotate(-a), origin);\n data.fwrapper.transform(translate(-tr.x + mv.x + mvW, -tr.y + mv.y + mvH, ac) + rotate(-a), origin);\n\n if (turnData.opts.gradients) {\n if (x[0]) gradientEndPointA.x = 100 - gradientEndPointA.x;\n if (x[1]) gradientEndPointA.y = 100 - gradientEndPointA.y;\n cssB[\"box-shadow\"] = \"0 0 20px rgba(0,0,0,\" + 0.5 * shadowVal + \")\";\n folding.css(cssB);\n gradient(data.ashadow, point2D(left ? 100 : 0, top ? 0 : 100), point2D(gradientEndPointA.x, gradientEndPointA.y), [[gradientStartVal, \"rgba(0,0,0,0)\"], [(1 - gradientStartVal) * 0.8 + gradientStartVal, \"rgba(0,0,0,\" + 0.2 * gradientOpacity + \")\"], [1, \"rgba(255,255,255,\" + 0.2 * gradientOpacity + \")\"]], 3, alpha);\n if (flipMethods._backGradient.call(that)) gradient(data.bshadow, point2D(left ? 0 : 100, top ? 0 : 100), point2D(gradientEndPointB.x, gradientEndPointB.y), [[0.6, \"rgba(0,0,0,0)\"], [0.8, \"rgba(0,0,0,\" + 0.3 * gradientOpacity + \")\"], [1, \"rgba(0,0,0,0)\"]], 3);\n }\n };\n\n switch (point.corner) {\n case \"l\":\n break;\n\n case \"r\":\n break;\n\n case \"tl\":\n point.x = Math.max(point.x, 1);\n compute();\n transform(tr, [1, 0, 0, 1], [100, 0], a);\n break;\n\n case \"tr\":\n point.x = Math.min(point.x, width - 1);\n compute();\n transform(point2D(-tr.x, tr.y), [0, 0, 0, 1], [0, 0], -a);\n break;\n\n case \"bl\":\n point.x = Math.max(point.x, 1);\n compute();\n transform(point2D(tr.x, -tr.y), [1, 1, 0, 0], [100, 100], -a);\n break;\n\n case \"br\":\n point.x = Math.min(point.x, width - 1);\n compute();\n transform(point2D(-tr.x, -tr.y), [0, 1, 1, 0], [0, 100], a);\n break;\n }\n\n break;\n }\n\n data.point = point;\n },\n _moveFoldingPage: function _moveFoldingPage(move) {\n var data = this.data().f;\n if (!data) return;\n var turn = data.opts.turn,\n turnData = turn.data(),\n place = turnData.pagePlace;\n\n if (move) {\n var nextPage = data.opts.next;\n\n if (place[nextPage] != data.opts.page) {\n if (data.folding) flipMethods._moveFoldingPage.call(this, false);\n\n var folding = flipMethods._foldingPage.call(this);\n\n folding.appendTo(data.fpage);\n place[nextPage] = data.opts.page;\n data.folding = nextPage;\n }\n\n turn.turn(\"update\");\n } else {\n if (data.folding) {\n if (turnData.pages[data.folding]) {\n // If we have flip available\n var flipData = turnData.pages[data.folding].data().f;\n turnData.pageObjs[data.folding].appendTo(flipData.wrapper);\n } else if (turnData.pageWrap[data.folding]) {\n // If we have the pageWrapper\n turnData.pageObjs[data.folding].appendTo(turnData.pageWrap[data.folding]);\n }\n\n if (data.folding in place) {\n place[data.folding] = data.folding;\n }\n\n delete data.folding;\n }\n }\n },\n _showFoldedPage: function _showFoldedPage(c, animate) {\n var folding = flipMethods._foldingPage.call(this),\n dd = this.data(),\n data = dd.f,\n visible = data.visible;\n\n if (folding) {\n if (!visible || !data.point || data.point.corner != c.corner) {\n var corner = data.status == \"hover\" || data.status == \"peel\" || data.opts.turn.data().mouseAction ? c.corner : null;\n visible = false;\n if (trigger(\"start\", this, [data.opts, corner]) == \"prevented\") return false;\n }\n\n if (animate) {\n var that = this,\n point = data.point && data.point.corner == c.corner ? data.point : flipMethods._c.call(this, c.corner, 1);\n this.animatef({\n from: [point.x, point.y],\n to: [c.x, c.y],\n duration: 500,\n frame: function frame(v) {\n c.x = Math.round(v[0]);\n c.y = Math.round(v[1]);\n\n flipMethods._fold.call(that, c);\n }\n });\n } else {\n flipMethods._fold.call(this, c);\n\n if (dd.effect && !dd.effect.turning) this.animatef(false);\n }\n\n if (!visible) {\n switch (data.effect) {\n case \"hard\":\n data.visible = true;\n\n flipMethods._moveFoldingPage.call(this, true);\n\n data.fpage.show();\n if (data.opts.shadows) data.bshadow.show();\n break;\n\n case \"sheet\":\n data.visible = true;\n data.fparent.show().data().flips++;\n\n flipMethods._moveFoldingPage.call(this, true);\n\n data.fwrapper.show();\n if (data.bshadow) data.bshadow.show();\n break;\n }\n }\n\n return true;\n }\n\n return false;\n },\n hide: function hide() {\n var data = this.data().f,\n turnData = data.opts.turn.data(),\n folding = flipMethods._foldingPage.call(this);\n\n switch (data.effect) {\n case \"hard\":\n if (turnData.opts.gradients) {\n data.bshadowLoc = 0;\n data.bshadow.remove();\n data.ashadow.hide();\n }\n\n data.wrapper.transform(\"\");\n data.fpage.hide();\n break;\n\n case \"sheet\":\n if (--data.fparent.data().flips === 0) data.fparent.hide();\n this.css({\n left: 0,\n top: 0,\n right: \"auto\",\n bottom: \"auto\"\n }).transform(\"\");\n data.wrapper.transform(\"\");\n data.fwrapper.hide();\n if (data.bshadow) data.bshadow.hide();\n folding.transform(\"\");\n break;\n }\n\n data.visible = false;\n return this;\n },\n hideFoldedPage: function hideFoldedPage(animate) {\n var data = this.data().f;\n if (!data.point) return;\n\n var that = this,\n p1 = data.point,\n hide = function hide() {\n data.point = null;\n data.status = \"\";\n that.flip(\"hide\");\n that.trigger(\"end\", [data.opts, false]);\n };\n\n if (animate) {\n var p4 = flipMethods._c.call(this, p1.corner),\n top = p1.corner.substr(0, 1) == \"t\",\n delta = top ? Math.min(0, p1.y - p4.y) / 2 : Math.max(0, p1.y - p4.y) / 2,\n p2 = point2D(p1.x, p1.y + delta),\n p3 = point2D(p4.x, p4.y - delta);\n\n this.animatef({\n from: 0,\n to: 1,\n frame: function frame(v) {\n var np = bezier(p1, p2, p3, p4, v);\n p1.x = np.x;\n p1.y = np.y;\n\n flipMethods._fold.call(that, p1);\n },\n complete: hide,\n duration: 800,\n hiding: true\n });\n } else {\n this.animatef(false);\n hide();\n }\n },\n turnPage: function turnPage(corner) {\n var that = this,\n data = this.data().f,\n turnData = data.opts.turn.data();\n corner = {\n corner: data.corner ? data.corner.corner : corner || flipMethods._cAllowed.call(this)[0]\n };\n\n var p1 = data.point || flipMethods._c.call(this, corner.corner, data.opts.turn ? turnData.opts.elevation : 0),\n p4 = flipMethods._c2.call(this, corner.corner);\n\n this.trigger(\"flip\").animatef({\n from: 0,\n to: 1,\n frame: function frame(v) {\n var np = bezier(p1, p1, p4, p4, v);\n corner.x = np.x;\n corner.y = np.y;\n\n flipMethods._showFoldedPage.call(that, corner);\n },\n complete: function complete() {\n that.trigger(\"end\", [data.opts, true]);\n },\n duration: turnData.opts.duration,\n turning: true\n });\n data.corner = null;\n },\n moving: function moving() {\n return \"effect\" in this.data();\n },\n isTurning: function isTurning() {\n return this.flip(\"moving\") && this.data().effect.turning;\n },\n corner: function corner() {\n return this.data().f.corner;\n },\n _eventStart: function _eventStart(e) {\n var data = this.data().f,\n turn = data.opts.turn;\n\n if (!data.corner && !data.disabled && !this.flip(\"isTurning\") && data.opts.page == turn.data().pagePlace[data.opts.page]) {\n data.corner = flipMethods._isIArea.call(this, e);\n\n if (data.corner && flipMethods._foldingPage.call(this)) {\n this.trigger(\"pressed\", [data.point]);\n\n flipMethods._showFoldedPage.call(this, data.corner);\n\n return false;\n } else data.corner = null;\n }\n },\n _eventMove: function _eventMove(e) {\n var data = this.data().f;\n\n if (!data.disabled) {\n e = isTouch ? e.originalEvent.touches : [e];\n\n if (data.corner) {\n var pos = data.parent.offset();\n data.corner.x = e[0].pageX - pos.left;\n data.corner.y = e[0].pageY - pos.top;\n\n flipMethods._showFoldedPage.call(this, data.corner);\n } else if (data.hover && !this.data().effect && this.is(\":visible\")) {\n var point = flipMethods._isIArea.call(this, e[0]);\n\n if (point) {\n if (data.effect == \"sheet\" && point.corner.length == 2 || data.effect == \"hard\") {\n data.status = \"hover\";\n\n var origin = flipMethods._c.call(this, point.corner, data.opts.cornerSize / 2);\n\n point.x = origin.x;\n point.y = origin.y;\n\n flipMethods._showFoldedPage.call(this, point, true);\n }\n } else {\n if (data.status == \"hover\") {\n data.status = \"\";\n flipMethods.hideFoldedPage.call(this, true);\n }\n }\n }\n }\n },\n _eventEnd: function _eventEnd() {\n var data = this.data().f,\n corner = data.corner;\n\n if (!data.disabled && corner) {\n if (trigger(\"released\", this, [data.point || corner]) != \"prevented\") {\n flipMethods.hideFoldedPage.call(this, true);\n }\n }\n\n data.corner = null;\n },\n disable: function disable(_disable2) {\n flipMethods.setData.call(this, {\n disabled: _disable2\n });\n return this;\n },\n hover: function hover(_hover) {\n flipMethods.setData.call(this, {\n hover: _hover\n });\n return this;\n },\n peel: function peel(corner, animate) {\n var data = this.data().f;\n\n if (corner) {\n if ($.inArray(corner, corners.all) == -1) throw turnError(\"Corner \" + corner + \" is not permitted\");\n\n if ($.inArray(corner, flipMethods._cAllowed.call(this)) != -1) {\n var point = flipMethods._c.call(this, corner, data.opts.cornerSize / 2);\n\n data.status = \"peel\";\n\n flipMethods._showFoldedPage.call(this, {\n corner: corner,\n x: point.x,\n y: point.y\n }, animate);\n }\n } else {\n data.status = \"\";\n flipMethods.hideFoldedPage.call(this, animate);\n }\n\n return this;\n }\n}; // Processes classes\n\nfunction dec(that, methods, args) {\n if (!args[0] || _typeof(args[0]) == \"object\") return methods.init.apply(that, args);else if (methods[args[0]]) return methods[args[0]].apply(that, Array.prototype.slice.call(args, 1));else throw turnError(args[0] + \" is not a method or property\");\n} // Attributes for a layer\n\n\nfunction divAtt(top, left, zIndex, overf) {\n return {\n css: {\n position: \"absolute\",\n top: top,\n left: left,\n overflow: overf || \"hidden\",\n zIndex: zIndex || \"auto\"\n }\n };\n} // Gets a 2D point from a bezier curve of four points\n\n\nfunction bezier(p1, p2, p3, p4, t) {\n var a = 1 - t,\n b = a * a * a,\n c = t * t * t;\n return point2D(Math.round(b * p1.x + 3 * t * a * a * p2.x + 3 * t * t * a * p3.x + c * p4.x), Math.round(b * p1.y + 3 * t * a * a * p2.y + 3 * t * t * a * p3.y + c * p4.y));\n} // Converts an angle from degrees to radians\n\n\nfunction rad(degrees) {\n return degrees / 180 * PI;\n} // Converts an angle from radians to degrees\n\n\nfunction deg(radians) {\n return radians / PI * 180;\n} // Gets a 2D point\n\n\nfunction point2D(x, y) {\n return {\n x: x,\n y: y\n };\n} // Webkit 534.3 on Android wrongly repaints elements that use overflow:hidden + rotation\n\n\nfunction rotationAvailable() {\n var parts;\n\n if (parts = /AppleWebkit\\/([0-9\\.]+)/i.exec(navigator.userAgent)) {\n var webkitVersion = parseFloat(parts[1]);\n return webkitVersion > 534.3;\n } else {\n return true;\n }\n} // Returns the traslate value\n\n\nfunction translate(x, y, use3d) {\n return has3d && use3d ? \" translate3d(\" + x + \"px,\" + y + \"px, 0px) \" : \" translate(\" + x + \"px, \" + y + \"px) \";\n} // Returns the rotation value\n\n\nfunction rotate(degrees) {\n return \" rotate(\" + degrees + \"deg) \";\n} // Checks if a property belongs to an object\n\n\nfunction has(property, object) {\n return Object.prototype.hasOwnProperty.call(object, property);\n} // Gets the CSS3 vendor prefix\n\n\nfunction getPrefix() {\n var vendorPrefixes = [\"Moz\", \"Webkit\", \"Khtml\", \"O\", \"ms\"],\n len = vendorPrefixes.length,\n vendor = \"\";\n\n while (len--) {\n if (vendorPrefixes[len] + \"Transform\" in document.body.style) vendor = \"-\" + vendorPrefixes[len].toLowerCase() + \"-\";\n }\n\n return vendor;\n} // Detects the transitionEnd Event\n\n\nfunction getTransitionEnd() {\n var t,\n el = document.createElement(\"fakeelement\"),\n transitions = {\n transition: \"transitionend\",\n OTransition: \"oTransitionEnd\",\n MSTransition: \"transitionend\",\n MozTransition: \"transitionend\",\n WebkitTransition: \"webkitTransitionEnd\"\n };\n\n for (t in transitions) {\n if (el.style[t] !== undefined) {\n return transitions[t];\n }\n }\n} // Gradients\n\n\nfunction gradient(obj, p0, p1, colors, numColors) {\n var j,\n cols = [];\n\n if (vendor == \"-webkit-\") {\n for (j = 0; j < numColors; j++) {\n cols.push(\"color-stop(\" + colors[j][0] + \", \" + colors[j][1] + \")\");\n }\n\n obj.css({\n \"background-image\": \"-webkit-gradient(linear, \" + p0.x + \"% \" + p0.y + \"%,\" + p1.x + \"% \" + p1.y + \"%, \" + cols.join(\",\") + \" )\"\n });\n } else {\n p0 = {\n x: p0.x / 100 * obj.width(),\n y: p0.y / 100 * obj.height()\n };\n p1 = {\n x: p1.x / 100 * obj.width(),\n y: p1.y / 100 * obj.height()\n };\n var dx = p1.x - p0.x,\n dy = p1.y - p0.y,\n angle = Math.atan2(dy, dx),\n angle2 = angle - Math.PI / 2,\n diagonal = Math.abs(obj.width() * Math.sin(angle2)) + Math.abs(obj.height() * Math.cos(angle2)),\n gradientDiagonal = Math.sqrt(dy * dy + dx * dx),\n corner = point2D(p1.x < p0.x ? obj.width() : 0, p1.y < p0.y ? obj.height() : 0),\n slope = Math.tan(angle),\n inverse = -1 / slope,\n x = (inverse * corner.x - corner.y - slope * p0.x + p0.y) / (inverse - slope),\n c = {\n x: x,\n y: inverse * x - inverse * corner.x + corner.y\n },\n segA = Math.sqrt(Math.pow(c.x - p0.x, 2) + Math.pow(c.y - p0.y, 2));\n\n for (j = 0; j < numColors; j++) {\n cols.push(\" \" + colors[j][1] + \" \" + (segA + gradientDiagonal * colors[j][0]) * 100 / diagonal + \"%\");\n }\n\n obj.css({\n \"background-image\": vendor + \"linear-gradient(\" + -angle + \"rad,\" + cols.join(\",\") + \")\"\n });\n }\n} // Triggers an event\n\n\nfunction trigger(eventName, context, args) {\n var event = $.Event(eventName);\n context.trigger(event, args);\n if (event.isDefaultPrevented()) return \"prevented\";else if (event.isPropagationStopped()) return \"stopped\";else return \"\";\n} // JS Errors\n\n\nfunction turnError(message) {\n function TurnJsError(message) {\n this.name = \"TurnJsError\";\n this.message = message;\n }\n\n TurnJsError.prototype = new Error();\n TurnJsError.prototype.constructor = TurnJsError;\n return new TurnJsError(message);\n} // Find the offset of an element ignoring its transformation\n\n\nfunction findPos(obj) {\n var offset = {\n top: 0,\n left: 0\n };\n\n do {\n offset.left += obj.offsetLeft;\n offset.top += obj.offsetTop;\n } while (obj = obj.offsetParent);\n\n return offset;\n} // Checks if there's hard page compatibility\n// IE9 is the only browser that does not support hard pages\n\n\nfunction hasHardPage() {\n return navigator.userAgent.indexOf(\"MSIE 9.0\") == -1;\n} // Request an animation\n\n\nwindow.requestAnim = function () {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) {\n window.setTimeout(callback, 1000 / 60);\n };\n}(); // Extend $.fn\n\n\n$.extend($.fn, {\n flip: function flip() {\n return dec($(this[0]), flipMethods, arguments);\n },\n turn: function turn() {\n return dec($(this[0]), turnMethods, arguments);\n },\n transform: function transform(_transform, origin) {\n var properties = {};\n if (origin) properties[vendor + \"transform-origin\"] = origin;\n properties[vendor + \"transform\"] = _transform;\n return this.css(properties);\n },\n animatef: function animatef(point) {\n var data = this.data();\n if (data.effect) data.effect.stop();\n\n if (point) {\n if (!point.to.length) point.to = [point.to];\n if (!point.from.length) point.from = [point.from];\n\n var diff = [],\n len = point.to.length,\n animating = true,\n that = this,\n time = new Date().getTime(),\n frame = function frame() {\n if (!data.effect || !animating) return;\n var v = [],\n timeDiff = Math.min(point.duration, new Date().getTime() - time);\n\n for (var i = 0; i < len; i++) {\n v.push(data.effect.easing(1, timeDiff, point.from[i], diff[i], point.duration));\n }\n\n point.frame(len == 1 ? v[0] : v);\n\n if (timeDiff == point.duration) {\n delete data[\"effect\"];\n that.data(data);\n if (point.complete) point.complete();\n } else {\n window.requestAnim(frame);\n }\n };\n\n for (var i = 0; i < len; i++) {\n diff.push(point.to[i] - point.from[i]);\n }\n\n data.effect = $.extend({\n stop: function stop() {\n animating = false;\n },\n easing: function easing(x, t, b, c, data) {\n return c * Math.sqrt(1 - (t = t / data - 1) * t) + b;\n }\n }, point);\n this.data(data);\n frame();\n } else {\n delete data[\"effect\"];\n }\n }\n}); // Export some globals\n\n$.isTouch = isTouch;\n$.mouseEvents = mouseEvents;\n$.cssPrefix = getPrefix;\n$.cssTransitionEnd = getTransitionEnd;\n$.findPos = findPos;","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\n/*!\n * jQuery JavaScript Library v3.6.0\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2021-03-02T17:08Z\n */\n(function (global, factory) {\n \"use strict\";\n\n if ((typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) === \"object\" && _typeof(module.exports) === \"object\") {\n // For CommonJS and CommonJS-like environments where a proper `window`\n // is present, execute the factory and get jQuery.\n // For environments that do not have a `window` with a `document`\n // (such as Node.js), expose a factory as module.exports.\n // This accentuates the need for the creation of a real `window`.\n // e.g. var jQuery = require(\"jquery\")(window);\n // See ticket #14549 for more info.\n module.exports = global.document ? factory(global, true) : function (w) {\n if (!w.document) {\n throw new Error(\"jQuery requires a window with a document\");\n }\n\n return factory(w);\n };\n } else {\n factory(global);\n } // Pass this if window is not defined yet\n\n})(typeof window !== \"undefined\" ? window : this, function (window, noGlobal) {\n // Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1\n // throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode\n // arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common\n // enough that all such attempts are guarded in a try block.\n \"use strict\";\n\n var arr = [];\n var getProto = Object.getPrototypeOf;\n var _slice = arr.slice;\n var flat = arr.flat ? function (array) {\n return arr.flat.call(array);\n } : function (array) {\n return arr.concat.apply([], array);\n };\n var push = arr.push;\n var indexOf = arr.indexOf;\n var class2type = {};\n var toString = class2type.toString;\n var hasOwn = class2type.hasOwnProperty;\n var fnToString = hasOwn.toString;\n var ObjectFunctionString = fnToString.call(Object);\n var support = {};\n\n var isFunction = function isFunction(obj) {\n // Support: Chrome <=57, Firefox <=52\n // In some browsers, typeof returns \"function\" for HTML