{"version":3,"sources":["externallinks.js","gutenberg-accordion.js","gutenberg-carousel.js","gutenberg-cta.js","gutenberg-events.js","gutenberg-expander.js","gutenberg-group.js","gutenberg-header.js","gutenberg-journalcomparison.js","gutenberg-selector.js","gutenberg-tabtogglecontent.js","gutenberg-tfoifa.js","gutenberg-tts.js","gutenberg-twitter.js","gutenberg-youtube.js"],"names":["jQuery","document","ready","$","init","console","log","blank_links","new_text","each","attr","old_title","new_title","setTimeout","ACCORDION","thisInstance","instance","prototype","on","parent","find","toggleClass","btn","length","JTFCAROUSEL","navigateCarousel","inner","position","innerChildren","childWidth","width","css","changeBackgroundImage","targetSlide","currentSlide","arguments","undefined","targetBackgroundImage","currentBackgroundImage","blockContainer","staticBackground","tempBackground","show","fadeOut","changeAriaDisplayStates","self","setActiveDot","active","removeClass","parseInt","addClass","removeAttr","moveToNextSlide","prev","disablePreviousArrow","moveToPrevSlide","disable","previousArrowClass","loadCarousel","autoSlide","autoSlideCarousel","autoSlideDelay","interval","setInterval","mouseenter","clearInterval","html","unbind","keyup","e","which","generateNavigation","slideCount","sibling","grandParent","carouselContainer","currentPosition","styleAttr","arrowData","arrowStyle","before","append","after","x","removeNavigation","container","reboot","panelItemCount","itemWidth","window","childElCount","display","jtfCarouselAdmin","CTA","resizeOnWindowChange","parents","thisWidth","height","resize","EVENTSGMAP","context","id","geocoder","gmom","map","getCoords","address","get","data","renderOpenMap","coords","location","lat","lon","mapOptions","center","zoom","L","layer","TileLayer","marker","addTo","addLayer","google","maps","Geocoder","latlng","LatLng","Map","getElementById","codeAddress","getAttribute","geocode","results","status","setCenter","geometry","Marker","warn","EXPANDER","classExpanderBlock","classStringHeader","classStringContent","classStringToggle","classStringExpand","contentElem","toggleElem","classExpand","animationTime","hasClass","slideUp","slideDown","GROUPBLOCK","_classCallCheck","onActionEvents","_createClass","key","value","isInViewport","target","elementTop","offset","top","viewportTop","scrollTop","viewportBottom","HEADER","JOURNALCOMPARISON","_defineProperty","category","xhr","XMLHttpRequest","open","buttonColour","highlightColour","onload","response","JSON","parse","currentTarget","setRangeMax","reduceResults","send","reorderResults","parentElement","val","datalistValue","filter","ajaxJournals","thisType","hideJournal","checked","is","totalCheckedFilters","setFilterCounts","resultsCounter","visibleItemsBefore","not","resultCounter","thisEle","focus","counter","currentJournalCount","contentItems","restrictedItems","disabledItems","visibleItems","enabledItems","potentials","elementCheckbox","firstFilter","secondFilter","thirdFilter","prop","showFirstSlider","showSecondSlider","showThirdSlider","findHighestData","thisDataType","thisDataTitle","highestOfType","highestValue","thisValue","promise","done","Object","keys","currentAttr","conditions","that","dataPoint","label","push","includes","sliderValue","dataLabel","orderedResults","toStore","dataAttr","sort","a","b","localeCompare","numeric","element","version","blocktype","replace","acceptance","citescore","if","ifbq","if5","snip","sjr","firstdec","postdec","onlinepub","downloads","citequart","oa","clickMap","thisBlock","JTFSELECTOR","Math","ceil","currentSelection","children","preventDefault","TABTOGGLECONTENT","items","item","blockName","itemName","hideAllContent","targetElement","closest","itemContent","blockNameClass","itemNameClass","hide","fadeIn","TFOIFA","classTfoIfaBlock","instanceId","constructButtonHref","acronym","apc","title","button","href","processed_title","toLowerCase","ifaButton","aasbutton","stopPropagation","TEXTTOSPEACH","getAudioFromServer","_asyncToGenerator","_regeneratorRuntime","mark","_callee","fetchResponse","fetchResponseData","fetchRequest","playerId","wrap","_callee$","_context","next","method","headers","fetch","localObject","jtfRegKey","sent","ok","Error","concat","json","createAudioPlayer","t0","stop","_ref2","_callee2","audioUrl","audioElement","_callee2$","_context2","remove","createElement","controls","autoplay","src","appendChild","addEventListener","dataLayer","_x","_x2","apply","TWITTER","shuffle","array","currentIndex","temporaryValue","randomIndex","floor","random","getSuffix","date","addUrl","text","setImage","images","split","ajax","url","dataType","success","lazyLoadBgImage","media_details","sizes","medium","source_url","image_url","callback","entries","observer","forEach","entry","isIntersecting","options","root","rootMargin","threshold","IntersectionObserver","observe","rand","hashtags","loop_limit","tagEle","class","trim","handle","_json$","monthNames","Date","dayNumber","getDate","month","getMonth","handleIconContainer","tweetHandle","tweetBird","tweetData","tweetDate","mediaItem","YOUTUBE","thisAspectH","thisAspectW","oneOfThisWidth","newHeight","tabId","videoID","videoType"],"mappings":"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","file":"script-common.min.js","sourcesContent":["//To add screen reader text to the title attr when a link is set to open a new window\n\njQuery( document ).ready( function( $ ) {\n\n\tfunction init() {\n\t\tconsole.log('JTF External Links V1.1');\n //Find ALL links on a page that are set to open a new window\n if ( $( 'a[target=\"_blank\"]' ) ) {\n //store the links\n var blank_links = $( 'a[target=\"_blank\"]' );\n //the text to be added to the title attr\n var new_text = 'opens a new window';\n\n //now loop through all links found\n $( blank_links ).each( function () {\n if ( $( this ).attr( 'title' ) ) { // $() | $(this)\n //if a title attr exists get the attr, store it and then add the new_text to it\n\n var old_title = $( this ).attr( 'title' );\n var new_title = old_title + ' ' + new_text;\n\n $( this ).attr( 'title', new_title );\n } else {\n //if a title attr doesn't exist, create one\n $( this ).attr( 'title', new_text );\n }\n })\n }\n }\n\t// Set delay so that Yoast can load, before executing the code\n\tsetTimeout(\n\t\tfunction() {\n\t\t\tinit();\n\t\t},\n\t\t2000\n\t);\n});\n\n\n","jQuery( document ).ready( function ( $ ) {\n\tfunction ACCORDION( thisInstance ) {\n\t\tconsole.log( '[JTF Gut Block - JS] jtf/jtf-accordion v2.1' )\n\t\tthis.instance = thisInstance\n\t\tthis.init()\n\t}\n\n\tACCORDION.prototype.init = function () {\n\t\t$( document ).on( 'click', '.jtf__accordionblock--trigger', function () {\n\t\t\t//console.log('jtf__accordionblock--trigger')\n\t\t\tlet parent = $( this ).parent()\n\n\t\t\tparent.find( '.jtf__accordionblock__content' ).toggleClass( 'jtf__accordionblock__content-reveal' )\n\t\t\tparent.find( '.jtf__accordionblock--icon' ).toggleClass( 'fa-angle-down' )\n\t\t\tparent.find( '.jtf__accordionblock--icon' ).toggleClass( 'fa-angle-up' )\n\n\t\t\tvar btn = $( this ).find( \":button\" )\n\t\t\tbtn.attr( 'aria-expanded' ) === 'true' ? btn.attr( 'aria-expanded', false ) : btn.attr( 'aria-expanded', true )\n\n\t\t} )\n\t}\n\n\tif ( $( '.wp-admin' ).length > 0 ) {\n\t\tsetTimeout( function () {\n\t\t\tnew ACCORDION( $( this ) )\n\t\t}, 1000 )\n\t} else {\n\t\t// wrap this in a check to see if the outer container even exists,\n\t\t// because that way we don't instntiate the code for this if its\n\t\t// not on the page\n\t\tif ( $( '.wp-block-jtf-jtf-accordion' ).length > 0 ) {\n\t\t\tnew ACCORDION( $( this ) )\n\t\t}\n\t}\n} )\n","jQuery( document ).ready(\n\tfunction ( $ ) {\n\t\tfunction JTFCAROUSEL( thisInstance ) {\n\t\t\tconsole.log( '[JTF Gut Block - JS] jtf/jtf-carousel v2.2' )\n\t\t\tthis.init( thisInstance )\n\t\t}\n\n\t\t/**\n\t\t * Function to move the selector to a new slide\n\t\t *\n\t\t * @param thisInstance\n\t\t */\n\t\tJTFCAROUSEL.prototype.navigateCarousel = function ( thisInstance ) {\n\t\t\tconst inner = thisInstance.find( '.jtf__carouselblock--inner' )\n\t\t\tconst position = thisInstance.find( '.jtf__carouselblock--container' ).attr( 'data-position' )\n\t\t\tconst innerChildren = thisInstance.find( '.jtf__carouselblock--inner' ).attr( 'data-children' )\n\t\t\tif ( thisInstance.find( '.jtf__carouselblock--timeline' ).length > 0 ) {\n\t\t\t\tlet childWidth = (inner.width() / innerChildren)\n\t\t\t\tinner.css(\n\t\t\t\t\t{\n\t\t\t\t\t\t'transform': 'translateX( -' + (childWidth * position) + 'px )',\n\t\t\t\t\t\t'transition-duration': '1s',\n\t\t\t\t\t},\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tinner.css(\n\t\t\t\t\t{\n\t\t\t\t\t\t'transform': 'translateX( -' + (inner.width() * position) + 'px )',\n\t\t\t\t\t\t'transition-duration': '1s',\n\t\t\t\t\t},\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t\t/**\n\t\t * Function to change background image of carousel (if feature enabled)\n\t\t *\n\t\t * @param targetSlide\n\t\t * @param currentSlide\n\t\t */\n\t\tJTFCAROUSEL.prototype.changeBackgroundImage = function ( targetSlide, currentSlide = targetSlide ) {\n\t\t\tlet targetBackgroundImage = ''\n\t\t\tlet currentBackgroundImage = ''\n\n\t\t\tconst blockContainer = $( '.wp-block-jtf-jtf-carousel' )\n\t\t\tconst staticBackground = $( '.jtf__carouselblock--staticbg' )\n\t\t\tconst tempBackground = $( '.jtf__carouselblock--transbg' )\n\n\t\t\tif ( 'enabled' == blockContainer.attr( 'data-slidesbgimages' ) ) {\n\t\t\t\t// Loop through each slide\n\t\t\t\t$( '.jtf__carouselblock--item' ).each( function () {\n\t\t\t\t\t// Find the current slide\n\t\t\t\t\tif ( currentSlide == $( this ).attr( 'data-id' ) ) {\n\t\t\t\t\t\t// Get the background image\n\t\t\t\t\t\tcurrentBackgroundImage = $( this ).find( '.jtf__carouselblock--cell-image' ).css( 'background-image' )\n\t\t\t\t\t}\n\t\t\t\t\t// Find the target slide\n\t\t\t\t\tif ( targetSlide == $( this ).attr( 'data-id' ) ) {\n\t\t\t\t\t\t// Get the background image\n\t\t\t\t\t\ttargetBackgroundImage = $( this ).find( '.jtf__carouselblock--cell-image' ).css( 'background-image' )\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t\t// Put current background on temp background\n\t\t\t\ttempBackground.css( 'background-image', currentBackgroundImage )\n\t\t\t\t// Show temp & static background\n\t\t\t\ttempBackground.show()\n\t\t\t\tstaticBackground.show()\n\t\t\t\t// Put target background on the static background\n\t\t\t\tstaticBackground.css( 'background-image', targetBackgroundImage )\n\t\t\t\t// Fade-out temp background\n\t\t\t\t$( tempBackground ).fadeOut()\n\t\t\t}\n\t\t}\n\t\t/**\n\t\t * Function to control the changing of aria display states on shown / hidden slides\n\t\t *\n\t\t * @param targetSlide\n\t\t */\n\t\tJTFCAROUSEL.prototype.changeAriaDisplayStates = function ( targetSlide ) {\n\t\t\tvar self = this\n\t\t\t// Loop through each slide\n\t\t\t$( '.jtf__carouselblock--item' ).each( function () {\n\t\t\t\t// Find the target slide\n\t\t\t\tif ( targetSlide == $( this ).attr( 'data-id' ) ) {\n\t\t\t\t\t// Set the aria hidden state to visible\n\t\t\t\t\t$( this ).attr( 'aria-hidden', 'false' )\n\t\t\t\t} else {\n\t\t\t\t\t// Set the aria hidden state to hidden\n\t\t\t\t\t$( this ).attr( 'aria-hidden', 'true' )\n\t\t\t\t}\n\t\t\t} )\n\t\t}\n\t\t/**\n\t\t * Sets which dot is currently active, resets the state on the others\n\t\t *\n\t\t * @param active\n\t\t */\n\t\tJTFCAROUSEL.prototype.setActiveDot = function ( active, thisInstance ) {\n\t\t\tvar self = this\n\t\t\t// loop through and change the class\n\t\t\tthisInstance.find( '.jtf__carouselblock--dot-active' ).removeClass( 'jtf__carouselblock--dot-active' )\n\t\t\tthisInstance.find( '.jtf__carouselblock--dot' ).each(\n\t\t\t\tfunction () {\n\t\t\t\t\tif ( parseInt( $( this ).attr( 'data-target' ) ) == parseInt( active ) ) {\n\t\t\t\t\t\t$( this ).addClass( 'jtf__carouselblock--dot-active' )\n\t\t\t\t\t\t$( this ).removeAttr( 'tabindex', '-1' )\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t)\n\t\t\t// then loop through and change the aria-selected state\n\t\t\tthisInstance.find( '.jtf__carouselblock--dot' ).each(\n\t\t\t\tfunction () {\n\t\t\t\t\tif ( parseInt( $( this ).attr( 'data-target' ) ) == parseInt( active ) ) {\n\t\t\t\t\t\t$( this ).attr( 'aria-selected', 'true' )\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$( this ).attr( 'aria-selected', 'false' )\n\t\t\t\t\t\t$( this ).attr( 'tabindex', '-1' )\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\t\t/**\n\t\t * Move to next slide\n\t\t *\n\t\t * @param thisInstance\n\t\t * @param self\n\t\t * @param parent\n\t\t */\n\t\tJTFCAROUSEL.prototype.moveToNextSlide = function ( thisInstance, self, parent ) {\n\t\t\tlet position = parent.attr( 'data-position' )\n\t\t\tlet inner = thisInstance.find( '.jtf__carouselblock--inner' ).attr( 'data-children' )\n\t\t\tlet prev = thisInstance.find( '.jtf__carouselblock--prev' )\n\n\t\t\tif ( (parseInt( position ) + 1) < parseInt( inner ) ) {\n\t\t\t\tself.disablePreviousArrow( false, prev )\n\t\t\t\tparent.attr( 'data-position', parseInt( position ) + 1 )\n\t\t\t\tself.setActiveDot( parseInt( position ) + 1, parent, thisInstance )\n\t\t\t\tself.navigateCarousel( thisInstance )\n\t\t\t\tself.changeBackgroundImage( parseInt( position ) + 1, parseInt( position ) )\n\t\t\t\tself.changeAriaDisplayStates( parseInt( position ) + 1 )\n\t\t\t} else {\n\t\t\t\tself.disablePreviousArrow( true, prev )\n\t\t\t\tparent.attr( 'data-position', 0 )\n\t\t\t\tself.setActiveDot( 0, parent, thisInstance )\n\t\t\t\tself.navigateCarousel( thisInstance )\n\t\t\t\tself.changeBackgroundImage( 0, parseInt( position ) )\n\t\t\t\tself.changeAriaDisplayStates( 0 )\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Move to previous slide\n\t\t *\n\t\t * @param thisInstance\n\t\t * @param self\n\t\t * @param parent\n\t\t */\n\t\tJTFCAROUSEL.prototype.moveToPrevSlide = function ( thisInstance, self, parent ) {\n\t\t\tlet position = parent.attr( 'data-position' )\n\t\t\tlet prev = thisInstance.find( '.jtf__carouselblock--prev' )\n\t\t\tparent.attr( 'data-max', 'false' )\n\t\t\tif ( position > 0 ) {\n\t\t\t\tself.disablePreviousArrow( false, prev )\n\t\t\t\tparent.attr( 'data-position', parseInt( position ) - 1 )\n\t\t\t\tself.setActiveDot( parseInt( position ) - 1, parent, thisInstance )\n\t\t\t\tself.navigateCarousel( thisInstance )\n\t\t\t\tself.changeBackgroundImage( parseInt( position ) - 1, parseInt( position ) )\n\t\t\t\tself.changeAriaDisplayStates( parseInt( position ) - 1 )\n\t\t\t}\n\t\t\tif ( 0 == parseInt( position ) - 1 ) {\n\t\t\t\tself.disablePreviousArrow( true, prev )\n\t\t\t}\n\t\t}\n\t\t/**\n\t\t * Disable previous arrow\n\t\t *\n\t\t * @param position\n\t\t * @param previousArrowClass\n\t\t */\n\t\tJTFCAROUSEL.prototype.disablePreviousArrow = function ( disable, previousArrowClass ) {\n\t\t\tif ( true == disable ) {\n\t\t\t\tpreviousArrowClass.addClass( 'jtf__carouselblock--navigation-inactive' )\n\t\t\t} else {\n\t\t\t\tpreviousArrowClass.removeClass( 'jtf__carouselblock--navigation-inactive' )\n\t\t\t}\n\t\t}\n\t\t/**\n\t\t * Initial Carousel load\n\t\t * Generates the buttons and maps click functions to them\n\t\t *\n\t\t * @param thisInstance\n\t\t */\n\t\tJTFCAROUSEL.prototype.loadCarousel = function ( thisInstance ) {\n\t\t\tconst self = this\n\t\t\tconst parent = thisInstance.find( '.jtf__carouselblock--container' )\n\t\t\tconst autoSlide = parent.attr( 'data-autoslide' ) || 'disabled'\n\n\t\t\t//const ariaLabelAutoSlideButton = 'stop automatic slide show'\n\t\t\t// Load the image background\n\t\t\tself.changeBackgroundImage( parent.attr( 'data-position' ) )\n\t\t\t// Set the aria display states\n\t\t\tself.changeAriaDisplayStates( parent.attr( 'data-position' ) )\n\t\t\t// Handle the auto-slide\n\t\t\tif ( 'enabled' == autoSlide ) {\n\t\t\t\t// Convert delay count to milliseconds\n\t\t\t\tconst autoSlideDelay = parent.attr( 'data-autoslidedelay' ) * 1000 || 5000\n\t\t\t\t// Set the time interval (e.g every 5 seconds)\n\t\t\t\tlet interval = setInterval(\n\t\t\t\t\tautoSlideCarousel,\n\t\t\t\t\tautoSlideDelay,\n\t\t\t\t)\n\n\t\t\t\t// Callback function which operates the auto-sliding for the time interval\n\t\t\t\tfunction autoSlideCarousel() {\n\t\t\t\t\tlet position = parent.attr( 'data-position' )\n\t\t\t\t\tlet inner = thisInstance.find( '.jtf__carouselblock--inner' ).attr( 'data-children' )\n\t\t\t\t\tlet prev = thisInstance.find( '.jtf__carouselblock--prev' )\n\n\t\t\t\t\tself.disablePreviousArrow( false, prev )\n\t\t\t\t\tif ( (parseInt( position ) + 1) < parseInt( inner ) ) {\n\t\t\t\t\t\tparent.attr( 'data-position', parseInt( position ) + 1 )\n\t\t\t\t\t\tself.setActiveDot( parseInt( position ) + 1, parent, thisInstance )\n\t\t\t\t\t\tself.navigateCarousel( thisInstance )\n\t\t\t\t\t\tself.changeBackgroundImage( parseInt( position ) + 1, parseInt( position ) )\n\t\t\t\t\t\tself.changeAriaDisplayStates( parseInt( position ) + 1 )\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.disablePreviousArrow( true, prev )\n\t\t\t\t\t\tparent.attr( 'data-position', 0 )\n\t\t\t\t\t\tself.setActiveDot( 0, parent, thisInstance )\n\t\t\t\t\t\tself.navigateCarousel( thisInstance )\n\t\t\t\t\t\tself.changeBackgroundImage( 0, parseInt( position ) )\n\t\t\t\t\t\tself.changeAriaDisplayStates( 0 )\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Stop the auto-scroll when mouse enters the carousel\n\t\t\t\t$( thisInstance ).mouseenter(\n\t\t\t\t\tfunction () {\n\t\t\t\t\t\t// Clear the time interval / stop the carousel from auto-sliding\n\t\t\t\t\t\tclearInterval( interval )\n\t\t\t\t\t\tinterval = null\n\t\t\t\t\t\t// Change the navigation stop / start button state and change the icon\n\t\t\t\t\t\tthisInstance.find( '.jtf__carouselblock--play_pause_control button' ).attr( 'data-state', 'disabled' ).attr( 'aria-label', 'Start automatic slide show' ).html( '' )\n\t\t\t\t\t\tthisInstance.find( '.jtf__carouselblock--inner' ).attr( 'aria-live', 'polite' )\n\t\t\t\t\t},\n\t\t\t\t)\n\t\t\t\t// Click on stop / play button to enable or disable auto-slide\n\t\t\t\tthisInstance.on( 'click', '.jtf__carouselblock--play_pause_control button', function () {\n\t\t\t\t\tif ( 'enabled' == $( this ).attr( 'data-state' ) ) {\n\t\t\t\t\t\t// Clear the time interval / stop the carousel from auto-sliding\n\t\t\t\t\t\tclearInterval( interval )\n\t\t\t\t\t\tinterval = null\n\t\t\t\t\t\t// Change the navigation stop / start button state and change the icon\n\t\t\t\t\t\t$( this ).attr( 'data-state', 'disabled' ).attr( 'aria-label', 'Start automatic slide show' ).html( '' )\n\t\t\t\t\t\tthisInstance.find( '.jtf__carouselblock--inner' ).attr( 'aria-live', 'polite' )\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Start the time interval / start the carousel auto-sliding\n\t\t\t\t\t\tinterval = setInterval(\n\t\t\t\t\t\t\tautoSlideCarousel,\n\t\t\t\t\t\t\tautoSlideDelay,\n\t\t\t\t\t\t)\n\t\t\t\t\t\t// Change the navigation stop / play button state and change the icon\n\t\t\t\t\t\t$( this ).attr( 'data-state', 'enabled' ).attr( 'aria-label', 'Stop automatic slide show' ).html( '' )\n\t\t\t\t\t\tthisInstance.find( '.jtf__carouselblock--inner' ).attr( 'aria-live', 'off' )\n\t\t\t\t\t\t// Unbind the mouseenter event listener that stops the autoslide\n\t\t\t\t\t\tthisInstance.unbind( \"mouseenter\" )\n\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t\t// Tab to stop / play button to enable or disable auto-slide\n\t\t\t\tthisInstance.on( 'focus', '.jtf__carouselblock--play_pause_control button', function () {\n\t\t\t\t\tif ( 'enabled' == $( this ).attr( 'data-state' ) ) {\n\t\t\t\t\t\t// Clear the time interval / stop the carousel from auto-sliding\n\t\t\t\t\t\tclearInterval( interval )\n\t\t\t\t\t\tinterval = null\n\t\t\t\t\t\t// Change the navigation stop / start button state and change the icon\n\t\t\t\t\t\t$( this ).attr( 'data-state', 'disabled' ).attr( 'aria-label', 'Start automatic slide show' ).html( '' )\n\t\t\t\t\t\tthisInstance.find( '.jtf__carouselblock--inner' ).attr( 'aria-live', 'polite' )\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Start the time interval / start the carousel auto-sliding\n\t\t\t\t\t\tinterval = setInterval(\n\t\t\t\t\t\t\tautoSlideCarousel,\n\t\t\t\t\t\t\tautoSlideDelay,\n\t\t\t\t\t\t)\n\t\t\t\t\t\t// Change the navigation stop / play button state and change the icon\n\t\t\t\t\t\t$( this ).attr( 'data-state', 'enabled' ).attr( 'aria-label', 'Stop automatic slide show' ).html( '' )\n\t\t\t\t\t\tthisInstance.find( '.jtf__carouselblock--inner' ).attr( 'aria-live', 'off' )\n\t\t\t\t\t\t// Unbind the mouseenter event listener that stops the autoslide\n\t\t\t\t\t\tthisInstance.unbind( \"mouseenter\" )\n\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t}\n\t\t\t// Click on the previous arrow\n\t\t\tthisInstance.on( 'click', '.jtf__carouselblock--prev', function () {\n\t\t\t\tself.moveToPrevSlide( thisInstance, self, parent )\n\t\t\t} )\n\t\t\t/**\n\t\t\t * Swipe RIGHT on the carousel\n\t\t\t * \"Enable JQuery mobile library\" JTF core setting needs to be checked for swipe gestures to work\n\t\t\t * /wp-admin/admin.php?page=JTF\n\t\t\t */\n\t\t\tthisInstance.on( 'swiperight', '.jtf__carouselblock--container', function () {\n\t\t\t\tself.moveToPrevSlide( thisInstance, self, parent )\n\t\t\t\t// console.log( 'SWIPE RIGHT' );\n\t\t\t} )\n\t\t\t/**\n\t\t\t * Keypress LEFT arrow in carousel\n\t\t\t */\n\t\t\tthisInstance.keyup( function ( e ) {\n\t\t\t\tif ( e.which == 37 ) {\n\t\t\t\t\tself.moveToPrevSlide( thisInstance, self, parent )\n\t\t\t\t\t// console.log( 'Keypress LEFT arrow', e );\n\t\t\t\t}\n\t\t\t} )\n\t\t\t/**\n\t\t\t * Swipe LEFT on the carousel\n\t\t\t * \"Enable JQuery mobile library\" JTF core setting needs to be checked for swipe gestures to work\n\t\t\t * /wp-admin/admin.php?page=JTF\n\t\t\t */\n\t\t\tthisInstance.on( 'click', '.jtf__carouselblock--next', function () {\n\t\t\t\tself.moveToNextSlide( thisInstance, self, parent )\n\t\t\t} )\n\t\t\t// Swipe LEFT on the carousel\n\t\t\tthisInstance.on( 'swipeleft', '.jtf__carouselblock--container', function () {\n\t\t\t\tself.moveToNextSlide( thisInstance, self, parent )\n\t\t\t\t// console.log( 'SWIPE LEFT' );\n\t\t\t} )\n\t\t\t/**\n\t\t\t * Keypress RIGHT arrow in carousel\n\t\t\t */\n\t\t\tthisInstance.keyup( function ( e ) {\n\t\t\t\tif ( e.which == 39 ) {\n\t\t\t\t\tself.moveToNextSlide( thisInstance, self, parent )\n\t\t\t\t\t// console.log( 'Keypress RIGHT arrow', e );\n\t\t\t\t}\n\t\t\t} )\n\t\t\t// Click on the dot navigation\n\t\t\tthisInstance.on( 'click', '.jtf__carouselblock--dot', function () {\n\t\t\t\tlet position = $( this ).attr( 'data-target' )\n\t\t\t\tlet prev = thisInstance.find( '.jtf__carouselblock--prev' )\n\n\t\t\t\tif ( parseInt( $( '.jtf__carouselblock--container' ).attr( 'data-position' ) ) != parseInt( position ) ) {\n\t\t\t\t\tself.changeBackgroundImage( parseInt( position ), parent.attr( 'data-position' ) )\n\t\t\t\t\tself.changeAriaDisplayStates( parseInt( position ) )\n\t\t\t\t}\n\n\t\t\t\tthisInstance.find( '.jtf__carouselblock--container' ).attr( 'data-position', parseInt( position ) )\n\t\t\t\tself.setActiveDot( parseInt( position ), thisInstance )\n\n\t\t\t\t// Turn off previous button if we're on the first panel\n\t\t\t\tif ( parseInt( position ) == 0 ) {\n\t\t\t\t\tself.disablePreviousArrow( true, prev )\n\t\t\t\t} else {\n\t\t\t\t\tself.disablePreviousArrow( false, prev )\n\t\t\t\t}\n\n\t\t\t\tself.navigateCarousel( thisInstance )\n\t\t\t} )\n\t\t}\n\n\t\t/**\n\t\t * Generate the Arrows and Dot navigation\n\t\t *\n\t\t * Slide counter should be equal to a rounded up number of how many carousel items we have divided by 3 (we have 3 items per panel)\n\t\t * IE 3 items is 1 panel, 5 items is 2 panels, 7 items is 3 panels ETC\n\t\t * @param slideCount (int)\n\t\t * @param thisInstance (string)\n\t\t */\n\t\tJTFCAROUSEL.prototype.generateNavigation = function ( slideCount, thisInstance ) {\n\t\t\tlet active = ''\n\t\t\tlet sibling = thisInstance.find( '.jtf__carouselblock--play_pause_control' )\n\t\t\tlet parent = thisInstance.find( '.jtf__carouselblock--dots' )\n\t\t\tlet grandParent = thisInstance.find( '.jtf__carouselblock--nav' )\n\t\t\tlet carouselContainer = thisInstance.find( '.jtf__carouselblock--container' )\n\n\t\t\tlet currentPosition = carouselContainer.attr( 'data-position' )\n\t\t\tlet autoSlide = carouselContainer.attr( 'data-autoslide' ) || 'disabled'\n\t\t\tlet styleAttr = carouselContainer.attr( 'style' )\n\t\t\tlet arrowData = grandParent.attr( 'data-arrowstyle' )\n\n\t\t\tvar arrowStyle\n\t\t\tif ( arrowData == 'defaultArrow' ) {\n\t\t\t\tarrowStyle = 'fa-angle-'\n\t\t\t} else {\n\t\t\t\tarrowStyle = 'fa-circle-chevron-'\n\t\t\t}\n\n\t\t\t// Wipe the grandparent before we insert the navigation arrows again, otherwise they get appeneded every time this refreshes and we get multiple\n\t\t\tgrandParent.html( parent )\n\t\t\t// Append the prev navigation arrow to the left of the dots section\n\t\t\tif ( currentPosition == '0' ) {\n\t\t\t\tparent.before( '' )\n\t\t\t} else {\n\t\t\t\tparent.before( '' )\n\t\t\t}\n\n\t\t\tsibling.html( '' )\n\t\t\t// Append the play/pause button into the div for it\n\t\t\tsibling.append( '' )\n\t\t\t// Insert the play/pause div beside the prev arrow button\n\t\t\tparent.before( sibling )\n\n\t\t\t// Append the next navigation arrow to the right of the dots section\n\t\t\tparent.after( '' )\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Remove navigation ( next / prev arrows )\n\t\t */\n\t\tJTFCAROUSEL.prototype.removeNavigation = function () {\n\t\t\tlet container = $( document ).find( '.jtf__carouselblock--navigation' )\n\t\t\tcontainer.html( '' )\n\t\t}\n\n\t\t/**\n\t\t * REBOOT CAROUSEL\n\t\t *\n\t\t * This will reset the navigation items, hide and reveal the correct carousel items and reset the widths of the items\n\t\t * @param thisInstance\n\t\t *\n\t\t */\n\t\tJTFCAROUSEL.prototype.reboot = function ( thisInstance ) {\n\t\t\tconst self = this\n\t\t\tvar panelItemCount = 1\n\t\t\tvar itemWidth = 0\n\t\t\tconst container = thisInstance.find( '.jtf__carouselblock--container' )\n\n\t\t\t// If timeline, fit 4 items per panel\n\t\t\tif ( thisInstance.find( '.jtf__carouselblock--timeline' ).length > 0 ) {\n\t\t\t\tif ( $( window ).width() < 576 ) {\n\t\t\t\t\tpanelItemCount = 1\n\t\t\t\t\titemWidth = (container.width() / panelItemCount) - 10\n\t\t\t\t} else if ( $( window ).width() < 768 ) {\n\t\t\t\t\tpanelItemCount = 2\n\t\t\t\t\titemWidth = (container.width() / panelItemCount) - 10\n\t\t\t\t} else if ( $( window ).width() < 992 ) {\n\t\t\t\t\tpanelItemCount = 3\n\t\t\t\t\titemWidth = (container.width() / panelItemCount) - 10\n\t\t\t\t} else {\n\t\t\t\t\tpanelItemCount = 4\n\t\t\t\t\titemWidth = (container.width() / panelItemCount) - 10\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\titemWidth = container.width() / panelItemCount\n\t\t\t}\n\n\t\t\tconst inner = thisInstance.find( '.jtf__carouselblock--inner' )\n\t\t\t// Reset container position on reboot, this ensures we always return to the first carousel panel\n\t\t\tcontainer.attr( 'data-position', 0 )\n\t\t\t// Wipe the translate offset which puts us back to the first carousel panel\n\t\t\tinner.css( { 'transform': 'translateX(0)' } )\n\n\t\t\tif ( $( '.wp-admin' ).length > 0 ) {\n\t\t\t\t// This needs to be in the timeout for wp-admin, otherwise this tries to fire before the options have been reset and then nothing works\n\t\t\t\tsetTimeout(\n\t\t\t\t\tfunction () {\n\t\t\t\t\t\t// Needs to only find children that have a matching parent to the current selector\n\t\t\t\t\t\tlet childElCount = thisInstance.find( '.jtf__carouselblock--inner' ).attr( 'data-children' )\n\t\t\t\t\t\tif ( childElCount > 1 ) {\n\t\t\t\t\t\t\tself.generateNavigation( childElCount, thisInstance )\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself.removeNavigation()\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthisInstance.find( '.jtf__carouselblock--item' ).each(\n\t\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\t\t//console.log('each')\n\t\t\t\t\t\t\t\t$( this ).css( {\n\t\t\t\t\t\t\t\t\twidth: itemWidth + 'px',\n\t\t\t\t\t\t\t\t\tdisplay: 'inline-block',\n\t\t\t\t\t\t\t\t} )\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\t300,\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\t// Needs to only find children that have a matching parent to the current selector\n\t\t\t\tlet childElCount = thisInstance.find( '.jtf__carouselblock--inner' ).attr( 'data-children' )\n\t\t\t\tif ( childElCount > 1 ) {\n\t\t\t\t\tself.generateNavigation( childElCount, thisInstance )\n\t\t\t\t} else {\n\t\t\t\t\tself.removeNavigation()\n\t\t\t\t}\n\t\t\t\tthisInstance.find( '.jtf__carouselblock--item' ).each(\n\t\t\t\t\tfunction () {\n\t\t\t\t\t\t$( this ).css( {\n\t\t\t\t\t\t\twidth: itemWidth + 'px',\n\t\t\t\t\t\t\tdisplay: 'inline-block',\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}\n\t\t/**\n\t\t * Default actions happening on device actions\n\t\t */\n\t\tJTFCAROUSEL.prototype.init = function ( thisInstance ) {\n\t\t\tconst self = this\n\t\t\tthisInstance.find( '.jtf__carouselblock--container' ).attr( 'data-position', 0 )\n\t\t\tself.reboot( thisInstance )\n\t\t\tself.loadCarousel( thisInstance )\n\t\t}\n\t\tif ( $( '.wp-admin' ).length > 0 ) {\n\t\t\tvar jtfCarouselAdmin = {}\n\t\t\tsetTimeout(\n\t\t\t\tfunction () {\n\t\t\t\t\tif ( $( '.wp-block-jtf-jtf-carousel' ).length > 0 ) {\n\t\t\t\t\t\t// Instantiate a new instance for each block\n\t\t\t\t\t\t// on a page (not that there shoudl be more than 1...)\n\t\t\t\t\t\t$( '.wp-block-jtf-jtf-carousel' ).each(\n\t\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\t\tjtfCarouselAdmin = new JTFCAROUSEL( $( this ) )\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t)\n\t\t\t\t\t\tthisInstance.on(\n\t\t\t\t\t\t\t'click', '.jtf__carouselblock--panelbuttons-reload',\n\t\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\t\tsetTimeout(\n\t\t\t\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\t\t\t\t$( '.wp-block-jtf-jtf-carousel' ).each(\n\t\t\t\t\t\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\t\t\t\t\t\tjtfCarouselAdmin = new JTFCAROUSEL( $( this ) )\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t3000,\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t)\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// console.log('no carousel container found')\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t5000,\n\t\t\t)\n\t\t} else {\n\t\t\t// Don't use timeout on front end\n\t\t\tif ( $( '.wp-block-jtf-jtf-carousel' ).length > 0 ) {\n\t\t\t\t// Instantiate a new instance for each block\n\t\t\t\t// on a page (not that there should be more than 1...)\n\t\t\t\t$( '.wp-block-jtf-jtf-carousel' ).each(\n\t\t\t\t\tfunction () {\n\t\t\t\t\t\tnew JTFCAROUSEL( $( this ) )\n\t\t\t\t\t},\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t},\n)\n\n","jQuery( document ).ready( function ( $ ) {\n\tfunction CTA( thisInstance ) {\n\t\tconsole.log( '[JTF Gut Block - JS] jtf/jtf-selector v2.0' )\n\t\tthis.instance = thisInstance\n\t\tthis.init()\n\t}\n\n\tCTA.prototype.resizeOnWindowChange = function () {\n\t\tthis.instance.find( '.jtf__ctablock--img-square' ).each( function () {\n\t\t\tif ( $( this ).parents( '.jtf__ctablock--centre' ).length == 0 ) {\n\t\t\t\tlet thisWidth = $( this ).width()\n\t\t\t\t$( this ).css( { height: thisWidth + 'px' } )\n\t\t\t}\n\t\t\t// Else: Dont resize the image if it's a centred block, will break the image.\n\t\t} )\n\t}\n\n\t/**\n\t * Default actions happening on device actions\n\t */\n\tCTA.prototype.init = function () {\n\t\tconst self = this\n\t\t// Fire on first load\n\t\tself.resizeOnWindowChange()\n\t\t// preserve the 16:9 aspect ratio for the block on window resize\n\t\t$( window ).resize( function () {\n\t\t\tself.resizeOnWindowChange()\n\t\t} )\n\t}\n\n\tsetTimeout( function () {\n\t\t// Check TWITTER is used on this page before instantiating\n\t\tif ( $( '.wp-block-jtf-jtf-cta' ).length > 0 ) {\n\t\t\t// Instatiate a new instance for each block on a page (not that there shoudl be more than 1...)\n\t\t\t$( '.wp-block-jtf-jtf-cta' ).each( function () {\n\t\t\t\tnew CTA( $( this ) )\n\t\t\t} )\n\t\t}\n\t}, 1000 )\n} )\n","jQuery( document ).ready( function ( $ ) {\n\tfunction EVENTSGMAP( context, id ) {\n\t\tconsole.log( '[JTF Gut Block - JS] jtf/jtf-events v3' )\n\t\tthis.geocoder = ''\n\t\t//are we in china, because if we are we need to use open maps instead of google maps\n\t\tthis.gmom = context.attr( 'data-gmom' )\n\t\tthis.id = id\n\t\tthis.context = context // ID of target element\n\t\tthis.map = ''\n\t\tthis.init()\n\t}\n\n\t/**\n\t * gets open map coords from an address\n\t */\n\tEVENTSGMAP.prototype.getCoords = function () {\n\t\tvar self = this\n\n\t\tconst address = self.context.attr( 'data-address' )\n\n\t\t$.get( 'https://nominatim.openstreetmap.org/search?format=json&q=' + address, function ( data ) {\n\t\t\t// console.log( 'location data:: ', data )\n\t\t\tself.renderOpenMap( data )\n\t\t} )\n\t}\n\n\tEVENTSGMAP.prototype.renderOpenMap = function ( coords ) {\n\t\tvar self = this\n\t\tvar location = [ coords[ 0 ].lat, coords[ 0 ].lon ]\n\t\t// Creating map options\n\t\tvar mapOptions = {\n\t\t\tcenter: location,\n\t\t\tzoom: 16,\n\t\t}\n\n\t\t// Creating a map object\n\t\tvar map = new L.map( self.id, mapOptions )\n\n\t\t// Creating a Layer object\n\t\tvar layer = new L.TileLayer( 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png' )\n\n\t\tL.marker( location ).addTo( map )\n\n\t\t// Adding layer to the map\n\t\tmap.addLayer( layer )\n\t}\n\n\n\tEVENTSGMAP.prototype.init = function () {\n\t\tconst self = this\n\n\t\tif ( self.gmom == 'open' ) {\n\t\t\tself.getCoords()\n\t\t} else {\n\t\t\tself.geocoder = new google.maps.Geocoder()\n\t\t\tvar latlng = new google.maps.LatLng( -34.397, 150.644 )\n\t\t\tvar mapOptions = {\n\t\t\t\tzoom: 16,\n\t\t\t\tcenter: latlng,\n\t\t\t}\n\t\t\tself.map = new google.maps.Map( document.getElementById( self.id ), mapOptions )\n\t\t\tself.codeAddress()\n\t\t}\n\n\n\t}\n\n\tEVENTSGMAP.prototype.codeAddress = function () {\n\t\tconst self = this\n\t\tvar address = document.getElementById( self.id ).getAttribute( 'data-address' )\n\n\t\tself.geocoder.geocode( { 'address': address }, function ( results, status ) {\n\t\t\tif ( status == 'OK' ) {\n\t\t\t\tself.map.setCenter( results[ 0 ].geometry.location )\n\t\t\t\tnew google.maps.Marker( {\n\t\t\t\t\tmap: self.map,\n\t\t\t\t\tposition: results[ 0 ].geometry.location,\n\t\t\t\t} )\n\t\t\t} else {\n\t\t\t\tconsole.warn( 'Geocode was not successful for the following reason: ' + status )\n\t\t\t}\n\t\t} )\n\t}\n\n\t// Check EVENTSGMAP is used on this page before instantiating\n\tif ( $( '.wp-block-jtf-jtf-events' ).length > 0 ) {\n\t\t// instantiate a new google maps API for each gmap block\n\t\t$( '.jtf__eventsblock--gmap' ).each( function () {\n\t\t\tconst id = $( this ).attr( 'id' )\n\t\t\tnew EVENTSGMAP( $( this ), id )\n\t\t} )\n\t}\n} )\n\n","jQuery( document ).ready( function ( $ ) {\n\tfunction EXPANDER( thisInstance ) {\n\t\tconsole.log( '[JTF Gut Block - JS] jtf/jtf-expander v1.0' )\n\t\tthis.instance = thisInstance\n\t\tthis.init()\n\t}\n\n\tEXPANDER.prototype.init = function () {\n\t\tconst self = this\n\n\t\tconst classExpanderBlock = \"jtf__expanderblock\"\n\t\tconst classStringHeader = \"__header\"\n\t\tconst classStringContent = \"__content\"\n\t\tconst classStringToggle = '--toggle'\n\t\tconst classStringExpand = '--expand'\n\n\t\t$( self.instance ).on( 'click', '.' + classExpanderBlock + classStringHeader + classStringToggle, function () {\n\t\t\tconst contentElem = $( self.instance ).find( '.' + classExpanderBlock + classStringContent )\n\t\t\tconst toggleElem = $( self.instance ).find( '.' + classExpanderBlock + classStringHeader + classStringToggle )\n\t\t\tconst classExpand = classExpanderBlock + classStringContent + classStringExpand\n\t\t\tconst animationTime = 500 // 0.5 second\n\n\t\t\tif ( contentElem.hasClass( classExpand ) ) {\n\t\t\t\tcontentElem.slideUp(\n\t\t\t\t\tanimationTime,\n\t\t\t\t\tfunction () {\n\t\t\t\t\t\ttoggleElem.find( 'span i' ).removeClass( 'fa-circle-minus' ).addClass( 'fa-circle-plus' )\n\t\t\t\t\t\ttoggleElem.attr( 'aria-expanded', false )\n\t\t\t\t\t\tcontentElem.removeClass( classExpand )\n\t\t\t\t\t},\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tcontentElem.slideDown(\n\t\t\t\t\tanimationTime,\n\t\t\t\t\tfunction () {\n\t\t\t\t\t\ttoggleElem.find( 'span i' ).removeClass( 'fa-circle-plus' ).addClass( 'fa-circle-minus' )\n\t\t\t\t\t\ttoggleElem.attr( 'aria-expanded', true )\n\t\t\t\t\t\tcontentElem.addClass( classExpand )\n\t\t\t\t\t},\n\t\t\t\t)\n\t\t\t}\n\t\t} )\n\t}\n\n\tif ( $( '.wp-admin' ).length > 0 ) {\n\t\tsetTimeout( function () {\n\t\t\tnew EXPANDER( $( this ) )\n\n\t\t\tif ( $( '.wp-block-jtf-jtf-expander' ).length > 0 ) {\n\t\t\t\t$( '.wp-block-jtf-jtf-expander' ).each(\n\t\t\t\t\tfunction () {\n\t\t\t\t\t\tnew EXPANDER( $( this ) )\n\t\t\t\t\t},\n\t\t\t\t)\n\t\t\t}\n\t\t}, 1000 )\n\t} else {\n\t\t// wrap this in a check to see if the outer container even exists,\n\t\t// because that way we don't instntiate the code for this if its\n\t\t// not on the page\n\t\tif ( $( '.wp-block-jtf-jtf-expander' ).length > 0 ) {\n\t\t\t$( '.wp-block-jtf-jtf-expander' ).each(\n\t\t\t\tfunction () {\n\t\t\t\t\tnew EXPANDER( $( this ) )\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\t}\n} )\n","jQuery( document ).ready( function ( $ ) {\n\tclass GROUPBLOCK {\n\t\tconstructor( context ) {\n\t\t\tconsole.log( '[JTF Gut Block - JS] jtf/jtf-group v1.0' )\n\t\t\tthis.instance = context\n\t\t\tthis.onActionEvents()\n\t\t}\n\t\t\n\t\tonActionEvents() {\n\t\t\tconst self = this;\n\t\t\t\n\t\t\t$( window ).on( 'resize scroll', function () {\n\t\t\t\t$( '.jtf__animation' ).each( function () {\n\t\t\t\t\tif ( self.isInViewport( $( this ) ) === true ) {\n\t\t\t\t\t\t$(this).addClass('jtf__animation--' + $(this).attr('data-animation'))\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t} )\n\t\t}\n\t\t\n\t\tisInViewport( target ) {\n\t\t\tvar elementTop = target.offset().top\n\t\t\tvar viewportTop = $( window ).scrollTop()\n\t\t\tvar viewportBottom = viewportTop + $( window ).height()\n\t\t\t\n\t\t\treturn elementTop < viewportBottom ? true : false\n\t\t}\n\t}\n\t\n\tif ( $( '.wp-block-jtf-jtf-group' ).length > 0 ) {\n\t\t$( '.wp-block-jtf-jtf-group' ).each( function () {\n\t\t\tnew GROUPBLOCK( $( this ) )\n\t\t} )\n\t}\n} )\n","jQuery( document ).ready( function () {\n\tfunction HEADER() {\n\t\tconsole.log( 'JTF Header Block V1.0.2' )\n\t\tthis.init()\n\t}\n\n\t/**\n\t * Default actions happening on device actions\n\t */\n\tHEADER.prototype.init = function () {}\n} )\n","jQuery( document ).ready( function ( $ ) {\n\tclass JOURNALCOMPARISON {\n\t\tconstructor( thisInstance ) {\n\t\t\tthis.version = '1.23'\n\t\t\tconsole.log( '[JTF Gut Block - JS] jtf/jtf-journals-comparison v' + this.version )\n\n\t\t\tthis.instance = thisInstance\n\t\t\tthis.blocktype = thisInstance.attr( 'data-blocktype' )\n\t\t\tthis.buttonColour = thisInstance.attr( 'data-buttoncolor' ).replace( '#', '' )\n\t\t\tthis.highlightColour = thisInstance.attr( 'data-highlightcolor' ).replace( '#', '' )\n\t\t\tthis.dataPoint = {\n\t\t\t\tacceptance: {\n\t\t\t\t\tlabel: 'acceptance',\n\t\t\t\t\tsliderValue: 0,\n\t\t\t\t},\n\t\t\t\tcitescore: {\n\t\t\t\t\tlabel: 'citescore',\n\t\t\t\t\tsliderValue: 0,\n\t\t\t\t},\n\t\t\t\tif: {\n\t\t\t\t\tlabel: 'if',\n\t\t\t\t\tsliderValue: 0,\n\t\t\t\t},\n\t\t\t\tifbq: {\n\t\t\t\t\tlabel: 'ifbq',\n\t\t\t\t\tsliderValue: 0,\n\t\t\t\t},\n\t\t\t\tif5: {\n\t\t\t\t\tlabel: 'if5',\n\t\t\t\t\tsliderValue: 0,\n\t\t\t\t},\n\t\t\t\tsnip: {\n\t\t\t\t\tlabel: 'snip',\n\t\t\t\t\tsliderValue: 0,\n\t\t\t\t},\n\t\t\t\tsjr: {\n\t\t\t\t\tlabel: 'sjr',\n\t\t\t\t\tsliderValue: 0,\n\t\t\t\t},\n\t\t\t\tfirstdec: {\n\t\t\t\t\tlabel: 'firstdec',\n\t\t\t\t\tsliderValue: 0,\n\t\t\t\t},\n\t\t\t\tpostdec: {\n\t\t\t\t\tlabel: 'postdec',\n\t\t\t\t\tsliderValue: 0,\n\t\t\t\t},\n\t\t\t\tonlinepub: {\n\t\t\t\t\tlabel: 'onlinepub',\n\t\t\t\t\tsliderValue: 0,\n\t\t\t\t},\n\t\t\t\tdownloads: {\n\t\t\t\t\tlabel: 'downloads',\n\t\t\t\t\tsliderValue: 0,\n\t\t\t\t},\n\t\t\t\tcitequart: {\n\t\t\t\t\tlabel: 'citequart',\n\t\t\t\t\tsliderValue: 0,\n\t\t\t\t},\n\t\t\t\toa: {\n\t\t\t\t\tlabel: 'oa',\n\t\t\t\t\tsliderValue: 0,\n\t\t\t\t},\n\t\t\t}\n\t\t\tthis.clickMap()\n\n\t\t\tif ( this.blocktype !== 'preset' ) {\n\t\t\t\tthis.ajaxJournals()\n\t\t\t}\n\n\t\t\tthis.setRangeMax()\n\t\t\tthis.firstFilter = ''\n\t\t\tthis.secondFilter = ''\n\t\t\tthis.thirdFilter = ''\n\t\t\tthis.resultsCounter = 1\n\t\t\tthis.reduceResults()\n\t\t}\n\n\t\tajaxJournals = function ( category ) {\n\t\t\tconst self = this\n\t\t\tconst xhr = new XMLHttpRequest()\n\n\t\t\txhr.open(\n\t\t\t\t'GET',\n\t\t\t\t'/wp-content/themes/JTF3/Pro/core/ajax_comparison_block.php?category='\n\t\t\t\t+ category + '&buttoncolour=' + self.buttonColour + '&highlightcolour=' + self.highlightColour,\n\t\t\t)\n\t\t\txhr.onload = function ( response ) {\n\t\t\t\tif ( xhr.status === 200 ) {\n\t\t\t\t\tself.instance.find( '.journalcomparison__content--container' ).html( JSON.parse( response.currentTarget.response ) )\n\t\t\t\t\tself.instance = self.instance.find( '.journalcomparison__content--container' ).parents( '.wp-block-jtf-jtf-journalcomparison' )\n\t\t\t\t\tself.setRangeMax()\n\t\t\t\t\tself.reduceResults()\n\t\t\t\t}\n\t\t\t}\n\t\t\txhr.send()\n\t\t}\n\n\t\tclickMap = function () {\n\t\t\tconst self = this\n\n\t\t\tself.instance.find( '.journalcomparison__subjectcategories' ).on( 'change', function () {\n\t\t\t\tself.reorderResults()\n\t\t\t} )\n\n\t\t\tself.instance.find( '.journalcomparison__manualsubjects' ).on( 'change', function () {\n\t\t\t\tconst parentElement = $( this ).val()\n\t\t\t\tconst datalistValue = self.instance.find( '#journalcomparison__manual--category option' ).filter( function () {\n\t\t\t\t\treturn this.value == parentElement\n\t\t\t\t} ).data( 'value' )\n\n\t\t\t\tself.ajaxJournals( datalistValue )\n\t\t\t} )\n\n\n\t\t\tself.instance.find( '.journalcomparison__datalist--reset' ).on( 'click', function () {\n\t\t\t\tself.instance.find( '.journalcomparison__subjectcategories' ).val( '' )\n\t\t\t} )\n\n\t\t\tself.instance.find( '.journalcomparison__datalist--reset-subject' ).on( 'click', function () {\n\t\t\t\tself.instance.find( '.journalcomparison__manualsubjects' ).val( '' )\n\t\t\t\tself.instance.find( '.journalcomparison__content--container' ).html( '' )\n\t\t\t} )\n\n\t\t\tself.instance.find( '.journalcomparison__content--filter-range' ).on( 'input', function () {\n\t\t\t\tconst thisType = $( this ).attr( 'data-range' )\n\t\t\t\tself.instance.find( '.journalcomparison__content--filter-rangevalue[data-range=\"' + thisType + '\"]' ).html( $( this ).val() )\n\t\t\t} )\n\n\t\t\tself.instance.find( '.journalcomparison__content--filter-range' ).on( 'change', function () {\n\t\t\t\tself.hideJournal()\n\t\t\t} )\n\n\t\t\tself.instance.find( '.journalcomparison__check--trigger' ).on( 'change', function () {\n\t\t\t\tconst target = $( this ).attr( 'data-target' )\n\t\t\t\tconst checked = $( this ).is( ':checked' )\n\t\t\t\tconst totalCheckedFilters = self.instance.find( '.journalcomparison__check--trigger:checked' ).length\n\n\t\t\t\tif ( totalCheckedFilters == 0 ) {\n\t\t\t\t\t$( '.journalcomparison__content--item-disable' ).removeClass( 'journalcomparison__content--item-disable' )\n\t\t\t\t}\n\n\t\t\t\tself.setFilterCounts( checked, target )\n\t\t\t} )\n\n\t\t\tself.instance.find( \".journalcomparison__loadmore--button\" ).on( 'click', function () {\n\t\t\t\tself.resultsCounter = self.resultsCounter + 1\n\t\t\t\tlet visibleItemsBefore = $( \".journalcomparison__content--item\" ).not( '.journalcomparison__content--item-disable' ).not( '.journalcomparison__content--restrict' ).length\n\t\t\t\tself.reduceResults()\n\n\t\t\t\tlet resultCounter = 0\n\t\t\t\tfor ( let x = 0; x < $( \".journalcomparison__content--item\" ).length; x++ ) {\n\t\t\t\t\tlet thisEle = $( \".journalcomparison__content--item:nth-of-type( \" + x + \" )\" )\n\t\t\t\t\tif ( thisEle.hasClass( 'journalcomparison__content--item-disable' ) > 0 || thisEle.hasClass( 'journalcomparison__content--restrict' ) > 0 ) {\n\t\t\t\t\t\t//item has been disabled either because filter doesn't match, or it's not in the loaded 12 blocks\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif ( resultCounter == visibleItemsBefore + 1 ) {\n\t\t\t\t\t\t\tthisEle.find( '.journalcomparison__content--item-button' ).focus()\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tresultCounter = resultCounter + 1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} )\n\t\t}\n\n\t\t/**\n\t\t * restrict number of journals loaded to 12 in a block - this is a visual restriction only, the blocks are just hidden until 'load more'\n\t\t */\n\t\treduceResults = function () {\n\t\t\tconst self = this\n\t\t\tlet counter = 0\n\n\t\t\tself.instance.find( '.journalcomparison__content--item' ).not( '.journalcomparison__content--item-disable' ).each( function () {\n\t\t\t\t$( this ).removeClass( 'journalcomparison__content--restrict' )\n\t\t\t\tcounter++\n\t\t\t\tlet currentJournalCount = self.resultsCounter * 12\n\n\t\t\t\tif ( counter > currentJournalCount ) {\n\t\t\t\t\t$( this ).addClass( 'journalcomparison__content--restrict' )\n\t\t\t\t}\n\t\t\t} )\n\t\t\tlet contentItems = $( '.journalcomparison__content--item' )\n\t\t\tlet restrictedItems = $( '.journalcomparison__content--restrict' )\n\t\t\tlet disabledItems = $( '.journalcomparison__content--item-disable' )\n\t\t\tlet visibleItems = contentItems.not( restrictedItems ).not( disabledItems ).length\n\t\t\tlet enabledItems = contentItems.not( disabledItems ).length\n\t\t\tlet potentials = restrictedItems.not( disabledItems ).length\n\n\t\t\t$( \".journalcomparison__total\" ).html( contentItems.length )\n\t\t\t$( \".journalcomparison__counter\" ).html( visibleItems )\n\n\t\t\tif ( enabledItems < 12 ) {\n\t\t\t\t$( '.journalcomparison__loadmore--button' ).attr( 'disabled', 'disabled' )\n\t\t\t} else if ( potentials == 0 ) {\n\t\t\t\t$( '.journalcomparison__loadmore--button' ).attr( 'disabled', 'disabled' )\n\t\t\t} else {\n\t\t\t\t$( '.journalcomparison__loadmore--button' ).removeAttr( 'disabled' )\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Assigns 1 2 3 flags to filter items as they're selected and reveals linked slider\n\t\t */\n\t\tsetFilterCounts = function ( value, target ) {\n\t\t\tconst self = this\n\t\t\tconst elementCheckbox = self.instance.find( '.journalcomparison__check--trigger[data-target=\"' + target + '\"]' )\n\n\t\t\tswitch ( value ) {\n\t\t\t\tcase true:\n\t\t\t\t\tif ( self.firstFilter === '' ) {\n\t\t\t\t\t\tself.firstFilter = target\n\t\t\t\t\t\telementCheckbox.parent().addClass( 'journalcomparison__check--first' )\n\t\t\t\t\t\tself.instance.find( '.journalcomparison__content--item-' + target ).addClass( 'journalcomparison__check--first' )\n\t\t\t\t\t} else if ( self.secondFilter === '' ) {\n\t\t\t\t\t\tself.secondFilter = target\n\t\t\t\t\t\telementCheckbox.parent().addClass( 'journalcomparison__check--second' )\n\t\t\t\t\t\tself.instance.find( '.journalcomparison__content--item-' + target ).addClass( 'journalcomparison__check--second' )\n\t\t\t\t\t} else if ( self.thirdFilter === '' ) {\n\t\t\t\t\t\tself.thirdFilter = target\n\t\t\t\t\t\telementCheckbox.parent().addClass( 'journalcomparison__check--third' )\n\t\t\t\t\t\tself.instance.find( '.journalcomparison__content--item-' + target ).addClass( 'journalcomparison__check--third' )\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif ( self.thirdFilter !== '' ) {\n\t\t\t\t\t\t\tself.instance.find( '.journalcomparison__check--third input' ).prop( \"checked\", false )\n\t\t\t\t\t\t\tself.instance.find( '.journalcomparison__check--third' ).removeClass( 'journalcomparison__check--third' )\n\t\t\t\t\t\t\tself.instance.find( '.journalcomparison__content--item-' + target ).removeClass( 'journalcomparison__check--third' )\n\t\t\t\t\t\t\tself.thirdFilter = target\n\t\t\t\t\t\t\telementCheckbox.parent().addClass( 'journalcomparison__check--third' )\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak\n\t\t\t\tcase false:\n\t\t\t\t\tif ( elementCheckbox.parent().hasClass( 'journalcomparison__check--first' ) ) {\n\t\t\t\t\t\tself.firstFilter = ''\n\t\t\t\t\t\telementCheckbox.parent().removeClass( 'journalcomparison__check--first' )\n\t\t\t\t\t\tself.instance.find( '.journalcomparison__content--item-' + target ).removeClass( 'journalcomparison__check--first' )\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( elementCheckbox.parent().hasClass( 'journalcomparison__check--second' ) ) {\n\t\t\t\t\t\tself.secondFilter = ''\n\t\t\t\t\t\telementCheckbox.parent().removeClass( 'journalcomparison__check--second' )\n\t\t\t\t\t\tself.instance.find( '.journalcomparison__content--item-' + target ).removeClass( 'journalcomparison__check--second' )\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( elementCheckbox.parent().hasClass( 'journalcomparison__check--third' ) ) {\n\t\t\t\t\t\tself.thirdFilter = ''\n\t\t\t\t\t\telementCheckbox.parent().removeClass( 'journalcomparison__check--third' )\n\t\t\t\t\t\tself.instance.find( '.journalcomparison__content--item-' + target ).removeClass( 'journalcomparison__check--third' )\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\tbreak\n\t\t\t}\n\n\t\t\t//Removes the class on every slider every load because otherwise they persist when we untick them from visibility\n\t\t\tself.instance.find( '.journalcomparison__slider--item-visible' ).removeClass( 'journalcomparison__slider--item-visible' )\n\n\t\t\tlet showFirstSlider = self.instance.find( '.journalcomparison__check--first input' ).attr( 'data-target' )\n\t\t\tself.instance.find( '.journalcomparison__slider--item[data-target=\"' + showFirstSlider + '\"]' ).addClass( 'journalcomparison__slider--item-visible' )\n\n\t\t\tlet showSecondSlider = self.instance.find( '.journalcomparison__check--second input' ).attr( 'data-target' )\n\t\t\tself.instance.find( '.journalcomparison__slider--item[data-target=\"' + showSecondSlider + '\"]' ).addClass( 'journalcomparison__slider--item-visible' )\n\n\t\t\tlet showThirdSlider = self.instance.find( '.journalcomparison__check--third input' ).attr( 'data-target' )\n\t\t\tself.instance.find( '.journalcomparison__slider--item[data-target=\"' + showThirdSlider + '\"]' ).addClass( 'journalcomparison__slider--item-visible' )\n\n\t\t\tself.findHighestData( showFirstSlider, showSecondSlider, showThirdSlider )\n\t\t}\n\n\n\t\tfindHighestData = function () {\n\t\t\tconst self = this\n\t\t\tself.instance.find( '.journalcomparison__content--highest' ).removeClass( 'journalcomparison__content--highest' )\n\n\t\t\tself.instance.find( '.journalcomparison__slider--item-visible input' ).each( function () {\n\t\t\t\tconst thisDataType = $( this ).attr( 'data-range' )\n\t\t\t\tconst thisDataTitle = $( this ).attr( 'data-title' )\n\n\t\t\t\tlet highestOfType = {}\n\t\t\t\tlet highestValue = 0\n\n\t\t\t\tself.instance.find( '.journalcomparison__content--item' ).not( '.journalcomparison__content--item-disable' ).each( function () {\n\t\t\t\t\tlet thisValue = $( this ).attr( 'data-' + thisDataType )\n\n\t\t\t\t\tif ( thisValue == 'n/a' ) {\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( parseInt( thisValue ) > parseInt( highestValue ) ) {\n\t\t\t\t\t\thighestValue = thisValue\n\t\t\t\t\t\thighestOfType = $( this )\n\t\t\t\t\t}\n\t\t\t\t} ).promise().done( function () {\n\t\t\t\t\tif ( Object.keys( highestOfType ).length > 0 ) {\n\t\t\t\t\t\tif ( highestOfType.hasClass( 'journalcomparison__content--highest' ) ) {\n\t\t\t\t\t\t\tlet currentAttr = highestOfType.attr( 'data-highlight' )\n\t\t\t\t\t\t\thighestOfType.attr( 'data-highlight', currentAttr + ' & ' + thisDataTitle )\n\t\t\t\t\t\t\thighestOfType.find( 'div[data-target=\"' + thisDataType + '\"' ).addClass( 'journalcomparison__content--highest' )\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\thighestOfType.addClass( 'journalcomparison__content--highest' ).attr( 'data-highlight', thisDataTitle )\n\t\t\t\t\t\t\thighestOfType.find( 'div[data-target=\"' + thisDataType + '\"' ).addClass( 'journalcomparison__content--highest' )\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t} )\n\t\t\t} )\n\n\t\t\tself.reduceResults()\n\t\t}\n\n\t\thideJournal = function () {\n\t\t\tconst self = this\n\n\t\t\tself.instance.find( '.journalcomparison__content--item' ).each( function () {\n\t\t\t\tlet conditions = []\n\t\t\t\tconst that = $( this )\n\n\t\t\t\tself.instance.find( '.journalcomparison__slider--item-visible input' ).each( function () {\n\t\t\t\t\tlet thisDataType = $( this ).attr( 'data-range' )\n\t\t\t\t\tlet data = that.attr( 'data-' + self.dataPoint[ thisDataType ].label )\n\t\t\t\t\tlet value = parseInt( self.instance.find( '.journalcomparison__content--filter-range[data-range=\"' + self.dataPoint[ thisDataType ].label + '\"]' ).val() )\n\n\t\t\t\t\tconditions.push( parseInt( data ) < value )\n\t\t\t\t\tconditions.push( data === 'n/a' )\n\t\t\t\t} )\n\n\t\t\t\tif ( conditions.includes( true ) ) {\n\t\t\t\t\t$( this ).addClass( 'journalcomparison__content--item-disable' )\n\t\t\t\t} else {\n\t\t\t\t\t$( this ).removeClass( 'journalcomparison__content--item-disable' )\n\t\t\t\t}\n\t\t\t} )\n\n\t\t\tself.findHighestData()\n\t\t\tself.reduceResults()\n\t\t}\n\n\t\tsetRangeMax = function () {\n\t\t\tconst self = this\n\n\t\t\tself.instance.find( '.journalcomparison__content--item' ).each( function () {\n\t\t\t\tfor ( const key in self.dataPoint ) {\n\t\t\t\t\tlet sliderValue = parseInt( self.dataPoint[ key ].sliderValue )\n\t\t\t\t\tlet dataLabel = parseInt( $( this ).attr( 'data-' + self.dataPoint[ key ].label ) )\n\n\t\t\t\t\tif ( dataLabel > sliderValue && dataLabel !== 'n/a' ) { self.dataPoint[ key ].sliderValue = parseInt( dataLabel )}\n\t\t\t\t}\n\t\t\t} )\n\n\t\t\tfor ( const key in self.dataPoint ) {\n\t\t\t\tself.instance.find( '.journalcomparison__content--filter-range[data-range=\"' + self.dataPoint[ key ].label + '\"]' ).attr( 'max', self.dataPoint[ key ].sliderValue )\n\t\t\t}\n\t\t}\n\n\t\treorderResults = function () {\n\t\t\tconst self = this\n\t\t\tlet orderedResults = []\n\t\t\tconst filter = self.instance.find( '.journalcomparison__subjectcategories option' ).filter( function () {\n\t\t\t\treturn this.value === self.instance.find( '.journalcomparison__subjectcategories' ).val()\n\t\t\t} ).data( 'value' )\n\n\t\t\tself.instance.find( '.journalcomparison__check--initial' ).removeClass( 'journalcomparison__check--initial' )\n\t\t\tself.instance.find( '.journalcomparison__content--item-' + filter ).addClass( 'journalcomparison__check--initial' )\n\n\t\t\tself.instance.find( '.journalcomparison__content--item' ).each( function () {\n\t\t\t\tlet toStore = {}\n\n\t\t\t\tfor ( const key in self.dataPoint ) {\n\t\t\t\t\tlet label = self.dataPoint[ key ].label\n\t\t\t\t\tlet dataAttr = $( this ).attr( 'data-' + label )\n\n\t\t\t\t\ttoStore[ label ] = dataAttr !== 'n/a' && dataAttr !== undefined ? dataAttr : '0'\n\t\t\t\t}\n\n\t\t\t\ttoStore[ 'element' ] = $( this )\n\n\t\t\t\torderedResults.push( toStore )\n\t\t\t} )\n\n\t\t\torderedResults.sort( ( a, b ) => (b[ filter ].localeCompare( a[ filter ], undefined, { numeric: true } )) )\n\n\t\t\tself.instance.find( '.journalcomparison__content--container' ).html( '' )\n\n\t\t\tfor ( let x = 0; x < orderedResults.length; x++ ) {\n\t\t\t\tself.instance.find( '.journalcomparison__content--container' ).append( orderedResults[ x ].element )\n\t\t\t}\n\n\t\t\tself.instance.find( '.journalcomparison__content--item' ).removeClass( 'journalcomparison__content--item-disable' )\n\t\t\tself.reduceResults()\n\t\t}\n\t}\n\n\tconst thisBlock = $( '.wp-block-jtf-jtf-journalcomparison' )\n\n\tif ( thisBlock.length > 0 ) {\n\t\tthisBlock.each(\n\t\t\tfunction () {\n\t\t\t\tnew JOURNALCOMPARISON( $( this ) )\n\t\t\t},\n\t\t)\n\t}\n} )\n","jQuery( document ).ready( function ( $ ) {\n\tfunction JTFSELECTOR() {\n\t\tconsole.log( '[JTF Gut Block - JS] jtf/jtf-selector v2.0' )\n\t\tthis.init()\n\t}\n\n\t/**\n\t * Function to move the selector to a new slide (requires parent and inner for calcs)\n\t */\n\tJTFSELECTOR.prototype.navigateCarousel = function () {\n\t\tconst inner = $( document ).find( '.jtf__selectorblock--inner' )\n\t\tconst position = $( document ).find( '.jtf__selectorblock--container' ).attr( 'data-position' )\n\t\tinner.css( { 'transform': 'translateX(-' + (inner.width() * position) + 'px)' } )\n\t}\n\n\t/**\n\t * Sets which dot is currently active, resets the state on the others\n\t *\n\t * @param active\n\t */\n\tJTFSELECTOR.prototype.setActiveDot = function ( active ) {\n\t\t$( document ).find( '.jtf__selectorblock--dot-active' ).removeClass( 'jtf__selectorblock--dot-active' )\n\t\t$( document ).find( '.jtf__selectorblock--dot' ).each( function () {\n\t\t\tif ( parseInt( $( this ).attr( 'data-target' ) ) == parseInt( active ) ) {\n\t\t\t\t//console.log( parseInt( $( this ).attr( 'data-target' ) ), parseInt( active ) )\n\t\t\t\t$( this ).addClass( 'jtf__selectorblock--dot-active' )\n\t\t\t}\n\t\t} )\n\t}\n\n\t/**\n\t * Initial Carousel load\n\t * Generates the buttons and maps click functions to them\n\t *\n\t * @param thisInstance\n\t */\n\tJTFSELECTOR.prototype.loadCarousel = function ( thisInstance ) {\n\t\tconst self = this\n\t\t$( document ).on( 'click', '.jtf__selectorblock--prev', function () {\n\t\t\tconst parent = $( document ).find( '.jtf__selectorblock--container' )\n\t\t\tlet position = parent.attr( 'data-position' )\n\t\t\tparent.attr( 'data-max', 'false' )\n\t\t\tif ( position > 0 ) {\n\t\t\t\tparent.attr( 'data-position', parseInt( position ) - 1 )\n\t\t\t\tself.setActiveDot( parseInt( position ) - 1, parent )\n\t\t\t\tself.navigateCarousel()\n\t\t\t}\n\n\t\t\tif ( position == '1' ) {\n\t\t\t\t$( this ).addClass( 'jtf__selectorblock--navigation-inactive' )\n\t\t\t}\n\t\t} )\n\n\t\t$( document ).on( 'click', '.jtf__selectorblock--next', function () {\n\t\t\tconst parent = $( document ).find( '.jtf__selectorblock--container' )\n\t\t\tlet position = parent.attr( 'data-position' )\n\t\t\tlet inner = $( document ).find( '.jtf__selectorblock--inner' ).attr( 'data-children' )\n\t\t\tlet prev = $( document ).find( '.jtf__selectorblock--prev' )\n\n\t\t\tprev.removeClass( 'jtf__selectorblock--navigation-inactive' )\n\n\t\t\tif ( (parseInt( position ) + 1) < parseInt( inner ) ) {\n\t\t\t\tparent.attr( 'data-position', parseInt( position ) + 1 )\n\t\t\t\tself.setActiveDot( parseInt( position ) + 1, parent )\n\t\t\t\tself.navigateCarousel()\n\t\t\t} else {\n\t\t\t\tprev.addClass( 'jtf__selectorblock--navigation-inactive' )\n\t\t\t\tparent.attr( 'data-position', 0 )\n\t\t\t\tself.setActiveDot( 0, parent )\n\t\t\t\tself.navigateCarousel()\n\t\t\t}\n\t\t} )\n\n\t\t$( document ).on( 'click', '.jtf__selectorblock--dot', function () {\n\t\t\tlet position = $( this ).attr( 'data-target' )\n\t\t\tlet prev = $( document ).find( '.jtf__selectorblock--prev' )\n\n\t\t\t$( document ).find( '.jtf__selectorblock--container' ).attr( 'data-position', parseInt( position ) )\n\t\t\tself.setActiveDot( parseInt( position ), thisInstance )\n\n\t\t\t//Turn off previous button if we're on the first panel\n\t\t\tif ( parseInt( position ) == 0 ) {\n\t\t\t\tprev.addClass( 'jtf__selectorblock--navigation-inactive' )\n\t\t\t} else {\n\t\t\t\tprev.removeClass( 'jtf__selectorblock--navigation-inactive' )\n\t\t\t}\n\t\t\tself.navigateCarousel()\n\t\t} )\n\t}\n\n\t/**\n\t * Generate the Arrows and Dot navigation\n\t *\n\t * Slide counter should be equal to a rounded up number of how many carousel items we have divided by 3 (we have 3 items per panel)\n\t * IE 3 items is 1 panel, 5 items is 2 panels, 7 items is 3 panels ETC\n\t * @param slideCount (int)\n\t */\n\tJTFSELECTOR.prototype.generateNavigation = function ( slideCount ) {\n\t\tlet active = ''\n\t\tlet parent = $( document ).find( '.jtf__selectorblock--dots' )\n\t\tlet grandParent = $( document ).find( '.jtf__selectorblock--nav' )\n\t\tlet currentPosition = $( document ).find( '.jtf__selectorblock--container' ).attr( 'data-position' )\n\t\tlet styleAttr = $( document ).find( '.jtf__selectorblock--container' ).attr( 'style' )\n\n\t\t// Wipe the grandparent before we insert the navigation arrows again,\n\t\t// otherwise they get appended every time this refreshes and we get multiple\n\t\tgrandParent.html( parent )\n\t\t// Append the 2 navigation arrows either side of the dots section\n\t\tif ( currentPosition == '0' ) {\n\t\t\tparent.before( '' )\n\t\t} else {\n\t\t\tparent.before( '' )\n\t\t}\n\n\t\tparent.after( '' )\n\t\t// Wipe the dots section so we can add the correct amount of new dots into that container\n\t\tparent.html( '' )\n\n\t\tfor ( let x = 0; x < slideCount; x++ ) {\n\t\t\tif ( x == 0 ) {\n\t\t\t\tactive = 'jtf__selectorblock--dot-active'\n\t\t\t} else {\n\t\t\t\tactive = ''\n\t\t\t}\n\n\t\t\tparent.append( '' )\n\t\t}\n\t}\n\n\tJTFSELECTOR.prototype.removeNavigation = function () {\n\t\tlet container = $( document ).find( '.jtf__selectorblock--navigation' )\n\t\tcontainer.html( '' )\n\t}\n\n\t/**\n\t * REBOOT CAROUSEL\n\t *\n\t * This will reset the navigation items, hide and reveal the correct carousel items and reset the widths of the items\n\t *\n\t */\n\tJTFSELECTOR.prototype.reboot = function () {\n\t\tconst self = this\n\t\tvar panelItemCount = 3\n\n\t\tif ( $( window ).width() < 600 ) {\n\t\t\tpanelItemCount = 1\n\t\t}\n\n\t\tconst container = $( document ).find( '.jtf__selectorblock--container' )\n\t\tconst itemWidth = container.width() / panelItemCount\n\t\tconst inner = $( document ).find( '.jtf__selectorblock--inner' )\n\n\t\t// Reset container position on reboot, this ensures\n\t\t// we always return to the first carousel panel\n\t\tcontainer.attr( 'data-position', 0 )\n\t\t// Wipe the translate offset which puts us back\n\t\t// to the first carousel panel\n\t\tinner.css( { 'transform': 'translateX(0)' } )\n\n\t\tif ( $( '.wp-admin' ).length > 0 ) {\n\t\t\t// This needs to be in the timeout for wp-admin,\n\t\t\t// otherwise this tries to fire before the options\n\t\t\t// have been reset and then nothing works\n\t\t\tsetTimeout( function () {\n\t\t\t\tlet childElCount = Math.ceil( $( document ).find( '.jtf__selectorblock--item' ).length / panelItemCount )\n\t\t\t\t$( document ).find( '.jtf__selectorblock--inner' ).attr( 'data-children', childElCount )\n\n\t\t\t\tif ( childElCount > 1 ) {\n\t\t\t\t\tself.generateNavigation( childElCount )\n\t\t\t\t} else {\n\t\t\t\t\tself.removeNavigation()\n\t\t\t\t}\n\n\t\t\t\t$( document ).find( '.jtf__selectorblock--item' ).css( {\n\t\t\t\t\twidth: itemWidth + 'px',\n\t\t\t\t\tdisplay: 'inline-block',\n\t\t\t\t} )\n\t\t\t}, 300 )\n\t\t} else {\n\t\t\tlet currentSelection = $( '.jtf__selectorblock--selector-select' ).children( \"option:selected\" ).val()\n\t\t\t// Needs to only find children that have a matching parent to the current selector\n\t\t\tlet childElCount = Math.ceil( $( document ).find( '.jtf__selectorblock--item[data-parent=\"' + currentSelection + '\"]' ).length / panelItemCount )\n\t\t\tinner.attr( 'data-children', childElCount )\n\n\t\t\tif ( childElCount > 1 ) {\n\t\t\t\tself.generateNavigation( childElCount )\n\t\t\t} else {\n\t\t\t\tself.removeNavigation()\n\t\t\t}\n\n\t\t\t// Don't add the timeout on the front end, cos we're not waiting on anything\n\t\t\t// Also, we can use jQuery here because it's frontend yay\n\t\t\t// We only wanna add inline-block to elements that have a matching parent to the current selector\n\t\t\t$( '.jtf__selectorblock--item' ).each( function () {\n\t\t\t\t$( this ).css( { width: itemWidth + 'px' } )\n\t\t\t\tif ( $( this ).attr( 'data-parent' ) == currentSelection ) {\n\t\t\t\t\t$( this ).css( { display: 'inline-block' } )\n\t\t\t\t} else {\n\t\t\t\t\t$( this ).css( { display: 'none' } )\n\t\t\t\t}\n\t\t\t} )\n\t\t}\n\t}\n\n\t/**\n\t * Default actions happening on device actions\n\t */\n\tJTFSELECTOR.prototype.init = function ( thisInstance ) {\n\t\tconst self = this\n\t\t$( document ).find( '.jtf__selectorblock--container' ).attr( 'data-position', 0 )\n\t\t$( document ).on( 'click', '.jtf__selectorblock--selector-button', function ( e ) {\n\t\t\te.preventDefault()\n\t\t\tself.reboot( thisInstance )\n\t\t} )\n\t\tself.loadCarousel( thisInstance )\n\t}\n\tif ( $( '.wp-admin' ).length > 0 ) {\n\t\tnew JTFSELECTOR()\n\t} else {\n\t\t// Don't use timeout on front end\n\t\tif ( $( '.wp-block-jtf-jtf-selector' ).length > 0 ) {\n\t\t\t// Instantiate a new instance for each block\n\t\t\t// on a page (not that there should be more than 1...)\n\t\t\t$( '.wp-block-jtf-jtf-selector' ).each( function () {\n\t\t\t\tnew JTFSELECTOR( $( this ) )\n\t\t\t} )\n\t\t}\n\t}\n} )\n","jQuery( document ).ready( function ( $ ) {\n\tfunction TABTOGGLECONTENT( thisInstance ) {\n\t\tconsole.log( '[JTF Gut Block - JS] jtf/jtf-tab-toggle-content v2.2' )\n\t\tthis.instance = thisInstance\n\t\tthis.init()\n\t}\n\n\tTABTOGGLECONTENT.prototype.init = function () {\n\t\tconst self = this\n\t\tconst items = 'jtf__tabtoggleblock__items'\n\t\tconst item = items + '__item'\n\t\tconst blockName = $( self.instance ).find( '.' + items ).attr( 'data-blockname' )\n\t\tlet itemName = $( self.instance ).find( '.' + item + '--selected' ).attr( 'data-itemname' )\n\n\t\tif ( '' != blockName && '' != itemName ) {\n\t\t\tself.hideAllContent( blockName, itemName )\n\t\t}\n\n\t\t$( self.instance ).on( 'click', '.' + item, function () {\n\t\t\titemName = $( this ).attr( 'data-itemname' )\n\n\t\t\t$( self.instance ).find( '.' + item ).each( function () {\n\t\t\t\t$( this ).removeClass( item + '--selected' )\n\t\t\t\t$( this ).attr( 'aria-selected', false )\n\t\t\t} )\n\t\t\t$( this ).addClass( item + '--selected' )\n\t\t\t$( this ).attr( 'aria-selected', true )\n\n\t\t\tif ( '' != blockName && '' != itemName ) {\n\t\t\t\tself.hideAllContent( blockName, itemName )\n\t\t\t}\n\t\t} )\n\n\t\t// for panel left style set a css class on the link JTF Group Blocks\n\t\tconst targetElement = $( '.jtf__tabtoggleblock--tabsleft' )\n\t\ttargetElement.closest( '.col-12' ).addClass( 'jtf__tabtoggleblock--colcontainer' )\n\t}\n\n\tTABTOGGLECONTENT.prototype.hideAllContent = function ( blockName, itemName ) {\n\t\tconst itemContent = 'jtf__tabtoggleblock__content'\n\t\tconst blockNameClass = '.' + itemContent + '__blockname--' + blockName\n\t\tif ( 0 < $( blockNameClass ).length ) {\n\t\t\tconst itemNameClass = '.' + itemContent + '__itemname--' + itemName\n\t\t\t$( blockNameClass ).hide()\n\t\t\t$( blockNameClass + itemNameClass ).fadeIn()\n\t\t}\n\t}\n\n\tif ( $( '.wp-admin' ).length > 0 ) {\n\t\tsetTimeout( function () {\n\t\t\tnew TABTOGGLECONTENT( $( this ) )\n\n\t\t\tif ( $( '.wp-block-jtf-jtf-tab-toggle-content' ).length > 0 ) {\n\t\t\t\t$( '.wp-block-jtf-jtf-tab-toggle-content' ).each(\n\t\t\t\t\tfunction () {\n\t\t\t\t\t\tnew TABTOGGLECONTENT( $( this ) )\n\t\t\t\t\t},\n\t\t\t\t)\n\t\t\t}\n\t\t}, 1000 )\n\t} else {\n\t\t// wrap this in a check to see if the outer container even exists,\n\t\t// because that way we don't instntiate the code for this if its\n\t\t// not on the page\n\t\tif ( $( '.wp-block-jtf-jtf-tab-toggle-content' ).length > 0 ) {\n\t\t\t$( '.wp-block-jtf-jtf-tab-toggle-content' ).each(\n\t\t\t\tfunction () {\n\t\t\t\t\tnew TABTOGGLECONTENT( $( this ) )\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\t}\n} )\n","jQuery( document ).ready( function ( $ ) {\r\n\tfunction TFOIFA( thisInstance ) {\r\n\t\tconsole.log( '[JTF Gut Block - JS] jtf/jtf-tfoifa v3.2' )\r\n\t\tthis.instance = thisInstance\r\n\t\tthis.classTfoIfaBlock = 'jtf__tfoifablock'\r\n\t\tthis.instanceId = 0\r\n\t\tthis.init()\r\n\t}\r\n\r\n\tTFOIFA.prototype.constructButtonHref = function ( acronym, apc, title, button ) {\r\n\t\t// Construct the hyperlink for TFO OR Dove journal\r\n\t\tlet href\r\n\t\tswitch ( apc ) {\r\n\t\t\tcase 'yes_in_dove':\r\n\t\t\tcase 'yes_in_api_dove':\r\n\t\t\tcase 'no_dove':\r\n\t\t\t\tlet processed_title = title\r\n\t\t\t\t.toLowerCase()\r\n\t\t\t\t.replace( /[.,\\/#!$%\\^&\\*;:{}=\\-_`~()]/g, '' )\r\n\t\t\t\t.replace( / /g, '-' )\r\n\r\n\t\t\t\thref = 'https://www.dovepress.com/'\r\n\t\t\t\thref = href + processed_title + '-journal'\r\n\t\t\t\tbreak\r\n\t\t\tdefault:\r\n\t\t\t\thref = button.attr( 'data-tfo' )\r\n\t\t\t\thref += acronym\r\n\t\t}\r\n\t\treturn href\r\n\t}\r\n\r\n\tTFOIFA.prototype.init = function () {\r\n\t\tconst self = this\r\n\t\t// Get the instance ID from the block code\r\n\t\t$( document ).ready( function () {\r\n\t\t\tself.instanceId = $( self.instance ).find( '.' + self.classTfoIfaBlock ).attr( 'data-id' )\r\n\t\t} )\r\n\t\t// Reset the input field when the clear button is clicked\r\n\t\t$( self.instance ).on( 'click', '.' + self.classTfoIfaBlock + '--clear', function ( e ) {\r\n\t\t\te.preventDefault()\r\n\r\n\t\t\t$( self.instance ).find( '.' + self.classTfoIfaBlock + '--input' ).val( '' )\r\n\r\n\t\t\tif ( $( self.instance ).find( '.' + self.classTfoIfaBlock + '--buttons-ifa' ).length > 0 ) {\r\n\t\t\t\tconst ifaButton = $( self.instance ).find( '.' + self.classTfoIfaBlock + '--externalbutton-ifa' )\r\n\t\t\t\tifaButton.fadeOut()\r\n\t\t\t}\r\n\r\n\t\t\tif ( $( self.instance ).find( '.' + self.classTfoIfaBlock + '--buttons-aims_and_scope' ).length > 0 ) {\r\n\t\t\t\tconst aasbutton = $( self.instance ).find( '.' + self.classTfoIfaBlock + '--externalbutton-aas' )\r\n\t\t\t\taasbutton.fadeOut()\r\n\t\t\t}\r\n\t\t} )\r\n\t\t// To create the TFO Button on select of journal\r\n\t\t$( self.instance ).on( 'change', '.' + self.classTfoIfaBlock + '--input', function ( e ) {\r\n\t\t\tconst title = $( this ).val()\r\n\t\t\tconst acronym = $( self.instance ).find( '#journals-' + self.instanceId + ' option' ).filter( function () {\r\n\t\t\t\treturn this.value == title\r\n\t\t\t} ).data( 'acr' )\r\n\t\t\tconst apc = $( self.instance ).find( '#journals-' + self.instanceId + ' option' ).filter( function () {\r\n\t\t\t\treturn this.value == title\r\n\t\t\t} ).data( 'apc' )\r\n\r\n\t\t\te.preventDefault()\r\n\t\t\te.stopPropagation()\r\n\r\n\t\t\tif ( $( self.instance ).find( '.' + self.classTfoIfaBlock + '--buttons-ifa' ).length > 0 ) {\r\n\t\t\t\tconst ifaButton = $( self.instance ).find( '.' + self.classTfoIfaBlock + '--externalbutton-ifa' )\r\n\t\t\t\tifaButton.fadeIn().css( 'display', 'inline-block' )\r\n\r\n\t\t\t\tconst href = self.constructButtonHref( acronym, apc, title, ifaButton )\r\n\t\t\t\tifaButton.attr( 'href', href )\r\n\t\t\t}\r\n\r\n\t\t\tif ( $( self.instance ).find( '.' + self.classTfoIfaBlock + '--buttons-aims_and_scope' ).length > 0 ) {\r\n\t\t\t\tconst aasbutton = $( self.instance ).find( '.' + self.classTfoIfaBlock + '--externalbutton-aas' )\r\n\t\t\t\taasbutton.fadeIn().css( 'display', 'inline-block' )\r\n\r\n\t\t\t\tconst href = self.constructButtonHref( acronym, apc, title, aasbutton )\r\n\t\t\t\taasbutton.attr( 'href', href )\r\n\t\t\t}\r\n\r\n\t\t\t$( self.instance ).find( '.' + self.classTfoIfaBlock + '--count span' ).html( 1 )\r\n\t\t} )\r\n\t}\r\n\r\n\r\n\tif ( $( '.wp-admin' ).length > 0 ) {\r\n\t\tsetTimeout( function () {\r\n\t\t\tnew TFOIFA( $( this ) )\r\n\r\n\t\t\tif ( $( '.wp-block-jtf-jtf-tfoifa' ).length > 0 ) {\r\n\t\t\t\t$( '.wp-block-jtf-jtf-tfoifa' ).each(\r\n\t\t\t\t\tfunction () {\r\n\t\t\t\t\t\tnew TFOIFA( $( this ) )\r\n\t\t\t\t\t},\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t}, 1000 )\r\n\t} else {\r\n\t\t// wrap this in a check to see if the outer container even exists,\r\n\t\t// because that way we don't instntiate the code for this if its not on the page\r\n\t\tif ( $( '.wp-block-jtf-jtf-tfoifa' ).length > 0 ) {\r\n\t\t\t$( '.wp-block-jtf-jtf-tfoifa' ).each(\r\n\t\t\t\tfunction () {\r\n\t\t\t\t\tnew TFOIFA( $( this ) )\r\n\t\t\t\t},\r\n\t\t\t)\r\n\t\t}\r\n\t}\r\n} )\r\n","jQuery( document ).ready( function ( $ ) {\n\tfunction TEXTTOSPEACH( thisInstance ) {\n\t\tconsole.log( '[JTF Gut Block - JS] jtf/jtf-tts v1.0' )\n\t\tthis.instance = thisInstance\n\t\tthis.getAudioFromServer()\n\t}\n\n\tTEXTTOSPEACH.prototype.getAudioFromServer = async function () {\n\t\tconst self = this\n\n\t\tlet fetchResponse = \"\"\n\t\tlet fetchResponseData = \"\"\n\n\t\tconst fetchRequest = {\n\t\t\tmethod: \"GET\",\n\t\t\theaders: {\n\t\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t},\n\t\t}\n\t\tconst playerId = $( self.instance ).find( \".jtf__tts\" ).attr( 'data-playerid' )\n\n\t\ttry {\n\t\t\tfetchResponse = await fetch(\n\t\t\t\t\"/wp-json/jtf/v1/audio/retrievetts?playerid=\" + playerId + \"&auth=\" + localObject.jtfRegKey,\n\t\t\t\tfetchRequest, // eslint-disable-line comma-dangle\n\t\t\t)\n\t\t\t//console.log( \"status code: \", fetchResponse.status )\n\n\t\t\tif ( !fetchResponse.ok ) {\n\t\t\t\tconsole.log( fetchResponse )\n\t\t\t\tthrow new Error( `Error! status: ${ fetchResponse.status }` )\n\t\t\t}\n\t\t\tfetchResponseData = await fetchResponse.json()\n\n\t\t\tif (\n\t\t\t\t'auth_fail' !== fetchResponseData &&\n\t\t\t\t'no_audio_data' !== fetchResponseData\n\t\t\t) {\n\t\t\t\tself.createAudioPlayer( fetchResponseData, playerId )\n\t\t\t}\n\t\t} catch ( error ) {\n\t\t\tconsole.log( error )\n\t\t}\n\t}\n\n\tTEXTTOSPEACH.prototype.createAudioPlayer = async function ( audioUrl, playerId ) {\n\t\tif ( audioUrl && playerId ) {\n\t\t\tconst self = this\n\t\t\t$( self.instance ).find( 'audio' ).remove()\n\n\t\t\tlet audioElement = document.createElement( \"audio\" )\n\t\t\taudioElement.controls = true\n\t\t\taudioElement.autoplay = false\n\t\t\taudioElement.src = audioUrl\n\n\t\t\tdocument.getElementById( 'jtf__tts--' + playerId ).appendChild( audioElement )\n\n\t\t\taudioElement.addEventListener( 'play', function ( e ) {\n\t\t\t\t//console.log( 'ttsAudioAction', 'Play: ' + e.target.src )\n\t\t\t\tdataLayer.push( {\n\t\t\t\t\t'event': 'ttsAudioEvent',\n\t\t\t\t\t'ttsAudioAction': 'play',\n\t\t\t\t\t'ttsAudioTitle': e.target.src,\n\t\t\t\t} )\n\t\t\t} )\n\n\t\t\taudioElement.addEventListener( 'ended', function ( e ) {\n\t\t\t\t//console.log( 'ttsAudioAction', 'Ended: ' + e.target.src )\n\t\t\t\tdataLayer.push( {\n\t\t\t\t\t'event': 'ttsAudioEvent',\n\t\t\t\t\t'ttsAudioAction': 'ended',\n\t\t\t\t\t'ttsAudioTitle': e.target.src,\n\t\t\t\t} )\n\t\t\t} )\n\t\t}\n\t}\n\n\tif ( $( '.wp-admin' ).length > 0 ) {\n\t\tsetTimeout( function () {\n\t\t\tif ( $( '.wp-block-jtf-jtf-tts' ).length > 0 ) {\n\t\t\t\t$( '.wp-block.wp-block-jtf-jtf-tts' ).each(\n\t\t\t\t\tfunction () {\n\t\t\t\t\t\tnew TEXTTOSPEACH( $( this ) )\n\t\t\t\t\t},\n\t\t\t\t)\n\t\t\t}\n\t\t}, 9000 )\n\t} else {\n\t\tif ( $( '.wp-block-jtf-jtf-tts' ).length > 0 ) {\n\t\t\t$( '.wp-block-jtf-jtf-tts' ).each(\n\t\t\t\tfunction () {\n\t\t\t\t\tnew TEXTTOSPEACH( $( this ) )\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\t}\n} )\n","jQuery( document ).ready( function ( $ ) {\n\tfunction TWITTER( context ) {\n\t\tconsole.log( 'JTF TWITTER V1.0.10' )\n\t\tthis.context = context\n\t\tthis.init()\n\t}\n\n\tTWITTER.prototype.shuffle = function ( array ) {\n\t\tvar currentIndex = array.length, temporaryValue, randomIndex\n\n\t\t// While there remain elements to shuffle...\n\t\twhile ( 0 !== currentIndex ) {\n\n\t\t\t// Pick a remaining element...\n\t\t\trandomIndex = Math.floor( Math.random() * currentIndex )\n\t\t\tcurrentIndex -= 1\n\n\t\t\t// And swap it with the current element.\n\t\t\ttemporaryValue = array[ currentIndex ]\n\t\t\tarray[ currentIndex ] = array[ randomIndex ]\n\t\t\tarray[ randomIndex ] = temporaryValue\n\t\t}\n\n\t\treturn array\n\t}\n\n\t/**\n\t * get suffix for a date\n\t *\n\t * @param date\n\t * @returns {string}\n\t */\n\tTWITTER.prototype.getSuffix = function ( date ) {\n\t\tif ( date > 3 && date < 21 ) {\n\t\t\treturn 'th'\n\t\t}\n\n\t\tswitch ( date % 10 ) {\n\t\t\tcase 1:\n\t\t\t\treturn \"st\"\n\t\t\tcase 2:\n\t\t\t\treturn \"nd\"\n\t\t\tcase 3:\n\t\t\t\treturn \"rd\"\n\t\t\tdefault:\n\t\t\t\treturn \"th\"\n\t\t}\n\t}\n\n\t/**\n\t * Take a string and convert any URLs in it to actual anchors\n\t *\n\t * @param text\n\t * @returns {*}\n\t */\n\tTWITTER.prototype.addUrl = function ( text ) {\n\t\treturn text.replace( /(\\b(https?|ftp|file):\\/\\/[\\-A-Z0-9+&@#\\/%?=~_|!:,.;]*[\\-A-Z09+&@#\\/%=~_|])/img, '$1' )\n\t}\n\n\t/**\n\t * Get image from the media endpoint (by media ID)\n\t * Choose an image randomly from the list of ID's set within the block\n\t *\n\t */\n\tTWITTER.prototype.setImage = function () {\n\t\tvar self = this\n\n\t\t//only fire this if the twitter block has images, otherwise it complains\n\t\tif ( $( '.jtf__twitterblock--image' ).length > 0 ) {\n\t\t\tself.context.find( '.jtf__twitterblock--image' ).each( function () {\n\t\t\t\tconst data = $( this ).attr( 'data-img' )\n\t\t\t\tlet that = $( this )\n\n\t\t\t\tif ( data && 0 != data ) {\n\t\t\t\t\tlet images = data.split( ',' )\n\t\t\t\t\timages = self.shuffle( images )\n\n\t\t\t\t\t$.ajax( {\n\t\t\t\t\t\turl: '/wp-json/wp/v2/media/' + images[ 0 ],\n\t\t\t\t\t\tdataType: \"json\",\n\t\t\t\t\t\tsuccess: function ( json ) {\n\t\t\t\t\t\t\t// console.log( 'JSON', json )\n\t\t\t\t\t\t\tself.lazyLoadBgImage( that, json.media_details.sizes.medium.source_url )\n\t\t\t\t\t\t},\n\t\t\t\t\t} )\n\t\t\t\t} else {\n\t\t\t\t\tself.lazyLoadBgImage( that, 'https://covers.tandf.co.uk/covers/TANF_MR.jpg' )\n\t\t\t\t}\n\t\t\t} )\n\t\t}\n\n\t}\n\n\tTWITTER.prototype.lazyLoadBgImage = function ( that, image_url ) {\n\t\t// Setup lazy loading\n\t\tif ( image_url ) {\n\t\t\tlet callback = ( entries, observer ) => {\n\t\t\t\tentries.forEach( ( entry ) => {\n\t\t\t\t\tif ( true == entry.isIntersecting ) {\n\t\t\t\t\t\tthat.css( { 'background-image': 'url(' + image_url + ')' } )\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t}\n\t\t\tlet options = {\n\t\t\t\troot: null,\n\t\t\t\trootMargin: '150px 0px 0px 0px',\n\t\t\t\tthreshold: 0,\n\t\t\t}\n\t\t\tlet observer = new IntersectionObserver( callback, options )\n\t\t\tobserver.observe( that[ 0 ] )\n\t\t}\n\t}\n\n\t/**\n\t * Default actions happening on device actions\n\t */\n\tTWITTER.prototype.init = function () {\n\t\tconst self = this\n\n\t\tif ( self.context.find( '.jtf__twitterblock--theme-random' ).length > 0 ) {\n\t\t\tlet rand = Math.floor( Math.random() * 4 ) + 1\n\t\t\tself.context.addClass( 'jtf__twitterblock--theme' + rand )\n\t\t}\n\n\t\t// console.log($( '.jtf__twitterblock--hashtags' ))\n\n\t\tself.context.find( '.jtf__twitterblock--hashtags' ).each( function () {\n\t\t\tconst data = $( this ).attr( 'data-hash' )\n\t\t\tvar that = $( this )\n\n\t\t\tif ( data ) {\n\t\t\t\tlet hashtags = data.split( ',' )\n\n\t\t\t\thashtags = self.shuffle( hashtags )\n\n\t\t\t\t//var new_hashtags = {}\n\t\t\t\tthat.html( '' )\n\n\t\t\t\tvar loop_limit = hashtags.length <= 5 ? hashtags.length : 6\n\n\t\t\t\tfor ( let x = 0; x < loop_limit; x++ ) {\n\t\t\t\t\t// Create an anchor with a link back to twitter\n\t\t\t\t\tlet tagEle = $( '', {\n\t\t\t\t\t\tclass: 'jtf__twitterblock--hashtag',\n\t\t\t\t\t\thref: 'https://twitter.com/hashtag/' + hashtags[ x ].trim(),\n\t\t\t\t\t\ttarget: '_blank',\n\t\t\t\t\t} )\n\n\t\t\t\t\t// Append the hashtag as text into the new element\n\t\t\t\t\ttagEle.html( '#' + hashtags[ x ].trim() )\n\t\t\t\t\t// Add an aria-label so hashtags read correctly on screen readers\n\t\t\t\t\ttagEle.attr( 'aria-label', 'Open hashtag ' + hashtags[ x ].trim() + ' on Twitter' )\n\t\t\t\t\t// Append this back into the parent for final render\n\t\t\t\t\tthat.append( tagEle )\n\t\t\t\t}\n\t\t\t}\n\t\t} )\n\n\t\t// If latest tweets selected, pull the tweet from twitter via the twitterendpoint in JTF\n\t\t// Also, if the tweet contains an image - use that for the centre image\n\t\tif ( self.context.find( '.jtf__twitterblock--latest' ).length > 0 ) {\n\t\t\tvar context = self.context.find( '.jtf__twitterblock--latest' )\n\t\t\tvar handle = context.attr( 'data-handle' )\n\n\t\t\t$.ajax( {\n\t\t\t\turl: '/wp-json/jtf/v1/twitter/single?account=' + handle,\n\t\t\t\tdataType: \"json\",\n\t\t\t\tsuccess: function ( json ) {\n\n\t\t\t\t\t// console.log( json )\n\t\t\t\t\tconst monthNames = [ \"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\" ]\n\n\t\t\t\t\tlet date = new Date( json[ 0 ][ 'created_at' ] )\n\t\t\t\t\tlet dayNumber = date.getDate()\n\t\t\t\t\tlet month = monthNames[ date.getMonth() ]\n\n\t\t\t\t\tlet handleIconContainer = $( '', {\n\t\t\t\t\t\tclass: 'jtf__twitterblock--iconandhandle',\n\t\t\t\t\t} )\n\n\t\t\t\t\tlet tweetHandle = $( '', {\n\t\t\t\t\t\tclass: 'jtf__twitterblock--handle',\n\t\t\t\t\t\thref: 'https://twitter.com/' + handle,\n\t\t\t\t\t} )\n\n\t\t\t\t\tlet tweetBird = $( '', {\n\t\t\t\t\t\tclass: 'fab fa-twitter',\n\t\t\t\t\t} )\n\n\t\t\t\t\thandleIconContainer.html( tweetBird )\n\t\t\t\t\thandleIconContainer.append( tweetHandle )\n\n\t\t\t\t\ttweetHandle.html( '@' + handle )\n\n\t\t\t\t\tlet tweetData = $( '
', {\n\t\t\t\t\t\tclass: 'jtf__twitterblock--tweet',\n\t\t\t\t\t} )\n\n\t\t\t\t\tlet tweetDate = $( '
', {\n\t\t\t\t\t\tclass: 'jtf__twitterblock--tweetdate',\n\t\t\t\t\t} )\n\n\t\t\t\t\ttweetDate.append( month + ' ' + dayNumber + self.getSuffix( dayNumber ) )\n\t\t\t\t\ttweetData.html( self.addUrl( json[ 0 ][ 'full_text' ] ) )\n\t\t\t\t\tcontext.html( handleIconContainer )\n\t\t\t\t\tcontext.append( tweetData )\n\t\t\t\t\tcontext.append( tweetDate )\n\n\t\t\t\t\tlet mediaItem = json?.[ 0 ]?.[ 'extended_entities' ]?.[ 'media' ]?.[ 0 ]?.[ 'media_url' ]\n\n\t\t\t\t\tif ( mediaItem ) {\n\t\t\t\t\t\tself.context.find( '.jtf__twitterblock--image' ).css( { 'background-image': 'url(' + mediaItem + ')' } )\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.setImage()\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t} )\n\t\t} else {\n\t\t\t// If not the latest tweet AJAX, then just load a random image from our pre-selected\n\t\t\tself.setImage()\n\t\t}\n\t}\n\n\tsetTimeout( function () {\n\t\t// Check TWITTER is used on this page before instantiating\n\t\tif ( $( '.wp-block-jtf-jtf-twitter' ).length > 0 ) {\n\t\t\t$( '.wp-block-jtf-jtf-twitter' ).each( function () {\n\t\t\t\tnew TWITTER( $( this ) )\n\t\t\t} )\n\t\t}\n\t}, 1000 )\n} )\n","jQuery( document ).ready( function ( $ ) {\n\tfunction YOUTUBE() {\n\t\tconsole.log( '[JTF Gut Block - JS] jtf/jtf-youtube (media block) v2.0' )\n\t\tthis.init()\n\t}\n\n\tYOUTUBE.prototype.resizeOnWindowChange = function () {\n\t\t$( '.jtf__mediablock' ).each( function () {\n\t\t\tconst thisAspectH = $( this ).find( 'a' ).attr( 'data-aspecth' )\n\t\t\tconst thisAspectW = $( this ).find( 'a' ).attr( 'data-aspectw' )\n\t\t\tconst thisWidth = $( this ).width()\n\t\t\tconst oneOfThisWidth = thisWidth / thisAspectW\n\t\t\tconst newHeight = oneOfThisWidth * thisAspectH\n\n\t\t\t$( this ).find( '.jtf__mediablock__placeholder' ).css( {\n\t\t\t\t'height': newHeight + 'px',\n\t\t\t} )\n\n\t\t\t$( this ).find( 'iframe' ).attr( 'height', oneOfThisWidth * thisAspectH + 'px' )\n\t\t} )\n\t}\n\n\t/**\n\t * Default actions happening on device actions\n\t */\n\tYOUTUBE.prototype.init = function () {\n\t\tconst self = this\n\t\t// preserve the 16:9 aspect ratio for the block on load\n\t\t$( document ).ready( function () {\n\t\t\tself.resizeOnWindowChange()\n\t\t} )\n\n\t\t// preserve the 16:9 aspect ratio for the block on window resize\n\t\t$( window ).resize( function () {\n\t\t\tself.resizeOnWindowChange()\n\t\t} )\n\n\t\t// preserve the 16:9 aspect ratio when block is displayed within a tab / toggle section\n\t\t// // If tab / toggle content section exists on the page\n\t\tif (\n\t\t\t$( '.wp-block-jtf-jtf-tab-toggle-content' ).length > 0 &&\n\t\t\t$( '.jtf__tabtoggleblock__content' ).length > 0\n\t\t) {\n\t\t\tlet tabId = 0\n\t\t\t// // On tab / toggle click\n\t\t\t$( '.jtf__tabtoggleblock__items__item' ).on( 'click', function () {\n\t\t\t\t// // Store the tab / toggle button id\n\t\t\t\ttabId = $( this ).attr( 'id' )\n\t\t\t\t// // Check if the content section exists for the tab / toggle\n\t\t\t\tif ( $( '#' + tabId + 'Content' ).length > 0 ) {\n\t\t\t\t\t// // Check if a JTF Media block exists within the content section\n\t\t\t\t\tif ( $( '#' + tabId + 'Content' ).find( '.wp-block-jtf-jtf-youtube' ).length > 0 ) {\n\t\t\t\t\t\t// // Run the function after a slight delay\n\t\t\t\t\t\tsetTimeout(\n\t\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\t\tself.resizeOnWindowChange()\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t100,\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} )\n\n\t\t}\n\n\t\t$( document ).on( 'click', '.jtf__mediablock__placeholder', function ( e ) {\n\t\t\te.preventDefault()\n\t\t\tconst parent = $( this ).parent()\n\t\t\tconst videoID = parent.attr( 'data-url' )\n\t\t\tconst videoType = parent.attr( 'data-type' )\n\t\t\t// 16:9 ratio, height gets calculated based off the width of the container\n\t\t\tconst thisAspectH = $( this ).attr( 'data-aspecth' )\n\t\t\tconst thisAspectW = $( this ).attr( 'data-aspectw' )\n\t\t\tconst thisWidth = $( this ).width()\n\t\t\tconst oneOfThisWidth = thisWidth / thisAspectW\n\n\t\t\t$( this ).remove()\n\n\t\t\tswitch ( videoType ) {\n\t\t\t\tcase 'vm':\n\t\t\t\t\tparent.append( '' )\n\t\t\t\t\tbreak\n\t\t\t\tcase 'yt':\n\t\t\t\t\tparent.append( '' )\n\t\t\t\t\tbreak\n\t\t\t\tcase 'ws':\n\t\t\t\t\tparent.append(\n\t\t\t\t\t\t'' +\n\t\t\t\t\t\t'' +\n\t\t\t\t\t\t'
 
',\n\t\t\t\t\t)\n\t\t\t\t\tbreak\n\t\t\t\tcase 'bb':\n\t\t\t\t\tparent.append( '' )\n\t\t\t\t\tbreak\n\t\t\t\tcase 'gtw':\n\t\t\t\t\tparent.append( '' )\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t} )\n\t}\n\n\tif ( $( '.wp-admin' ).length > 0 ) {\n\t\t// delay admin so GUT has chance to load\n\t\tsetTimeout( function () {\n\t\t\tif ( $( '.wp-block-jtf-jtf-youtube' ).length > 0 ) {\n\t\t\t\tnew YOUTUBE()\n\t\t\t}\n\t\t}, 4000 )\n\t} else {\n\t\t// Check block is used on this page before instantiating\n\t\tif ( $( '.wp-block-jtf-jtf-youtube' ).length > 0 ) {\n\t\t\tnew YOUTUBE()\n\t\t}\n\t}\n} )\n\n"]}