{"version":3,"sources":["../../Content/js/Gluespec.Search.js","../../Content/js/Gluespec.MaterialList.js","../../Content/js/Gluespec.Compare.js","../../Content/templates/compareMaterials.js","../../Content/templates/compareTestMethods.js","../../Content/js/lib/iScroll/iscroll-probe.min.js"],"names":["checkOverflow","el","curOverflow","style","overflow","isOverflowing","clientWidth","scrollWidth","clientHeight","scrollHeight","showSearchDebugPanel","$","show","showMoreList","addClass","hide","hideMoreList","removeClass","showMoreNavEntries","wireMaterialList","off","on","e","target","hasClass","parents","length","_this","this","find","compareTopScroll","compareDataScroll","compareResizeTimer","bodyText","window","location","href","destination","encodeURIComponent","console","log","stopPropagation","toggleCompare","materialId","data","removeMaterialFromList","saveMaterialToList","each","first","compareSet","saveAsPdfParams","url","testMethodRequests","doCompare","doCompareButton","document","getElementById","textHolder","text","materials","i","push","tempParams","mid","newFragment","param","fragment","substring","ajax","type","cache","success","renderComparableMaterials","requestUrl","complete","checkboxElement","checked","addToCompare","dataset","materialName","removeFromCompare","classList","contains","name","maxCompareMaterials","updateCompareHolder","removeFromHolder","idx","splice","inputElement","value","allElements","getElementsByClassName","foundMatch","j","updateCompareCheckBoxes","add","remove","showCompareHolder","hideCompareHolder","localStorage","setItem","JSON","stringify","querySelectorAll","clearCompare","params","materialWidth","propertyWidth","Materials","PropertyWidth","Properties","MaterialProperties","Width","DisplayColumns","MaterialId","Id","dust","render","err","out","html","comparisons","fromDatasheet","join","gs","modals","displayModal","Waypoint","Sticky","element","width","parent","materialIds","exportCompareToExcel","saveCompareAsPdf","is","wireCompareTestMethods","clearTimeout","setTimeout","refresh","compareScrollHandler","destroy","IScroll","scrollX","scrollY","bounce","momentum","preventDefault","click","eventPassthrough","mouseWheel","scrollbars","shrinkScrollbars","resizeScrollbars","interactiveScrollbars","fadeScrollbars","deceleration","probeType","disable","lastScrollX","x","lastScrollY","y","renderCallback","form","createElement","setAttribute","replace","hiddenField","TestMethodRequests","appendChild","body","submit","removeChild","wireTestMethodTooltips","selector","qtip","serverSideData","user","Guest","content","propertyId","classes","position","my","at","scrollTo","showCompareTestMethods","trigger","PropertyId","Units","lastParams","prop","startsWith","Unit","key","scrollLocation","animate","scrollTop","offset","top","contentType","append","keyParts","split","height","fn","DataTable","isDataTable","searching","paging","info","drawCallback","rows","lastRow","cells","lastRowCells","thisCellText","disableGlobalCompare","tempCompareSet","getItem","parse","autocomplete","source","minLength","collision","appendTo","select","event","ui","item","label","t","get","else","r","block","o","w","f","s","n","h","a","d","c","l","u","p","m","g","b","_","v","P","T","B","k","register","__dustBody","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","substr","charAt","toUpperCase","getTime","Date","now","extend","addEvent","addEventListener","removeEvent","removeEventListener","prefixPointerEvent","MSPointerEvent","abs","round","duration","hasTransform","hasPerspective","hasTouch","hasPointer","PointerEvent","hasTransition","isBadAndroid","navigator","appVersion","test","match","parseFloat","transform","transitionTimingFunction","transitionDuration","transitionDelay","transformOrigin","touchAction","RegExp","className","offsetLeft","offsetTop","offsetParent","left","preventDefaultException","eventType","touchstart","touchmove","touchend","mousedown","mousemove","mouseup","pointerdown","pointermove","pointerup","MSPointerDown","MSPointerMove","MSPointerUp","ease","quadratic","circular","sqrt","back","elastic","pow","sin","PI","tap","createEvent","initEvent","pageX","pageY","dispatchEvent","tagName","MouseEvent","view","detail","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","_constructed","getTouchAction","getRect","SVGElement","getBoundingClientRect","offsetWidth","offsetHeight","wrapper","querySelector","scroller","children","scrollerStyle","options","mouseWheelSpeed","snapThreshold","disablePointer","disableTouch","disableMouse","startX","startY","directionLockThreshold","bounceTime","bounceEasing","HWCompositing","useTransition","useTransform","bindToWrapper","onmousedown","translateZ","freeScroll","resizePolling","invertWheelDirection","directionX","directionY","_events","_init","enable","cssText","pointerEvents","wrapperStyle","indicator","indicatorStyle","listenX","listenY","interactive","resize","defaultScrollbars","shrink","fade","speedRatioX","speedRatioY","sizeRatioX","sizeRatioY","maxPosX","maxPosY","opacity","prototype","version","_initEvents","indicators","_initIndicators","_initWheel","snap","_initSnap","keyBindings","_initKeys","resizeTimeout","_execEvent","_transitionEnd","isInTransition","_transitionTime","resetPosition","_start","which","enabled","initiated","touches","moved","distX","distY","directionLocked","startTime","getComputedPosition","_translate","isAnimating","absStartX","absStartY","pointX","pointY","_move","endTime","hasHorizontalScroll","hasVerticalScroll","maxScrollX","maxScrollY","_end","changedTouches","flick","wrapperWidth","wrapperHeight","max","_nearestSnap","currentPage","snapSpeed","min","_resize","scrollerWidth","scrollerHeight","wrapperOffset","indexOf","apply","slice","call","arguments","scrollBy","_transitionTimingFunction","_animate","scrollToElement","nodeType","transitionTime","updatePosition","getComputedStyle","customStyle","concat","wheelTimeout","_wheel","deltaMode","deltaX","deltaY","wheelDeltaX","wheelDeltaY","wheelDelta","goToPage","snapStepX","snapStepY","pages","cx","cy","snapThresholdX","snapThresholdY","next","prev","pageUp","pageDown","end","home","up","right","down","charCodeAt","_key","keyTime","keyAcceleration","keyCode","handleEvent","fadeTimeout","parentNode","lastPointX","lastPointY","_pos","display","bottom","indicatorWidth","minBoundaryX","maxBoundaryX","indicatorHeight","minBoundaryY","maxBoundaryY","ignoreBoundaries","visible","bind","utils","module","exports","define","amd","Math"],"mappings":"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","file":"search.min.js","sourcesContent":["$(function () {\r\n $(\".shareButton\").off(\"click\");\r\n $(\".shareButton\").on(\"click\", function () {\r\n var names = [];\r\n var links = [];\r\n var bodyText = \"Please check out these search results Gluespec.com:\\r\\n\\r\\n\" + window.location.href;\r\n var destination = \"mailto:?subject=\" + encodeURIComponent(\"Gluespec.com search results\") + \"&body=\" + encodeURIComponent(bodyText);\r\n console.log(destination);\r\n window.location.href = destination;\r\n });\r\n\r\n wireMaterialList();\r\n\r\n $(\".compare-circle\").off(\"click\");\r\n $(\".compare-circle\").on(\"click\", function (e) {\r\n e.stopPropagation();\r\n toggleCompare($(this)[0]);\r\n });\r\n\r\n $(\".select-circle\").off(\"click\");\r\n $(\".select-circle\").on(\"click\", function (e) {\r\n e.stopPropagation();\r\n var materialId = $(this).data(\"material-id\");\r\n if ($(this).hasClass(\"selected\")) {\r\n removeMaterialFromList(materialId);\r\n $(this).removeClass(\"selected\");\r\n }\r\n else {\r\n saveMaterialToList(materialId, $(this));\r\n $(this).addClass(\"selected\");\r\n }\r\n });\r\n\r\n $(\".propertyPillsContainerInner\").each(function () {\r\n if (checkOverflow($(this)[0])) {\r\n $(this).parents(\".propertyPillsContainer\").first().addClass(\"hasMore\");\r\n }\r\n });\r\n\r\n $(\".showAllLink\").on(\"click\", function () {\r\n $(this).parents(\".propertyPillsContainer\").first().addClass(\"showingMore\");\r\n });\r\n\r\n $(\".showLessLink\").on(\"click\", function () {\r\n $(this).parents(\".propertyPillsContainer\").first().removeClass(\"showingMore\");\r\n });\r\n});\r\n\r\nfunction checkOverflow(el) {\r\n var curOverflow = el.style.overflow;\r\n\r\n if (!curOverflow || curOverflow === \"visible\")\r\n el.style.overflow = \"hidden\";\r\n\r\n var isOverflowing = el.clientWidth < el.scrollWidth\r\n || el.clientHeight < el.scrollHeight;\r\n\r\n el.style.overflow = curOverflow;\r\n\r\n return isOverflowing;\r\n}\r\n\r\nfunction showSearchDebugPanel() {\r\n $(\".debugPanel\").show();\r\n}\r\n\r\nfunction showMoreList() {\r\n $(\".hiddenMaterialListEntries\").addClass(\"on\");\r\n $(\"#showMoreListLink\").hide();\r\n $(\"#hideMoreListLink\").show();\r\n $(\".fullListResultCount\").show();\r\n $(\".partialListResultCount\").hide();\r\n}\r\n\r\nfunction hideMoreList() {\r\n $(\".hiddenMaterialListEntries\").removeClass(\"on\");\r\n $(\"#showMoreListLink\").show();\r\n $(\"#hideMoreListLink\").hide();\r\n $(\".fullListResultCount\").hide();\r\n $(\".partialListResultCount\").show();\r\n}\r\n\r\nfunction showMoreNavEntries() {\r\n $(\".hiddenNavCatalogEntries\").addClass(\"on\");\r\n $(\"#showMoreNavEntries\").hide();\r\n $(\".fullCatalogResultCount\").show();\r\n $(\".partialCatalogResultCount\").hide();\r\n}\r\n","function wireMaterialList() {\r\n $(\".listMaterial\").off(\"click\");\r\n $(\".listMaterial\").on(\"click\", function (e) {\r\n if ($(e.target).hasClass(\"viewDatasheet\")) return;\r\n if ($(e.target).hasClass(\"btn\")) return;\r\n if ($(e.target).hasClass(\"sku\")) return;\r\n if ($(e.target).hasClass(\"saveCompareButtons\")) return;\r\n if ($(e.target).hasClass(\"hideSponsored\")) return;\r\n if ($(e.target).hasClass(\"glyphicon-remove\")) return;\r\n if ($(e.target).parents(\".saveCompareButtons\").length > 0) return;\r\n if ($(e.target).hasClass(\"noOpen\") || $(e.target).parents(\".noOpen\").length > 0) return;\r\n\r\n var _this = $(this);\r\n\r\n if (_this.hasClass(\"open\")) {\r\n _this.find(\".extraDetailLines\").hide();\r\n _this.removeClass(\"open\");\r\n }\r\n else {\r\n _this.addClass(\"open\");\r\n _this.find(\".extraDetailLines\").show();\r\n }\r\n });\r\n}","var compareTopScroll;\r\nvar compareDataScroll;\r\nvar compareResizeTimer;\r\n\r\nvar compareSet = [];\r\n\r\nvar saveAsPdfParams = {\r\n url: \"\",\r\n testMethodRequests: []\r\n};\r\n\r\nfunction doCompare() {\r\n var doCompareButton = document.getElementById(\"doCompareButton\");\r\n var textHolder = doCompareButton.text;\r\n doCompareButton.text = \"Loading...\";\r\n var materials = [];\r\n for (var i = 0; i < compareSet.length; i++) {\r\n materials.push(compareSet[i].materialId);\r\n }\r\n\r\n var tempParams = {};\r\n tempParams.mid = materials;\r\n var newFragment = $.param.fragment(\"\", tempParams);\r\n newFragment = newFragment.substring(1);\r\n\r\n var url = \"/MaterialGrid/?format=json&compare=true&\" + newFragment;\r\n\r\n $.ajax({\r\n url: url,\r\n type: \"GET\",\r\n cache: false,\r\n success: function (data) {\r\n renderComparableMaterials({\r\n data: data,\r\n destination: \"#compareMaterialsPopupContainer\",\r\n requestUrl: url\r\n });\r\n },\r\n complete: function () {\r\n doCompareButton.text = textHolder;\r\n }\r\n });\r\n}\r\n\r\nfunction toggleCompare(checkboxElement) {\r\n if (typeof checkboxElement.type !== 'undefined' && checkboxElement.type == \"checkbox\") {\r\n if (checkboxElement.checked) {\r\n addToCompare(checkboxElement.dataset.materialId, checkboxElement.dataset.materialName);\r\n }\r\n else {\r\n removeFromCompare(checkboxElement.dataset.materialId);\r\n }\r\n }\r\n else {\r\n if (!checkboxElement.classList.contains(\"selected\")) {\r\n addToCompare(checkboxElement.dataset.materialId, checkboxElement.dataset.materialName);\r\n }\r\n else {\r\n removeFromCompare(checkboxElement.dataset.materialId);\r\n }\r\n }\r\n}\r\n\r\nfunction addToCompare(materialId, name) {\r\n if (compareSet.length >= maxCompareMaterials) {\r\n removeFromCompare(materialId);\r\n return false;\r\n }\r\n for (var i = 0; i < compareSet.length; i++) {\r\n if (compareSet[i].materialId == materialId) {\r\n return true;\r\n }\r\n }\r\n\r\n compareSet.push({\r\n materialId: materialId,\r\n name: name\r\n });\r\n\r\n updateCompareHolder();\r\n}\r\n\r\nfunction removeFromHolder(idx) {\r\n removeFromCompare(document.getElementById(\"compareLookup\" + idx).dataset.materialId);\r\n}\r\n\r\nfunction removeFromCompare(materialId) {\r\n var idx = -1;\r\n for (var i = 0; i < compareSet.length; i++) {\r\n if (compareSet[i].materialId == materialId) {\r\n idx = i;\r\n break;\r\n }\r\n }\r\n\r\n if (idx >= 0) {\r\n compareSet.splice(idx, 1);\r\n }\r\n\r\n updateCompareHolder();\r\n}\r\n\r\nfunction updateCompareHolder() {\r\n for (var i = 0; i < maxCompareMaterials; i++) {\r\n var inputElement = document.getElementById(\"compareLookup\" + i);\r\n if (inputElement != null) {\r\n if (compareSet.length > i) {\r\n inputElement.value = compareSet[i].name;\r\n inputElement.dataset.materialId = compareSet[i].materialId;\r\n }\r\n else {\r\n inputElement.value = \"\";\r\n inputElement.dataset.materialId = \"\";\r\n }\r\n }\r\n }\r\n\r\n var allElements = document.getElementsByClassName(\"cv2\");\r\n for (var i = 0; i < allElements.length; i++) {\r\n var foundMatch = false;\r\n for (var j = 0; j < compareSet.length; j++) {\r\n if (compareSet[j].materialId == allElements[i].dataset.materialId) {\r\n allElements[i].checked = true;\r\n foundMatch = true;\r\n }\r\n }\r\n\r\n if (!foundMatch) {\r\n allElements[i].checked = false;\r\n }\r\n }\r\n\r\n updateCompareCheckBoxes();\r\n\r\n document.getElementById(\"doCompareButton\").text = \"Compare \" + compareSet.length + \"/\" + maxCompareMaterials;\r\n\r\n if (compareSet.length < 2) {\r\n document.getElementById(\"doCompareButton\").classList.add(\"disabled\");\r\n }\r\n else {\r\n document.getElementById(\"doCompareButton\").classList.remove(\"disabled\");\r\n }\r\n\r\n if (compareSet.length > 0) {\r\n showCompareHolder();\r\n }\r\n else {\r\n hideCompareHolder();\r\n }\r\n\r\n localStorage.setItem('compareSet', JSON.stringify(compareSet));\r\n}\r\n\r\nfunction updateCompareCheckBoxes() {\r\n allElements = document.querySelectorAll('.compare-circle, .compare-circle2'); //document.getElementsByClassName(\"compare-circle2\");\r\n for (var i = 0; i < allElements.length; i++) {\r\n var foundMatch = false;\r\n for (var j = 0; j < compareSet.length; j++) {\r\n if (compareSet[j].materialId == allElements[i].dataset.materialId) {\r\n allElements[i].classList.add(\"selected\");\r\n foundMatch = true;\r\n }\r\n }\r\n\r\n if (!foundMatch) {\r\n allElements[i].classList.remove(\"selected\");\r\n }\r\n }\r\n}\r\n\r\nfunction showCompareHolder() {\r\n $(\"#compareHolder\").addClass(\"on\");\r\n $(\".contactUsFloater\").addClass(\"off\");\r\n}\r\n\r\nfunction hideCompareHolder() {\r\n $(\"#compareHolder\").removeClass(\"on\");\r\n $(\".contactUsFloater\").removeClass(\"off\");\r\n}\r\n\r\nfunction clearCompare() {\r\n compareSet = [];\r\n\r\n var allElements = document.getElementsByClassName(\"cv2\");\r\n for (var i = 0; i < allElements.length; i++) {\r\n allElements[i].checked = false;\r\n }\r\n\r\n updateCompareHolder();\r\n}\r\n\r\n$(function () {\r\n if (typeof disableGlobalCompare !== 'undefined' && disableGlobalCompare) return;\r\n var tempCompareSet = localStorage.getItem('compareSet');\r\n if (tempCompareSet != null) {\r\n compareSet = JSON.parse(tempCompareSet);\r\n updateCompareHolder();\r\n }\r\n\r\n $(\".compareLookup\").autocomplete({\r\n source: \"/Materials/AutoCompleteCompare\",\r\n minLength: 2,\r\n position: { my: \"left bottom\", at: \"left top\", collision: \"none\" },\r\n appendTo: \"#compareHolder\",\r\n select: function (event, ui) {\r\n event.preventDefault();\r\n var idx = $(this).data(\"idx\");\r\n\r\n if (compareSet.length < idx + 1) {\r\n compareSet.push({\r\n materialId: ui.item.value,\r\n name: ui.item.label\r\n });\r\n }\r\n else {\r\n compareSet[idx] = {\r\n materialId: ui.item.value,\r\n name: ui.item.label\r\n };\r\n }\r\n\r\n updateCompareHolder();\r\n return false;\r\n }\r\n });\r\n\r\n});\r\n\r\nfunction renderComparableMaterials(params) {\r\n //We need to pivot the data to make it easy to render in the template\r\n var data = params.data;\r\n var materialWidth = 33;\r\n var propertyWidth = 34;\r\n if (data.Materials.length == 3) {\r\n materialWidth = 25;\r\n propertyWidth = 25;\r\n }\r\n else if (data.Materials.length == 4) {\r\n materialWidth = 20;\r\n propertyWidth = 20; \r\n }\r\n data.PropertyWidth = propertyWidth;\r\n for (var i = 0; i < data.Properties.length; i++) {\r\n data.Properties[i].MaterialProperties = [];\r\n for (var j = 0; j < data.Materials.length; j++) {\r\n data.Materials[j].Width = materialWidth;\r\n data.Materials[j].DisplayColumns[i].Width = materialWidth;\r\n data.Materials[j].DisplayColumns[i].MaterialId = data.Materials[j].Id;\r\n data.Properties[i].MaterialProperties.push(data.Materials[j].DisplayColumns[i]);\r\n }\r\n }\r\n\r\n saveAsPdfParams.url = params.requestUrl;\r\n saveAsPdfParams.testMethodRequests = [];\r\n\r\n dust.render(\"compareMaterials\", data, function (err, out) {\r\n if (err) {\r\n console.log(err);\r\n }\r\n $(params.destination).html(out);\r\n var comparisons = [];\r\n if (!data.fromDatasheet) {\r\n $(\"#compareProductTableHeader th p.material-name\").each(function () {\r\n comparisons.push($(this).text());\r\n });\r\n $(\"#datasheetSurveyTab\").data(\"grid-comparisons\", comparisons.join());\r\n }\r\n $(\".product-table .terms-container\").hide();\r\n gs.modals.displayModal(\"compareModal\", null, \"Compare Materials\");\r\n var compareSticky = new Waypoint.Sticky({\r\n element: $(\"#sticky-compare\")[0]\r\n });\r\n $(\"#sticky-compare\").width($(\"#sticky-compare\").parent().width());\r\n\r\n $(\".compareRequestButton\").off(\"click\");\r\n $(\".compareRequestButton\").on(\"click\", function () {\r\n var materialIds = [];\r\n $(\".compareRequestCheckbox:checked\").each(function () {\r\n materialIds.push($(this).data(\"material-id\"));\r\n });\r\n\r\n if (materialIds.length > 0) {\r\n window.location.href = \"/ContactUs?type=Quote&materials=\" + materialIds.join();\r\n }\r\n });\r\n\r\n $(\"#exportToExcelButton\").off(\"click\");\r\n $(\"#exportToExcelButton\").on(\"click\", function () {\r\n exportCompareToExcel();\r\n });\r\n\r\n $(\"#saveAsPdfButton\").off(\"click\");\r\n $(\"#saveAsPdfButton\").on(\"click\", function () {\r\n saveCompareAsPdf();\r\n });\r\n\r\n $(\"#comparePopupTermsLink\").off(\"click\");\r\n $(\"#comparePopupTermsLink\").on(\"click\", function () {\r\n if ($(\".product-table .terms-container\").is(\":visible\")) {\r\n $(\".product-table .terms-container\").hide();\r\n $(\".product-table #comparePopupTermsLink .status\").removeClass(\"fa-minus-circle\");\r\n $(\".product-table #comparePopupTermsLink .status\").addClass(\"fa-plus-circle\");\r\n }\r\n else {\r\n $(\".product-table .terms-container\").show();\r\n $(\".product-table #comparePopupTermsLink .status\").removeClass(\"fa-plus-circle\");\r\n $(\".product-table #comparePopupTermsLink .status\").addClass(\"fa-minus-circle\");\r\n }\r\n });\r\n\r\n wireCompareTestMethods();\r\n\r\n $(window).on('resize', function (e) {\r\n clearTimeout(compareResizeTimer);\r\n compareResizeTimer = setTimeout(function () {\r\n $(\"#sticky-compare\").width($(\"#sticky-compare\").parent().width());\r\n if (compareTopScroll) {\r\n compareTopScroll.refresh();\r\n }\r\n if (compareDataScroll) {\r\n compareDataScroll.refresh();\r\n }\r\n\r\n compareScrollHandler();\r\n }, 250);\r\n });\r\n\r\n\r\n if (compareTopScroll) {\r\n compareTopScroll.destroy();\r\n }\r\n\r\n if (compareDataScroll) {\r\n compareDataScroll.destroy();\r\n }\r\n\r\n compareTopScroll = new IScroll('#compareTopWrapper', { scrollX: false, scrollY: false, bounce: false, momentum: false, preventDefault: false, click: true, eventPassthrough: true });\r\n compareDataScroll = new IScroll(\"#compareTableWrapper\", {\r\n mouseWheel: false,\r\n //freeScroll: true,\r\n scrollX: true,\r\n scrollY: false,\r\n //useTransition: false,\r\n //HWCompositing: true,\r\n momentum: false,\r\n bounce: false,\r\n scrollbars: 'custom',\r\n shrinkScrollbars: 'clip',\r\n resizeScrollbars: true,\r\n interactiveScrollbars: true,\r\n fadeScrollbars: false,\r\n deceleration: 0.005,\r\n probeType: 3,\r\n click: true,\r\n eventPassthrough: true\r\n });\r\n\r\n compareTopScroll.disable();\r\n\r\n compareDataScroll.on(\"scroll\", compareScrollHandler);\r\n\r\n compareDataScroll.on(\"scrollStart\", function () {\r\n //$(\"#pagingFloater\").hide();\r\n })\r\n\r\n compareDataScroll.on(\"scrollEnd\", function () {\r\n lastScrollX = compareDataScroll.x;\r\n lastScrollY = compareDataScroll.y;\r\n });\r\n\r\n if (params.renderCallback) { \r\n params.renderCallback(err, out);\r\n }\r\n });\r\n}\r\n\r\nfunction saveCompareAsPdf() {\r\n // The rest of this code assumes you are not using a library.\r\n // It can be made less wordy if you use one.\r\n var form = document.createElement(\"form\");\r\n form.setAttribute(\"method\", \"POST\");\r\n form.setAttribute(\"action\", saveAsPdfParams.url.replace(\"format=json\", \"\").replace(\"/g/products/\", \"/gnc/products/\") + \"&format=pdf\");\r\n var hiddenField = document.createElement(\"input\");\r\n hiddenField.setAttribute(\"type\", \"hidden\");\r\n hiddenField.setAttribute(\"name\", \"testMethodRequests\");\r\n hiddenField.setAttribute(\"value\", JSON.stringify({ TestMethodRequests: saveAsPdfParams.testMethodRequests }));\r\n form.appendChild(hiddenField);\r\n\r\n document.body.appendChild(form);\r\n form.submit();\r\n document.body.removeChild(form);\r\n}\r\n\r\nfunction exportCompareToExcel() {\r\n var form = document.createElement(\"form\");\r\n form.setAttribute(\"method\", \"POST\");\r\n form.setAttribute(\"action\", saveAsPdfParams.url.replace(\"format=json\", \"\").replace(\"/g/products/\", \"/gnc/products/\") + \"&format=excel\");\r\n var hiddenField = document.createElement(\"input\");\r\n hiddenField.setAttribute(\"type\", \"hidden\");\r\n hiddenField.setAttribute(\"name\", \"testMethodRequests\");\r\n hiddenField.setAttribute(\"value\", JSON.stringify({ TestMethodRequests: saveAsPdfParams.testMethodRequests }));\r\n form.appendChild(hiddenField);\r\n\r\n document.body.appendChild(form);\r\n form.submit();\r\n document.body.removeChild(form);\r\n}\r\n\r\nfunction wireTestMethodTooltips(selector) {\r\n $(selector).qtip('destroy', true);\r\n if (serverSideData.user.Guest) {\r\n $(selector).qtip({\r\n content: {\r\n text: function () {\r\n var propertyId = $(this).parent().data(\"property-id\");\r\n var titleCell = $(\"#compareTableWrapper .property-lead-column[data-property-id='\" + propertyId + \"']\");\r\n var propertyName = titleCell.data(\"property-name\");\r\n return \"Sign in to view \" + propertyName + \" test methods\";\r\n }\r\n },\r\n style: {\r\n classes: 'qtip-bootstrap tippy-top'\r\n },\r\n position: {\r\n my: 'top left',\r\n at: 'bottom center'\r\n }\r\n });\r\n }\r\n else {\r\n $(selector).qtip({\r\n content: {\r\n text: function () {\r\n var propertyId = $(this).parent().data(\"property-id\");\r\n var titleCell = $(\"#compareTableWrapper .property-lead-column[data-property-id='\" + propertyId + \"']\");\r\n var propertyName = titleCell.data(\"property-name\");\r\n return \"View \" + propertyName + \" test methods\";\r\n }\r\n },\r\n style: {\r\n classes: 'qtip-bootstrap tippy-top'\r\n },\r\n position: {\r\n my: 'top left',\r\n at: 'bottom center'\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction compareScrollHandler() {\r\n compareTopScroll.scrollTo(compareDataScroll.x, 0);\r\n}\r\n\r\nfunction wireCompareTestMethods() {\r\n wireTestMethodTooltips(\"#compareTableWrapper .fa.fa-table\");\r\n if (serverSideData.user.Guest) {\r\n $(\"#compareTableWrapper .fa.fa-table\").off(\"click\");\r\n $(\"#compareTableWrapper .fa.fa-table\").on(\"click\", function () {\r\n gs.modals.displayModal(\"login-modal\");\r\n });\r\n }\r\n else {\r\n $(\"#compareTableWrapper .fa.fa-table\").off(\"click\");\r\n $(\"#compareTableWrapper .fa.fa-table\").on(\"click\", function () {\r\n var materialId = $(this).parent().data(\"material-id\");\r\n var propertyId = $(this).parent().data(\"property-id\");\r\n showCompareTestMethods(materialId, propertyId, $(this));\r\n });\r\n }\r\n}\r\n\r\nfunction showCompareTestMethods(materialId, propertyId, trigger) {\r\n //Check the parameters for a unit switch for the property\r\n data = {\r\n MaterialId: materialId,\r\n PropertyId: propertyId,\r\n Units: []\r\n }\r\n if (typeof lastParams !== 'undefined' && lastParams != null) {\r\n for (var prop in lastParams) {\r\n if (prop.startsWith(\"u\")) {\r\n data.Units.push({ PropertyId: prop.substring(1), Unit: lastParams[prop] });\r\n }\r\n }\r\n }\r\n\r\n saveAsPdfParams.testMethodRequests.push(data);\r\n\r\n var key = materialId + \"-\" + propertyId;\r\n if ($(\".datasheet2[data-scroll-to-key='\" + key + \"']\").length > 0) {\r\n var scrollLocation = $(\".datasheet2[data-scroll-to-key='\" + key + \"']\");\r\n $('html,body').animate({ scrollTop: scrollLocation.offset().top - 20 }, 'slow');\r\n return;\r\n }\r\n\r\n $.ajax({\r\n url: \"/MaterialGrid/TestMethods\",\r\n data: JSON.stringify(data),\r\n contentType: \"application/json\",\r\n cache: false,\r\n type: \"POST\",\r\n success: function (data) {\r\n dust.render(\"compareTestMethods\", data, function (err, out) {\r\n if (err) {\r\n console.log(err);\r\n }\r\n $(\"#compareTestMethodsContainer\").append(out);\r\n\r\n $(\".removeTestMethodsTable\").off(\"click\");\r\n $(\".removeTestMethodsTable\").on(\"click\", function () {\r\n var key = $(this).parents(\".datasheet2\").first().data(\"scroll-to-key\");\r\n $(this).parents(\".datasheet2\").first().remove();\r\n var keyParts = key.split(\"-\");\r\n wireTestMethodTooltips(\".expand-indicator[data-property-id='\" + keyParts[1] + \"'][data-material-id='\" + keyParts[0] + \"'] .fa.fa-table\");\r\n\r\n var idx = -1;\r\n for (var i = 0; i < saveAsPdfParams.testMethodRequests.length; i++) {\r\n if (saveAsPdfParams.testMethodRequests[i].MaterialId == keyParts[0] && saveAsPdfParams.testMethodRequests[i].PropertyId == keyParts[1]) {\r\n idx = i;\r\n break;\r\n }\r\n }\r\n if (idx >= 0) {\r\n saveAsPdfParams.testMethodRequests.splice(idx);\r\n }\r\n });\r\n\r\n $(\".returnToProperty\").off(\"click\");\r\n $(\".returnToProperty\").on(\"click\", function () {\r\n var materialId = $(this).data(\"material-id\");\r\n var propertyId = $(this).data(\"property-id\");\r\n\r\n //var scrollLocation = $(\"#compareMaterialsPopupContainer .expand-indicator[data-material-id='\" + materialId + \"'][data-property-id='\" + propertyId + \"']\");\r\n var scrollLocation = $(\"#compareMaterialsPopupContainer td.property-lead-column[data-property-id='\" + propertyId + \"']\");\r\n console.log(scrollLocation.offset().top);\r\n $('html,body').animate({ scrollTop: scrollLocation.offset().top - $(\"#compareProductTableHeader\").height() }, 'slow');\r\n });\r\n\r\n $(\"#compareTestMethodsContainer .test-method-table\").each(function () {\r\n if (!$.fn.DataTable.isDataTable(this)) {\r\n $(this).DataTable({\r\n searching: false,\r\n paging: false,\r\n info: false,\r\n drawCallback: function () {\r\n $(this).find(\".sameAsAbove\").remove();\r\n $(this).find(\".propValue\").show();\r\n var rows = $(this).find(\"tr\");\r\n var lastRow = null;\r\n for (var i = 0; i < rows.length; i++) {\r\n var cells = $(rows[i]).find(\"td.propValueCell\");\r\n if (cells.length > 0) {\r\n if (lastRow == null) {\r\n lastRow = rows[i];\r\n }\r\n else {\r\n var lastRowCells = $(lastRow).find(\"td.propValueCell\");\r\n for (var j = 0; j < cells.length; j++) {\r\n var thisCellText = $(cells[j]).find(\".propValue\").text();\r\n var prevCellText = $(lastRowCells[j]).find(\".propValue\").text();\r\n if (thisCellText == prevCellText && thisCellText.length > 50) {\r\n $(cells[j]).find(\".propValue\").hide();\r\n $(cells[j]).append(\"Same as Above\");\r\n }\r\n }\r\n lastRow = rows[i];\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n });\r\n\r\n var scrollLocation = $(\".datasheet2[data-scroll-to-key='\" + key + \"']\");\r\n $('html,body').animate({ scrollTop: scrollLocation.offset().top }, 'slow');\r\n });\r\n }\r\n });\r\n}\r\n","!function(t){function e(t,e){return t.x(e.get([\"fromDatasheet\"],!1),e,{else:r,block:o},{}).w('
\").s(e.get([\"Materials\"],!1),e,{block:i},{}).w('
').x(e.get([\"fromDatasheet\"],!1),e,{else:s,block:n},{}).w(\"
').x(e.get([\"fromDatasheet\"],!1),e,{block:h},{}).w(\" \").s(e.get([\"Properties\"],!1),e,{block:y},{}).w('
')}function r(t,e){return t.w('
').x(e.get([\"AllowExportToExcel\"],!1),e,{block:a},{}).w('Save as PDF
')}function a(t,e){return t.w('Export to Excel  ')}function o(t,e){return t}function s(t,e){return t.w(\"Properties\")}function n(t,e){return t.w('Request Quote/Sample of Selected Materials
*View Terms of Use ')}function i(t,e){return t.w('

').x(e.get([\"ShowManufacturers\"],!1),e,{block:d},{}).f(e.get([\"Name\"],!1),e,\"h\").w(\"

\").x(e.get([\"fromDatasheet\"],!1),e,{else:c,block:f},{}).w('')}function d(t,e){return t.f(e.get([\"ManufacturerName\"],!1),e,\"h\").w(\" | \")}function c(t,e){return t.w('View Details
\\x3c!--Request Quote/Sample
--\\x3e\\x3c!--').x(e.get([\"LinkToEllsworth\"],!1),e,{block:l},{}).w(\"--\\x3e\")}function l(t,e){return t.x(e.get([\"Guest\"],!1),e,{else:u,block:p},{})}function u(t,e){return t.w('Buy Online ')}function p(t,e){return t.w('Buy Online ')}function f(t,e){return t}function h(t,e){return t.w('

Terms of Use

*This is a summary description only. No decision on usability should be made based solely on this summary info.

Gluespec makes no warranty or guarantee that the information on our Website, product data sheets, product descriptions, prices or other content is current, accurate, complete, reliable, suitable for a particular purpose or error-free. Consult the relevant manufacturer\\'s website and product data sheet for more information.

Please test and evaluate materials carefully to ensure compliance with all specifications and requirements of your application.

We have no control over the conditions of use of materials, so (even if you use the Ask an ESR feature) it is solely up to you to independently determine the efficacy, suitability, performance and safety of the material for your application.

')}function y(t,e){return t.w('').x(e.get([\"IsGroup\"],!1),e,{else:g,block:b},{}).w(\" \").f(e.get([\"DisplayUnit\"],!1),e,\"h\").w(\"\").s(e.get([\"MaterialProperties\"],!1),e,{block:_},{}).w(\"\")}function w(t,e){return t.f(e.get([\"PropertyName\"],!1),e,\"h\")}function m(t,e){return t.f(e.get([\"PropertyGroupName\"],!1),e,\"h\")}function g(t,e){return t.f(e.get([\"PropertyName\"],!1),e,\"h\")}function b(t,e){return t.f(e.get([\"PropertyGroupName\"],!1),e,\"h\")}function _(t,e){return t.w('').s(e.get([\"Entries\"],!1),e,{block:v},{}).x(e.get([\"fromDatasheet\"],!1),e,{else:P,block:T},{}).w(\"\")}function v(t,e){return t.w('

').x(e.get([\"IsMatch\"],!1),e,{else:B,block:k},{}).w(\"

\").h(\"sep\",e,{block:x},{},\"h\")}function B(t,e){return t.f(e.get([\"FormattedText\"],!1),e,\"h\")}function k(t,e){return t.w(\"\").f(e.get([\"FormattedText\"],!1),e,\"h\").w(\"\")}function x(t,e){return t.f(e.get([\"Separator\"],!1),e,\"h\",[\"s\"])}function P(t,e){return t.w('
')}function T(t,e){return t}t.register(\"compareMaterials\",e),e.__dustBody=!0,r.__dustBody=!0,a.__dustBody=!0,o.__dustBody=!0,s.__dustBody=!0,n.__dustBody=!0,i.__dustBody=!0,d.__dustBody=!0,c.__dustBody=!0,l.__dustBody=!0,u.__dustBody=!0,p.__dustBody=!0,f.__dustBody=!0,h.__dustBody=!0,y.__dustBody=!0,w.__dustBody=!0,m.__dustBody=!0,g.__dustBody=!0,b.__dustBody=!0,_.__dustBody=!0,v.__dustBody=!0,B.__dustBody=!0,k.__dustBody=!0,x.__dustBody=!0,P.__dustBody=!0,T.__dustBody=!0}(dust);","!function(t){function e(t,e){return t.w('
').s(e.get([\"Columns\"],!1),e,{block:a},{}).w('').s(e.get([\"Entries\"],!1),e,{block:r},{}).w(\"
').f(e.get([\"PropertyName\"],!1),e,\"h\").w(\" test methods for \").f(e.get([\"MaterialName\"],!1),e,\"h\").w('\\x3c!--     (Back to Property)--\\x3e
\")}function a(t,e){return t.w(\"\").f(e.get([\"Name\"],!1),e,\"h\").w(\"\")}function r(t,e){return t.w('').s(e.get([\"ColumnValues\"],!1),e,{block:s},{}).w(\"\")}function s(t,e){return t.w('').f(e.get([\"Text\"],!1),e,\"h\").w(\"\")}t.register(\"compareTestMethods\",e),e.__dustBody=!0,a.__dustBody=!0,r.__dustBody=!0,s.__dustBody=!0}(dust);","!function (n, r, d) { var m = n.requestAnimationFrame || n.webkitRequestAnimationFrame || n.mozRequestAnimationFrame || n.oRequestAnimationFrame || n.msRequestAnimationFrame || function (t) { n.setTimeout(t, 1e3 / 60) }, f = function () { var e = {}, o = r.createElement(\"div\").style, i = function () { for (var t = [\"t\", \"webkitT\", \"MozT\", \"msT\", \"OT\"], i = 0, s = t.length; i < s; i++)if (t[i] + \"ransform\" in o) return t[i].substr(0, t[i].length - 1); return !1 }(); function t(t) { return !1 !== i && (\"\" === i ? t : i + t.charAt(0).toUpperCase() + t.substr(1)) } e.getTime = Date.now || function () { return (new Date).getTime() }, e.extend = function (t, i) { for (var s in i) t[s] = i[s] }, e.addEvent = function (t, i, s, e) { t.addEventListener(i, s, !!e) }, e.removeEvent = function (t, i, s, e) { t.removeEventListener(i, s, !!e) }, e.prefixPointerEvent = function (t) { return n.MSPointerEvent ? \"MSPointer\" + t.charAt(7).toUpperCase() + t.substr(8) : t }, e.momentum = function (t, i, s, e, o, n) { var r, h, a = t - i, l = d.abs(a) / s; return h = l / (n = void 0 === n ? 6e-4 : n), (r = t + l * l / (2 * n) * (a < 0 ? -1 : 1)) < e ? (r = o ? e - o / 2.5 * (l / 8) : e, h = (a = d.abs(r - t)) / l) : 0 < r && (r = o ? o / 2.5 * (l / 8) : 0, h = (a = d.abs(t) + r) / l), { destination: d.round(r), duration: h } }; var s = t(\"transform\"); return e.extend(e, { hasTransform: !1 !== s, hasPerspective: t(\"perspective\") in o, hasTouch: \"ontouchstart\" in n, hasPointer: !(!n.PointerEvent && !n.MSPointerEvent), hasTransition: t(\"transition\") in o }), e.isBadAndroid = function () { var t = n.navigator.appVersion; if (!/Android/.test(t) || /Chrome\\/\\d/.test(t)) return !1; var i = t.match(/Safari\\/(\\d+.\\d)/); return !(i && \"object\" == typeof i && 2 <= i.length) || parseFloat(i[1]) < 535.19 }(), e.extend(e.style = {}, { transform: s, transitionTimingFunction: t(\"transitionTimingFunction\"), transitionDuration: t(\"transitionDuration\"), transitionDelay: t(\"transitionDelay\"), transformOrigin: t(\"transformOrigin\"), touchAction: t(\"touchAction\") }), e.hasClass = function (t, i) { return new RegExp(\"(^|\\\\s)\" + i + \"(\\\\s|$)\").test(t.className) }, e.addClass = function (t, i) { if (!e.hasClass(t, i)) { var s = t.className.split(\" \"); s.push(i), t.className = s.join(\" \") } }, e.removeClass = function (t, i) { if (e.hasClass(t, i)) { var s = new RegExp(\"(^|\\\\s)\" + i + \"(\\\\s|$)\", \"g\"); t.className = t.className.replace(s, \" \") } }, e.offset = function (t) { for (var i = -t.offsetLeft, s = -t.offsetTop; t = t.offsetParent;)i -= t.offsetLeft, s -= t.offsetTop; return { left: i, top: s } }, e.preventDefaultException = function (t, i) { for (var s in i) if (i[s].test(t[s])) return !0; return !1 }, e.extend(e.eventType = {}, { touchstart: 1, touchmove: 1, touchend: 1, mousedown: 2, mousemove: 2, mouseup: 2, pointerdown: 3, pointermove: 3, pointerup: 3, MSPointerDown: 3, MSPointerMove: 3, MSPointerUp: 3 }), e.extend(e.ease = {}, { quadratic: { style: \"cubic-bezier(0.25, 0.46, 0.45, 0.94)\", fn: function (t) { return t * (2 - t) } }, circular: { style: \"cubic-bezier(0.1, 0.57, 0.1, 1)\", fn: function (t) { return d.sqrt(1 - --t * t) } }, back: { style: \"cubic-bezier(0.175, 0.885, 0.32, 1.275)\", fn: function (t) { return (t -= 1) * t * (5 * t + 4) + 1 } }, bounce: { style: \"\", fn: function (t) { return (t /= 1) < 1 / 2.75 ? 7.5625 * t * t : t < 2 / 2.75 ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : t < 2.5 / 2.75 ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375 } }, elastic: { style: \"\", fn: function (t) { return 0 === t ? 0 : 1 == t ? 1 : .4 * d.pow(2, -10 * t) * d.sin((t - .055) * (2 * d.PI) / .22) + 1 } } }), e.tap = function (t, i) { var s = r.createEvent(\"Event\"); s.initEvent(i, !0, !0), s.pageX = t.pageX, s.pageY = t.pageY, t.target.dispatchEvent(s) }, e.click = function (t) { var i, s = t.target; /(SELECT|INPUT|TEXTAREA)/i.test(s.tagName) || ((i = r.createEvent(n.MouseEvent ? \"MouseEvents\" : \"Event\")).initEvent(\"click\", !0, !0), i.view = t.view || n, i.detail = 1, i.screenX = s.screenX || 0, i.screenY = s.screenY || 0, i.clientX = s.clientX || 0, i.clientY = s.clientY || 0, i.ctrlKey = !!t.ctrlKey, i.altKey = !!t.altKey, i.shiftKey = !!t.shiftKey, i.metaKey = !!t.metaKey, i.button = 0, i.relatedTarget = null, i._constructed = !0, s.dispatchEvent(i)) }, e.getTouchAction = function (t, i) { var s = \"none\"; return \"vertical\" === t ? s = \"pan-y\" : \"horizontal\" === t && (s = \"pan-x\"), i && \"none\" != s && (s += \" pinch-zoom\"), s }, e.getRect = function (t) { if (t instanceof SVGElement) { var i = t.getBoundingClientRect(); return { top: i.top, left: i.left, width: i.width, height: i.height } } return { top: t.offsetTop, left: t.offsetLeft, width: t.offsetWidth, height: t.offsetHeight } }, e }(); function t(t, i) { for (var s in this.wrapper = \"string\" == typeof t ? r.querySelector(t) : t, this.scroller = this.wrapper.children[0], this.scrollerStyle = this.scroller.style, this.options = { resizeScrollbars: !0, mouseWheelSpeed: 20, snapThreshold: .334, disablePointer: !f.hasPointer, disableTouch: f.hasPointer || !f.hasTouch, disableMouse: f.hasPointer || f.hasTouch, startX: 0, startY: 0, scrollY: !0, directionLockThreshold: 5, momentum: !0, bounce: !0, bounceTime: 600, bounceEasing: \"\", preventDefault: !0, preventDefaultException: { tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/ }, HWCompositing: !0, useTransition: !0, useTransform: !0, bindToWrapper: void 0 === n.onmousedown }, i) this.options[s] = i[s]; this.translateZ = this.options.HWCompositing && f.hasPerspective ? \" translateZ(0)\" : \"\", this.options.useTransition = f.hasTransition && this.options.useTransition, this.options.useTransform = f.hasTransform && this.options.useTransform, this.options.eventPassthrough = !0 === this.options.eventPassthrough ? \"vertical\" : this.options.eventPassthrough, this.options.preventDefault = !this.options.eventPassthrough && this.options.preventDefault, this.options.scrollY = \"vertical\" != this.options.eventPassthrough && this.options.scrollY, this.options.scrollX = \"horizontal\" != this.options.eventPassthrough && this.options.scrollX, this.options.freeScroll = this.options.freeScroll && !this.options.eventPassthrough, this.options.directionLockThreshold = this.options.eventPassthrough ? 0 : this.options.directionLockThreshold, this.options.bounceEasing = \"string\" == typeof this.options.bounceEasing ? f.ease[this.options.bounceEasing] || f.ease.circular : this.options.bounceEasing, this.options.resizePolling = void 0 === this.options.resizePolling ? 60 : this.options.resizePolling, !0 === this.options.tap && (this.options.tap = \"tap\"), this.options.useTransition || this.options.useTransform || /relative|absolute/i.test(this.scrollerStyle.position) || (this.scrollerStyle.position = \"relative\"), \"scale\" == this.options.shrinkScrollbars && (this.options.useTransition = !1), this.options.invertWheelDirection = this.options.invertWheelDirection ? -1 : 1, 3 == this.options.probeType && (this.options.useTransition = !1), this.x = 0, this.y = 0, this.directionX = 0, this.directionY = 0, this._events = {}, this._init(), this.refresh(), this.scrollTo(this.options.startX, this.options.startY), this.enable() } function h(t, i, s) { var e = r.createElement(\"div\"), o = r.createElement(\"div\"); return !0 === s && (e.style.cssText = \"position:absolute;z-index:9999\", o.style.cssText = \"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px\"), o.className = \"iScrollIndicator\", \"h\" == t ? (!0 === s && (e.style.cssText += \";height:7px;left:2px;right:2px;bottom:0\", o.style.height = \"100%\"), e.className = \"iScrollHorizontalScrollbar\") : (!0 === s && (e.style.cssText += \";width:7px;bottom:2px;top:2px;right:1px\", o.style.width = \"100%\"), e.className = \"iScrollVerticalScrollbar\"), e.style.cssText += \";overflow:hidden\", i || (e.style.pointerEvents = \"none\"), e.appendChild(o), e } function a(t, i) { for (var s in this.wrapper = \"string\" == typeof i.el ? r.querySelector(i.el) : i.el, this.wrapperStyle = this.wrapper.style, this.indicator = this.wrapper.children[0], this.indicatorStyle = this.indicator.style, this.scroller = t, this.options = { listenX: !0, listenY: !0, interactive: !1, resize: !0, defaultScrollbars: !1, shrink: !1, fade: !1, speedRatioX: 0, speedRatioY: 0 }, i) this.options[s] = i[s]; if (this.sizeRatioX = 1, this.sizeRatioY = 1, this.maxPosX = 0, this.maxPosY = 0, this.options.interactive && (this.options.disableTouch || (f.addEvent(this.indicator, \"touchstart\", this), f.addEvent(n, \"touchend\", this)), this.options.disablePointer || (f.addEvent(this.indicator, f.prefixPointerEvent(\"pointerdown\"), this), f.addEvent(n, f.prefixPointerEvent(\"pointerup\"), this)), this.options.disableMouse || (f.addEvent(this.indicator, \"mousedown\", this), f.addEvent(n, \"mouseup\", this))), this.options.fade) { this.wrapperStyle[f.style.transform] = this.scroller.translateZ; var e = f.style.transitionDuration; if (!e) return; this.wrapperStyle[e] = f.isBadAndroid ? \"0.0001ms\" : \"0ms\"; var o = this; f.isBadAndroid && m(function () { \"0.0001ms\" === o.wrapperStyle[e] && (o.wrapperStyle[e] = \"0s\") }), this.wrapperStyle.opacity = \"0\" } } t.prototype = { version: \"5.2.0-snapshot\", _init: function () { this._initEvents(), (this.options.scrollbars || this.options.indicators) && this._initIndicators(), this.options.mouseWheel && this._initWheel(), this.options.snap && this._initSnap(), this.options.keyBindings && this._initKeys() }, destroy: function () { this._initEvents(!0), clearTimeout(this.resizeTimeout), this.resizeTimeout = null, this._execEvent(\"destroy\") }, _transitionEnd: function (t) { t.target == this.scroller && this.isInTransition && (this._transitionTime(), this.resetPosition(this.options.bounceTime) || (this.isInTransition = !1, this._execEvent(\"scrollEnd\"))) }, _start: function (t) { if (1 != f.eventType[t.type] && 0 !== (t.which ? t.button : t.button < 2 ? 0 : 4 == t.button ? 1 : 2)) return; if (this.enabled && (!this.initiated || f.eventType[t.type] === this.initiated)) { !this.options.preventDefault || f.isBadAndroid || f.preventDefaultException(t.target, this.options.preventDefaultException) || t.preventDefault(); var i, s = t.touches ? t.touches[0] : t; this.initiated = f.eventType[t.type], this.moved = !1, this.distX = 0, this.distY = 0, this.directionX = 0, this.directionY = 0, this.directionLocked = 0, this.startTime = f.getTime(), this.options.useTransition && this.isInTransition ? (this._transitionTime(), this.isInTransition = !1, i = this.getComputedPosition(), this._translate(d.round(i.x), d.round(i.y)), this._execEvent(\"scrollEnd\")) : !this.options.useTransition && this.isAnimating && (this.isAnimating = !1, this._execEvent(\"scrollEnd\")), this.startX = this.x, this.startY = this.y, this.absStartX = this.x, this.absStartY = this.y, this.pointX = s.pageX, this.pointY = s.pageY, this._execEvent(\"beforeScrollStart\") } }, _move: function (t) { if (this.enabled && f.eventType[t.type] === this.initiated) { this.options.preventDefault && t.preventDefault(); var i, s, e, o, n = t.touches ? t.touches[0] : t, r = n.pageX - this.pointX, h = n.pageY - this.pointY, a = f.getTime(); if (this.pointX = n.pageX, this.pointY = n.pageY, this.distX += r, this.distY += h, e = d.abs(this.distX), o = d.abs(this.distY), !(300 < a - this.endTime && e < 10 && o < 10)) { if (this.directionLocked || this.options.freeScroll || (e > o + this.options.directionLockThreshold ? this.directionLocked = \"h\" : o >= e + this.options.directionLockThreshold ? this.directionLocked = \"v\" : this.directionLocked = \"n\"), \"h\" == this.directionLocked) { if (\"vertical\" == this.options.eventPassthrough) t.preventDefault(); else if (\"horizontal\" == this.options.eventPassthrough) return void (this.initiated = !1); h = 0 } else if (\"v\" == this.directionLocked) { if (\"horizontal\" == this.options.eventPassthrough) t.preventDefault(); else if (\"vertical\" == this.options.eventPassthrough) return void (this.initiated = !1); r = 0 } r = this.hasHorizontalScroll ? r : 0, h = this.hasVerticalScroll ? h : 0, i = this.x + r, s = this.y + h, (0 < i || i < this.maxScrollX) && (i = this.options.bounce ? this.x + r / 3 : 0 < i ? 0 : this.maxScrollX), (0 < s || s < this.maxScrollY) && (s = this.options.bounce ? this.y + h / 3 : 0 < s ? 0 : this.maxScrollY), this.directionX = 0 < r ? -1 : r < 0 ? 1 : 0, this.directionY = 0 < h ? -1 : h < 0 ? 1 : 0, this.moved || this._execEvent(\"scrollStart\"), this.moved = !0, this._translate(i, s), 300 < a - this.startTime && (this.startTime = a, this.startX = this.x, this.startY = this.y, 1 == this.options.probeType && this._execEvent(\"scroll\")), 1 < this.options.probeType && this._execEvent(\"scroll\") } } }, _end: function (t) { if (this.enabled && f.eventType[t.type] === this.initiated) { this.options.preventDefault && !f.preventDefaultException(t.target, this.options.preventDefaultException) && t.preventDefault(); t.changedTouches && t.changedTouches[0]; var i, s, e = f.getTime() - this.startTime, o = d.round(this.x), n = d.round(this.y), r = d.abs(o - this.startX), h = d.abs(n - this.startY), a = 0, l = \"\"; if (this.isInTransition = 0, this.initiated = 0, this.endTime = f.getTime(), !this.resetPosition(this.options.bounceTime)) { if (this.scrollTo(o, n), !this.moved) return this.options.tap && f.tap(t, this.options.tap), this.options.click && f.click(t), void this._execEvent(\"scrollCancel\"); if (this._events.flick && e < 200 && r < 100 && h < 100) this._execEvent(\"flick\"); else { if (this.options.momentum && e < 300 && (i = this.hasHorizontalScroll ? f.momentum(this.x, this.startX, e, this.maxScrollX, this.options.bounce ? this.wrapperWidth : 0, this.options.deceleration) : { destination: o, duration: 0 }, s = this.hasVerticalScroll ? f.momentum(this.y, this.startY, e, this.maxScrollY, this.options.bounce ? this.wrapperHeight : 0, this.options.deceleration) : { destination: n, duration: 0 }, o = i.destination, n = s.destination, a = d.max(i.duration, s.duration), this.isInTransition = 1), this.options.snap) { var c = this._nearestSnap(o, n); this.currentPage = c, a = this.options.snapSpeed || d.max(d.max(d.min(d.abs(o - c.x), 1e3), d.min(d.abs(n - c.y), 1e3)), 300), o = c.x, n = c.y, this.directionX = 0, this.directionY = 0, l = this.options.bounceEasing } if (o != this.x || n != this.y) return (0 < o || o < this.maxScrollX || 0 < n || n < this.maxScrollY) && (l = f.ease.quadratic), void this.scrollTo(o, n, a, l); this._execEvent(\"scrollEnd\") } } } }, _resize: function () { var t = this; clearTimeout(this.resizeTimeout), this.resizeTimeout = setTimeout(function () { t.refresh() }, this.options.resizePolling) }, resetPosition: function (t) { var i = this.x, s = this.y; return t = t || 0, !this.hasHorizontalScroll || 0 < this.x ? i = 0 : this.x < this.maxScrollX && (i = this.maxScrollX), !this.hasVerticalScroll || 0 < this.y ? s = 0 : this.y < this.maxScrollY && (s = this.maxScrollY), (i != this.x || s != this.y) && (this.scrollTo(i, s, t, this.options.bounceEasing), !0) }, disable: function () { this.enabled = !1 }, enable: function () { this.enabled = !0 }, refresh: function () { f.getRect(this.wrapper), this.wrapperWidth = this.wrapper.clientWidth, this.wrapperHeight = this.wrapper.clientHeight; var t = f.getRect(this.scroller); this.scrollerWidth = t.width, this.scrollerHeight = t.height, this.maxScrollX = this.wrapperWidth - this.scrollerWidth, this.maxScrollY = this.wrapperHeight - this.scrollerHeight, this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < 0, this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < 0, this.hasHorizontalScroll || (this.maxScrollX = 0, this.scrollerWidth = this.wrapperWidth), this.hasVerticalScroll || (this.maxScrollY = 0, this.scrollerHeight = this.wrapperHeight), this.endTime = 0, this.directionX = 0, this.directionY = 0, f.hasPointer && !this.options.disablePointer && (this.wrapper.style[f.style.touchAction] = f.getTouchAction(this.options.eventPassthrough, !0), this.wrapper.style[f.style.touchAction] || (this.wrapper.style[f.style.touchAction] = f.getTouchAction(this.options.eventPassthrough, !1))), this.wrapperOffset = f.offset(this.wrapper), this._execEvent(\"refresh\"), this.resetPosition() }, on: function (t, i) { this._events[t] || (this._events[t] = []), this._events[t].push(i) }, off: function (t, i) { if (this._events[t]) { var s = this._events[t].indexOf(i); -1 < s && this._events[t].splice(s, 1) } }, _execEvent: function (t) { if (this._events[t]) { var i = 0, s = this._events[t].length; if (s) for (; i < s; i++)this._events[t][i].apply(this, [].slice.call(arguments, 1)) } }, scrollBy: function (t, i, s, e) { t = this.x + t, i = this.y + i, s = s || 0, this.scrollTo(t, i, s, e) }, scrollTo: function (t, i, s, e) { e = e || f.ease.circular, this.isInTransition = this.options.useTransition && 0 < s; var o = this.options.useTransition && e.style; !s || o ? (o && (this._transitionTimingFunction(e.style), this._transitionTime(s)), this._translate(t, i)) : this._animate(t, i, s, e.fn) }, scrollToElement: function (t, i, s, e, o) { if (t = t.nodeType ? t : this.scroller.querySelector(t)) { var n = f.offset(t); n.left -= this.wrapperOffset.left, n.top -= this.wrapperOffset.top; var r = f.getRect(t), h = f.getRect(this.wrapper); !0 === s && (s = d.round(r.width / 2 - h.width / 2)), !0 === e && (e = d.round(r.height / 2 - h.height / 2)), n.left -= s || 0, n.top -= e || 0, n.left = 0 < n.left ? 0 : n.left < this.maxScrollX ? this.maxScrollX : n.left, n.top = 0 < n.top ? 0 : n.top < this.maxScrollY ? this.maxScrollY : n.top, i = null == i || \"auto\" === i ? d.max(d.abs(this.x - n.left), d.abs(this.y - n.top)) : i, this.scrollTo(n.left, n.top, i, o) } }, _transitionTime: function (t) { if (this.options.useTransition) { t = t || 0; var i = f.style.transitionDuration; if (i) { if (this.scrollerStyle[i] = t + \"ms\", !t && f.isBadAndroid) { this.scrollerStyle[i] = \"0.0001ms\"; var s = this; m(function () { \"0.0001ms\" === s.scrollerStyle[i] && (s.scrollerStyle[i] = \"0s\") }) } if (this.indicators) for (var e = this.indicators.length; e--;)this.indicators[e].transitionTime(t) } } }, _transitionTimingFunction: function (t) { if (this.scrollerStyle[f.style.transitionTimingFunction] = t, this.indicators) for (var i = this.indicators.length; i--;)this.indicators[i].transitionTimingFunction(t) }, _translate: function (t, i) { if (this.options.useTransform ? this.scrollerStyle[f.style.transform] = \"translate(\" + t + \"px,\" + i + \"px)\" + this.translateZ : (t = d.round(t), i = d.round(i), this.scrollerStyle.left = t + \"px\", this.scrollerStyle.top = i + \"px\"), this.x = t, this.y = i, this.indicators) for (var s = this.indicators.length; s--;)this.indicators[s].updatePosition() }, _initEvents: function (t) { var i = t ? f.removeEvent : f.addEvent, s = this.options.bindToWrapper ? this.wrapper : n; i(n, \"orientationchange\", this), i(n, \"resize\", this), this.options.click && i(this.wrapper, \"click\", this, !0), this.options.disableMouse || (i(this.wrapper, \"mousedown\", this), i(s, \"mousemove\", this), i(s, \"mousecancel\", this), i(s, \"mouseup\", this)), f.hasPointer && !this.options.disablePointer && (i(this.wrapper, f.prefixPointerEvent(\"pointerdown\"), this), i(s, f.prefixPointerEvent(\"pointermove\"), this), i(s, f.prefixPointerEvent(\"pointercancel\"), this), i(s, f.prefixPointerEvent(\"pointerup\"), this)), f.hasTouch && !this.options.disableTouch && (i(this.wrapper, \"touchstart\", this), i(s, \"touchmove\", this), i(s, \"touchcancel\", this), i(s, \"touchend\", this)), i(this.scroller, \"transitionend\", this), i(this.scroller, \"webkitTransitionEnd\", this), i(this.scroller, \"oTransitionEnd\", this), i(this.scroller, \"MSTransitionEnd\", this) }, getComputedPosition: function () { var t, i, s = n.getComputedStyle(this.scroller, null); return i = this.options.useTransform ? (t = +((s = s[f.style.transform].split(\")\")[0].split(\", \"))[12] || s[4]), +(s[13] || s[5])) : (t = +s.left.replace(/[^-\\d.]/g, \"\"), +s.top.replace(/[^-\\d.]/g, \"\")), { x: t, y: i } }, _initIndicators: function () { var t, i = this.options.interactiveScrollbars, s = \"string\" != typeof this.options.scrollbars, e = [], o = this; this.indicators = [], this.options.scrollbars && (this.options.scrollY && (t = { el: h(\"v\", i, this.options.scrollbars), interactive: i, defaultScrollbars: !0, customStyle: s, resize: this.options.resizeScrollbars, shrink: this.options.shrinkScrollbars, fade: this.options.fadeScrollbars, listenX: !1 }, this.wrapper.appendChild(t.el), e.push(t)), this.options.scrollX && (t = { el: h(\"h\", i, this.options.scrollbars), interactive: i, defaultScrollbars: !0, customStyle: s, resize: this.options.resizeScrollbars, shrink: this.options.shrinkScrollbars, fade: this.options.fadeScrollbars, listenY: !1 }, this.wrapper.appendChild(t.el), e.push(t))), this.options.indicators && (e = e.concat(this.options.indicators)); for (var n = e.length; n--;)this.indicators.push(new a(this, e[n])); function r(t) { if (o.indicators) for (var i = o.indicators.length; i--;)t.call(o.indicators[i]) } this.options.fadeScrollbars && (this.on(\"scrollEnd\", function () { r(function () { this.fade() }) }), this.on(\"scrollCancel\", function () { r(function () { this.fade() }) }), this.on(\"scrollStart\", function () { r(function () { this.fade(1) }) }), this.on(\"beforeScrollStart\", function () { r(function () { this.fade(1, !0) }) })), this.on(\"refresh\", function () { r(function () { this.refresh() }) }), this.on(\"destroy\", function () { r(function () { this.destroy() }), delete this.indicators }) }, _initWheel: function () { f.addEvent(this.wrapper, \"wheel\", this), f.addEvent(this.wrapper, \"mousewheel\", this), f.addEvent(this.wrapper, \"DOMMouseScroll\", this), this.on(\"destroy\", function () { clearTimeout(this.wheelTimeout), this.wheelTimeout = null, f.removeEvent(this.wrapper, \"wheel\", this), f.removeEvent(this.wrapper, \"mousewheel\", this), f.removeEvent(this.wrapper, \"DOMMouseScroll\", this) }) }, _wheel: function (t) { if (this.enabled) { t.preventDefault(); var i, s, e, o, n = this; if (void 0 === this.wheelTimeout && n._execEvent(\"scrollStart\"), clearTimeout(this.wheelTimeout), this.wheelTimeout = setTimeout(function () { n.options.snap || n._execEvent(\"scrollEnd\"), n.wheelTimeout = void 0 }, 400), \"deltaX\" in t) s = 1 === t.deltaMode ? (i = -t.deltaX * this.options.mouseWheelSpeed, -t.deltaY * this.options.mouseWheelSpeed) : (i = -t.deltaX, -t.deltaY); else if (\"wheelDeltaX\" in t) i = t.wheelDeltaX / 120 * this.options.mouseWheelSpeed, s = t.wheelDeltaY / 120 * this.options.mouseWheelSpeed; else if (\"wheelDelta\" in t) i = s = t.wheelDelta / 120 * this.options.mouseWheelSpeed; else { if (!(\"detail\" in t)) return; i = s = -t.detail / 3 * this.options.mouseWheelSpeed } if (i *= this.options.invertWheelDirection, s *= this.options.invertWheelDirection, this.hasVerticalScroll || (i = s, s = 0), this.options.snap) return e = this.currentPage.pageX, o = this.currentPage.pageY, 0 < i ? e-- : i < 0 && e++ , 0 < s ? o-- : s < 0 && o++ , void this.goToPage(e, o); e = this.x + d.round(this.hasHorizontalScroll ? i : 0), o = this.y + d.round(this.hasVerticalScroll ? s : 0), this.directionX = 0 < i ? -1 : i < 0 ? 1 : 0, this.directionY = 0 < s ? -1 : s < 0 ? 1 : 0, 0 < e ? e = 0 : e < this.maxScrollX && (e = this.maxScrollX), 0 < o ? o = 0 : o < this.maxScrollY && (o = this.maxScrollY), this.scrollTo(e, o, 0), 1 < this.options.probeType && this._execEvent(\"scroll\") } }, _initSnap: function () { this.currentPage = {}, \"string\" == typeof this.options.snap && (this.options.snap = this.scroller.querySelectorAll(this.options.snap)), this.on(\"refresh\", function () { var t, i, s, e, o, n, r, h = 0, a = 0, l = 0, c = this.options.snapStepX || this.wrapperWidth, p = this.options.snapStepY || this.wrapperHeight; if (this.pages = [], this.wrapperWidth && this.wrapperHeight && this.scrollerWidth && this.scrollerHeight) { if (!0 === this.options.snap) for (s = d.round(c / 2), e = d.round(p / 2); l > -this.scrollerWidth;) { for (this.pages[h] = [], o = t = 0; o > -this.scrollerHeight;)this.pages[h][t] = { x: d.max(l, this.maxScrollX), y: d.max(o, this.maxScrollY), width: c, height: p, cx: l - s, cy: o - e }, o -= p, t++; l -= c, h++ } else for (t = (n = this.options.snap).length, i = -1; h < t; h++)r = f.getRect(n[h]), (0 === h || r.left <= f.getRect(n[h - 1]).left) && (a = 0, i++), this.pages[a] || (this.pages[a] = []), l = d.max(-r.left, this.maxScrollX), o = d.max(-r.top, this.maxScrollY), s = l - d.round(r.width / 2), e = o - d.round(r.height / 2), this.pages[a][i] = { x: l, y: o, width: r.width, height: r.height, cx: s, cy: e }, l > this.maxScrollX && a++; this.goToPage(this.currentPage.pageX || 0, this.currentPage.pageY || 0, 0), this.options.snapThreshold % 1 == 0 ? (this.snapThresholdX = this.options.snapThreshold, this.snapThresholdY = this.options.snapThreshold) : (this.snapThresholdX = d.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].width * this.options.snapThreshold), this.snapThresholdY = d.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].height * this.options.snapThreshold)) } }), this.on(\"flick\", function () { var t = this.options.snapSpeed || d.max(d.max(d.min(d.abs(this.x - this.startX), 1e3), d.min(d.abs(this.y - this.startY), 1e3)), 300); this.goToPage(this.currentPage.pageX + this.directionX, this.currentPage.pageY + this.directionY, t) }) }, _nearestSnap: function (t, i) { if (!this.pages.length) return { x: 0, y: 0, pageX: 0, pageY: 0 }; var s = 0, e = this.pages.length, o = 0; if (d.abs(t - this.absStartX) < this.snapThresholdX && d.abs(i - this.absStartY) < this.snapThresholdY) return this.currentPage; for (0 < t ? t = 0 : t < this.maxScrollX && (t = this.maxScrollX), 0 < i ? i = 0 : i < this.maxScrollY && (i = this.maxScrollY); s < e; s++)if (t >= this.pages[s][0].cx) { t = this.pages[s][0].x; break } for (e = this.pages[s].length; o < e; o++)if (i >= this.pages[0][o].cy) { i = this.pages[0][o].y; break } return s == this.currentPage.pageX && ((s += this.directionX) < 0 ? s = 0 : s >= this.pages.length && (s = this.pages.length - 1), t = this.pages[s][0].x), o == this.currentPage.pageY && ((o += this.directionY) < 0 ? o = 0 : o >= this.pages[0].length && (o = this.pages[0].length - 1), i = this.pages[0][o].y), { x: t, y: i, pageX: s, pageY: o } }, goToPage: function (t, i, s, e) { e = e || this.options.bounceEasing, t >= this.pages.length ? t = this.pages.length - 1 : t < 0 && (t = 0), i >= this.pages[t].length ? i = this.pages[t].length - 1 : i < 0 && (i = 0); var o = this.pages[t][i].x, n = this.pages[t][i].y; s = void 0 === s ? this.options.snapSpeed || d.max(d.max(d.min(d.abs(o - this.x), 1e3), d.min(d.abs(n - this.y), 1e3)), 300) : s, this.currentPage = { x: o, y: n, pageX: t, pageY: i }, this.scrollTo(o, n, s, e) }, next: function (t, i) { var s = this.currentPage.pageX, e = this.currentPage.pageY; ++s >= this.pages.length && this.hasVerticalScroll && (s = 0, e++), this.goToPage(s, e, t, i) }, prev: function (t, i) { var s = this.currentPage.pageX, e = this.currentPage.pageY; --s < 0 && this.hasVerticalScroll && (s = 0, e--), this.goToPage(s, e, t, i) }, _initKeys: function (t) { var i, s = { pageUp: 33, pageDown: 34, end: 35, home: 36, left: 37, up: 38, right: 39, down: 40 }; if (\"object\" == typeof this.options.keyBindings) for (i in this.options.keyBindings) \"string\" == typeof this.options.keyBindings[i] && (this.options.keyBindings[i] = this.options.keyBindings[i].toUpperCase().charCodeAt(0)); else this.options.keyBindings = {}; for (i in s) this.options.keyBindings[i] = this.options.keyBindings[i] || s[i]; f.addEvent(n, \"keydown\", this), this.on(\"destroy\", function () { f.removeEvent(n, \"keydown\", this) }) }, _key: function (t) { if (this.enabled) { var i, s = this.options.snap, e = s ? this.currentPage.pageX : this.x, o = s ? this.currentPage.pageY : this.y, n = f.getTime(), r = this.keyTime || 0; switch (this.options.useTransition && this.isInTransition && (i = this.getComputedPosition(), this._translate(d.round(i.x), d.round(i.y)), this.isInTransition = !1), this.keyAcceleration = n - r < 200 ? d.min(this.keyAcceleration + .25, 50) : 0, t.keyCode) { case this.options.keyBindings.pageUp: this.hasHorizontalScroll && !this.hasVerticalScroll ? e += s ? 1 : this.wrapperWidth : o += s ? 1 : this.wrapperHeight; break; case this.options.keyBindings.pageDown: this.hasHorizontalScroll && !this.hasVerticalScroll ? e -= s ? 1 : this.wrapperWidth : o -= s ? 1 : this.wrapperHeight; break; case this.options.keyBindings.end: e = s ? this.pages.length - 1 : this.maxScrollX, o = s ? this.pages[0].length - 1 : this.maxScrollY; break; case this.options.keyBindings.home: o = e = 0; break; case this.options.keyBindings.left: e += s ? -1 : 5 + this.keyAcceleration >> 0; break; case this.options.keyBindings.up: o += s ? 1 : 5 + this.keyAcceleration >> 0; break; case this.options.keyBindings.right: e -= s ? -1 : 5 + this.keyAcceleration >> 0; break; case this.options.keyBindings.down: o -= s ? 1 : 5 + this.keyAcceleration >> 0; break; default: return }s ? this.goToPage(e, o) : (0 < e ? (e = 0, this.keyAcceleration = 0) : e < this.maxScrollX && (e = this.maxScrollX, this.keyAcceleration = 0), 0 < o ? (o = 0, this.keyAcceleration = 0) : o < this.maxScrollY && (o = this.maxScrollY, this.keyAcceleration = 0), this.scrollTo(e, o, 0), this.keyTime = n) } }, _animate: function (n, r, h, a) { var l = this, c = this.x, p = this.y, d = f.getTime(), u = d + h; this.isAnimating = !0, function t() { var i, s, e, o = f.getTime(); if (u <= o) return l.isAnimating = !1, l._translate(n, r), void (l.resetPosition(l.options.bounceTime) || l._execEvent(\"scrollEnd\")); e = a(o = (o - d) / h), i = (n - c) * e + c, s = (r - p) * e + p, l._translate(i, s), l.isAnimating && m(t), 3 == l.options.probeType && l._execEvent(\"scroll\") }() }, handleEvent: function (t) { switch (t.type) { case \"touchstart\": case \"pointerdown\": case \"MSPointerDown\": case \"mousedown\": this._start(t); break; case \"touchmove\": case \"pointermove\": case \"MSPointerMove\": case \"mousemove\": this._move(t); break; case \"touchend\": case \"pointerup\": case \"MSPointerUp\": case \"mouseup\": case \"touchcancel\": case \"pointercancel\": case \"MSPointerCancel\": case \"mousecancel\": this._end(t); break; case \"orientationchange\": case \"resize\": this._resize(); break; case \"transitionend\": case \"webkitTransitionEnd\": case \"oTransitionEnd\": case \"MSTransitionEnd\": this._transitionEnd(t); break; case \"wheel\": case \"DOMMouseScroll\": case \"mousewheel\": this._wheel(t); break; case \"keydown\": this._key(t); break; case \"click\": this.enabled && !t._constructed && (t.preventDefault(), t.stopPropagation()) } } }, a.prototype = { handleEvent: function (t) { switch (t.type) { case \"touchstart\": case \"pointerdown\": case \"MSPointerDown\": case \"mousedown\": this._start(t); break; case \"touchmove\": case \"pointermove\": case \"MSPointerMove\": case \"mousemove\": this._move(t); break; case \"touchend\": case \"pointerup\": case \"MSPointerUp\": case \"mouseup\": case \"touchcancel\": case \"pointercancel\": case \"MSPointerCancel\": case \"mousecancel\": this._end(t) } }, destroy: function () { this.options.fadeScrollbars && (clearTimeout(this.fadeTimeout), this.fadeTimeout = null), this.options.interactive && (f.removeEvent(this.indicator, \"touchstart\", this), f.removeEvent(this.indicator, f.prefixPointerEvent(\"pointerdown\"), this), f.removeEvent(this.indicator, \"mousedown\", this), f.removeEvent(n, \"touchmove\", this), f.removeEvent(n, f.prefixPointerEvent(\"pointermove\"), this), f.removeEvent(n, \"mousemove\", this), f.removeEvent(n, \"touchend\", this), f.removeEvent(n, f.prefixPointerEvent(\"pointerup\"), this), f.removeEvent(n, \"mouseup\", this)), this.options.defaultScrollbars && this.wrapper.parentNode && this.wrapper.parentNode.removeChild(this.wrapper) }, _start: function (t) { var i = t.touches ? t.touches[0] : t; t.preventDefault(), t.stopPropagation(), this.transitionTime(), this.initiated = !0, this.moved = !1, this.lastPointX = i.pageX, this.lastPointY = i.pageY, this.startTime = f.getTime(), this.options.disableTouch || f.addEvent(n, \"touchmove\", this), this.options.disablePointer || f.addEvent(n, f.prefixPointerEvent(\"pointermove\"), this), this.options.disableMouse || f.addEvent(n, \"mousemove\", this), this.scroller._execEvent(\"beforeScrollStart\") }, _move: function (t) { var i, s, e, o, n = t.touches ? t.touches[0] : t, r = f.getTime(); this.moved || this.scroller._execEvent(\"scrollStart\"), this.moved = !0, i = n.pageX - this.lastPointX, this.lastPointX = n.pageX, s = n.pageY - this.lastPointY, this.lastPointY = n.pageY, e = this.x + i, o = this.y + s, this._pos(e, o), 1 == this.scroller.options.probeType && 300 < r - this.startTime ? (this.startTime = r, this.scroller._execEvent(\"scroll\")) : 1 < this.scroller.options.probeType && this.scroller._execEvent(\"scroll\"), t.preventDefault(), t.stopPropagation() }, _end: function (t) { if (this.initiated) { if (this.initiated = !1, t.preventDefault(), t.stopPropagation(), f.removeEvent(n, \"touchmove\", this), f.removeEvent(n, f.prefixPointerEvent(\"pointermove\"), this), f.removeEvent(n, \"mousemove\", this), this.scroller.options.snap) { var i = this.scroller._nearestSnap(this.scroller.x, this.scroller.y), s = this.options.snapSpeed || d.max(d.max(d.min(d.abs(this.scroller.x - i.x), 1e3), d.min(d.abs(this.scroller.y - i.y), 1e3)), 300); this.scroller.x == i.x && this.scroller.y == i.y || (this.scroller.directionX = 0, this.scroller.directionY = 0, this.scroller.currentPage = i, this.scroller.scrollTo(i.x, i.y, s, this.scroller.options.bounceEasing)) } this.moved && this.scroller._execEvent(\"scrollEnd\") } }, transitionTime: function (t) { t = t || 0; var i = f.style.transitionDuration; if (i && (this.indicatorStyle[i] = t + \"ms\", !t && f.isBadAndroid)) { this.indicatorStyle[i] = \"0.0001ms\"; var s = this; m(function () { \"0.0001ms\" === s.indicatorStyle[i] && (s.indicatorStyle[i] = \"0s\") }) } }, transitionTimingFunction: function (t) { this.indicatorStyle[f.style.transitionTimingFunction] = t }, refresh: function () { this.transitionTime(), this.options.listenX && !this.options.listenY ? this.indicatorStyle.display = this.scroller.hasHorizontalScroll ? \"block\" : \"none\" : this.options.listenY && !this.options.listenX ? this.indicatorStyle.display = this.scroller.hasVerticalScroll ? \"block\" : \"none\" : this.indicatorStyle.display = this.scroller.hasHorizontalScroll || this.scroller.hasVerticalScroll ? \"block\" : \"none\", this.scroller.hasHorizontalScroll && this.scroller.hasVerticalScroll ? (f.addClass(this.wrapper, \"iScrollBothScrollbars\"), f.removeClass(this.wrapper, \"iScrollLoneScrollbar\"), this.options.defaultScrollbars && this.options.customStyle && (this.options.listenX ? this.wrapper.style.right = \"8px\" : this.wrapper.style.bottom = \"8px\")) : (f.removeClass(this.wrapper, \"iScrollBothScrollbars\"), f.addClass(this.wrapper, \"iScrollLoneScrollbar\"), this.options.defaultScrollbars && this.options.customStyle && (this.options.listenX ? this.wrapper.style.right = \"2px\" : this.wrapper.style.bottom = \"2px\")), f.getRect(this.wrapper), this.options.listenX && (this.wrapperWidth = this.wrapper.clientWidth, this.options.resize ? (this.indicatorWidth = d.max(d.round(this.wrapperWidth * this.wrapperWidth / (this.scroller.scrollerWidth || this.wrapperWidth || 1)), 8), this.indicatorStyle.width = this.indicatorWidth + \"px\") : this.indicatorWidth = this.indicator.clientWidth, this.maxPosX = this.wrapperWidth - this.indicatorWidth, \"clip\" == this.options.shrink ? (this.minBoundaryX = 8 - this.indicatorWidth, this.maxBoundaryX = this.wrapperWidth - 8) : (this.minBoundaryX = 0, this.maxBoundaryX = this.maxPosX), this.sizeRatioX = this.options.speedRatioX || this.scroller.maxScrollX && this.maxPosX / this.scroller.maxScrollX), this.options.listenY && (this.wrapperHeight = this.wrapper.clientHeight, this.options.resize ? (this.indicatorHeight = d.max(d.round(this.wrapperHeight * this.wrapperHeight / (this.scroller.scrollerHeight || this.wrapperHeight || 1)), 8), this.indicatorStyle.height = this.indicatorHeight + \"px\") : this.indicatorHeight = this.indicator.clientHeight, this.maxPosY = this.wrapperHeight - this.indicatorHeight, \"clip\" == this.options.shrink ? (this.minBoundaryY = 8 - this.indicatorHeight, this.maxBoundaryY = this.wrapperHeight - 8) : (this.minBoundaryY = 0, this.maxBoundaryY = this.maxPosY), this.maxPosY = this.wrapperHeight - this.indicatorHeight, this.sizeRatioY = this.options.speedRatioY || this.scroller.maxScrollY && this.maxPosY / this.scroller.maxScrollY), this.updatePosition() }, updatePosition: function () { var t = this.options.listenX && d.round(this.sizeRatioX * this.scroller.x) || 0, i = this.options.listenY && d.round(this.sizeRatioY * this.scroller.y) || 0; this.options.ignoreBoundaries || (t < this.minBoundaryX ? (\"scale\" == this.options.shrink && (this.width = d.max(this.indicatorWidth + t, 8), this.indicatorStyle.width = this.width + \"px\"), t = this.minBoundaryX) : t > this.maxBoundaryX ? t = \"scale\" == this.options.shrink ? (this.width = d.max(this.indicatorWidth - (t - this.maxPosX), 8), this.indicatorStyle.width = this.width + \"px\", this.maxPosX + this.indicatorWidth - this.width) : this.maxBoundaryX : \"scale\" == this.options.shrink && this.width != this.indicatorWidth && (this.width = this.indicatorWidth, this.indicatorStyle.width = this.width + \"px\"), i < this.minBoundaryY ? (\"scale\" == this.options.shrink && (this.height = d.max(this.indicatorHeight + 3 * i, 8), this.indicatorStyle.height = this.height + \"px\"), i = this.minBoundaryY) : i > this.maxBoundaryY ? i = \"scale\" == this.options.shrink ? (this.height = d.max(this.indicatorHeight - 3 * (i - this.maxPosY), 8), this.indicatorStyle.height = this.height + \"px\", this.maxPosY + this.indicatorHeight - this.height) : this.maxBoundaryY : \"scale\" == this.options.shrink && this.height != this.indicatorHeight && (this.height = this.indicatorHeight, this.indicatorStyle.height = this.height + \"px\")), this.x = t, this.y = i, this.scroller.options.useTransform ? this.indicatorStyle[f.style.transform] = \"translate(\" + t + \"px,\" + i + \"px)\" + this.scroller.translateZ : (this.indicatorStyle.left = t + \"px\", this.indicatorStyle.top = i + \"px\") }, _pos: function (t, i) { t < 0 ? t = 0 : t > this.maxPosX && (t = this.maxPosX), i < 0 ? i = 0 : i > this.maxPosY && (i = this.maxPosY), t = this.options.listenX ? d.round(t / this.sizeRatioX) : this.scroller.x, i = this.options.listenY ? d.round(i / this.sizeRatioY) : this.scroller.y, this.scroller.scrollTo(t, i) }, fade: function (t, i) { if (!i || this.visible) { clearTimeout(this.fadeTimeout), this.fadeTimeout = null; var s = t ? 250 : 500, e = t ? 0 : 300; t = t ? \"1\" : \"0\", this.wrapperStyle[f.style.transitionDuration] = s + \"ms\", this.fadeTimeout = setTimeout(function (t) { this.wrapperStyle.opacity = t, this.visible = +t }.bind(this, t), e) } } }, t.utils = f, \"undefined\" != typeof module && module.exports ? module.exports = t : \"function\" == typeof define && define.amd ? define(function () { return t }) : n.IScroll = t }(window, document, Math);"]}