{"version":3,"sources":["client.custom-event.polyfill.js","jquery-migrate-logger.js","SCM.Ajax.js","foundation.js","foundation.reveal.js","jquery.unobtrusive-ajax.js","jquery.validate.js","jquery.validate.unobtrusive.js","jquery.validity.min.js","jquery.lazyload.js","jquery.tablesorter.min.js","placeholder.js","jquery.jscrollpane.min.js","jquery.mousewheel.js","thiss-ds.js","SCM.Retry.js","scm.captcha.js","client.interstitial.js","client.lazy-load-ad.js","scm.jsutility.js","scm.logging.js","utilities.Brightcove.js","client.scholarlyiq.js","client.navDropdown.js","client.articleListNewAndPopular.js","client.citationModal.js","stickyToolbar.helper.js","elementManager.js","splitscreen.helper.js","splitscreen.contentsToc.js","splitscreen.figuresAndTables.js","splitscreen.leftPane.js","splitscreen.js","client.endnotes.js","client.dynamic-discovery.js","SCM.SharedWidgets.Common.js","SCM.SharedWidgets.JournalCitationFilter.js","SCM.SharedWidgets.QueryBuilder.js","client.journalCitationFilter.js","SCM.SharedWidgets.ArticleImageDetails.js","scm.sharedcontrols.globalFunctions.js","scm.sharedcontrols.eventmanager.js","scm.sharedcontrols.eventemitter.js","scm.sharedcontrols.pdfaccess.js","scm.sharedcontrols.browsesupplements.js","client.toolbar.js","client.publication-date-filter.js","client.pub-history.js","client.peer-review.js","client.statsmaster.js","client.jumpLinks.js","trapFocus.js","client.stickyElements.js","client.societyLinks.js","client.access-icons.js","client.chapter-answer-set.js","client.tree-browse.js","client.script.js","client.export-title-list.js","client.loginbox.js","client.testPassword.js","client.issue.js","client.myaccount.js","activate-subscription.js","marc-records.js","communication-preferences.js","my-subscriptions.js","orcid-id.js","institutional-settings.js","register.js","client.passwordDisplayToggle.js","client.searchResults.js","client.solrsearch.js","SCM.SharedWidgets.InstitutionOpenUrl.js","SCM.SharedWidgets.ArticleFulltext.js","SCM.SharedWidgets.BookChapterMainView.js","client.book-toc.headings.js","client.book-toc.js","theme.abstract-dropdown-article.js","theme.abstract-dropdown-book.js","theme.abstract-dropdown-chapter.js","client.refLinks.js","client.queryBuilder.js","scm.Pagination.js","scm.CitedByPagination.js","si-conversion-calculator.js","scm.sharedcontrols.ArticleLevelMetrics.js","client.contentLevelMetrics.js","client.zencoder.js","client.bookMetadata.js","SCM.Focus.js","SCM.Modals.js","client.centerAdbLock.js","SCM.Utilities.SeamlessAccess.js","client.seamlessAccess.js","client.shibboleth.js","SCM.Utilities.LocalStorage.js","client.sticky-footer-ad.js","client.sessionDiagnostics.js","client.viewLarge.js","client.navigationMenu.js","client.treeListNavigation.js","client.solrFacet.js","my-email-alerts.js","client.journals-alerts-sign-up-page.js","client.alerts-sign-up-page.js","client.tableOverflow.js","client.history-manager.js","SCM.SharedWidgets.TrendMD.js","theme.book-section-editors.js","client.taxonomyFacet.js","SCM.BookPartTitleFacet.js","SCM.CollectionFacet.js","SCM.SearchAccessibility.js","client.email-alerts-accessibility.js","client.alerts-widget.js","node_modules/browser-pack/_prelude.js","UI/shared/SCM.SharedControls/js/scm.core-dependencies.js","UI/shared/SCM.SharedControls/js/scm.ecmascript-testbed.js"],"names":["CustomEvent","event","params","bubbles","cancelable","detail","undefined","evt","document","createEvent","initCustomEvent","window","prototype","Event","SCM","JqueryMigrateLogger","$loggingDetailElement","logger","pollTimeInMs","pollLimit","pollCount","init","aiName","aisdk","Logging","getLogger","$","length","jQuery","migrateWarnings","debug","instrumentationKey","key","data","trim","sdkInstance","e","n","t","arguments","queue","push","apply","config","initialize","i","a","setTimeout","createElement","src","url","getElementsByTagName","parentNode","appendChild","cookie","version","r","pop","o","s","disableExceptionTracking","extensionConfig","ApplicationInsightsAnalytics","c","message","lineNumber","columnNumber","error","autoExceptionInstrumented","disableAjaxTracking","appInsights","_logWarnings","warn","forEach","w","trackEvent","name","properties","host","location","hostname","href","warning","migrateReset","class_array","head","prepend","map","class_name","has","FastClick","body","attach","style","script","info","styleMedia","animating","S","selector","context","cont","jquery","querySelectorAll","attr_name","arr","this","namespace","join","add_namespace","str","parts","split","reverse","bindings","method","options","bind","$this","should_bind_events","self","extend","settings","data_options","events","scope","is","call","each","single_image_loaded","image","callback","loaded","attr","complete","readyState","param","one","test","navigator","userAgent","match","Date","getTime","matchMedia","media","type","id","insertBefore","getComputedStyle","currentStyle","matchMedium","text","styleSheet","cssText","textContent","width","matches","lastTime","vendors","requestAnimationFrame","cancelAnimationFrame","jqueryFxAvailable","fx","raf","tick","MediaQuery","query","timer","timers","stop","currTime","timeToCall","Math","max","clearTimeout","toString","css","replace","Foundation","media_queries","small","small-only","medium","medium-only","large","large-only","xlarge","xlarge-only","xxlarge","stylesheet","appendTo","sheet","global","libraries","response","args","responses","rtl","set_namespace","libs","hasOwnProperty","init_lib","lib","load","trigger","patch","defaults","Array","utils","inherit","methods","methods_arr","throttle","func","delay","debounce","immediate","timeout","result","callNow","el","data_attr_name","ii","p","opts_arr","opts","cached_options","slice","isNaN","indexOf","parseInt","parseFloat","register_media","media_class","append","string","String","add_custom_rule","rule","insertRule","cssRules","image_loaded","images","unloaded","pictures_has_height","random_str","fidx","prefix","mq","is_small_up","is_medium_up","is_large_up","is_xlarge_up","is_xxlarge_up","is_small_only","is_medium_only","is_large_only","is_xlarge_only","is_xxlarge_only","fn","foundation","concat","openModals","getAnimationData","fade","animate","reveal","locked","animation","animation_speed","close_on_background_click","close_on_esc","dismiss_modal_class","multiple_opened","bg_class","root_element","open","opened","close","closed","on_ajax_error","noop","bg","opacity","visibility","display","off","on","replaceContentSel","preventDefault","ajax","element","data_attr","close_targets","bg_clicked","target","stopPropagation","closest","open_video","close_video","key_up_on","open_modal","which","key_up_off","ajax_settings","modal","first","openModal","old_success","hasClass","cache_offset","toggle_bg","to_back","hide","show","success","textStatus","jqXHR","isFunction","find","html","children","isCurrent","open_modals","removeAttr","to_front","grep","elt","isThis","base","state","class","visible","filter","placeholder","animData","end_css","parent","wrap","detach","unwrap","unbind","top","scrollTop","addClass","fadeIn","removeClass","fadeOut","video","iframe","offset","height","scrollY","reflow","data_click","data_target","getFunction","code","argNames","shift","Function","constructor","isMethodProxySafe","asyncRequest","loading","duration","confirm","getAttribute","cache","toLowerCase","beforeSend","xhr","setRequestHeader","status","mode","getResponseHeader","toUpperCase","update","replaceWith","value","form","parents","round","pageX","left","pageY","removeData","currentTarget","clickInfo","clickTarget","isCancel","validationInfo","validate","action","serializeArray","factory","define","amd","module","exports","require","validator","onsubmit","submitButton","cancelSubmit","handle","hidden","submitHandler","formSubmitted","val","currentForm","remove","pendingRequest","focusInvalid","console","valid","errorList","rules","command","argument","staticRules","existingRules","filtered","isContentEditable","normalizeRule","messages","index","normalizeRules","classRules","attributeRules","dataRules","required","remote","expr","pseudos","blank","filled","unchecked","prop","format","source","makeArray","unshift","RegExp","groups","errorClass","pendingClass","validClass","errorElement","focusCleanup","errorContainer","errorLabelContainer","ignore","ignoreTitle","onfocusin","lastActive","unhighlight","hideThese","errorsFor","onfocusout","checkable","submitted","optional","onkeyup","elementValue","inArray","keyCode","invalid","onclick","highlight","findByName","setDefaults","email","date","dateISO","number","digits","equalTo","maxlength","minlength","rangelength","range","min","step","autoCreateRanges","labelContainer","errorContext","containers","add","valueCache","pending","reset","delegate","eventType","invalidHandler","checkForm","errorMap","triggerHandler","showErrors","prepareForm","elements","currentElements","check","rs","group","cleanElement","clean","checkElement","validationTargetFor","v","prepareElement","testgroup","numberOfInvalids","toHide","errors","successList","defaultShowErrors","resetForm","hideErrors","resetElements","objectLength","obj","count","not","addWrapper","size","findLastActive","rulesCache","resetInternals","toShow","$element","validity","badInput","substr","idx","lastIndexOf","normalizer","rulesCount","dependencyMismatch","parameters","formatAndAdd","log","TypeError","customDataMessage","charAt","substring","customMessage","m","findDefined","defaultMessage","title","theregex","toToggle","wrapper","showLabel","validElements","invalidElements","errorID","elementID","idOrName","describedBy","place","errorPlacement","insertAfter","escapeCssMeta","describer","getLength","nodeName","depend","dependTypes","boolean","function","startRequest","stopRequest","previousValue","old","destroy","classRuleSettings","creditcard","addClassRules","className","classes","normalizeAttributeRule","Number","depends","keepRule","parameter","isArray","transformed","addMethod","called","decimalPlaces","num","toInt","pow","decimals","errorMessage","re","Error","optionDataString","previous","originalMessage","port","dataType","pendingRequests","ajaxPrefilter","_","abort","ajaxSettings","unobtrusive","adapters","$jQval","data_validation","setValidationValues","ruleName","escapeAttributeValue","getModelPrefix","fieldName","appendModelPrefix","onReset","$form","execInContext","defaultOptions","onResetProxy","proxy","onError","inputElement","container","replaceAttrValue","parseJSON","empty","onErrors","list","onSuccess","attachValidation","parseElement","skipAttach","valInfo","paramValues","adapt","__dummy__","parse","$selector","$forms","addBack","adapterName","addBool","addMinMax","minRuleName","maxRuleName","minMaxRuleName","minAttribute","maxAttribute","addSingleVal","attribute","exec","nonalphamin","extension","fullOtherName","other","tagName","additionalfields","paramName","field","regex","extensions","d","b","f","reduction","elementSupport","g","h","isValidating","report","out","raise","j","raiseAggregate","k","defaultFieldName","outputMode","scrollTo","modalErrorsClickable","argToString","getDate","getMonth","getFullYear","debugPrivates","patterns","integer","usd","zip","phone","guid","time12","time24","nonHtml","lessThan","lessThanOrEqualTo","greaterThan","greaterThanOrEqualTo","tooLong","tooShort","alphabet","minCharClass","maxCharClass","equal","distinct","sum","sumMax","sumMin","radioChecked","generic","start","defer","end","outputs","charClasses","alphabetical","numeric","alphanumeric","symbol","__private","setup","clear","lastIndex","Big","maxLength","minLength","chars","charClass","l","unique","radioNotChecked","checkboxChecked","assert","fail","addToReport","raiseError","raiseAggregateError","numericSum","infer","capitalize","tooltip","tooltipClass","click","focus","fadeOutTooltipsOnFocus","label","cssClass","hash","select","get","summary","write","$window","lazyload","threshold","failure_limit","effect","data_attribute","skip_invisible","appear","counter","abovethetop","leftofbegin","belowthefold","rightoffold","failurelimit","effectspeed","effect_speed","$container","$self","elements_left","temp","appVersion","originalEvent","persisted","ready","fold","scrollLeft","inviewport","below-the-fold","above-the-top","right-of-screen","left-of-screen","in-viewport","above-the-fold","right-of-fold","left-of-fold","tablesorter","alert","q","textExtraction","textAttribute","innerText","getColumnData","x","$tbodies","$table","cssInfoBlock","rows","columns","$headers","headers","getParserById","getData","u","B","empties","emptyTo","emptyToBottom","strings","stringTo","A","K","parsers","G","z","cells","extractors","totalRows","showProcessing","isProcessing","normalized","eq","child","cssChildRow","$row","prev","cssHasChild","order","ignoreCase","abs","colMax","widgetOptions","tBodies","appender","isUpdating","processTbody","pager","removeRows","pager_removeRows","applyWidget","D","E","headerList","headerContent","computeColumnIndex","cssIcon","icon","selectorHeaders","headerTemplate","onRenderTemplate","headerIn","onRenderHeader","column","sortInitialOrder","lockedOrder","header","cssHeader","headerRow","cssHeaderRow","tabIndex","role","H","C","selectorRemove","I","sortDisabled","F","sortList","sortNone","cssNone","sortAsc","cssAsc","sortDesc","cssDesc","$extraHeaders","sortReset","language","J","textSorter","y","serverSideSorting","sort","sortStable","numberSorter","M","N","refreshWidgets","restoreHeaders","bindEvents","delayInit","getWidgetById","originalSettings","hasInitialized","widgets","theme","widthFixed","cancelSelection","dateFormat","sortMultiSortKey","sortResetKey","usNumberFormat","sortForce","sortAppend","sortLocaleCompare","sortRestart","zebra","initWidgets","initialized","tableClass","cssProcessing","selectorSort","table","childRow","processing","nextAsc","nextDesc","nextNone","benchmark","construct","buildTable","tHead","metadata","supportsDataObject","emptymin","emptymax","zero","none","null","bottom","random","aria-live","aria-relevant","widgetInit","sortlist","processTimer","rowIndex","rowSpan","colSpan","data-column","isValueInArray","before","clearTableBody","button","L","splice","user-select","MozUserSelect","toggleClass","chunk","chunks","hex","sortNatural","sortNaturalAsc","sortNaturalDesc","sortText","getTextValue","charCodeAt","sortNumericAsc","sortNumericDesc","sortNumeric","characterEquivalents","O","ss","SS","U","replaceAccents","characterRegex","characterRegexArray","addParser","addWidget","hasWidget","isApplyingWidgets","priority","formatFloat","isDigit","toLocaleLowerCase","parsed","parserMetadataName","Placeholders","Utils","addEventListener","attachEvent","moveCaret","createTextRange","move","selectionStart","setSelectionRange","changeType","activeElement","V","removeAttribute","R","setAttribute","P","T","getElementById","blur","documentElement","nativeSupport","createTextNode","nodeValue","firstChild","attributes","setInterval","clearInterval","disable","enable","jScrollPane","overflow","padding","innerWidth","rb","Q","innerHeight","qb","stickToBottom","stickToRight","outerHeight","sb","contentWidth","scrollWidth","scrollHeight","W","X","maintainPosition","bb","cb","db","Y","showArrows","hb","ib","arrowScrollOnHover","verticalArrowPositions","fb","hover","position","jb","kb","nb","ob","horizontalArrowPositions","lb","outerWidth","mb","ceil","horizontalDragMaxWidth","horizontalDragMinWidth","ab","gb","verticalDragMaxHeight","verticalDragMinHeight","Z","zb","deltaFactor","mouseWheelSpeed","tb","scrollBy","touches","enableKeyboardNavigation","hideFocus","clickOnTrack","originalTarget","scrollPagePercent","scrollByY","initialDelay","trackClickRepeatFreq","scrollByX","escape","hijackInternalLinks","scrollToElement","scrollIntoView","keyboardSpeed","autoReinitialise","pb","autoReinitialiseDelay","eb","verticalGutter","platform","arrowButtonSpeed","arrowRepeatFreq","isDefaultPrevented","animateScroll","ub","wb","vb","xb","offsetParent","horizontalGutter","yb","clone","mwheelIntent","reinitialise","scrollToX","scrollToY","scrollToPercentX","scrollToPercentY","positionDragX","positionDragY","animateDuration","easing","animateEase","getContentPositionX","getContentPositionY","getContentWidth","getContentHeight","getPercentScrolledX","getPercentScrolledY","getIsScrollableH","getIsScrollableV","getContentPane","scrollToBottom","speed","trackClickSpeed","nullLowestDeltaTimeout","lowestDelta","toFix","toBind","documentMode","fixHooks","mouseHooks","special","mousewheel","handler","onmousewheel","getLineHeight","getPageHeight","teardown","removeEventListener","elem","$elem","$parent","adjustOldDeltas","normalizeOffset","pageHeight","orgEvent","delta","deltaX","deltaY","offsetX","offsetY","fix","wheelDelta","wheelDeltaY","wheelDeltaX","axis","HORIZONTAL_AXIS","deltaMode","lineHeight","absDelta","shouldAdjustOldDeltas","getBoundingClientRect","boundingRect","clientX","clientY","nullLowestDelta","dispatch","unmousewheel","thiss","enumerable","configurable","writable","Object","defineProperty","send","dst","entity","apikey","entity_id","_url","_frame","create_iframe","contentWindow","default","fetch","Accept","then","URIError","includes","json","SyntaxError","catch","decodeURIComponent","return","returnIDParam","ps","entities","do_saml_discovery_response","search","mdq","now","Promise","resolve","last_refresh","last_use","protocol","opener","mockDomain","getOwnPropertyDescriptor","frames","mockclosed","ownerDocument","contains","Boolean","JSON","stringify","some","Window","resolved","rejected","reject","errorHandled","asyncReject","handlers","dispatching","promise","finally","try","toPromise","all","keys","onPossiblyUnhandledException","cancel","isPromise","flush","stack","assign","_cleanupClosedWindows","weakmap","delete","values","isSafeToReadWrite","set","getOrSet","WeakMap","freeze","floor","btoa","Buffer","from","toISOString","create","__post_robot_10_0_14__","nn","en","del","tn","rn","WINDOW_WILDCARD","un","an","cn","instanceID","domain","origin","win","sn","ln","hn","wn","pn","vn","mn","yn","gn","_n","bn","xn","En","Wn","__type__","jn","kn","__val__","dn","toJSON","On","Pn","An","Sn","Cn","Mn","shouldClean","Dn","getInstanceID","getName","isClosed","setLocation","setName","frameElement","getType","serializedWindow","isPopup","isIframe","getWindow","actualWindow","setWindow","actualWindowPromise","awaitWindow","matchWindow","serialize","isProxyWindow","toProxyWindow","deserialize","zn","In","Tn","Rn","__id__","__name__","Nn","qn","fireAndForget","__origin__","__source__","Fn","Hn","Jn","Bn","Un","Gn","__domain_regex__","listener","postrobot_post_message","postMessage","Ln","postrobot_message_request","ack","pathname","handleError","postrobot_message_ack","postrobot_message_response","Kn","Qn","Yn","errorHandler","Zn","Vn","cancelled","Xn","$n","ne","ee","receiveMessage","sourceElement","te","Symbol","toStringTag","__esModule","fromCharCode","Ajax","moduleDefinition","AjaxResult","post","_objectToFormData","_formatPostData","_resultType","Text","Html","Json","Xml","ActionResultModel","Full","FullEnsureSuccess","Success","RedirectUrl","ReturnId","Data","BlobResult","_requestContentType","Default","UrlEncoded","_method","_data","_dataType","_internalPromise","_abortableRequestHandle","ActionResultAjaxResult","ajaxResult","_ajaxResult","_expectedComponent","AjaxError","userFriendlyMessage","actionResultModel","instance","setPrototypeOf","getPrototypeOf","captureStackTrace","_ajaxInternal","contentType","abortController","jqXhr","AbortController","objectOrQueryString","qs","initParams","signal","_isSameOrigin","currentOrigin","targetOrigin","URL","_shouldSetContentTypeHeader","contentDisposition","fileName","ok","blob","statusText","reason","abortableRequestHandle","FormData","File","processData","resolutionFunc","rejectionFunc","done","formData","_setFormDataValues","arrPrefix","_isDate","_isObject","_isBlob","_isFile","objPrefix","lastModifiedDate","lastModified","URLSearchParams","_handleActionResultModel","responsePromise","resultType","validResponsePromise","successPromise","Messages","ValidationErrors","Errors","onFulfilled","onRejected","internalAjaxResult","onFinally","sendAsJson","sendAsUrlEncoded","expectJson","res","expectHtml","expectText","expectXml","expect","failureMessage","expectFunc","expectBlob","expectActionResultModel","intrnalPromise","ensureSuccess","expectSuccess","expectRedirectUrl","expectReturnId","expectData","__proto__","Retry","policy","RetryPolicy","wait","timeInMs","handleResult","waitAndRetry","execute","DefaultWaitTimeCalculator","retryNumber","_exceptionPredicates","_resultPredicates","_retryCount","_onRetry","_waitTimeCalculator","RetryError","handleException","exceptionPredicate","resultPredicate","untilResultIs","desiredResult","retry","retryCount","onRetry","waitTimeConfiguration","resultPredicates","exceptionPredicates","waitTimeCalculator","__internalExecute","__internalCheckResult","__internalCheckException","ex","Captcha","_simpleCaptchaResponseIdentifier","_googleReCaptchaResponseIdentifier","Init","captchaModelSiteKey","grecaptcha","render","sitekey","error-callback","_handleRecaptchaRenderingError","GetCaptchaResponse","$formContainer","GetCaptchaInfo","useV3","captchaToken","getCaptchaToken","ReCaptchaV3Token","ReCaptchaV2Token","SimpleCaptchaToken","ReCaptchaWidgetControlId","UserEmail","ResetCaptcha","_handleSuccess","let","$recaptchaWidgetElem","tokenSelector","token","ns","DisableTriggerOnExternalLinks","linksToAllow","subdomain","$hiddenField","shouldDisableTrigger","link","endsWith","linkToAllow","Interstitial","LazyLoadAd","gptAdSlots","lazyLoadAds","pubGradeAdsEnabled","getScript","pubGradeJSLibrary","pbgrdFinished","loadAdsAfterPubGradeFinished","loadInterstitialAd","loadAds","loadATFAds","atfUnits","gptSlots","getGPTSlots","slot","getGPTSlotWithElementId","refreshGPTSlot","viewHeight","above","lazyUnits","lazyUnit","lazyUnitParentWrap","marginValue","dataset","lazyLoadMargin","isInViewport","rect","clientHeight","below","classList","googletag","cmd","pubads","refresh","elementId","item","getSlotElementId","apiReady","getSlots","limit","inThrottle","updateViewportDimensions","clientWidth","is_on_screen","viewport","bounds","right","JSUtility","equalHeights","items","bp","equalize","$items","thisHeight","resize","addStateToggle","toggler","documentAware","$toggler","$target","targetActiveClass","togglerActiveClass","$body","htmlActiveClass","$close","resetState","toggleVisibility","mobileOnly","clickHandler","slideToggle","manageClickEvents","getSearchParamByName","getParamFromHash","removeParamFromHash","hashKey","hashValue","encodeURI","msg","_isJsDebugEnabled","jsDebugEnabled","isJsDebugEnabled","jsDebugParam","Utilities","bc","Brightcove","isExternalLink","anchor","pageHN","anchorHN","trackArticlePageEvents","trackBookPageEvents","trackOnPageEvent","ev","encodeURIComponent","ntptEventTag","trackRelatedLinkEvent","trackSelfServePageEvents","$doc","NTPT_PGEXTRA","ScholarlyiQ","ArticleListNewAndPopular","registerArticleListNewAndPopularCombinedMode","linkNewAndPopularMode","articleListNewPopContent","widgetName","widgetInstanceName","widgetClass","App","CurrentSubdomain","CitationModal","registerCitationModalEvents","citationModalId","citationModalIdSelector","$stickyToolbar","enableCitationDownloadOnFormatSelect","NavDropdown","mobile_width_breakpoint","registerNavDropdownEvents","isDropdownOpen","$currMenu","$currLink","Toolbar","closeHypothesis","$targetArrow","siblings","$clickedLink","closeDropdownOnPageClickOrKeypress","StickyToolbarHelper","getStickyToolbarHeight","ElementManager","elementContainsClass","elementComparator","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_PRECEDING","DOCUMENT_POSITION_CONTAINS","tag","attribs","startsWith","nodeType","elementRemoveClass","elementAddClass","getFirstElementByClassName","elems","getElementsByClassName","getElementsByClass","getElementsByClassList","getElementAtTop","paragraphs","elementBottom","pageTop","elementTop","tempIndex","removeElements","removeElementsByClass","removeElementsByClassList","removeChild","SplitScreenHelper","elementManager","stickyToolbarHelper","isArticlePage","positionSplitScreenBasedOnStandardView","$scrollablePanel","elemId","next","isTableElement","isFigureElement","isAudioElement","isVideoElement","offsetTop","elementIsParentOfClass","splitViewAbstract","sectionHeaders","magellanDestination","targetId","querySelector","$splitscreenTarget","sections","statsid","positionStandardViewBasedOnSplitScreen","heightOffset","$standardViewContent","stickyToolbarOffset","standardViewAbstract","removeDuplicateItemsBasedOnId","elArray","duplicateItems","getRightRailWithoutSpecifiedWidgets","widgetExclusionList","$rightRail","scrollToNoteInSplitView","noteCue","scrollablePanel","$paragraph","$footnote","legacySectionId","notes","$noteLink","switchTo","scrollToRefInSplitView","references","registerXrefClicks","contentFullText","findXref","updatePageNumberCss","$pageIcons","adjustToolbarMargins","registerMetricsClicks","openMetricsModal","closeMetricsModal","ContentMetric","reloadOrHideBadges","firstElementChild","articleMetrics","ArtMetric","closeModal","triggerClass","resourceId","$modalTrigger","$modal","triggerModal","resourceType","contentPane","formulas","sectionHeadings","SplitScreenContentsToc","splitScreenHelper","handleJumpLinks","sectionType","ReferencesTab","targetClasses","NotesTab","section","Content","setDataSectionTypeForJumpLinks","ContentFullText","ContentJumpLinks","fragment","createDocumentFragment","jumpLinks","jumpLink","endNotes","highlightSectionTitle","tippieTop","contentsTab","links","linkHref","ContentsTab","sectionTitles","content","SplitScreenFiguresAndTables","runVideoJsFixups","widget","videos","replacementVideo","data-account","account","data-player","player","data-embed","embed","controls","data-video-id","videoId","replaceChild","getFigures","graphicalAbstractSection","figures","graphicalAbstractFigSection","graphicalAbstractFigId","getTables","tables","scrollInFiguresAndTablesSplitView","figTable","SplitScreenLeftPane","figuresAndTablesHelper","citationModalHelper","registerLeftPaneClickAndResizeEvents","ContentTopInfo","SolrResourceMetadata","ChapterVersionInformation","$contentFullText","$contentTopInfo","$chapterVersionInformation","modalSourceId","FiguresAndTablesTab","appendixes","siteUrlElement","keyword","searchUrl","shiftSVAuthorsCards","historys","last","flyouts","cancelBubble","hideAuthorFlyouts","$targetModal","showMore","remaining","authorCard","$contentPanel","columnRightEdge","SiteJS","shiftOpenAuthorCards","contentsTocHelper","leftPaneHelper","articleListNewAndPopular","ViewTypes","StandardView","SplitView","PositionManager","standardViewParagraphs","splitViewParagraphs","getCurrentElement","viewType","tuple","WidgetCache","getWidget","widgetClassName","ContentFullTextWidgetName","ContentTopInfoWidgetName","store","widgetCache","dictionary","documentFragment","resolveWidgets","ctx","dependencies","resolvedWidgets","childWidgetName","clonedElem","cloneNode","widgetRef","register","WidgetStore","ContentJumpLinksWidgetName","SplitScreen","$splitView","positionManager","contentFullTextClassName","isSplitView","contentSplitViewClassName","modalContent","revertToArticleContentView","articleContentsToggle","filters","contentFilter","transitionToSplitView","toggleSplitView","data-reveal","override","masterContainer","siteFooter","globalFooter","IsMathJaxLoaded","isFinishedAdjustRelatedTagsDisplay","elementsToAddId","elementsToIncludeInSwitch","$contentWidgetItems","contentWidgetItemClassNames","$contentBody","$leftPaneContent","addthis","toolbox","articleUserComments","RefLinks","showParagraphCitations","collapseShareDropdownOnTab","registerAnnotateLink","lastChild","JumpLinks","registerFootNotesLink","mobileBreakpoint","splitViewButton","$splitViewButton","checkScreenSize","addListener","MathJax","startup","dispatchEvent","downloadAllLink","audio","downloadAllLinks","elementOKToUse","parentElement","UserCommentBody","CommentsTab","RelatedTab","updateTabFocus","tab","panel","tabs","panels","tabClick","tabElement","cssName","isActive","data-tab","ArticleLinks","ArticleDataSupplements","ChapterAbstract","DrugDisclaimer","CopyrightStatement","graphicalAbstract","onscroll","pdfLink","annotateLink","dropTrigger","shareWidget","toolbarCiteItem","citeButton","splitViewToolbarCiteItem","splitViewCitationModal","citationModal","ToolbarCitation","PdfLink","ShareThis","SwitchView","Annotate","Tabs","ChapterEndNotes","$focused","$displayDiv","$revealContent","DynamicDiscovery","listenForSignInDialog","assistantLink","openSignInDialog","$assistantLink","Modals","showModal","_removeModalBg","$modalBg","Common","getQueryStringValue","dataUrl","startText","qPos","keyValue","ampPos","isDefined","QueryBuilder","runSearch","queryString","beforeSearch","configure","testForCitationFields","thisElement","$thisInstance","$thisFilter","$queryInputStandard","$queryInputCitation","enableDisableAddButton","testThisInstance","citeYear","citeVol","citeIssue","allInputsPopulated","citePage","$queryInstance","$queryAdd","$queryFilter","$queryFilterCurrentWrap","$queryFilterDropdown","showHideQueryFilterDropdown","$thisChild","selectQueryFilter","$thisFilterList","filterId","$thisLabel","showCitationOptionForOtherInstances","citeInstanceId","curCiteInstanceId","instanceId","$citeOption","createQueryStringAndRunSearch","CustomQueryBuilder","queryBuilderHandler","currentSearchTerm","queryParams","currentDataUrl","qbObject","instanceIndex","qbObjectInitialized","searchErrors","updateDataUrlForAllOption","searchTerm","queryTerm","newQueryTerm","displayErrors","validationErrors","$ul","qbInputElement","qbSearchTypeDisplayName","qbSearchTypeFieldName","filterSpecifiedForSearchTerm","currentQuery","startIndex","qTerm","qbSearchTerm","keyOptionOrdinal","citationObj","keyCitationName","pattern","$field","oldQb","page","qbObjectParms","$operatorValue","keydown","nextInstanceNum","$nextInstanceID","$operatorsInstanceID","$isNbnjTocHf","$yearField","keyup","searchString","subjectString","isFinite","jsonToQueryString","JournalCitationFilter","journalParam","yearParam","volumeParam","issueNoParam","startPageParam","journalQueryStringValue","yearQueryStringValue","volumeQueryStringValue","issueNoQueryStringValue","startPageQueryStringValue","journal","year","volume","issueNo","startPage","yearPattern","volumePattern","issuePattern","startPagePattern","toggleButton","widgetWrap","placeholderTextJournal","placeholderTextYear","placeholderTextVolume","placeholderTextIssueNo","placeholderTextStartPage","validationMessageJournal","validationMessageYear","validationMessageVolume","validationMessageIssueNo","validationMessageStartPage","journalCitationFilterLoaded","loadedFlag","_getValueOrDefaultByElementId","defaultValue","_openWidget","dateString","dates","getUTCFullYear","applyFilter","lastSearchQueryString","currentUrlQueryString","journalValue","selectedIndex","yearValue","volumeValue","issueNoValue","startPageValue","citationData","validationMessage","yearRegex","journalCitationQS","otherFiltersQS","paramsToRemove","magicDateQS","searchResultsParams","oldQueryParams","paramType","baseSiteURL","SearchResults","baseSiteUrl","doSolrSearch","toggleWidget","callApplyFilter","grayOutSidebar","ajaxStart","ajaxComplete","OUPJournalCitationFilter","collapsedIconClass","expandedIconClass","$journalCitationToggle","ArticleImageDetails","_activationElement","_toggleBodyOverflow","_enableHandlers","_handleOpenAndClose","_handleClickFirstOrLastImage","_handleModalNavigation","_handleClickOutsideModal","_disableHandlers","itemNum","fadeToggle","_getCitation","_trapFocus","activeModal","focusableEls","firstFocusableEl","lastFocusableEl","shiftKey","articleId","articleID","innerHTML","thisNumber","_cachePrevOrNextPage","nextUrl","currentItemNum","$currentItem","newItemNum","$newItem","itemToOpen","toggle","$prevNewItem","$nextNewItem","prevOrNextUrl","prevOrNextItemToOpen","cacheSearchWithoutUpdatingDom","currentItem","functionToDoWhileAjaxLoading","_toggleEnabledPrevOrNextButton","$modalItemToOpen","$navButtons","activationElement","openImageModal","modalItemToOpen","$modals","UploadImage_Complete","targetSelector","jsonResultSelector","replacementContainerSelector","jsonResult","contents","validationResult","errorMsg","validationError","$validationSpan","Key","AjaxHelperSuccessCallback","replacementContainer","onSuccessCallback","AjaxHelperErrorCallback","onErrorCallback","editorIds","tinyMCE","editors","editor","editorContainer","fancybox","autosize","autoScale","scmTinyMCE","hideModal","refreshModal","ajaxError","thrownError","responseText","err","dateToCheck","ajaxStop","dynamicrange","minValue","minvalueproperty","maxValue","maxvalueproperty","currentValue","radiobuttonEnable","$rb","tinyEditor","tinymce","getBody","configureSCMForm","cancelButtonSelector","submitButtonSelector","nextQuestionButtonSelector","skipButtonSelector","validatorIgnores","nextQuestion","skip","validateOnSubmit","validateOnKeyUp","validatorSettings","viewMore","hiddenSelector","readMoreButtonSelector","readMoreText","readLessText","$readMore","scmTimer","formatTime","startTime","showTime","hs","milliseconds","intervalCheck","newTime","ticksSinceLastInterval","wkTimer","__namespace","eventManager","publish","subscriptionMessage","pubsub","subscribeActionCompleted","scmActionEnum","subscribe","actionCompletedMsg","actionEnum","subscribeActionRequest","actionRequestMsg","refreshFunction","subscribeWidgetRefresh","refreshData","refreshWhenInvisible","messageContainerSelector","refreshIf","containerSelector","refreshSuccess","publishActionCompleted","publishActionRequest","subscribeActionRequestDisplayResult","displayContainerSelector","subscriptionMessages","playVideo","topics","hOP","topic","EventEmitter","pdf","formatIssuePurchaseLink","issuePurchaseUrl","revisedIssuePurchaseUrl","logErrors","errorThrown","eval","openPDF","PDFUrl","openNoAccessModalArticle","articlePdfAnchor","articldeID","data-reveal-id","articleUrl","$noAccessModal","openNoAccessModalArticleSeo","seoUrl","openNoAccessModalIssue","issueUrl","checkArticlePDFAccess","ajaxUrl","dataObj","traditional","access","checkIssuePDFAccess","issuePdfAnchor","issueId","bindUiEvents","PDFAccess","Supplements","updateIssueSupplementsOnChange","$document","$toolbar","$viewDrop","$shareDrop","$toolsDrop","showProperToolbarOptions","activeTab","$ddTriggers","visibleItemsExist","dataName","$contentSections","$figuresTablesContent","$videoContent","$audioContent","$supplementaryDataContent","$downloadAllImages","$commentsSection","$filterMenu","$filteredContent","$endNotesWidget","activeContentFilter","$metadataStandalone","restrictedImages","openCloseHypothesis","_isTargetClickNotInElement","sideBarBtnToggleClicked","pathName","btn","path","composedPath","handleClicksForHypothesis","localName","closeDropDownIfChildItemClicked","removeTabLinkIfTabIsEmpty","cssSelector","tabName","hideTabIfDropdownIsEmpty","dropdowns","currentDd","toggleToolbarDropdown","$dropdownContent","slideUp","toggleTabContent","tabId","$tab","styleToolbarStates","$toolbarItems","toolbarElement","initArticleContentFilter","setProperty","hypothesisConfig","configureHypothesisLayoutFix","openSidebar","onLayoutChange","targetNode","MutationObserver","mutationList","observer","mutation","attributeName","marginRight","observe","attributeFilter","MMddyyyy","month","validationErrorInvalidYear","validationErrorInvalidRange","cacheInputs","$fromYear","$toYear","$fromMonth","$toMonth","getSolrDateString","fromYear","toYear","fromMonth","toMonth","isSingleDateSelected","fromDate","toDate","getValidationResponseTextForDateRange","getValidationResponseTextForSingleDate","fillInMonthDropdown","$month","$year","selectedValue","initDateRangeToggle","initDateFilterTypeToggle","PublicationDateFilter","PubHistory","registerToggle","PeerReview","ClientStatsMaster","UserTracking","sourceType","actionType","actionDescription","searchData","isTurnAway","SourceType","ActionType","ActionDescription","ActionUrl","SearchData","IsTurnaway","sendTrackingData","ucaData","toJson","async","trackContentTabEvents","wrapperElem","trackedTabActions","#FigureTab","#TableTab","#ContentTab","#SupplementTab","#MultimediaTab","trackShares","trackedShareActions","addthis_button_email","addthis_button_share","addthis_button_facebook","addthis_button_compact","shareLink","trackSingleAction","$jumpLinks","jumplinkHash","$jsJumpLinkTargetIds","ticking","locationHashId","adjustScrollMarginTop","scrollTarget","toolbarHeight","targetIdValue","indexOfEqual","$jumplinkTarget","findJumplinkTarget","jumplink","_jumpToTarget","handleScroll","attrName","attrValue","searchParams","$link","pageNumberParam","findAndScrollToTarget","initFoundation","registerNotesTocLink","notesDiv","eventClassName","targetOffsetTop","getTargetAndToolbarOffset","targetID","hrefWithoutHash","lastScrollPosY","rAF","highlightOnScroll","pageOffset","$pageBody","footnoteId","bookId","isArticle","$el","baseUrl","RedirectURL","$jsJumplinks","pageSize","topDistance","subheadingArticleId","scrollToLink","ordinal","subheadingChapterId","prevAll","subheadingId","trapFocus","publicTrapFocus","$closeBtn","$lastActiveElement","_initModalTrapFocus","lastActiveElement","firstFocusableElement","lastFocusableElement","visibleElements","_getModalVisibleAndFocusableElements","getModalVisibleAndFocusableElements","$stickyMobileNav","$srFilters","$issueBrowseMobileNav","$leftNavColumn","$toolbarWrap","mobileToolbarHeight","$stickyElements","$header","$adBannerTop","$adTopConfig","$adRightConfig","$adDelayMilliseconds","$useAdTopDelay","$mainPage","$rightRailAd","$sitewideBanner","pageYOffset","leftNavStickyOffset","onScroll","_isToolbarCloned","updateStickyElements","isPageArticle","isPageArticlesByGroup","isPageIssue","isPageSearch","isPageBook","isPageChapter","isPageSiConversionCalculator","desktopHeaderAndOffsetHeight","mobileHeaderAndOffsetHeight","$issueDropdownWrap","issueDropdownBottomMargin","getViewportWidth","$clone","hasRightRailAd","$rightRailAdContainer","isPageViewLarge","guardianAdHeight","hasTopAd","headerBoundY","sitewideBannerHeight","$leftNav","$leftNavStickyOffsetHiddenField","_hasTopAd","_hasRightRailAd","StickyElements","GetReturnUrl","queryPartsWithoutLogin","returnUrl","queryParts","AddReturnUrlToSocietyLinks","placeholderHf","sigma","sigmaGetAccessHtml","setAccessIcons","accessIcons","AccessIcons","currentResourceList","$placeholder","$itemLink","accessIcon","getAccessIcon","$pageList","currentClass","availabilityIconClass","getAccessIconClasses","wrapInner","bookBottomSectionExists","registerAnswerLinkClick","ChapterAnswerSet","maxLevel","browseContentInLinkText","_transitionLength","_nodeGreaterThanMaxLevel","goDeeper","$context","currentNodeLabel","newRootNode","$currentNode","currentLevel","$additionalNodes","changeLevelOfNodesDisplayed","$breadcrumbs","$breadcrumbWrapWrap","$breadcrumbWrap","$nextEmptyBreadcrumb","$narrowLink","$allNodes","$nodesToShow","originalTotalHeight","originalHeight","newNodesHeight","breadcrumbClick","newId","nextAll","$breadcrumbsWrap","checkPageHeightForSeriesDropdown","contentHeight","maxHeight","treeHeight","TreeBrowse","ExportTitleList","$downloadBtn","$errorMessage","$startedMessage","_isSpaceKey","$exportLink","$siblings","$overlay","_closeModal","searchSummaryText","captchaResponse","blobResult","_showError","createObjectURL","download","$exportTitleList","$filterList","$fullMobileReset","$mobileMenuOpen","$mobileSearchOpen","$navbarSearchContainer","$closeNavSearch","$expandNavSearch","$navbarMenu","$navbarSearchElements","$navbarSearchInput","$mobileSearchInput","$viewOption","revealModal","revealId","revealContent","rangeContent","startItem","rangeRevealContent","needSubscriptionModal","revealIdArray","endItem","getAllReferencesInRange","openRevealModal","initSkipNavToMainContent","bannerHash","$bannerNav","setBlockLink","destination","setAllLinksTarget","getNewSelectedFilter","$listItems","setSelectedSearchFilter","initLazyLoad","detectIfFirefox","mozInnerScreenX","loadAllImagesIfUserIsAboutToUseJumpLinks","showAuthorInfo","$contentColumn","$authorCard","addAuthorFootnote","$authorNote","$authorDelim","showHideDropDown","showMoreRelatedContent","viewMoreSelector","hideMeSelector","showRelatedBookWidgetIfHasContent","handleUnresolvedRelatedObjectLinks","redirectUrl","isbn","$relatedObj","popupParagraphStyleBibliography","$revealObj","currentBookId","showSpinner","spinner","selected","initFilterClickEvent","launchSupersededContentModal","launchAddAlertModal","launchEmailUserModal","showFullDisclaimer","showFullVersionInfo","closeNavbarSearch","expandNavbarSearch","calculateResetState","$otherMenuState","resetMobileSiteNav","toggleMobileLanguageSubmenu","toggleMobileSignInForm","$mobileLogin","$mobileSigninNavArrow","resetMobileSearchFilters","$fullReset","toggleMobileSearch","toggleResponsiveMenus","toggleResponsiveLeftColumn","$pageColLeft","closeBtn","keypress","toggleMobileMenu","$makeActive","$openState","$classesToToggle","$headerBottom","showFullAuthorList","$showMoreLink","$remainingAuthors","$hiddenDelimiter","showImages","$obj","lastFocusedElement","revealFigsTablesInModal","$tableGroupSpan","tableId","revealFeaturedFigureInModal","featuredfigureurl","endValue","nextElem","showUnAuthenticatedSpans","hasAccess","oupHeaderDropdowns","$thisParameter","manageMobileDropdowns","thisObject","dropdownClass","relocateJumpLinks","SourceSignIn","SourceMobile","SourceDesktop","signInLoaded","initSigninForm","$mobileSignInLink","$mobileSignInArrow","$mobileSignInForm","$desktopSignInForm","$desktopInstitution","loadSignInForm","loginUrl","captchaInstNum","GetLoginUrl","GetCaptchaInstanceNumber","captchaInstanceNumber","UpdateLoginForm","clickStartedOutsideLoginBox","mousedown","hideOnClick","mouseup","$closestSigninForm","$closestSpinner","Login","dest","currLocation","shibbolethHandlerUrl","shibbolethUrl","initLoginFormDropdown","$formSpinner","username","password","simpleCaptchaEnabled","normalCaptchaEnabled","captchaInstanceId","simpleCaptchaIdName","captcha0","captcha1","captcha2","getResponse","simpleCaptchaResponse","user","pass","reload","loginReturnBack","$signInElement","$desktopSignInElement","resetCaptchaElement2","$mobileSignInElement","resetCaptchaElement1","resetCaptchaElement","returnDomainTest","showEditAlertInfo","alertLink","userAlert","alertType","resourceName","taxonomyName","existingAlert","scheduleSelect","TaxonomyFacet","initTaxonomyArrows","mainForm","alertName","taxonomies","alertId","taxonomiesFiltered","showErrorMessage","taxonomyFilterFunction","taxonomyIds","processTaxonomies","editTaxonomyAlert","main","messageDiv","addSignUpAlert","scheduleId","scrollHere","confirmation","messageElement","responseObj","Message","initSearchResultsSort","$sortOrderSelectOption","$sortOrderSelect","$preloaderWrap","sessionStorage","detailsState","copyrightMessage","moveSubmitCommentLink","$placeHolderSubmitComment","$userComment","addUserCommentJumpLink","$jumplink","$articleLeftNav","addDataSupplementsJumpLink","$dataSupplements","addDataRepositoriesJumpLink","$dataRepos","addAuthorNotesJumpLink","$authorNotesTitle","$authorLink","$authorLinkWrap","linkPos","cardWidth","toggleSearchResultsDetails","$switchContainer","$switchPost","$expandedView","clientViewOption","adjustRelatedTagsDisplay","$articleMetadataPanel","$tagContainerArray","$openScienceBadge","removeEmpty","$elements","showPdfOnlyLink","$innerPdfOnly","$newLink","triggerSaveSearchModelOnRedirect","ariaToggleTable","ariaTarget","$ariaControl","$ariaIcon","initAriaControls","abstractMathJax","typesetPromise","$commentModalSpinner","$commentFormError","UserCommentView","isUserLoggedIn","resetCommentForm","selfServeContentId","selfServeVersionId","showTermsAndConditions","validateTermsCheckbox","validateCommentForm","submitCommentValues","change","$termsCondition","resetCommentFormValidation","comment","commentBody","commentBodyCharLimit","bShowDisclosure","commentForm","authorInput","affiliation","disclosures","showAffiliations","author","affInstitutions","disclosure","recaptchaChallege","recaptchaResponse","instanceName","InstanceName","isNotModerated","BookPartTitleFacet","CollectionFacet","SeamlessAccess","SearchAccessibility","OUPSeamlessAccess","OUPShibboleth","ViewLarge","registerMousePointer","NavigationMenu","TreeListNavigation","OrcidId","JournalAlertsSignUp","TableOverflow","AlertsSignUp","AlertsAccessibility","AlertsWidget","windowLoadInit","initArticleTopInfoAccessOptions","signInUrl","setMobileClass","$pageColumnLeft","$resizeTimer","$micrositeSearch","$mobileSearchDropdown","viewportWidth","newWidth","scrollOffset","SolrFacet","ArticleFulltext","BookChapterMainView","BookMetadata","LoginBox","Theme","ArticleAbstract","BookAbstract","CookiePro","loadCookiesIfNotEnabled","BookSectionEditors","SharedWidgets","TrendMD","SolrSearch","_isLoginBoxLoaded","$dropdownContents","decodedUrl","_modalActivityPropertyName","modalTagToKeepState","getRedirectBaseUrl","addReturnUrlToSocietyLinks","modalId","getItem","MyEmailAlerts","getActivityAlertModal","removeItem","documentClick","documentKeyUp","getZEncodedRedirectUrl","updateHrefPlaceholder","redirectSiteUrl","ZEncoderV1","Decode","updateSignInLink","linkUrl","saveModalStateBeforeRedirecting","zEncodedRedirectUrl","updateRedirectUri","returnUrlParam","getRedirectPageUrl","Encode","updateLinkAndGo","linkType","currentPage","zEncode","setItem","removeUnneededParams","paramToRemove","redirectPage","hideDropDown","$divHelp","$targetLocation","_isElementTargetedByEvent","turnAwayParams","updateButton","getQueryStringSeparator","addSigmaHost","encodedHost","lockRegistrationButton","$wrap","showValidPasswordCriteria","showInvalidPasswordCriteria","initTestPassword","passwordFieldSelector","confirmPasswordFieldSelector","submitBtnSelector","$checkForCase","$checkForLowerCase","$checkForSpecialCharacter","$checkForNumber","$existingPasswordInput","$initialPasswordInputWrap","$iconCase","$iconInput","$iconLength","$iconNumber","$iconLowerCase","$iconSpecialChar","$passwordValidator","$passwordConfirmWrap","$iconSecondaryConfirm","$validPassword","validateConfirmPassword","currentConfirmEntry","$currentInputEntry","passwordConfirm","TestPassword","treeNodeCollapsed","treeNodeExpanded","treeNodeExpandable","issues","toggleParentNode","$nearestSublist","$interactiveTreeItem","$parentListItem","$screenReader","arrowRight","arrowDown","setActiveJumplink","toggleNestedJumplinks","onIssueHeadingClick","$currentNavTreeLink","selectCurrentNodeOnClick","$treeInteractive","$selectedNode","yloc","filterTopicTerms","term","allLower","containsIN","array","updateIssueBrowseOnChange","Issues","lastSpace","truncatedText","registerKbartEvents","submitKbartReportRequest","closeKbartSubmitModal","$submitModalDiv","showKbartSubmitModal","institutionID","institutionName","$submitBtn","$selection","emailAddress","institutionAcctId","hasInputErrors","fullname","brackets","bracketErr","showPersonalInfoErrors","updatePersonalInfo","$name","names","initMyAccount","$myAcctTabsInnerWrap","$mobileNavIcon","$activeTab","country","initialErrorMessage","initialChangeEmailErrorMessage","$successMsg","$errMsg","noInput","currentPassword","newPassword","confirmNewPassword","$submitButton","newEmailAddress","confirmNewEmailAddress","verificationCode","initSavedSearches","4","sorter","MyAccount","deleteSaveSearch","changeUserAlert","$parentElem","$searchNameLnk","$saveLnk","$searchNameInput","$userSearchId","$newSearchName","$searchNameLink","renameSaveSearch","$usersearchid","bindTableSorter","updatedTable","$sort","delElem","parentElem","userAlertId","userSearchId","xmlHttpRequest","upElem","resultIdObj","Token","searchName","$linkElement","initForgotPassword","initialForgotPasswordErrorMessage","confirmMsg","initResetPassword","countSubjectChoices","$totalOptions","$selectedOptions","changeUserTypeSubjects","classificationId","$checkbox","cleanLastErrorMessage","restoreCheckboxes","$emailAlertModal","$checkboxRows","currentModalContents","PasswordDisplayToggle","initInstitutionalSettings","initSubscriptions","setSelectedAccountId","accountId","institutionalAccountClick","individualAccountClick","institutionDropdownChange","initActivateSubscription","lastError","accountType","$parentList","MarcRecords","$instSelect","$dateRangeBtn","$dateRangeInputs","instId","option","startDate","endDate","dateInfos","$fromDiv","$toDiv","ErrorMessage","FromDate","ToDate","institutionId","DownloadUrl","ExpandCollapseTreeItem","$icon","isExpanded","$focusItem","$expander","initCommunicationPreferences","defaultClassificationId","handleArrowKeys","$prevFocusItem","$nextListItem","$nextFocusItem","$btnConfirmOptIn","optInMarketEmail","subjectIds","closeRevealModal","resourceUrl","initialErrorSummaryValue","lastSel","$button","$errorSummary","$institutionId","$instName","$ipAddresses","$orgId","$entityId","$openUrl","$openUrlButton","$instUrl","$instLogoUrl","ipAddresses","orgId","entityId","openUrl","openUrlButton","instUrl","instLogoUrl","ipAddresessChanged","isEmptyObject","showSuccess","showError","inputId","helpText","initRegister","submitForm","$registerButton","replaceAll","fullName","confirmPassword","honeypotValue","registerIssueAlert","txtCaptchaInputId","alertChecked","hfAlertJournalId","alertJournalId","hfAlertSiteId","alertSiteId","sigmaSigninUrl","$error","$errorInput","fieldSelector","outerScopeSelector","$scope","showPasswordSelector","hidePasswordSelector","$newInput","after","controller","updateTargetSelector","toggleTaxonomyChildren","$taxonomyChildList","$taxonomyInput","$screenReaderText","$arrowLink","initialQueryString","isTrue","input","signUpForAlerts","myAccountUrl","modelValues","ResourceTitle","AlertType","CurrentUserEmail","IsUserAlreadySubscribed","SuccessfulUpdate","ResourceId","ResourceType","SearchTerm","SearchUrl","CurrentAlertContextSiteId","ShowSaveSearchToUnauthenticatedUser","UserIsLoggedIn","ShowSignInForSearchAlertSignUp","isAlertPostCompleted","onpopstate","$updateTarget","results","history","replaceState","initFigureModalContainer","handleAjaxError","bindObjectsOnUpdate","myobject","scrollIfNotInView","$sriExpandedView","collapseFacets","pushState","$inputEl","$checkedFilters","urlSearchParams","allFiltersChecked","$clickElement","_redirectUrl","dataurl","queryText","dateValuesString","validationResponse","dateTypesToRemoveFromPrevQuery","$filtersChecked","dateFilterTypeString","$filtersToUse","$elementToCover","isNbnj","newUrl","imageTabActive","multimediaGalleryQueryStringValue","$coveredElement","always","ExpandedCollectionSites","bodyVar","hfSolrJournalID","hfParentSiteName","hfGlobalSearchSiteURL","hfjournalSiteScope","hfparentSiteScope","searchSiteID","hfParentSiteURL","hfparentSiteID","siteUrl","hfdefaultSearchURL","defaultAdvancedSearchUrl","hfIssueSearch","hfIssueSiteScope","hfCurrentBookSearch","hfCurrentBookScope","hfBookSiteScope","hfSeriesScope","hfUmbrellaScope","hfUmbrellaSiteUrl","hfUmbrellaSiteId","hfTaggedCollectionScope","searchAcrossOA","currentSearchScope","selectedSearchFilter","setAdvancedSearchLinkToCurrentSearchScope","getBaseUrl","getSearchUrl","passAllJournals","searchSiteId","currentBookSearch","taggedCollection","series","taxonomy","isNullOrEmpty","getUrlProtocol","testSearchInput","inputToTest","doKeywordsTopicsSearch","defaultQueryBuilder","customQueryBuilder","hfSiteURL","testKeypress","scopeToPass","inputToPass","inquiry","searchScope","issueSearch","updateUrlForProxy","currentHost","urlHost","getTaxonomyParameter","openSaveSolrSearch","solrSearchSaveModel","saveSolrSearchInfo","txtSolrSearchName","ddlSearchAlertFrequency","currentUrl","buildSaveSearchUiEvent","lnkSaveSolrSearch","btnSolrSearchSave","restrictedImagesSearch","taxonomyItemClick","updateTaxonomyTreeModal","getTaxonomyUrl","micrositeSearchIcon","micrositeSearchTerm","mobileMicrositeSearchIcon","mobileMicrositeSearchTerm","bookQuickSearchSearchIcon","bookQuickSearchSearchTerm","umbrellaSearchIcon","umbrellaHomeSearchIcon","umbrellaSearchTerm","umbrellaHomeSearchTerm","articleKeywordSearchTerm","articleTopicSearchTerm","$facetHeaderIcon","searchSiteUrl","_href","journalId","journalIdParm","freeSearchValue","freeSearchQueryElement","queryBuilderValue","queryBuilderElement","customQueryBuilderValue","customQueryBuilderElement","siteIdElement","siteIdValue","searchSourceTypeElement","searchSourceTypeValue","allJournalsElement","allJournalsValue","imageQueryStringValue","articleDateQueryStringElement","articleDateQueryStringValue","articleDateFilterTypeElement","articleDateFilterTypeValue","fullUrl","RefreshBrightcove","videojs","getPlayer","toggleCollectionParent","toggleBookPartTitleParent","iou","scmLocalStorage","instOpenUrlKey","instOpenUrlNoDOIKey","instOpenUrlBaseUrlKey","replaceOpenUrlPlaceHolders","$openUrlPlaceHolderElements","replaceLinkHtml","finalLinkHtml","replaceOpenUrlNonDOIPlaceHolders","$openUrlPlaceHoldersNoDOIElements","replaceHtml","targetUrl","targetUrlTemplate","replaceFindInMyLibraryOpenUrlPlaceHolders","getAndReplaceOpenUrlPlaceHolders","imageAlt","resultObject","replacelink","nonDOIreplaceLink","DisplayOpenUrlLink","LinkImageSource","TargetUrl","LinkImageText","BaseUrl","LoginUserInfo","currentSessionId","errdata","checkAndReplaceOpenUrlPlaceHolders","$openUrlPlaceHolders","$openUrlPlaceHoldersNoDOI","storedLink","storedNoDOILink","storedUrl","isInstLoggedIn","$libraryLinks","InstitutionOpenUrl","LocalStorage","aft","replaceContentLinks","bcmv","BookToc","onHeadingsClick","$icons","$parentAnchors","$screenReaderPrompts","sectionId","chapterId","BypassOutputCache","ajaxResponse","onBookPartHeadingsClick","registerHeadingsEvents","checkAccess","addNotesTocLink","$chapterLink","$activeLink","$chapterSections","$footNotes","$endNotes","$endNotesLink","$footNotesLink","Headings","headings","goToPageHandler","pageNumber","$page","pageNum","handleClickEvent","$currTarget","isLayAbstract","$abstractLocation","$abstractLinks","isAbstractAlreadyFetchedFromServer","$linkContext","ajaxData","layAbstract","actionResult","$content","tabNum","Cadmore","loadCadmoreVideos","$currTargetAbstractIcon","toggleIconClass","downArrow","upArrow","digitalData","AdobeAnalytics","sendAdobeAnalyticsProductData","$wrapperDiv","$triedFetchDiv","triedFetch","$baseSiteUrl","_populateBookAbstractDropdown","$thisAbstractIcon","$downArrow","$upArrow","$curentTarget","abstractLinks","_populateAbstractLocation","_setTriedFetchDivToTrue","$citationLinks","addTermClick","$operator","jsonObj","terms","exactMatch","qbInputElementVal","keyOperatorOrdinal","$qbSearchTypeFieldOption","condition","jsonObjStr","qbObjectParmsStr","$andOp","$nextToShow","Pagination","clickedElem","performAjaxPagination","elementToReplace","updateBrowseHistory","pagination","enableBrowserHistoryNavigation","trimEndUntilRegexMatches","scrollToTop","CitedByPagination","valueOf","handlePaginationClick","jqElement","selectedPage","$errorBox","PerformCalculation","otherInputElementClassName","operation","$wrapper","$invalidBox","tablePos","topPos","leftPos","arrowClass","$otherInput","pos","inputWidth","boxWidth","$calcElement","calc","toFixed","SiConversionCalculator","$printableModal","updateChart","ctHtmlLabels","chartClass","ChartistData","createChart","lineSmooth","showArea","low","plugins","axisX","labelInterpolationFnc","reloadDimensionsBadge","getWidgetInstanceName","widgetInstanceIdx","fullVersion","$dest","routeUrl","chart","redo","_node","childNodes","$chart","$viewMetrics","datatype","__dimensions_embed","addBadges","limitLabels","xAxisLabels","labelCt","showNthLabel","responsiveOptions","Chartist","Line","seq","begin","dur","to","x1","x2","viewName","showDimensionsBadge","widgetInstance","eventsToClose","cloneMetricsModalForPrint","$metricsModal","$printModal","updateAltmetricPropsForBooksAndArticles","$altmetricBody","artmetBadgeIsHiddenOrEmpty","citationsBadgeIsEmpty","registerModalClicks","specialChars","forward","backward","ch","Length","AddMetadataBorder","Focus","FocusableSelectorString","trap","$allFocusableElements","$currentlyFocusedElement","$focusableElements","$visibleElements","release","$newFocus","_getClosestFocusableElement","$focusableSiblings","$globalModal","$globalModalContentWrapper","$globalModalPlaceholder","GlobalModalContentWrapperId","ModalSourceIdAttr","ModalAjaxUrlAttr","ModalContentAttr","LegacyContentAttr","SwapModalContentAttr","$jqueryObj","Events","_handleModalTriggerClick","_showModal","contentId","$trigger","_getDatasetKey","sourceAjaxUrl","modalContents","$modalContents","_openModal","$modalElement","swapElements","outerHTML","$element1","$element2","element1DOM","element2DOM","element1Parent","element2Parent","element1Sibling","nextSibling","_triggerModalEvent","dataAttrName","p1","eventName","CenterAdBlock","$adBlockDiv","$advertisementTextElement","shouldAdblockBeCentered","persistenceService","discoveryService","persistenceContext","isInitialized","thissInitialized","initializeSeamless","saveShibbolethID","shibbolethID","preferredTitle","waitForThiss","createDefaultEntity","latestShibboleth","removeShibbolethID","PersistenceService","DiscoveryService","compareByMostRecentLastUse","entity_icon","descr","name_tag","auth","entityID","propertyName","localInstitution","cookieInstitution","persistedInstitutions","updateUIWithSeamlessAccessData","handleSeamlessAccessError","seamlessResultData","resultData","$seamlessButtonHeader","$changeInstitutionLink","$seamlessButtonLoginBox","$seamlessButtonText","SeamlessButtonActionType","SeamlessButtonText","SeamlessButtonEntityId","ChangeInstitutionLinkActionType","ShowHeaderSeamlessButton","ShowChangeInstitutionLink","handleClick","_storageAdapter","localStorage","_cacheUpdateLog","_syncStartedLog","_crossStorageInstances","adapter","_namespace","getItemCrossDomainNoCache","getItemCrossDomain","crossStorageHubUrl","localCacheKey","getHostnameFromUrl","CrossStorageClient","_isLocalCacheUpdated","cacheLogString","_markLocalCacheAsUpdated","setItemCrossDomain","crossDomainStorage","rvPromise","getCrossStorageClientInstance","onConnect","removeItemCrossDomain","hubUrl","storage","newStorage","mobileThreshold","StickyFooterAd","$cookieBanner","repositionFooterAd","mutations","removedNodes","addedNodes","childList","$footerAd","$footerAdWrapper","adHeight","setAdvertisementTextHeight","stickyAdScrollLogic","$closeFooterAdButton","$footerAdContainer","$footerAdInnerContainer","$footerAdContent","$advertisementText","footerAdOffset","scrolledPosition","footerAdPosition","SessionDiagnostics","captchaWidgetInstanceName","captchaInstanceName","$contentImage","setMousePointer","mouseover","mouseout","$imageElement","currentWidth","currentHeight","intrinsicWidth","naturalWidth","intrinsicHeight","naturalHeight","$topLevelTreeList","$parentNavTreeLists","$parentNavTreeItems","$parentNavTreeToggles","$parentNavTreeScreenReaders","$parentNavTreeLinks","onParentNodeClick","$currentNavTreeToggle","$currentNavTreeScreenReader","$navTreeSublist","$navTreeLink","$focusedElement","navTreeParentClassName","$treeList","isNavTreeLink","$jsNavTreeLink","$allVisibleNavTreeLinks","currentIndex","handleTreeListToggle","$currentNavTreeItem","$parentNavTreeLink","$parentNodeLink","isBookPartHeading","bookPartHeadingIcon","treeType","typingTimer","showMoreButton","showLessButton","hfGetMoreFacets","doneTypingInterval","filterBoxKeyUp","filterBoxKeyDown","filterBoxSearch","facetShowMore","facetShowLess","$input","shouldNotFilter","doneTyping","facetFilter","parentClass","$remaining","getParentClass","$moreLessButtons","addMoreLessListItem","facetName","getMoreFacetsIsEnabled","hiddenFacetsExist","hasLastFacetClass","canGetMoreFacets","facet","listItem","DataUrl","Title","countSpan","Count","listItemClasses","checkBox","chkName","data-redirect-url","checked","Checked","tabindex","addMoreLessButtons","initializeArrows","filterValue","facetMatchesFilterValue","$labelElement","word","words","higlightMatchingText","highlighted","initArrowsAndTruncateItems","truncateItems","hasVisibleChildren","updateFor","hasManyAlerts","$emailAlertsWrap","redirectToNewJournalIssuesPage","displayAlertRenameInterface","cancelAlertRename","saveAlertRename","$globalModalContent","deleteEmailAlert","$alertsWidget","myEmailAlertClick","$activityAlertModal","closeActivityModal","saveContentActivityAlert","updateAlert","$alertFrequencyDropdown","newAlertName","alertRowHasMultipleAlerts","swapAlertsWrapCover","postData","NewScheduleId","NewAlertName","AlertIdToReschedule","HasMultipleAlerts","UpdateFor","ConfigSiteName","SeparateJournalsAlerts","EmailAlertsAuthToken","ShowSyncOnlyAlerts","updateEmailAlertsAuthToken","updateNewJournalIssuesAlerts","$userAlertLink","$activityModal","selectedActivities","activityIds","frequencyId","$userAlert","marketingUrl","isContentPage","alertSignUpLink","AlertIdToDelete","emailAlertsAuthToken","journalsAlertList","newSearchName","$parentElemRow","$alertName","$alertNameInput","alertOriginalName","selectedCheckBoxesOnModalPopup","applySelection","handleKeyPress","closingModal","selectButtonClicked","unselectCheckItem","submitIssuesAlert","previousIds","selectedCheckBoxes","currentIds","$filterInput","wasChecked","$unselectButton","resourceParam","selectedIds","selectedResourceId","HistoryManager","Push","$applyButton","li","currentResourceId","selectedResourcesIds","Pop","cachedModals","defaultSelectedValue","applyFrequencySelection","initSearchTerms","initTaxonomyFacet","applyCollections","inputSelectorToCleanup","applyAcceptedManuscriptsSelection","oldInput","_oldInput$parentNode","newInput","$booksAlert","alertUrl","removeErrorTextFromPageTitle","showAlertSuccessMessage","addErrorTextToPageTitle","showAlertFailureMessages","$articlesAlert","excludeAcceptedManuscripts","$nbnjAlert","nbnjAlertType","handleEnterThenFocusButton","stopImmediatePropagation","_document$querySelect","removeSearchTerm","applySearchTerm","applyTaxonomy","applySeriesTaxonomy","initTaxonomyTree","isChecked","getRedirectUrl","getAlertModalTaxonomyUrl","getUpdateQueryStringUrl","getAlertModalSeriesTaxonomyUrl","bindScrollEvent","queryKey","urlObj","newParam","humWait","humRetry","cookies","isHumDataLoaded","displayHumOrDefaultToTrend","displayTrendMDWidget","suppressIfHumIsPresent","arrowOnClick","labelOnClick","checkboxOnClick","showAllItems","$bookparttitleUl","$bookparttitleCheckbox","$parentLiItem","$checkBoxContainer","updateFacetDescendantCheckboxes","doBookPartTitleFacetQuery","facetValues","$parentCheckbox","dataId","updatedUrl","facetQsPresent","endIndex","facetQueryTerm","newQuery","existingQuery","checkboxClass","$childCheckboxes","$checkedChildren","$checkedItems","$childListItem","$collectionUl","$collectionCheckbox","doCollectionFacetQuery","getUpdatedQueryString","getFacetValues","identifier","paramaterName","paramaterNameWithEqual","paramaterNameWithAndEqual","$parentLi","allChecked","facetIndex","currentOptionIndex","facetObjList","$parentFacetList","currentFacetItem","$currentFacetItemElement","isTreeFacet","isTaxonomy","_createFacetListForTree","$parentElement","parentElementId","$li","$anchor","$childUl","parentId","_createFacetList","$siblingUl","_handleArrowDownUpKeyForFacetList","_getFacetItemById","$expandableFacetList","$expandableFacetIcon","_handleArrowLeftKeyForFacetList","parentFacetItem","$parentFacetItemElement","_updateFocus","_getFocusableElement","$enteredElement","$firstHiddenItem","classToFind","$hiddenFacetOptions","$hiddenElementLabel","$facetList","$parentFacetElement","direction","facetTree","newIndex","$label","$taxonomyElement","toggleTaxonomyParent","taxEqualsKey","curTaxonomyNodeId","selectedTaxIds","taxKey","rootNodeId","taxQueryTerm","updateQueryStringParam","getSelectedTaxonomies","parentWindow","$taxonomyWrappers","initializeAlertsAccessibility","openAlertModal","closeAlertModal","setAriaExpandedAttributes","isModalOpen","alerttype","siteid","$userAlertSignUpModal","alertTypeID","1","_scm","runTestsOnJsDebug","runTests","performance","immutable","testMethod","Map","yield","iterator","current","testIfMapIsIterable","entries","descriptors","getOwnPropertyDescriptors","startPadded","padStart","endPadded","padEnd","knownFailures","_testAtomics","param1","param2","_len","theRest","_key","_testForAwaitOf","asyncIterable","asyncIterator","flatArr","flat","flatMapArr","flatMap","fromEntries","prop1","arr1","_obj$arr","noSuchProp","_obj$arr1$noSuchMetho","_obj$arr2","noSuchMethod","globalThisProto","globalThis","_testBigInt","any","AggregateError","durationInMs","int32Array","Int32Array","Atomics","xor"],"mappings":"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","file":"site.min.js","sourcesContent":["(function () {\r\n if (typeof window.CustomEvent === \"function\") return false; //If not IE\r\n\r\n function CustomEvent(event, params) {\r\n params = params || { bubbles: false, cancelable: false, detail: undefined };\r\n var evt = document.createEvent('CustomEvent');\r\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\r\n return evt;\r\n }\r\n\r\n CustomEvent.prototype = window.Event.prototype;\r\n\r\n window.CustomEvent = CustomEvent;\r\n})();\r\n","// If enabled, log any warnings generated by jquery-migrate for the purpose of identifying and fixing issues\n\nvar SCM = SCM || {};\nSCM.JqueryMigrateLogger = function() {\n var pollTimeInMs = 5000;\n var pollLimit = 20;\n var pollCount = 0;\n var $loggingDetailElement;\n var logger;\n\n return {\n init: _init\n };\n\n function _init() {\n logger = SCM.Logging.getLogger();\n if (!_isLoggingEnabled()) {\n logger.debug('jquery-migrate logging is disabled');\n return;\n }\n\n logger.debug('jquery-migrate logging is enabled. Attempting to initialize Application Insights.');\n var instrumentationKey = _getInstrumentationKey();\n if (!instrumentationKey) return;\n _initApplicationInsights(instrumentationKey);\n if (!window.appInsights) {\n logger.warn('Application Insights failed to initialize.');\n return;\n }\n setTimeout(_logWarnings, pollTimeInMs);\n }\n\n function _getInstrumentationKey() {\n if (!$loggingDetailElement && !$loggingDetailElement.length) {\n return '';\n }\n var key = $loggingDetailElement.data('jqueryMigrateInstrumentationKey');\n return key ? key.trim() : '';\n }\n\n function _initApplicationInsights(instrumentationKey) {\n var sdkInstance=\"appInsightsSDK\";window[sdkInstance]=\"appInsights\";var aiName=window[sdkInstance],aisdk=window[aiName]||function(e){function n(e){t[e]=function(){var n=arguments;t.queue.push(function(){t[e].apply(t,n)})}}var t={config:e};t.initialize=!0;var i=document,a=window;setTimeout(function(){var n=i.createElement(\"script\");n.src=e.url||\"https://az416426.vo.msecnd.net/scripts/b/ai.2.min.js\",i.getElementsByTagName(\"script\")[0].parentNode.appendChild(n)});try{t.cookie=i.cookie}catch(e){}t.queue=[],t.version=2;for(var r=[\"Event\",\"PageView\",\"Exception\",\"Trace\",\"DependencyData\",\"Metric\",\"PageViewPerformance\"];r.length;)n(\"track\"+r.pop());n(\"startTrackPage\"),n(\"stopTrackPage\");var s=\"Track\"+r[0];if(n(\"start\"+s),n(\"stop\"+s),n(\"setAuthenticatedUserContext\"),n(\"clearAuthenticatedUserContext\"),n(\"flush\"),!(!0===e.disableExceptionTracking||e.extensionConfig&&e.extensionConfig.ApplicationInsightsAnalytics&&!0===e.extensionConfig.ApplicationInsightsAnalytics.disableExceptionTracking)){n(\"_\"+(r=\"onerror\"));var o=a[r];a[r]=function(e,n,i,a,s){var c=o&&o(e,n,i,a,s);return!0!==c&&t[\"_\"+r]({message:e,url:n,lineNumber:i,columnNumber:a,error:s}),c},e.autoExceptionInstrumented=!0}return t}(\n {\n instrumentationKey: instrumentationKey,\n disableAjaxTracking: true\n }\n );\n window[aiName] = aisdk; // [We don't want to track page views.] aisdk.queue && 0 === aisdk.queue.length&&aisdk.trackPageView({});\n }\n\n function _isLoggingEnabled() {\n $loggingDetailElement = $('[data-jquery-migrate-logging-enabled]');\n return $loggingDetailElement && $loggingDetailElement.length && jQuery.migrateWarnings;\n }\n\n function _logWarnings() {\n if (jQuery.migrateWarnings && jQuery.migrateWarnings.length) {\n logger.debug('Logging ' + jQuery.migrateWarnings.length + ' jquery-migrate warnings.');\n jQuery.migrateWarnings.forEach(function (w) {\n logger.debug(w);\n appInsights.trackEvent({\n name: 'jquery-migrate-warning',\n properties: {\n host: window.location.hostname,\n url: window.location.href,\n warning: w\n }\n });\n });\n jQuery.migrateReset();\n }\n pollCount++;\n if (pollCount < pollLimit) {\n setTimeout(_logWarnings, pollTimeInMs);\n }\n }\n\n}();\n","/***\r\n * A module that performs AJAX requests and makes handling the most common types of responses easier.\r\n *\r\n * Example usages:\r\n\r\nSCM.Ajax.get('/url', { qs1: 'value1' })\r\n // request URL will be '/url?qs1=value1'\r\n .then(function(result) {\r\n // result is a string with the response content\r\n })\r\n .catch(function(reason)) {\r\n // if the request failed for any reason\r\n //\r\n // reason is an instance of AjaxError\r\n });\r\n\r\nSCM.Ajax.post('/url', { qs1: 'value1' })\r\n // request will POST FormData with qs1 = 'value1'\r\n .expectHtml()\r\n .then(function(result) {\r\n // result is a string with (assumed Html) response\r\n })\r\n .catch(function(reason)) {\r\n // if the request failed for any reason\r\n //\r\n // reason is an instance of AjaxError\r\n });\r\n\r\nSCM.Ajax.get('/url')\r\n .expectJson()\r\n .then(function(result) {\r\n // result is an object parsed from the response JSON string\r\n })\r\n .catch(function(reason)) {\r\n // if the request failed for any reason\r\n // or if the response failed to parse as JSON\r\n //\r\n // reason is an instance of AjaxError\r\n });\r\n\r\nSCM.Ajax.get('/url')\r\n .expectActionResultModel()\r\n .then(function(result) {\r\n // result is an object with the structure of the ActionResultModel class, parsed from the response JSON string\r\n })\r\n .catch(function(reason)) {\r\n // if the request failed for any reason\r\n // or if the response failed to parse as JSON\r\n // or if the response does not look like a ActionResultModel object\r\n //\r\n // reason is an instance of AjaxError\r\n });\r\n\r\nSCM.Ajax.get('/url')\r\n .expectActionResultModel()\r\n .expectSuccess()\r\n .then(function(result) {\r\n // result is a boolean that is always true\r\n })\r\n .catch(function(reason)) {\r\n // if the request failed for any reason\r\n // or if the response failed to parse as JSON\r\n // or if the response does not look like a ActionResultModel object\r\n // or if response.Success is false\r\n //\r\n // reason is an instance of AjaxError\r\n });\r\n\r\nSCM.Ajax.get('/url')\r\n .expectActionResultModel()\r\n .expectHtml()\r\n .then(function(result) {\r\n // result is a string with the value of ActionResultModel.Html, parsed from the response JSON string\r\n })\r\n .catch(function(reason)) {\r\n // if the request failed for any reason\r\n // or if the response failed to parse as JSON\r\n // or if the response does not look like a ActionResultModel object\r\n // or if response.Success is false\r\n // or if response.Html is not defined\r\n //\r\n // reason is an instance of AjaxError\r\n });\r\n\r\nSCM.Ajax.get('/url')\r\n .expectActionResultModel()\r\n .expectData()\r\n .then(function(result) {\r\n // result is an object with the structure of whatever class was assigned to ActionResultModel.Data,\r\n // parsed from the response JSON string\r\n })\r\n .catch(function(reason)) {\r\n // if the request failed for any reason\r\n // or if the response failed to parse as JSON\r\n // or if the response does not look like a ActionResultModel object\r\n // or if response.Success is false\r\n // or if response.Data is not defined\r\n //\r\n // reason is an instance of AjaxError\r\n });\r\n\r\n */\r\n\r\n/**\r\n * @typedef {object} ActionResultModel\r\n * @property {boolean} Success\r\n * @property {string} Html\r\n * @property {string} RedirectUrl\r\n * @property {string} ReturnId\r\n * @property {object} Data\r\n */\r\n/**\r\n * @typedef {object} AjaxError\r\n * @property {string} message\r\n * @property {string} userFriendlyMessage\r\n * @property {ActionResultModel} actionResultModel\r\n */\r\n/**\r\n * @typedef {object} InternalAjaxResult\r\n * @property {Promise} promise\r\n * @property {AbortController|jqXHR} abortableRequestHandle\r\n */\r\n/**\r\n * @typedef {object} BlobResult\r\n * @property {blob} blob\r\n * @property {string} fileName\r\n * @property {string} message\r\n */\r\n\r\nvar SCM = SCM || {};\r\nSCM.Ajax = (function ($) {\r\n var moduleDefinition = {\r\n get: _get,\r\n post: _post,\r\n ajax: _ajax,\r\n // These methods are exposed for unit testing only\r\n _objectToFormData: _objectToFormData,\r\n _formatPostData: _formatPostData\r\n };\r\n\r\n /**\r\n * \r\n * @param {string} url\r\n * @param {object} data\r\n * @returns {AjaxResult} An object that implements the {Promise} interface and can also be used to\r\n * restrict the result to a particular expected return type\r\n */\r\n function _get(url, data) {\r\n return new AjaxResult(url, 'GET', data);\r\n }\r\n\r\n /**\r\n *\r\n * @param {string} url\r\n * @param {object} data\r\n * @returns {AjaxResult} An object that implements the {Promise} interface and can also be used to\r\n * restrict the result to a particular expected return type\r\n */\r\n function _post(url, data) {\r\n return new AjaxResult(url, 'POST', data);\r\n }\r\n\r\n /**\r\n *\r\n * @param {string} url\r\n * @param {string} method\r\n * @param {object} data\r\n * @returns {AjaxResult} An object that implements the {Promise} interface and can also be used to\r\n * restrict the result to a particular expected return type\r\n */\r\n function _ajax(url, method, data) {\r\n return new AjaxResult(url, method, data);\r\n }\r\n\r\n var _resultType = {\r\n Text: 'text',\r\n Html: 'html',\r\n Json: 'json',\r\n Xml: 'xml',\r\n ActionResultModel: {\r\n Full: 'actionResultModelFull',\r\n FullEnsureSuccess: 'actionResultModelFullEnsureSuccess',\r\n Success: 'actionResultModelSuccess',\r\n Html: 'actionResultModelHtml',\r\n RedirectUrl: 'actionResultModelRedirectUrl',\r\n ReturnId: 'actionResultModelReturnId',\r\n Data: 'actionResultModelData'\r\n },\r\n BlobResult: 'blob'\r\n };\r\n\r\n var _requestContentType = {\r\n Default: 'Default',\r\n Json: 'application/json; charset=utf-8',\r\n UrlEncoded: 'application/x-www-form-urlencoded'\r\n };\r\n\r\n /**\r\n * @constructor\r\n * @param {string} url\r\n * @param {string} method\r\n * @param {object} data\r\n * @param {string} dataType\r\n * @returns {AjaxResult}\r\n * @description Represents an Ajax response that can be further restricted to a particular expected data type.\r\n * Default expected data type is 'text'\r\n * Implements the {Promise} interface.\r\n */\r\n function AjaxResult(url, method, data, dataType) {\r\n this._url = url;\r\n this._method = method || 'GET';\r\n this._data = data;\r\n this._dataType = dataType || _resultType.Text;\r\n this._internalPromise = null;\r\n this._requestContentType = _requestContentType.Default;\r\n this._abortableRequestHandle = null;\r\n }\r\n /* Promise interface */\r\n /**\r\n * Receives callbacks for the resolution and/or rejection of the internal Promise.\r\n * @param {(value: any) => any} onFulfilled\r\n * @param {(reason: any) => any} [onRejected]\r\n * @returns {AjaxResult} which implements the {Promise} interface\r\n */\r\n AjaxResult.prototype.then = function (onFulfilled, onRejected) {\r\n if (!this._internalPromise) {\r\n var internalAjaxResult = _ajaxInternal(this._url, this._method, this._data, this._dataType, this._requestContentType);\r\n this._internalPromise = internalAjaxResult.promise;\r\n this._abortableRequestHandle = internalAjaxResult.abortableRequestHandle;\r\n }\r\n this._internalPromise = this._internalPromise\r\n .then(onFulfilled, onRejected);\r\n return this;\r\n };\r\n /**\r\n * Receives a callback for only the rejection of the internal Promise.\r\n * @param {(reason: any) => any} [onRejected]\r\n * @returns {AjaxResult} which implements the {Promise} interface\r\n */\r\n AjaxResult.prototype.catch = function (onRejected) {\r\n if (!this._internalPromise) {\r\n var internalAjaxResult = _ajaxInternal(this._url, this._method, this._data, this._dataType, this._requestContentType);\r\n this._internalPromise = internalAjaxResult.promise;\r\n this._abortableRequestHandle = internalAjaxResult.abortableRequestHandle;\r\n }\r\n this._internalPromise = this._internalPromise\r\n .catch(onRejected);\r\n return this;\r\n };\r\n /**\r\n * Receives a callback that is invoked when the Promise is settled (either fulfilled or rejected).\r\n * The resolved value cannot be accessed or modified.\r\n * @param {() => void} onFinally\r\n * @returns {AjaxResult} which implements the {Promise} interface\r\n */\r\n AjaxResult.prototype.finally = function (onFinally) {\r\n if (!this._internalPromise) {\r\n var internalAjaxResult = _ajaxInternal(this._url, this._method, this._data, this._dataType, this._requestContentType);\r\n this._internalPromise = internalAjaxResult.promise;\r\n this._abortableRequestHandle = internalAjaxResult.abortableRequestHandle;\r\n }\r\n this._internalPromise = this._internalPromise\r\n .finally(onFinally);\r\n return this;\r\n };\r\n /* Send Content Type methods */\r\n AjaxResult.prototype.sendAsJson = function () {\r\n this._requestContentType = _requestContentType.Json;\r\n return this;\r\n };\r\n AjaxResult.prototype.sendAsUrlEncoded = function () {\r\n this._requestContentType = _requestContentType.UrlEncoded;\r\n return this;\r\n };\r\n /**\r\n * Aborts the currently active AJAX request initiated by this instance.\r\n * Returns the original {AjaxResult}.\r\n * @returns {AjaxResult} which implements the {Promise} interface.\r\n */\r\n AjaxResult.prototype.abort = function () {\r\n _abortRequest(this._abortableRequestHandle);\r\n return this;\r\n };\r\n\r\n /* Expect methods */\r\n /**\r\n * Returns a {AjaxResult}-wrapped resolved Promise whose value is the object parsed from JSON\r\n * contained in the response.\r\n * Returns a {AjaxResult}-wrapped rejected Promise whose reason is an AjaxError\r\n * if the response content cannot be parsed as JSON.\r\n * @returns {AjaxResult} which implements the {Promise} interface\r\n */\r\n AjaxResult.prototype.expectJson = function () {\r\n this._dataType = _resultType.Json;\r\n return this.then(function (res) { return res; });\r\n };\r\n /**\r\n * Returns a {AjaxResult}-wrapped resolved Promise whose value is the string contents contained in the response.\r\n * Returns a {AjaxResult}-wrapped rejected Promise whose reason is an AjaxError\r\n * if there was a problem with the response.\r\n * @returns {AjaxResult} which implements the {Promise} interface\r\n */\r\n AjaxResult.prototype.expectHtml = function () {\r\n this._dataType = _resultType.Html;\r\n return this.then(function (res) { return res; });\r\n };\r\n /**\r\n * Returns a {AjaxResult}-wrapped resolved Promise whose value is the string contents contained in the response.\r\n * Returns a {AjaxResult}-wrapped rejected Promise whose reason is an AjaxError\r\n * if there was a problem with the response.\r\n * @returns {AjaxResult} which implements the {Promise} interface\r\n */\r\n AjaxResult.prototype.expectText = function () {\r\n this._dataType = _resultType.Text;\r\n return this.then(function (res) { return res; });\r\n };\r\n /**\r\n * Not Implemented\r\n * @throws {Exception} not implemented\r\n */\r\n AjaxResult.prototype.expectXml = function () {\r\n this._dataType = _resultType.Xml;\r\n return this.then(function (res) { return res; });\r\n };\r\n /**\r\n * Ensure that the result satisfies a custom check\r\n * @param {string} [failureMessage] a custom message to use for the AjaxError if the condition specified\r\n * in the expectFunc is not met.\r\n * @param {(result) => boolean} expectFunc a function that takes a single parameter, which will be the\r\n * result from the AJAX requests, and returns true or false\r\n * @returns {AjaxResult} whose internal Promise is resolved with the expected result if {expectFunc}\r\n * returns true; or whose internal Promise is rejected with an {AjaxError} if {expectFunc} returns false\r\n */\r\n AjaxResult.prototype.expect = function (failureMessage, expectFunc) {\r\n if (typeof failureMessage === 'function') {\r\n expectFunc = failureMessage;\r\n failureMessage = null;\r\n }\r\n return this.then(function (res) {\r\n if (!expectFunc(res)) {\r\n throw new AjaxError(failureMessage || 'Unexpected result from server');\r\n }\r\n return res;\r\n });\r\n };\r\n AjaxResult.prototype.expectBlob = function () {\r\n this._dataType = _resultType.BlobResult;\r\n return this.then(function (res) { return res; });\r\n };\r\n /**\r\n * Returns a {AjaxResult}-wrapped resolved Promise whose value is the ActionResultModel\r\n * object parsed from JSON contained in the response.\r\n * Returns a {AjaxResult}-wrapped rejected Promise whose reason is an AjaxError\r\n * if the response content cannot be parsed as JSON\r\n * or does not appear to be structured like the SCM.SharedControls.Models.ActionResultModel class.\r\n * @returns {ActionResultAjaxResult}\r\n */\r\n AjaxResult.prototype.expectActionResultModel = function () {\r\n this._dataType = _resultType.Json;\r\n return new ActionResultAjaxResult(this);\r\n };\r\n\r\n\r\n /**\r\n * @constructor\r\n * @param {AjaxResult} ajaxResult\r\n * @returns {ActionResultAjaxResult}\r\n * @description Represents an Ajax response that can be further restricted to one of the particular\r\n * fields of the SCM.SharedControls.Models.ActionResultModel class.\r\n * Implements the {Promise} interface.\r\n */\r\n function ActionResultAjaxResult(ajaxResult) {\r\n this._ajaxResult = ajaxResult;\r\n this._expectedComponent = _resultType.ActionResultModel.Full;\r\n this._internalPromise = null;\r\n }\r\n /* Promise interface */\r\n /**\r\n * Receives callbacks for the resolution and/or rejection of the internal Promise.\r\n * @param {(value: any) => any} onFulfilled\r\n * @param {(reason: any) => any} [onRejected]\r\n * @returns {ActionResultAjaxResult} which implements the {Promise} interface\r\n */\r\n ActionResultAjaxResult.prototype.then = function (onFulfilled, onRejected) {\r\n this._internalPromise =\r\n (this._internalPromise || _handleActionResultModel(this._ajaxResult, this._expectedComponent))\r\n .then(onFulfilled, onRejected);\r\n return this;\r\n };\r\n /**\r\n * Receives a callback for only the rejection of the internal Promise.\r\n * @param {(reason: any) => any} onRejected\r\n * @returns {ActionResultAjaxResult} which implements the {Promise} interface\r\n */\r\n ActionResultAjaxResult.prototype.catch = function (onRejected) {\r\n this.intrnalPromise =\r\n (this._internalPromise || _handleActionResultModel(this._ajaxResult, this._expectedComponent))\r\n .catch(onRejected);\r\n return this;\r\n };\r\n /**\r\n * Receives a callback that is invoked when the Promise is settled (either fulfilled or rejected).\r\n * The resolved value cannot be accessed or modified.\r\n * @param {() => void} onFinally\r\n * @returns {ActionResultAjaxResult} which implements the {Promise} interface\r\n */\r\n ActionResultAjaxResult.prototype.finally = function (onFinally) {\r\n this._internalPromise =\r\n (this._internalPromise || _handleActionResultModel(this._ajaxResult, this._expectedComponent))\r\n .finally(onFinally);\r\n return this;\r\n };\r\n /* Expect methods */\r\n ActionResultAjaxResult.prototype.ensureSuccess = function () {\r\n this._expectedComponent = _resultType.ActionResultModel.FullEnsureSuccess;\r\n return this;\r\n };\r\n /**\r\n * Returns a {ActionResultAjaxResult}-wrapped resolved Promise if .Success is true.\r\n * Returns a {ActionResultAjaxResult}-wrapped rejected Promise whose reason is an AjaxError if .Success is false.\r\n * @returns {ActionResultAjaxResult} which implements the {Promise} interface.\r\n * The result will always be {true} if the Promise is in a resolved state.\r\n */\r\n ActionResultAjaxResult.prototype.expectSuccess = function () {\r\n this._expectedComponent = _resultType.ActionResultModel.Success;\r\n return this;\r\n };\r\n /**\r\n * Returns a {ActionResultAjaxResult}-wrapped resolved Promise whose value is the value of .Html\r\n * if .Success is true and .Html is defined.\r\n * Returns a {ActionResultAjaxResult}-wrapped rejected Promise whose reason is an AjaxError\r\n * if .Success is false or .Html is not defined.\r\n * @returns {ActionResultAjaxResult} which implements the {Promise} interface\r\n */\r\n ActionResultAjaxResult.prototype.expectHtml = function () {\r\n this._expectedComponent = _resultType.ActionResultModel.Html;\r\n return this;\r\n };\r\n /**\r\n * Returns a {ActionResultAjaxResult}-wrapped resolved Promise whose value is the value of .RedirectUrl\r\n * if .Success is true and .RedirectUrl is defined.\r\n * Returns a {ActionResultAjaxResult}-wrapped rejected Promise whose reason is an AjaxError\r\n * if .Success is false or .RedirectUrl is not defined.\r\n * @returns {ActionResultAjaxResult} which implements the {Promise} interface.\r\n */\r\n ActionResultAjaxResult.prototype.expectRedirectUrl = function () {\r\n this._expectedComponent = _resultType.ActionResultModel.RedirectUrl;\r\n return this;\r\n };\r\n /**\r\n * Returns a {ActionResultAjaxResult}-wrapped resolved Promise whose value is the value of .ReturnId\r\n * if .Success is true and .ReturnId is defined.\r\n * Returns a {ActionResultAjaxResult}-wrapped rejected Promise whose reason is an AjaxError\r\n * if .Success is false or .ReturnId is not defined.\r\n * @returns {ActionResultAjaxResult} which implements the {Promise} interface.\r\n */\r\n ActionResultAjaxResult.prototype.expectReturnId = function () {\r\n this._expectedComponent = _resultType.ActionResultModel.ReturnId;\r\n return this;\r\n };\r\n /**\r\n * Returns a {ActionResultAjaxResult}-wrapped resolved Promise whose value is the value of .Data\r\n * if .Success is true and .Data is defined.\r\n * The resolved value will have the structure of whatever class was set to the Data attribute on the server side.\r\n * Returns a {ActionResultAjaxResult}-wrapped rejected Promise whose reason is an AjaxError\r\n * if .Success is false or .Data is not defined.\r\n * @returns {ActionResultAjaxResult} which implements the {Promise} interface.\r\n */\r\n ActionResultAjaxResult.prototype.expectData = function () {\r\n this._expectedComponent = _resultType.ActionResultModel.Data;\r\n return this;\r\n };\r\n /**\r\n * Aborts the currently active AJAX request initiated by this instance.\r\n * Returns the original {ActionResultAjaxResult}.\r\n * @returns {ActionResultAjaxResult} which implements the {Promise} interface.\r\n */\r\n ActionResultAjaxResult.prototype.abort = function () {\r\n this._ajaxResult && this._ajaxResult.abort();\r\n return this;\r\n };\r\n\r\n\r\n /**\r\n * \r\n * @param {string} message\r\n * @param {string} userFriendlyMessage\r\n * @param {ActionResultModel} actionResultModel\r\n * @returns {AjaxError}\r\n */\r\n function AjaxError(message, userFriendlyMessage, actionResultModel) {\r\n var instance = new Error(message);\r\n instance.name = 'AjaxError';\r\n instance.userFriendlyMessage = userFriendlyMessage;\r\n instance.actionResultModel = actionResultModel;\r\n Object.setPrototypeOf(instance, Object.getPrototypeOf(this));\r\n if (Error.captureStackTrace) {\r\n Error.captureStackTrace(instance, AjaxError);\r\n }\r\n return instance;\r\n }\r\n AjaxError.prototype = Object.create(Error.prototype, {\r\n constructor: {\r\n value: Error,\r\n enumerable: false,\r\n writable: true,\r\n configurable: true\r\n }\r\n });\r\n if (Object.setPrototypeOf) {\r\n Object.setPrototypeOf(AjaxError, Error);\r\n } else {\r\n AjaxError.__proto__ = Error;\r\n }\r\n\r\n\r\n /**\r\n * \r\n * @param {string} url\r\n * @param {string} method\r\n * @param {object} data\r\n * @param {string} dataType\r\n * @returns {InternalAjaxResult} An object that contains a Promise that resolves to a result\r\n * whose type depends on the value of dataType; and a handler for aborting the request\r\n */\r\n function _ajaxInternal(url, method, data, dataType, contentType) {\r\n if (_browserImplementsFetchApi()) {\r\n return _ajaxWithFetch(url, method, data, dataType, contentType);\r\n } else if (_jQueryIsAvailable()) {\r\n return _ajaxWithJquery(url, method, data, dataType, contentType);\r\n } else {\r\n throw new Error('No supported AJAX implementations found.');\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {string} url\r\n * @param {string} method\r\n * @param {object} data\r\n * @param {string} dataType\r\n * @returns {InternalAjaxResult} An object that contains a Promise that resolves to a result\r\n * whose type depends on the value of dataType; and a handler for aborting the request\r\n */\r\n function _ajaxWithFetch(url, method, data, dataType, contentType) {\r\n var abortController = new AbortController();\r\n if (method === 'GET' && data) {\r\n url = _appendToUrl(url, data);\r\n data = undefined;\r\n }\r\n var initParams = {\r\n method: method,\r\n body: _formatPostData(data, contentType),\r\n signal: abortController.signal\r\n };\r\n initParams.headers = _getFetchHeaders(url, contentType);\r\n var promise = fetch(url, initParams)\r\n .then(function (response) {\r\n if (!response.ok) {\r\n throw new AjaxError(\r\n 'Bad response from server: ' + response.status + ': ' + response.statusText,\r\n 'Bad response from server');\r\n }\r\n if (dataType === _resultType.Json) {\r\n return response.json();\r\n }\r\n if (dataType === _resultType.BlobResult) {\r\n var contentDisposition = response.headers.get('Content-Disposition');\r\n var fileName = contentDisposition ? contentDisposition.split('filename=')[1].replace(/\"/g, '') : 'unknownFileName'; \r\n\r\n return response.blob().then(blob => ({ blob: blob, fileName: fileName, message: response.statusText }));\r\n }\r\n return response.text();\r\n })\r\n .catch(function(reason) {\r\n throw new AjaxError(\r\n 'Request failed: ' + reason,\r\n 'Request failed');\r\n });\r\n return {\r\n promise: promise,\r\n abortableRequestHandle: abortController\r\n };\r\n }\r\n\r\n /**\r\n *\r\n * @param {string} url\r\n * @param {string} method\r\n * @param {object} data\r\n * @param {string} dataType\r\n * @returns {InternalAjaxResult} An object that contains a Promise that resolves to a result\r\n * whose type depends on the value of dataType; and a handler for aborting the request\r\n */\r\n function _ajaxWithJquery(url, method, data, dataType, contentType) {\r\n var ajaxSettings = { url: url, method: method, type: method, data: data, dataType: dataType };\r\n if (_isFormDataWithFile(data)) {\r\n ajaxSettings.contentType = false;\r\n ajaxSettings.processData = false;\r\n }\r\n if (_shouldSetContentTypeHeader(contentType)) {\r\n ajaxSettings.contentType = contentType;\r\n }\r\n var jqXhr;\r\n var promise = new Promise(function(resolutionFunc, rejectionFunc) {\r\n jqXhr = $.ajax(ajaxSettings)\r\n .done(function (result) {\r\n resolutionFunc(result);\r\n })\r\n .fail(function (xhr, status, error) {\r\n var errorMessage = status === 'parsererror'\r\n ? 'Failed to parse response as ' + dataType\r\n : error;\r\n rejectionFunc(new AjaxError(\r\n errorMessage,\r\n 'Request failed'));\r\n });\r\n });\r\n return {\r\n promise: promise,\r\n abortableRequestHandle: jqXhr\r\n };\r\n }\r\n\r\n function _isFormDataWithFile(data) {\r\n return data instanceof FormData &&\r\n Array.from(data)\r\n .filter(function (d) { return d.length > 1 && d[1] instanceof File; })\r\n .length;\r\n }\r\n\r\n /**\r\n * \r\n * @param {string} url\r\n * @param {string|object} objectOrQueryString\r\n */\r\n function _appendToUrl(url, objectOrQueryString) {\r\n var qs = objectOrQueryString;\r\n if (typeof qs === 'object') {\r\n qs = _objectToQueryString(qs);\r\n }\r\n if (qs && qs.length && ['?', '&'].includes(qs[0])) {\r\n qs = qs.substring(1);\r\n }\r\n return url.includes('?')\r\n ? url + '&' + qs\r\n : url + '?' + qs;\r\n }\r\n\r\n /**\r\n * \r\n * @param {object} obj\r\n * @returns {string}\r\n */\r\n function _objectToQueryString(obj) {\r\n return Object.keys(obj)\r\n .map(function (key) { return key + '=' + obj[key]; })\r\n .join('&');\r\n }\r\n\r\n /**\r\n * \r\n * @param {object} obj\r\n * @returns {FormData}\r\n */\r\n function _objectToFormData(obj) {\r\n if (!obj) {\r\n return undefined;\r\n }\r\n if (obj instanceof FormData || typeof obj !== 'object') {\r\n return obj;\r\n }\r\n var formData = new FormData();\r\n _setFormDataValues(formData, obj);\r\n return formData;\r\n }\r\n\r\n function _setFormDataValues(formData, obj, prefix) {\r\n formData = formData || new FormData();\r\n\r\n if (Array.isArray(obj)) {\r\n for (var i = 0; i < obj.length; i++) {\r\n var arrPrefix = prefix + '[' + i + ']';\r\n _setFormDataValues(formData, obj[i], arrPrefix);\r\n }\r\n } else if (_isDate(obj)) {\r\n formData.append(prefix, obj.toISOString());\r\n } else if (_isObject(obj) && !_isBlob(obj) && !_isFile(obj)) {\r\n Object.keys(obj)\r\n .forEach(function(key) {\r\n var objPrefix = prefix ? prefix + '[' + key + ']' : key;\r\n _setFormDataValues(formData, obj[key], objPrefix);\r\n });\r\n } else if (obj !== undefined && obj !== null){\r\n formData.append(prefix, obj);\r\n }\r\n\r\n }\r\n\r\n function _isObject(value) { return value === Object(value); }\r\n function _isDate(value) { return value instanceof Date; }\r\n\r\n function _isBlob(value) {\r\n return value &&\r\n typeof value.size === 'number' &&\r\n typeof value.type === 'string' &&\r\n typeof value.slice === 'function';\r\n }\r\n\r\n function _isFile(value) {\r\n return _isBlob(value) &&\r\n typeof value.name === 'string' &&\r\n (typeof value.lastModifiedDate === 'object' ||\r\n typeof value.lastModified === 'number');\r\n }\r\n\r\n function _shouldSetContentTypeHeader(contentType) {\r\n return contentType && contentType === _requestContentType.Json;\r\n }\r\n\r\n function _formatPostData(data, format) {\r\n switch (format) {\r\n case _requestContentType.UrlEncoded:\r\n return new URLSearchParams(data);\r\n case _requestContentType.Json:\r\n return JSON.stringify(data);\r\n default:\r\n return _objectToFormData(data);\r\n }\r\n }\r\n\r\n function _browserImplementsFetchApi() {\r\n return typeof window.fetch === 'function';\r\n }\r\n\r\n function _jQueryIsAvailable() {\r\n return typeof $ === 'function' && $() && $().jquery;\r\n }\r\n\r\n function _getFetchHeaders(url, contentType) {\r\n var headers = {};\r\n if (_isSameOrigin(url)) {\r\n headers['X-Requested-With'] = 'XMLHttpRequest';\r\n headers['X-Requested-With-Lies'] =\r\n 'Not actually XMLHttpRequest, but Fetch API via SCM.Ajax; X-Requested-With is set for server-side backwards compatibility';\r\n }\r\n if (_shouldSetContentTypeHeader(contentType)) {\r\n headers['Content-Type'] = contentType;\r\n }\r\n return headers;\r\n }\r\n\r\n function _isSameOrigin(url) {\r\n var currentOrigin = window.location.origin;\r\n var targetOrigin = new URL(url, currentOrigin).origin;\r\n return currentOrigin === targetOrigin;\r\n }\r\n\r\n /**\r\n * \r\n * @param {Promise} responsePromise\r\n * @param {string} resultType\r\n * @returns {Promise}\r\n */\r\n function _handleActionResultModel(responsePromise, resultType) {\r\n var validResponsePromise = _checkForValidResponse(responsePromise);\r\n\r\n if (resultType === _resultType.ActionResultModel.Full) {\r\n return validResponsePromise;\r\n }\r\n\r\n var successPromise = _checkForSuccess(validResponsePromise);\r\n\r\n if (resultType === _resultType.ActionResultModel.FullEnsureSuccess) {\r\n return successPromise;\r\n }\r\n\r\n if (resultType === _resultType.ActionResultModel.Success) {\r\n return successPromise.then(function () { return true; });\r\n }\r\n\r\n if (resultType === _resultType.ActionResultModel.Html) {\r\n return _checkForHtml(successPromise);\r\n }\r\n\r\n if (resultType === _resultType.ActionResultModel.RedirectUrl) {\r\n return _checkForRedirectUrl(successPromise);\r\n }\r\n\r\n if (resultType === _resultType.ActionResultModel.ReturnId) {\r\n return _checkFormReturnId(successPromise);\r\n }\r\n\r\n if (resultType === _resultType.ActionResultModel.Data) {\r\n return _checkForData(successPromise);\r\n }\r\n\r\n return successPromise;\r\n }\r\n\r\n /**\r\n * \r\n * @param {Promise} responsePromise\r\n * @returns {Promise}\r\n */\r\n function _checkForValidResponse(responsePromise) {\r\n return responsePromise\r\n .then(function (result) {\r\n if (!result || result.Success === undefined) {\r\n throw new AjaxError(\r\n 'Response does not appear to be an ActionResultModel',\r\n 'Unexpected response from server');\r\n }\r\n return result;\r\n });\r\n }\r\n\r\n /**\r\n *\r\n * @param {Promise} responsePromise\r\n * @returns {Promise}\r\n */\r\n function _checkForSuccess(validResponsePromise) {\r\n return validResponsePromise\r\n .then(function (result) {\r\n if (!result.Success) {\r\n var message = 'Unspecified error';\r\n if (_hasMessages(result)) {\r\n message = result.Messages[0];\r\n } else if (_hasValidationErrors(result)) {\r\n message = result.ValidationErrors[0].Errors[0];\r\n } else if (result.Html) {\r\n // Yes, we sometimes send an error message in the Html field\r\n message = result.Html;\r\n }\r\n throw new AjaxError(\r\n message,\r\n 'Request was not successful',\r\n result);\r\n }\r\n return result;\r\n });\r\n }\r\n\r\n /**\r\n *\r\n * @param {Promise} responsePromise\r\n * @returns {Promise}\r\n */\r\n function _checkForHtml(successResponsePromise) {\r\n return successResponsePromise\r\n .then(function (response) {\r\n if (typeof response.Html !== 'string') {\r\n throw new AjaxError(\r\n 'No HTML was provided in the response',\r\n 'Unexpected response from server',\r\n response);\r\n }\r\n return response.Html;\r\n });\r\n }\r\n\r\n /**\r\n *\r\n * @param {Promise} responsePromise\r\n * @returns {Promise}\r\n */\r\n function _checkForRedirectUrl(successResponsePromise) {\r\n return successResponsePromise\r\n .then(function (response) {\r\n if (typeof response.RedirectUrl !== 'string') {\r\n throw new AjaxError(\r\n 'No RedirectUrl was provided in the response',\r\n 'Unexpected response from server',\r\n response);\r\n }\r\n return response.RedirectUrl;\r\n });\r\n }\r\n\r\n /**\r\n *\r\n * @param {Promise} responsePromise\r\n * @returns {Promise}\r\n */\r\n function _checkFormReturnId(successResponsePromise) {\r\n return successResponsePromise\r\n .then(function (response) {\r\n if (typeof response.ReturnId !== 'string') {\r\n throw new AjaxError(\r\n 'No ReturnId was provided in the response',\r\n 'Unexpected response from server',\r\n response);\r\n }\r\n return response.ReturnId;\r\n });\r\n }\r\n\r\n /**\r\n *\r\n * @param {Promise} responsePromise\r\n * @returns {Promise}\r\n */\r\n function _checkForData(successResponsePromise) {\r\n return successResponsePromise\r\n .then(function (response) {\r\n if (response.Data === undefined || response.Data === null || typeof response.Data !== 'object') {\r\n throw new AjaxError(\r\n 'No Data object was provided in the response',\r\n 'Unexpected response from server',\r\n response);\r\n }\r\n return response.Data;\r\n });\r\n }\r\n\r\n /**\r\n * \r\n * @param {ActionResultModel} result\r\n * @returns {boolean}\r\n */\r\n function _hasValidationErrors(result) {\r\n return result &&\r\n result.ValidationErrors &&\r\n result.ValidationErrors.length &&\r\n result.ValidationErrors[0].Errors &&\r\n result.ValidationErrors[0].Errors.length;\r\n }\r\n\r\n /**\r\n *\r\n * @param {ActionResultModel} result\r\n * @returns {boolean}\r\n */\r\n function _hasMessages(result) {\r\n return result && result.Messages && result.Messages.length;\r\n }\r\n\r\n function _abortRequest(abortableRequestHandle) {\r\n if (!abortableRequestHandle || !abortableRequestHandle.abort) {\r\n return;\r\n }\r\n\r\n abortableRequestHandle.abort();\r\n }\r\n\r\n return moduleDefinition;\r\n\r\n})(window.jQuery || {});\r\n\r\n// If we are in a module context, export this module (required for unit test)\r\n'object' === typeof module && module.exports && (module.exports = SCM.Ajax);\r\n","/*\n * Foundation Responsive Library\n * http://foundation.zurb.com\n * Copyright 2015, ZURB\n * Free to use under the MIT license.\n * http://www.opensource.org/licenses/mit-license.php\n*/\n\n(function ($, window, document, undefined) {\n 'use strict';\n\n var header_helpers = function (class_array) {\n var head = $('head');\n head.prepend($.map(class_array, function (class_name) {\n if (head.has('.' + class_name).length === 0) {\n return '';\n }\n }));\n };\n\n header_helpers([\n 'foundation-mq-small',\n 'foundation-mq-small-only',\n 'foundation-mq-medium',\n 'foundation-mq-medium-only',\n 'foundation-mq-large',\n 'foundation-mq-large-only',\n 'foundation-mq-xlarge',\n 'foundation-mq-xlarge-only',\n 'foundation-mq-xxlarge',\n 'foundation-data-attribute-namespace']);\n\n // Enable FastClick if present\n\n $(function () {\n if (typeof FastClick !== 'undefined') {\n // Don't attach to body if undefined\n if (typeof document.body !== 'undefined') {\n FastClick.attach(document.body);\n }\n }\n });\n\n // private Fast Selector wrapper,\n // returns jQuery object. Only use where\n // getElementById is not available.\n var S = function (selector, context) {\n if (typeof selector === 'string') {\n if (context) {\n var cont;\n if (context.jquery) {\n cont = context[0];\n if (!cont) {\n return context;\n }\n } else {\n cont = context;\n }\n return $(cont.querySelectorAll(selector));\n }\n\n return $(document.querySelectorAll(selector));\n }\n\n return $(selector, context);\n };\n\n // Namespace functions.\n\n var attr_name = function (init) {\n var arr = [];\n if (!init) {\n arr.push('data');\n }\n if (this.namespace.length > 0) {\n arr.push(this.namespace);\n }\n arr.push(this.name);\n\n return arr.join('-');\n };\n\n var add_namespace = function (str) {\n var parts = str.split('-'),\n i = parts.length,\n arr = [];\n\n while (i--) {\n if (i !== 0) {\n arr.push(parts[i]);\n } else {\n if (this.namespace.length > 0) {\n arr.push(this.namespace, parts[i]);\n } else {\n arr.push(parts[i]);\n }\n }\n }\n\n return arr.reverse().join('-');\n };\n\n // Event binding and data-options updating.\n\n var bindings = function (method, options) {\n var self = this,\n bind = function(){\n var $this = S(this),\n should_bind_events = !$this.data(self.attr_name(true) + '-init');\n $this.data(self.attr_name(true) + '-init', $.extend({}, self.settings, (options || method), self.data_options($this)));\n\n if (should_bind_events) {\n self.events(this);\n }\n };\n\n if (S(this.scope).is('[' + this.attr_name() +']')) {\n bind.call(this.scope);\n } else {\n S('[' + this.attr_name() +']', this.scope).each(bind);\n }\n // # Patch to fix #5043 to move this *after* the if/else clause in order for Backbone and similar frameworks to have improved control over event binding and data-options updating.\n if (typeof method === 'string') {\n return this[method].call(this, options);\n }\n\n };\n\n var single_image_loaded = function (image, callback) {\n function loaded () {\n callback(image[0]);\n }\n\n function bindLoad () {\n this.one('load', loaded);\n\n if (/MSIE (\\d+\\.\\d+);/.test(navigator.userAgent)) {\n var src = this.attr( 'src' ),\n param = src.match( /\\?/ ) ? '&' : '?';\n\n param += 'random=' + (new Date()).getTime();\n this.attr('src', src + param);\n }\n }\n\n if (!image.attr('src')) {\n loaded();\n return;\n }\n\n if (image[0].complete || image[0].readyState === 4) {\n loaded();\n } else {\n bindLoad.call(image);\n }\n };\n\n /*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license */\n\n window.matchMedia || (window.matchMedia = function() {\n \"use strict\";\n\n // For browsers that support matchMedium api such as IE 9 and webkit\n var styleMedia = (window.styleMedia || window.media);\n\n // For those that don't support matchMedium\n if (!styleMedia) {\n var style = document.createElement('style'),\n script = document.getElementsByTagName('script')[0],\n info = null;\n\n style.type = 'text/css';\n style.id = 'matchmediajs-test';\n\n script.parentNode.insertBefore(style, script);\n\n // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers\n info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle;\n\n styleMedia = {\n matchMedium: function(media) {\n var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';\n\n // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers\n if (style.styleSheet) {\n style.styleSheet.cssText = text;\n } else {\n style.textContent = text;\n }\n\n // Test if media query is true or false\n return info.width === '1px';\n }\n };\n }\n\n return function(media) {\n return {\n matches: styleMedia.matchMedium(media || 'all'),\n media: media || 'all'\n };\n };\n }());\n\n /*\n * jquery.requestAnimationFrame\n * https://github.com/gnarf37/jquery-requestAnimationFrame\n * Requires jQuery 1.8+\n *\n * Copyright (c) 2012 Corey Frang\n * Licensed under the MIT license.\n */\n\n (function(jQuery) {\n\n\n // requestAnimationFrame polyfill adapted from Erik Möller\n // fixes from Paul Irish and Tino Zijdel\n // http://paulirish.com/2011/requestanimationframe-for-smart-animating/\n // http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating\n\n var animating,\n lastTime = 0,\n vendors = ['webkit', 'moz'],\n requestAnimationFrame = window.requestAnimationFrame,\n cancelAnimationFrame = window.cancelAnimationFrame,\n jqueryFxAvailable = 'undefined' !== typeof jQuery.fx;\n\n for (; lastTime < vendors.length && !requestAnimationFrame; lastTime++) {\n requestAnimationFrame = window[ vendors[lastTime] + 'RequestAnimationFrame' ];\n cancelAnimationFrame = cancelAnimationFrame ||\n window[ vendors[lastTime] + 'CancelAnimationFrame' ] ||\n window[ vendors[lastTime] + 'CancelRequestAnimationFrame' ];\n }\n\n function raf() {\n if (animating) {\n requestAnimationFrame(raf);\n\n if (jqueryFxAvailable) {\n jQuery.fx.tick();\n }\n }\n }\n\n if (requestAnimationFrame) {\n // use rAF\n window.requestAnimationFrame = requestAnimationFrame;\n window.cancelAnimationFrame = cancelAnimationFrame;\n\n if (jqueryFxAvailable) {\n jQuery.fx.timer = function (timer) {\n if (timer() && jQuery.timers.push(timer) && !animating) {\n animating = true;\n raf();\n }\n };\n\n jQuery.fx.stop = function () {\n animating = false;\n };\n }\n } else {\n // polyfill\n window.requestAnimationFrame = function (callback) {\n var currTime = new Date().getTime(),\n timeToCall = Math.max(0, 16 - (currTime - lastTime)),\n id = window.setTimeout(function () {\n callback(currTime + timeToCall);\n }, timeToCall);\n lastTime = currTime + timeToCall;\n return id;\n };\n\n window.cancelAnimationFrame = function (id) {\n clearTimeout(id);\n };\n\n }\n\n }( $ ));\n\n function removeQuotes (string) {\n if (typeof string === 'string' || string instanceof String) {\n string = string.replace(/^['\\\\/\"]+|(;\\s?})+|['\\\\/\"]+$/g, '');\n }\n\n return string;\n }\n\n function MediaQuery(selector) {\n this.selector = selector;\n this.query = '';\n }\n\n MediaQuery.prototype.toString = function () {\n return this.query || (this.query = S(this.selector).css('font-family').replace(/^[\\/\\\\'\"]+|(;\\s?})+|[\\/\\\\'\"]+$/g, ''));\n };\n\n window.Foundation = {\n name : 'Foundation',\n\n version : '5.5.3',\n\n media_queries : {\n 'small' : new MediaQuery('.foundation-mq-small'),\n 'small-only' : new MediaQuery('.foundation-mq-small-only'),\n 'medium' : new MediaQuery('.foundation-mq-medium'),\n 'medium-only' : new MediaQuery('.foundation-mq-medium-only'),\n 'large' : new MediaQuery('.foundation-mq-large'),\n 'large-only' : new MediaQuery('.foundation-mq-large-only'),\n 'xlarge' : new MediaQuery('.foundation-mq-xlarge'),\n 'xlarge-only' : new MediaQuery('.foundation-mq-xlarge-only'),\n 'xxlarge' : new MediaQuery('.foundation-mq-xxlarge')\n },\n\n stylesheet : $('').appendTo('head')[0].sheet,\n\n global : {\n namespace : undefined\n },\n\n init : function (scope, libraries, method, options, response) {\n var args = [scope, method, options, response],\n responses = [];\n\n // check RTL\n this.rtl = /rtl/i.test(S('html').attr('dir'));\n\n // set foundation global scope\n this.scope = scope || this.scope;\n\n this.set_namespace();\n\n if (libraries && typeof libraries === 'string' && !/reflow/i.test(libraries)) {\n if (this.libs.hasOwnProperty(libraries)) {\n responses.push(this.init_lib(libraries, args));\n }\n } else {\n for (var lib in this.libs) {\n responses.push(this.init_lib(lib, libraries));\n }\n }\n\n S(window).load(function () {\n S(window)\n .trigger('resize.fndtn.clearing')\n .trigger('resize.fndtn.dropdown')\n .trigger('resize.fndtn.equalizer')\n .trigger('resize.fndtn.interchange')\n .trigger('resize.fndtn.joyride')\n .trigger('resize.fndtn.magellan')\n .trigger('resize.fndtn.topbar')\n .trigger('resize.fndtn.slider');\n });\n\n return scope;\n },\n\n init_lib : function (lib, args) {\n if (this.libs.hasOwnProperty(lib)) {\n this.patch(this.libs[lib]);\n\n if (args && args.hasOwnProperty(lib)) {\n if (typeof this.libs[lib].settings !== 'undefined') {\n $.extend(true, this.libs[lib].settings, args[lib]);\n } else if (typeof this.libs[lib].defaults !== 'undefined') {\n $.extend(true, this.libs[lib].defaults, args[lib]);\n }\n return this.libs[lib].init.apply(this.libs[lib], [this.scope, args[lib]]);\n }\n\n args = args instanceof Array ? args : new Array(args);\n return this.libs[lib].init.apply(this.libs[lib], args);\n }\n\n return function () {};\n },\n\n patch : function (lib) {\n lib.scope = this.scope;\n lib.namespace = this.global.namespace;\n lib.rtl = this.rtl;\n lib['data_options'] = this.utils.data_options;\n lib['attr_name'] = attr_name;\n lib['add_namespace'] = add_namespace;\n lib['bindings'] = bindings;\n lib['S'] = this.utils.S;\n },\n\n inherit : function (scope, methods) {\n var methods_arr = methods.split(' '),\n i = methods_arr.length;\n\n while (i--) {\n if (this.utils.hasOwnProperty(methods_arr[i])) {\n scope[methods_arr[i]] = this.utils[methods_arr[i]];\n }\n }\n },\n\n set_namespace : function () {\n\n // Description:\n // Don't bother reading the namespace out of the meta tag\n // if the namespace has been set globally in javascript\n //\n // Example:\n // Foundation.global.namespace = 'my-namespace';\n // or make it an empty string:\n // Foundation.global.namespace = '';\n //\n //\n\n // If the namespace has not been set (is undefined), try to read it out of the meta element.\n // Otherwise use the globally defined namespace, even if it's empty ('')\n var namespace = ( this.global.namespace === undefined ) ? $('.foundation-data-attribute-namespace').css('font-family') : this.global.namespace;\n\n // Finally, if the namsepace is either undefined or false, set it to an empty string.\n // Otherwise use the namespace value.\n this.global.namespace = ( namespace === undefined || /false/i.test(namespace) ) ? '' : namespace;\n },\n\n libs : {},\n\n // methods that can be inherited in libraries\n utils : {\n\n // Description:\n // Fast Selector wrapper returns jQuery object. Only use where getElementById\n // is not available.\n //\n // Arguments:\n // Selector (String): CSS selector describing the element(s) to be\n // returned as a jQuery object.\n //\n // Scope (String): CSS selector describing the area to be searched. Default\n // is document.\n //\n // Returns:\n // Element (jQuery Object): jQuery object containing elements matching the\n // selector within the scope.\n S : S,\n\n // Description:\n // Executes a function a max of once every n milliseconds\n //\n // Arguments:\n // Func (Function): Function to be throttled.\n //\n // Delay (Integer): Function execution threshold in milliseconds.\n //\n // Returns:\n // Lazy_function (Function): Function with throttling applied.\n throttle : function (func, delay) {\n var timer = null;\n\n return function () {\n var context = this, args = arguments;\n\n if (timer == null) {\n timer = setTimeout(function () {\n func.apply(context, args);\n timer = null;\n }, delay);\n }\n };\n },\n\n // Description:\n // Executes a function when it stops being invoked for n seconds\n // Modified version of _.debounce() http://underscorejs.org\n //\n // Arguments:\n // Func (Function): Function to be debounced.\n //\n // Delay (Integer): Function execution threshold in milliseconds.\n //\n // Immediate (Bool): Whether the function should be called at the beginning\n // of the delay instead of the end. Default is false.\n //\n // Returns:\n // Lazy_function (Function): Function with debouncing applied.\n debounce : function (func, delay, immediate) {\n var timeout, result;\n return function () {\n var context = this, args = arguments;\n var later = function () {\n timeout = null;\n if (!immediate) {\n result = func.apply(context, args);\n }\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, delay);\n if (callNow) {\n result = func.apply(context, args);\n }\n return result;\n };\n },\n\n // Description:\n // Parses data-options attribute\n //\n // Arguments:\n // El (jQuery Object): Element to be parsed.\n //\n // Returns:\n // Options (Javascript Object): Contents of the element's data-options\n // attribute.\n data_options : function (el, data_attr_name) {\n data_attr_name = data_attr_name || 'options';\n var opts = {}, ii, p, opts_arr,\n data_options = function (el) {\n var namespace = Foundation.global.namespace;\n\n if (namespace.length > 0) {\n return el.data(namespace + '-' + data_attr_name);\n }\n\n return el.data(data_attr_name);\n };\n\n var cached_options = data_options(el);\n\n if (typeof cached_options === 'object') {\n return cached_options;\n }\n\n opts_arr = (cached_options || ':').split(';');\n ii = opts_arr.length;\n\n function isNumber (o) {\n return !isNaN (o - 0) && o !== null && o !== '' && o !== false && o !== true;\n }\n\n function trim (str) {\n if (typeof str === 'string') {\n return $.trim(str);\n }\n return str;\n }\n\n while (ii--) {\n p = opts_arr[ii].split(':');\n p = [p[0], p.slice(1).join(':')];\n\n if (/true/i.test(p[1])) {\n p[1] = true;\n }\n if (/false/i.test(p[1])) {\n p[1] = false;\n }\n if (isNumber(p[1])) {\n if (p[1].indexOf('.') === -1) {\n p[1] = parseInt(p[1], 10);\n } else {\n p[1] = parseFloat(p[1]);\n }\n }\n\n if (p.length === 2 && p[0].length > 0) {\n opts[trim(p[0])] = trim(p[1]);\n }\n }\n\n return opts;\n },\n\n // Description:\n // Adds JS-recognizable media queries\n //\n // Arguments:\n // Media (String): Key string for the media query to be stored as in\n // Foundation.media_queries\n //\n // Class (String): Class name for the generated tag\n register_media : function (media, media_class) {\n if (Foundation.media_queries[media] === undefined) {\n $('head').append('');\n Foundation.media_queries[media] = removeQuotes($('.' + media_class).css('font-family'));\n }\n },\n\n // Description:\n // Add custom CSS within a JS-defined media query\n //\n // Arguments:\n // Rule (String): CSS rule to be appended to the document.\n //\n // Media (String): Optional media query string for the CSS rule to be\n // nested under.\n add_custom_rule : function (rule, media) {\n if (media === undefined && Foundation.stylesheet) {\n Foundation.stylesheet.insertRule(rule, Foundation.stylesheet.cssRules.length);\n } else {\n var query = Foundation.media_queries[media];\n\n if (query !== undefined) {\n Foundation.stylesheet.insertRule('@media ' +\n Foundation.media_queries[media] + '{ ' + rule + ' }', Foundation.stylesheet.cssRules.length);\n }\n }\n },\n\n // Description:\n // Performs a callback function when an image is fully loaded\n //\n // Arguments:\n // Image (jQuery Object): Image(s) to check if loaded.\n //\n // Callback (Function): Function to execute when image is fully loaded.\n image_loaded : function (images, callback) {\n var self = this,\n unloaded = images.length;\n\n function pictures_has_height(images) {\n var pictures_number = images.length;\n\n for (var i = pictures_number - 1; i >= 0; i--) {\n if(images.attr('height') === undefined) {\n return false;\n };\n };\n\n return true;\n }\n\n if (unloaded === 0 || pictures_has_height(images)) {\n callback(images);\n }\n\n images.each(function () {\n single_image_loaded(self.S(this), function () {\n unloaded -= 1;\n if (unloaded === 0) {\n callback(images);\n }\n });\n });\n },\n\n // Description:\n // Returns a random, alphanumeric string\n //\n // Arguments:\n // Length (Integer): Length of string to be generated. Defaults to random\n // integer.\n //\n // Returns:\n // Rand (String): Pseudo-random, alphanumeric string.\n random_str : function () {\n if (!this.fidx) {\n this.fidx = 0;\n }\n this.prefix = this.prefix || [(this.name || 'F'), (+new Date).toString(36)].join('-');\n\n return this.prefix + (this.fidx++).toString(36);\n },\n\n // Description:\n // Helper for window.matchMedia\n //\n // Arguments:\n // mq (String): Media query\n //\n // Returns:\n // (Boolean): Whether the media query passes or not\n match : function (mq) {\n return window.matchMedia(mq).matches;\n },\n\n // Description:\n // Helpers for checking Foundation default media queries with JS\n //\n // Returns:\n // (Boolean): Whether the media query passes or not\n\n is_small_up : function () {\n return this.match(Foundation.media_queries.small);\n },\n\n is_medium_up : function () {\n return this.match(Foundation.media_queries.medium);\n },\n\n is_large_up : function () {\n return this.match(Foundation.media_queries.large);\n },\n\n is_xlarge_up : function () {\n return this.match(Foundation.media_queries.xlarge);\n },\n\n is_xxlarge_up : function () {\n return this.match(Foundation.media_queries.xxlarge);\n },\n\n is_small_only : function () {\n return !this.is_medium_up() && !this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up();\n },\n\n is_medium_only : function () {\n return this.is_medium_up() && !this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up();\n },\n\n is_large_only : function () {\n return this.is_medium_up() && this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up();\n },\n\n is_xlarge_only : function () {\n return this.is_medium_up() && this.is_large_up() && this.is_xlarge_up() && !this.is_xxlarge_up();\n },\n\n is_xxlarge_only : function () {\n return this.is_medium_up() && this.is_large_up() && this.is_xlarge_up() && this.is_xxlarge_up();\n }\n }\n };\n\n $.fn.foundation = function () {\n var args = Array.prototype.slice.call(arguments, 0);\n\n return this.each(function () {\n Foundation.init.apply(Foundation, [this].concat(args));\n return this;\n });\n };\n\n}(jQuery, window, window.document));\n",";(function ($, window, document, undefined) {\n 'use strict';\n\n var openModals = [];\n\n Foundation.libs.reveal = {\n name : 'reveal',\n\n version : '5.5.3',\n\n locked : false,\n\n settings : {\n animation : 'fadeAndPop',\n animation_speed : 250,\n close_on_background_click : true,\n close_on_esc : true,\n dismiss_modal_class : 'close-reveal-modal',\n multiple_opened : false,\n bg_class : 'reveal-modal-bg',\n root_element : 'body',\n open : function(){},\n opened : function(){},\n close : function(){},\n closed : function(){},\n on_ajax_error: $.noop,\n bg : $('.reveal-modal-bg'),\n css : {\n open : {\n 'opacity' : 0,\n 'visibility' : 'visible',\n 'display' : 'block'\n },\n close : {\n 'opacity' : 1,\n 'visibility' : 'hidden',\n 'display' : 'none'\n }\n }\n },\n\n init : function (scope, method, options) {\n $.extend(true, this.settings, method, options);\n this.bindings(method, options);\n },\n\n events : function (scope) {\n var self = this,\n S = self.S;\n\n S(this.scope)\n .off('.reveal')\n .on('click.fndtn.reveal', '[' + this.add_namespace('data-reveal-id') + ']:not([disabled])', function (e) {\n e.preventDefault();\n\n if (!self.locked) {\n var element = S(this),\n ajax = element.data(self.data_attr('reveal-ajax')),\n replaceContentSel = element.data(self.data_attr('reveal-replace-content'));\n\n self.locked = true;\n\n if (typeof ajax === 'undefined') {\n self.open.call(self, element);\n } else {\n var url = ajax === true ? element.attr('href') : ajax;\n self.open.call(self, element, {url : url}, { replaceContentSel : replaceContentSel });\n }\n }\n });\n\n S(document)\n .on('click.fndtn.reveal', this.close_targets(), function (e) {\n e.preventDefault();\n if (!self.locked) {\n var settings = S('[' + self.attr_name() + '].open').data(self.attr_name(true) + '-init') || self.settings,\n bg_clicked = S(e.target)[0] === S('.' + settings.bg_class)[0];\n\n if (bg_clicked) {\n if (settings.close_on_background_click) {\n e.stopPropagation();\n } else {\n return;\n }\n }\n\n self.locked = true;\n self.close.call(self, bg_clicked ? S('[' + self.attr_name() + '].open:not(.toback)') : S(this).closest('[' + self.attr_name() + ']'));\n }\n });\n\n if (S('[' + self.attr_name() + ']', this.scope).length > 0) {\n S(this.scope)\n // .off('.reveal')\n .on('open.fndtn.reveal', this.settings.open)\n .on('opened.fndtn.reveal', this.settings.opened)\n .on('opened.fndtn.reveal', this.open_video)\n .on('close.fndtn.reveal', this.settings.close)\n .on('closed.fndtn.reveal', this.settings.closed)\n .on('closed.fndtn.reveal', this.close_video);\n } else {\n S(this.scope)\n // .off('.reveal')\n .on('open.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.open)\n .on('opened.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.opened)\n .on('opened.fndtn.reveal', '[' + self.attr_name() + ']', this.open_video)\n .on('close.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.close)\n .on('closed.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.closed)\n .on('closed.fndtn.reveal', '[' + self.attr_name() + ']', this.close_video);\n }\n\n return true;\n },\n\n // PATCH #3: turning on key up capture only when a reveal window is open\n key_up_on : function (scope) {\n var self = this;\n\n // PATCH #1: fixing multiple keyup event trigger from single key press\n self.S('body').off('keyup.fndtn.reveal').on('keyup.fndtn.reveal', function ( event ) {\n var open_modal = self.S('[' + self.attr_name() + '].open'),\n settings = open_modal.data(self.attr_name(true) + '-init') || self.settings ;\n // PATCH #2: making sure that the close event can be called only while unlocked,\n // so that multiple keyup.fndtn.reveal events don't prevent clean closing of the reveal window.\n if ( settings && event.which === 27 && settings.close_on_esc && !self.locked) { // 27 is the keycode for the Escape key\n self.close.call(self, open_modal);\n }\n });\n\n return true;\n },\n\n // PATCH #3: turning on key up capture only when a reveal window is open\n key_up_off : function (scope) {\n this.S('body').off('keyup.fndtn.reveal');\n return true;\n },\n\n open : function (target, ajax_settings) {\n var self = this,\n modal;\n\n if (target) {\n if (typeof target.selector !== 'undefined') {\n // Find the named node; only use the first one found, since the rest of the code assumes there's only one node\n modal = self.S('#' + target.data(self.data_attr('reveal-id'))).first();\n } else {\n modal = self.S(this.scope);\n\n ajax_settings = target;\n }\n } else {\n modal = self.S(this.scope);\n }\n\n var settings = modal.data(self.attr_name(true) + '-init');\n settings = settings || this.settings;\n\n\n if (modal.hasClass('open') && target !== undefined && target.attr('data-reveal-id') == modal.attr('id')) {\n return self.close(modal);\n }\n\n if (!modal.hasClass('open')) {\n var open_modal = self.S('[' + self.attr_name() + '].open');\n\n if (typeof modal.data('css-top') === 'undefined') {\n modal.data('css-top', parseInt(modal.css('top'), 10))\n .data('offset', this.cache_offset(modal));\n }\n\n modal.attr('tabindex','0').attr('aria-hidden','false');\n\n this.key_up_on(modal); // PATCH #3: turning on key up capture only when a reveal window is open\n\n // Prevent namespace event from triggering twice\n modal.on('open.fndtn.reveal', function(e) {\n if (e.namespace !== 'fndtn.reveal') return;\n });\n\n modal.on('open.fndtn.reveal').trigger('open.fndtn.reveal');\n\n if (open_modal.length < 1) {\n this.toggle_bg(modal, true);\n }\n\n if (typeof ajax_settings === 'string') {\n ajax_settings = {\n url : ajax_settings\n };\n }\n\n var openModal = function() {\n if(open_modal.length > 0) {\n if(settings.multiple_opened) {\n self.to_back(open_modal);\n } else {\n self.hide(open_modal, settings.css.close);\n }\n }\n\n // bl: add the open_modal that isn't already in the background to the openModals array\n if(settings.multiple_opened) {\n openModals.push(modal);\n }\n\n self.show(modal, settings.css.open);\n };\n\n if (typeof ajax_settings === 'undefined' || !ajax_settings.url) {\n openModal();\n } else {\n var old_success = typeof ajax_settings.success !== 'undefined' ? ajax_settings.success : null;\n $.extend(ajax_settings, {\n success : function (data, textStatus, jqXHR) {\n if ( $.isFunction(old_success) ) {\n var result = old_success(data, textStatus, jqXHR);\n if (typeof result == 'string') {\n data = result;\n }\n }\n\n if (typeof options !== 'undefined' && typeof options.replaceContentSel !== 'undefined') {\n modal.find(options.replaceContentSel).html(data);\n } else {\n modal.html(data);\n }\n\n self.S(modal).foundation('section', 'reflow');\n self.S(modal).children().foundation();\n\n openModal();\n }\n });\n\n // check for if user initalized with error callback\n if (settings.on_ajax_error !== $.noop) {\n $.extend(ajax_settings, {\n error : settings.on_ajax_error\n });\n }\n\n $.ajax(ajax_settings);\n }\n }\n self.S(window).trigger('resize');\n },\n\n close : function (modal) {\n var modal = modal && modal.length ? modal : this.S(this.scope),\n open_modals = this.S('[' + this.attr_name() + '].open'),\n settings = modal.data(this.attr_name(true) + '-init') || this.settings,\n self = this;\n\n if (open_modals.length > 0) {\n\n modal.removeAttr('tabindex','0').attr('aria-hidden','true');\n\n this.locked = true;\n this.key_up_off(modal); // PATCH #3: turning on key up capture only when a reveal window is open\n\n modal.trigger('close.fndtn.reveal');\n\n if ((settings.multiple_opened && open_modals.length === 1) || !settings.multiple_opened || modal.length > 1) {\n self.toggle_bg(modal, false);\n self.to_front(modal);\n }\n\n if (settings.multiple_opened) {\n var isCurrent = modal.is(':not(.toback)');\n self.hide(modal, settings.css.close, settings);\n if(isCurrent) {\n // remove the last modal since it is now closed\n openModals.pop();\n } else {\n // if this isn't the current modal, then find it in the array and remove it\n openModals = $.grep(openModals, function(elt) {\n var isThis = elt[0]===modal[0];\n if(isThis) {\n // since it's not currently in the front, put it in the front now that it is hidden\n // so that if it's re-opened, it won't be .toback\n self.to_front(modal);\n }\n return !isThis;\n });\n }\n // finally, show the next modal in the stack, if there is one\n if(openModals.length>0) {\n self.to_front(openModals[openModals.length - 1]);\n }\n } else {\n self.hide(open_modals, settings.css.close, settings);\n }\n }\n },\n\n close_targets : function () {\n var base = '.' + this.settings.dismiss_modal_class;\n\n if (this.settings.close_on_background_click) {\n return base + ', .' + this.settings.bg_class;\n }\n\n return base;\n },\n\n toggle_bg : function (modal, state) {\n if (this.S('.' + this.settings.bg_class).length === 0) {\n this.settings.bg = $('
', {'class': this.settings.bg_class})\n .appendTo('body').hide();\n }\n\n var visible = this.settings.bg.filter(':visible').length > 0;\n if ( state != visible ) {\n if ( state == undefined ? visible : !state ) {\n this.hide(this.settings.bg);\n } else {\n this.show(this.settings.bg);\n }\n }\n },\n\n show : function (el, css) {\n // is modal\n if (css) {\n var settings = el.data(this.attr_name(true) + '-init') || this.settings,\n root_element = settings.root_element,\n context = this;\n\n if (el.parent(root_element).length === 0) {\n var placeholder = el.wrap('
').parent();\n\n el.on('closed.fndtn.reveal.wrapped', function () {\n el.detach().appendTo(placeholder);\n el.unwrap().unbind('closed.fndtn.reveal.wrapped');\n });\n\n el.detach().appendTo(root_element);\n }\n\n var animData = getAnimationData(settings.animation);\n if (!animData.animate) {\n this.locked = false;\n }\n if (animData.pop) {\n css.top = $(window).scrollTop() - el.data('offset') + 'px';\n var end_css = {\n top: $(window).scrollTop() + el.data('css-top') + 'px',\n opacity: 1\n };\n\n return setTimeout(function () {\n return el\n .css(css)\n .animate(end_css, settings.animation_speed, 'linear', function () {\n context.locked = false;\n el.trigger('opened.fndtn.reveal');\n })\n .addClass('open');\n }, settings.animation_speed / 2);\n }\n\n css.top = $(window).scrollTop() + el.data('css-top') + 'px';\n\n if (animData.fade) {\n var end_css = {opacity: 1};\n\n return setTimeout(function () {\n return el\n .css(css)\n .animate(end_css, settings.animation_speed, 'linear', function () {\n context.locked = false;\n el.trigger('opened.fndtn.reveal');\n })\n .addClass('open');\n }, settings.animation_speed / 2);\n }\n\n return el.css(css).show().css({opacity : 1}).addClass('open').trigger('opened.fndtn.reveal');\n }\n\n var settings = this.settings;\n\n // should we animate the background?\n if (getAnimationData(settings.animation).fade) {\n return el.fadeIn(settings.animation_speed / 2);\n }\n\n this.locked = false;\n\n return el.show();\n },\n\n to_back : function(el) {\n el.addClass('toback');\n },\n\n to_front : function(el) {\n el.removeClass('toback');\n },\n\n hide : function (el, css) {\n // is modal\n if (css) {\n var settings = el.data(this.attr_name(true) + '-init'),\n context = this;\n settings = settings || this.settings;\n\n var animData = getAnimationData(settings.animation);\n if (!animData.animate) {\n this.locked = false;\n }\n if (animData.pop) {\n var end_css = {\n top: - $(window).scrollTop() - el.data('offset') + 'px',\n opacity: 0\n };\n\n return setTimeout(function () {\n return el\n .animate(end_css, settings.animation_speed, 'linear', function () {\n context.locked = false;\n el.css(css).trigger('closed.fndtn.reveal');\n })\n .removeClass('open');\n }, settings.animation_speed / 2);\n }\n\n if (animData.fade) {\n var end_css = {opacity : 0};\n\n return setTimeout(function () {\n return el\n .animate(end_css, settings.animation_speed, 'linear', function () {\n context.locked = false;\n el.css(css).trigger('closed.fndtn.reveal');\n })\n .removeClass('open');\n }, settings.animation_speed / 2);\n }\n\n return el.hide().css(css).removeClass('open').trigger('closed.fndtn.reveal');\n }\n\n var settings = this.settings;\n\n // should we animate the background?\n if (getAnimationData(settings.animation).fade) {\n return el.fadeOut(settings.animation_speed / 2);\n }\n\n return el.hide();\n },\n\n close_video : function (e) {\n var video = $('.flex-video', e.target),\n iframe = $('iframe', video);\n\n if (iframe.length > 0) {\n iframe.attr('data-src', iframe[0].src);\n iframe.attr('src', iframe.attr('src'));\n video.hide();\n }\n },\n\n open_video : function (e) {\n var video = $('.flex-video', e.target),\n iframe = video.find('iframe');\n\n if (iframe.length > 0) {\n var data_src = iframe.attr('data-src');\n if (typeof data_src === 'string') {\n iframe[0].src = iframe.attr('data-src');\n } else {\n var src = iframe[0].src;\n iframe[0].src = undefined;\n iframe[0].src = src;\n }\n video.show();\n }\n },\n\n data_attr : function (str) {\n if (this.namespace.length > 0) {\n return this.namespace + '-' + str;\n }\n\n return str;\n },\n\n cache_offset : function (modal) {\n var offset = modal.show().height() + parseInt(modal.css('top'), 10) + modal.scrollY;\n\n modal.hide();\n\n return offset;\n },\n\n off : function () {\n $(this.scope).off('.fndtn.reveal');\n },\n\n reflow : function () {}\n };\n\n /*\n * getAnimationData('popAndFade') // {animate: true, pop: true, fade: true}\n * getAnimationData('fade') // {animate: true, pop: false, fade: true}\n * getAnimationData('pop') // {animate: true, pop: true, fade: false}\n * getAnimationData('foo') // {animate: false, pop: false, fade: false}\n * getAnimationData(null) // {animate: false, pop: false, fade: false}\n */\n function getAnimationData(str) {\n var fade = /fade/i.test(str);\n var pop = /pop/i.test(str);\n return {\n animate : fade || pop,\n pop : pop,\n fade : fade\n };\n }\n}(jQuery, window, window.document));\n","// Unobtrusive Ajax support library for jQuery\r\n// Copyright (C) Microsoft Corporation. All rights reserved.\r\n// @version v3.2.5\r\n// \r\n// Microsoft grants you the right to use these script files for the sole\r\n// purpose of either: (i) interacting through your browser with the Microsoft\r\n// website or online service, subject to the applicable licensing or use\r\n// terms; or (ii) using the files as included with a Microsoft product subject\r\n// to that product's license terms. Microsoft reserves all other rights to the\r\n// files not expressly granted by Microsoft, whether by implication, estoppel\r\n// or otherwise. Insofar as a script file is dual licensed under GPL,\r\n// Microsoft neither took the code under GPL nor distributes it thereunder but\r\n// under the terms set out in this paragraph. All notices and licenses\r\n// below are for informational purposes only.\r\n\r\n/*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: false */\r\n/*global window: false, jQuery: false */\r\n\r\n(function ($) {\r\n var data_click = \"unobtrusiveAjaxClick\",\r\n data_target = \"unobtrusiveAjaxClickTarget\",\r\n data_validation = \"unobtrusiveValidation\";\r\n\r\n function getFunction(code, argNames) {\r\n var fn = window, parts = (code || \"\").split(\".\");\r\n while (fn && parts.length) {\r\n fn = fn[parts.shift()];\r\n }\r\n if (typeof (fn) === \"function\") {\r\n return fn;\r\n }\r\n argNames.push(code);\r\n return Function.constructor.apply(null, argNames);\r\n }\r\n\r\n function isMethodProxySafe(method) {\r\n return method === \"GET\" || method === \"POST\";\r\n }\r\n\r\n function asyncOnBeforeSend(xhr, method) {\r\n if (!isMethodProxySafe(method)) {\r\n xhr.setRequestHeader(\"X-HTTP-Method-Override\", method);\r\n }\r\n }\r\n\r\n function asyncOnSuccess(element, data, contentType) {\r\n var mode;\r\n\r\n if (contentType.indexOf(\"application/x-javascript\") !== -1) { // jQuery already executes JavaScript for us\r\n return;\r\n }\r\n\r\n mode = (element.getAttribute(\"data-ajax-mode\") || \"\").toUpperCase();\r\n $(element.getAttribute(\"data-ajax-update\")).each(function (i, update) {\r\n var top;\r\n\r\n switch (mode) {\r\n case \"BEFORE\":\r\n $(update).prepend(data);\r\n break;\r\n case \"AFTER\":\r\n $(update).append(data);\r\n break;\r\n case \"REPLACE-WITH\":\r\n $(update).replaceWith(data);\r\n break;\r\n default:\r\n $(update).html(data);\r\n break;\r\n }\r\n });\r\n }\r\n\r\n function asyncRequest(element, options) {\r\n var confirm, loading, method, duration;\r\n\r\n confirm = element.getAttribute(\"data-ajax-confirm\");\r\n if (confirm && !window.confirm(confirm)) {\r\n return;\r\n }\r\n\r\n loading = $(element.getAttribute(\"data-ajax-loading\"));\r\n duration = parseInt(element.getAttribute(\"data-ajax-loading-duration\"), 10) || 0;\r\n\r\n $.extend(options, {\r\n type: element.getAttribute(\"data-ajax-method\") || undefined,\r\n url: element.getAttribute(\"data-ajax-url\") || undefined,\r\n cache: (element.getAttribute(\"data-ajax-cache\") || \"\").toLowerCase() === \"true\",\r\n beforeSend: function (xhr) {\r\n var result;\r\n asyncOnBeforeSend(xhr, method);\r\n result = getFunction(element.getAttribute(\"data-ajax-begin\"), [\"xhr\"]).apply(element, arguments);\r\n if (result !== false) {\r\n loading.show(duration);\r\n }\r\n return result;\r\n },\r\n complete: function () {\r\n loading.hide(duration);\r\n getFunction(element.getAttribute(\"data-ajax-complete\"), [\"xhr\", \"status\"]).apply(element, arguments);\r\n },\r\n success: function (data, status, xhr) {\r\n asyncOnSuccess(element, data, xhr.getResponseHeader(\"Content-Type\") || \"text/html\");\r\n getFunction(element.getAttribute(\"data-ajax-success\"), [\"data\", \"status\", \"xhr\"]).apply(element, arguments);\r\n },\r\n error: function () {\r\n getFunction(element.getAttribute(\"data-ajax-failure\"), [\"xhr\", \"status\", \"error\"]).apply(element, arguments);\r\n }\r\n });\r\n\r\n options.data.push({ name: \"X-Requested-With\", value: \"XMLHttpRequest\" });\r\n\r\n method = options.type.toUpperCase();\r\n if (!isMethodProxySafe(method)) {\r\n options.type = \"POST\";\r\n options.data.push({ name: \"X-HTTP-Method-Override\", value: method });\r\n }\r\n\r\n $.ajax(options);\r\n }\r\n\r\n function validate(form) {\r\n var validationInfo = $(form).data(data_validation);\r\n return !validationInfo || !validationInfo.validate || validationInfo.validate();\r\n }\r\n\r\n $(document).on(\"click\", \"a[data-ajax=true]\", function (evt) {\r\n evt.preventDefault();\r\n asyncRequest(this, {\r\n url: this.href,\r\n type: \"GET\",\r\n data: []\r\n });\r\n });\r\n\r\n $(document).on(\"click\", \"form[data-ajax=true] input[type=image]\", function (evt) {\r\n var name = evt.target.name,\r\n target = $(evt.target),\r\n form = $(target.parents(\"form\")[0]),\r\n offset = target.offset();\r\n\r\n form.data(data_click, [\r\n { name: name + \".x\", value: Math.round(evt.pageX - offset.left) },\r\n { name: name + \".y\", value: Math.round(evt.pageY - offset.top) }\r\n ]);\r\n\r\n setTimeout(function () {\r\n form.removeData(data_click);\r\n }, 0);\r\n });\r\n\r\n $(document).on(\"click\", \"form[data-ajax=true] :submit\", function (evt) {\r\n var name = evt.currentTarget.name,\r\n target = $(evt.target),\r\n form = $(target.parents(\"form\")[0]);\r\n\r\n form.data(data_click, name ? [{ name: name, value: evt.currentTarget.value }] : []);\r\n form.data(data_target, target);\r\n\r\n setTimeout(function () {\r\n form.removeData(data_click);\r\n form.removeData(data_target);\r\n }, 0);\r\n });\r\n\r\n $(document).on(\"submit\", \"form[data-ajax=true]\", function (evt) {\r\n var clickInfo = $(this).data(data_click) || [],\r\n clickTarget = $(this).data(data_target),\r\n isCancel = clickTarget && (clickTarget.hasClass(\"cancel\") || clickTarget.attr('formnovalidate') !== undefined);\r\n evt.preventDefault();\r\n if (!isCancel && !validate(this)) {\r\n return;\r\n }\r\n asyncRequest(this, {\r\n url: this.action,\r\n type: this.method || \"GET\",\r\n data: clickInfo.concat($(this).serializeArray())\r\n });\r\n });\r\n}(jQuery));\r\n","/*!\n * jQuery Validation Plugin v1.19.5\n *\n * https://jqueryvalidation.org/\n *\n * Copyright (c) 2022 Jörn Zaefferer\n * Released under the MIT license\n */\n(function( factory ) {\n\tif ( typeof define === \"function\" && define.amd ) {\n\t\tdefine( [\"jquery\"], factory );\n\t} else if (typeof module === \"object\" && module.exports) {\n\t\tmodule.exports = factory( require( \"jquery\" ) );\n\t} else {\n\t\tfactory( jQuery );\n\t}\n}(function( $ ) {\n\n$.extend( $.fn, {\n\n\t// https://jqueryvalidation.org/validate/\n\tvalidate: function( options ) {\n\n\t\t// If nothing is selected, return nothing; can't chain anyway\n\t\tif ( !this.length ) {\n\t\t\tif ( options && options.debug && window.console ) {\n\t\t\t\tconsole.warn( \"Nothing selected, can't validate, returning nothing.\" );\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// Check if a validator for this form was already created\n\t\tvar validator = $.data( this[ 0 ], \"validator\" );\n\t\tif ( validator ) {\n\t\t\treturn validator;\n\t\t}\n\n\t\t// Add novalidate tag if HTML5.\n\t\tthis.attr( \"novalidate\", \"novalidate\" );\n\n\t\tvalidator = new $.validator( options, this[ 0 ] );\n\t\t$.data( this[ 0 ], \"validator\", validator );\n\n\t\tif ( validator.settings.onsubmit ) {\n\n\t\t\tthis.on( \"click.validate\", \":submit\", function( event ) {\n\n\t\t\t\t// Track the used submit button to properly handle scripted\n\t\t\t\t// submits later.\n\t\t\t\tvalidator.submitButton = event.currentTarget;\n\n\t\t\t\t// Allow suppressing validation by adding a cancel class to the submit button\n\t\t\t\tif ( $( this ).hasClass( \"cancel\" ) ) {\n\t\t\t\t\tvalidator.cancelSubmit = true;\n\t\t\t\t}\n\n\t\t\t\t// Allow suppressing validation by adding the html5 formnovalidate attribute to the submit button\n\t\t\t\tif ( $( this ).attr( \"formnovalidate\" ) !== undefined ) {\n\t\t\t\t\tvalidator.cancelSubmit = true;\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// Validate the form on submit\n\t\t\tthis.on( \"submit.validate\", function( event ) {\n\t\t\t\tif ( validator.settings.debug ) {\n\n\t\t\t\t\t// Prevent form submit to be able to see console output\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\n\t\t\t\tfunction handle() {\n\t\t\t\t\tvar hidden, result;\n\n\t\t\t\t\t// Insert a hidden input as a replacement for the missing submit button\n\t\t\t\t\t// The hidden input is inserted in two cases:\n\t\t\t\t\t// - A user defined a `submitHandler`\n\t\t\t\t\t// - There was a pending request due to `remote` method and `stopRequest()`\n\t\t\t\t\t// was called to submit the form in case it's valid\n\t\t\t\t\tif ( validator.submitButton && ( validator.settings.submitHandler || validator.formSubmitted ) ) {\n\t\t\t\t\t\thidden = $( \"\" )\n\t\t\t\t\t\t\t.attr( \"name\", validator.submitButton.name )\n\t\t\t\t\t\t\t.val( $( validator.submitButton ).val() )\n\t\t\t\t\t\t\t.appendTo( validator.currentForm );\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( validator.settings.submitHandler && !validator.settings.debug ) {\n\t\t\t\t\t\tresult = validator.settings.submitHandler.call( validator, validator.currentForm, event );\n\t\t\t\t\t\tif ( hidden ) {\n\n\t\t\t\t\t\t\t// And clean up afterwards; thanks to no-block-scope, hidden can be referenced\n\t\t\t\t\t\t\thidden.remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( result !== undefined ) {\n\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\t// Prevent submit for invalid forms or custom submit handlers\n\t\t\t\tif ( validator.cancelSubmit ) {\n\t\t\t\t\tvalidator.cancelSubmit = false;\n\t\t\t\t\treturn handle();\n\t\t\t\t}\n\t\t\t\tif ( validator.form() ) {\n\t\t\t\t\tif ( validator.pendingRequest ) {\n\t\t\t\t\t\tvalidator.formSubmitted = true;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\treturn handle();\n\t\t\t\t} else {\n\t\t\t\t\tvalidator.focusInvalid();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn validator;\n\t},\n\n\t// https://jqueryvalidation.org/valid/\n\tvalid: function() {\n\t\tvar valid, validator, errorList;\n\n\t\tif ( $( this[ 0 ] ).is( \"form\" ) ) {\n\t\t\tvalid = this.validate().form();\n\t\t} else {\n\t\t\terrorList = [];\n\t\t\tvalid = true;\n\t\t\tvalidator = $( this[ 0 ].form ).validate();\n\t\t\tthis.each( function() {\n\t\t\t\tvalid = validator.element( this ) && valid;\n\t\t\t\tif ( !valid ) {\n\t\t\t\t\terrorList = errorList.concat( validator.errorList );\n\t\t\t\t}\n\t\t\t} );\n\t\t\tvalidator.errorList = errorList;\n\t\t}\n\t\treturn valid;\n\t},\n\n\t// https://jqueryvalidation.org/rules/\n\trules: function( command, argument ) {\n\t\tvar element = this[ 0 ],\n\t\t\tisContentEditable = typeof this.attr( \"contenteditable\" ) !== \"undefined\" && this.attr( \"contenteditable\" ) !== \"false\",\n\t\t\tsettings, staticRules, existingRules, data, param, filtered;\n\n\t\t// If nothing is selected, return empty object; can't chain anyway\n\t\tif ( element == null ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( !element.form && isContentEditable ) {\n\t\t\telement.form = this.closest( \"form\" )[ 0 ];\n\t\t\telement.name = this.attr( \"name\" );\n\t\t}\n\n\t\tif ( element.form == null ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( command ) {\n\t\t\tsettings = $.data( element.form, \"validator\" ).settings;\n\t\t\tstaticRules = settings.rules;\n\t\t\texistingRules = $.validator.staticRules( element );\n\t\t\tswitch ( command ) {\n\t\t\tcase \"add\":\n\t\t\t\t$.extend( existingRules, $.validator.normalizeRule( argument ) );\n\n\t\t\t\t// Remove messages from rules, but allow them to be set separately\n\t\t\t\tdelete existingRules.messages;\n\t\t\t\tstaticRules[ element.name ] = existingRules;\n\t\t\t\tif ( argument.messages ) {\n\t\t\t\t\tsettings.messages[ element.name ] = $.extend( settings.messages[ element.name ], argument.messages );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"remove\":\n\t\t\t\tif ( !argument ) {\n\t\t\t\t\tdelete staticRules[ element.name ];\n\t\t\t\t\treturn existingRules;\n\t\t\t\t}\n\t\t\t\tfiltered = {};\n\t\t\t\t$.each( argument.split( /\\s/ ), function( index, method ) {\n\t\t\t\t\tfiltered[ method ] = existingRules[ method ];\n\t\t\t\t\tdelete existingRules[ method ];\n\t\t\t\t} );\n\t\t\t\treturn filtered;\n\t\t\t}\n\t\t}\n\n\t\tdata = $.validator.normalizeRules(\n\t\t$.extend(\n\t\t\t{},\n\t\t\t$.validator.classRules( element ),\n\t\t\t$.validator.attributeRules( element ),\n\t\t\t$.validator.dataRules( element ),\n\t\t\t$.validator.staticRules( element )\n\t\t), element );\n\n\t\t// Make sure required is at front\n\t\tif ( data.required ) {\n\t\t\tparam = data.required;\n\t\t\tdelete data.required;\n\t\t\tdata = $.extend( { required: param }, data );\n\t\t}\n\n\t\t// Make sure remote is at back\n\t\tif ( data.remote ) {\n\t\t\tparam = data.remote;\n\t\t\tdelete data.remote;\n\t\t\tdata = $.extend( data, { remote: param } );\n\t\t}\n\n\t\treturn data;\n\t}\n} );\n\n// JQuery trim is deprecated, provide a trim method based on String.prototype.trim\nvar trim = function( str ) {\n\n\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trim#Polyfill\n\treturn str.replace( /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, \"\" );\n};\n\n// Custom selectors\n$.extend( $.expr.pseudos || $.expr[ \":\" ], {\t\t// '|| $.expr[ \":\" ]' here enables backwards compatibility to jQuery 1.7. Can be removed when dropping jQ 1.7.x support\n\n\t// https://jqueryvalidation.org/blank-selector/\n\tblank: function( a ) {\n\t\treturn !trim( \"\" + $( a ).val() );\n\t},\n\n\t// https://jqueryvalidation.org/filled-selector/\n\tfilled: function( a ) {\n\t\tvar val = $( a ).val();\n\t\treturn val !== null && !!trim( \"\" + val );\n\t},\n\n\t// https://jqueryvalidation.org/unchecked-selector/\n\tunchecked: function( a ) {\n\t\treturn !$( a ).prop( \"checked\" );\n\t}\n} );\n\n// Constructor for validator\n$.validator = function( options, form ) {\n\tthis.settings = $.extend( true, {}, $.validator.defaults, options );\n\tthis.currentForm = form;\n\tthis.init();\n};\n\n// https://jqueryvalidation.org/jQuery.validator.format/\n$.validator.format = function( source, params ) {\n\tif ( arguments.length === 1 ) {\n\t\treturn function() {\n\t\t\tvar args = $.makeArray( arguments );\n\t\t\targs.unshift( source );\n\t\t\treturn $.validator.format.apply( this, args );\n\t\t};\n\t}\n\tif ( params === undefined ) {\n\t\treturn source;\n\t}\n\tif ( arguments.length > 2 && params.constructor !== Array ) {\n\t\tparams = $.makeArray( arguments ).slice( 1 );\n\t}\n\tif ( params.constructor !== Array ) {\n\t\tparams = [ params ];\n\t}\n\t$.each( params, function( i, n ) {\n\t\tsource = source.replace( new RegExp( \"\\\\{\" + i + \"\\\\}\", \"g\" ), function() {\n\t\t\treturn n;\n\t\t} );\n\t} );\n\treturn source;\n};\n\n$.extend( $.validator, {\n\n\tdefaults: {\n\t\tmessages: {},\n\t\tgroups: {},\n\t\trules: {},\n\t\terrorClass: \"error\",\n\t\tpendingClass: \"pending\",\n\t\tvalidClass: \"valid\",\n\t\terrorElement: \"label\",\n\t\tfocusCleanup: false,\n\t\tfocusInvalid: true,\n\t\terrorContainer: $( [] ),\n\t\terrorLabelContainer: $( [] ),\n\t\tonsubmit: true,\n\t\tignore: \":hidden\",\n\t\tignoreTitle: false,\n\t\tonfocusin: function( element ) {\n\t\t\tthis.lastActive = element;\n\n\t\t\t// Hide error label and remove error class on focus if enabled\n\t\t\tif ( this.settings.focusCleanup ) {\n\t\t\t\tif ( this.settings.unhighlight ) {\n\t\t\t\t\tthis.settings.unhighlight.call( this, element, this.settings.errorClass, this.settings.validClass );\n\t\t\t\t}\n\t\t\t\tthis.hideThese( this.errorsFor( element ) );\n\t\t\t}\n\t\t},\n\t\tonfocusout: function( element ) {\n\t\t\tif ( !this.checkable( element ) && ( element.name in this.submitted || !this.optional( element ) ) ) {\n\t\t\t\tthis.element( element );\n\t\t\t}\n\t\t},\n\t\tonkeyup: function( element, event ) {\n\n\t\t\t// Avoid revalidate the field when pressing one of the following keys\n\t\t\t// Shift => 16\n\t\t\t// Ctrl => 17\n\t\t\t// Alt => 18\n\t\t\t// Caps lock => 20\n\t\t\t// End => 35\n\t\t\t// Home => 36\n\t\t\t// Left arrow => 37\n\t\t\t// Up arrow => 38\n\t\t\t// Right arrow => 39\n\t\t\t// Down arrow => 40\n\t\t\t// Insert => 45\n\t\t\t// Num lock => 144\n\t\t\t// AltGr key => 225\n\t\t\tvar excludedKeys = [\n\t\t\t\t16, 17, 18, 20, 35, 36, 37,\n\t\t\t\t38, 39, 40, 45, 144, 225\n\t\t\t];\n\n\t\t\tif ( event.which === 9 && this.elementValue( element ) === \"\" || $.inArray( event.keyCode, excludedKeys ) !== -1 ) {\n\t\t\t\treturn;\n\t\t\t} else if ( element.name in this.submitted || element.name in this.invalid ) {\n\t\t\t\tthis.element( element );\n\t\t\t}\n\t\t},\n\t\tonclick: function( element ) {\n\n\t\t\t// Click on selects, radiobuttons and checkboxes\n\t\t\tif ( element.name in this.submitted ) {\n\t\t\t\tthis.element( element );\n\n\t\t\t// Or option elements, check parent select in that case\n\t\t\t} else if ( element.parentNode.name in this.submitted ) {\n\t\t\t\tthis.element( element.parentNode );\n\t\t\t}\n\t\t},\n\t\thighlight: function( element, errorClass, validClass ) {\n\t\t\tif ( element.type === \"radio\" ) {\n\t\t\t\tthis.findByName( element.name ).addClass( errorClass ).removeClass( validClass );\n\t\t\t} else {\n\t\t\t\t$( element ).addClass( errorClass ).removeClass( validClass );\n\t\t\t}\n\t\t},\n\t\tunhighlight: function( element, errorClass, validClass ) {\n\t\t\tif ( element.type === \"radio\" ) {\n\t\t\t\tthis.findByName( element.name ).removeClass( errorClass ).addClass( validClass );\n\t\t\t} else {\n\t\t\t\t$( element ).removeClass( errorClass ).addClass( validClass );\n\t\t\t}\n\t\t}\n\t},\n\n\t// https://jqueryvalidation.org/jQuery.validator.setDefaults/\n\tsetDefaults: function( settings ) {\n\t\t$.extend( $.validator.defaults, settings );\n\t},\n\n\tmessages: {\n\t\trequired: \"This field is required.\",\n\t\tremote: \"Please fix this field.\",\n\t\temail: \"Please enter a valid email address.\",\n\t\turl: \"Please enter a valid URL.\",\n\t\tdate: \"Please enter a valid date.\",\n\t\tdateISO: \"Please enter a valid date (ISO).\",\n\t\tnumber: \"Please enter a valid number.\",\n\t\tdigits: \"Please enter only digits.\",\n\t\tequalTo: \"Please enter the same value again.\",\n\t\tmaxlength: $.validator.format( \"Please enter no more than {0} characters.\" ),\n\t\tminlength: $.validator.format( \"Please enter at least {0} characters.\" ),\n\t\trangelength: $.validator.format( \"Please enter a value between {0} and {1} characters long.\" ),\n\t\trange: $.validator.format( \"Please enter a value between {0} and {1}.\" ),\n\t\tmax: $.validator.format( \"Please enter a value less than or equal to {0}.\" ),\n\t\tmin: $.validator.format( \"Please enter a value greater than or equal to {0}.\" ),\n\t\tstep: $.validator.format( \"Please enter a multiple of {0}.\" )\n\t},\n\n\tautoCreateRanges: false,\n\n\tprototype: {\n\n\t\tinit: function() {\n\t\t\tthis.labelContainer = $( this.settings.errorLabelContainer );\n\t\t\tthis.errorContext = this.labelContainer.length && this.labelContainer || $( this.currentForm );\n\t\t\tthis.containers = $( this.settings.errorContainer ).add( this.settings.errorLabelContainer );\n\t\t\tthis.submitted = {};\n\t\t\tthis.valueCache = {};\n\t\t\tthis.pendingRequest = 0;\n\t\t\tthis.pending = {};\n\t\t\tthis.invalid = {};\n\t\t\tthis.reset();\n\n\t\t\tvar currentForm = this.currentForm,\n\t\t\t\tgroups = ( this.groups = {} ),\n\t\t\t\trules;\n\t\t\t$.each( this.settings.groups, function( key, value ) {\n\t\t\t\tif ( typeof value === \"string\" ) {\n\t\t\t\t\tvalue = value.split( /\\s/ );\n\t\t\t\t}\n\t\t\t\t$.each( value, function( index, name ) {\n\t\t\t\t\tgroups[ name ] = key;\n\t\t\t\t} );\n\t\t\t} );\n\t\t\trules = this.settings.rules;\n\t\t\t$.each( rules, function( key, value ) {\n\t\t\t\trules[ key ] = $.validator.normalizeRule( value );\n\t\t\t} );\n\n\t\t\tfunction delegate( event ) {\n\t\t\t\tvar isContentEditable = typeof $( this ).attr( \"contenteditable\" ) !== \"undefined\" && $( this ).attr( \"contenteditable\" ) !== \"false\";\n\n\t\t\t\t// Set form expando on contenteditable\n\t\t\t\tif ( !this.form && isContentEditable ) {\n\t\t\t\t\tthis.form = $( this ).closest( \"form\" )[ 0 ];\n\t\t\t\t\tthis.name = $( this ).attr( \"name\" );\n\t\t\t\t}\n\n\t\t\t\t// Ignore the element if it belongs to another form. This will happen mainly\n\t\t\t\t// when setting the `form` attribute of an input to the id of another form.\n\t\t\t\tif ( currentForm !== this.form ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar validator = $.data( this.form, \"validator\" ),\n\t\t\t\t\teventType = \"on\" + event.type.replace( /^validate/, \"\" ),\n\t\t\t\t\tsettings = validator.settings;\n\t\t\t\tif ( settings[ eventType ] && !$( this ).is( settings.ignore ) ) {\n\t\t\t\t\tsettings[ eventType ].call( validator, this, event );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$( this.currentForm )\n\t\t\t\t.on( \"focusin.validate focusout.validate keyup.validate\",\n\t\t\t\t\t\":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], \" +\n\t\t\t\t\t\"[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], \" +\n\t\t\t\t\t\"[type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], \" +\n\t\t\t\t\t\"[type='radio'], [type='checkbox'], [contenteditable], [type='button']\", delegate )\n\n\t\t\t\t// Support: Chrome, oldIE\n\t\t\t\t// \"select\" is provided as event.target when clicking a option\n\t\t\t\t.on( \"click.validate\", \"select, option, [type='radio'], [type='checkbox']\", delegate );\n\n\t\t\tif ( this.settings.invalidHandler ) {\n\t\t\t\t$( this.currentForm ).on( \"invalid-form.validate\", this.settings.invalidHandler );\n\t\t\t}\n\t\t},\n\n\t\t// https://jqueryvalidation.org/Validator.form/\n\t\tform: function() {\n\t\t\tthis.checkForm();\n\t\t\t$.extend( this.submitted, this.errorMap );\n\t\t\tthis.invalid = $.extend( {}, this.errorMap );\n\t\t\tif ( !this.valid() ) {\n\t\t\t\t$( this.currentForm ).triggerHandler( \"invalid-form\", [ this ] );\n\t\t\t}\n\t\t\tthis.showErrors();\n\t\t\treturn this.valid();\n\t\t},\n\n\t\tcheckForm: function() {\n\t\t\tthis.prepareForm();\n\t\t\tfor ( var i = 0, elements = ( this.currentElements = this.elements() ); elements[ i ]; i++ ) {\n\t\t\t\tthis.check( elements[ i ] );\n\t\t\t}\n\t\t\treturn this.valid();\n\t\t},\n\n\t\t// https://jqueryvalidation.org/Validator.element/\n\t\telement: function( element ) {\n\t\t\tvar cleanElement = this.clean( element ),\n\t\t\t\tcheckElement = this.validationTargetFor( cleanElement ),\n\t\t\t\tv = this,\n\t\t\t\tresult = true,\n\t\t\t\trs, group;\n\n\t\t\tif ( checkElement === undefined ) {\n\t\t\t\tdelete this.invalid[ cleanElement.name ];\n\t\t\t} else {\n\t\t\t\tthis.prepareElement( checkElement );\n\t\t\t\tthis.currentElements = $( checkElement );\n\n\t\t\t\t// If this element is grouped, then validate all group elements already\n\t\t\t\t// containing a value\n\t\t\t\tgroup = this.groups[ checkElement.name ];\n\t\t\t\tif ( group ) {\n\t\t\t\t\t$.each( this.groups, function( name, testgroup ) {\n\t\t\t\t\t\tif ( testgroup === group && name !== checkElement.name ) {\n\t\t\t\t\t\t\tcleanElement = v.validationTargetFor( v.clean( v.findByName( name ) ) );\n\t\t\t\t\t\t\tif ( cleanElement && cleanElement.name in v.invalid ) {\n\t\t\t\t\t\t\t\tv.currentElements.push( cleanElement );\n\t\t\t\t\t\t\t\tresult = v.check( cleanElement ) && result;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\trs = this.check( checkElement ) !== false;\n\t\t\t\tresult = result && rs;\n\t\t\t\tif ( rs ) {\n\t\t\t\t\tthis.invalid[ checkElement.name ] = false;\n\t\t\t\t} else {\n\t\t\t\t\tthis.invalid[ checkElement.name ] = true;\n\t\t\t\t}\n\n\t\t\t\tif ( !this.numberOfInvalids() ) {\n\n\t\t\t\t\t// Hide error containers on last error\n\t\t\t\t\tthis.toHide = this.toHide.add( this.containers );\n\t\t\t\t}\n\t\t\t\tthis.showErrors();\n\n\t\t\t\t// Add aria-invalid status for screen readers\n\t\t\t\t$( element ).attr( \"aria-invalid\", !rs );\n\t\t\t}\n\n\t\t\treturn result;\n\t\t},\n\n\t\t// https://jqueryvalidation.org/Validator.showErrors/\n\t\tshowErrors: function( errors ) {\n\t\t\tif ( errors ) {\n\t\t\t\tvar validator = this;\n\n\t\t\t\t// Add items to error list and map\n\t\t\t\t$.extend( this.errorMap, errors );\n\t\t\t\tthis.errorList = $.map( this.errorMap, function( message, name ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tmessage: message,\n\t\t\t\t\t\telement: validator.findByName( name )[ 0 ]\n\t\t\t\t\t};\n\t\t\t\t} );\n\n\t\t\t\t// Remove items from success list\n\t\t\t\tthis.successList = $.grep( this.successList, function( element ) {\n\t\t\t\t\treturn !( element.name in errors );\n\t\t\t\t} );\n\t\t\t}\n\t\t\tif ( this.settings.showErrors ) {\n\t\t\t\tthis.settings.showErrors.call( this, this.errorMap, this.errorList );\n\t\t\t} else {\n\t\t\t\tthis.defaultShowErrors();\n\t\t\t}\n\t\t},\n\n\t\t// https://jqueryvalidation.org/Validator.resetForm/\n\t\tresetForm: function() {\n\t\t\tif ( $.fn.resetForm ) {\n\t\t\t\t$( this.currentForm ).resetForm();\n\t\t\t}\n\t\t\tthis.invalid = {};\n\t\t\tthis.submitted = {};\n\t\t\tthis.prepareForm();\n\t\t\tthis.hideErrors();\n\t\t\tvar elements = this.elements()\n\t\t\t\t.removeData( \"previousValue\" )\n\t\t\t\t.removeAttr( \"aria-invalid\" );\n\n\t\t\tthis.resetElements( elements );\n\t\t},\n\n\t\tresetElements: function( elements ) {\n\t\t\tvar i;\n\n\t\t\tif ( this.settings.unhighlight ) {\n\t\t\t\tfor ( i = 0; elements[ i ]; i++ ) {\n\t\t\t\t\tthis.settings.unhighlight.call( this, elements[ i ],\n\t\t\t\t\t\tthis.settings.errorClass, \"\" );\n\t\t\t\t\tthis.findByName( elements[ i ].name ).removeClass( this.settings.validClass );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\telements\n\t\t\t\t\t.removeClass( this.settings.errorClass )\n\t\t\t\t\t.removeClass( this.settings.validClass );\n\t\t\t}\n\t\t},\n\n\t\tnumberOfInvalids: function() {\n\t\t\treturn this.objectLength( this.invalid );\n\t\t},\n\n\t\tobjectLength: function( obj ) {\n\t\t\t/* jshint unused: false */\n\t\t\tvar count = 0,\n\t\t\t\ti;\n\t\t\tfor ( i in obj ) {\n\n\t\t\t\t// This check allows counting elements with empty error\n\t\t\t\t// message as invalid elements\n\t\t\t\tif ( obj[ i ] !== undefined && obj[ i ] !== null && obj[ i ] !== false ) {\n\t\t\t\t\tcount++;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn count;\n\t\t},\n\n\t\thideErrors: function() {\n\t\t\tthis.hideThese( this.toHide );\n\t\t},\n\n\t\thideThese: function( errors ) {\n\t\t\terrors.not( this.containers ).text( \"\" );\n\t\t\tthis.addWrapper( errors ).hide();\n\t\t},\n\n\t\tvalid: function() {\n\t\t\treturn this.size() === 0;\n\t\t},\n\n\t\tsize: function() {\n\t\t\treturn this.errorList.length;\n\t\t},\n\n\t\tfocusInvalid: function() {\n\t\t\tif ( this.settings.focusInvalid ) {\n\t\t\t\ttry {\n\t\t\t\t\t$( this.findLastActive() || this.errorList.length && this.errorList[ 0 ].element || [] )\n\t\t\t\t\t.filter( \":visible\" )\n\t\t\t\t\t.trigger( \"focus\" )\n\n\t\t\t\t\t// Manually trigger focusin event; without it, focusin handler isn't called, findLastActive won't have anything to find\n\t\t\t\t\t.trigger( \"focusin\" );\n\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t// Ignore IE throwing errors when focusing hidden elements\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tfindLastActive: function() {\n\t\t\tvar lastActive = this.lastActive;\n\t\t\treturn lastActive && $.grep( this.errorList, function( n ) {\n\t\t\t\treturn n.element.name === lastActive.name;\n\t\t\t} ).length === 1 && lastActive;\n\t\t},\n\n\t\telements: function() {\n\t\t\tvar validator = this,\n\t\t\t\trulesCache = {};\n\n\t\t\t// Select all valid inputs inside the form (no submit or reset buttons)\n\t\t\treturn $( this.currentForm )\n\t\t\t.find( \"input, select, textarea, [contenteditable]\" )\n\t\t\t.not( \":submit, :reset, :image, :disabled\" )\n\t\t\t.not( this.settings.ignore )\n\t\t\t.filter( function() {\n\t\t\t\tvar name = this.name || $( this ).attr( \"name\" ); // For contenteditable\n\t\t\t\tvar isContentEditable = typeof $( this ).attr( \"contenteditable\" ) !== \"undefined\" && $( this ).attr( \"contenteditable\" ) !== \"false\";\n\n\t\t\t\tif ( !name && validator.settings.debug && window.console ) {\n\t\t\t\t\tconsole.error( \"%o has no name assigned\", this );\n\t\t\t\t}\n\n\t\t\t\t// Set form expando on contenteditable\n\t\t\t\tif ( isContentEditable ) {\n\t\t\t\t\tthis.form = $( this ).closest( \"form\" )[ 0 ];\n\t\t\t\t\tthis.name = name;\n\t\t\t\t}\n\n\t\t\t\t// Ignore elements that belong to other/nested forms\n\t\t\t\tif ( this.form !== validator.currentForm ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// Select only the first element for each name, and only those with rules specified\n\t\t\t\tif ( name in rulesCache || !validator.objectLength( $( this ).rules() ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\trulesCache[ name ] = true;\n\t\t\t\treturn true;\n\t\t\t} );\n\t\t},\n\n\t\tclean: function( selector ) {\n\t\t\treturn $( selector )[ 0 ];\n\t\t},\n\n\t\terrors: function() {\n\t\t\tvar errorClass = this.settings.errorClass.split( \" \" ).join( \".\" );\n\t\t\treturn $( this.settings.errorElement + \".\" + errorClass, this.errorContext );\n\t\t},\n\n\t\tresetInternals: function() {\n\t\t\tthis.successList = [];\n\t\t\tthis.errorList = [];\n\t\t\tthis.errorMap = {};\n\t\t\tthis.toShow = $( [] );\n\t\t\tthis.toHide = $( [] );\n\t\t},\n\n\t\treset: function() {\n\t\t\tthis.resetInternals();\n\t\t\tthis.currentElements = $( [] );\n\t\t},\n\n\t\tprepareForm: function() {\n\t\t\tthis.reset();\n\t\t\tthis.toHide = this.errors().add( this.containers );\n\t\t},\n\n\t\tprepareElement: function( element ) {\n\t\t\tthis.reset();\n\t\t\tthis.toHide = this.errorsFor( element );\n\t\t},\n\n\t\telementValue: function( element ) {\n\t\t\tvar $element = $( element ),\n\t\t\t\ttype = element.type,\n\t\t\t\tisContentEditable = typeof $element.attr( \"contenteditable\" ) !== \"undefined\" && $element.attr( \"contenteditable\" ) !== \"false\",\n\t\t\t\tval, idx;\n\n\t\t\tif ( type === \"radio\" || type === \"checkbox\" ) {\n\t\t\t\treturn this.findByName( element.name ).filter( \":checked\" ).val();\n\t\t\t} else if ( type === \"number\" && typeof element.validity !== \"undefined\" ) {\n\t\t\t\treturn element.validity.badInput ? \"NaN\" : $element.val();\n\t\t\t}\n\n\t\t\tif ( isContentEditable ) {\n\t\t\t\tval = $element.text();\n\t\t\t} else {\n\t\t\t\tval = $element.val();\n\t\t\t}\n\n\t\t\tif ( type === \"file\" ) {\n\n\t\t\t\t// Modern browser (chrome & safari)\n\t\t\t\tif ( val.substr( 0, 12 ) === \"C:\\\\fakepath\\\\\" ) {\n\t\t\t\t\treturn val.substr( 12 );\n\t\t\t\t}\n\n\t\t\t\t// Legacy browsers\n\t\t\t\t// Unix-based path\n\t\t\t\tidx = val.lastIndexOf( \"/\" );\n\t\t\t\tif ( idx >= 0 ) {\n\t\t\t\t\treturn val.substr( idx + 1 );\n\t\t\t\t}\n\n\t\t\t\t// Windows-based path\n\t\t\t\tidx = val.lastIndexOf( \"\\\\\" );\n\t\t\t\tif ( idx >= 0 ) {\n\t\t\t\t\treturn val.substr( idx + 1 );\n\t\t\t\t}\n\n\t\t\t\t// Just the file name\n\t\t\t\treturn val;\n\t\t\t}\n\n\t\t\tif ( typeof val === \"string\" ) {\n\t\t\t\treturn val.replace( /\\r/g, \"\" );\n\t\t\t}\n\t\t\treturn val;\n\t\t},\n\n\t\tcheck: function( element ) {\n\t\t\telement = this.validationTargetFor( this.clean( element ) );\n\n\t\t\tvar rules = $( element ).rules(),\n\t\t\t\trulesCount = $.map( rules, function( n, i ) {\n\t\t\t\t\treturn i;\n\t\t\t\t} ).length,\n\t\t\t\tdependencyMismatch = false,\n\t\t\t\tval = this.elementValue( element ),\n\t\t\t\tresult, method, rule, normalizer;\n\n\t\t\t// Prioritize the local normalizer defined for this element over the global one\n\t\t\t// if the former exists, otherwise user the global one in case it exists.\n\t\t\tif ( typeof rules.normalizer === \"function\" ) {\n\t\t\t\tnormalizer = rules.normalizer;\n\t\t\t} else if (\ttypeof this.settings.normalizer === \"function\" ) {\n\t\t\t\tnormalizer = this.settings.normalizer;\n\t\t\t}\n\n\t\t\t// If normalizer is defined, then call it to retreive the changed value instead\n\t\t\t// of using the real one.\n\t\t\t// Note that `this` in the normalizer is `element`.\n\t\t\tif ( normalizer ) {\n\t\t\t\tval = normalizer.call( element, val );\n\n\t\t\t\t// Delete the normalizer from rules to avoid treating it as a pre-defined method.\n\t\t\t\tdelete rules.normalizer;\n\t\t\t}\n\n\t\t\tfor ( method in rules ) {\n\t\t\t\trule = { method: method, parameters: rules[ method ] };\n\t\t\t\ttry {\n\t\t\t\t\tresult = $.validator.methods[ method ].call( this, val, element, rule.parameters );\n\n\t\t\t\t\t// If a method indicates that the field is optional and therefore valid,\n\t\t\t\t\t// don't mark it as valid when there are no other rules\n\t\t\t\t\tif ( result === \"dependency-mismatch\" && rulesCount === 1 ) {\n\t\t\t\t\t\tdependencyMismatch = true;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tdependencyMismatch = false;\n\n\t\t\t\t\tif ( result === \"pending\" ) {\n\t\t\t\t\t\tthis.toHide = this.toHide.not( this.errorsFor( element ) );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( !result ) {\n\t\t\t\t\t\tthis.formatAndAdd( element, rule );\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t} catch ( e ) {\n\t\t\t\t\tif ( this.settings.debug && window.console ) {\n\t\t\t\t\t\tconsole.log( \"Exception occurred when checking element \" + element.id + \", check the '\" + rule.method + \"' method.\", e );\n\t\t\t\t\t}\n\t\t\t\t\tif ( e instanceof TypeError ) {\n\t\t\t\t\t\te.message += \". Exception occurred when checking element \" + element.id + \", check the '\" + rule.method + \"' method.\";\n\t\t\t\t\t}\n\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( dependencyMismatch ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( this.objectLength( rules ) ) {\n\t\t\t\tthis.successList.push( element );\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\t// Return the custom message for the given element and validation method\n\t\t// specified in the element's HTML5 data attribute\n\t\t// return the generic message if present and no method specific message is present\n\t\tcustomDataMessage: function( element, method ) {\n\t\t\treturn $( element ).data( \"msg\" + method.charAt( 0 ).toUpperCase() +\n\t\t\t\tmethod.substring( 1 ).toLowerCase() ) || $( element ).data( \"msg\" );\n\t\t},\n\n\t\t// Return the custom message for the given element name and validation method\n\t\tcustomMessage: function( name, method ) {\n\t\t\tvar m = this.settings.messages[ name ];\n\t\t\treturn m && ( m.constructor === String ? m : m[ method ] );\n\t\t},\n\n\t\t// Return the first defined argument, allowing empty strings\n\t\tfindDefined: function() {\n\t\t\tfor ( var i = 0; i < arguments.length; i++ ) {\n\t\t\t\tif ( arguments[ i ] !== undefined ) {\n\t\t\t\t\treturn arguments[ i ];\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn undefined;\n\t\t},\n\n\t\t// The second parameter 'rule' used to be a string, and extended to an object literal\n\t\t// of the following form:\n\t\t// rule = {\n\t\t// method: \"method name\",\n\t\t// parameters: \"the given method parameters\"\n\t\t// }\n\t\t//\n\t\t// The old behavior still supported, kept to maintain backward compatibility with\n\t\t// old code, and will be removed in the next major release.\n\t\tdefaultMessage: function( element, rule ) {\n\t\t\tif ( typeof rule === \"string\" ) {\n\t\t\t\trule = { method: rule };\n\t\t\t}\n\n\t\t\tvar message = this.findDefined(\n\t\t\t\t\tthis.customMessage( element.name, rule.method ),\n\t\t\t\t\tthis.customDataMessage( element, rule.method ),\n\n\t\t\t\t\t// 'title' is never undefined, so handle empty string as undefined\n\t\t\t\t\t!this.settings.ignoreTitle && element.title || undefined,\n\t\t\t\t\t$.validator.messages[ rule.method ],\n\t\t\t\t\t\"Warning: No message defined for \" + element.name + \"\"\n\t\t\t\t),\n\t\t\t\ttheregex = /\\$?\\{(\\d+)\\}/g;\n\t\t\tif ( typeof message === \"function\" ) {\n\t\t\t\tmessage = message.call( this, rule.parameters, element );\n\t\t\t} else if ( theregex.test( message ) ) {\n\t\t\t\tmessage = $.validator.format( message.replace( theregex, \"{$1}\" ), rule.parameters );\n\t\t\t}\n\n\t\t\treturn message;\n\t\t},\n\n\t\tformatAndAdd: function( element, rule ) {\n\t\t\tvar message = this.defaultMessage( element, rule );\n\n\t\t\tthis.errorList.push( {\n\t\t\t\tmessage: message,\n\t\t\t\telement: element,\n\t\t\t\tmethod: rule.method\n\t\t\t} );\n\n\t\t\tthis.errorMap[ element.name ] = message;\n\t\t\tthis.submitted[ element.name ] = message;\n\t\t},\n\n\t\taddWrapper: function( toToggle ) {\n\t\t\tif ( this.settings.wrapper ) {\n\t\t\t\ttoToggle = toToggle.add( toToggle.parent( this.settings.wrapper ) );\n\t\t\t}\n\t\t\treturn toToggle;\n\t\t},\n\n\t\tdefaultShowErrors: function() {\n\t\t\tvar i, elements, error;\n\t\t\tfor ( i = 0; this.errorList[ i ]; i++ ) {\n\t\t\t\terror = this.errorList[ i ];\n\t\t\t\tif ( this.settings.highlight ) {\n\t\t\t\t\tthis.settings.highlight.call( this, error.element, this.settings.errorClass, this.settings.validClass );\n\t\t\t\t}\n\t\t\t\tthis.showLabel( error.element, error.message );\n\t\t\t}\n\t\t\tif ( this.errorList.length ) {\n\t\t\t\tthis.toShow = this.toShow.add( this.containers );\n\t\t\t}\n\t\t\tif ( this.settings.success ) {\n\t\t\t\tfor ( i = 0; this.successList[ i ]; i++ ) {\n\t\t\t\t\tthis.showLabel( this.successList[ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( this.settings.unhighlight ) {\n\t\t\t\tfor ( i = 0, elements = this.validElements(); elements[ i ]; i++ ) {\n\t\t\t\t\tthis.settings.unhighlight.call( this, elements[ i ], this.settings.errorClass, this.settings.validClass );\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.toHide = this.toHide.not( this.toShow );\n\t\t\tthis.hideErrors();\n\t\t\tthis.addWrapper( this.toShow ).show();\n\t\t},\n\n\t\tvalidElements: function() {\n\t\t\treturn this.currentElements.not( this.invalidElements() );\n\t\t},\n\n\t\tinvalidElements: function() {\n\t\t\treturn $( this.errorList ).map( function() {\n\t\t\t\treturn this.element;\n\t\t\t} );\n\t\t},\n\n\t\tshowLabel: function( element, message ) {\n\t\t\tvar place, group, errorID, v,\n\t\t\t\terror = this.errorsFor( element ),\n\t\t\t\telementID = this.idOrName( element ),\n\t\t\t\tdescribedBy = $( element ).attr( \"aria-describedby\" );\n\n\t\t\tif ( error.length ) {\n\n\t\t\t\t// Refresh error/success class\n\t\t\t\terror.removeClass( this.settings.validClass ).addClass( this.settings.errorClass );\n\n\t\t\t\t// Replace message on existing label\n\t\t\t\terror.html( message );\n\t\t\t} else {\n\n\t\t\t\t// Create error element\n\t\t\t\terror = $( \"<\" + this.settings.errorElement + \">\" )\n\t\t\t\t\t.attr( \"id\", elementID + \"-error\" )\n\t\t\t\t\t.addClass( this.settings.errorClass )\n\t\t\t\t\t.html( message || \"\" );\n\n\t\t\t\t// Maintain reference to the element to be placed into the DOM\n\t\t\t\tplace = error;\n\t\t\t\tif ( this.settings.wrapper ) {\n\n\t\t\t\t\t// Make sure the element is visible, even in IE\n\t\t\t\t\t// actually showing the wrapped element is handled elsewhere\n\t\t\t\t\tplace = error.hide().show().wrap( \"<\" + this.settings.wrapper + \"/>\" ).parent();\n\t\t\t\t}\n\t\t\t\tif ( this.labelContainer.length ) {\n\t\t\t\t\tthis.labelContainer.append( place );\n\t\t\t\t} else if ( this.settings.errorPlacement ) {\n\t\t\t\t\tthis.settings.errorPlacement.call( this, place, $( element ) );\n\t\t\t\t} else {\n\t\t\t\t\tplace.insertAfter( element );\n\t\t\t\t}\n\n\t\t\t\t// Link error back to the element\n\t\t\t\tif ( error.is( \"label\" ) ) {\n\n\t\t\t\t\t// If the error is a label, then associate using 'for'\n\t\t\t\t\terror.attr( \"for\", elementID );\n\n\t\t\t\t\t// If the element is not a child of an associated label, then it's necessary\n\t\t\t\t\t// to explicitly apply aria-describedby\n\t\t\t\t} else if ( error.parents( \"label[for='\" + this.escapeCssMeta( elementID ) + \"']\" ).length === 0 ) {\n\t\t\t\t\terrorID = error.attr( \"id\" );\n\n\t\t\t\t\t// Respect existing non-error aria-describedby\n\t\t\t\t\tif ( !describedBy ) {\n\t\t\t\t\t\tdescribedBy = errorID;\n\t\t\t\t\t} else if ( !describedBy.match( new RegExp( \"\\\\b\" + this.escapeCssMeta( errorID ) + \"\\\\b\" ) ) ) {\n\n\t\t\t\t\t\t// Add to end of list if not already present\n\t\t\t\t\t\tdescribedBy += \" \" + errorID;\n\t\t\t\t\t}\n\t\t\t\t\t$( element ).attr( \"aria-describedby\", describedBy );\n\n\t\t\t\t\t// If this element is grouped, then assign to all elements in the same group\n\t\t\t\t\tgroup = this.groups[ element.name ];\n\t\t\t\t\tif ( group ) {\n\t\t\t\t\t\tv = this;\n\t\t\t\t\t\t$.each( v.groups, function( name, testgroup ) {\n\t\t\t\t\t\t\tif ( testgroup === group ) {\n\t\t\t\t\t\t\t\t$( \"[name='\" + v.escapeCssMeta( name ) + \"']\", v.currentForm )\n\t\t\t\t\t\t\t\t\t.attr( \"aria-describedby\", error.attr( \"id\" ) );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( !message && this.settings.success ) {\n\t\t\t\terror.text( \"\" );\n\t\t\t\tif ( typeof this.settings.success === \"string\" ) {\n\t\t\t\t\terror.addClass( this.settings.success );\n\t\t\t\t} else {\n\t\t\t\t\tthis.settings.success( error, element );\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.toShow = this.toShow.add( error );\n\t\t},\n\n\t\terrorsFor: function( element ) {\n\t\t\tvar name = this.escapeCssMeta( this.idOrName( element ) ),\n\t\t\t\tdescriber = $( element ).attr( \"aria-describedby\" ),\n\t\t\t\tselector = \"label[for='\" + name + \"'], label[for='\" + name + \"'] *\";\n\n\t\t\t// 'aria-describedby' should directly reference the error element\n\t\t\tif ( describer ) {\n\t\t\t\tselector = selector + \", #\" + this.escapeCssMeta( describer )\n\t\t\t\t\t.replace( /\\s+/g, \", #\" );\n\t\t\t}\n\n\t\t\treturn this\n\t\t\t\t.errors()\n\t\t\t\t.filter( selector );\n\t\t},\n\n\t\t// See https://api.jquery.com/category/selectors/, for CSS\n\t\t// meta-characters that should be escaped in order to be used with JQuery\n\t\t// as a literal part of a name/id or any selector.\n\t\tescapeCssMeta: function( string ) {\n\t\t\tif ( string === undefined ) {\n\t\t\t\treturn \"\";\n\t\t\t}\n\n\t\t\treturn string.replace( /([\\\\!\"#$%&'()*+,./:;<=>?@\\[\\]^`{|}~])/g, \"\\\\$1\" );\n\t\t},\n\n\t\tidOrName: function( element ) {\n\t\t\treturn this.groups[ element.name ] || ( this.checkable( element ) ? element.name : element.id || element.name );\n\t\t},\n\n\t\tvalidationTargetFor: function( element ) {\n\n\t\t\t// If radio/checkbox, validate first element in group instead\n\t\t\tif ( this.checkable( element ) ) {\n\t\t\t\telement = this.findByName( element.name );\n\t\t\t}\n\n\t\t\t// Always apply ignore filter\n\t\t\treturn $( element ).not( this.settings.ignore )[ 0 ];\n\t\t},\n\n\t\tcheckable: function( element ) {\n\t\t\treturn ( /radio|checkbox/i ).test( element.type );\n\t\t},\n\n\t\tfindByName: function( name ) {\n\t\t\treturn $( this.currentForm ).find( \"[name='\" + this.escapeCssMeta( name ) + \"']\" );\n\t\t},\n\n\t\tgetLength: function( value, element ) {\n\t\t\tswitch ( element.nodeName.toLowerCase() ) {\n\t\t\tcase \"select\":\n\t\t\t\treturn $( \"option:selected\", element ).length;\n\t\t\tcase \"input\":\n\t\t\t\tif ( this.checkable( element ) ) {\n\t\t\t\t\treturn this.findByName( element.name ).filter( \":checked\" ).length;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn value.length;\n\t\t},\n\n\t\tdepend: function( param, element ) {\n\t\t\treturn this.dependTypes[ typeof param ] ? this.dependTypes[ typeof param ]( param, element ) : true;\n\t\t},\n\n\t\tdependTypes: {\n\t\t\t\"boolean\": function( param ) {\n\t\t\t\treturn param;\n\t\t\t},\n\t\t\t\"string\": function( param, element ) {\n\t\t\t\treturn !!$( param, element.form ).length;\n\t\t\t},\n\t\t\t\"function\": function( param, element ) {\n\t\t\t\treturn param( element );\n\t\t\t}\n\t\t},\n\n\t\toptional: function( element ) {\n\t\t\tvar val = this.elementValue( element );\n\t\t\treturn !$.validator.methods.required.call( this, val, element ) && \"dependency-mismatch\";\n\t\t},\n\n\t\tstartRequest: function( element ) {\n\t\t\tif ( !this.pending[ element.name ] ) {\n\t\t\t\tthis.pendingRequest++;\n\t\t\t\t$( element ).addClass( this.settings.pendingClass );\n\t\t\t\tthis.pending[ element.name ] = true;\n\t\t\t}\n\t\t},\n\n\t\tstopRequest: function( element, valid ) {\n\t\t\tthis.pendingRequest--;\n\n\t\t\t// Sometimes synchronization fails, make sure pendingRequest is never < 0\n\t\t\tif ( this.pendingRequest < 0 ) {\n\t\t\t\tthis.pendingRequest = 0;\n\t\t\t}\n\t\t\tdelete this.pending[ element.name ];\n\t\t\t$( element ).removeClass( this.settings.pendingClass );\n\t\t\tif ( valid && this.pendingRequest === 0 && this.formSubmitted && this.form() && this.pendingRequest === 0 ) {\n\t\t\t\t$( this.currentForm ).trigger( \"submit\" );\n\n\t\t\t\t// Remove the hidden input that was used as a replacement for the\n\t\t\t\t// missing submit button. The hidden input is added by `handle()`\n\t\t\t\t// to ensure that the value of the used submit button is passed on\n\t\t\t\t// for scripted submits triggered by this method\n\t\t\t\tif ( this.submitButton ) {\n\t\t\t\t\t$( \"input:hidden[name='\" + this.submitButton.name + \"']\", this.currentForm ).remove();\n\t\t\t\t}\n\n\t\t\t\tthis.formSubmitted = false;\n\t\t\t} else if ( !valid && this.pendingRequest === 0 && this.formSubmitted ) {\n\t\t\t\t$( this.currentForm ).triggerHandler( \"invalid-form\", [ this ] );\n\t\t\t\tthis.formSubmitted = false;\n\t\t\t}\n\t\t},\n\n\t\tpreviousValue: function( element, method ) {\n\t\t\tmethod = typeof method === \"string\" && method || \"remote\";\n\n\t\t\treturn $.data( element, \"previousValue\" ) || $.data( element, \"previousValue\", {\n\t\t\t\told: null,\n\t\t\t\tvalid: true,\n\t\t\t\tmessage: this.defaultMessage( element, { method: method } )\n\t\t\t} );\n\t\t},\n\n\t\t// Cleans up all forms and elements, removes validator-specific events\n\t\tdestroy: function() {\n\t\t\tthis.resetForm();\n\n\t\t\t$( this.currentForm )\n\t\t\t\t.off( \".validate\" )\n\t\t\t\t.removeData( \"validator\" )\n\t\t\t\t.find( \".validate-equalTo-blur\" )\n\t\t\t\t\t.off( \".validate-equalTo\" )\n\t\t\t\t\t.removeClass( \"validate-equalTo-blur\" )\n\t\t\t\t.find( \".validate-lessThan-blur\" )\n\t\t\t\t\t.off( \".validate-lessThan\" )\n\t\t\t\t\t.removeClass( \"validate-lessThan-blur\" )\n\t\t\t\t.find( \".validate-lessThanEqual-blur\" )\n\t\t\t\t\t.off( \".validate-lessThanEqual\" )\n\t\t\t\t\t.removeClass( \"validate-lessThanEqual-blur\" )\n\t\t\t\t.find( \".validate-greaterThanEqual-blur\" )\n\t\t\t\t\t.off( \".validate-greaterThanEqual\" )\n\t\t\t\t\t.removeClass( \"validate-greaterThanEqual-blur\" )\n\t\t\t\t.find( \".validate-greaterThan-blur\" )\n\t\t\t\t\t.off( \".validate-greaterThan\" )\n\t\t\t\t\t.removeClass( \"validate-greaterThan-blur\" );\n\t\t}\n\n\t},\n\n\tclassRuleSettings: {\n\t\trequired: { required: true },\n\t\temail: { email: true },\n\t\turl: { url: true },\n\t\tdate: { date: true },\n\t\tdateISO: { dateISO: true },\n\t\tnumber: { number: true },\n\t\tdigits: { digits: true },\n\t\tcreditcard: { creditcard: true }\n\t},\n\n\taddClassRules: function( className, rules ) {\n\t\tif ( className.constructor === String ) {\n\t\t\tthis.classRuleSettings[ className ] = rules;\n\t\t} else {\n\t\t\t$.extend( this.classRuleSettings, className );\n\t\t}\n\t},\n\n\tclassRules: function( element ) {\n\t\tvar rules = {},\n\t\t\tclasses = $( element ).attr( \"class\" );\n\n\t\tif ( classes ) {\n\t\t\t$.each( classes.split( \" \" ), function() {\n\t\t\t\tif ( this in $.validator.classRuleSettings ) {\n\t\t\t\t\t$.extend( rules, $.validator.classRuleSettings[ this ] );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t\treturn rules;\n\t},\n\n\tnormalizeAttributeRule: function( rules, type, method, value ) {\n\n\t\t// Convert the value to a number for number inputs, and for text for backwards compability\n\t\t// allows type=\"date\" and others to be compared as strings\n\t\tif ( /min|max|step/.test( method ) && ( type === null || /number|range|text/.test( type ) ) ) {\n\t\t\tvalue = Number( value );\n\n\t\t\t// Support Opera Mini, which returns NaN for undefined minlength\n\t\t\tif ( isNaN( value ) ) {\n\t\t\t\tvalue = undefined;\n\t\t\t}\n\t\t}\n\n\t\tif ( value || value === 0 ) {\n\t\t\trules[ method ] = value;\n\t\t} else if ( type === method && type !== \"range\" ) {\n\n\t\t\t// Exception: the jquery validate 'range' method\n\t\t\t// does not test for the html5 'range' type\n\t\t\trules[ type === \"date\" ? \"dateISO\" : method ] = true;\n\t\t}\n\t},\n\n\tattributeRules: function( element ) {\n\t\tvar rules = {},\n\t\t\t$element = $( element ),\n\t\t\ttype = element.getAttribute( \"type\" ),\n\t\t\tmethod, value;\n\n\t\tfor ( method in $.validator.methods ) {\n\n\t\t\t// Support for in both html5 and older browsers\n\t\t\tif ( method === \"required\" ) {\n\t\t\t\tvalue = element.getAttribute( method );\n\n\t\t\t\t// Some browsers return an empty string for the required attribute\n\t\t\t\t// and non-HTML5 browsers might have required=\"\" markup\n\t\t\t\tif ( value === \"\" ) {\n\t\t\t\t\tvalue = true;\n\t\t\t\t}\n\n\t\t\t\t// Force non-HTML5 browsers to return bool\n\t\t\t\tvalue = !!value;\n\t\t\t} else {\n\t\t\t\tvalue = $element.attr( method );\n\t\t\t}\n\n\t\t\tthis.normalizeAttributeRule( rules, type, method, value );\n\t\t}\n\n\t\t// 'maxlength' may be returned as -1, 2147483647 ( IE ) and 524288 ( safari ) for text inputs\n\t\tif ( rules.maxlength && /-1|2147483647|524288/.test( rules.maxlength ) ) {\n\t\t\tdelete rules.maxlength;\n\t\t}\n\n\t\treturn rules;\n\t},\n\n\tdataRules: function( element ) {\n\t\tvar rules = {},\n\t\t\t$element = $( element ),\n\t\t\ttype = element.getAttribute( \"type\" ),\n\t\t\tmethod, value;\n\n\t\tfor ( method in $.validator.methods ) {\n\t\t\tvalue = $element.data( \"rule\" + method.charAt( 0 ).toUpperCase() + method.substring( 1 ).toLowerCase() );\n\n\t\t\t// Cast empty attributes like `data-rule-required` to `true`\n\t\t\tif ( value === \"\" ) {\n\t\t\t\tvalue = true;\n\t\t\t}\n\n\t\t\tthis.normalizeAttributeRule( rules, type, method, value );\n\t\t}\n\t\treturn rules;\n\t},\n\n\tstaticRules: function( element ) {\n\t\tvar rules = {},\n\t\t\tvalidator = $.data( element.form, \"validator\" );\n\n\t\tif ( validator.settings.rules ) {\n\t\t\trules = $.validator.normalizeRule( validator.settings.rules[ element.name ] ) || {};\n\t\t}\n\t\treturn rules;\n\t},\n\n\tnormalizeRules: function( rules, element ) {\n\n\t\t// Handle dependency check\n\t\t$.each( rules, function( prop, val ) {\n\n\t\t\t// Ignore rule when param is explicitly false, eg. required:false\n\t\t\tif ( val === false ) {\n\t\t\t\tdelete rules[ prop ];\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( val.param || val.depends ) {\n\t\t\t\tvar keepRule = true;\n\t\t\t\tswitch ( typeof val.depends ) {\n\t\t\t\tcase \"string\":\n\t\t\t\t\tkeepRule = !!$( val.depends, element.form ).length;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"function\":\n\t\t\t\t\tkeepRule = val.depends.call( element, element );\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif ( keepRule ) {\n\t\t\t\t\trules[ prop ] = val.param !== undefined ? val.param : true;\n\t\t\t\t} else {\n\t\t\t\t\t$.data( element.form, \"validator\" ).resetElements( $( element ) );\n\t\t\t\t\tdelete rules[ prop ];\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\t// Evaluate parameters\n\t\t$.each( rules, function( rule, parameter ) {\n\t\t\trules[ rule ] = typeof parameter === \"function\" && rule !== \"normalizer\" ? parameter( element ) : parameter;\n\t\t} );\n\n\t\t// Clean number parameters\n\t\t$.each( [ \"minlength\", \"maxlength\" ], function() {\n\t\t\tif ( rules[ this ] ) {\n\t\t\t\trules[ this ] = Number( rules[ this ] );\n\t\t\t}\n\t\t} );\n\t\t$.each( [ \"rangelength\", \"range\" ], function() {\n\t\t\tvar parts;\n\t\t\tif ( rules[ this ] ) {\n\t\t\t\tif ( Array.isArray( rules[ this ] ) ) {\n\t\t\t\t\trules[ this ] = [ Number( rules[ this ][ 0 ] ), Number( rules[ this ][ 1 ] ) ];\n\t\t\t\t} else if ( typeof rules[ this ] === \"string\" ) {\n\t\t\t\t\tparts = rules[ this ].replace( /[\\[\\]]/g, \"\" ).split( /[\\s,]+/ );\n\t\t\t\t\trules[ this ] = [ Number( parts[ 0 ] ), Number( parts[ 1 ] ) ];\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\tif ( $.validator.autoCreateRanges ) {\n\n\t\t\t// Auto-create ranges\n\t\t\tif ( rules.min != null && rules.max != null ) {\n\t\t\t\trules.range = [ rules.min, rules.max ];\n\t\t\t\tdelete rules.min;\n\t\t\t\tdelete rules.max;\n\t\t\t}\n\t\t\tif ( rules.minlength != null && rules.maxlength != null ) {\n\t\t\t\trules.rangelength = [ rules.minlength, rules.maxlength ];\n\t\t\t\tdelete rules.minlength;\n\t\t\t\tdelete rules.maxlength;\n\t\t\t}\n\t\t}\n\n\t\treturn rules;\n\t},\n\n\t// Converts a simple string to a {string: true} rule, e.g., \"required\" to {required:true}\n\tnormalizeRule: function( data ) {\n\t\tif ( typeof data === \"string\" ) {\n\t\t\tvar transformed = {};\n\t\t\t$.each( data.split( /\\s/ ), function() {\n\t\t\t\ttransformed[ this ] = true;\n\t\t\t} );\n\t\t\tdata = transformed;\n\t\t}\n\t\treturn data;\n\t},\n\n\t// https://jqueryvalidation.org/jQuery.validator.addMethod/\n\taddMethod: function( name, method, message ) {\n\t\t$.validator.methods[ name ] = method;\n\t\t$.validator.messages[ name ] = message !== undefined ? message : $.validator.messages[ name ];\n\t\tif ( method.length < 3 ) {\n\t\t\t$.validator.addClassRules( name, $.validator.normalizeRule( name ) );\n\t\t}\n\t},\n\n\t// https://jqueryvalidation.org/jQuery.validator.methods/\n\tmethods: {\n\n\t\t// https://jqueryvalidation.org/required-method/\n\t\trequired: function( value, element, param ) {\n\n\t\t\t// Check if dependency is met\n\t\t\tif ( !this.depend( param, element ) ) {\n\t\t\t\treturn \"dependency-mismatch\";\n\t\t\t}\n\t\t\tif ( element.nodeName.toLowerCase() === \"select\" ) {\n\n\t\t\t\t// Could be an array for select-multiple or a string, both are fine this way\n\t\t\t\tvar val = $( element ).val();\n\t\t\t\treturn val && val.length > 0;\n\t\t\t}\n\t\t\tif ( this.checkable( element ) ) {\n\t\t\t\treturn this.getLength( value, element ) > 0;\n\t\t\t}\n\t\t\treturn value !== undefined && value !== null && value.length > 0;\n\t\t},\n\n\t\t// https://jqueryvalidation.org/email-method/\n\t\temail: function( value, element ) {\n\n\t\t\t// From https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address\n\t\t\t// Retrieved 2014-01-14\n\t\t\t// If you have a problem with this implementation, report a bug against the above spec\n\t\t\t// Or use custom methods to implement your own email validation\n\t\t\treturn this.optional( element ) || /^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test( value );\n\t\t},\n\n\t\t// https://jqueryvalidation.org/url-method/\n\t\turl: function( value, element ) {\n\n\t\t\t// Copyright (c) 2010-2013 Diego Perini, MIT licensed\n\t\t\t// https://gist.github.com/dperini/729294\n\t\t\t// see also https://mathiasbynens.be/demo/url-regex\n\t\t\t// modified to allow protocol-relative URLs\n\t\t\treturn this.optional( element ) || /^(?:(?:(?:https?|ftp):)?\\/\\/)(?:(?:[^\\]\\[?\\/<~#`!@$^&*()+=}|:\";',>{ ]|%[0-9A-Fa-f]{2})+(?::(?:[^\\]\\[?\\/<~#`!@$^&*()+=}|:\";',>{ ]|%[0-9A-Fa-f]{2})*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u00a1-\\uffff][a-z0-9\\u00a1-\\uffff_-]{0,62})?[a-z0-9\\u00a1-\\uffff]\\.)+(?:[a-z\\u00a1-\\uffff]{2,}\\.?))(?::\\d{2,5})?(?:[/?#]\\S*)?$/i.test( value );\n\t\t},\n\n\t\t// https://jqueryvalidation.org/date-method/\n\t\tdate: ( function() {\n\t\t\tvar called = false;\n\n\t\t\treturn function( value, element ) {\n\t\t\t\tif ( !called ) {\n\t\t\t\t\tcalled = true;\n\t\t\t\t\tif ( this.settings.debug && window.console ) {\n\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t\"The `date` method is deprecated and will be removed in version '2.0.0'.\\n\" +\n\t\t\t\t\t\t\t\"Please don't use it, since it relies on the Date constructor, which\\n\" +\n\t\t\t\t\t\t\t\"behaves very differently across browsers and locales. Use `dateISO`\\n\" +\n\t\t\t\t\t\t\t\"instead or one of the locale specific methods in `localizations/`\\n\" +\n\t\t\t\t\t\t\t\"and `additional-methods.js`.\"\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn this.optional( element ) || !/Invalid|NaN/.test( new Date( value ).toString() );\n\t\t\t};\n\t\t}() ),\n\n\t\t// https://jqueryvalidation.org/dateISO-method/\n\t\tdateISO: function( value, element ) {\n\t\t\treturn this.optional( element ) || /^\\d{4}[\\/\\-](0?[1-9]|1[012])[\\/\\-](0?[1-9]|[12][0-9]|3[01])$/.test( value );\n\t\t},\n\n\t\t// https://jqueryvalidation.org/number-method/\n\t\tnumber: function( value, element ) {\n\t\t\treturn this.optional( element ) || /^(?:-?\\d+|-?\\d{1,3}(?:,\\d{3})+)?(?:\\.\\d+)?$/.test( value );\n\t\t},\n\n\t\t// https://jqueryvalidation.org/digits-method/\n\t\tdigits: function( value, element ) {\n\t\t\treturn this.optional( element ) || /^\\d+$/.test( value );\n\t\t},\n\n\t\t// https://jqueryvalidation.org/minlength-method/\n\t\tminlength: function( value, element, param ) {\n\t\t\tvar length = Array.isArray( value ) ? value.length : this.getLength( value, element );\n\t\t\treturn this.optional( element ) || length >= param;\n\t\t},\n\n\t\t// https://jqueryvalidation.org/maxlength-method/\n\t\tmaxlength: function( value, element, param ) {\n\t\t\tvar length = Array.isArray( value ) ? value.length : this.getLength( value, element );\n\t\t\treturn this.optional( element ) || length <= param;\n\t\t},\n\n\t\t// https://jqueryvalidation.org/rangelength-method/\n\t\trangelength: function( value, element, param ) {\n\t\t\tvar length = Array.isArray( value ) ? value.length : this.getLength( value, element );\n\t\t\treturn this.optional( element ) || ( length >= param[ 0 ] && length <= param[ 1 ] );\n\t\t},\n\n\t\t// https://jqueryvalidation.org/min-method/\n\t\tmin: function( value, element, param ) {\n\t\t\treturn this.optional( element ) || value >= param;\n\t\t},\n\n\t\t// https://jqueryvalidation.org/max-method/\n\t\tmax: function( value, element, param ) {\n\t\t\treturn this.optional( element ) || value <= param;\n\t\t},\n\n\t\t// https://jqueryvalidation.org/range-method/\n\t\trange: function( value, element, param ) {\n\t\t\treturn this.optional( element ) || ( value >= param[ 0 ] && value <= param[ 1 ] );\n\t\t},\n\n\t\t// https://jqueryvalidation.org/step-method/\n\t\tstep: function( value, element, param ) {\n\t\t\tvar type = $( element ).attr( \"type\" ),\n\t\t\t\terrorMessage = \"Step attribute on input type \" + type + \" is not supported.\",\n\t\t\t\tsupportedTypes = [ \"text\", \"number\", \"range\" ],\n\t\t\t\tre = new RegExp( \"\\\\b\" + type + \"\\\\b\" ),\n\t\t\t\tnotSupported = type && !re.test( supportedTypes.join() ),\n\t\t\t\tdecimalPlaces = function( num ) {\n\t\t\t\t\tvar match = ( \"\" + num ).match( /(?:\\.(\\d+))?$/ );\n\t\t\t\t\tif ( !match ) {\n\t\t\t\t\t\treturn 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Number of digits right of decimal point.\n\t\t\t\t\treturn match[ 1 ] ? match[ 1 ].length : 0;\n\t\t\t\t},\n\t\t\t\ttoInt = function( num ) {\n\t\t\t\t\treturn Math.round( num * Math.pow( 10, decimals ) );\n\t\t\t\t},\n\t\t\t\tvalid = true,\n\t\t\t\tdecimals;\n\n\t\t\t// Works only for text, number and range input types\n\t\t\t// TODO find a way to support input types date, datetime, datetime-local, month, time and week\n\t\t\tif ( notSupported ) {\n\t\t\t\tthrow new Error( errorMessage );\n\t\t\t}\n\n\t\t\tdecimals = decimalPlaces( param );\n\n\t\t\t// Value can't have too many decimals\n\t\t\tif ( decimalPlaces( value ) > decimals || toInt( value ) % toInt( param ) !== 0 ) {\n\t\t\t\tvalid = false;\n\t\t\t}\n\n\t\t\treturn this.optional( element ) || valid;\n\t\t},\n\n\t\t// https://jqueryvalidation.org/equalTo-method/\n\t\tequalTo: function( value, element, param ) {\n\n\t\t\t// Bind to the blur event of the target in order to revalidate whenever the target field is updated\n\t\t\tvar target = $( param );\n\t\t\tif ( this.settings.onfocusout && target.not( \".validate-equalTo-blur\" ).length ) {\n\t\t\t\ttarget.addClass( \"validate-equalTo-blur\" ).on( \"blur.validate-equalTo\", function() {\n\t\t\t\t\t$( element ).valid();\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn value === target.val();\n\t\t},\n\n\t\t// https://jqueryvalidation.org/remote-method/\n\t\tremote: function( value, element, param, method ) {\n\t\t\tif ( this.optional( element ) ) {\n\t\t\t\treturn \"dependency-mismatch\";\n\t\t\t}\n\n\t\t\tmethod = typeof method === \"string\" && method || \"remote\";\n\n\t\t\tvar previous = this.previousValue( element, method ),\n\t\t\t\tvalidator, data, optionDataString;\n\n\t\t\tif ( !this.settings.messages[ element.name ] ) {\n\t\t\t\tthis.settings.messages[ element.name ] = {};\n\t\t\t}\n\t\t\tprevious.originalMessage = previous.originalMessage || this.settings.messages[ element.name ][ method ];\n\t\t\tthis.settings.messages[ element.name ][ method ] = previous.message;\n\n\t\t\tparam = typeof param === \"string\" && { url: param } || param;\n\t\t\toptionDataString = $.param( $.extend( { data: value }, param.data ) );\n\t\t\tif ( previous.old === optionDataString ) {\n\t\t\t\treturn previous.valid;\n\t\t\t}\n\n\t\t\tprevious.old = optionDataString;\n\t\t\tvalidator = this;\n\t\t\tthis.startRequest( element );\n\t\t\tdata = {};\n\t\t\tdata[ element.name ] = value;\n\t\t\t$.ajax( $.extend( true, {\n\t\t\t\tmode: \"abort\",\n\t\t\t\tport: \"validate\" + element.name,\n\t\t\t\tdataType: \"json\",\n\t\t\t\tdata: data,\n\t\t\t\tcontext: validator.currentForm,\n\t\t\t\tsuccess: function( response ) {\n\t\t\t\t\tvar valid = response === true || response === \"true\",\n\t\t\t\t\t\terrors, message, submitted;\n\n\t\t\t\t\tvalidator.settings.messages[ element.name ][ method ] = previous.originalMessage;\n\t\t\t\t\tif ( valid ) {\n\t\t\t\t\t\tsubmitted = validator.formSubmitted;\n\t\t\t\t\t\tvalidator.resetInternals();\n\t\t\t\t\t\tvalidator.toHide = validator.errorsFor( element );\n\t\t\t\t\t\tvalidator.formSubmitted = submitted;\n\t\t\t\t\t\tvalidator.successList.push( element );\n\t\t\t\t\t\tvalidator.invalid[ element.name ] = false;\n\t\t\t\t\t\tvalidator.showErrors();\n\t\t\t\t\t} else {\n\t\t\t\t\t\terrors = {};\n\t\t\t\t\t\tmessage = response || validator.defaultMessage( element, { method: method, parameters: value } );\n\t\t\t\t\t\terrors[ element.name ] = previous.message = message;\n\t\t\t\t\t\tvalidator.invalid[ element.name ] = true;\n\t\t\t\t\t\tvalidator.showErrors( errors );\n\t\t\t\t\t}\n\t\t\t\t\tprevious.valid = valid;\n\t\t\t\t\tvalidator.stopRequest( element, valid );\n\t\t\t\t}\n\t\t\t}, param ) );\n\t\t\treturn \"pending\";\n\t\t}\n\t}\n\n} );\n\n// Ajax mode: abort\n// usage: $.ajax({ mode: \"abort\"[, port: \"uniqueport\"]});\n// if mode:\"abort\" is used, the previous request on that port (port can be undefined) is aborted via XMLHttpRequest.abort()\n\nvar pendingRequests = {},\n\tajax;\n\n// Use a prefilter if available (1.5+)\nif ( $.ajaxPrefilter ) {\n\t$.ajaxPrefilter( function( settings, _, xhr ) {\n\t\tvar port = settings.port;\n\t\tif ( settings.mode === \"abort\" ) {\n\t\t\tif ( pendingRequests[ port ] ) {\n\t\t\t\tpendingRequests[ port ].abort();\n\t\t\t}\n\t\t\tpendingRequests[ port ] = xhr;\n\t\t}\n\t} );\n} else {\n\n\t// Proxy ajax\n\tajax = $.ajax;\n\t$.ajax = function( settings ) {\n\t\tvar mode = ( \"mode\" in settings ? settings : $.ajaxSettings ).mode,\n\t\t\tport = ( \"port\" in settings ? settings : $.ajaxSettings ).port;\n\t\tif ( mode === \"abort\" ) {\n\t\t\tif ( pendingRequests[ port ] ) {\n\t\t\t\tpendingRequests[ port ].abort();\n\t\t\t}\n\t\t\tpendingRequests[ port ] = ajax.apply( this, arguments );\n\t\t\treturn pendingRequests[ port ];\n\t\t}\n\t\treturn ajax.apply( this, arguments );\n\t};\n}\nreturn $;\n}));","// Unobtrusive validation support library for jQuery and jQuery Validate\r\n// Copyright (C) Microsoft Corporation. All rights reserved.\r\n// @version v3.2.10\r\n\r\n/*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: false */\r\n/*global document: false, jQuery: false */\r\n\r\n(function (factory) {\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD. Register as an anonymous module.\r\n define(\"jquery.validate.unobtrusive\", ['jquery-validation'], factory);\r\n } else if (typeof module === 'object' && module.exports) {\r\n // CommonJS-like environments that support module.exports \r\n module.exports = factory(require('jquery-validation'));\r\n } else {\r\n // Browser global\r\n jQuery.validator.unobtrusive = factory(jQuery);\r\n }\r\n}(function ($) {\r\n var $jQval = $.validator,\r\n adapters,\r\n data_validation = \"unobtrusiveValidation\";\r\n\r\n function setValidationValues(options, ruleName, value) {\r\n options.rules[ruleName] = value;\r\n if (options.message) {\r\n options.messages[ruleName] = options.message;\r\n }\r\n }\r\n\r\n function splitAndTrim(value) {\r\n return value.replace(/^\\s+|\\s+$/g, \"\").split(/\\s*,\\s*/g);\r\n }\r\n\r\n function escapeAttributeValue(value) {\r\n // As mentioned on http://api.jquery.com/category/selectors/\r\n return value.replace(/([!\"#$%&'()*+,./:;<=>?@\\[\\\\\\]^`{|}~])/g, \"\\\\$1\");\r\n }\r\n\r\n function getModelPrefix(fieldName) {\r\n return fieldName.substr(0, fieldName.lastIndexOf(\".\") + 1);\r\n }\r\n\r\n function appendModelPrefix(value, prefix) {\r\n if (value.indexOf(\"*.\") === 0) {\r\n value = value.replace(\"*.\", prefix);\r\n }\r\n return value;\r\n }\r\n\r\n function onError(error, inputElement) { // 'this' is the form element\r\n var container = $(this).find(\"[data-valmsg-for='\" + escapeAttributeValue(inputElement[0].name) + \"']\"),\r\n replaceAttrValue = container.attr(\"data-valmsg-replace\"),\r\n replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) !== false : null;\r\n\r\n container.removeClass(\"field-validation-valid\").addClass(\"field-validation-error\");\r\n error.data(\"unobtrusiveContainer\", container);\r\n\r\n if (replace) {\r\n container.empty();\r\n error.removeClass(\"input-validation-error\").appendTo(container);\r\n }\r\n else {\r\n error.hide();\r\n }\r\n }\r\n\r\n function onErrors(event, validator) { // 'this' is the form element\r\n var container = $(this).find(\"[data-valmsg-summary=true]\"),\r\n list = container.find(\"ul\");\r\n\r\n if (list && list.length && validator.errorList.length) {\r\n list.empty();\r\n container.addClass(\"validation-summary-errors\").removeClass(\"validation-summary-valid\");\r\n\r\n $.each(validator.errorList, function () {\r\n $(\"
  • \").html(this.message).appendTo(list);\r\n });\r\n }\r\n }\r\n\r\n function onSuccess(error) { // 'this' is the form element\r\n var container = error.data(\"unobtrusiveContainer\");\r\n\r\n if (container) {\r\n var replaceAttrValue = container.attr(\"data-valmsg-replace\"),\r\n replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) : null;\r\n\r\n container.addClass(\"field-validation-valid\").removeClass(\"field-validation-error\");\r\n error.removeData(\"unobtrusiveContainer\");\r\n\r\n if (replace) {\r\n container.empty();\r\n }\r\n }\r\n }\r\n\r\n function onReset(event) { // 'this' is the form element\r\n var $form = $(this),\r\n key = '__jquery_unobtrusive_validation_form_reset';\r\n if ($form.data(key)) {\r\n return;\r\n }\r\n // Set a flag that indicates we're currently resetting the form.\r\n $form.data(key, true);\r\n try {\r\n $form.data(\"validator\").resetForm();\r\n } finally {\r\n $form.removeData(key);\r\n }\r\n\r\n $form.find(\".validation-summary-errors\")\r\n .addClass(\"validation-summary-valid\")\r\n .removeClass(\"validation-summary-errors\");\r\n $form.find(\".field-validation-error\")\r\n .addClass(\"field-validation-valid\")\r\n .removeClass(\"field-validation-error\")\r\n .removeData(\"unobtrusiveContainer\")\r\n .find(\">*\") // If we were using valmsg-replace, get the underlying error\r\n .removeData(\"unobtrusiveContainer\");\r\n }\r\n\r\n function validationInfo(form) {\r\n var $form = $(form),\r\n result = $form.data(data_validation),\r\n onResetProxy = $.proxy(onReset, form),\r\n defaultOptions = $jQval.unobtrusive.options || {},\r\n execInContext = function (name, args) {\r\n var func = defaultOptions[name];\r\n func && $.isFunction(func) && func.apply(form, args);\r\n };\r\n\r\n if (!result) {\r\n result = {\r\n options: { // options structure passed to jQuery Validate's validate() method\r\n errorClass: defaultOptions.errorClass || \"input-validation-error\",\r\n errorElement: defaultOptions.errorElement || \"span\",\r\n errorPlacement: function () {\r\n onError.apply(form, arguments);\r\n execInContext(\"errorPlacement\", arguments);\r\n },\r\n invalidHandler: function () {\r\n onErrors.apply(form, arguments);\r\n execInContext(\"invalidHandler\", arguments);\r\n },\r\n messages: {},\r\n rules: {},\r\n success: function () {\r\n onSuccess.apply(form, arguments);\r\n execInContext(\"success\", arguments);\r\n }\r\n },\r\n attachValidation: function () {\r\n $form\r\n .off(\"reset.\" + data_validation, onResetProxy)\r\n .on(\"reset.\" + data_validation, onResetProxy)\r\n .validate(this.options);\r\n },\r\n validate: function () { // a validation function that is called by unobtrusive Ajax\r\n $form.validate();\r\n return $form.valid();\r\n }\r\n };\r\n $form.data(data_validation, result);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n $jQval.unobtrusive = {\r\n adapters: [],\r\n\r\n parseElement: function (element, skipAttach) {\r\n /// \r\n /// Parses a single HTML element for unobtrusive validation attributes.\r\n /// \r\n /// The HTML element to be parsed.\r\n /// [Optional] true to skip attaching the\r\n /// validation to the form. If parsing just this single element, you should specify true.\r\n /// If parsing several elements, you should specify false, and manually attach the validation\r\n /// to the form when you are finished. The default is false.\r\n var $element = $(element),\r\n form = $element.parents(\"form\")[0],\r\n valInfo, rules, messages;\r\n\r\n if (!form) { // Cannot do client-side validation without a form\r\n return;\r\n }\r\n\r\n valInfo = validationInfo(form);\r\n valInfo.options.rules[element.name] = rules = {};\r\n valInfo.options.messages[element.name] = messages = {};\r\n\r\n $.each(this.adapters, function () {\r\n var prefix = \"data-val-\" + this.name,\r\n message = $element.attr(prefix),\r\n paramValues = {};\r\n\r\n if (message !== undefined) { // Compare against undefined, because an empty message is legal (and falsy)\r\n prefix += \"-\";\r\n\r\n $.each(this.params, function () {\r\n paramValues[this] = $element.attr(prefix + this);\r\n });\r\n\r\n this.adapt({\r\n element: element,\r\n form: form,\r\n message: message,\r\n params: paramValues,\r\n rules: rules,\r\n messages: messages\r\n });\r\n }\r\n });\r\n\r\n $.extend(rules, { \"__dummy__\": true });\r\n\r\n if (!skipAttach) {\r\n valInfo.attachValidation();\r\n }\r\n },\r\n\r\n parse: function (selector) {\r\n /// \r\n /// Parses all the HTML elements in the specified selector. It looks for input elements decorated\r\n /// with the [data-val=true] attribute value and enables validation according to the data-val-*\r\n /// attribute values.\r\n /// \r\n /// Any valid jQuery selector.\r\n\r\n // $forms includes all forms in selector's DOM hierarchy (parent, children and self) that have at least one\r\n // element with data-val=true\r\n var $selector = $(selector),\r\n $forms = $selector.parents()\r\n .addBack()\r\n .filter(\"form\")\r\n .add($selector.find(\"form\"))\r\n .has(\"[data-val=true]\");\r\n\r\n $selector.find(\"[data-val=true]\").each(function () {\r\n $jQval.unobtrusive.parseElement(this, true);\r\n });\r\n\r\n $forms.each(function () {\r\n var info = validationInfo(this);\r\n if (info) {\r\n info.attachValidation();\r\n }\r\n });\r\n }\r\n };\r\n\r\n adapters = $jQval.unobtrusive.adapters;\r\n\r\n adapters.add = function (adapterName, params, fn) {\r\n /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation.\r\n /// The name of the adapter to be added. This matches the name used\r\n /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).\r\n /// [Optional] An array of parameter names (strings) that will\r\n /// be extracted from the data-val-nnnn-mmmm HTML attributes (where nnnn is the adapter name, and\r\n /// mmmm is the parameter name).\r\n /// The function to call, which adapts the values from the HTML\r\n /// attributes into jQuery Validate rules and/or messages.\r\n /// \r\n if (!fn) { // Called with no params, just a function\r\n fn = params;\r\n params = [];\r\n }\r\n this.push({ name: adapterName, params: params, adapt: fn });\r\n return this;\r\n };\r\n\r\n adapters.addBool = function (adapterName, ruleName) {\r\n /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where\r\n /// the jQuery Validate validation rule has no parameter values.\r\n /// The name of the adapter to be added. This matches the name used\r\n /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).\r\n /// [Optional] The name of the jQuery Validate rule. If not provided, the value\r\n /// of adapterName will be used instead.\r\n /// \r\n return this.add(adapterName, function (options) {\r\n setValidationValues(options, ruleName || adapterName, true);\r\n });\r\n };\r\n\r\n adapters.addMinMax = function (adapterName, minRuleName, maxRuleName, minMaxRuleName, minAttribute, maxAttribute) {\r\n /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where\r\n /// the jQuery Validate validation has three potential rules (one for min-only, one for max-only, and\r\n /// one for min-and-max). The HTML parameters are expected to be named -min and -max.\r\n /// The name of the adapter to be added. This matches the name used\r\n /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).\r\n /// The name of the jQuery Validate rule to be used when you only\r\n /// have a minimum value.\r\n /// The name of the jQuery Validate rule to be used when you only\r\n /// have a maximum value.\r\n /// The name of the jQuery Validate rule to be used when you\r\n /// have both a minimum and maximum value.\r\n /// [Optional] The name of the HTML attribute that\r\n /// contains the minimum value. The default is \"min\".\r\n /// [Optional] The name of the HTML attribute that\r\n /// contains the maximum value. The default is \"max\".\r\n /// \r\n return this.add(adapterName, [minAttribute || \"min\", maxAttribute || \"max\"], function (options) {\r\n var min = options.params.min,\r\n max = options.params.max;\r\n\r\n if (min && max) {\r\n setValidationValues(options, minMaxRuleName, [min, max]);\r\n }\r\n else if (min) {\r\n setValidationValues(options, minRuleName, min);\r\n }\r\n else if (max) {\r\n setValidationValues(options, maxRuleName, max);\r\n }\r\n });\r\n };\r\n\r\n adapters.addSingleVal = function (adapterName, attribute, ruleName) {\r\n /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where\r\n /// the jQuery Validate validation rule has a single value.\r\n /// The name of the adapter to be added. This matches the name used\r\n /// in the data-val-nnnn HTML attribute(where nnnn is the adapter name).\r\n /// [Optional] The name of the HTML attribute that contains the value.\r\n /// The default is \"val\".\r\n /// [Optional] The name of the jQuery Validate rule. If not provided, the value\r\n /// of adapterName will be used instead.\r\n /// \r\n return this.add(adapterName, [attribute || \"val\"], function (options) {\r\n setValidationValues(options, ruleName || adapterName, options.params[attribute]);\r\n });\r\n };\r\n\r\n $jQval.addMethod(\"__dummy__\", function (value, element, params) {\r\n return true;\r\n });\r\n\r\n $jQval.addMethod(\"regex\", function (value, element, params) {\r\n var match;\r\n if (this.optional(element)) {\r\n return true;\r\n }\r\n\r\n match = new RegExp(params).exec(value);\r\n return (match && (match.index === 0) && (match[0].length === value.length));\r\n });\r\n\r\n $jQval.addMethod(\"nonalphamin\", function (value, element, nonalphamin) {\r\n var match;\r\n if (nonalphamin) {\r\n match = value.match(/\\W/g);\r\n match = match && match.length >= nonalphamin;\r\n }\r\n return match;\r\n });\r\n\r\n if ($jQval.methods.extension) {\r\n adapters.addSingleVal(\"accept\", \"mimtype\");\r\n adapters.addSingleVal(\"extension\", \"extension\");\r\n } else {\r\n // for backward compatibility, when the 'extension' validation method does not exist, such as with versions\r\n // of JQuery Validation plugin prior to 1.10, we should use the 'accept' method for\r\n // validating the extension, and ignore mime-type validations as they are not supported.\r\n adapters.addSingleVal(\"extension\", \"extension\", \"accept\");\r\n }\r\n\r\n adapters.addSingleVal(\"regex\", \"pattern\");\r\n adapters.addBool(\"creditcard\").addBool(\"date\").addBool(\"digits\").addBool(\"email\").addBool(\"number\").addBool(\"url\");\r\n adapters.addMinMax(\"length\", \"minlength\", \"maxlength\", \"rangelength\").addMinMax(\"range\", \"min\", \"max\", \"range\");\r\n adapters.addMinMax(\"minlength\", \"minlength\").addMinMax(\"maxlength\", \"minlength\", \"maxlength\");\r\n adapters.add(\"equalto\", [\"other\"], function (options) {\r\n var prefix = getModelPrefix(options.element.name),\r\n other = options.params.other,\r\n fullOtherName = appendModelPrefix(other, prefix),\r\n element = $(options.form).find(\":input\").filter(\"[name='\" + escapeAttributeValue(fullOtherName) + \"']\")[0];\r\n\r\n setValidationValues(options, \"equalTo\", element);\r\n });\r\n adapters.add(\"required\", function (options) {\r\n // jQuery Validate equates \"required\" with \"mandatory\" for checkbox elements\r\n if (options.element.tagName.toUpperCase() !== \"INPUT\" || options.element.type.toUpperCase() !== \"CHECKBOX\") {\r\n setValidationValues(options, \"required\", true);\r\n }\r\n });\r\n adapters.add(\"remote\", [\"url\", \"type\", \"additionalfields\"], function (options) {\r\n var value = {\r\n url: options.params.url,\r\n type: options.params.type || \"GET\",\r\n data: {}\r\n },\r\n prefix = getModelPrefix(options.element.name);\r\n\r\n $.each(splitAndTrim(options.params.additionalfields || options.element.name), function (i, fieldName) {\r\n var paramName = appendModelPrefix(fieldName, prefix);\r\n value.data[paramName] = function () {\r\n var field = $(options.form).find(\":input\").filter(\"[name='\" + escapeAttributeValue(paramName) + \"']\");\r\n // For checkboxes and radio buttons, only pick up values from checked fields.\r\n if (field.is(\":checkbox\")) {\r\n return field.filter(\":checked\").val() || field.filter(\":hidden\").val() || '';\r\n }\r\n else if (field.is(\":radio\")) {\r\n return field.filter(\":checked\").val() || '';\r\n }\r\n return field.val();\r\n };\r\n });\r\n\r\n setValidationValues(options, \"remote\", value);\r\n });\r\n adapters.add(\"password\", [\"min\", \"nonalphamin\", \"regex\"], function (options) {\r\n if (options.params.min) {\r\n setValidationValues(options, \"minlength\", options.params.min);\r\n }\r\n if (options.params.nonalphamin) {\r\n setValidationValues(options, \"nonalphamin\", options.params.nonalphamin);\r\n }\r\n if (options.params.regex) {\r\n setValidationValues(options, \"regex\", options.params.regex);\r\n }\r\n });\r\n adapters.add(\"fileextensions\", [\"extensions\"], function (options) {\r\n setValidationValues(options, \"extension\", options.params.extensions);\r\n });\r\n\r\n $(function () {\r\n $jQval.unobtrusive.parse(document);\r\n });\r\n\r\n return $jQval.unobtrusive;\r\n}));","/*\r\n * jQuery.validity v1.3.6\r\n * http://validity.thatscaptaintoyou.com/\r\n * https://github.com/whatgoodisaroad/validity\r\n * \r\n * Dual licensed under MIT and GPL\r\n *\r\n * Date: 2013-10-01 (Tuesday, 01 October 2013)\r\n */\r\n(function(a,e){function d(b,c,f){var d=[];(b.reduction||b).filter(a.validity.settings.elementSupport).each(function(){c(this)?d.push(this):i(this,g(f,{field:o(this)}))});b.reduction=a(d);return b}function h(){if(a.validity.isValidating())a.validity.report.errors++,a.validity.report.valid=!1}function i(b,c){h();a.validity.out.raise(a(b),c)}function j(b,c){h();a.validity.out.raiseAggregate(b,c)}function k(b){var a=0;b.each(function(){var b=parseFloat(this.value);a+=isNaN(b)?0:b});return a}function g(b,\na){for(var f in a)a.hasOwnProperty(f)&&(b=b.replace(RegExp(\"#\\\\{\"+f+\"\\\\}\",\"g\"),a[f]));return m(b)}function o(b){var b=a(b),c=b.prop(\"id\"),f=a.validity.settings.defaultFieldName;if(b.prop(\"title\").length)f=b.prop(\"title\");else if(/^([A-Z0-9][a-z]*)+$/.test(c))f=c.replace(/([A-Z0-9])[a-z]*/g,\" $&\");else if(/^[a-z0-9]+(_[a-z0-9]+)*$/.test(c)){b=c.split(\"_\");for(c=0;c]*$/},messages:{require:\"#{field} is required.\",match:\"#{field} is in an invalid format.\",integer:\"#{field} must be a positive, whole number.\",date:\"#{field} must be formatted as a date. (mm/dd/yyyy)\",\nemail:\"#{field} must be formatted as an email.\",usd:\"#{field} must be formatted as a US Dollar amount.\",url:\"#{field} must be formatted as a URL.\",number:\"#{field} must be formatted as a number.\",zip:\"#{field} must be formatted as a zipcode ##### or #####-####.\",phone:\"#{field} must be formatted as a phone number ###-###-####.\",guid:\"#{field} must be formatted as a guid like {3F2504E0-4F89-11D3-9A0C-0305E82C3301}.\",time24:\"#{field} must be formatted as a 24 hour time: 23:00.\",time12:\"#{field} must be formatted as a 12 hour time: 12:00 AM/PM\",\nlessThan:\"#{field} must be less than #{max}.\",lessThanOrEqualTo:\"#{field} must be less than or equal to #{max}.\",greaterThan:\"#{field} must be greater than #{min}.\",greaterThanOrEqualTo:\"#{field} must be greater than or equal to #{min}.\",range:\"#{field} must be between #{min} and #{max}.\",tooLong:\"#{field} cannot be longer than #{max} characters.\",tooShort:\"#{field} cannot be shorter than #{min} characters.\",nonHtml:\"#{field} cannot contain HTML characters.\",alphabet:\"#{field} contains disallowed characters.\",\nminCharClass:\"#{field} cannot have more than #{min} #{charClass} characters.\",maxCharClass:\"#{field} cannot have less than #{min} #{charClass} characters.\",equal:\"Values don't match.\",distinct:\"A value was repeated.\",sum:\"Values don't add to #{sum}.\",sumMax:\"The sum of the values must be less than #{max}.\",sumMin:\"The sum of the values must be greater than #{min}.\",radioChecked:\"The selected value is not valid.\",generic:\"Invalid.\"},out:{start:function(){this.defer(\"start\")},end:function(b){this.defer(\"end\",\nb)},raise:function(b,a){this.defer(\"raise\",b,a)},raiseAggregate:function(b,a){this.defer(\"raiseAggregate\",b,a)},defer:function(b){var c=a.validity,c=c.outputs[c.settings.outputMode];c[b].apply(c,Array.prototype.slice.call(arguments,1))}},charClasses:{alphabetical:/\\w/g,numeric:/\\d/g,alphanumeric:/[A-Za-z0-9]/g,symbol:/[^A-Za-z0-9]/g},outputs:{},__private:e,setup:function(b){this.settings=a.extend(this.settings,b);this.__private=this.settings.debugPrivates?p:e},report:null,isValidating:function(){return!!this.report},\nstart:function(){this.out.start();this.report={errors:0,valid:!0}},end:function(){var b=this.report||{errors:0,valid:!0};this.report=null;this.out.end(b);return b},clear:function(){this.start();this.end()}};a.fn.extend({validity:function(b){return this.each(function(){var c=this;if(this.tagName.toLowerCase()==\"form\"){var f=null;typeof b==\"string\"?f=function(){a(b).require()}:a.isFunction(b)&&(f=b);b&&a(this).bind(\"submit\",function(){a.validity.start();f.apply(c);return a.validity.end().valid})}})},\nrequire:function(b){return d(this,function(b){return a(b).val()?a(b).val()!=null&&!!a(b).val().length:!1},b||a.validity.messages.require)},match:function(b,c){if(!c)c=a.validity.messages.match,typeof b===\"string\"&&a.validity.messages[b]&&(c=a.validity.messages[b]);typeof b==\"string\"&&(b=a.validity.patterns[b]);return d(this,a.isFunction(b)?function(a){return!a.value.length||b(a.value)}:function(a){if(b.global)b.lastIndex=0;return!a.value.length||b.test(a.value)},c)},range:function(b,c,f){return d(this,\nb.getTime&&c.getTime?function(a){a=new Date(a.value);return a>=new Date(b)&&a<=new Date(c)}:b.substring&&c.substring&&Big?function(a){a=new Big(a.value);return a.greaterThanOrEqualTo(new Big(b))&&a.lessThanOrEqualTo(new Big(c))}:function(a){a=parseFloat(a.value);return a>=b&&a<=c},f||g(a.validity.messages.range,{min:a.validity.settings.argToString(b),max:a.validity.settings.argToString(c)}))},greaterThan:function(b,c){return d(this,b.getTime?function(a){return new Date(a.value)>b}:b.substring&&Big?\nfunction(a){return(new Big(a.value)).greaterThan(new Big(b))}:function(a){return parseFloat(a.value)>b},c||g(a.validity.messages.greaterThan,{min:a.validity.settings.argToString(b)}))},greaterThanOrEqualTo:function(b,c){return d(this,b.getTime?function(a){return new Date(a.value)>=b}:b.substring&&Big?function(a){return(new Big(a.value)).greaterThanOrEqualTo(new Big(b))}:function(a){return parseFloat(a.value)>=b},c||g(a.validity.messages.greaterThanOrEqualTo,{min:a.validity.settings.argToString(b)}))},\nlessThan:function(b,c){return d(this,b.getTime?function(a){return new Date(a.value)=b},c||g(a.validity.messages.tooShort,{min:b}))},alphabet:function(b,c){var f=[];return d(this,function(a){for(var c=0;c=c},f||g(a.validity.messages.minCharClass,{min:c,charClass:b}))},maxCharClass:function(b,c,f){typeof b==\"string\"&&(b=b.toLowerCase(),a.validity.charClasses[b]&&(b=a.validity.charClasses[b]));return d(this,function(a){return(a.value.match(b)||[]).length<=c},\nf||g(a.validity.messages.maxCharClass,{max:c,charClass:b}))},nonHtml:function(b){return d(this,function(b){return a.validity.patterns.nonHtml.test(b.value)},b||a.validity.messages.nonHtml)},equal:function(b,c){var f=(this.reduction||this).filter(a.validity.settings.elementSupport),d=function(a){return a},e=a.validity.messages.equal;if(f.length){a.isFunction(b)?(d=b,typeof c==\"string\"&&(e=c)):typeof b==\"string\"&&(e=b);var h=a.map(f,function(a){return d(a.value)}),g=h[0],i=!0,l;for(l in h)h[l]!=g&&\n(i=!1);if(!i)j(f,e),this.reduction=a([])}return this},distinct:function(b,c){var d=(this.reduction||this).filter(a.validity.settings.elementSupport),e=function(a){return a},h=a.validity.messages.distinct,g=[],i=[],k=!0;if(d.length){a.isFunction(b)?(e=b,typeof c==\"string\"&&(h=c)):typeof b==\"string\"&&(h=b);for(var l=a.map(d,function(a){return e(a.value)}),n=0;nk(d))j(d,c||g(a.validity.messages.sumMin,{min:b})),this.reduction=a([]);return this},radioChecked:function(b,c){var d=(this.reduction||this).filter(a.validity.settings.elementSupport);d.is(\":radio\")&&d.find(\":checked\").val()!=b&&j(d,c||a.validity.messages.radioChecked)},radioNotChecked:function(b,c){var d=(this.reduction||this).filter(a.validity.settings.elementSupport);d.is(\":radio\")&&d.filter(\":checked\").val()==b&&j(d,c||a.validity.messages.radioChecked)},\ncheckboxChecked:function(b){return d(this,function(b){return!a(b).is(\":checkbox\")||a(b).is(\":checked\")},b||a.validity.messages.nonHtml)},assert:function(b,c){var e=this.reduction||this;if(e.length)if(a.isFunction(b))return d(this,b,c||a.validity.messages.generic);else if(!b)j(e,c||a.validity.messages.generic),this.reduction=a([]);return this},fail:function(a){return this.assert(!1,a)}});p={validate:d,addToReport:h,raiseError:i,raiseAggregateError:j,numericSum:k,format:g,infer:o,capitalize:m}})(jQuery);(function(a){a.validity.outputs.tooltip={tooltipClass:\"validity-tooltip\",start:function(){a(\".\"+a.validity.outputs.tooltip.tooltipClass).remove()},end:function(e){!e.valid&&a.validity.settings.scrollTo&&a(document).scrollTop(a(\".\"+a.validity.outputs.tooltip.tooltipClass).offset().top)},raise:function(e,d){var h=e.offset();h.left+=e.width()+18;h.top+=8;var i=a('
    '+d+'
    ').click(function(){e.focus();\na(this).fadeOut()}).css(h).hide().appendTo(\"body\").fadeIn();if(a.validity.settings.fadeOutTooltipsOnFocus)e.on(\"focus\",function(){i.fadeOut()})},raiseAggregate:function(a,d){a.length&&this.raise(a.filter(\":last\"),d)}}})(jQuery);\n(function(a){function e(a){return a.attr(\"id\").length?a.attr(\"id\"):a.attr(\"name\")}a.validity.outputs.label={cssClass:\"error\",start:function(){a(\".\"+a.validity.outputs.label.cssClass).remove()},end:function(d){if(!d.valid&&a.validity.settings.scrollTo)location.hash=a(\".\"+a.validity.outputs.label.cssClass+\":eq(0)\").attr(\"for\")},raise:function(d,h){var i=\".\"+a.validity.outputs.label.cssClass+\"[for='\"+e(d)+\"']\";a(i).length?a(i).text(h):a(\"
  • ');\r\n $elem.text(error.message);\r\n $elem.attr('from', error.origin);\r\n return $elem;\r\n }\r\n\r\n var $ul = $('
      ');\r\n searchErrors.append($ul);\r\n\r\n $.each(validationErrors, function (i, val) {\r\n $ul.append(validationMessage(val));\r\n });\r\n }\r\n\r\n var validationErrors = [];\r\n\r\n clearErrors();\r\n //loop through all instances\r\n $('.querybuilder-wrap .querybuilder-instance').each(function (i) {\r\n var $this = $(this);\r\n //process only the instances which are visible\r\n var instanceVisible = !$this.hasClass('hide');\r\n if (instanceVisible) {\r\n //find the search term (#QueryBuilderSearchTerm - parent Div: querybuilder-input-standard)\r\n var qbInputElement = $this.find('#instance_QueryBuilderSearchTerm');\r\n // If the default behaviour failed, fall back to OUP-specific class-name\r\n if (qbInputElement.length === 0) {\r\n qbInputElement = $this.find('.querybuilder-input').val().trim();\r\n }\r\n else {\r\n qbInputElement = qbInputElement.val().trim();\r\n }\r\n // remove the quotes from the qb component since it chokes on the back end\r\n // TODO: Fix back end so it can handle the quotes\r\n qbInputElement = qbInputElement.replace(/\\\"/g, \"\");\r\n //get the text and value for the dropdown item\r\n var qbSearchTypeDisplayName = $this.find('.querybuilder-filter-dropdown li.selected').text();\r\n var qbSearchTypeFieldName = $this.find('.querybuilder-filter-dropdown li.selected').attr('data-fieldname');\r\n\r\n //The 1st instance defaults to SearchTerm (\"q\") w/o any filter with the user having the abiliity to change it to a filter. \r\n var filterSpecifiedForSearchTerm = false;\r\n if (instanceIndex === 1) {\r\n\r\n var searchTerm = encodeURIComponent(qbInputElement);\r\n\r\n //check if user converted SearchTerm to a filter.\r\n if (typeof (qbSearchTypeFieldName) !== \"undefined\" && qbSearchTypeFieldName !== null && $.trim(qbSearchTypeFieldName) !== \"\" && searchTerm !== \"\") {\r\n //remove q parameter because searchTerm needs to be executed against a particular field\r\n var qTerm = SCM.Common.getQueryStringValue(currentDataUrl, \"q\");\r\n if (qTerm !== null && qTerm !== \"\") {\r\n qTerm = \"q=\" + qTerm + \"&\";\r\n currentDataUrl = currentDataUrl.replace(qTerm, \"\");\r\n }\r\n else {\r\n qbObject = new Object();\r\n }\r\n\r\n filterSpecifiedForSearchTerm = true;\r\n }\r\n else {\r\n //user didn't change the searchTerm to Filter - Execute this as \"q\"\r\n if (encodeURIComponent(currentSearchTerm) !== searchTerm) {\r\n // This check is for the q= parameter. Weird stuff happens when this parameter is missing (blank search).\r\n var startIndex = currentDataUrl.indexOf(\"q=\");\r\n if (startIndex >= 0 && currentDataUrl.indexOf(\"&\", startIndex) >= 0) {\r\n var currentQuery = SCM.Common.getQueryStringValue(currentDataUrl, \"q\");\r\n if (currentQuery !== null && currentQuery !== \"\") {\r\n currentQuery = \"q=\" + currentQuery + \"&\";\r\n currentDataUrl = currentDataUrl.replace(currentQuery, \"q=\" + searchTerm + \"&\");\r\n }\r\n else {\r\n currentDataUrl = \"q=\" + searchTerm + \"&\" + currentDataUrl;\r\n }\r\n } else {\r\n currentDataUrl = \"q=\" + searchTerm + \"&\" + currentDataUrl;\r\n }\r\n }\r\n\r\n //to identify this particular condition, setting this as \"q\" so Model can process it appropriately.\r\n qbObject.q = searchTerm;\r\n qbObjectInitialized = true;\r\n\r\n if (searchTerm === '') {\r\n currentDataUrl = currentDataUrl.replace(\"q=&\", \"\");\r\n return true;\r\n }\r\n\r\n //skip this iteration and process the next item.\r\n instanceIndex++;\r\n return true;\r\n }\r\n }\r\n\r\n switch (qbSearchTypeDisplayName) {\r\n case \"\":\r\n //User specified a value for searchTerm but didn't select an option from dropdown.\r\n //Same as All (searchTerm will be executed as Q)\r\n var keyOptionOrdinal = \"q\" + instanceIndex;\r\n if (qbInputElement !== \"\") {\r\n var qbSearchTerm = qbInputElement;\r\n currentDataUrl = updateDataUrlForAllOption(qbSearchTerm, currentDataUrl);\r\n qbObject[keyOptionOrdinal] = encodeURIComponent(qbSearchTerm);\r\n qbObjectInitialized = true;\r\n }\r\n break;\r\n case \"All\":\r\n if (qbInputElement !== \"\") {\r\n var qbSearchTerm = encodeURIComponent(qbInputElement);\r\n currentDataUrl = updateDataUrlForAllOption(qbSearchTerm, currentDataUrl);\r\n\r\n //Since there could me multiple \"All\"s, tagging ordinal to make them unique.\r\n var keyName = \"All\" + instanceIndex;\r\n if ((instanceIndex === 1 && filterSpecifiedForSearchTerm) || instanceIndex !== 1) {\r\n qbObject[keyName] = qbSearchTerm;\r\n qbObjectInitialized = true;\r\n }\r\n }\r\n break;\r\n case \"Citation\":\r\n var citationObj = {};\r\n\r\n //Since there could me multiple \"Citation\"s, tagging ordinal to make them unique.\r\n var keyCitationName = \"Citation\" + instanceIndex;\r\n\r\n var citationFields = [\r\n {\r\n id: \"#instance_CitationYear\",\r\n field: \"Year\",\r\n pattern: /^(?!0(0?){3})\\d(\\d?){3}$/,\r\n message: \"The 'Year' field only accepts numbers.\"\r\n },\r\n {\r\n id: \"#instance_CitationVolume\",\r\n field: \"Volume\"\r\n },\r\n {\r\n id: \"#instance_CitationIssueNo\",\r\n field: \"IssueNo\"\r\n },\r\n {\r\n id: \"#instance_CitationPage\",\r\n field: \"StartPage\"\r\n }\r\n ];\r\n\r\n $.each(citationFields, function (_, val) {\r\n var $field = $this.find(val.id);\r\n var value = $field.val().trim();\r\n\r\n if (!isNullOrEmpty(value)) {\r\n if (!qbObject[keyCitationName]) {\r\n qbObject[keyCitationName] = citationObj;\r\n qbObjectInitialized = true;\r\n }\r\n\r\n if (val.pattern && !val.pattern.test(value)) {\r\n $field.val(\"\");\r\n\r\n if ($.inArray(val.message, validationErrors) === -1) {\r\n validationErrors.push({ message: val.message, origin: 'qbInstance' + instanceIndex });\r\n }\r\n } else {\r\n citationObj[val.field] = value;\r\n }\r\n }\r\n });\r\n break;\r\n default:\r\n var keyDefName = qbSearchTypeFieldName + instanceIndex;\r\n if (qbInputElement !== \"\") {\r\n var qbSearchTerm = qbInputElement;\r\n qbObject[keyDefName] = encodeURIComponent(qbSearchTerm);\r\n qbObjectInitialized = true;\r\n }\r\n break;\r\n }\r\n\r\n }\r\n instanceIndex++;\r\n });\r\n\r\n if (validationErrors.length > 0) {\r\n displayErrors(validationErrors);\r\n $(\"#queryBuilderSubmit\").addClass('btn-green').removeAttr('style');\r\n return;\r\n }\r\n\r\n //remove pagination if exists\r\n var page = SCM.Common.getQueryStringValue(currentDataUrl, \"page\");\r\n\r\n if (currentDataUrl === \"page=1\") {\r\n currentDataUrl = \"&page=1\";\r\n }\r\n if (page !== null && page !== \"\") {\r\n currentDataUrl = currentDataUrl.replace(\"page=\" + page + \"&\", \"page=1&\");\r\n }\r\n\r\n queryString = currentDataUrl;\r\n\r\n if (qbObjectInitialized) {\r\n var qbObjectParms = JSON.stringify(qbObject);\r\n var oldQb = SCM.Common.getQueryStringValue(currentDataUrl, \"qb\");\r\n if (oldQb) {\r\n queryString = queryString.replace(oldQb, qbObjectParms);\r\n }\r\n else {\r\n queryString = queryString + \"&qb=\" + qbObjectParms;\r\n }\r\n }\r\n }\r\n SCM.QueryBuilder.defaults.beforeSearch();\r\n SCM.QueryBuilder.defaults.runSearch(queryString);\r\n }\r\n};\r\n\r\n//NARN-3759 - .startsWith is not supported by IE - Polyfill - BENC - 9/15/2016\r\nif (!String.prototype.startsWith) {\r\n String.prototype.startsWith = function (searchString, position) {\r\n position = position || 0;\r\n return this.indexOf(searchString, position) === position;\r\n };\r\n}\r\n\r\n//NARN-3759 - .endsWith is not supported by IE - Polyfill - BENC - 9/15/2016\r\nif (!String.prototype.endsWith) {\r\n String.prototype.endsWith = function (searchString, position) {\r\n var subjectString = this.toString();\r\n if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {\r\n position = subjectString.length;\r\n }\r\n position -= searchString.length;\r\n var lastIndex = subjectString.lastIndexOf(searchString, position);\r\n return lastIndex !== -1 && lastIndex === position;\r\n };\r\n}","/*\r\n * Behavior unique to OUP that was not covered in SCM.SharedWidgets.JournalCitationFilter.js\r\n*/\r\nvar SCM = SCM || {};\r\n\r\nSCM.OUPJournalCitationFilter = (function (ns, $) {\r\n var journalCitationToggleClass = '.js-journal-citation-filter-toggle';\r\n var collapsedIconClass = 'journal-citation-filter-icon-filled-down';\r\n var expandedIconClass = 'journal-citation-filter-icon-filled-up';\r\n\r\n function init() {\r\n $(document).on('click', journalCitationToggleClass, function () {\r\n citationDropdownToggle();\r\n });\r\n }\r\n\r\n //icon arrow aria expanded toggle\r\n function citationDropdownToggle() {\r\n var $journalCitationToggle = $('.js-journal-citation-filter-toggle');\r\n if ($journalCitationToggle.hasClass(collapsedIconClass)) {\r\n expandCitationDropdown($journalCitationToggle);\r\n } else {\r\n collapseCitationDropdown($journalCitationToggle);\r\n }\r\n }\r\n\r\n function expandCitationDropdown($journalCitationToggle) {\r\n $journalCitationToggle.attr('aria-expanded', 'true');\r\n $journalCitationToggle.removeClass(collapsedIconClass);\r\n $journalCitationToggle.addClass(expandedIconClass);\r\n }\r\n\r\n function collapseCitationDropdown($journalCitationToggle) {\r\n $journalCitationToggle.attr('aria-expanded', 'false');\r\n $journalCitationToggle.removeClass(expandedIconClass);\r\n $journalCitationToggle.addClass(collapsedIconClass);\r\n }\r\n\r\n return {\r\n init: init\r\n };\r\n\r\n})(SCM.OUPJournalCitationFilter = SCM.OUPJournalCitationFilter || {}, jQuery);\r\n\r\n$(document).ready(function () {\r\n if (!SCM.JournalCitationFilter.journalCitationFilterLoaded()) {\r\n return;\r\n }\r\n\r\n SCM.OUPJournalCitationFilter.init();\r\n});","/**\n* ArticleImageDetails Module\r\n* \r\n*/\n\nvar SCM = SCM || {};\n\nSCM.ArticleImageDetails = (function ($) {\n\n var _activationElement = null;\n\n /// Initializes Image modal containers to initially hide all elements and open a specific\n /// element based on state of input parameters. In addition, it initializes click events to \n /// active various events such as moving between between next and previous images and closing\n /// the modal\n /// Indicates which element by class name activates\n /// opening a particular modal\n /// Indicates whether the initialization code should open\n /// a specific modal.\n /// Indicates which modal to open based on the modal's\n /// id. \n /// \n function _init(activationElement, openImageModal, modalItemToOpen) {\n $(\".figureModalContainer\").hide();\r\n if (openImageModal === true) {\r\n $(\"#\" + modalItemToOpen).fadeToggle(200);\r\n _toggleBodyOverflow();\r\n \r\n _getCitation(modalItemToOpen);\r\n }\r\n\r\n _activationElement = activationElement;\r\n _moveModalsOutsideWidget();\r\n _enableHandlers();\r\n }\n\n function _moveModalsOutsideWidget() {\n var $modals = $('.figureModalContainer');\r\n $modals.remove();\r\n $('#multimediaGalleryModalWrapper').append($modals);\r\n }\n\n \n function _toggleBodyOverflow() {\n $(\"body\").toggleClass(\"modalOpen\");\r\n }\n\n function _enableHandlers() {\n _enableHandleOpenAndClose();\r\n \r\n _enableHandleClickFirstOrLastImage();\r\n _enableClickModalNavigation();\r\n _enableHandleClickOutsideModal();\n\n }\n function _disableHandlers() {\n _disableHandleOpenAndClose();\r\n _disableHandleClickFirstOrLastImage();\r\n _disableClickModalNavigation();\r\n _disableHandleClickOutsideModal();\n }\n\n //Declare this to save and access later to return focus to last active element.\n var lastActive;\n \n function _enableHandleOpenAndClose() {\n $(\".\" + _activationElement + \", .figureModal .close\").on('click', _handleOpenAndClose);\r\n }\n function _disableHandleOpenAndClose() {\n $(\".\" + _activationElement + \", .figureModal .close\").off('click', _handleOpenAndClose);\r\n }\n\n function _handleOpenAndClose(event) {\n event.preventDefault();\r\n event.stopPropagation();\r\n /* itemNum is the id of the modal element to open or close and\r\n * refers to a modal element in the same way the modalItemToOpen input \r\n * parameter does above\r\n */\r\n\r\n var itemNum = $(this).data(\"item\");\r\n\r\n $(\"#\" + itemNum).fadeToggle(200);\r\n\r\n $(\"#\" + itemNum).toggleClass('active-modal');\r\n\r\n _toggleBodyOverflow();\r\n\r\n _getCitation(itemNum);\r\n\r\n if ($('.active-modal').length) {\r\n _trapFocus();\r\n } else {\r\n lastActive.focus();\r\n }\r\n \r\n }\r\n\r\n //Store value for last active element before entering modal.\r\n $('.js-item-image').on('click', function () {\r\n lastActive = document.activeElement;\r\n });\r\n\r\n //This is called to search for the clickable elements within the active modal and prevent focus from escaping while in the modal.\r\n function _trapFocus() {\r\n \r\n var activeModal = document.querySelector('.active-modal .figureModal');\r\n var focusableEls = activeModal.querySelectorAll('a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type=\"text\"]:not([disabled]), input[type=\"radio\"]:not([disabled]), input[type=\"checkbox\"]:not([disabled]), select:not([disabled])');\r\n \r\n var firstFocusableEl = focusableEls[0];\r\n var lastFocusableEl = focusableEls[focusableEls.length - 1];\r\n var KEYCODE_TAB = 9;\r\n firstFocusableEl.focus();\r\n activeModal.addEventListener('keydown', function (e) {\r\n var isTabPressed = (e.key === 'Tab' || e.keyCode === KEYCODE_TAB);\r\n\r\n if (!isTabPressed) {\r\n return;\r\n }\r\n\r\n if (e.shiftKey) /* shift + tab */ {\r\n if (document.activeElement === firstFocusableEl) {\r\n lastFocusableEl.focus();\r\n e.preventDefault();\r\n }\r\n } else /* tab */ {\r\n if (document.activeElement === lastFocusableEl) {\r\n firstFocusableEl.focus();\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n });\r\n }\r\n \r\n \r\n function _getCitation(elementId) {\r\n var articleId = $(\"#\" + elementId).data('articleid');\r\n\r\n if (!articleId) {\r\n return;\r\n }\r\n\r\n $.ajax({\r\n type: \"POST\",\r\n url: '/Article/GetCitation',\r\n data: { articleID: articleId }\r\n })\r\n .done(function (result) {\r\n if (result) {\r\n document.getElementById(elementId).getElementsByClassName('citation')[0].innerHTML = result;\r\n }\r\n })\r\n .fail(function (result) {\r\n console.error(result.message);\r\n });\r\n }\n\n function _enableHandleClickFirstOrLastImage() {\n $('.js-item-image').first().on('click', _handleClickFirstOrLastImage);\r\n $('.js-item-image').last().on('click', _handleClickFirstOrLastImage);\r\n }\n function _disableHandleClickFirstOrLastImage() {\n $('.js-item-image').first().off('click', _handleClickFirstOrLastImage);\r\n $('.js-item-image').last().off('click', _handleClickFirstOrLastImage);\r\n }\n\n function _handleClickFirstOrLastImage(event) {\n event.preventDefault();\r\n event.stopPropagation();\n\n var thisNumber = $(this).data('item');\r\n \r\n _cachePrevOrNextPage($('#' + thisNumber));\r\n }\n\n function _enableClickModalNavigation() {\n $(\".js-previous-image-details, .js-next-image-details\").on('click', _handleModalNavigation);\n }\n function _disableClickModalNavigation() {\n $(\".js-previous-image-details, .js-next-image-details\").off('click', _handleModalNavigation);\r\n }\n\n function _handleModalNavigation(event) {\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n var $this = $(this);\r\n var currentItemNum = $this.data(\"item\");\r\n var $currentItem = $(\"#\" + currentItemNum);\r\n $currentItem.removeClass('active-modal');\r\n\r\n var newItemNum = $this.data(\"new-item\");\r\n var $newItem = $(\"#\" + newItemNum);\r\n $newItem.addClass('active-modal');\r\n \r\n if (newItemNum === \"newPage\") {\r\n var nextUrl = $this.data('url');\r\n var itemToOpen = $this.data('modal-open');\r\n\r\n _toggleBodyOverflow();\r\n\r\n SCM.SearchResults.doSolrSearch({\r\n queryString: nextUrl,\r\n openModal: itemToOpen\r\n });\r\n }\r\n else {\r\n _getCitation(newItemNum);\r\n }\r\n\r\n $newItem.toggle(function () { $currentItem.toggle(); });\r\n\r\n _cachePrevOrNextPage($newItem);\r\n _trapFocus();\r\n }\n\n function _cachePrevOrNextPage($newItem) {\n var $prevNewItem = $newItem.find('.js-previous-image-details');\r\n var $nextNewItem = $newItem.find('.js-next-image-details');\r\n\r\n var prevOrNextUrl = null;\r\n var prevOrNextItemToOpen = null;\r\n\r\n if ($prevNewItem.data('new-item') === 'newPage') {\r\n prevOrNextUrl = $prevNewItem.data('url');\r\n prevOrNextItemToOpen = $prevNewItem.data('modal-open');\r\n }\r\n\r\n if ($nextNewItem.data('new-item') === 'newPage') {\r\n prevOrNextUrl = $nextNewItem.data('url');\r\n prevOrNextItemToOpen = $nextNewItem.data('modal-open');\r\n }\r\n\r\n if (prevOrNextUrl) {\r\n SCM.SearchResults.doSolrSearch({ \r\n queryString: prevOrNextUrl, \r\n openModal: prevOrNextItemToOpen,\r\n cacheSearchWithoutUpdatingDom: true,\r\n currentItem: $newItem,\r\n functionToDoWhileAjaxLoading: _toggleEnabledPrevOrNextButton\r\n });\r\n }\r\n }\n\n // Toggles the left and right navigation buttons. Should lower the opacity and disable click events until called again.\n function _toggleEnabledPrevOrNextButton($modalItemToOpen) {\r\n var $navButtons = $modalItemToOpen.find('.js-previous-image-details, .js-next-image-details');\r\n if ($modalItemToOpen.length) {\r\n if ($navButtons.hasClass('disabled')) {\r\n $navButtons.removeClass('disabled');\r\n _enableHandlers();\r\n } else if (!$navButtons.hasClass('disabled')) {\r\n $navButtons.addClass('disabled');\r\n _disableHandlers();\r\n }\r\n }\r\n }\n\n function _enableHandleClickOutsideModal() {\n /* Close modal if user clicks outside of modal which can be determined if there are\n * no parent elements with class name figureModalContainer and the modal is open\n */\n $(\".figureModalContainer\").on('click', _handleClickOutsideModal);\n }\n\n function _disableHandleClickOutsideModal() {\n /* Close modal if user clicks outside of modal which can be determined if there are\n * no parent elements with class name figureModalContainer and the modal is open\n */\n $(\".figureModalContainer\").off('click', _handleClickOutsideModal);\n }\n\n function _handleClickOutsideModal(event) {\n $target = $(event.target);\r\n if (!$target.parents('.figureModalContainer:visible').length) {\r\n $('.figureModalContainer').hide();\r\n $(\"body\").removeClass(\"modalOpen\");\r\n lastActive.focus();\r\n }\r\n }\n\n return {\r\n init: _init\r\n };\r\n\n})(jQuery);\n","var SCM = SCM || {};\r\n\r\nSCM.UploadImage_Complete = function (settings) {\r\n\r\n var data = $.extend({\r\n targetSelector: '#UploadTarget',\r\n jsonResultSelector: '#jsonResult',\r\n replacementContainerSelector: '#id'\r\n },\r\n settings);\r\n\r\n var jsonResult = $(data.targetSelector).contents().find(data.jsonResultSelector);\r\n\r\n if (jsonResult.length === 1) {\r\n var validationResult = $.parseJSON(jsonResult.html());\r\n\r\n $('[data-valmsg-for]').attr('class', 'field-validation-valid').html('');\r\n if (validationResult.Success) {\r\n if (data.success) {\r\n data.success();\r\n }\r\n } else if (validationResult.Messages.length > 0) {\r\n var msg = \"Error \\n\";\r\n validationResult.Messages.forEach(function (errorMsg) {\r\n msg += errorMsg + \"\\n\";\r\n });\r\n alert(msg);\r\n } else if (validationResult.Html) {\r\n $(data.replacementContainerSelector).replaceWith(validationResult.Html.replace(/{{/g, '"'));\r\n } else {\r\n validationResult.ValidationErrors.forEach(function (validationError) {\r\n\r\n var $validationSpan = $('[data-valmsg-for=' + validationError.Key + ']');\r\n $validationSpan.addClass('field-validation-error').removeClass('field-validation-valid');\r\n validationError.Errors.forEach(function (errorMsg) {\r\n $validationSpan.html($validationSpan.html() + errorMsg + \"
      \");\r\n });\r\n });\r\n }\r\n }\r\n};\r\n\r\n\r\nSCM.AjaxHelperSuccessCallback = function (data, replacementContainer, onSuccessCallback) {\r\n if (data.RedirectUrl &&\r\n data.RedirectUrl.length > 0) {\r\n window.location = data.RedirectUrl;\r\n } else if (data.Html &&\r\n data.Html.length > 0) {\r\n replacementContainer.replaceWith(data.Html);\r\n } else if (!data.Success) {\r\n replacementContainer.replaceWith(data);\r\n } else {\r\n onSuccessCallback();\r\n }\r\n};\r\n\r\n\r\nSCM.AjaxHelperErrorCallback = function (data, replacementContainer, onErrorCallback) {\r\n if (data.RedirectUrl &&\r\n data.RedirectUrl.length > 0) {\r\n window.location = data.RedirectUrl;\r\n } else if (data.Html &&\r\n data.Html.length > 0) {\r\n replacementContainer.replaceWith(data.Html);\r\n } else if (!data.Success) {\r\n replacementContainer.replaceWith(data);\r\n } else {\r\n onErrorCallback();\r\n }\r\n};\r\n\r\n\r\nSCM.showModal = function () {\r\n var editorIds = [];\r\n\r\n if (typeof tinyMCE !== 'undefined') {\r\n tinyMCE.editors.forEach(function (editor) {\r\n $('#divDefaultUpdateTarget').find('#' + editor.editorContainer).each(function () { editorIds.push(editor.id); });\r\n });\r\n }\r\n $.fancybox({\r\n 'autosize': true,\r\n 'autoScale': false,\r\n 'title': \"\",\r\n 'href': '#divDefaultUpdateTarget'\r\n });\r\n\r\n if (typeof tinyMCE !== 'undefined') {\r\n editorIds.forEach(function (id) { $('#' + id).scmTinyMCE(); });\r\n }\r\n};\r\n\r\n\r\nSCM.hideModal = function () {\r\n $.fancybox.close();\r\n};\r\n\r\n\r\nSCM.refreshModal = function () {\r\n $.fancybox.update();\r\n};\r\n\r\n\r\n//set up global functions\r\n(function () {\r\n\r\n var $body = $('body');\r\n\r\n //ajax error handler\r\n $(document).ajaxError(function (jqXHR, ajaxSettings, thrownError) {\r\n $body.removeClass('wait');\r\n if (ajaxSettings.responseText) {\r\n try {\r\n var obj = $.parseJSON(ajaxSettings.responseText);\r\n\r\n if (obj.Success != null && !obj.Success) {\r\n var msg = \"There was an error processing the request \\n\";\r\n\r\n obj.Messages.forEach(function (m) { msg += m + \"\\n\"; });\r\n\r\n alert(msg);\r\n }\r\n } catch (err) {\r\n console.error(\"Ajax error occured, responseText is not json: \" + err.message);\r\n //do nothing, we do not have valid json\r\n }\r\n }\r\n });\r\n\r\n\r\n $.validator.addMethod('isDateGreaterThan', function (value, element, params) {\r\n\r\n if (isPastDate($(element).val(), params) == true) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }, '');\r\n\r\n\r\n function isPastDate(value, dateToCheck) {\r\n var now = new Date(dateToCheck);\r\n var target = new Date(value);\r\n\r\n if (now.getFullYear() == target.getFullYear() && now.getMonth() == target.getMonth() && now.getDate() == target.getDate()) {\r\n return false;\r\n }\r\n else if (now > target) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n\r\n $(document)\r\n .ajaxStart(function () {\r\n $body.addClass('wait');\r\n })\r\n .ajaxStop(function () {\r\n $body.removeClass('wait');\r\n });\r\n\r\n //default button\r\n $body.on('keypress', '[data-default-button]', function (e) {\r\n if (e.which == 13) {\r\n $(\"#\" + $(this).data('defaultButton')).click();\r\n return false;\r\n }\r\n });\r\n\r\n $.validator.unobtrusive.adapters.add('dynamicrange', ['minvalueproperty', 'maxvalueproperty'],\r\n function (options) {\r\n options.rules['dynamicrange'] = options.params;\r\n if (options.message != null) {\r\n $.validator.messages.dynamicrange = options.message;\r\n }\r\n }\r\n );\r\n\r\n function getModelPrefix(fieldName) {\r\n return fieldName.substr(0, fieldName.lastIndexOf(\".\") + 1);\r\n }\r\n\r\n function appendModelPrefix(value, prefix) {\r\n if (value.indexOf(\"*.\") === 0) {\r\n value = value.replace(\"*.\", prefix);\r\n }\r\n return value;\r\n }\r\n\r\n $.validator.addMethod('dynamicrange', function (value, element, params) {\r\n var prefix = getModelPrefix(element.name);\r\n\r\n var minValue = parseInt($('input[name=\"' + appendModelPrefix(params.minvalueproperty, prefix) + '\"]').val(), 10);\r\n var maxValue = parseInt($('input[name=\"' + appendModelPrefix(params.maxvalueproperty, prefix) + '\"]').val(), 10);\r\n\r\n var currentValue = parseInt(value, 10);\r\n if (isNaN(minValue) || isNaN(maxValue) || isNaN(currentValue) || minValue > currentValue || currentValue > maxValue) {\r\n var errorMessage = $(element).attr('data-val-dynamicrange').replace('{0}', minValue).replace('{1}', maxValue);\r\n $.validator.messages.dynamicrange = errorMessage;\r\n return false;\r\n }\r\n return true;\r\n }, '');\r\n\r\n})();\r\n\r\n\r\n//plugins\r\n(function ($) {\r\n\r\n $.fn.radiobuttonEnable = function () {\r\n return this.each(function () {\r\n var $container = $(this);\r\n $container.find('*[data-rb-enable-name]').each(function () {\r\n var $element = $(this);\r\n var $rb = $container.find('input:radio[name=\"' + $element.data('rbEnableName') + '\"]:checked');\r\n if ($rb.length > 0) {\r\n var data = $element.data('rbEnableValue');\r\n if (data != null &&\r\n $rb.val().toString().toLowerCase() != data.toString().toLowerCase()) {\r\n $element.attr('disabled', 'disabled');\r\n }\r\n\r\n data = $element.data('rbMakeVisibleValue');\r\n if (data != null &&\r\n $rb.val().toString().toLowerCase() != data.toString().toLowerCase()) {\r\n $element.hide();\r\n }\r\n }\r\n });\r\n\r\n $container.find('input:radio').on('change', function () {\r\n var $rb = $(this);\r\n var selector = '[data-rb-enable-name=\"' + $rb.attr('name') + '\"]';\r\n var $inputs = $(selector);\r\n\r\n $inputs.each(function () {\r\n var $element = $(this);\r\n\r\n var tinyEditor = tinymce.editors[$element[0].id];\r\n var data = $element.data('rbEnableValue');\r\n if (data != null) {\r\n if (data.toString().toLowerCase() == $rb.val().toLowerCase()) {\r\n $element.removeAttr('disabled');\r\n if (tinyEditor) {\r\n tinyEditor.getBody().setAttribute('contenteditable', true);\r\n }\r\n } else {\r\n $element.attr('disabled', 'disabled');\r\n if (tinyEditor) {\r\n tinyEditor.getBody().setAttribute('contenteditable', false);\r\n }\r\n }\r\n }\r\n\r\n data = $element.data('rbMakeVisibleValue');\r\n if (data != null) {\r\n if ((data.toString().toLowerCase() == $rb.val().toLowerCase() && !$element.is(':visible')) ||\r\n (data.toString().toLowerCase() != $rb.val().toLowerCase() && $element.is(':visible'))) {\r\n $element.fadeToggle();\r\n }\r\n }\r\n });\r\n\r\n });\r\n });\r\n };\r\n\r\n $.fn.configureSCMForm = function (data) {\r\n\r\n var settings = $.extend({\r\n cancelButtonSelector: '.cancel',\r\n submitButtonSelector: '.submit',\r\n nextQuestionButtonSelector: '.nextQuestion',\r\n skipButtonSelector: '.skip',\r\n validatorIgnores: \":disabled, input[type='hidden']\",\r\n nextQuestion: null,\r\n cancel: null,\r\n skip: null,\r\n validateOnSubmit: null,\r\n validateOnKeyUp: false\r\n\r\n }, data);\r\n\r\n return this.each(function () {\r\n\r\n var $form = $(this);\r\n\r\n jQuery.validator.unobtrusive.parse('#' + this.id);\r\n $form.validate();\r\n var validatorSettings = $.data($form[0], 'validator').settings;\r\n validatorSettings.ignore = settings.validatorIgnores;\r\n if (settings.validateOnKeyUp === true) {\r\n settings.validateOnKeyUp = null;\r\n }\r\n validatorSettings.onkeyup = settings.validateOnKeyUp;\r\n validatorSettings.onsubmit = settings.validateOnSubmit;\r\n $form.find(settings.submitButtonSelector)\r\n .off('click.configureSCMForm')\r\n .on('click.configureSCMForm', function (e) {\r\n e.preventDefault();\r\n if ($form.valid()) {\r\n $form.trigger('submit');\r\n }\r\n });\r\n\r\n $form.find(settings.nextQuestionButtonSelector)\r\n .off('click.configureSCMForm')\r\n .on('click.configureSCMForm', function (e) {\r\n e.preventDefault();\r\n settings.nextQuestion();\r\n });\r\n\r\n $form.find(settings.skipButtonSelector)\r\n .off('click.configureSCMForm')\r\n .on('click.configureSCMForm', function (e) {\r\n e.preventDefault();\r\n settings.skip();\r\n });\r\n $form.find(settings.cancelButtonSelector)\r\n .off('click.configureSCMForm')\r\n .on('click.configureSCMForm', function (e) {\r\n e.preventDefault();\r\n if (!settings.cancel) {\r\n $form.hide();\r\n SCM.hideModal();\r\n } else {\r\n settings.cancel();\r\n }\r\n });\r\n });\r\n };\r\n\r\n\r\n $.fn.viewMore = function (data) {\r\n\r\n var settings = $.extend({\r\n hiddenSelector: '.read-more',\r\n readMoreButtonSelector: '#readMore',\r\n readMoreText: 'Read More',\r\n readLessText: 'Read Less'\r\n }, data);\r\n\r\n return this.each(function () {\r\n\r\n var $readMore = $(settings.hiddenSelector);\r\n $readMore.hide();\r\n\r\n $(settings.readMoreButtonSelector).on('click', function (e) {\r\n e.preventDefault();\r\n\r\n $readMore.fadeToggle();\r\n });\r\n\r\n });\r\n };\r\n\r\n\r\n $.fn.scmTimer = function (data) {\r\n return this.each(function () {\r\n var $this = $(this);\r\n\r\n var settings = $.extend({\r\n h: 0,\r\n m: 0,\r\n s: 0,\r\n hs: 0,\r\n stop: false,\r\n milliseconds: 150,\r\n intervalCheck: null,\r\n }, data);\r\n\r\n if (settings.stop) {\r\n clearInterval($this.data('scmTimerToken'));\r\n return;\r\n }\r\n\r\n var formatTime = function (i) {\r\n if (i < 10) {\r\n i = \"0\" + i;\r\n }\r\n return i;\r\n };\r\n\r\n var startTime = (new Date()).getTime();\r\n\r\n var showTime = function () {\r\n $this.text(formatTime(settings.h) + \":\" + formatTime(settings.m) + \":\" + formatTime(settings.s) + \":\" + formatTime(settings.hs));\r\n };\r\n\r\n\r\n showTime();\r\n $this.data('scmTimerToken', setInterval(function () {\r\n\r\n if (!$this.is(':visible')) {\r\n clearInterval($this.data('scmTimerToken'));\r\n return;\r\n }\r\n\r\n var newTime = (new Date()).getTime();\r\n var ticksSinceLastInterval = newTime - startTime;\r\n settings.hs += Math.floor(ticksSinceLastInterval / 10);\r\n startTime = newTime;\r\n if (settings.hs >= 100) {\r\n settings.s += Math.floor(settings.hs / 100);\r\n settings.hs = settings.hs % 100;\r\n\r\n if (settings.s >= 60) {\r\n settings.m += Math.floor(settings.s / 60);\r\n settings.s = settings.s % 60;\r\n }\r\n\r\n if (settings.m >= 60) {\r\n settings.h += Math.floor(settings.m / 60);\r\n settings.m = settings.m % 60;\r\n }\r\n }\r\n\r\n showTime();\r\n\r\n if (settings.intervalCheck) {\r\n if (!settings.intervalCheck(settings)) {\r\n clearInterval($this.data('scmTimerToken'));\r\n return;\r\n }\r\n }\r\n\r\n }, settings.milliseconds));\r\n\r\n });\r\n };\r\n\r\n\r\n $.fn.wkTimer = function (data) {\r\n return this.each(function () {\r\n var $this = $(this);\r\n\r\n var settings = $.extend({\r\n h: 0,\r\n m: 0,\r\n s: 0,\r\n hs: 0,\r\n stop: false,\r\n milliseconds: 150,\r\n intervalCheck: null,\r\n }, data);\r\n\r\n if (settings.stop) {\r\n clearInterval($this.data('wkTimerToken'));\r\n return;\r\n }\r\n\r\n var formatTime = function (i) {\r\n if (i < 10) {\r\n i = \"0\" + i;\r\n }\r\n return i;\r\n };\r\n\r\n var startTime = (new Date()).getTime();\r\n\r\n var showTime = function () {\r\n $this.text(formatTime(settings.m) + \":\" + formatTime(settings.s));\r\n };\r\n\r\n\r\n showTime();\r\n $this.data('wkTimerToken', setInterval(function () {\r\n\r\n if (!$this.is(':visible')) {\r\n clearInterval($this.data('wkTimerToken'));\r\n return;\r\n }\r\n\r\n var newTime = (new Date()).getTime();\r\n var ticksSinceLastInterval = newTime - startTime;\r\n settings.hs += Math.floor(ticksSinceLastInterval / 10);\r\n startTime = newTime;\r\n if (settings.hs >= 100) {\r\n settings.s += Math.floor(settings.hs / 100);\r\n settings.hs = settings.hs % 100;\r\n\r\n if (settings.s >= 60) {\r\n settings.m += Math.floor(settings.s / 60);\r\n settings.s = settings.s % 60;\r\n }\r\n\r\n if (settings.m >= 60) {\r\n settings.h += Math.floor(settings.m / 60);\r\n settings.m = settings.m % 60;\r\n }\r\n }\r\n\r\n showTime();\r\n\r\n if (settings.intervalCheck) {\r\n if (!settings.intervalCheck(settings)) {\r\n clearInterval($this.data('wkTimerToken'));\r\n return;\r\n }\r\n }\r\n\r\n }, settings.milliseconds));\r\n\r\n });\r\n };\r\n})(jQuery);","var SCM = SCM || {};\r\nSCM.__namespace = true;\r\n\r\nSCM.eventManager = function($, undefined) {\r\n\r\n var subscribeWidgetRefresh = function(scmActionEnum, refreshData) {\r\n\r\n var settings = $.extend({\r\n refreshWhenInvisible: false,\r\n messageContainerSelector: '#divMessage'\r\n }, refreshData);\r\n\r\n var token = '';\r\n var refreshFunction = function (data) {\r\n if (!settings.refreshIf ||\r\n settings.refreshIf(data)) {\r\n var $container = $(settings.containerSelector);\r\n if (settings.refreshWhenInvisible || $container.is(':visible')) {\r\n $.ajax({\r\n type: 'POST',\r\n url: settings.url,\r\n data: settings.data,\r\n dataType: 'html',\r\n success: function(evt) {\r\n $.pubsub('unsubscribe', token);\r\n $container.replaceWith(evt).show();\r\n if (settings.refreshSuccess) {\r\n settings.refreshSuccess(data);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n };\r\n token = subscribeActionCompleted(scmActionEnum, refreshFunction);\r\n };\r\n\r\n var subscribe = function(subscriptionMessage, refreshFunction) {\r\n return $.pubsub('subscribe', subscriptionMessage, refreshFunction);\r\n };\r\n\r\n var publish = function(subscriptionMessage, data) {\r\n $.pubsub('publish', subscriptionMessage, data);\r\n };\r\n\r\n var actionCompletedMsg = 'actionCompleted';\r\n var publishActionCompleted = function (scmActionEnum, data) {\r\n var settings = $.extend({\r\n actionEnum: scmActionEnum\r\n }, data);\r\n publish(actionCompletedMsg, settings);\r\n };\r\n\r\n var subscribeActionCompleted = function(scmActionEnum, method) {\r\n return subscribe(actionCompletedMsg, function(msg, data) {\r\n if (scmActionEnum === data.actionEnum) {\r\n method(data);\r\n }\r\n });\r\n };\r\n\r\n var actionRequestMsg = 'actionCompleteactionRequest';\r\n var publishActionRequest = function (scmActionEnum, data) {\r\n return publish(actionRequestMsg, { actionEnum: scmActionEnum, data: data });\r\n };\r\n\r\n var subscribeActionRequest = function (scmActionEnum, method) {\r\n return subscribe(actionRequestMsg, function (msg, data) {\r\n if (scmActionEnum === data.actionEnum) {\r\n method(data.data);\r\n }\r\n });\r\n };\r\n\r\n var subscribeActionRequestDisplayResult = function (scmActionEnum, displayContainerSelector) {\r\n return subscribeActionRequest(scmActionEnum, function (data) {\r\n var settings = $.extend({\r\n type: 'POST'\r\n }, data);\r\n\r\n $.ajax({\r\n type: settings.type,\r\n url: settings.url,\r\n data: settings.data,\r\n dataType: 'html',\r\n success: function (evt) {\r\n $(displayContainerSelector).html(evt).show();\r\n },\r\n error: function (evt) {\r\n alert(evt);\r\n }\r\n });\r\n\r\n SCM.hideModal();\r\n });\r\n };\r\n \r\n return {\r\n subscribeWidgetRefresh: subscribeWidgetRefresh,\r\n subscribe: subscribe,\r\n publish: publish,\r\n publishActionCompleted: publishActionCompleted,\r\n subscribeActionCompleted: subscribeActionCompleted,\r\n publishActionRequest: publishActionRequest,\r\n subscribeActionRequest: subscribeActionRequest,\r\n subscribeActionRequestDisplayResult: subscribeActionRequestDisplayResult\r\n };\r\n}(jQuery);\r\n\r\nSCM.eventManager.subscriptionMessages = {\r\n playVideo: 'SCM.PlayVideo'\r\n};","// ----\r\n// A little JS publish/subscribe module taken mostly from David Walsh.\r\n// Adapted to work on IE8\r\n// ----\r\n\r\nvar SCM = SCM || {};\r\n\r\n(function (events, $, undefined) {\r\n var topics = {};\r\n var hOP = topics.hasOwnProperty;\r\n\r\n events.subscribe = function (topic, listener) {\r\n // Create the topic's object if not yet created\r\n if (!hOP.call(topics, topic)) topics[topic] = [];\r\n\r\n // Add the listener to queue\r\n var index = topics[topic].push(listener) - 1;\r\n\r\n // Provide handle back for removal of topic\r\n return {\r\n remove: function () {\r\n delete topics[topic][index];\r\n }\r\n };\r\n };\r\n\r\n events.publish = function (topic, info) {\r\n // If the topic doesn't exist, or there's no listeners in queue, just leave\r\n if (!hOP.call(topics, topic)) return;\r\n\r\n // Cycle through topics queue, fire!\r\n $.each(topics[topic], function (index, item) {\r\n item(info !== undefined ? info : {});\r\n });\r\n };\r\n})(SCM.EventEmitter = SCM.EventEmitter || {}, jQuery);","// ----\r\n// SCM.SharedControls.PDFAccess.js\r\n// checks a user's access to a PDF and launches the PDF or a no-access modal\r\n//\r\n// The PDF links, located in multiple widgets, contain HTML 5 attributes like data-article-id, data-article-url, data-ajax-url, data-issue-id ...\r\n// In ToolboxPdf.cshtml, the article PDF link is identified by classes al-link and pdfaccess; the issue PDF link is identified by classes al-link and issue-pdfLink\r\n//\r\n// The noAccessReveal modal is in Site.Master in the client project; it is used for both the article and issue PDF \"no access\" modals\r\n// In the noAccessReveal modal, the article purchase link has id=articleLinkToPurchase, the issue purchase modal has class=issue-purchase-modal\r\n//\r\n// There are 2 kinds of Issue PDFs: TOC.pdf (available to anyone) and fullissue.pdf (only authenticated users may access)\r\n// ----\r\n\r\nvar SCM = SCM || {};\r\n\r\n(function (pdf, $) {\r\n // ----\r\n // Private variables and functions\r\n // ----\r\n function formatIssuePurchaseLink(issuePurchaseUrl, id) {\r\n // If the purchase URL contains \"resourceid=\", format the \"resourceid=\" portion of the querystring with the current issue id\r\n var revisedIssuePurchaseUrl = issuePurchaseUrl;\r\n\r\n if (issuePurchaseUrl.toLowerCase().indexOf(\"resourceid=\") >= 0) {\r\n var pattern = /resourceID=\\{0\\}|resourceID=\\d+/i;\r\n revisedIssuePurchaseUrl = issuePurchaseUrl.replace(pattern, \"resourceid=\" + id);\r\n }\r\n\r\n return revisedIssuePurchaseUrl;\r\n }\r\n\r\n function logErrors(jqXHR, textStatus, errorThrown) {\r\n if (window.console) {\r\n var err = eval(\"(\" + jqXHR.responseText + \")\");\r\n console.error('error: ' + err);\r\n console.error('status: ' + textStatus);\r\n }\r\n }\r\n\r\n function openPDF(PDFUrl) {\r\n window.location.href = PDFUrl;\r\n }\r\n\r\n function openNoAccessModalArticle(articlePdfAnchor, articldeID) {\r\n // remove data attributes so ajax call doesn't happen if PDF link is clicked a 2nd time.\r\n // instead, link the PDF link directly with the No-Access modal\r\n articlePdfAnchor.attr({ 'data-reveal-id': 'noAccessReveal', 'data-reveal': '' }).removeAttr('data-ajax-url');\r\n var articleUrl = '/article.aspx?articleid=' + articldeID + '#purchaseSubscriptionBox';\r\n pdf.$noAccessModal.find('#articleLinkToPurchase').attr('href', articleUrl);\r\n pdf.$noAccessModal.foundation('reveal', 'open');\r\n }\r\n\r\n function openNoAccessModalArticleSeo(articlePdfAnchor, articldeID, seoUrl) {\r\n // remove data attributes so ajax call doesn't happen if PDF link is clicked a 2nd time.\r\n // instead, link the PDF link directly with the No-Access modal\r\n articlePdfAnchor.attr({ 'data-reveal-id': 'noAccessReveal', 'data-reveal': '' }).removeAttr('data-ajax-url');\r\n if (seoUrl === \"DO_NOT_USE\") {\r\n pdf.$noAccessModal.find('#articleLinkToPurchase').remove();\r\n } else {\r\n var articleUrl = seoUrl;\r\n pdf.$noAccessModal.find('#articleLinkToPurchase').attr('href', articleUrl);\r\n }\r\n pdf.$noAccessModal.foundation('reveal', 'open');\r\n }\r\n\r\n function openNoAccessModalIssue(issuePurchaseUrl, id) {\r\n var issueUrl = formatIssuePurchaseLink(issuePurchaseUrl, id);\r\n pdf.$noAccessModal.find('.aIssuePurchaseLink').attr('href', issueUrl);\r\n pdf.$noAccessModal.foundation('reveal', 'open');\r\n }\r\n\r\n\r\n // ----\r\n // Public variables and methods\r\n // ----\r\n\r\n // making modal selector public so it can be overriden in the client implementation\r\n pdf.$noAccessModal = $('#noAccessReveal');\r\n\r\n pdf.checkArticlePDFAccess = function (articlePdfAnchor) {\r\n\r\n var id = articlePdfAnchor.attr('data-article-id'),\r\n url = articlePdfAnchor.attr('data-article-url'),\r\n ajaxUrl = articlePdfAnchor.attr('data-ajax-url'),\r\n baseSiteUrl = $(\"#hfSiteURL\");\r\n var seoUrl = \"\";\r\n if (articlePdfAnchor.attr('data-article-seo-url') !== null) {\r\n seoUrl = articlePdfAnchor.attr('data-article-seo-url');\r\n }\r\n if (typeof baseSiteUrl !== \"undefined\" && typeof baseSiteUrl.val() !== \"undefined\" && baseSiteUrl !== '') {\r\n ajaxUrl = \"//\" + baseSiteUrl.val() + ajaxUrl;\r\n }\r\n\r\n\r\n //set up data object to send...\r\n var name1 = \"aId\";\r\n var value1 = id;\r\n var dataObj = {};\r\n dataObj[name1] = value1;\r\n\r\n\r\n $.ajax({\r\n type: \"POST\",\r\n url: ajaxUrl,\r\n data: dataObj,\r\n traditional: true,\r\n success: function (access) {\r\n if (access.Success) {\r\n openPDF(url);\r\n } else {\r\n if (seoUrl.length > 0) {\r\n openNoAccessModalArticleSeo(articlePdfAnchor, id, seoUrl);\r\n } else {\r\n openNoAccessModalArticle(articlePdfAnchor, id);\r\n }\r\n }\r\n },\r\n error: function (jqXHR, textStatus, errorThrown) {\r\n logErrors(jqXHR, textStatus, errorThrown);\r\n }\r\n });\r\n };\r\n\r\n\r\n pdf.checkIssuePDFAccess = function (issuePdfAnchor) {\r\n var id = issuePdfAnchor.attr('data-issue-id'),\r\n url = issuePdfAnchor.attr('data-issue-url'),\r\n ajaxUrl = issuePdfAnchor.attr('data-ajax-issue-url'),\r\n issuePurchaseUrl = pdf.$noAccessModal.find('.aIssuePurchaseLink').attr('href');\r\n\r\n if (url.toLowerCase().indexOf('/toc.pdf') > -1) {\r\n window.location.href = url;\r\n return;\r\n }\r\n\r\n $.ajax({\r\n type: \"POST\",\r\n url: ajaxUrl,\r\n data: { issueId: id },\r\n traditional: true,\r\n success: function (access) {\r\n if (access.Success) {\r\n openPDF(url);\r\n } else {\r\n openNoAccessModalIssue(issuePurchaseUrl, id);\r\n }\r\n },\r\n error: function (jqXHR, textStatus, errorThrown) {\r\n logErrors(jqXHR, textStatus, errorThrown);\r\n }\r\n });\r\n };\r\n\r\n pdf.bindUiEvents = function () {\r\n // Article PDFs\r\n $(document).on('click', '.al-link.pdfaccess', function () {\r\n $(document).foundation();\r\n pdf.$noAccessModal.foundation('reveal', 'close');\r\n pdf.$noAccessModal.find('#articleLinkToPurchase').show();\r\n pdf.$noAccessModal.find('.issue-purchase-modal').hide();\r\n\r\n if (!$(this).attr('data-reveal-id')) {\r\n pdf.checkArticlePDFAccess($(this));\r\n }\r\n });\r\n\r\n // Make sure modal closes when the \"x\" is clicked\r\n $(document).on('click', '.close-reveal-modal', function () {\r\n try {\r\n $(this).parents('.reveal-modal').foundation('reveal', 'close');\r\n } catch (ex) {\r\n console.error(\"Foundation error - pdfaccess : \" + ex);\r\n }\r\n });\r\n\r\n // Issue PDFs\r\n $(document).on('click', '.al-link.issue-pdfLink', function () {\r\n pdf.$noAccessModal.foundation('reveal', 'close');\r\n pdf.$noAccessModal.find('#articleLinkToPurchase').hide();\r\n pdf.$noAccessModal.find('.issue-purchase-modal').show();\r\n\r\n pdf.checkIssuePDFAccess($(this));\r\n });\r\n };\r\n\r\n pdf.init = function () {\r\n pdf.bindUiEvents();\r\n };\r\n\r\n\r\n\r\n\r\n})(SCM.PDFAccess = SCM.PDFAccess || {}, jQuery);","var SCM = SCM || {};\r\n\r\nSCM.Supplements = SCM.Supplements || {};\r\n\r\nSCM.Supplements.updateIssueSupplementsOnChange = function () {\r\n $('.js-supplements-select').on('change', function () {\r\n window.location.href = $(this).val();\r\n });\r\n};\r\n\r\nSCM.Supplements.updateIssueSupplementsOnChange();","// ----\r\n// JS for Toolbar\r\n// ----\r\n\r\nvar SCM = SCM || {};\r\n\r\n(function (ns, $, $document, undefined) {\r\n // ----\r\n // private variables and functions\r\n // ----\r\n var $toolbar = $('#Toolbar'),\r\n $viewDrop = $('#ViewsDrop'),\r\n $shareDrop = $('#ShareDrop'),\r\n $toolsDrop = $('#ToolsDrop');\r\n\r\n function showProperToolbarOptions() {\r\n hideActiveTabLinkFromViewsList();\r\n hideMenuItemIfNoVisibleItemsInside();\r\n }\r\n\r\n function hideMenuItemIfNoVisibleItemsInside() {\r\n var $ddTriggers = $('.item-with-dropdown:visible');\r\n $ddTriggers.show();\r\n $ddTriggers.each(function () {\r\n var visibleItemsExist = false,\r\n $this = $(this);\r\n\r\n $this.find('ul li, .js-article-content-filter').each(function () {\r\n if ($this.is(':visible')) {\r\n visibleItemsExist = true;\r\n } else if ($this.css('display') !== 'none') {\r\n visibleItemsExist = true;\r\n }\r\n });\r\n if (!visibleItemsExist) {\r\n $this.hide();\r\n }\r\n });\r\n }\r\n\r\n function hideActiveTabLinkFromViewsList() {\r\n $('.tab-item').parent('li').show();\r\n\r\n if ($('.tabs-content').length) {\r\n var activeTab = '';\r\n\r\n $('.tabs-content > .content').each(function () {\r\n var $this = $(this);\r\n if ($this.hasClass('active')) {\r\n activeTab = $this.attr('id');\r\n }\r\n });\r\n $('#ViewsDrop li').show();\r\n $('#ViewsDrop').find('[data-tab=\"#' + activeTab + '\"]').closest('li').hide();\r\n }\r\n }\r\n\r\n\r\n\r\n // ----\r\n // public methods and properties accessible by SCM.IssuePage.[method_name]\r\n // ----\r\n ns.closeDropDownIfChildItemClicked = function () {\r\n $('#Toolbar .f-dropdown > li').on('click', function () {\r\n $(this).closest('.toolbar-item').trigger('click');\r\n });\r\n };\r\n\r\n ns.removeTabLinkIfTabIsEmpty = function (cssSelector) {\r\n $(cssSelector).find('.tab-trigger').each(function () {\r\n var $this = $(this),\r\n tabName = $this.attr('data-tab');\r\n\r\n // find('*') grabs all descendent HTML elements so we can count.\r\n // if there are less than 20 Elements, the tab might be empty. Do a further check to validate\r\n // that the widget didn't output any content. Remove toolbar link if widget didn't output any content.\r\n // We don't want to do a costly regex replace if the widget outputs a large chunk of HTML.\r\n if (tabName !== '#ContentTab' && $(tabName).find('*').length < 20) {\r\n var html = $(tabName).html();\r\n var regex = /(<([^>]+)>)/ig;\r\n var result = html !== undefined ? $.trim(html.replace(regex, '')) : 1;\r\n\r\n if (result.length === 0) {\r\n $this.parent('li').remove();\r\n }\r\n }\r\n });\r\n };\r\n\r\n ns.hideTabIfDropdownIsEmpty = function () {\r\n var dropdowns = [$shareDrop, $toolsDrop];\r\n\r\n for (var i = 0; i < dropdowns.length; i++) {\r\n var currentDd = dropdowns[i];\r\n if (currentDd.children('li').length < 1) {\r\n //there should always be at least a ContentTab li.\r\n currentDd.parent().hide();\r\n //If it's the only one, remove from toolbar\r\n }\r\n }\r\n if ($viewDrop.children('.js-article-content-filter').length < 2) {\r\n $viewDrop.parent().hide();\r\n }\r\n };\r\n\r\n ns.toggleToolbarDropdown = function () {\r\n $('.js-toolbar-dropdown').on('click', function (e) {\r\n e.preventDefault();\r\n\r\n var $this = $(this);\r\n\r\n $this.siblings('ul').slideToggle();\r\n });\r\n\r\n $(document).on('click', function (e) {\r\n var $dropdownContent = $('.js-dropdown-content');\r\n if (_isTargetClickNotInElement(e, $dropdownContent) && _isTargetClickNotInElement(e, $('.js-toolbar-dropdown'))) {\r\n $dropdownContent.slideUp();\r\n }\r\n });\r\n };\r\n\r\n ns.collapseShareDropdownOnTab = function () { \r\n // Hide the dropdown when tabbing away from it\r\n // Tabbing forwards from last dropdown element\r\n $('.js-dropdown-content :last-child .js-share-link').on('keydown', function (event) {\r\n if (event.key === 'Tab' && !event.shiftKey) {\r\n $('.js-dropdown-content').slideUp();\r\n }\r\n });\r\n // Tabbing backwards from dropdown trigger\r\n $('.js-toolbar-dropdown').on('keydown', function (event) {\r\n if (event.key === 'Tab' && event.shiftKey) {\r\n $('.js-dropdown-content').slideUp();\r\n }\r\n });\r\n };\r\n\r\n ns.toggleTabContent = function () {\r\n $('.tab-trigger').on('click', function (e) {\r\n e.preventDefault();\r\n \r\n var $this = $(this),\r\n tabId = $this.attr('data-tab'),\r\n $tab = $(tabId);\r\n \r\n $tab.siblings().removeClass('active');\r\n $tab.addClass('active');\r\n\r\n if (tabId === '#FigureTab') {\r\n $document.trigger('scroll'); // Trigger scroll so lazy load can load images.\r\n }\r\n showProperToolbarOptions();\r\n });\r\n };\r\n\r\n function toolBarItemsCauseWrapInFullWidthMode() {\r\n var numToolbarItems = $('.toolbar-item:visible');\r\n return numToolbarItems.length > 6;\r\n }\r\n\r\n function adjustToolbarRightMargins() {\r\n $('.toolbar-item').css('marginRight', '.65em');\r\n $('.toolbar-item:last-child').css('margin-right', '0');\r\n }\r\n\r\n // When adding the Annotate button in some cases, the toolbar wraps in full width mode\r\n ns.adjustToolbarMargins = function () {\r\n\r\n if (toolBarItemsCauseWrapInFullWidthMode()) {\r\n adjustToolbarRightMargins();\r\n }\r\n };\r\n\r\n ns.styleToolbarStates = function() {\r\n $toolbar.on('click', '.toolbar-item', function() {\r\n var $this = $(this);\r\n $this.addClass('clicked');\r\n $this.siblings().removeClass('clicked');\r\n });\r\n\r\n var $toolbarItems = $('.toolbar-item');\r\n\r\n $document.on('click', function() {\r\n $toolbarItems.each(function() {\r\n var $this = $(this);\r\n if (!$this.find('ul').hasClass('open')) {\r\n $this.removeClass('clicked');\r\n }\r\n });\r\n });\r\n\r\n \r\n // Note: this is not ideal, but the only good technical way to fix the problem\r\n // as of 24 Jun 2019. Toolbar
    • elements with no content need to be hidden. \r\n // :empty does not work because of whitespace. When/if :blank is implemented\r\n // for all supported browsers, that should replace the following map function.\r\n // https://css-tricks.com/almanac/selectors/b/blank/\r\n $.map($toolbarItems, function (toolbarElement) {\r\n if (!toolbarElement.children.length) {\r\n toolbarElement.classList.add('no-children');\r\n }\r\n });\r\n };\r\n\r\n\r\n ns.initArticleContentFilter = function () {\r\n if ($(document.body).hasClass('pg_ChapterStandard')) {\r\n contentFilter('.widget-BookSectionsText', 'BookSectionsText');\r\n }\r\n else {\r\n contentFilter('.widget-ArticleFulltext', 'ArticleFulltext');\r\n }\r\n };\r\n\r\n function contentFilter(widget,dataName) {\r\n var $fullTextContent = $(widget, '#ContentTab');\r\n\r\n if ($fullTextContent.length) {\r\n var $contentSections = $('.widget-items[data-widgetname=\"' + dataName + '\"]').children(); //$fullTextContent.find('.content-section');\r\n var $filterMenu = $viewDrop.children('.js-article-content-filter');\r\n var $filteredView = $('#ContentTabFilteredView');\r\n\r\n $filterMenu.filter('[data-content-filter=\"article-content\"]').hide();\r\n\r\n var $figuresTablesContent = $contentSections.filter('.table-wrap, .fig-section, .figure-title').add($contentSections.has('.table-wrap, .fig-section'));\r\n if ($figuresTablesContent.length === 0) {\r\n $filterMenu.remove('[data-content-filter=\"figures-tables\"]');\r\n }\r\n\r\n var $videoContent = $contentSections.filter('.video-section');\r\n if ($videoContent.length === 0) {\r\n $filterMenu.remove('[data-content-filter=\"video\"]');\r\n }\r\n\r\n var $audioContent = $contentSections.filter('.audio-section');\r\n if ($audioContent.length === 0) {\r\n $filterMenu.remove('[data-content-filter=\"audio\"]');\r\n }\r\n\r\n var $supplementaryDataContent = $contentSections.has('.widget-ArticleDataSupplements, .supplementary-material');\r\n if ($supplementaryDataContent.length === 0) {\r\n $filterMenu.remove('[data-content-filter=\"supplementary-data\"]');\r\n }\r\n\r\n var $downloadAllImages = $('#ContentTab').find('.js-download-images-ppt');\r\n\r\n var $commentsSection = $('#ContentTab').find('div.comments');\r\n\r\n var setDownloadImageLink = function ($contentSections) {\r\n // Need to do both filter and find to include parents and children\r\n if ($contentSections.filter('.fig-section:not(:has(a[restricted]))').length || \r\n $contentSections.find('.fig-section:not(:has(a[restricted]))').length) {\r\n $downloadAllImages.show();\r\n }\r\n else {\r\n $downloadAllImages.hide();\r\n }\r\n };\r\n\r\n\r\n $filterMenu.on('click', function () {\r\n\r\n var contentFilter = $(this).attr('data-content-filter');\r\n var $endNotesWidget = $('#endNotesTargetLocation');\r\n\r\n var activeContentFilter = $('.js-article-content-filter[data-content-filter=\"' + contentFilter + '\"]');\r\n activeContentFilter.hide();\r\n activeContentFilter.siblings().show();\r\n\r\n var $metadataStandalone = $('.article-metadata-standalone-panel');\r\n\r\n var $filteredContent;\r\n\r\n if (contentFilter === 'figures-tables') {\r\n $filteredContent = $figuresTablesContent;\r\n }\r\n else if (contentFilter === 'video') {\r\n $filteredContent = $videoContent;\r\n }\r\n else if (contentFilter === 'audio') {\r\n $filteredContent = $audioContent;\r\n }\r\n else if (contentFilter === 'supplementary-data') {\r\n $filteredContent = $supplementaryDataContent;\r\n }\r\n\r\n if ($filteredContent !== undefined && $filteredContent !== null && $filteredContent.length) {\r\n $contentSections.hide();\r\n $supplementaryDataContent.hide();\r\n $filteredContent.show();\r\n $commentsSection.hide();\r\n setDownloadImageLink($filteredContent);\r\n if ($endNotesWidget.length) {\r\n $endNotesWidget.hide();\r\n }\r\n }\r\n else {\r\n $contentSections.show();\r\n\r\n // NARN-10700 (adjust code from NARN-5642): make sure there are children before showing, e.g.,\r\n // when switching from split view or figure view.\r\n $metadataStandalone.children().length > 0 ? $metadataStandalone.show() : $metadataStandalone.hide();\r\n\r\n $supplementaryDataContent.show();\r\n $commentsSection.show();\r\n $downloadAllImages.hide();\r\n if ($endNotesWidget.length) {\r\n $endNotesWidget.show();\r\n }\r\n }\r\n\r\n SCM.SiteJS.restrictedImages();\r\n });\r\n }\r\n }\r\n\r\n ns.closeHypothesis = function () {\r\n $('hypothesis-sidebar').css('display', 'none');\r\n document.body.style.setProperty('margin-right', '0px');\r\n };\r\n\r\n function closeDropdowns() {\r\n $('.site-menu-lvl-0').find('.site-menu:visible').slideToggle('fast');\r\n $('.f-dropdown:visible').slideToggle('fast');\r\n $('.js-login-box-placeholder').addClass('hide');\r\n }\r\n\r\n function openCloseHypothesis() {\r\n if ($('hypothesis-sidebar:visible').length ) {\r\n ns.closeHypothesis();\r\n } else {\r\n closeDropdowns();\r\n $('hypothesis-sidebar').css('display', 'block');\r\n $('[data-hypothesis-trigger]').click();\r\n }\r\n }\r\n\r\n function _isTargetClickNotInElement(e, $element) {\r\n return !$element.is(e.target) && !$element.has(e.target).length;\r\n }\r\n \r\n ns.registerAnnotateLink = function () {\r\n $('.js-annotate').off('click').on('click', function () {\r\n openCloseHypothesis();\r\n });\r\n };\r\n\r\n function isBtnClicked(e, pathName) {\r\n var btn = undefined;\r\n if (e.originalEvent) {\r\n var path = e.originalEvent.composedPath ? e.originalEvent.composedPath() : undefined;\r\n if (path !== undefined) {\r\n btn = path.find(function (el) {\r\n if (el.attributes !== undefined && el.attributes['aria-label'] !== undefined) {\r\n return el.attributes['aria-label'].value === pathName;\r\n }\r\n else {\r\n return false;\r\n }\r\n });\r\n }\r\n }\r\n return btn;\r\n }\r\n\r\n \r\n // checking if button is sidebar toggle\r\n // The button information is hidden deep in the event!\r\n function sideBarBtnToggleClicked(e) {\r\n var btnClicked = isBtnClicked(e, 'Annotation sidebar');\r\n return btnClicked !== undefined;\r\n }\r\n\r\n function handleClicksForHypothesis(e) {\r\n \r\n var sideBarClick = e.target.localName === 'hypothesis-sidebar'; \r\n \r\n // NOTE: the 'hide' class doesn't work properly for this, so using direct styles\r\n if (sideBarClick && sideBarBtnToggleClicked(e)) {\r\n $('hypothesis-sidebar').css('display', 'none');\r\n return;\r\n }\r\n var $target = $(e.target);\r\n var hypothesisBtn = e.target.localName.startsWith('hypothesis');\r\n // if clicking on highlighted text or annotating text, Hypothes.is activates\r\n // but only seems to open sidebar - so need to click to expand\r\n if (hypothesisBtn) {\r\n $('hypothesis-sidebar').css('display', 'block');\r\n $('[data-hypothesis-trigger]').click();\r\n }\r\n // if we didn't click the annotate link, close it all up and hide it\r\n else if ($target.attr('data-hypothesis-trigger') === undefined && !$target.hasClass('js-annotate')) {\r\n $('hypothesis-sidebar').css('display', 'none');\r\n }\r\n }\r\n\r\n\r\n ns.hypothesisConfig = function () {\r\n\r\n if ($('.js-annotate').length) {\r\n ns.registerAnnotateLink();\r\n ns.configureHypothesisLayoutFix();\r\n\r\n // Make sure the hypothes.is sidebar is loaded before hiding it\r\n // Otherwise the data-hypothesis-trigger to open it won't work\r\n SCM.Retry.policy()\r\n .handleResult(function (result) { return !result; }) // Retry when our execute function returns false\r\n .waitAndRetry(5, 500) // Retry 5 times, waiting 500ms between each try\r\n .execute(function () {\r\n return $('hypothesis-sidebar:visible').length;\r\n })\r\n .then(function (result) {\r\n $('hypothesis-sidebar').css('display', 'none');\r\n })\r\n .catch(function (reason) {\r\n console.error('Timed out waiting for Hypothes.is to be ready.');\r\n });\r\n\r\n // Hypothes.is has their own handlers to close the expanded sidebar when you click outside of it\r\n // That action leaves the sidebar icons displayed, so we have to hide them\r\n // BUT, we don't want to hide them if we've actually clicked on the annotate buttons to open it!\r\n $(document).on('click', handleClicksForHypothesis);\r\n\r\n \r\n window.hypothesisConfig = function () {\r\n return {\r\n 'openSidebar': true,\r\n 'onLayoutChange': function (e) {\r\n // Hacky way to get around Hypothes.is touch event handlers \r\n // In mobile view, clicking on the annotate link also generates a touch event\r\n // Hypothes.is sees this as the following: \r\n // js-annotate click ==> expand sidebar\r\n // touch event ==> clicked outside sidebar so now CLOSE the sidebar!\r\n // so we force the sidebar to re-open by re-clicking the data-hypothesis-trigger\r\n // But we only want to do this if the sidebar is actually visible (we're in the open it path)\r\n // and it's not already expanded.\r\n // The 'onLayoutChange' event is provided by Hypothes.is to indicate size changes in their display\r\n // see https://h.readthedocs.io/projects/client/en/latest/publishers/config/ for more info\r\n if (e.width < 50 && e.width !== 0 && $('hypothesis-sidebar:visible').length) {\r\n $('[data-hypothesis-trigger]').click();\r\n }\r\n }\r\n };\r\n };\r\n }\r\n };\r\n\r\n ns.configureHypothesisLayoutFix = function () {\r\n const targetNode = document.body;\r\n const config = { attributes: true, attributeFilter: ['style'] };\r\n const callback = (mutationList, observer) => {\r\n for (const mutation of mutationList) {\r\n if (mutation.type === 'attributes' &&\r\n mutation.attributeName === 'style' &&\r\n document.body.style.marginRight &&\r\n !$('hypothesis-sidebar:visible').length) {\r\n document.body.style.setProperty('margin-right', '0px');\r\n }\r\n }\r\n };\r\n const observer = new MutationObserver(callback);\r\n observer.observe(targetNode, config);\r\n };\r\n\r\n ns.init = function () {\r\n if ($toolbar.length) {\r\n showProperToolbarOptions();\r\n ns.removeTabLinkIfTabIsEmpty($viewDrop);\r\n ns.styleToolbarStates();\r\n ns.toggleToolbarDropdown();\r\n ns.collapseShareDropdownOnTab();\r\n ns.toggleTabContent();\r\n ns.initArticleContentFilter();\r\n ns.hideTabIfDropdownIsEmpty();\r\n ns.hypothesisConfig();\r\n ns.adjustToolbarMargins();\r\n }\r\n SCM.CitationModal.enableCitationDownloadOnFormatSelect();\r\n };\r\n\r\n})(SCM.Toolbar = SCM.Toolbar || {}, jQuery, $(document));","var SCM = SCM || {};\r\n\r\nDate.prototype.MMddyyyy = function () {\r\n var month = this.getMonth() + 1;\r\n var date = this.getDate();\r\n var year = this.getFullYear();\r\n\r\n var monthStr = month;\r\n var dateStr = date;\r\n\r\n if (month < 10) {\r\n monthStr = '0' + month;\r\n }\r\n\r\n if (date < 10) {\r\n dateStr = '0' + date;\r\n }\r\n\r\n return monthStr + '/' + dateStr + '/' + year;\r\n};\r\n\r\n(function (ns, $) {\r\n \r\n var validationErrorInvalidYear = $('#hfValidationErrorInvalidYear').val();\r\n var validationErrorInvalidRange = $('#hfValidationErrorInvalidRange').val();\r\n\r\n // Get the date query to use in Solr as generated by the Publication Date Filter\r\n // If only we had a JS unit test framework...\r\n ns.getSolrDateString = function (fromYear, toYear, fromMonth, toMonth) {\r\n var fromDay = 1;\r\n var toDay = 0; // When constructing a Date in JavaScript, 0 gives the last day of the month.\r\n\r\n if (ns.isSingleDateSelected) {\r\n // Handle all single-date logic here. Note that only `fromMonth` and `fromYear` could have values.\r\n toYear = fromYear;\r\n\r\n if (!fromMonth) {\r\n fromMonth = 0;\r\n toMonth = 12;\r\n } else {\r\n toMonth = fromMonth;\r\n fromMonth -= 1;\r\n }\r\n\r\n } else {\r\n\r\n if (!fromYear && toYear) {\r\n fromYear = 1666;\r\n fromMonth = 0;\r\n }\r\n else if (fromYear && !toYear) {\r\n toYear = 2999;\r\n toMonth = 12;\r\n }\r\n\r\n if (!toMonth && fromYear && toYear) {\r\n toMonth = 12;\r\n }\r\n \r\n if (fromMonth) {\r\n fromMonth -= 1;\r\n }\r\n\r\n }\r\n\r\n var fromDate = new Date(fromYear, fromMonth, fromDay);\r\n var toDate = new Date(toYear, toMonth, toDay);\r\n\r\n return fromDate.MMddyyyy() + ' TO ' + toDate.MMddyyyy();\r\n };\r\n \r\n ns.getValidationResponseTextForDateRange = function (fromYear, toYear, fromMonth, toMonth) {\r\n // Years must be a 4-digit number. This rule takes precedence according to NARN-12955.\r\n if (!fromYear && !toYear ||\r\n fromYear && !/^[\\d]{4}$/.test(fromYear) ||\r\n toYear && !/^[\\d]{4}$/.test(toYear)) {\r\n return validationErrorInvalidYear;\r\n }\r\n\r\n // Cannot have invalid date ranges.\r\n if (fromYear && toYear && fromYear > toYear || // 1st case: cannot have 2020 to 2010.\r\n\r\n fromMonth && toMonth &&\r\n fromMonth > toMonth && // 2nd case: cannot have July 2016 to January 2016.\r\n fromYear && toYear &&\r\n fromYear === toYear) {\r\n\r\n return validationErrorInvalidRange;\r\n }\r\n };\r\n\r\n ns.getValidationResponseTextForSingleDate = function (year) {\r\n // We will assume that either one of the year fields is filled when validating.\r\n\r\n // Years must be a 4-digit number. This rule takes precedence according to NARN-12955.\r\n if (!year || !/^[\\d]{4}$/.test(year)) {\r\n return validationErrorInvalidYear;\r\n }\r\n };\r\n\r\n // Fill in the date filter values based on URL search parameters.\r\n ns.fillInMonthDropdown = function ($month, $year) {\r\n if ($month.length) {\r\n var selectedValue = $month.data('selected');\r\n if (selectedValue && $year.val()) {\r\n // If the month is filled in, fill it in!\r\n $month.val(selectedValue);\r\n }\r\n }\r\n };\r\n\r\n ns.isSingleDateSelected = false;\r\n\r\n ns.initDateRangeToggle = function () {\r\n $(document).on('click', '.js-date-range-input-radio', function () {\r\n ns.isSingleDateSelected = $(this).attr('value') === 'single';\r\n cacheInputs();\r\n if (ns.isSingleDateSelected) {\r\n $('.js-date-input-to').addClass('hide');\r\n $('.js-date-range-label').addClass('hide');\r\n } else {\r\n $('.js-date-input-to').removeClass('hide');\r\n $('.js-date-range-label').removeClass('hide');\r\n }\r\n });\r\n };\r\n \r\n // Date Range or Single Date\r\n ns.initDateFilterTypeToggle = function () {\r\n if (window.location.search.indexOf('dateFilterType=single') >= 0) {\r\n $('.js-date-range-input-radio[value=\"single\"]').click();\r\n }\r\n };\r\n\r\n ns.$fromYear = null;\r\n ns.$toYear = null;\r\n ns.$fromMonth = null;\r\n ns.$toMonth = null;\r\n\r\n function cacheInputs() {\r\n ns.$fromYear = $('#fromYear');\r\n ns.$toYear = $('#toYear');\r\n ns.$fromMonth = $('#fromMonth');\r\n ns.$toMonth = $('#toMonth');\r\n }\r\n\r\n ns.init = function () {\r\n cacheInputs();\r\n\r\n ns.initDateRangeToggle();\r\n ns.initDateFilterTypeToggle();\r\n ns.fillInMonthDropdown(ns.$fromMonth, ns.$fromYear);\r\n ns.fillInMonthDropdown(ns.$toMonth, ns.$toYear);\r\n };\r\n\r\n})(SCM.PublicationDateFilter = SCM.PublicationDateFilter || {}, jQuery);","var SCM = SCM || {};\r\n\r\n\r\n\r\nSCM.PubHistory = (function ($) {\r\n\r\n return {\r\n registerToggle: registerToggle\r\n };\r\n\r\n function registerToggle() {\r\n $(document.body).on('click', '.js-history-dropdown-trigger', function (e) {\r\n e.stopPropagation();\r\n SCM.Toolbar.closeHypothesis();\r\n $('.js-history-entries-wrap').toggleClass('expanded');\r\n });\r\n }\r\n})(jQuery);","var SCM = SCM || {};\r\nSCM.PeerReview = (function($) {\r\n\r\n return {\r\n registerToggle: registerToggle\r\n };\r\n\r\n function registerToggle() {\r\n $(document.body).on('click', '.js-peer-review-dropdown-trigger', function (e) {\r\n e.stopPropagation();\r\n SCM.Toolbar.closeHypothesis();\r\n $('.js-peer-review-wrap').toggleClass('expanded');\r\n $(this).attr('aria-expanded') === 'false' ? $(this).attr('aria-expanded', 'true') : $(this).attr('aria-expanded', 'false');\r\n $(this).find('i').toggleClass('icon-general-arrow-filled-down icon-general-arrow-filled-up');\r\n });\r\n }\r\n})(jQuery);","// ----\r\n// Client StatsMaster\r\n// Where we track all end-user actions like clicking on share tools, content panes, etc.\r\n// ----\r\n\r\n\r\nvar SCM = SCM || {};\r\n\r\nSCM.ClientStatsMaster = (function ($, undefined) {\r\n // ----\r\n // Private Functions and Variables go here\r\n // ----\r\n function UserTracking(sourceType, actionType, actionDescription, url, searchData, isTurnAway) {\r\n this.SourceType = sourceType;\r\n this.ActionType = actionType;\r\n this.ActionDescription = actionDescription;\r\n this.ActionUrl = url;\r\n this.SearchData = searchData;\r\n this.IsTurnaway = isTurnAway;\r\n }\r\n\r\n UserTracking.prototype.toJson = function () {\r\n return JSON.stringify(this);\r\n };\r\n\r\n\r\n function sendTrackingData(sourceType, actionType, actionDescription, url, searchData, isTurnAway) {\r\n var ucaData = new UserTracking(sourceType, actionType, actionDescription, url, searchData, isTurnAway).toJson();\r\n var serviceUrl = '/Services/UserActionService.svc/TrackUserAction';\r\n\r\n $.ajax({\r\n type: 'POST',\r\n url: serviceUrl,\r\n data: ucaData,\r\n contentType: 'application/json; charset=utf-8',\r\n dataType: 'json',\r\n async: true,\r\n processData: true\r\n })\r\n .fail(function (jqXhr, textStatus) {\r\n if (window.console) {\r\n console.log('jqXhr.responseText: ' + jqXhr.responseText);\r\n console.log('status: ' + textStatus);\r\n }\r\n });\r\n }\r\n\r\n // ----\r\n // Return an object exposed to the public\r\n // ----\r\n return {\r\n\r\n // Content Tabs\r\n trackContentTabEvents: function(){\r\n // set 1 click event on wrapper instead of individual click events on each item.\r\n var wrapperElem = $('#Toolbar');\r\n var trackedTabActions = {\r\n '#FigureTab': 'FiguresClicked',\r\n '#TableTab': 'TablesClicked',\r\n '#ContentTab': 'ArticleClicked',\r\n '#SupplementTab': 'SupplementClicked',\r\n '#MultimediaTab': 'MultimediaClicked'\r\n };\r\n\r\n wrapperElem.on('click', '.tab-trigger', function() {\r\n var tab = $(this).attr('data-tab');\r\n\r\n if (tab in trackedTabActions) {\r\n sendTrackingData(22, 'View', trackedTabActions[tab], window.location.href, '', false);\r\n //console.log(trackedTabActions[tab]);\r\n }\r\n });\r\n },\r\n\r\n\r\n // Shares\r\n trackShares: function (){\r\n var wrapperElem = $('#ShareDrop');\r\n var trackedShareActions = {\r\n 'addthis_button_email': 'EmailClicked',\r\n 'addthis_button_share': 'TwitterClicked',\r\n 'addthis_button_facebook': 'FacebookClicked',\r\n 'addthis_button_compact': 'CompactClicked',\r\n };\r\n\r\n wrapperElem.on('click', 'a', function() {\r\n // make this more robust so if people add class names it doesn't break\r\n var shareLink = $(this).attr('class');\r\n\r\n if (shareLink in trackedShareActions) {\r\n sendTrackingData(22, 'Share', trackedShareActions[shareLink], window.location.href, '', false);\r\n //console.log(trackedShareActions[shareLink]);\r\n }\r\n });\r\n },\r\n\r\n trackSingleAction: function($elem, actionType, actionDescription){\r\n $elem.on('click', function () { // GetCitation\r\n sendTrackingData(22, actionType, actionDescription, window.location.href, \"\", false);\r\n });\r\n }\r\n\r\n };\r\n\r\n})(jQuery);\r\n\r\n\r\n$(window).on('load', function(){\r\n SCM.ClientStatsMaster.trackContentTabEvents();\r\n SCM.ClientStatsMaster.trackShares();\r\n SCM.ClientStatsMaster.trackSingleAction($('a[data-reveal-id=\"getCitation\"]'), 'Tools', 'GetCitationClicked');\r\n SCM.ClientStatsMaster.trackSingleAction($('div.toolboxGetAlertsWidget'), 'Tools', 'AlertsClicked');\r\n SCM.ClientStatsMaster.trackSingleAction($('div#getAlertsConfirmation'), 'Tools', 'AlertAdded');\r\n SCM.ClientStatsMaster.trackSingleAction($('#PermissionsLink'), 'Tools', 'GetPermissionsClicked');\r\n SCM.ClientStatsMaster.trackSingleAction($('a.tablelink').filter(':parent'), 'ViewLargeImage', 'ViewLargeImageClicked');\r\n});","var SCM = SCM || {};\r\nSCM.JumpLinks = SCM.JumpLinks || {};\r\n\r\nSCM.JumpLinks = (function($, stickyToolbarHelper){\r\n var $body,\r\n $jumpLinks,\r\n jumplinkHash = [],\r\n $jsJumpLinkTargetIds = [],\r\n ticking = false;\r\n\r\n /**\r\n * Returns module API\r\n * @returns {object}\r\n */\r\n return {\r\n init: init,\r\n registerNotesTocLink: registerNotesTocLink,\r\n registerFootNotesLink: registerFootNotesLink\r\n };\r\n\r\n /** used by init() to jump the page to a jumplink target */\r\n function _jumpToTarget($target) {\r\n if ($target.length) {\r\n var targetOffsetTop = getTargetAndToolbarOffset($target);\r\n\r\n $body.animate({\r\n scrollTop: targetOffsetTop\r\n }, 400, function () {\r\n $(window).off('scroll', handleScroll);\r\n $(window).on('scroll', handleScroll);\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Return a jQuery selector for all elements with the specified attribute and attribute value.\r\n *\r\n * This method is appropriate to use when the attribute name is sanitized\r\n * but the attribute value is not.\r\n *\r\n * If you trust the value, you might instead run something like\r\n * $('[data-legacy-id=\"' + hrefWithoutHash + '\"]');\r\n */\r\n function _byAttr(attrName, attrValue) { \r\n \r\n return $('[' + attrName + ']').filter(\r\n function () {\r\n var v = $(this).attr(attrName);\r\n return v === attrValue;\r\n }\r\n );\r\n }\r\n\r\n function init() {\r\n $body = $('html, body');\r\n $jumpLinks = $('.js-jumplink, .sectionLink, .js-no-access-jumplink').not('.disable').not('.hide');\r\n var locationHashId = window.location.hash;\r\n\r\n\r\n if (locationHashId != '' && locationHashId != undefined) {\r\n adjustScrollMarginTop(locationHashId);\r\n }\r\n\r\n // article and issue\r\n //\r\n // Highlight active jumplink on scroll - step 1\r\n // Load position & associated jumplink for each section/abstract title into a hash-table-like object\r\n if ($body.hasClass('pg_article') || $body.hasClass('pg_issue')) {\r\n // jumplinkHash declared above so we can use it here & in on('scroll') block\r\n $jumpLinks.each(function(){\r\n var $this = $(this),\r\n $jumplinkTarget = findJumplinkTarget($this.attr('href'));\r\n\r\n jumplinkHash.push({\r\n jumplink: $this,\r\n target: $jumplinkTarget\r\n });\r\n\r\n });\r\n\r\n if (locationHashId) {\r\n var targetIdValue = locationHashId.split('#').pop().trim();\r\n var indexOfEqual = targetIdValue.indexOf('=');\r\n if (indexOfEqual > 0) {\r\n targetIdValue = targetIdValue.substring(0, indexOfEqual);\r\n }\r\n\r\n var $target = findJumplinkTarget('#' + targetIdValue);\r\n _jumpToTarget($target); \r\n }\r\n\r\n $(window).on('scroll', handleScroll);\r\n registerFootNotesLink();\r\n }\r\n\r\n // chapters\r\n if ($body.hasClass('pg_chapterstandard')) {\r\n // jumplinkHash declared above so we can use it here & in on('scroll') block\r\n $jumpLinks.each(function () {\r\n var $this = $(this);\r\n var targetIdValue = $($this.attr('href').split('#').pop().trim());\r\n $target = findJumplinkTarget('#' + targetIdValue.selector);\r\n $jumplinkTarget = findJumplinkTarget($target);\r\n\r\n jumplinkHash.push({\r\n jumplink: $this,\r\n target: $jumplinkTarget\r\n });\r\n\r\n });\r\n\r\n // NARN-17126 support jumping to first data supplement reference\r\n // .. in lieu of something representing the data supplement!\r\n // (WHY? Because in Dec 2020 we don't show data supplements on the page, just links to them.)\r\n if (locationHashId) {\r\n targetIdValue = locationHashId.split('#').pop().trim();\r\n if (targetIdValue.startsWith('jumplink-')) {\r\n targetIdValue = targetIdValue.substr('jumplink-'.length);\r\n $target = _byAttr('data-supplement-target', targetIdValue);\r\n _jumpToTarget($target);\r\n } \r\n }\r\n\r\n $(window).on('scroll', handleScroll);\r\n registerFootNotesLink();\r\n }\r\n\r\n if ($body.hasClass('pg_siconversioncalculatorpage')) {\r\n $(window).on('scroll', handleScroll);\r\n }\r\n \r\n registerTocJumpLinkClickEvents($body, $jumpLinks);\r\n\r\n // changes for splitview\r\n if ($body.hasClass('pg_articlesplitview')) {\r\n // hide References jumplink in Contents tab\r\n $('.js-jumplink:contains(\"References\")').parents('.section-jump-link').hide();\r\n }\r\n }\r\n \r\n function getTargetAndToolbarOffset($target) {\r\n var toolbarHeight = stickyToolbarHelper.getStickyToolbarHeight();\r\n var targetId = $target[0].id;\r\n // Special cases for 'Get Access' jumplinks: add 18px of space\r\n if (targetId == 'no-access-message' || targetId == 'login-purchase') {\r\n return $target.offset().top - toolbarHeight - 18;\r\n }\r\n else {\r\n return $target.offset().top - toolbarHeight;\r\n }\r\n }\r\n\r\n /**\r\n * Differentiate between jumplink targeting id attr vs data-legacy-id attr\r\n * @param targetID {string}\r\n * @return $target {object}\r\n */\r\n function findJumplinkTarget(targetID) {\r\n if (targetID && targetID.length) {\r\n var $target = $(targetID);\r\n\r\n if ($target.length === 0 && targetID.startsWith('#')) {\r\n var hrefWithoutHash = targetID.substring(1);\r\n $target = $('[data-legacy-id=\"' + hrefWithoutHash + '\"]');\r\n }\r\n return $target;\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Handle window scroll, and capture current scroll position Y\r\n */\r\n function handleScroll() {\r\n lastScrollPosY = window.scrollY;\r\n requestTick();\r\n }\r\n /**\r\n * Request new rAF if not active\r\n */\r\n function requestTick() {\r\n if (!ticking) {\r\n rAF = requestAnimationFrame(highlightOnScroll);\r\n ticking = true;\r\n }\r\n }\r\n\r\n\r\n /**\r\n * register click event for manually added notes link on TOC\r\n * this is added after chapter display, if end notes widget exists\r\n */\r\n function registerNotesTocLink(notesDiv, eventClassName) {\r\n $('.' + eventClassName).on('click', function () { \r\n var targetOffsetTop = $(notesDiv).offset().top - 50;\r\n $body.animate({\r\n scrollTop: targetOffsetTop\r\n }, 400, function () {\r\n $(window).off('scroll', handleScroll);\r\n $(window).on('scroll', handleScroll);\r\n });\r\n $body.removeClass('noscroll');\r\n });\r\n }\r\n\r\n function registerTocJumpLinkClickEvents($body, $jumpLinks) {\r\n $jumpLinks.on('click', function (e) {\r\n if ($body.hasClass('pg_issue')) {\r\n let searchParams = new URLSearchParams(window.location.search);\r\n handlePageNumberInJumplink($(e.target), searchParams);\r\n }\r\n else if ($body.hasClass('pg_article') || $body.hasClass('pg_chapterstandard') || $body.hasClass('pg_siconversioncalculatorpage')) {\r\n findAndScrollToTarget($body, $(this).attr('href'));\r\n\r\n closeMobileNavModal($body);\r\n\r\n $(document).off('touchmove');\r\n SCM.SiteJS.initFoundation();\r\n }\r\n else if ($body.hasClass('pg_book')) {\r\n findAndScrollToTarget($body, $(this).attr('href'));\r\n }\r\n });\r\n }\r\n\r\n function handlePageNumberInJumplink($link, searchParams) {\r\n let pageNumberParam = searchParams.get('page');\r\n var page = 1;\r\n if (pageNumberParam) {\r\n page = Number.parseInt(pageNumberParam);\r\n }\r\n\r\n if ($link.data('page') !== 0 && $link.data('page') !== page) {\r\n window.location = '?page=' + $link.data('page') + $link.attr('href');\r\n }\r\n }\r\n\r\n function adjustScrollMarginTop(scrollTarget) {\r\n $target = $(scrollTarget);\r\n\r\n if ($target.length) {\r\n var toolbarHeight = stickyToolbarHelper.getStickyToolbarHeight();\r\n $target.css('scroll-margin-top', toolbarHeight + 'px');\r\n }\r\n }\r\n\r\n function findAndScrollToTarget($body, href) {\r\n $target = findJumplinkTarget(href);\r\n\r\n var targetOffsetTop = getTargetAndToolbarOffset($target);\r\n\r\n $body.animate({\r\n scrollTop: targetOffsetTop\r\n }, 400, function () {\r\n $(window).off('scroll', handleScroll);\r\n $(window).on('scroll', handleScroll);\r\n });\r\n }\r\n\r\n function closeMobileNavModal($body) {\r\n $('.page-column--left').removeClass('js-filters-open');\r\n $('.page-column--left, .responsive-issue-nav, .issue-dropdown-wrap').removeAttr('style');\r\n $body.removeClass('noscroll');\r\n }\r\n\r\n function getContentBody($el) {\r\n if ($('.js-sv-main:visible').length) { // split view\r\n // special case for footnotes in tables or figures - they are in a different pane in split view\r\n if (($el.closest('.table-wrap-foot').length || $el.closest('.js-fig-section').length) && \r\n $('.js-sv-figuresTables').length) {\r\n return $('.js-sv-figuresTables');\r\n }\r\n return $('#split-view-scroll-pane');\r\n } else {\r\n return $('#ContentColumn');\r\n }\r\n }\r\n\r\n function registerFootNotesLink() {\r\n $('.js-end-note-link').off('click'); // unbind event when switching between split view and standard view\r\n $('.js-end-note-link').on('click', function (e) {\r\n var footnoteId = $(this).attr('data-fn-id');\r\n var bookId = $('#bookId').val();\r\n var isArticle = $('.widget-ArticleFulltext').length > 0;\r\n var $contentBody = getContentBody($(this));\r\n var isSplitView = $('.js-sv-main:visible').length;\r\n if (footnoteId && footnoteId.length) {\r\n var $noteLink;\r\n if (isArticle) {\r\n $noteLink = $('.content-inner-wrap:visible .js-xref-fn[reveal-id=\"' + footnoteId + '\"]:visible');\r\n // special case for table-modals that are marked display:block and visibility:hidden\r\n // Have to filter those out and only look at ones not in the modal\r\n if ($noteLink.length > 1) {\r\n $noteLink = $noteLink.filter(function (idx) {\r\n var $parent = $($noteLink[idx]).closest('.table-modal.table-full-width-wrap');\r\n return ($parent.length === 0);\r\n });\r\n $noteLink = $noteLink.first();\r\n }\r\n }\r\n else {\r\n $noteLink = $contentBody.find('.js-xref-fn[reveal-id=\"' + footnoteId + '\"]:first');\r\n }\r\n if ($noteLink.length === 0 && bookId.length) {\r\n // If it's on this page don't need \r\n // to find the chapter on the server side\r\n // 2 types of links - footnote links and xref links - check both\r\n $noteLink = $contentBody.find('.js-related-object[legacysectionid=\"' + footnoteId + '\"]:first');\r\n }\r\n if ($noteLink.length) {\r\n var pageOffset = 0;\r\n var $pageBody = $body;\r\n var targetOffsetTop = $noteLink.offset().top - 60;\r\n if (isSplitView) {\r\n // need to account for sticky toolbar && splitview\r\n // have to scroll from a different place in split view\r\n pageOffset = $contentBody.offset().top;\r\n $pageBody = $contentBody;\r\n targetOffsetTop = $noteLink.offset().top - pageOffset + $contentBody.scrollTop() - 5;\r\n }\r\n $pageBody.animate({\r\n scrollTop: targetOffsetTop\r\n }, 200, function () {\r\n $(window).off('scroll', handleScroll);\r\n $(window).on('scroll', handleScroll);\r\n });\r\n $body.removeClass('noscroll');\r\n }\r\n // Don't need to do this for articles, since footnotes will be on the current page\r\n else if (!isArticle && bookId.length) {\r\n var baseUrl = App.CurrentSubdomain.length ? '/' + App.CurrentSubdomain : '';\r\n $.ajax({\r\n url: baseUrl + '/Content/GoToChapterFootNote',\r\n cache: false,\r\n data: {\r\n bookId: bookId,\r\n footnoteId: footnoteId\r\n },\r\n dataType: 'json',\r\n success: function (response) {\r\n if (response.Success) {\r\n window.location = response.RedirectURL;\r\n }\r\n }\r\n //if failure, we couldn't find it so do nothing\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Highlight jumplink corresponding to current page section in scroll frame\r\n */\r\n function highlightOnScroll() {\r\n var $jsJumplinks = $('.js-jumplink');\r\n var searchParams = new URLSearchParams(window.location.search);\r\n\r\n //highlighting on scroll\r\n $(window).on('scroll', function () {\r\n var scrollTop = $(this).scrollTop();\r\n\r\n $('.articleClientType').each(function () {\r\n var topDistance = $(this).offset().top;\r\n var subheadingArticleId = $(this).attr('id');\r\n var scrollToLink = $('.section-jump-link__link-wrap a[href=\"#' + subheadingArticleId + '\"]');\r\n\r\n // if section is in view\r\n if ((topDistance - 90) < scrollTop) {\r\n if ($(scrollToLink).length) {\r\n $('.list-issue-jumplinks li').removeClass('active');\r\n }\r\n $('#largeJumptoSection').removeAttr('tabindex');\r\n $jsJumplinks.removeClass('active')\r\n .removeAttr('aria-current')\r\n .attr('tabindex', '-1');\r\n $(scrollToLink).closest('.js-jumplink')\r\n .addClass('active')\r\n .attr('aria-current', 'true')\r\n .attr('tabindex', '0');\r\n }\r\n });\r\n\r\n if ($body.hasClass('pg_issue') && !$jsJumplinks.hasClass('active')) {\r\n let pageNumberParam = searchParams.get('page');\r\n var pageSize = $('#ArticleListPageSize').val();\r\n var page = 0;\r\n if (pageNumberParam) {\r\n page = Number.parseInt(pageNumberParam) - 1;\r\n }\r\n\r\n var find = (page * pageSize);\r\n\r\n var prev;\r\n var links = $('.section-jump-link__link-wrap a');\r\n links.each(function (idx, elem) {\r\n if (elem.dataset.ordinal > find) {\r\n $(prev).closest('.js-jumplink').addClass('active');\r\n return false;\r\n } else if (links.length-1 === idx) {\r\n $(elem).closest('.js-jumplink').addClass('active'); \r\n }\r\n prev = elem;\r\n });\r\n }\r\n\r\n if ($('.article-body').length) {\r\n $('#ContentColumn h2').each(function () {\r\n var topDistance = $(this).offset().top;\r\n var subheadingArticleId = $(this).attr('id');\r\n var scrollToLink = $('#InfoColumn .section-jump-link__link-wrap a[href=\"#' + subheadingArticleId + '\"]');\r\n // if section is in view\r\n if ((topDistance - 90) < scrollTop) {\r\n if ($(scrollToLink).length) {\r\n $('.jumplink-list li').removeClass('active');\r\n }\r\n $jsJumplinks.removeClass('active');\r\n $(scrollToLink).closest('.js-jumplink').addClass('active');\r\n }\r\n });\r\n }\r\n\r\n if ($('.book-chapter-body').length) {\r\n if (!$jsJumpLinkTargetIds.length) {\r\n $('#ContentColumn h2, #ContentColumn h3, #ContentColumn h4').each(function () {\r\n $jsJumpLinkTargetIds.push($(this));\r\n });\r\n // if there is a notes link in the TOC, add the footnotes element as one of the jumplinks\r\n if ($('.js-toc-footnotes-link').find('.js-notes-link-chapter-footnotes:visible').length > 0) {\r\n $jsJumpLinkTargetIds.push($('#chapter-footnotes'));\r\n } // if there is a notes link in the TOC, add the endnotestargetlocation element as one of the jumplinks\r\n if ($('.js-toc-notes-link').find('.js-notes-link-end-notes:visible').length > 0) {\r\n $jsJumpLinkTargetIds.push($('#endNotesTargetLocation'));\r\n }\r\n }\r\n\r\n $($jsJumpLinkTargetIds).each(function () {\r\n var topDistance = $(this).offset().top;\r\n var scrollToLink, subheadingChapterId;\r\n\r\n if ($(this).data('magellan-destination')) {\r\n subheadingChapterId = parseInt($(this).data('magellan-destination'));\r\n }\r\n else {\r\n subheadingChapterId = parseInt($(this).prevAll('.jumpLoc-sectionId').eq(0).attr('id'));\r\n }\r\n\r\n // special case for End notes widget link\r\n // widget displays when chapter has end notes, we manually add Notes link in TOC to jump to it\r\n if ($(this).hasClass('js-end-notes-target')) {\r\n scrollToLink = $('#InfoColumn .js-section-title-wrap .js-notes-link-end-notes:visible');\r\n }\r\n else if ($(this).hasClass('js-footnotes-target')) {\r\n scrollToLink = $('#InfoColumn .js-section-title-wrap .js-notes-link-chapter-footnotes:visible');\r\n }\r\n else {\r\n scrollToLink = $('#InfoColumn .js-section-title-wrap a[data-sectionid=\"' + subheadingChapterId + '\"]');\r\n }\r\n\r\n // if section is in view\r\n if ((topDistance - 120) < scrollTop) {\r\n if ($(scrollToLink).length) {\r\n $('.jumplink-list[role=\"tree\"]').attr('tabindex', '-1');\r\n $('.js-jumplink-list li').removeClass('active');\r\n $('.tocLink[aria-current]').removeAttr('aria-current')\r\n .attr('tabindex', '-1');\r\n $jsJumplinks.removeClass('active at-highlighted-heading');\r\n $(scrollToLink).closest('.js-jumplink')\r\n .addClass('active at-highlighted-heading')\r\n .attr('aria-current', 'true')\r\n .attr('tabindex', '0');\r\n $(scrollToLink).closest('.js-jumplink').addClass('at-highlighted-heading');\r\n $(scrollToLink).parents('.js-headings-placeholder').siblings('.js-section-title-wrap').find('.js-tocLink').addClass('active');\r\n $(scrollToLink).parents('.js-headings-placeholder').siblings('.js-section-title-wrap').find('.js-jumplink').addClass('active');\r\n }\r\n }\r\n });\r\n }\r\n\r\n if ($('.pg_siconversioncalculatorpage').length) {\r\n var $jumpLinkTargets = $('#table1, #length, #area, #mass, #volume, #table2, #analytes__A-D, #analytes__E-K, #analytes__L-Q, #analytes__R-Z');\r\n $jumpLinkTargets.each(function () {\r\n var topDistance = $(this).offset().top;\r\n var subheadingId = $(this).attr('id');\r\n var scrollToLink = $('#InfoColumn .section-jump-link__link-wrap a[href=\"#' + subheadingId + '\"]');\r\n // if section is in view\r\n if ((topDistance - 90) < scrollTop) {\r\n if ($(scrollToLink).length) {\r\n $('.jumplink-list li').removeClass('active at-selected-LR-element');\r\n }\r\n $jsJumplinks.removeClass('active at-selected-LR-element');\r\n $(scrollToLink).closest('.js-jumplink').addClass('active at-selected-LR-element');\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n})(jQuery, SCM.StickyToolbarHelper);","var SCM = SCM || {};\r\n\r\nSCM.trapFocus = (function ($) {\r\n var retainFocus = {\r\n publicTrapFocus: publicTrapFocus,\r\n getModalVisibleAndFocusableElements: _getModalVisibleAndFocusableElements\r\n };\r\n\r\n return retainFocus;\r\n\r\n function publicTrapFocus($modal, $closeBtn, $lastActiveElement) {\r\n _initModalTrapFocus($modal, $closeBtn, $lastActiveElement);\r\n }\r\n\r\n function _getModalVisibleAndFocusableElements($modal) {\r\n var focusableElements = $modal.find('a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type=\"text\"]:not([disabled]), input[type=\"radio\"]:not([disabled]), input[type=\"checkbox\"]:not([disabled]), select:not([disabled]), input, div[tabindex=0]');\r\n var visibleElements = focusableElements.filter(':visible');\r\n return visibleElements;\r\n }\r\n\r\n function _initModalTrapFocus($modal, $closeBtn, lastActiveElement) {\r\n var KEYCODE_TAB = 9;\r\n $modal.keydown(function (e) {\r\n if (e.key === 'Escape') {\r\n lastActiveElement.focus();\r\n }\r\n\r\n var isTabPressed = (e.key === 'Tab' || e.keyCode === KEYCODE_TAB);\r\n\r\n if (!isTabPressed) {\r\n return;\r\n }\r\n\r\n var visibleElements = _getModalVisibleAndFocusableElements($modal);\r\n var firstFocusableElement = visibleElements[0];\r\n var lastFocusableElement = visibleElements[visibleElements.length - 1];\r\n\r\n if (e.shiftKey) /* shift + tab */ {\r\n if (document.activeElement === firstFocusableElement) {\r\n lastFocusableElement.focus();\r\n e.preventDefault();\r\n }\r\n }\r\n else /* tab */ {\r\n if (document.activeElement === lastFocusableElement) {\r\n firstFocusableElement.focus();\r\n e.preventDefault();\r\n }\r\n }\r\n });\r\n\r\n $closeBtn.on('click', function () {\r\n lastActiveElement.focus();\r\n });\r\n }\r\n})(jQuery);","var SCM = SCM || {};\r\n\r\n(function (ns, $) {\r\n var lastScrollPosY = window.scrollY || window.pageYOffset;\r\n var ticking = false;\r\n var $body;\r\n var $stickyMobileNav;\r\n var $srFilters;\r\n var $issueBrowseMobileNav;\r\n var $leftNavColumn;\r\n var $toolbarWrap;\r\n var toolbarHeight;\r\n var mobileToolbarHeight;\r\n var $stickyElements;\r\n var $stickyToolbar;\r\n var $header;\r\n var $adBannerTop;\r\n var $adTopConfig;\r\n var $adRightConfig;\r\n var $adDelayMilliseconds;\r\n var $useAdTopDelay;\r\n var $mainPage;\r\n var $rightRail;\r\n var $rightRailAd;\r\n var $scrollHeight;\r\n var leftNavStickyOffset = 0;\r\n var $sitewideBanner;\r\n\r\n ns.init = function () {\r\n $body = $('body');\r\n $mainPage = $('.js-master-container');\r\n $leftNavColumn = $('.js-left-nav-col');\r\n $leftNav = $('.js-left-nav');\r\n $toolbarWrap = $('.js-toolbar-wrap');\r\n toolbarHeight = $toolbarWrap.height();\r\n mobileToolbarHeight = $('.js-mobile-nav').height();\r\n $stickyElements = $('.js-left-nav-col, .js-toolbar-wrap, .sr-filters, .js-mobile-nav');\r\n $stickyToolbar = $('.js-sticky-toolbar');\r\n $header = $('.js-master-header');\r\n $sitewideBanner = $('.widget-SitewideBanner');\r\n $adBannerTop = $('.js-ad-banner-header');\r\n $adDelayMilliseconds = $('#hdnAdDelaySeconds').val();\r\n $adTopConfig = $('#hdnAdConfigurationTop').val();\r\n $adRightConfig = $('#hdnAdConfigurationRightRail').val();\r\n $rightRail = $('#Sidebar.page-column--right');\r\n $rightRailAdContainer = $('#Sidebar>div:last-of-type');\r\n $rightRailAd = $('#Sidebar>div:last-of-type>div');\r\n $issueBrowseMobileNav = $('.js-issue-browse-mobile-nav');\r\n $stickyMobileNav = $('.js-mobile-nav-sticky');\r\n $srFilters = $('.sr-filters');\r\n \r\n var $leftNavStickyOffsetHiddenField = $('#hfLeftNavStickyOffset');\r\n if ($leftNavStickyOffsetHiddenField.length) {\r\n leftNavStickyOffset = parseInt($leftNavStickyOffsetHiddenField.val());\r\n }\r\n\r\n if ($adDelayMilliseconds > 0 && $adTopConfig === 'scrolldelay') {\r\n $useAdTopDelay = true;\r\n setTimeout(function () {\r\n $useAdTopDelay = false;\r\n $adBannerTop.removeClass('fixed');\r\n $mainPage.removeClass('master-container-sticky');\r\n }, $adDelayMilliseconds);\r\n }\r\n\r\n $(window).on('scroll', onScroll);\r\n updateStickyElements();\r\n };\r\n\r\n /**\r\n * Handle window scroll, and capture current scroll position Y\r\n */\r\n function onScroll() {\r\n lastScrollPosY = window.scrollY || window.pageYOffset;\r\n if ($toolbarWrap.length && $toolbarWrap.offset().top <= 0) {\r\n recoverToolbarStates();\r\n }\r\n requestTick();\r\n }\r\n\r\n function recoverToolbarStates() {\r\n var $toolbarWraps = $('.js-toolbar-wrap');\r\n $toolbarWraps.each(function () {\r\n var $parent = $(this).parent();\r\n if (!$parent.hasClass('js-sticky-toolbar')) {\r\n $toolbarWrap = $(this);\r\n return;\r\n }\r\n });\r\n $stickyToolbar = $('.js-sticky-toolbar');\r\n _isToolbarCloned = null;\r\n }\r\n\r\n /**\r\n * Request new rAF if not active\r\n */\r\n function requestTick() {\r\n if (!ticking) {\r\n requestAnimationFrame(updateStickyElements);\r\n ticking = true;\r\n }\r\n }\r\n\r\n function isPageArticle() { return $body.hasClass('pg_article'); }\r\n function isPageArticlesByGroup() { return $body.hasClass('pg_articlesbygroup'); }\r\n function isPageIssue() { return $body.hasClass('pg_issue'); }\r\n function isPageSearch() { return $body.hasClass('pg_searchresults'); }\r\n function isPageSelfServe() { return $body.hasClass('pg_selfserve/sspage') || $body.hasClass('pg_selfservepage'); }\r\n function isPageBook() { return $body.hasClass('pg_book'); }\r\n function isPageChapter() { return $body.hasClass('pg_chapterstandard'); }\r\n function isPageSiConversionCalculator() { return $body.hasClass('pg_siconversioncalculatorpage'); }\r\n\r\n function updateStickyElements() {\r\n ticking = false;\r\n \r\n updateStickyToolbar();\r\n updateRightRail();\r\n updateLeftNav();\r\n updateSearchStickyToolbar();\r\n\r\n if (isPageIssue()) {\r\n updateIssueLeftNav();\r\n }\r\n\r\n updateAdvertScrollDelay();\r\n updateAdvertGuardian();\r\n }\r\n\r\n // checking every time because google ads aren't always loaded by document.ready()\r\n var _hasTopAd = null;\r\n function hasTopAd() {\r\n if (!_hasTopAd) {\r\n _hasTopAd = $('#adBlockHeader iframe').length;\r\n }\r\n return _hasTopAd;\r\n }\r\n\r\n var _hasRightRailAd = null;\r\n function hasRightRailAd() {\r\n if (!_hasRightRailAd) {\r\n _hasRightRailAd = $('#Sidebar>div:last-of-type iframe').length;\r\n }\r\n return _hasRightRailAd;\r\n }\r\n\r\n function updateRightRail() {\r\n // Right Rail Bottom Ad Sticky\r\n // For layouts with Desktop size breakpoint for Right Sidebar response\r\n if ($adRightConfig === 'sticky' && hasRightRailAd()) {\r\n var adBreakScrollPosY;\r\n if (hasRightRailAd() && SCM.SiteJS.getViewportWidth() > 1200) {\r\n if (isPageArticle()) { // Article page with fixed top menu\r\n $scrollHeight =\r\n 50 +\r\n $rightRail.height() +\r\n $header.height(); // +50 for main padding\r\n adBreakScrollPosY =\r\n $scrollHeight -\r\n $rightRailAd.height() -\r\n 80; // account for fixed article menu, top: 80 for Ad w/ fixed menu.\r\n\r\n if (lastScrollPosY >= adBreakScrollPosY) {\r\n $rightRail.css('height', $rightRail.height());\r\n $rightRailAdContainer.addClass('fixed');\r\n } else {\r\n $rightRail.css('height', 'auto');\r\n $rightRailAdContainer.removeClass('fixed');\r\n }\r\n }\r\n\r\n if (isPageIssue() || isPageSearch() || isPageBook() || isPageChapter()) { // Issue, Search Pages\r\n $scrollHeight =\r\n 50 +\r\n $rightRail.height() +\r\n $header.height(); // +50 for main padding\r\n adBreakScrollPosY = $scrollHeight - $rightRailAd.height() - 24; // top: 24 for Ad w/out fixed menu.\r\n if (lastScrollPosY >= adBreakScrollPosY) { // padding, including responsive article menu\r\n $rightRail.css('height', $rightRail.height());\r\n $rightRailAdContainer.addClass('fixed');\r\n } else {\r\n $rightRail.css('height', 'auto');\r\n $rightRailAdContainer.removeClass('fixed');\r\n }\r\n }\r\n } else {\r\n $rightRailAdContainer.removeClass('fixed');\r\n }\r\n\r\n // Right Rail Bottom Ad Sticky\r\n // For layouts with Tablet size breakpoint for Right Sidebar response\r\n if (hasRightRailAd() && SCM.SiteJS.getViewportWidth() > 1023) {\r\n if (isPageArticlesByGroup()) {\r\n // Undo CSS bottom margin for bottom Ad on articles by group.\r\n $('.pg_articlesbygroup #Sidebar .widget:last-of-type').css('margin-bottom', '0');\r\n }\r\n if (isPageArticlesByGroup() || isPageSelfServe()) { // Issue, Search Pages\r\n $scrollHeight =\r\n 50 +\r\n $rightRail.height() +\r\n $header.height(); // +50 for main padding\r\n adBreakScrollPosY = $scrollHeight - $rightRailAdContainer.height() - 24; // top: 24 for Ad w/out fixed menu.\r\n if (lastScrollPosY >= adBreakScrollPosY) { // padding, including responsive article menu\r\n $rightRail.css('height', $rightRail.height());\r\n $rightRailAdContainer.addClass('fixed');\r\n } else {\r\n $rightRail.css('height', 'auto');\r\n $rightRailAdContainer.removeClass('fixed');\r\n }\r\n }\r\n } else {\r\n $rightRailAdContainer.removeClass('fixed');\r\n }\r\n }\r\n\r\n }\r\n\r\n // Cache value\r\n var _isToolbarCloned = null;\r\n function isToolbarCloned() {\r\n if (_isToolbarCloned === null) {\r\n _isToolbarCloned = $stickyToolbar.children().length;\r\n }\r\n return _isToolbarCloned;\r\n }\r\n\r\n function cloneToolbarToStickyToolbar() {\r\n if (!isToolbarCloned()) {\r\n // Add delay to allow any dropdowns to close before cloning\r\n var delayInMilliseconds = 400;\r\n // We don't want the toolbar to keep cloning while we wait for the delay\r\n _isToolbarCloned = true;\r\n setTimeout(function () {\r\n var $clone = $toolbarWrap.clone(true);\r\n // Rename duplicated ids\r\n var $duplicatedSelect = $clone.find('.js-navbar-search-filter');\r\n $duplicatedSelect.attr('id', 'sticky-navbar-search-filter');\r\n var $duplicatedSelectLabel = $clone.find('.js-navbar-search-filter-label');\r\n $duplicatedSelectLabel.attr('for', 'sticky-navbar-search-filter');\r\n\r\n var $micrositeSearchTerm = $clone.find('.js-microsite-search-term');\r\n $micrositeSearchTerm.attr('id', 'sticky-microsite-search-term');\r\n var $micrositeSearchTermLabel = $clone.find('.js-microsite-search-term-label');\r\n $micrositeSearchTermLabel.attr('for', 'sticky-microsite-search-term');\r\n\r\n var $citationFormatSelect = $clone.find('.js-citation-format');\r\n $citationFormatSelect.attr('id', 'sticky-select-format');\r\n var $citationFormatLabel = $clone.find('.js-citation-format-label');\r\n $citationFormatLabel.attr('for', 'sticky-selectFormat');\r\n\r\n // Remove unneeded html\r\n $clone.find('.mobile-microsite-search').remove();\r\n\r\n // Put html in sticky toolbar\r\n $stickyToolbar.append($clone);\r\n if (typeof addthis !== 'undefined') {\r\n addthis.toolbox('.js-sticky-toolbar');\r\n }\r\n }, delayInMilliseconds);\r\n }\r\n }\r\n\r\n function updateStickyToolbar() {\r\n if (SCM.SiteJS.getViewportWidth() > 1023) {\r\n if ($toolbarWrap.length && (isPageArticle() || isPageChapter() || isPageBook())) {\r\n if (lastScrollPosY >= $toolbarWrap.offset().top + toolbarHeight) {\r\n cloneToolbarToStickyToolbar();\r\n $stickyToolbar.addClass('stuck');\r\n } else {\r\n $stickyToolbar.removeClass('stuck');\r\n }\r\n }\r\n }\r\n else if ($('.js-mobile-nav').length && (isPageArticle() || isPageChapter() || isPageSiConversionCalculator())) {\r\n if (lastScrollPosY >= $('.js-mobile-nav').offset().top + mobileToolbarHeight) {\r\n $stickyMobileNav.addClass('stuck');\r\n } else {\r\n $stickyMobileNav.removeClass('stuck');\r\n }\r\n }\r\n }\r\n\r\n function updateLeftNav() {\r\n\r\n // ViewLarge has an undefined $header, therefore if view is ViewLarge\r\n // we will skip this function so MathJax can execute properly\r\n if (SCM.SiteJS.isPageViewLarge()) {\r\n return;\r\n }\r\n\r\n var guardianAdHeight = 0;\r\n if ($adTopConfig === 'guardian' && hasTopAd()) {\r\n guardianAdHeight = $adBannerTop.height();\r\n }\r\n\r\n // NARN-17805 account for the site wide banner\r\n var headerBoundY = !$header ? 0 : $header.height() + $header.offset().top;\r\n var sitewideBannerHeight = !$sitewideBanner ? 0 : $sitewideBanner.height();\r\n\r\n if (lastScrollPosY\r\n && ($header || $sitewideBanner)\r\n && lastScrollPosY >=\r\n headerBoundY\r\n + sitewideBannerHeight\r\n + guardianAdHeight\r\n - leftNavStickyOffset) {\r\n\r\n if (isPageArticle() || isPageChapter() || isPageBook() || isPageSiConversionCalculator()) {\r\n $leftNavColumn.addClass('stuck');\r\n $leftNav.css('top', '55px');\r\n }\r\n\r\n // Search Results (only for tablet/mobile)\r\n if (isPageSearch() && SCM.SiteJS.getViewportWidth() <= 1023) {\r\n $srFilters.addClass('stuck');\r\n }\r\n\r\n } else {\r\n // remove fixed from all 'sticky' elements\r\n if (isPageArticle() || isPageSearch() || isPageChapter() || isPageBook() || isPageSiConversionCalculator()) {\r\n $leftNav.css('top', '0px');\r\n $stickyElements.removeClass('stuck');\r\n }\r\n }\r\n }\r\n\r\n function updateSearchStickyToolbar() {\r\n if (isPageSearch() && SCM.SiteJS.getViewportWidth() <= 1023) {\r\n if (lastScrollPosY >= $header.height() + 148 + 70) {\r\n // Search Results (only for tablet/mobile)\r\n $srFilters.addClass('stuck');\r\n $srFilters.next().css('margin-top', '70px');\r\n\r\n } else {\r\n // remove fixed from all 'sticky' elements\r\n $stickyElements.removeClass('stuck');\r\n $srFilters.next().css('margin-top', '0px');\r\n }\r\n }\r\n }\r\n\r\n function updateIssueLeftNav() {\r\n var sitewideBannerHeight = $sitewideBanner ? $sitewideBanner.height() : 0;\r\n var desktopHeaderAndOffsetHeight = $header.height()\r\n + sitewideBannerHeight\r\n + $header.offset().top;\r\n var mobileHeaderAndOffsetHeight = $header.height()\r\n + sitewideBannerHeight\r\n + $header.offset().top\r\n + $leftNavColumn.height() + 30;\r\n\r\n var $issueDropdownWrap = $('.js-issue-dropdown-wrap');\r\n\r\n if ($issueDropdownWrap.length) {\r\n var issueDropdownBottomMargin = parseInt($issueDropdownWrap.css('margin-bottom').replace('px', ''));\r\n desktopHeaderAndOffsetHeight = desktopHeaderAndOffsetHeight\r\n + $issueDropdownWrap.height()\r\n + issueDropdownBottomMargin * 2;\r\n mobileHeaderAndOffsetHeight = mobileHeaderAndOffsetHeight\r\n + $issueDropdownWrap.height()\r\n + issueDropdownBottomMargin * 2;\r\n }\r\n\r\n if (SCM.SiteJS.getViewportWidth() > 1023) {\r\n if (lastScrollPosY >= desktopHeaderAndOffsetHeight) {\r\n // Issue Results\r\n $leftNavColumn.addClass('stuck');\r\n } else if (isPageIssue()) {\r\n $leftNavColumn.removeClass('stuck');\r\n }\r\n }\r\n\r\n if (lastScrollPosY >= mobileHeaderAndOffsetHeight) {\r\n $issueBrowseMobileNav.addClass('stuck');\r\n if (SCM.SiteJS.getViewportWidth() <= 1023) {\r\n $issueBrowseMobileNav.parent().css('padding-top', ($issueBrowseMobileNav.height() + 32) + 'px');\r\n }\r\n }\r\n else if (isPageIssue()) {\r\n $issueBrowseMobileNav.removeClass('stuck');\r\n if (SCM.SiteJS.getViewportWidth() <= 1023) {\r\n $issueBrowseMobileNav.parent().css('padding-top', '0px');\r\n }\r\n }\r\n }\r\n\r\n function updateAdvertScrollDelay() {\r\n if ($adTopConfig === 'scrolldelay' && $useAdTopDelay === true && hasTopAd()) {\r\n if (lastScrollPosY >= $header.height() - 290) {\r\n $adBannerTop.addClass('fixed');\r\n $mainPage.addClass('master-container-sticky');\r\n }\r\n else {\r\n $adBannerTop.removeClass('fixed');\r\n $mainPage.removeClass('master-container-sticky');\r\n }\r\n }\r\n }\r\n\r\n function updateAdvertGuardian() {\r\n if ($adTopConfig === 'guardian' && hasTopAd()) {\r\n if (lastScrollPosY >= $header.height() - 290 &&\r\n (lastScrollPosY < 220 && lastScrollPosY !== 0)) {\r\n $adBannerTop.addClass('fixed');\r\n $adBannerTop.removeClass('guardian-scrolled');\r\n $mainPage.addClass('master-container-sticky');\r\n $('.journal-header').show();\r\n }\r\n else if (lastScrollPosY >= 220) {\r\n $adBannerTop.removeClass('fixed');\r\n $adBannerTop.addClass('guardian-scrolled');\r\n $mainPage.addClass('master-container-sticky');\r\n $('.journal-header').hide();\r\n }\r\n else {\r\n $adBannerTop.removeClass('fixed');\r\n $adBannerTop.removeClass('guardian-scrolled');\r\n $mainPage.removeClass('master-container-sticky');\r\n $('.journal-header').show();\r\n }\r\n }\r\n }\r\n\r\n})(SCM.StickyElements = SCM.StickyElements || {}, jQuery);","/**\n* Society Links Module\n* Any Society Links related Javascript will go here.\n*/\nvar SCM = SCM || {};\nSCM.Utilities = SCM.Utilities || {};\n\n// replace place holder origurl query string parameter value with the current url\nSCM.AddReturnUrlToSocietyLinks = function () {\n\n var returnUrl = GetReturnUrl();\r\n returnUrl = encodeURIComponent(returnUrl);\n var placeholderHf = $('#hfPlaceholderReturnUrlValue');\n var placeholder = placeholderHf.length ? placeholderHf.val() : null;\n\n $('.society-links-logo, .society-links-url').each(function () {\r\n if (placeholder && placeholder.length)\r\n {\n var $this = $(this);\n $this.attr('href', $this.attr('href').replace(placeholder, returnUrl));\r\n }\r\n });\r\n};\r\n\r\nfunction GetReturnUrl() {\n \n // remove the login=true param before sending to society login\n var returnUrl = window.location.href;\n if (returnUrl.indexOf('?') > 0) {\n var queryParts = window.location.search.split('&');\n returnUrl = returnUrl.substring(0,returnUrl.indexOf('?'));\n if (queryParts.length) {\n var queryPartsWithoutLogin = queryParts.filter(function (el) {\n var paramType = el.split('=')[0].replace('?', '');\n return paramType !== 'login';\n });\n if (queryPartsWithoutLogin.length) {\n returnUrl += queryPartsWithoutLogin.join('&');\n }\n }\n returnUrl += window.location.hash;\n }\n return returnUrl;\n}","var SCM = SCM || {};\n\n(function (ns, $) {\n var sigma = $('.sigma').length;\n var sigmaGetAccessHtml =\n 'Get access\"Arrow\"';\n\n ns.setAccessIcons = function (accessIcons) {\n accessIcons = accessIcons || SCM.AccessIcons;\n\n var currentResourceList = $('[data-resource-id-access]');\n if (currentResourceList.length && accessIcons) {\n currentResourceList.each(function (index, item) {\n var $this = $(this);\n var resourceId = $this.data('resourceIdAccess');\n\n var accessIcon = SCM.SiteJS.getAccessIcon(resourceId, accessIcons);\n if (accessIcon) {\n updateIconPlaceholders($this, accessIcon);\n }\n });\n\n if ($('.pg_book').length > 0) {\n setElementVisibilityBasedOnAccess();\r\n }\n }\r\n\r\n if ($('.js-nbnj-left-rail').length > 0) {\r\n setNBNJElementVisibilityBasedOnAccess();\r\n }\n };\n\n function updateIconPlaceholders($pageList, accessIcon) {\n var $placeholder = $pageList.find('.js-access-icon-placeholder');\n if (sigma && !$placeholder.length) {\n $placeholder = $pageList.find('.js-sigma-access-placeholder');\n }\n if ($placeholder.length) {\n // replace icon css class with either icons or get access button\n removeAllAccessIconClasses($placeholder);\n addAvailabilityClass(accessIcon.icon, $placeholder);\n $placeholder.attr('title', accessIcon.title);\n }\n }\n\n var getAccessIconClasses = ['icon-availability_restricted', 'icon-availability_cart'];\n function addAvailabilityClass(availabilityIconClass, $placeholder) {\n var $itemLink = $placeholder.prev();\n if (sigma && $.inArray(availabilityIconClass, getAccessIconClasses) !== -1) {\n $placeholder.remove();\n // have to wrap in span to include spacing between text and get access button within link\n // can't do it on get access button because if it wraps to new line, spacing is at the \n // beginning of the new line.\n // If you include span when there's not a get access button, there's an extra space\n // between icon and title that gets underlined on hover.\n // not including get access html in view, because then it would also get wrapped in the \n // access-title span, which we don't want.\n $itemLink.wrapInner('');\n $itemLink.append(sigmaGetAccessHtml);\n } else {\n $placeholder.removeClass(availabilityIconClass).addClass(availabilityIconClass);\n }\n }\n\n function removeAllAccessIconClasses($accessIcon) {\n $accessIcon.removeClass(function (index, currentClass) {\n return (currentClass.match(/icon-availability_.+/g) || []).join(' ');\n });\n }\n\r\n // NBNJ specific, based on the function setElementVisibilityBasedOnAccess()\r\n function setNBNJElementVisibilityBasedOnAccess() {\r\n // if any reference articles are restricted, display the 'Get access' jumplink\r\n if ($('.js-get-access-solr-item-result').length > 0) { \r\n $('.js-get-access-wrapper').removeClass('hidden');\r\n }\r\n }\r\n\n function setElementVisibilityBasedOnAccess() {\n let bookBottomSectionExists = $('.book-bottom-section').length > 0;\n\n if ($('.js-get-access-label').length > 0) { // if any chapters are restricted, display the 'Get access' jumplink\r\n $('.js-get-access-wrapper').removeClass('hidden');\r\n if (bookBottomSectionExists) {\r\n $('.book-bottom-section').addClass('book-bottom-section_remove-padding');\r\n }\r\n } else { // Otherwise, hide the sign-in and purchase info\r\n $('.js-login-purchase-wrap').addClass('hidden');\r\n if (bookBottomSectionExists) {\r\n $('.book-bottom-section').removeClass('book-bottom-section_remove-padding');\r\n } \r\n }\r\n }\n\n ns.getAccessIcon = function (resourceId, accessIcons) {\n accessIcons = accessIcons || SCM.AccessIcons;\n\n var accessIcon;\n accessIcons.map(function (x, y) { if (x.id === resourceId) { accessIcon = x; return false; } });\n return accessIcon;\n };\n\n})(SCM.SiteJS = SCM.SiteJS || {}, jQuery);\n","var SCM = SCM || {};\r\n\r\n(function (ns, $) {\r\n\r\n\tns.registerAnswerLinkClick = function () {\r\n\t\t$('.js-answer-link').on('click', function () {\r\n\t\t\tvar $this = $(this);\r\n\t\t\t$this.next('.js-answer-wrap').toggleClass('hide');\r\n\t\t\t$this.find('.js-answer-show').toggleClass('hide');\r\n\t\t\t$this.find('.js-answer-hide').toggleClass('hide');\r\n\t\t});\r\n\t};\r\n\r\n})(SCM.ChapterAnswerSet = SCM.ChapterAnswerSet || {}, jQuery);","var SCM = SCM || {};\n\n// WARNING: This module must be \"widget instance safe\". All selectors must be relative to the clicked node.\n// This is because there can be multiple instances of the widget.\n(function (ns, $) {\n\n var maxLevel = $('#hfMaxRelativeDepth').length ? parseInt($('#hfMaxRelativeDepth').val()) : 0;\n var browseContentInLinkText = $('#hfBrowseContentInLinkText').val();\n var _transitionLength = 100;\n\n function _nodeGreaterThanMaxLevel() {\n var $this = $(this); // Item in the list of all nodes\n return parseInt($this.attr('data-level')) > maxLevel;\n }\n\n function goDeeper() {\n var $this = $(this);\n var $currentNode = $this.closest('.js-tree-node-item');\n var $context = $currentNode.closest('.js-tree-browse-wrap');\n var currentLevel = $currentNode.attr('data-level');\n var newRootNode = $currentNode.attr('data-id');\n var $additionalNodes = null;\n\n // If we're at the max level, show any nodes that are deeper.\n if (currentLevel === maxLevel) {\n $additionalNodes = $currentNode.next('.js-children').find('.js-tree-node-item').filter(_nodeGreaterThanMaxLevel);\n }\n\n changeLevelOfNodesDisplayed($context, newRootNode, $additionalNodes);\n\n setTimeout(function () {\n updateBreadcrumbsToGoDeeper($context, $currentNode, newRootNode);\n }, _transitionLength);\n\n updateBrowseLink($context, $currentNode);\n }\n\n /// Animation Step (Start)\n function changeLevelOfNodesDisplayed($context, newRootNode, $additionalNodes) {\n // Set to show only those specified\n var $nodesToShow = $context.find('.js-tree-node-item[data-parent-id=\"' + newRootNode + '\"]');\n if ($additionalNodes && $additionalNodes.length) {\n $nodesToShow = $nodesToShow.add($additionalNodes);\n }\n\n // Reset all nodes\n var $allNodes = $context.find('.js-tree-node-item');\n $allNodes.removeClass('fade');\n var originalTotalHeight = $context.find('.js-tree-browse-nodes-wrap').height();\n $context.find('.js-tree-browse-nodes-wrap').height(originalTotalHeight);\n\n hideAllNodes($allNodes)\n .then(function(originalHeight) {\n return activateNewNodes($context, $nodesToShow, originalHeight);\n })\n .then(function() {\n return fadeInNodes($nodesToShow);\n });\n }\n\n /// Animation Step\n function hideAllNodes($allNodes) {\n return new Promise(function (resolve, reject) {\n setTimeout(function () {\n $allNodes.removeClass('active');\n resolve();\n }, _transitionLength);\n });\n }\n\n /// Animation Step\n function updateBreadcrumbsToGoDeeper($context, $currentNode, newRootNode) {\n return new Promise(function(resolve, reject) {\n // You clicked on a node with an arrow. Add it to the breadcrumbs.\n var currentNodeLabel = $currentNode.find('.js-tree-node-link').text();\n var $breadcrumbs = $context.find('.js-tree-browse-breadcrumb-link');\n\n // Reveal the breadcrumbs if we haven't already\n var $breadcrumbWrapWrap = $breadcrumbs.closest('.js-tree-browse-breadcrumb-wrap');\n var $breadcrumbWrap = $breadcrumbs.closest('.js-breadcrumbs');\n\n if (!$breadcrumbWrap.is('.active')) {\n $breadcrumbWrapWrap.height(0);\n }\n \n $breadcrumbWrap.addClass('active');\n $breadcrumbWrap.addClass('fade');\n\n setTimeout(function () {\n $breadcrumbWrapWrap.height($breadcrumbs.closest('.js-breadcrumbs').outerHeight());\n }, _transitionLength);\n\n $breadcrumbs.removeClass('active');\n var $nextEmptyBreadcrumb = $breadcrumbs.siblings('.hide').first();\n $nextEmptyBreadcrumb.text(currentNodeLabel);\n $nextEmptyBreadcrumb.attr('data-id', newRootNode);\n $nextEmptyBreadcrumb.removeClass('hide');\n $nextEmptyBreadcrumb.addClass('active');\n resolve();\n });\n }\n\n /// Animation Step\n function activateNewNodes($context, $nodesToShow) {\n return new Promise(function(resolve, reject) {\n setTimeout(function() {\n $nodesToShow.addClass('active');\n var newNodesHeight = $context.find('.js-tree-browse-nodes').outerHeight();\n $context.find('.js-tree-browse-nodes-wrap').height(newNodesHeight);\n resolve();\n },\n _transitionLength);\n });\n }\n\n /// Animation Step\n function fadeInNodes($nodesToShow) {\n return new Promise(function(resolve, reject) {\n setTimeout(function() {\n $nodesToShow.addClass('fade');\n resolve();\n },\n _transitionLength);\n });\n }\n\n /// Animation Step\n function updateBrowseLink($context, $currentNode) {\n var currentNodeLabel = $currentNode.find('.js-tree-node-link').text();\n var newRootNode = $currentNode.attr('data-id');\n\n return new Promise(function(resolve, reject) {\n setTimeout(function() {\n $context.find('.js-tree-browse-link-all').addClass('hide');\n var $narrowLink = $context.find('.js-tree-browse-link-narrowed');\n $narrowLink.text(browseContentInLinkText + currentNodeLabel);\n $narrowLink.attr('href', $narrowLink.data('href-template').concat(newRootNode));\n $narrowLink.removeClass('hide');\n resolve();\n },\n _transitionLength);\n });\n }\n\n function breadcrumbClick() {\n var $this = $(this);\n var $context = $this.closest('.js-tree-browse-wrap');\n $this.nextAll().addClass('hide');\n $this.addClass('active');\n var newId = $this.attr('data-id');\n changeLevelOfNodesDisplayed($context, newId);\n\n // If you clicked the root breadcrumb, hide all breadcrumbs.\n if ($this.is('.js-root-breadcrumb')) {\n $breadcrumbsWrap = $this.parents('.js-breadcrumbs');\n $breadcrumbsWrap.removeClass('fade');\n $breadcrumbsWrap.closest('.js-tree-browse-breadcrumb-wrap').height(0);\n setTimeout(function () {\n $breadcrumbsWrap.removeClass('active');\n }, _transitionLength);\n\n // Change the \"Browse content in ...\" link to \"Browse all content\"\n $context.find('.js-tree-browse-link-all').removeClass('hide');\n $context.find('.js-tree-browse-link-narrowed').addClass('hide');\n } else {\n var currentNodeLabel = $context\n .find('.js-tree-node-item[data-id=\"' + newId + '\"]')\n .find('.js-tree-node-link')\n .text();\n var $narrowLink = $context.find('.js-tree-browse-link-narrowed');\n $narrowLink.text(browseContentInLinkText + currentNodeLabel);\n $narrowLink.attr('href', $narrowLink.data('href-template').concat(newId));\n $narrowLink.removeClass('hide');\n }\n }\n\n ns.checkPageHeightForSeriesDropdown = function () {\r\n var $contentPanel = $('.js-main');\r\n if ($('#searchResultsPage').length !== 0) {\r\n $contentPanel = $('#ContentColumn');\r\n }\n if ($contentPanel.length > 0) {\n var contentHeight = $contentPanel.height();\r\n var maxHeight = contentHeight;\r\n var $treeDropdowns = $('.js-tree-browse-wrap');\r\n $treeDropdowns.each(function (idx) {\r\n var treeHeight = $(this).height();\r\n if (treeHeight > maxHeight) {\r\n maxHeight = treeHeight;\r\n }\r\n });\r\n if (maxHeight > contentHeight) {\r\n $contentPanel.height(maxHeight);\r\n }\r\n }\r\n };\n\n // Called by the main init in client.script.js. This handles all instances. The other functions must be \"widget instance safe\".\n ns.init = function () {\n $(document.body).on('click', '.js-tree-node-link', goDeeper);\n $(document.body).on('click', '.js-tree-browse-breadcrumb-link', breadcrumbClick);\n ns.checkPageHeightForSeriesDropdown();\n };\n\n})(SCM.TreeBrowse = SCM.TreeBrowse || {}, jQuery);\n","// ----\r\n// This is where all of the site-specific JS goes. This is the site's main JS file, so make your JS defensive.\r\n// It's created using the JS Module Pattern (http://addyosmani.com/resources/essentialjsdesignpatterns/book/#modulepatternjavascript)\r\n// Usage: SCM.SiteJS.functionName(); Can be used anywhere in the application.\r\n// ----\r\n\r\nvar SCM = SCM || {};\r\n\r\n(function (ns, $) {\r\n\r\n // ----\r\n // private variables and functions\r\n // ----\r\n var $body = $('body');\r\n var $filterList = $('.search-wrap-filters');\r\n var $fullMobileReset = false;\r\n var $mobileMenuOpen = false;\r\n var $mobileSearchOpen = false;\r\n var $navbarSearchContainer = $('.js-navbar-search-container');\r\n var $closeNavSearch = $('.js_close-navsearch');\r\n var $expandNavSearch = $('.js_expand-navsearch');\r\n var $navbarMenu = $('.navbar-menu, .navbar-search-collapsed'); // fade these in/out from 931px to 1100px\r\n var $navbarSearchElements = $('.navbar-search-advanced, .navbar-search-close, .navbar-search'); // fade these in/out from 931px to 1100px\r\n var $navbarSearchInput = $('.navbar-search .navbar-search-input');\r\n var $mobileSearchInput = $('.mobile-search-input');\r\n var $viewOption = 'Basic';\r\n\r\n $('#hfViewOption').val(); //Based on Client's configuration setting, set the appropriate default value.\r\n\r\n // ----\r\n // Many Pages / Global\r\n // ----\r\n\r\n // Initialize \"Navigate to main content\" link\r\n // History: NARN-17805 support site-wide banner jump point\r\n ns.initSkipNavToMainContent = function () {\r\n var bannerHash = '#skipNav_sitewidebanner';\r\n var $bannerNav = $(bannerHash);\r\n\r\n // update to link to banner if present\r\n // NOTE: The default #skipNav href comes from theme, not OUP\r\n if ($bannerNav.length) {\r\n $('.skipnav').attr('href', bannerHash);\r\n }\r\n\r\n $('.skipnav').on('click', function () {\r\n if ($bannerNav.length) { $bannerNav.focus(); }\r\n else { $('#skipNav').focus(); }\r\n });\r\n };\r\n\r\n ns.isPageViewLarge = function () {\r\n if ($body.hasClass('pg_ViewLarge')) {\r\n return true;\r\n }\r\n };\r\n\r\n ns.setBlockLink = function () {\r\n $(document).on('click', '.js-widget-dynamic-entry', function (e) {\r\n var destination = $(e.currentTarget).data('resource-url');\r\n if (destination) {\r\n window.location = destination;\r\n }\r\n });\r\n };\r\n\r\n ns.setAllLinksTarget = function () {\r\n $('a[target]').not('.openInAnotherWindow').each(function () {\r\n $(this).attr('target', '');\r\n });\r\n };\r\n\r\n ns.getNewSelectedFilter = function () {\r\n var $listItems = $filterList.children('li');\r\n $listItems.on('click', function () {\r\n var $this = $(this);\r\n $listItems.removeClass('selected');\r\n $this.addClass('selected');\r\n SCM.SiteJS.setSelectedSearchFilter();\r\n });\r\n };\r\n\r\n ns.getViewportWidth = function () {\r\n return Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\r\n };\r\n\r\n\r\n ns.initLazyLoad = function () {\r\n $('img.contentFigures, img.inlineGraphics, img.lazy').lazyload(\r\n { skip_invisible: false }\r\n );\r\n };\r\n\r\n ns.detectIfFirefox = function () {\r\n var FF = !(window.mozInnerScreenX == null);\r\n if (FF) {\r\n $('html').addClass('firefox');\r\n }\r\n else {\r\n return;\r\n }\r\n };\r\n\r\n ns.initFoundation = function () {\r\n $(document).foundation();\r\n };\r\n\r\n ns.loadAllImagesIfUserIsAboutToUseJumpLinks = function () {\r\n $('#LeftNavSticker').hover(function () {\r\n $('.lazy').each(function () {\r\n var $this = $(this);\r\n\r\n $this.attr('src', $this.attr('data-original'));\r\n });\r\n });\r\n };\r\n\r\n ns.showAuthorInfo = function () {\r\n var matchList = '.js-linked-name-trigger, .linked-name, .al-author-name .linked-name, .al-author-name-more .linked-name, .linked-name-byline, .al-author-footnotes .js-linked-footnotes';\r\n\r\n\r\n $(matchList).on('click', function (e) {\r\n var $targetModal = $(this).siblings('.al-author-info-wrap');\r\n e.stopPropagation();\r\n\r\n SCM.Toolbar.closeHypothesis();\r\n $('.al-author-info-wrap').not($targetModal).removeClass('open');\r\n $($targetModal).toggleClass('open');\r\n $($targetModal).attr('tabindex', '-1').focus();\r\n checkAuthorCardPosition();\r\n\r\n SCM.ScholarlyiQ.trackOnPageEvent('article-author-' + $(this).text());\r\n });\r\n\r\n $(document.body).on('click', function (e) {\r\n if (!$(e.target).parents('.al-author-info-wrap').length) {\r\n $('.al-author-info-wrap').removeClass('open');\r\n }\r\n });\r\n };\r\n\r\n function checkAuthorCardPosition() {\r\n if ($(window).width() < 1200) {\r\n if ($('.al-author-info-wrap.open:visible').length && $('#ContentColumn:visible').length) {\r\n var $contentColumn = $('#ContentColumn');\r\n var columnRightEdge = $contentColumn.position().left + $contentColumn.width();\r\n var $authorCard = $('.al-author-info-wrap.open');\r\n SCM.SiteJS.shiftOpenAuthorCards($authorCard, columnRightEdge);\r\n }\r\n }\r\n }\r\n\r\n ns.addAuthorFootnote = function () {\r\n $('.al-author-name, .al-author-name-more').each(function () {\r\n var $authorNote = $(this).find('.info-card-note .xref-fn');\r\n if ($authorNote.length && $authorNote.text() === '*') {\r\n var $footNote = $('').append($authorNote.html());\r\n $footNote.insertAfter($(this).find('.linked-name'));\r\n $authorNote.remove();\r\n }\r\n if ($(this).find('.info-author-correspondence').length) {\r\n // Need to account for hidden delimiters as well\r\n var $authorDelim = $(this).find('span[class^=\"delimiter\"]');\r\n if ($authorDelim.length) {\r\n $authorDelim.prepend('');\r\n }\r\n else {\r\n $(this).find('.linked-name').append('');\r\n }\r\n }\r\n });\r\n };\r\n\r\n\r\n ns.showHideDropDown = function () {\r\n $('.selectDropdown').on('click', function (e) {\r\n $('.dropdown').hide().removeClass('open');\r\n e.stopPropagation();\r\n $(this).siblings('.dropdown').slideToggle('300', 'linear').toggleClass('open');\r\n });\r\n\r\n $(document).click(function () {\r\n $('.dropdown').hide().removeClass('open');\r\n });\r\n };\r\n\r\n\r\n ns.showMoreRelatedContent = function (viewMoreSelector, hideMeSelector) {\r\n $(viewMoreSelector).click(function () {\r\n var $this = $(this);\r\n $this.closest('.related-section-box, .widget-RelatedBookContent').find(hideMeSelector).toggleClass('show-item');\r\n $this.toggleClass('show-less').find('i').toggleClass('icon-show').toggleClass('icon-hide');\r\n $this.hasClass('show-less') ? $this.find('span').text('See Less') : $this.find('span').text('See More');\r\n });\r\n };\r\n\r\n\r\n ns.showRelatedBookWidgetIfHasContent = function () {\r\n // This may (or may not) be a temporary function. We able to standardize the related book widget with the other related widgets (relatedgbos, relatedmultimedia).\r\n // Those widgets are such that if there is no content, a particular div is never output and so no styles appear on the page. However,\r\n // relatedbook widget was already being used by WK\r\n $('.widget-RelatedBookContent').each(function () {\r\n var $this = $(this);\r\n\r\n if ($this.find('*').length > 5) {\r\n $this.addClass('show');\r\n }\r\n });\r\n };\r\n\r\n\r\n // Just for Books, look for anchor objects containing ISBN, these are unresolved links) \r\n // See NARN-14328. Do not route to EndMatter Page for related objects with end-notes. See NARN-11737\r\n ns.handleUnresolvedRelatedObjectLinks = function () {\r\n // Pssst: If you change this code, you might also want to change the default platform code in scm.relatedobjectlinks.js. - JG 2020.\r\n\r\n $(document).on('click', 'a[isbn][object-type!=\"end-note\"], .js-link-page', function () {\r\n // default redirect to 404 page\r\n var redirectUrl = '/CustomError?statusCode=404';\r\n\r\n // get link properties\r\n var link = $(this);\r\n var isbn = link.attr('isbn');\r\n var bookId = $('#bookId').val();\r\n var legacySectionId = link.attr('legacySectionId');\r\n var $relatedObj = $('div[name=\"' + legacySectionId + '\"]');\r\n\r\n if (popupParagraphStyleBibliography(link, legacySectionId)) {\r\n return;\r\n }\r\n\r\n // If it's on this page, don't need to find the related objecct on the server side\r\n if ($relatedObj.length) {\r\n window.location.hash = legacySectionId;\r\n return;\r\n }\r\n isbn = isbn === null || isbn === undefined ? '' : isbn.trim();\r\n legacySectionId = legacySectionId === null || legacySectionId === undefined ? '' : legacySectionId.trim();\r\n\r\n // Is there an ISBN we can use?\r\n if (isbn !== '' || legacySectionId !== '') {\r\n\r\n var baseUrl = App.CurrentSubdomain.length ? '/' + App.CurrentSubdomain : '';\r\n $.ajax({\r\n url: baseUrl + '/Book/GoToRelatedObjectLink',\r\n cache: true,\r\n dataType: 'json',\r\n data: {\r\n isbn: isbn,\r\n legacySectionId: legacySectionId,\r\n currentBookId: bookId\r\n },\r\n })\r\n .done(function (response) {\r\n if (response && response.Success) {\r\n window.top.location.assign(response.RedirectURL);\r\n }\r\n else {\r\n // if it failed, go to 404 page\r\n console.log('/Book/GoToRelatedObjectLinkfailed!');\r\n window.top.location.assign(redirectUrl);\r\n }\r\n })\r\n .fail(function () {\r\n console.log('Book/GoToRelatedObjectLink failed');\r\n window.top.location.assign(redirectUrl);\r\n });\r\n\r\n }\r\n else {\r\n window.top.location.assign(redirectUrl);\r\n }\r\n });\r\n };\r\n\r\n function popupParagraphStyleBibliography(link, legacySectionId) {\r\n if (link.hasClass('js-link-other')) {\r\n var $revealObj = $('div[content-id=\"' + legacySectionId + '\"]');\r\n if ($revealObj.length) {\r\n var $revealContent;\r\n // We don't have an identifier for paragraph style bibliography.\r\n // If xref type is other and the reference object is in a \"mixed - citation\" we consider this as a paragraph style bibliography.\r\n if ($revealObj.parents('.mixed-citation').length) {\r\n $revealContent = $revealObj.parents('.js-paragraph-ref').first();\r\n // definition list terms\r\n } else if ($revealObj.parents('.def-item').length) {\r\n $revealContent = $revealObj.parents('.def-item').first();\r\n }\r\n if ($revealContent) {\r\n revealModal(legacySectionId, $revealContent);\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n\r\n ns.showSpinner = function () {\r\n function spinner() {\r\n $('.preloader-wrap').removeClass('hide').addClass('active');\r\n }\r\n\r\n SCM.QueryBuilder.defaults.beforeSearch = spinner;\r\n $('.pagination').on('click', spinner);\r\n };\r\n\r\n\r\n ns.setSelectedSearchFilter = function () {\r\n var selected = $filterList.children('.selected').text();\r\n $('.selected-text').text(selected);\r\n };\r\n\r\n\r\n ns.initFilterClickEvent = function () {\r\n $('.filter-wrap').on('click', function (e) {\r\n $filterList.hide();\r\n e.stopPropagation();\r\n $filterList.toggle();\r\n });\r\n\r\n $(document).click(function () {\r\n $filterList.hide();\r\n });\r\n };\r\n\r\n ns.launchSupersededContentModal = function () {\r\n $('#supersededContent').on('opened.fndtn.reveal', function () {\r\n $('.js-latest-link').focus();\r\n });\r\n $('#supersededContent').on('closed.fndtn.reveal', function () {\r\n $(document.body).focus();\r\n });\r\n $('#supersededContent').foundation('reveal', 'open');\r\n };\r\n\r\n ns.launchAddAlertModal = function () {\r\n $('[data-reveal-id=\"addArticleUpdateAlert\"]').click(function () {\r\n $('#AddAlert').foundation('reveal-modal', 'open');\r\n });\r\n };\r\n ns.launchEmailUserModal = function () {\r\n $('[data-reveal-id=\"emailUsernameModal\"]').click(function () {\r\n $('#emailUserName').foundation('reveal-modal', 'open');\r\n });\r\n };\r\n\r\n ns.showFullDisclaimer = function () {\r\n $(document).on('click', '.disclaimer-text', function () {\r\n $(this).closest('.disclaimer-text').find('.js-disclaimer').toggleClass('hide');\r\n });\r\n };\r\n\r\n ns.showFullVersionInfo = function () {\r\n $('.js-version-info-more-link').on('click', function () {\r\n $(this).closest('.version-info-text').find('.js-version-info').toggleClass('hide');\r\n });\r\n };\r\n\r\n // ----\r\n // START: Mobile Site Nav & Search\r\n // ----\r\n\r\n\r\n /**********************************************************************\r\n * Close expanded navbar search between 931px and 1100px\r\n **********************************************************************/\r\n ns.closeNavbarSearch = function () {\r\n $closeNavSearch.on('click', function () {\r\n $navbarSearchContainer.removeClass('tablet-viewport-active');\r\n $navbarSearchElements.hide();\r\n $navbarMenu.fadeIn();\r\n });\r\n };\r\n\r\n /**********************************************************************\r\n * Expands hidden navbar search between 931px and 1100px\r\n **********************************************************************/\r\n ns.expandNavbarSearch = function () {\r\n $expandNavSearch.on('click', function () {\r\n $navbarSearchContainer.addClass('tablet-viewport-active');\r\n $navbarMenu.hide();\r\n $navbarSearchElements.fadeIn(); // fade in\r\n $navbarSearchInput.focus(); // move focus to the input\r\n });\r\n };\r\n\r\n\r\n ns.calculateResetState = function ($otherMenuState) {\r\n $otherMenuState ? $fullMobileReset = true : $fullMobileReset = false;\r\n SCM.SiteJS.resetMobileSiteNav($fullMobileReset);\r\n };\r\n\r\n\r\n ns.toggleMobileLanguageSubmenu = function () {\r\n $('.mobile-header-language').on('click', function () {\r\n $('.mobile-language-submenu').slideToggle();\r\n });\r\n };\r\n\r\n ns.toggleMobileSignInForm = function () {\r\n var $mobileLogin = $('.mobile-login'),\r\n $mobileSigninNavArrow = $('.mobile-signin-nav-arrow');\r\n\r\n // The mobile login form works a little differently - can't have it toggle closed when the li is clicked\r\n $('.mobile-menu-link-wrap').on('click', function () {\r\n if (!$mobileLogin.hasClass('open')) {\r\n $mobileLogin.addClass('open').slideToggle();\r\n $mobileSigninNavArrow.hide();\r\n //$thisArrow.removeClass('icon-general_arrow-right').addClass('icon-general_arrow-down');\r\n }\r\n });\r\n\r\n // close button for mobile login form\r\n $('.site-menu .mobile-login-form').on('click', '.mobile-login-icon', function () {\r\n $mobileLogin.removeClass('open').slideToggle();\r\n $mobileSigninNavArrow.show();\r\n });\r\n };\r\n\r\n\r\n ns.resetMobileSearchFilters = function () {\r\n $('.sf-facets, .sf-facet-list').removeAttr('style');\r\n $('.sf-group-header-icon').removeClass('icon-general_arrow-down').addClass('icon-general_arrow-right');\r\n };\r\n\r\n ns.resetMobileSiteNav = function ($fullReset) {\r\n // for Global Header\r\n $('.header-bottom, .navigation, .microsite-search, .arrow-nav, .arrow-search, .mobile-language-submenu').removeAttr('style');\r\n $('.mobile-search-toggle, .mobile-menu-toggle, .arrow-nav, .arrow-search').removeClass('active');\r\n $('.microsite-search').removeClass('active-tablet');\r\n if ($fullReset) {\r\n // if $fullReset == true, user scrolled or resized\r\n $mobileMenuOpen = false;\r\n $mobileSearchOpen = false;\r\n // otherwise, we're just toggling between mobile menu items\r\n }\r\n };\r\n\r\n\r\n ns.toggleMobileSearch = function () {\r\n $('.mobile-search-toggle').on('click', function () {\r\n SCM.SiteJS.calculateResetState($mobileMenuOpen, $mobileSearchOpen);\r\n $mobileSearchOpen === false ? $mobileSearchOpen = true : $mobileSearchOpen = false;\r\n SCM.SiteJS.toggleResponsiveMenus($('.mobile-search-toggle, .arrow-search'), $mobileSearchOpen, $('.microsite-search'));\r\n });\r\n };\r\n\r\n\r\n // ----\r\n // START: Responsive Left Column\r\n // ----\r\n ns.toggleResponsiveLeftColumn = function () {\r\n var $pageColLeft = $('.page-column--left');\r\n var closeBtn = $('.toggle-left-col__close');\r\n var lastActiveElement;\r\n var tabbableTaxonomyLabel = $('.page-column--left .js-taxonomy-label');\r\n\r\n tabbableTaxonomyLabel.keypress(function (e) {\r\n var key = e.which;\r\n if (key === 13) // the enter key code\r\n {\r\n this.click();\r\n }\r\n });\r\n\r\n $(document.body).removeClass('noscroll'); // remove if page reloads as a result of a filter being selected\r\n\r\n $('.js-main').on('click', '.toggle-left-col__search, .toggle-left-col__article', function (e) {\r\n e.preventDefault();\r\n lastActiveElement = document.activeElement;\r\n $(document.body).addClass('noscroll');\r\n $pageColLeft.show().addClass('js-filters-open');\r\n var modal = $('.page-column--left .info-inner-wrap');\r\n modal.attr('tabindex', '-1').focus();\r\n\r\n SCM.trapFocus.publicTrapFocus(modal, closeBtn, lastActiveElement);\r\n if (!navigator.userAgent.toLowerCase().includes('mozilla')) {\r\n $(document).on('touchmove', function (e) {\r\n e.preventDefault();\r\n });\r\n }\r\n\r\n $(document).ajaxComplete(function () {\r\n $(document.body).removeClass('noscroll');\r\n $pageColLeft.removeClass('js-filters-open');\r\n $(document).off('touchmove');\r\n ns.initFoundation();\r\n });\r\n });\r\n\r\n\r\n // due to designs, Issue has a different mobile layout\r\n $('.toggle-left-col__issue').on('click', function (e) {\r\n e.preventDefault();\r\n $(document.body).addClass('noscroll');\r\n $('.issue-dropdown-wrap').hide();\r\n $('.responsive-issue-nav').show();\r\n if (!navigator.userAgent.toLowerCase().includes('mozilla')) {\r\n $(document).on('touchmove', function (e) {\r\n e.preventDefault();\r\n });\r\n }\r\n });\r\n\r\n\r\n closeBtn.on('click', function (e) {\r\n\r\n e.preventDefault();\r\n $(document.body).removeClass('noscroll');\r\n $pageColLeft.removeClass('js-filters-open');\r\n $('.page-column--left, .responsive-issue-nav, .issue-dropdown-wrap').removeAttr('style');\r\n $(document).off('touchmove');\r\n ns.initFoundation(); // reactivate sticky/topbar\r\n });\r\n };\r\n\r\n // ----\r\n // END: Responsive Left Column\r\n // ----\r\n\r\n\r\n\r\n ns.toggleMobileMenu = function () {\r\n $('.mobile-menu-toggle').on('click', function () {\r\n SCM.SiteJS.calculateResetState($mobileSearchOpen, $mobileMenuOpen);\r\n $mobileMenuOpen === false ? $mobileMenuOpen = true : $mobileMenuOpen = false;\r\n SCM.SiteJS.toggleResponsiveMenus($('.mobile-menu-toggle, .arrow-nav'), $mobileMenuOpen, $('.navigation'));\r\n });\r\n };\r\n\r\n\r\n ns.toggleResponsiveMenus = function ($makeActive, $openState, $classesToToggle) {\r\n var $headerBottom = $('.header-bottom');\r\n if ($openState) {\r\n // open responsive menu\r\n $makeActive.addClass('active');\r\n $classesToToggle.show();\r\n $headerBottom.slideToggle();\r\n } else {\r\n // close responsive menu\r\n $makeActive.removeClass('active');\r\n $headerBottom.toggle();\r\n $classesToToggle.delay(50).hide();\r\n // make sure menu is hidden before contents inside disappear\r\n }\r\n };\r\n\r\n // ----\r\n // END: Mobile Site Nav & Search\r\n // ----\r\n\r\n // ----\r\n // END: Mobile Article Navigation\r\n // ----\r\n\r\n\r\n // ----\r\n // Content Pages\r\n // ----\r\n\r\n ns.showFullAuthorList = function () {\r\n var $showMoreLink = $('.meta-authors--etal');\r\n var $remainingAuthors = $('.meta-authors--remaining');\r\n var $limitedAuthors = $('.meta-authors--limited');\r\n var $hiddenDelimiter = $limitedAuthors.find('.delimiter-hidden');\r\n\r\n $showMoreLink.on('click', function (e) {\r\n e.preventDefault();\r\n $showMoreLink.removeClass('is-active');\r\n $showMoreLink.attr('aria-hidden', true);\r\n $remainingAuthors.addClass('is-active');\r\n $remainingAuthors.attr('aria-hidden', false);\r\n\r\n if ($hiddenDelimiter) {\r\n $hiddenDelimiter.removeClass('delimiter-hidden');\r\n $hiddenDelimiter.addClass('delimiter');\r\n }\r\n\r\n });\r\n };\r\n\r\n // lazy load is triggered by scroll. If we append this content into a modal -- it might not appear.\r\n // This forces the images to appear\r\n ns.showImages = function ($obj) {\r\n $obj.find('.contentFigures').each(function () {\r\n var elem = $(this);\r\n if (elem.attr('src').toLowerCase().indexOf('grey.gif') >= 0) {\r\n elem.attr('src', elem.attr('data-original'));\r\n }\r\n });\r\n };\r\n\r\n\r\n // There is generic modal div wrapper in site.master where we append any content that needs to be put in a modal\r\n ns.openRevealModal = function ($obj) {\r\n var $modal = $('#revealModal');\r\n $modal.find('#revealContent').empty().prepend($obj.contents().clone());\r\n $modal.foundation('reveal', 'open');\r\n SCM.SiteJS.showImages($modal);\r\n SCM.SiteJS.restrictedImages();\r\n\r\n //save last focus to return after modal closes\r\n var lastFocusedElement = document.activeElement;\r\n //change focus to modal that is receiving class of open\r\n $(document).on('opened.fndtn.reveal', '[data-reveal]', function () {\r\n $('.open').focus();\r\n $('.open').addClass('at-openModal');\r\n SCM.trapFocus.publicTrapFocus($modal, $modal.find('.close-reveal-modal'), lastFocusedElement);\r\n });\r\n //return focus to previous location\r\n $(document).on('close.fndtn.reveal', '[data-reveal]', function () {\r\n $modal.removeClass('at-openModal');\r\n });\r\n };\r\n\r\n\r\n ns.revealFigsTablesInModal = function () {\r\n var modalTriggerElems = '.xref-bibr, .xref-fn, .link-reveal, .table-graphic, .caption-title';\r\n\r\n $body.on('click', modalTriggerElems, function () {\r\n var $this = $(this);\r\n var revealId = $this.attr('reveal-id')\r\n ? $this.attr('reveal-id')\r\n : ($this.attr('data-reveal-id') ? $this.attr('data-reveal-id') : $this.attr('data-id'));\r\n\r\n var revealContent = findContent(revealId);\r\n revealContent = revealContent.length ? revealContent : $('[content-id=\"' + revealId.toLowerCase() + '\"]').first();\r\n revealModal(revealId, revealContent);\r\n });\r\n\r\n };\r\n\r\n function findContent(revealId) {\r\n var revealContent = $('[content-id=\"' + revealId + '\"]').first();\r\n // special case for table groups\r\n if (!revealContent.length) {\r\n var $tableGroupSpan = $('[id=\"' + revealId + '\"]').first();\r\n if ($tableGroupSpan.length) {\r\n var tableId = $tableGroupSpan.next().attr('id');\r\n revealContent = $('[data-statsid=\"' + tableId + '\"]');\r\n } else {\r\n $tableGroupSpan = $('[data-table-id=\"' + revealId + '\"]').first();\r\n if ($tableGroupSpan.length) {\r\n revealContent = $tableGroupSpan.find('.table-wrap');\r\n }\r\n }\r\n }\r\n return revealContent;\r\n }\r\n\r\n function revealModal(revealId, revealContent) {\r\n var needSubscriptionModal = $('#NeedSubscription');\r\n // Handle range of references. Ex: (7-10)\r\n if (revealId.length && !revealContent.length) {\r\n var revealIdArray = revealId.split(' ');\r\n if (revealIdArray.length >= 2) {\r\n var rangeContent = $('
      ');\r\n var startItem = revealIdArray[0];\r\n var endItem = revealIdArray[revealIdArray.length - 1];\r\n\r\n var rangeRevealContent = $('[content-id=\"' + startItem + '\"]').first();\r\n rangeRevealContent = rangeRevealContent.length ? rangeRevealContent : $('[content-id=\"' + startItem.toLowerCase() + '\"]').first();\r\n if (rangeRevealContent.length) {\r\n rangeContent.append(rangeRevealContent.children().clone());\r\n rangeContent = ns.getAllReferencesInRange(rangeRevealContent, rangeContent, endItem);\r\n }\r\n revealContent = rangeContent.html().length > 0 ? rangeContent : '';\r\n }\r\n }\r\n\r\n // Brightcove HTML5 player doesn't work with cloned content\r\n if ($(revealContent).hasClass('video-modal') || $(revealContent).hasClass('audio-modal')) {\r\n revealContent.foundation('reveal', 'open');\r\n }\r\n else {\r\n // Found the figure or table? Open it in reveal modal. Otherwise, you must not have access to the content and\r\n // we'll show you the need account message.\r\n revealContent.length ? SCM.SiteJS.openRevealModal(revealContent) : needSubscriptionModal.foundation('reveal', 'open');\r\n\r\n }\r\n }\r\n\r\n ns.revealFeaturedFigureInModal = function () {\r\n $('.issue-featured-image a').on('click', function () {\r\n //clone the HTML then replace small image url with regular size image url\r\n var revealContent = $(this).closest('.image-synopsis-wrap').html();\r\n var $modal = $('#revealModal');\r\n var $closeBtn = $modal.find('.js-close-reveal-modal');\r\n var featuredfigureurl = $(this).data('featuredfigureurl');\r\n if (featuredfigureurl) {\r\n $modal.find('#revealContent').empty().prepend(revealContent);\r\n $('#revealContent img').attr('src', featuredfigureurl);\r\n $modal.foundation('reveal', 'open');\r\n var $focused = $(':focus');\r\n // set focus to modal on open, reset back to currently focused item on modal close\r\n $modal.off('opened.fndtn.reveal');\r\n $modal.on('opened.fndtn.reveal', function () {\r\n $('.close-reveal-modal').focus();\r\n SCM.trapFocus.publicTrapFocus($modal, $closeBtn, $focused);\r\n });\r\n $modal.on('closed.fndtn.reveal', function () {\r\n $focused.focus();\r\n $modal.off('keydown.SCM.trapFocus');\r\n $(this).find('#revealContent').empty();\r\n });\r\n\r\n }\r\n });\r\n };\r\n\r\n\r\n ns.getAllReferencesInRange = function (elem, content, endValue) {\r\n var nextElem = elem.next();\r\n var revealId = nextElem.attr('content-id');\r\n if (revealId.length) {\r\n content.append(nextElem.children().clone());\r\n var endRange = (revealId === endValue) || (revealId === endValue.toLowerCase());\r\n if (!endRange) {\r\n ns.getAllReferencesInRange(nextElem, content, endValue);\r\n }\r\n }\r\n return content;\r\n };\r\n\r\n\r\n ns.showUnAuthenticatedSpans = function () {\r\n // For un-authenticated users, replace reveal-modal links with spans, since target of link is 99.99% likely to be missing\r\n $(document).ready(function () {\r\n var hasAccess = $('div[data-widgetname=\"ArticleFulltext\"] span#UserHasAccess').attr('data-userHasAccess');\r\n if (hasAccess && hasAccess.length && hasAccess.toLowerCase() === 'false') {\r\n var revealModalLinks = $('div[data-widgetname=\"ArticleFulltext\"] a[data-reveal-id]');\r\n revealModalLinks.each(function () {\r\n $(this).replaceWith(function () {\r\n var anchorHtml = this.innerHTML;\r\n return '' + anchorHtml + '';\r\n });\r\n });\r\n }\r\n });\r\n // TODO: OP: implement for book chapters too\r\n };\r\n\r\n // ----\r\n // START: Site Header\r\n // ----\r\n\r\n // Mobile Nav Dropdowns\r\n ns.oupHeaderDropdowns = function () {\r\n\r\n $('.mobile-search-toggle').on('click', function (e) {\r\n e.preventDefault();\r\n var $thisParameter = $(this);\r\n\r\n SCM.SiteJS.manageMobileDropdowns($thisParameter, '.mobile-search-dropdown');\r\n });\r\n\r\n $('.mobile-account-toggle').on('click', function (e) {\r\n e.preventDefault();\r\n var $thisParameter = $(this);\r\n\r\n SCM.SiteJS.manageMobileDropdowns($thisParameter, '.mobile-account-dropdown');\r\n });\r\n\r\n $('.mobile-nav-toggle').on('click', function (e) {\r\n e.preventDefault();\r\n var $thisParameter = $(this);\r\n\r\n SCM.SiteJS.manageMobileDropdowns($thisParameter, '.mobile-nav-dropdown');\r\n });\r\n };\r\n\r\n ns.manageMobileDropdowns = function (thisObject, dropdownClass) {\r\n\r\n if ($('.dropdown-panel').hasClass('is-active')) {\r\n // a panel is already active\r\n if (thisObject.hasClass('is-active')) {\r\n // the clicked panel is already active - slideToggle to close it\r\n $(dropdownClass).slideToggle().removeClass('is-active');\r\n thisObject.removeClass('is-active');\r\n //return focus to the toggle\r\n $('.mobile-search-toggle').focus();\r\n } else {\r\n // a different panel is activated ...\r\n $('.mobile-dropdown-toggle').removeClass('is-active');\r\n $('.dropdown-panel-wrap').children('.is-active').slideToggle().removeClass('is-active');\r\n // ... and open this one\r\n thisObject.addClass('is-active');\r\n $(dropdownClass).delay(400).slideToggle().addClass('is-active');\r\n }\r\n } else {\r\n // no panels were open - make this one active\r\n thisObject.addClass('is-active');\r\n $(dropdownClass).slideToggle().addClass('is-active');\r\n $mobileSearchInput.focus(); //give focus to the input\r\n }\r\n\r\n };\r\n\r\n //Login constants to indicate which source login form initiated login activity\r\n var SourceSignIn = 'signin';\r\n var SourceMobile = 'mobile';\r\n var SourceDesktop = 'desktop';\r\n var signInLoaded = false;\r\n\r\n ns.initSigninForm = function () {\r\n $mobileSignInLink = $('.mobile-account-dropdown ul li .mobile-account-signin'),\r\n $mobileSignInArrow = $('.mobile-account-dropdown ul li i.mobile-nav-arrow'),\r\n $mobileSignInForm = $('.mobile-account-dropdown ul li ul.individual-menu'),\r\n $desktopSignInForm = $('.dropdown-panel-signin'),\r\n $desktopInstitution = $('.dropdown-panel-institution');\r\n\r\n var loadSignInForm = function (source) {\r\n\r\n $desktopSignInForm.toggleClass('active').toggle();\r\n\r\n if (signInLoaded) {\r\n return;\r\n }\r\n\r\n var loginUrl = SCM.SiteJS.GetLoginUrl(source);\r\n var captchaInstNum = SCM.SiteJS.GetCaptchaInstanceNumber(source);\r\n // Get the login form markup with AJAX\r\n $.ajax({\r\n url: (App.CurrentSubdomain.length ? '/' + App.CurrentSubdomain : '') + loginUrl,\r\n cache: false,\r\n data: {\r\n captchaInstanceNumber: captchaInstNum\r\n },\r\n success: function (data) {\r\n // Insert markup into appropriate desktop or mobile panels\r\n SCM.SiteJS.UpdateLoginForm(source, data);\r\n SCM.AddReturnUrlToSocietyLinks();\r\n signInLoaded = true;\r\n }\r\n });\r\n };\r\n\r\n //DESKTOP signin from dropdown\r\n $('.oup-header-menu-item.desktop .dropdown-toggle.signin').on('click', function (e) {\r\n e.preventDefault();\r\n loadSignInForm(SourceDesktop);\r\n });\r\n\r\n //DESKTOP institution dropdown\r\n $('.dropdown-toggle.institution').on('click', function (e) {\r\n e.preventDefault();\r\n $desktopInstitution.toggleClass('active').toggle();\r\n });\r\n\r\n var clickStartedOutsideLoginBox = false;\r\n $(document).mousedown(function (e) {\r\n var hideOnClick = $('.dropdown-panel-signin, .dropdown-panel-institution');\r\n\r\n clickStartedOutsideLoginBox = !$(hideOnClick).is(e.target) // if the target of the click isn't the container...\r\n && $(hideOnClick).has(e.target).length === 0; // ... nor a descendant of the container\r\n });\r\n\r\n // close the desktop signin form if clicking outside of it\r\n $(document).mouseup(function (e) {\r\n\r\n var hideOnClick = $('.dropdown-panel-signin, .dropdown-panel-institution');\r\n\r\n if (clickStartedOutsideLoginBox && !$(hideOnClick).is(e.target) // if the target of the click isn't the container...\r\n && $(hideOnClick).has(e.target).length === 0) // ... nor a descendant of the container\r\n {\r\n $(hideOnClick).hide();\r\n hideOnClick.removeClass('active');\r\n }\r\n\r\n clickStartedOutsideLoginBox = false;\r\n });\r\n\r\n //MOBILE signin form\r\n $mobileSignInLink.on('click', function (e) {\r\n e.preventDefault();\r\n\r\n loadSignInForm(SourceMobile);\r\n\r\n $mobileSignInArrow.hasClass('icon-general_arrow-down') ? $mobileSignInArrow.removeClass('icon-general_arrow-down').addClass('icon-general_arrow-up') : $mobileSignInArrow.removeClass('icon-general_arrow-up').addClass('icon-general_arrow-down');\r\n $mobileSignInLink.toggleClass('active');\r\n });\r\n\r\n\r\n // button login\r\n $(document).on('click', '.signin-form .signin-button', function (e) {\r\n var $closestSigninForm = $(this).closest('.signin-form'),\r\n $closestSpinner = $closestSigninForm.find('.preloader-wrap');\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n SCM.SiteJS.Login($closestSigninForm, $closestSpinner);\r\n\r\n if (location.pathname !== '/sign-in') {\r\n SCM.ScholarlyiQ.trackOnPageEvent('site-signin');\r\n }\r\n });\r\n\r\n // Enter key login\r\n $(document).on('keypress', '.signin-form input.username, .signin-form input.password', function (e) {\r\n var $closestSigninForm = $(this).closest('.signin-form'),\r\n $closestSpinner = $closestSigninForm.find('.preloader-wrap');\r\n var code = e.keyCode || e.which;\r\n if (code === 13) {\r\n e.preventDefault();\r\n SCM.SiteJS.Login($closestSigninForm, $closestSpinner);\r\n }\r\n });\r\n\r\n // Log Out\r\n $('.signout-button').off('click');\r\n $(document).on('click', '.signout-button', function () {\r\n var returnUrl;\r\n\r\n // certain pages requires login\r\n if (location.pathname.toLowerCase().indexOf('/my-account') === 0) {\r\n returnUrl = '/';\r\n }\r\n else {\r\n returnUrl = location.pathname + location.search;\r\n }\r\n\r\n $.get('/LOGOUT', { dest: '/HTTPHandlers/SAMs/LogoutHandler.ashx' })\r\n .done(function () {\r\n window.top.location.assign(returnUrl);\r\n }).fail(function () {\r\n //temporary fix for shibboleth error\r\n window.top.location.assign(returnUrl);\r\n });\r\n\r\n SCM.ScholarlyiQ.trackOnPageEvent('site-signout');\r\n });\r\n\r\n // Shibboleth login\r\n $(document).on('click', 'a.shibboleth-signin', function (e) {\r\n var currLocation = window.top.location;\r\n var shibbolethHandlerUrl = currLocation.origin + '/SHIBBOLETH?dest=' + encodeURIComponent(currLocation.pathname + currLocation.search);\r\n var shibbolethUrl = $(this).data('target').replace('{0}', encodeURIComponent(shibbolethHandlerUrl));\r\n\r\n window.top.location = shibbolethUrl;\r\n });\r\n\r\n };\r\n\r\n ns.initLoginFormDropdown = function () {\r\n $('.signin-form').on('click', 'a[data-target=\"register\"]', function (e) {\r\n e.preventDefault();\r\n\r\n var returnUrl = SCM.JSUtility.getSearchParamByName('returnUrl');\r\n if (returnUrl === undefined || returnUrl === null) {\r\n returnUrl = location.pathname + location.search;\r\n }\r\n\r\n window.top.location.assign('/my-account/register?returnUrl=' + encodeURIComponent(returnUrl));\r\n });\r\n };\r\n\r\n /* Note: loginInstanceName referenced in the html input element is setup in the LoginForm\r\n * widget and if changed here will need to be changed in that widget as well. The input\r\n * element is used to designate which login form captcha element on a page with multiple \r\n * login forms is accessed by the user */\r\n ns.Login = function ($formContainer, $formSpinner) {\r\n\r\n var username = $formContainer.find('input.username').val();\r\n var password = $formContainer.find('input.password').val();\r\n var honeypotValue = $formContainer.find('#hpcName').val();\r\n\r\n if (honeypotValue.length > 0 && console.warn) {\r\n console.warn('Honeypot captcha triggered. Are you a bot?');\r\n return;\r\n }\r\n\r\n if (username.length === 0 || password.length === 0) {\r\n $formContainer.find('.error').show();\r\n return;\r\n }\r\n\r\n var simpleCaptchaEnabled = $('.js-captcha-simple').length > 0;\r\n var normalCaptchaEnabled = $formContainer.find('.js-captcha-normal').length > 0;\r\n var source = $formContainer.find('input.loginInstanceName').val();\r\n $formSpinner.removeClass('hide');\r\n var captchaInstanceId = 0;\r\n var simpleCaptchaIdName = 'txtCaptchaInputId';\r\n if (normalCaptchaEnabled) {\r\n switch (source) {\r\n case SourceSignIn:\r\n captchaInstanceId = captcha0;\r\n break;\r\n case SourceMobile:\r\n captchaInstanceId = captcha1;\r\n break;\r\n case SourceDesktop:\r\n captchaInstanceId = captcha2;\r\n break;\r\n default:\r\n captchaInstanceId = 0;\r\n break;\r\n }\r\n }\r\n else if (simpleCaptchaEnabled) {\r\n simpleCaptchaIdName += '-' + SCM.SiteJS.GetCaptchaInstanceNumber(source).toString();\r\n }\r\n $.post((App.CurrentSubdomain.length ? '/' + App.CurrentSubdomain : '') + '/OUP/ValidateCaptcha',\r\n {\r\n captchaResponse: normalCaptchaEnabled ? grecaptcha.getResponse(captchaInstanceId) : '',\r\n simpleCaptchaResponse: simpleCaptchaEnabled ? document.getElementById(simpleCaptchaIdName).value : '',\r\n captchaInstanceNumber: SCM.SiteJS.GetCaptchaInstanceNumber(source)\r\n })\r\n .done(function (result) {\r\n if (result === '1') {\r\n $.post('/LOGIN', { user: username, pass: password, dest: '/HTTPHandlers/SAMs/LoginHandler.ashx' })\r\n .done(function (result) {\r\n if (result === '1') {\r\n if (location.pathname.toLowerCase() === '/sign-in' && SCM.JSUtility.getSearchParamByName('handoff_url')) { // Rievent SSO\r\n window.location.reload(); // the reload will trigger the redirect\r\n }\r\n else {\r\n SCM.SiteJS.loginReturnBack();\r\n }\r\n }\r\n else {\r\n $.post('/OUP/LoginFormIncrementFailedAttempts')\r\n .done(function () {\r\n var loginUrl = SCM.SiteJS.GetLoginUrl(source);\r\n var captchaInstNum = SCM.SiteJS.GetCaptchaInstanceNumber(source);\r\n $.ajax({\r\n url: (App.CurrentSubdomain.length ? '/' + App.CurrentSubdomain : '') + loginUrl,\r\n cache: false,\r\n data: {\r\n captchaInstanceNumber: captchaInstNum\r\n },\r\n success: function (data) {\r\n SCM.SiteJS.UpdateLoginForm(source, data);\r\n SCM.AddReturnUrlToSocietyLinks();\r\n $('.error').show();\r\n $formSpinner.addClass('hide');\r\n }\r\n });\r\n });\r\n }\r\n });\r\n }\r\n else {\r\n var loginUrl = SCM.SiteJS.GetLoginUrl(source);\r\n var captchaInstNum = SCM.SiteJS.GetCaptchaInstanceNumber(source);\r\n $.ajax({\r\n url: (App.CurrentSubdomain.length ? '/' + App.CurrentSubdomain : '') + loginUrl,\r\n cache: false,\r\n data: {\r\n captchaInstanceNumber: captchaInstNum\r\n },\r\n success: function (data) {\r\n SCM.SiteJS.UpdateLoginForm(source, data);\r\n SCM.AddReturnUrlToSocietyLinks();\r\n $('.error').show();\r\n $formSpinner.addClass('hide');\r\n }\r\n });\r\n }\r\n });\r\n };\r\n\r\n ns.UpdateLoginForm = function (source, data) {\r\n\r\n // Insert markup into sign-in form that initiated the sign-in operation\r\n var normalCaptchaEnabled = false;\r\n if (source === SourceDesktop) {\r\n var $desktopSignInElement = $('.dropdown-panel-signin');\r\n $desktopSignInElement.html(data);\r\n // set the source value into the html hidden input so source can be detected when submitting\r\n $desktopSignInElement.find('input.loginInstanceName').val(SourceDesktop);\r\n /* Note: the suffix -lf in register-captcha-text-normal-lf is hardcoded in LoginForm widget\r\n * so any changes here need a corresponding change in that widget */\r\n normalCaptchaEnabled = $desktopSignInElement.find('div.register-captcha-text-normal-lf').length > 0;\r\n if (normalCaptchaEnabled) {\r\n resetCaptchaElement2();\r\n }\r\n }\r\n else if (source === SourceMobile) {\r\n var $mobileSignInElement = $('.mobile-account-dropdown ul li ul.individual-menu');\r\n $mobileSignInElement.html(data);\r\n $mobileSignInElement.find('input.loginInstanceName').val(SourceMobile);\r\n normalCaptchaEnabled = $mobileSignInElement.find('div.register-captcha-text-normal-lf').length > 0;\r\n if (normalCaptchaEnabled) {\r\n resetCaptchaElement1();\r\n }\r\n }\r\n else if (source === SourceSignIn) {\r\n var $signInElement = $('.unauth-column.account');\r\n $signInElement.html(data);\r\n $signInElement.find('input.loginInstanceName').val(SourceSignIn);\r\n normalCaptchaEnabled = $signInElement.find('div.register-captcha-text-normal-lf').length > 0;\r\n if (normalCaptchaEnabled) {\r\n resetCaptchaElement();\r\n }\r\n }\r\n };\r\n\r\n ns.GetLoginUrl = function (source) {\r\n var loginUrl = '/OUP/LoginForm/LoginFormPopup';\r\n // Sign-in uses default configuration wherea other login forms use LoginFormPopup instance configuration\r\n if (source == SourceSignIn) {\r\n loginUrl = '/OUP/LoginForm/OUP_SignInPage_LoginForm';\r\n }\r\n return loginUrl;\r\n };\r\n\r\n ns.GetCaptchaInstanceNumber = function (source) {\r\n var captchaInstNum = 0;\r\n switch (source) {\r\n case SourceSignIn:\r\n captchaInstNum = 0;\r\n break;\r\n case SourceMobile:\r\n captchaInstNum = 1;\r\n break;\r\n case SourceDesktop:\r\n captchaInstNum = 2;\r\n break;\r\n default:\r\n captchaInstNum = 0;\r\n break;\r\n }\r\n return captchaInstNum;\r\n };\r\n\r\n ns.loginReturnBack = function () {\r\n var returnUrl = SCM.JSUtility.getSearchParamByName('returnUrl');\r\n\r\n if (returnUrl === undefined || returnUrl === null) {\r\n returnUrl = SCM.JSUtility.getSearchParamByName('redirectUrl'); // for backward compatibility\r\n }\r\n\r\n // by default come back / refresh current page\r\n if (returnUrl === undefined || returnUrl === null || returnUrl === '') {\r\n returnUrl = window.top.location.pathname + window.top.location.search;\r\n }\r\n\r\n returnUrl = decodeURIComponent(returnUrl);\r\n\r\n // exclude URLs which can only be accessed before sign-in\r\n var regex = /^\\/((\\w+\\/)?sign-in|my-account\\/forgot-password|my-account\\/reset-password|my-account\\/register)/i;\r\n if (regex.test(returnUrl)) {\r\n returnUrl = '/';\r\n }\r\n\r\n else if (/^\\/[^\\/]+/.test(returnUrl)) {\r\n // do nothing to the return url\r\n } // check for a domain that we can validate\r\n\r\n // Special case for secureacademic.oup.com NARN-13051 HOTFIX\r\n else if (returnUrl.indexOf('secureacademic.oup.com') < 0) {\r\n // match a (candidate) domain name preceded by two slashes.\r\n // See the RFC 1738 (URL) and RFC 3492 (Punycode). We observe a less strict format for our diagnostic.\r\n\r\n var returnDomainTest = returnUrl.match(/\\/\\/([^/]+(?:\\.[^./]+)*)/i);\r\n if (returnDomainTest === null) {\r\n // NARN-5928: sanitize if no match for the known format\r\n returnUrl = '/';\r\n }\r\n else {\r\n // otherwise, make sure the domain matches our current domain\r\n var returnHostnameLower = returnDomainTest[1].toLowerCase();\r\n var windowHostname = window.top.location.hostname.toLowerCase();\r\n if (returnHostnameLower !== windowHostname) {\r\n returnUrl = '/';\r\n }\r\n else {\r\n // accept the URL with the same domain\r\n }\r\n }\r\n }\r\n\r\n\r\n // only allow same domain\r\n if (returnUrl !== '/' && returnUrl.indexOf('secureacademic.oup.com') < 0) {\r\n var returnDomainTest = returnUrl.match(/\\/\\/([^/]+\\.)?([^./]+\\.[^./]+)/i);\r\n if (returnDomainTest !== null && returnDomainTest[2].toLowerCase() !== window.top.location.hostname.match(/(.*\\.)?([^.]+\\.[^.]+)/i)[2].toLowerCase()) {\r\n returnUrl = '/';\r\n }\r\n }\r\n\r\n window.top.location.assign(returnUrl);\r\n };\r\n\r\n ns.showEditAlertInfo = function (alertLink) {\r\n var userAlert = alertLink.parents('.email-alerts-content-row');\r\n $.ajax({\r\n url: (App.CurrentSubdomain.length ? '/' + App.CurrentSubdomain : '') + '/Toolbox/AlertsSignUp/AlertsSignUpPopup',\r\n cache: false,\r\n data: {\r\n alertType: userAlert.data('alerttype'),\r\n resourceId: userAlert.data('alertresourceid'),\r\n resourceType: userAlert.data('alertresourcetype'),\r\n email: userAlert.data('alertuseremail'),\r\n resourceName: userAlert.data('alertresourcename'),\r\n taxonomyName: userAlert.data('alerttaxonomyname'),\r\n existingAlert: userAlert.data('alert')\r\n },\r\n dataType: 'html',\r\n success: function (data) {\r\n $('.userAlertSignUp').html(data);\r\n var userAlertSignUpmodal = $('.userAlertSignUpModal');\r\n userAlertSignUpmodal.foundation('reveal', 'open');\r\n var scheduleSelect = $('.userAlertSignUp').find('#selectAlertFreqeuncy');\r\n\r\n App.TaxonomyFacet.initTaxonomyArrows($('.userAlertSignUp'));\r\n\r\n $('.js-edit-user-alert').on('click', function () {\r\n var mainForm = $(this).parent();\r\n var alertName = $(this).parent().find('.js-alert-name').val();\r\n var taxonomies = $(this).parent().find('.js-taxonomy-checkbox:checked');\r\n var alertId = $('#AlertSignUp_AlertId').val();\r\n\r\n var error = false;\r\n var errorMessage;\r\n if (userAlert.data('alerttype') == 33) { // if it's a taxonomy search alert\r\n if (!alertName) {\r\n error = true;\r\n SCM.SiteJS.showErrorMessage(mainForm, $('#errorAlertNameRequired'));\r\n }\r\n else if (taxonomies.length < 1) {\r\n error = true;\r\n SCM.SiteJS.showErrorMessage(mainForm, $('#errorSelectionRequired'));\r\n }\r\n }\r\n\r\n // get all toplevel checked taxonomies (taxonomy search will automatically fill in child taxonomies)\r\n var taxonomiesFiltered = taxonomies.filter(App.TaxonomyFacet.taxonomyFilterFunction);\r\n var taxonomyIds = SCM.SiteJS.processTaxonomies(taxonomiesFiltered);\r\n\r\n if (!error) {\r\n SCM.SiteJS.editTaxonomyAlert(alertId, userAlert, scheduleSelect, alertName, taxonomyIds, mainForm);\r\n }\r\n });\r\n }\r\n });\r\n };\r\n\r\n ns.showErrorMessage = function (main, messageDiv) {\r\n main.find('.js-message').hide();\r\n messageDiv.removeClass('hide');\r\n messageDiv.show();\r\n };\r\n\r\n ns.processTaxonomies = function (taxonomies) {\r\n var list = new Array();\r\n for (i = 0; i < taxonomies.length; i++) {\r\n var taxonomy = taxonomies[i];\r\n var id = taxonomy.attributes['data-id'].value;\r\n list.push(id);\r\n }\r\n\r\n return list;\r\n };\r\n\r\n ns.addSignUpAlert = function (userAlert, scheduleSelect, alertName, taxonomies, mainForm) {\r\n var scheduleId;\r\n if (scheduleSelect != null) {\r\n scheduleId = scheduleSelect.val();\r\n }\r\n $.ajax({\r\n url: (App.CurrentSubdomain.length ? '/' + App.CurrentSubdomain : '') + '/Toolbox/AddAlertsSignUpForTaxonomySearch/AddAlertsSignUpPopup',\r\n cache: false,\r\n data: {\r\n alertType: userAlert.data('alerttype'),\r\n resourceId: userAlert.data('alertresourceid'),\r\n resourceType: userAlert.data('alertresourcetype'),\r\n email: userAlert.data('alertuseremail'),\r\n resourceName: userAlert.data('alertresourcename'),\r\n scheduleId: scheduleId,\r\n alertName: alertName,\r\n taxonomyName: userAlert.data('alerttaxonomyname'),\r\n taxonomies: JSON.stringify(taxonomies)\r\n },\r\n dataType: 'html',\r\n success: function (data) {\r\n if (data != null) {\r\n if (data.trim() === 'name-exists') {\r\n // hardcoded in AlertsSignUp.cshtml\r\n // The existing model doesn't allow for robust error types, and refactoring it would cause more problems than it solves\r\n SCM.SiteJS.showErrorMessage(mainForm, $('#errorAlertNameExists'));\r\n }\r\n else if (data.trim() === 'search-exists') {\r\n SCM.SiteJS.showErrorMessage(mainForm, $('#errorAlertSearchExists'));\r\n }\r\n else {\r\n\r\n $('.userAlertSignUp').html(data);\r\n var userAlertSignUpmodal = $('.userAlertSignUpModal');\r\n userAlertSignUpmodal.foundation('reveal', 'open').addClass('confirmation-wrap');\r\n var confirmation = $('.confirmation-wrap');\r\n var closeBtn = $('.toggle-left-col__close');\r\n var scrollHere = confirmation.css('top');\r\n var modal = confirmation;\r\n\r\n confirmation.attr('tabindex', '-1').focus();\r\n $('html, body').animate({ scrollTop: scrollHere });\r\n SCM.trapFocus.publicTrapFocus(modal, closeBtn, lastActiveElement);\r\n }\r\n }\r\n }\r\n });\r\n };\r\n\r\n ns.editTaxonomyAlert = function (alertId, userAlert, scheduleSelect, alertName, taxonomies, mainForm) {\r\n var scheduleId;\r\n if (scheduleSelect != null) {\r\n scheduleId = scheduleSelect.val();\r\n }\r\n $.ajax({\r\n url: (App.CurrentSubdomain.length ? '/' + App.CurrentSubdomain : '') + '/Toolbox/EditAlertForTaxonomySearch/AddAlertsSignUpPopup',\r\n cache: false,\r\n type: 'POST',\r\n data: {\r\n alertId: alertId,\r\n scheduleId: scheduleId,\r\n alertName: alertName,\r\n taxonomyName: userAlert.data('alerttaxonomyname'),\r\n taxonomies: JSON.stringify(taxonomies)\r\n },\r\n dataType: 'html',\r\n success: function (data) {\r\n var responseObj = JSON.parse(data);\r\n if (responseObj != null) {\r\n var messageElement;\r\n if (responseObj.Success) {\r\n messageElement = $('#messageCustom');\r\n }\r\n else {\r\n messageElement = $('#errorCustom');\r\n }\r\n\r\n messageElement.html(responseObj.Message);\r\n SCM.SiteJS.showErrorMessage(mainForm, messageElement);\r\n }\r\n }\r\n });\r\n };\r\n\r\n // ----\r\n // Search Results\r\n // ----\r\n ns.initSearchResultsSort = function () {\r\n var $sortOrderSelectOption = $('.sort-order-select-option'),\r\n $sortOrderSelect = $('.sort-order-select'),\r\n $preloaderWrap = $('.preloader-wrap');\r\n\r\n // Adding .off to avoid multiple bindings here - this function \r\n // is called after on an AjaxComplete event\r\n // SolrSearch is done with ajax. Don't want to avoid calling it all together\r\n // in case it's needed for something else\r\n $sortOrderSelect.off('change').on('change', function () {\r\n var qs = $(this).val();\r\n SCM.SearchResults.doSolrSearch({ queryString: qs, source: 'searchresults' });\r\n }); // END sortOrderSelect.on('change')\r\n\r\n $sortOrderSelectOption.off('click').on('click', function () {\r\n var lnk = $(this).find('option[value]');\r\n if (lnk.length) {\r\n $preloaderWrap.removeClass('hide');\r\n }\r\n // save selected sort order & details state to sessionStorage\r\n sessionStorage.detailsState = $viewOption;\r\n }); // END sortOrderListItem.on('click')\r\n\r\n $('.al-pageNumber,.sr-nav-previous,.sr-nav-next').off('click').on('click', function () {\r\n if (!$(this).hasClass('currentPage')) {\r\n $preloaderWrap.removeClass('hide');\r\n var url = $(this).attr('data-url');\r\n SCM.SearchResults.doSolrSearch({ queryString: url });\r\n }\r\n });\r\n };\r\n\r\n // Disable rightclick on figure context for restricted images.\r\n ns.restrictedImages = function () {\r\n $('div.graphic-wrap[restricted]').each(function () {\r\n var copyrightMessage = $(this).children('.copy-right-statement');\r\n $(copyrightMessage).toggle(false);\r\n $(this).off('contextmenu').on('contextmenu', function () { // right click\r\n $(copyrightMessage).toggle();\r\n return false;\r\n });\r\n $(this).off('click').click(function () { // left click on link around image\r\n $(copyrightMessage).toggle();\r\n return false;\r\n });\r\n $(copyrightMessage).off('click').click(function () { // left click on copyright message\r\n $(copyrightMessage).toggle();\r\n return false;\r\n });\r\n });\r\n };\r\n\r\n SCM.ArticleListNewAndPopular.registerArticleListNewAndPopularCombinedMode();\r\n\r\n // move submitcomment link.\r\n ns.moveSubmitCommentLink = function () {\r\n var $placeHolderSubmitComment = $('.submitCommentPlaceHolder');\r\n var $userComment = $('.widget-UserComment');\r\n $placeHolderSubmitComment.append($userComment);\r\n };\r\n\r\n // add user comment jumplink into article left nav\r\n ns.addUserCommentJumpLink = function () {\r\n var $articleLeftNav = $('.content-nav');\r\n if ($articleLeftNav.length) {\r\n var $jumplink = $('.comments-jumplink');\r\n $articleLeftNav.append($jumplink);\r\n }\r\n };\r\n\r\n\r\n // NARN-11152 support relocating and displaying special jump links even if section jump links are not present\r\n var relocateJumpLinks = function ($jumpLinks) {\r\n if ($jumpLinks.length) {\r\n // make sure the article contents title is visible\r\n $('.contents-title').show();\r\n\r\n // relocate the jump links\r\n // NOTE: the article left navigation element should always be present.\r\n var $articleLeftNav = $('.jumplink-list');\r\n $articleLeftNav.append($jumpLinks);\r\n }\r\n };\r\n\r\n ns.addDataSupplementsJumpLink = function () {\r\n var $dataSupplements = $('.dataSupplements-jumplink'); // typically in .widget-ArticleDataSupplements\r\n relocateJumpLinks($dataSupplements);\r\n };\r\n ns.addDataRepositoriesJumpLink = function () {\r\n var $dataRepos = $('.dataRepositories-jumplink'); // typically in .widget-ArticleDataRepositories\r\n relocateJumpLinks($dataRepos);\r\n };\r\n ns.addAuthorNotesJumpLink = function () {\r\n var $authorNotesTitle = $('.authorNotes-section-title');\r\n if ($authorNotesTitle.length) {\r\n var $authorLink = $(\r\n '
    • '\r\n );\r\n relocateJumpLinks($authorLink);\r\n }\r\n };\r\n\r\n ns.shiftOpenAuthorCards = function (authorCard, columnRightEdge) {\r\n var $authorLinkWrap = authorCard.closest('.al-author-name');\r\n if (!$authorLinkWrap.length) {\r\n $authorLinkWrap = authorCard.closest('.al-author-name-more');\r\n }\r\n var linkPos = $authorLinkWrap.offset();\r\n var cardWidth = authorCard.width();\r\n var authorCardRight = linkPos.left + cardWidth;\r\n if (authorCardRight > columnRightEdge) {\r\n authorCard.addClass('shift-card');\r\n } else if (authorCard.hasClass('shift-card') && linkPos.left + cardWidth < columnRightEdge) {\r\n authorCard.removeClass('shift-card');\r\n }\r\n };\r\n\r\n ns.toggleSearchResultsDetails = function () {\r\n\r\n var $switchContainer = $('#switch-container'),\r\n $switchPost = $('#switch-post'),\r\n $expandedView = $('.sri-expandedView');\r\n\r\n // Determine display setting\r\n if (sessionStorage.detailsState) {\r\n $viewOption = sessionStorage.detailsState;\r\n } else {\r\n if (typeof clientViewOption !== 'undefined' && clientViewOption !== '') {\r\n $viewOption = clientViewOption;\r\n } else {\r\n $viewOption = $('#hfViewOption').val(); //Based on Client's configuration setting, set the appropriate default value.\r\n }\r\n }\r\n\r\n // Adjust DOM elements based on display setting\r\n if ($viewOption === 'Expanded') {\r\n $switchContainer.removeClass('off').addClass('on');\r\n $switchPost.removeClass('off').addClass('on');\r\n $expandedView.removeClass('hide');\r\n } else if ($viewOption === 'Basic') {\r\n $expandedView.addClass('hide');\r\n }\r\n\r\n // Save current display setting when clicking a pagination link\r\n $('.pagination').on('click', function () {\r\n if (typeof Storage !== 'undefined') {\r\n sessionStorage.detailsState = $viewOption;\r\n } else {\r\n sessionStorage.detailsState = $viewOption;\r\n }\r\n });\r\n\r\n // Change toggle button & display setting when it's clicked\r\n $switchContainer.off('click').on('click', function (e) {\r\n e.stopPropagation();\r\n $viewOption === 'Expanded' ? $viewOption = 'Basic' : $viewOption = 'Expanded';\r\n $switchContainer.toggleClass('on off');\r\n $switchPost.toggleClass('on off');\r\n $expandedView.hasClass('hide') ? $expandedView.removeClass('hide') : $expandedView.addClass('hide');\r\n });\r\n };\r\n\r\n var isFinishedAdjustRelatedTagsDisplay = false;\r\n ns.adjustRelatedTagsDisplay = function () {\r\n // step 1: create a variable for each type/row of tags (Keywords, Topic, Subject, etc)\r\n $('.article-metadata-panel:not(.solr-resource-metadata):not(:last)').remove();\r\n var $articleMetadataPanel = $('.article-metadata-panel:not(.solr-resource-metadata)').last(),\r\n $keywordGroupSection = $('.kwd-group'), //output through XSLT template \r\n $relatedTopicTags = $('.related-topic-tags'),\r\n $taxonomies = $('.article-metadata-taxonomies'),\r\n $tocSections = $('.article-metadata-tocSections'),\r\n $editor = $('.wi-editors');\r\n $openScienceBadge = $('.wi-open-science-badge');\r\n\r\n // step 2: put those variables into an array\r\n var $tagContainerArray = [$keywordGroupSection, $relatedTopicTags, $taxonomies, $tocSections, $editor, $openScienceBadge];\r\n if (!$articleMetadataPanel.length) {\r\n // no abstract, use the standalone metadata panel\r\n $articleMetadataPanel = $('.article-metadata-standalone-panel');\r\n // make sure the standalone panel isn't empty before showing\r\n\r\n // NARN-7484: Position metadata-panel before main article text\r\n $('.widget-items').prepend($articleMetadataPanel);\r\n }\r\n\r\n // step 3: cycle through $tagContainerArray \r\n for (i = 0; i < $tagContainerArray.length; i++) {\r\n // step 3b: if current item has content, append to $articleMetadataPanel\r\n if ($tagContainerArray[i].length) {\r\n $articleMetadataPanel.append($tagContainerArray[i]);\r\n }\r\n }\r\n\r\n if ($articleMetadataPanel.html()) {\r\n $articleMetadataPanel.show();\r\n }\r\n\r\n // remove empty metadata panels (client requirement)\r\n ns.removeEmpty('.article-metadata-panel');\r\n ns.removeEmpty('.article-metadata-standalone-panel');\r\n ns.removeEmpty('.access-state-logos');\r\n ns.removeEmpty('.article-pubstate');\r\n\r\n isFinishedAdjustRelatedTagsDisplay = true;\r\n window.dispatchEvent(new CustomEvent('adjustRelatedTagsDisplay.complete'));\r\n };\r\n\r\n ns.isFinishedAdjustRelatedTagsDisplay = function () { return isFinishedAdjustRelatedTagsDisplay; };\r\n\r\n ns.removeEmpty = function (selector) {\r\n var $elements = $(selector);\r\n for (var i = 0; i < $elements.length; i++) {\r\n var $element = $elements.eq(i);\r\n if ($element.children().length === 0) {\r\n var text = $element.text();\r\n if (!text || !text.trim()) {\r\n $element.remove();\r\n }\r\n }\r\n }\r\n };\r\n\r\n ns.showPdfOnlyLink = function () {\r\n if ($('.PdfOnlyLink').length && $('.toolbar-item.item-pdf').length) {\r\n var $innerPdfOnly = $('.PdfOnlyLink').children();\r\n var $newLink = $('.toolbar-item.item-pdf').children().clone();\r\n $newLink.html($innerPdfOnly);\r\n $newLink.appendTo('.PdfOnlyLink');\r\n }\r\n };\r\n\r\n ns.triggerSaveSearchModelOnRedirect = function () {\r\n var saveSearch = SCM.JSUtility.getParamFromHash('triggerSaveSearch');\r\n if (saveSearch === '1') {\r\n $('.lnkSaveSolrSearch').trigger('click');\r\n SCM.JSUtility.removeParamFromHash('triggerSaveSearch');\r\n }\r\n };\r\n\r\n // ----\r\n // START: Acessibility Functions (ARIA)\r\n // ----\r\n\r\n ns.ariaToggleTable = function (ariaTarget) {\r\n var $ariaControl = $(ariaTarget + '-button'),\r\n $ariaIcon = $ariaControl.children('.collapse-icon');\r\n\r\n $ariaControl.on('click', function (e) {\r\n e.preventDefault();\r\n //toggle aria-expanded attribute\r\n $ariaControl.attr('aria-expanded') === 'true' ? $ariaControl.attr('aria-expanded', 'false') : $ariaControl.attr('aria-expanded', 'true');\r\n // toggle arrow\r\n $ariaIcon.hasClass('icon-general-arrow-filled-down') ? $ariaIcon.removeClass('icon-general-arrow-filled-down').addClass('icon-general-arrow-filled-right') : $ariaIcon.removeClass('icon-general-arrow-filled-right').addClass('icon-general-arrow-filled-down');\r\n //toggle active class & state on the target table to show/hide it\r\n $(ariaTarget).toggleClass('hide');\r\n $(ariaTarget).attr('aria-hidden') === 'false' ? $(ariaTarget).attr('aria-hidden', 'true') : $(ariaTarget).attr('aria-hidden', 'false');\r\n });\r\n };\r\n\r\n ns.initAriaControls = function () {\r\n //tables on: academic.oupdev.silverchair.com/[JOURNAL]/subscribe/SingleIssue & CurrentYear\r\n var $tables = $('[id^=collapsible-table-]');\r\n $tables.each(function (index) {\r\n SCM.SiteJS.ariaToggleTable('#collapsible-table-' + index);\r\n });\r\n };\r\n\r\n // ----\r\n // START: Issue Page: ArticleListAccess.cshtml\r\n // ----\r\n ns.abstractMathJax = function () {\r\n if ($('.js-abstract-response-placeholder').length) {\r\n MathJax.typesetPromise(['.abstract-response-placeholder'])\r\n .catch((err) => console.log(err.message));\r\n }\r\n };\r\n\r\n // ----\r\n // End: Issue Page: ArticleListAccess.cshtml\r\n // ----\r\n\r\n // ----\r\n // END: Acessibility Functions (ARIA)\r\n // ----\r\n\r\n // ----\r\n // START: Article Page: UserComment.cshtml\r\n // ----\r\n ns.articleUserComments = function (isSplitView) {\r\n\r\n isSplitView = isSplitView === true;\r\n\r\n var $commentModalSpinner = $('.comment-form__modal .preloader-wrap'),\r\n $commentFormError = $('.content-form__response--error');\r\n\r\n $('#comment-modal-opener' + (isSplitView ? '-sv' : '')).click(function (e) {\r\n e.preventDefault();\r\n var lastActiveElement = $('#comment-modal-opener');\r\n if (SCM.UserCommentView.isUserLoggedIn !== 'True') {\r\n var returnUrl = SCM.JSUtility.getSearchParamByName('returnUrl');\r\n if (returnUrl === undefined || returnUrl === null) {\r\n returnUrl = location.pathname + location.search;\r\n }\r\n window.location = '/sign-in?returnUrl=' + encodeURIComponent(returnUrl);\r\n } else {\r\n resetCommentForm();\r\n $.ajax({\r\n url: (App.CurrentSubdomain.length ? '/' + App.CurrentSubdomain : '') + '/Content/SelfServeContent',\r\n type: 'GET',\r\n data: {\r\n selfServeContentId: 'CommentsTermsAndConditions',\r\n selfServeVersionId: 0\r\n }\r\n }).done(function (data) {\r\n showTermsAndConditions(data);\r\n var modal = $('#divCommentModal');\r\n setTimeout(function () {\r\n modal.attr('tabindex', '-1').focus();\r\n }, 1000);//wait for animation to complete\r\n\r\n var closeBtn = $('.icon-general-close');\r\n\r\n SCM.trapFocus.publicTrapFocus(modal, closeBtn, lastActiveElement);\r\n });\r\n\r\n }\r\n });\r\n\r\n $('#btnUserAgreeTerms').click(function (e) {\r\n e.preventDefault();\r\n if (validateTermsCheckbox()) {\r\n $('#TermsAndConditionsContainer, #termsAgreeRow, #termsButtonRow').hide();\r\n $('#divUserCommentForm').show();\r\n\r\n var modal = $('#divCommentModal');\r\n var closeBtn = $('.icon-general-close');\r\n var lastActiveElement = $('.comment-body__button');\r\n modal.attr('tabindex', '-1').focus();\r\n\r\n SCM.trapFocus.publicTrapFocus(modal, closeBtn, lastActiveElement);\r\n }\r\n });\r\n\r\n\r\n $('#divCommentModal .btnUserCommentSubmit').click(function (e) {\r\n e.preventDefault();\r\n //Validate Form and Submit\r\n if (validateCommentForm()) {\r\n //$('.pleaseWait').show(); // INSTEAD OF THIS, USE PRELOADER/SPINNER\r\n $commentModalSpinner.removeClass('hide');\r\n submitCommentValues();\r\n $('#divCommentModal').attr('tabindex', '-1').focus();\r\n\r\n }\r\n });\r\n\r\n\r\n $('#divCommentModal .btnModalCancel, #divCommentModal .btnCommentModalExit, .comment-form__close').click(function (e) {\r\n e.preventDefault();\r\n $('#divCommentModal').foundation('reveal', 'close');\r\n $('#comment-modal-opener').focus();\r\n });\r\n\r\n\r\n $('input[name=\"NoConflicts\"]').change(function () {\r\n if ($(this).is(':checked')) {\r\n $('.disclosureBox').show();\r\n } else {\r\n $('.disclosureBox').hide();\r\n }\r\n });\r\n\r\n\r\n showTermsAndConditions = function (data) {\r\n $('#termsAgreeRow .lblTermsAndConditions.errors').hide();\r\n $('#TermsAndConditionsContainer').html(data);\r\n $('#TermsAndConditionsContainer, #termsAgreeRow, #termsButtonRow').show();\r\n $('#divCommentModal').foundation('reveal', 'open');\r\n };\r\n\r\n validateTermsCheckbox = function () {\r\n\r\n var $termsCondition = $('#termsAgreeRow #termsAndConditionsCheckbox');\r\n\r\n if ($termsCondition.length && !$termsCondition.is(':checked')) {\r\n $('#termsAgreeRow .lblTermsAndConditions.errors').show();\r\n return false;\r\n }\r\n else {\r\n $('#termsAgreeRow .lblTermsAndConditions.errors').hide();\r\n return true;\r\n }\r\n };\r\n\r\n\r\n //Validate Form Data\r\n validateCommentForm = function () {\r\n\r\n var isValid = false;\r\n\r\n resetCommentFormValidation();\r\n //Validate Form Using Validity Plugin\r\n $.validity.setup({ outputMode: 'label' });\r\n $.validity.start();\r\n $('#divCommentModal .required').require();\r\n\r\n var result = $.validity.end();\r\n\r\n // Enforce the comment textarea maxlength for none html5 browsers. @*it also would be nice to have a real time char counter*@\r\n var comment = $('#divUserCommentForm').find('textarea#Comment');\r\n var commentBody = comment.val();\r\n var commentBodyCharLimit = parseInt(comment.attr('maxlength'));\r\n if (commentBodyCharLimit > 0 && commentBody.length > commentBodyCharLimit) {\r\n commentBody = commentBody.substring(0, commentBodyCharLimit);\r\n }\r\n\r\n //Additional Validation required for Disclosure Input and Checkbox \r\n if (SCM.UserCommentView.bShowDisclosure === 'true' && $('input[name=\"NoConflicts\"]').is(':checked') && $('textarea[name=\"Disclosure\"]').val() === '') {\r\n $('#divCommentModal .lbldisclosure.errors').show();\r\n isValid = false;\r\n } else {\r\n isValid = result.valid;\r\n }\r\n\r\n return isValid;\r\n };\r\n\r\n\r\n resetCommentForm = function () {\r\n\r\n $('#divUserCommentForm').hide();\r\n var commentForm = $('#divCommentModal');\r\n commentForm.find('input, textarea').val('');\r\n commentForm.find('#displayAlert, div.captchaAlert').hide();\r\n $('input[name=\"NoConflicts\"]').removeAttr('checked');\r\n $('#termsAndConditionsCheckbox').attr('checked', false);\r\n $('.disclosureBox').hide();\r\n $('#divCommentModal .btnCommentModalExit').hide();\r\n $('#recaptcha_reload').trigger('click');\r\n var authorInput = commentForm.find('#Author');\r\n authorInput.attr('value', authorInput.attr('dataauthorvalue'));\r\n resetCommentFormValidation();\r\n };\r\n\r\n\r\n //Clear Error Messages\r\n resetCommentFormValidation = function () {\r\n\r\n var commentForm = $('#divCommentModal');\r\n\r\n commentForm.find('.error')\r\n .not('.lbldisclosure.errors')\r\n .remove();\r\n\r\n $commentFormError.hide();\r\n commentForm.find('.lbldisclosure.errors').hide();\r\n $('#termsAgreeRow .lblTermsAndConditions.errors').hide();\r\n $commentFormError.text('');\r\n };\r\n\r\n\r\n submitCommentValues = function () {\r\n\r\n var commentForm = $('#divUserCommentForm');\r\n var resourceType = SCM.UserCommentView.resourceType;\r\n var resourceId = SCM.UserCommentView.resourceId;\r\n var affiliation = '';\r\n var disclosures = '';\r\n\r\n if (SCM.UserCommentView.showAffiliations === 'true') {\r\n affiliation = commentForm.find('input#AffInstitution').val();\r\n }\r\n\r\n if (SCM.UserCommentView.bShowDisclosure === 'true') {\r\n disclosures = commentForm.find('textarea#Disclosure').val();\r\n }\r\n\r\n $.ajax({\r\n type: 'POST',\r\n url: '/Content/SubmitUserComment',\r\n data: {\r\n author: commentForm.find('input#Author').val(),\r\n affInstitutions: affiliation,\r\n disclosure: disclosures,\r\n title: commentForm.find('input#Title').val(),\r\n comment: commentForm.find('textarea#Comment').val(),\r\n resourceType: resourceType,\r\n resourceId: resourceId,\r\n recaptchaChallege: $('#recaptcha_challenge_field').val(),\r\n recaptchaResponse: $('#recaptcha_response_field').val(),\r\n instanceName: SCM.UserCommentView.InstanceName\r\n },\r\n success: function (result) {\r\n //$('.pleaseWait').hide();\r\n $commentModalSpinner.addClass('hide');\r\n if (result.Success === true) {\r\n commentForm.hide();\r\n $('#divCommentModal #displayAlert').show();\r\n $('#divCommentModal .btnCommentModalExit').show();\r\n\r\n //For clients that don't moderate comments (such as ASHA)...\r\n //they want to refresh page after comment is submitted so that the new comment appears.\r\n //For clients that do moderate comments (such as ASA)...\r\n //we don't want to refresh the page so that the user can see the Success modal.\r\n\r\n if (SCM.UserCommentView.isNotModerated.toLowerCase() === 'true') {\r\n location.reload();\r\n }\r\n\r\n } else {\r\n $commentModalSpinner.addClass('hide');\r\n $('div.captchaAlert').show();\r\n }\r\n },\r\n error: function (evt) {\r\n // NARN-11087 as a special case, if we get a 401, we assume the user isn't allowed anymore, and we redirect to the sign on page\r\n if (evt.status === '401') {\r\n $commentFormError.html('You must be logged in to submit a comment.');\r\n window.location = '/sign-in?returnUrl=' + encodeURIComponent(window.location.pathname + window.location.search);\r\n }\r\n else {\r\n $commentFormError.html('Comments not saved. Please Try Again.');\r\n }\r\n\r\n $commentModalSpinner.addClass('hide');\r\n\r\n $commentFormError.show();\r\n }\r\n });\r\n };\r\n };\r\n // ----\r\n // END: Article Page: UserComment.cshtml\r\n // ----\r\n\r\n // ----\r\n // Initialization functions\r\n // ----\r\n ns.init = function () {\r\n ns.detectIfFirefox();\r\n ns.initSkipNavToMainContent();\r\n ns.articleUserComments();\r\n ns.closeNavbarSearch();\r\n ns.expandNavbarSearch();\r\n ns.initAriaControls();\r\n ns.initFilterClickEvent();\r\n ns.initSearchResultsSort();\r\n ns.initFoundation();\r\n ns.initLazyLoad();\r\n ns.showAuthorInfo();\r\n SCM.ChapterAnswerSet.registerAnswerLinkClick();\r\n ns.showFullAuthorList();\r\n ns.addAuthorFootnote();\r\n ns.showHideDropDown();\r\n ns.showRelatedBookWidgetIfHasContent();\r\n ns.showMoreRelatedContent('.grw-viewmorelink', '.grw-hide-me');\r\n ns.showMoreRelatedContent('.mrw-viewmorelink', '.mrw-hide-me');\r\n ns.showSpinner();\r\n ns.toggleMobileLanguageSubmenu();\r\n ns.toggleMobileMenu();\r\n SCM.SiteJS.toggleMobileSignInForm();\r\n SCM.NavDropdown.registerNavDropdownEvents(); // site level nav\r\n ns.toggleMobileSearch();\r\n ns.toggleResponsiveLeftColumn(); // renamed\r\n SCM.PubHistory.registerToggle();\r\n SCM.PeerReview.registerToggle();\r\n ns.restrictedImages();\r\n ns.moveSubmitCommentLink();\r\n ns.addAuthorNotesJumpLink();\r\n ns.addDataSupplementsJumpLink();\r\n ns.addDataRepositoriesJumpLink();\r\n ns.addUserCommentJumpLink();\r\n ns.oupHeaderDropdowns();\r\n ns.initSigninForm(); // AJAX\r\n ns.setAllLinksTarget();\r\n ns.showPdfOnlyLink();\r\n ns.setBlockLink();\r\n ns.showFullDisclaimer();\r\n ns.showFullVersionInfo();\r\n ns.handleUnresolvedRelatedObjectLinks();\r\n SCM.BookPartTitleFacet.init();\r\n SCM.CollectionFacet.init();\r\n SCM.ChapterEndNotes.init();\r\n SCM.ContentMetric.init();\r\n SCM.SeamlessAccess.init();\r\n SCM.SearchAccessibility.init();\r\n App.OUPSeamlessAccess.init();\r\n App.OUPShibboleth.init();\r\n SCM.ViewLarge.registerMousePointer();\r\n App.NavigationMenu.init();\r\n App.TreeListNavigation.init();\r\n App.ExportTitleList.init();\r\n App.OrcidId.init();\r\n App.JournalAlertsSignUp.init();\r\n App.TableOverflow.init();\r\n App.AlertsSignUp.init();\r\n App.AlertsAccessibility.init();\r\n App.AlertsWidget.init();\r\n SCM.DynamicDiscovery.init();\r\n };\r\n\r\n ns.windowLoadInit = function () {\r\n ns.revealFigsTablesInModal();\r\n ns.revealFeaturedFigureInModal();\r\n SCM.CitationModal.registerCitationModalEvents('getCitation');\r\n ns.launchSupersededContentModal();\r\n ns.setSelectedSearchFilter();\r\n ns.getNewSelectedFilter();\r\n ns.loadAllImagesIfUserIsAboutToUseJumpLinks();\r\n ns.showUnAuthenticatedSpans();\r\n ns.toggleSearchResultsDetails();\r\n };\r\n\r\n ns.initArticleTopInfoAccessOptions = function () {\r\n // e.g. /acn\r\n var siteName = window.location.pathname.substring(0, window.location.pathname.indexOf('/', 2));\r\n var signInUrl = siteName + '/sign-in?returnUrl=' + encodeURIComponent(window.location.pathname + window.location.search);\r\n\r\n var $options = $('.article-top-info-user-restricted-options');\r\n\r\n $options.find('.article-top-info-sign-in').attr('href', signInUrl);\r\n\r\n };\r\n\r\n\r\n})(SCM.SiteJS = SCM.SiteJS || {}, jQuery);\r\n\r\n// ----\r\n// Where all modules get initialized\r\n// ----\r\n// A closure around doc.ready, window.load, window resize, and Ajax Complete so we can safely use $\r\n(function ($, undefined) {\r\n var $resizeTimer,\r\n $pageColumnLeft = $('.page-column--left'),\r\n $datepickerInput = $('.datepicker__input'),\r\n $micrositeSearch = $('.microsite-search'),\r\n $mobileSearchDropdown = $('.mobile-search-dropdown'),\r\n $navbarMenu = $('.navbar-menu, .navbar-search-collapsed'),\r\n $navbarSearchElements = $('.navbar-search-advanced, .navbar-search-close, .navbar-search'),\r\n $currentHeaderHeight = $('.js-master-header').height(),\r\n viewportWidth = SCM.SiteJS.getViewportWidth();\r\n\r\n // all functions contained within the the resize & scroll events should be throttled or debounced in some way.\r\n // Example in SCM.JSUtility.js;\r\n\r\n // set z-index for page navigation (Article, Search Results, Issue TOC)\r\n var setMobileClass = function () {\r\n SCM.SiteJS.getViewportWidth() <= 1023 ? $pageColumnLeft.addClass('mobile') : $pageColumnLeft.removeClass('mobile');\r\n };\r\n\r\n // Window Resize Event\r\n $(window).on('resize', function (e) {\r\n\r\n\r\n clearTimeout($resizeTimer);\r\n $resizeTimer = setTimeout(function () {\r\n setMobileClass();\r\n\r\n var newWidth = SCM.SiteJS.getViewportWidth();\r\n\r\n // fire re-size events ONLY if the width changes\r\n // this check is for mobile browsers (Chrome, Safari), which have resizing toolbars\r\n if (viewportWidth !== newWidth) {\r\n\r\n // reset mobile site nav when going to desktop\r\n if (viewportWidth >= 1023) {\r\n $('.dropdown-panel, .site-menu').removeAttr('style');\r\n }\r\n\r\n if (!$pageColumnLeft.hasClass('js-filters-open')) {\r\n //reset mobile on search results & article pages\r\n $(document.body).removeClass('noscroll');\r\n $pageColumnLeft.hide();\r\n $('.responsive-issue-nav').hide();\r\n $('.page-column--left, .responsive-issue-nav, .issue-dropdown-wrap').removeAttr('style');\r\n\r\n viewportWidth = SCM.SiteJS.getViewportWidth(); // record the new width, if it changed\r\n } else if (viewportWidth < newWidth && newWidth > 1023) {\r\n // This is an additional case where, like in the above code, we drop noscroll\r\n // but do not perform the other actions. In other cases, we don't want to drop the noscroll.\r\n $(document.body).removeClass('noscroll');\r\n }\r\n\r\n // unhide collapsible navbar search if resizing above/below the range in which it is active\r\n if (viewportWidth <= 930 || viewportWidth >= 1101) {\r\n $navbarMenu.removeAttr('style');\r\n $navbarSearchElements.removeAttr('style');\r\n //This is related to functions above: closeNavbarSearch and expandNavbarSearch.\r\n $('.js-navbar-search-container').removeClass('tablet-viewport-active')\r\n .addClass('tablet-viewport-layout');\r\n }\r\n\r\n // mobile search needs to be disabled above 930\r\n if (viewportWidth >= 931) {\r\n $mobileSearchDropdown.removeAttr('style');\r\n $micrositeSearch.removeAttr('style');\r\n $('.dropdown-panel-wrap').children('.is-active').hide().removeClass('is-active');\r\n $('.mobile-dropdown-toggle').removeClass('is-active');\r\n }\r\n }\r\n if ($('.al-author-info-wrap.open:visible').length && $('#ContentColumn:visible').length) {\r\n var $authorCard = $('.al-author-info-wrap.open');\r\n if ($(window).width() < 1200) {\r\n var $contentColumn = $('#ContentColumn');\r\n var columnRightEdge = $contentColumn.position().left + $contentColumn.width();\r\n SCM.SiteJS.shiftOpenAuthorCards($authorCard, columnRightEdge);\r\n } else {\r\n // if we're not in semi-mobile view where right rail goes to the bottom, put \r\n // cards back where they belong\r\n $authorCard.removeClass('shift-card');\r\n }\r\n }\r\n\r\n }, 10); // in milliseconds\r\n\r\n // check for height of subject dropdown\r\n SCM.TreeBrowse.checkPageHeightForSeriesDropdown();\r\n });\r\n\r\n // Listen for orientation changes; some browswers use resize instead\r\n window.addEventListener('orientationchange', function () {\r\n var scrollOffset = $(window).scrollTop();\r\n\r\n $('body').animate({\r\n scrollTop: scrollOffset\r\n }, 0);\r\n }, false);\r\n\r\n // Window Load Event: Images done loading\r\n $(window).on('load', function () {\r\n SCM.SiteJS.windowLoadInit();\r\n SCM.SiteJS.adjustRelatedTagsDisplay();\r\n SCM.LazyLoadAd.init();\r\n });\r\n\r\n // Document Ready Event: DOM fully loaded\r\n $(function () {\r\n SCM.Logging.init();\r\n SCM.JqueryMigrateLogger.init();\r\n App.SolrFacet.init();\r\n setMobileClass();\r\n SCM.SiteJS.init(); // init general JS module for site\r\n SCM.Toolbar.init(); // init Toolbar module from client.toolbar.js\r\n SCM.PDFAccess.init(); // init PDF module from scm.sharedcontrols.pdfaccess.js\r\n SCM.SiteJS.setAccessIcons();\r\n SCM.StickyElements.init();\r\n SCM.AddReturnUrlToSocietyLinks();\r\n SCM.SiteJS.triggerSaveSearchModelOnRedirect();\r\n SCM.JumpLinks.init();\r\n SCM.RefLinks.init();\r\n SCM.Modals.init();\r\n if (window.matchMedia('print') && $('.video-js').length) {\r\n SCM.Utilities.Brightcove.init();\r\n }\r\n\r\n $('.custom-scroll').jScrollPane();\r\n if ($('.widget-ArticleFulltext').length > 0) {\r\n SCM.ArticleFulltext.init();\r\n }\r\n\r\n if ($('.widget-BookChapterMainView').length > 0) {\r\n SCM.BookChapterMainView.init();\r\n }\r\n SCM.BookMetadata.init();\r\n SCM.SplitScreen.init();\r\n SCM.ScholarlyiQ.init();\r\n SCM.TreeBrowse.init();\r\n SCM.LoginBox.init();\r\n SCM.CustomQueryBuilder.init();\r\n SCM.Interstitial.init();\r\n Theme.ArticleAbstract.init();\r\n Theme.BookAbstract.init();\r\n Theme.ChapterAbstract.init();\r\n Theme.CookiePro && Theme.CookiePro.loadCookiesIfNotEnabled && Theme.CookiePro.loadCookiesIfNotEnabled();\r\n Theme.BookSectionEditors.init();\r\n\r\n if ($('.widget-TrendMD').length) {\r\n SCM.SharedWidgets.TrendMD.init();\r\n }\r\n });\r\n\r\n // Ajax Complete Event\r\n $(document).ajaxStart(function () {\r\n $('body').css('cursor', 'wait');\r\n\r\n }).ajaxComplete(function (event, xhr, settings) {\r\n // init foundation for new DOM elements after new HTML loaded through AJAX\r\n SCM.SiteJS.initFoundation();\r\n SCM.SiteJS.initSearchResultsSort();\r\n SCM.SolrSearch.ajaxComplete();\r\n SCM.SiteJS.setAccessIcons();\r\n SCM.SiteJS.setAllLinksTarget();\r\n SCM.SiteJS.toggleResponsiveLeftColumn();\r\n $('body').css('cursor', 'default');\r\n SCM.SiteJS.abstractMathJax();\r\n // Need to do this to prevent recursion...\r\n if (settings.url.indexOf('brightcove') < 0 && !window.matchMedia('print')) {\r\n SCM.Utilities.Brightcove.init();\r\n }\r\n SCM.TreeBrowse.checkPageHeightForSeriesDropdown();\r\n SCM.Interstitial.DisableTriggerOnExternalLinks();\r\n SCM.CustomQueryBuilder.init();\r\n });\r\n\r\n})(jQuery);","App = App || {};\r\nApp.ExportTitleList = (function ($) {\r\n return {\r\n init: _init\r\n }\r\n\r\n function _init() {\r\n if (!_myComponentIsOnPage()) {\r\n return;\r\n }\r\n\r\n let $body = $(document.body);\r\n\r\n _bindClickEvents($body);\r\n _bindKeyEvents($body);\r\n }\r\n\r\n function _myComponentIsOnPage() {\r\n return $('.export-title-list').length;\r\n }\r\n\r\n function _bindClickEvents($body) {\r\n $body.on('click', '.js-export-link', function (e) {\r\n if (_isSpaceKey(e)) {\r\n e.preventDefault();\r\n } else {\r\n e.preventDefault();\r\n let $exportLink = $(this);\r\n $exportLink.attr('aria-expanded', 'true');\r\n\r\n let $siblings = $exportLink.siblings();\r\n let $modal = $siblings.filter('.js-export-title-list-modal');\r\n let $overlay = $siblings.filter('.js-modal-overlay');\r\n let $downloadBtn = $modal.find('.js-download-btn');\r\n let $errorMessage = $modal.find('.js-error-message');\r\n let $startedMessage = $modal.find('.js-export-title-started');\r\n $modal.removeClass('hide');\r\n $overlay.show();\r\n $downloadBtn.focus();\r\n $errorMessage.text('').addClass('hide');\r\n if (!$downloadBtn.hasClass('disabled')) {\r\n $startedMessage.addClass('hide');\r\n }\r\n\r\n SCM.trapFocus.publicTrapFocus($modal, $modal.find('.js-close-modal'), document.activeElement);\r\n }\r\n });\r\n\r\n $body.on('click', '.js-close-modal', function (e) {\r\n let $exportTitleList = $(this).closest('.export-title-list');\r\n _closeModal($exportTitleList);\r\n });\r\n\r\n $body.on('click', '.js-modal-overlay', function (e) {\r\n let $exportTitleList = $(this).closest('.export-title-list');\r\n _closeModal($exportTitleList);\r\n });\r\n }\r\n\r\n function _bindKeyEvents($body) {\r\n $body.on('keyup', function (e) {\r\n if (e && e.code && e.code.toLowerCase() === 'escape') {\r\n e.preventDefault();\r\n let $exportTitleList = $('.export-title-list');\r\n _closeModal($exportTitleList);\r\n }\r\n });\r\n\r\n $body.on('keydown', '.js-export-link', function (e) {\r\n if (e && e.code && e.code.toLowerCase() === 'enter') {\r\n e.preventDefault();\r\n var $exportLink = $(this);\r\n $exportLink.blur();\r\n $exportLink.click();\r\n } else if (_isSpaceKey(e)) {\r\n e.preventDefault();\r\n }\r\n });\r\n\r\n $body.on('keydown', '.js-close-modal', function (e) {\r\n if (e && e.code && e.code.toLowerCase() === 'enter') {\r\n e.preventDefault();\r\n $(this).click();\r\n } else if (_isSpaceKey(e)) {\r\n e.preventDefault();\r\n }\r\n });\r\n\r\n $body.on('click', '.js-download-btn', function (e) {\r\n var queryString = window.location.search;\r\n var searchSummaryText = _getSearchSummaryText();\r\n\r\n var $formContainer = $('.js-export-title-list-modal');\r\n var captchaResponse = SCM.Captcha.GetCaptchaResponse($formContainer);\r\n var $errorMessage = $formContainer.find('.js-error-message');\r\n $errorMessage.addClass('hide');\r\n\r\n var $downloadBtn = $(this);\r\n $downloadBtn.addClass('disabled');\r\n\r\n var url = '/Solr/ExportResults';\r\n if (queryString) {\r\n url += queryString;\r\n }\r\n if (searchSummaryText) {\r\n url += (queryString ? '&' : '?') + 'searchSummaryText=' + searchSummaryText;\r\n }\r\n\r\n if (captchaResponse) {\r\n url += (queryString || searchSummaryText ? '&' : '?') + 'captchaResponse=' + captchaResponse;\r\n }\r\n else\r\n {\r\n $errorMessage.text('Please complete the CAPTCHA to continue.').removeClass('hide');\r\n $downloadBtn.removeClass('disabled');\r\n return;\r\n }\r\n\r\n let $startedMessage = $formContainer.find('.js-export-title-started');\r\n $startedMessage.removeClass('hide');\r\n\r\n $formContainer.addClass('wait');\r\n SCM.Ajax.get(url, {})\r\n .expectBlob()\r\n .then(function (blobResult) {\r\n if (blobResult.message && blobResult.message != 'OK') {\r\n _showError($formContainer, $downloadBtn, $errorMessage, $startedMessage, blobResult.message);\r\n }\r\n else {\r\n // Create a URL for the file\r\n var url = window.URL.createObjectURL(blobResult.blob);\r\n\r\n // Create a temporary link and click it\r\n var a = document.createElement('a');\r\n a.href = url;\r\n a.download = blobResult.fileName;\r\n document.body.append(a);\r\n a.click();\r\n a.remove();\r\n _closeModalAfterDownload($downloadBtn);\r\n $formContainer.removeClass('wait');\r\n $startedMessage.addClass('hide');\r\n }\r\n })\r\n .catch(function (reason) {\r\n _showError($formContainer, $downloadBtn, $errorMessage, $startedMessage, reason.statusText);\r\n });\r\n });\r\n }\r\n\r\n function _showError($formContainer, $downloadBtn, $errorMessage, $startedMessage, message) {\r\n $errorMessage.text(message).removeClass('hide');\r\n $startedMessage.addClass('hide');\r\n $downloadBtn.removeClass('disabled');\r\n SCM.Captcha.ResetCaptcha($formContainer);\r\n $formContainer.removeClass('wait');\r\n }\r\n\r\n function _closeModalAfterDownload($downloadBtn) {\r\n $downloadBtn.removeClass('disabled');\r\n let $exportTitleList = $downloadBtn.closest('.export-title-list');\r\n _closeModal($exportTitleList);\r\n }\r\n\r\n function _getSearchSummaryText() {\r\n var labels = $('.sr-facet-label, .sr-description').map(function () {\r\n if ($(this).hasClass('sr-description')) {\r\n return 'Search Query: ' + $(this).text().trim();\r\n } else {\r\n return $(this).text().trim();\r\n }\r\n }).get();\r\n\r\n return labels.join(', ');;\r\n }\r\n\r\n function _isSpaceKey(event) {\r\n return event && event.key && event.key === ' ';\r\n }\r\n\r\n function _closeModal($exportTitleList) {\r\n let $modal = $exportTitleList.find('.js-export-title-list-modal');\r\n let $overlay = $exportTitleList.find('.js-modal-overlay');\r\n\r\n $modal.addClass('hide');\r\n $overlay.hide();\r\n\r\n let $exportLink = $exportTitleList.find('.js-export-link');\r\n if ($exportLink.length) {\r\n $exportLink.attr('aria-expanded', 'false');\r\n $exportLink.focus();\r\n }\r\n }\r\n})(jQuery);","var SCM = SCM || {};\r\n\r\nSCM.LoginBox = (function($, SCM) {\r\n\r\n var _isLoginBoxLoaded = false;\r\n var $dropdownContents = $('.js-login-box-placeholder');\r\n var decodedUrl = '';\r\n const _modalActivityPropertyName = 'ModalActivityId';\r\n const modalTagToKeepState = '.js-content-alert-modal';\r\n\r\n return {\r\n init: init,\r\n getZEncodedRedirectUrl: getZEncodedRedirectUrl,\r\n updateHrefPlaceholder: updateHrefPlaceholder\r\n }\r\n\r\n function init() {\r\n // Update content for (non-drop-down) sign-in boxes that are embedded in the page.\r\n // (e.g., the sign box on the /sign-in page \r\n // or the box at the bottom of content pages when the user is not authorized)\r\n // NOTE: we don't call functions that are triggered by events anyway.\r\n getRedirectBaseUrl();\r\n addReturnUrlToSocietyLinks();\r\n restoreModalState();\r\n\r\n // register handlers\r\n $(document).on('click', documentClick);\r\n $(document).on('keyup', documentKeyUp);\r\n }\r\n\r\n function getRedirectBaseUrl() {\r\n if (decodedUrl === '' && $('#RedirectSiteUrl').length) {\r\n var redirectSiteUrl = $('#RedirectSiteUrl').val();\r\n decodedUrl = SCM.ZEncoderV1.Decode(redirectSiteUrl);\r\n }\r\n }\r\n\r\n function updateSignInLink($el, linkUrl) {\r\n saveModalStateBeforeRedirecting($el);\r\n \r\n let zEncodedRedirectUrl = getZEncodedRedirectUrl($el);\r\n \r\n if ($el.hasClass('js-shibboleth-login')) {\r\n // we need to use 'redirecturl' because the LoginHandler expects a non-empty state value\r\n // when extracting the redirect url.\r\n // Could be coming from proxy, so using encoded live/preview site url\r\n var url = encodeURIComponent(decodedUrl +\r\n '/HTTPHandlers/Sigma/LoginHandler.ashx?state=xredirecturl%3D' +\r\n zEncodedRedirectUrl);\r\n updateHrefPlaceholder($el, url, linkUrl);\r\n } else {\r\n updateHrefPlaceholder($el, zEncodedRedirectUrl, linkUrl);\r\n updateRedirectUri($el, 'Sigma/LoginHandler.ashx');\r\n }\r\n }\r\n\r\n function getZEncodedRedirectUrl($el = null) {\r\n var redirectUrl = getRedirectPageUrl(true, $el);\r\n var returnUrlParam = SCM.JSUtility.getSearchParamByName('returnUrl');\r\n\r\n if (isSignInPageWithReturnUrl(redirectUrl, returnUrlParam)) {\r\n redirectUrl = getZEncodedReturnUrl(returnUrlParam);\r\n }\r\n\r\n return redirectUrl;\r\n }\r\n\r\n function isSignInPageWithReturnUrl(redirectUrl, returnUrlParam) {\r\n return redirectUrl.includes('signzyin') && redirectUrl.includes('returnUrl') && returnUrlParam !== undefined;\r\n }\r\n\r\n function getZEncodedReturnUrl(returnUrlParam) {\r\n if (returnUrlParam.includes('httpszazjzj')) {\r\n return returnUrlParam;\r\n }\r\n\r\n return SCM.ZEncoderV1.Encode(returnUrlParam);\r\n }\r\n \r\n function updateRedirectUri($el, handler) {\r\n var href = $el.attr('href');\r\n var params = href.split('&');\r\n\r\n $.each(params,\r\n function(idx, val) {\r\n // only change the redirect uri parameter of the href\r\n if (val.startsWith('redirect_uri')) {\r\n var queryString = val.split('?');\r\n params[idx] = 'redirect_uri=' + decodedUrl + '/HTTPHandlers/' + handler;\r\n if (queryString.length > 1) {\r\n params[idx] += '?' + queryString[1];\r\n }\r\n }\r\n });\r\n $el.attr('href', params.join('&'));\r\n }\r\n\r\n function updateLinkAndGo($el) {\r\n var linkType = $el.data('linktype');\r\n SCM.Ajax.get('/Accounts/GetLinkUrl', { linkType: linkType })\r\n .expectJson()\r\n .then(function(data) {\r\n switch (linkType) {\r\n case 'sign-out':\r\n updateSignOutLink($el, data);\r\n window.location.href = $el.attr('href');\r\n break;\r\n case 'user-pass':\r\n case 'library-card':\r\n updateSignInLink($el, data);\r\n window.location.href = $el.attr('href');\r\n break;\r\n }\r\n });\r\n }\r\n\r\n function updateSignOutLink($el, linkUrl) {\r\n var currentPage = getRedirectPageUrl({ zEncode: true });\r\n updateHrefPlaceholder($el, currentPage, linkUrl);\r\n updateRedirectUri($el, 'SAMS/LogoutHandler.ashx');\r\n }\r\n\r\n function saveModalStateBeforeRedirecting($el) {\r\n var $modal = $el.closest(modalTagToKeepState);\r\n if ($modal.length) {\r\n sessionStorage.setItem(_modalActivityPropertyName, $modal.attr('id'));\r\n }\r\n }\r\n\r\n function restoreModalState() {\r\n var modalId = sessionStorage.getItem(_modalActivityPropertyName);\r\n if (modalId) {\r\n var $modal = $('#' + modalId);\r\n if ($modal.length) {\r\n App.MyEmailAlerts.getActivityAlertModal();\r\n $modal.foundation('reveal', 'open');\r\n sessionStorage.removeItem(_modalActivityPropertyName);\r\n }\r\n }\r\n }\r\n \r\n function updateRegisterLink($el) {\r\n saveModalStateBeforeRedirecting($el);\r\n\r\n var currentPage = getRedirectPageUrl({ zEncode: true });\r\n // z-encoded form\r\n if (currentPage.includes('signzyin') && currentPage.includes('returnUrl')) {\r\n return;\r\n }\r\n var href = $el.attr('href');\r\n href = href.substring(0, href.indexOf('returnUrl='));\r\n href += ('returnUrl=' + currentPage);\r\n $el.attr('href', href);\r\n }\r\n\r\n function updateHrefPlaceholder($el, currentPage, linkUrl) {\r\n \r\n // if login=true is only param and there's a hash, you'll end up with ?# which is invalid\r\n if (currentPage.indexOf('?%23') !== -1) {\r\n currentPage = currentPage.replace('?%23', '%23');\r\n }\r\n // sanitize what might be a JSON string value for Sigma login calls!\r\n while (linkUrl.indexOf('\"') > -1) {\r\n linkUrl = linkUrl.replace('\"', '%22');\r\n }\r\n // replace the actual placeholders (there may be more than one)\r\n while (linkUrl.indexOf('RedirectUrlPlaceholder') > -1) {\r\n linkUrl = linkUrl.replace('RedirectUrlPlaceholder', currentPage);\r\n }\r\n $el.attr('href', linkUrl);\r\n }\r\n\r\n function removeUnneededParams(page, paramToRemove) {\r\n return page.replace('&'+paramToRemove, '').replace('?'+paramToRemove, '?').replace('?&', '?');\r\n }\r\n\r\n /** NARN-18265: Drop any `login` query parameter and return the current page location\r\n * in Z encoded form (e.g., 'hi world' -> 'hiziworld'). */\r\n /** NARN-22833: Modify the function to conditionally return a different URL based on an optional element param. */\r\n function getRedirectPageUrl(zEncode=false, $el=null) {\r\n let redirectPage = window.location.href;\r\n \r\n if ($el !== null \r\n && $el.hasClass('js-ai-assistant-link') \r\n && $el.data('returnurl') \r\n && $el.data('returnurl').length > 0) { \r\n redirectPage = $el.data('returnurl');\r\n }\r\n \r\n redirectPage = removeUnneededParams(redirectPage, 'login=true');\r\n redirectPage = removeUnneededParams(redirectPage, 'login=false');\r\n redirectPage = removeUnneededParams(redirectPage, 'error=login_retry');\r\n if (redirectPage.includes('token=')) {\r\n redirectPage = redirectPage.substring(0, redirectPage.indexOf('token=')-1);\r\n }\r\n if (redirectPage.endsWith('?')) {\r\n redirectPage = redirectPage.slice(0, -1); \r\n }\r\n return zEncode ? SCM.ZEncoderV1.Encode(redirectPage) : redirectPage;\r\n }\r\n\r\n function hideDropDown() {\r\n $('.js-login-box-placeholder').css('z-index', 'auto');\r\n $('#InfoColumn').css('z-index', 6000);\r\n $dropdownContents.addClass('hide');\r\n }\r\n\r\n function documentKeyUp(e) {\r\n if (e.key === 'Escape') {\r\n hideDropDown();\r\n }\r\n }\r\n\r\n function hidePageDropdowns() {\r\n $('.site-menu-lvl-0').find('.site-menu:visible').slideToggle('fast');\r\n $('.f-dropdown:visible').slideToggle('fast');\r\n }\r\n\r\n function documentClick(e) {\r\n var $target = $(e.target).closest('a');\r\n // need to update urls to include hashes, params, etc.\r\n if (_isElementTargetedByEvent(e, $('.js-account-button'))) {\r\n $dropdownContents.toggleClass('hide');\r\n hidePageDropdowns();\r\n if (!_isLoginBoxLoaded) {\r\n loadLoginBox($dropdownContents, $('.js-account-button'));\r\n }\r\n $('.js-login-box-placeholder').css('z-index', 6000);\r\n $('#InfoColumn').css('z-index', 'auto');\r\n }\r\n else if (_isElementTargetedByEvent(e, $('.js-shibboleth-login'))) {\r\n var linkUrl = $target.attr('href');\r\n updateSignInLink($target, linkUrl);\r\n window.location.href = $target.attr('href');\r\n }\r\n else if (_isElementTargetedByEvent(e, $('.js-sign-in-link')) ||\r\n _isElementTargetedByEvent(e, $('.js-sign-out-link'))) {\r\n updateLinkAndGo($target);\r\n }\r\n else if (_isElementTargetedByEvent(e, $('.js-register-link'))) {\r\n updateRegisterLink($target);\r\n window.location.href = $target.attr('href');\r\n }\r\n else if (_isElementTargetedByEvent(e, $('.js-society-sign-in'))) {\r\n window.location.href = $('.js-society-sign-in').attr('href');\r\n }\r\n else if (_isElementTargetedByEvent(e, $('.js-externalLogin-link'))) {\r\n e.preventDefault();\r\n updateExternalLoginLink();\r\n window.location.href = $('.js-externalLogin-link').attr('href');\r\n }\r\n else if (_isElementTargetedByEvent(e, $('.js-login-help'))) {\r\n var $lastActiveElement = $('.js-login-help');\r\n showAccessModal($lastActiveElement);\r\n }\r\n else if (_isTargetClickNotInElement(e, $dropdownContents)) {\r\n hideDropDown();\r\n }\r\n }\r\n\r\n function loadLoginBox($targetLocation, $elem) {\r\n var baseUrl = App.CurrentSubdomain.length ? '/' + App.CurrentSubdomain : ''; \r\n var turnAwayParams = $elem.attr('data-turnawayparams');\r\n var queryParams = turnAwayParams.length ? '?turnAwayParams=' + turnAwayParams : '';\r\n queryParams += (queryParams.length ? '&' : '?') + 'SignInReturnUrl=' + encodeURIComponent(window.location.href);\r\n $.get(baseUrl + '/Accounts/LoginBox/LoginBox' + queryParams).done(function(html) {\r\n $targetLocation.html(html);\r\n _isLoginBoxLoaded = true;\r\n addReturnUrlToSocietyLinks();\r\n getRedirectBaseUrl();\r\n App.OUPSeamlessAccess.updateButton();\r\n });\r\n }\r\n \r\n function addReturnUrlToSocietyLinks() {\r\n\r\n var returnUrl = getSocietyReturnUrl(true);\r\n returnUrl = encodeURIComponent(returnUrl);\r\n var placeholderHf = $('#hfPlaceholderReturnUrlValue');\r\n var placeholder = placeholderHf.length ? placeholderHf.val() : null;\r\n\r\n $('.society-links-logo, .society-links-url').each(function () {\r\n if (placeholder && placeholder.length)\r\n {\r\n var $this = $(this);\r\n $this.attr('href', $this.attr('href').replace(placeholder, returnUrl));\r\n }\r\n });\r\n }\r\n\r\n function updateExternalLoginLink() {\r\n $('.js-externalLogin-link').each(function () {\r\n var $this = $(this);\r\n var href = $this.attr('href');\r\n //change hostname using decodedUrl (mainly for proxy)\r\n var url = new URL(href);\r\n url.hostname = decodedUrl.replace('https://', '');\r\n url += getQueryStringSeparator(href) + '&requestHost=' + window.location.host;\r\n $this.attr('href', url);\r\n });\r\n }\r\n\r\n function getQueryStringSeparator(url) {\r\n var urlObj = new URL(url);\r\n return urlObj.search.length ? '&' : '?';\r\n }\r\n\r\n function getSocietyReturnUrl(addSigmaHost) {\r\n var returnUrl = getRedirectPageUrl();\r\n var host = window.location.host;\r\n var encodedHost = encodeURIComponent(host);\r\n if (addSigmaHost) {\r\n returnUrl += getQueryStringSeparator(returnUrl) + 'sigmaHost=' + encodedHost;\r\n }\r\n returnUrl += window.location.hash;\r\n return returnUrl;\r\n }\r\n\r\n function showAccessModal($lastActiveElement) {\r\n var $divHelp = $('#divAccessHelp');\r\n var $closeBtn = $divHelp.find('.js-access-help-close');\r\n $divHelp.off('opened.fndtn.reveal');\r\n $divHelp.on('opened.fndtn.reveal', function () {\r\n SCM.trapFocus.publicTrapFocus($divHelp, $closeBtn, $lastActiveElement);\r\n $closeBtn.off('click');\r\n $closeBtn.on('click', function (e) {\r\n e.stopPropagation();\r\n $divHelp.foundation('reveal', 'close');\r\n $lastActiveElement.focus();\r\n });\r\n $divHelp.focus();\r\n });\r\n $divHelp.foundation('reveal', 'open');\r\n }\r\n\r\n function _isTargetClickNotInElement(e, $element) {\r\n return !$element.is(e.target) && !$element.has(e.target).length;\r\n }\r\n\r\n function _isElementTargetedByEvent(e, $element) {\r\n return $element.is(e.target) || $element.has(e.target).length;\r\n }\r\n})(jQuery, SCM);\r\n","var SCM = SCM || {};\r\n\r\n(function (ns, $) {\r\n \r\n ns.initTestPassword = function (passwordFieldSelector, confirmPasswordFieldSelector, submitBtnSelector) {\r\n // check for case regex is generated using this site http://apps.timwhitlock.info/js/regex#\r\n var $checkForCase = /[A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸ-ŹŻŽƁ-ƂƄƆ-ƇƉ-ƋƎ-ƑƓ-ƔƖ-ƘƜ-ƝƟ-ƠƢƤƦ-ƧƩƬƮ-ƯƱ-ƳƵƷ-ƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺ-ȻȽ-ȾɁɃ-ɆɈɊɌɎͰͲͶΆΈ-ΊΌΎ-ΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹ-ϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀ-ӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԱ-ՖႠ-ჅḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾ-ℿⅅↃⰀ-ⰮⱠⱢ-ⱤⱧⱩⱫⱭ-ⱯⱲⱵⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽ-ꝾꞀꞂꞄꞆꞋA-Z]|\\ud801[\\udc00-\\udc27]|\\ud835[\\udc00-\\udc19\\udc34-\\udc4d\\udc68-\\udc81\\udc9c\\udc9e-\\udc9f\\udca2\\udca5-\\udca6\\udca9-\\udcac\\udcae-\\udcb5\\udcd0-\\udce9\\udd04-\\udd05\\udd07-\\udd0a\\udd0d-\\udd14\\udd16-\\udd1c\\udd38-\\udd39\\udd3b-\\udd3e\\udd40-\\udd44\\udd46\\udd4a-\\udd50\\udd6c-\\udd85\\udda0-\\uddb9\\uddd4-\\udded\\ude08-\\ude21\\ude3c-\\ude55\\ude70-\\ude89\\udea8-\\udec0\\udee2-\\udefa\\udf1c-\\udf34\\udf56-\\udf6e\\udf90-\\udfa8\\udfca]/,\r\n $checkForLowerCase = /[a-zªµºß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķ-ĸĺļľŀłńņň-ʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌ-ƍƒƕƙ-ƛƞơƣƥƨƪ-ƫƭưƴƶƹ-ƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜ-ǝǟǡǣǥǧǩǫǭǯ-ǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿ-ɀɂɇɉɋɍɏ-ʓʕ-ʯͱͳͷͻ-ͽΐά-ώϐ-ϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻ-ϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎ-ӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣա-ևᴀ-ᴫᵢ-ᵷᵹ-ᶚḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶ-ᾷιῂ-ῄῆ-ῇῐ-ΐῖ-ῗῠ-ῧῲ-ῴῶ-ῷⁱⁿℊℎ-ℏℓℯℴℹℼ-ℽⅆ-ⅉⅎↄⰰ-ⱞⱡⱥ-ⱦⱨⱪⱬⱱⱳ-ⱴⱶ-ⱼⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣ-ⳤⴀ-ⴥꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯꝱ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌff-stﬓ-ﬗa-z]|\\ud801[\\udc28-\\udc4f]|\\ud835[\\udc1a-\\udc33\\udc4e-\\udc54\\udc56-\\udc67\\udc82-\\udc9b\\udcb6-\\udcb9\\udcbb\\udcbd-\\udcc3\\udcc5-\\udccf\\udcea-\\udd03\\udd1e-\\udd37\\udd52-\\udd6b\\udd86-\\udd9f\\uddba-\\uddd3\\uddee-\\ude07\\ude22-\\ude3b\\ude56-\\ude6f\\ude8a-\\udea5\\udec2-\\udeda\\udedc-\\udee1\\udefc-\\udf14\\udf16-\\udf1b\\udf36-\\udf4e\\udf50-\\udf55\\udf70-\\udf88\\udf8a-\\udf8f\\udfaa-\\udfc2\\udfc4-\\udfc9\\udfcb]/,\r\n $checkForSpecialCharacter = /[!\"#$%&'()*+,-./:;<=>?@[\\]\\\\^_`{|}~]/,\r\n $checkForNumber = /[0-9]/,\r\n $existingPasswordInput = '',\r\n $initialPasswordInputWrap = $('.password-input-check-wrap'), // initial password input\r\n $iconCase = $initialPasswordInputWrap.find('.icon-case'),\r\n $iconInput = $initialPasswordInputWrap.find('.password-input-icon'),\r\n $iconLength = $initialPasswordInputWrap.find('.icon-length'),\r\n $iconNumber = $initialPasswordInputWrap.find('.icon-number'),\r\n $iconLowerCase = $initialPasswordInputWrap.find('.icon-lower-case'),\r\n $iconSpecialChar = $initialPasswordInputWrap.find('.icon-special-char'),\r\n $minSize = 10,\r\n $passwordValidator = $initialPasswordInputWrap.find('.password-check-wrap'), // the verification card that shows up \r\n $passwordConfirmWrap = $('.password-confirm-wrap'), // secondary password input \r\n $iconSecondaryConfirm = $passwordConfirmWrap.find('.password-confirm-icon'),\r\n $validPassword = false;\r\n\r\n $initialPasswordInputWrap.on('keyup', passwordFieldSelector, function () {\r\n\r\n var $currentInputEntry = $(this).val();\r\n\r\n $existingPasswordInput = $currentInputEntry; // for comparison with confirmation input\r\n\r\n // only show requirements if the password doesn't meet them\r\n $validPassword ? $passwordValidator.hide() : $passwordValidator.show();\r\n\r\n // test the number of characters\r\n $currentInputEntry.length >= $minSize ? showValidPasswordCriteria($iconLength) : showInvalidPasswordCriteria($iconLength);\r\n\r\n // test for presence of an uppercase character\r\n $checkForCase.test($currentInputEntry) ? showValidPasswordCriteria($iconCase) : showInvalidPasswordCriteria($iconCase);\r\n\r\n // test for presence of a number\r\n $checkForNumber.test($currentInputEntry) ? showValidPasswordCriteria($iconNumber) : showInvalidPasswordCriteria($iconNumber);\r\n\r\n // test for presence of an lowercase character\r\n $checkForLowerCase.test($currentInputEntry) ? showValidPasswordCriteria($iconLowerCase) : showInvalidPasswordCriteria($iconLowerCase);\r\n\r\n // test for presence of an special character\r\n $checkForSpecialCharacter.test($currentInputEntry) ? showValidPasswordCriteria($iconSpecialChar) : showInvalidPasswordCriteria($iconSpecialChar);\r\n\r\n // if all criteria are met, hide the requirements\r\n if ($iconLength.hasClass('green') && $iconCase.hasClass('green') && $iconNumber.hasClass('green') && $iconLowerCase.hasClass('green') && $iconSpecialChar.hasClass('green')) {\r\n $validPassword = true;\r\n $passwordValidator.fadeOut(500);\r\n $iconInput.hide();\r\n\r\n // in case current input actually matches the confirm\r\n if ($currentInputEntry === $initialPasswordInputWrap.find(confirmPasswordFieldSelector).val()) {\r\n $initialPasswordInputWrap.find(submitBtnSelector).addClass('btn-green');\r\n $initialPasswordInputWrap.find('.register-button-overlay').hide();\r\n }\r\n }\r\n else {\r\n $validPassword = false;\r\n $passwordValidator.show();\r\n lockRegistrationButton();\r\n $iconInput.show();\r\n }\r\n\r\n if ($currentInputEntry === '' || $currentInputEntry === null) {\r\n // hide if input is empty\r\n $passwordValidator.hide();\r\n $iconInput.hide();\r\n }\r\n\r\n var passwordConfirm = $(confirmPasswordFieldSelector).val();\r\n if (passwordConfirm) {\r\n validateConfirmPassword(passwordConfirm);\r\n }\r\n });\r\n\r\n $passwordConfirmWrap.on('keyup', confirmPasswordFieldSelector, function () {\r\n\r\n var currentConfirmEntry = $(this).val();\r\n validateConfirmPassword(currentConfirmEntry);\r\n });\r\n\r\n $(document).on('click', function () {\r\n $passwordValidator.hide();\r\n });\r\n\r\n function validateConfirmPassword(currentConfirmEntry) {\r\n if ($existingPasswordInput === currentConfirmEntry) {\r\n // passwords match: hide the icon\r\n $iconSecondaryConfirm.hide();\r\n if ($validPassword) {\r\n // passwords match & are valid: uncover the button\r\n $passwordConfirmWrap.find(submitBtnSelector).addClass('btn-green');\r\n $passwordConfirmWrap.find('.register-button-overlay').hide();\r\n }\r\n } else if (currentConfirmEntry === '' || currentConfirmEntry === null) {\r\n // empty input: hide the icon, but cover the button\r\n $iconSecondaryConfirm.hide();\r\n lockRegistrationButton();\r\n } else {\r\n // input doesn't match: show the icon & cover the button\r\n $iconSecondaryConfirm.show();\r\n lockRegistrationButton();\r\n }\r\n }\r\n };\r\n\r\n function lockRegistrationButton() {\r\n var $wrap = $('.register-form-wrap');\r\n $wrap.find('#registerBtn').removeClass('btn-green');\r\n $wrap.find('.register-button-overlay').show();\r\n }\r\n\r\n // for VALID password criteria\r\n function showValidPasswordCriteria(icon) {\r\n icon.removeClass('icon-general-close red').addClass('icon-general-check green');\r\n icon.siblings('.password-check-label').addClass('fade');\r\n }\r\n\r\n // for INVALID password criteria\r\n function showInvalidPasswordCriteria(icon) {\r\n icon.removeClass('icon-general-check green').addClass('icon-general-close red');\r\n icon.siblings('.password-check-label').removeClass('fade');\r\n }\r\n\r\n})(SCM.TestPassword = SCM.TestPassword || {}, jQuery);\r\n","var SCM = SCM || {};\r\n\r\nvar treeNodeCollapsed = 'treeNodeCollapsed';\r\nvar treeNodeExpanded = 'treeNodeExpanded';\r\nvar treeNodeExpandable = 'treeNodeExpandable';\r\n\r\n(function (issues, $, undefined) {\r\n issues.setActiveJumplink = function () {\r\n $('.section-jump-link').on('click', function () {\r\n $('.section-jump-link').removeClass('active');\r\n $(this).closest('.section-jump-link').addClass('active');\r\n });\r\n };\r\n\r\n issues.toggleNestedJumplinks = function() {\r\n var $jumplinkArrow = $('.section-jump-link .list-toggle, .section-jump-link .mobile-list-toggle');\r\n\r\n $jumplinkArrow.on('click', function (e) {\r\n e.preventDefault();\r\n toggleParentNode($(this));\r\n });\r\n };\r\n\r\n issues.onIssueHeadingClick = function ($currentNavTreeLink) {\r\n toggleParentNode($currentNavTreeLink.prev('.js-nav-tree-toggle'));\r\n };\r\n\r\n function toggleParentNode($this) {\r\n var $nearestSublist = $this.parents('.section-jump-link__link-wrap').siblings('ul.section-jump-link__sublist'),\r\n $interactiveTreeItem = $this.next('[role=\"treeitem\"]'),\r\n $parentListItem = $this.closest('li'),\r\n $screenReader = $this.children('.js-toggle-sublist');\r\n\r\n var arrowRight = $this.hasClass('mobile-list-toggle') ? 'icon-general_arrow-right' : 'icon-general-arrow-filled-right',\r\n arrowDown = $this.hasClass('mobile-list-toggle') ? 'icon-general_arrow-down' : 'icon-general-arrow-filled-down';\r\n\r\n if ($interactiveTreeItem.attr('aria-expanded') === 'false') {\r\n $this.removeClass(arrowRight).addClass(arrowDown);\r\n $parentListItem.removeClass(treeNodeCollapsed).addClass(treeNodeExpanded);\r\n $screenReader.text('Collapse');\r\n } else if ($interactiveTreeItem.attr('aria-expanded') === 'true') {\r\n $this.removeClass(arrowDown).addClass(arrowRight);\r\n $parentListItem.removeClass(treeNodeExpanded).addClass(treeNodeCollapsed);\r\n $screenReader.text('Expand');\r\n }\r\n\r\n toggleAriaExpanded($interactiveTreeItem);\r\n\r\n $nearestSublist.slideToggle();\r\n $nearestSublist.attr('aria-hidden') === 'false' ? $nearestSublist.attr('aria-hidden', 'true') : $nearestSublist.attr('aria-hidden', 'false');\r\n }\r\n\r\n function toggleAriaExpanded($interactiveTreeItem) {\r\n $interactiveTreeItem.attr('aria-expanded') === 'false' ? $interactiveTreeItem.attr('aria-expanded', 'true') : $interactiveTreeItem.attr('aria-expanded', 'false');\r\n }\r\n\r\n issues.selectCurrentNodeOnClick = function () {\r\n var $treeInteractive = $('.js-tree a');\r\n\r\n $treeInteractive.on('click', function () {\r\n var $currentNode = $(this).closest('.js-tree').find('*[aria-current]');\r\n var $selectedNode = $(this);\r\n\r\n $('.js-tree').removeAttr('tabindex');\r\n $treeInteractive.not($selectedNode).attr('tabindex', '-1');\r\n\r\n if (!$selectedNode.is('[aria-current]')) {\r\n $currentNode.removeAttr('aria-current');\r\n $selectedNode.attr('aria-current', 'true')\r\n .attr('tabindex', '0');\r\n }\r\n\r\n $selectedNode.focus();\r\n if (window.location.href.indexOf(\"#\") == -1) {\r\n var url = $(this).attr('href');\r\n var hash = url.substring(1);\r\n\r\n var yloc = $(\"#\" + hash).offset().top;\r\n\r\n $('html, body').stop().animate({\r\n scrollTop: yloc\r\n }, 850);\r\n }\r\n });\r\n }\r\n\r\n // Hide everything that doesn't match what is entered into the .issue-topic__input textbox\r\n issues.filterTopicTerms = function () {\r\n $('.issue-topic__input').keyup(function () {\r\n $('.issue-topic__term').hide();\r\n var term = $(this).val();\r\n var allLower = term.toLowerCase();\r\n\r\n $.extend($.expr[':'], {\r\n 'containsIN': function (elem, i, match, array) {\r\n return (elem.textContent || elem.innerText || '').toLowerCase().indexOf((match[3] || '').toLowerCase()) >= 0;\r\n }\r\n });\r\n\r\n $(\".issue-topic__term:containsIN('\" + allLower + \"')\").show();\r\n\r\n if (term === null || term === '') {\r\n $('.issue-topic__term').show();\r\n }\r\n });\r\n };\r\n\r\n // go to selected Issue/Year/Decade as determined by option value (URL)\r\n issues.updateIssueBrowseOnChange = function () {\r\n $('.issue-browse-select').on('change', function () {\r\n window.location.href = $(this).val();\r\n });\r\n };\r\n\r\n})(SCM.Issues = SCM.Issues || {}, jQuery);\r\n\r\njQuery(document).ready(function ($) {\r\n SCM.Issues.filterTopicTerms();\r\n SCM.Issues.toggleNestedJumplinks();\r\n SCM.Issues.updateIssueBrowseOnChange();\r\n SCM.Issues.selectCurrentNodeOnClick();\r\n\r\n if (window.location.hash) {\r\n $('.js-jumplink[href=\"' + window.location.hash + '\"]')\r\n .addClass('active')\r\n .attr('aria-current', 'true')\r\n .attr('tabindex', '0')\r\n .parents('.section-jump-link')\r\n .slice(1)\r\n .children('.section-jump-link__link-wrap')\r\n .children('.list-toggle')\r\n .click();\r\n\r\n $('.js-tree').removeAttr('tabindex');\r\n }\r\n\r\n var viewportWidth = SCM.SiteJS.getViewportWidth();\r\n var isMobile = viewportWidth <= 900;\r\n if (isMobile)\r\n {\r\n $('#IssuesList > option').each(function () {\r\n var text = $(this).text();\r\n var length = text.length;\r\n var cutoffIndex = 47;\r\n\r\n if (length > cutoffIndex)\r\n {\r\n var lastSpace = text.substr(0, cutoffIndex).lastIndexOf(' ');\r\n if (lastSpace > 0)\r\n {\r\n var truncatedText = text.substr(0, lastSpace) + '...';\r\n $(this).text(truncatedText);\r\n }\r\n }\r\n });\r\n }\r\n});","var SCM = SCM || {};\r\n\r\n(function (ns, $) {\r\n var baseSiteUrl = $('#hfSiteURL');\r\n // init tab\r\n ns.initMyAccount = function () {\r\n\r\n var $myAcctTabsInnerWrap = $('.myaccount-tabs-inner-wrap'),\r\n $mobileNavIcon = $('.mobile-nav-icon'),\r\n $resizeTimer;\r\n\r\n // mobile page navigation\r\n $(document).on('click', '.myaccount-mobile-nav', function (e) {\r\n e.stopPropagation();\r\n $myAcctTabsInnerWrap.toggle();\r\n if ($mobileNavIcon.hasClass('icon-general-arrow-filled-down')) {\r\n $mobileNavIcon.removeClass('icon-general-arrow-filled-down').addClass('icon-general-arrow-filled-up');\r\n } else {\r\n $mobileNavIcon.removeClass('icon-general-arrow-filled-up').addClass('icon-general-arrow-filled-down');\r\n }\r\n });\r\n\r\n $(document).click(function () {\r\n $myAcctTabsInnerWrap.hide().removeAttr('style');\r\n });\r\n\r\n // Scroll\r\n $(window).on('scroll', function (e) {\r\n clearTimeout($resizeTimer);\r\n $resizeTimer = setTimeout(function () {\r\n $myAcctTabsInnerWrap.removeAttr('style'); // reset mobile page nav\r\n }, 50); // in milliseconds\r\n });\r\n\r\n // Resize\r\n $(window).on('resize', function (e) {\r\n clearTimeout($resizeTimer);\r\n $resizeTimer = setTimeout(function () {\r\n $myAcctTabsInnerWrap.removeAttr('style'); // reset mobile page nav\r\n }, 50); // in milliseconds\r\n });\r\n\r\n\r\n let $activeTab = $myAcctTabsInnerWrap.find('li.is-active');\r\n $('#myaccount-tabs').find('.myaccount-current-label').html($activeTab.text());\r\n\r\n registerKbartEvents();\r\n\r\n //edit personal details SIGMA\r\n $(document).on('click', '#myaccount-tabs-content .js-update-acct', function () {\r\n $('#updatePersonalDetailsBtn').addClass('disabled');\r\n let $formContainer = $('#myaccount-tabs-content');\r\n let fullname = $formContainer.find('#FullName').val();\r\n let phone = $formContainer.find('#Phone').val();\r\n let country = $formContainer.find('#CountryList').val();\r\n let token = $formContainer.find('#MyAccountToken').val();\r\n if (hasInputErrors(fullname, phone)) {\r\n return;\r\n }\r\n\r\n $.post('/OUPMyAccount/UpdateAccount',\r\n { fullname: fullname, phone: phone, country: country, token: token },\r\n function (data) {\r\n $('#updatePersonalDetailsBtn').removeClass('disabled');\r\n if (data != null) {\r\n if (data.ReturnId) {\r\n $formContainer.find('#MyAccountToken').val(data.ReturnId);\r\n }\r\n if (data.Success) {\r\n updatePersonalInfo(data, fullname);\r\n }\r\n else {\r\n showPersonalInfoErrors(data);\r\n }\r\n }\r\n });\r\n }); \r\n\r\n //change password\r\n const initialErrorMessage = $('#change-password').find('.error-message').html();\r\n\r\n SCM.TestPassword.initTestPassword('#newPassword', '#confirmNewPassword', '#changePasswordBtn');\r\n\r\n $(document).on('click', '#changePasswordBtn', function () {\r\n const $formContainer = $('#myaccount-tabs-content');\r\n\r\n const $successMsg = $formContainer.find('.success-message');\r\n $successMsg.hide();\r\n\r\n const $errMsg = $formContainer.find('.error-message');\r\n $errMsg.html(initialErrorMessage).hide();\r\n\r\n const errors = {};\r\n let noInput = false;\r\n var currentPassword = $formContainer.find('#currentPassword').val();\r\n const newPassword = $formContainer.find('#newPassword').val();\r\n if (newPassword === '') {\r\n errors['newPassword'] = $('label[for=\"newPassword\"]').text().replace('*', '');\r\n noInput = true;\r\n }\r\n const confirmNewPassword = $formContainer.find('#confirmNewPassword').val();\r\n if (confirmNewPassword === '') {\r\n errors['confirmNewPassword'] = $('label[for=\"confirmNewPassword\"]').text().replace('*', '');\r\n noInput = true;\r\n }\r\n if (noInput)\r\n {\r\n for (const key in errors)\r\n {\r\n $errMsg.append('

      * ' + errors[key] + '

      ').show();\r\n }\r\n $('html, body').animate({ scrollTop: $formContainer.offset().top }, 10);\r\n return;\r\n }\r\n $errMsg.html('');\r\n\r\n const token = $formContainer.find('#MyAccountToken').val();\r\n\r\n const $submitButton = $formContainer.find('#changePasswordBtn');\r\n $submitButton.addClass('disabled');\r\n $.post('/OUPMyAccount/ChangePassword',\r\n {\r\n currentPassword: currentPassword,\r\n newPassword: newPassword,\r\n confirmNewPassword: confirmNewPassword,\r\n token: token\r\n },\r\n function (result) {\r\n $submitButton.removeClass('disabled');\r\n if (result) {\r\n if (result.ReturnId) {\r\n $formContainer.find('#MyAccountToken').val(result.ReturnId);\r\n }\r\n\r\n if (result.Messages && result.Messages.length && result.Messages[0] === '1') {\r\n $successMsg.show();\r\n } else {\r\n if (result.Messages && result.Messages.length && result.Messages[1]) {\r\n $errMsg.html(result.Messages[1]).show();\r\n }\r\n $('html, body').animate({ scrollTop: $formContainer.offset().top }, 10);\r\n }\r\n }\r\n });\r\n });\r\n\r\n //change email address\r\n const initialChangeEmailErrorMessage = $('#change-email-address').find('.error-message').html();\r\n $(document).on('click', '#changeEmailBtn', function () {\r\n const $formContainer = $('#change-email-address');\r\n\r\n const $successMsg = $formContainer.find('.success-message');\r\n $successMsg.html('');\r\n\r\n const $errMsg = $formContainer.find('.error-message');\r\n $errMsg.html(initialChangeEmailErrorMessage).hide();\r\n const errors = {};\r\n let noInput = false;\r\n\r\n const newEmailAddress = $formContainer.find('#newEmailAddress').val();\r\n if (newEmailAddress === '') {\r\n errors['newEmailAddress'] = $('label[for=\"newEmailAddress\"]').text().replace('*', '');\r\n noInput = true;\r\n }\r\n const confirmNewEmailAddress = $formContainer.find('#confirmNewEmailAddress').val();\r\n if (confirmNewEmailAddress === '') {\r\n errors['confirmNewEmailAddress'] = $('label[for=\"confirmNewEmailAddress\"]').text().replace('*', '');\r\n noInput = true;\r\n }\r\n const password = $formContainer.find('#currentPassword').val();\r\n if (typeof password !== 'undefined') {\r\n if (password === '') {\r\n errors['password'] = $('label[for=\"currentPassword\"]').text().replace('*', '');\r\n noInput = true;\r\n }\r\n }\r\n if (noInput) {\r\n for (const key in errors) {\r\n $errMsg.append('

      ' + errors[key] + '

      ').show();\r\n }\r\n $('html, body').animate({ scrollTop: $formContainer.offset().top }, 10);\r\n return;\r\n }\r\n $errMsg.html('');\r\n\r\n const token = $('#myaccount-tabs-content').find('#MyAccountToken').val();\r\n\r\n $.post('/OUPMyAccount/RequestEmailAddressChange',\r\n {\r\n newEmailAddress: newEmailAddress,\r\n confirmNewEmailAddress: confirmNewEmailAddress,\r\n token: token\r\n },\r\n function (data) {\r\n if (data != null) {\r\n if (data.ReturnId) {\r\n $('#myaccount-tabs-content').find('#MyAccountToken').val(data.ReturnId);\r\n }\r\n\r\n if (data.Messages == null || data.Messages[0] == null || data.Messages[0] == '') {\r\n $formContainer.children('.change-email-address-form').hide();\r\n $formContainer.children('.change-email-address-verification').show();\r\n }\r\n else {\r\n $errMsg.html(data.Messages[0]).show();\r\n }\r\n }\r\n });\r\n });\r\n\r\n $(document).on('click', '#changeEmailVerificationBtn', function () {\r\n const $formContainer = $('#change-email-address');\r\n\r\n const $successMsg = $formContainer.find('.success-message');\r\n $successMsg.html('').hide();\r\n\r\n const $errMsg = $formContainer.find('.error-message');\r\n $errMsg.html('').hide();\r\n const verificationCode = $formContainer.find('#changeEmailVerificationCode').val();\r\n\r\n if (verificationCode.length > 0) {\r\n $.post('/OUPMyAccount/VerifyEmailAddressChange',\r\n {verificationCode: verificationCode },\r\n function (result) {\r\n if (result[0] == '1')\r\n {\r\n //log out user after email address change\r\n window.location.href = $formContainer.find('#hfSigmaLogoutUrl').val();\r\n }\r\n else {\r\n $errMsg.html(result[1]).show();\r\n $('html, body').animate({ scrollTop: $formContainer.offset().top }, 10);\r\n }\r\n });\r\n }\r\n });\r\n\r\n $('.js-newPassowrd').on('paste', function (e) {\r\n e.preventDefault();\r\n return false;\r\n }); \r\n };\r\n\r\n function registerKbartEvents() {\r\n $(document).on('click', '.js-kbart-submit-btn', function () {\r\n submitKbartReportRequest();\r\n });\r\n\r\n $(document).on('click', '.reveal-modal-bg', function (e) {\r\n closeKbartSubmitModal(e);\r\n });\r\n\r\n $('.js-kbart-submit-close').on('click', function (e) {\r\n closeKbartSubmitModal(e);\r\n });\r\n }\r\n\r\n function closeKbartSubmitModal(e) {\r\n var $submitModalDiv = $('#kbartSubmitModal');\r\n e.stopPropagation();\r\n $submitModalDiv.foundation('reveal', 'close');\r\n $('.js-kbart-submit-btn').removeClass('disabled');\r\n $('body').removeClass('kbart-disable-scroll');\r\n }\r\n\r\n function showKbartSubmitModal() {\r\n var $submitModalDiv = $('#kbartSubmitModal');\r\n var lastFocusedElement = document.activeElement;\r\n $submitModalDiv.off('opened.fndtn.reveal');\r\n $submitModalDiv.on('opened.fndtn.reveal', function () {\r\n $submitModalDiv.focus();\r\n SCM.trapFocus.publicTrapFocus($submitModalDiv, $submitModalDiv.find('.js-kbart-submit-close'), lastFocusedElement);\r\n $('body').addClass('kbart-disable-scroll');\r\n });\r\n $submitModalDiv.foundation('reveal', 'open');\r\n }\r\n\r\n function submitKbartReportRequest() {\r\n $('.js-kbart-error').addClass('hidden');\r\n var $submitBtn = $('.js-kbart-submit-btn');\r\n $submitBtn.addClass('disabled');\r\n var $selection = $('input[name=\"kbart-selection\"]:checked');\r\n if ($selection.length) {\r\n var institutionID = $selection.val();\r\n var institutionName = $(`.kbart-institution[data-institutionid=\"${institutionID}\"]`).text();\r\n var url = '/OUPKbart/GetKbartJournalFile';\r\n if ($selection.hasClass('js-kbart-book-download')) {\r\n url = '/OUPKbart/GetKbartBookFile';\r\n }\r\n var emailAddress = $('.js-kbart-email').val();\r\n if (emailAddress !== undefined) {\r\n $.post(url,\r\n {\r\n institutionAcctId: institutionID,\r\n institutionName: institutionName,\r\n emailAddress: emailAddress\r\n },\r\n function (result) {\r\n if (result.Data === 'Success') {\r\n showKbartSubmitModal();\r\n } else if (result.Data === 'Invalid Email') {\r\n $submitBtn.removeClass('disabled');\r\n $('.js-invalid-kbart-email').parent().removeClass('hidden');\r\n } else {\r\n $submitBtn.removeClass('disabled');\r\n $('.js-kbart-default-error').parent().removeClass('hidden');\r\n }\r\n })\r\n .fail(function () {\r\n $submitBtn.removeClass('disabled');\r\n $('.js-kbart-default-error').parent().removeClass('hidden');\r\n });\r\n }\r\n } else {\r\n $submitBtn.removeClass('disabled');\r\n $('.js-no-kbart-options').parent().removeClass('hidden');\r\n }\r\n }\r\n\r\n function hasInputErrors(fullname, phone) {\r\n var $formContainer = $('#myaccount-tabs-content');\r\n $formContainer.find('.success-message').html('').hide();\r\n $formContainer.find('.error-message').html('').hide();\r\n var brackets = /[<>]/;\r\n if (brackets.test(fullname) || brackets.test(phone)) {\r\n var bracketErr = $formContainer.find('#err-message-angle-brackets').html();\r\n $formContainer.find('.error-message').html(bracketErr).show();\r\n $('html, body').animate({ scrollTop: $formContainer.offset().top }, 10);\r\n\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n function showPersonalInfoErrors(data) {\r\n var $formContainer = $('#myaccount-tabs-content');\r\n $formContainer.find('.error-message').html(data.Html).show();\r\n $('html, body').animate({ scrollTop: $formContainer.offset().top }, 10);\r\n }\r\n\r\n function updatePersonalInfo(data, fullname) {\r\n var $formContainer = $('#myaccount-tabs-content');\r\n $('.js-header-account-info-user-fullname').html(fullname);\r\n $formContainer.find('.success-message').html(data.Html).show();\r\n // if signin box already created - update name\r\n var $name = $('.at-authenticated-user');\r\n if ($name.length && $name.text().length) {\r\n var names = $name.text().split(':');\r\n if (names.length > 0) {\r\n $name.text(names[0] + ': ' + fullname);\r\n }\r\n }\r\n }\r\n\r\n ns.initSavedSearches = function () {\r\n // sort\r\n $('.solrSearchSaveWidget table.tablesorter').tablesorter({\r\n theme: 'default',\r\n delayInit: true,\r\n ignoreCase: true,\r\n headers: { 4: { sorter: false } },\r\n sortList: [[0, 0]]\r\n });\r\n\r\n // delete\r\n $('.solrSearchSaveWidget .save-search-delete').click(function () {\r\n SCM.MyAccount.deleteSaveSearch($(this));\r\n });\r\n\r\n // alert\r\n $('.solrSearchSaveWidget .ddlSearchAlertFrequencyMyAccount').change(function () {\r\n SCM.MyAccount.changeUserAlert($(this));\r\n });\r\n\r\n // rename\r\n $('.solrSearchSaveWidget .save-search-rename-rename').click(function () {\r\n var $parentElem = $(this).closest('td');\r\n var $searchNameLnk = $parentElem.find('.save-search-name-link');\r\n\r\n $searchNameLnk.hide();\r\n $parentElem.find('.save-search-input').val($searchNameLnk.text()).css('display', 'inline-block').focus();\r\n $parentElem.find('.save-search-rename-cancel').show();\r\n $parentElem.find('.save-search-rename-save').show();\r\n $(this).hide();\r\n });\r\n\r\n // cancel rename\r\n $('.solrSearchSaveWidget .save-search-rename-cancel').click(function () {\r\n var $parentElem = $(this).closest('td');\r\n\r\n $parentElem.find('.save-search-name-link').show();\r\n $parentElem.find('.save-search-input').hide();\r\n $parentElem.find('.save-search-rename-rename').show();\r\n $parentElem.find('.save-search-rename-save').hide();\r\n $(this).hide();\r\n });\r\n\r\n // save rename\r\n $('.solrSearchSaveWidget .save-search-rename-save').click(function () {\r\n var $saveLnk = $(this);\r\n var $parentElem = $saveLnk.closest('td');\r\n var $searchNameInput = $parentElem.find('.save-search-input');\r\n var $userSearchId = $saveLnk.closest('tr').data('usersearchid');\r\n var $newSearchName = $searchNameInput.val();\r\n var $searchNameLink = $parentElem.find('.save-search-name-link');\r\n\r\n if ($newSearchName.length) {\r\n SCM.MyAccount.renameSaveSearch($newSearchName, $userSearchId, $searchNameLink);\r\n\r\n $searchNameInput.hide();\r\n $searchNameLink.show();\r\n $parentElem.find('.save-search-rename-rename').show();\r\n $parentElem.find('.save-search-rename-cancel').hide();\r\n $(this).hide();\r\n } \r\n });\r\n\r\n // save rename on key press\r\n $('.solrSearchSaveWidget .save-search-input').on('keypress', function (e) {\r\n var $parentElem = $(this).closest('td');\r\n var $newSearchName = $(this).val();\r\n var $searchNameLink = $parentElem.find('.save-search-name-link');\r\n\r\n var code = e.keyCode || e.which;\r\n if (code === 13) {\r\n e.preventDefault();\r\n\r\n if ($newSearchName.length) {\r\n var $usersearchid = $parentElem.closest('tr').data('usersearchid');\r\n\r\n SCM.MyAccount.renameSaveSearch($newSearchName, $usersearchid, $searchNameLink);\r\n\r\n $(this).hide();\r\n $searchNameLink.show();\r\n $parentElem.find('.save-search-rename-rename').show();\r\n $parentElem.find('.save-search-rename-save').hide();\r\n $parentElem.find('.save-search-rename-cancel').hide();\r\n }\r\n }\r\n });\r\n };\r\n\r\n ns.bindTableSorter = function (updatedTable) {\r\n $(updatedTable).trigger('update');\r\n var $sort = $(updatedTable).get(0).config.sortList;\r\n $(updatedTable).trigger('sorton', [$sort]);\r\n };\r\n\r\n ns.deleteSaveSearch = function (delElem) {\r\n $('.alerts-wrap-cover').removeClass('uncovered');\r\n $('.alerts-wrap-cover').addClass('covered');\r\n\r\n var ajaxUrl = '//' + baseSiteUrl.val() + '/Solr/DeleteSolrSearchInfoWithToken';\r\n var parentElem = delElem.closest('tr');\r\n var id = parentElem.data('usersearchid');\r\n var userAlertId = parentElem.data('useralertid');\r\n var token = $('#SolrSearchAuthToken').val();\r\n $.ajax({\r\n url: ajaxUrl,\r\n type: 'POST',\r\n dataType: 'json',\r\n cache: false, // to defeat browser URL caching\r\n data: { userSearchId: id, userAlertId: userAlertId, token: token },\r\n success: function (result) {\r\n if (result != null) {\r\n if (result.ReturnId) {\r\n $('#SolrSearchAuthToken').val(result.ReturnId);\r\n }\r\n $('.solrSearchSaveWidget .solrSearchSaveModel .message').html(result.Html).parent().foundation('reveal', 'open');\r\n if (result.Success) {\r\n parentElem.remove();\r\n }\r\n }\r\n },\r\n error: function (xmlHttpRequest, textStatus, errorThrown) {\r\n if (window.console) {\r\n var err = eval('(' + xmlHttpRequest.responseText + ')');\r\n console.log('error: ' + err);\r\n console.log('status: ' + textStatus);\r\n }\r\n }\r\n }).done(function () {\r\n SCM.MyAccount.bindTableSorter($('.saved-searches-table.tablesorter'));\r\n $('.alerts-wrap-cover').removeClass('covered');\r\n $('.alerts-wrap-cover').addClass('uncovered');\r\n });\r\n };\r\n\r\n ns.changeUserAlert = function (upElem) {\r\n var ajaxUrl = '//' + baseSiteUrl.val() + '/Solr/UpdateUserAlertWithToken';\r\n var parentElem = upElem.closest('tr');\r\n var id = parentElem.data('usersearchid');\r\n var userAlertId = parentElem.data('useralertid');\r\n var scheduleId = upElem.val();\r\n var token = $('#SolrSearchAuthToken').val();\r\n $('.alerts-wrap-cover').removeClass('uncovered');\r\n $('.alerts-wrap-cover').addClass('covered');\r\n\r\n $.ajax({\r\n url: ajaxUrl,\r\n type: 'POST',\r\n dataType: 'json',\r\n cache: false, // to defeat browser URL caching\r\n data: { userSearchId: id, userAlertId: userAlertId, scheduleId: scheduleId, token: token },\r\n success: function (result) {\r\n if (result != null) {\r\n var resultIdObj = JSON.parse(result.ReturnId);\r\n if (resultIdObj != null && resultIdObj.Token != null) {\r\n $('#SolrSearchAuthToken').val(resultIdObj.Token);\r\n }\r\n\r\n $('.solrSearchSaveWidget .solrSearchSaveModel .message').html(result.Html).parent().foundation('reveal', 'open');\r\n if (result.Success && resultIdObj != null && resultIdObj.ReturnId != null) {\r\n // if a user toggles switching on/off alert in same session\r\n parentElem.data('useralertid', resultIdObj.ReturnId);\r\n }\r\n }\r\n },\r\n error: function (xmlHttpRequest, textStatus, errorThrown) {\r\n if (window.console) {\r\n var err = eval('(' + xmlHttpRequest.responseText + ')');\r\n console.log('error: ' + err);\r\n console.log('status: ' + textStatus);\r\n }\r\n }\r\n })\r\n .done(function () {\r\n $('.alerts-wrap-cover').removeClass('covered');\r\n $('.alerts-wrap-cover').addClass('uncovered');\r\n });\r\n };\r\n\r\n ns.renameSaveSearch = function (searchName, userSearchId, $linkElement) {\r\n var ajaxUrl = '//' + baseSiteUrl.val() + '/Solr/RenameSolrSearchInfoWithToken';\r\n var token = $('#SolrSearchAuthToken').val();\r\n $.ajax({\r\n url: ajaxUrl,\r\n type: 'POST',\r\n dataType: 'json',\r\n cache: false, // to defeat browser URL caching\r\n data: { searchName: searchName, userSearchId: userSearchId, token: token },\r\n success: function (result) {\r\n if (result != null) {\r\n if (result.ReturnId) {\r\n $('#SolrSearchAuthToken').val(result.ReturnId);\r\n }\r\n if (result.Html == 'Updated Successfully') {\r\n $linkElement.text(searchName);\r\n }\r\n $('.solrSearchSaveWidget .solrSearchSaveModel .message').html(result.Html).parent().foundation('reveal', 'open');\r\n }\r\n },\r\n error: function (xmlHttpRequest, textStatus, errorThrown) {\r\n if (window.console) {\r\n var err = eval('(' + xmlHttpRequest.responseText + ')');\r\n console.log('error: ' + err);\r\n console.log('status: ' + textStatus);\r\n }\r\n }\r\n }).done(function () {\r\n SCM.MyAccount.bindTableSorter($('.saved-searches-table.tablesorter'));\r\n });\r\n };\r\n\r\n ns.initForgotPassword = function () {\r\n var initialForgotPasswordErrorMessage = $('#forgot-password').find('.error-message').html();\r\n $('#forgotPasswordBtn').on('click', function () {\r\n var $formContainer = $('#forgot-password');\r\n\r\n var $successMsg = $formContainer.find('.success-message');\r\n var $errMsg = $formContainer.find('.error-message');\r\n\r\n $successMsg.html('').hide();\r\n $errMsg.html(initialForgotPasswordErrorMessage).hide();\r\n\r\n var email = $formContainer.find('#contactEmail').val();\r\n\r\n if (email.length > 0) {\r\n $.post('/OUPMyAccount/ForgotPassword',\r\n { email: email },\r\n function (err) {\r\n // Per sequrity reasons we don't show anything if user is not exist in Sigma.\r\n var confirmMsg = $formContainer.find('.success-message-template').html().replace('{0}', email);\r\n $successMsg.html(confirmMsg).show();\r\n },\r\n 'html');\r\n }\r\n else\r\n {\r\n $errMsg.append('

      * ' + $('label[for=\"contactEmail\"]').text().replace('*', '') + '

      ').show();\r\n $('html, body').animate({ scrollTop: $formContainer.offset().top }, 10);\r\n }\r\n });\r\n\r\n $('#contactEmail').on('keypress', function (e) {\r\n if (e.key === 'Enter') {\r\n e.preventDefault();\r\n $('#forgotPasswordBtn').click();\r\n }\r\n });\r\n };\r\n\r\n ns.initResetPassword = function () {\r\n $('#changePasswordBtn').on('click', function () {\r\n var $formContainer = $('#change-password');\r\n var $successMsg = $formContainer.find('.success-message');\r\n var $errMsg = $formContainer.find('.error-message');\r\n\r\n var token = SCM.JSUtility.getSearchParamByName('t');\r\n var newPassword = $formContainer.find('#newPassword').val();\r\n var confirmNewPassword = $formContainer.find('#confirmNewPassword').val();\r\n\r\n $.post('/OUPMyAccount/ResetPassword',\r\n { token: token, newPassword: newPassword, confirmNewPassword: confirmNewPassword },\r\n function (err) {\r\n if (err == null || err == '') {\r\n $successMsg.show();\r\n $errMsg.hide();\r\n }\r\n else {\r\n $successMsg.hide();\r\n $errMsg.html(err).show();\r\n $('html, body').animate({ scrollTop: $formContainer.offset().top }, 10);\r\n }\r\n },\r\n 'html');\r\n });\r\n\r\n SCM.TestPassword.initTestPassword('#newPassword', '#confirmNewPassword', '#changePasswordBtn');\r\n };\r\n \r\n ns.countSubjectChoices = function () {\r\n $('#communication-preferences-subject-choices').find('.topics-selected-wrap').each(function () {\r\n var $totalOptions = $(this).closest('li').find('input[type=checkbox]');\r\n var $selectedOptions = $totalOptions.filter(':checked');\r\n\r\n $(this).find('.totalCount').html($totalOptions.length);\r\n $(this).find('.checkedTotal').html($selectedOptions.length);\r\n $(this).show();\r\n });\r\n };\r\n\r\n ns.changeUserTypeSubjects = function (reset) {\r\n var $container = $('#communication-preferences');\r\n $('#userTypeSubjectHeader').hide();\r\n var classificationId = $container.find('#userTypes').val();\r\n if (classificationId === '3') { // Show this heading only for Librarian \r\n $('#userTypeSubjectHeader').show();\r\n }\r\n\r\n $container.find('ul#userTypeSubjects > li').each(function () {\r\n var $checkbox = $(this).find('input[type=checkbox]');\r\n //selected subject\r\n if ($(this).attr('data-classification-id') === classificationId){\r\n $(this).show();\r\n\r\n // reset to original choice\r\n if (reset) {\r\n $checkbox.prop('checked', $checkbox.data('checked'));\r\n }\r\n }\r\n else {\r\n $(this).hide();\r\n\r\n // uncheck all\r\n if (reset) {\r\n $checkbox.prop('checked', false);\r\n }\r\n }\r\n });\r\n };\r\n\r\n ns.cleanLastErrorMessage = function () {\r\n $.post('/OUPMyAccount/CleanLastErrorMessage');\r\n };\r\n \r\n})(SCM.MyAccount = SCM.MyAccount || {}, jQuery);\r\n\r\n\r\n/******************************************************************\r\nCopied from MyAccount.aspx, need to be revised\r\n*******************************************************************/\r\n$(document).ready(function () {\r\n var $emailAlertModal = $('#journalAddEditDiv'),\r\n $checkboxRows = $('#journalAddEditDiv .add-new-alert .new-alert-row-wrap'),\r\n currentModalContents;\r\n\r\n // show that myaccounts is doing something\r\n $(document).on('click', '.myaccount-tabs-inner-wrap div', function () {\r\n $('.tabbed-content-overlay').show();\r\n });\r\n\r\n //hide the overlay when the new tab is loaded\r\n $('#myaccount-tabs-content').on('DOMSubtreeModified', function () {\r\n $('.tabbed-content-overlay').hide();\r\n });\r\n\r\n $('#institutionalLogoURL').keyup(function () {\r\n $('.logoPreview').attr('src', $(this).val());\r\n $('.logoPreview').error(function () {\r\n $(this).attr('src', '/Images/grey.gif');\r\n });\r\n });\r\n\r\n /**\r\n * Restores checkbox states for Email Alert Modals when user closes the modal without clicking the submit button\r\n * \r\n * @param click target\r\n */\r\n var restoreCheckboxes = function (target) {\r\n // if the modal is open AND something other than the submit button was clicked (closed without save) ...\r\n if ($emailAlertModal.hasClass('open') && !target.hasClass('js-save-alerts')) {\r\n // once the modal is closed ...\r\n $(document).on('closed.fndtn.reveal', '[data-reveal]', function () {\r\n // copy the HTML stored in currentModalContents into the modal\r\n $checkboxRows.html(currentModalContents);\r\n });\r\n }\r\n };\r\n\r\n // capture contents of Email Alert Modals modal when one opens\r\n $(document).on('opened.fndtn.reveal', '[data-reveal]', function () {\r\n currentModalContents = $checkboxRows.html();\r\n\r\n $(document).on('mouseup.myAccount', function (e) {\r\n var $target = $(e.target);\r\n restoreCheckboxes($target);\r\n });\r\n\r\n // for keyboard users (accessibility)\r\n $(document).on('keyup.myAccount', function (e) {\r\n var $target = $(e.target);\r\n restoreCheckboxes($target);\r\n });\r\n });\r\n\r\n // unbind when modal closes\r\n $(document).on('closed.fndtn.reveal', '[data-reveal]', function () {\r\n $(document).off('mouseup.myAccount');\r\n $(document).off('keyup.myAccount');\r\n });\r\n\r\n SCM.PasswordDisplayToggle.init('#Password, #ConfirmPassword', '.widget-Register');\r\n SCM.MyAccount.initInstitutionalSettings();\r\n SCM.MyAccount.initSubscriptions();\r\n App.MyEmailAlerts.init();\r\n});","var SCM = SCM || {};\r\n\r\n(function (ns, $) {\r\n \r\n ns.institutionalAccountClick = function (e) {\r\n var accountId = $(this).attr('data-account-id');\r\n if ($('.js-institution-dropdown-wrap').length) {\r\n $('.js-institution-dropdown-wrap').removeClass('hide');\r\n accountId = $('.js-institution-dropdown-wrap').find(':selected').val();\r\n }\r\n setSelectedAccountId(accountId);\r\n };\r\n \r\n ns.individualAccountClick = function () {\r\n $('.js-institution-dropdown-wrap').removeClass('hide').addClass('hide');\r\n setSelectedAccountId($(this).attr('data-account-id'));\r\n };\r\n \r\n ns.institutionDropdownChange = function () {\r\n setSelectedAccountId($(this).val());\r\n };\r\n \r\n function setSelectedAccountId(accountId) {\r\n $('#hdnSelectedInstitutionId').val(accountId);\r\n }\r\n\r\n ns.initActivateSubscription = function (lastError) {\r\n\r\n var $formContainer = $('.activate-subscription-wrap');\r\n\r\n if (lastError != null && lastError.length > 0) {\r\n $formContainer.find('.error-message').html(lastError).show();\r\n SCM.MyAccount.cleanLastErrorMessage();\r\n }\r\n var simpleCaptchaEnabled = $('div.register-captcha-text-simple-sub').length > 0;\r\n var normalCaptchaEnabled = $('div.register-captcha-text-normal-sub').length > 0;\r\n\r\n var simpleCaptchaIdName = 'txtCaptchaInputId';\r\n\r\n if (normalCaptchaEnabled) {\r\n resetCaptchaElement();\r\n }\r\n else if (simpleCaptchaEnabled) {\r\n simpleCaptchaIdName += '-0';\r\n }\r\n\r\n $('#activateSubscriptionBtn').on('click', function () {\r\n $('#activateSubscriptionBtn').addClass('disabled');\r\n var $formContainer = $('.activate-subscription-wrap');\r\n\r\n var $errMsg = $formContainer.find('.error-message');\r\n $errMsg.html('').hide();\r\n $formContainer.find('#successMessage').hide();\r\n\r\n if ($('#activateSubscriptionTermsConditions').is(':checked') === false) {\r\n $errMsg.html($('#activateSubErrTermsConditions').html()).show();\r\n $('#activateSubscriptionBtn').removeClass('disabled');\r\n $('html, body').animate({ scrollTop: $formContainer.offset().top }, 10);\r\n }\r\n else {\r\n var token = $('#activateSubscriptionToken').val();\r\n var accountId = $('#hdnSelectedInstitutionId').val();\r\n var accountType = $('input[name=\"account-type\"]:checked').val();\r\n\r\n if (token.length > 0) {\r\n $.post('/OUPMyAccount/ActivateSubscriptionSubmitToken',\r\n {\r\n token: token,\r\n accountId: accountId,\r\n accountType: accountType,\r\n captchaResponse: normalCaptchaEnabled ? grecaptcha.getResponse(0) : '',\r\n simpleCaptchaResponse: simpleCaptchaEnabled\r\n ? document.getElementById(simpleCaptchaIdName).value\r\n : '',\r\n captchaInstanceNumber: 0\r\n },\r\n function (result) {\r\n if (result === 'subscriptions') {\r\n location.href = '/my-account/subscriptions';\r\n } else if (result === 'institutional-settings') {\r\n // delay to make sure that the SGK is refreshed\r\n setTimeout(function () { location.href = '/my-account/institutional-settings'; }, 1000);\r\n } else {\r\n window.location.reload();\r\n }\r\n }, 'html')\r\n .fail(function (xhr, status, error) {\r\n $('#activateSubscriptionBtn').removeClass('disabled');\r\n $errMsg.html(\r\n 'The code or subscriber number is not found. Please check and try again. ' +\r\n 'If the problem continues, please contact customer services.')\r\n .show();\r\n });\r\n } else {\r\n $('#activateSubscriptionBtn').removeClass('disabled');\r\n }\r\n }\r\n });\r\n\r\n $('#activateSubscriptionToken').on('keypress', function (e) {\r\n var code = e.keyCode || e.which;\r\n if (code === 13) {\r\n e.preventDefault();\r\n $('#activateSubscriptionBtn').click();\r\n }\r\n });\r\n };\r\n\r\n $(document).on('click', '.js-product-code-all', function (event) {\r\n var $parentList = $(this).closest('.js-product-code-list');\r\n $parentList.find('.js-product-code-all').hide();\r\n var $notVisible = $parentList.children('.js-product-code:hidden');\r\n\r\n $notVisible.animate({ height: 'toggle' }, 200).promise().done(function () {\r\n $parentList.find('.js-product-code-less').show();\r\n });\r\n\r\n event.preventDefault();\r\n });\r\n\r\n $(document).on('click', '.js-product-code-less', function (event) {\r\n var $parentList = $(this).closest('.js-product-code-list');\r\n $parentList.find('.js-product-code-less').hide();\r\n var limit = $('#hdnProductCodeListLimit').val();\r\n var $visibleToHide = $parentList.children('.js-product-code:gt(' + (limit - 1) + ')');\r\n\r\n $visibleToHide.animate({ height: 'toggle' }, 200).promise().done(function () {\r\n $parentList.find('.js-product-code-all').show();\r\n });\r\n\r\n event.preventDefault();\r\n });\r\n\r\n})(SCM.MyAccount = SCM.MyAccount || {}, jQuery);\r\n\r\n$(function () {\r\n if (!$('.js-account-type-individual').is(':checked')) {\r\n $('.js-account-type-individual').attr('checked', 'checked');\r\n }\r\n \r\n $('.js-account-type-institutional').on('click', SCM.MyAccount.institutionalAccountClick);\r\n $('.js-account-type-individual').attr('checked', 'checked').on('click', SCM.MyAccount.individualAccountClick);\r\n $('.js-institution-dropdown').on('change', SCM.MyAccount.institutionDropdownChange);\r\n \r\n});","// ----\n// JS for MarcRecords Widget\n// ----\n\nvar SCM = SCM || {};\nvar App = App || {};\n\nApp.MarcRecords = (function ($) {\n\n var $instSelect;\n var $dateRangeBtn;\n var $dateRangeInputs;\n\n return {\n init: init\n };\n\n // returns true if the feature is enabled, false otherwise\n function init() {\n $instSelect = $('#institution-select');\n $dateRangeBtn = $('.js-marc-records-date-range-button');\n $dateRangeInputs = $('.js-marc-records-date-range');\n \n $dateRangeInputs.hide();\n \n // do not continue if the feature is not enabled\n if ($dateRangeBtn.length) {\n\n // Institution Selector\n if ($instSelect.length) {\n \n $instSelect.on('change', function() {\n $('.js-institution-wrap').hide(); // hide all institution info\n $('.js-institution-' + $(this).val()).show(); // show selected institution info\n });\n \n }\n \n \n // Radio Buttons\n // Toggle date range filter visibility\n $('.js-marc-records-radio-button').change(function() {\n if ($(this).val() === 'daterange') {\n $dateRangeInputs.show();\n } else {\n $dateRangeInputs.hide();\n }\n });\n \n \n // Date Range Button Download\n $dateRangeBtn.on('click', function() {\n var instId = $(this).data('institution-id');\n // get the value of the selected date rage\n var option = $(this).parent().find('.js-marc-records-radio-button:checked').val();\n var startDate = \"\"\n var endDate = \"\";\n \n if (option === 'daterange') {\n // validate the date range\n var $fromDiv = $(this).parent().find('.js-marc-records-date-range-from');\n var $toDiv = $(this).parent().find('.js-marc-records-date-range-to');\n\n var dateInfos = validateAndReturnDates($fromDiv, $toDiv);\n if (!dateInfos.Success) {\n $('.js-error-message').html(dateInfos.ErrorMessage).show();\n return;\n }\n \n startDate = dateInfos.FromDate;\n endDate = dateInfos.ToDate;\n }\n \n var data = {\n \"institutionId\": instId,\n \"option\": option,\n \"startDate\": startDate,\n \"endDate\": endDate\n };\n\n // clear any previous error messages\n $('.js-error-message').html('').hide();\n\n SCM.Ajax.post($(this).data('url'), data)\n .expectJson()\n .then(function (result) {\n \n if (result.Success) {\n $('.js-error-message').html('').hide();\n window.location.href = result.DownloadUrl; \n }\n else {\n $('.js-error-message').html(result.Error).show(); \n }\n \n })\n .catch(function () {\n $('.js-error-message').html(\"There was an Error. Please try again.\").show();\n });\n });\n \n return true;\n }\n\n return false;\n }\n \n /**\n *\n * @param {Object} $fromDiv - JqueryObject containing 'from' year and month inputs.\n * @param {Object} $toDiv - JqueryObject containing 'to' year and month inputs.\n *\n * @returns {Object} Returns an object with the following properties:\n * - Success: bool\n * - ErrorMessage: string \n * - FromDate: Date object. This is the first day of the selected 'from' month.\n * - ToDate: Date object. This is the last day of the selected 'to' month.\n */\n function validateAndReturnDates($fromDiv, $toDiv) {\n \n var fromYear = $fromDiv.find('input').val();\n var fromMonth = $fromDiv.find('select').val();\n var toYear = $toDiv.find('input').val();\n var toMonth = $toDiv.find('select').val();\n \n var success = true;\n var errorMessage = \"\";\n \n // Check for missing year\n if ((!fromYear && fromMonth) || (!toYear && toMonth)) {\n errorMessage = \"The month cannot be submitted without a year.\";\n success = false;\n }\n \n // Check for invalid year\n if ((fromYear && fromYear.length !== 4) ||\n (toYear && toYear.length !== 4) ||\n (fromYear && isNaN(fromYear)) || \n (toYear && isNaN(toYear))){\n errorMessage = \"The year must be submitted as 4 digits (yyyy).\";\n success = false;\n }\n \n // Check that at least one year is filled out\n if (!fromYear && !toYear) {\n errorMessage = \"You must fill out either a From year or a To year.\";\n success = false;\n }\n \n // if from year but no to year, set the to year to the present year\n if (fromYear && !toYear) {\n toYear = new Date().getFullYear();\n }\n \n // if to year but no from year, set the from year to the earliest year\n if (!fromYear && toYear) {\n fromYear = 1800;\n }\n\n // Default months if not selected\n fromMonth = parseInt(fromMonth) || '1';\n toMonth = parseInt(toMonth) || '12';\n\n // Check if from date precedes to date\n if (fromYear > toYear || (fromYear === toYear && fromMonth > toMonth)) {\n errorMessage = \"The From date must precede the To date.\";\n success = false;\n }\n \n \n // FromDate is the beginning of the selected month\n // ToDate is the end of the selected month\n return {\n Success: success,\n ErrorMessage: errorMessage,\n FromDate: new Date(fromYear, fromMonth - 1, 1),\n ToDate: new Date(toYear, toMonth, 0)\n }\n }\n \n})(jQuery);\n\njQuery(function () {\n App.MarcRecords.init();\n});","var SCM = SCM || {};\r\n\r\n(function (ns, $) {\r\n\r\n ns.initCommunicationPreferences = function (defaultClassificationId) {\r\n\r\n if (!$('#communication-preferences').length) {\r\n return;\r\n }\r\n SCM.MyAccount.countSubjectChoices();\r\n\r\n // expand child subjects per main subject click\r\n $('#communication-preferences-subject-choices').on('click', '.mainSubjects > button', function () {\r\n ExpandCollapseTreeItem($(this));\r\n });\r\n\r\n $('.js-pref-tree').on('keydown', function (e) {\r\n handleArrowKeys(e);\r\n });\r\n\r\n // subject checkbox click\r\n $('#communication-preferences-subject-choices').on('click', 'input[type=checkbox]', function () {\r\n // just in case it has child subjects\r\n $(this).next('ul').find('input[type=checkbox]').prop('checked', !($(this).is(':checked')));\r\n\r\n SCM.MyAccount.countSubjectChoices(); //for simplicity, just recount the whole tree\r\n });\r\n\r\n // set the user type specific subjects, e.g. librarian\r\n // page init\r\n if (defaultClassificationId != null && defaultClassificationId > 0) {\r\n $('#communication-preferences #userTypes').val(defaultClassificationId);\r\n }\r\n \r\n SCM.MyAccount.changeUserTypeSubjects(false);\r\n\r\n $('#communication-preferences #userTypes').on('change', function () {\r\n SCM.MyAccount.changeUserTypeSubjects(true);\r\n });\r\n\r\n // send an email if checked\r\n $('#communication-preferences #btnConfirmOptIn').on('click', function () {\r\n handleOptInChoice($(this));\r\n });\r\n\r\n // update button\r\n $('#communication-preferences #updatePreferencesBtn').on('click', function (e) {\r\n handleUpdatePreferences($this);\r\n e.preventDefault();\r\n });\r\n\r\n //NARN-6431\r\n $('#communication-preferences #communication-preferences-subject-choices input[type=\"checkbox\"][data-type=\"subjectId\"]').on('click', function (e) {\r\n var $container = $('#communication-preferences');\r\n $container.find('.success-message').hide();\r\n });\r\n };\r\n\r\n function ExpandCollapseTreeItem($this) {\r\n var $parent = $this.parents('.mainSubjects');\r\n $parent.children('ul').slideToggle();\r\n var $icon = $parent.find('.js-show-headings-icon');\r\n $icon.hasClass('icon-general-arrow-filled-down') ?\r\n $icon.removeClass('icon-general-arrow-filled-down').addClass('icon-general-arrow-filled-right') :\r\n $icon.removeClass('icon-general-arrow-filled-right').addClass('icon-general-arrow-filled-down');\r\n $parent.children('.comms-subject-heading-button').attr('aria-expanded', function (i, attr) {\r\n return attr == 'true' ? 'false' : 'true';\r\n });\r\n $parent.find('.screenreader-text').text(function (i, text) {\r\n return text == 'Collapse' ? 'Expand' : 'Collapse';\r\n });\r\n $parent.children('.comms-subject-heading-button').focus();\r\n }\r\n\r\n function handleOptInChoice($btnConfirmOptIn) {\r\n\r\n $.ajax({\r\n url: '/OUPMyAccount/SendEmailForOptInCommPref',\r\n type: 'GET',\r\n dataType: 'json'\r\n }).done(function (data) {\r\n if (data.Success) {\r\n $('#communication-preferences').find('.success-message').html(data.Html).show();\r\n } else {\r\n $('#communication-preferences').find('.error-message').html(data.Html).show();\r\n }\r\n\r\n $btnConfirmOptIn.hide();\r\n $('#communication-preferences .send-verify-email').hide();\r\n });\r\n }\r\n\r\n function handleUpdatePreferences($this) {\r\n\r\n var $container = $('#communication-preferences');\r\n var optInMarketEmail = !$container.find('#confirmOptOut').is(':checked');\r\n var subjectIds = [];\r\n $container.find('input[type=checkbox][data-type=subjectId]').filter(':checked').each(function () {\r\n subjectIds.push($this.val());\r\n });\r\n var classificationId = $container.find('#userTypes').val();\r\n $.ajax({\r\n url: '/OUPMyAccount/UpdateCommunicationPreferences',\r\n type: 'POST',\r\n traditional: true,\r\n data: { optInMarketEmail: optInMarketEmail, subjectIds: subjectIds, classificationId: classificationId },\r\n dataType: 'html'\r\n }).done(function (data) {\r\n if (data.includes('apologize')) {\r\n $container.find('.error-message').html(data).show();\r\n } else {\r\n $container.find('.success-message').html(data).show();\r\n }\r\n\r\n if (optInMarketEmail) {\r\n $container.find('.optedIn-message').show();\r\n $container.find('.optedOut-message').hide();\r\n } else {\r\n $container.find('.optedIn-message').hide();\r\n $container.find('.optedOut-message').show();\r\n }\r\n // now the choices have been persisted, we should update data-checked attributes for further selections\r\n $container.find('#userTypeSubjects input[type=checkbox][data-type=subjectId]').each(function () {\r\n $this.data('checked', $this.is(':checked'));\r\n });\r\n });\r\n }\r\n\r\n function focusNextVisibleItem($focusItem) {\r\n var $nextFocusItem;\r\n if ($focusItem.hasClass('js-pref-tree')) {\r\n var $nextListItem = $focusItem.find('li.mainSubjects:first-child');\r\n $nextFocusItem = $nextListItem.find('.comms-subject-heading-button');\r\n }\r\n else {\r\n if ($focusItem.is('input')) {\r\n $nextFocusItem = $focusItem.parent().next('.secondarySubjects').find('input');\r\n if (!$nextFocusItem.length) {\r\n // if we hit the last input, go to next button\r\n $nextFocusItem = $focusItem.parents('.mainSubjects').next().find('.comms-subject-heading-button');\r\n }\r\n }\r\n else {\r\n if (isExpanded($focusItem)) { // find the first input element under the button\r\n $nextFocusItem = $focusItem.parent().find('ul li.secondarySubjects:first-child input');\r\n }\r\n else { // go to the next button\r\n $nextFocusItem = $focusItem.parents('.mainSubjects').next().find('.comms-subject-heading-button');\r\n }\r\n }\r\n }\r\n if ($nextFocusItem.length) {\r\n $nextFocusItem.focus();\r\n } \r\n }\r\n\r\n function focusPreviousVisibleItem($focusItem) {\r\n var $prevFocusItem; \r\n if ($focusItem.is('input')) {\r\n $prevFocusItem = $focusItem.parent().prev('.secondarySubjects').find('input');\r\n if (!$prevFocusItem.length) {\r\n // if we hit the first input, go to parent button\r\n $prevFocusItem = $focusItem.parents('.mainSubjects').find('.comms-subject-heading-button');\r\n }\r\n }\r\n else {\r\n $prevFocusItem = $focusItem.parents('.mainSubjects').prev().find('.comms-subject-heading-button');\r\n }\r\n if ($prevFocusItem.length) {\r\n if (!$focusItem.is('input') && $prevFocusItem.is('button') && isExpanded($prevFocusItem)) {\r\n $prevFocusItem = $prevFocusItem.siblings('ul').children('li:last-child').find('input');\r\n }\r\n $prevFocusItem.focus();\r\n }\r\n }\r\n\r\n function isExpanded($focusItem) {\r\n var $expander = $focusItem.is('button') ?\r\n $focusItem :\r\n $focusItem.parents('.mainSubjects').find('button.comms-subject-heading-button');\r\n return $expander.length && $expander.attr('aria-expanded') === 'true';\r\n }\r\n \r\n function handleArrowKeys(e) {\r\n var $focusItem = $(':focus');\r\n if (e.key === 'ArrowUp') {\r\n e.preventDefault();\r\n focusPreviousVisibleItem($focusItem);\r\n }\r\n\r\n if (e.key === 'ArrowDown') {\r\n e.preventDefault();\r\n focusNextVisibleItem($focusItem);\r\n }\r\n\r\n if (e.key === 'ArrowRight') {\r\n e.preventDefault(); \r\n if (!isExpanded($focusItem)) {\r\n ExpandCollapseTreeItem($focusItem);\r\n }\r\n }\r\n\r\n if (e.key === 'ArrowLeft') {\r\n e.preventDefault(); \r\n if (isExpanded($focusItem)) {\r\n ExpandCollapseTreeItem($focusItem);\r\n } \r\n }\r\n }\r\n\r\n})(SCM.MyAccount = SCM.MyAccount || {}, jQuery);\r\n","var SCM = SCM || {};\r\n\r\n(function (ns, $) {\r\n\r\n function registerTablesorter() {\r\n $('.subscriptions-wrap table.tablesorter').tablesorter({\r\n theme: 'default',\r\n delayInit: true,\r\n ignoreCase: true,\r\n sortList: [[0, 0]]\r\n });\r\n }\r\n\r\n function registerLinkClick() {\r\n $('.js-subscription-resource-link').on('click', function () {\r\n var $this = $(this);\r\n var resourceId = $this.data('resource-id');\r\n var resourceType = $this.data('resource-type');\r\n \r\n if (parseInt(resourceId) > 0 && parseInt(resourceType) > 0) {\r\n $.get('/OUPMyAccount/GetResourceUrl',\r\n {resourceId: resourceId, resourceType: resourceType},\r\n function (resourceUrl) {\r\n top.location = resourceUrl;\r\n },\r\n 'text');\r\n }\r\n });\r\n }\r\n\r\n ns.initSubscriptions = function () {\r\n registerTablesorter();\r\n registerLinkClick();\r\n };\r\n \r\n})(SCM.MyAccount = SCM.MyAccount || {}, jQuery);\r\n","// ----\r\n// JS for custom Close button for Remove Orcid Id modal\r\n// ----\r\nApp = App || {};\r\nApp.OrcidId = (function ($) {\r\n\r\n return {\r\n init: _init\r\n }\r\n\r\n function _init() {\r\n if (!_myComponentIsOnPage()) {\r\n return;\r\n }\r\n\r\n addCloseModalLogic();\r\n\r\n $(document).on('click', '.js-remove-orcid', function () {\r\n removeOrcidId();\r\n });\r\n\r\n }\r\n\r\n function _myComponentIsOnPage() {\r\n return $('.js-remove-orcid').length;\r\n }\r\n\r\n function addCloseModalLogic() {\r\n $(document).ready(function () {\r\n\r\n $('#removeOrcidIdDiv .js-cancel-orcid').click(function (e) {\r\n e.preventDefault();\r\n closeRevealModal();\r\n });\r\n\r\n });\r\n }\r\n\r\n function closeRevealModal() {\r\n $('#removeOrcidIdDiv').foundation('reveal', 'close');\r\n }\r\n\r\n function removeOrcidId() {\r\n var url = '/OUPMyAccount/RemoveOrcidId';\r\n SCM.Ajax.post(url)\r\n .expectJson()\r\n .then(function (result) {\r\n if (result.Success) {\r\n window.location.reload();\r\n }\r\n else {\r\n if (result.Messages.length > 0) {\r\n var $errorMessage = $('.error-message');\r\n $errorMessage.html(result.Messages[0]);\r\n $errorMessage.removeClass('hide');\r\n closeRevealModal();\r\n }\r\n }\r\n });\r\n }\r\n\r\n})(jQuery);","var SCM = SCM || {};\r\n\r\n(function (ns, $) {\r\n \r\n ns.initInstitutionalSettings = function () {\r\n //update institutional Account Info\r\n var initialErrorSummaryValue = $('.error-summary').html();\r\n $('#institutionalAccountInfo').on('click', '#saveInstitutionalSettingsBtn', function () {\r\n const $button = $('#saveInstitutionalSettingsBtn');\r\n var $formContainer = $(this).closest('#institutionalAccountInfo');\r\n var $errorSummary = $formContainer.find('.error-summary');\r\n $errorSummary.html(initialErrorSummaryValue);\r\n var $successMsg = $formContainer.find('.instUpdate-success');\r\n\r\n $button.addClass('disabled');\r\n\r\n // hide previous msgs\r\n $successMsg.hide();\r\n $errorSummary.hide();\r\n $formContainer.find('.instUpdate-error').html('').removeClass('is-active');\r\n\r\n var $institutionId = $formContainer.find('#hdnSelectedInstitutionId');\r\n var $instName = $formContainer.find('#instSet-InstitutionName');\r\n var $ipAddresses = $formContainer.find('#instSet-IpAddresses');\r\n var $orgId = $formContainer.find('#instSet-OrgId');\r\n var $entityId = $formContainer.find('#instSet-EntityId');\r\n var $openUrl = $formContainer.find('#instSet-OpenUrl');\r\n var $openUrlButton = $formContainer.find('#instSet-OpenUrlButton');\r\n var $instUrl = $formContainer.find('#instSet-InstUrl');\r\n var $instLogoUrl = $formContainer.find('#instSet-InstLogo');\r\n var token = $('#myaccount-tabs-content').find('#MyAccountToken').val();\r\n\r\n $.post('/OUPMyAccount/UpdateInstitutionalAccountInfo',\r\n {\r\n institutionId: $institutionId.val(),\r\n institutionName: $instName.val(),\r\n ipAddresses: $ipAddresses.val(),\r\n orgId: $orgId.val(),\r\n entityId: $entityId.val(),\r\n openUrl: $openUrl.val(),\r\n openUrlButton: $openUrlButton.val(),\r\n instUrl: $instUrl.val(),\r\n instLogoUrl: $instLogoUrl.val(),\r\n token: token,\r\n ipAddresessChanged: $ipAddresses.val() !== $ipAddresses.data('default')\r\n },\r\n function (data) {\r\n $button.removeClass('disabled');\r\n if (data !== undefined && data !== null) {\r\n if (data.ReturnId) {\r\n $('#myaccount-tabs-content').find('#MyAccountToken').val(data.ReturnId);\r\n }\r\n\r\n if (!$.isEmptyObject(data.Errors)) {\r\n showError(data.Errors, $formContainer, $errorSummary, data);\r\n }\r\n else {\r\n showSuccess($successMsg, $openUrlButton.val(), $instLogoUrl.val());\r\n\r\n $institutionId.data('default', $institutionId.val());\r\n $instName.data('default', $instName.val());\r\n $ipAddresses.data('default', $ipAddresses.val());\r\n $orgId.data('default', $orgId.val());\r\n $entityId.data('default', $entityId.val());\r\n $openUrl.data('default', $openUrl.val());\r\n $openUrlButton.data('default', $openUrlButton.val());\r\n $instUrl.data('default', $instUrl.val());\r\n $instLogoUrl.data('default', $instLogoUrl.val());\r\n\r\n $('#InstitutionList option:selected').text($instName.val());\r\n }\r\n }\r\n });\r\n });\r\n\r\n // copy corresponding help text to modal\r\n $(document).on('click', '#institutionalAccountInfo .js-question-icon', function (e) {\r\n e.preventDefault();\r\n\r\n var helpText = $(this).next('[data-type=\"help-text\"]').html();\r\n\r\n $('#institutionalSettingsModalBody').html(helpText);\r\n $('#institutionalSettingsModal').foundation('reveal', 'open');\r\n });\r\n\r\n var lastSel = $('.js-institution-list option:selected');\r\n $('.js-institution-list').on('change', function () {\r\n if (hasUnsavedChanges()) {\r\n alert('You have unsaved changes.');\r\n lastSel.attr('selected', true);\r\n }\r\n else {\r\n window.location = '/my-account/institutional-settings/' + $(this).val();\r\n }\r\n });\r\n };\r\n\r\n function showSuccess($successMsg, openUrlButton, instLogoUrl) {\r\n $successMsg.show();\r\n\r\n if ($.trim(openUrlButton).length) {\r\n $('#instSet-OpenUrlButtonImg').attr('src', openUrlButton).show();\r\n }\r\n else {\r\n $('#instSet-OpenUrlButtonImg').hide();\r\n }\r\n\r\n if ($.trim(instLogoUrl).length) {\r\n $('#instSet-InstLogoImg').attr('src', instLogoUrl).show();\r\n }\r\n else {\r\n $('#instSet-InstLogoImg').hide();\r\n }\r\n }\r\n\r\n function showError(errors, $formContainer, $errorSummary, data) {\r\n for (var key in errors) {\r\n var inputId = null;\r\n\r\n switch (key) {\r\n case 'general':\r\n inputId = 'general';\r\n break;\r\n case 'institutionName':\r\n inputId = 'instSet-InstitutionName';\r\n break;\r\n case 'ipAddressList':\r\n inputId = 'instSet-IpAddresses';\r\n break;\r\n case 'orgId':\r\n inputId = 'instSet-OrgId';\r\n break;\r\n case 'entityId':\r\n inputId = 'instSet-EntityId';\r\n break;\r\n case 'openUrl':\r\n inputId = 'instSet-OpenUrl';\r\n break;\r\n case 'openUrlButton':\r\n inputId = 'instSet-OpenUrlButton';\r\n break;\r\n case 'instUrl':\r\n inputId = 'instSet-InstUrl';\r\n break;\r\n case 'instLogoUrl':\r\n inputId = 'instSet-InstLogo';\r\n break;\r\n }\r\n\r\n if (inputId !== null) {\r\n if (inputId === 'general') {\r\n $formContainer.find('.instUpdate-error.general-error').html(data.Errors[key]).addClass('is-active');\r\n }\r\n else {\r\n $formContainer.find('#' + inputId).next('.instUpdate-error').html(data.Errors[key]).addClass('is-active');\r\n $errorSummary.append('

      * ' + $('label[for=\"' + inputId + '\"]').text().replace('*', '') + '

      ');\r\n $errorSummary.show();\r\n }\r\n }\r\n }\r\n\r\n $('html, body').animate({ scrollTop: $formContainer.offset().top }, 10);\r\n }\r\n\r\n function hasUnsavedChanges() {\r\n var $instName = $('#instSet-InstitutionName');\r\n var $ipAddresses = $('#instSet-IpAddresses');\r\n var $orgId = $('#instSet-OrgId');\r\n var $entityId = $('#instSet-EntityId');\r\n var $openUrl = $('#instSet-OpenUrl');\r\n var $openUrlButton = $('#instSet-OpenUrlButton');\r\n var $instUrl = $('#instSet-InstUrl');\r\n var $instLogoUrl = $('#instSet-InstLogo');\r\n\r\n if ($instName.val() !== $instName.data('default')) {\r\n return true;\r\n }\r\n if ($ipAddresses.val() !== $ipAddresses.data('default')) {\r\n return true;\r\n }\r\n if ($orgId.val() !== $orgId.data('default')) {\r\n return true;\r\n }\r\n if ($entityId.val() !== $entityId.data('default')) {\r\n return true;\r\n }\r\n if ($openUrl.val() !== $openUrl.data('default')) {\r\n return true;\r\n }\r\n if ($openUrlButton.val() !== $openUrlButton.data('default')) {\r\n return true;\r\n }\r\n if ($instUrl.val() !== $instUrl.data('default')) {\r\n return true;\r\n }\r\n if ($instLogoUrl.val() !== $instLogoUrl.data('default')) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n})(SCM.MyAccount = SCM.MyAccount || {}, jQuery);","var SCM = SCM || {};\r\n\r\n(function (ns, $) {\r\n \r\n ns.initRegister = function (lastError) {\r\n const $formContainer = $('.widget-Register');\r\n const $form = $formContainer.find('.js-register-form');\r\n\r\n if (lastError != null && lastError.length > 0) {\r\n $formContainer.find('.error-message').html(lastError).show();\r\n $.post('/OUPMyAccount/ClearLastErrorMessage');\r\n }\r\n \r\n $form.on('submit', function(e) {\r\n submitForm(e);\r\n });\r\n\r\n SCM.TestPassword.initTestPassword('#Password', '#ConfirmPassword', '#registerBtn');\r\n };\r\n\r\n function submitForm(e) {\r\n e.preventDefault();\r\n const $formContainer = $('.widget-Register');\r\n clearErrors($formContainer);\r\n const $registerButton = $('#registerBtn');\r\n $registerButton.addClass('disabled');\r\n\r\n const email = $formContainer.find('#EmailAddress').val();\r\n const fullName = $formContainer.find('#FullName').val();\r\n const country = $formContainer.find('#CountryList').val();\r\n const password = $formContainer.find('#Password').val();\r\n const confirmPassword = $formContainer.find('#ConfirmPassword').val();\r\n \r\n const honeypotValue = $formContainer.find('#hpcName').val();\r\n const registerIssueAlert = $formContainer.find('#registerIssueAlert');\r\n const simpleCaptchaEnabled = $('.js-captcha-simple').length;\r\n const normalCaptchaEnabled = $('.js-captcha-normal').length;\r\n const txtCaptchaInputId = $('.js-captcha-input').val();\r\n let alertChecked = false;\r\n if (registerIssueAlert !== undefined) {\r\n alertChecked = !!registerIssueAlert.is(':checked');\r\n }\r\n const hfAlertJournalId = $formContainer.find('#hfAlertJournalId');\r\n const alertJournalId = hfAlertJournalId !== undefined && hfAlertJournalId.length > 0 ? hfAlertJournalId.val() : 0;\r\n const hfAlertSiteId = $formContainer.find('#hfAlertSiteId');\r\n const alertSiteId = hfAlertSiteId !== undefined && hfAlertSiteId.length > 0 ? hfAlertSiteId.val() : 0;\r\n\r\n if (honeypotValue.length > 0) {\r\n console.log('Honeypot captcha triggered. Are you a bot?');\r\n $registerButton.removeClass('disabled');\r\n } else {\r\n $.post('/OUPMyAccount/Register',\r\n {\r\n email: email,\r\n fullName: fullName,\r\n country: country,\r\n password: password,\r\n confirmPassword: confirmPassword,\r\n alertSiteId: alertChecked ? alertSiteId : 0,\r\n alertJournalId: alertChecked ? alertJournalId : 0,\r\n captchaResponse: normalCaptchaEnabled ? grecaptcha.getResponse() : '',\r\n simpleCaptchaResponse: simpleCaptchaEnabled ? txtCaptchaInputId : ''\r\n },\r\n function (result) {\r\n handleRegisterResponse(result, $registerButton);\r\n });\r\n }\r\n }\r\n\r\n function handleRegisterResponse(result, $registerButton) {\r\n if (result.ReturnId === 'captcha') {\r\n if ($('.js-captcha-normal').length) {\r\n $registerButton.removeClass('disabled');\r\n $('.js-captcha-error').removeClass('hidden');\r\n }\r\n else {\r\n window.location.reload();\r\n }\r\n }\r\n else if (result.ReturnId === 'OK') {\r\n window.location = getSignInUrl();\r\n } \r\n else {\r\n $('.js-captcha-error').addClass('hidden');\r\n SCM.Captcha.ResetCaptcha($('.js-register-form'));\r\n\r\n $registerButton.removeClass('disabled');\r\n if (result.Messages.length) {\r\n showRegisterErrors(result.Messages);\r\n }\r\n }\r\n }\r\n\r\n function showRegisterErrors(messages) {\r\n var title = $(document).prop('title'); \r\n $(document).prop('title', 'Error: ' + title);\r\n $('.register-error-message').show();\r\n $.each(messages, function(idx, value) {\r\n var $error = $('#' + value);\r\n $error.show();\r\n var $errorInput = $error.next();\r\n $errorInput.addClass('register-error-border');\r\n $errorInput.attr('aria-describedby', value);\r\n if (idx === 0) {\r\n $errorInput.focus();\r\n }\r\n });\r\n }\r\n\r\n function clearErrors($formContainer) {\r\n var title = $(document).prop('title'); \r\n $(document).prop('title', title.replaceAll('Error: ', ''));\r\n $formContainer.find('.register-error-message').hide();\r\n $('.register-input').removeAttr('aria-describedby');\r\n $('.register-input').removeClass('register-error-border');\r\n $('.input-error').hide();\r\n }\r\n\r\n function getSignInUrl() {\r\n // Formerly named 'updateRedirectUri'\r\n // doing for proxy urls\r\n const sigmaSigninUrl = $('#sigmaSigninUrl').val();\r\n const redirectSiteUrl = $('#RedirectSiteUrl').val();\r\n const decodedUrl = SCM.ZEncoderV1.Decode(redirectSiteUrl);\r\n const params = sigmaSigninUrl.split('&');\r\n $.each(params, function (idx, val) {\r\n // only change the redirect uri parameter of the href\r\n if (val.startsWith('redirect_uri')) {\r\n const queryString = val.split('?');\r\n params[idx] = 'redirect_uri=' + decodedUrl + '/HTTPHandlers/Sigma/LoginHandler.ashx';\r\n if (queryString.length > 1) {\r\n params[idx] += '?' + queryString[1];\r\n }\r\n }\r\n });\r\n return params.join('&');\r\n }\r\n\r\n})(SCM.MyAccount = SCM.MyAccount || {}, jQuery);\r\n\r\n$(function () {\r\n SCM.MyAccount.initRegister($('#lastErrorMessage').val());\r\n});","var SCM = SCM || {};\r\n\r\n(function (ns, $) {\r\n \r\n ns.init = function (fieldSelector, outerScopeSelector) {\r\n const $scope = $(outerScopeSelector);\r\n const showPasswordSelector = '.js-show-password';\r\n const hidePasswordSelector = '.js-hide-password';\r\n\r\n $scope.on('click', showPasswordSelector, function () {\r\n $scope.find(fieldSelector).each(function () {\r\n const $this = $(this);\r\n const $newInput = $this.clone();\r\n $newInput.attr('type', 'text');\r\n $newInput.attr('autocomplete', 'off');\r\n $newInput.attr('value', $this.val());\r\n\r\n $this.after($newInput);\r\n $this.remove();\r\n });\r\n\r\n $(this).addClass('hide');\r\n $(hidePasswordSelector).removeClass('hide');\r\n });\r\n\r\n $scope.on('click', hidePasswordSelector, function () {\r\n $scope.find(fieldSelector).each(function () {\r\n const $this = $(this);\r\n const $newInput = $this.clone();\r\n $newInput.attr('type', 'password');\r\n $newInput.removeAttr('autocomplete');\r\n $newInput.attr('value', $this.val());\r\n\r\n $this.after($newInput);\r\n $this.remove();\r\n });\r\n\r\n\r\n $(this).addClass('hide');\r\n $(showPasswordSelector).removeClass('hide');\r\n });\r\n };\r\n \r\n})(SCM.PasswordDisplayToggle = SCM.PasswordDisplayToggle || {}, jQuery);","var SCM = SCM || {};\r\n\r\nSCM.SearchResults = {};\r\n\r\nSCM.SearchResults.defaults = {\r\n controller: 'Solr',\r\n action: 'SolrSearch',\r\n instanceName: 'Search',\r\n baseSiteUrl: '',\r\n updateTargetSelector: '#divSearch'\r\n};\r\n\r\n$(function () {\r\n\r\n $('#searchResultsPage').on('click', '.journal-description-container a', function (e) {\r\n e.preventDefault();\r\n $(this).closest('.journal-description-container').find('.journal-description').toggleClass('hide');\r\n });\r\n\r\n function toggleTaxonomyChildren() {\r\n $('.js-taxonomy-parent-arrow').on('click', function () {\r\n var $this = $(this);\r\n\r\n let $taxonomyChildList = $this.parents('.js-taxonomy-label-wrap').siblings('.js-taxonomy-child-list');\r\n $taxonomyChildList.toggleClass('hide');\r\n\r\n let $taxonomyInput = $this.parents('.js-taxonomy-label-wrap').find('.js-taxonomy-checkbox, a.js-taxonomy-label');\r\n\r\n if ($taxonomyChildList.hasClass('hide')) {\r\n $taxonomyInput.attr('aria-expanded', 'false');\r\n } else {\r\n $taxonomyInput.attr('aria-expanded', 'true');\r\n }\r\n\r\n var $icon = $this.children('.js-taxonomy-icon');\r\n var $screenReaderText = $icon.find('.screenreader-text');\r\n\r\n if ($icon.hasClass('icon-general-arrow-filled-right')) {\r\n $icon.removeClass('icon-general-arrow-filled-right').addClass('icon-general-arrow-filled-down');\r\n $screenReaderText.text('Collapse');\r\n } else {\r\n $icon.removeClass('icon-general-arrow-filled-down').addClass('icon-general-arrow-filled-right');\r\n $screenReaderText.text('Expand');\r\n }\r\n });\r\n\r\n // if taxonomy is already selected expand its parents\r\n if ($('.js-taxonomy-child-list .js-queryitem').length > 0) {\r\n $('.js-taxonomy-child-list .js-queryitem').parents('.js-taxonomy-child-list .js-taxonomy-child-list-item').each(function () {\r\n var $selectedElement = $(this).find('.js-queryitem');\r\n if ($selectedElement.length > 0) {\r\n // expand this child list\r\n var $arrowLink = $(this).find('.js-taxonomy-parent-arrow').first();\r\n var $icon = $arrowLink.children('.js-taxonomy-icon');\r\n if ($arrowLink && $arrowLink.length && $icon.hasClass('icon-general-arrow-filled-right')) {\r\n $arrowLink.parents('.js-taxonomy-label-wrap').siblings('.js-taxonomy-child-list').toggleClass('hide');\r\n $icon.removeClass('icon-general-arrow-filled-right').addClass('icon-general-arrow-filled-down');\r\n }\r\n }\r\n });\r\n $('.js-taxonomy-child-list').each(function () {\r\n if ($(this).find('.js-taxonomy-checkbox:checked').not(':visible').length > 0) {\r\n $(this).find('.facetShowMore').click();\r\n }\r\n });\r\n\r\n\r\n }\r\n } // END: toggleTaxonomyChildren()\r\n\r\n function updateAvailabilityRedirectUrl($el, redirectUrl) {\r\n\r\n var $checkedFilters = $('.js-availability-chkbox:checked');\r\n var urlSearchParams = redirectUrl?.split('&');\r\n var allFiltersChecked = $checkedFilters.length === $('.js-availability-chkbox').length;\r\n\r\n // remove all the access parameters so we can start fresh\r\n var queryParams = urlSearchParams.filter(p => !p.startsWith('access'));\r\n\r\n if ($el.data('filterName') === 'access_all') {\r\n if ($el.is(':checked')) {\r\n queryParams.push('access_all=true')\r\n }\r\n redirectUrl = queryParams.join('&');\r\n }\r\n else { \r\n if (allFiltersChecked) {\r\n queryParams.push('access_all=true')\r\n }\r\n else {\r\n // Only add the checked filters\r\n $.each($checkedFilters, function (idx, val) {\r\n queryParams.push(`${$(this).data('filterName')}=true`);\r\n });\r\n } \r\n redirectUrl = queryParams.join('&');\r\n }\r\n return redirectUrl;\r\n }\r\n\r\n toggleTaxonomyChildren(); // run the function when page loads (also called in doSolrSearch ajax below)\r\n\r\n var cache = {};\r\n //push the current state into the cache and into the history\r\n var initialQueryString = window.location.search.substring(1);\r\n\r\n\r\n window.onpopstate = function (e) {\r\n if (e.state) {\r\n SCM.SearchResults.doSolrSearch(e.state);\r\n }\r\n };\r\n\r\n SCM.PublicationDateFilter.init();\r\n\r\n SCM.Utilities.Brightcove.init();\r\n\r\n //bind actions\r\n (function() {\r\n var $updateTarget = $(SCM.SearchResults.defaults.updateTargetSelector);\r\n\r\n cache[initialQueryString] = { results: $updateTarget.html() };\r\n window.history.replaceState({ queryString: initialQueryString }, null, null);\r\n\r\n var isAlertPostCompleted = true;\r\n\r\n $updateTarget.on('click', '.js-edition-select', function (e) {\r\n var $inputEl = $(this).siblings('input');\r\n if ($inputEl.length) {\r\n var query = $inputEl.data('redirectUrl');\r\n if (query !== undefined) {\r\n SCM.SearchResults.doSolrSearch({ queryString: query });\r\n }\r\n }\r\n });\r\n\r\n $updateTarget.on('click', '.chkSelect', function (e) {\r\n var $clickElement = $(this);\r\n var redirectUrl = $clickElement.data('redirectUrl');\r\n if ($clickElement.hasClass('availability')) {\r\n var redirectUrl = updateAvailabilityRedirectUrl($clickElement, redirectUrl);\r\n }\r\n \r\n SCM.SearchResults.doSolrSearch({ queryString: redirectUrl });\r\n });\r\n\r\n $updateTarget.on('click', '.js-sf-facet__link', function (e) {\r\n var url = $(this).attr('data-url');\r\n if (url && url !== '#' && url !== 'javascript:;') {\r\n e.preventDefault();\r\n\r\n SCM.SearchResults.doSolrSearch({ queryString: url });\r\n }\r\n });\r\n\r\n $updateTarget.on('click', '.js-close-button', function(e) {\r\n var url = $(this).attr('data-url');\r\n if (url != undefined && url !== '#' && url !== 'javascript:;') {\r\n e.preventDefault();\r\n\r\n SCM.SearchResults.doSolrSearch({ queryString: url });\r\n }\r\n });\r\n\r\n $updateTarget.on('click', '.rbShowFacet', function(e) {\r\n e.preventDefault();\r\n var previousStatus = $(this).attr('previous-status');\r\n if (previousStatus == 'False') {\r\n var dataurl = $(this).attr('data-url');\r\n SCM.SearchResults.doSolrSearch({ queryString: dataurl });\r\n }\r\n });\r\n\r\n $updateTarget.on('click', '#solrSearchBtn', function(e) {\r\n var queryText = $('#txtSearch').val();\r\n\r\n if (!queryText || queryText === '') {\r\n alert('Please enter a term to perform search');\r\n } else {\r\n queryText = encodeURIComponent(queryText);\r\n SCM.SearchResults.doSolrSearch({ queryString: 'q=' + queryText });\r\n }\r\n });\r\n\r\n // Publication Date Filter\r\n $updateTarget.on('click', '#btnRangeSearch', function(e) {\r\n var fromYear = parseInt(SCM.PublicationDateFilter.$fromYear.val());\r\n var toYear = parseInt(SCM.PublicationDateFilter.$toYear.val());\r\n var fromMonth = parseInt(SCM.PublicationDateFilter.$fromMonth.val());\r\n var toMonth = parseInt(SCM.PublicationDateFilter.$toMonth.val());\r\n var validationResponse = '';\r\n\r\n // Record all the date types we can select so we can clear the previous query params below\r\n var dateTypesToRemoveFromPrevQuery = $('.js-date-type-chk').map(function () {\r\n return $(this).val();\r\n });\r\n // find out what's checked\r\n // we have a hidden one because Published also assumes PublishedElectronic, so have to add both\r\n // PublishedElectronic is a hidden field that is automatically checked when published is checked\r\n var $filtersChecked = $('.js-date-type-chk:checked, .js-date-type-chk:hidden:checked');\r\n \r\n if (SCM.PublicationDateFilter.isSingleDateSelected) {\r\n validationResponse = SCM.PublicationDateFilter.getValidationResponseTextForSingleDate(fromYear);\r\n } else {\r\n validationResponse = SCM.PublicationDateFilter.getValidationResponseTextForDateRange(fromYear, toYear, fromMonth, toMonth);\r\n }\r\n if (validationResponse && validationResponse.length) {\r\n // Uh-oh! User did something bad!\r\n $('.js-publication-date-filter-validation').text(validationResponse);\r\n $('#js-publication-date-filter-modal').foundation('reveal', 'open');\r\n return;\r\n }\r\n \r\n var dateValuesString = SCM.PublicationDateFilter.getSolrDateString(fromYear, toYear, fromMonth, toMonth);\r\n var dateFilterTypeString = '&dateFilterType=' + (SCM.PublicationDateFilter.isSingleDateSelected ? 'single' : 'range');\r\n \r\n var dateString;\r\n\r\n // If they only select the Updated date filter, remove articleDate from the query \r\n // since this date (versionDate) doesn't apply to articles (NARN-12098)\r\n // and don't add the date values for articleDate to the query string\r\n if ($filtersChecked.length === 1 && $filtersChecked.val() === 'rg_VersionDate') {\r\n dateTypesToRemoveFromPrevQuery.push('rg_ArticleDate');\r\n dateString = dateFilterTypeString + '&' + $filtersChecked.val() + '=' + dateValuesString;\r\n }\r\n else {\r\n // keeping articleDate, so add the dateValues to the beginning which is added to articleDate later on\r\n dateString = dateValuesString + dateFilterTypeString;\r\n var $filtersToUse = $filtersChecked;\r\n // if none are checked, use all filters (NARN-12098)\r\n if ($filtersChecked.length === 0) {\r\n $filtersToUse = $('.js-date-type-chk');\r\n // Adding this if no date types are selected so we know what to check/uncheck on return\r\n // Behavior and query string is the same for both check all and check none\r\n dateString += '&noDateTypes=true';\r\n }\r\n \r\n // Now build the rest of the query string based on the filters\r\n $filtersToUse.each(function () {\r\n dateString += '&' + $(this).val() + '=' + dateValuesString;\r\n });\r\n }\r\n \r\n // get all the previous query params\r\n var queryParams = $(this).attr('data-url').split('&');\r\n // strip out date filter type and date types to filter to replace with new date string built above\r\n queryParams = $.grep(queryParams, function (param, idx) {\r\n var key = param.split('=')[0];\r\n // only return those params which are not dateFilterType and are not the date types\r\n return (key.indexOf('dateFilterType') < 0 && key.indexOf('noDateTypes') < 0 && $.inArray(key, dateTypesToRemoveFromPrevQuery) < 0);\r\n });\r\n // now join the remaining ones back together\r\n var searchUrl = queryParams.join('&');\r\n // if we still have articleDate=queryText, replace queryText with the dateString\r\n // which adds in the date range for articleDate plus datefiltertype and date types\r\n if (searchUrl.indexOf('queryText') >= 0) {\r\n searchUrl = searchUrl.replace('queryText', dateString);\r\n }\r\n else {\r\n // otherwise, just add on datefiltertype and date types (versionDate only)\r\n searchUrl += dateString;\r\n }\r\n\r\n SCM.SearchResults.doSolrSearch({ queryString: searchUrl });\r\n });\r\n\r\n var isTrue = function(input) {\r\n if (typeof input === 'string') {\r\n return input.toLowerCase() === 'true';\r\n }\r\n\r\n return !!input;\r\n };\r\n\r\n var signUpForAlerts = function () {\r\n var modelValues = {\r\n UserEmail: $('#UserEmail').val(),\r\n ResourceTitle: $('#ResourceTitle').val(),\r\n AlertType: $('#AlertType').val(),\r\n CurrentUserEmail: $('#CurrentUserEmail').val(),\r\n IsUserAlreadySubscribed: isTrue($('#IsUserAlreadySubscribed').val()),\r\n SuccessfulUpdate: $('#SuccessfulUpdate').val(),\r\n ResourceId: $('#ResourceId').val(),\r\n ResourceType: $('#ResourceType').val(),\r\n SearchTerm: $('#SearchTerm').val(),\r\n SearchUrl: $('#SearchUrl').val(),\r\n CurrentAlertContextSiteId: $('#CurrentAlertContextSiteId').val(),\r\n ShowSaveSearchToUnauthenticatedUser: isTrue($('#ShowSaveSearchToUnauthenticatedUser').val()),\r\n UserIsLoggedIn: isTrue($('#UserIsLoggedIn').val())\r\n };\r\n if (modelValues.IsUserAlreadySubscribed != null && modelValues.IsUserAlreadySubscribed) {\r\n var myAccountUrl = $('#Config_SearchAlertMyAccoutUrl').val();\r\n window.location.href = myAccountUrl;\r\n } else if (modelValues.ShowSaveSearchToUnauthenticatedUser && !modelValues.UserIsLoggedIn) {\r\n ShowSignInForSearchAlertSignUp();\r\n isAlertPostCompleted = true;\r\n } else {\r\n $.post('/Toolbox/ToolboxGetAlertsUpdateMessage', modelValues, function (data) {\r\n isAlertPostCompleted = true;\r\n alert('Alert Saved Sucessfully. Visit My Account page to manage your email alerts');\r\n // alert(data);\r\n $('#divSearchAlerts').html(data);\r\n $('#divSearchAlerts a').on('click', function (e) {\r\n e.preventDefault();\r\n signUpForAlerts();\r\n });\r\n });\r\n }\r\n\r\n };\r\n\r\n $updateTarget.on('click', '#divSearchAlerts a', function(e) {\r\n e.preventDefault();\r\n //alert(isAlertPostCompleted);\r\n if (isAlertPostCompleted) {\r\n isAlertPostCompleted = false;\r\n signUpForAlerts();\r\n }\r\n });\r\n \r\n }());\r\n\r\n function initFigureModalContainer(openModal, modalItemToOpen) {\r\n SCM.ArticleImageDetails.init('sr-item-image', openModal, modalItemToOpen);\r\n }\r\n initFigureModalContainer(false, '0');\r\n\r\n //add search functions to SCM.SearchResults\r\n SCM.SearchResults = $.extend(SCM.SearchResults, function ($, undefined) {\r\n\r\n var doSolrSearch = function (myobject) {\r\n\r\n /* The openModal section of code below is needed by SCM.SharedWidgets.ArticleImageDetails.js\r\n * to control opening the next or previous image modal after reloading search results for \r\n * the next or previous page respectively. The value of myobject.openModal indicates\r\n * which modal to open. Typically, this will be 0 for the next page and the index of\r\n * the last image on the previous page (ex. 23 when 0 to 23 items are on a search page).\r\n * After completing the search ajax call, theopenModal state is passed to \r\n * InitFigureModalContainer function which determines whether the image modal is \r\n * opened. \r\n */\r\n var openModal = false;\r\n var modalItemToOpen;\r\n if (myobject.openModal) {\r\n openModal = true;\r\n modalItemToOpen = myobject.openModal;\r\n }\r\n var settings = $.extend(SCM.SearchResults.defaults, myobject);\r\n\r\n // only trigger it on search result page (still not ideal to assume that hash tag is always for search though)\r\n var searchUrlPatt = /\\/(search-results|advanced-search)\\/?$/i;\r\n if (!searchUrlPatt.test(location.pathname) &&\r\n !settings.isNbnj) {\r\n return;\r\n }\r\n\r\n var advancedSearchUrlPattern = /\\/advanced-search\\/?$/i;\r\n if (advancedSearchUrlPattern.test(location.pathname)) {\r\n // User is on the Advanced Search page. Redirect to the Search Results page\r\n var newUrl = '/search-results';\r\n if (settings.baseSiteUrl) {\r\n newUrl = '//' + settings.baseSiteUrl + newUrl;\r\n }\r\n newUrl += '?' + myobject.queryString;\r\n window.location = newUrl;\r\n return;\r\n }\r\n\r\n var $updateTarget = $(settings.updateTargetSelector);\r\n\r\n if (cache[myobject.queryString] && !settings.isNbnj) {\r\n if (!myobject.cacheSearchWithoutUpdatingDom) {\r\n //no need hit the server, we've run the query before in the context of this page\r\n $updateTarget.html(cache[myobject.queryString].results).show();\r\n //need to rebind things that would normally rebind after the ajax post\r\n SCM.SolrSearch.ajaxComplete();\r\n\r\n \r\n bindObjectsOnUpdate(myobject, $updateTarget);\r\n initFigureModalContainer(openModal, modalItemToOpen);\r\n }\r\n // re-run the brightcove script to rebuild thumbnails for video\r\n // but only if there is video on the page!\r\n if ($('.video-js').length) {\r\n SCM.Utilities.Brightcove.init();\r\n }\r\n return;\r\n }\r\n\r\n // change instance name if image tab is showing and add image tab query string if not already there\r\n var imageTabActive = false;\r\n var multimediaGalleryQueryStringValue = SCM.JSUtility.getSearchParamByName('mg');\r\n if (multimediaGalleryQueryStringValue) {\r\n imageTabActive = multimediaGalleryQueryStringValue.toLowerCase() === 'true';\r\n }\r\n if (imageTabActive) {\r\n settings.instanceName = 'OUP_SearchResults_MG';\r\n if (myobject.queryString !== null) {\r\n if (!(myobject.queryString.toLowerCase().indexOf('mg=true') > 0)) {\r\n myobject.queryString = myobject.queryString + '&mg=true';\r\n }\r\n }\r\n }\r\n\r\n // Default back to Page 1 when the search has changed\r\n var page = SCM.JSUtility.getSearchParamByName('page');\r\n if (page && parseInt(page) !== 1) {\r\n myobject.queryString = myobject.queryString.replace('page=' + page, 'page=1');\r\n }\r\n\r\n var ajaxUrl = '/' + settings.controller + '/' + settings.action + '/' + settings.instanceName;\r\n if (typeof settings.baseSiteUrl !== 'undefined' && settings.baseSiteUrl !== '') {\r\n ajaxUrl = '//' + settings.baseSiteUrl + ajaxUrl;\r\n }\r\n ajaxUrl += '?' + myobject.queryString;\r\n\r\n if (settings.isNbnj) {\r\n var bookId = $('#hfCurrentBookId').val();\r\n if (!ajaxUrl.includes('nbnjToc=true') && !ajaxUrl.includes('bookId=' + bookId)) {\r\n ajaxUrl += '&bookId=' + bookId;\r\n }\r\n }\r\n\r\n if (myobject.functionToDoWhileAjaxLoading) {\r\n myobject.functionToDoWhileAjaxLoading(myobject.currentItem);\r\n }\r\n\r\n addSearchCover($('.info-inner-cover'));\r\n \r\n $.get(ajaxUrl).done(function (results) {\r\n if (!myobject.cacheSearchWithoutUpdatingDom) {\r\n $updateTarget.html(results);\r\n }\r\n\r\n removeSearchCover($('.info-inner-cover'));\r\n\r\n cache[myobject.queryString] = {\r\n results: results,\r\n updateTargetSelector: settings.updateTargetSelector\r\n };\r\n\r\n if (!myobject.cacheSearchWithoutUpdatingDom) {\r\n bindObjectsOnUpdate(myobject, $updateTarget);\r\n initFigureModalContainer(openModal, modalItemToOpen);\r\n }\r\n })\r\n .fail(handleAjaxError)\r\n .always(function () {\r\n if (myobject.functionToDoWhileAjaxLoading) {\r\n myobject.functionToDoWhileAjaxLoading(myobject.currentItem);\r\n }\r\n });\r\n\r\n }; // END: doSolrSearch(myobject)\r\n\r\n function addSearchCover($elementToCover) {\r\n $elementToCover.removeClass('uncovered');\r\n $elementToCover.addClass('covered');\r\n }\r\n\r\n function removeSearchCover($coveredElement) {\r\n $coveredElement.removeClass('covered');\r\n $coveredElement.addClass('uncovered');\r\n }\r\n\r\n function handleAjaxError(xmlHttpRequest, textStatus, errorThrown) {\r\n if (window.console) {\r\n console.error(errorThrown);\r\n }\r\n }\r\n\r\n // function to bind objects after ajax call to SOLR or retrieve results from cache\r\n function bindObjectsOnUpdate(myobject, $updateTarget) {\r\n \r\n App.SolrFacet.scrollIfNotInView($updateTarget[0]);\r\n \r\n // Below code is to retain the viewoption selected by client\r\n if (typeof clientViewOption !== 'undefined' && clientViewOption !== '') {\r\n var $sriExpandedView = $('.sri-expandedView');\r\n if (clientViewOption === 'Expanded') {\r\n $sriExpandedView.show();\r\n } else {\r\n $sriExpandedView.hide();\r\n }\r\n }\r\n\r\n\r\n App.SolrFacet.collapseFacets();\r\n toggleTaxonomyChildren();\r\n\r\n // verify if browser supports history.state before using - not supported in Edge\r\n if (window.history.state) {\r\n if (window.history.state.queryString != myobject.queryString) {\r\n window.history.pushState(myobject,\r\n null,\r\n window.location.pathname + '?' + myobject.queryString);\r\n }\r\n }\r\n else {\r\n window.history.pushState(myobject,\r\n null,\r\n window.location.pathname + '?' + myobject.queryString);\r\n }\r\n\r\n if (SCM.JournalCitationFilter) {\r\n SCM.JournalCitationFilter.init();\r\n }\r\n }\r\n\r\n return { doSolrSearch: doSolrSearch };\r\n }(jQuery));\r\n\r\n});","var SCM = SCM || {};\r\n\r\n(function (SolrSearch, $, undefined) {\r\n SolrSearch.ExpandedCollectionSites = [];\r\n // ----\r\n // private variables and functions\r\n // ----\r\n var bodyVar = $('body'),\r\n hfSolrJournalID = $('#hfSolrJournalID'),\r\n hfParentSiteName = $('#hfParentSiteName').val(),\r\n hfGlobalSearchSiteURL = $('#hfGlobalSearchSiteURL').val(),\r\n hfjournalSiteScope = $('#hfJournalSiteScope').val(),\r\n hfparentSiteScope = $('#hfParentSiteScope').val(),\r\n searchSiteID = $('#hfSiteID').val(),\r\n hfParentSiteURL = $('#hfParentSiteUrl').val(),\r\n hfparentSiteID = $('#hfParentSiteID').val(),\r\n siteUrl = $('#hfSiteURL').val(),\r\n hfdefaultSearchURL = $('#hfDefaultSearchURL').val(),\r\n defaultAdvancedSearchUrl = $('#hfDefaultAdvancedSearchUrl').val(),\r\n hfIssueSearch = $('#hfIssueSearch').val(),\r\n hfIssueSiteScope = $('#hfIssueSiteScope').val(),\r\n hfCurrentBookSearch = $('#hfCurrentBookSearch').val(),\r\n hfCurrentBookScope = $('#hfCurrentBookScope').val(),\r\n hfBookSiteScope = $('#hfBookSiteScope').val(),\r\n hfSeriesScope = $('#hfSeriesScope').val(),\r\n hfUmbrellaScope = $('#hfUmbrellaScope').val(),\r\n hfUmbrellaSiteUrl = $('#hfUmbrellaSiteUrl').val(),\r\n hfUmbrellaSiteId = $('#hfUmbrellaSiteId').val(),\r\n hfTaggedCollectionScope = $('#hfTaggedCollectionScope').val(),\r\n searchAcrossOA = '',\r\n queryText = '',\r\n currentSearchScope;\r\n\r\n var selectedSearchFilter = $('.navbar-search-filter :selected');\r\n if (selectedSearchFilter.length) {\r\n currentSearchScope = selectedSearchFilter.val();\r\n }\r\n else { // default to an umbrella search\r\n currentSearchScope = hfUmbrellaScope;\r\n }\r\n\r\n $('.navbar-search-filter, .mobile-navbar-search-filter').on('change', function () {\r\n currentSearchScope = $(this).val();\r\n var selected = $(':selected', this);\r\n searchAcrossOA = (selected.closest('optgroup').attr('class'));\r\n setAdvancedSearchLinkToCurrentSearchScope();\r\n });\r\n\r\n function setAdvancedSearchLinkToCurrentSearchScope() /* void */ {\r\n if (currentSearchScope === hfparentSiteScope) {\r\n // Parent site\r\n $('.js-advanced-search').attr('href', getBaseUrl(hfParentSiteURL) + '/' + getSearchUrl({ baseUrl: defaultAdvancedSearchUrl }));\r\n } else if (currentSearchScope === hfBookSiteScope) {\r\n // Books site\r\n $('.js-advanced-search').attr('href', getBaseUrl() + '/books/' + getSearchUrl({ baseUrl: defaultAdvancedSearchUrl }));\r\n } else if (currentSearchScope === hfjournalSiteScope) {\r\n // Journals site\r\n $('.js-advanced-search').attr('href', getBaseUrl() + '/journals/' + getSearchUrl({ baseUrl: defaultAdvancedSearchUrl, passAllJournals: true }));\r\n } else if (currentSearchScope === hfCurrentBookScope) {\r\n // Curremt book\r\n $('.js-advanced-search').attr('href', getBaseUrl(siteUrl) + '/' + getSearchUrl({ baseUrl: defaultAdvancedSearchUrl, searchSiteId: hfparentSiteID, currentBookSearch: true }));\r\n } else if (currentSearchScope === hfUmbrellaScope) {\r\n // Umbrella\r\n $('.js-advanced-search').attr('href', getBaseUrl(hfUmbrellaSiteUrl) + '/' + getSearchUrl({ baseUrl: defaultAdvancedSearchUrl, searchSiteId: hfUmbrellaSiteId }));\r\n } else if (currentSearchScope.startsWith(hfTaggedCollectionScope)) {\r\n // Tagged Collection search\r\n $('.js-advanced-search').attr('href', getBaseUrl(siteUrl) + '/' + getSearchUrl({ baseUrl: defaultAdvancedSearchUrl, searchSiteId: searchSiteID, taggedCollection: currentSearchScope }));\r\n } else if (currentSearchScope.startsWith(hfSeriesScope)) {\r\n // Series Taxonomy search\r\n $('.js-advanced-search').attr('href', getBaseUrl(siteUrl) + '/' + getSearchUrl({ baseUrl: defaultAdvancedSearchUrl, searchSiteId: searchSiteID, series: currentSearchScope }));\r\n } else if (searchAcrossOA) {\r\n // Oxford Taxonomy umbrella search\r\n $('.js-advanced-search').attr('href', getBaseUrl(hfUmbrellaSiteUrl) + '/' + getSearchUrl({ baseUrl: defaultAdvancedSearchUrl, searchSiteId: searchSiteID, series: currentSearchScope }));\r\n } else if (currentSearchScope !== '') {\r\n // Taxonomy search\r\n $('.js-advanced-search').attr('href', getBaseUrl(siteUrl) + '/' + getSearchUrl({ baseUrl: defaultAdvancedSearchUrl, searchSiteId: searchSiteID, taxonomy: currentSearchScope }));\r\n } else {\r\n // Current site\r\n $('.js-advanced-search').attr('href', getBaseUrl(siteUrl) + '/' + getSearchUrl({ baseUrl: defaultAdvancedSearchUrl, searchSiteId : searchSiteID }));\r\n }\r\n }\r\n\r\n function getBaseUrl(/*string?*/ override) /* -> string */ {\r\n if (!isNullOrEmpty(override)) {\r\n return getUrlProtocol() + override;\r\n } else {\r\n return getUrlProtocol() + window.location.hostname;\r\n }\r\n }\r\n\r\n function getUrlProtocol() /* -> string */ {\r\n return window.location.protocol + '//';\r\n }\r\n\r\n // Used in both iconClickSearch() and keydownSearch()\r\n var testSearchInput = function (inputToTest, scope) {\r\n var autoSuggestRunning = false;\r\n\r\n if (hfParentSiteName !== '') {\r\n doSolrSearch(inputToTest, scope);\r\n } else {\r\n //search term should not be blank\r\n if ($.trim(inputToTest) === '' || inputToTest === null || inputToTest === 'Search OUP') {\r\n alert('Please enter a term to search: ');\r\n return false;\r\n } else if (!autoSuggestRunning && inputToTest) {\r\n doSolrSearch(inputToTest, scope);\r\n return true;\r\n } else {\r\n console.error('Search failed');\r\n return false;\r\n }\r\n }\r\n\r\n }; // END: testSearchInput()\r\n\r\n var doKeywordsTopicsSearch = function (keyword) {\r\n // make sure keyword is wrapped in quotes\r\n if (keyword[0] !== '\"' && keyword[keyword.length - 1] !== '\"') {\r\n keyword = '\"' + keyword + '\"';\r\n }\r\n\r\n var defaultQueryBuilder = 'page=1&qb={Keywords1:' \r\n + encodeURIComponent(keyword)\r\n + '}&SearchSourceType=1';\r\n\r\n var customQueryBuilder = 'cqb=[{%22terms%22:[{%22filter%22:%22Keywords%22,%22input%22:'\r\n + encodeURIComponent(keyword)\r\n + '}]}]&qb={%22Keywords1%22:'\r\n + encodeURIComponent(keyword)\r\n + '}&page=1&searchType=advanced&adv=true';\r\n\r\n var rawSearchUrl = $('.js-custom-queryBuilder').length > 0\r\n ? customQueryBuilder\r\n : defaultQueryBuilder;\r\n\r\n var searchUrl = 'search-results?' + rawSearchUrl;\r\n\r\n if (hfGlobalSearchSiteURL === undefined ||\r\n (hfGlobalSearchSiteURL !== undefined && hfGlobalSearchSiteURL === '')) {\r\n var hfSiteURL = $('#hfSiteURL');\r\n if (hfSiteURL.length) {\r\n searchUrl = '//' + hfSiteURL.val() + '/' + searchUrl; // + boostQueryParm; //new\r\n }\r\n } else {\r\n searchUrl = '//' + hfGlobalSearchSiteURL.val() + searchUrl; // + boostQueryParm; //new \r\n }\r\n\r\n window.location.href = searchUrl;\r\n };\r\n var testKeypress = function (e, scopeToPass, inputToPass) {\r\n if (e.keyCode === 13) {\r\n e.preventDefault();\r\n testSearchInput(inputToPass, scopeToPass);\r\n }\r\n }; // END: testKeypress()\r\n\r\n function doSolrSearch(inquiry, searchScope) {\r\n queryText = encodeURIComponent(inquiry);\r\n\r\n //For Stats purposes, passing in JournalID consistently.\r\n //JournalIDs are expected even when none of the journals is selected.\r\n //Pass the extram parameter to handle Relevancy\r\n var q = '\"' + queryText + '\"';\r\n\r\n //Per TE-6432, removing v=$q from the boost query parameter\r\n //var boostQueryParm = \"&exPrm_qqq={DEFAULT_BOOST_FUNCTION}\" + q;\r\n var boostQueryParm = '' + q;\r\n var searchUrl = '';\r\n var hfSiteURL = '';\r\n if (hfGlobalSearchSiteURL === undefined ||\r\n (hfGlobalSearchSiteURL !== undefined && hfGlobalSearchSiteURL === '')) {\r\n hfSiteURL = $('#hfSiteURL');\r\n } else {\r\n hfSiteURL = hfGlobalSearchSiteURL;\r\n }\r\n if (searchScope === hfjournalSiteScope) { //Search is done across all journals.\r\n searchUrl = '/../journals/' + hfdefaultSearchURL + queryText + '&SearchSourceType=1';\r\n } else if (isNullOrEmpty(searchScope)) { //No Scope\r\n //for Stats purposes, we need to pass in all the journalIDs.\r\n //STATS:instead of passing in all the Journal IDs, just pass allJournals=1 in the querystring\r\n searchUrl = getSearchUrl({ baseUrl: hfdefaultSearchURL, queryText: queryText, searchSiteId: searchSiteID, passAllJournals: true });\r\n if (hfSiteURL.length) {\r\n searchUrl = '//' + hfSiteURL.val() + '/' + searchUrl;\r\n }\r\n } else if (searchScope === hfparentSiteScope) { //Parent Site\r\n searchUrl = '//' + hfParentSiteURL + '/' + getSearchUrl({ baseUrl: hfdefaultSearchURL, queryText: queryText, searchSiteId: hfparentSiteID });\r\n } else if (searchScope === hfIssueSiteScope) { //In Issue Search\r\n searchUrl = getSearchUrl({ baseUrl: hfdefaultSearchURL, queryText: queryText, searchSiteId: searchSiteID, issueSearch: true });\r\n if (hfSiteURL.length) {\r\n searchUrl = '//' + hfSiteURL.val() + '/' + searchUrl;\r\n }\r\n } else if (searchScope === hfCurrentBookScope) { //In Current Book\r\n searchUrl = getSearchUrl({ baseUrl: hfdefaultSearchURL, queryText: queryText, searchSiteId: searchSiteID, currentBookSearch: true });\r\n if (hfSiteURL.length) {\r\n searchUrl = '//' + hfSiteURL.val() + '/' + searchUrl;\r\n }\r\n } else if (searchScope === hfBookSiteScope) { // Search is done across all books.\r\n searchUrl = '/../books/' + hfdefaultSearchURL + queryText + '&SearchSourceType=1';\r\n } else if (searchScope === hfUmbrellaScope) { // Umbrella.\r\n searchUrl = '//' + hfUmbrellaSiteUrl + '/' + getSearchUrl({ baseUrl: hfdefaultSearchURL, queryText: queryText, searchSiteId: hfUmbrellaSiteId });\r\n } else if (searchScope.startsWith(hfSeriesScope)) { //Series Taxonomy\r\n searchUrl = getSearchUrl({ baseUrl: hfdefaultSearchURL, queryText: queryText, searchSiteId: searchSiteID, series: currentSearchScope });\r\n if (hfSiteURL.length) {\r\n searchUrl = '//' + hfSiteURL.val() + '/' + searchUrl;\r\n }\r\n } else if (searchScope.startsWith(hfTaggedCollectionScope)) { //Tagged Collection\r\n searchUrl = getSearchUrl({ baseUrl: hfdefaultSearchURL, queryText: queryText, searchSiteId: searchSiteID, taggedCollection: currentSearchScope });\r\n if (hfSiteURL.length) {\r\n searchUrl = '//' + hfSiteURL.val() + '/' + searchUrl;\r\n }\r\n }\r\n else if (searchAcrossOA) { //Oxford Taxonomy umbrella search\r\n searchUrl = getSearchUrl({ baseUrl: hfdefaultSearchURL, queryText: queryText, searchSiteId: hfUmbrellaSiteId, taxonomy: searchScope });\r\n if (hfSiteURL.length) {\r\n searchUrl = '//' + hfUmbrellaSiteUrl + '/' + searchUrl; // + boostQueryParm; //new\r\n }\r\n } else { //Taxonomy \r\n searchUrl = getSearchUrl({ baseUrl: hfdefaultSearchURL, queryText: queryText, searchSiteId: searchSiteID, taxonomy: searchScope });\r\n if (hfSiteURL.length) {\r\n searchUrl = '//' + hfSiteURL.val() + '/' + searchUrl; // + boostQueryParm; //new\r\n }\r\n }\r\n if (searchUrl !== '') {\r\n searchUrl = updateUrlForProxy(searchUrl);\r\n window.location.href = searchUrl;\r\n }\r\n } // END: doSolrSearch(inquiry, searchScope)\r\n\r\n function updateUrlForProxy(searchUrl) {\r\n var currentHost = window.location.host;\r\n if (searchUrl.startsWith('//')) {\r\n searchUrl = window.location.protocol + searchUrl;\r\n }\r\n else if (searchUrl.startsWith('/')) {\r\n return searchUrl; // don't need to update a relative url\r\n }\r\n var url = new URL(searchUrl);\r\n var urlHost = url.host;\r\n if (currentHost !== urlHost) {\r\n searchUrl = searchUrl.replace(urlHost, currentHost);\r\n }\r\n return searchUrl;\r\n }\r\n\r\n function getSearchUrl(params) /* -> string */ {\r\n \r\n var searchUrl = params.baseUrl;\r\n if (!searchUrl) {\r\n searchUrl = '';\r\n }\r\n if (params.queryText) {\r\n searchUrl += params.queryText;\r\n } else {\r\n searchUrl = searchUrl.replace('&q=', '');\r\n }\r\n if (params.searchSiteId) {\r\n searchUrl += '&fl_SiteID=' + params.searchSiteId;\r\n }\r\n searchUrl += '&SearchSourceType=1';\r\n if (params.passAllJournals) {\r\n searchUrl += '&allJournals=1';\r\n }\r\n if (params.issueSearch) {\r\n if (hfIssueSearch) {\r\n searchUrl += hfIssueSearch;\r\n }\r\n }\r\n if (params.currentBookSearch) {\r\n if (hfCurrentBookSearch) {\r\n searchUrl += hfCurrentBookSearch;\r\n }\r\n }\r\n if (params.series) {\r\n searchUrl += '&' + params.series;\r\n }\r\n if (params.taxonomy) {\r\n searchUrl += '&' + getTaxonomyParameter(params.taxonomy);\r\n }\r\n if (params.taggedCollection) {\r\n searchUrl += '&' + params.taggedCollection;\r\n }\r\n return searchUrl;\r\n }\r\n\r\n function isNullOrEmpty(element) {\r\n return typeof element === 'undefined' || element === undefined || element === null || element === '';\r\n }\r\n\r\n function getTaxonomyParameter(/*string*/ taxonomy) /* -> string */ {\r\n return 'tax=' + taxonomy;\r\n }\r\n\r\n var openSaveSolrSearch = function (solrSearchSaveModel) {\r\n solrSearchSaveModel.foundation('reveal', 'open');\r\n };\r\n\r\n var saveSolrSearchInfo = function (solrSearchSaveModel) {\r\n var txtSolrSearchName = $(solrSearchSaveModel.find('.txtSolrSearchName'));\r\n var ddlSearchAlertFrequency = $(solrSearchSaveModel.find('#ddlSearchAlertFrequency'));\r\n\r\n if ($.trim(txtSolrSearchName.val()) === '' || txtSolrSearchName.val() === null) {\r\n alert('Please enter a name');\r\n return false;\r\n }\r\n\r\n var redirectUrl = $('#hdnSearchSaveRedirectUrl');\r\n var currentUrl = window.location.href;\r\n\r\n var token = $('#SolrSearchAuthToken').val();\r\n var data = JSON.stringify({\r\n searchName: txtSolrSearchName.val(),\r\n url: currentUrl,\r\n scheduleId: ddlSearchAlertFrequency.val(),\r\n redirectUrl: redirectUrl.val(),\r\n token: token\r\n });\r\n var ajaxUrl = '//' + SCM.SearchResults.defaults.baseSiteUrl + '/Solr/SaveSolrSearchInfoWithToken';\r\n\r\n $.ajax({\r\n url: ajaxUrl,\r\n type: 'POST',\r\n dataType: 'json',\r\n cache: false, // to defeat browser URL caching\r\n data: data,\r\n contentType: 'application/json; charset=utf-8',\r\n success: function (result) {\r\n if (result !== null) {\r\n if (result.ReturnId) {\r\n $('#SolrSearchAuthToken').val(result.ReturnId);\r\n }\r\n\r\n if (result.RedirectUrl && result.RedirectUrl.length) {\r\n window.location = result.RedirectUrl;\r\n } else {\r\n alert(result.Html);\r\n solrSearchSaveModel.foundation('reveal', 'close');\r\n }\r\n }\r\n },\r\n error: function (xmlHttpRequest, textStatus, errorThrown) {\r\n if (window.console) {\r\n var err = eval('(' + xmlHttpRequest.responseText + ')');\r\n console.log('error: ' + err);\r\n console.log('status: ' + textStatus);\r\n }\r\n }\r\n });\r\n };\r\n\r\n function buildSaveSearchUiEvent() {\r\n var lnkSaveSolrSearch = $('.lnkSaveSolrSearch'),\r\n solrSearchSaveModel = $('.solrSearchSaveModel'),\r\n btnSolrSearchSave = $('.btnSolrSearchSave'),\r\n txtSolrSearchName = $('.txtSolrSearchName');\r\n\r\n // save solr search. Unbind event before register click event to prevent multiple clicks.\r\n lnkSaveSolrSearch.off('click').on('click', function () {\r\n var isUserLoggedIn = $(this).attr('data-userloggedin');\r\n if (isUserLoggedIn !== undefined && isUserLoggedIn.toLowerCase() === 'false') {\r\n var redirectUrl = $('#hdnSearchSaveRedirectUrl');\r\n var currentUrl = window.location.href;\r\n window.location = redirectUrl.val() + '?returnUrl=' + encodeURIComponent(currentUrl + '#triggerSaveSearch=1');\r\n } else {\r\n openSaveSolrSearch(solrSearchSaveModel);\r\n }\r\n });\r\n btnSolrSearchSave.off('click').on('click', function () { saveSolrSearchInfo($(this).parents('.solrSearchSaveModel')); });\r\n txtSolrSearchName.off('keypress')\r\n .on('keypress',\r\n function (e) {\r\n var code = e.keyCode || e.which;\r\n if (code === 13) {\r\n saveSolrSearchInfo($(this).parents('.solrSearchSaveModel'));\r\n }\r\n });\r\n }\r\n\r\n function restrictedImagesSearch() {\r\n $('div.sri-figure[restricted]')\r\n .each(function () {\r\n $(this).off('contextmenu').on('contextmenu', function () { return false; });\r\n });\r\n }\r\n\r\n //------------------TAXONOMY------------------------------\r\n //TaxonomyBrowse\r\n $(document).on('click', '.js-taxonomy-label:not(.js-taxonomy-checkbox):not(.checkbox-label)', taxonomyItemClick);\r\n $(document).on('click', '.js-taxonomy-checkbox', taxonomyItemClick);\r\n\r\n function taxonomyItemClick(e) {\r\n var $el = $(this);\r\n if ($el.closest('.alert-resource-list-wrapper').length) {\r\n App.TaxonomyFacet.updateTaxonomyTreeModal($el);\r\n return;\r\n }\r\n var currentDataUrl = App.TaxonomyFacet.getTaxonomyUrl($el);\r\n SCM.SearchResults.doSolrSearch({ queryString: currentDataUrl });\r\n }\r\n\r\n function bindUiEvents() {\r\n var micrositeSearchIcon = $('.js-master-header').find('.microsite-search-icon'),\r\n micrositeSearchTerm = $('.js-master-header').find('.microsite-search-term'),\r\n mobileMicrositeSearchIcon = $('.js-master-header').find('.mobile-microsite-search-icon'),\r\n mobileMicrositeSearchTerm = $('.js-master-header').find('.mobile-microsite-search-term'),\r\n bookQuickSearchSearchIcon = $('.js-book-search-icon'),\r\n bookQuickSearchSearchTerm = $('.js-book-search-term'),\r\n umbrellaSearchIcon = $('#UmbrellaSearchIcon'), // icon\r\n umbrellaHomeSearchIcon = $('#UmbrellaHomeSearchIcon'), // home icon\r\n umbrellaSearchTerm = $('#UmbrellaSearchTerm'), // term \r\n umbrellaHomeSearchTerm = $('#UmbrellaHomeSearchTerm'), // home term\r\n articleKeywordSearchTerm = $('.kwd-part'), // article page keyword term\r\n articleTopicSearchTerm = $('.js-qb-topic-keyword-search'), // article page keyword term\r\n umbrellaScope = 'J*'; // J* = all journals (umbrella search) \r\n\r\n // Searches performed when a search icon is clicked\r\n umbrellaSearchIcon\r\n .on('click', function () { testSearchInput(umbrellaSearchTerm.val(), umbrellaScope); });\r\n umbrellaHomeSearchIcon.on('click',\r\n function () { testSearchInput(umbrellaHomeSearchTerm.val(), umbrellaScope); });\r\n micrositeSearchIcon.on('click',\r\n function () { testSearchInput(micrositeSearchTerm.val(), currentSearchScope); });\r\n mobileMicrositeSearchIcon.on('click',\r\n function () { testSearchInput(mobileMicrositeSearchTerm.val(), currentSearchScope); });\r\n bookQuickSearchSearchIcon.on('click',\r\n function () { testSearchInput(bookQuickSearchSearchTerm.val(), hfCurrentBookScope); });\r\n $(document.body).on('click', '.toolbar-search .microsite-search-icon',\r\n function () { testSearchInput($(this).siblings('.microsite-search-term').val(), currentSearchScope); });\r\n\r\n $('.searchLi .icon-search')\r\n .on('click', function () { testSearchInput(micrositeSearchTerm.val(), currentSearchScope); });\r\n articleKeywordSearchTerm.on('click', function () { doKeywordsTopicsSearch($(this).data('keyword')); });\r\n articleTopicSearchTerm.on('click', function () { doKeywordsTopicsSearch($(this).data('topic')); });\r\n\r\n // Searches performed when 'Enter' is pressed\r\n umbrellaSearchTerm.on('keypress',\r\n function (e) { testKeypress(e, umbrellaScope, umbrellaSearchTerm.val()); });\r\n umbrellaHomeSearchTerm.on('keypress',\r\n function (e) { testKeypress(e, umbrellaScope, umbrellaHomeSearchTerm.val()); });\r\n micrositeSearchTerm.on('keypress',\r\n function (e) { testKeypress(e, currentSearchScope, micrositeSearchTerm.val()); });\r\n mobileMicrositeSearchTerm.on('keypress',\r\n function (e) { testKeypress(e, currentSearchScope, mobileMicrositeSearchTerm.val()); });\r\n bookQuickSearchSearchTerm.on('keypress',\r\n function (e) { testKeypress(e, hfCurrentBookScope, bookQuickSearchSearchTerm.val()); });\r\n $(document.body).on('keypress', '.toolbar-search .microsite-search-term',\r\n function (e) { testKeypress(e, currentSearchScope, $(this).val()); });\r\n\r\n } // END: bindUiEvents\r\n\r\n\r\n // ----\r\n // public methods and properties accessible by SCM.[module_name].[method_name]\r\n // ----\r\n SolrSearch.init = function () {\r\n\r\n // If view is ViewLarge this function will break MathJax, therefore we will not execute this on ViewLarge\r\n if (SCM.SiteJS.isPageViewLarge()) {\r\n return;\r\n }\r\n\r\n var searchScope = '';\r\n //$sortDropdown = $('.sort-dropdown'),\r\n //$sortOption = $('.sort-dropdown-option');\r\n\r\n bindUiEvents();\r\n buildSaveSearchUiEvent();\r\n restrictedImagesSearch();\r\n\r\n setAdvancedSearchLinkToCurrentSearchScope();\r\n\r\n // Mobile Search Filters\r\n bodyVar.on('click', '.sf-group-header', function () {\r\n //Search filters are only collapsible on mobile/table viewports\r\n if ($(window).outerWidth() < 1024) {\r\n var $this = $(this);\r\n var $facetHeaderIcon = $this.children('.sf-group-header-icon');\r\n var $facetList = $this.siblings('fieldset').find('.sf-facets, .sf-facet-list, .js-facet-filter-box');\r\n $facetList.slideToggle();\r\n $this.siblings('.taxonomy-child-list').slideToggle();\r\n $facetHeaderIcon.hasClass('icon-general_arrow-right')\r\n ? $facetHeaderIcon.removeClass('icon-general_arrow-right')\r\n .addClass('icon-general_arrow-down')\r\n : $facetHeaderIcon\r\n .removeClass('icon-general_arrow-down')\r\n .addClass('icon-general_arrow-right');\r\n $this.siblings('.js-facet-filter-box').slideToggle();\r\n }\r\n });\r\n\r\n // configure Query Builder on page load\r\n SCM.QueryBuilder.configure();\r\n\r\n if ($(SCM.SearchResults.defaults.updateTargetSelector).length > 0) {\r\n //we're on the search results page so all searches should call the search results search method\r\n SCM.QueryBuilder.defaults.runSearch = function (queryString) {\r\n SCM.SearchResults.doSolrSearch({ queryString: queryString });\r\n };\r\n } else {\r\n\r\n //configure querybuilder for advance search\r\n $('.querybuilder-submit').attr('value', 'Search');\r\n $('.querybuilder-title').text('Build a query');\r\n\r\n SCM.QueryBuilder.defaults.runSearch = function (redirectUrl) {\r\n var searchSiteUrl = $('#hfSiteURL').val();\r\n if (redirectUrl.indexOf('q=') === -1) {\r\n redirectUrl = 'q=' + redirectUrl;\r\n }\r\n window.location = window.location\r\n .protocol +\r\n '//' +\r\n searchSiteUrl +\r\n '/search-results?' +\r\n redirectUrl;\r\n };\r\n }\r\n\r\n // give initial sort order selection a class of 'selected'\r\n $('.sort-dropdown-option:selected').addClass('selected');\r\n\r\n\r\n bodyVar.on('click',\r\n '.sriTopiclink',\r\n function (e) {\r\n queryText = $(this).text();\r\n var searchTerm = queryText.replace(',', ''); // if string ends with coma remove it.\r\n searchScope = currentSearchScope; // hfSolrJournalID.val();\r\n if (searchScope === '' || searchScope === null) {\r\n doSolrSearch(searchTerm, null);\r\n } else {\r\n doSolrSearch(searchTerm, searchScope);\r\n }\r\n e.preventDefault();\r\n }); // END: $body.on('click', '.sriTopiclink', function (e) {})\r\n\r\n //CollectionLink Click (collections.aspx)\r\n $('a.categoryLink').each(function () {\r\n var _href = $(this).attr('href');\r\n var journalId = hfSolrJournalID.val();\r\n if (isNullOrEmpty(journalId)) {\r\n $(this).attr('href', hfGlobalSearchSiteURL + _href);\r\n } else {\r\n //microsite\r\n var journalIdParm = journalId.substr(1, journalId.length);\r\n $(this).attr('href', '/' + _href + '&fd_JournalID=' + journalIdParm);\r\n }\r\n }); // END: $.each(\"a.categoryLink\", function () {})\r\n\r\n\r\n bodyVar.on('click',\r\n '#topicResultsWire',\r\n function (e) {\r\n var query = location.search;\r\n //journalId needs to be removed from query -- it's the last param\r\n query = query.substring(0, query.indexOf('&fd_JournalID'));\r\n window.location.href = hfGlobalSearchSiteURL.val() + 'solr/topicresults.aspx' + query;\r\n }); // END: $body.on('click', '#topicResultsWire', function (e) {})\r\n\r\n bodyVar.on('click',\r\n '.mg-tab',\r\n function (e) {\r\n var tabName = $(this).data('tab');\r\n /* When transitioning between tabs, clear all parameters except free search, siteId, searchSourceType and allJournals elements if present */\r\n var freeSearchValue = SCM.JSUtility.getSearchParamByName('q');\r\n var freeSearchQueryElement = '';\r\n if (freeSearchValue) {\r\n freeSearchQueryElement = '&q=' + freeSearchValue;\r\n }\r\n var queryBuilderValue = SCM.JSUtility.getSearchParamByName('qb');\r\n var queryBuilderElement = '';\r\n if (queryBuilderValue) {\r\n queryBuilderElement = '&qb=' + queryBuilderValue;\r\n }\r\n var customQueryBuilderValue = SCM.JSUtility.getSearchParamByName('cqb');\r\n var customQueryBuilderElement = '';\r\n if (customQueryBuilderValue) {\r\n customQueryBuilderElement = '&cqb=' + customQueryBuilderValue;\r\n }\r\n var siteIdElement = '';\r\n var siteIdValue = SCM.JSUtility.getSearchParamByName('fl_SiteID');\r\n if (siteIdValue) {\r\n siteIdElement = '&fl_SiteID=' + siteIdValue;\r\n }\r\n var searchSourceTypeElement = '';\r\n var searchSourceTypeValue = SCM.JSUtility.getSearchParamByName('SearchSourceType');\r\n if (searchSourceTypeValue) {\r\n searchSourceTypeElement = '&SearchSourceType=' + searchSourceTypeValue;\r\n }\r\n var allJournalsElement = '';\r\n var allJournalsValue = SCM.JSUtility.getSearchParamByName('allJournals');\r\n if (allJournalsValue) {\r\n allJournalsElement = '&allJournals=' + allJournalsValue;\r\n }\r\n var imageQueryStringValue = SCM.JSUtility.getSearchParamByName('mg');\r\n var imageTabActive = false;\r\n if (imageQueryStringValue) {\r\n imageTabActive = (imageQueryStringValue.toLowerCase() === 'true');\r\n }\r\n\r\n var articleDateQueryStringElement = '';\r\n var articleDateQueryStringValue = SCM.JSUtility.getSearchParamByName('rg_ArticleDate');\r\n if (articleDateQueryStringValue) {\r\n articleDateQueryStringElement = '&rg_ArticleDate=' + articleDateQueryStringValue;\r\n }\r\n\r\n var articleDateFilterTypeElement = '';\r\n var articleDateFilterTypeValue = SCM.JSUtility.getSearchParamByName('dateFilterType');\r\n if (articleDateFilterTypeValue) {\r\n articleDateFilterTypeElement = '&dateFilterType=' + articleDateFilterTypeValue;\r\n }\r\n\r\n var baseUrl = window.location.href.split('?')[0];\r\n var fullUrl = baseUrl + '?page=1' + freeSearchQueryElement + siteIdElement +\r\n searchSourceTypeElement + allJournalsElement + articleDateQueryStringElement +\r\n articleDateFilterTypeElement + customQueryBuilderElement + queryBuilderElement;\r\n if (tabName === 'Images' && !imageTabActive) {\r\n window.location.href = fullUrl + '&mg=true';\r\n }\r\n else if (tabName === 'AllResults' && imageTabActive) {\r\n window.location.href = fullUrl;\r\n }\r\n }); // END: $body.on('click', '.mg-tab', function (e) {})\r\n\r\n }; // END: SolrSearch.init()\r\n\r\n /// Refresh Brightcove videos in search results.\r\n /// NOTES:\r\n /// * This is ONLY intended to be used after running a search in ajaxComplete() below.\r\n /// See SCM.Utilities.Brightcove for most use cases.\r\n /// * To minimize repeated attempts to re-initialize, we only initialize videos when at least one \r\n /// Brightcove video can be found in the search results and \r\n /// * the first video is not initialized yet.\r\n /// * OR Brightcove functionality isn't loaded yet.\r\n SolrSearch.RefreshBrightcove = function () {\r\n if ($('#searchResultsPage .brightcove-player').length) {\r\n\r\n // If videojs isn't initialized, then brightcove isn't.\r\n // At the risk of initializing more than once (if already pending),\r\n // we'll just call the code to initialize Brightcove.\r\n // This detects videos to load for us so we can return after calling this.\r\n if (typeof (videojs) === 'undefined') {\r\n SCM.Utilities.Brightcove.init();\r\n return;\r\n }\r\n\r\n // find first video in search results list\r\n var first = $('#searchResultsPage .brightcove-player')[0];\r\n\r\n // fetch without initializing\r\n // see https://docs.brightcove.com/brightcove-player/current-release/module-videojs-videojs.html\r\n var player = videojs.getPlayer(first);\r\n\r\n // don't initialize any players if at least one is already initialized\r\n if (!player) {\r\n SCM.Utilities.Brightcove.init(); // OUP-specific\r\n }\r\n\r\n }\r\n };\r\n\r\n SolrSearch.ajaxComplete = function () {\r\n buildSaveSearchUiEvent();\r\n restrictedImagesSearch();\r\n SCM.QueryBuilder.configure();\r\n SCM.SiteJS.initSearchResultsSort();\r\n SCM.PublicationDateFilter.init();\r\n SCM.CollectionFacet.toggleCollectionParent();\r\n SCM.BookPartTitleFacet.toggleBookPartTitleParent();\r\n SCM.CustomQueryBuilder.init();\r\n\r\n // NARN-16871 - re-initialize brightcove after search page is loaded\r\n SolrSearch.RefreshBrightcove();\r\n \r\n // NARN-16772: Re-install mobile left column events.\r\n // Note: There's a bug in the code where events can keep getting registered at top level.\r\n // We can't prevent it without refactoring the code. We can try to call only when we have to, however.\r\n if ($('.page-column--left').not('[data-client-solrsearch-event-registered]').length) {\r\n SCM.SiteJS.toggleResponsiveLeftColumn();\r\n $('.page-column--left').attr('data-client-solrsearch-event-registered', 'true');\r\n }\r\n if (bodyVar.hasClass('pg_SearchResults')) {\r\n SCM.LazyLoadAd.loadAds();\r\n }\r\n };\r\n \r\n if ($('#hfNbnjToc').val()) {\r\n SCM.SearchResults.defaults\r\n .updateTargetSelector = '#ContentTab';\r\n SCM.SearchResults.defaults\r\n .isNbnj = true;\r\n SCM.SearchResults.defaults\r\n .controller = \"Page\";\r\n SCM.SearchResults.defaults\r\n .action = \"NbnjBookSearch\";\r\n SCM.SearchResults.defaults\r\n .instanceName = \"Nbnj_BookToc\";\r\n }\r\n else {\r\n SCM.SearchResults.defaults.instanceName = 'OUP_SearchResults';\r\n SCM.SearchResults.defaults\r\n .updateTargetSelector = '#searchResultsPage'; // overwrite default value of '#divSearch'\r\n }\r\n\r\n var baseSiteURL = $('#hfSiteURL');\r\n\r\n if (typeof baseSiteURL !== 'undefined' && baseSiteURL.val() !== '') {\r\n SCM.SearchResults.defaults.baseSiteUrl = baseSiteURL.val();\r\n }\r\n\r\n SCM.SolrSearch.init();\r\n\r\n})(SCM.SolrSearch = SCM.SolrSearch || {}, jQuery);\r\n\r\n","var SCM = SCM || {};\r\nvar App = App || {};\r\n\r\n(function(iou, $, scmLocalStorage, undefined) {\r\n var instOpenUrlKey = 'instOpenUrlKey_';\r\n var instOpenUrlNoDOIKey = 'instOpenUrlNoDOIKey_';\r\n var instOpenUrlBaseUrlKey = 'instOpenUrlBaseUrlKey_';\r\n \r\n iou.replaceOpenUrlPlaceHolders = function ($openUrlPlaceHolderElements, replaceLinkHtml) {\r\n if (replaceLinkHtml && $openUrlPlaceHolderElements.length) {\r\n $openUrlPlaceHolderElements.each(function () {\r\n var $placeholder = $(this);\r\n var targetId = $placeholder.attr('data-targetId');\r\n var finalLinkHtml = replaceLinkHtml.replace('{openUrlTargetId}', targetId);\r\n $placeholder.html(finalLinkHtml);\r\n $placeholder.parent().show().removeClass('empty-target');\r\n });\r\n }\r\n };\r\n\r\n iou.replaceOpenUrlNonDOIPlaceHolders = function ($openUrlPlaceHoldersNoDOIElements, baseUrl, replaceHtml) {\r\n if (replaceHtml && $openUrlPlaceHoldersNoDOIElements.length) {\r\n $openUrlPlaceHoldersNoDOIElements.each(function () {\r\n var $placeholder = $(this);\r\n var $target = $placeholder.find(\".js-open-url-link\");\r\n if ($target.length) {\r\n var targetUrlTemplate = $target.attr('data-href-template');\r\n if (targetUrlTemplate && targetUrlTemplate.length) {\r\n var targetUrl = targetUrlTemplate.replace('{targetURL}', baseUrl);\r\n $target.attr('href', targetUrl);\r\n $target.removeAttr('data-href-template');\r\n $target.html(replaceHtml);\r\n // display the link\r\n $placeholder.parent().show().removeClass('empty-target');\r\n } \r\n }\r\n });\r\n }\r\n };\r\n\r\n iou.replaceFindInMyLibraryOpenUrlPlaceHolders = function (baseUrl) {\r\n if (baseUrl && baseUrl.length) {\r\n $('.js-openurl-library-link').each(function() {\r\n $(this).removeClass('hide');\r\n var href = $(this).attr('href');\r\n $(this).attr('href', baseUrl + href);\r\n });\r\n }\r\n };\r\n \r\n iou.getAndReplaceOpenUrlPlaceHolders = function ($openUrlPlaceHolderElements, $openUrlPlaceHoldersNoDOIElements) {\r\n\r\n if ($('#openUrlUpdated').length) {\r\n return;\r\n }\r\n $('#ContentColumn').append(\"\");\r\n var ajaxUrl = \"/ThirdParty/InstitutionOpenUrlTemplate\";\r\n var target = \"target='_blank'\";\r\n var imageAlt = \"OpenURL Link\";\r\n // If Sigma is enabled, use the url for the Sigma implementation.\r\n // Sigma information on Confluence: https://confluence.silverchair.com/display/NTS/Sigma+integration+with+Oxford+Academic\r\n var $oupSigmaHeader = $('.oup-header.sigma');\r\n if ($oupSigmaHeader.length) {\r\n ajaxUrl = \"/Accounts/SigmaOpenUrl\";\r\n target = \"\";\r\n imageAlt = \"Find in my library\";\r\n }\r\n\r\n $.ajax({\r\n type: \"POST\",\r\n url: ajaxUrl,\r\n dataType: 'json',\r\n success: function (resultObject) {\r\n if (!resultObject) {\r\n return;\r\n }\r\n\r\n // json result object properties\r\n // TargetUrl, DisplayOpenUrlLink, LinkImageSource, LinkImageText, BaseUrl\r\n var replacelink = '';\r\n var nonDOIreplaceLink = '';\r\n if (resultObject.DisplayOpenUrlLink) {\r\n if (resultObject.LinkImageSource) {\r\n replacelink = \" \" + imageAlt +\" \";\r\n nonDOIreplaceLink = \"\" + imageAlt +\"\";\r\n } else {\r\n replacelink = \" \" + resultObject.LinkImageText + \" \";\r\n nonDOIreplaceLink = resultObject.LinkImageText;\r\n }\r\n }\r\n // now loop through each placeholder\r\n iou.replaceOpenUrlPlaceHolders($openUrlPlaceHolderElements, replacelink);\r\n iou.replaceOpenUrlNonDOIPlaceHolders($openUrlPlaceHoldersNoDOIElements, resultObject.BaseUrl, nonDOIreplaceLink);\r\n iou.replaceFindInMyLibraryOpenUrlPlaceHolders(resultObject.BaseUrl);\r\n // now that we determined replacement link, store it in session storage\r\n if (scmLocalStorage\r\n && window.sessionStorage\r\n && window.App.LoginUserInfo\r\n && window.App.LoginUserInfo.currentSessionId) {\r\n\r\n scmLocalStorage.setItem(instOpenUrlKey + window.App.LoginUserInfo.currentSessionId,\r\n replacelink,\r\n window.sessionStorage);\r\n scmLocalStorage.setItem(instOpenUrlNoDOIKey + window.App.LoginUserInfo.currentSessionId,\r\n nonDOIreplaceLink,\r\n window.sessionStorage);\r\n scmLocalStorage.setItem(instOpenUrlBaseUrlKey + window.App.LoginUserInfo.currentSessionId,\r\n resultObject.BaseUrl,\r\n window.sessionStorage);\r\n }\r\n },\r\n error: function (errdata) {\r\n $('#openUrlUpdated').remove();\r\n }\r\n });\r\n };\r\n \r\n iou.checkAndReplaceOpenUrlPlaceHolders = function () {\r\n\r\n // 1) it depends on App.LoginUserInfo.IsInstLoggedIn value to determine if institution is logged in\r\n // that object should be initialized and values set at master page level.\r\n // 2) If institution is logged in and also if there are any instOpenUrlPlaceHolders\r\n // then do ajax call to get openUrlTemplate for logged in institution\r\n\r\n if (window.App.LoginUserInfo && window.App.LoginUserInfo.isInstLoggedIn > 0) {\r\n // check if article has any openurl templates wtih dois\r\n var $openUrlPlaceHolders = $('.inst-open-url-holders');\r\n // check if article has any openurl templates wtih no dois\r\n var $openUrlPlaceHoldersNoDOI = $('.js-inst-open-url-holders-nodoi');\r\n // check for library links\r\n var $libraryLinks = $('.js-openurl-library-link');\r\n if ($openUrlPlaceHolders.length || $openUrlPlaceHoldersNoDOI.length || $libraryLinks.length) {\r\n // now check html5 session storage\r\n // if value exists get replacementLinkHtml, if not go get\r\n var storedLink = null;\r\n if (scmLocalStorage && window.sessionStorage && window.App.LoginUserInfo.currentSessionId) {\r\n //if we have one, we should have the other\r\n var storedLink = scmLocalStorage.getItem(instOpenUrlKey + window.App.LoginUserInfo.currentSessionId,\r\n window.sessionStorage);\r\n var storedNoDOILink = scmLocalStorage.getItem(\r\n instOpenUrlNoDOIKey + window.App.LoginUserInfo.currentSessionId,\r\n window.sessionStorage);\r\n var storedUrl = scmLocalStorage.getItem(\r\n instOpenUrlBaseUrlKey + window.App.LoginUserInfo.currentSessionId,\r\n window.sessionStorage);\r\n }\r\n // Need to have all 3 since they are stored together. If one is gone, should re-fetch them\r\n if (storedLink && storedNoDOILink && storedUrl) {\r\n iou.replaceOpenUrlPlaceHolders($openUrlPlaceHolders, storedLink);\r\n iou.replaceOpenUrlNonDOIPlaceHolders($openUrlPlaceHoldersNoDOI, storedUrl, storedNoDOILink);\r\n } else {\r\n iou.getAndReplaceOpenUrlPlaceHolders($openUrlPlaceHolders, $openUrlPlaceHoldersNoDOI);\r\n }\r\n }\r\n }\r\n };\r\n\r\n iou.init = function () {\r\n // articleFullText widget will leave placeholders for each openUrl token found in reference sectionxml\r\n // if an institution logged in, this script will get a urltemplate based institutionOpenUrl settings and \r\n // replace these placeholders with template populated with appropriate values\r\n iou.checkAndReplaceOpenUrlPlaceHolders();\r\n };\r\n})(SCM.InstitutionOpenUrl = SCM.InstitutionOpenUrl || {}, jQuery, SCM.Utilities.LocalStorage)","var SCM = SCM || {};\r\n\r\n(function (aft, $, iou, bc) {\r\n var widgetWrap = $('#ArticleFullTextWrap');\r\n var hasAccess = false;\r\n\r\n if (widgetWrap && widgetWrap.attr('data-userHasAccess')) {\r\n hasAccess = widgetWrap.attr('data-userHasAccess').toLowerCase() === 'true';\r\n }\r\n\r\n // for un-authenticated users, replace reveal-modal links (such as links to references) with spans\r\n // since the target of the link is likely to be missing when the user is only viewing an abstract\r\n aft.replaceContentLinks = function() {\r\n if (!hasAccess) {\r\n var contentLinks = widgetWrap.find('a[data-reveal-id]');\r\n contentLinks.each(function () {\r\n $(this).replaceWith(function () {\r\n var anchorHtml = this.innerHTML;\r\n return '' + anchorHtml + '';\r\n });\r\n });\r\n }\r\n };\r\n // initialize functionality\r\n aft.init = function () {\r\n aft.replaceContentLinks();\r\n bc.init();\r\n iou.init();\r\n };\r\n})(SCM.ArticleFulltext = SCM.ArticleFulltext || {}, jQuery, SCM.InstitutionOpenUrl, SCM.Utilities.Brightcove);\r\n","var SCM = SCM || {};\r\n\r\n(function (bcmv, $, iou) {\r\n\r\n // new class created for future functionality\r\n // initialize functionality\r\n bcmv.init = function () {\r\n iou.init();\r\n };\r\n})(SCM.BookChapterMainView = SCM.BookChapterMainView || {}, jQuery, SCM.InstitutionOpenUrl);\r\n","var SCM = SCM || {};\r\nSCM.BookToc = SCM.BookToc || {};\r\n\r\n(function (ns, $) {\r\n\r\n var $focusElement;\r\n\r\n ns.init = function () {\r\n ns.registerHeadingsEvents();\r\n ns.checkAccess();\r\n if ($('#hfIsBookTocSlim').val()) {\r\n ns.addNotesTocLink();\r\n $('.js-tocLink.active').last().attr('aria-current', 'true'); // set the latest active heading to current for left rail\r\n }\r\n };\r\n\r\n ns.registerHeadingsEvents = function () {\r\n $(document).on('click', '.js-show-headings-button', onHeadingsClick);\r\n $(document).on('click', '.js-show-book-parts', onBookPartHeadingsClick);\r\n\r\n // for chapter left rail TOC\r\n if ($('#hfIsBookTocSlim').val()) {\r\n $(document).on('click', '.js-tocLink:not(.book-part-only)', onHeadingsClick);\r\n }\r\n };\r\n\r\n ns.checkAccess = function () {\r\n if ($('.chapter-user-restricted').length) {\r\n var $activeLink = $('.js-tocLink.active');\r\n if ($activeLink.length) {\r\n var $chapterLink = $activeLink.closest('.js-toc-chapter-link');\r\n // turn off the chapter subheading links and make them spans\r\n $chapterLink.find('.js-jumplink').addClass('hide').removeAttr('href');\r\n $chapterLink.find('.js-jumplink-span').removeClass('hide');\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * manually add the Notes link in the Chapter TOC if end notes widget exists and has data\r\n */\r\n ns.addNotesTocLink = function () {\r\n var $endNotes = $('#endNotesTargetLocation').find('.widget-items');\r\n var $footNotes = $('#chapter-footnotes');\r\n var $chapterLink = $('.js-tocLink.active:last');\r\n // special case where you are on an end matter page that is not in left rail \r\n // due to null title, but you still have to navigate to it with next/prev\r\n // no chapter will be active, so you don't want to hide the headings\r\n if ($chapterLink.length) {\r\n var $chapterSections = $chapterLink.closest('.js-toc-chapter-link');\r\n if ($chapterSections.length) {\r\n var $endNotesLink = $chapterSections.find('.js-toc-notes-link');\r\n var $footNotesLink = $chapterSections.find('.js-toc-footnotes-link');\r\n\r\n if ($endNotes.length && $endNotes.html().trim() != '' && $endNotesLink.length) {\r\n $endNotesLink.removeClass('hide');\r\n SCM.JumpLinks.registerNotesTocLink('#endNotesTargetLocation', 'js-notes-link-end-notes');\r\n }\r\n\r\n if ($footNotes.length && $footNotesLink.length) {\r\n $footNotesLink.removeClass('hide');\r\n SCM.JumpLinks.registerNotesTocLink('#chapter-footnotes', 'js-notes-link-chapter-footnotes');\r\n }\r\n\r\n if (shouldHideExpandButton($chapterSections, $endNotes, $footNotes)) {\r\n $chapterSections.find('.js-show-headings-button').addClass('hide');\r\n }\r\n }\r\n else {\r\n $('.js-show-headings-button').addClass('hide');\r\n }\r\n }\r\n };\r\n\r\n ns.onHeadingsClick = onHeadingsClick;\r\n ns.onBookPartHeadingsClick = onBookPartHeadingsClick;\r\n\r\n function shouldHideExpandButton($chapterSections, $endNotes, $footNotes) {\r\n return !$endNotes.length &&\r\n !$footNotes.length &&\r\n !$chapterSections.find('.js-toc-chapter-link:not(.hide)').length;\r\n }\r\n\r\n function onHeadingsClick(e) {\r\n var $icon = $(e.target).find('.js-show-headings-icon');\r\n if (!$icon.length) {\r\n $icon = $(e.target).closest('.js-nav-tree-item').find('.js-show-headings-icon').first();\r\n }\r\n if (!$icon.length) {\r\n console.error('.js-show-headings-icon not found');\r\n return;\r\n }\r\n\r\n var sectionId = $icon.data('sectionid');\r\n if (!sectionId) {\r\n console.error('sectionid not found');\r\n return;\r\n }\r\n\r\n var targetUrl = $icon.data('targeturl');\r\n if (!targetUrl) {\r\n console.error('targeturl not found');\r\n return;\r\n }\r\n var $placeholder = $('.js-headings-placeholder[data-sectionid=' + sectionId + ']');\r\n if (!$placeholder.length) {\r\n console.error('.js-headings-placeholder not found');\r\n return;\r\n }\r\n\r\n // needed so that split-view and standard view arrow icons stay in sync\r\n var $icons = $('.js-show-headings-icon[data-sectionid=' + sectionId + ']');\r\n var $parentAnchors = $('.tocLink[aria-owns$=' + sectionId + ']');\r\n var $screenReaderPrompts = $parentAnchors.siblings('.js-nav-tree-toggle').find('.screenreader-text');\r\n\r\n // If we expanded to show the headings\r\n if ($icon.hasClass('icon-general-arrow-filled-right')) {\r\n // If we haven't fetched the headings yet\r\n if (!$placeholder.children().length) {\r\n var url = window.location.origin + '/Book/ChapterHeadings';\r\n $.ajax({\r\n url: url,\r\n data: {\r\n chapterId: sectionId,\r\n targetUrl: targetUrl,\r\n BypassOutputCache: IsBypassOutputCacheEnabled()\r\n }\r\n }).done(function (ajaxResponse) {\r\n if (!ajaxResponse || !ajaxResponse.length) {\r\n return;\r\n }\r\n $placeholder.append(ajaxResponse);\r\n }).fail(function (xmlHttpRequest, textStatus) {\r\n if (window.console && window.console.error) {\r\n console.error('error: ' + xmlHttpRequest.responseText);\r\n console.error('status: ' + textStatus);\r\n $icons.removeClass('icon-general-arrow-filled-down');\r\n $icons.addClass('icon-general-arrow-filled-right');\r\n $icons.addClass('disabled');\r\n return;\r\n }\r\n });\r\n }\r\n\r\n $icons.removeClass('icon-general-arrow-filled-right');\r\n $icons.addClass('icon-general-arrow-filled-down');\r\n $parentAnchors.attr('aria-expanded', 'true');\r\n $screenReaderPrompts.text('Collapse');\r\n\r\n } else if ($icon.hasClass('icon-general-arrow-filled-down')) {\r\n\r\n $icons.removeClass('icon-general-arrow-filled-down');\r\n $icons.addClass('icon-general-arrow-filled-right');\r\n $parentAnchors.attr('aria-expanded', 'false');\r\n $screenReaderPrompts.text('Expand');\r\n }\r\n\r\n $placeholder.toggleClass('hide');\r\n }\r\n\r\n function onBookPartHeadingsClick(e) {\r\n var $button = $(e.target).closest('.js-show-book-parts');\r\n\r\n var $icon = $button.find('.js-show-book-parts-icon');\r\n if (!$icon.length) {\r\n console.error('.show-book-parts-icon not found');\r\n return;\r\n }\r\n\r\n var sectionId = $icon.data('sectionid');\r\n if (!sectionId) {\r\n console.error('sectionid not found');\r\n return;\r\n }\r\n\r\n var $placeholder = $('.collections-child-list[data-sectionid=' + sectionId + ']');\r\n\r\n var $screenReaderPrompts = $icon.find('.screenreader-text');\r\n\r\n if ($icon.hasClass('icon-general-arrow-filled-right')) {\r\n $icon.removeClass('icon-general-arrow-filled-right');\r\n $icon.addClass('icon-general-arrow-filled-down');\r\n $button.attr('aria-expanded', 'true');\r\n $screenReaderPrompts.text('Collapse');\r\n } else if ($icon.hasClass('icon-general-arrow-filled-down')) {\r\n $icon.removeClass('icon-general-arrow-filled-down');\r\n $icon.addClass('icon-general-arrow-filled-right');\r\n $button.attr('aria-expanded', 'false');\r\n $screenReaderPrompts.text('Expand');\r\n }\r\n\r\n $placeholder.toggleClass('hide');\r\n }\r\n\r\n function IsBypassOutputCacheEnabled() /* -> boolean */ {\r\n return window.location.search.toLowerCase().indexOf('bypassoutputcache=true') > -1;\r\n }\r\n\r\n})(SCM.BookToc.Headings = SCM.BookToc.Headings || {}, jQuery);","var SCM = SCM || {};\r\n\r\n(function (ns, headings, iou, $) {\r\n\r\n ns.init = function () {\r\n headings.init();\r\n iou.init();\r\n };\r\n\r\n ns.goToPageHandler = function () {\r\n $('#goToPageNumberBook, #goToPageNumber').on('click', function (e) {\r\n $('.pageError').hide();\r\n var pageNumber = $('#pageNumberEntry').val();\r\n if (pageNumber.length) {\r\n var $page = $(`a[name=\"page-${pageNumber}\"]`);\r\n // If it's on this page and not a page on the current chaper page, don't need \r\n // to find the chapter on the server side\r\n var $pageMatch = $(`a[name=\"page-${pageNumber}\"]`).closest('#endNotesTargetLocation');\r\n\r\n if (!$pageMatch.length && $page && $page.length) {\r\n window.location.hash = `page-${pageNumber}`;\r\n $('#pageNumberEntry').val('');\r\n }\r\n else {\r\n var baseUrl = App.CurrentSubdomain.length ? '/' + App.CurrentSubdomain : '';\r\n $.ajax({\r\n url: baseUrl + '/Content/GoToBookPage',\r\n cache: false,\r\n data: {\r\n bookId: $('#pageNumberEntry').attr('data-bookid'),\r\n pageNum: pageNumber\r\n },\r\n dataType: 'json',\r\n success: function (response) {\r\n if (response.Success) {\r\n window.location = response.RedirectURL;\r\n }\r\n else {\r\n $('.pageError').text(response.ErrorMessage).show();\r\n }\r\n }\r\n });\r\n }\r\n }\r\n else {\r\n // nothing entered\r\n $('.pageError').text('Please enter a page number').show();\r\n }\r\n });\r\n };\r\n\r\n // On Document.Ready - init\r\n $(function () {\r\n ns.init();\r\n ns.goToPageHandler();\r\n\r\n });\r\n\r\n})(SCM.BookToc = SCM.BookToc || {},\r\n SCM.BookToc.Headings = SCM.BookToc.Headings || {},\r\n SCM.InstitutionOpenUrl = SCM.InstitutionOpenUrl || {}, jQuery);","var Theme = Theme || {};\nSCM.Utilities = SCM.Utilities || {};\n\nTheme.ArticleAbstract = (function ($) {\n\n return {\n init: _init\n };\n\n function _init() {\n initAbstractClickEvent();\n }\n\n function initAbstractClickEvent() {\n $('.master-main').on('click', '.js-show-abstract', handleClickEvent);\n }\n\n function handleClickEvent(e) {\n var $currTarget = $(e.currentTarget);\n var articleId = $currTarget.data('articleid');\n var isLayAbstract = $currTarget.data('is-lay-abstract') === 'True';\n var $abstractLocation = _getAbstractLocation(articleId, isLayAbstract);\n var $abstractLinks = $(`#abstract-${articleId}-links`);\n var isAbstractAlreadyFetchedFromServer = $currTarget.data('tried-to-fetch-abstract') === 'True';\n var ajaxUrl = _getAjaxUrl($currTarget, isLayAbstract);\n var ajaxData = {\n articleId: articleId,\n layAbstract: isLayAbstract\n };\n \n $abstractLocation.closest('.js-abstract-parent').toggleClass('abstractExpanded');\n\n\n if (!isAbstractAlreadyFetchedFromServer) {\n _fetchAbstractHtmlFromServer();\n }\n\n $abstractLocation.toggleClass('hide');\n _toggleAbstractAria();\n _toggleAbstractIcon();\n _toggleAriaExpanded();\n\n function _fetchAbstractHtmlFromServer() {\n SCM.Ajax.get(ajaxUrl, ajaxData)\n .expectActionResultModel()\n .then(_populateAbstractHtml)\n .catch(console.error)\n .finally(function () {\n $currTarget.data('tried-to-fetch-abstract', 'True');\n });\n\n function _populateAbstractHtml(ajaxResponse) {\n let actionResult = ajaxResponse;\n $abstractLocation.html(actionResult.Html);\n $abstractLocation.append($abstractLinks.html());\n _handleClickEventForTabs();\n if (SCM.Utilities.Brightcove && SCM.Utilities.Brightcove.init) {\n SCM.Utilities.Brightcove.init();\n }\n if (Theme.Utilities && Theme.Utilities.Cadmore && Theme.Utilities.Cadmore.loadCadmoreVideos) {\n Theme.Utilities.Cadmore.loadCadmoreVideos($abstractLocation, actionResult.Data);\n }\r\n SCM.SiteJS.abstractMathJax();\n }\n }\n\n function _toggleAbstractIcon() {\n var $currTargetAbstractIcon = $currTarget.find('.js-abstract-toggle-icon');\n var toggleIconClass = $currTargetAbstractIcon.data('icon-class');\n var downArrow = `${toggleIconClass}-down`;\n var upArrow = `${toggleIconClass}-up`;\n\n $currTargetAbstractIcon.toggleClass(downArrow);\n $currTargetAbstractIcon.toggleClass(upArrow);\n\n if (!$abstractLocation.hasClass('hide')) {\n //get adobe analytics if its enabled and we're revealing the abstract (not closing it)\n if (window.digitalData) {\n SCM.AdobeAnalytics.sendAdobeAnalyticsProductData(articleId);\n }\n }\n }\n function _toggleAbstractAria() {\n if ($abstractLocation.hasClass('hide')) {\n $abstractLocation.attr('aria-hidden', 'true');\r\n } else {\n $abstractLocation.attr('aria-hidden', 'false');\r\n }\r\n }\n\n function _toggleAriaExpanded() {\n $currTarget.attr('aria-expanded', $currTarget.attr('aria-expanded') === 'false' ? 'true' : 'false');\n }\n }\n\n function _getAbstractLocation(articleId, isLayAbstract) {\n if (isLayAbstract) {\n return $(`.js-layabstract#abstract-${articleId}`);\n } else {\n return $(`#abstract-${articleId}`);\n }\n }\n\n function _getAjaxUrl($linkContext, isLayAbstract) {\n var ajaxUrl = '';\n\n var baseSiteUrl = _getBaseSiteUrl();\n if (baseSiteUrl) {\n ajaxUrl += '//' + baseSiteUrl;\n }\n\n if (isLayAbstract) {\n ajaxUrl += '/PlatformArticle/ArticleLayAbstractAjax';\n } else if ($linkContext.data('abstract-type') === 'extract') {\n ajaxUrl += '/PlatformArticle/ArticleAbstractOrExtractAjax';\n } else {\n ajaxUrl += '/PlatformArticle/ArticleAbstractAjax';\n }\n\n return ajaxUrl;\n }\n\n function _getBaseSiteUrl() {\n var $field = $('#hfSiteURL');\n if (!$field.length) {\n return null;\n }\n\n return $field.val();\n }\n\n function _handleClickEventForTabs() {\n var $tabs = $('.js-tabs');\n var $container = $tabs.parents('.js-abstract-response-placeholder');\n $container.addClass('removePad');\n $(document).on('click', '.js-abstract-tab-link', function(e) {\n var $target = $(e.target);\n var $context = $target.closest('.js-abstract-response-placeholder');\n var $parent = $target.closest('.js-abstract-tab-link-wrap');\n var $content = $context.find('.js-tabs-content .js-abstract-tab-content-wrap');\n var tabNum = $parent.index();\n\n _switchTabLinks($context, $parent);\n _switchTabContent($content, tabNum);\n });\n }\n\n function _switchTabLinks($context, $clickedLink) {\n $context.find('.js-abstract-tab-link-wrap').removeClass('is-active');\n $clickedLink.addClass('is-active');\n }\n\n function _switchTabContent($content, tabNum) {\n $content.removeClass('is-active');\n $content.eq(tabNum).addClass('is-active');\n }\n\n})(jQuery);\n","var Theme = Theme || {};\n\nTheme.BookAbstract = (function ($) {\n\n return {\n init: _init\n };\n\n function _init() {\n initBookAbstractClickEvent();\n }\n\n function initBookAbstractClickEvent() {\n $('.master-main').on('click', '.js-showBookAbstractLink', handleClickEvent);\n }\n\n function handleClickEvent(e) {\n var $currTarget = $(e.currentTarget);\n var $wrapperDiv = $currTarget.closest('[data-book-abstract-to-be-fetched-wrapper]');\n var bookId = $wrapperDiv.attr('data-bookid-abstract');\n var $triedFetchDiv = $wrapperDiv.children('[data-tried-to-fetch-abstract]').first();\n var triedFetch = $triedFetchDiv.attr('data-tried-to-fetch-abstract') === 'true';\n var $abstractLocation = $(`#abstract-${bookId}`);\n var $baseSiteUrl = $('#hfSiteURL');\n var $abstractLinks = $(`#abstract-${bookId}-links`);\n var ajaxUrl = $currTarget.parent().attr('data-link-book-abstract-type') == 'extract' ? '/Book/BookAbstractOrExtractAjax' : '/PlatformBook/BookAbstractAjax';\n var ajaxData = {\n bookId: bookId\n };\n\n if ($baseSiteUrl && $baseSiteUrl.val()) {\n ajaxUrl = '//' + $baseSiteUrl.val() + ajaxUrl;\n }\n\n $abstractLocation.closest('li').toggleClass('abstractExpanded');\n $abstractLocation.toggleClass('hide');\n _toggleAriaExpanded();\n\n if (!triedFetch) {\n _fetchBookAbstract();\n $triedFetchDiv.attr('data-tried-to-fetch-abstract', 'true');\n }\n\n function _fetchBookAbstract() {\n SCM.Ajax.get(ajaxUrl, ajaxData)\n .expectActionResultModel()\n .then(_populateBookAbstractDropdown)\n .catch(console.error);\n }\n\n function _populateBookAbstractDropdown(ajaxResponse) {\n $abstractLocation.html(ajaxResponse.Html);\n $abstractLocation.append($abstractLinks.html());\n }\n\n function _toggleAriaExpanded() {\n $currTarget.attr('aria-expanded', $currTarget.attr('aria-expanded') === 'false' ? 'true' : 'false');\n }\n\n var $thisAbstractIcon = $wrapperDiv.find('.abstract-toggle-icon');\n var $downArrow = 'icon-general-arrow-filled-down';\n var $upArrow = 'icon-general-arrow-filled-up';\n\n $thisAbstractIcon.hasClass($downArrow) ? $thisAbstractIcon.removeClass($downArrow).addClass($upArrow) : $thisAbstractIcon.removeClass($upArrow).addClass($downArrow);\n\n }\n\n})(jQuery);\n","var Theme = Theme || {};\n\nTheme.ChapterAbstract = (function ($) {\n\n return {\n init: _init\n };\n\n function _init() {\n initChapterAbstractClickEvent();\n }\n\n function initChapterAbstractClickEvent() {\n $('.master-main').on('click', '.js-showChapterAbstractLink', function (e) {\n let $curentTarget = $(e.currentTarget);\n let $wrapperDiv = $curentTarget.closest('div[data-chapter-abstract-to-be-fetched-wrapper]');\n let chapterId = $wrapperDiv.attr('data-chapterid-for-abstract');\n let bookId = $wrapperDiv.attr('data-bookid-for-abstract');\n let $triedFetchDiv = $wrapperDiv.children('div[data-tried-to-fetch-abstract]').first();\n let triedFetch = $triedFetchDiv.attr('data-tried-to-fetch-abstract') === 'true';\n let $abstractLocation = $(`#abstract-${chapterId}`);\n let $baseSiteUrl = $('#hfSiteURL');\n let abstractLinks = $(`#abstract-${chapterId}-links`);\n let ajaxData = { chapterId: chapterId, bookId: bookId };\n let ajaxUrl = $curentTarget.parent().attr('data-link-chapter-abstract-type') == 'extract' ? '/PlatformBook/ChapterAbstractOrExtractAjax' : '/PlatformBook/ChapterAbstractAjax';\n let $thisAbstractIcon = $wrapperDiv.find('.abstract-toggle-icon');\n let toggleIconClass = $thisAbstractIcon.attr('data-icon-class');\n let downArrow = `${toggleIconClass}-down`;\n let upArrow = `${toggleIconClass}-up`;\n\n if ($baseSiteUrl && $baseSiteUrl.val()) {\n ajaxUrl = '//' + $baseSiteUrl.val() + ajaxUrl;\n }\n\n $abstractLocation.closest('li').toggleClass('abstractExpanded');\n\n if (!triedFetch) {\n _fetchAbstractData();\n }\n\n $abstractLocation.toggleClass('hide');\n $thisAbstractIcon.toggleClass(downArrow);\n $thisAbstractIcon.toggleClass(upArrow);\n _toggleAriaExpanded();\n\n function _fetchAbstractData() {\n SCM.Ajax.get(ajaxUrl, ajaxData)\n .expectActionResultModel()\n .ensureSuccess()\n .then(_populateAbstractLocation)\n .then(_setTriedFetchDivToTrue)\n .catch(console.error);\n }\n\n function _populateAbstractLocation(ajaxResponse) {\n $abstractLocation.html(ajaxResponse.Html);\n $abstractLocation.append(abstractLinks.html());\n }\n\n function _setTriedFetchDivToTrue() {\n $triedFetchDiv.attr('data-tried-to-fetch-abstract', 'true');\n }\n\n function _toggleAriaExpanded() {\n $curentTarget.attr('aria-expanded', $curentTarget.attr('aria-expanded') === 'false' ? 'true' : 'false');\n }\n\n });\n }\n\n})(jQuery);\n","var SCM = SCM || {};\r\n\r\n(function (ns, $) {\r\n ns.init = function () {\r\n $('.js-google-preview-ref-link').show();\r\n $('.js-worldcat-preview-ref-link').show();\r\n $('.js-copac-preview-ref-link').show();\r\n ns.showParagraphCitations();\r\n };\r\n\r\n ns.showParagraphCitations = function () {\r\n var activeElement = undefined;\r\n var $siblings = undefined;\r\n $('.js-citation-links').off('click');\r\n $('.js-citation-links').on('click', function (e) {\r\n e.stopPropagation();\r\n activeElement = document.activeElement;\r\n $siblings = $(this).siblings('.citation-wrap');\r\n if ($siblings.is(':visible')) {\r\n $siblings.removeClass('show-inline').addClass('hidden');\r\n }\r\n else {\r\n // close any other open ones first\r\n $('.citation-wrap').removeClass('show-inline').addClass('hidden');\r\n $siblings.removeClass('hidden').addClass('show-inline');\r\n var $citationLinks = $siblings.find('.citation-links a:visible');\r\n if ($citationLinks.length) {\r\n $citationLinks[0].focus();\r\n }\r\n }\r\n });\r\n $(document).on('click', function () {\r\n if ($siblings !== undefined) {\r\n $siblings.removeClass('show-inline').addClass('hidden');\r\n if (activeElement !== undefined) {\r\n activeElement.focus();\r\n }\r\n $siblings = undefined;\r\n }\r\n });\r\n };\r\n})(SCM.RefLinks = SCM.RefLinks || {}, jQuery);\r\n\r\n","var SCM = SCM || {};\nSCM.CustomQueryBuilder = (function($) {\r\n\r\n return {\r\n init: init,\r\n queryBuilderHandler: queryBuilderHandler\r\n };\n\n function init() {\r\n // register handler\r\n $('.js-querybuilder-add-term').off('click').on('click', addTermClick);\r\n };\n \n function addTermClick() {\r\n \r\n // show next instance of QueryBuilder\r\n var $nextToShow = $('.querybuilder-instance.hide:first');\r\n var $operatorsInstanceID = $nextToShow.find('.operator-options');\r\n var $andOp;\r\n if ($operatorsInstanceID !== undefined && $operatorsInstanceID.length > 0) {\r\n $operatorsInstanceID.removeClass('hide');\r\n var $andOp = $operatorsInstanceID.find('input[id^=\"andOp-qbInstance\"]')\r\n $andOp.prop('checked', true);\r\n }\r\n $nextToShow.removeClass('hide');\r\n if ($andOp) {\r\n $andOp.focus();\r\n }\r\n else {\r\n $('#queryBuilderSubmit').focus();\r\n }\r\n if ($('.querybuilder-instance.hide').length === 0) {\r\n $('.js-querybuilder-add-term').attr('disabled', '');\r\n }\r\n }\n\n function queryBuilderHandler() {\n var queryString = '';\n var currentDataUrl = $('.querybuilder-submit').attr('data-current-url');\n var oldQueryParams = currentDataUrl.split('&');\n // strip out params since we're starting a new query and cqb\n var paramsToRemove = ['fd_IsLatestEdition', 'cqb', 'qb', 'page', 'q'];\n\n var queryParams = oldQueryParams.filter(function (el) {\n var paramType = el.split('=')[0];\n return (paramsToRemove.indexOf(paramType) < 0);\n });\n\n queryParams = buildQB(queryParams);\n\n queryParams.push('page=1');\n var param = queryParams.filter(function (el) {\n return el.startsWith('searchType');\n });\n if (!param) {\n queryParams.push('searchType=advanced');\n }\n param = queryParams.filter(function (el) {\n return el.startsWith('adv');\n });\n if (!param) {\n queryParams.push('adv=true');\n }\n\n queryString = queryParams.join('&');\n return queryString;\n\n };\n\n function buildQB(queryParams) {\n var jsonObj = [];\n\n var group = {};\n var terms = [];\n\n var qbObject = {};\n var instanceIndex = 1;\n var qbObjectInitialized = false;\n var $operator;\n\n $('.querybuilder-wrap .querybuilder-instance').not('.hide').each(function (i) {\n var $this = $(this);\n //find the search term \n var $qbInputElement = $this.find('input[id^=\"instance_QueryBuilderSearchTerm\"]');\n var qbInputElementVal = $qbInputElement.val().trim();\n\n // if an uneven number of quotes, remove them all so backend doesn't choke\n if ((qbInputElementVal.match(/\\\"/g) || []).length % 2 !== 0) {\n qbInputElementVal = qbInputElementVal.replace(/\\\"/g, '');\n }\n\n // remove quotes for processing\n var qbSearchTerm = qbInputElementVal.replace(/^\"(.*)\"$/, '$1');\n var searchTerm = encodeURIComponent(qbSearchTerm);\n\n // Only process the terms that have values\n if (qbSearchTerm.length > 0) {\n\n var keyOperatorOrdinal = 'qOp' + instanceIndex;\n // add conditional to the group (if exists)\n if ($operator !== undefined && $operator.length > 0) {\n qbObject[keyOperatorOrdinal] = $operator.val();\n }\n\n var exactMatch = false;\n // If it has quotes, it's an exact match\n if (/[^']*'$/.test(qbInputElementVal) || /[^\"]*\"$/.test(qbInputElementVal)) {\n exactMatch = true;\n }\n\n //get the text and value for the selected radio button\r\n var qbSearchTypeFieldName = '';\r\n var $qbSearchTypeFieldOption = $this.find('input[name^=\"querybuilder-facet-\"]:checked');\r\n if ($qbSearchTypeFieldOption.length) {\r\n qbSearchTypeFieldName = $qbSearchTypeFieldOption.val(); \r\n }\r\n\n var term = {};\n $operator = $this.find('[name^=operator-]:checked');\n // add conditional to the group (if exists)\n if ($operator !== undefined && $operator.length > 0) {\n // if OR, create a new grouping\n if ($operator.val() === 'OR') {\n if (terms.length) {\n // ensures that the first term in a group does not contain the condition property\n if (terms[0].condition) {\n delete terms[0].condition;\n }\n group['terms'] = terms;\n jsonObj.push(group);\n terms = [];\n group = {};\n }\n group['condition'] = $operator.val();\n }\n else {\n term['condition'] = $operator.val();\n }\n qbObject[keyOperatorOrdinal] = $operator.val();\n }\r\n\n term['filter'] = qbSearchTypeFieldName;\n term['input'] = searchTerm;\n if (exactMatch) {\n term['exactMatch'] = true;\r\n }\n terms.push(term);\n\n if (qbInputElementVal.trim() !== '') {\n var key = qbSearchTypeFieldName + instanceIndex;\n\n if (qbSearchTypeFieldName === '') {\n // No filter selected\n key = 'q';\n if (instanceIndex !== 1) {\n key = key + instanceIndex;\n }\n }\n if (exactMatch) {\n key = key + '-exact';\r\n }\n qbObject[key] = searchTerm;\n qbObjectInitialized = true;\n }\n instanceIndex++;\n } \n });\n if (terms.length) {\n // ensures that the first term in a group does not contain the conditon property\n if (terms[0].condition) {\n delete terms[0].condition;\n }\n group['terms'] = terms;\n jsonObj.push(group);\n }\n // ensures that the first group in the obj does not contain the condition property\n if (jsonObj.length) {\n if (jsonObj[0].condition) {\n delete jsonObj[0].condition;\n }\n }\n\n var jsonObjStr = JSON.stringify(jsonObj);\n queryParams.push('cqb=' + jsonObjStr);\n if (qbObjectInitialized) {\n var qbObjectParmsStr = JSON.stringify(qbObject);\n queryParams.push('qb=' + qbObjectParmsStr);\n }\n return queryParams;\n }\r\n\r\n})(jQuery);","// ----\n// JS for SCM Pagination.\n// ----\n\nvar SCM = SCM || {};\n\nSCM.Pagination = (function ($)\n{\n return {\n init: init,\n performAjaxPagination: performAjaxPagination,\n updateBrowseHistory: updateBrowseHistory,\n enableBrowserHistoryNavigation: enableBrowserHistoryNavigation,\n trimEndUntilRegexMatches: trimEndUntilRegexMatches,\n scrollToTop: scrollToTop\n };\n\n function init() {\n if ($('.js-pagination-click').length) {\n $('body').on('click',\n '.js-pagination-click',\n function () {\n var clickedElem = $(this);\n\n var handler = clickedElem.data('click-handler');\n var parts = handler.split('.');\n\n //window[App or SCM][WidgetName][functionName]\n window[parts[0]][parts[1]][parts[2]](clickedElem);\n });\n }\n }\n\n function scrollToTop() {\n $(window).scrollTop(0);\n }\n\n // Assumes the click handler has created the ajaxSettings, and that the clicked Element has been passed back\n function performAjaxPagination(ajaxSettings, clickedElem) {\n var elemLocatorString = clickedElem.data('elem-to-replace');\n\n if (elemLocatorString) {\n var elementToReplace = $(clickedElem.data('elem-to-replace'));\n\n if (elementToReplace) {\n $.ajax(ajaxSettings)\n .done(function(html) {\n elementToReplace.html(html);\n })\n .fail(function(xmlHttpRequest, textStatus, errorThrown) {\n if (window.console) {\n // this really helps with debugging during development\n console.error('error: ' + xmlHttpRequest.responseText);\n console.error('status: ' + textStatus);\n }\n });\n } else {\n alert('Unable to find an element to respond to ajax response.');\n }\n } else {\n alert(\n \"The elem-to-replace data attribute was not populated. You must populate this in the Widget's view to pass back the call to performAjaxPagination\");\n }\n }\n\n // baseUrl is the url of the page if the page number is not included\n // newUrl includes the page number of the pagination element that was just clicked\n function updateBrowseHistory(baseUrl, newUrl) {\n var state = { pagination: newUrl };\n\n if (history.pushState) {\n\n // handles the first load of the page\n if (history.state === null || !history.state.pagination) {\n history.replaceState({ pagination: document.URL}, null, document.URL);\n }\n\n history.pushState(state, null, newUrl);\n }\n }\n\n // Adds an event listener that will cause the page to reload when pressing the back (or fwd) button. Only use if you've been updating the browser history\n function enableBrowserHistoryNavigation() {\n window.addEventListener('popstate', function (e) {\n if (e.state && history.state.pagination) {\n window.location = e.state.pagination;\n }\n });\n }\n\n // convenience method to help trim the baseUrl (in cases where pagination adds a page number to the url)\n function trimEndUntilRegexMatches(url, regex) {\n while (!url.match(regex)) {\n url = url.substr(0, url.length - 1);\n\n if (url.length === 0) {\n alert('SCM.Pagination.trimEndUntilRegexMatches: ' +\n 'The entire string was trimmed, this likely indicates a problem with your regex pattern. ' +\n 'Note: This method expects a regular expression literal (see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions)');\n return '';\n }\n }\n\n return url;\n }\n\n})(jQuery);\n\njQuery(function () {\n SCM.Pagination.init();\n});","\nvar SCM = SCM || {};\n\nSCM.CitedByPagination = (function ($) {\n\n var baseUrl;\n var articleId;\n\n return {\n init: init,\n handlePaginationClick: handlePaginationClick\n };\n\n function init() {\n if ($('.widget-CrossRefCitedBy').length) {\n baseUrl = SCM.Pagination.trimEndUntilRegexMatches(document.URL.valueOf(), /[a-zA-Z]\\/\\d+$/);\n articleId = getArticleIdFromUrl(baseUrl);\n\n SCM.Pagination.enableBrowserHistoryNavigation();\n }\n }\n\n function getArticleIdFromUrl(baseUrl) {\n return baseUrl.match(/[a-zA-Z]\\/(\\d+)$/)[1];\n }\n\n function handlePaginationClick(jqElement) {\n SCM.Pagination.updateBrowseHistory(baseUrl, baseUrl + '/' + jqElement.data('clicked-page'));\n\n var ajaxSettings = {\n type: 'POST',\n url: (App.CurrentSubdomain.length ? '/' + App.CurrentSubdomain : '') +\n '/ThirdParty/CrossRefCitedBy/' +\n jqElement.data('parent-instance'),\n cache: false,\n data: {\n selectedPage: jqElement.data('clicked-page'),\n articleId: articleId\n }\n };\n\n SCM.Pagination.performAjaxPagination(ajaxSettings, jqElement);\n }\n\n})(jQuery);\n\njQuery(function () {\n SCM.CitedByPagination.init();\n});","var SCM = SCM || {};\r\n(function (ns) {\r\n \r\n var $errorBox = $('.js-invalid').length ? $('.js-invalid') : undefined;\r\n\r\n ns.PerformCalculation = function ($this, otherInputElementClassName, operation) {\r\n if (!$this || !$this.length) { \r\n return;\r\n }\r\n \r\n var $wrapper = $this.closest('tr');\r\n var tablePos = $this.hasClass('js-si-right') ? 'js-si-right' : 'js-si-left';\r\n var $invalidBox = $wrapper.find('.js-invalid.' + tablePos);\r\n\r\n if (isNaN($this.val())) {\r\n $this.addClass('invalid');\r\n if ($errorBox !== undefined) {\r\n if (!$invalidBox.length) {\r\n $invalidBox = $errorBox.clone();\r\n $invalidBox.addClass(tablePos).appendTo($wrapper);\r\n }\r\n displayErrorFlyout($this, $invalidBox, tablePos);\r\n }\r\n return;\r\n }\r\n $wrapper.find('.invalid').each(function(index) {\r\n $(this).removeClass('invalid');\r\n });\r\n $wrapper.find('.js-invalid').each(function(index) {\r\n $(this).addClass('hide');\r\n $(this).removeClass('at-invalidInputFlyout');\r\n });\r\n\r\n var $otherInput = $wrapper.find(otherInputElementClassName);\r\n if ($otherInput.length) {\r\n $otherInput.val(getComputedValue($this, $wrapper, operation));\r\n }\r\n };\r\n\r\n function displayErrorFlyout($this, $invalidBox, tablePos) {\r\n \r\n var pos = $this.position();\r\n $invalidBox.removeClass('hide');\r\n $invalidBox.addClass('at-invalidInputFlyout');\r\n var topPos = pos.top - $invalidBox.outerHeight() - 4; // subtract 4 for border \r\n var leftPos = pos.left - 4; // subtract 4 for red border\r\n var arrowClass = 'a-left';\r\n if (tablePos === 'js-si-right') {\r\n var inputWidth = $this.outerWidth();\r\n var boxWidth = $invalidBox.outerWidth();\r\n leftPos = pos.left - (boxWidth - inputWidth) + 4; // add 4 for red border\r\n arrowClass = 'a-right';\r\n } \r\n $invalidBox.find('.arrow-down').addClass(arrowClass);\r\n $invalidBox.css({top: topPos, left: leftPos});\r\n \r\n }\r\n\r\n function getComputedValue($this, $wrapper, operation) {\r\n var $calcElement = $wrapper.find('.js-si-calc');\r\n if (!$calcElement.length) {\r\n return;\r\n }\r\n \r\n var calc = $calcElement.attr('data-calc');\r\n return $this.val() === '' ? '' : operation($this.val(), calc).toFixed(2);\r\n }\r\n\r\n})(SCM.SiConversionCalculator = SCM.SiConversionCalculator || {});\r\n\r\n\r\n$(function () {\r\n\r\n $(document.body).on('input', '.js-si-left', function () {\r\n SCM.SiConversionCalculator.PerformCalculation($(this), '.js-si-right', function(x, y) {\r\n return x * y;\r\n });\r\n });\r\n\r\n $(document.body).on('input', '.js-si-right', function () {\r\n SCM.SiConversionCalculator.PerformCalculation($(this), '.js-si-left', function (x, y) {\r\n return x / y;\r\n });\r\n });\r\n\r\n});","//--------DOCUMENTATION--------\r\n//This widget has 2 modes for the view: 1) a condensed version, and 2) a full version. By default, only the condensed \r\n//version is shown, and the full version is called via AJAX from within the short version.\r\n\r\n// Dependencies:\r\n//1. CDN Chartist.CSS \r\n//2. CDN Chartist.js