{"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","$leftNav","$toolbarWrap","mobileToolbarHeight","$stickyElements","$header","$adBannerTop","$adTopConfig","$adRightConfig","$adDelayMilliseconds","$useAdTopDelay","$mainPage","$rightRailAdContainer","$rightRailAd","$sitewideBanner","pageYOffset","leftNavStickyOffset","onScroll","_isToolbarCloned","updateStickyElements","isPageArticle","isPageArticlesByGroup","isPageIssue","isPageSearch","isPageBook","isPageChapter","isPageSiConversionCalculator","desktopHeaderAndOffsetHeight","mobileHeaderAndOffsetHeight","$issueDropdownWrap","issueDropdownBottomMargin","getViewportWidth","$clone","hasRightRailAd","isPageViewLarge","guardianAdHeight","hasTopAd","headerBoundY","sitewideBannerHeight","$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","$breadcrumbsWrap","newId","nextAll","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","loadSignInForm","loginUrl","captchaInstNum","$desktopSignInForm","GetLoginUrl","GetCaptchaInstanceNumber","captchaInstanceNumber","UpdateLoginForm","$mobileSignInLink","$mobileSignInArrow","$desktopInstitution","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","removeEmpty","$elements","showPdfOnlyLink","$innerPdfOnly","$newLink","triggerSaveSearchModelOnRedirect","ariaToggleTable","ariaTarget","$ariaControl","$ariaIcon","initAriaControls","abstractMathJax","typesetPromise","$commentModalSpinner","$commentFormError","resetCommentFormValidation","commentForm","UserCommentView","isUserLoggedIn","authorInput","selfServeContentId","selfServeVersionId","$termsCondition","affiliation","disclosures","isValid","comment","commentBody","commentBodyCharLimit","bShowDisclosure","showAffiliations","author","affInstitutions","disclosure","recaptchaChallege","recaptchaResponse","instanceName","InstanceName","isNotModerated","change","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","hfApplyLatestEditionSearchFacet","hfIsLatestBookEdition","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","applyLatestEditionSearchFacet","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 var $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 var $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 var $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 () {\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 $leftNav;\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 $rightRailAdContainer;\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 () {\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) { 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) {\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) {\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) {\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) {\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) {\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 var $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 () {\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 window.top.location.assign(redirectUrl);\r\n }\r\n })\r\n .fail(function () {\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 var $mobileSignInLink = $('.mobile-account-dropdown ul li .mobile-account-signin'),\r\n $mobileSignInArrow = $('.mobile-account-dropdown ul li i.mobile-nav-arrow'),\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 () {\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 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 (var 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 (var 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.error(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 function showTermsAndConditions (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 function validateTermsCheckbox() {\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 function validateCommentForm() {\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 function resetCommentForm() {\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 function resetCommentFormValidation() {\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 function submitCommentValues() {\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 ($) {\r\n var $resizeTimer,\r\n $pageColumnLeft = $('.page-column--left'),\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 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 () {\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 () {\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 () {\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 () {\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 hfApplyLatestEditionSearchFacet = $('#hfApplyLatestEditionSearchFacet').val(),\r\n hfIsLatestBookEdition = $('#hfIsLatestBookEdition').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 let applyLatestEditionSearchFacet = '';\r\n if (hfIsLatestBookEdition.toLowerCase() === 'true') {\r\n applyLatestEditionSearchFacet = hfApplyLatestEditionSearchFacet.toLowerCase();\r\n }\r\n searchUrl = getSearchUrl({ baseUrl: hfdefaultSearchURL, queryText: queryText, searchSiteId: searchSiteID, currentBookSearch: true, applyLatestEditionSearchFacet: applyLatestEditionSearchFacet });\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 \r\n if (searchScope === '') {\r\n searchUrl = applyLatestEditionSearchFacet(searchUrl, hfSiteURL);\r\n }\r\n \r\n if (searchUrl !== '') {\r\n searchUrl = updateUrlForProxy(searchUrl);\r\n window.location.href = searchUrl;\r\n }\r\n \r\n } // END: doSolrSearch(inquiry, searchScope)\r\n \r\n function applyLatestEditionSearchFacet(searchUrl, hfSiteURL) {\r\n if (hfApplyLatestEditionSearchFacet.toLowerCase() !== 'true') {\r\n return searchUrl;\r\n }\r\n \r\n searchUrl = getSearchUrl({baseUrl: hfdefaultSearchURL, queryText: queryText, searchSiteId: searchSiteID, applyLatestEditionSearchFacet: hfApplyLatestEditionSearchFacet.toLowerCase()});\r\n if (hfSiteURL.length) {\r\n searchUrl = '//' + hfSiteURL.val() + '/' + searchUrl;\r\n }\r\n \r\n return searchUrl;\r\n }\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 if (params.applyLatestEditionSearchFacet === 'true') {\r\n searchUrl += '&LatestEditionOnly=true';\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