{"version":3,"sources":["app.js"],"names":["_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","jQuery","$","ie_image_fix","images","each","ind","val","imageSource","this","children","attr","css","display","backgroundSize","backgroundImage","backgroundPosition","_menu","characterLimit","expendButton","textComntainer","hide_para","parentcomp","slicing_chars","paragraphs","find","total_length","is_current_sorted","index","el","text","length","newText","slice_index","i","slice","after","addClass","append","contentLimit","charlimit","contentToggle","on","e","preventDefault","sec_parent","parents","hasClass","removeClass","siblings","remove","init","window","resize","event","width","tablet","contentGate","bypassLink","initBypassLink","click","$this","$form","closest","ajax","type","url","href","data","cache","success","html","show","hide","indexOf","delay","isNaN","setTimeout","location","reload","animate","scrollTop","offset","top","customSelect","scrollContent","scrollList","scrollListUl","selectBtn","selectBtnContent","selectItem","selectLabel","selectBox","removeFilterBtn","selectClass","body","searchSelect","selectIntialization","dropkick","mobile","SimpleBar","openSearch","parent","toggleClass","gettingvalue","removeClient","closeSelect","target","escClose","document","evt","keyCode","example","elms","filters","itemFilter","clearFilter","mobFilterShowBtn","mobFilterHideBtn","searchField","filterElement","filter","addremoveFilter","mobileFilter","searchFilter","toLowerCase","toggle","mappin","countrypin","pinPonit","content_width","outerWidth","height","left","right","form","container","selectWrapper","select","paddingInputs","newsletter","smartSearchForm","typeInputs","freetext","password","email","textarea","closeButton","formCloseButton","applynowcloseButton","popUp","applynowpopUp","formsPopUp","thankyouSection","applynowthankyouSection","newMessageSection","ddSelect","documentElement","erroMsg","removeAttr","lastValue","rules","required","validation","keyboardAmends","inputs","add","mainHeader","hamburger","focusin","focusout","preventZoom","searchHeader","allInputs","hiddenForm","wrapper","openEl","closeEl","contentEl","openForm","slideDown","fadeIn","first","focus","closeForm","fadeOut","slideUp","buttonRadio","wrapperEl","inputEl","buttonEl","highlightOnLoad","is","radioUpdate","isiPhone","isiPad","isiPod","checkboxradio","checkedCheckbox","checkbox","forceUncheck","prop","thankyouPopupClose","applynowthankyouPopupClose","formPopupClose","newMessage","windowWidth","desktop","fullpage","body_selector","section","fullpage_mobile","fullpageInit","$el","$css3","$scrollingSpeed","$navigation","$slidesNavigation","$keyboardScrolling","$responsiveSlides","$verticalCentered","$scrollOverflow","$normalScrollElements","licenseKey","css3","scrollingSpeed","navigation","slidesNavigation","keyboardScrolling","responsiveSlides","verticalCentered","scrollOverflow","scrollOverflowOptions","keyBindings","pageUp","pageDown","scrollBar","normalScrollElements","afterLoad","origin","destination","direction","tabletWide","fn","setMouseWheelScrolling","setAllowScrolling","heroVideo","scrollDirection","originalEvent","detail","wheelDelta","swipe","distance","duration","fingerCount","fingerData","threshold","fingers","test","navigator","userAgent","MSStream","handleImageIndex","gaUtility","DATA_GA_CONVERSION_ID","GA_EVENT_CATEGORY_CONVERSION","GA_EVENT_ACTION_CLICK","ga_exists","ga","report_conversion","element","gaConversionID","hitType","eventCategory","eventAction","eventLabel","getInTouchSorting","countrySelector","country","locations","showLocation","openBtn","regionSelector","backBtn","allRegionsFilters","list_sorting","sorted_country","sort","a","b","localeCompare","appendTo","region_init","first_element","show_country_box","thisLocation","sorting","addressFilter","backtolocation","regionFilter","change","selected_region","replace","toUpperCase","ele","getInTouch","subscribeForm","subscribeClose","mainPopup","mainBody","mainHtml","closeLayer","getInTouchPopup","getInTouchOpen","getInTouchModelClose","getInTouchOpenClose","closegetInTouchOpen","escClosegetInTouch","videoIdElement","videoPlaceholder","videoPlaceholderContent","videoController","videoBlock","vimeoVideoPlaceholderShow","TweenLite","to","alpha","ease","Strong","easeInOut","onStart","vimeoVideoPlaceholderHide","onComplete","vimeoBackgroundVideo","vimeoId","videoElement","videoPlaceholderTimeoutID","videoIFrame","videoPlayer","Vimeo","Player","clearTimeout","style","appVersion","joblisting","filters_bar","jobLocation","jobDepartment","job","locationSorting","location_selected","department_selected","final_preview","ele_region","ele_dept","joblistingSorting","locationFilert","pagination","paginationBlock","initBamboo","jobsBamboo","SEL_DATA_JOB_FEATURE_LINK_1","SEL_DATA_JOB_FEATURE_LINK_2","SEL_DATA_JOB_FEATURE_LINK_3","SEL_TEMPLATE_FILTER_DEPARTMENT","SEL_TEMPLATE_FILTER_LOCATION","SEL_TEMPLATE_JOB","SEL_FILTER_DEPARTMENT_CONTAINER","SEL_FILTER_LOCATION_CONTAINER","SEL_JOBS_CONTAINER","SEL_PAGE_CAREERS","SEL_PAGE_CAREERS_DETAILS","WS_BAMBOO_JOB_EMBED","JOBS_PREVIEW_JOBS_MAX","dataBamboo","dataDepartments","dataLocations","isPageCareers","isPageCareersDetails","processHTMLText","trim","processRawTemplate","templateRaw","convertLinkToDataBambooLink","linkAny","linkProcess","substr","paramID","pieces","split","path","query","queryPieces","queryPiece","queryPiecePieces","arrayRemoveEmpty","arrayInitial","arrayFinal","arrayItem","push","wsBambooGetEmbed","error","err","onDataSuccess","bind","res","convertBambooJobEmbedToData","dataEmbed","parsedHTML","parseHTML","elmMain","elmDepartments","elmDepartmentsItem","elmDepartment","elmDepartmentName","elmDepartmentJobs","departmentID","departmentName","dataDepartment","id","name","jobs","elmDepartmentJobsItem","elmDepartmentJob","departmentJobID","departmentJobLink","departmentJobTitle","departmentJobLocation","departmentJobLocationPieces","departmentJobPlace","shift","departmentJobLocality","join","departmentJobLocationID","title","locationID","place","locality","link","renderFilters","rawFilterDepartment","tmplFilterDepartment","Handlebars","compile","dataDepartmentsCopy","extend","dataDepartmentsByName","dataDepartmentsSorted","keys","htmlFilterDepartment","departments","rawFilterLocation","tmplFilterLocation","dataLocationsCopy","dataLocationsSorted","htmlFilterLocation","renderJobsPreview","dataJobs","dataJob","locationPlace","jobLink","jobTitle","elmJobsContainer","dataJobsFeaturedLinks","dataJobsFeatured","dataJobFeatureLink1","dataJobFeatureLink2","dataJobFeatureLink3","foundIndex","rawJob","tmplJob","dataJobsFinal","htmlJob","renderJobs","onDataSuccessCareers","onDataSuccessCareersDetails","selects","googlemapBlock","mapBlock","viewLarge","mapApiKey","mapApi","mapInitilization","lazyLoadGoogleMaps","callback","map","locationAddress","encodeURIComponent","seelargeLink","get","status","results","geometry","center","google","maps","LatLng","lat","lng","setOptions","zoom","disableDefaultUI","styles","elementType","stylers","color","visibility","featureType","icon","scaledSize","Size","Marker","position","menu","header","desktopLogo","mobileLogo","mobileIcon","mobileMenu","wh","mainNav","mainSection","fullPage","niceScroll","menuBehaviour","hasScrolled","st","Math","abs","lastScrollTop","delta","navbarHeight","didScroll","outerHeight","scroll","setInterval","mainPagination","items","numItems","perPage","total_pages","ulcontainer","active_page","parseInt","li_page","parentUl","indexx","onlyForm","submitButton","formMsg","popup","popupModelOpen","reset","popupModelClose","popupModelCloseBtn","closePopup","formClass","highlight_input_field","field","$selectWrap","getEachSelect","mobileSelects","desktopSelects","$select","selectText","$fakeSelect","prepend","slider","keyPeopleSlider","workPgSlider","workPopupSlider","sliderSlide","sliderDots","sliderOpen","isifirefox","imageindex","slick","slides","slidenumber","slide_src","buttpon","sliderClose","sliderWidth","fullslideWidth","sliderFunction","$dots","$infinite","$slidesToShow","$slidesToScroll","$variableWidth","$speed","$autoplay","$centerPadding","$arrows","$mobileFirst","$asNavFor","$focusOnSelect","$initialSlide","dots","infinite","slidesToShow","slidesToScroll","variableWidth","speed","autoplay","centerPadding","arrows","mobileFirst","asNavFor","focusOnSelect","initialSlide","tab","setMethods","validator","setDefaults","debug","errorElement","errorPlacement","insertAfter","addMethod","regexString","re","RegExp","optional","$thisVal","$matchEl","$matchElVal","console","log","$lengthVal","$inputValLength","isValidDate2","y","m","d","daysInMonth","date","dateSplit","min","today","Date","birthDate","age","getFullYear","validateForms","validate","ignore","submitHandler","ggid","grecaptcha","getResponse","mailchimpAjaxSubmit","submit","captchaValidationMsg","serialize","setRules","populateDob","$container","$day","$month","$year","$dayVal","toString","$monthVal","$yearVal","_setDate","selectors","$values","valid","$date_joioned","message_required","messages","message_format","regexFormat","message_matchTo","matchInput","minLength_message","minLengthCheck","maxLength_message","maxLengthCheck","selectRequired","multiselectRequired","keypress","which","node","message_valid","validBirthDate","message_minage","minAge","blur","customDd","idx","allowEmpty","videoPopup","videoOpenBtn","videoFrame","vimeoApi","onMessageReceived","playerOrigin","JSON","parse","onReady","onPlayProgress","onPause","onFinish","post","action","method","stringify","player","contentWindow","postMessage","addEventListener","attachEvent","popupVideo","videoinitilization","vimeoColour","windowHeight","workShare","shareBtn","shareParent","share","socialShareBtn","hover","isInViewport","elementTop","elementBottom","viewportTop","viewportBottom","workVideo","iframeVideo","innerWidth","innerHeight","isIEBrowser","sr","debounce","func","execAsap","timeout","delayed","apply","args","arguments","trigger","smartresize","newWindowWidth","newWindowHeight"],"mappings":"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","file":"app.js","sourcesContent":["// define jQuery\r\njQuery(function($){\r\n\nvar characterLimit = {\r\n expendButton: $('.btn-all'),\r\n textComntainer: $('.view-m-mb'),\r\n\r\n hide_para: function(parentcomp,slicing_chars) {\r\n var paragraphs = $(parentcomp).find('p');\r\n var total_length = 0;\r\n var is_current_sorted = false;\r\n paragraphs.each(function(index, el) {\r\n total_length = total_length + $(el).text().length;\r\n if (total_length >= slicing_chars) {\r\n var newText = $(el).text()\r\n var slice_index = $(el).text().length - (total_length - slicing_chars);\r\n if (slice_index >= 80 && !is_current_sorted) {\r\n for (var i = slice_index; i >= 0; i--) {\r\n if (newText[i] == ' ') {\r\n slice_index = i\r\n break;\r\n }\r\n }\r\n newText = newText.slice(0, slice_index)\r\n $(el).after('
' + newText + '....' + '
');\r\n is_current_sorted = true\r\n\r\n } else {\r\n $(el).addClass('hide');\r\n $(paragraphs[index - 1]).append('....');\r\n is_current_sorted = true\r\n }\r\n $(el).addClass('hide');\r\n }\r\n });\r\n if (total_length <= slicing_chars) {\r\n $(parentcomp).find('.btn').addClass('hide');\r\n }\r\n },\r\n\r\n contentLimit: function(charlimit) {\r\n function contentToggle() {\r\n characterLimit.expendButton.on('click', function(e) {\r\n e.preventDefault();\r\n var sec_parent = $(this).parents('.char_height_limit')\r\n if (sec_parent.hasClass('opened')) {\r\n characterLimit.hide_para(sec_parent,charlimit);\r\n sec_parent.removeClass('opened')\r\n } else {\r\n $(this).siblings('.cloned').remove();\r\n $(this).siblings('.hide').removeClass('hide');\r\n sec_parent.find('.trail_dots').remove();\r\n sec_parent.addClass('opened')\r\n }\r\n });\r\n }\r\n contentToggle();\r\n },\r\n\r\n init: function() {\r\n $(window).resize(function(event) {\r\n if ($(window).width() < window.tablet) {\r\n $('.char_height_limit').each(function() {\r\n characterLimit.hide_para(this,390);\r\n });\r\n }\r\n });\r\n if ($(window).width() < window.tablet) {\r\n $('.char_height_limit').each(function() {\r\n characterLimit.hide_para(this,390);\r\n });\r\n }\r\n characterLimit.contentLimit(390);\r\n\r\n }\r\n};\nvar contentGate = {\r\n\tbypassLink: $('#bypasscontentgate'),\r\n\r\n\tinit: function() {\r\n\t\tfunction initBypassLink() {\r\n\t\t\tcontentGate.bypassLink.click(function(e) {\r\n\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\tvar $this = $(this);\r\n\t\t\t\tvar $form = $this.closest(\"form\");\r\n\r\n\t\t\t\t$.ajax({\r\n\t\t\t\t\ttype: \"post\",\r\n\t\t\t\t\turl: this.href,\r\n\t\t\t\t\tdata: null,\r\n\t\t\t\t\tcache: false,\r\n\t\t\t\t\t//dataType: 'json',\r\n\t\t\t\t\t//contentType: 'application/json; charset=utf-8',\r\n\t\t\t\t\tsuccess: function(data) {\r\n\t\t\t\t\t\t$(\".thanksmsgajax\").html(data);\r\n\t\t\t\t\t\t$form.siblings('.news-subscriber.thank-msg').show();\r\n\t\t\t\t\t\t$('body').addClass('subs-thanksmsg');\r\n\t\t\t\t\t\t$form.hide();\r\n\r\n\t\t\t\t\t\t// See equivalent code in validation.js in validation.validateForms for documenation\r\n\t\t\t\t\t\tif ($this.data(\"onsuccess\") === \"reload\" && data.indexOf(\"ajax-error\") == -1)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tlet delay = $this.data(\"onsuccess-delay\");\r\n\t\t\t\t\t\t\tif (isNaN(delay)) { delay = 3; }\r\n\t\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\t\twindow.location.reload(1);\r\n\t\t\t\t\t\t\t}, delay * 1000);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if ($this.data(\"onerror\") === \"reload\" && data.indexOf(\"ajax-error\") != -1)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tlet delay = $this.data(\"onerror-delay\");\r\n\t\t\t\t\t\t\tif (isNaN(delay)) { delay = 5; }\r\n\r\n\t\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\t\twindow.location.reload(1);\r\n\t\t\t\t\t\t\t}, delay * 1000);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if ($(window).width() < window.tablet)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t$('html,body').animate({\r\n\t\t\t\t\t\t\t\tscrollTop: $(\"#newssignupform\").offset().top\r\n\t\t\t\t\t\t\t}, 'slow');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t});\r\n\t\t\t;\r\n\t\t}\r\n\t\tinitBypassLink();\r\n\t},\r\n};\nvar customSelect = {\r\n scrollContent: $('.select-content'),\r\n scrollList: $('.client-menu-list'),\r\n scrollListUl: $('.client-menu-list ul'),\r\n selectBtn: $('.select-btn'),\r\n selectBtnContent: $('.select-btn span'),\r\n selectItem: $('.client-menu-list ul li a'),\r\n selectLabel: $('.select-btn-content .select-btn span'),\r\n selectBox: $('.select-btn-content'),\r\n removeFilterBtn: $('.clients .remove-clients'),\r\n selectClass: $('.select-wrapper select'),\r\n body: $('body'),\r\n\r\n\r\n\r\n searchSelect: function() {\r\n\r\n function selectIntialization(){\r\n customSelect.selectClass.dropkick({\r\n mobile: true\r\n });\r\n $('.dk-select-options').each(function(index, el) {\r\n new SimpleBar(el);\r\n });\r\n }\r\n selectIntialization();\r\n\r\n function openSearch() {\r\n customSelect.selectBtn.click(function(e) {\r\n e.preventDefault();\r\n $(this).parent().toggleClass('open');\r\n customSelect.scrollContent.scrollTop(0);\r\n });\r\n }\r\n openSearch();\r\n\r\n function gettingvalue() {\r\n customSelect.selectItem.click(function(e) {\r\n e.preventDefault();\r\n var text = $(this).html();\r\n customSelect.selectLabel.html(text);\r\n customSelect.selectBox.removeClass('open');\r\n customSelect.removeFilterBtn.removeClass('disable');\r\n });\r\n }\r\n gettingvalue();\r\n\r\n function removeClient() {\r\n customSelect.removeFilterBtn.click(function() {\r\n customSelect.selectLabel.html('Select client…');\r\n customSelect.removeFilterBtn.addClass('disable');\r\n });\r\n }\r\n removeClient();\r\n\r\n function closeSelect() {\r\n customSelect.body.on('click', function(e) {\r\n if (!$(e.target).parents('.select-btn-content').length) {\r\n customSelect.selectBox.removeClass('open');\r\n }\r\n\r\n });\r\n }\r\n closeSelect();\r\n\r\n function escClose() {\r\n $(document).on('keyup', function(evt) {\r\n //For Esc Key\r\n if (evt.keyCode == 27) {\r\n customSelect.selectBox.removeClass('open');\r\n }\r\n });\r\n }\r\n escClose();\r\n\r\n },\r\n\r\n init: function() {\r\n customSelect.searchSelect();\r\n }\r\n\r\n};\nvar example = {\r\n\r\n\telms: {\r\n\t},\r\n\r\n\texample: function() {\r\n\t},\r\n\r\n\tinit: function() {\r\n\t}\r\n};\r\n\nvar filters = {\r\n itemFilter: $('.all-filters ul li a'),\r\n clearFilter: $('.remove-filter'),\r\n mobFilterShowBtn: $('.mobile-filter-btns .showfilter'),\r\n mobFilterHideBtn: $('.mobile-filter-btns .hidefilter'),\r\n searchField: $('#select-search'),\r\n filterElement: $('.client-menu-list ul li a'),\r\n\r\n\r\n filter: function() {\r\n function addremoveFilter() {\r\n filters.itemFilter.click(function(event) {\r\n event.preventDefault();\r\n $(this).toggleClass('selected');\r\n if (filters.itemFilter.hasClass('selected')) {\r\n filters.clearFilter.removeClass('disable');\r\n }\r\n else{\r\n filters.clearFilter.addClass('disable');\r\n }\r\n\r\n });\r\n filters.clearFilter.click(function(event) {\r\n event.preventDefault();\r\n filters.itemFilter.removeClass('selected');\r\n filters.clearFilter.addClass('disable');\r\n });\r\n }\r\n addremoveFilter();\r\n\r\n function mobileFilter() {\r\n filters.mobFilterShowBtn.click(function(event) {\r\n event.preventDefault();\r\n $(this).parent().parent().addClass('open-filter');\r\n });\r\n filters.mobFilterHideBtn.click(function(event) {\r\n event.preventDefault();\r\n $(this).parent().parent().removeClass('open-filter');\r\n });\r\n }\r\n mobileFilter();\r\n\r\n function searchFilter() {\r\n filters.searchField.on(\"keyup\", function() {\r\n var value = $(this).val().toLowerCase();\r\n filters.filterElement.filter(function() {\r\n $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)\r\n })\r\n });\r\n }\r\n searchFilter();\r\n },\r\n\r\n init: function() {\r\n filters.filter();\r\n }\r\n};\nvar mappin = {\r\n\r\n\tcountrypin: function() {\r\n\r\n\t\tfunction pinPonit() {\r\n\t\t\t$(\".map-pin\").each(function(index, el) {\r\n\r\n\t\t\t\tvar content_width = $(el).children('a').outerWidth();\r\n\t\t\t\tvar content_height = $(el).children('a').height();\r\n\r\n\t\t\t\tif ($(el).hasClass('bottom')) {\r\n\t\t\t\t\t$(el).children('a').css({ 'top': '1.4rem'});\r\n\t\t\t }\r\n\t\t\t if ($(el).hasClass('top')) {\r\n\t\t\t\t\t$(el).children('a').css({ 'top': '-3.2rem'});\r\n\t\t\t }\r\n\t\t\t if ($(el).hasClass('right')) {\r\n\t\t\t\t\t$(el).children('a').css({ 'left': ((content_width/2)/10+ 0.7)+'rem'});\r\n\t\t\t }\r\n\t\t\t if ($(el).hasClass('left')) {\r\n\t\t\t\t\t$(el).children('a').css({ 'right': ((content_width/2)/10+ 0.7)+'rem'});\r\n\t\t\t }\r\n\t\t\t});\r\n\t\t}\r\n\t\t pinPonit();\r\n\t},\r\n\r\n\tinit: function() {\r\n\t\tmappin.countrypin();\r\n\t}\r\n};\r\n\nvar form = {\r\n\tcontainer: $('form'),\r\n\tselectWrapper: $('.select-wrapper'),\r\n\tselect: $('select'),\r\n\tpaddingInputs: {\r\n\t\tnewsletter: $('.form-single-item'),\r\n\t\tsmartSearchForm: $('.smart-search-form'),\r\n\t},\r\n\ttypeInputs: {\r\n\t\tfreetext: $('input[type=\"text\"]'),\r\n\t\tpassword: $('input[type=\"password\"]'),\r\n\t\temail: $('input[type=\"email\"]'),\r\n\t\ttextarea: $('textarea'),\r\n\t},\r\n\tcloseButton: $('.inpage-form .popup-section .close-button a'),\r\n\tformCloseButton: $('.inpage-form .popup-section-2 .close-button a'),\r\n\tapplynowcloseButton: $('.popup-section .close-button a'),\r\n\tpopUp: $('.inpage-form .popup-section'),\r\n\tapplynowpopUp: $('.popup-section'),\r\n\tformsPopUp: $('.inpage-form .popup-section-2'),\r\n\tthankyouSection: $('.inpage-form .popup-section .thankyou'),\r\n\tapplynowthankyouSection: $('.popup-section .thankyou'),\r\n\tnewMessageSection: $('.inpage-form .popup-section .thankyou .newmessage a'),\r\n\r\n\r\n\tddSelect: function() {\r\n\t\tif (!('ontouchstart' in document.documentElement)) {\r\n\t\t\tif (form.selectWrapper.length > 0) {\r\n\t\t\t\tform.selectWrapper.find(form.select).dropkick();\r\n\t\t\t\tform.select.addClass('select-hidden').attr('tabindex', -1);\r\n\t\t\t\tvar erroMsg = $('#Other').data('validation-empty');\r\n\t\t\t\t$('#Other').removeAttr('data-validation-empty');\r\n\t\t\t\tvar lastValue = $('#Hearaboutus option:last-child').val();\r\n\t\t\t\t$('.dk-option').on('click', function() {\r\n\r\n\t\t\t\t\t$(this).closest(form.selectWrapper).find('span.error').addClass('valid');\r\n\t\t\t\t\t$(this).closest(form.selectWrapper).find('.dk-select-options').removeClass('select-error');\r\n\t\t\t\t\t$(this).closest(form.selectWrapper).addClass('selected-field');\r\n\t\t\t\t});\r\n\t\t\t\t$('.dk2-Hearaboutus .dk-option').on('click', function() {\r\n\r\n\t\t\t\t\tif ($(this).data('value') === lastValue) {\r\n\t\t\t\t\t\t$('#Other').attr('data-validation-empty', erroMsg);\r\n\t\t\t\t\t\t$('#Other').parent('.form-field').addClass('enabled');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$('#Other').removeAttr('data-validation-empty');\r\n\t\t\t\t\t\t$('#Other').parent('.form-field').removeClass('enabled');\r\n\t\t\t\t\t\t$('#Other').rules('add', {\r\n\t\t\t\t\t\t required: false\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t$('#Other').addClass('valid');\r\n\t\t\t\t\t\t$('#Other-error.error').addClass('valid');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvalidation.init();\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tkeyboardAmends: function() {\r\n\t\tif ('ontouchstart' in document.documentElement) {\r\n\t\t\tvar inputs = form.typeInputs.freetext.add(form.typeInputs.password).add(form.typeInputs.email).add(form.typeInputs.textarea);\r\n\t\t\tvar mainHeader = $('.main-header');\r\n\t\t\tvar hamburger = $('#navTrigger');\r\n\r\n\t\t\tinputs.focusin(function() {\r\n\t\t\t\tmainHeader.css('position', 'absolute').removeClass('hideh');\r\n\t\t\t\thamburger.css('display', 'none');\r\n\t\t\t});\r\n\r\n\t\t\tinputs.focusout(function() {\r\n\t\t\t\tmainHeader.removeAttr('style');\r\n\t\t\t\thamburger.removeAttr('style');\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\tpreventZoom: function() {\r\n\t\tif ('ontouchstart' in document.documentElement) {\r\n\t\t\tvar searchHeader = $('#search');\r\n\t\t\tvar allInputs = searchHeader;\r\n\t\t\tallInputs.css('font-size', '16px');\r\n\t\t}\r\n\t},\r\n\r\n\thiddenForm: {\r\n\t\twrapper: $('.with-hidden-form'),\r\n\t\topenEl: $('.hidden-form-open'),\r\n\t\tcloseEl: $('.hidden-form-close'),\r\n\t\tcontentEl: $('.hidden-form'),\r\n\r\n\t\topenForm: function() {\r\n\t\t\tform.hiddenForm.openEl.click(function(event){\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\t$(this).hide().closest(form.hiddenForm.wrapper).find(form.hiddenForm.contentEl).slideDown(500, function(){\r\n\t\t\t\t\t\t$(this).closest(form.hiddenForm.wrapper).find(form.hiddenForm.closeEl).fadeIn();\r\n\t\t\t\t\t});\r\n\t\t\t\t$(this).closest('form').find('input').first().focus();\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\tcloseForm: function() {\r\n\t\t\tform.hiddenForm.closeEl.click(function(event){\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\t$(this).fadeOut();\r\n\t\t\t\t$(this).closest(form.hiddenForm.wrapper).find(form.hiddenForm.openEl).show();\r\n\t\t\t\t$(this).fadeOut().closest(form.hiddenForm.wrapper).find(form.hiddenForm.contentEl).slideUp();\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\tinit: function() {\r\n\t\t\tform.hiddenForm.openForm();\r\n\t\t\tform.hiddenForm.closeForm();\r\n\t\t}\r\n\t},\r\n\r\n\tbuttonRadio: {\r\n\t\twrapperEl: $('.button-radio-wrapper'),\r\n\t\tinputEl: $('.button-radio').find('input'),\r\n\t\tbuttonEl: $('.button-radio').find('.button'),\r\n\r\n\t\thighlightOnLoad: function() {\r\n\t\t\tform.buttonRadio.inputEl.each(function() {\r\n\t\t\t\tif ($(this).is(':checked') === true) {\r\n\t\t\t\t\t$(this).siblings('.button').addClass('inverted');\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\tradioUpdate: function() {\r\n\t\t\tform.buttonRadio.buttonEl.click(function() {\r\n\t\t\t\t$(this).addClass('inverted');\r\n\t\t\t\t$(this).siblings('input').attr('checked', true);\r\n\t\t\t\t$(this).closest('.button-radio').siblings('.button-radio').find('input').removeAttr('checked');\r\n\t\t\t\t$(this).closest('.button-radio').siblings('.button-radio').find('.button').removeClass('inverted');\r\n\r\n\t\t\t\tif(isiPhone > -1 || isiPad > -1 || isiPod > -1) {\r\n\t\t\t\t\tform.buttonRadio.inputEl.checkboxradio('refresh');\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\tinit: function() {\r\n\t\t\tif (form.buttonRadio.wrapperEl.length) {\r\n\t\t\t\tform.buttonRadio.highlightOnLoad();\r\n\t\t\t\tform.buttonRadio.radioUpdate();\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t// Force to uncheck on click when it comes checked by default from umbraco\r\n\tcheckedCheckbox: {\r\n\t\tcheckbox: $('.checkbox-wrap'),\r\n\r\n\t\tforceUncheck: function() {\r\n\t\t\tform.checkedCheckbox.checkbox.click(function(){\r\n\t\t\t\t$(this).find('[checked=\"checked\"]').removeAttr('checked').prop('checked', true);\r\n\r\n\t\t\t\tsetTimeout(function(){\r\n\t\t\t\t\t$(this).find('[checked=\"checked\"]').prop('checked', false);\r\n\t\t\t\t},500);\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\t// form close button\r\n\tthankyouPopupClose: function() {\r\n\t\tform.closeButton.click(function(e) {\r\n\t\t\te.preventDefault();\r\n\t\t\tform.popUp.removeClass('show');\r\n\t\t\tform.thankyouSection.removeClass('fadeInLeft');\r\n\t\t\t$('body').removeClass('fixed');\r\n\t\t});\r\n\t},\r\n\r\n\t// apply now form thankyou popup close\r\n\tapplynowthankyouPopupClose: function() {\r\n\t\tform.applynowcloseButton.click(function(e) {\r\n\t\t\te.preventDefault();\r\n\t\t\tform.applynowpopUp.removeClass('show');\r\n\t\t\tform.applynowthankyouSection.removeClass('fadeInLeft');\r\n\t\t\t$('body').removeClass('fixed');\r\n\t\t});\r\n\t},\r\n\r\n\tformPopupClose: function() {\r\n\t\tform.formCloseButton.click(function(e) {\r\n\t\t\te.preventDefault();\r\n\t\t\tform.formsPopUp.removeClass('show');\r\n\t\t\t$('body').removeClass('fixed');\r\n\t\t});\r\n\t},\r\n\r\n\tnewMessage: function() {\r\n\t\tform.newMessageSection.click(function(e) {\r\n\t\t\te.preventDefault();\r\n\t\t\tform.popUp.removeClass('show');\r\n\t\t\tform.thankyouSection.removeClass('fadeInLeft');\r\n\t\t\t$('body').removeClass('fixed');\r\n\t\t});\r\n\t},\r\n\r\n\tinit: function() {\r\n\t\tform.ddSelect();\r\n\t\tform.hiddenForm.init();\r\n\t\tform.buttonRadio.init();\r\n\t\tform.checkedCheckbox.forceUncheck();\r\n\t\tform.thankyouPopupClose();\r\n\t\tform.applynowthankyouPopupClose();\r\n\t\tform.formPopupClose();\r\n\t\tform.newMessage();\r\n\r\n\t\tif (windowWidth >= desktop) {\r\n\t\t\tform.keyboardAmends();\r\n\t\t}\r\n\r\n\t\tvar erroMsg = $('#Other').data('validation-empty');\r\n\t\t$('#Other').removeAttr('data-validation-empty');\r\n\t\tvar lastValue = $('#Hearaboutus option:last-child').val();\r\n\t\t$('#Hearaboutus').on('change', function(e) {\r\n\t\t\tif ($(e.target).val() === lastValue) {\r\n\t\t\t\t$('#Other').attr('data-validation-empty', erroMsg);\r\n\t\t\t} else {\r\n\t\t\t\t$('#Other').removeAttr('data-validation-empty');\r\n\t\t\t\t$('#Other').rules('add', {\r\n\t\t\t\t required: false\r\n\t\t\t\t});\r\n\t\t\t\t$('#Other').addClass('valid');\r\n\t\t\t\t$('#Other-error.error').addClass('valid');\r\n\t\t\t}\r\n\t\t\tvalidation.init();\r\n\t\t});\r\n\t}\r\n};\nvar fullpage = {\r\n body_selector: $(\"body\"),\r\n section: $(\".fp-section\"),\r\n fullpage: $(\"#fullpage\"),\r\n fullpage_mobile: $(\"#fullpage_mobile\"),\r\n\r\n fullpageInit: function($el, $css3, $scrollingSpeed, $navigation, $slidesNavigation, $keyboardScrolling, $responsiveSlides, $verticalCentered, $scrollOverflow, $normalScrollElements) {\r\n $el.fullpage({\r\n licenseKey: '9EEB6EA2-F71E4211-8EA01355-1C45E6D4', // IRIS purchased key\r\n css3: $css3,\r\n scrollingSpeed: $scrollingSpeed,\r\n navigation: $navigation,\r\n slidesNavigation: $slidesNavigation,\r\n keyboardScrolling: $keyboardScrolling,\r\n responsiveSlides: $responsiveSlides,\r\n verticalCentered: $verticalCentered,\r\n scrollOverflow: $scrollOverflow,\r\n scrollOverflowOptions:{\r\n keyBindings: {\r\n pageUp: 33,\r\n pageDown: 34,\r\n }\r\n },\r\n scrollBar: false,\r\n normalScrollElements: '#newsletter-subscribe-form, #cstm_selector',\r\n\r\n afterLoad: function(origin, destination, direction) {\r\n $(\"body\").attr(\"fp-slide\", (destination.index + 1));\r\n if ((destination.index + 1) == 2 && window.windowWidth >= window.tabletWide) {\r\n $.fn.fullpage.setMouseWheelScrolling(false);\r\n $.fn.fullpage.setAllowScrolling(false);\r\n }\r\n else {\r\n $.fn.fullpage.setMouseWheelScrolling(true);\r\n $.fn.fullpage.setAllowScrolling(true);\r\n }\r\n\r\n // Initializing video iFrame only on First section & removing iFrame on other sections \r\n if((destination.index + 1) == 1) {\r\n heroVideo.init(); \r\n } else { \r\n $(\"#showreel\").remove(); \r\n } \r\n // END\r\n }\r\n });\r\n },\r\n scrollDirection: function() {\r\n $('html.fp-enabled').on('mousewheel DOMMouseScroll', function(e) {\r\n if (typeof e.originalEvent.detail == 'number' && e.originalEvent.detail !== 0) {\r\n if (e.originalEvent.detail > 0) {\r\n $('.global-header').addClass('_header_hide_enable');\r\n } else if (e.originalEvent.detail < 0) {\r\n $('.global-header').removeClass('_header_hide_enable');\r\n }\r\n } else if (typeof e.originalEvent.wheelDelta == 'number') {\r\n if (e.originalEvent.wheelDelta < 0) {\r\n $('.global-header').addClass('_header_hide_enable');\r\n } else if (e.originalEvent.wheelDelta > 0) {\r\n $('.global-header').removeClass('_header_hide_enable');\r\n }\r\n }\r\n });\r\n\r\n // For Mobile only\r\n if (fullpage.fullpage.length == 1 && window.windowWidth <= 800) {\r\n fullpage.fullpage.swipe({\r\n swipe: function(event, direction, distance, duration, fingerCount, fingerData) {\r\n if (direction === 'up') {\r\n $('.global-header').addClass('_header_hide_enable');\r\n } else if (direction === 'down') {\r\n $('.global-header').removeClass('_header_hide_enable');\r\n }\r\n },\r\n threshold: 0,\r\n fingers: 'all'\r\n });\r\n } else if(/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream && window.windowWidth == window.desktop) {\r\n $(\"body\").addClass('_iPad');\r\n fullpage.fullpage.swipe({\r\n swipe: function(event, direction, distance, duration, fingerCount, fingerData) {\r\n if (direction === 'up') {\r\n $('.global-header').addClass('_header_hide_enable');\r\n handleImageIndex(\"next\");\r\n } else if (direction === 'down') {\r\n $('.global-header').removeClass('_header_hide_enable');\r\n handleImageIndex(\"previous\");\r\n }\r\n },\r\n threshold: 0,\r\n fingers: 'all'\r\n });\r\n } else {\r\n fullpage.fullpage.swipe({\r\n swipe: function(event, direction, distance, duration, fingerCount, fingerData) {\r\n if (direction === 'up') {\r\n handleImageIndex(\"next\");\r\n } else if (direction === 'down') {\r\n handleImageIndex(\"previous\");\r\n }\r\n },\r\n threshold: 0,\r\n fingers: 'all'\r\n });\r\n }\r\n },\r\n init: function() {\r\n if (window.windowWidth >= 800) {\r\n fullpage.fullpageInit(fullpage.fullpage, true, 700, false, true, true, false, true, true, null);\r\n } else {\r\n fullpage.fullpageInit(fullpage.fullpage, true, 900, false, true, true, true, false, true, '#newsletter-subscribe-form');\r\n }\r\n fullpage.scrollDirection();\r\n }\r\n}\nvar gaUtility = {\r\n DATA_GA_CONVERSION_ID: 'ga-conversion-id',\r\n GA_EVENT_CATEGORY_CONVERSION: 'conversion',\r\n GA_EVENT_ACTION_CLICK: 'click',\r\n\r\n ga_exists: function() {\r\n if (window.ga) return true;\r\n return false;\r\n },\r\n\r\n report_conversion: function(element, url) {\r\n if (!gaUtility.ga_exists()) {\r\n // console.warn('ga does not exist');\r\n return;\r\n }\r\n\r\n var gaConversionID = element.data(gaUtility.DATA_GA_CONVERSION_ID);\r\n\r\n if (!gaConversionID) {\r\n // console.warn('missing data attr', gaConversionID);\r\n return;\r\n }\r\n\r\n ga(\r\n 'send', \r\n {\r\n hitType: 'event',\r\n eventCategory: gaUtility.GA_EVENT_CATEGORY_CONVERSION,\r\n eventAction: gaUtility.GA_EVENT_ACTION_CLICK,\r\n eventLabel: gaConversionID,\r\n }\r\n );\r\n\r\n return false;\r\n },\r\n\r\n init: function() {\r\n }\r\n}\nvar getInTouchSorting = {\r\n countrySelector: $('.country-selector ul li a'),\r\n country: $('.country-selector ul li'),\r\n locations: $('.country-address .location'),\r\n showLocation: $('.location.showlocation'),\r\n openBtn: $('.contact-us-form'),\r\n regionSelector: $('.regionFilter'),\r\n backBtn: $('.back-btn'),\r\n allRegionsFilters: $('.all-regions-filters'),\r\n\r\n list_sorting: function() {\r\n var sorted_country = getInTouchSorting.country.sort(function(a, b) {\r\n return $(a).find('a').text().localeCompare($(b).find('a').text())\r\n });\r\n getInTouchSorting.country.remove();\r\n sorted_country.appendTo('.country-selector ul');\r\n },\r\n\r\n region_init: function() {\r\n getInTouchSorting.country.removeClass('active');\r\n var first_element = $('.country-selector ul').find('.enabled')[0];\r\n $(first_element).addClass('active');\r\n getInTouchSorting.show_country_box($(first_element).find('a'))\r\n },\r\n\r\n show_country_box: function(element) {\r\n getInTouchSorting.locations.hide();\r\n getInTouchSorting.locations.removeClass('showlocation');\r\n getInTouchSorting.locations.removeClass('fp-fadeUp');\r\n getInTouchSorting.thisLocation(element).css(\"display\", \"flex\");;\r\n getInTouchSorting.thisLocation(element).addClass('showlocation');\r\n },\r\n\r\n thisLocation: function(element) {\r\n return $('#' + $(element).attr('id') + 'location')\r\n },\r\n\r\n sorting: function() {\r\n function addressFilter() {\r\n getInTouchSorting.openBtn.click(function() {\r\n getInTouchSorting.locations.removeClass('showlocation');\r\n getInTouchSorting.locations.removeClass('fp-fadeUp');\r\n getInTouchSorting.locations.hide();\r\n getInTouchSorting.country.addClass('enabled');\r\n getInTouchSorting.region_init();\r\n });\r\n $('.country-selector ul').on('click', 'li a', function(e) {\r\n e.preventDefault();\r\n getInTouchSorting.country.removeClass('active');\r\n $(this).parent('li').addClass('active');\r\n getInTouchSorting.show_country_box(this);\r\n\r\n if (window.windowWidth <= window.tabletWide) {\r\n getInTouchSorting.allRegionsFilters.parent().addClass('openlocation');\r\n }\r\n\r\n });\r\n }\r\n addressFilter();\r\n\r\n function backtolocation() {\r\n getInTouchSorting.backBtn.click(function() {\r\n getInTouchSorting.allRegionsFilters.parent().removeClass('openlocation');\r\n });\r\n }\r\n backtolocation();\r\n\r\n function regionFilter() {\r\n getInTouchSorting.regionSelector.change(function() {\r\n getInTouchSorting.country.removeClass('enabled');\r\n getInTouchSorting.country.removeClass('disabled');\r\n var selected_region = $('.region-selector .dk-selected').attr('aria-activedescendant').replace('dk0-','');\r\n getInTouchSorting.country.filter(function(index) {\r\n if ($(this).attr('data-region') == selected_region || selected_region.toUpperCase() == 'ALL') {\r\n $(this).addClass('enabled');\r\n return true\r\n } else {\r\n $(this).addClass('disabled');\r\n return false\r\n }\r\n });\r\n getInTouchSorting.list_sorting();\r\n getInTouchSorting.region_init();\r\n });\r\n }\r\n regionFilter();\r\n\r\n },\r\n\r\n init: function() {\r\n getInTouchSorting.sorting();\r\n getInTouchSorting.list_sorting();\r\n if ($(window).width() > window.tabletWide) {\r\n var ele=$('.countries-block')\r\n ele.length&&(new SimpleBar(ele[0]))\r\n }\r\n }\r\n};\nvar getInTouch = {\r\n openBtn: $('.contact-us-form'),\r\n subscribeForm: $('#get-in-touch-form'),\r\n subscribeClose: $('.popclose'),\r\n mainPopup: $('.popup_wrapper'),\r\n mainBody: $('body'),\r\n mainHtml: $('html'),\r\n closeLayer: $('.close-layer'),\r\n\r\n getInTouchPopup: function() {\r\n\r\n function getInTouchOpen() {\r\n getInTouch.openBtn.click(function(e) {\r\n e.preventDefault();\r\n getInTouch.subscribeForm.show();\r\n getInTouch.subscribeForm.removeClass('fp-fadeOut');\r\n getInTouch.subscribeForm.addClass('fp-fadeIn');\r\n getInTouch.mainBody.addClass('getintouch-open-popup');\r\n getInTouch.mainHtml.addClass('getintouch-open-popup');\r\n gaUtility.report_conversion(getInTouch.openBtn);\r\n });\r\n }\r\n getInTouchOpen();\r\n\r\n function getInTouchModelClose(){\r\n getInTouch.subscribeForm.removeClass('fp-fadeIn');\r\n getInTouch.subscribeForm.addClass('fp-fadeOut');\r\n setTimeout(function() {\r\n getInTouch.subscribeForm.hide();\r\n getInTouchSorting.allRegionsFilters.parent().removeClass('openlocation');\r\n }, 600);\r\n getInTouch.mainBody.removeClass('getintouch-open-popup');\r\n getInTouch.mainHtml.removeClass('getintouch-open-popup');\r\n }\r\n\r\n function getInTouchOpenClose() {\r\n getInTouch.subscribeClose.click(function() {\r\n getInTouchModelClose();\r\n });\r\n }\r\n getInTouchOpenClose();\r\n\r\n function closegetInTouchOpen() {\r\n getInTouch.closeLayer.click(function(e) {\r\n getInTouchModelClose();\r\n });\r\n }\r\n closegetInTouchOpen();\r\n\r\n function escClosegetInTouch() {\r\n $(document).on('keyup', function(evt) {\r\n if (evt.keyCode == 27) {\r\n getInTouchModelClose();\r\n }\r\n });\r\n }\r\n escClosegetInTouch();\r\n\r\n },\r\n\r\n init: function() {\r\n getInTouch.getInTouchPopup();\r\n }\r\n}\nvar heroVideo = {\r\n videoIdElement: $('#herovimeovideo'),\r\n videoPlaceholder: $('#herovimeovideoplaceholder'),\r\n videoPlaceholderContent: $('#herovimeovideoplaceholder > div'),\r\n videoController: $('.video-controller'),\r\n\r\n videoBlock: function() {\r\n\r\n function vimeoVideoPlaceholderShow() {\r\n TweenLite.to(\r\n heroVideo.videoPlaceholderContent,\r\n 0.5, {\r\n alpha: 1,\r\n ease: Strong.easeInOut,\r\n onStart: function() {\r\n heroVideo.videoPlaceholderContent.css('visibility', 'visible');\r\n }\r\n }\r\n );\r\n }\r\n\r\n function vimeoVideoPlaceholderHide() {\r\n TweenLite.to(\r\n heroVideo.videoPlaceholder,\r\n 0.5, {\r\n alpha: 0,\r\n ease: Strong.easeInOut,\r\n onComplete: function() {\r\n heroVideo.videoPlaceholder.css('visibility', 'hidden');\r\n }\r\n }\r\n );\r\n }\r\n\r\n function vimeoVideoPlaceholderShow() {\r\n TweenLite.to(\r\n heroVideo.videoPlaceholderContent,\r\n 0.5, \r\n { \r\n alpha: 1, \r\n ease: Strong.easeInOut,\r\n onStart: function() {\r\n heroVideo.videoPlaceholderContent.css('visibility', 'visible');\r\n }\r\n }\r\n );\r\n }\r\n\r\n function vimeoVideoPlaceholderHide() {\r\n TweenLite.to(\r\n heroVideo.videoPlaceholder, \r\n 0.5,\r\n { \r\n alpha: 0, \r\n ease: Strong.easeInOut,\r\n onComplete: function() {\r\n heroVideo.videoPlaceholder.css('visibility', 'hidden');\r\n }\r\n }\r\n );\r\n }\r\n\r\n function vimeoBackgroundVideo() {\r\n\r\n // Embed video\r\n\r\n var vimeoId = heroVideo.videoIdElement.attr('data-vimeo-id-hero');\r\n var videoElement =\r\n '';\r\n\r\n heroVideo.videoIdElement.append(videoElement);\r\n\r\n // Setup video placeholder\r\n // Allow video a chance to start playing before showing placeholder\r\n\r\n var videoPlaceholderTimeoutID = null;\r\n\r\n videoPlaceholderTimeoutID = setTimeout(\r\n function() {\r\n vimeoVideoPlaceholderShow();\r\n },\r\n 2000\r\n );\r\n\r\n // Check video status\r\n // If playing, hide placeholder\r\n /* \r\n \r\n !!! Very Important !!!\r\n \r\n The Vimeo Player API has been embedded directly in markup at that exact position to prevent existing \r\n elements with a data-vimeo-id attribute from autoloading an iframe and potentially breaking the site.\r\n \r\n This is the least worst solution without breaking existing functionality.\r\n \r\n See https://developer.vimeo.com/player/sdk/embed for why data-vimeo-id triggers an autoload.\r\n \r\n If you have time fix this by renaming all data-vimeo-id attributes to be something else.\r\n \r\n */\r\n\r\n var videoIFrame = $(heroVideo.videoIdElement).find('iframe')[0];\r\n var videoPlayer = new Vimeo.Player(videoIFrame);\r\n\r\n videoPlayer.on(\r\n 'play',\r\n function() {\r\n clearTimeout(videoPlaceholderTimeoutID);\r\n vimeoVideoPlaceholderHide();\r\n }\r\n );\r\n\r\n }\r\n\r\n vimeoBackgroundVideo();\r\n },\r\n\r\n init: function() {\r\n heroVideo.videoBlock();\r\n }\r\n};\nfunction ie_image_fix(images) {\r\n images.each(function(ind, val) {\r\n var imageSource = $(this).children(\"img\").attr('src');\r\n $(this).children(\"img\").css({'display': 'none'});\r\n $(this).css({\r\n 'backgroundSize': 'cover',\r\n 'backgroundImage': 'url(' + imageSource + ')',\r\n 'backgroundPosition': 'top center'\r\n })\r\n });\r\n}\r\n\r\nif ('objectFit' in document.documentElement.style === false || navigator.appVersion.indexOf(\"Edge\") != -1) {\r\n ie_image_fix($('.ie-image-fix'))\r\n} else {}\nvar joblisting = {\r\n\tfilters_bar: $('select.job-locations, select.job-department'),\r\n\tjobLocation: $('select.job-locations'),\r\n\tjobDepartment: $('select.job-department'),\r\n\tjob: $('.i_w_037_careers_details .i_w_cre_wrk_card'),\r\n\r\n\r\n\tlocationSorting: function(){\r\n\t\tvar location_selected = joblisting.jobLocation.val();\r\n\t\tvar department_selected = joblisting.jobDepartment.val();\r\n \t\tjoblisting.job.show();\r\n\t\tvar final_preview=joblisting.job.filter(function(index) {\r\n\t\t\tlet ele_region=$(this).attr('data-region');\r\n\t\t\tlet ele_dept=$(this).attr('data-department');\r\n\t\t\t$(this).removeClass('filter_true');\r\n\t\t\tif((location_selected=='all'|| ele_region==location_selected)\r\n\t\t\t\t&&(department_selected=='all'|| ele_dept==department_selected))\r\n\t\t\t{\r\n\t\t\t\t\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\t$(this).addClass('filter_true');\r\n\t\t\treturn true\r\n\t\t});\r\n\t\t// final_preview.addClass('hidden');\r\n\t\t// console.log(final_preview);\r\n\t\tfinal_preview.hide();\r\n\t},\r\n\r\n\r\n\tjoblistingSorting: function() {\r\n\r\n\t\tfunction locationFilert(){\r\n\t\t\tjoblisting.filters_bar.on('change', function() {\r\n\t\t\t\tjoblisting.locationSorting();\r\n\t\t\t\tpagination.paginationBlock();\r\n\t\t\t});\r\n\t\t}\r\n\t\tlocationFilert();\r\n\t},\r\n\r\n\tinit: function(){\r\n\t\tjoblisting.joblistingSorting();\r\n\t\tpagination.paginationBlock();\r\n\t},\r\n\r\n\tinitBamboo: function() {\r\n\t\t// Reselect elements as bamboo jobs data is frontend driven\r\n\t\tthis.filters_bar = $('select.job-locations, select.job-department');\r\n\t\tthis.jobLocation = $('select.job-locations');\r\n\t\tthis.jobDepartment =$('select.job-department');\r\n\t\tthis.job = $('.i_w_037_careers_details .i_w_cre_wrk_card');\r\n\t\tthis.init();\r\n\t}\r\n};\nvar jobsBamboo = {\r\n\r\n // REFERENCES //\r\n\r\n // Bamboo selectors should be colocated in convertBambooJobEmbedToData()\r\n\r\n SEL_DATA_JOB_FEATURE_LINK_1: 'data-job-feature-link-1',\r\n SEL_DATA_JOB_FEATURE_LINK_2: 'data-job-feature-link-2',\r\n SEL_DATA_JOB_FEATURE_LINK_3: 'data-job-feature-link-3',\r\n SEL_TEMPLATE_FILTER_DEPARTMENT: '#careers__filter-department-template',\r\n SEL_TEMPLATE_FILTER_LOCATION: '#careers__filter-location-template',\r\n SEL_TEMPLATE_JOB: '#careers__job-template',\r\n SEL_FILTER_DEPARTMENT_CONTAINER: '#careers__filter_department-container',\r\n SEL_FILTER_LOCATION_CONTAINER: '#careers__filter_location-container',\r\n SEL_JOBS_CONTAINER: '#careers__jobs_container',\r\n SEL_PAGE_CAREERS: '.page-Careers',\r\n SEL_PAGE_CAREERS_DETAILS: '.page-careers_details',\r\n\r\n WS_BAMBOO_JOB_EMBED: 'https://irisworldwide.bamboohr.com/jobs/embed2.php?departmentId=0',\r\n\r\n JOBS_PREVIEW_JOBS_MAX: 3,\r\n\r\n // PROPERTIES //\r\n\r\n /* dataBamboo interface\r\n {\r\n id(department): {\r\n id\r\n name\r\n jobs: {\r\n id(job): {\r\n id\r\n title\r\n locationID\r\n location\r\n place\r\n locality\r\n link\r\n }\r\n }\r\n }\r\n }\r\n */\r\n dataBamboo: null,\r\n\r\n /* dataDepartments interface\r\n {\r\n id: {\r\n id\r\n name\r\n }\r\n }\r\n */\r\n dataDepartments: null,\r\n\r\n /* dataLocations interface\r\n {\r\n id: {\r\n id\r\n location\r\n place\r\n locality\r\n }\r\n }\r\n */\r\n dataLocations: null,\r\n\r\n // UTILITY //\r\n\r\n isPageCareers: function() {\r\n return $(this.SEL_PAGE_CAREERS).length !== 0;\r\n },\r\n\r\n isPageCareersDetails: function() {\r\n return $(this.SEL_PAGE_CAREERS_DETAILS).length !== 0;\r\n },\r\n\r\n processHTMLText: function(html) {\r\n // Parse html entities\r\n return $.trim(\r\n $('').html(html)\r\n .text()\r\n );\r\n },\r\n\r\n processRawTemplate: function(templateRaw) {\r\n // Convert to actual handlebars\r\n // Uses [[ and ]] instead due to frontend already being a template file\r\n return templateRaw\r\n .replace(/\\[\\[/g, '{{')\r\n .replace(/\\]\\]/g, '}}');\r\n },\r\n\r\n convertLinkToDataBambooLink: function(linkAny) {\r\n var linkProcess = linkAny\r\n .replace(/http:\\/\\//g, '') // strip http://\r\n .replace(/https:\\/\\//g, '') // strip https://\r\n .replace(/\\/\\//g, ''); // strip //\r\n if (linkProcess.substr(0, 1) === '/') linkProcess = linkAny.substr(1); // strip /\r\n // strip all params except id\r\n var paramID = '';\r\n var pieces = linkProcess.split('?');\r\n var path = pieces[0];\r\n var query = pieces[1];\r\n var queryPieces = query.split('&');\r\n $.each(\r\n queryPieces,\r\n function(index, queryPiece) {\r\n var queryPiecePieces = queryPiece.split('=');\r\n if (queryPiecePieces[0] === 'id') paramID = queryPiecePieces[1];\r\n }\r\n );\r\n return '//'+path+'?'+'id='+paramID; // prefix // to match bamboo\r\n },\r\n\r\n arrayRemoveEmpty: function(arrayInitial) {\r\n var arrayFinal = [];\r\n $.each(\r\n arrayInitial,\r\n function(index, arrayItem) {\r\n if (typeof arrayItem !== 'undefined' && arrayItem !== null) {\r\n arrayFinal.push(arrayItem);\r\n }\r\n }\r\n );\r\n return arrayFinal;\r\n },\r\n\r\n // DATA //\r\n\r\n wsBambooGetEmbed: function() {\r\n $.ajax({\r\n url: this.WS_BAMBOO_JOB_EMBED,\r\n error: function(err) {\r\n this.onDataSuccess(null);\r\n }.bind(this),\r\n success: function(res) {\r\n this.onDataSuccess(res);\r\n }.bind(this)\r\n });\r\n },\r\n\r\n convertBambooJobEmbedToData: function(dataEmbed) {\r\n\r\n this.dataBamboo = {};\r\n this.dataDepartments = {};\r\n this.dataLocations = {};\r\n\r\n var parsedHTML = $.parseHTML(dataEmbed);\r\n\r\n if (parsedHTML === null) {\r\n // console.warn('bad request');\r\n return;\r\n }\r\n\r\n var elmMain = $(parsedHTML[0]);\r\n var elmDepartments = elmMain.find('.BambooHR-ATS-Department-Item');\r\n\r\n if (elmDepartments.length === 0) {\r\n // console.warn('data corrupt or no jobs');\r\n return;\r\n }\r\n\r\n //\r\n\r\n this.dataBamboo = {};\r\n this.dataDepartments = {};\r\n this.dataLocations = {};\r\n\r\n $.each(\r\n elmDepartments,\r\n function(index, elmDepartmentsItem) {\r\n\r\n var elmDepartment = $(elmDepartmentsItem);\r\n var elmDepartmentName = elmDepartment.find('.BambooHR-ATS-Department-Header');\r\n var elmDepartmentJobs = elmDepartment.find('.BambooHR-ATS-Jobs-Item');\r\n\r\n var departmentID = elmDepartmentName.attr('id');\r\n var departmentName = this.processHTMLText(elmDepartmentName.html());\r\n\r\n this.dataBamboo[departmentID] = {};\r\n var dataDepartment = this.dataBamboo[departmentID];\r\n dataDepartment.id = departmentID;\r\n dataDepartment.name = departmentName;\r\n dataDepartment.jobs = {};\r\n\r\n this.dataDepartments[departmentID] = {\r\n id: departmentID,\r\n name: departmentName\r\n };\r\n\r\n $.each(\r\n elmDepartmentJobs,\r\n function(index, elmDepartmentJobsItem) {\r\n\r\n var elmDepartmentJob = $(elmDepartmentJobsItem);\r\n\r\n var departmentJobID = elmDepartmentJob.attr('id');\r\n var departmentJobLink = elmDepartmentJob.find('a').attr('href');\r\n var departmentJobTitle = this.processHTMLText(elmDepartmentJob.find('a').html());\r\n var departmentJobLocation = this.processHTMLText(elmDepartmentJob.find('span').html());\r\n\r\n // Assume before first comma is place\r\n // Format: [place], [locality]\r\n // Examples:\r\n // New York City, New York\r\n // London, London, City of\r\n var departmentJobLocationPieces = departmentJobLocation.split(', ');\r\n var departmentJobPlace = departmentJobLocationPieces[0];\r\n departmentJobLocationPieces.shift();\r\n var departmentJobLocality = departmentJobLocationPieces.join(', ');\r\n\r\n // locationID conversion:\r\n // \"New York City, New York\" > \"new-york-city-new-york\"\r\n // \"London, London, City of\" > \"london-london-city-of\"\r\n var departmentJobLocationID = departmentJobLocation.toLowerCase()\r\n .replace(/,\\s/g, '-')\r\n .replace(/\\s/g, '-');\r\n\r\n dataDepartment.jobs[departmentJobID] = {\r\n id: departmentJobID,\r\n title: departmentJobTitle,\r\n locationID: departmentJobLocationID,\r\n location: departmentJobLocation,\r\n place: departmentJobPlace,\r\n locality: departmentJobLocality,\r\n link: departmentJobLink,\r\n };\r\n\r\n this.dataLocations[departmentJobLocationID] = {\r\n id: departmentJobLocationID,\r\n location: departmentJobLocation,\r\n place: departmentJobPlace,\r\n locality: departmentJobLocality\r\n };\r\n\r\n }.bind(this)\r\n );\r\n\r\n }.bind(this)\r\n );\r\n\r\n // console.log(this.dataBamboo);\r\n // console.log(this.dataDepartments);\r\n // console.log(this.dataLocations);\r\n\r\n },\r\n\r\n // RENDER //\r\n\r\n renderFilters: function() {\r\n\r\n // Department Filters\r\n\r\n var rawFilterDepartment = $(this.SEL_TEMPLATE_FILTER_DEPARTMENT).html();\r\n rawFilterDepartment = this.processRawTemplate(rawFilterDepartment);\r\n\r\n var tmplFilterDepartment = Handlebars.compile(rawFilterDepartment);\r\n\r\n var dataDepartmentsCopy = $.extend(true, {}, this.dataDepartments);\r\n var dataDepartmentsByName = [];\r\n var dataDepartmentsSorted = [];\r\n\r\n $.each(\r\n Object.keys(dataDepartmentsCopy),\r\n function(index, departmentID) {\r\n var dataDepartment = dataDepartmentsCopy[departmentID];\r\n dataDepartmentsByName[dataDepartment.name] = dataDepartment;\r\n }\r\n );\r\n\r\n $.each(\r\n Object.keys(dataDepartmentsByName).sort(),\r\n function(index, departmentName) {\r\n dataDepartmentsSorted.push(dataDepartmentsByName[departmentName]);\r\n }\r\n );\r\n\r\n var htmlFilterDepartment = tmplFilterDepartment({ departments: dataDepartmentsSorted });\r\n $(this.SEL_FILTER_DEPARTMENT_CONTAINER).html(htmlFilterDepartment);\r\n\r\n // Location Filters\r\n\r\n var rawFilterLocation = $(this.SEL_TEMPLATE_FILTER_LOCATION).html();\r\n rawFilterLocation = this.processRawTemplate(rawFilterLocation);\r\n\r\n var tmplFilterLocation = Handlebars.compile(rawFilterLocation);\r\n\r\n var dataLocationsCopy = $.extend(true, {}, this.dataLocations);\r\n var dataLocationsSorted = [];\r\n\r\n $.each(\r\n Object.keys(dataLocationsCopy).sort(),\r\n function(index, locationID) {\r\n dataLocationsSorted.push(dataLocationsCopy[locationID]);\r\n }\r\n );\r\n\r\n var htmlFilterLocation = tmplFilterLocation({ locations: dataLocationsSorted });\r\n $(this.SEL_FILTER_LOCATION_CONTAINER).html(htmlFilterLocation);\r\n\r\n },\r\n\r\n renderJobsPreview: function() {\r\n\r\n var dataJobs = [];\r\n\r\n $.each(\r\n this.dataBamboo,\r\n function(index, dataDepartment) {\r\n $.each(\r\n dataDepartment.jobs,\r\n function(index, dataJob) {\r\n dataJobs.push({\r\n locationID: dataJob.locationID,\r\n locationPlace: dataJob.place,\r\n departmentID: dataDepartment.id,\r\n departmentName: dataDepartment.name,\r\n jobLink: dataJob.link,\r\n jobTitle: dataJob.title\r\n });\r\n }\r\n );\r\n }\r\n );\r\n\r\n var elmJobsContainer = $(this.SEL_JOBS_CONTAINER);\r\n\r\n /* \r\n // Randomise\r\n\r\n var dataJobsRandom = [];\r\n var i = 0;\r\n while (i < this.JOBS_PREVIEW_JOBS_MAX && dataJobs.length > 0) {\r\n var dataJobIndexRandom = Math.floor(Math.random() * dataJobs.length);\r\n var dataJobRandom = dataJobs.splice(dataJobIndexRandom, 1).pop();\r\n dataJobsRandom.push(dataJobRandom);\r\n i++;\r\n }\r\n */\r\n\r\n // Featured\r\n\r\n var dataJobsFeaturedLinks = [];\r\n var dataJobsFeatured = [];\r\n var dataJobFeatureLink1 = elmJobsContainer.attr(this.SEL_DATA_JOB_FEATURE_LINK_1);\r\n var dataJobFeatureLink2 = elmJobsContainer.attr(this.SEL_DATA_JOB_FEATURE_LINK_2);\r\n var dataJobFeatureLink3 = elmJobsContainer.attr(this.SEL_DATA_JOB_FEATURE_LINK_3);\r\n\r\n if (dataJobFeatureLink1) dataJobsFeaturedLinks.push(this.convertLinkToDataBambooLink(dataJobFeatureLink1));\r\n if (dataJobFeatureLink2) dataJobsFeaturedLinks.push(this.convertLinkToDataBambooLink(dataJobFeatureLink2));\r\n if (dataJobFeatureLink3) dataJobsFeaturedLinks.push(this.convertLinkToDataBambooLink(dataJobFeatureLink3));\r\n\r\n $.each(\r\n dataJobs,\r\n function(index, dataJob) {\r\n var foundIndex = dataJobsFeaturedLinks.indexOf(dataJob.jobLink);\r\n if (foundIndex > -1) {\r\n dataJobsFeatured[foundIndex] = dataJob;\r\n }\r\n }\r\n );\r\n dataJobsFeatured = this.arrayRemoveEmpty(dataJobsFeatured);\r\n\r\n //\r\n\r\n var rawJob = $(this.SEL_TEMPLATE_JOB).html();\r\n rawJob = this.processRawTemplate(rawJob);\r\n var tmplJob = Handlebars.compile(rawJob);\r\n\r\n // var dataJobsFinal = dataJobs;\r\n // var dataJobsFinal = dataJobsRandom;\r\n var dataJobsFinal = dataJobsFeatured;\r\n\r\n $.each(\r\n dataJobsFinal,\r\n function(index, dataJob) {\r\n var htmlJob = tmplJob(dataJob);\r\n elmJobsContainer.append(htmlJob);\r\n }\r\n );\r\n\r\n },\r\n\r\n renderJobs: function() {\r\n\r\n var dataJobs = [];\r\n\r\n $.each(\r\n this.dataBamboo,\r\n function(index, dataDepartment) {\r\n $.each(\r\n dataDepartment.jobs,\r\n function(index, dataJob) {\r\n dataJobs.push({\r\n locationID: dataJob.locationID,\r\n locationPlace: dataJob.place,\r\n departmentID: dataDepartment.id,\r\n departmentName: dataDepartment.name,\r\n jobLink: dataJob.link,\r\n jobTitle: dataJob.title\r\n });\r\n }\r\n );\r\n }\r\n );\r\n\r\n var rawJob = $(this.SEL_TEMPLATE_JOB).html();\r\n rawJob = this.processRawTemplate(rawJob);\r\n var tmplJob = Handlebars.compile(rawJob);\r\n\r\n var elmJobsContainer = $(this.SEL_JOBS_CONTAINER);\r\n\r\n $.each(\r\n dataJobs,\r\n function(index, dataJob) {\r\n var htmlJob = tmplJob(dataJob);\r\n elmJobsContainer.append(htmlJob);\r\n }\r\n );\r\n\r\n },\r\n\r\n // INIT //\r\n\r\n init: function() {\r\n if (!this.isPageCareers() && !this.isPageCareersDetails()) return;\r\n this.wsBambooGetEmbed();\r\n },\r\n\r\n onDataSuccess: function(dataEmbed) {\r\n if (this.isPageCareers()) this.onDataSuccessCareers(dataEmbed);\r\n if (this.isPageCareersDetails()) this.onDataSuccessCareersDetails(dataEmbed);\r\n },\r\n\r\n onDataSuccessCareers: function(dataEmbed) {\r\n this.convertBambooJobEmbedToData(dataEmbed);\r\n this.renderJobsPreview();\r\n },\r\n\r\n onDataSuccessCareersDetails: function(dataEmbed) {\r\n this.convertBambooJobEmbedToData(dataEmbed);\r\n this.renderFilters();\r\n this.renderJobs();\r\n joblisting.initBamboo();\r\n selects.init();\r\n }\r\n\r\n}\nvar googlemapBlock = {\r\n mapBlock: $('.google-map-block'),\r\n viewLarge: $('.see-large a'),\r\n mapApiKey: 'AIzaSyDWHW__BWwftgWlQC3ebTwVYNjiGzmt7ts', //purchased key\r\n\r\n mapApi: function() {\r\n\r\n function mapInitilization() {\r\n googlemapBlock.mapBlock.lazyLoadGoogleMaps({\r\n key: googlemapBlock.mapApiKey,\r\n callback: function(container, map) {\r\n var locationAddress = $(container).attr('data-location');\r\n var url = 'https://maps.googleapis.com/maps/api/geocode/json?address=' + encodeURIComponent(locationAddress) + '&sensor=false&key=' + googlemapBlock.mapApiKey;\r\n var seelargeLink = 'https://www.google.com/maps/search/' + encodeURIComponent(locationAddress);\r\n\r\n $.get(url, function(data) {\r\n if (data.status == 'OK') {\r\n var location = data.results[0].geometry.location;\r\n\r\n }\r\n var center = new google.maps.LatLng(location.lat, location.lng);\r\n map.setOptions({\r\n zoom: 15,\r\n center: center,\r\n disableDefaultUI: true,\r\n styles: [{\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [{\r\n \"color\": \"#f5f5f5\"\r\n }]\r\n },\r\n {\r\n \"elementType\": \"labels.icon\",\r\n \"stylers\": [{\r\n \"visibility\": \"off\"\r\n }]\r\n },\r\n {\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [{\r\n \"color\": \"#616161\"\r\n }]\r\n },\r\n {\r\n \"elementType\": \"labels.text.stroke\",\r\n \"stylers\": [{\r\n \"color\": \"#f5f5f5\"\r\n }]\r\n },\r\n {\r\n \"featureType\": \"administrative.land_parcel\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [{\r\n \"color\": \"#bdbdbd\"\r\n }]\r\n },\r\n {\r\n \"featureType\": \"poi\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [{\r\n \"color\": \"#eeeeee\"\r\n }]\r\n },\r\n {\r\n \"featureType\": \"poi\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [{\r\n \"color\": \"#757575\"\r\n }]\r\n },\r\n {\r\n \"featureType\": \"poi.park\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [{\r\n \"color\": \"#e5e5e5\"\r\n }]\r\n },\r\n {\r\n \"featureType\": \"poi.park\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [{\r\n \"color\": \"#9e9e9e\"\r\n }]\r\n },\r\n {\r\n \"featureType\": \"road\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [{\r\n \"color\": \"#ffffff\"\r\n }]\r\n },\r\n {\r\n \"featureType\": \"road.arterial\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [{\r\n \"color\": \"#757575\"\r\n }]\r\n },\r\n {\r\n \"featureType\": \"road.highway\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [{\r\n \"color\": \"#dadada\"\r\n }]\r\n },\r\n {\r\n \"featureType\": \"road.highway\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [{\r\n \"color\": \"#616161\"\r\n }]\r\n },\r\n {\r\n \"featureType\": \"road.local\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [{\r\n \"color\": \"#9e9e9e\"\r\n }]\r\n },\r\n {\r\n \"featureType\": \"transit.line\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [{\r\n \"color\": \"#e5e5e5\"\r\n }]\r\n },\r\n {\r\n \"featureType\": \"transit.station\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [{\r\n \"color\": \"#eeeeee\"\r\n }]\r\n },\r\n {\r\n \"featureType\": \"water\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [{\r\n \"color\": \"#c9c9c9\"\r\n }]\r\n },\r\n {\r\n \"featureType\": \"water\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [{\r\n \"color\": \"#9e9e9e\"\r\n }]\r\n }\r\n ]\r\n });\r\n var icon = {\r\n url: \"/img/locationpin.svg\", // url\r\n scaledSize: new google.maps.Size(36, 59)\r\n };\r\n new google.maps.Marker({\r\n position: center,\r\n map: map,\r\n icon: icon\r\n });\r\n });\r\n\r\n $('.addressmapblock .see-large a').attr(\"href\", seelargeLink);\r\n\r\n }\r\n });\r\n }\r\n mapInitilization();\r\n },\r\n init: function() {\r\n googlemapBlock.mapApi();\r\n }\r\n};\nvar menu = {\r\n header: $('.global-header'),\r\n desktopLogo: $('.desktop-logo'),\r\n mobileLogo: $('.mobile-logo'),\r\n mobileIcon: $('.hamburger-icon'),\r\n mobileIcon: $('.hamburger-icon'),\r\n mainNav: $('.main-nav'),\r\n mainSection: $('#mainContent'),\r\n navLink: $('nav ul.navigation li a'),\r\n mainBody: $('body, html'),\r\n fullPage: $(\"#fullpage\"),\r\n\r\n navigation: function() {\r\n function mobileMenu() {\r\n var wh = $(window).height() - 90;\r\n menu.mobileIcon.click(function() {\r\n menu.mobileIcon.toggleClass('active');\r\n menu.mainNav.toggleClass('open');\r\n menu.header.toggleClass('open-mobile-menu');\r\n menu.mainSection.toggleClass('slidebody');\r\n menu.mainBody.toggleClass('overflow-hidden');\r\n menu.header.toggleClass('animationcomplete');\r\n menu.mainNav.scrollTop(0);\r\n if (menu.fullPage.length == 1 && menu.header.hasClass('open-mobile-menu')) {\r\n $(\"#cstm_selector\").height(wh);\r\n menu.mainNav.niceScroll();\r\n }\r\n\r\n });\r\n }\r\n mobileMenu();\r\n\r\n function menuBehaviour() {\r\n var didScroll;\r\n var lastScrollTop = 0;\r\n var delta = 5;\r\n var navbarHeight = $('.global-header').outerHeight();\r\n\r\n $(window).scroll(function(event) {\r\n didScroll = true;\r\n });\r\n\r\n setInterval(function() {\r\n if (didScroll) {\r\n hasScrolled();\r\n didScroll = false;\r\n }\r\n }, 100);\r\n\r\n function hasScrolled() {\r\n var st = $(window).scrollTop();\r\n if (Math.abs(lastScrollTop - st) <= delta)\r\n return;\r\n if (st > lastScrollTop && st > navbarHeight + 40) {\r\n // Scroll Down\r\n $('.global-header').removeClass('_header_hide_disable').addClass('_header_hide_enable');\r\n } else {\r\n // Scroll Up\r\n if (st + $(window).height() < $(document).height()) {\r\n $('header').removeClass('_header_hide_enable').addClass('_header_hide_disable');\r\n }\r\n }\r\n\r\n lastScrollTop = st;\r\n }\r\n }\r\n menuBehaviour();\r\n\r\n\r\n },\r\n\r\n init: function() {\r\n menu.navigation();\r\n }\r\n\r\n}\nvar pagination = {\r\n\r\n\tpaginationBlock: function() {\r\n\t\tfunction mainPagination() {\r\n\t\t\t$('.paginable').show();\r\n\t\t\t$('.filter_true').hide();\r\n\t\t\tvar items = $('.i_w_037_careers_details .i_w_cre_wrk_card:visible');\r\n\t\t\titems.each(function(index, el) {\r\n\t\t\t\t$(this).addClass('paginable');\r\n\t\t\t});\r\n\t\t var numItems = items.length;\r\n\t\t var perPage = 6;\r\n\t\t // $('.i_w_037_careers_details .i_w_cre_wrk_card')\r\n\t\t var total_pages = numItems/perPage;\r\n\t\t\tvar ulcontainer = $('body').find(\"#custom_paginator\");\r\n\t\t\tulcontainer.find('li').remove();\r\n\t\t\tif(!ulcontainer.length)\r\n\t\t\t{ ulcontainer = $('