{"version":3,"file":"application_digibook-fec38e27.js","sources":["../../../app/whitelabels/digibook/assets/javascripts/jquery.flexslider.js","../../../app/whitelabels/digibook/assets/javascripts/custom.js","../../../app/whitelabels/digibook/assets/javascripts/events.js","../../../app/whitelabels/digibook/assets/javascripts/tutors/custom.js","../../../app/whitelabels/digibook/assets/javascripts/tableau/custom.js","../../../app/whitelabels/digibook/assets/javascripts/application.js","../../../app/frontend/entrypoints/application_digibook.js"],"sourcesContent":["/*\n * jQuery FlexSlider v2.2.2\n * Copyright 2012 WooThemes\n * Contributing Author: Tyler Smith\n */\n;\n(function ($) {\n\n //FlexSlider: Object Instance\n $.flexslider = function(el, options) {\n var slider = $(el);\n\n // making variables public\n slider.vars = $.extend({}, $.flexslider.defaults, options);\n\n var namespace = slider.vars.namespace,\n msGesture = window.navigator && window.navigator.msPointerEnabled && window.MSGesture,\n touch = (( \"ontouchstart\" in window ) || msGesture || window.DocumentTouch && document instanceof DocumentTouch) && slider.vars.touch,\n // depricating this idea, as devices are being released with both of these events\n //eventType = (touch) ? \"touchend\" : \"click\",\n eventType = \"click touchend MSPointerUp\",\n watchedEvent = \"\",\n watchedEventClearTimer,\n vertical = slider.vars.direction === \"vertical\",\n reverse = slider.vars.reverse,\n carousel = (slider.vars.itemWidth > 0),\n fade = slider.vars.animation === \"fade\",\n asNav = slider.vars.asNavFor !== \"\",\n methods = {},\n focused = true;\n\n // Store a reference to the slider object\n $.data(el, \"flexslider\", slider);\n\n // Private slider methods\n methods = {\n init: function() {\n slider.animating = false;\n // Get current slide and make sure it is a number\n slider.currentSlide = parseInt( ( slider.vars.startAt ? slider.vars.startAt : 0), 10 );\n if ( isNaN( slider.currentSlide ) ) slider.currentSlide = 0;\n slider.animatingTo = slider.currentSlide;\n slider.atEnd = (slider.currentSlide === 0 || slider.currentSlide === slider.last);\n slider.containerSelector = slider.vars.selector.substr(0,slider.vars.selector.search(' '));\n slider.slides = $(slider.vars.selector, slider);\n slider.container = $(slider.containerSelector, slider);\n slider.count = slider.slides.length;\n // SYNC:\n slider.syncExists = $(slider.vars.sync).length > 0;\n // SLIDE:\n if (slider.vars.animation === \"slide\") slider.vars.animation = \"swing\";\n slider.prop = (vertical) ? \"top\" : \"marginLeft\";\n slider.args = {};\n // SLIDESHOW:\n slider.manualPause = false;\n slider.stopped = false;\n //PAUSE WHEN INVISIBLE\n slider.started = false;\n slider.startTimeout = null;\n // TOUCH/USECSS:\n slider.transitions = !slider.vars.video && !fade && slider.vars.useCSS && (function() {\n var obj = document.createElement('div'),\n props = ['perspectiveProperty', 'WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective'];\n for (var i in props) {\n if ( obj.style[ props[i] ] !== undefined ) {\n slider.pfx = props[i].replace('Perspective','').toLowerCase();\n slider.prop = \"-\" + slider.pfx + \"-transform\";\n return true;\n }\n }\n return false;\n }());\n // CONTROLSCONTAINER:\n if (slider.vars.controlsContainer !== \"\") slider.controlsContainer = $(slider.vars.controlsContainer).length > 0 && $(slider.vars.controlsContainer);\n // MANUAL:\n if (slider.vars.manualControls !== \"\") slider.manualControls = $(slider.vars.manualControls).length > 0 && $(slider.vars.manualControls);\n\n // RANDOMIZE:\n if (slider.vars.randomize) {\n slider.slides.sort(function() { return (Math.round(Math.random())-0.5); });\n slider.container.empty().append(slider.slides);\n }\n\n slider.doMath();\n\n // INIT\n slider.setup(\"init\");\n\n // CONTROLNAV:\n if (slider.vars.controlNav) methods.controlNav.setup();\n\n // DIRECTIONNAV:\n if (slider.vars.directionNav) methods.directionNav.setup();\n\n // KEYBOARD:\n if (slider.vars.keyboard && ($(slider.containerSelector).length === 1 || slider.vars.multipleKeyboard)) {\n $(document).bind('keyup', function(event) {\n var keycode = event.keyCode;\n if (!slider.animating && (keycode === 39 || keycode === 37)) {\n var target = (keycode === 39) ? slider.getTarget('next') :\n (keycode === 37) ? slider.getTarget('prev') : false;\n slider.flexAnimate(target, slider.vars.pauseOnAction);\n }\n });\n }\n // MOUSEWHEEL:\n if (slider.vars.mousewheel) {\n slider.bind('mousewheel', function(event, delta, deltaX, deltaY) {\n event.preventDefault();\n var target = (delta < 0) ? slider.getTarget('next') : slider.getTarget('prev');\n slider.flexAnimate(target, slider.vars.pauseOnAction);\n });\n }\n\n // PAUSEPLAY\n if (slider.vars.pausePlay) methods.pausePlay.setup();\n\n //PAUSE WHEN INVISIBLE\n if (slider.vars.slideshow && slider.vars.pauseInvisible) methods.pauseInvisible.init();\n\n // SLIDSESHOW\n if (slider.vars.slideshow) {\n if (slider.vars.pauseOnHover) {\n slider.hover(function() {\n if (!slider.manualPlay && !slider.manualPause) slider.pause();\n }, function() {\n if (!slider.manualPause && !slider.manualPlay && !slider.stopped) slider.play();\n });\n }\n // initialize animation\n //If we're visible, or we don't use PageVisibility API\n if(!slider.vars.pauseInvisible || !methods.pauseInvisible.isHidden()) {\n (slider.vars.initDelay > 0) ? slider.startTimeout = setTimeout(slider.play, slider.vars.initDelay) : slider.play();\n }\n }\n\n // ASNAV:\n if (asNav) methods.asNav.setup();\n\n // TOUCH\n if (touch && slider.vars.touch) methods.touch();\n\n // FADE&&SMOOTHHEIGHT || SLIDE:\n if (!fade || (fade && slider.vars.smoothHeight)) $(window).bind(\"resize orientationchange focus\", methods.resize);\n\n slider.find(\"img\").attr(\"draggable\", \"false\");\n\n // API: start() Callback\n setTimeout(function(){\n slider.vars.start(slider);\n }, 200);\n },\n asNav: {\n setup: function() {\n slider.asNav = true;\n slider.animatingTo = Math.floor(slider.currentSlide/slider.move);\n slider.currentItem = slider.currentSlide;\n slider.slides.removeClass(namespace + \"active-slide\").eq(slider.currentItem).addClass(namespace + \"active-slide\");\n if(!msGesture){\n slider.slides.on(eventType, function(e){\n e.preventDefault();\n var $slide = $(this),\n target = $slide.index();\n var posFromLeft = $slide.offset().left - $(slider).scrollLeft(); // Find position of slide relative to left of slider container\n if( posFromLeft <= 0 && $slide.hasClass( namespace + 'active-slide' ) ) {\n slider.flexAnimate(slider.getTarget(\"prev\"), true);\n } else if (!$(slider.vars.asNavFor).data('flexslider').animating && !$slide.hasClass(namespace + \"active-slide\")) {\n slider.direction = (slider.currentItem < target) ? \"next\" : \"prev\";\n slider.flexAnimate(target, slider.vars.pauseOnAction, false, true, true);\n }\n });\n }else{\n el._slider = slider;\n slider.slides.each(function (){\n var that = this;\n that._gesture = new MSGesture();\n that._gesture.target = that;\n that.addEventListener(\"MSPointerDown\", function (e){\n e.preventDefault();\n if(e.currentTarget._gesture)\n e.currentTarget._gesture.addPointer(e.pointerId);\n }, false);\n that.addEventListener(\"MSGestureTap\", function (e){\n e.preventDefault();\n var $slide = $(this),\n target = $slide.index();\n if (!$(slider.vars.asNavFor).data('flexslider').animating && !$slide.hasClass('active')) {\n slider.direction = (slider.currentItem < target) ? \"next\" : \"prev\";\n slider.flexAnimate(target, slider.vars.pauseOnAction, false, true, true);\n }\n });\n });\n }\n }\n },\n controlNav: {\n setup: function() {\n if (!slider.manualControls) {\n methods.controlNav.setupPaging();\n } else { // MANUALCONTROLS:\n methods.controlNav.setupManual();\n }\n },\n setupPaging: function() {\n var type = (slider.vars.controlNav === \"thumbnails\") ? 'control-thumbs' : 'control-paging',\n j = 1,\n item,\n slide;\n\n slider.controlNavScaffold = $('