{"version":3,"sources":["../bower_components/bootstrap/dist/js/bootstrap.js","../bower_components/swiper/dist/js/swiper.js","../bower_components/jasny-bootstrap/dist/js/jasny-bootstrap.js","../bower_components/bootstrap-touchspin/dist/jquery.bootstrap-touchspin.js","../bower_components/bootstrap-sass-official/assets/javascripts/bootstrap.js","../assets/scripts/jquery.gene.js"],"names":["addLibraryPlugin","lib","fn","swiper","params","firstInstance","this","each","s","Swiper","$","container","round","a","Math","floor","autoplay","autoplayTimeoutId","setTimeout","loop","fixLoop","_slideNext","emit","isEnd","autoplayStopOnLast","stopAutoplay","_slideTo","findElementInEvent","e","selector","el","target","is","parents","nodeType","found","index","_el","length","initObserver","options","ObserverFunc","window","MutationObserver","WebkitMutationObserver","observer","mutations","forEach","mutation","onResize","observe","attributes","childList","characterData","observers","push","handleKeyboard","originalEvent","kc","keyCode","charCode","allowSwipeToNext","isHorizontal","allowSwipeToPrev","shiftKey","altKey","ctrlKey","metaKey","document","activeElement","nodeName","toLowerCase","inView","windowScroll","left","pageXOffset","top","pageYOffset","windowWidth","innerWidth","windowHeight","innerHeight","swiperOffset","offset","rtl","scrollLeft","swiperCoord","width","height","i","point","preventDefault","returnValue","slideNext","slidePrev","handleMousewheel","we","mousewheel","event","delta","rtlFactor","mousewheelForceToAxis","abs","wheelDeltaX","wheelDeltaY","detail","deltaX","deltaY","mousewheelInvert","freeMode","position","getWrapperTranslate","mousewheelSensitivity","wasBeginning","isBeginning","wasEnd","minTranslate","maxTranslate","setWrapperTransition","setWrapperTranslate","updateProgress","updateActiveIndex","updateClasses","freeModeSticky","clearTimeout","timeout","slideReset","lazyLoading","lazy","load","Date","getTime","lastScrollTime","animating","mousewheelReleaseOnEdges","setParallaxTransform","progress","p","pX","pY","attr","indexOf","parseInt","transform","normalizeEventName","eventName","toUpperCase","substring","defaults","direction","touchEventsTarget","initialSlide","speed","autoplayDisableOnInteraction","iOSEdgeSwipeDetection","iOSEdgeSwipeThreshold","freeModeMomentum","freeModeMomentumRatio","freeModeMomentumBounce","freeModeMomentumBounceRatio","freeModeMinimumVelocity","autoHeight","setWrapperSize","virtualTranslate","effect","coverflow","rotate","stretch","depth","modifier","slideShadows","flip","limitRotation","cube","shadow","shadowOffset","shadowScale","fade","crossFade","parallax","scrollbar","scrollbarHide","scrollbarDraggable","scrollbarSnapOnRelease","keyboardControl","mousewheelControl","hashnav","breakpoints","undefined","spaceBetween","slidesPerView","slidesPerColumn","slidesPerColumnFill","slidesPerGroup","centeredSlides","slidesOffsetBefore","slidesOffsetAfter","roundLengths","touchRatio","touchAngle","simulateTouch","shortSwipes","longSwipes","longSwipesRatio","longSwipesMs","followFinger","onlyExternal","threshold","touchMoveStopPropagation","uniqueNavElements","pagination","paginationElement","paginationClickable","paginationHide","paginationBulletRender","paginationProgressRender","paginationFractionRender","paginationCustomRender","paginationType","resistance","resistanceRatio","nextButton","prevButton","watchSlidesProgress","watchSlidesVisibility","grabCursor","preventClicks","preventClicksPropagation","slideToClickedSlide","lazyLoadingInPrevNext","lazyLoadingInPrevNextAmount","lazyLoadingOnTransitionStart","preloadImages","updateOnImagesReady","loopAdditionalSlides","loopedSlides","control","controlInverse","controlBy","swipeHandler","noSwiping","noSwipingClass","slideClass","slideActiveClass","slideVisibleClass","slideDuplicateClass","slideNextClass","slidePrevClass","wrapperClass","bulletClass","bulletActiveClass","buttonDisabledClass","paginationCurrentClass","paginationTotalClass","paginationHiddenClass","paginationProgressbarClass","observeParents","a11y","prevSlideMessage","nextSlideMessage","firstSlideMessage","lastSlideMessage","paginationBulletMessage","runCallbacksOnInit","initialVirtualTranslate","originalParams","param","Dom7","jQuery","deepParam","def","deepDef","classNames","Zepto","currentBreakpoint","getActiveBreakpoint","breakpoint","points","hasOwnProperty","sort","b","setBreakpoint","breakPointsParams","needsReLoop","destroyLoop","reLoop","swipers","data","support","flexbox","transforms3d","touch","wrapper","children","paginationContainer","find","addClass","dir","css","wrongRTL","device","android","join","translate","velocity","lockSwipeToNext","lockSwipeToPrev","lockSwipes","unlockSwipeToNext","unlockSwipeToPrev","unlockSwipes","style","cursor","imagesToLoad","imagesLoaded","loadImage","imgElement","src","srcset","checkForComplete","callback","onReady","image","complete","Image","onload","onerror","_onReady","update","currentSrc","getAttribute","autoplaying","autoplayPaused","startAutoplay","internal","pauseAutoplay","transitionEnd","snapGrid","updateAutoHeight","slide","slides","eq","activeIndex","newHeight","offsetHeight","updateContainerSize","clientWidth","clientHeight","size","updateSlidesSize","slidesGrid","slidesSizesGrid","slidePosition","prevSlideSize","parseFloat","replace","virtualSize","marginLeft","marginTop","marginRight","marginBottom","slidesNumberEvenToRows","ceil","max","slideSize","slidesPerRow","numFullColumns","newSlideOrderIndex","column","row","-webkit-box-ordinal-group","-moz-box-ordinal-group","-ms-flex-order","-webkit-order","order","margin-top","outerWidth","outerHeight","swiperSlideSize","newSlidesGrid","updateSlidesOffset","swiperSlideOffset","offsetLeft","offsetTop","updateSlidesProgress","offsetCenter","removeClass","slideProgress","slideBefore","slideAfter","isVisible","translatesDiff","newActiveIndex","snapIndex","previousIndex","activeSlide","nextSlide","next","prevSlide","prev","current","total","bullets","text","scale","scaleX","scaleY","transition","html","disable","enable","updatePagination","paginationHTML","numberOfBullets","initPagination","updateTranslate","forceSetTranslate","newTranslate","min","set","translated","controller","spline","slideTo","forceUpdatePagination","slideChangedBySlideTo","desktopEvents","navigator","pointerEnabled","msPointerEnabled","touchEvents","start","move","end","initEvents","detach","actionDom","action","moveCapture","nested","browser","ie","onTouchStart","onTouchMove","onTouchEnd","ios","onClickNext","onEnterKey","onClickPrev","onClickIndex","attachEvents","detachEvents","allowClick","stopPropagation","stopImmediatePropagation","updateClickedSlide","slideFound","clickedSlide","clickedIndex","realIndex","slideToIndex","isTouched","isMoved","allowTouchCallbacks","touchStartTime","isScrolling","currentTranslate","startTranslate","allowThresholdMove","clickTimeout","allowMomentumBounce","formElements","lastClickTime","now","velocities","touches","startX","startY","currentX","currentY","diff","isTouchEvent","startMoving","type","which","targetTouches","pageX","pageY","swipeDirection","blur","preventedByNestedSwiper","atan2","PI","ieTouch","trigger","disableParentSwiper","pow","time","touchEndTime","timeDiff","hasClass","toggleClass","currentPos","lastMoveEvent","pop","velocityEvent","distance","momentumDuration","momentumDistance","newPosition","afterBouncePosition","doBounce","bounceAmount","j","onTransitionStart","onTransitionEnd","stopIndex","groupSize","ratio","slideIndex","runCallbacks","setHash","clientLeft","_slidePrev","duration","byController","effects","setTransition","x","y","z","setTranslate","getTranslate","axis","matrix","curTransform","curStyle","transformMatrix","getComputedStyle","WebKitCSSMatrix","webkitTransform","split","map","MozTransform","OTransform","MsTransform","msTransform","getPropertyValue","toString","m41","m42","initObservers","containerParents","disconnectObservers","disconnect","createLoop","remove","prependSlides","appendSlides","append","cloneNode","prepend","removeAttr","updatePosition","oldIndex","newIndex","appendSlide","prependSlide","removeSlide","slidesIndexes","indexToRemove","removeAllSlides","tx","ty","slideOpacity","opacity","eventTriggered","triggerEvents","rotateY","rotateX","zIndex","shadowBefore","shadowAfter","cubeShadow","wrapperRotate","slideAngle","tz","-webkit-transform-origin","-moz-transform-origin","-ms-transform-origin","transform-origin","shadowAngle","multiplier","sin","cos","scale1","scale2","zFactor","isSafari","isUiWebView","center","slideOffset","offsetMultiplier","translateZ","translateY","translateX","slideTransform","ws","perspectiveOrigin","initialImageLoaded","loadImageInSlide","loadInDuplicate","img","add","_img","background","slideOriginalIndex","originalSlide","duplicatedSlide","amount","spv","maxIndex","minIndex","setDragPosition","sb","pointerPosition","clientX","clientY","track","dragSize","positionMin","moveDivider","positionMax","dragStart","dragTimeout","drag","dragMove","dragEnd","enableDraggable","on","disableDraggable","off","trackSize","offsetWidth","divider","display","newPos","newSize","LinearSpline","lastIndex","i1","i3","interpolate","x2","binarySearch","guess","array","val","getInterpolateFunction","c","setControlledTranslate","controlledTranslate","controlled","isArray","setControlledTransition","init","initialized","hash","location","slideHash","disableKeyboardControl","enableKeyboardControl","WheelEvent","onmousewheel","disableMousewheelControl","enableMousewheelControl","parallaxDuration","_plugins","plugin","plugins","callPlugins","arguments","emitterEventListeners","handler","splice","once","_handler","makeFocusable","$el","addRole","role","addLabel","label","notify","click","liveRegion","message","notification","bullet","destroy","cleanupStyles","deleteInstance","prototype","ua","userAgent","test","arr","Object","apply","msMaxTouchPoints","maxTouchPoints","match","ipad","ipod","iphone","Modernizr","DocumentTouch","csstransforms3d","div","createElement","styles","_this","context","els","tempParent","trim","toCreate","innerHTML","childNodes","querySelectorAll","getElementById","className","classes","classList","contains","toggle","attrs","value","setAttribute","attrName","removeAttribute","key","dom7ElementDataStorage","dataKey","elStyle","webkitTransitionDuration","MsTransitionDuration","msTransitionDuration","MozTransitionDuration","OTransitionDuration","transitionDuration","targetSelector","listener","capture","handleLiveEvent","call","k","events","addEventListener","dom7LiveListeners","liveListener","removeEventListener","proxy","dom","eventData","evt","CustomEvent","bubbles","cancelable","createEvent","initEvent","dispatchEvent","fireCallBack","includeMargins","box","getBoundingClientRect","body","clientTop","scrollTop","props","prop","textContent","compareWith","matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","child","previousSibling","returnIndex","newChild","tempDiv","firstChild","appendChild","insertBefore","before","parentNode","insertAfter","after","nextSibling","nextElementSibling","nextAll","nextEls","previousElementSibling","prevAll","prevEls","parent","unique","foundElements","removeChild","toAdd","swiperDomPlugins","domLib","module","exports","define","amd","Error","version","jquery","transEndEventNames","WebkitTransition","MozTransition","OTransition","name","emulateTransitionEnd","called","one","special","bsTransitionEnd","bindType","delegateType","handle","handleObj","Plugin","option","$this","Alert","dismiss","close","VERSION","TRANSITION_DURATION","removeElement","$parent","closest","Event","isDefaultPrevented","old","alert","Constructor","noConflict","Button","setState","element","$element","extend","DEFAULTS","isLoading","loadingText","state","d","resetText","changed","$input","button","$btn","first","Carousel","to","interval","pause","cycle","$indicators","paused","sliding","$active","$items","keyboard","keydown","documentElement","wrap","tagName","clearInterval","setInterval","getItemIndex","item","getItemForDirection","active","willWrap","itemIndex","pos","that","$next","isCycling","relatedTarget","slideEvent","$nextIndicator","slidEvent","carousel","clickHandler","href","$target","$carousel","getTargetFromTrigger","$trigger","Collapse","id","transitioning","getParent","addAriaAndCollapsedClass","dimension","hasWidth","show","activesData","actives","startEvent","scrollSize","camelCase","hide","isOpen","collapse","clearMenus","backdrop","Dropdown","isActive","desc","dropdown","_relatedTarget","Modal","$body","$dialog","$backdrop","isShown","originalBodyPad","scrollbarWidth","ignoreBackdropClick","remote","BACKDROP_TRANSITION_DURATION","checkScrollbar","setScrollbar","escape","resize","appendTo","adjustDialog","enforceFocus","hideModal","has","handleUpdate","resetAdjustments","resetScrollbar","removeBackdrop","animate","doAnimate","currentTarget","focus","callbackRemove","modalIsOverflowing","scrollHeight","paddingLeft","bodyIsOverflowing","paddingRight","fullWindowWidth","documentElementRect","right","measureScrollbar","bodyPad","scrollDiv","modal","showEvent","Tooltip","enabled","hoverState","inState","animation","placement","template","title","delay","viewport","padding","getOptions","$viewport","isFunction","hover","constructor","triggers","eventIn","eventOut","enter","leave","_options","fixTitle","getDefaults","getDelegateOptions","obj","self","tip","isInStateTrue","hasContent","inDom","ownerDocument","$tip","tipId","getUID","setContent","autoToken","autoPlace","getPosition","actualWidth","actualHeight","orgPlacement","viewportDim","bottom","calculatedOffset","getCalculatedOffset","applyPlacement","prevHoverState","isNaN","setOffset","using","getViewportAdjustedDelta","isVertical","arrowDelta","arrowOffsetPosition","replaceArrow","arrow","getTitle","$e","isBody","elRect","isSvg","SVGElement","elOffset","scroll","outerDims","viewportPadding","viewportDimensions","topEdgeOffset","bottomEdgeOffset","leftEdgeOffset","rightEdgeOffset","o","prefix","random","$arrow","toggleEnabled","removeData","tooltip","Popover","content","getContent","popover","ScrollSpy","$scrollElement","offsets","targets","activeTarget","process","refresh","getScrollHeight","offsetMethod","offsetBase","isWindow","$href","maxScroll","activate","clear","parentsUntil","scrollspy","$spy","Tab","$ul","$previous","hideEvent","tab","Affix","checkPosition","checkPositionWithEventLoop","affixed","unpin","pinnedOffset","RESET","getState","offsetBottom","targetHeight","initializing","colliderTop","colliderHeight","getPinnedOffset","affix","affixType","_scopedEventName","_scopeEventNames","names","_currentSpinnerId","TouchSpin","originalinput","originalinput_data","spinnerid","initval","replacementval","step","decimals","stepinterval","forcestepdivisibility","stepintervaldelay","verticalbuttons","verticalupclass","verticaldownclass","postfix","prefix_extraclass","postfix_extraclass","booster","boostat","maxboostedstep","buttondown_class","buttonup_class","buttondown_txt","buttonup_txt","attributeMap","console","log","_initSettings","_setInitval","_checkValue","_buildHtml","_initElements","_hideEmptyPrefixPostfix","_bindEvents","_bindEventsInterface","elements","input","settings","changeSettings","newsettings","_updateSettings","Number","toFixed","_parseAttributes","parentelement","_advanceInputGroup","_buildInputGroup","downhtml","uphtml","prefixhtml","postfixhtml","down","up","ev","code","spinning","upOnce","startUpSpin","downOnce","startDownSpin","stopSpin","wheelDelta","_forcestepdivisibility","parsedval","returnval","_getBoostedStep","boosted","spincount","initvalue","boostedstep","downDelayTimeout","downSpinTimer","upDelayTimeout","upSpinTimer","fallback","slice","hasData","not","filter","previous","parentDim","arrowPosition","validate","empty","OffCanvas","recalc","calcClone","autohide","disablescrolling","disableScrolling","calcPlacement","ab","size_a","size_b","horizontal","vertical","opposite","getCanvasElements","canvas","fixed_elements","exclude","anim","bodyWidth","fast","$calcClone","clone","offcanvas","$canvas","Rowlink","initMouseEvent","rowlink","isIphone","orientation","isAndroid","isIE","appName","Inputmask","mask","String","listen","checkVal","placeholder","definitions","9","w","*","defs","len","tests","partialPosition","firstNonMaskPos","RegExp","buffer","focusText","pasteEventName","unmask","focusEvent","blurEvent","keydownEvent","keypressEvent","pasteEvent","caret","begin","setSelectionRange","createTextRange","range","moveEnd","moveStart","select","selectionStart","selectionEnd","selection","createRange","duplicate","seekNext","seekPrev","shiftL","writeBuffer","shiftR","t","unbind","moveCaret","clearBuffer","fromCharCode","allow","lastMatch","charAt","inputmask","Fileinput","$hidden","$preview","original","exists","preview","hiddenVal","change","form","reset","files","file","FileReader","reader","re","$img","result","readAsDataURL","inputClone","fileinput","gene","debug","tags","evts","scriptName","taClass","apiUri","goBack","me","history","go","formValidate","g","chk","$ci","txt","ifEmpty","clog","ifErrPasswd","$ta","ifErrEmail","ifErrChinese","ifErrNumber","stdSubmit","f","dAction","gee","isset","msg","uri","goback","check","func","exe","yell","serialize","postData","successCB","errorCB","hideLoadAnim","loadAnim","opt","url","cache","ajax","done","fail","err","status","always","resetForm","getChainOption","ta","v","query","command","args","fun","pageController","capitalize","functionName","sf","pathname","subfloder","importScripts","404","parseUrlQuery","ret","seg","search","hookTag","newTagName","hook","unhook","exist","bindToEvt","tk","ebi","meb","eba","ai","ebo","ei","applyGEE","str","erp","inArray","ary","formatMoney","n","substr","globalEval","xhr","XMLHttpRequest","meta","Array","decodeURIComponent","atob","open","send","responseText","eval"],"mappings":"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","file":"main.js","sourcesContent":["/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under the MIT license\n */\n\nif (typeof jQuery === 'undefined') {\n throw new Error('Bootstrap\\'s JavaScript requires jQuery')\n}\n\n+function ($) {\n 'use strict';\n var version = $.fn.jquery.split(' ')[0].split('.')\n if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 3)) {\n throw new Error('Bootstrap\\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4')\n }\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: transition.js v3.3.7\n * http://getbootstrap.com/javascript/#transitions\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)\n // ============================================================\n\n function transitionEnd() {\n var el = document.createElement('bootstrap')\n\n var transEndEventNames = {\n WebkitTransition : 'webkitTransitionEnd',\n MozTransition : 'transitionend',\n OTransition : 'oTransitionEnd otransitionend',\n transition : 'transitionend'\n }\n\n for (var name in transEndEventNames) {\n if (el.style[name] !== undefined) {\n return { end: transEndEventNames[name] }\n }\n }\n\n return false // explicit for ie8 ( ._.)\n }\n\n // http://blog.alexmaccaw.com/css-transitions\n $.fn.emulateTransitionEnd = function (duration) {\n var called = false\n var $el = this\n $(this).one('bsTransitionEnd', function () { called = true })\n var callback = function () { if (!called) $($el).trigger($.support.transition.end) }\n setTimeout(callback, duration)\n return this\n }\n\n $(function () {\n $.support.transition = transitionEnd()\n\n if (!$.support.transition) return\n\n $.event.special.bsTransitionEnd = {\n bindType: $.support.transition.end,\n delegateType: $.support.transition.end,\n handle: function (e) {\n if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)\n }\n }\n })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: alert.js v3.3.7\n * http://getbootstrap.com/javascript/#alerts\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // ALERT CLASS DEFINITION\n // ======================\n\n var dismiss = '[data-dismiss=\"alert\"]'\n var Alert = function (el) {\n $(el).on('click', dismiss, this.close)\n }\n\n Alert.VERSION = '3.3.7'\n\n Alert.TRANSITION_DURATION = 150\n\n Alert.prototype.close = function (e) {\n var $this = $(this)\n var selector = $this.attr('data-target')\n\n if (!selector) {\n selector = $this.attr('href')\n selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\n }\n\n var $parent = $(selector === '#' ? [] : selector)\n\n if (e) e.preventDefault()\n\n if (!$parent.length) {\n $parent = $this.closest('.alert')\n }\n\n $parent.trigger(e = $.Event('close.bs.alert'))\n\n if (e.isDefaultPrevented()) return\n\n $parent.removeClass('in')\n\n function removeElement() {\n // detach from parent, fire event then clean up data\n $parent.detach().trigger('closed.bs.alert').remove()\n }\n\n $.support.transition && $parent.hasClass('fade') ?\n $parent\n .one('bsTransitionEnd', removeElement)\n .emulateTransitionEnd(Alert.TRANSITION_DURATION) :\n removeElement()\n }\n\n\n // ALERT PLUGIN DEFINITION\n // =======================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.alert')\n\n if (!data) $this.data('bs.alert', (data = new Alert(this)))\n if (typeof option == 'string') data[option].call($this)\n })\n }\n\n var old = $.fn.alert\n\n $.fn.alert = Plugin\n $.fn.alert.Constructor = Alert\n\n\n // ALERT NO CONFLICT\n // =================\n\n $.fn.alert.noConflict = function () {\n $.fn.alert = old\n return this\n }\n\n\n // ALERT DATA-API\n // ==============\n\n $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: button.js v3.3.7\n * http://getbootstrap.com/javascript/#buttons\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // BUTTON PUBLIC CLASS DEFINITION\n // ==============================\n\n var Button = function (element, options) {\n this.$element = $(element)\n this.options = $.extend({}, Button.DEFAULTS, options)\n this.isLoading = false\n }\n\n Button.VERSION = '3.3.7'\n\n Button.DEFAULTS = {\n loadingText: 'loading...'\n }\n\n Button.prototype.setState = function (state) {\n var d = 'disabled'\n var $el = this.$element\n var val = $el.is('input') ? 'val' : 'html'\n var data = $el.data()\n\n state += 'Text'\n\n if (data.resetText == null) $el.data('resetText', $el[val]())\n\n // push to event loop to allow forms to submit\n setTimeout($.proxy(function () {\n $el[val](data[state] == null ? this.options[state] : data[state])\n\n if (state == 'loadingText') {\n this.isLoading = true\n $el.addClass(d).attr(d, d).prop(d, true)\n } else if (this.isLoading) {\n this.isLoading = false\n $el.removeClass(d).removeAttr(d).prop(d, false)\n }\n }, this), 0)\n }\n\n Button.prototype.toggle = function () {\n var changed = true\n var $parent = this.$element.closest('[data-toggle=\"buttons\"]')\n\n if ($parent.length) {\n var $input = this.$element.find('input')\n if ($input.prop('type') == 'radio') {\n if ($input.prop('checked')) changed = false\n $parent.find('.active').removeClass('active')\n this.$element.addClass('active')\n } else if ($input.prop('type') == 'checkbox') {\n if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false\n this.$element.toggleClass('active')\n }\n $input.prop('checked', this.$element.hasClass('active'))\n if (changed) $input.trigger('change')\n } else {\n this.$element.attr('aria-pressed', !this.$element.hasClass('active'))\n this.$element.toggleClass('active')\n }\n }\n\n\n // BUTTON PLUGIN DEFINITION\n // ========================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.button')\n var options = typeof option == 'object' && option\n\n if (!data) $this.data('bs.button', (data = new Button(this, options)))\n\n if (option == 'toggle') data.toggle()\n else if (option) data.setState(option)\n })\n }\n\n var old = $.fn.button\n\n $.fn.button = Plugin\n $.fn.button.Constructor = Button\n\n\n // BUTTON NO CONFLICT\n // ==================\n\n $.fn.button.noConflict = function () {\n $.fn.button = old\n return this\n }\n\n\n // BUTTON DATA-API\n // ===============\n\n $(document)\n .on('click.bs.button.data-api', '[data-toggle^=\"button\"]', function (e) {\n var $btn = $(e.target).closest('.btn')\n Plugin.call($btn, 'toggle')\n if (!($(e.target).is('input[type=\"radio\"], input[type=\"checkbox\"]'))) {\n // Prevent double click on radios, and the double selections (so cancellation) on checkboxes\n e.preventDefault()\n // The target component still receive the focus\n if ($btn.is('input,button')) $btn.trigger('focus')\n else $btn.find('input:visible,button:visible').first().trigger('focus')\n }\n })\n .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^=\"button\"]', function (e) {\n $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))\n })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: carousel.js v3.3.7\n * http://getbootstrap.com/javascript/#carousel\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // CAROUSEL CLASS DEFINITION\n // =========================\n\n var Carousel = function (element, options) {\n this.$element = $(element)\n this.$indicators = this.$element.find('.carousel-indicators')\n this.options = options\n this.paused = null\n this.sliding = null\n this.interval = null\n this.$active = null\n this.$items = null\n\n this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))\n\n this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element\n .on('mouseenter.bs.carousel', $.proxy(this.pause, this))\n .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))\n }\n\n Carousel.VERSION = '3.3.7'\n\n Carousel.TRANSITION_DURATION = 600\n\n Carousel.DEFAULTS = {\n interval: 5000,\n pause: 'hover',\n wrap: true,\n keyboard: true\n }\n\n Carousel.prototype.keydown = function (e) {\n if (/input|textarea/i.test(e.target.tagName)) return\n switch (e.which) {\n case 37: this.prev(); break\n case 39: this.next(); break\n default: return\n }\n\n e.preventDefault()\n }\n\n Carousel.prototype.cycle = function (e) {\n e || (this.paused = false)\n\n this.interval && clearInterval(this.interval)\n\n this.options.interval\n && !this.paused\n && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))\n\n return this\n }\n\n Carousel.prototype.getItemIndex = function (item) {\n this.$items = item.parent().children('.item')\n return this.$items.index(item || this.$active)\n }\n\n Carousel.prototype.getItemForDirection = function (direction, active) {\n var activeIndex = this.getItemIndex(active)\n var willWrap = (direction == 'prev' && activeIndex === 0)\n || (direction == 'next' && activeIndex == (this.$items.length - 1))\n if (willWrap && !this.options.wrap) return active\n var delta = direction == 'prev' ? -1 : 1\n var itemIndex = (activeIndex + delta) % this.$items.length\n return this.$items.eq(itemIndex)\n }\n\n Carousel.prototype.to = function (pos) {\n var that = this\n var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))\n\n if (pos > (this.$items.length - 1) || pos < 0) return\n\n if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, \"slid\"\n if (activeIndex == pos) return this.pause().cycle()\n\n return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos))\n }\n\n Carousel.prototype.pause = function (e) {\n e || (this.paused = true)\n\n if (this.$element.find('.next, .prev').length && $.support.transition) {\n this.$element.trigger($.support.transition.end)\n this.cycle(true)\n }\n\n this.interval = clearInterval(this.interval)\n\n return this\n }\n\n Carousel.prototype.next = function () {\n if (this.sliding) return\n return this.slide('next')\n }\n\n Carousel.prototype.prev = function () {\n if (this.sliding) return\n return this.slide('prev')\n }\n\n Carousel.prototype.slide = function (type, next) {\n var $active = this.$element.find('.item.active')\n var $next = next || this.getItemForDirection(type, $active)\n var isCycling = this.interval\n var direction = type == 'next' ? 'left' : 'right'\n var that = this\n\n if ($next.hasClass('active')) return (this.sliding = false)\n\n var relatedTarget = $next[0]\n var slideEvent = $.Event('slide.bs.carousel', {\n relatedTarget: relatedTarget,\n direction: direction\n })\n this.$element.trigger(slideEvent)\n if (slideEvent.isDefaultPrevented()) return\n\n this.sliding = true\n\n isCycling && this.pause()\n\n if (this.$indicators.length) {\n this.$indicators.find('.active').removeClass('active')\n var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])\n $nextIndicator && $nextIndicator.addClass('active')\n }\n\n var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, \"slid\"\n if ($.support.transition && this.$element.hasClass('slide')) {\n $next.addClass(type)\n $next[0].offsetWidth // force reflow\n $active.addClass(direction)\n $next.addClass(direction)\n $active\n .one('bsTransitionEnd', function () {\n $next.removeClass([type, direction].join(' ')).addClass('active')\n $active.removeClass(['active', direction].join(' '))\n that.sliding = false\n setTimeout(function () {\n that.$element.trigger(slidEvent)\n }, 0)\n })\n .emulateTransitionEnd(Carousel.TRANSITION_DURATION)\n } else {\n $active.removeClass('active')\n $next.addClass('active')\n this.sliding = false\n this.$element.trigger(slidEvent)\n }\n\n isCycling && this.cycle()\n\n return this\n }\n\n\n // CAROUSEL PLUGIN DEFINITION\n // ==========================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.carousel')\n var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)\n var action = typeof option == 'string' ? option : options.slide\n\n if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))\n if (typeof option == 'number') data.to(option)\n else if (action) data[action]()\n else if (options.interval) data.pause().cycle()\n })\n }\n\n var old = $.fn.carousel\n\n $.fn.carousel = Plugin\n $.fn.carousel.Constructor = Carousel\n\n\n // CAROUSEL NO CONFLICT\n // ====================\n\n $.fn.carousel.noConflict = function () {\n $.fn.carousel = old\n return this\n }\n\n\n // CAROUSEL DATA-API\n // =================\n\n var clickHandler = function (e) {\n var href\n var $this = $(this)\n var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '')) // strip for ie7\n if (!$target.hasClass('carousel')) return\n var options = $.extend({}, $target.data(), $this.data())\n var slideIndex = $this.attr('data-slide-to')\n if (slideIndex) options.interval = false\n\n Plugin.call($target, options)\n\n if (slideIndex) {\n $target.data('bs.carousel').to(slideIndex)\n }\n\n e.preventDefault()\n }\n\n $(document)\n .on('click.bs.carousel.data-api', '[data-slide]', clickHandler)\n .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler)\n\n $(window).on('load', function () {\n $('[data-ride=\"carousel\"]').each(function () {\n var $carousel = $(this)\n Plugin.call($carousel, $carousel.data())\n })\n })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: collapse.js v3.3.7\n * http://getbootstrap.com/javascript/#collapse\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n/* jshint latedef: false */\n\n+function ($) {\n 'use strict';\n\n // COLLAPSE PUBLIC CLASS DEFINITION\n // ================================\n\n var Collapse = function (element, options) {\n this.$element = $(element)\n this.options = $.extend({}, Collapse.DEFAULTS, options)\n this.$trigger = $('[data-toggle=\"collapse\"][href=\"#' + element.id + '\"],' +\n '[data-toggle=\"collapse\"][data-target=\"#' + element.id + '\"]')\n this.transitioning = null\n\n if (this.options.parent) {\n this.$parent = this.getParent()\n } else {\n this.addAriaAndCollapsedClass(this.$element, this.$trigger)\n }\n\n if (this.options.toggle) this.toggle()\n }\n\n Collapse.VERSION = '3.3.7'\n\n Collapse.TRANSITION_DURATION = 350\n\n Collapse.DEFAULTS = {\n toggle: true\n }\n\n Collapse.prototype.dimension = function () {\n var hasWidth = this.$element.hasClass('width')\n return hasWidth ? 'width' : 'height'\n }\n\n Collapse.prototype.show = function () {\n if (this.transitioning || this.$element.hasClass('in')) return\n\n var activesData\n var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing')\n\n if (actives && actives.length) {\n activesData = actives.data('bs.collapse')\n if (activesData && activesData.transitioning) return\n }\n\n var startEvent = $.Event('show.bs.collapse')\n this.$element.trigger(startEvent)\n if (startEvent.isDefaultPrevented()) return\n\n if (actives && actives.length) {\n Plugin.call(actives, 'hide')\n activesData || actives.data('bs.collapse', null)\n }\n\n var dimension = this.dimension()\n\n this.$element\n .removeClass('collapse')\n .addClass('collapsing')[dimension](0)\n .attr('aria-expanded', true)\n\n this.$trigger\n .removeClass('collapsed')\n .attr('aria-expanded', true)\n\n this.transitioning = 1\n\n var complete = function () {\n this.$element\n .removeClass('collapsing')\n .addClass('collapse in')[dimension]('')\n this.transitioning = 0\n this.$element\n .trigger('shown.bs.collapse')\n }\n\n if (!$.support.transition) return complete.call(this)\n\n var scrollSize = $.camelCase(['scroll', dimension].join('-'))\n\n this.$element\n .one('bsTransitionEnd', $.proxy(complete, this))\n .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])\n }\n\n Collapse.prototype.hide = function () {\n if (this.transitioning || !this.$element.hasClass('in')) return\n\n var startEvent = $.Event('hide.bs.collapse')\n this.$element.trigger(startEvent)\n if (startEvent.isDefaultPrevented()) return\n\n var dimension = this.dimension()\n\n this.$element[dimension](this.$element[dimension]())[0].offsetHeight\n\n this.$element\n .addClass('collapsing')\n .removeClass('collapse in')\n .attr('aria-expanded', false)\n\n this.$trigger\n .addClass('collapsed')\n .attr('aria-expanded', false)\n\n this.transitioning = 1\n\n var complete = function () {\n this.transitioning = 0\n this.$element\n .removeClass('collapsing')\n .addClass('collapse')\n .trigger('hidden.bs.collapse')\n }\n\n if (!$.support.transition) return complete.call(this)\n\n this.$element\n [dimension](0)\n .one('bsTransitionEnd', $.proxy(complete, this))\n .emulateTransitionEnd(Collapse.TRANSITION_DURATION)\n }\n\n Collapse.prototype.toggle = function () {\n this[this.$element.hasClass('in') ? 'hide' : 'show']()\n }\n\n Collapse.prototype.getParent = function () {\n return $(this.options.parent)\n .find('[data-toggle=\"collapse\"][data-parent=\"' + this.options.parent + '\"]')\n .each($.proxy(function (i, element) {\n var $element = $(element)\n this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)\n }, this))\n .end()\n }\n\n Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {\n var isOpen = $element.hasClass('in')\n\n $element.attr('aria-expanded', isOpen)\n $trigger\n .toggleClass('collapsed', !isOpen)\n .attr('aria-expanded', isOpen)\n }\n\n function getTargetFromTrigger($trigger) {\n var href\n var target = $trigger.attr('data-target')\n || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '') // strip for ie7\n\n return $(target)\n }\n\n\n // COLLAPSE PLUGIN DEFINITION\n // ==========================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.collapse')\n var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)\n\n if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false\n if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n var old = $.fn.collapse\n\n $.fn.collapse = Plugin\n $.fn.collapse.Constructor = Collapse\n\n\n // COLLAPSE NO CONFLICT\n // ====================\n\n $.fn.collapse.noConflict = function () {\n $.fn.collapse = old\n return this\n }\n\n\n // COLLAPSE DATA-API\n // =================\n\n $(document).on('click.bs.collapse.data-api', '[data-toggle=\"collapse\"]', function (e) {\n var $this = $(this)\n\n if (!$this.attr('data-target')) e.preventDefault()\n\n var $target = getTargetFromTrigger($this)\n var data = $target.data('bs.collapse')\n var option = data ? 'toggle' : $this.data()\n\n Plugin.call($target, option)\n })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: dropdown.js v3.3.7\n * http://getbootstrap.com/javascript/#dropdowns\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // DROPDOWN CLASS DEFINITION\n // =========================\n\n var backdrop = '.dropdown-backdrop'\n var toggle = '[data-toggle=\"dropdown\"]'\n var Dropdown = function (element) {\n $(element).on('click.bs.dropdown', this.toggle)\n }\n\n Dropdown.VERSION = '3.3.7'\n\n function getParent($this) {\n var selector = $this.attr('data-target')\n\n if (!selector) {\n selector = $this.attr('href')\n selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\n }\n\n var $parent = selector && $(selector)\n\n return $parent && $parent.length ? $parent : $this.parent()\n }\n\n function clearMenus(e) {\n if (e && e.which === 3) return\n $(backdrop).remove()\n $(toggle).each(function () {\n var $this = $(this)\n var $parent = getParent($this)\n var relatedTarget = { relatedTarget: this }\n\n if (!$parent.hasClass('open')) return\n\n if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return\n\n $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))\n\n if (e.isDefaultPrevented()) return\n\n $this.attr('aria-expanded', 'false')\n $parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget))\n })\n }\n\n Dropdown.prototype.toggle = function (e) {\n var $this = $(this)\n\n if ($this.is('.disabled, :disabled')) return\n\n var $parent = getParent($this)\n var isActive = $parent.hasClass('open')\n\n clearMenus()\n\n if (!isActive) {\n if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {\n // if mobile we use a backdrop because click events don't delegate\n $(document.createElement('div'))\n .addClass('dropdown-backdrop')\n .insertAfter($(this))\n .on('click', clearMenus)\n }\n\n var relatedTarget = { relatedTarget: this }\n $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))\n\n if (e.isDefaultPrevented()) return\n\n $this\n .trigger('focus')\n .attr('aria-expanded', 'true')\n\n $parent\n .toggleClass('open')\n .trigger($.Event('shown.bs.dropdown', relatedTarget))\n }\n\n return false\n }\n\n Dropdown.prototype.keydown = function (e) {\n if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return\n\n var $this = $(this)\n\n e.preventDefault()\n e.stopPropagation()\n\n if ($this.is('.disabled, :disabled')) return\n\n var $parent = getParent($this)\n var isActive = $parent.hasClass('open')\n\n if (!isActive && e.which != 27 || isActive && e.which == 27) {\n if (e.which == 27) $parent.find(toggle).trigger('focus')\n return $this.trigger('click')\n }\n\n var desc = ' li:not(.disabled):visible a'\n var $items = $parent.find('.dropdown-menu' + desc)\n\n if (!$items.length) return\n\n var index = $items.index(e.target)\n\n if (e.which == 38 && index > 0) index-- // up\n if (e.which == 40 && index < $items.length - 1) index++ // down\n if (!~index) index = 0\n\n $items.eq(index).trigger('focus')\n }\n\n\n // DROPDOWN PLUGIN DEFINITION\n // ==========================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.dropdown')\n\n if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))\n if (typeof option == 'string') data[option].call($this)\n })\n }\n\n var old = $.fn.dropdown\n\n $.fn.dropdown = Plugin\n $.fn.dropdown.Constructor = Dropdown\n\n\n // DROPDOWN NO CONFLICT\n // ====================\n\n $.fn.dropdown.noConflict = function () {\n $.fn.dropdown = old\n return this\n }\n\n\n // APPLY TO STANDARD DROPDOWN ELEMENTS\n // ===================================\n\n $(document)\n .on('click.bs.dropdown.data-api', clearMenus)\n .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })\n .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)\n .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)\n .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: modal.js v3.3.7\n * http://getbootstrap.com/javascript/#modals\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // MODAL CLASS DEFINITION\n // ======================\n\n var Modal = function (element, options) {\n this.options = options\n this.$body = $(document.body)\n this.$element = $(element)\n this.$dialog = this.$element.find('.modal-dialog')\n this.$backdrop = null\n this.isShown = null\n this.originalBodyPad = null\n this.scrollbarWidth = 0\n this.ignoreBackdropClick = false\n\n if (this.options.remote) {\n this.$element\n .find('.modal-content')\n .load(this.options.remote, $.proxy(function () {\n this.$element.trigger('loaded.bs.modal')\n }, this))\n }\n }\n\n Modal.VERSION = '3.3.7'\n\n Modal.TRANSITION_DURATION = 300\n Modal.BACKDROP_TRANSITION_DURATION = 150\n\n Modal.DEFAULTS = {\n backdrop: true,\n keyboard: true,\n show: true\n }\n\n Modal.prototype.toggle = function (_relatedTarget) {\n return this.isShown ? this.hide() : this.show(_relatedTarget)\n }\n\n Modal.prototype.show = function (_relatedTarget) {\n var that = this\n var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })\n\n this.$element.trigger(e)\n\n if (this.isShown || e.isDefaultPrevented()) return\n\n this.isShown = true\n\n this.checkScrollbar()\n this.setScrollbar()\n this.$body.addClass('modal-open')\n\n this.escape()\n this.resize()\n\n this.$element.on('click.dismiss.bs.modal', '[data-dismiss=\"modal\"]', $.proxy(this.hide, this))\n\n this.$dialog.on('mousedown.dismiss.bs.modal', function () {\n that.$element.one('mouseup.dismiss.bs.modal', function (e) {\n if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true\n })\n })\n\n this.backdrop(function () {\n var transition = $.support.transition && that.$element.hasClass('fade')\n\n if (!that.$element.parent().length) {\n that.$element.appendTo(that.$body) // don't move modals dom position\n }\n\n that.$element\n .show()\n .scrollTop(0)\n\n that.adjustDialog()\n\n if (transition) {\n that.$element[0].offsetWidth // force reflow\n }\n\n that.$element.addClass('in')\n\n that.enforceFocus()\n\n var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })\n\n transition ?\n that.$dialog // wait for modal to slide in\n .one('bsTransitionEnd', function () {\n that.$element.trigger('focus').trigger(e)\n })\n .emulateTransitionEnd(Modal.TRANSITION_DURATION) :\n that.$element.trigger('focus').trigger(e)\n })\n }\n\n Modal.prototype.hide = function (e) {\n if (e) e.preventDefault()\n\n e = $.Event('hide.bs.modal')\n\n this.$element.trigger(e)\n\n if (!this.isShown || e.isDefaultPrevented()) return\n\n this.isShown = false\n\n this.escape()\n this.resize()\n\n $(document).off('focusin.bs.modal')\n\n this.$element\n .removeClass('in')\n .off('click.dismiss.bs.modal')\n .off('mouseup.dismiss.bs.modal')\n\n this.$dialog.off('mousedown.dismiss.bs.modal')\n\n $.support.transition && this.$element.hasClass('fade') ?\n this.$element\n .one('bsTransitionEnd', $.proxy(this.hideModal, this))\n .emulateTransitionEnd(Modal.TRANSITION_DURATION) :\n this.hideModal()\n }\n\n Modal.prototype.enforceFocus = function () {\n $(document)\n .off('focusin.bs.modal') // guard against infinite focus loop\n .on('focusin.bs.modal', $.proxy(function (e) {\n if (document !== e.target &&\n this.$element[0] !== e.target &&\n !this.$element.has(e.target).length) {\n this.$element.trigger('focus')\n }\n }, this))\n }\n\n Modal.prototype.escape = function () {\n if (this.isShown && this.options.keyboard) {\n this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) {\n e.which == 27 && this.hide()\n }, this))\n } else if (!this.isShown) {\n this.$element.off('keydown.dismiss.bs.modal')\n }\n }\n\n Modal.prototype.resize = function () {\n if (this.isShown) {\n $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this))\n } else {\n $(window).off('resize.bs.modal')\n }\n }\n\n Modal.prototype.hideModal = function () {\n var that = this\n this.$element.hide()\n this.backdrop(function () {\n that.$body.removeClass('modal-open')\n that.resetAdjustments()\n that.resetScrollbar()\n that.$element.trigger('hidden.bs.modal')\n })\n }\n\n Modal.prototype.removeBackdrop = function () {\n this.$backdrop && this.$backdrop.remove()\n this.$backdrop = null\n }\n\n Modal.prototype.backdrop = function (callback) {\n var that = this\n var animate = this.$element.hasClass('fade') ? 'fade' : ''\n\n if (this.isShown && this.options.backdrop) {\n var doAnimate = $.support.transition && animate\n\n this.$backdrop = $(document.createElement('div'))\n .addClass('modal-backdrop ' + animate)\n .appendTo(this.$body)\n\n this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {\n if (this.ignoreBackdropClick) {\n this.ignoreBackdropClick = false\n return\n }\n if (e.target !== e.currentTarget) return\n this.options.backdrop == 'static'\n ? this.$element[0].focus()\n : this.hide()\n }, this))\n\n if (doAnimate) this.$backdrop[0].offsetWidth // force reflow\n\n this.$backdrop.addClass('in')\n\n if (!callback) return\n\n doAnimate ?\n this.$backdrop\n .one('bsTransitionEnd', callback)\n .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :\n callback()\n\n } else if (!this.isShown && this.$backdrop) {\n this.$backdrop.removeClass('in')\n\n var callbackRemove = function () {\n that.removeBackdrop()\n callback && callback()\n }\n $.support.transition && this.$element.hasClass('fade') ?\n this.$backdrop\n .one('bsTransitionEnd', callbackRemove)\n .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :\n callbackRemove()\n\n } else if (callback) {\n callback()\n }\n }\n\n // these following methods are used to handle overflowing modals\n\n Modal.prototype.handleUpdate = function () {\n this.adjustDialog()\n }\n\n Modal.prototype.adjustDialog = function () {\n var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight\n\n this.$element.css({\n paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '',\n paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : ''\n })\n }\n\n Modal.prototype.resetAdjustments = function () {\n this.$element.css({\n paddingLeft: '',\n paddingRight: ''\n })\n }\n\n Modal.prototype.checkScrollbar = function () {\n var fullWindowWidth = window.innerWidth\n if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8\n var documentElementRect = document.documentElement.getBoundingClientRect()\n fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left)\n }\n this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth\n this.scrollbarWidth = this.measureScrollbar()\n }\n\n Modal.prototype.setScrollbar = function () {\n var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)\n this.originalBodyPad = document.body.style.paddingRight || ''\n if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)\n }\n\n Modal.prototype.resetScrollbar = function () {\n this.$body.css('padding-right', this.originalBodyPad)\n }\n\n Modal.prototype.measureScrollbar = function () { // thx walsh\n var scrollDiv = document.createElement('div')\n scrollDiv.className = 'modal-scrollbar-measure'\n this.$body.append(scrollDiv)\n var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth\n this.$body[0].removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n\n // MODAL PLUGIN DEFINITION\n // =======================\n\n function Plugin(option, _relatedTarget) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.modal')\n var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)\n\n if (!data) $this.data('bs.modal', (data = new Modal(this, options)))\n if (typeof option == 'string') data[option](_relatedTarget)\n else if (options.show) data.show(_relatedTarget)\n })\n }\n\n var old = $.fn.modal\n\n $.fn.modal = Plugin\n $.fn.modal.Constructor = Modal\n\n\n // MODAL NO CONFLICT\n // =================\n\n $.fn.modal.noConflict = function () {\n $.fn.modal = old\n return this\n }\n\n\n // MODAL DATA-API\n // ==============\n\n $(document).on('click.bs.modal.data-api', '[data-toggle=\"modal\"]', function (e) {\n var $this = $(this)\n var href = $this.attr('href')\n var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\\s]+$)/, ''))) // strip for ie7\n var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())\n\n if ($this.is('a')) e.preventDefault()\n\n $target.one('show.bs.modal', function (showEvent) {\n if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown\n $target.one('hidden.bs.modal', function () {\n $this.is(':visible') && $this.trigger('focus')\n })\n })\n Plugin.call($target, option, this)\n })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: tooltip.js v3.3.7\n * http://getbootstrap.com/javascript/#tooltip\n * Inspired by the original jQuery.tipsy by Jason Frame\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // TOOLTIP PUBLIC CLASS DEFINITION\n // ===============================\n\n var Tooltip = function (element, options) {\n this.type = null\n this.options = null\n this.enabled = null\n this.timeout = null\n this.hoverState = null\n this.$element = null\n this.inState = null\n\n this.init('tooltip', element, options)\n }\n\n Tooltip.VERSION = '3.3.7'\n\n Tooltip.TRANSITION_DURATION = 150\n\n Tooltip.DEFAULTS = {\n animation: true,\n placement: 'top',\n selector: false,\n template: '
',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n container: false,\n viewport: {\n selector: 'body',\n padding: 0\n }\n }\n\n Tooltip.prototype.init = function (type, element, options) {\n this.enabled = true\n this.type = type\n this.$element = $(element)\n this.options = this.getOptions(options)\n this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))\n this.inState = { click: false, hover: false, focus: false }\n\n if (this.$element[0] instanceof document.constructor && !this.options.selector) {\n throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')\n }\n\n var triggers = this.options.trigger.split(' ')\n\n for (var i = triggers.length; i--;) {\n var trigger = triggers[i]\n\n if (trigger == 'click') {\n this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))\n } else if (trigger != 'manual') {\n var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin'\n var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'\n\n this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))\n this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))\n }\n }\n\n this.options.selector ?\n (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :\n this.fixTitle()\n }\n\n Tooltip.prototype.getDefaults = function () {\n return Tooltip.DEFAULTS\n }\n\n Tooltip.prototype.getOptions = function (options) {\n options = $.extend({}, this.getDefaults(), this.$element.data(), options)\n\n if (options.delay && typeof options.delay == 'number') {\n options.delay = {\n show: options.delay,\n hide: options.delay\n }\n }\n\n return options\n }\n\n Tooltip.prototype.getDelegateOptions = function () {\n var options = {}\n var defaults = this.getDefaults()\n\n this._options && $.each(this._options, function (key, value) {\n if (defaults[key] != value) options[key] = value\n })\n\n return options\n }\n\n Tooltip.prototype.enter = function (obj) {\n var self = obj instanceof this.constructor ?\n obj : $(obj.currentTarget).data('bs.' + this.type)\n\n if (!self) {\n self = new this.constructor(obj.currentTarget, this.getDelegateOptions())\n $(obj.currentTarget).data('bs.' + this.type, self)\n }\n\n if (obj instanceof $.Event) {\n self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true\n }\n\n if (self.tip().hasClass('in') || self.hoverState == 'in') {\n self.hoverState = 'in'\n return\n }\n\n clearTimeout(self.timeout)\n\n self.hoverState = 'in'\n\n if (!self.options.delay || !self.options.delay.show) return self.show()\n\n self.timeout = setTimeout(function () {\n if (self.hoverState == 'in') self.show()\n }, self.options.delay.show)\n }\n\n Tooltip.prototype.isInStateTrue = function () {\n for (var key in this.inState) {\n if (this.inState[key]) return true\n }\n\n return false\n }\n\n Tooltip.prototype.leave = function (obj) {\n var self = obj instanceof this.constructor ?\n obj : $(obj.currentTarget).data('bs.' + this.type)\n\n if (!self) {\n self = new this.constructor(obj.currentTarget, this.getDelegateOptions())\n $(obj.currentTarget).data('bs.' + this.type, self)\n }\n\n if (obj instanceof $.Event) {\n self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false\n }\n\n if (self.isInStateTrue()) return\n\n clearTimeout(self.timeout)\n\n self.hoverState = 'out'\n\n if (!self.options.delay || !self.options.delay.hide) return self.hide()\n\n self.timeout = setTimeout(function () {\n if (self.hoverState == 'out') self.hide()\n }, self.options.delay.hide)\n }\n\n Tooltip.prototype.show = function () {\n var e = $.Event('show.bs.' + this.type)\n\n if (this.hasContent() && this.enabled) {\n this.$element.trigger(e)\n\n var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0])\n if (e.isDefaultPrevented() || !inDom) return\n var that = this\n\n var $tip = this.tip()\n\n var tipId = this.getUID(this.type)\n\n this.setContent()\n $tip.attr('id', tipId)\n this.$element.attr('aria-describedby', tipId)\n\n if (this.options.animation) $tip.addClass('fade')\n\n var placement = typeof this.options.placement == 'function' ?\n this.options.placement.call(this, $tip[0], this.$element[0]) :\n this.options.placement\n\n var autoToken = /\\s?auto?\\s?/i\n var autoPlace = autoToken.test(placement)\n if (autoPlace) placement = placement.replace(autoToken, '') || 'top'\n\n $tip\n .detach()\n .css({ top: 0, left: 0, display: 'block' })\n .addClass(placement)\n .data('bs.' + this.type, this)\n\n this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)\n this.$element.trigger('inserted.bs.' + this.type)\n\n var pos = this.getPosition()\n var actualWidth = $tip[0].offsetWidth\n var actualHeight = $tip[0].offsetHeight\n\n if (autoPlace) {\n var orgPlacement = placement\n var viewportDim = this.getPosition(this.$viewport)\n\n placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' :\n placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' :\n placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' :\n placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' :\n placement\n\n $tip\n .removeClass(orgPlacement)\n .addClass(placement)\n }\n\n var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)\n\n this.applyPlacement(calculatedOffset, placement)\n\n var complete = function () {\n var prevHoverState = that.hoverState\n that.$element.trigger('shown.bs.' + that.type)\n that.hoverState = null\n\n if (prevHoverState == 'out') that.leave(that)\n }\n\n $.support.transition && this.$tip.hasClass('fade') ?\n $tip\n .one('bsTransitionEnd', complete)\n .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :\n complete()\n }\n }\n\n Tooltip.prototype.applyPlacement = function (offset, placement) {\n var $tip = this.tip()\n var width = $tip[0].offsetWidth\n var height = $tip[0].offsetHeight\n\n // manually read margins because getBoundingClientRect includes difference\n var marginTop = parseInt($tip.css('margin-top'), 10)\n var marginLeft = parseInt($tip.css('margin-left'), 10)\n\n // we must check for NaN for ie 8/9\n if (isNaN(marginTop)) marginTop = 0\n if (isNaN(marginLeft)) marginLeft = 0\n\n offset.top += marginTop\n offset.left += marginLeft\n\n // $.fn.offset doesn't round pixel values\n // so we use setOffset directly with our own function B-0\n $.offset.setOffset($tip[0], $.extend({\n using: function (props) {\n $tip.css({\n top: Math.round(props.top),\n left: Math.round(props.left)\n })\n }\n }, offset), 0)\n\n $tip.addClass('in')\n\n // check to see if placing tip in new offset caused the tip to resize itself\n var actualWidth = $tip[0].offsetWidth\n var actualHeight = $tip[0].offsetHeight\n\n if (placement == 'top' && actualHeight != height) {\n offset.top = offset.top + height - actualHeight\n }\n\n var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)\n\n if (delta.left) offset.left += delta.left\n else offset.top += delta.top\n\n var isVertical = /top|bottom/.test(placement)\n var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight\n var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight'\n\n $tip.offset(offset)\n this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)\n }\n\n Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {\n this.arrow()\n .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')\n .css(isVertical ? 'top' : 'left', '')\n }\n\n Tooltip.prototype.setContent = function () {\n var $tip = this.tip()\n var title = this.getTitle()\n\n $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)\n $tip.removeClass('fade in top bottom left right')\n }\n\n Tooltip.prototype.hide = function (callback) {\n var that = this\n var $tip = $(this.$tip)\n var e = $.Event('hide.bs.' + this.type)\n\n function complete() {\n if (that.hoverState != 'in') $tip.detach()\n if (that.$element) { // TODO: Check whether guarding this code with this `if` is really necessary.\n that.$element\n .removeAttr('aria-describedby')\n .trigger('hidden.bs.' + that.type)\n }\n callback && callback()\n }\n\n this.$element.trigger(e)\n\n if (e.isDefaultPrevented()) return\n\n $tip.removeClass('in')\n\n $.support.transition && $tip.hasClass('fade') ?\n $tip\n .one('bsTransitionEnd', complete)\n .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :\n complete()\n\n this.hoverState = null\n\n return this\n }\n\n Tooltip.prototype.fixTitle = function () {\n var $e = this.$element\n if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {\n $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')\n }\n }\n\n Tooltip.prototype.hasContent = function () {\n return this.getTitle()\n }\n\n Tooltip.prototype.getPosition = function ($element) {\n $element = $element || this.$element\n\n var el = $element[0]\n var isBody = el.tagName == 'BODY'\n\n var elRect = el.getBoundingClientRect()\n if (elRect.width == null) {\n // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093\n elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })\n }\n var isSvg = window.SVGElement && el instanceof window.SVGElement\n // Avoid using $.offset() on SVGs since it gives incorrect results in jQuery 3.\n // See https://github.com/twbs/bootstrap/issues/20280\n var elOffset = isBody ? { top: 0, left: 0 } : (isSvg ? null : $element.offset())\n var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }\n var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null\n\n return $.extend({}, elRect, scroll, outerDims, elOffset)\n }\n\n Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {\n return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :\n placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :\n placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :\n /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }\n\n }\n\n Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {\n var delta = { top: 0, left: 0 }\n if (!this.$viewport) return delta\n\n var viewportPadding = this.options.viewport && this.options.viewport.padding || 0\n var viewportDimensions = this.getPosition(this.$viewport)\n\n if (/right|left/.test(placement)) {\n var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll\n var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight\n if (topEdgeOffset < viewportDimensions.top) { // top overflow\n delta.top = viewportDimensions.top - topEdgeOffset\n } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow\n delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset\n }\n } else {\n var leftEdgeOffset = pos.left - viewportPadding\n var rightEdgeOffset = pos.left + viewportPadding + actualWidth\n if (leftEdgeOffset < viewportDimensions.left) { // left overflow\n delta.left = viewportDimensions.left - leftEdgeOffset\n } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow\n delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset\n }\n }\n\n return delta\n }\n\n Tooltip.prototype.getTitle = function () {\n var title\n var $e = this.$element\n var o = this.options\n\n title = $e.attr('data-original-title')\n || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)\n\n return title\n }\n\n Tooltip.prototype.getUID = function (prefix) {\n do prefix += ~~(Math.random() * 1000000)\n while (document.getElementById(prefix))\n return prefix\n }\n\n Tooltip.prototype.tip = function () {\n if (!this.$tip) {\n this.$tip = $(this.options.template)\n if (this.$tip.length != 1) {\n throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')\n }\n }\n return this.$tip\n }\n\n Tooltip.prototype.arrow = function () {\n return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))\n }\n\n Tooltip.prototype.enable = function () {\n this.enabled = true\n }\n\n Tooltip.prototype.disable = function () {\n this.enabled = false\n }\n\n Tooltip.prototype.toggleEnabled = function () {\n this.enabled = !this.enabled\n }\n\n Tooltip.prototype.toggle = function (e) {\n var self = this\n if (e) {\n self = $(e.currentTarget).data('bs.' + this.type)\n if (!self) {\n self = new this.constructor(e.currentTarget, this.getDelegateOptions())\n $(e.currentTarget).data('bs.' + this.type, self)\n }\n }\n\n if (e) {\n self.inState.click = !self.inState.click\n if (self.isInStateTrue()) self.enter(self)\n else self.leave(self)\n } else {\n self.tip().hasClass('in') ? self.leave(self) : self.enter(self)\n }\n }\n\n Tooltip.prototype.destroy = function () {\n var that = this\n clearTimeout(this.timeout)\n this.hide(function () {\n that.$element.off('.' + that.type).removeData('bs.' + that.type)\n if (that.$tip) {\n that.$tip.detach()\n }\n that.$tip = null\n that.$arrow = null\n that.$viewport = null\n that.$element = null\n })\n }\n\n\n // TOOLTIP PLUGIN DEFINITION\n // =========================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.tooltip')\n var options = typeof option == 'object' && option\n\n if (!data && /destroy|hide/.test(option)) return\n if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n var old = $.fn.tooltip\n\n $.fn.tooltip = Plugin\n $.fn.tooltip.Constructor = Tooltip\n\n\n // TOOLTIP NO CONFLICT\n // ===================\n\n $.fn.tooltip.noConflict = function () {\n $.fn.tooltip = old\n return this\n }\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: popover.js v3.3.7\n * http://getbootstrap.com/javascript/#popovers\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // POPOVER PUBLIC CLASS DEFINITION\n // ===============================\n\n var Popover = function (element, options) {\n this.init('popover', element, options)\n }\n\n if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')\n\n Popover.VERSION = '3.3.7'\n\n Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '

'\n })\n\n\n // NOTE: POPOVER EXTENDS tooltip.js\n // ================================\n\n Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)\n\n Popover.prototype.constructor = Popover\n\n Popover.prototype.getDefaults = function () {\n return Popover.DEFAULTS\n }\n\n Popover.prototype.setContent = function () {\n var $tip = this.tip()\n var title = this.getTitle()\n var content = this.getContent()\n\n $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)\n $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events\n this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'\n ](content)\n\n $tip.removeClass('fade top bottom left right in')\n\n // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do\n // this manually by checking the contents.\n if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()\n }\n\n Popover.prototype.hasContent = function () {\n return this.getTitle() || this.getContent()\n }\n\n Popover.prototype.getContent = function () {\n var $e = this.$element\n var o = this.options\n\n return $e.attr('data-content')\n || (typeof o.content == 'function' ?\n o.content.call($e[0]) :\n o.content)\n }\n\n Popover.prototype.arrow = function () {\n return (this.$arrow = this.$arrow || this.tip().find('.arrow'))\n }\n\n\n // POPOVER PLUGIN DEFINITION\n // =========================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.popover')\n var options = typeof option == 'object' && option\n\n if (!data && /destroy|hide/.test(option)) return\n if (!data) $this.data('bs.popover', (data = new Popover(this, options)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n var old = $.fn.popover\n\n $.fn.popover = Plugin\n $.fn.popover.Constructor = Popover\n\n\n // POPOVER NO CONFLICT\n // ===================\n\n $.fn.popover.noConflict = function () {\n $.fn.popover = old\n return this\n }\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: scrollspy.js v3.3.7\n * http://getbootstrap.com/javascript/#scrollspy\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // SCROLLSPY CLASS DEFINITION\n // ==========================\n\n function ScrollSpy(element, options) {\n this.$body = $(document.body)\n this.$scrollElement = $(element).is(document.body) ? $(window) : $(element)\n this.options = $.extend({}, ScrollSpy.DEFAULTS, options)\n this.selector = (this.options.target || '') + ' .nav li > a'\n this.offsets = []\n this.targets = []\n this.activeTarget = null\n this.scrollHeight = 0\n\n this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))\n this.refresh()\n this.process()\n }\n\n ScrollSpy.VERSION = '3.3.7'\n\n ScrollSpy.DEFAULTS = {\n offset: 10\n }\n\n ScrollSpy.prototype.getScrollHeight = function () {\n return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)\n }\n\n ScrollSpy.prototype.refresh = function () {\n var that = this\n var offsetMethod = 'offset'\n var offsetBase = 0\n\n this.offsets = []\n this.targets = []\n this.scrollHeight = this.getScrollHeight()\n\n if (!$.isWindow(this.$scrollElement[0])) {\n offsetMethod = 'position'\n offsetBase = this.$scrollElement.scrollTop()\n }\n\n this.$body\n .find(this.selector)\n .map(function () {\n var $el = $(this)\n var href = $el.data('target') || $el.attr('href')\n var $href = /^#./.test(href) && $(href)\n\n return ($href\n && $href.length\n && $href.is(':visible')\n && [[$href[offsetMethod]().top + offsetBase, href]]) || null\n })\n .sort(function (a, b) { return a[0] - b[0] })\n .each(function () {\n that.offsets.push(this[0])\n that.targets.push(this[1])\n })\n }\n\n ScrollSpy.prototype.process = function () {\n var scrollTop = this.$scrollElement.scrollTop() + this.options.offset\n var scrollHeight = this.getScrollHeight()\n var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height()\n var offsets = this.offsets\n var targets = this.targets\n var activeTarget = this.activeTarget\n var i\n\n if (this.scrollHeight != scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)\n }\n\n if (activeTarget && scrollTop < offsets[0]) {\n this.activeTarget = null\n return this.clear()\n }\n\n for (i = offsets.length; i--;) {\n activeTarget != targets[i]\n && scrollTop >= offsets[i]\n && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])\n && this.activate(targets[i])\n }\n }\n\n ScrollSpy.prototype.activate = function (target) {\n this.activeTarget = target\n\n this.clear()\n\n var selector = this.selector +\n '[data-target=\"' + target + '\"],' +\n this.selector + '[href=\"' + target + '\"]'\n\n var active = $(selector)\n .parents('li')\n .addClass('active')\n\n if (active.parent('.dropdown-menu').length) {\n active = active\n .closest('li.dropdown')\n .addClass('active')\n }\n\n active.trigger('activate.bs.scrollspy')\n }\n\n ScrollSpy.prototype.clear = function () {\n $(this.selector)\n .parentsUntil(this.options.target, '.active')\n .removeClass('active')\n }\n\n\n // SCROLLSPY PLUGIN DEFINITION\n // ===========================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.scrollspy')\n var options = typeof option == 'object' && option\n\n if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n var old = $.fn.scrollspy\n\n $.fn.scrollspy = Plugin\n $.fn.scrollspy.Constructor = ScrollSpy\n\n\n // SCROLLSPY NO CONFLICT\n // =====================\n\n $.fn.scrollspy.noConflict = function () {\n $.fn.scrollspy = old\n return this\n }\n\n\n // SCROLLSPY DATA-API\n // ==================\n\n $(window).on('load.bs.scrollspy.data-api', function () {\n $('[data-spy=\"scroll\"]').each(function () {\n var $spy = $(this)\n Plugin.call($spy, $spy.data())\n })\n })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: tab.js v3.3.7\n * http://getbootstrap.com/javascript/#tabs\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // TAB CLASS DEFINITION\n // ====================\n\n var Tab = function (element) {\n // jscs:disable requireDollarBeforejQueryAssignment\n this.element = $(element)\n // jscs:enable requireDollarBeforejQueryAssignment\n }\n\n Tab.VERSION = '3.3.7'\n\n Tab.TRANSITION_DURATION = 150\n\n Tab.prototype.show = function () {\n var $this = this.element\n var $ul = $this.closest('ul:not(.dropdown-menu)')\n var selector = $this.data('target')\n\n if (!selector) {\n selector = $this.attr('href')\n selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\n }\n\n if ($this.parent('li').hasClass('active')) return\n\n var $previous = $ul.find('.active:last a')\n var hideEvent = $.Event('hide.bs.tab', {\n relatedTarget: $this[0]\n })\n var showEvent = $.Event('show.bs.tab', {\n relatedTarget: $previous[0]\n })\n\n $previous.trigger(hideEvent)\n $this.trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return\n\n var $target = $(selector)\n\n this.activate($this.closest('li'), $ul)\n this.activate($target, $target.parent(), function () {\n $previous.trigger({\n type: 'hidden.bs.tab',\n relatedTarget: $this[0]\n })\n $this.trigger({\n type: 'shown.bs.tab',\n relatedTarget: $previous[0]\n })\n })\n }\n\n Tab.prototype.activate = function (element, container, callback) {\n var $active = container.find('> .active')\n var transition = callback\n && $.support.transition\n && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length)\n\n function next() {\n $active\n .removeClass('active')\n .find('> .dropdown-menu > .active')\n .removeClass('active')\n .end()\n .find('[data-toggle=\"tab\"]')\n .attr('aria-expanded', false)\n\n element\n .addClass('active')\n .find('[data-toggle=\"tab\"]')\n .attr('aria-expanded', true)\n\n if (transition) {\n element[0].offsetWidth // reflow for transition\n element.addClass('in')\n } else {\n element.removeClass('fade')\n }\n\n if (element.parent('.dropdown-menu').length) {\n element\n .closest('li.dropdown')\n .addClass('active')\n .end()\n .find('[data-toggle=\"tab\"]')\n .attr('aria-expanded', true)\n }\n\n callback && callback()\n }\n\n $active.length && transition ?\n $active\n .one('bsTransitionEnd', next)\n .emulateTransitionEnd(Tab.TRANSITION_DURATION) :\n next()\n\n $active.removeClass('in')\n }\n\n\n // TAB PLUGIN DEFINITION\n // =====================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.tab')\n\n if (!data) $this.data('bs.tab', (data = new Tab(this)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n var old = $.fn.tab\n\n $.fn.tab = Plugin\n $.fn.tab.Constructor = Tab\n\n\n // TAB NO CONFLICT\n // ===============\n\n $.fn.tab.noConflict = function () {\n $.fn.tab = old\n return this\n }\n\n\n // TAB DATA-API\n // ============\n\n var clickHandler = function (e) {\n e.preventDefault()\n Plugin.call($(this), 'show')\n }\n\n $(document)\n .on('click.bs.tab.data-api', '[data-toggle=\"tab\"]', clickHandler)\n .on('click.bs.tab.data-api', '[data-toggle=\"pill\"]', clickHandler)\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: affix.js v3.3.7\n * http://getbootstrap.com/javascript/#affix\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // AFFIX CLASS DEFINITION\n // ======================\n\n var Affix = function (element, options) {\n this.options = $.extend({}, Affix.DEFAULTS, options)\n\n this.$target = $(this.options.target)\n .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))\n .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))\n\n this.$element = $(element)\n this.affixed = null\n this.unpin = null\n this.pinnedOffset = null\n\n this.checkPosition()\n }\n\n Affix.VERSION = '3.3.7'\n\n Affix.RESET = 'affix affix-top affix-bottom'\n\n Affix.DEFAULTS = {\n offset: 0,\n target: window\n }\n\n Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) {\n var scrollTop = this.$target.scrollTop()\n var position = this.$element.offset()\n var targetHeight = this.$target.height()\n\n if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false\n\n if (this.affixed == 'bottom') {\n if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom'\n return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom'\n }\n\n var initializing = this.affixed == null\n var colliderTop = initializing ? scrollTop : position.top\n var colliderHeight = initializing ? targetHeight : height\n\n if (offsetTop != null && scrollTop <= offsetTop) return 'top'\n if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom'\n\n return false\n }\n\n Affix.prototype.getPinnedOffset = function () {\n if (this.pinnedOffset) return this.pinnedOffset\n this.$element.removeClass(Affix.RESET).addClass('affix')\n var scrollTop = this.$target.scrollTop()\n var position = this.$element.offset()\n return (this.pinnedOffset = position.top - scrollTop)\n }\n\n Affix.prototype.checkPositionWithEventLoop = function () {\n setTimeout($.proxy(this.checkPosition, this), 1)\n }\n\n Affix.prototype.checkPosition = function () {\n if (!this.$element.is(':visible')) return\n\n var height = this.$element.height()\n var offset = this.options.offset\n var offsetTop = offset.top\n var offsetBottom = offset.bottom\n var scrollHeight = Math.max($(document).height(), $(document.body).height())\n\n if (typeof offset != 'object') offsetBottom = offsetTop = offset\n if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)\n if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)\n\n var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom)\n\n if (this.affixed != affix) {\n if (this.unpin != null) this.$element.css('top', '')\n\n var affixType = 'affix' + (affix ? '-' + affix : '')\n var e = $.Event(affixType + '.bs.affix')\n\n this.$element.trigger(e)\n\n if (e.isDefaultPrevented()) return\n\n this.affixed = affix\n this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null\n\n this.$element\n .removeClass(Affix.RESET)\n .addClass(affixType)\n .trigger(affixType.replace('affix', 'affixed') + '.bs.affix')\n }\n\n if (affix == 'bottom') {\n this.$element.offset({\n top: scrollHeight - height - offsetBottom\n })\n }\n }\n\n\n // AFFIX PLUGIN DEFINITION\n // =======================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.affix')\n var options = typeof option == 'object' && option\n\n if (!data) $this.data('bs.affix', (data = new Affix(this, options)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n var old = $.fn.affix\n\n $.fn.affix = Plugin\n $.fn.affix.Constructor = Affix\n\n\n // AFFIX NO CONFLICT\n // =================\n\n $.fn.affix.noConflict = function () {\n $.fn.affix = old\n return this\n }\n\n\n // AFFIX DATA-API\n // ==============\n\n $(window).on('load', function () {\n $('[data-spy=\"affix\"]').each(function () {\n var $spy = $(this)\n var data = $spy.data()\n\n data.offset = data.offset || {}\n\n if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom\n if (data.offsetTop != null) data.offset.top = data.offsetTop\n\n Plugin.call($spy, data)\n })\n })\n\n}(jQuery);\n","/**\r\n * Swiper 3.3.1\r\n * Most modern mobile touch slider and framework with hardware accelerated transitions\r\n * \r\n * http://www.idangero.us/swiper/\r\n * \r\n * Copyright 2016, Vladimir Kharlampidi\r\n * The iDangero.us\r\n * http://www.idangero.us/\r\n * \r\n * Licensed under MIT\r\n * \r\n * Released on: February 7, 2016\r\n */\r\n(function () {\r\n 'use strict';\r\n var $;\r\n /*===========================\r\n Swiper\r\n ===========================*/\r\n var Swiper = function (container, params) {\r\n if (!(this instanceof Swiper)) return new Swiper(container, params);\r\n\r\n var defaults = {\r\n direction: 'horizontal',\r\n touchEventsTarget: 'container',\r\n initialSlide: 0,\r\n speed: 300,\r\n // autoplay\r\n autoplay: false,\r\n autoplayDisableOnInteraction: true,\r\n autoplayStopOnLast: false,\r\n // To support iOS's swipe-to-go-back gesture (when being used in-app, with UIWebView).\r\n iOSEdgeSwipeDetection: false,\r\n iOSEdgeSwipeThreshold: 20,\r\n // Free mode\r\n freeMode: false,\r\n freeModeMomentum: true,\r\n freeModeMomentumRatio: 1,\r\n freeModeMomentumBounce: true,\r\n freeModeMomentumBounceRatio: 1,\r\n freeModeSticky: false,\r\n freeModeMinimumVelocity: 0.02,\r\n // Autoheight\r\n autoHeight: false,\r\n // Set wrapper width\r\n setWrapperSize: false,\r\n // Virtual Translate\r\n virtualTranslate: false,\r\n // Effects\r\n effect: 'slide', // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\r\n coverflow: {\r\n rotate: 50,\r\n stretch: 0,\r\n depth: 100,\r\n modifier: 1,\r\n slideShadows : true\r\n },\r\n flip: {\r\n slideShadows : true,\r\n limitRotation: true\r\n },\r\n cube: {\r\n slideShadows: true,\r\n shadow: true,\r\n shadowOffset: 20,\r\n shadowScale: 0.94\r\n },\r\n fade: {\r\n crossFade: false\r\n },\r\n // Parallax\r\n parallax: false,\r\n // Scrollbar\r\n scrollbar: null,\r\n scrollbarHide: true,\r\n scrollbarDraggable: false,\r\n scrollbarSnapOnRelease: false,\r\n // Keyboard Mousewheel\r\n keyboardControl: false,\r\n mousewheelControl: false,\r\n mousewheelReleaseOnEdges: false,\r\n mousewheelInvert: false,\r\n mousewheelForceToAxis: false,\r\n mousewheelSensitivity: 1,\r\n // Hash Navigation\r\n hashnav: false,\r\n // Breakpoints\r\n breakpoints: undefined,\r\n // Slides grid\r\n spaceBetween: 0,\r\n slidesPerView: 1,\r\n slidesPerColumn: 1,\r\n slidesPerColumnFill: 'column',\r\n slidesPerGroup: 1,\r\n centeredSlides: false,\r\n slidesOffsetBefore: 0, // in px\r\n slidesOffsetAfter: 0, // in px\r\n // Round length\r\n roundLengths: false,\r\n // Touches\r\n touchRatio: 1,\r\n touchAngle: 45,\r\n simulateTouch: true,\r\n shortSwipes: true,\r\n longSwipes: true,\r\n longSwipesRatio: 0.5,\r\n longSwipesMs: 300,\r\n followFinger: true,\r\n onlyExternal: false,\r\n threshold: 0,\r\n touchMoveStopPropagation: true,\r\n // Unique Navigation Elements\r\n uniqueNavElements: true,\r\n // Pagination\r\n pagination: null,\r\n paginationElement: 'span',\r\n paginationClickable: false,\r\n paginationHide: false,\r\n paginationBulletRender: null,\r\n paginationProgressRender: null,\r\n paginationFractionRender: null,\r\n paginationCustomRender: null,\r\n paginationType: 'bullets', // 'bullets' or 'progress' or 'fraction' or 'custom'\r\n // Resistance\r\n resistance: true,\r\n resistanceRatio: 0.85,\r\n // Next/prev buttons\r\n nextButton: null,\r\n prevButton: null,\r\n // Progress\r\n watchSlidesProgress: false,\r\n watchSlidesVisibility: false,\r\n // Cursor\r\n grabCursor: false,\r\n // Clicks\r\n preventClicks: true,\r\n preventClicksPropagation: true,\r\n slideToClickedSlide: false,\r\n // Lazy Loading\r\n lazyLoading: false,\r\n lazyLoadingInPrevNext: false,\r\n lazyLoadingInPrevNextAmount: 1,\r\n lazyLoadingOnTransitionStart: false,\r\n // Images\r\n preloadImages: true,\r\n updateOnImagesReady: true,\r\n // loop\r\n loop: false,\r\n loopAdditionalSlides: 0,\r\n loopedSlides: null,\r\n // Control\r\n control: undefined,\r\n controlInverse: false,\r\n controlBy: 'slide', //or 'container'\r\n // Swiping/no swiping\r\n allowSwipeToPrev: true,\r\n allowSwipeToNext: true,\r\n swipeHandler: null, //'.swipe-handler',\r\n noSwiping: true,\r\n noSwipingClass: 'swiper-no-swiping',\r\n // NS\r\n slideClass: 'swiper-slide',\r\n slideActiveClass: 'swiper-slide-active',\r\n slideVisibleClass: 'swiper-slide-visible',\r\n slideDuplicateClass: 'swiper-slide-duplicate',\r\n slideNextClass: 'swiper-slide-next',\r\n slidePrevClass: 'swiper-slide-prev',\r\n wrapperClass: 'swiper-wrapper',\r\n bulletClass: 'swiper-pagination-bullet',\r\n bulletActiveClass: 'swiper-pagination-bullet-active',\r\n buttonDisabledClass: 'swiper-button-disabled',\r\n paginationCurrentClass: 'swiper-pagination-current',\r\n paginationTotalClass: 'swiper-pagination-total',\r\n paginationHiddenClass: 'swiper-pagination-hidden',\r\n paginationProgressbarClass: 'swiper-pagination-progressbar',\r\n // Observer\r\n observer: false,\r\n observeParents: false,\r\n // Accessibility\r\n a11y: false,\r\n prevSlideMessage: 'Previous slide',\r\n nextSlideMessage: 'Next slide',\r\n firstSlideMessage: 'This is the first slide',\r\n lastSlideMessage: 'This is the last slide',\r\n paginationBulletMessage: 'Go to slide {{index}}',\r\n // Callbacks\r\n runCallbacksOnInit: true\r\n /*\r\n Callbacks:\r\n onInit: function (swiper)\r\n onDestroy: function (swiper)\r\n onClick: function (swiper, e)\r\n onTap: function (swiper, e)\r\n onDoubleTap: function (swiper, e)\r\n onSliderMove: function (swiper, e)\r\n onSlideChangeStart: function (swiper)\r\n onSlideChangeEnd: function (swiper)\r\n onTransitionStart: function (swiper)\r\n onTransitionEnd: function (swiper)\r\n onImagesReady: function (swiper)\r\n onProgress: function (swiper, progress)\r\n onTouchStart: function (swiper, e)\r\n onTouchMove: function (swiper, e)\r\n onTouchMoveOpposite: function (swiper, e)\r\n onTouchEnd: function (swiper, e)\r\n onReachBeginning: function (swiper)\r\n onReachEnd: function (swiper)\r\n onSetTransition: function (swiper, duration)\r\n onSetTranslate: function (swiper, translate)\r\n onAutoplayStart: function (swiper)\r\n onAutoplayStop: function (swiper),\r\n onLazyImageLoad: function (swiper, slide, image)\r\n onLazyImageReady: function (swiper, slide, image)\r\n */\r\n \r\n };\r\n var initialVirtualTranslate = params && params.virtualTranslate;\r\n \r\n params = params || {};\r\n var originalParams = {};\r\n for (var param in params) {\r\n if (typeof params[param] === 'object' && params[param] !== null && !(params[param].nodeType || params[param] === window || params[param] === document || (typeof Dom7 !== 'undefined' && params[param] instanceof Dom7) || (typeof jQuery !== 'undefined' && params[param] instanceof jQuery))) {\r\n originalParams[param] = {};\r\n for (var deepParam in params[param]) {\r\n originalParams[param][deepParam] = params[param][deepParam];\r\n }\r\n }\r\n else {\r\n originalParams[param] = params[param];\r\n }\r\n }\r\n for (var def in defaults) {\r\n if (typeof params[def] === 'undefined') {\r\n params[def] = defaults[def];\r\n }\r\n else if (typeof params[def] === 'object') {\r\n for (var deepDef in defaults[def]) {\r\n if (typeof params[def][deepDef] === 'undefined') {\r\n params[def][deepDef] = defaults[def][deepDef];\r\n }\r\n }\r\n }\r\n }\r\n \r\n // Swiper\r\n var s = this;\r\n \r\n // Params\r\n s.params = params;\r\n s.originalParams = originalParams;\r\n \r\n // Classname\r\n s.classNames = [];\r\n /*=========================\r\n Dom Library and plugins\r\n ===========================*/\r\n if (typeof $ !== 'undefined' && typeof Dom7 !== 'undefined'){\r\n $ = Dom7;\r\n }\r\n if (typeof $ === 'undefined') {\r\n if (typeof Dom7 === 'undefined') {\r\n $ = window.Dom7 || window.Zepto || window.jQuery;\r\n }\r\n else {\r\n $ = Dom7;\r\n }\r\n if (!$) return;\r\n }\r\n // Export it to Swiper instance\r\n s.$ = $;\r\n \r\n /*=========================\r\n Breakpoints\r\n ===========================*/\r\n s.currentBreakpoint = undefined;\r\n s.getActiveBreakpoint = function () {\r\n //Get breakpoint for window width\r\n if (!s.params.breakpoints) return false;\r\n var breakpoint = false;\r\n var points = [], point;\r\n for ( point in s.params.breakpoints ) {\r\n if (s.params.breakpoints.hasOwnProperty(point)) {\r\n points.push(point);\r\n }\r\n }\r\n points.sort(function (a, b) {\r\n return parseInt(a, 10) > parseInt(b, 10);\r\n });\r\n for (var i = 0; i < points.length; i++) {\r\n point = points[i];\r\n if (point >= window.innerWidth && !breakpoint) {\r\n breakpoint = point;\r\n }\r\n }\r\n return breakpoint || 'max';\r\n };\r\n s.setBreakpoint = function () {\r\n //Set breakpoint for window width and update parameters\r\n var breakpoint = s.getActiveBreakpoint();\r\n if (breakpoint && s.currentBreakpoint !== breakpoint) {\r\n var breakPointsParams = breakpoint in s.params.breakpoints ? s.params.breakpoints[breakpoint] : s.originalParams;\r\n var needsReLoop = s.params.loop && (breakPointsParams.slidesPerView !== s.params.slidesPerView);\r\n for ( var param in breakPointsParams ) {\r\n s.params[param] = breakPointsParams[param];\r\n }\r\n s.currentBreakpoint = breakpoint;\r\n if(needsReLoop && s.destroyLoop) {\r\n s.reLoop(true);\r\n }\r\n }\r\n };\r\n // Set breakpoint on load\r\n if (s.params.breakpoints) {\r\n s.setBreakpoint();\r\n }\r\n \r\n /*=========================\r\n Preparation - Define Container, Wrapper and Pagination\r\n ===========================*/\r\n s.container = $(container);\r\n if (s.container.length === 0) return;\r\n if (s.container.length > 1) {\r\n var swipers = [];\r\n s.container.each(function () {\r\n var container = this;\r\n swipers.push(new Swiper(this, params));\r\n });\r\n return swipers;\r\n }\r\n \r\n // Save instance in container HTML Element and in data\r\n s.container[0].swiper = s;\r\n s.container.data('swiper', s);\r\n \r\n s.classNames.push('swiper-container-' + s.params.direction);\r\n \r\n if (s.params.freeMode) {\r\n s.classNames.push('swiper-container-free-mode');\r\n }\r\n if (!s.support.flexbox) {\r\n s.classNames.push('swiper-container-no-flexbox');\r\n s.params.slidesPerColumn = 1;\r\n }\r\n if (s.params.autoHeight) {\r\n s.classNames.push('swiper-container-autoheight');\r\n }\r\n // Enable slides progress when required\r\n if (s.params.parallax || s.params.watchSlidesVisibility) {\r\n s.params.watchSlidesProgress = true;\r\n }\r\n // Coverflow / 3D\r\n if (['cube', 'coverflow', 'flip'].indexOf(s.params.effect) >= 0) {\r\n if (s.support.transforms3d) {\r\n s.params.watchSlidesProgress = true;\r\n s.classNames.push('swiper-container-3d');\r\n }\r\n else {\r\n s.params.effect = 'slide';\r\n }\r\n }\r\n if (s.params.effect !== 'slide') {\r\n s.classNames.push('swiper-container-' + s.params.effect);\r\n }\r\n if (s.params.effect === 'cube') {\r\n s.params.resistanceRatio = 0;\r\n s.params.slidesPerView = 1;\r\n s.params.slidesPerColumn = 1;\r\n s.params.slidesPerGroup = 1;\r\n s.params.centeredSlides = false;\r\n s.params.spaceBetween = 0;\r\n s.params.virtualTranslate = true;\r\n s.params.setWrapperSize = false;\r\n }\r\n if (s.params.effect === 'fade' || s.params.effect === 'flip') {\r\n s.params.slidesPerView = 1;\r\n s.params.slidesPerColumn = 1;\r\n s.params.slidesPerGroup = 1;\r\n s.params.watchSlidesProgress = true;\r\n s.params.spaceBetween = 0;\r\n s.params.setWrapperSize = false;\r\n if (typeof initialVirtualTranslate === 'undefined') {\r\n s.params.virtualTranslate = true;\r\n }\r\n }\r\n \r\n // Grab Cursor\r\n if (s.params.grabCursor && s.support.touch) {\r\n s.params.grabCursor = false;\r\n }\r\n \r\n // Wrapper\r\n s.wrapper = s.container.children('.' + s.params.wrapperClass);\r\n \r\n // Pagination\r\n if (s.params.pagination) {\r\n s.paginationContainer = $(s.params.pagination);\r\n if (s.params.uniqueNavElements && typeof s.params.pagination === 'string' && s.paginationContainer.length > 1 && s.container.find(s.params.pagination).length === 1) {\r\n s.paginationContainer = s.container.find(s.params.pagination);\r\n }\r\n \r\n if (s.params.paginationType === 'bullets' && s.params.paginationClickable) {\r\n s.paginationContainer.addClass('swiper-pagination-clickable');\r\n }\r\n else {\r\n s.params.paginationClickable = false;\r\n }\r\n s.paginationContainer.addClass('swiper-pagination-' + s.params.paginationType);\r\n }\r\n // Next/Prev Buttons\r\n if (s.params.nextButton || s.params.prevButton) {\r\n if (s.params.nextButton) {\r\n s.nextButton = $(s.params.nextButton);\r\n if (s.params.uniqueNavElements && typeof s.params.nextButton === 'string' && s.nextButton.length > 1 && s.container.find(s.params.nextButton).length === 1) {\r\n s.nextButton = s.container.find(s.params.nextButton);\r\n }\r\n }\r\n if (s.params.prevButton) {\r\n s.prevButton = $(s.params.prevButton);\r\n if (s.params.uniqueNavElements && typeof s.params.prevButton === 'string' && s.prevButton.length > 1 && s.container.find(s.params.prevButton).length === 1) {\r\n s.prevButton = s.container.find(s.params.prevButton);\r\n }\r\n }\r\n }\r\n \r\n // Is Horizontal\r\n s.isHorizontal = function () {\r\n return s.params.direction === 'horizontal';\r\n };\r\n // s.isH = isH;\r\n \r\n // RTL\r\n s.rtl = s.isHorizontal() && (s.container[0].dir.toLowerCase() === 'rtl' || s.container.css('direction') === 'rtl');\r\n if (s.rtl) {\r\n s.classNames.push('swiper-container-rtl');\r\n }\r\n \r\n // Wrong RTL support\r\n if (s.rtl) {\r\n s.wrongRTL = s.wrapper.css('display') === '-webkit-box';\r\n }\r\n \r\n // Columns\r\n if (s.params.slidesPerColumn > 1) {\r\n s.classNames.push('swiper-container-multirow');\r\n }\r\n \r\n // Check for Android\r\n if (s.device.android) {\r\n s.classNames.push('swiper-container-android');\r\n }\r\n \r\n // Add classes\r\n s.container.addClass(s.classNames.join(' '));\r\n \r\n // Translate\r\n s.translate = 0;\r\n \r\n // Progress\r\n s.progress = 0;\r\n \r\n // Velocity\r\n s.velocity = 0;\r\n \r\n /*=========================\r\n Locks, unlocks\r\n ===========================*/\r\n s.lockSwipeToNext = function () {\r\n s.params.allowSwipeToNext = false;\r\n };\r\n s.lockSwipeToPrev = function () {\r\n s.params.allowSwipeToPrev = false;\r\n };\r\n s.lockSwipes = function () {\r\n s.params.allowSwipeToNext = s.params.allowSwipeToPrev = false;\r\n };\r\n s.unlockSwipeToNext = function () {\r\n s.params.allowSwipeToNext = true;\r\n };\r\n s.unlockSwipeToPrev = function () {\r\n s.params.allowSwipeToPrev = true;\r\n };\r\n s.unlockSwipes = function () {\r\n s.params.allowSwipeToNext = s.params.allowSwipeToPrev = true;\r\n };\r\n \r\n /*=========================\r\n Round helper\r\n ===========================*/\r\n function round(a) {\r\n return Math.floor(a);\r\n }\r\n /*=========================\r\n Set grab cursor\r\n ===========================*/\r\n if (s.params.grabCursor) {\r\n s.container[0].style.cursor = 'move';\r\n s.container[0].style.cursor = '-webkit-grab';\r\n s.container[0].style.cursor = '-moz-grab';\r\n s.container[0].style.cursor = 'grab';\r\n }\r\n /*=========================\r\n Update on Images Ready\r\n ===========================*/\r\n s.imagesToLoad = [];\r\n s.imagesLoaded = 0;\r\n \r\n s.loadImage = function (imgElement, src, srcset, checkForComplete, callback) {\r\n var image;\r\n function onReady () {\r\n if (callback) callback();\r\n }\r\n if (!imgElement.complete || !checkForComplete) {\r\n if (src) {\r\n image = new window.Image();\r\n image.onload = onReady;\r\n image.onerror = onReady;\r\n if (srcset) {\r\n image.srcset = srcset;\r\n }\r\n if (src) {\r\n image.src = src;\r\n }\r\n } else {\r\n onReady();\r\n }\r\n \r\n } else {//image already loaded...\r\n onReady();\r\n }\r\n };\r\n s.preloadImages = function () {\r\n s.imagesToLoad = s.container.find('img');\r\n function _onReady() {\r\n if (typeof s === 'undefined' || s === null) return;\r\n if (s.imagesLoaded !== undefined) s.imagesLoaded++;\r\n if (s.imagesLoaded === s.imagesToLoad.length) {\r\n if (s.params.updateOnImagesReady) s.update();\r\n s.emit('onImagesReady', s);\r\n }\r\n }\r\n for (var i = 0; i < s.imagesToLoad.length; i++) {\r\n s.loadImage(s.imagesToLoad[i], (s.imagesToLoad[i].currentSrc || s.imagesToLoad[i].getAttribute('src')), (s.imagesToLoad[i].srcset || s.imagesToLoad[i].getAttribute('srcset')), true, _onReady);\r\n }\r\n };\r\n \r\n /*=========================\r\n Autoplay\r\n ===========================*/\r\n s.autoplayTimeoutId = undefined;\r\n s.autoplaying = false;\r\n s.autoplayPaused = false;\r\n function autoplay() {\r\n s.autoplayTimeoutId = setTimeout(function () {\r\n if (s.params.loop) {\r\n s.fixLoop();\r\n s._slideNext();\r\n s.emit('onAutoplay', s);\r\n }\r\n else {\r\n if (!s.isEnd) {\r\n s._slideNext();\r\n s.emit('onAutoplay', s);\r\n }\r\n else {\r\n if (!params.autoplayStopOnLast) {\r\n s._slideTo(0);\r\n s.emit('onAutoplay', s);\r\n }\r\n else {\r\n s.stopAutoplay();\r\n }\r\n }\r\n }\r\n }, s.params.autoplay);\r\n }\r\n s.startAutoplay = function () {\r\n if (typeof s.autoplayTimeoutId !== 'undefined') return false;\r\n if (!s.params.autoplay) return false;\r\n if (s.autoplaying) return false;\r\n s.autoplaying = true;\r\n s.emit('onAutoplayStart', s);\r\n autoplay();\r\n };\r\n s.stopAutoplay = function (internal) {\r\n if (!s.autoplayTimeoutId) return;\r\n if (s.autoplayTimeoutId) clearTimeout(s.autoplayTimeoutId);\r\n s.autoplaying = false;\r\n s.autoplayTimeoutId = undefined;\r\n s.emit('onAutoplayStop', s);\r\n };\r\n s.pauseAutoplay = function (speed) {\r\n if (s.autoplayPaused) return;\r\n if (s.autoplayTimeoutId) clearTimeout(s.autoplayTimeoutId);\r\n s.autoplayPaused = true;\r\n if (speed === 0) {\r\n s.autoplayPaused = false;\r\n autoplay();\r\n }\r\n else {\r\n s.wrapper.transitionEnd(function () {\r\n if (!s) return;\r\n s.autoplayPaused = false;\r\n if (!s.autoplaying) {\r\n s.stopAutoplay();\r\n }\r\n else {\r\n autoplay();\r\n }\r\n });\r\n }\r\n };\r\n /*=========================\r\n Min/Max Translate\r\n ===========================*/\r\n s.minTranslate = function () {\r\n return (-s.snapGrid[0]);\r\n };\r\n s.maxTranslate = function () {\r\n return (-s.snapGrid[s.snapGrid.length - 1]);\r\n };\r\n /*=========================\r\n Slider/slides sizes\r\n ===========================*/\r\n s.updateAutoHeight = function () {\r\n // Update Height\r\n var slide = s.slides.eq(s.activeIndex)[0];\r\n if (typeof slide !== 'undefined') {\r\n var newHeight = slide.offsetHeight;\r\n if (newHeight) s.wrapper.css('height', newHeight + 'px');\r\n }\r\n };\r\n s.updateContainerSize = function () {\r\n var width, height;\r\n if (typeof s.params.width !== 'undefined') {\r\n width = s.params.width;\r\n }\r\n else {\r\n width = s.container[0].clientWidth;\r\n }\r\n if (typeof s.params.height !== 'undefined') {\r\n height = s.params.height;\r\n }\r\n else {\r\n height = s.container[0].clientHeight;\r\n }\r\n if (width === 0 && s.isHorizontal() || height === 0 && !s.isHorizontal()) {\r\n return;\r\n }\r\n \r\n //Subtract paddings\r\n width = width - parseInt(s.container.css('padding-left'), 10) - parseInt(s.container.css('padding-right'), 10);\r\n height = height - parseInt(s.container.css('padding-top'), 10) - parseInt(s.container.css('padding-bottom'), 10);\r\n \r\n // Store values\r\n s.width = width;\r\n s.height = height;\r\n s.size = s.isHorizontal() ? s.width : s.height;\r\n };\r\n \r\n s.updateSlidesSize = function () {\r\n s.slides = s.wrapper.children('.' + s.params.slideClass);\r\n s.snapGrid = [];\r\n s.slidesGrid = [];\r\n s.slidesSizesGrid = [];\r\n \r\n var spaceBetween = s.params.spaceBetween,\r\n slidePosition = -s.params.slidesOffsetBefore,\r\n i,\r\n prevSlideSize = 0,\r\n index = 0;\r\n if (typeof s.size === 'undefined') return;\r\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\r\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * s.size;\r\n }\r\n \r\n s.virtualSize = -spaceBetween;\r\n // reset margins\r\n if (s.rtl) s.slides.css({marginLeft: '', marginTop: ''});\r\n else s.slides.css({marginRight: '', marginBottom: ''});\r\n \r\n var slidesNumberEvenToRows;\r\n if (s.params.slidesPerColumn > 1) {\r\n if (Math.floor(s.slides.length / s.params.slidesPerColumn) === s.slides.length / s.params.slidesPerColumn) {\r\n slidesNumberEvenToRows = s.slides.length;\r\n }\r\n else {\r\n slidesNumberEvenToRows = Math.ceil(s.slides.length / s.params.slidesPerColumn) * s.params.slidesPerColumn;\r\n }\r\n if (s.params.slidesPerView !== 'auto' && s.params.slidesPerColumnFill === 'row') {\r\n slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, s.params.slidesPerView * s.params.slidesPerColumn);\r\n }\r\n }\r\n \r\n // Calc slides\r\n var slideSize;\r\n var slidesPerColumn = s.params.slidesPerColumn;\r\n var slidesPerRow = slidesNumberEvenToRows / slidesPerColumn;\r\n var numFullColumns = slidesPerRow - (s.params.slidesPerColumn * slidesPerRow - s.slides.length);\r\n for (i = 0; i < s.slides.length; i++) {\r\n slideSize = 0;\r\n var slide = s.slides.eq(i);\r\n if (s.params.slidesPerColumn > 1) {\r\n // Set slides order\r\n var newSlideOrderIndex;\r\n var column, row;\r\n if (s.params.slidesPerColumnFill === 'column') {\r\n column = Math.floor(i / slidesPerColumn);\r\n row = i - column * slidesPerColumn;\r\n if (column > numFullColumns || (column === numFullColumns && row === slidesPerColumn-1)) {\r\n if (++row >= slidesPerColumn) {\r\n row = 0;\r\n column++;\r\n }\r\n }\r\n newSlideOrderIndex = column + row * slidesNumberEvenToRows / slidesPerColumn;\r\n slide\r\n .css({\r\n '-webkit-box-ordinal-group': newSlideOrderIndex,\r\n '-moz-box-ordinal-group': newSlideOrderIndex,\r\n '-ms-flex-order': newSlideOrderIndex,\r\n '-webkit-order': newSlideOrderIndex,\r\n 'order': newSlideOrderIndex\r\n });\r\n }\r\n else {\r\n row = Math.floor(i / slidesPerRow);\r\n column = i - row * slidesPerRow;\r\n }\r\n slide\r\n .css({\r\n 'margin-top': (row !== 0 && s.params.spaceBetween) && (s.params.spaceBetween + 'px')\r\n })\r\n .attr('data-swiper-column', column)\r\n .attr('data-swiper-row', row);\r\n \r\n }\r\n if (slide.css('display') === 'none') continue;\r\n if (s.params.slidesPerView === 'auto') {\r\n slideSize = s.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true);\r\n if (s.params.roundLengths) slideSize = round(slideSize);\r\n }\r\n else {\r\n slideSize = (s.size - (s.params.slidesPerView - 1) * spaceBetween) / s.params.slidesPerView;\r\n if (s.params.roundLengths) slideSize = round(slideSize);\r\n \r\n if (s.isHorizontal()) {\r\n s.slides[i].style.width = slideSize + 'px';\r\n }\r\n else {\r\n s.slides[i].style.height = slideSize + 'px';\r\n }\r\n }\r\n s.slides[i].swiperSlideSize = slideSize;\r\n s.slidesSizesGrid.push(slideSize);\r\n \r\n \r\n if (s.params.centeredSlides) {\r\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\r\n if (i === 0) slidePosition = slidePosition - s.size / 2 - spaceBetween;\r\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\r\n if ((index) % s.params.slidesPerGroup === 0) s.snapGrid.push(slidePosition);\r\n s.slidesGrid.push(slidePosition);\r\n }\r\n else {\r\n if ((index) % s.params.slidesPerGroup === 0) s.snapGrid.push(slidePosition);\r\n s.slidesGrid.push(slidePosition);\r\n slidePosition = slidePosition + slideSize + spaceBetween;\r\n }\r\n \r\n s.virtualSize += slideSize + spaceBetween;\r\n \r\n prevSlideSize = slideSize;\r\n \r\n index ++;\r\n }\r\n s.virtualSize = Math.max(s.virtualSize, s.size) + s.params.slidesOffsetAfter;\r\n var newSlidesGrid;\r\n \r\n if (\r\n s.rtl && s.wrongRTL && (s.params.effect === 'slide' || s.params.effect === 'coverflow')) {\r\n s.wrapper.css({width: s.virtualSize + s.params.spaceBetween + 'px'});\r\n }\r\n if (!s.support.flexbox || s.params.setWrapperSize) {\r\n if (s.isHorizontal()) s.wrapper.css({width: s.virtualSize + s.params.spaceBetween + 'px'});\r\n else s.wrapper.css({height: s.virtualSize + s.params.spaceBetween + 'px'});\r\n }\r\n \r\n if (s.params.slidesPerColumn > 1) {\r\n s.virtualSize = (slideSize + s.params.spaceBetween) * slidesNumberEvenToRows;\r\n s.virtualSize = Math.ceil(s.virtualSize / s.params.slidesPerColumn) - s.params.spaceBetween;\r\n s.wrapper.css({width: s.virtualSize + s.params.spaceBetween + 'px'});\r\n if (s.params.centeredSlides) {\r\n newSlidesGrid = [];\r\n for (i = 0; i < s.snapGrid.length; i++) {\r\n if (s.snapGrid[i] < s.virtualSize + s.snapGrid[0]) newSlidesGrid.push(s.snapGrid[i]);\r\n }\r\n s.snapGrid = newSlidesGrid;\r\n }\r\n }\r\n \r\n // Remove last grid elements depending on width\r\n if (!s.params.centeredSlides) {\r\n newSlidesGrid = [];\r\n for (i = 0; i < s.snapGrid.length; i++) {\r\n if (s.snapGrid[i] <= s.virtualSize - s.size) {\r\n newSlidesGrid.push(s.snapGrid[i]);\r\n }\r\n }\r\n s.snapGrid = newSlidesGrid;\r\n if (Math.floor(s.virtualSize - s.size) - Math.floor(s.snapGrid[s.snapGrid.length - 1]) > 1) {\r\n s.snapGrid.push(s.virtualSize - s.size);\r\n }\r\n }\r\n if (s.snapGrid.length === 0) s.snapGrid = [0];\r\n \r\n if (s.params.spaceBetween !== 0) {\r\n if (s.isHorizontal()) {\r\n if (s.rtl) s.slides.css({marginLeft: spaceBetween + 'px'});\r\n else s.slides.css({marginRight: spaceBetween + 'px'});\r\n }\r\n else s.slides.css({marginBottom: spaceBetween + 'px'});\r\n }\r\n if (s.params.watchSlidesProgress) {\r\n s.updateSlidesOffset();\r\n }\r\n };\r\n s.updateSlidesOffset = function () {\r\n for (var i = 0; i < s.slides.length; i++) {\r\n s.slides[i].swiperSlideOffset = s.isHorizontal() ? s.slides[i].offsetLeft : s.slides[i].offsetTop;\r\n }\r\n };\r\n \r\n /*=========================\r\n Slider/slides progress\r\n ===========================*/\r\n s.updateSlidesProgress = function (translate) {\r\n if (typeof translate === 'undefined') {\r\n translate = s.translate || 0;\r\n }\r\n if (s.slides.length === 0) return;\r\n if (typeof s.slides[0].swiperSlideOffset === 'undefined') s.updateSlidesOffset();\r\n \r\n var offsetCenter = -translate;\r\n if (s.rtl) offsetCenter = translate;\r\n \r\n // Visible Slides\r\n s.slides.removeClass(s.params.slideVisibleClass);\r\n for (var i = 0; i < s.slides.length; i++) {\r\n var slide = s.slides[i];\r\n var slideProgress = (offsetCenter - slide.swiperSlideOffset) / (slide.swiperSlideSize + s.params.spaceBetween);\r\n if (s.params.watchSlidesVisibility) {\r\n var slideBefore = -(offsetCenter - slide.swiperSlideOffset);\r\n var slideAfter = slideBefore + s.slidesSizesGrid[i];\r\n var isVisible =\r\n (slideBefore >= 0 && slideBefore < s.size) ||\r\n (slideAfter > 0 && slideAfter <= s.size) ||\r\n (slideBefore <= 0 && slideAfter >= s.size);\r\n if (isVisible) {\r\n s.slides.eq(i).addClass(s.params.slideVisibleClass);\r\n }\r\n }\r\n slide.progress = s.rtl ? -slideProgress : slideProgress;\r\n }\r\n };\r\n s.updateProgress = function (translate) {\r\n if (typeof translate === 'undefined') {\r\n translate = s.translate || 0;\r\n }\r\n var translatesDiff = s.maxTranslate() - s.minTranslate();\r\n var wasBeginning = s.isBeginning;\r\n var wasEnd = s.isEnd;\r\n if (translatesDiff === 0) {\r\n s.progress = 0;\r\n s.isBeginning = s.isEnd = true;\r\n }\r\n else {\r\n s.progress = (translate - s.minTranslate()) / (translatesDiff);\r\n s.isBeginning = s.progress <= 0;\r\n s.isEnd = s.progress >= 1;\r\n }\r\n if (s.isBeginning && !wasBeginning) s.emit('onReachBeginning', s);\r\n if (s.isEnd && !wasEnd) s.emit('onReachEnd', s);\r\n \r\n if (s.params.watchSlidesProgress) s.updateSlidesProgress(translate);\r\n s.emit('onProgress', s, s.progress);\r\n };\r\n s.updateActiveIndex = function () {\r\n var translate = s.rtl ? s.translate : -s.translate;\r\n var newActiveIndex, i, snapIndex;\r\n for (i = 0; i < s.slidesGrid.length; i ++) {\r\n if (typeof s.slidesGrid[i + 1] !== 'undefined') {\r\n if (translate >= s.slidesGrid[i] && translate < s.slidesGrid[i + 1] - (s.slidesGrid[i + 1] - s.slidesGrid[i]) / 2) {\r\n newActiveIndex = i;\r\n }\r\n else if (translate >= s.slidesGrid[i] && translate < s.slidesGrid[i + 1]) {\r\n newActiveIndex = i + 1;\r\n }\r\n }\r\n else {\r\n if (translate >= s.slidesGrid[i]) {\r\n newActiveIndex = i;\r\n }\r\n }\r\n }\r\n // Normalize slideIndex\r\n if (newActiveIndex < 0 || typeof newActiveIndex === 'undefined') newActiveIndex = 0;\r\n // for (i = 0; i < s.slidesGrid.length; i++) {\r\n // if (- translate >= s.slidesGrid[i]) {\r\n // newActiveIndex = i;\r\n // }\r\n // }\r\n snapIndex = Math.floor(newActiveIndex / s.params.slidesPerGroup);\r\n if (snapIndex >= s.snapGrid.length) snapIndex = s.snapGrid.length - 1;\r\n \r\n if (newActiveIndex === s.activeIndex) {\r\n return;\r\n }\r\n s.snapIndex = snapIndex;\r\n s.previousIndex = s.activeIndex;\r\n s.activeIndex = newActiveIndex;\r\n s.updateClasses();\r\n };\r\n \r\n /*=========================\r\n Classes\r\n ===========================*/\r\n s.updateClasses = function () {\r\n s.slides.removeClass(s.params.slideActiveClass + ' ' + s.params.slideNextClass + ' ' + s.params.slidePrevClass);\r\n var activeSlide = s.slides.eq(s.activeIndex);\r\n // Active classes\r\n activeSlide.addClass(s.params.slideActiveClass);\r\n // Next Slide\r\n var nextSlide = activeSlide.next('.' + s.params.slideClass).addClass(s.params.slideNextClass);\r\n if (s.params.loop && nextSlide.length === 0) {\r\n s.slides.eq(0).addClass(s.params.slideNextClass);\r\n }\r\n // Prev Slide\r\n var prevSlide = activeSlide.prev('.' + s.params.slideClass).addClass(s.params.slidePrevClass);\r\n if (s.params.loop && prevSlide.length === 0) {\r\n s.slides.eq(-1).addClass(s.params.slidePrevClass);\r\n }\r\n \r\n // Pagination\r\n if (s.paginationContainer && s.paginationContainer.length > 0) {\r\n // Current/Total\r\n var current,\r\n total = s.params.loop ? Math.ceil((s.slides.length - s.loopedSlides * 2) / s.params.slidesPerGroup) : s.snapGrid.length;\r\n if (s.params.loop) {\r\n current = Math.ceil((s.activeIndex - s.loopedSlides)/s.params.slidesPerGroup);\r\n if (current > s.slides.length - 1 - s.loopedSlides * 2) {\r\n current = current - (s.slides.length - s.loopedSlides * 2);\r\n }\r\n if (current > total - 1) current = current - total;\r\n if (current < 0 && s.params.paginationType !== 'bullets') current = total + current;\r\n }\r\n else {\r\n if (typeof s.snapIndex !== 'undefined') {\r\n current = s.snapIndex;\r\n }\r\n else {\r\n current = s.activeIndex || 0;\r\n }\r\n }\r\n // Types\r\n if (s.params.paginationType === 'bullets' && s.bullets && s.bullets.length > 0) {\r\n s.bullets.removeClass(s.params.bulletActiveClass);\r\n if (s.paginationContainer.length > 1) {\r\n s.bullets.each(function () {\r\n if ($(this).index() === current) $(this).addClass(s.params.bulletActiveClass);\r\n });\r\n }\r\n else {\r\n s.bullets.eq(current).addClass(s.params.bulletActiveClass);\r\n }\r\n }\r\n if (s.params.paginationType === 'fraction') {\r\n s.paginationContainer.find('.' + s.params.paginationCurrentClass).text(current + 1);\r\n s.paginationContainer.find('.' + s.params.paginationTotalClass).text(total);\r\n }\r\n if (s.params.paginationType === 'progress') {\r\n var scale = (current + 1) / total,\r\n scaleX = scale,\r\n scaleY = 1;\r\n if (!s.isHorizontal()) {\r\n scaleY = scale;\r\n scaleX = 1;\r\n }\r\n s.paginationContainer.find('.' + s.params.paginationProgressbarClass).transform('translate3d(0,0,0) scaleX(' + scaleX + ') scaleY(' + scaleY + ')').transition(s.params.speed);\r\n }\r\n if (s.params.paginationType === 'custom' && s.params.paginationCustomRender) {\r\n s.paginationContainer.html(s.params.paginationCustomRender(s, current + 1, total));\r\n s.emit('onPaginationRendered', s, s.paginationContainer[0]);\r\n }\r\n }\r\n \r\n // Next/active buttons\r\n if (!s.params.loop) {\r\n if (s.params.prevButton && s.prevButton && s.prevButton.length > 0) {\r\n if (s.isBeginning) {\r\n s.prevButton.addClass(s.params.buttonDisabledClass);\r\n if (s.params.a11y && s.a11y) s.a11y.disable(s.prevButton);\r\n }\r\n else {\r\n s.prevButton.removeClass(s.params.buttonDisabledClass);\r\n if (s.params.a11y && s.a11y) s.a11y.enable(s.prevButton);\r\n }\r\n }\r\n if (s.params.nextButton && s.nextButton && s.nextButton.length > 0) {\r\n if (s.isEnd) {\r\n s.nextButton.addClass(s.params.buttonDisabledClass);\r\n if (s.params.a11y && s.a11y) s.a11y.disable(s.nextButton);\r\n }\r\n else {\r\n s.nextButton.removeClass(s.params.buttonDisabledClass);\r\n if (s.params.a11y && s.a11y) s.a11y.enable(s.nextButton);\r\n }\r\n }\r\n }\r\n };\r\n \r\n /*=========================\r\n Pagination\r\n ===========================*/\r\n s.updatePagination = function () {\r\n if (!s.params.pagination) return;\r\n if (s.paginationContainer && s.paginationContainer.length > 0) {\r\n var paginationHTML = '';\r\n if (s.params.paginationType === 'bullets') {\r\n var numberOfBullets = s.params.loop ? Math.ceil((s.slides.length - s.loopedSlides * 2) / s.params.slidesPerGroup) : s.snapGrid.length;\r\n for (var i = 0; i < numberOfBullets; i++) {\r\n if (s.params.paginationBulletRender) {\r\n paginationHTML += s.params.paginationBulletRender(i, s.params.bulletClass);\r\n }\r\n else {\r\n paginationHTML += '<' + s.params.paginationElement+' class=\"' + s.params.bulletClass + '\">';\r\n }\r\n }\r\n s.paginationContainer.html(paginationHTML);\r\n s.bullets = s.paginationContainer.find('.' + s.params.bulletClass);\r\n if (s.params.paginationClickable && s.params.a11y && s.a11y) {\r\n s.a11y.initPagination();\r\n }\r\n }\r\n if (s.params.paginationType === 'fraction') {\r\n if (s.params.paginationFractionRender) {\r\n paginationHTML = s.params.paginationFractionRender(s, s.params.paginationCurrentClass, s.params.paginationTotalClass);\r\n }\r\n else {\r\n paginationHTML =\r\n '' +\r\n ' / ' +\r\n '';\r\n }\r\n s.paginationContainer.html(paginationHTML);\r\n }\r\n if (s.params.paginationType === 'progress') {\r\n if (s.params.paginationProgressRender) {\r\n paginationHTML = s.params.paginationProgressRender(s, s.params.paginationProgressbarClass);\r\n }\r\n else {\r\n paginationHTML = '';\r\n }\r\n s.paginationContainer.html(paginationHTML);\r\n }\r\n if (s.params.paginationType !== 'custom') {\r\n s.emit('onPaginationRendered', s, s.paginationContainer[0]);\r\n }\r\n }\r\n };\r\n /*=========================\r\n Common update method\r\n ===========================*/\r\n s.update = function (updateTranslate) {\r\n s.updateContainerSize();\r\n s.updateSlidesSize();\r\n s.updateProgress();\r\n s.updatePagination();\r\n s.updateClasses();\r\n if (s.params.scrollbar && s.scrollbar) {\r\n s.scrollbar.set();\r\n }\r\n function forceSetTranslate() {\r\n newTranslate = Math.min(Math.max(s.translate, s.maxTranslate()), s.minTranslate());\r\n s.setWrapperTranslate(newTranslate);\r\n s.updateActiveIndex();\r\n s.updateClasses();\r\n }\r\n if (updateTranslate) {\r\n var translated, newTranslate;\r\n if (s.controller && s.controller.spline) {\r\n s.controller.spline = undefined;\r\n }\r\n if (s.params.freeMode) {\r\n forceSetTranslate();\r\n if (s.params.autoHeight) {\r\n s.updateAutoHeight();\r\n }\r\n }\r\n else {\r\n if ((s.params.slidesPerView === 'auto' || s.params.slidesPerView > 1) && s.isEnd && !s.params.centeredSlides) {\r\n translated = s.slideTo(s.slides.length - 1, 0, false, true);\r\n }\r\n else {\r\n translated = s.slideTo(s.activeIndex, 0, false, true);\r\n }\r\n if (!translated) {\r\n forceSetTranslate();\r\n }\r\n }\r\n }\r\n else if (s.params.autoHeight) {\r\n s.updateAutoHeight();\r\n }\r\n };\r\n \r\n /*=========================\r\n Resize Handler\r\n ===========================*/\r\n s.onResize = function (forceUpdatePagination) {\r\n //Breakpoints\r\n if (s.params.breakpoints) {\r\n s.setBreakpoint();\r\n }\r\n \r\n // Disable locks on resize\r\n var allowSwipeToPrev = s.params.allowSwipeToPrev;\r\n var allowSwipeToNext = s.params.allowSwipeToNext;\r\n s.params.allowSwipeToPrev = s.params.allowSwipeToNext = true;\r\n \r\n s.updateContainerSize();\r\n s.updateSlidesSize();\r\n if (s.params.slidesPerView === 'auto' || s.params.freeMode || forceUpdatePagination) s.updatePagination();\r\n if (s.params.scrollbar && s.scrollbar) {\r\n s.scrollbar.set();\r\n }\r\n if (s.controller && s.controller.spline) {\r\n s.controller.spline = undefined;\r\n }\r\n var slideChangedBySlideTo = false;\r\n if (s.params.freeMode) {\r\n var newTranslate = Math.min(Math.max(s.translate, s.maxTranslate()), s.minTranslate());\r\n s.setWrapperTranslate(newTranslate);\r\n s.updateActiveIndex();\r\n s.updateClasses();\r\n \r\n if (s.params.autoHeight) {\r\n s.updateAutoHeight();\r\n }\r\n }\r\n else {\r\n s.updateClasses();\r\n if ((s.params.slidesPerView === 'auto' || s.params.slidesPerView > 1) && s.isEnd && !s.params.centeredSlides) {\r\n slideChangedBySlideTo = s.slideTo(s.slides.length - 1, 0, false, true);\r\n }\r\n else {\r\n slideChangedBySlideTo = s.slideTo(s.activeIndex, 0, false, true);\r\n }\r\n }\r\n if (s.params.lazyLoading && !slideChangedBySlideTo && s.lazy) {\r\n s.lazy.load();\r\n }\r\n // Return locks after resize\r\n s.params.allowSwipeToPrev = allowSwipeToPrev;\r\n s.params.allowSwipeToNext = allowSwipeToNext;\r\n };\r\n \r\n /*=========================\r\n Events\r\n ===========================*/\r\n \r\n //Define Touch Events\r\n var desktopEvents = ['mousedown', 'mousemove', 'mouseup'];\r\n if (window.navigator.pointerEnabled) desktopEvents = ['pointerdown', 'pointermove', 'pointerup'];\r\n else if (window.navigator.msPointerEnabled) desktopEvents = ['MSPointerDown', 'MSPointerMove', 'MSPointerUp'];\r\n s.touchEvents = {\r\n start : s.support.touch || !s.params.simulateTouch ? 'touchstart' : desktopEvents[0],\r\n move : s.support.touch || !s.params.simulateTouch ? 'touchmove' : desktopEvents[1],\r\n end : s.support.touch || !s.params.simulateTouch ? 'touchend' : desktopEvents[2]\r\n };\r\n \r\n \r\n // WP8 Touch Events Fix\r\n if (window.navigator.pointerEnabled || window.navigator.msPointerEnabled) {\r\n (s.params.touchEventsTarget === 'container' ? s.container : s.wrapper).addClass('swiper-wp8-' + s.params.direction);\r\n }\r\n \r\n // Attach/detach events\r\n s.initEvents = function (detach) {\r\n var actionDom = detach ? 'off' : 'on';\r\n var action = detach ? 'removeEventListener' : 'addEventListener';\r\n var touchEventsTarget = s.params.touchEventsTarget === 'container' ? s.container[0] : s.wrapper[0];\r\n var target = s.support.touch ? touchEventsTarget : document;\r\n \r\n var moveCapture = s.params.nested ? true : false;\r\n \r\n //Touch Events\r\n if (s.browser.ie) {\r\n touchEventsTarget[action](s.touchEvents.start, s.onTouchStart, false);\r\n target[action](s.touchEvents.move, s.onTouchMove, moveCapture);\r\n target[action](s.touchEvents.end, s.onTouchEnd, false);\r\n }\r\n else {\r\n if (s.support.touch) {\r\n touchEventsTarget[action](s.touchEvents.start, s.onTouchStart, false);\r\n touchEventsTarget[action](s.touchEvents.move, s.onTouchMove, moveCapture);\r\n touchEventsTarget[action](s.touchEvents.end, s.onTouchEnd, false);\r\n }\r\n if (params.simulateTouch && !s.device.ios && !s.device.android) {\r\n touchEventsTarget[action]('mousedown', s.onTouchStart, false);\r\n document[action]('mousemove', s.onTouchMove, moveCapture);\r\n document[action]('mouseup', s.onTouchEnd, false);\r\n }\r\n }\r\n window[action]('resize', s.onResize);\r\n \r\n // Next, Prev, Index\r\n if (s.params.nextButton && s.nextButton && s.nextButton.length > 0) {\r\n s.nextButton[actionDom]('click', s.onClickNext);\r\n if (s.params.a11y && s.a11y) s.nextButton[actionDom]('keydown', s.a11y.onEnterKey);\r\n }\r\n if (s.params.prevButton && s.prevButton && s.prevButton.length > 0) {\r\n s.prevButton[actionDom]('click', s.onClickPrev);\r\n if (s.params.a11y && s.a11y) s.prevButton[actionDom]('keydown', s.a11y.onEnterKey);\r\n }\r\n if (s.params.pagination && s.params.paginationClickable) {\r\n s.paginationContainer[actionDom]('click', '.' + s.params.bulletClass, s.onClickIndex);\r\n if (s.params.a11y && s.a11y) s.paginationContainer[actionDom]('keydown', '.' + s.params.bulletClass, s.a11y.onEnterKey);\r\n }\r\n \r\n // Prevent Links Clicks\r\n if (s.params.preventClicks || s.params.preventClicksPropagation) touchEventsTarget[action]('click', s.preventClicks, true);\r\n };\r\n s.attachEvents = function () {\r\n s.initEvents();\r\n };\r\n s.detachEvents = function () {\r\n s.initEvents(true);\r\n };\r\n \r\n /*=========================\r\n Handle Clicks\r\n ===========================*/\r\n // Prevent Clicks\r\n s.allowClick = true;\r\n s.preventClicks = function (e) {\r\n if (!s.allowClick) {\r\n if (s.params.preventClicks) e.preventDefault();\r\n if (s.params.preventClicksPropagation && s.animating) {\r\n e.stopPropagation();\r\n e.stopImmediatePropagation();\r\n }\r\n }\r\n };\r\n // Clicks\r\n s.onClickNext = function (e) {\r\n e.preventDefault();\r\n if (s.isEnd && !s.params.loop) return;\r\n s.slideNext();\r\n };\r\n s.onClickPrev = function (e) {\r\n e.preventDefault();\r\n if (s.isBeginning && !s.params.loop) return;\r\n s.slidePrev();\r\n };\r\n s.onClickIndex = function (e) {\r\n e.preventDefault();\r\n var index = $(this).index() * s.params.slidesPerGroup;\r\n if (s.params.loop) index = index + s.loopedSlides;\r\n s.slideTo(index);\r\n };\r\n \r\n /*=========================\r\n Handle Touches\r\n ===========================*/\r\n function findElementInEvent(e, selector) {\r\n var el = $(e.target);\r\n if (!el.is(selector)) {\r\n if (typeof selector === 'string') {\r\n el = el.parents(selector);\r\n }\r\n else if (selector.nodeType) {\r\n var found;\r\n el.parents().each(function (index, _el) {\r\n if (_el === selector) found = selector;\r\n });\r\n if (!found) return undefined;\r\n else return selector;\r\n }\r\n }\r\n if (el.length === 0) {\r\n return undefined;\r\n }\r\n return el[0];\r\n }\r\n s.updateClickedSlide = function (e) {\r\n var slide = findElementInEvent(e, '.' + s.params.slideClass);\r\n var slideFound = false;\r\n if (slide) {\r\n for (var i = 0; i < s.slides.length; i++) {\r\n if (s.slides[i] === slide) slideFound = true;\r\n }\r\n }\r\n \r\n if (slide && slideFound) {\r\n s.clickedSlide = slide;\r\n s.clickedIndex = $(slide).index();\r\n }\r\n else {\r\n s.clickedSlide = undefined;\r\n s.clickedIndex = undefined;\r\n return;\r\n }\r\n if (s.params.slideToClickedSlide && s.clickedIndex !== undefined && s.clickedIndex !== s.activeIndex) {\r\n var slideToIndex = s.clickedIndex,\r\n realIndex,\r\n duplicatedSlides;\r\n if (s.params.loop) {\r\n if (s.animating) return;\r\n realIndex = $(s.clickedSlide).attr('data-swiper-slide-index');\r\n if (s.params.centeredSlides) {\r\n if ((slideToIndex < s.loopedSlides - s.params.slidesPerView/2) || (slideToIndex > s.slides.length - s.loopedSlides + s.params.slidesPerView/2)) {\r\n s.fixLoop();\r\n slideToIndex = s.wrapper.children('.' + s.params.slideClass + '[data-swiper-slide-index=\"' + realIndex + '\"]:not(.swiper-slide-duplicate)').eq(0).index();\r\n setTimeout(function () {\r\n s.slideTo(slideToIndex);\r\n }, 0);\r\n }\r\n else {\r\n s.slideTo(slideToIndex);\r\n }\r\n }\r\n else {\r\n if (slideToIndex > s.slides.length - s.params.slidesPerView) {\r\n s.fixLoop();\r\n slideToIndex = s.wrapper.children('.' + s.params.slideClass + '[data-swiper-slide-index=\"' + realIndex + '\"]:not(.swiper-slide-duplicate)').eq(0).index();\r\n setTimeout(function () {\r\n s.slideTo(slideToIndex);\r\n }, 0);\r\n }\r\n else {\r\n s.slideTo(slideToIndex);\r\n }\r\n }\r\n }\r\n else {\r\n s.slideTo(slideToIndex);\r\n }\r\n }\r\n };\r\n \r\n var isTouched,\r\n isMoved,\r\n allowTouchCallbacks,\r\n touchStartTime,\r\n isScrolling,\r\n currentTranslate,\r\n startTranslate,\r\n allowThresholdMove,\r\n // Form elements to match\r\n formElements = 'input, select, textarea, button',\r\n // Last click time\r\n lastClickTime = Date.now(), clickTimeout,\r\n //Velocities\r\n velocities = [],\r\n allowMomentumBounce;\r\n \r\n // Animating Flag\r\n s.animating = false;\r\n \r\n // Touches information\r\n s.touches = {\r\n startX: 0,\r\n startY: 0,\r\n currentX: 0,\r\n currentY: 0,\r\n diff: 0\r\n };\r\n \r\n // Touch handlers\r\n var isTouchEvent, startMoving;\r\n s.onTouchStart = function (e) {\r\n if (e.originalEvent) e = e.originalEvent;\r\n isTouchEvent = e.type === 'touchstart';\r\n if (!isTouchEvent && 'which' in e && e.which === 3) return;\r\n if (s.params.noSwiping && findElementInEvent(e, '.' + s.params.noSwipingClass)) {\r\n s.allowClick = true;\r\n return;\r\n }\r\n if (s.params.swipeHandler) {\r\n if (!findElementInEvent(e, s.params.swipeHandler)) return;\r\n }\r\n \r\n var startX = s.touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\r\n var startY = s.touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\r\n \r\n // Do NOT start if iOS edge swipe is detected. Otherwise iOS app (UIWebView) cannot swipe-to-go-back anymore\r\n if(s.device.ios && s.params.iOSEdgeSwipeDetection && startX <= s.params.iOSEdgeSwipeThreshold) {\r\n return;\r\n }\r\n \r\n isTouched = true;\r\n isMoved = false;\r\n allowTouchCallbacks = true;\r\n isScrolling = undefined;\r\n startMoving = undefined;\r\n s.touches.startX = startX;\r\n s.touches.startY = startY;\r\n touchStartTime = Date.now();\r\n s.allowClick = true;\r\n s.updateContainerSize();\r\n s.swipeDirection = undefined;\r\n if (s.params.threshold > 0) allowThresholdMove = false;\r\n if (e.type !== 'touchstart') {\r\n var preventDefault = true;\r\n if ($(e.target).is(formElements)) preventDefault = false;\r\n if (document.activeElement && $(document.activeElement).is(formElements)) {\r\n document.activeElement.blur();\r\n }\r\n if (preventDefault) {\r\n e.preventDefault();\r\n }\r\n }\r\n s.emit('onTouchStart', s, e);\r\n };\r\n \r\n s.onTouchMove = function (e) {\r\n if (e.originalEvent) e = e.originalEvent;\r\n if (isTouchEvent && e.type === 'mousemove') return;\r\n if (e.preventedByNestedSwiper) {\r\n s.touches.startX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\r\n s.touches.startY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\r\n return;\r\n }\r\n if (s.params.onlyExternal) {\r\n // isMoved = true;\r\n s.allowClick = false;\r\n if (isTouched) {\r\n s.touches.startX = s.touches.currentX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\r\n s.touches.startY = s.touches.currentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\r\n touchStartTime = Date.now();\r\n }\r\n return;\r\n }\r\n if (isTouchEvent && document.activeElement) {\r\n if (e.target === document.activeElement && $(e.target).is(formElements)) {\r\n isMoved = true;\r\n s.allowClick = false;\r\n return;\r\n }\r\n }\r\n if (allowTouchCallbacks) {\r\n s.emit('onTouchMove', s, e);\r\n }\r\n if (e.targetTouches && e.targetTouches.length > 1) return;\r\n \r\n s.touches.currentX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\r\n s.touches.currentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\r\n \r\n if (typeof isScrolling === 'undefined') {\r\n var touchAngle = Math.atan2(Math.abs(s.touches.currentY - s.touches.startY), Math.abs(s.touches.currentX - s.touches.startX)) * 180 / Math.PI;\r\n isScrolling = s.isHorizontal() ? touchAngle > s.params.touchAngle : (90 - touchAngle > s.params.touchAngle);\r\n }\r\n if (isScrolling) {\r\n s.emit('onTouchMoveOpposite', s, e);\r\n }\r\n if (typeof startMoving === 'undefined' && s.browser.ieTouch) {\r\n if (s.touches.currentX !== s.touches.startX || s.touches.currentY !== s.touches.startY) {\r\n startMoving = true;\r\n }\r\n }\r\n if (!isTouched) return;\r\n if (isScrolling) {\r\n isTouched = false;\r\n return;\r\n }\r\n if (!startMoving && s.browser.ieTouch) {\r\n return;\r\n }\r\n s.allowClick = false;\r\n s.emit('onSliderMove', s, e);\r\n e.preventDefault();\r\n if (s.params.touchMoveStopPropagation && !s.params.nested) {\r\n e.stopPropagation();\r\n }\r\n \r\n if (!isMoved) {\r\n if (params.loop) {\r\n s.fixLoop();\r\n }\r\n startTranslate = s.getWrapperTranslate();\r\n s.setWrapperTransition(0);\r\n if (s.animating) {\r\n s.wrapper.trigger('webkitTransitionEnd transitionend oTransitionEnd MSTransitionEnd msTransitionEnd');\r\n }\r\n if (s.params.autoplay && s.autoplaying) {\r\n if (s.params.autoplayDisableOnInteraction) {\r\n s.stopAutoplay();\r\n }\r\n else {\r\n s.pauseAutoplay();\r\n }\r\n }\r\n allowMomentumBounce = false;\r\n //Grab Cursor\r\n if (s.params.grabCursor) {\r\n s.container[0].style.cursor = 'move';\r\n s.container[0].style.cursor = '-webkit-grabbing';\r\n s.container[0].style.cursor = '-moz-grabbin';\r\n s.container[0].style.cursor = 'grabbing';\r\n }\r\n }\r\n isMoved = true;\r\n \r\n var diff = s.touches.diff = s.isHorizontal() ? s.touches.currentX - s.touches.startX : s.touches.currentY - s.touches.startY;\r\n \r\n diff = diff * s.params.touchRatio;\r\n if (s.rtl) diff = -diff;\r\n \r\n s.swipeDirection = diff > 0 ? 'prev' : 'next';\r\n currentTranslate = diff + startTranslate;\r\n \r\n var disableParentSwiper = true;\r\n if ((diff > 0 && currentTranslate > s.minTranslate())) {\r\n disableParentSwiper = false;\r\n if (s.params.resistance) currentTranslate = s.minTranslate() - 1 + Math.pow(-s.minTranslate() + startTranslate + diff, s.params.resistanceRatio);\r\n }\r\n else if (diff < 0 && currentTranslate < s.maxTranslate()) {\r\n disableParentSwiper = false;\r\n if (s.params.resistance) currentTranslate = s.maxTranslate() + 1 - Math.pow(s.maxTranslate() - startTranslate - diff, s.params.resistanceRatio);\r\n }\r\n \r\n if (disableParentSwiper) {\r\n e.preventedByNestedSwiper = true;\r\n }\r\n \r\n // Directions locks\r\n if (!s.params.allowSwipeToNext && s.swipeDirection === 'next' && currentTranslate < startTranslate) {\r\n currentTranslate = startTranslate;\r\n }\r\n if (!s.params.allowSwipeToPrev && s.swipeDirection === 'prev' && currentTranslate > startTranslate) {\r\n currentTranslate = startTranslate;\r\n }\r\n \r\n if (!s.params.followFinger) return;\r\n \r\n // Threshold\r\n if (s.params.threshold > 0) {\r\n if (Math.abs(diff) > s.params.threshold || allowThresholdMove) {\r\n if (!allowThresholdMove) {\r\n allowThresholdMove = true;\r\n s.touches.startX = s.touches.currentX;\r\n s.touches.startY = s.touches.currentY;\r\n currentTranslate = startTranslate;\r\n s.touches.diff = s.isHorizontal() ? s.touches.currentX - s.touches.startX : s.touches.currentY - s.touches.startY;\r\n return;\r\n }\r\n }\r\n else {\r\n currentTranslate = startTranslate;\r\n return;\r\n }\r\n }\r\n // Update active index in free mode\r\n if (s.params.freeMode || s.params.watchSlidesProgress) {\r\n s.updateActiveIndex();\r\n }\r\n if (s.params.freeMode) {\r\n //Velocity\r\n if (velocities.length === 0) {\r\n velocities.push({\r\n position: s.touches[s.isHorizontal() ? 'startX' : 'startY'],\r\n time: touchStartTime\r\n });\r\n }\r\n velocities.push({\r\n position: s.touches[s.isHorizontal() ? 'currentX' : 'currentY'],\r\n time: (new window.Date()).getTime()\r\n });\r\n }\r\n // Update progress\r\n s.updateProgress(currentTranslate);\r\n // Update translate\r\n s.setWrapperTranslate(currentTranslate);\r\n };\r\n s.onTouchEnd = function (e) {\r\n if (e.originalEvent) e = e.originalEvent;\r\n if (allowTouchCallbacks) {\r\n s.emit('onTouchEnd', s, e);\r\n }\r\n allowTouchCallbacks = false;\r\n if (!isTouched) return;\r\n //Return Grab Cursor\r\n if (s.params.grabCursor && isMoved && isTouched) {\r\n s.container[0].style.cursor = 'move';\r\n s.container[0].style.cursor = '-webkit-grab';\r\n s.container[0].style.cursor = '-moz-grab';\r\n s.container[0].style.cursor = 'grab';\r\n }\r\n \r\n // Time diff\r\n var touchEndTime = Date.now();\r\n var timeDiff = touchEndTime - touchStartTime;\r\n \r\n // Tap, doubleTap, Click\r\n if (s.allowClick) {\r\n s.updateClickedSlide(e);\r\n s.emit('onTap', s, e);\r\n if (timeDiff < 300 && (touchEndTime - lastClickTime) > 300) {\r\n if (clickTimeout) clearTimeout(clickTimeout);\r\n clickTimeout = setTimeout(function () {\r\n if (!s) return;\r\n if (s.params.paginationHide && s.paginationContainer.length > 0 && !$(e.target).hasClass(s.params.bulletClass)) {\r\n s.paginationContainer.toggleClass(s.params.paginationHiddenClass);\r\n }\r\n s.emit('onClick', s, e);\r\n }, 300);\r\n \r\n }\r\n if (timeDiff < 300 && (touchEndTime - lastClickTime) < 300) {\r\n if (clickTimeout) clearTimeout(clickTimeout);\r\n s.emit('onDoubleTap', s, e);\r\n }\r\n }\r\n \r\n lastClickTime = Date.now();\r\n setTimeout(function () {\r\n if (s) s.allowClick = true;\r\n }, 0);\r\n \r\n if (!isTouched || !isMoved || !s.swipeDirection || s.touches.diff === 0 || currentTranslate === startTranslate) {\r\n isTouched = isMoved = false;\r\n return;\r\n }\r\n isTouched = isMoved = false;\r\n \r\n var currentPos;\r\n if (s.params.followFinger) {\r\n currentPos = s.rtl ? s.translate : -s.translate;\r\n }\r\n else {\r\n currentPos = -currentTranslate;\r\n }\r\n if (s.params.freeMode) {\r\n if (currentPos < -s.minTranslate()) {\r\n s.slideTo(s.activeIndex);\r\n return;\r\n }\r\n else if (currentPos > -s.maxTranslate()) {\r\n if (s.slides.length < s.snapGrid.length) {\r\n s.slideTo(s.snapGrid.length - 1);\r\n }\r\n else {\r\n s.slideTo(s.slides.length - 1);\r\n }\r\n return;\r\n }\r\n \r\n if (s.params.freeModeMomentum) {\r\n if (velocities.length > 1) {\r\n var lastMoveEvent = velocities.pop(), velocityEvent = velocities.pop();\r\n \r\n var distance = lastMoveEvent.position - velocityEvent.position;\r\n var time = lastMoveEvent.time - velocityEvent.time;\r\n s.velocity = distance / time;\r\n s.velocity = s.velocity / 2;\r\n if (Math.abs(s.velocity) < s.params.freeModeMinimumVelocity) {\r\n s.velocity = 0;\r\n }\r\n // this implies that the user stopped moving a finger then released.\r\n // There would be no events with distance zero, so the last event is stale.\r\n if (time > 150 || (new window.Date().getTime() - lastMoveEvent.time) > 300) {\r\n s.velocity = 0;\r\n }\r\n } else {\r\n s.velocity = 0;\r\n }\r\n \r\n velocities.length = 0;\r\n var momentumDuration = 1000 * s.params.freeModeMomentumRatio;\r\n var momentumDistance = s.velocity * momentumDuration;\r\n \r\n var newPosition = s.translate + momentumDistance;\r\n if (s.rtl) newPosition = - newPosition;\r\n var doBounce = false;\r\n var afterBouncePosition;\r\n var bounceAmount = Math.abs(s.velocity) * 20 * s.params.freeModeMomentumBounceRatio;\r\n if (newPosition < s.maxTranslate()) {\r\n if (s.params.freeModeMomentumBounce) {\r\n if (newPosition + s.maxTranslate() < -bounceAmount) {\r\n newPosition = s.maxTranslate() - bounceAmount;\r\n }\r\n afterBouncePosition = s.maxTranslate();\r\n doBounce = true;\r\n allowMomentumBounce = true;\r\n }\r\n else {\r\n newPosition = s.maxTranslate();\r\n }\r\n }\r\n else if (newPosition > s.minTranslate()) {\r\n if (s.params.freeModeMomentumBounce) {\r\n if (newPosition - s.minTranslate() > bounceAmount) {\r\n newPosition = s.minTranslate() + bounceAmount;\r\n }\r\n afterBouncePosition = s.minTranslate();\r\n doBounce = true;\r\n allowMomentumBounce = true;\r\n }\r\n else {\r\n newPosition = s.minTranslate();\r\n }\r\n }\r\n else if (s.params.freeModeSticky) {\r\n var j = 0,\r\n nextSlide;\r\n for (j = 0; j < s.snapGrid.length; j += 1) {\r\n if (s.snapGrid[j] > -newPosition) {\r\n nextSlide = j;\r\n break;\r\n }\r\n \r\n }\r\n if (Math.abs(s.snapGrid[nextSlide] - newPosition) < Math.abs(s.snapGrid[nextSlide - 1] - newPosition) || s.swipeDirection === 'next') {\r\n newPosition = s.snapGrid[nextSlide];\r\n } else {\r\n newPosition = s.snapGrid[nextSlide - 1];\r\n }\r\n if (!s.rtl) newPosition = - newPosition;\r\n }\r\n //Fix duration\r\n if (s.velocity !== 0) {\r\n if (s.rtl) {\r\n momentumDuration = Math.abs((-newPosition - s.translate) / s.velocity);\r\n }\r\n else {\r\n momentumDuration = Math.abs((newPosition - s.translate) / s.velocity);\r\n }\r\n }\r\n else if (s.params.freeModeSticky) {\r\n s.slideReset();\r\n return;\r\n }\r\n \r\n if (s.params.freeModeMomentumBounce && doBounce) {\r\n s.updateProgress(afterBouncePosition);\r\n s.setWrapperTransition(momentumDuration);\r\n s.setWrapperTranslate(newPosition);\r\n s.onTransitionStart();\r\n s.animating = true;\r\n s.wrapper.transitionEnd(function () {\r\n if (!s || !allowMomentumBounce) return;\r\n s.emit('onMomentumBounce', s);\r\n \r\n s.setWrapperTransition(s.params.speed);\r\n s.setWrapperTranslate(afterBouncePosition);\r\n s.wrapper.transitionEnd(function () {\r\n if (!s) return;\r\n s.onTransitionEnd();\r\n });\r\n });\r\n } else if (s.velocity) {\r\n s.updateProgress(newPosition);\r\n s.setWrapperTransition(momentumDuration);\r\n s.setWrapperTranslate(newPosition);\r\n s.onTransitionStart();\r\n if (!s.animating) {\r\n s.animating = true;\r\n s.wrapper.transitionEnd(function () {\r\n if (!s) return;\r\n s.onTransitionEnd();\r\n });\r\n }\r\n \r\n } else {\r\n s.updateProgress(newPosition);\r\n }\r\n \r\n s.updateActiveIndex();\r\n }\r\n if (!s.params.freeModeMomentum || timeDiff >= s.params.longSwipesMs) {\r\n s.updateProgress();\r\n s.updateActiveIndex();\r\n }\r\n return;\r\n }\r\n \r\n // Find current slide\r\n var i, stopIndex = 0, groupSize = s.slidesSizesGrid[0];\r\n for (i = 0; i < s.slidesGrid.length; i += s.params.slidesPerGroup) {\r\n if (typeof s.slidesGrid[i + s.params.slidesPerGroup] !== 'undefined') {\r\n if (currentPos >= s.slidesGrid[i] && currentPos < s.slidesGrid[i + s.params.slidesPerGroup]) {\r\n stopIndex = i;\r\n groupSize = s.slidesGrid[i + s.params.slidesPerGroup] - s.slidesGrid[i];\r\n }\r\n }\r\n else {\r\n if (currentPos >= s.slidesGrid[i]) {\r\n stopIndex = i;\r\n groupSize = s.slidesGrid[s.slidesGrid.length - 1] - s.slidesGrid[s.slidesGrid.length - 2];\r\n }\r\n }\r\n }\r\n \r\n // Find current slide size\r\n var ratio = (currentPos - s.slidesGrid[stopIndex]) / groupSize;\r\n \r\n if (timeDiff > s.params.longSwipesMs) {\r\n // Long touches\r\n if (!s.params.longSwipes) {\r\n s.slideTo(s.activeIndex);\r\n return;\r\n }\r\n if (s.swipeDirection === 'next') {\r\n if (ratio >= s.params.longSwipesRatio) s.slideTo(stopIndex + s.params.slidesPerGroup);\r\n else s.slideTo(stopIndex);\r\n \r\n }\r\n if (s.swipeDirection === 'prev') {\r\n if (ratio > (1 - s.params.longSwipesRatio)) s.slideTo(stopIndex + s.params.slidesPerGroup);\r\n else s.slideTo(stopIndex);\r\n }\r\n }\r\n else {\r\n // Short swipes\r\n if (!s.params.shortSwipes) {\r\n s.slideTo(s.activeIndex);\r\n return;\r\n }\r\n if (s.swipeDirection === 'next') {\r\n s.slideTo(stopIndex + s.params.slidesPerGroup);\r\n \r\n }\r\n if (s.swipeDirection === 'prev') {\r\n s.slideTo(stopIndex);\r\n }\r\n }\r\n };\r\n /*=========================\r\n Transitions\r\n ===========================*/\r\n s._slideTo = function (slideIndex, speed) {\r\n return s.slideTo(slideIndex, speed, true, true);\r\n };\r\n s.slideTo = function (slideIndex, speed, runCallbacks, internal) {\r\n if (typeof runCallbacks === 'undefined') runCallbacks = true;\r\n if (typeof slideIndex === 'undefined') slideIndex = 0;\r\n if (slideIndex < 0) slideIndex = 0;\r\n s.snapIndex = Math.floor(slideIndex / s.params.slidesPerGroup);\r\n if (s.snapIndex >= s.snapGrid.length) s.snapIndex = s.snapGrid.length - 1;\r\n \r\n var translate = - s.snapGrid[s.snapIndex];\r\n // Stop autoplay\r\n if (s.params.autoplay && s.autoplaying) {\r\n if (internal || !s.params.autoplayDisableOnInteraction) {\r\n s.pauseAutoplay(speed);\r\n }\r\n else {\r\n s.stopAutoplay();\r\n }\r\n }\r\n // Update progress\r\n s.updateProgress(translate);\r\n \r\n // Normalize slideIndex\r\n for (var i = 0; i < s.slidesGrid.length; i++) {\r\n if (- Math.floor(translate * 100) >= Math.floor(s.slidesGrid[i] * 100)) {\r\n slideIndex = i;\r\n }\r\n }\r\n \r\n // Directions locks\r\n if (!s.params.allowSwipeToNext && translate < s.translate && translate < s.minTranslate()) {\r\n return false;\r\n }\r\n if (!s.params.allowSwipeToPrev && translate > s.translate && translate > s.maxTranslate()) {\r\n if ((s.activeIndex || 0) !== slideIndex ) return false;\r\n }\r\n \r\n // Update Index\r\n if (typeof speed === 'undefined') speed = s.params.speed;\r\n s.previousIndex = s.activeIndex || 0;\r\n s.activeIndex = slideIndex;\r\n \r\n if ((s.rtl && -translate === s.translate) || (!s.rtl && translate === s.translate)) {\r\n // Update Height\r\n if (s.params.autoHeight) {\r\n s.updateAutoHeight();\r\n }\r\n s.updateClasses();\r\n if (s.params.effect !== 'slide') {\r\n s.setWrapperTranslate(translate);\r\n }\r\n return false;\r\n }\r\n s.updateClasses();\r\n s.onTransitionStart(runCallbacks);\r\n \r\n if (speed === 0) {\r\n s.setWrapperTranslate(translate);\r\n s.setWrapperTransition(0);\r\n s.onTransitionEnd(runCallbacks);\r\n }\r\n else {\r\n s.setWrapperTranslate(translate);\r\n s.setWrapperTransition(speed);\r\n if (!s.animating) {\r\n s.animating = true;\r\n s.wrapper.transitionEnd(function () {\r\n if (!s) return;\r\n s.onTransitionEnd(runCallbacks);\r\n });\r\n }\r\n \r\n }\r\n \r\n return true;\r\n };\r\n \r\n s.onTransitionStart = function (runCallbacks) {\r\n if (typeof runCallbacks === 'undefined') runCallbacks = true;\r\n if (s.params.autoHeight) {\r\n s.updateAutoHeight();\r\n }\r\n if (s.lazy) s.lazy.onTransitionStart();\r\n if (runCallbacks) {\r\n s.emit('onTransitionStart', s);\r\n if (s.activeIndex !== s.previousIndex) {\r\n s.emit('onSlideChangeStart', s);\r\n if (s.activeIndex > s.previousIndex) {\r\n s.emit('onSlideNextStart', s);\r\n }\r\n else {\r\n s.emit('onSlidePrevStart', s);\r\n }\r\n }\r\n \r\n }\r\n };\r\n s.onTransitionEnd = function (runCallbacks) {\r\n s.animating = false;\r\n s.setWrapperTransition(0);\r\n if (typeof runCallbacks === 'undefined') runCallbacks = true;\r\n if (s.lazy) s.lazy.onTransitionEnd();\r\n if (runCallbacks) {\r\n s.emit('onTransitionEnd', s);\r\n if (s.activeIndex !== s.previousIndex) {\r\n s.emit('onSlideChangeEnd', s);\r\n if (s.activeIndex > s.previousIndex) {\r\n s.emit('onSlideNextEnd', s);\r\n }\r\n else {\r\n s.emit('onSlidePrevEnd', s);\r\n }\r\n }\r\n }\r\n if (s.params.hashnav && s.hashnav) {\r\n s.hashnav.setHash();\r\n }\r\n \r\n };\r\n s.slideNext = function (runCallbacks, speed, internal) {\r\n if (s.params.loop) {\r\n if (s.animating) return false;\r\n s.fixLoop();\r\n var clientLeft = s.container[0].clientLeft;\r\n return s.slideTo(s.activeIndex + s.params.slidesPerGroup, speed, runCallbacks, internal);\r\n }\r\n else return s.slideTo(s.activeIndex + s.params.slidesPerGroup, speed, runCallbacks, internal);\r\n };\r\n s._slideNext = function (speed) {\r\n return s.slideNext(true, speed, true);\r\n };\r\n s.slidePrev = function (runCallbacks, speed, internal) {\r\n if (s.params.loop) {\r\n if (s.animating) return false;\r\n s.fixLoop();\r\n var clientLeft = s.container[0].clientLeft;\r\n return s.slideTo(s.activeIndex - 1, speed, runCallbacks, internal);\r\n }\r\n else return s.slideTo(s.activeIndex - 1, speed, runCallbacks, internal);\r\n };\r\n s._slidePrev = function (speed) {\r\n return s.slidePrev(true, speed, true);\r\n };\r\n s.slideReset = function (runCallbacks, speed, internal) {\r\n return s.slideTo(s.activeIndex, speed, runCallbacks);\r\n };\r\n \r\n /*=========================\r\n Translate/transition helpers\r\n ===========================*/\r\n s.setWrapperTransition = function (duration, byController) {\r\n s.wrapper.transition(duration);\r\n if (s.params.effect !== 'slide' && s.effects[s.params.effect]) {\r\n s.effects[s.params.effect].setTransition(duration);\r\n }\r\n if (s.params.parallax && s.parallax) {\r\n s.parallax.setTransition(duration);\r\n }\r\n if (s.params.scrollbar && s.scrollbar) {\r\n s.scrollbar.setTransition(duration);\r\n }\r\n if (s.params.control && s.controller) {\r\n s.controller.setTransition(duration, byController);\r\n }\r\n s.emit('onSetTransition', s, duration);\r\n };\r\n s.setWrapperTranslate = function (translate, updateActiveIndex, byController) {\r\n var x = 0, y = 0, z = 0;\r\n if (s.isHorizontal()) {\r\n x = s.rtl ? -translate : translate;\r\n }\r\n else {\r\n y = translate;\r\n }\r\n \r\n if (s.params.roundLengths) {\r\n x = round(x);\r\n y = round(y);\r\n }\r\n \r\n if (!s.params.virtualTranslate) {\r\n if (s.support.transforms3d) s.wrapper.transform('translate3d(' + x + 'px, ' + y + 'px, ' + z + 'px)');\r\n else s.wrapper.transform('translate(' + x + 'px, ' + y + 'px)');\r\n }\r\n \r\n s.translate = s.isHorizontal() ? x : y;\r\n \r\n // Check if we need to update progress\r\n var progress;\r\n var translatesDiff = s.maxTranslate() - s.minTranslate();\r\n if (translatesDiff === 0) {\r\n progress = 0;\r\n }\r\n else {\r\n progress = (translate - s.minTranslate()) / (translatesDiff);\r\n }\r\n if (progress !== s.progress) {\r\n s.updateProgress(translate);\r\n }\r\n \r\n if (updateActiveIndex) s.updateActiveIndex();\r\n if (s.params.effect !== 'slide' && s.effects[s.params.effect]) {\r\n s.effects[s.params.effect].setTranslate(s.translate);\r\n }\r\n if (s.params.parallax && s.parallax) {\r\n s.parallax.setTranslate(s.translate);\r\n }\r\n if (s.params.scrollbar && s.scrollbar) {\r\n s.scrollbar.setTranslate(s.translate);\r\n }\r\n if (s.params.control && s.controller) {\r\n s.controller.setTranslate(s.translate, byController);\r\n }\r\n s.emit('onSetTranslate', s, s.translate);\r\n };\r\n \r\n s.getTranslate = function (el, axis) {\r\n var matrix, curTransform, curStyle, transformMatrix;\r\n \r\n // automatic axis detection\r\n if (typeof axis === 'undefined') {\r\n axis = 'x';\r\n }\r\n \r\n if (s.params.virtualTranslate) {\r\n return s.rtl ? -s.translate : s.translate;\r\n }\r\n \r\n curStyle = window.getComputedStyle(el, null);\r\n if (window.WebKitCSSMatrix) {\r\n curTransform = curStyle.transform || curStyle.webkitTransform;\r\n if (curTransform.split(',').length > 6) {\r\n curTransform = curTransform.split(', ').map(function(a){\r\n return a.replace(',','.');\r\n }).join(', ');\r\n }\r\n // Some old versions of Webkit choke when 'none' is passed; pass\r\n // empty string instead in this case\r\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\r\n }\r\n else {\r\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\r\n matrix = transformMatrix.toString().split(',');\r\n }\r\n \r\n if (axis === 'x') {\r\n //Latest Chrome and webkits Fix\r\n if (window.WebKitCSSMatrix)\r\n curTransform = transformMatrix.m41;\r\n //Crazy IE10 Matrix\r\n else if (matrix.length === 16)\r\n curTransform = parseFloat(matrix[12]);\r\n //Normal Browsers\r\n else\r\n curTransform = parseFloat(matrix[4]);\r\n }\r\n if (axis === 'y') {\r\n //Latest Chrome and webkits Fix\r\n if (window.WebKitCSSMatrix)\r\n curTransform = transformMatrix.m42;\r\n //Crazy IE10 Matrix\r\n else if (matrix.length === 16)\r\n curTransform = parseFloat(matrix[13]);\r\n //Normal Browsers\r\n else\r\n curTransform = parseFloat(matrix[5]);\r\n }\r\n if (s.rtl && curTransform) curTransform = -curTransform;\r\n return curTransform || 0;\r\n };\r\n s.getWrapperTranslate = function (axis) {\r\n if (typeof axis === 'undefined') {\r\n axis = s.isHorizontal() ? 'x' : 'y';\r\n }\r\n return s.getTranslate(s.wrapper[0], axis);\r\n };\r\n \r\n /*=========================\r\n Observer\r\n ===========================*/\r\n s.observers = [];\r\n function initObserver(target, options) {\r\n options = options || {};\r\n // create an observer instance\r\n var ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\r\n var observer = new ObserverFunc(function (mutations) {\r\n mutations.forEach(function (mutation) {\r\n s.onResize(true);\r\n s.emit('onObserverUpdate', s, mutation);\r\n });\r\n });\r\n \r\n observer.observe(target, {\r\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\r\n childList: typeof options.childList === 'undefined' ? true : options.childList,\r\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData\r\n });\r\n \r\n s.observers.push(observer);\r\n }\r\n s.initObservers = function () {\r\n if (s.params.observeParents) {\r\n var containerParents = s.container.parents();\r\n for (var i = 0; i < containerParents.length; i++) {\r\n initObserver(containerParents[i]);\r\n }\r\n }\r\n \r\n // Observe container\r\n initObserver(s.container[0], {childList: false});\r\n \r\n // Observe wrapper\r\n initObserver(s.wrapper[0], {attributes: false});\r\n };\r\n s.disconnectObservers = function () {\r\n for (var i = 0; i < s.observers.length; i++) {\r\n s.observers[i].disconnect();\r\n }\r\n s.observers = [];\r\n };\r\n /*=========================\r\n Loop\r\n ===========================*/\r\n // Create looped slides\r\n s.createLoop = function () {\r\n // Remove duplicated slides\r\n s.wrapper.children('.' + s.params.slideClass + '.' + s.params.slideDuplicateClass).remove();\r\n \r\n var slides = s.wrapper.children('.' + s.params.slideClass);\r\n \r\n if(s.params.slidesPerView === 'auto' && !s.params.loopedSlides) s.params.loopedSlides = slides.length;\r\n \r\n s.loopedSlides = parseInt(s.params.loopedSlides || s.params.slidesPerView, 10);\r\n s.loopedSlides = s.loopedSlides + s.params.loopAdditionalSlides;\r\n if (s.loopedSlides > slides.length) {\r\n s.loopedSlides = slides.length;\r\n }\r\n \r\n var prependSlides = [], appendSlides = [], i;\r\n slides.each(function (index, el) {\r\n var slide = $(this);\r\n if (index < s.loopedSlides) appendSlides.push(el);\r\n if (index < slides.length && index >= slides.length - s.loopedSlides) prependSlides.push(el);\r\n slide.attr('data-swiper-slide-index', index);\r\n });\r\n for (i = 0; i < appendSlides.length; i++) {\r\n s.wrapper.append($(appendSlides[i].cloneNode(true)).addClass(s.params.slideDuplicateClass));\r\n }\r\n for (i = prependSlides.length - 1; i >= 0; i--) {\r\n s.wrapper.prepend($(prependSlides[i].cloneNode(true)).addClass(s.params.slideDuplicateClass));\r\n }\r\n };\r\n s.destroyLoop = function () {\r\n s.wrapper.children('.' + s.params.slideClass + '.' + s.params.slideDuplicateClass).remove();\r\n s.slides.removeAttr('data-swiper-slide-index');\r\n };\r\n s.reLoop = function (updatePosition) {\r\n var oldIndex = s.activeIndex - s.loopedSlides;\r\n s.destroyLoop();\r\n s.createLoop();\r\n s.updateSlidesSize();\r\n if (updatePosition) {\r\n s.slideTo(oldIndex + s.loopedSlides, 0, false);\r\n }\r\n \r\n };\r\n s.fixLoop = function () {\r\n var newIndex;\r\n //Fix For Negative Oversliding\r\n if (s.activeIndex < s.loopedSlides) {\r\n newIndex = s.slides.length - s.loopedSlides * 3 + s.activeIndex;\r\n newIndex = newIndex + s.loopedSlides;\r\n s.slideTo(newIndex, 0, false, true);\r\n }\r\n //Fix For Positive Oversliding\r\n else if ((s.params.slidesPerView === 'auto' && s.activeIndex >= s.loopedSlides * 2) || (s.activeIndex > s.slides.length - s.params.slidesPerView * 2)) {\r\n newIndex = -s.slides.length + s.activeIndex + s.loopedSlides;\r\n newIndex = newIndex + s.loopedSlides;\r\n s.slideTo(newIndex, 0, false, true);\r\n }\r\n };\r\n /*=========================\r\n Append/Prepend/Remove Slides\r\n ===========================*/\r\n s.appendSlide = function (slides) {\r\n if (s.params.loop) {\r\n s.destroyLoop();\r\n }\r\n if (typeof slides === 'object' && slides.length) {\r\n for (var i = 0; i < slides.length; i++) {\r\n if (slides[i]) s.wrapper.append(slides[i]);\r\n }\r\n }\r\n else {\r\n s.wrapper.append(slides);\r\n }\r\n if (s.params.loop) {\r\n s.createLoop();\r\n }\r\n if (!(s.params.observer && s.support.observer)) {\r\n s.update(true);\r\n }\r\n };\r\n s.prependSlide = function (slides) {\r\n if (s.params.loop) {\r\n s.destroyLoop();\r\n }\r\n var newActiveIndex = s.activeIndex + 1;\r\n if (typeof slides === 'object' && slides.length) {\r\n for (var i = 0; i < slides.length; i++) {\r\n if (slides[i]) s.wrapper.prepend(slides[i]);\r\n }\r\n newActiveIndex = s.activeIndex + slides.length;\r\n }\r\n else {\r\n s.wrapper.prepend(slides);\r\n }\r\n if (s.params.loop) {\r\n s.createLoop();\r\n }\r\n if (!(s.params.observer && s.support.observer)) {\r\n s.update(true);\r\n }\r\n s.slideTo(newActiveIndex, 0, false);\r\n };\r\n s.removeSlide = function (slidesIndexes) {\r\n if (s.params.loop) {\r\n s.destroyLoop();\r\n s.slides = s.wrapper.children('.' + s.params.slideClass);\r\n }\r\n var newActiveIndex = s.activeIndex,\r\n indexToRemove;\r\n if (typeof slidesIndexes === 'object' && slidesIndexes.length) {\r\n for (var i = 0; i < slidesIndexes.length; i++) {\r\n indexToRemove = slidesIndexes[i];\r\n if (s.slides[indexToRemove]) s.slides.eq(indexToRemove).remove();\r\n if (indexToRemove < newActiveIndex) newActiveIndex--;\r\n }\r\n newActiveIndex = Math.max(newActiveIndex, 0);\r\n }\r\n else {\r\n indexToRemove = slidesIndexes;\r\n if (s.slides[indexToRemove]) s.slides.eq(indexToRemove).remove();\r\n if (indexToRemove < newActiveIndex) newActiveIndex--;\r\n newActiveIndex = Math.max(newActiveIndex, 0);\r\n }\r\n \r\n if (s.params.loop) {\r\n s.createLoop();\r\n }\r\n \r\n if (!(s.params.observer && s.support.observer)) {\r\n s.update(true);\r\n }\r\n if (s.params.loop) {\r\n s.slideTo(newActiveIndex + s.loopedSlides, 0, false);\r\n }\r\n else {\r\n s.slideTo(newActiveIndex, 0, false);\r\n }\r\n \r\n };\r\n s.removeAllSlides = function () {\r\n var slidesIndexes = [];\r\n for (var i = 0; i < s.slides.length; i++) {\r\n slidesIndexes.push(i);\r\n }\r\n s.removeSlide(slidesIndexes);\r\n };\r\n \r\n\r\n /*=========================\r\n Effects\r\n ===========================*/\r\n s.effects = {\r\n fade: {\r\n setTranslate: function () {\r\n for (var i = 0; i < s.slides.length; i++) {\r\n var slide = s.slides.eq(i);\r\n var offset = slide[0].swiperSlideOffset;\r\n var tx = -offset;\r\n if (!s.params.virtualTranslate) tx = tx - s.translate;\r\n var ty = 0;\r\n if (!s.isHorizontal()) {\r\n ty = tx;\r\n tx = 0;\r\n }\r\n var slideOpacity = s.params.fade.crossFade ?\r\n Math.max(1 - Math.abs(slide[0].progress), 0) :\r\n 1 + Math.min(Math.max(slide[0].progress, -1), 0);\r\n slide\r\n .css({\r\n opacity: slideOpacity\r\n })\r\n .transform('translate3d(' + tx + 'px, ' + ty + 'px, 0px)');\r\n \r\n }\r\n \r\n },\r\n setTransition: function (duration) {\r\n s.slides.transition(duration);\r\n if (s.params.virtualTranslate && duration !== 0) {\r\n var eventTriggered = false;\r\n s.slides.transitionEnd(function () {\r\n if (eventTriggered) return;\r\n if (!s) return;\r\n eventTriggered = true;\r\n s.animating = false;\r\n var triggerEvents = ['webkitTransitionEnd', 'transitionend', 'oTransitionEnd', 'MSTransitionEnd', 'msTransitionEnd'];\r\n for (var i = 0; i < triggerEvents.length; i++) {\r\n s.wrapper.trigger(triggerEvents[i]);\r\n }\r\n });\r\n }\r\n }\r\n },\r\n flip: {\r\n setTranslate: function () {\r\n for (var i = 0; i < s.slides.length; i++) {\r\n var slide = s.slides.eq(i);\r\n var progress = slide[0].progress;\r\n if (s.params.flip.limitRotation) {\r\n progress = Math.max(Math.min(slide[0].progress, 1), -1);\r\n }\r\n var offset = slide[0].swiperSlideOffset;\r\n var rotate = -180 * progress,\r\n rotateY = rotate,\r\n rotateX = 0,\r\n tx = -offset,\r\n ty = 0;\r\n if (!s.isHorizontal()) {\r\n ty = tx;\r\n tx = 0;\r\n rotateX = -rotateY;\r\n rotateY = 0;\r\n }\r\n else if (s.rtl) {\r\n rotateY = -rotateY;\r\n }\r\n \r\n slide[0].style.zIndex = -Math.abs(Math.round(progress)) + s.slides.length;\r\n \r\n if (s.params.flip.slideShadows) {\r\n //Set shadows\r\n var shadowBefore = s.isHorizontal() ? slide.find('.swiper-slide-shadow-left') : slide.find('.swiper-slide-shadow-top');\r\n var shadowAfter = s.isHorizontal() ? slide.find('.swiper-slide-shadow-right') : slide.find('.swiper-slide-shadow-bottom');\r\n if (shadowBefore.length === 0) {\r\n shadowBefore = $('
');\r\n slide.append(shadowBefore);\r\n }\r\n if (shadowAfter.length === 0) {\r\n shadowAfter = $('
');\r\n slide.append(shadowAfter);\r\n }\r\n if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\r\n if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\r\n }\r\n \r\n slide\r\n .transform('translate3d(' + tx + 'px, ' + ty + 'px, 0px) rotateX(' + rotateX + 'deg) rotateY(' + rotateY + 'deg)');\r\n }\r\n },\r\n setTransition: function (duration) {\r\n s.slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\r\n if (s.params.virtualTranslate && duration !== 0) {\r\n var eventTriggered = false;\r\n s.slides.eq(s.activeIndex).transitionEnd(function () {\r\n if (eventTriggered) return;\r\n if (!s) return;\r\n if (!$(this).hasClass(s.params.slideActiveClass)) return;\r\n eventTriggered = true;\r\n s.animating = false;\r\n var triggerEvents = ['webkitTransitionEnd', 'transitionend', 'oTransitionEnd', 'MSTransitionEnd', 'msTransitionEnd'];\r\n for (var i = 0; i < triggerEvents.length; i++) {\r\n s.wrapper.trigger(triggerEvents[i]);\r\n }\r\n });\r\n }\r\n }\r\n },\r\n cube: {\r\n setTranslate: function () {\r\n var wrapperRotate = 0, cubeShadow;\r\n if (s.params.cube.shadow) {\r\n if (s.isHorizontal()) {\r\n cubeShadow = s.wrapper.find('.swiper-cube-shadow');\r\n if (cubeShadow.length === 0) {\r\n cubeShadow = $('
');\r\n s.wrapper.append(cubeShadow);\r\n }\r\n cubeShadow.css({height: s.width + 'px'});\r\n }\r\n else {\r\n cubeShadow = s.container.find('.swiper-cube-shadow');\r\n if (cubeShadow.length === 0) {\r\n cubeShadow = $('
');\r\n s.container.append(cubeShadow);\r\n }\r\n }\r\n }\r\n for (var i = 0; i < s.slides.length; i++) {\r\n var slide = s.slides.eq(i);\r\n var slideAngle = i * 90;\r\n var round = Math.floor(slideAngle / 360);\r\n if (s.rtl) {\r\n slideAngle = -slideAngle;\r\n round = Math.floor(-slideAngle / 360);\r\n }\r\n var progress = Math.max(Math.min(slide[0].progress, 1), -1);\r\n var tx = 0, ty = 0, tz = 0;\r\n if (i % 4 === 0) {\r\n tx = - round * 4 * s.size;\r\n tz = 0;\r\n }\r\n else if ((i - 1) % 4 === 0) {\r\n tx = 0;\r\n tz = - round * 4 * s.size;\r\n }\r\n else if ((i - 2) % 4 === 0) {\r\n tx = s.size + round * 4 * s.size;\r\n tz = s.size;\r\n }\r\n else if ((i - 3) % 4 === 0) {\r\n tx = - s.size;\r\n tz = 3 * s.size + s.size * 4 * round;\r\n }\r\n if (s.rtl) {\r\n tx = -tx;\r\n }\r\n \r\n if (!s.isHorizontal()) {\r\n ty = tx;\r\n tx = 0;\r\n }\r\n \r\n var transform = 'rotateX(' + (s.isHorizontal() ? 0 : -slideAngle) + 'deg) rotateY(' + (s.isHorizontal() ? slideAngle : 0) + 'deg) translate3d(' + tx + 'px, ' + ty + 'px, ' + tz + 'px)';\r\n if (progress <= 1 && progress > -1) {\r\n wrapperRotate = i * 90 + progress * 90;\r\n if (s.rtl) wrapperRotate = -i * 90 - progress * 90;\r\n }\r\n slide.transform(transform);\r\n if (s.params.cube.slideShadows) {\r\n //Set shadows\r\n var shadowBefore = s.isHorizontal() ? slide.find('.swiper-slide-shadow-left') : slide.find('.swiper-slide-shadow-top');\r\n var shadowAfter = s.isHorizontal() ? slide.find('.swiper-slide-shadow-right') : slide.find('.swiper-slide-shadow-bottom');\r\n if (shadowBefore.length === 0) {\r\n shadowBefore = $('
');\r\n slide.append(shadowBefore);\r\n }\r\n if (shadowAfter.length === 0) {\r\n shadowAfter = $('
');\r\n slide.append(shadowAfter);\r\n }\r\n if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\r\n if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\r\n }\r\n }\r\n s.wrapper.css({\r\n '-webkit-transform-origin': '50% 50% -' + (s.size / 2) + 'px',\r\n '-moz-transform-origin': '50% 50% -' + (s.size / 2) + 'px',\r\n '-ms-transform-origin': '50% 50% -' + (s.size / 2) + 'px',\r\n 'transform-origin': '50% 50% -' + (s.size / 2) + 'px'\r\n });\r\n \r\n if (s.params.cube.shadow) {\r\n if (s.isHorizontal()) {\r\n cubeShadow.transform('translate3d(0px, ' + (s.width / 2 + s.params.cube.shadowOffset) + 'px, ' + (-s.width / 2) + 'px) rotateX(90deg) rotateZ(0deg) scale(' + (s.params.cube.shadowScale) + ')');\r\n }\r\n else {\r\n var shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90;\r\n var multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2);\r\n var scale1 = s.params.cube.shadowScale,\r\n scale2 = s.params.cube.shadowScale / multiplier,\r\n offset = s.params.cube.shadowOffset;\r\n cubeShadow.transform('scale3d(' + scale1 + ', 1, ' + scale2 + ') translate3d(0px, ' + (s.height / 2 + offset) + 'px, ' + (-s.height / 2 / scale2) + 'px) rotateX(-90deg)');\r\n }\r\n }\r\n var zFactor = (s.isSafari || s.isUiWebView) ? (-s.size / 2) : 0;\r\n s.wrapper.transform('translate3d(0px,0,' + zFactor + 'px) rotateX(' + (s.isHorizontal() ? 0 : wrapperRotate) + 'deg) rotateY(' + (s.isHorizontal() ? -wrapperRotate : 0) + 'deg)');\r\n },\r\n setTransition: function (duration) {\r\n s.slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\r\n if (s.params.cube.shadow && !s.isHorizontal()) {\r\n s.container.find('.swiper-cube-shadow').transition(duration);\r\n }\r\n }\r\n },\r\n coverflow: {\r\n setTranslate: function () {\r\n var transform = s.translate;\r\n var center = s.isHorizontal() ? -transform + s.width / 2 : -transform + s.height / 2;\r\n var rotate = s.isHorizontal() ? s.params.coverflow.rotate: -s.params.coverflow.rotate;\r\n var translate = s.params.coverflow.depth;\r\n //Each slide offset from center\r\n for (var i = 0, length = s.slides.length; i < length; i++) {\r\n var slide = s.slides.eq(i);\r\n var slideSize = s.slidesSizesGrid[i];\r\n var slideOffset = slide[0].swiperSlideOffset;\r\n var offsetMultiplier = (center - slideOffset - slideSize / 2) / slideSize * s.params.coverflow.modifier;\r\n \r\n var rotateY = s.isHorizontal() ? rotate * offsetMultiplier : 0;\r\n var rotateX = s.isHorizontal() ? 0 : rotate * offsetMultiplier;\r\n // var rotateZ = 0\r\n var translateZ = -translate * Math.abs(offsetMultiplier);\r\n \r\n var translateY = s.isHorizontal() ? 0 : s.params.coverflow.stretch * (offsetMultiplier);\r\n var translateX = s.isHorizontal() ? s.params.coverflow.stretch * (offsetMultiplier) : 0;\r\n \r\n //Fix for ultra small values\r\n if (Math.abs(translateX) < 0.001) translateX = 0;\r\n if (Math.abs(translateY) < 0.001) translateY = 0;\r\n if (Math.abs(translateZ) < 0.001) translateZ = 0;\r\n if (Math.abs(rotateY) < 0.001) rotateY = 0;\r\n if (Math.abs(rotateX) < 0.001) rotateX = 0;\r\n \r\n var slideTransform = 'translate3d(' + translateX + 'px,' + translateY + 'px,' + translateZ + 'px) rotateX(' + rotateX + 'deg) rotateY(' + rotateY + 'deg)';\r\n \r\n slide.transform(slideTransform);\r\n slide[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;\r\n if (s.params.coverflow.slideShadows) {\r\n //Set shadows\r\n var shadowBefore = s.isHorizontal() ? slide.find('.swiper-slide-shadow-left') : slide.find('.swiper-slide-shadow-top');\r\n var shadowAfter = s.isHorizontal() ? slide.find('.swiper-slide-shadow-right') : slide.find('.swiper-slide-shadow-bottom');\r\n if (shadowBefore.length === 0) {\r\n shadowBefore = $('
');\r\n slide.append(shadowBefore);\r\n }\r\n if (shadowAfter.length === 0) {\r\n shadowAfter = $('
');\r\n slide.append(shadowAfter);\r\n }\r\n if (shadowBefore.length) shadowBefore[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;\r\n if (shadowAfter.length) shadowAfter[0].style.opacity = (-offsetMultiplier) > 0 ? -offsetMultiplier : 0;\r\n }\r\n }\r\n \r\n //Set correct perspective for IE10\r\n if (s.browser.ie) {\r\n var ws = s.wrapper[0].style;\r\n ws.perspectiveOrigin = center + 'px 50%';\r\n }\r\n },\r\n setTransition: function (duration) {\r\n s.slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\r\n }\r\n }\r\n };\r\n\r\n /*=========================\r\n Images Lazy Loading\r\n ===========================*/\r\n s.lazy = {\r\n initialImageLoaded: false,\r\n loadImageInSlide: function (index, loadInDuplicate) {\r\n if (typeof index === 'undefined') return;\r\n if (typeof loadInDuplicate === 'undefined') loadInDuplicate = true;\r\n if (s.slides.length === 0) return;\r\n \r\n var slide = s.slides.eq(index);\r\n var img = slide.find('.swiper-lazy:not(.swiper-lazy-loaded):not(.swiper-lazy-loading)');\r\n if (slide.hasClass('swiper-lazy') && !slide.hasClass('swiper-lazy-loaded') && !slide.hasClass('swiper-lazy-loading')) {\r\n img = img.add(slide[0]);\r\n }\r\n if (img.length === 0) return;\r\n \r\n img.each(function () {\r\n var _img = $(this);\r\n _img.addClass('swiper-lazy-loading');\r\n var background = _img.attr('data-background');\r\n var src = _img.attr('data-src'),\r\n srcset = _img.attr('data-srcset');\r\n s.loadImage(_img[0], (src || background), srcset, false, function () {\r\n if (background) {\r\n _img.css('background-image', 'url(\"' + background + '\")');\r\n _img.removeAttr('data-background');\r\n }\r\n else {\r\n if (srcset) {\r\n _img.attr('srcset', srcset);\r\n _img.removeAttr('data-srcset');\r\n }\r\n if (src) {\r\n _img.attr('src', src);\r\n _img.removeAttr('data-src');\r\n }\r\n \r\n }\r\n \r\n _img.addClass('swiper-lazy-loaded').removeClass('swiper-lazy-loading');\r\n slide.find('.swiper-lazy-preloader, .preloader').remove();\r\n if (s.params.loop && loadInDuplicate) {\r\n var slideOriginalIndex = slide.attr('data-swiper-slide-index');\r\n if (slide.hasClass(s.params.slideDuplicateClass)) {\r\n var originalSlide = s.wrapper.children('[data-swiper-slide-index=\"' + slideOriginalIndex + '\"]:not(.' + s.params.slideDuplicateClass + ')');\r\n s.lazy.loadImageInSlide(originalSlide.index(), false);\r\n }\r\n else {\r\n var duplicatedSlide = s.wrapper.children('.' + s.params.slideDuplicateClass + '[data-swiper-slide-index=\"' + slideOriginalIndex + '\"]');\r\n s.lazy.loadImageInSlide(duplicatedSlide.index(), false);\r\n }\r\n }\r\n s.emit('onLazyImageReady', s, slide[0], _img[0]);\r\n });\r\n \r\n s.emit('onLazyImageLoad', s, slide[0], _img[0]);\r\n });\r\n \r\n },\r\n load: function () {\r\n var i;\r\n if (s.params.watchSlidesVisibility) {\r\n s.wrapper.children('.' + s.params.slideVisibleClass).each(function () {\r\n s.lazy.loadImageInSlide($(this).index());\r\n });\r\n }\r\n else {\r\n if (s.params.slidesPerView > 1) {\r\n for (i = s.activeIndex; i < s.activeIndex + s.params.slidesPerView ; i++) {\r\n if (s.slides[i]) s.lazy.loadImageInSlide(i);\r\n }\r\n }\r\n else {\r\n s.lazy.loadImageInSlide(s.activeIndex);\r\n }\r\n }\r\n if (s.params.lazyLoadingInPrevNext) {\r\n if (s.params.slidesPerView > 1 || (s.params.lazyLoadingInPrevNextAmount && s.params.lazyLoadingInPrevNextAmount > 1)) {\r\n var amount = s.params.lazyLoadingInPrevNextAmount;\r\n var spv = s.params.slidesPerView;\r\n var maxIndex = Math.min(s.activeIndex + spv + Math.max(amount, spv), s.slides.length);\r\n var minIndex = Math.max(s.activeIndex - Math.max(spv, amount), 0);\r\n // Next Slides\r\n for (i = s.activeIndex + s.params.slidesPerView; i < maxIndex; i++) {\r\n if (s.slides[i]) s.lazy.loadImageInSlide(i);\r\n }\r\n // Prev Slides\r\n for (i = minIndex; i < s.activeIndex ; i++) {\r\n if (s.slides[i]) s.lazy.loadImageInSlide(i);\r\n }\r\n }\r\n else {\r\n var nextSlide = s.wrapper.children('.' + s.params.slideNextClass);\r\n if (nextSlide.length > 0) s.lazy.loadImageInSlide(nextSlide.index());\r\n \r\n var prevSlide = s.wrapper.children('.' + s.params.slidePrevClass);\r\n if (prevSlide.length > 0) s.lazy.loadImageInSlide(prevSlide.index());\r\n }\r\n }\r\n },\r\n onTransitionStart: function () {\r\n if (s.params.lazyLoading) {\r\n if (s.params.lazyLoadingOnTransitionStart || (!s.params.lazyLoadingOnTransitionStart && !s.lazy.initialImageLoaded)) {\r\n s.lazy.load();\r\n }\r\n }\r\n },\r\n onTransitionEnd: function () {\r\n if (s.params.lazyLoading && !s.params.lazyLoadingOnTransitionStart) {\r\n s.lazy.load();\r\n }\r\n }\r\n };\r\n \r\n\r\n /*=========================\r\n Scrollbar\r\n ===========================*/\r\n s.scrollbar = {\r\n isTouched: false,\r\n setDragPosition: function (e) {\r\n var sb = s.scrollbar;\r\n var x = 0, y = 0;\r\n var translate;\r\n var pointerPosition = s.isHorizontal() ?\r\n ((e.type === 'touchstart' || e.type === 'touchmove') ? e.targetTouches[0].pageX : e.pageX || e.clientX) :\r\n ((e.type === 'touchstart' || e.type === 'touchmove') ? e.targetTouches[0].pageY : e.pageY || e.clientY) ;\r\n var position = (pointerPosition) - sb.track.offset()[s.isHorizontal() ? 'left' : 'top'] - sb.dragSize / 2;\r\n var positionMin = -s.minTranslate() * sb.moveDivider;\r\n var positionMax = -s.maxTranslate() * sb.moveDivider;\r\n if (position < positionMin) {\r\n position = positionMin;\r\n }\r\n else if (position > positionMax) {\r\n position = positionMax;\r\n }\r\n position = -position / sb.moveDivider;\r\n s.updateProgress(position);\r\n s.setWrapperTranslate(position, true);\r\n },\r\n dragStart: function (e) {\r\n var sb = s.scrollbar;\r\n sb.isTouched = true;\r\n e.preventDefault();\r\n e.stopPropagation();\r\n \r\n sb.setDragPosition(e);\r\n clearTimeout(sb.dragTimeout);\r\n \r\n sb.track.transition(0);\r\n if (s.params.scrollbarHide) {\r\n sb.track.css('opacity', 1);\r\n }\r\n s.wrapper.transition(100);\r\n sb.drag.transition(100);\r\n s.emit('onScrollbarDragStart', s);\r\n },\r\n dragMove: function (e) {\r\n var sb = s.scrollbar;\r\n if (!sb.isTouched) return;\r\n if (e.preventDefault) e.preventDefault();\r\n else e.returnValue = false;\r\n sb.setDragPosition(e);\r\n s.wrapper.transition(0);\r\n sb.track.transition(0);\r\n sb.drag.transition(0);\r\n s.emit('onScrollbarDragMove', s);\r\n },\r\n dragEnd: function (e) {\r\n var sb = s.scrollbar;\r\n if (!sb.isTouched) return;\r\n sb.isTouched = false;\r\n if (s.params.scrollbarHide) {\r\n clearTimeout(sb.dragTimeout);\r\n sb.dragTimeout = setTimeout(function () {\r\n sb.track.css('opacity', 0);\r\n sb.track.transition(400);\r\n }, 1000);\r\n \r\n }\r\n s.emit('onScrollbarDragEnd', s);\r\n if (s.params.scrollbarSnapOnRelease) {\r\n s.slideReset();\r\n }\r\n },\r\n enableDraggable: function () {\r\n var sb = s.scrollbar;\r\n var target = s.support.touch ? sb.track : document;\r\n $(sb.track).on(s.touchEvents.start, sb.dragStart);\r\n $(target).on(s.touchEvents.move, sb.dragMove);\r\n $(target).on(s.touchEvents.end, sb.dragEnd);\r\n },\r\n disableDraggable: function () {\r\n var sb = s.scrollbar;\r\n var target = s.support.touch ? sb.track : document;\r\n $(sb.track).off(s.touchEvents.start, sb.dragStart);\r\n $(target).off(s.touchEvents.move, sb.dragMove);\r\n $(target).off(s.touchEvents.end, sb.dragEnd);\r\n },\r\n set: function () {\r\n if (!s.params.scrollbar) return;\r\n var sb = s.scrollbar;\r\n sb.track = $(s.params.scrollbar);\r\n if (s.params.uniqueNavElements && typeof s.params.scrollbar === 'string' && sb.track.length > 1 && s.container.find(s.params.scrollbar).length === 1) {\r\n sb.track = s.container.find(s.params.scrollbar);\r\n }\r\n sb.drag = sb.track.find('.swiper-scrollbar-drag');\r\n if (sb.drag.length === 0) {\r\n sb.drag = $('
');\r\n sb.track.append(sb.drag);\r\n }\r\n sb.drag[0].style.width = '';\r\n sb.drag[0].style.height = '';\r\n sb.trackSize = s.isHorizontal() ? sb.track[0].offsetWidth : sb.track[0].offsetHeight;\r\n \r\n sb.divider = s.size / s.virtualSize;\r\n sb.moveDivider = sb.divider * (sb.trackSize / s.size);\r\n sb.dragSize = sb.trackSize * sb.divider;\r\n \r\n if (s.isHorizontal()) {\r\n sb.drag[0].style.width = sb.dragSize + 'px';\r\n }\r\n else {\r\n sb.drag[0].style.height = sb.dragSize + 'px';\r\n }\r\n \r\n if (sb.divider >= 1) {\r\n sb.track[0].style.display = 'none';\r\n }\r\n else {\r\n sb.track[0].style.display = '';\r\n }\r\n if (s.params.scrollbarHide) {\r\n sb.track[0].style.opacity = 0;\r\n }\r\n },\r\n setTranslate: function () {\r\n if (!s.params.scrollbar) return;\r\n var diff;\r\n var sb = s.scrollbar;\r\n var translate = s.translate || 0;\r\n var newPos;\r\n \r\n var newSize = sb.dragSize;\r\n newPos = (sb.trackSize - sb.dragSize) * s.progress;\r\n if (s.rtl && s.isHorizontal()) {\r\n newPos = -newPos;\r\n if (newPos > 0) {\r\n newSize = sb.dragSize - newPos;\r\n newPos = 0;\r\n }\r\n else if (-newPos + sb.dragSize > sb.trackSize) {\r\n newSize = sb.trackSize + newPos;\r\n }\r\n }\r\n else {\r\n if (newPos < 0) {\r\n newSize = sb.dragSize + newPos;\r\n newPos = 0;\r\n }\r\n else if (newPos + sb.dragSize > sb.trackSize) {\r\n newSize = sb.trackSize - newPos;\r\n }\r\n }\r\n if (s.isHorizontal()) {\r\n if (s.support.transforms3d) {\r\n sb.drag.transform('translate3d(' + (newPos) + 'px, 0, 0)');\r\n }\r\n else {\r\n sb.drag.transform('translateX(' + (newPos) + 'px)');\r\n }\r\n sb.drag[0].style.width = newSize + 'px';\r\n }\r\n else {\r\n if (s.support.transforms3d) {\r\n sb.drag.transform('translate3d(0px, ' + (newPos) + 'px, 0)');\r\n }\r\n else {\r\n sb.drag.transform('translateY(' + (newPos) + 'px)');\r\n }\r\n sb.drag[0].style.height = newSize + 'px';\r\n }\r\n if (s.params.scrollbarHide) {\r\n clearTimeout(sb.timeout);\r\n sb.track[0].style.opacity = 1;\r\n sb.timeout = setTimeout(function () {\r\n sb.track[0].style.opacity = 0;\r\n sb.track.transition(400);\r\n }, 1000);\r\n }\r\n },\r\n setTransition: function (duration) {\r\n if (!s.params.scrollbar) return;\r\n s.scrollbar.drag.transition(duration);\r\n }\r\n };\r\n\r\n /*=========================\r\n Controller\r\n ===========================*/\r\n s.controller = {\r\n LinearSpline: function (x, y) {\r\n this.x = x;\r\n this.y = y;\r\n this.lastIndex = x.length - 1;\r\n // Given an x value (x2), return the expected y2 value:\r\n // (x1,y1) is the known point before given value,\r\n // (x3,y3) is the known point after given value.\r\n var i1, i3;\r\n var l = this.x.length;\r\n \r\n this.interpolate = function (x2) {\r\n if (!x2) return 0;\r\n \r\n // Get the indexes of x1 and x3 (the array indexes before and after given x2):\r\n i3 = binarySearch(this.x, x2);\r\n i1 = i3 - 1;\r\n \r\n // We have our indexes i1 & i3, so we can calculate already:\r\n // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1\r\n return ((x2 - this.x[i1]) * (this.y[i3] - this.y[i1])) / (this.x[i3] - this.x[i1]) + this.y[i1];\r\n };\r\n \r\n var binarySearch = (function() {\r\n var maxIndex, minIndex, guess;\r\n return function(array, val) {\r\n minIndex = -1;\r\n maxIndex = array.length;\r\n while (maxIndex - minIndex > 1)\r\n if (array[guess = maxIndex + minIndex >> 1] <= val) {\r\n minIndex = guess;\r\n } else {\r\n maxIndex = guess;\r\n }\r\n return maxIndex;\r\n };\r\n })();\r\n },\r\n //xxx: for now i will just save one spline function to to\r\n getInterpolateFunction: function(c){\r\n if(!s.controller.spline) s.controller.spline = s.params.loop ?\r\n new s.controller.LinearSpline(s.slidesGrid, c.slidesGrid) :\r\n new s.controller.LinearSpline(s.snapGrid, c.snapGrid);\r\n },\r\n setTranslate: function (translate, byController) {\r\n var controlled = s.params.control;\r\n var multiplier, controlledTranslate;\r\n function setControlledTranslate(c) {\r\n // this will create an Interpolate function based on the snapGrids\r\n // x is the Grid of the scrolled scroller and y will be the controlled scroller\r\n // it makes sense to create this only once and recall it for the interpolation\r\n // the function does a lot of value caching for performance\r\n translate = c.rtl && c.params.direction === 'horizontal' ? -s.translate : s.translate;\r\n if (s.params.controlBy === 'slide') {\r\n s.controller.getInterpolateFunction(c);\r\n // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid\r\n // but it did not work out\r\n controlledTranslate = -s.controller.spline.interpolate(-translate);\r\n }\r\n \r\n if(!controlledTranslate || s.params.controlBy === 'container'){\r\n multiplier = (c.maxTranslate() - c.minTranslate()) / (s.maxTranslate() - s.minTranslate());\r\n controlledTranslate = (translate - s.minTranslate()) * multiplier + c.minTranslate();\r\n }\r\n \r\n if (s.params.controlInverse) {\r\n controlledTranslate = c.maxTranslate() - controlledTranslate;\r\n }\r\n c.updateProgress(controlledTranslate);\r\n c.setWrapperTranslate(controlledTranslate, false, s);\r\n c.updateActiveIndex();\r\n }\r\n if (s.isArray(controlled)) {\r\n for (var i = 0; i < controlled.length; i++) {\r\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\r\n setControlledTranslate(controlled[i]);\r\n }\r\n }\r\n }\r\n else if (controlled instanceof Swiper && byController !== controlled) {\r\n \r\n setControlledTranslate(controlled);\r\n }\r\n },\r\n setTransition: function (duration, byController) {\r\n var controlled = s.params.control;\r\n var i;\r\n function setControlledTransition(c) {\r\n c.setWrapperTransition(duration, s);\r\n if (duration !== 0) {\r\n c.onTransitionStart();\r\n c.wrapper.transitionEnd(function(){\r\n if (!controlled) return;\r\n if (c.params.loop && s.params.controlBy === 'slide') {\r\n c.fixLoop();\r\n }\r\n c.onTransitionEnd();\r\n \r\n });\r\n }\r\n }\r\n if (s.isArray(controlled)) {\r\n for (i = 0; i < controlled.length; i++) {\r\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\r\n setControlledTransition(controlled[i]);\r\n }\r\n }\r\n }\r\n else if (controlled instanceof Swiper && byController !== controlled) {\r\n setControlledTransition(controlled);\r\n }\r\n }\r\n };\r\n\r\n /*=========================\r\n Hash Navigation\r\n ===========================*/\r\n s.hashnav = {\r\n init: function () {\r\n if (!s.params.hashnav) return;\r\n s.hashnav.initialized = true;\r\n var hash = document.location.hash.replace('#', '');\r\n if (!hash) return;\r\n var speed = 0;\r\n for (var i = 0, length = s.slides.length; i < length; i++) {\r\n var slide = s.slides.eq(i);\r\n var slideHash = slide.attr('data-hash');\r\n if (slideHash === hash && !slide.hasClass(s.params.slideDuplicateClass)) {\r\n var index = slide.index();\r\n s.slideTo(index, speed, s.params.runCallbacksOnInit, true);\r\n }\r\n }\r\n },\r\n setHash: function () {\r\n if (!s.hashnav.initialized || !s.params.hashnav) return;\r\n document.location.hash = s.slides.eq(s.activeIndex).attr('data-hash') || '';\r\n }\r\n };\r\n\r\n /*=========================\r\n Keyboard Control\r\n ===========================*/\r\n function handleKeyboard(e) {\r\n if (e.originalEvent) e = e.originalEvent; //jquery fix\r\n var kc = e.keyCode || e.charCode;\r\n // Directions locks\r\n if (!s.params.allowSwipeToNext && (s.isHorizontal() && kc === 39 || !s.isHorizontal() && kc === 40)) {\r\n return false;\r\n }\r\n if (!s.params.allowSwipeToPrev && (s.isHorizontal() && kc === 37 || !s.isHorizontal() && kc === 38)) {\r\n return false;\r\n }\r\n if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {\r\n return;\r\n }\r\n if (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) {\r\n return;\r\n }\r\n if (kc === 37 || kc === 39 || kc === 38 || kc === 40) {\r\n var inView = false;\r\n //Check that swiper should be inside of visible area of window\r\n if (s.container.parents('.swiper-slide').length > 0 && s.container.parents('.swiper-slide-active').length === 0) {\r\n return;\r\n }\r\n var windowScroll = {\r\n left: window.pageXOffset,\r\n top: window.pageYOffset\r\n };\r\n var windowWidth = window.innerWidth;\r\n var windowHeight = window.innerHeight;\r\n var swiperOffset = s.container.offset();\r\n if (s.rtl) swiperOffset.left = swiperOffset.left - s.container[0].scrollLeft;\r\n var swiperCoord = [\r\n [swiperOffset.left, swiperOffset.top],\r\n [swiperOffset.left + s.width, swiperOffset.top],\r\n [swiperOffset.left, swiperOffset.top + s.height],\r\n [swiperOffset.left + s.width, swiperOffset.top + s.height]\r\n ];\r\n for (var i = 0; i < swiperCoord.length; i++) {\r\n var point = swiperCoord[i];\r\n if (\r\n point[0] >= windowScroll.left && point[0] <= windowScroll.left + windowWidth &&\r\n point[1] >= windowScroll.top && point[1] <= windowScroll.top + windowHeight\r\n ) {\r\n inView = true;\r\n }\r\n \r\n }\r\n if (!inView) return;\r\n }\r\n if (s.isHorizontal()) {\r\n if (kc === 37 || kc === 39) {\r\n if (e.preventDefault) e.preventDefault();\r\n else e.returnValue = false;\r\n }\r\n if ((kc === 39 && !s.rtl) || (kc === 37 && s.rtl)) s.slideNext();\r\n if ((kc === 37 && !s.rtl) || (kc === 39 && s.rtl)) s.slidePrev();\r\n }\r\n else {\r\n if (kc === 38 || kc === 40) {\r\n if (e.preventDefault) e.preventDefault();\r\n else e.returnValue = false;\r\n }\r\n if (kc === 40) s.slideNext();\r\n if (kc === 38) s.slidePrev();\r\n }\r\n }\r\n s.disableKeyboardControl = function () {\r\n s.params.keyboardControl = false;\r\n $(document).off('keydown', handleKeyboard);\r\n };\r\n s.enableKeyboardControl = function () {\r\n s.params.keyboardControl = true;\r\n $(document).on('keydown', handleKeyboard);\r\n };\r\n \r\n\r\n /*=========================\r\n Mousewheel Control\r\n ===========================*/\r\n s.mousewheel = {\r\n event: false,\r\n lastScrollTime: (new window.Date()).getTime()\r\n };\r\n if (s.params.mousewheelControl) {\r\n try {\r\n new window.WheelEvent('wheel');\r\n s.mousewheel.event = 'wheel';\r\n } catch (e) {\r\n if (window.WheelEvent || (s.container[0] && 'wheel' in s.container[0])) {\r\n s.mousewheel.event = 'wheel';\r\n }\r\n }\r\n if (!s.mousewheel.event && window.WheelEvent) {\r\n \r\n }\r\n if (!s.mousewheel.event && document.onmousewheel !== undefined) {\r\n s.mousewheel.event = 'mousewheel';\r\n }\r\n if (!s.mousewheel.event) {\r\n s.mousewheel.event = 'DOMMouseScroll';\r\n }\r\n }\r\n function handleMousewheel(e) {\r\n if (e.originalEvent) e = e.originalEvent; //jquery fix\r\n var we = s.mousewheel.event;\r\n var delta = 0;\r\n var rtlFactor = s.rtl ? -1 : 1;\r\n \r\n //WebKits\r\n if (we === 'mousewheel') {\r\n if (s.params.mousewheelForceToAxis) {\r\n if (s.isHorizontal()) {\r\n if (Math.abs(e.wheelDeltaX) > Math.abs(e.wheelDeltaY)) delta = e.wheelDeltaX * rtlFactor;\r\n else return;\r\n }\r\n else {\r\n if (Math.abs(e.wheelDeltaY) > Math.abs(e.wheelDeltaX)) delta = e.wheelDeltaY;\r\n else return;\r\n }\r\n }\r\n else {\r\n delta = Math.abs(e.wheelDeltaX) > Math.abs(e.wheelDeltaY) ? - e.wheelDeltaX * rtlFactor : - e.wheelDeltaY;\r\n }\r\n }\r\n //Old FireFox\r\n else if (we === 'DOMMouseScroll') delta = -e.detail;\r\n //New FireFox\r\n else if (we === 'wheel') {\r\n if (s.params.mousewheelForceToAxis) {\r\n if (s.isHorizontal()) {\r\n if (Math.abs(e.deltaX) > Math.abs(e.deltaY)) delta = -e.deltaX * rtlFactor;\r\n else return;\r\n }\r\n else {\r\n if (Math.abs(e.deltaY) > Math.abs(e.deltaX)) delta = -e.deltaY;\r\n else return;\r\n }\r\n }\r\n else {\r\n delta = Math.abs(e.deltaX) > Math.abs(e.deltaY) ? - e.deltaX * rtlFactor : - e.deltaY;\r\n }\r\n }\r\n if (delta === 0) return;\r\n \r\n if (s.params.mousewheelInvert) delta = -delta;\r\n \r\n if (!s.params.freeMode) {\r\n if ((new window.Date()).getTime() - s.mousewheel.lastScrollTime > 60) {\r\n if (delta < 0) {\r\n if ((!s.isEnd || s.params.loop) && !s.animating) s.slideNext();\r\n else if (s.params.mousewheelReleaseOnEdges) return true;\r\n }\r\n else {\r\n if ((!s.isBeginning || s.params.loop) && !s.animating) s.slidePrev();\r\n else if (s.params.mousewheelReleaseOnEdges) return true;\r\n }\r\n }\r\n s.mousewheel.lastScrollTime = (new window.Date()).getTime();\r\n \r\n }\r\n else {\r\n //Freemode or scrollContainer:\r\n var position = s.getWrapperTranslate() + delta * s.params.mousewheelSensitivity;\r\n var wasBeginning = s.isBeginning,\r\n wasEnd = s.isEnd;\r\n \r\n if (position >= s.minTranslate()) position = s.minTranslate();\r\n if (position <= s.maxTranslate()) position = s.maxTranslate();\r\n \r\n s.setWrapperTransition(0);\r\n s.setWrapperTranslate(position);\r\n s.updateProgress();\r\n s.updateActiveIndex();\r\n \r\n if (!wasBeginning && s.isBeginning || !wasEnd && s.isEnd) {\r\n s.updateClasses();\r\n }\r\n \r\n if (s.params.freeModeSticky) {\r\n clearTimeout(s.mousewheel.timeout);\r\n s.mousewheel.timeout = setTimeout(function () {\r\n s.slideReset();\r\n }, 300);\r\n }\r\n else {\r\n if (s.params.lazyLoading && s.lazy) {\r\n s.lazy.load();\r\n }\r\n }\r\n \r\n // Return page scroll on edge positions\r\n if (position === 0 || position === s.maxTranslate()) return;\r\n }\r\n if (s.params.autoplay) s.stopAutoplay();\r\n \r\n if (e.preventDefault) e.preventDefault();\r\n else e.returnValue = false;\r\n return false;\r\n }\r\n s.disableMousewheelControl = function () {\r\n if (!s.mousewheel.event) return false;\r\n s.container.off(s.mousewheel.event, handleMousewheel);\r\n return true;\r\n };\r\n \r\n s.enableMousewheelControl = function () {\r\n if (!s.mousewheel.event) return false;\r\n s.container.on(s.mousewheel.event, handleMousewheel);\r\n return true;\r\n };\r\n \r\n\r\n /*=========================\r\n Parallax\r\n ===========================*/\r\n function setParallaxTransform(el, progress) {\r\n el = $(el);\r\n var p, pX, pY;\r\n var rtlFactor = s.rtl ? -1 : 1;\r\n \r\n p = el.attr('data-swiper-parallax') || '0';\r\n pX = el.attr('data-swiper-parallax-x');\r\n pY = el.attr('data-swiper-parallax-y');\r\n if (pX || pY) {\r\n pX = pX || '0';\r\n pY = pY || '0';\r\n }\r\n else {\r\n if (s.isHorizontal()) {\r\n pX = p;\r\n pY = '0';\r\n }\r\n else {\r\n pY = p;\r\n pX = '0';\r\n }\r\n }\r\n \r\n if ((pX).indexOf('%') >= 0) {\r\n pX = parseInt(pX, 10) * progress * rtlFactor + '%';\r\n }\r\n else {\r\n pX = pX * progress * rtlFactor + 'px' ;\r\n }\r\n if ((pY).indexOf('%') >= 0) {\r\n pY = parseInt(pY, 10) * progress + '%';\r\n }\r\n else {\r\n pY = pY * progress + 'px' ;\r\n }\r\n \r\n el.transform('translate3d(' + pX + ', ' + pY + ',0px)');\r\n }\r\n s.parallax = {\r\n setTranslate: function () {\r\n s.container.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function(){\r\n setParallaxTransform(this, s.progress);\r\n \r\n });\r\n s.slides.each(function () {\r\n var slide = $(this);\r\n slide.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function () {\r\n var progress = Math.min(Math.max(slide[0].progress, -1), 1);\r\n setParallaxTransform(this, progress);\r\n });\r\n });\r\n },\r\n setTransition: function (duration) {\r\n if (typeof duration === 'undefined') duration = s.params.speed;\r\n s.container.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function(){\r\n var el = $(this);\r\n var parallaxDuration = parseInt(el.attr('data-swiper-parallax-duration'), 10) || duration;\r\n if (duration === 0) parallaxDuration = 0;\r\n el.transition(parallaxDuration);\r\n });\r\n }\r\n };\r\n \r\n\r\n /*=========================\r\n Plugins API. Collect all and init all plugins\r\n ===========================*/\r\n s._plugins = [];\r\n for (var plugin in s.plugins) {\r\n var p = s.plugins[plugin](s, s.params[plugin]);\r\n if (p) s._plugins.push(p);\r\n }\r\n // Method to call all plugins event/method\r\n s.callPlugins = function (eventName) {\r\n for (var i = 0; i < s._plugins.length; i++) {\r\n if (eventName in s._plugins[i]) {\r\n s._plugins[i][eventName](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]);\r\n }\r\n }\r\n };\r\n\r\n /*=========================\r\n Events/Callbacks/Plugins Emitter\r\n ===========================*/\r\n function normalizeEventName (eventName) {\r\n if (eventName.indexOf('on') !== 0) {\r\n if (eventName[0] !== eventName[0].toUpperCase()) {\r\n eventName = 'on' + eventName[0].toUpperCase() + eventName.substring(1);\r\n }\r\n else {\r\n eventName = 'on' + eventName;\r\n }\r\n }\r\n return eventName;\r\n }\r\n s.emitterEventListeners = {\r\n \r\n };\r\n s.emit = function (eventName) {\r\n // Trigger callbacks\r\n if (s.params[eventName]) {\r\n s.params[eventName](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]);\r\n }\r\n var i;\r\n // Trigger events\r\n if (s.emitterEventListeners[eventName]) {\r\n for (i = 0; i < s.emitterEventListeners[eventName].length; i++) {\r\n s.emitterEventListeners[eventName][i](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]);\r\n }\r\n }\r\n // Trigger plugins\r\n if (s.callPlugins) s.callPlugins(eventName, arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]);\r\n };\r\n s.on = function (eventName, handler) {\r\n eventName = normalizeEventName(eventName);\r\n if (!s.emitterEventListeners[eventName]) s.emitterEventListeners[eventName] = [];\r\n s.emitterEventListeners[eventName].push(handler);\r\n return s;\r\n };\r\n s.off = function (eventName, handler) {\r\n var i;\r\n eventName = normalizeEventName(eventName);\r\n if (typeof handler === 'undefined') {\r\n // Remove all handlers for such event\r\n s.emitterEventListeners[eventName] = [];\r\n return s;\r\n }\r\n if (!s.emitterEventListeners[eventName] || s.emitterEventListeners[eventName].length === 0) return;\r\n for (i = 0; i < s.emitterEventListeners[eventName].length; i++) {\r\n if(s.emitterEventListeners[eventName][i] === handler) s.emitterEventListeners[eventName].splice(i, 1);\r\n }\r\n return s;\r\n };\r\n s.once = function (eventName, handler) {\r\n eventName = normalizeEventName(eventName);\r\n var _handler = function () {\r\n handler(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4]);\r\n s.off(eventName, _handler);\r\n };\r\n s.on(eventName, _handler);\r\n return s;\r\n };\r\n\r\n // Accessibility tools\r\n s.a11y = {\r\n makeFocusable: function ($el) {\r\n $el.attr('tabIndex', '0');\r\n return $el;\r\n },\r\n addRole: function ($el, role) {\r\n $el.attr('role', role);\r\n return $el;\r\n },\r\n \r\n addLabel: function ($el, label) {\r\n $el.attr('aria-label', label);\r\n return $el;\r\n },\r\n \r\n disable: function ($el) {\r\n $el.attr('aria-disabled', true);\r\n return $el;\r\n },\r\n \r\n enable: function ($el) {\r\n $el.attr('aria-disabled', false);\r\n return $el;\r\n },\r\n \r\n onEnterKey: function (event) {\r\n if (event.keyCode !== 13) return;\r\n if ($(event.target).is(s.params.nextButton)) {\r\n s.onClickNext(event);\r\n if (s.isEnd) {\r\n s.a11y.notify(s.params.lastSlideMessage);\r\n }\r\n else {\r\n s.a11y.notify(s.params.nextSlideMessage);\r\n }\r\n }\r\n else if ($(event.target).is(s.params.prevButton)) {\r\n s.onClickPrev(event);\r\n if (s.isBeginning) {\r\n s.a11y.notify(s.params.firstSlideMessage);\r\n }\r\n else {\r\n s.a11y.notify(s.params.prevSlideMessage);\r\n }\r\n }\r\n if ($(event.target).is('.' + s.params.bulletClass)) {\r\n $(event.target)[0].click();\r\n }\r\n },\r\n \r\n liveRegion: $(''),\r\n \r\n notify: function (message) {\r\n var notification = s.a11y.liveRegion;\r\n if (notification.length === 0) return;\r\n notification.html('');\r\n notification.html(message);\r\n },\r\n init: function () {\r\n // Setup accessibility\r\n if (s.params.nextButton && s.nextButton && s.nextButton.length > 0) {\r\n s.a11y.makeFocusable(s.nextButton);\r\n s.a11y.addRole(s.nextButton, 'button');\r\n s.a11y.addLabel(s.nextButton, s.params.nextSlideMessage);\r\n }\r\n if (s.params.prevButton && s.prevButton && s.prevButton.length > 0) {\r\n s.a11y.makeFocusable(s.prevButton);\r\n s.a11y.addRole(s.prevButton, 'button');\r\n s.a11y.addLabel(s.prevButton, s.params.prevSlideMessage);\r\n }\r\n \r\n $(s.container).append(s.a11y.liveRegion);\r\n },\r\n initPagination: function () {\r\n if (s.params.pagination && s.params.paginationClickable && s.bullets && s.bullets.length) {\r\n s.bullets.each(function () {\r\n var bullet = $(this);\r\n s.a11y.makeFocusable(bullet);\r\n s.a11y.addRole(bullet, 'button');\r\n s.a11y.addLabel(bullet, s.params.paginationBulletMessage.replace(/{{index}}/, bullet.index() + 1));\r\n });\r\n }\r\n },\r\n destroy: function () {\r\n if (s.a11y.liveRegion && s.a11y.liveRegion.length > 0) s.a11y.liveRegion.remove();\r\n }\r\n };\r\n \r\n\r\n /*=========================\r\n Init/Destroy\r\n ===========================*/\r\n s.init = function () {\r\n if (s.params.loop) s.createLoop();\r\n s.updateContainerSize();\r\n s.updateSlidesSize();\r\n s.updatePagination();\r\n if (s.params.scrollbar && s.scrollbar) {\r\n s.scrollbar.set();\r\n if (s.params.scrollbarDraggable) {\r\n s.scrollbar.enableDraggable();\r\n }\r\n }\r\n if (s.params.effect !== 'slide' && s.effects[s.params.effect]) {\r\n if (!s.params.loop) s.updateProgress();\r\n s.effects[s.params.effect].setTranslate();\r\n }\r\n if (s.params.loop) {\r\n s.slideTo(s.params.initialSlide + s.loopedSlides, 0, s.params.runCallbacksOnInit);\r\n }\r\n else {\r\n s.slideTo(s.params.initialSlide, 0, s.params.runCallbacksOnInit);\r\n if (s.params.initialSlide === 0) {\r\n if (s.parallax && s.params.parallax) s.parallax.setTranslate();\r\n if (s.lazy && s.params.lazyLoading) {\r\n s.lazy.load();\r\n s.lazy.initialImageLoaded = true;\r\n }\r\n }\r\n }\r\n s.attachEvents();\r\n if (s.params.observer && s.support.observer) {\r\n s.initObservers();\r\n }\r\n if (s.params.preloadImages && !s.params.lazyLoading) {\r\n s.preloadImages();\r\n }\r\n if (s.params.autoplay) {\r\n s.startAutoplay();\r\n }\r\n if (s.params.keyboardControl) {\r\n if (s.enableKeyboardControl) s.enableKeyboardControl();\r\n }\r\n if (s.params.mousewheelControl) {\r\n if (s.enableMousewheelControl) s.enableMousewheelControl();\r\n }\r\n if (s.params.hashnav) {\r\n if (s.hashnav) s.hashnav.init();\r\n }\r\n if (s.params.a11y && s.a11y) s.a11y.init();\r\n s.emit('onInit', s);\r\n };\r\n \r\n // Cleanup dynamic styles\r\n s.cleanupStyles = function () {\r\n // Container\r\n s.container.removeClass(s.classNames.join(' ')).removeAttr('style');\r\n \r\n // Wrapper\r\n s.wrapper.removeAttr('style');\r\n \r\n // Slides\r\n if (s.slides && s.slides.length) {\r\n s.slides\r\n .removeClass([\r\n s.params.slideVisibleClass,\r\n s.params.slideActiveClass,\r\n s.params.slideNextClass,\r\n s.params.slidePrevClass\r\n ].join(' '))\r\n .removeAttr('style')\r\n .removeAttr('data-swiper-column')\r\n .removeAttr('data-swiper-row');\r\n }\r\n \r\n // Pagination/Bullets\r\n if (s.paginationContainer && s.paginationContainer.length) {\r\n s.paginationContainer.removeClass(s.params.paginationHiddenClass);\r\n }\r\n if (s.bullets && s.bullets.length) {\r\n s.bullets.removeClass(s.params.bulletActiveClass);\r\n }\r\n \r\n // Buttons\r\n if (s.params.prevButton) $(s.params.prevButton).removeClass(s.params.buttonDisabledClass);\r\n if (s.params.nextButton) $(s.params.nextButton).removeClass(s.params.buttonDisabledClass);\r\n \r\n // Scrollbar\r\n if (s.params.scrollbar && s.scrollbar) {\r\n if (s.scrollbar.track && s.scrollbar.track.length) s.scrollbar.track.removeAttr('style');\r\n if (s.scrollbar.drag && s.scrollbar.drag.length) s.scrollbar.drag.removeAttr('style');\r\n }\r\n };\r\n \r\n // Destroy\r\n s.destroy = function (deleteInstance, cleanupStyles) {\r\n // Detach evebts\r\n s.detachEvents();\r\n // Stop autoplay\r\n s.stopAutoplay();\r\n // Disable draggable\r\n if (s.params.scrollbar && s.scrollbar) {\r\n if (s.params.scrollbarDraggable) {\r\n s.scrollbar.disableDraggable();\r\n }\r\n }\r\n // Destroy loop\r\n if (s.params.loop) {\r\n s.destroyLoop();\r\n }\r\n // Cleanup styles\r\n if (cleanupStyles) {\r\n s.cleanupStyles();\r\n }\r\n // Disconnect observer\r\n s.disconnectObservers();\r\n // Disable keyboard/mousewheel\r\n if (s.params.keyboardControl) {\r\n if (s.disableKeyboardControl) s.disableKeyboardControl();\r\n }\r\n if (s.params.mousewheelControl) {\r\n if (s.disableMousewheelControl) s.disableMousewheelControl();\r\n }\r\n // Disable a11y\r\n if (s.params.a11y && s.a11y) s.a11y.destroy();\r\n // Destroy callback\r\n s.emit('onDestroy');\r\n // Delete instance\r\n if (deleteInstance !== false) s = null;\r\n };\r\n \r\n s.init();\r\n \r\n\r\n \r\n // Return swiper instance\r\n return s;\r\n };\r\n \r\n\r\n /*==================================================\r\n Prototype\r\n ====================================================*/\r\n Swiper.prototype = {\r\n isSafari: (function () {\r\n var ua = navigator.userAgent.toLowerCase();\r\n return (ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0);\r\n })(),\r\n isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent),\r\n isArray: function (arr) {\r\n return Object.prototype.toString.apply(arr) === '[object Array]';\r\n },\r\n /*==================================================\r\n Browser\r\n ====================================================*/\r\n browser: {\r\n ie: window.navigator.pointerEnabled || window.navigator.msPointerEnabled,\r\n ieTouch: (window.navigator.msPointerEnabled && window.navigator.msMaxTouchPoints > 1) || (window.navigator.pointerEnabled && window.navigator.maxTouchPoints > 1)\r\n },\r\n /*==================================================\r\n Devices\r\n ====================================================*/\r\n device: (function () {\r\n var ua = navigator.userAgent;\r\n var android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/);\r\n var ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\r\n var ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\r\n var iphone = !ipad && ua.match(/(iPhone\\sOS)\\s([\\d_]+)/);\r\n return {\r\n ios: ipad || iphone || ipod,\r\n android: android\r\n };\r\n })(),\r\n /*==================================================\r\n Feature Detection\r\n ====================================================*/\r\n support: {\r\n touch : (window.Modernizr && Modernizr.touch === true) || (function () {\r\n return !!(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch);\r\n })(),\r\n \r\n transforms3d : (window.Modernizr && Modernizr.csstransforms3d === true) || (function () {\r\n var div = document.createElement('div').style;\r\n return ('webkitPerspective' in div || 'MozPerspective' in div || 'OPerspective' in div || 'MsPerspective' in div || 'perspective' in div);\r\n })(),\r\n \r\n flexbox: (function () {\r\n var div = document.createElement('div').style;\r\n var styles = ('alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient').split(' ');\r\n for (var i = 0; i < styles.length; i++) {\r\n if (styles[i] in div) return true;\r\n }\r\n })(),\r\n \r\n observer: (function () {\r\n return ('MutationObserver' in window || 'WebkitMutationObserver' in window);\r\n })()\r\n },\r\n /*==================================================\r\n Plugins\r\n ====================================================*/\r\n plugins: {}\r\n };\r\n \r\n\r\n /*===========================\r\n Dom7 Library\r\n ===========================*/\r\n var Dom7 = (function () {\r\n var Dom7 = function (arr) {\r\n var _this = this, i = 0;\r\n // Create array-like object\r\n for (i = 0; i < arr.length; i++) {\r\n _this[i] = arr[i];\r\n }\r\n _this.length = arr.length;\r\n // Return collection with methods\r\n return this;\r\n };\r\n var $ = function (selector, context) {\r\n var arr = [], i = 0;\r\n if (selector && !context) {\r\n if (selector instanceof Dom7) {\r\n return selector;\r\n }\r\n }\r\n if (selector) {\r\n // String\r\n if (typeof selector === 'string') {\r\n var els, tempParent, html = selector.trim();\r\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\r\n var toCreate = 'div';\r\n if (html.indexOf(':~]/)) {\r\n // Pure ID selector\r\n els = [document.getElementById(selector.split('#')[1])];\r\n }\r\n else {\r\n // Other selectors\r\n els = (context || document).querySelectorAll(selector);\r\n }\r\n for (i = 0; i < els.length; i++) {\r\n if (els[i]) arr.push(els[i]);\r\n }\r\n }\r\n }\r\n // Node/element\r\n else if (selector.nodeType || selector === window || selector === document) {\r\n arr.push(selector);\r\n }\r\n //Array of elements or instance of Dom\r\n else if (selector.length > 0 && selector[0].nodeType) {\r\n for (i = 0; i < selector.length; i++) {\r\n arr.push(selector[i]);\r\n }\r\n }\r\n }\r\n return new Dom7(arr);\r\n };\r\n Dom7.prototype = {\r\n // Classes and attriutes\r\n addClass: function (className) {\r\n if (typeof className === 'undefined') {\r\n return this;\r\n }\r\n var classes = className.split(' ');\r\n for (var i = 0; i < classes.length; i++) {\r\n for (var j = 0; j < this.length; j++) {\r\n this[j].classList.add(classes[i]);\r\n }\r\n }\r\n return this;\r\n },\r\n removeClass: function (className) {\r\n var classes = className.split(' ');\r\n for (var i = 0; i < classes.length; i++) {\r\n for (var j = 0; j < this.length; j++) {\r\n this[j].classList.remove(classes[i]);\r\n }\r\n }\r\n return this;\r\n },\r\n hasClass: function (className) {\r\n if (!this[0]) return false;\r\n else return this[0].classList.contains(className);\r\n },\r\n toggleClass: function (className) {\r\n var classes = className.split(' ');\r\n for (var i = 0; i < classes.length; i++) {\r\n for (var j = 0; j < this.length; j++) {\r\n this[j].classList.toggle(classes[i]);\r\n }\r\n }\r\n return this;\r\n },\r\n attr: function (attrs, value) {\r\n if (arguments.length === 1 && typeof attrs === 'string') {\r\n // Get attr\r\n if (this[0]) return this[0].getAttribute(attrs);\r\n else return undefined;\r\n }\r\n else {\r\n // Set attrs\r\n for (var i = 0; i < this.length; i++) {\r\n if (arguments.length === 2) {\r\n // String\r\n this[i].setAttribute(attrs, value);\r\n }\r\n else {\r\n // Object\r\n for (var attrName in attrs) {\r\n this[i][attrName] = attrs[attrName];\r\n this[i].setAttribute(attrName, attrs[attrName]);\r\n }\r\n }\r\n }\r\n return this;\r\n }\r\n },\r\n removeAttr: function (attr) {\r\n for (var i = 0; i < this.length; i++) {\r\n this[i].removeAttribute(attr);\r\n }\r\n return this;\r\n },\r\n data: function (key, value) {\r\n if (typeof value === 'undefined') {\r\n // Get value\r\n if (this[0]) {\r\n var dataKey = this[0].getAttribute('data-' + key);\r\n if (dataKey) return dataKey;\r\n else if (this[0].dom7ElementDataStorage && (key in this[0].dom7ElementDataStorage)) return this[0].dom7ElementDataStorage[key];\r\n else return undefined;\r\n }\r\n else return undefined;\r\n }\r\n else {\r\n // Set value\r\n for (var i = 0; i < this.length; i++) {\r\n var el = this[i];\r\n if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};\r\n el.dom7ElementDataStorage[key] = value;\r\n }\r\n return this;\r\n }\r\n },\r\n // Transforms\r\n transform : function (transform) {\r\n for (var i = 0; i < this.length; i++) {\r\n var elStyle = this[i].style;\r\n elStyle.webkitTransform = elStyle.MsTransform = elStyle.msTransform = elStyle.MozTransform = elStyle.OTransform = elStyle.transform = transform;\r\n }\r\n return this;\r\n },\r\n transition: function (duration) {\r\n if (typeof duration !== 'string') {\r\n duration = duration + 'ms';\r\n }\r\n for (var i = 0; i < this.length; i++) {\r\n var elStyle = this[i].style;\r\n elStyle.webkitTransitionDuration = elStyle.MsTransitionDuration = elStyle.msTransitionDuration = elStyle.MozTransitionDuration = elStyle.OTransitionDuration = elStyle.transitionDuration = duration;\r\n }\r\n return this;\r\n },\r\n //Events\r\n on: function (eventName, targetSelector, listener, capture) {\r\n function handleLiveEvent(e) {\r\n var target = e.target;\r\n if ($(target).is(targetSelector)) listener.call(target, e);\r\n else {\r\n var parents = $(target).parents();\r\n for (var k = 0; k < parents.length; k++) {\r\n if ($(parents[k]).is(targetSelector)) listener.call(parents[k], e);\r\n }\r\n }\r\n }\r\n var events = eventName.split(' ');\r\n var i, j;\r\n for (i = 0; i < this.length; i++) {\r\n if (typeof targetSelector === 'function' || targetSelector === false) {\r\n // Usual events\r\n if (typeof targetSelector === 'function') {\r\n listener = arguments[1];\r\n capture = arguments[2] || false;\r\n }\r\n for (j = 0; j < events.length; j++) {\r\n this[i].addEventListener(events[j], listener, capture);\r\n }\r\n }\r\n else {\r\n //Live events\r\n for (j = 0; j < events.length; j++) {\r\n if (!this[i].dom7LiveListeners) this[i].dom7LiveListeners = [];\r\n this[i].dom7LiveListeners.push({listener: listener, liveListener: handleLiveEvent});\r\n this[i].addEventListener(events[j], handleLiveEvent, capture);\r\n }\r\n }\r\n }\r\n \r\n return this;\r\n },\r\n off: function (eventName, targetSelector, listener, capture) {\r\n var events = eventName.split(' ');\r\n for (var i = 0; i < events.length; i++) {\r\n for (var j = 0; j < this.length; j++) {\r\n if (typeof targetSelector === 'function' || targetSelector === false) {\r\n // Usual events\r\n if (typeof targetSelector === 'function') {\r\n listener = arguments[1];\r\n capture = arguments[2] || false;\r\n }\r\n this[j].removeEventListener(events[i], listener, capture);\r\n }\r\n else {\r\n // Live event\r\n if (this[j].dom7LiveListeners) {\r\n for (var k = 0; k < this[j].dom7LiveListeners.length; k++) {\r\n if (this[j].dom7LiveListeners[k].listener === listener) {\r\n this[j].removeEventListener(events[i], this[j].dom7LiveListeners[k].liveListener, capture);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return this;\r\n },\r\n once: function (eventName, targetSelector, listener, capture) {\r\n var dom = this;\r\n if (typeof targetSelector === 'function') {\r\n targetSelector = false;\r\n listener = arguments[1];\r\n capture = arguments[2];\r\n }\r\n function proxy(e) {\r\n listener(e);\r\n dom.off(eventName, targetSelector, proxy, capture);\r\n }\r\n dom.on(eventName, targetSelector, proxy, capture);\r\n },\r\n trigger: function (eventName, eventData) {\r\n for (var i = 0; i < this.length; i++) {\r\n var evt;\r\n try {\r\n evt = new window.CustomEvent(eventName, {detail: eventData, bubbles: true, cancelable: true});\r\n }\r\n catch (e) {\r\n evt = document.createEvent('Event');\r\n evt.initEvent(eventName, true, true);\r\n evt.detail = eventData;\r\n }\r\n this[i].dispatchEvent(evt);\r\n }\r\n return this;\r\n },\r\n transitionEnd: function (callback) {\r\n var events = ['webkitTransitionEnd', 'transitionend', 'oTransitionEnd', 'MSTransitionEnd', 'msTransitionEnd'],\r\n i, j, dom = this;\r\n function fireCallBack(e) {\r\n /*jshint validthis:true */\r\n if (e.target !== this) return;\r\n callback.call(this, e);\r\n for (i = 0; i < events.length; i++) {\r\n dom.off(events[i], fireCallBack);\r\n }\r\n }\r\n if (callback) {\r\n for (i = 0; i < events.length; i++) {\r\n dom.on(events[i], fireCallBack);\r\n }\r\n }\r\n return this;\r\n },\r\n // Sizing/Styles\r\n width: function () {\r\n if (this[0] === window) {\r\n return window.innerWidth;\r\n }\r\n else {\r\n if (this.length > 0) {\r\n return parseFloat(this.css('width'));\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n },\r\n outerWidth: function (includeMargins) {\r\n if (this.length > 0) {\r\n if (includeMargins)\r\n return this[0].offsetWidth + parseFloat(this.css('margin-right')) + parseFloat(this.css('margin-left'));\r\n else\r\n return this[0].offsetWidth;\r\n }\r\n else return null;\r\n },\r\n height: function () {\r\n if (this[0] === window) {\r\n return window.innerHeight;\r\n }\r\n else {\r\n if (this.length > 0) {\r\n return parseFloat(this.css('height'));\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n },\r\n outerHeight: function (includeMargins) {\r\n if (this.length > 0) {\r\n if (includeMargins)\r\n return this[0].offsetHeight + parseFloat(this.css('margin-top')) + parseFloat(this.css('margin-bottom'));\r\n else\r\n return this[0].offsetHeight;\r\n }\r\n else return null;\r\n },\r\n offset: function () {\r\n if (this.length > 0) {\r\n var el = this[0];\r\n var box = el.getBoundingClientRect();\r\n var body = document.body;\r\n var clientTop = el.clientTop || body.clientTop || 0;\r\n var clientLeft = el.clientLeft || body.clientLeft || 0;\r\n var scrollTop = window.pageYOffset || el.scrollTop;\r\n var scrollLeft = window.pageXOffset || el.scrollLeft;\r\n return {\r\n top: box.top + scrollTop - clientTop,\r\n left: box.left + scrollLeft - clientLeft\r\n };\r\n }\r\n else {\r\n return null;\r\n }\r\n },\r\n css: function (props, value) {\r\n var i;\r\n if (arguments.length === 1) {\r\n if (typeof props === 'string') {\r\n if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);\r\n }\r\n else {\r\n for (i = 0; i < this.length; i++) {\r\n for (var prop in props) {\r\n this[i].style[prop] = props[prop];\r\n }\r\n }\r\n return this;\r\n }\r\n }\r\n if (arguments.length === 2 && typeof props === 'string') {\r\n for (i = 0; i < this.length; i++) {\r\n this[i].style[props] = value;\r\n }\r\n return this;\r\n }\r\n return this;\r\n },\r\n \r\n //Dom manipulation\r\n each: function (callback) {\r\n for (var i = 0; i < this.length; i++) {\r\n callback.call(this[i], i, this[i]);\r\n }\r\n return this;\r\n },\r\n html: function (html) {\r\n if (typeof html === 'undefined') {\r\n return this[0] ? this[0].innerHTML : undefined;\r\n }\r\n else {\r\n for (var i = 0; i < this.length; i++) {\r\n this[i].innerHTML = html;\r\n }\r\n return this;\r\n }\r\n },\r\n text: function (text) {\r\n if (typeof text === 'undefined') {\r\n if (this[0]) {\r\n return this[0].textContent.trim();\r\n }\r\n else return null;\r\n }\r\n else {\r\n for (var i = 0; i < this.length; i++) {\r\n this[i].textContent = text;\r\n }\r\n return this;\r\n }\r\n },\r\n is: function (selector) {\r\n if (!this[0]) return false;\r\n var compareWith, i;\r\n if (typeof selector === 'string') {\r\n var el = this[0];\r\n if (el === document) return selector === document;\r\n if (el === window) return selector === window;\r\n \r\n if (el.matches) return el.matches(selector);\r\n else if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);\r\n else if (el.mozMatchesSelector) return el.mozMatchesSelector(selector);\r\n else if (el.msMatchesSelector) return el.msMatchesSelector(selector);\r\n else {\r\n compareWith = $(selector);\r\n for (i = 0; i < compareWith.length; i++) {\r\n if (compareWith[i] === this[0]) return true;\r\n }\r\n return false;\r\n }\r\n }\r\n else if (selector === document) return this[0] === document;\r\n else if (selector === window) return this[0] === window;\r\n else {\r\n if (selector.nodeType || selector instanceof Dom7) {\r\n compareWith = selector.nodeType ? [selector] : selector;\r\n for (i = 0; i < compareWith.length; i++) {\r\n if (compareWith[i] === this[0]) return true;\r\n }\r\n return false;\r\n }\r\n return false;\r\n }\r\n \r\n },\r\n index: function () {\r\n if (this[0]) {\r\n var child = this[0];\r\n var i = 0;\r\n while ((child = child.previousSibling) !== null) {\r\n if (child.nodeType === 1) i++;\r\n }\r\n return i;\r\n }\r\n else return undefined;\r\n },\r\n eq: function (index) {\r\n if (typeof index === 'undefined') return this;\r\n var length = this.length;\r\n var returnIndex;\r\n if (index > length - 1) {\r\n return new Dom7([]);\r\n }\r\n if (index < 0) {\r\n returnIndex = length + index;\r\n if (returnIndex < 0) return new Dom7([]);\r\n else return new Dom7([this[returnIndex]]);\r\n }\r\n return new Dom7([this[index]]);\r\n },\r\n append: function (newChild) {\r\n var i, j;\r\n for (i = 0; i < this.length; i++) {\r\n if (typeof newChild === 'string') {\r\n var tempDiv = document.createElement('div');\r\n tempDiv.innerHTML = newChild;\r\n while (tempDiv.firstChild) {\r\n this[i].appendChild(tempDiv.firstChild);\r\n }\r\n }\r\n else if (newChild instanceof Dom7) {\r\n for (j = 0; j < newChild.length; j++) {\r\n this[i].appendChild(newChild[j]);\r\n }\r\n }\r\n else {\r\n this[i].appendChild(newChild);\r\n }\r\n }\r\n return this;\r\n },\r\n prepend: function (newChild) {\r\n var i, j;\r\n for (i = 0; i < this.length; i++) {\r\n if (typeof newChild === 'string') {\r\n var tempDiv = document.createElement('div');\r\n tempDiv.innerHTML = newChild;\r\n for (j = tempDiv.childNodes.length - 1; j >= 0; j--) {\r\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\r\n }\r\n // this[i].insertAdjacentHTML('afterbegin', newChild);\r\n }\r\n else if (newChild instanceof Dom7) {\r\n for (j = 0; j < newChild.length; j++) {\r\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\r\n }\r\n }\r\n else {\r\n this[i].insertBefore(newChild, this[i].childNodes[0]);\r\n }\r\n }\r\n return this;\r\n },\r\n insertBefore: function (selector) {\r\n var before = $(selector);\r\n for (var i = 0; i < this.length; i++) {\r\n if (before.length === 1) {\r\n before[0].parentNode.insertBefore(this[i], before[0]);\r\n }\r\n else if (before.length > 1) {\r\n for (var j = 0; j < before.length; j++) {\r\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\r\n }\r\n }\r\n }\r\n },\r\n insertAfter: function (selector) {\r\n var after = $(selector);\r\n for (var i = 0; i < this.length; i++) {\r\n if (after.length === 1) {\r\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\r\n }\r\n else if (after.length > 1) {\r\n for (var j = 0; j < after.length; j++) {\r\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\r\n }\r\n }\r\n }\r\n },\r\n next: function (selector) {\r\n if (this.length > 0) {\r\n if (selector) {\r\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) return new Dom7([this[0].nextElementSibling]);\r\n else return new Dom7([]);\r\n }\r\n else {\r\n if (this[0].nextElementSibling) return new Dom7([this[0].nextElementSibling]);\r\n else return new Dom7([]);\r\n }\r\n }\r\n else return new Dom7([]);\r\n },\r\n nextAll: function (selector) {\r\n var nextEls = [];\r\n var el = this[0];\r\n if (!el) return new Dom7([]);\r\n while (el.nextElementSibling) {\r\n var next = el.nextElementSibling;\r\n if (selector) {\r\n if($(next).is(selector)) nextEls.push(next);\r\n }\r\n else nextEls.push(next);\r\n el = next;\r\n }\r\n return new Dom7(nextEls);\r\n },\r\n prev: function (selector) {\r\n if (this.length > 0) {\r\n if (selector) {\r\n if (this[0].previousElementSibling && $(this[0].previousElementSibling).is(selector)) return new Dom7([this[0].previousElementSibling]);\r\n else return new Dom7([]);\r\n }\r\n else {\r\n if (this[0].previousElementSibling) return new Dom7([this[0].previousElementSibling]);\r\n else return new Dom7([]);\r\n }\r\n }\r\n else return new Dom7([]);\r\n },\r\n prevAll: function (selector) {\r\n var prevEls = [];\r\n var el = this[0];\r\n if (!el) return new Dom7([]);\r\n while (el.previousElementSibling) {\r\n var prev = el.previousElementSibling;\r\n if (selector) {\r\n if($(prev).is(selector)) prevEls.push(prev);\r\n }\r\n else prevEls.push(prev);\r\n el = prev;\r\n }\r\n return new Dom7(prevEls);\r\n },\r\n parent: function (selector) {\r\n var parents = [];\r\n for (var i = 0; i < this.length; i++) {\r\n if (selector) {\r\n if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);\r\n }\r\n else {\r\n parents.push(this[i].parentNode);\r\n }\r\n }\r\n return $($.unique(parents));\r\n },\r\n parents: function (selector) {\r\n var parents = [];\r\n for (var i = 0; i < this.length; i++) {\r\n var parent = this[i].parentNode;\r\n while (parent) {\r\n if (selector) {\r\n if ($(parent).is(selector)) parents.push(parent);\r\n }\r\n else {\r\n parents.push(parent);\r\n }\r\n parent = parent.parentNode;\r\n }\r\n }\r\n return $($.unique(parents));\r\n },\r\n find : function (selector) {\r\n var foundElements = [];\r\n for (var i = 0; i < this.length; i++) {\r\n var found = this[i].querySelectorAll(selector);\r\n for (var j = 0; j < found.length; j++) {\r\n foundElements.push(found[j]);\r\n }\r\n }\r\n return new Dom7(foundElements);\r\n },\r\n children: function (selector) {\r\n var children = [];\r\n for (var i = 0; i < this.length; i++) {\r\n var childNodes = this[i].childNodes;\r\n \r\n for (var j = 0; j < childNodes.length; j++) {\r\n if (!selector) {\r\n if (childNodes[j].nodeType === 1) children.push(childNodes[j]);\r\n }\r\n else {\r\n if (childNodes[j].nodeType === 1 && $(childNodes[j]).is(selector)) children.push(childNodes[j]);\r\n }\r\n }\r\n }\r\n return new Dom7($.unique(children));\r\n },\r\n remove: function () {\r\n for (var i = 0; i < this.length; i++) {\r\n if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\r\n }\r\n return this;\r\n },\r\n add: function () {\r\n var dom = this;\r\n var i, j;\r\n for (i = 0; i < arguments.length; i++) {\r\n var toAdd = $(arguments[i]);\r\n for (j = 0; j < toAdd.length; j++) {\r\n dom[dom.length] = toAdd[j];\r\n dom.length++;\r\n }\r\n }\r\n return dom;\r\n }\r\n };\r\n $.fn = Dom7.prototype;\r\n $.unique = function (arr) {\r\n var unique = [];\r\n for (var i = 0; i < arr.length; i++) {\r\n if (unique.indexOf(arr[i]) === -1) unique.push(arr[i]);\r\n }\r\n return unique;\r\n };\r\n \r\n return $;\r\n })();\r\n \r\n\r\n /*===========================\r\n Get Dom libraries\r\n ===========================*/\r\n var swiperDomPlugins = ['jQuery', 'Zepto', 'Dom7'];\r\n for (var i = 0; i < swiperDomPlugins.length; i++) {\r\n \tif (window[swiperDomPlugins[i]]) {\r\n \t\taddLibraryPlugin(window[swiperDomPlugins[i]]);\r\n \t}\r\n }\r\n // Required DOM Plugins\r\n var domLib;\r\n if (typeof Dom7 === 'undefined') {\r\n \tdomLib = window.Dom7 || window.Zepto || window.jQuery;\r\n }\r\n else {\r\n \tdomLib = Dom7;\r\n }\r\n\r\n /*===========================\r\n Add .swiper plugin from Dom libraries\r\n ===========================*/\r\n function addLibraryPlugin(lib) {\r\n lib.fn.swiper = function (params) {\r\n var firstInstance;\r\n lib(this).each(function () {\r\n var s = new Swiper(this, params);\r\n if (!firstInstance) firstInstance = s;\r\n });\r\n return firstInstance;\r\n };\r\n }\r\n \r\n if (domLib) {\r\n if (!('transitionEnd' in domLib.fn)) {\r\n domLib.fn.transitionEnd = function (callback) {\r\n var events = ['webkitTransitionEnd', 'transitionend', 'oTransitionEnd', 'MSTransitionEnd', 'msTransitionEnd'],\r\n i, j, dom = this;\r\n function fireCallBack(e) {\r\n /*jshint validthis:true */\r\n if (e.target !== this) return;\r\n callback.call(this, e);\r\n for (i = 0; i < events.length; i++) {\r\n dom.off(events[i], fireCallBack);\r\n }\r\n }\r\n if (callback) {\r\n for (i = 0; i < events.length; i++) {\r\n dom.on(events[i], fireCallBack);\r\n }\r\n }\r\n return this;\r\n };\r\n }\r\n if (!('transform' in domLib.fn)) {\r\n domLib.fn.transform = function (transform) {\r\n for (var i = 0; i < this.length; i++) {\r\n var elStyle = this[i].style;\r\n elStyle.webkitTransform = elStyle.MsTransform = elStyle.msTransform = elStyle.MozTransform = elStyle.OTransform = elStyle.transform = transform;\r\n }\r\n return this;\r\n };\r\n }\r\n if (!('transition' in domLib.fn)) {\r\n domLib.fn.transition = function (duration) {\r\n if (typeof duration !== 'string') {\r\n duration = duration + 'ms';\r\n }\r\n for (var i = 0; i < this.length; i++) {\r\n var elStyle = this[i].style;\r\n elStyle.webkitTransitionDuration = elStyle.MsTransitionDuration = elStyle.msTransitionDuration = elStyle.MozTransitionDuration = elStyle.OTransitionDuration = elStyle.transitionDuration = duration;\r\n }\r\n return this;\r\n };\r\n }\r\n }\r\n\r\n window.Swiper = Swiper;\r\n})();\r\n/*===========================\r\nSwiper AMD Export\r\n===========================*/\r\nif (typeof(module) !== 'undefined')\r\n{\r\n module.exports = window.Swiper;\r\n}\r\nelse if (typeof define === 'function' && define.amd) {\r\n define([], function () {\r\n 'use strict';\r\n return window.Swiper;\r\n });\r\n}\r\n//# sourceMappingURL=maps/swiper.js.map\r\n","/*!\n * Jasny Bootstrap v3.1.3 (http://jasny.github.io/bootstrap)\n * Copyright 2012-2014 Arnold Daniels\n * Licensed under Apache-2.0 (https://github.com/jasny/bootstrap/blob/master/LICENSE)\n */\n\nif (typeof jQuery === 'undefined') { throw new Error('Jasny Bootstrap\\'s JavaScript requires jQuery') }\n\n/* ========================================================================\n * Bootstrap: transition.js v3.1.3\n * http://getbootstrap.com/javascript/#transitions\n * ========================================================================\n * Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)\n // ============================================================\n\n function transitionEnd() {\n var el = document.createElement('bootstrap')\n\n var transEndEventNames = {\n WebkitTransition : 'webkitTransitionEnd',\n MozTransition : 'transitionend',\n OTransition : 'oTransitionEnd otransitionend',\n transition : 'transitionend'\n }\n\n for (var name in transEndEventNames) {\n if (el.style[name] !== undefined) {\n return { end: transEndEventNames[name] }\n }\n }\n\n return false // explicit for ie8 ( ._.)\n }\n\n if ($.support.transition !== undefined) return // Prevent conflict with Twitter Bootstrap\n\n // http://blog.alexmaccaw.com/css-transitions\n $.fn.emulateTransitionEnd = function (duration) {\n var called = false, $el = this\n $(this).one($.support.transition.end, function () { called = true })\n var callback = function () { if (!called) $($el).trigger($.support.transition.end) }\n setTimeout(callback, duration)\n return this\n }\n\n $(function () {\n $.support.transition = transitionEnd()\n })\n\n}(window.jQuery);\n\n/* ========================================================================\n * Bootstrap: offcanvas.js v3.1.3\n * http://jasny.github.io/bootstrap/javascript/#offcanvas\n * ========================================================================\n * Copyright 2013-2014 Arnold Daniels\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ======================================================================== */\n\n+function ($) { \"use strict\";\n\n // OFFCANVAS PUBLIC CLASS DEFINITION\n // =================================\n\n var OffCanvas = function (element, options) {\n this.$element = $(element)\n this.options = $.extend({}, OffCanvas.DEFAULTS, options)\n this.state = null\n this.placement = null\n \n if (this.options.recalc) {\n this.calcClone()\n $(window).on('resize', $.proxy(this.recalc, this))\n }\n \n if (this.options.autohide)\n $(document).on('click', $.proxy(this.autohide, this))\n\n if (this.options.toggle) this.toggle()\n \n if (this.options.disablescrolling) {\n this.options.disableScrolling = this.options.disablescrolling\n delete this.options.disablescrolling\n }\n }\n\n OffCanvas.DEFAULTS = {\n toggle: true,\n placement: 'auto',\n autohide: true,\n recalc: true,\n disableScrolling: true\n }\n\n OffCanvas.prototype.offset = function () {\n switch (this.placement) {\n case 'left':\n case 'right': return this.$element.outerWidth()\n case 'top':\n case 'bottom': return this.$element.outerHeight()\n }\n }\n \n OffCanvas.prototype.calcPlacement = function () {\n if (this.options.placement !== 'auto') {\n this.placement = this.options.placement\n return\n }\n \n if (!this.$element.hasClass('in')) {\n this.$element.css('visiblity', 'hidden !important').addClass('in')\n } \n \n var horizontal = $(window).width() / this.$element.width()\n var vertical = $(window).height() / this.$element.height()\n \n var element = this.$element\n function ab(a, b) {\n if (element.css(b) === 'auto') return a\n if (element.css(a) === 'auto') return b\n \n var size_a = parseInt(element.css(a), 10)\n var size_b = parseInt(element.css(b), 10)\n \n return size_a > size_b ? b : a\n }\n \n this.placement = horizontal >= vertical ? ab('left', 'right') : ab('top', 'bottom')\n \n if (this.$element.css('visibility') === 'hidden !important') {\n this.$element.removeClass('in').css('visiblity', '')\n }\n }\n \n OffCanvas.prototype.opposite = function (placement) {\n switch (placement) {\n case 'top': return 'bottom'\n case 'left': return 'right'\n case 'bottom': return 'top'\n case 'right': return 'left'\n }\n }\n \n OffCanvas.prototype.getCanvasElements = function() {\n // Return a set containing the canvas plus all fixed elements\n var canvas = this.options.canvas ? $(this.options.canvas) : this.$element\n \n var fixed_elements = canvas.find('*').filter(function() {\n return $(this).css('position') === 'fixed'\n }).not(this.options.exclude)\n \n return canvas.add(fixed_elements)\n }\n \n OffCanvas.prototype.slide = function (elements, offset, callback) {\n // Use jQuery animation if CSS transitions aren't supported\n if (!$.support.transition) {\n var anim = {}\n anim[this.placement] = \"+=\" + offset\n return elements.animate(anim, 350, callback)\n }\n\n var placement = this.placement\n var opposite = this.opposite(placement)\n \n elements.each(function() {\n if ($(this).css(placement) !== 'auto')\n $(this).css(placement, (parseInt($(this).css(placement), 10) || 0) + offset)\n \n if ($(this).css(opposite) !== 'auto')\n $(this).css(opposite, (parseInt($(this).css(opposite), 10) || 0) - offset)\n })\n \n this.$element\n .one($.support.transition.end, callback)\n .emulateTransitionEnd(350)\n }\n\n OffCanvas.prototype.disableScrolling = function() {\n var bodyWidth = $('body').width()\n var prop = 'padding-' + this.opposite(this.placement)\n\n if ($('body').data('offcanvas-style') === undefined) {\n $('body').data('offcanvas-style', $('body').attr('style') || '')\n }\n \n $('body').css('overflow', 'hidden')\n\n if ($('body').width() > bodyWidth) {\n var padding = parseInt($('body').css(prop), 10) + $('body').width() - bodyWidth\n \n setTimeout(function() {\n $('body').css(prop, padding)\n }, 1)\n }\n }\n\n OffCanvas.prototype.show = function () {\n if (this.state) return\n \n var startEvent = $.Event('show.bs.offcanvas')\n this.$element.trigger(startEvent)\n if (startEvent.isDefaultPrevented()) return\n\n this.state = 'slide-in'\n this.calcPlacement();\n \n var elements = this.getCanvasElements()\n var placement = this.placement\n var opposite = this.opposite(placement)\n var offset = this.offset()\n\n if (elements.index(this.$element) !== -1) {\n $(this.$element).data('offcanvas-style', $(this.$element).attr('style') || '')\n this.$element.css(placement, -1 * offset)\n this.$element.css(placement); // Workaround: Need to get the CSS property for it to be applied before the next line of code\n }\n\n elements.addClass('canvas-sliding').each(function() {\n if ($(this).data('offcanvas-style') === undefined) $(this).data('offcanvas-style', $(this).attr('style') || '')\n if ($(this).css('position') === 'static') $(this).css('position', 'relative')\n if (($(this).css(placement) === 'auto' || $(this).css(placement) === '0px') &&\n ($(this).css(opposite) === 'auto' || $(this).css(opposite) === '0px')) {\n $(this).css(placement, 0)\n }\n })\n \n if (this.options.disableScrolling) this.disableScrolling()\n \n var complete = function () {\n if (this.state != 'slide-in') return\n \n this.state = 'slid'\n\n elements.removeClass('canvas-sliding').addClass('canvas-slid')\n this.$element.trigger('shown.bs.offcanvas')\n }\n\n setTimeout($.proxy(function() {\n this.$element.addClass('in')\n this.slide(elements, offset, $.proxy(complete, this))\n }, this), 1)\n }\n\n OffCanvas.prototype.hide = function (fast) {\n if (this.state !== 'slid') return\n\n var startEvent = $.Event('hide.bs.offcanvas')\n this.$element.trigger(startEvent)\n if (startEvent.isDefaultPrevented()) return\n\n this.state = 'slide-out'\n\n var elements = $('.canvas-slid')\n var placement = this.placement\n var offset = -1 * this.offset()\n\n var complete = function () {\n if (this.state != 'slide-out') return\n \n this.state = null\n this.placement = null\n \n this.$element.removeClass('in')\n \n elements.removeClass('canvas-sliding')\n elements.add(this.$element).add('body').each(function() {\n $(this).attr('style', $(this).data('offcanvas-style')).removeData('offcanvas-style')\n })\n\n this.$element.trigger('hidden.bs.offcanvas')\n }\n\n elements.removeClass('canvas-slid').addClass('canvas-sliding')\n \n setTimeout($.proxy(function() {\n this.slide(elements, offset, $.proxy(complete, this))\n }, this), 1)\n }\n\n OffCanvas.prototype.toggle = function () {\n if (this.state === 'slide-in' || this.state === 'slide-out') return\n this[this.state === 'slid' ? 'hide' : 'show']()\n }\n\n OffCanvas.prototype.calcClone = function() {\n this.$calcClone = this.$element.clone()\n .html('')\n .addClass('offcanvas-clone').removeClass('in')\n .appendTo($('body'))\n }\n\n OffCanvas.prototype.recalc = function () {\n if (this.$calcClone.css('display') === 'none' || (this.state !== 'slid' && this.state !== 'slide-in')) return\n \n this.state = null\n this.placement = null\n var elements = this.getCanvasElements()\n \n this.$element.removeClass('in')\n \n elements.removeClass('canvas-slid')\n elements.add(this.$element).add('body').each(function() {\n $(this).attr('style', $(this).data('offcanvas-style')).removeData('offcanvas-style')\n })\n }\n \n OffCanvas.prototype.autohide = function (e) {\n if ($(e.target).closest(this.$element).length === 0) this.hide()\n }\n\n // OFFCANVAS PLUGIN DEFINITION\n // ==========================\n\n var old = $.fn.offcanvas\n\n $.fn.offcanvas = function (option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.offcanvas')\n var options = $.extend({}, OffCanvas.DEFAULTS, $this.data(), typeof option === 'object' && option)\n\n if (!data) $this.data('bs.offcanvas', (data = new OffCanvas(this, options)))\n if (typeof option === 'string') data[option]()\n })\n }\n\n $.fn.offcanvas.Constructor = OffCanvas\n\n\n // OFFCANVAS NO CONFLICT\n // ====================\n\n $.fn.offcanvas.noConflict = function () {\n $.fn.offcanvas = old\n return this\n }\n\n\n // OFFCANVAS DATA-API\n // =================\n\n $(document).on('click.bs.offcanvas.data-api', '[data-toggle=offcanvas]', function (e) {\n var $this = $(this), href\n var target = $this.attr('data-target')\n || e.preventDefault()\n || (href = $this.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '') //strip for ie7\n var $canvas = $(target)\n var data = $canvas.data('bs.offcanvas')\n var option = data ? 'toggle' : $this.data()\n\n e.stopPropagation()\n\n if (data) data.toggle()\n else $canvas.offcanvas(option)\n })\n\n}(window.jQuery);\n\n/* ============================================================\n * Bootstrap: rowlink.js v3.1.3\n * http://jasny.github.io/bootstrap/javascript/#rowlink\n * ============================================================\n * Copyright 2012-2014 Arnold Daniels\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ============================================================ */\n\n+function ($) { \"use strict\";\n\n var Rowlink = function (element, options) {\n this.$element = $(element)\n this.options = $.extend({}, Rowlink.DEFAULTS, options)\n \n this.$element.on('click.bs.rowlink', 'td:not(.rowlink-skip)', $.proxy(this.click, this))\n }\n\n Rowlink.DEFAULTS = {\n target: \"a\"\n }\n\n Rowlink.prototype.click = function(e) {\n var target = $(e.currentTarget).closest('tr').find(this.options.target)[0]\n if ($(e.target)[0] === target) return\n \n e.preventDefault();\n \n if (target.click) {\n target.click()\n } else if (document.createEvent) {\n var evt = document.createEvent(\"MouseEvents\"); \n evt.initMouseEvent(\"click\", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); \n target.dispatchEvent(evt);\n }\n }\n\n \n // ROWLINK PLUGIN DEFINITION\n // ===========================\n\n var old = $.fn.rowlink\n\n $.fn.rowlink = function (options) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.rowlink')\n if (!data) $this.data('bs.rowlink', (data = new Rowlink(this, options)))\n })\n }\n\n $.fn.rowlink.Constructor = Rowlink\n\n\n // ROWLINK NO CONFLICT\n // ====================\n\n $.fn.rowlink.noConflict = function () {\n $.fn.rowlink = old\n return this\n }\n\n\n // ROWLINK DATA-API\n // ==================\n\n $(document).on('click.bs.rowlink.data-api', '[data-link=\"row\"]', function (e) {\n if ($(e.target).closest('.rowlink-skip').length !== 0) return\n \n var $this = $(this)\n if ($this.data('bs.rowlink')) return\n $this.rowlink($this.data())\n $(e.target).trigger('click.bs.rowlink')\n })\n \n}(window.jQuery);\n\n/* ===========================================================\n * Bootstrap: inputmask.js v3.1.0\n * http://jasny.github.io/bootstrap/javascript/#inputmask\n * \n * Based on Masked Input plugin by Josh Bush (digitalbush.com)\n * ===========================================================\n * Copyright 2012-2014 Arnold Daniels\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================== */\n\n+function ($) { \"use strict\";\n\n var isIphone = (window.orientation !== undefined)\n var isAndroid = navigator.userAgent.toLowerCase().indexOf(\"android\") > -1\n var isIE = window.navigator.appName == 'Microsoft Internet Explorer'\n\n // INPUTMASK PUBLIC CLASS DEFINITION\n // =================================\n\n var Inputmask = function (element, options) {\n if (isAndroid) return // No support because caret positioning doesn't work on Android\n \n this.$element = $(element)\n this.options = $.extend({}, Inputmask.DEFAULTS, options)\n this.mask = String(this.options.mask)\n \n this.init()\n this.listen()\n \n this.checkVal() //Perform initial check for existing values\n }\n\n Inputmask.DEFAULTS = {\n mask: \"\",\n placeholder: \"_\",\n definitions: {\n '9': \"[0-9]\",\n 'a': \"[A-Za-z]\",\n 'w': \"[A-Za-z0-9]\",\n '*': \".\"\n }\n }\n\n Inputmask.prototype.init = function() {\n var defs = this.options.definitions\n var len = this.mask.length\n\n this.tests = [] \n this.partialPosition = this.mask.length\n this.firstNonMaskPos = null\n\n $.each(this.mask.split(\"\"), $.proxy(function(i, c) {\n if (c == '?') {\n len--\n this.partialPosition = i\n } else if (defs[c]) {\n this.tests.push(new RegExp(defs[c]))\n if (this.firstNonMaskPos === null)\n this.firstNonMaskPos = this.tests.length - 1\n } else {\n this.tests.push(null)\n }\n }, this))\n\n this.buffer = $.map(this.mask.split(\"\"), $.proxy(function(c, i) {\n if (c != '?') return defs[c] ? this.options.placeholder : c\n }, this))\n\n this.focusText = this.$element.val()\n\n this.$element.data(\"rawMaskFn\", $.proxy(function() {\n return $.map(this.buffer, function(c, i) {\n return this.tests[i] && c != this.options.placeholder ? c : null\n }).join('')\n }, this))\n }\n \n Inputmask.prototype.listen = function() {\n if (this.$element.attr(\"readonly\")) return\n\n var pasteEventName = (isIE ? 'paste' : 'input') + \".mask\"\n\n this.$element\n .on(\"unmask.bs.inputmask\", $.proxy(this.unmask, this))\n\n .on(\"focus.bs.inputmask\", $.proxy(this.focusEvent, this))\n .on(\"blur.bs.inputmask\", $.proxy(this.blurEvent, this))\n\n .on(\"keydown.bs.inputmask\", $.proxy(this.keydownEvent, this))\n .on(\"keypress.bs.inputmask\", $.proxy(this.keypressEvent, this))\n\n .on(pasteEventName, $.proxy(this.pasteEvent, this))\n }\n\n //Helper Function for Caret positioning\n Inputmask.prototype.caret = function(begin, end) {\n if (this.$element.length === 0) return\n if (typeof begin == 'number') {\n end = (typeof end == 'number') ? end : begin\n return this.$element.each(function() {\n if (this.setSelectionRange) {\n this.setSelectionRange(begin, end)\n } else if (this.createTextRange) {\n var range = this.createTextRange()\n range.collapse(true)\n range.moveEnd('character', end)\n range.moveStart('character', begin)\n range.select()\n }\n })\n } else {\n if (this.$element[0].setSelectionRange) {\n begin = this.$element[0].selectionStart\n end = this.$element[0].selectionEnd\n } else if (document.selection && document.selection.createRange) {\n var range = document.selection.createRange()\n begin = 0 - range.duplicate().moveStart('character', -100000)\n end = begin + range.text.length\n }\n return {\n begin: begin, \n end: end\n }\n }\n }\n \n Inputmask.prototype.seekNext = function(pos) {\n var len = this.mask.length\n while (++pos <= len && !this.tests[pos]);\n\n return pos\n }\n \n Inputmask.prototype.seekPrev = function(pos) {\n while (--pos >= 0 && !this.tests[pos]);\n\n return pos\n }\n\n Inputmask.prototype.shiftL = function(begin,end) {\n var len = this.mask.length\n\n if (begin < 0) return\n\n for (var i = begin, j = this.seekNext(end); i < len; i++) {\n if (this.tests[i]) {\n if (j < len && this.tests[i].test(this.buffer[j])) {\n this.buffer[i] = this.buffer[j]\n this.buffer[j] = this.options.placeholder\n } else\n break\n j = this.seekNext(j)\n }\n }\n this.writeBuffer()\n this.caret(Math.max(this.firstNonMaskPos, begin))\n }\n\n Inputmask.prototype.shiftR = function(pos) {\n var len = this.mask.length\n\n for (var i = pos, c = this.options.placeholder; i < len; i++) {\n if (this.tests[i]) {\n var j = this.seekNext(i)\n var t = this.buffer[i]\n this.buffer[i] = c\n if (j < len && this.tests[j].test(t))\n c = t\n else\n break\n }\n }\n },\n\n Inputmask.prototype.unmask = function() {\n this.$element\n .unbind(\".mask\")\n .removeData(\"inputmask\")\n }\n\n Inputmask.prototype.focusEvent = function() {\n this.focusText = this.$element.val()\n var len = this.mask.length \n var pos = this.checkVal()\n this.writeBuffer()\n\n var that = this\n var moveCaret = function() {\n if (pos == len)\n that.caret(0, pos)\n else\n that.caret(pos)\n }\n\n moveCaret()\n setTimeout(moveCaret, 50)\n }\n\n Inputmask.prototype.blurEvent = function() {\n this.checkVal()\n if (this.$element.val() !== this.focusText)\n this.$element.trigger('change')\n }\n\n Inputmask.prototype.keydownEvent = function(e) {\n var k = e.which\n\n //backspace, delete, and escape get special treatment\n if (k == 8 || k == 46 || (isIphone && k == 127)) {\n var pos = this.caret(),\n begin = pos.begin,\n end = pos.end\n\n if (end - begin === 0) {\n begin = k != 46 ? this.seekPrev(begin) : (end = this.seekNext(begin - 1))\n end = k == 46 ? this.seekNext(end) : end\n }\n this.clearBuffer(begin, end)\n this.shiftL(begin, end - 1)\n\n return false\n } else if (k == 27) {//escape\n this.$element.val(this.focusText)\n this.caret(0, this.checkVal())\n return false\n }\n }\n\n Inputmask.prototype.keypressEvent = function(e) {\n var len = this.mask.length\n\n var k = e.which,\n pos = this.caret()\n\n if (e.ctrlKey || e.altKey || e.metaKey || k < 32) {//Ignore\n return true\n } else if (k) {\n if (pos.end - pos.begin !== 0) {\n this.clearBuffer(pos.begin, pos.end)\n this.shiftL(pos.begin, pos.end - 1)\n }\n\n var p = this.seekNext(pos.begin - 1)\n if (p < len) {\n var c = String.fromCharCode(k)\n if (this.tests[p].test(c)) {\n this.shiftR(p)\n this.buffer[p] = c\n this.writeBuffer()\n var next = this.seekNext(p)\n this.caret(next)\n }\n }\n return false\n }\n }\n\n Inputmask.prototype.pasteEvent = function() {\n var that = this\n\n setTimeout(function() {\n that.caret(that.checkVal(true))\n }, 0)\n }\n\n Inputmask.prototype.clearBuffer = function(start, end) {\n var len = this.mask.length\n\n for (var i = start; i < end && i < len; i++) {\n if (this.tests[i])\n this.buffer[i] = this.options.placeholder\n }\n }\n\n Inputmask.prototype.writeBuffer = function() {\n return this.$element.val(this.buffer.join('')).val()\n }\n\n Inputmask.prototype.checkVal = function(allow) {\n var len = this.mask.length\n //try to place characters where they belong\n var test = this.$element.val()\n var lastMatch = -1\n\n for (var i = 0, pos = 0; i < len; i++) {\n if (this.tests[i]) {\n this.buffer[i] = this.options.placeholder\n while (pos++ < test.length) {\n var c = test.charAt(pos - 1)\n if (this.tests[i].test(c)) {\n this.buffer[i] = c\n lastMatch = i\n break\n }\n }\n if (pos > test.length)\n break\n } else if (this.buffer[i] == test.charAt(pos) && i != this.partialPosition) {\n pos++\n lastMatch = i\n }\n }\n if (!allow && lastMatch + 1 < this.partialPosition) {\n this.$element.val(\"\")\n this.clearBuffer(0, len)\n } else if (allow || lastMatch + 1 >= this.partialPosition) {\n this.writeBuffer()\n if (!allow) this.$element.val(this.$element.val().substring(0, lastMatch + 1))\n }\n return (this.partialPosition ? i : this.firstNonMaskPos)\n }\n\n \n // INPUTMASK PLUGIN DEFINITION\n // ===========================\n\n var old = $.fn.inputmask\n \n $.fn.inputmask = function (options) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.inputmask')\n \n if (!data) $this.data('bs.inputmask', (data = new Inputmask(this, options)))\n })\n }\n\n $.fn.inputmask.Constructor = Inputmask\n\n\n // INPUTMASK NO CONFLICT\n // ====================\n\n $.fn.inputmask.noConflict = function () {\n $.fn.inputmask = old\n return this\n }\n\n\n // INPUTMASK DATA-API\n // ==================\n\n $(document).on('focus.bs.inputmask.data-api', '[data-mask]', function (e) {\n var $this = $(this)\n if ($this.data('bs.inputmask')) return\n $this.inputmask($this.data())\n })\n\n}(window.jQuery);\n\n/* ===========================================================\n * Bootstrap: fileinput.js v3.1.3\n * http://jasny.github.com/bootstrap/javascript/#fileinput\n * ===========================================================\n * Copyright 2012-2014 Arnold Daniels\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================== */\n\n+function ($) { \"use strict\";\n\n var isIE = window.navigator.appName == 'Microsoft Internet Explorer'\n\n // FILEUPLOAD PUBLIC CLASS DEFINITION\n // =================================\n\n var Fileinput = function (element, options) {\n this.$element = $(element)\n \n this.$input = this.$element.find(':file')\n if (this.$input.length === 0) return\n\n this.name = this.$input.attr('name') || options.name\n\n this.$hidden = this.$element.find('input[type=hidden][name=\"' + this.name + '\"]')\n if (this.$hidden.length === 0) {\n this.$hidden = $('').insertBefore(this.$input)\n }\n\n this.$preview = this.$element.find('.fileinput-preview')\n var height = this.$preview.css('height')\n if (this.$preview.css('display') !== 'inline' && height !== '0px' && height !== 'none') {\n this.$preview.css('line-height', height)\n }\n \n this.original = {\n exists: this.$element.hasClass('fileinput-exists'),\n preview: this.$preview.html(),\n hiddenVal: this.$hidden.val()\n }\n \n this.listen()\n }\n \n Fileinput.prototype.listen = function() {\n this.$input.on('change.bs.fileinput', $.proxy(this.change, this))\n $(this.$input[0].form).on('reset.bs.fileinput', $.proxy(this.reset, this))\n \n this.$element.find('[data-trigger=\"fileinput\"]').on('click.bs.fileinput', $.proxy(this.trigger, this))\n this.$element.find('[data-dismiss=\"fileinput\"]').on('click.bs.fileinput', $.proxy(this.clear, this))\n },\n\n Fileinput.prototype.change = function(e) {\n var files = e.target.files === undefined ? (e.target && e.target.value ? [{ name: e.target.value.replace(/^.+\\\\/, '')}] : []) : e.target.files\n \n e.stopPropagation()\n\n if (files.length === 0) {\n this.clear()\n return\n }\n\n this.$hidden.val('')\n this.$hidden.attr('name', '')\n this.$input.attr('name', this.name)\n\n var file = files[0]\n\n if (this.$preview.length > 0 && (typeof file.type !== \"undefined\" ? file.type.match(/^image\\/(gif|png|jpeg)$/) : file.name.match(/\\.(gif|png|jpe?g)$/i)) && typeof FileReader !== \"undefined\") {\n var reader = new FileReader()\n var preview = this.$preview\n var element = this.$element\n\n reader.onload = function(re) {\n var $img = $('')\n $img[0].src = re.target.result\n files[0].result = re.target.result\n \n element.find('.fileinput-filename').text(file.name)\n \n // if parent has max-height, using `(max-)height: 100%` on child doesn't take padding and border into account\n if (preview.css('max-height') != 'none') $img.css('max-height', parseInt(preview.css('max-height'), 10) - parseInt(preview.css('padding-top'), 10) - parseInt(preview.css('padding-bottom'), 10) - parseInt(preview.css('border-top'), 10) - parseInt(preview.css('border-bottom'), 10))\n \n preview.html($img)\n element.addClass('fileinput-exists').removeClass('fileinput-new')\n\n element.trigger('change.bs.fileinput', files)\n }\n\n reader.readAsDataURL(file)\n } else {\n this.$element.find('.fileinput-filename').text(file.name)\n this.$preview.text(file.name)\n \n this.$element.addClass('fileinput-exists').removeClass('fileinput-new')\n \n this.$element.trigger('change.bs.fileinput')\n }\n },\n\n Fileinput.prototype.clear = function(e) {\n if (e) e.preventDefault()\n \n this.$hidden.val('')\n this.$hidden.attr('name', this.name)\n this.$input.attr('name', '')\n\n //ie8+ doesn't support changing the value of input with type=file so clone instead\n if (isIE) { \n var inputClone = this.$input.clone(true);\n this.$input.after(inputClone);\n this.$input.remove();\n this.$input = inputClone;\n } else {\n this.$input.val('')\n }\n\n this.$preview.html('')\n this.$element.find('.fileinput-filename').text('')\n this.$element.addClass('fileinput-new').removeClass('fileinput-exists')\n \n if (e !== undefined) {\n this.$input.trigger('change')\n this.$element.trigger('clear.bs.fileinput')\n }\n },\n\n Fileinput.prototype.reset = function() {\n this.clear()\n\n this.$hidden.val(this.original.hiddenVal)\n this.$preview.html(this.original.preview)\n this.$element.find('.fileinput-filename').text('')\n\n if (this.original.exists) this.$element.addClass('fileinput-exists').removeClass('fileinput-new')\n else this.$element.addClass('fileinput-new').removeClass('fileinput-exists')\n \n this.$element.trigger('reset.bs.fileinput')\n },\n\n Fileinput.prototype.trigger = function(e) {\n this.$input.trigger('click')\n e.preventDefault()\n }\n\n \n // FILEUPLOAD PLUGIN DEFINITION\n // ===========================\n\n var old = $.fn.fileinput\n \n $.fn.fileinput = function (options) {\n return this.each(function () {\n var $this = $(this),\n data = $this.data('bs.fileinput')\n if (!data) $this.data('bs.fileinput', (data = new Fileinput(this, options)))\n if (typeof options == 'string') data[options]()\n })\n }\n\n $.fn.fileinput.Constructor = Fileinput\n\n\n // FILEINPUT NO CONFLICT\n // ====================\n\n $.fn.fileinput.noConflict = function () {\n $.fn.fileinput = old\n return this\n }\n\n\n // FILEUPLOAD DATA-API\n // ==================\n\n $(document).on('click.fileinput.data-api', '[data-provides=\"fileinput\"]', function (e) {\n var $this = $(this)\n if ($this.data('bs.fileinput')) return\n $this.fileinput($this.data())\n \n var $target = $(e.target).closest('[data-dismiss=\"fileinput\"],[data-trigger=\"fileinput\"]');\n if ($target.length > 0) {\n e.preventDefault()\n $target.trigger('click.bs.fileinput')\n }\n })\n\n}(window.jQuery);\n","/*\r\n * Bootstrap TouchSpin - v3.1.2\r\n * A mobile and touch friendly input spinner component for Bootstrap 3.\r\n * http://www.virtuosoft.eu/code/bootstrap-touchspin/\r\n *\r\n * Made by István Ujj-Mészáros\r\n * Under Apache License v2.0 License\r\n */\r\n(function($) {\r\n 'use strict';\r\n\r\n var _currentSpinnerId = 0;\r\n\r\n function _scopedEventName(name, id) {\r\n return name + '.touchspin_' + id;\r\n }\r\n\r\n function _scopeEventNames(names, id) {\r\n return $.map(names, function(name) {\r\n return _scopedEventName(name, id);\r\n });\r\n }\r\n\r\n $.fn.TouchSpin = function(options) {\r\n\r\n if (options === 'destroy') {\r\n this.each(function() {\r\n var originalinput = $(this),\r\n originalinput_data = originalinput.data();\r\n $(document).off(_scopeEventNames([\r\n 'mouseup',\r\n 'touchend',\r\n 'touchcancel',\r\n 'mousemove',\r\n 'touchmove',\r\n 'scroll',\r\n 'scrollstart'], originalinput_data.spinnerid).join(' '));\r\n });\r\n return;\r\n }\r\n\r\n var defaults = {\r\n min: 0,\r\n max: 100,\r\n initval: '',\r\n replacementval: '',\r\n step: 1,\r\n decimals: 0,\r\n stepinterval: 100,\r\n forcestepdivisibility: 'round', // none | floor | round | ceil\r\n stepintervaldelay: 500,\r\n verticalbuttons: false,\r\n verticalupclass: 'glyphicon glyphicon-chevron-up',\r\n verticaldownclass: 'glyphicon glyphicon-chevron-down',\r\n prefix: '',\r\n postfix: '',\r\n prefix_extraclass: '',\r\n postfix_extraclass: '',\r\n booster: true,\r\n boostat: 10,\r\n maxboostedstep: false,\r\n mousewheel: true,\r\n buttondown_class: 'btn btn-default',\r\n buttonup_class: 'btn btn-default',\r\n buttondown_txt: '-',\r\n buttonup_txt: '+'\r\n };\r\n\r\n var attributeMap = {\r\n min: 'min',\r\n max: 'max',\r\n initval: 'init-val',\r\n replacementval: 'replacement-val',\r\n step: 'step',\r\n decimals: 'decimals',\r\n stepinterval: 'step-interval',\r\n verticalbuttons: 'vertical-buttons',\r\n verticalupclass: 'vertical-up-class',\r\n verticaldownclass: 'vertical-down-class',\r\n forcestepdivisibility: 'force-step-divisibility',\r\n stepintervaldelay: 'step-interval-delay',\r\n prefix: 'prefix',\r\n postfix: 'postfix',\r\n prefix_extraclass: 'prefix-extra-class',\r\n postfix_extraclass: 'postfix-extra-class',\r\n booster: 'booster',\r\n boostat: 'boostat',\r\n maxboostedstep: 'max-boosted-step',\r\n mousewheel: 'mouse-wheel',\r\n buttondown_class: 'button-down-class',\r\n buttonup_class: 'button-up-class',\r\n buttondown_txt: 'button-down-txt',\r\n buttonup_txt: 'button-up-txt'\r\n };\r\n\r\n return this.each(function() {\r\n\r\n var settings,\r\n originalinput = $(this),\r\n originalinput_data = originalinput.data(),\r\n container,\r\n elements,\r\n value,\r\n downSpinTimer,\r\n upSpinTimer,\r\n downDelayTimeout,\r\n upDelayTimeout,\r\n spincount = 0,\r\n spinning = false;\r\n\r\n init();\r\n\r\n\r\n function init() {\r\n if (originalinput.data('alreadyinitialized')) {\r\n return;\r\n }\r\n\r\n originalinput.data('alreadyinitialized', true);\r\n _currentSpinnerId += 1;\r\n originalinput.data('spinnerid', _currentSpinnerId);\r\n\r\n\r\n if (!originalinput.is('input')) {\r\n console.log('Must be an input.');\r\n return;\r\n }\r\n\r\n _initSettings();\r\n _setInitval();\r\n _checkValue();\r\n _buildHtml();\r\n _initElements();\r\n _hideEmptyPrefixPostfix();\r\n _bindEvents();\r\n _bindEventsInterface();\r\n elements.input.css('display', 'block');\r\n }\r\n\r\n function _setInitval() {\r\n if (settings.initval !== '' && originalinput.val() === '') {\r\n originalinput.val(settings.initval);\r\n }\r\n }\r\n\r\n function changeSettings(newsettings) {\r\n _updateSettings(newsettings);\r\n _checkValue();\r\n\r\n var value = elements.input.val();\r\n\r\n if (value !== '') {\r\n value = Number(elements.input.val());\r\n elements.input.val(value.toFixed(settings.decimals));\r\n }\r\n }\r\n\r\n function _initSettings() {\r\n settings = $.extend({}, defaults, originalinput_data, _parseAttributes(), options);\r\n }\r\n\r\n function _parseAttributes() {\r\n var data = {};\r\n $.each(attributeMap, function(key, value) {\r\n var attrName = 'bts-' + value + '';\r\n if (originalinput.is('[data-' + attrName + ']')) {\r\n data[key] = originalinput.data(attrName);\r\n }\r\n });\r\n return data;\r\n }\r\n\r\n function _updateSettings(newsettings) {\r\n settings = $.extend({}, settings, newsettings);\r\n\r\n // Update postfix and prefix texts if those settings were changed.\r\n if (newsettings.postfix) {\r\n originalinput.parent().find('.bootstrap-touchspin-postfix').text(newsettings.postfix);\r\n }\r\n if (newsettings.prefix) {\r\n originalinput.parent().find('.bootstrap-touchspin-prefix').text(newsettings.prefix);\r\n }\r\n }\r\n\r\n function _buildHtml() {\r\n var initval = originalinput.val(),\r\n parentelement = originalinput.parent();\r\n\r\n if (initval !== '') {\r\n initval = Number(initval).toFixed(settings.decimals);\r\n }\r\n\r\n originalinput.data('initvalue', initval).val(initval);\r\n originalinput.addClass('form-control');\r\n\r\n if (parentelement.hasClass('input-group')) {\r\n _advanceInputGroup(parentelement);\r\n }\r\n else {\r\n _buildInputGroup();\r\n }\r\n }\r\n\r\n function _advanceInputGroup(parentelement) {\r\n parentelement.addClass('bootstrap-touchspin');\r\n\r\n var prev = originalinput.prev(),\r\n next = originalinput.next();\r\n\r\n var downhtml,\r\n uphtml,\r\n prefixhtml = '' + settings.prefix + '',\r\n postfixhtml = '' + settings.postfix + '';\r\n\r\n if (prev.hasClass('input-group-btn')) {\r\n downhtml = '';\r\n prev.append(downhtml);\r\n }\r\n else {\r\n downhtml = '';\r\n $(downhtml).insertBefore(originalinput);\r\n }\r\n\r\n if (next.hasClass('input-group-btn')) {\r\n uphtml = '';\r\n next.prepend(uphtml);\r\n }\r\n else {\r\n uphtml = '';\r\n $(uphtml).insertAfter(originalinput);\r\n }\r\n\r\n $(prefixhtml).insertBefore(originalinput);\r\n $(postfixhtml).insertAfter(originalinput);\r\n\r\n container = parentelement;\r\n }\r\n\r\n function _buildInputGroup() {\r\n var html;\r\n\r\n if (settings.verticalbuttons) {\r\n html = '
' + settings.prefix + '' + settings.postfix + '
';\r\n }\r\n else {\r\n html = '
' + settings.prefix + '' + settings.postfix + '
';\r\n }\r\n\r\n container = $(html).insertBefore(originalinput);\r\n\r\n $('.bootstrap-touchspin-prefix', container).after(originalinput);\r\n\r\n if (originalinput.hasClass('input-sm')) {\r\n container.addClass('input-group-sm');\r\n }\r\n else if (originalinput.hasClass('input-lg')) {\r\n container.addClass('input-group-lg');\r\n }\r\n }\r\n\r\n function _initElements() {\r\n elements = {\r\n down: $('.bootstrap-touchspin-down', container),\r\n up: $('.bootstrap-touchspin-up', container),\r\n input: $('input', container),\r\n prefix: $('.bootstrap-touchspin-prefix', container).addClass(settings.prefix_extraclass),\r\n postfix: $('.bootstrap-touchspin-postfix', container).addClass(settings.postfix_extraclass)\r\n };\r\n }\r\n\r\n function _hideEmptyPrefixPostfix() {\r\n if (settings.prefix === '') {\r\n elements.prefix.hide();\r\n }\r\n\r\n if (settings.postfix === '') {\r\n elements.postfix.hide();\r\n }\r\n }\r\n\r\n function _bindEvents() {\r\n originalinput.on('keydown', function(ev) {\r\n var code = ev.keyCode || ev.which;\r\n\r\n if (code === 38) {\r\n if (spinning !== 'up') {\r\n upOnce();\r\n startUpSpin();\r\n }\r\n ev.preventDefault();\r\n }\r\n else if (code === 40) {\r\n if (spinning !== 'down') {\r\n downOnce();\r\n startDownSpin();\r\n }\r\n ev.preventDefault();\r\n }\r\n });\r\n\r\n originalinput.on('keyup', function(ev) {\r\n var code = ev.keyCode || ev.which;\r\n\r\n if (code === 38) {\r\n stopSpin();\r\n }\r\n else if (code === 40) {\r\n stopSpin();\r\n }\r\n });\r\n\r\n originalinput.on('blur', function() {\r\n _checkValue();\r\n });\r\n\r\n elements.down.on('keydown', function(ev) {\r\n var code = ev.keyCode || ev.which;\r\n\r\n if (code === 32 || code === 13) {\r\n if (spinning !== 'down') {\r\n downOnce();\r\n startDownSpin();\r\n }\r\n ev.preventDefault();\r\n }\r\n });\r\n\r\n elements.down.on('keyup', function(ev) {\r\n var code = ev.keyCode || ev.which;\r\n\r\n if (code === 32 || code === 13) {\r\n stopSpin();\r\n }\r\n });\r\n\r\n elements.up.on('keydown', function(ev) {\r\n var code = ev.keyCode || ev.which;\r\n\r\n if (code === 32 || code === 13) {\r\n if (spinning !== 'up') {\r\n upOnce();\r\n startUpSpin();\r\n }\r\n ev.preventDefault();\r\n }\r\n });\r\n\r\n elements.up.on('keyup', function(ev) {\r\n var code = ev.keyCode || ev.which;\r\n\r\n if (code === 32 || code === 13) {\r\n stopSpin();\r\n }\r\n });\r\n\r\n elements.down.on('mousedown.touchspin', function(ev) {\r\n elements.down.off('touchstart.touchspin'); // android 4 workaround\r\n\r\n if (originalinput.is(':disabled')) {\r\n return;\r\n }\r\n\r\n downOnce();\r\n startDownSpin();\r\n\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n });\r\n\r\n elements.down.on('touchstart.touchspin', function(ev) {\r\n elements.down.off('mousedown.touchspin'); // android 4 workaround\r\n\r\n if (originalinput.is(':disabled')) {\r\n return;\r\n }\r\n\r\n downOnce();\r\n startDownSpin();\r\n\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n });\r\n\r\n elements.up.on('mousedown.touchspin', function(ev) {\r\n elements.up.off('touchstart.touchspin'); // android 4 workaround\r\n\r\n if (originalinput.is(':disabled')) {\r\n return;\r\n }\r\n\r\n upOnce();\r\n startUpSpin();\r\n\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n });\r\n\r\n elements.up.on('touchstart.touchspin', function(ev) {\r\n elements.up.off('mousedown.touchspin'); // android 4 workaround\r\n\r\n if (originalinput.is(':disabled')) {\r\n return;\r\n }\r\n\r\n upOnce();\r\n startUpSpin();\r\n\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n });\r\n\r\n elements.up.on('mouseout touchleave touchend touchcancel', function(ev) {\r\n if (!spinning) {\r\n return;\r\n }\r\n\r\n ev.stopPropagation();\r\n stopSpin();\r\n });\r\n\r\n elements.down.on('mouseout touchleave touchend touchcancel', function(ev) {\r\n if (!spinning) {\r\n return;\r\n }\r\n\r\n ev.stopPropagation();\r\n stopSpin();\r\n });\r\n\r\n elements.down.on('mousemove touchmove', function(ev) {\r\n if (!spinning) {\r\n return;\r\n }\r\n\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n });\r\n\r\n elements.up.on('mousemove touchmove', function(ev) {\r\n if (!spinning) {\r\n return;\r\n }\r\n\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n });\r\n\r\n $(document).on(_scopeEventNames(['mouseup', 'touchend', 'touchcancel'], _currentSpinnerId).join(' '), function(ev) {\r\n if (!spinning) {\r\n return;\r\n }\r\n\r\n ev.preventDefault();\r\n stopSpin();\r\n });\r\n\r\n $(document).on(_scopeEventNames(['mousemove', 'touchmove', 'scroll', 'scrollstart'], _currentSpinnerId).join(' '), function(ev) {\r\n if (!spinning) {\r\n return;\r\n }\r\n\r\n ev.preventDefault();\r\n stopSpin();\r\n });\r\n\r\n originalinput.on('mousewheel DOMMouseScroll', function(ev) {\r\n if (!settings.mousewheel || !originalinput.is(':focus')) {\r\n return;\r\n }\r\n\r\n var delta = ev.originalEvent.wheelDelta || -ev.originalEvent.deltaY || -ev.originalEvent.detail;\r\n\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n\r\n if (delta < 0) {\r\n downOnce();\r\n }\r\n else {\r\n upOnce();\r\n }\r\n });\r\n }\r\n\r\n function _bindEventsInterface() {\r\n originalinput.on('touchspin.uponce', function() {\r\n stopSpin();\r\n upOnce();\r\n });\r\n\r\n originalinput.on('touchspin.downonce', function() {\r\n stopSpin();\r\n downOnce();\r\n });\r\n\r\n originalinput.on('touchspin.startupspin', function() {\r\n startUpSpin();\r\n });\r\n\r\n originalinput.on('touchspin.startdownspin', function() {\r\n startDownSpin();\r\n });\r\n\r\n originalinput.on('touchspin.stopspin', function() {\r\n stopSpin();\r\n });\r\n\r\n originalinput.on('touchspin.updatesettings', function(e, newsettings) {\r\n changeSettings(newsettings);\r\n });\r\n }\r\n\r\n function _forcestepdivisibility(value) {\r\n switch (settings.forcestepdivisibility) {\r\n case 'round':\r\n return (Math.round(value / settings.step) * settings.step).toFixed(settings.decimals);\r\n case 'floor':\r\n return (Math.floor(value / settings.step) * settings.step).toFixed(settings.decimals);\r\n case 'ceil':\r\n return (Math.ceil(value / settings.step) * settings.step).toFixed(settings.decimals);\r\n default:\r\n return value;\r\n }\r\n }\r\n\r\n function _checkValue() {\r\n var val, parsedval, returnval;\r\n\r\n val = originalinput.val();\r\n\r\n if (val === '') {\r\n if (settings.replacementval !== '') {\r\n originalinput.val(settings.replacementval);\r\n originalinput.trigger('change');\r\n }\r\n return;\r\n }\r\n\r\n if (settings.decimals > 0 && val === '.') {\r\n return;\r\n }\r\n\r\n parsedval = parseFloat(val);\r\n\r\n if (isNaN(parsedval)) {\r\n if (settings.replacementval !== '') {\r\n parsedval = settings.replacementval;\r\n }\r\n else {\r\n parsedval = 0;\r\n }\r\n }\r\n\r\n returnval = parsedval;\r\n\r\n if (parsedval.toString() !== val) {\r\n returnval = parsedval;\r\n }\r\n\r\n if (parsedval < settings.min) {\r\n returnval = settings.min;\r\n }\r\n\r\n if (parsedval > settings.max) {\r\n returnval = settings.max;\r\n }\r\n\r\n returnval = _forcestepdivisibility(returnval);\r\n\r\n if (Number(val).toString() !== returnval.toString()) {\r\n originalinput.val(returnval);\r\n originalinput.trigger('change');\r\n }\r\n }\r\n\r\n function _getBoostedStep() {\r\n if (!settings.booster) {\r\n return settings.step;\r\n }\r\n else {\r\n var boosted = Math.pow(2, Math.floor(spincount / settings.boostat)) * settings.step;\r\n\r\n if (settings.maxboostedstep) {\r\n if (boosted > settings.maxboostedstep) {\r\n boosted = settings.maxboostedstep;\r\n value = Math.round((value / boosted)) * boosted;\r\n }\r\n }\r\n\r\n return Math.max(settings.step, boosted);\r\n }\r\n }\r\n\r\n function upOnce() {\r\n _checkValue();\r\n\r\n value = parseFloat(elements.input.val());\r\n if (isNaN(value)) {\r\n value = 0;\r\n }\r\n\r\n var initvalue = value,\r\n boostedstep = _getBoostedStep();\r\n\r\n value = value + boostedstep;\r\n\r\n if (value > settings.max) {\r\n value = settings.max;\r\n originalinput.trigger('touchspin.on.max');\r\n stopSpin();\r\n }\r\n\r\n elements.input.val(Number(value).toFixed(settings.decimals));\r\n\r\n if (initvalue !== value) {\r\n originalinput.trigger('change');\r\n }\r\n }\r\n\r\n function downOnce() {\r\n _checkValue();\r\n\r\n value = parseFloat(elements.input.val());\r\n if (isNaN(value)) {\r\n value = 0;\r\n }\r\n\r\n var initvalue = value,\r\n boostedstep = _getBoostedStep();\r\n\r\n value = value - boostedstep;\r\n\r\n if (value < settings.min) {\r\n value = settings.min;\r\n originalinput.trigger('touchspin.on.min');\r\n stopSpin();\r\n }\r\n\r\n elements.input.val(value.toFixed(settings.decimals));\r\n\r\n if (initvalue !== value) {\r\n originalinput.trigger('change');\r\n }\r\n }\r\n\r\n function startDownSpin() {\r\n stopSpin();\r\n\r\n spincount = 0;\r\n spinning = 'down';\r\n\r\n originalinput.trigger('touchspin.on.startspin');\r\n originalinput.trigger('touchspin.on.startdownspin');\r\n\r\n downDelayTimeout = setTimeout(function() {\r\n downSpinTimer = setInterval(function() {\r\n spincount++;\r\n downOnce();\r\n }, settings.stepinterval);\r\n }, settings.stepintervaldelay);\r\n }\r\n\r\n function startUpSpin() {\r\n stopSpin();\r\n\r\n spincount = 0;\r\n spinning = 'up';\r\n\r\n originalinput.trigger('touchspin.on.startspin');\r\n originalinput.trigger('touchspin.on.startupspin');\r\n\r\n upDelayTimeout = setTimeout(function() {\r\n upSpinTimer = setInterval(function() {\r\n spincount++;\r\n upOnce();\r\n }, settings.stepinterval);\r\n }, settings.stepintervaldelay);\r\n }\r\n\r\n function stopSpin() {\r\n clearTimeout(downDelayTimeout);\r\n clearTimeout(upDelayTimeout);\r\n clearInterval(downSpinTimer);\r\n clearInterval(upSpinTimer);\r\n\r\n switch (spinning) {\r\n case 'up':\r\n originalinput.trigger('touchspin.on.stopupspin');\r\n originalinput.trigger('touchspin.on.stopspin');\r\n break;\r\n case 'down':\r\n originalinput.trigger('touchspin.on.stopdownspin');\r\n originalinput.trigger('touchspin.on.stopspin');\r\n break;\r\n }\r\n\r\n spincount = 0;\r\n spinning = false;\r\n }\r\n\r\n });\r\n\r\n };\r\n\r\n})(jQuery);\r\n","/* ========================================================================\n * Bootstrap: affix.js v3.2.0\n * http://getbootstrap.com/javascript/#affix\n * ========================================================================\n * Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // AFFIX CLASS DEFINITION\n // ======================\n\n var Affix = function (element, options) {\n this.options = $.extend({}, Affix.DEFAULTS, options)\n\n this.$target = $(this.options.target)\n .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))\n .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))\n\n this.$element = $(element)\n this.affixed =\n this.unpin =\n this.pinnedOffset = null\n\n this.checkPosition()\n }\n\n Affix.VERSION = '3.2.0'\n\n Affix.RESET = 'affix affix-top affix-bottom'\n\n Affix.DEFAULTS = {\n offset: 0,\n target: window\n }\n\n Affix.prototype.getPinnedOffset = function () {\n if (this.pinnedOffset) return this.pinnedOffset\n this.$element.removeClass(Affix.RESET).addClass('affix')\n var scrollTop = this.$target.scrollTop()\n var position = this.$element.offset()\n return (this.pinnedOffset = position.top - scrollTop)\n }\n\n Affix.prototype.checkPositionWithEventLoop = function () {\n setTimeout($.proxy(this.checkPosition, this), 1)\n }\n\n Affix.prototype.checkPosition = function () {\n if (!this.$element.is(':visible')) return\n\n var scrollHeight = $(document).height()\n var scrollTop = this.$target.scrollTop()\n var position = this.$element.offset()\n var offset = this.options.offset\n var offsetTop = offset.top\n var offsetBottom = offset.bottom\n\n if (typeof offset != 'object') offsetBottom = offsetTop = offset\n if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)\n if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)\n\n var affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ? false :\n offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ? 'bottom' :\n offsetTop != null && (scrollTop <= offsetTop) ? 'top' : false\n\n if (this.affixed === affix) return\n if (this.unpin != null) this.$element.css('top', '')\n\n var affixType = 'affix' + (affix ? '-' + affix : '')\n var e = $.Event(affixType + '.bs.affix')\n\n this.$element.trigger(e)\n\n if (e.isDefaultPrevented()) return\n\n this.affixed = affix\n this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null\n\n this.$element\n .removeClass(Affix.RESET)\n .addClass(affixType)\n .trigger($.Event(affixType.replace('affix', 'affixed')))\n\n if (affix == 'bottom') {\n this.$element.offset({\n top: scrollHeight - this.$element.height() - offsetBottom\n })\n }\n }\n\n\n // AFFIX PLUGIN DEFINITION\n // =======================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.affix')\n var options = typeof option == 'object' && option\n\n if (!data) $this.data('bs.affix', (data = new Affix(this, options)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n var old = $.fn.affix\n\n $.fn.affix = Plugin\n $.fn.affix.Constructor = Affix\n\n\n // AFFIX NO CONFLICT\n // =================\n\n $.fn.affix.noConflict = function () {\n $.fn.affix = old\n return this\n }\n\n\n // AFFIX DATA-API\n // ==============\n\n $(window).on('load', function () {\n $('[data-spy=\"affix\"]').each(function () {\n var $spy = $(this)\n var data = $spy.data()\n\n data.offset = data.offset || {}\n\n if (data.offsetBottom) data.offset.bottom = data.offsetBottom\n if (data.offsetTop) data.offset.top = data.offsetTop\n\n Plugin.call($spy, data)\n })\n })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: alert.js v3.2.0\n * http://getbootstrap.com/javascript/#alerts\n * ========================================================================\n * Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // ALERT CLASS DEFINITION\n // ======================\n\n var dismiss = '[data-dismiss=\"alert\"]'\n var Alert = function (el) {\n $(el).on('click', dismiss, this.close)\n }\n\n Alert.VERSION = '3.2.0'\n\n Alert.prototype.close = function (e) {\n var $this = $(this)\n var selector = $this.attr('data-target')\n\n if (!selector) {\n selector = $this.attr('href')\n selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\n }\n\n var $parent = $(selector)\n\n if (e) e.preventDefault()\n\n if (!$parent.length) {\n $parent = $this.hasClass('alert') ? $this : $this.parent()\n }\n\n $parent.trigger(e = $.Event('close.bs.alert'))\n\n if (e.isDefaultPrevented()) return\n\n $parent.removeClass('in')\n\n function removeElement() {\n // detach from parent, fire event then clean up data\n $parent.detach().trigger('closed.bs.alert').remove()\n }\n\n $.support.transition && $parent.hasClass('fade') ?\n $parent\n .one('bsTransitionEnd', removeElement)\n .emulateTransitionEnd(150) :\n removeElement()\n }\n\n\n // ALERT PLUGIN DEFINITION\n // =======================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.alert')\n\n if (!data) $this.data('bs.alert', (data = new Alert(this)))\n if (typeof option == 'string') data[option].call($this)\n })\n }\n\n var old = $.fn.alert\n\n $.fn.alert = Plugin\n $.fn.alert.Constructor = Alert\n\n\n // ALERT NO CONFLICT\n // =================\n\n $.fn.alert.noConflict = function () {\n $.fn.alert = old\n return this\n }\n\n\n // ALERT DATA-API\n // ==============\n\n $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: button.js v3.2.0\n * http://getbootstrap.com/javascript/#buttons\n * ========================================================================\n * Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // BUTTON PUBLIC CLASS DEFINITION\n // ==============================\n\n var Button = function (element, options) {\n this.$element = $(element)\n this.options = $.extend({}, Button.DEFAULTS, options)\n this.isLoading = false\n }\n\n Button.VERSION = '3.2.0'\n\n Button.DEFAULTS = {\n loadingText: 'loading...'\n }\n\n Button.prototype.setState = function (state) {\n var d = 'disabled'\n var $el = this.$element\n var val = $el.is('input') ? 'val' : 'html'\n var data = $el.data()\n\n state = state + 'Text'\n\n if (data.resetText == null) $el.data('resetText', $el[val]())\n\n $el[val](data[state] == null ? this.options[state] : data[state])\n\n // push to event loop to allow forms to submit\n setTimeout($.proxy(function () {\n if (state == 'loadingText') {\n this.isLoading = true\n $el.addClass(d).attr(d, d)\n } else if (this.isLoading) {\n this.isLoading = false\n $el.removeClass(d).removeAttr(d)\n }\n }, this), 0)\n }\n\n Button.prototype.toggle = function () {\n var changed = true\n var $parent = this.$element.closest('[data-toggle=\"buttons\"]')\n\n if ($parent.length) {\n var $input = this.$element.find('input')\n if ($input.prop('type') == 'radio') {\n if ($input.prop('checked') && this.$element.hasClass('active')) changed = false\n else $parent.find('.active').removeClass('active')\n }\n if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')\n }\n\n if (changed) this.$element.toggleClass('active')\n }\n\n\n // BUTTON PLUGIN DEFINITION\n // ========================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.button')\n var options = typeof option == 'object' && option\n\n if (!data) $this.data('bs.button', (data = new Button(this, options)))\n\n if (option == 'toggle') data.toggle()\n else if (option) data.setState(option)\n })\n }\n\n var old = $.fn.button\n\n $.fn.button = Plugin\n $.fn.button.Constructor = Button\n\n\n // BUTTON NO CONFLICT\n // ==================\n\n $.fn.button.noConflict = function () {\n $.fn.button = old\n return this\n }\n\n\n // BUTTON DATA-API\n // ===============\n\n $(document).on('click.bs.button.data-api', '[data-toggle^=\"button\"]', function (e) {\n var $btn = $(e.target)\n if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')\n Plugin.call($btn, 'toggle')\n e.preventDefault()\n })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: carousel.js v3.2.0\n * http://getbootstrap.com/javascript/#carousel\n * ========================================================================\n * Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // CAROUSEL CLASS DEFINITION\n // =========================\n\n var Carousel = function (element, options) {\n this.$element = $(element).on('keydown.bs.carousel', $.proxy(this.keydown, this))\n this.$indicators = this.$element.find('.carousel-indicators')\n this.options = options\n this.paused =\n this.sliding =\n this.interval =\n this.$active =\n this.$items = null\n\n this.options.pause == 'hover' && this.$element\n .on('mouseenter.bs.carousel', $.proxy(this.pause, this))\n .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))\n }\n\n Carousel.VERSION = '3.2.0'\n\n Carousel.DEFAULTS = {\n interval: 5000,\n pause: 'hover',\n wrap: true\n }\n\n Carousel.prototype.keydown = function (e) {\n switch (e.which) {\n case 37: this.prev(); break\n case 39: this.next(); break\n default: return\n }\n\n e.preventDefault()\n }\n\n Carousel.prototype.cycle = function (e) {\n e || (this.paused = false)\n\n this.interval && clearInterval(this.interval)\n\n this.options.interval\n && !this.paused\n && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))\n\n return this\n }\n\n Carousel.prototype.getItemIndex = function (item) {\n this.$items = item.parent().children('.item')\n return this.$items.index(item || this.$active)\n }\n\n Carousel.prototype.to = function (pos) {\n var that = this\n var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))\n\n if (pos > (this.$items.length - 1) || pos < 0) return\n\n if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, \"slid\"\n if (activeIndex == pos) return this.pause().cycle()\n\n return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))\n }\n\n Carousel.prototype.pause = function (e) {\n e || (this.paused = true)\n\n if (this.$element.find('.next, .prev').length && $.support.transition) {\n this.$element.trigger($.support.transition.end)\n this.cycle(true)\n }\n\n this.interval = clearInterval(this.interval)\n\n return this\n }\n\n Carousel.prototype.next = function () {\n if (this.sliding) return\n return this.slide('next')\n }\n\n Carousel.prototype.prev = function () {\n if (this.sliding) return\n return this.slide('prev')\n }\n\n Carousel.prototype.slide = function (type, next) {\n var $active = this.$element.find('.item.active')\n var $next = next || $active[type]()\n var isCycling = this.interval\n var direction = type == 'next' ? 'left' : 'right'\n var fallback = type == 'next' ? 'first' : 'last'\n var that = this\n\n if (!$next.length) {\n if (!this.options.wrap) return\n $next = this.$element.find('.item')[fallback]()\n }\n\n if ($next.hasClass('active')) return (this.sliding = false)\n\n var relatedTarget = $next[0]\n var slideEvent = $.Event('slide.bs.carousel', {\n relatedTarget: relatedTarget,\n direction: direction\n })\n this.$element.trigger(slideEvent)\n if (slideEvent.isDefaultPrevented()) return\n\n this.sliding = true\n\n isCycling && this.pause()\n\n if (this.$indicators.length) {\n this.$indicators.find('.active').removeClass('active')\n var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])\n $nextIndicator && $nextIndicator.addClass('active')\n }\n\n var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, \"slid\"\n if ($.support.transition && this.$element.hasClass('slide')) {\n $next.addClass(type)\n $next[0].offsetWidth // force reflow\n $active.addClass(direction)\n $next.addClass(direction)\n $active\n .one('bsTransitionEnd', function () {\n $next.removeClass([type, direction].join(' ')).addClass('active')\n $active.removeClass(['active', direction].join(' '))\n that.sliding = false\n setTimeout(function () {\n that.$element.trigger(slidEvent)\n }, 0)\n })\n .emulateTransitionEnd($active.css('transition-duration').slice(0, -1) * 1000)\n } else {\n $active.removeClass('active')\n $next.addClass('active')\n this.sliding = false\n this.$element.trigger(slidEvent)\n }\n\n isCycling && this.cycle()\n\n return this\n }\n\n\n // CAROUSEL PLUGIN DEFINITION\n // ==========================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.carousel')\n var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)\n var action = typeof option == 'string' ? option : options.slide\n\n if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))\n if (typeof option == 'number') data.to(option)\n else if (action) data[action]()\n else if (options.interval) data.pause().cycle()\n })\n }\n\n var old = $.fn.carousel\n\n $.fn.carousel = Plugin\n $.fn.carousel.Constructor = Carousel\n\n\n // CAROUSEL NO CONFLICT\n // ====================\n\n $.fn.carousel.noConflict = function () {\n $.fn.carousel = old\n return this\n }\n\n\n // CAROUSEL DATA-API\n // =================\n\n $(document).on('click.bs.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {\n var href\n var $this = $(this)\n var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '')) // strip for ie7\n if (!$target.hasClass('carousel')) return\n var options = $.extend({}, $target.data(), $this.data())\n var slideIndex = $this.attr('data-slide-to')\n if (slideIndex) options.interval = false\n\n Plugin.call($target, options)\n\n if (slideIndex) {\n $target.data('bs.carousel').to(slideIndex)\n }\n\n e.preventDefault()\n })\n\n $(window).on('load', function () {\n $('[data-ride=\"carousel\"]').each(function () {\n var $carousel = $(this)\n Plugin.call($carousel, $carousel.data())\n })\n })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: collapse.js v3.2.0\n * http://getbootstrap.com/javascript/#collapse\n * ========================================================================\n * Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // COLLAPSE PUBLIC CLASS DEFINITION\n // ================================\n\n var Collapse = function (element, options) {\n this.$element = $(element)\n this.options = $.extend({}, Collapse.DEFAULTS, options)\n this.transitioning = null\n\n if (this.options.parent) this.$parent = $(this.options.parent)\n if (this.options.toggle) this.toggle()\n }\n\n Collapse.VERSION = '3.2.0'\n\n Collapse.DEFAULTS = {\n toggle: true\n }\n\n Collapse.prototype.dimension = function () {\n var hasWidth = this.$element.hasClass('width')\n return hasWidth ? 'width' : 'height'\n }\n\n Collapse.prototype.show = function () {\n if (this.transitioning || this.$element.hasClass('in')) return\n\n var startEvent = $.Event('show.bs.collapse')\n this.$element.trigger(startEvent)\n if (startEvent.isDefaultPrevented()) return\n\n var actives = this.$parent && this.$parent.find('> .panel > .in')\n\n if (actives && actives.length) {\n var hasData = actives.data('bs.collapse')\n if (hasData && hasData.transitioning) return\n Plugin.call(actives, 'hide')\n hasData || actives.data('bs.collapse', null)\n }\n\n var dimension = this.dimension()\n\n this.$element\n .removeClass('collapse')\n .addClass('collapsing')[dimension](0)\n\n this.transitioning = 1\n\n var complete = function () {\n this.$element\n .removeClass('collapsing')\n .addClass('collapse in')[dimension]('')\n this.transitioning = 0\n this.$element\n .trigger('shown.bs.collapse')\n }\n\n if (!$.support.transition) return complete.call(this)\n\n var scrollSize = $.camelCase(['scroll', dimension].join('-'))\n\n this.$element\n .one('bsTransitionEnd', $.proxy(complete, this))\n .emulateTransitionEnd(350)[dimension](this.$element[0][scrollSize])\n }\n\n Collapse.prototype.hide = function () {\n if (this.transitioning || !this.$element.hasClass('in')) return\n\n var startEvent = $.Event('hide.bs.collapse')\n this.$element.trigger(startEvent)\n if (startEvent.isDefaultPrevented()) return\n\n var dimension = this.dimension()\n\n this.$element[dimension](this.$element[dimension]())[0].offsetHeight\n\n this.$element\n .addClass('collapsing')\n .removeClass('collapse')\n .removeClass('in')\n\n this.transitioning = 1\n\n var complete = function () {\n this.transitioning = 0\n this.$element\n .trigger('hidden.bs.collapse')\n .removeClass('collapsing')\n .addClass('collapse')\n }\n\n if (!$.support.transition) return complete.call(this)\n\n this.$element\n [dimension](0)\n .one('bsTransitionEnd', $.proxy(complete, this))\n .emulateTransitionEnd(350)\n }\n\n Collapse.prototype.toggle = function () {\n this[this.$element.hasClass('in') ? 'hide' : 'show']()\n }\n\n\n // COLLAPSE PLUGIN DEFINITION\n // ==========================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.collapse')\n var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)\n\n if (!data && options.toggle && option == 'show') option = !option\n if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n var old = $.fn.collapse\n\n $.fn.collapse = Plugin\n $.fn.collapse.Constructor = Collapse\n\n\n // COLLAPSE NO CONFLICT\n // ====================\n\n $.fn.collapse.noConflict = function () {\n $.fn.collapse = old\n return this\n }\n\n\n // COLLAPSE DATA-API\n // =================\n\n $(document).on('click.bs.collapse.data-api', '[data-toggle=\"collapse\"]', function (e) {\n var href\n var $this = $(this)\n var target = $this.attr('data-target')\n || e.preventDefault()\n || (href = $this.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '') // strip for ie7\n var $target = $(target)\n var data = $target.data('bs.collapse')\n var option = data ? 'toggle' : $this.data()\n var parent = $this.attr('data-parent')\n var $parent = parent && $(parent)\n\n if (!data || !data.transitioning) {\n if ($parent) $parent.find('[data-toggle=\"collapse\"][data-parent=\"' + parent + '\"]').not($this).addClass('collapsed')\n $this[$target.hasClass('in') ? 'addClass' : 'removeClass']('collapsed')\n }\n\n Plugin.call($target, option)\n })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: dropdown.js v3.2.0\n * http://getbootstrap.com/javascript/#dropdowns\n * ========================================================================\n * Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // DROPDOWN CLASS DEFINITION\n // =========================\n\n var backdrop = '.dropdown-backdrop'\n var toggle = '[data-toggle=\"dropdown\"]'\n var Dropdown = function (element) {\n $(element).on('click.bs.dropdown', this.toggle)\n }\n\n Dropdown.VERSION = '3.2.0'\n\n Dropdown.prototype.toggle = function (e) {\n var $this = $(this)\n\n if ($this.is('.disabled, :disabled')) return\n\n var $parent = getParent($this)\n var isActive = $parent.hasClass('open')\n\n clearMenus()\n\n if (!isActive) {\n if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {\n // if mobile we use a backdrop because click events don't delegate\n $('
').insertAfter($(this)).on('click', clearMenus)\n }\n\n var relatedTarget = { relatedTarget: this }\n $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))\n\n if (e.isDefaultPrevented()) return\n\n $this.trigger('focus')\n\n $parent\n .toggleClass('open')\n .trigger('shown.bs.dropdown', relatedTarget)\n }\n\n return false\n }\n\n Dropdown.prototype.keydown = function (e) {\n if (!/(38|40|27)/.test(e.keyCode)) return\n\n var $this = $(this)\n\n e.preventDefault()\n e.stopPropagation()\n\n if ($this.is('.disabled, :disabled')) return\n\n var $parent = getParent($this)\n var isActive = $parent.hasClass('open')\n\n if (!isActive || (isActive && e.keyCode == 27)) {\n if (e.which == 27) $parent.find(toggle).trigger('focus')\n return $this.trigger('click')\n }\n\n var desc = ' li:not(.divider):visible a'\n var $items = $parent.find('[role=\"menu\"]' + desc + ', [role=\"listbox\"]' + desc)\n\n if (!$items.length) return\n\n var index = $items.index($items.filter(':focus'))\n\n if (e.keyCode == 38 && index > 0) index-- // up\n if (e.keyCode == 40 && index < $items.length - 1) index++ // down\n if (!~index) index = 0\n\n $items.eq(index).trigger('focus')\n }\n\n function clearMenus(e) {\n if (e && e.which === 3) return\n $(backdrop).remove()\n $(toggle).each(function () {\n var $parent = getParent($(this))\n var relatedTarget = { relatedTarget: this }\n if (!$parent.hasClass('open')) return\n $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))\n if (e.isDefaultPrevented()) return\n $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)\n })\n }\n\n function getParent($this) {\n var selector = $this.attr('data-target')\n\n if (!selector) {\n selector = $this.attr('href')\n selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\n }\n\n var $parent = selector && $(selector)\n\n return $parent && $parent.length ? $parent : $this.parent()\n }\n\n\n // DROPDOWN PLUGIN DEFINITION\n // ==========================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.dropdown')\n\n if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))\n if (typeof option == 'string') data[option].call($this)\n })\n }\n\n var old = $.fn.dropdown\n\n $.fn.dropdown = Plugin\n $.fn.dropdown.Constructor = Dropdown\n\n\n // DROPDOWN NO CONFLICT\n // ====================\n\n $.fn.dropdown.noConflict = function () {\n $.fn.dropdown = old\n return this\n }\n\n\n // APPLY TO STANDARD DROPDOWN ELEMENTS\n // ===================================\n\n $(document)\n .on('click.bs.dropdown.data-api', clearMenus)\n .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })\n .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)\n .on('keydown.bs.dropdown.data-api', toggle + ', [role=\"menu\"], [role=\"listbox\"]', Dropdown.prototype.keydown)\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: tab.js v3.2.0\n * http://getbootstrap.com/javascript/#tabs\n * ========================================================================\n * Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // TAB CLASS DEFINITION\n // ====================\n\n var Tab = function (element) {\n this.element = $(element)\n }\n\n Tab.VERSION = '3.2.0'\n\n Tab.prototype.show = function () {\n var $this = this.element\n var $ul = $this.closest('ul:not(.dropdown-menu)')\n var selector = $this.data('target')\n\n if (!selector) {\n selector = $this.attr('href')\n selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\n }\n\n if ($this.parent('li').hasClass('active')) return\n\n var previous = $ul.find('.active:last a')[0]\n var e = $.Event('show.bs.tab', {\n relatedTarget: previous\n })\n\n $this.trigger(e)\n\n if (e.isDefaultPrevented()) return\n\n var $target = $(selector)\n\n this.activate($this.closest('li'), $ul)\n this.activate($target, $target.parent(), function () {\n $this.trigger({\n type: 'shown.bs.tab',\n relatedTarget: previous\n })\n })\n }\n\n Tab.prototype.activate = function (element, container, callback) {\n var $active = container.find('> .active')\n var transition = callback\n && $.support.transition\n && $active.hasClass('fade')\n\n function next() {\n $active\n .removeClass('active')\n .find('> .dropdown-menu > .active')\n .removeClass('active')\n\n element.addClass('active')\n\n if (transition) {\n element[0].offsetWidth // reflow for transition\n element.addClass('in')\n } else {\n element.removeClass('fade')\n }\n\n if (element.parent('.dropdown-menu')) {\n element.closest('li.dropdown').addClass('active')\n }\n\n callback && callback()\n }\n\n transition ?\n $active\n .one('bsTransitionEnd', next)\n .emulateTransitionEnd(150) :\n next()\n\n $active.removeClass('in')\n }\n\n\n // TAB PLUGIN DEFINITION\n // =====================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.tab')\n\n if (!data) $this.data('bs.tab', (data = new Tab(this)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n var old = $.fn.tab\n\n $.fn.tab = Plugin\n $.fn.tab.Constructor = Tab\n\n\n // TAB NO CONFLICT\n // ===============\n\n $.fn.tab.noConflict = function () {\n $.fn.tab = old\n return this\n }\n\n\n // TAB DATA-API\n // ============\n\n $(document).on('click.bs.tab.data-api', '[data-toggle=\"tab\"], [data-toggle=\"pill\"]', function (e) {\n e.preventDefault()\n Plugin.call($(this), 'show')\n })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: transition.js v3.2.0\n * http://getbootstrap.com/javascript/#transitions\n * ========================================================================\n * Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)\n // ============================================================\n\n function transitionEnd() {\n var el = document.createElement('bootstrap')\n\n var transEndEventNames = {\n WebkitTransition : 'webkitTransitionEnd',\n MozTransition : 'transitionend',\n OTransition : 'oTransitionEnd otransitionend',\n transition : 'transitionend'\n }\n\n for (var name in transEndEventNames) {\n if (el.style[name] !== undefined) {\n return { end: transEndEventNames[name] }\n }\n }\n\n return false // explicit for ie8 ( ._.)\n }\n\n // http://blog.alexmaccaw.com/css-transitions\n $.fn.emulateTransitionEnd = function (duration) {\n var called = false\n var $el = this\n $(this).one('bsTransitionEnd', function () { called = true })\n var callback = function () { if (!called) $($el).trigger($.support.transition.end) }\n setTimeout(callback, duration)\n return this\n }\n\n $(function () {\n $.support.transition = transitionEnd()\n\n if (!$.support.transition) return\n\n $.event.special.bsTransitionEnd = {\n bindType: $.support.transition.end,\n delegateType: $.support.transition.end,\n handle: function (e) {\n if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)\n }\n }\n })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: scrollspy.js v3.2.0\n * http://getbootstrap.com/javascript/#scrollspy\n * ========================================================================\n * Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // SCROLLSPY CLASS DEFINITION\n // ==========================\n\n function ScrollSpy(element, options) {\n var process = $.proxy(this.process, this)\n\n this.$body = $('body')\n this.$scrollElement = $(element).is('body') ? $(window) : $(element)\n this.options = $.extend({}, ScrollSpy.DEFAULTS, options)\n this.selector = (this.options.target || '') + ' .nav li > a'\n this.offsets = []\n this.targets = []\n this.activeTarget = null\n this.scrollHeight = 0\n\n this.$scrollElement.on('scroll.bs.scrollspy', process)\n this.refresh()\n this.process()\n }\n\n ScrollSpy.VERSION = '3.2.0'\n\n ScrollSpy.DEFAULTS = {\n offset: 10\n }\n\n ScrollSpy.prototype.getScrollHeight = function () {\n return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)\n }\n\n ScrollSpy.prototype.refresh = function () {\n var offsetMethod = 'offset'\n var offsetBase = 0\n\n if (!$.isWindow(this.$scrollElement[0])) {\n offsetMethod = 'position'\n offsetBase = this.$scrollElement.scrollTop()\n }\n\n this.offsets = []\n this.targets = []\n this.scrollHeight = this.getScrollHeight()\n\n var self = this\n\n this.$body\n .find(this.selector)\n .map(function () {\n var $el = $(this)\n var href = $el.data('target') || $el.attr('href')\n var $href = /^#./.test(href) && $(href)\n\n return ($href\n && $href.length\n && $href.is(':visible')\n && [[$href[offsetMethod]().top + offsetBase, href]]) || null\n })\n .sort(function (a, b) { return a[0] - b[0] })\n .each(function () {\n self.offsets.push(this[0])\n self.targets.push(this[1])\n })\n }\n\n ScrollSpy.prototype.process = function () {\n var scrollTop = this.$scrollElement.scrollTop() + this.options.offset\n var scrollHeight = this.getScrollHeight()\n var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height()\n var offsets = this.offsets\n var targets = this.targets\n var activeTarget = this.activeTarget\n var i\n\n if (this.scrollHeight != scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)\n }\n\n if (activeTarget && scrollTop <= offsets[0]) {\n return activeTarget != (i = targets[0]) && this.activate(i)\n }\n\n for (i = offsets.length; i--;) {\n activeTarget != targets[i]\n && scrollTop >= offsets[i]\n && (!offsets[i + 1] || scrollTop <= offsets[i + 1])\n && this.activate(targets[i])\n }\n }\n\n ScrollSpy.prototype.activate = function (target) {\n this.activeTarget = target\n\n $(this.selector)\n .parentsUntil(this.options.target, '.active')\n .removeClass('active')\n\n var selector = this.selector +\n '[data-target=\"' + target + '\"],' +\n this.selector + '[href=\"' + target + '\"]'\n\n var active = $(selector)\n .parents('li')\n .addClass('active')\n\n if (active.parent('.dropdown-menu').length) {\n active = active\n .closest('li.dropdown')\n .addClass('active')\n }\n\n active.trigger('activate.bs.scrollspy')\n }\n\n\n // SCROLLSPY PLUGIN DEFINITION\n // ===========================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.scrollspy')\n var options = typeof option == 'object' && option\n\n if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n var old = $.fn.scrollspy\n\n $.fn.scrollspy = Plugin\n $.fn.scrollspy.Constructor = ScrollSpy\n\n\n // SCROLLSPY NO CONFLICT\n // =====================\n\n $.fn.scrollspy.noConflict = function () {\n $.fn.scrollspy = old\n return this\n }\n\n\n // SCROLLSPY DATA-API\n // ==================\n\n $(window).on('load.bs.scrollspy.data-api', function () {\n $('[data-spy=\"scroll\"]').each(function () {\n var $spy = $(this)\n Plugin.call($spy, $spy.data())\n })\n })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: modal.js v3.2.0\n * http://getbootstrap.com/javascript/#modals\n * ========================================================================\n * Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // MODAL CLASS DEFINITION\n // ======================\n\n var Modal = function (element, options) {\n this.options = options\n this.$body = $(document.body)\n this.$element = $(element)\n this.$backdrop =\n this.isShown = null\n this.scrollbarWidth = 0\n\n if (this.options.remote) {\n this.$element\n .find('.modal-content')\n .load(this.options.remote, $.proxy(function () {\n this.$element.trigger('loaded.bs.modal')\n }, this))\n }\n }\n\n Modal.VERSION = '3.2.0'\n\n Modal.DEFAULTS = {\n backdrop: true,\n keyboard: true,\n show: true\n }\n\n Modal.prototype.toggle = function (_relatedTarget) {\n return this.isShown ? this.hide() : this.show(_relatedTarget)\n }\n\n Modal.prototype.show = function (_relatedTarget) {\n var that = this\n var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })\n\n this.$element.trigger(e)\n\n if (this.isShown || e.isDefaultPrevented()) return\n\n this.isShown = true\n\n this.checkScrollbar()\n this.$body.addClass('modal-open')\n\n this.setScrollbar()\n this.escape()\n\n this.$element.on('click.dismiss.bs.modal', '[data-dismiss=\"modal\"]', $.proxy(this.hide, this))\n\n this.backdrop(function () {\n var transition = $.support.transition && that.$element.hasClass('fade')\n\n if (!that.$element.parent().length) {\n that.$element.appendTo(that.$body) // don't move modals dom position\n }\n\n that.$element\n .show()\n .scrollTop(0)\n\n if (transition) {\n that.$element[0].offsetWidth // force reflow\n }\n\n that.$element\n .addClass('in')\n .attr('aria-hidden', false)\n\n that.enforceFocus()\n\n var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })\n\n transition ?\n that.$element.find('.modal-dialog') // wait for modal to slide in\n .one('bsTransitionEnd', function () {\n that.$element.trigger('focus').trigger(e)\n })\n .emulateTransitionEnd(300) :\n that.$element.trigger('focus').trigger(e)\n })\n }\n\n Modal.prototype.hide = function (e) {\n if (e) e.preventDefault()\n\n e = $.Event('hide.bs.modal')\n\n this.$element.trigger(e)\n\n if (!this.isShown || e.isDefaultPrevented()) return\n\n this.isShown = false\n\n this.$body.removeClass('modal-open')\n\n this.resetScrollbar()\n this.escape()\n\n $(document).off('focusin.bs.modal')\n\n this.$element\n .removeClass('in')\n .attr('aria-hidden', true)\n .off('click.dismiss.bs.modal')\n\n $.support.transition && this.$element.hasClass('fade') ?\n this.$element\n .one('bsTransitionEnd', $.proxy(this.hideModal, this))\n .emulateTransitionEnd(300) :\n this.hideModal()\n }\n\n Modal.prototype.enforceFocus = function () {\n $(document)\n .off('focusin.bs.modal') // guard against infinite focus loop\n .on('focusin.bs.modal', $.proxy(function (e) {\n if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {\n this.$element.trigger('focus')\n }\n }, this))\n }\n\n Modal.prototype.escape = function () {\n if (this.isShown && this.options.keyboard) {\n this.$element.on('keyup.dismiss.bs.modal', $.proxy(function (e) {\n e.which == 27 && this.hide()\n }, this))\n } else if (!this.isShown) {\n this.$element.off('keyup.dismiss.bs.modal')\n }\n }\n\n Modal.prototype.hideModal = function () {\n var that = this\n this.$element.hide()\n this.backdrop(function () {\n that.$element.trigger('hidden.bs.modal')\n })\n }\n\n Modal.prototype.removeBackdrop = function () {\n this.$backdrop && this.$backdrop.remove()\n this.$backdrop = null\n }\n\n Modal.prototype.backdrop = function (callback) {\n var that = this\n var animate = this.$element.hasClass('fade') ? 'fade' : ''\n\n if (this.isShown && this.options.backdrop) {\n var doAnimate = $.support.transition && animate\n\n this.$backdrop = $('
')\n .appendTo(this.$body)\n\n this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {\n if (e.target !== e.currentTarget) return\n this.options.backdrop == 'static'\n ? this.$element[0].focus.call(this.$element[0])\n : this.hide.call(this)\n }, this))\n\n if (doAnimate) this.$backdrop[0].offsetWidth // force reflow\n\n this.$backdrop.addClass('in')\n\n if (!callback) return\n\n doAnimate ?\n this.$backdrop\n .one('bsTransitionEnd', callback)\n .emulateTransitionEnd(150) :\n callback()\n\n } else if (!this.isShown && this.$backdrop) {\n this.$backdrop.removeClass('in')\n\n var callbackRemove = function () {\n that.removeBackdrop()\n callback && callback()\n }\n $.support.transition && this.$element.hasClass('fade') ?\n this.$backdrop\n .one('bsTransitionEnd', callbackRemove)\n .emulateTransitionEnd(150) :\n callbackRemove()\n\n } else if (callback) {\n callback()\n }\n }\n\n Modal.prototype.checkScrollbar = function () {\n if (document.body.clientWidth >= window.innerWidth) return\n this.scrollbarWidth = this.scrollbarWidth || this.measureScrollbar()\n }\n\n Modal.prototype.setScrollbar = function () {\n var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)\n if (this.scrollbarWidth) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)\n }\n\n Modal.prototype.resetScrollbar = function () {\n this.$body.css('padding-right', '')\n }\n\n Modal.prototype.measureScrollbar = function () { // thx walsh\n var scrollDiv = document.createElement('div')\n scrollDiv.className = 'modal-scrollbar-measure'\n this.$body.append(scrollDiv)\n var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth\n this.$body[0].removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n\n // MODAL PLUGIN DEFINITION\n // =======================\n\n function Plugin(option, _relatedTarget) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.modal')\n var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)\n\n if (!data) $this.data('bs.modal', (data = new Modal(this, options)))\n if (typeof option == 'string') data[option](_relatedTarget)\n else if (options.show) data.show(_relatedTarget)\n })\n }\n\n var old = $.fn.modal\n\n $.fn.modal = Plugin\n $.fn.modal.Constructor = Modal\n\n\n // MODAL NO CONFLICT\n // =================\n\n $.fn.modal.noConflict = function () {\n $.fn.modal = old\n return this\n }\n\n\n // MODAL DATA-API\n // ==============\n\n $(document).on('click.bs.modal.data-api', '[data-toggle=\"modal\"]', function (e) {\n var $this = $(this)\n var href = $this.attr('href')\n var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\\s]+$)/, ''))) // strip for ie7\n var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())\n\n if ($this.is('a')) e.preventDefault()\n\n $target.one('show.bs.modal', function (showEvent) {\n if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown\n $target.one('hidden.bs.modal', function () {\n $this.is(':visible') && $this.trigger('focus')\n })\n })\n Plugin.call($target, option, this)\n })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: tooltip.js v3.2.0\n * http://getbootstrap.com/javascript/#tooltip\n * Inspired by the original jQuery.tipsy by Jason Frame\n * ========================================================================\n * Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // TOOLTIP PUBLIC CLASS DEFINITION\n // ===============================\n\n var Tooltip = function (element, options) {\n this.type =\n this.options =\n this.enabled =\n this.timeout =\n this.hoverState =\n this.$element = null\n\n this.init('tooltip', element, options)\n }\n\n Tooltip.VERSION = '3.2.0'\n\n Tooltip.DEFAULTS = {\n animation: true,\n placement: 'top',\n selector: false,\n template: '
',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n container: false,\n viewport: {\n selector: 'body',\n padding: 0\n }\n }\n\n Tooltip.prototype.init = function (type, element, options) {\n this.enabled = true\n this.type = type\n this.$element = $(element)\n this.options = this.getOptions(options)\n this.$viewport = this.options.viewport && $(this.options.viewport.selector || this.options.viewport)\n\n var triggers = this.options.trigger.split(' ')\n\n for (var i = triggers.length; i--;) {\n var trigger = triggers[i]\n\n if (trigger == 'click') {\n this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))\n } else if (trigger != 'manual') {\n var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin'\n var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'\n\n this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))\n this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))\n }\n }\n\n this.options.selector ?\n (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :\n this.fixTitle()\n }\n\n Tooltip.prototype.getDefaults = function () {\n return Tooltip.DEFAULTS\n }\n\n Tooltip.prototype.getOptions = function (options) {\n options = $.extend({}, this.getDefaults(), this.$element.data(), options)\n\n if (options.delay && typeof options.delay == 'number') {\n options.delay = {\n show: options.delay,\n hide: options.delay\n }\n }\n\n return options\n }\n\n Tooltip.prototype.getDelegateOptions = function () {\n var options = {}\n var defaults = this.getDefaults()\n\n this._options && $.each(this._options, function (key, value) {\n if (defaults[key] != value) options[key] = value\n })\n\n return options\n }\n\n Tooltip.prototype.enter = function (obj) {\n var self = obj instanceof this.constructor ?\n obj : $(obj.currentTarget).data('bs.' + this.type)\n\n if (!self) {\n self = new this.constructor(obj.currentTarget, this.getDelegateOptions())\n $(obj.currentTarget).data('bs.' + this.type, self)\n }\n\n clearTimeout(self.timeout)\n\n self.hoverState = 'in'\n\n if (!self.options.delay || !self.options.delay.show) return self.show()\n\n self.timeout = setTimeout(function () {\n if (self.hoverState == 'in') self.show()\n }, self.options.delay.show)\n }\n\n Tooltip.prototype.leave = function (obj) {\n var self = obj instanceof this.constructor ?\n obj : $(obj.currentTarget).data('bs.' + this.type)\n\n if (!self) {\n self = new this.constructor(obj.currentTarget, this.getDelegateOptions())\n $(obj.currentTarget).data('bs.' + this.type, self)\n }\n\n clearTimeout(self.timeout)\n\n self.hoverState = 'out'\n\n if (!self.options.delay || !self.options.delay.hide) return self.hide()\n\n self.timeout = setTimeout(function () {\n if (self.hoverState == 'out') self.hide()\n }, self.options.delay.hide)\n }\n\n Tooltip.prototype.show = function () {\n var e = $.Event('show.bs.' + this.type)\n\n if (this.hasContent() && this.enabled) {\n this.$element.trigger(e)\n\n var inDom = $.contains(document.documentElement, this.$element[0])\n if (e.isDefaultPrevented() || !inDom) return\n var that = this\n\n var $tip = this.tip()\n\n var tipId = this.getUID(this.type)\n\n this.setContent()\n $tip.attr('id', tipId)\n this.$element.attr('aria-describedby', tipId)\n\n if (this.options.animation) $tip.addClass('fade')\n\n var placement = typeof this.options.placement == 'function' ?\n this.options.placement.call(this, $tip[0], this.$element[0]) :\n this.options.placement\n\n var autoToken = /\\s?auto?\\s?/i\n var autoPlace = autoToken.test(placement)\n if (autoPlace) placement = placement.replace(autoToken, '') || 'top'\n\n $tip\n .detach()\n .css({ top: 0, left: 0, display: 'block' })\n .addClass(placement)\n .data('bs.' + this.type, this)\n\n this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)\n\n var pos = this.getPosition()\n var actualWidth = $tip[0].offsetWidth\n var actualHeight = $tip[0].offsetHeight\n\n if (autoPlace) {\n var orgPlacement = placement\n var $parent = this.$element.parent()\n var parentDim = this.getPosition($parent)\n\n placement = placement == 'bottom' && pos.top + pos.height + actualHeight - parentDim.scroll > parentDim.height ? 'top' :\n placement == 'top' && pos.top - parentDim.scroll - actualHeight < 0 ? 'bottom' :\n placement == 'right' && pos.right + actualWidth > parentDim.width ? 'left' :\n placement == 'left' && pos.left - actualWidth < parentDim.left ? 'right' :\n placement\n\n $tip\n .removeClass(orgPlacement)\n .addClass(placement)\n }\n\n var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)\n\n this.applyPlacement(calculatedOffset, placement)\n\n var complete = function () {\n that.$element.trigger('shown.bs.' + that.type)\n that.hoverState = null\n }\n\n $.support.transition && this.$tip.hasClass('fade') ?\n $tip\n .one('bsTransitionEnd', complete)\n .emulateTransitionEnd(150) :\n complete()\n }\n }\n\n Tooltip.prototype.applyPlacement = function (offset, placement) {\n var $tip = this.tip()\n var width = $tip[0].offsetWidth\n var height = $tip[0].offsetHeight\n\n // manually read margins because getBoundingClientRect includes difference\n var marginTop = parseInt($tip.css('margin-top'), 10)\n var marginLeft = parseInt($tip.css('margin-left'), 10)\n\n // we must check for NaN for ie 8/9\n if (isNaN(marginTop)) marginTop = 0\n if (isNaN(marginLeft)) marginLeft = 0\n\n offset.top = offset.top + marginTop\n offset.left = offset.left + marginLeft\n\n // $.fn.offset doesn't round pixel values\n // so we use setOffset directly with our own function B-0\n $.offset.setOffset($tip[0], $.extend({\n using: function (props) {\n $tip.css({\n top: Math.round(props.top),\n left: Math.round(props.left)\n })\n }\n }, offset), 0)\n\n $tip.addClass('in')\n\n // check to see if placing tip in new offset caused the tip to resize itself\n var actualWidth = $tip[0].offsetWidth\n var actualHeight = $tip[0].offsetHeight\n\n if (placement == 'top' && actualHeight != height) {\n offset.top = offset.top + height - actualHeight\n }\n\n var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)\n\n if (delta.left) offset.left += delta.left\n else offset.top += delta.top\n\n var arrowDelta = delta.left ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight\n var arrowPosition = delta.left ? 'left' : 'top'\n var arrowOffsetPosition = delta.left ? 'offsetWidth' : 'offsetHeight'\n\n $tip.offset(offset)\n this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], arrowPosition)\n }\n\n Tooltip.prototype.replaceArrow = function (delta, dimension, position) {\n this.arrow().css(position, delta ? (50 * (1 - delta / dimension) + '%') : '')\n }\n\n Tooltip.prototype.setContent = function () {\n var $tip = this.tip()\n var title = this.getTitle()\n\n $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)\n $tip.removeClass('fade in top bottom left right')\n }\n\n Tooltip.prototype.hide = function () {\n var that = this\n var $tip = this.tip()\n var e = $.Event('hide.bs.' + this.type)\n\n this.$element.removeAttr('aria-describedby')\n\n function complete() {\n if (that.hoverState != 'in') $tip.detach()\n that.$element.trigger('hidden.bs.' + that.type)\n }\n\n this.$element.trigger(e)\n\n if (e.isDefaultPrevented()) return\n\n $tip.removeClass('in')\n\n $.support.transition && this.$tip.hasClass('fade') ?\n $tip\n .one('bsTransitionEnd', complete)\n .emulateTransitionEnd(150) :\n complete()\n\n this.hoverState = null\n\n return this\n }\n\n Tooltip.prototype.fixTitle = function () {\n var $e = this.$element\n if ($e.attr('title') || typeof ($e.attr('data-original-title')) != 'string') {\n $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')\n }\n }\n\n Tooltip.prototype.hasContent = function () {\n return this.getTitle()\n }\n\n Tooltip.prototype.getPosition = function ($element) {\n $element = $element || this.$element\n var el = $element[0]\n var isBody = el.tagName == 'BODY'\n return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : null, {\n scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop(),\n width: isBody ? $(window).width() : $element.outerWidth(),\n height: isBody ? $(window).height() : $element.outerHeight()\n }, isBody ? { top: 0, left: 0 } : $element.offset())\n }\n\n Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {\n return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :\n placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :\n placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :\n /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }\n\n }\n\n Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {\n var delta = { top: 0, left: 0 }\n if (!this.$viewport) return delta\n\n var viewportPadding = this.options.viewport && this.options.viewport.padding || 0\n var viewportDimensions = this.getPosition(this.$viewport)\n\n if (/right|left/.test(placement)) {\n var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll\n var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight\n if (topEdgeOffset < viewportDimensions.top) { // top overflow\n delta.top = viewportDimensions.top - topEdgeOffset\n } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow\n delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset\n }\n } else {\n var leftEdgeOffset = pos.left - viewportPadding\n var rightEdgeOffset = pos.left + viewportPadding + actualWidth\n if (leftEdgeOffset < viewportDimensions.left) { // left overflow\n delta.left = viewportDimensions.left - leftEdgeOffset\n } else if (rightEdgeOffset > viewportDimensions.width) { // right overflow\n delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset\n }\n }\n\n return delta\n }\n\n Tooltip.prototype.getTitle = function () {\n var title\n var $e = this.$element\n var o = this.options\n\n title = $e.attr('data-original-title')\n || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)\n\n return title\n }\n\n Tooltip.prototype.getUID = function (prefix) {\n do prefix += ~~(Math.random() * 1000000)\n while (document.getElementById(prefix))\n return prefix\n }\n\n Tooltip.prototype.tip = function () {\n return (this.$tip = this.$tip || $(this.options.template))\n }\n\n Tooltip.prototype.arrow = function () {\n return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))\n }\n\n Tooltip.prototype.validate = function () {\n if (!this.$element[0].parentNode) {\n this.hide()\n this.$element = null\n this.options = null\n }\n }\n\n Tooltip.prototype.enable = function () {\n this.enabled = true\n }\n\n Tooltip.prototype.disable = function () {\n this.enabled = false\n }\n\n Tooltip.prototype.toggleEnabled = function () {\n this.enabled = !this.enabled\n }\n\n Tooltip.prototype.toggle = function (e) {\n var self = this\n if (e) {\n self = $(e.currentTarget).data('bs.' + this.type)\n if (!self) {\n self = new this.constructor(e.currentTarget, this.getDelegateOptions())\n $(e.currentTarget).data('bs.' + this.type, self)\n }\n }\n\n self.tip().hasClass('in') ? self.leave(self) : self.enter(self)\n }\n\n Tooltip.prototype.destroy = function () {\n clearTimeout(this.timeout)\n this.hide().$element.off('.' + this.type).removeData('bs.' + this.type)\n }\n\n\n // TOOLTIP PLUGIN DEFINITION\n // =========================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.tooltip')\n var options = typeof option == 'object' && option\n\n if (!data && option == 'destroy') return\n if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n var old = $.fn.tooltip\n\n $.fn.tooltip = Plugin\n $.fn.tooltip.Constructor = Tooltip\n\n\n // TOOLTIP NO CONFLICT\n // ===================\n\n $.fn.tooltip.noConflict = function () {\n $.fn.tooltip = old\n return this\n }\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: popover.js v3.2.0\n * http://getbootstrap.com/javascript/#popovers\n * ========================================================================\n * Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // POPOVER PUBLIC CLASS DEFINITION\n // ===============================\n\n var Popover = function (element, options) {\n this.init('popover', element, options)\n }\n\n if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')\n\n Popover.VERSION = '3.2.0'\n\n Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '

'\n })\n\n\n // NOTE: POPOVER EXTENDS tooltip.js\n // ================================\n\n Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)\n\n Popover.prototype.constructor = Popover\n\n Popover.prototype.getDefaults = function () {\n return Popover.DEFAULTS\n }\n\n Popover.prototype.setContent = function () {\n var $tip = this.tip()\n var title = this.getTitle()\n var content = this.getContent()\n\n $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)\n $tip.find('.popover-content').empty()[ // we use append for html objects to maintain js events\n this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'\n ](content)\n\n $tip.removeClass('fade top bottom left right in')\n\n // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do\n // this manually by checking the contents.\n if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()\n }\n\n Popover.prototype.hasContent = function () {\n return this.getTitle() || this.getContent()\n }\n\n Popover.prototype.getContent = function () {\n var $e = this.$element\n var o = this.options\n\n return $e.attr('data-content')\n || (typeof o.content == 'function' ?\n o.content.call($e[0]) :\n o.content)\n }\n\n Popover.prototype.arrow = function () {\n return (this.$arrow = this.$arrow || this.tip().find('.arrow'))\n }\n\n Popover.prototype.tip = function () {\n if (!this.$tip) this.$tip = $(this.options.template)\n return this.$tip\n }\n\n\n // POPOVER PLUGIN DEFINITION\n // =========================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.popover')\n var options = typeof option == 'object' && option\n\n if (!data && option == 'destroy') return\n if (!data) $this.data('bs.popover', (data = new Popover(this, options)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n var old = $.fn.popover\n\n $.fn.popover = Plugin\n $.fn.popover.Constructor = Popover\n\n\n // POPOVER NO CONFLICT\n // ===================\n\n $.fn.popover.noConflict = function () {\n $.fn.popover = old\n return this\n }\n\n}(jQuery);\n\n","if (typeof $ == 'undefined') {\n var $ = jQuery;\n}\n\n(function($) {\n \"use strict\";\n\n if (typeof $.fn.gene == \"undefined\") {\n $.fn.gene = {\n debug: 1,\n tags: [],\n evts: {},\n scriptName: 'jquery.gene',\n taClass: 'gee',\n apiUri: '/',\n\n goBack: function(me) {\n history.go(-1);\n },\n\n //表單驗証\n formValidate: function(me) {\n var g = $.fn.gene,\n chk = 1;\n\n me.find(\"input[require], select[require], textarea[require]\").each(function() {\n\n if (chk === 0) {\n return chk;\n }\n\n var $ci = $(this),\n label = $ci.attr(\"title\") || $ci.attr(\"name\"),\n txt = \"\";\n\n if ($ci.is(\":visible\")) {\n\n if ($ci.ifEmpty()) {\n txt = '請输入' + label;\n chk = 0;\n }\n\n g.clog('required:' + $ci.attr(\"require\"));\n\n if ($ci.attr(\"require\") == \"password\") {\n if ($ci.ifErrPasswd()) {\n txt = label + ':請確認是否符合 4~12 字英文及數字';\n chk = 0;\n }\n }\n\n if ($ci.attr(\"require\") == \"sameWith\") {\n var $ta = $('#' + $ci.data('ta'));\n if ($ci.val() != $ta.val()) {\n txt = label + '不符合' + $ta.attr(\"title\");\n chk = 0;\n }\n }\n\n if ($ci.attr(\"require\") == \"email\") {\n if ($ci.ifErrEmail()) {\n txt = label + ':請確認是否符合 Email 格式';\n chk = 0;\n }\n }\n\n if ($ci.attr(\"require\") == \"chinese\") {\n if ($ci.ifErrChinese()) {\n txt = label + ':請確認是否為全中文';\n chk = 0;\n }\n }\n\n if ($ci.attr(\"require\") == \"number\") {\n if ($ci.ifErrNumber()) {\n txt = label + ':請確認是否符合數字格式';\n chk = 0;\n }\n\n if ($ci.data(\"min\") && chk == 1) {\n if ($ci.data(\"min\") > $ci.val()) {\n txt = '' + label + ':應大於 ' + $ci.data(\"min\");\n chk = 0;\n }\n }\n\n if ($ci.data(\"max\") && chk == 1) {\n if ($ci.data(\"max\") > $ci.val()) {\n txt = '' + label + ':應小於 ' + $ci.data(\"max\");\n chk = 0;\n }\n }\n }\n\n }\n\n if (chk === 0) {\n g.alert({\n title: 'Error!',\n txt: txt\n });\n }\n });\n\n return chk;\n },\n\n stdSubmit: function(me) {\n\n var g = $.fn.gene,\n f = me.data(\"ta\") ? $(\"#\" + me.data(\"ta\")) : me.closest(\"form\"),\n dAction = function() {\n\n me.removeAttr('disabled').find('i').remove();\n\n if (this.code == \"1\") {\n\n if (gee.isset(this.data.msg)) {\n gee.alert({\n title: 'Alert!',\n txt: this.data.msg\n });\n }\n\n if (gee.isset(this.data.uri)) {\n location.href = (this.data.uri === '') ? g.apiUri : this.data.uri;\n }\n\n if (gee.isset(this.data.goback)) {\n history.go(-1);\n }\n\n if (gee.isset(this.data.reset)) {\n f[0].reset();\n }\n\n if (gee.check(this.data.func)) {\n gee.clog(this.data.func);\n gee.exe(this.data.func, me);\n }\n } else {\n if (gee.isset(this.data) && gee.isset(this.data.msg)) {\n gee.alert({\n title: 'Alert!',\n txt: this.data.msg\n });\n } else {\n g.alert({\n title: 'Error!',\n txt: \"Server Error, Plaese Try Later(\" + this.code + \")\"\n });\n }\n }\n };\n\n if (!g.formValidate(f)) {\n return false;\n }\n else {\n me.attr('disabled', 'disabled').append('');\n\n f.find(\"input\").each(function() {\n if (me.val() == me.attr(\"placeholder\")) me.val(\"\");\n });\n\n g.yell(me.data('uri'), f.serialize(), dAction, dAction);\n\n if (me.attr(\"reset\") === \"1\") {\n f[0].reset();\n }\n }\n\n },\n\n yell: function(uri, postData, successCB, errorCB, hideLoadAnim) {\n\n var g = $.fn.gene;\n\n if (!hideLoadAnim) {\n g.loadAnim('show');\n }\n\n var opt = {\n \"url\": g.apiUri + uri,\n \"type\": \"POST\",\n \"data\": postData,\n \"cache\": false\n };\n\n if (1==2) {\n opt.type = 'GET';\n opt.dataType = 'jsonp';\n }\n\n $.ajax(opt)\n .done(function(j) {\n if (j) {\n g.clog(j);\n if (g.isset(j.code)) {\n if (j.code == \"1\") {\n if (typeof successCB == 'function') {\n successCB.call(j);\n }\n } else {\n if (typeof errorCB == 'function') {\n errorCB.call(j);\n } else {\n if (g.isset(j.data)) {\n if (g.isset(j.data.uri)) {\n location.href = j.data.uri;\n }\n } else {\n g.alert({\n title: 'Error!',\n txt: \"Server Error, Plaese Try Later(\" + j.code + \")\"\n });\n }\n }\n }\n } else {\n g.alert({\n title: 'Error!',\n txt: \"Server Error, Plaese Try Later(1)\"\n });\n }\n } else {\n g.alert({\n title: 'Error!',\n txt: \"Server Error, Plaese Try Later(2)\"\n });\n }\n })\n .fail(function(o, s) {\n\n g.err('ajax fail(' + o.status + ')!!');\n })\n .always(function() {\n\n g.clog(\"ajax complete\");\n if (!hideLoadAnim) {\n g.loadAnim('hide');\n }\n });\n },\n\n resetForm: function(me) {\n var f = me.data(\"ta\") ? $(\"#\" + me.data(\"ta\")) : me.closest(\"form\");\n f[0].reset();\n },\n\n getChainOption: function(me) {\n var g = $.fn.gene,\n ta = me.data('ta'),\n v = me.val(),\n dAction = function() {\n if (this.code == \"1\") {\n $(ta).html(this.data.html);\n } else {\n if (gee.isset(this.data) && gee.isset(this.data.msg)) {\n gee.alert({\n title: 'Alert!',\n txt: this.data.msg\n });\n } else {\n g.alert({\n title: 'Error!',\n txt: \"Server Error, Plaese Try Later(\" + this.code + \")\"\n });\n }\n }\n };\n\n g.yell(me.data('uri'), {query: v}, dAction, dAction);\n },\n\n loadAnim: function(command) {\n var obj = $('body'),\n anim = (command == 'show' || obj.hasClass(\"loadAnim\")) ? 'show' : 'hide';\n\n if (anim == 'hide' || command == 'hide') {\n obj.removeClass(\"loadAnim\");\n } else {\n obj.addClass(\"loadAnim\");\n }\n },\n\n alert: function(me) {\n var g = $.fn.gene,\n txt = me.txt || me.data(\"txt\");\n\n alert(txt);\n },\n\n test: function(me) {\n var g = $.fn.gene;\n\n g.clog(me);\n },\n\n exe: function(func, args) {\n var g = $.fn.gene,\n fun = (!g.check(func)) ? g['404'] : g[func];\n\n g.clog(\"exe::\" + func);\n\n return fun.call(this, args);\n },\n\n pageController: function(me) {\n var g = $.fn.gene,\n func = 'load' + me.attr('id').capitalize();\n if (!g.check(func)) {\n g.clog(\"load:::\" + func);\n g.load(func, 'controller');\n }\n\n if (!g.check(func)) {\n g.clog(\"load fail:::\" + func);\n } else {\n g.clog(\"start::\" + me.attr('id').capitalize());\n g.exe(func, me);\n }\n },\n\n load: function(functionName, sf) {\n var g = $.fn.gene,\n loc = window.location.pathname,\n dir = g.apiUri + '/js/',\n subfloder = sf || 'plugins';\n\n g.clog(\"script::\" + dir + subfloder + '/' + functionName + '.js');\n\n if (!g.check(functionName)) {\n if (typeof importScripts == \"function\") {\n g.clog(\"start importScripts::\");\n importScripts(dir + subfloder + '/' + functionName + '.js');\n } else {\n g.clog(\"start scripttag::\");\n $(\"#body\").append(\"