{"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","SCM.FocusRestore.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","$thisLabel","filterId","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","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","logErrors","openPDF","PDFUrl","$noAccessModal","checkArticlePDFAccess","articlePdfAnchor","ajaxUrl","seoUrl","dataObj","traditional","access","data-reveal-id","articleUrl","articldeID","errorThrown","checkIssuePDFAccess","issuePdfAnchor","issuePurchaseUrl","issueId","revisedIssuePurchaseUrl","issueUrl","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","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","$dataLegacyTarget","hrefWithoutHash","$contentTarget","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","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","FocusRestore","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","eval","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","observer","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","STORAGE_KEY","EXPIRATION_TIME_MS","FOCUSIN_DELAY","KEYBOARD_FOCUS_DELAY","RESTORE_FOCUS_DELAY","lastFocusedSelector","keyboardFocus","focusedElement","storeFocusData","current","selectorPart","nthChild","sibling","element1","element2","classes1","classes2","focusedElementSelector","storedData","expiration","clearFocusData","$elementToFocus","pageInfo","1","_scm","runTestsOnJsDebug","runTests","performance","immutable","testMethod","Map","yield","iterator","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 () {\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) {\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($) {\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) {\r\n if (window.console) {\r\n try {\r\n var err = JSON.parse(jqXHR.responseText);\r\n console.error('error: ' + err);\r\n } catch (e) {\r\n console.error('error parsing response: ' + e.message);\r\n }\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\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 () {\r\n $('hypothesis-sidebar').css('display', 'none');\r\n })\r\n .catch(function () {\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) => {\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 ($) {\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.error('jqXhr.responseText: ' + jqXhr.responseText);\r\n console.error('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 var $dataLegacyTarget = $('[data-legacy-id=\"' + hrefWithoutHash + '\"]');\r\n var $contentTarget = $('[content-id=\"' + hrefWithoutHash + '\"]');\r\n $target = $dataLegacyTarget.length !== 0 ? $dataLegacyTarget : $contentTarget;\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 $(this).find('.linked-name').append('');\r\n $(this).find('.linked-name-byline').append('');\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 SCM.FocusRestore.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