{"version":3,"file":"career.min.js","sources":["career.min.js"],"sourcesContent":["'use strict';\n\n/* globals window $ Resources */\n\nwindow.addEventListener('mainJsLoaded', function (event) {\n careerInit();\n});\n\nfunction careerInit() {\n // Application form validation\n var $careerForm = $('#js-careerForm'),\n validator = $careerForm.validate(),\n $phone = $careerForm.find('.phone_field'),\n $country = $careerForm.find('.country_field');\n\n // intlPhone init\n window.vbqUtils.phoneCodes.init($country, $phone);\n\n // Custom rule which ensures only PDFs are allowed, and that the filename does not contain special characters\n $.validator.addMethod('myfile', function (value, element, param) {\n return value.match(/(?:^|\\/|\\\\)((?:[a-z0-9_\\-\\. ])+\\.(?:pdf))$/i);\n }, Resources.CAREER_FILE_LIMITATION);\n\n $careerForm.find('[type=\"file\"]').rules('add', {required: true, myfile: true});\n\n window.vbqUtils.validationLogic.formValidation($careerForm);\n\n // File input custom validation\n $careerForm.find('[type=\"file\"]').on('change', function () {\n validator.element($(this));\n });\n\n // reCaptcha init\n window.vbqUtils.recaptchaHelper.init();\n\n // Submit event\n $careerForm.on('submit', function () {\n var $form = $(this);\n\n // do not submit if the form is not valid\n if (!$form.valid()) {\n return;\n }\n\n // Force update since it's not a normal submit\n if ($phone.parent().hasClass('iti')) {\n $phone.siblings('input').val(window.intlTelInputGlobals.getInstance($phone[0]).getNumber());\n }\n\n $('#js-careerLoader').show();\n });\n\n $(function() {\n // Update the selects on load if values have been previously set\n var $careerCountries = $('.career-countries'),\n $careerCities = $('.career-cities'),\n $dwfrmCareerCountry = $('#dwfrm_career_country'),\n $dwfrmCareerCity = $('#dwfrm_career_city');\n\n $careerCountries.trigger('change');\n $dwfrmCareerCountry.trigger('change');\n\n // Disable the city selects when no country is selected\n if ($careerCities.val() == '' && $careerCountries.val() == '') {\n $careerCities.attr('disabled', 'disabled');\n }\n if ($dwfrmCareerCity.val() == '' && $dwfrmCareerCountry.val() == '') {\n $dwfrmCareerCity.attr('disabled', 'disabled');\n }\n\n // Scroll to file error if present\n var $firstErrorElement = $careerForm.find('.gl_has-error');\n if ($firstErrorElement.length > 0) {\n window.vbqUtils.cache.$window.scrollTop($firstErrorElement.offset().top);\n }\n });\n\n // Disable the application city select when no country is selected, and filter only the country's cities\n window.vbqUtils.cache.$body.on('change', '#dwfrm_career_country', function () {\n var $country = $('#dwfrm_career_country'),\n $city = $('#dwfrm_career_city'),\n city = $city.val(),\n cityExists = false;\n\n if ($country.val() == '') {\n $city.attr('disabled', 'disabled');\n }\n else {\n $city.removeAttr('disabled');\n\n var countryCode = $country.val();\n\n $city.find('option').each(function() {\n var $this = $(this);\n\n if ($this.val().split('_')[0] == countryCode || $this.val() == 'Others') { // Always allow the 'Others' option\n $this.show();\n\n if ($this.val() == city) {\n cityExists = true;\n }\n }\n else {\n $this.hide();\n }\n });\n\n // Reset the selected city value if it has changed\n if (!cityExists) {\n $city.val('');\n }\n }\n });\n\n // Offers filters change\n window.vbqUtils.cache.$body.on('change', '.offers-content select', function () {\n var country = $('.career-countries').val(),\n city = $('.career-cities').val(),\n dept = $('.career-departments').val(),\n formData = $(this).parents('form').serialize(),\n viewAll = window.location.href.indexOf('va=1') > -1 ? '?va=1' : '';\n\n $('#js-careerLoader').show();\n\n $.ajax({\n type: 'GET',\n url: window.Urls.updateCareerFilters,\n data: formData\n }).done(function (data) {\n $('.offers-form').html(data);\n\n var $careerCities = $('.career-cities');\n\n // Set back the select values\n $('.career-countries').val(country);\n $('.career-cities').val(city);\n $('.career-departments').val(dept);\n\n // Disable the city select when no country is selected\n if (city == '' && country == '') {\n $careerCities.attr('disabled', 'disabled');\n }\n else {\n $careerCities.removeAttr('disabled');\n }\n\n // Update the offers list\n $.ajax({\n type: 'GET',\n url: window.Urls.updateCareerOffersList + viewAll,\n data: formData\n }).done(function (data) {\n $('.offers-list').html(data);\n $('#js-careerLoader').hide();\n }).fail(function () {\n $('#js-careerLoader').hide();\n });\n }).fail(function () {\n $('#js-careerLoader').hide();\n });\n });\n\n // Offers paging clicks\n window.vbqUtils.cache.$body.on('click', '.career-paging-item a', function (e) {\n e.preventDefault();\n\n var url = $(this).attr('href');\n\n $.ajax({\n type: 'GET',\n url: url,\n data: $('.offers-form').serialize(),\n success: function (data) {\n $('.offers-list').html(data);\n }\n });\n });\n\n // Reset offers filters\n $('#js-careerResetFilters').on('click', function (e) {\n e.preventDefault();\n\n $('.career-countries').val('');\n $('.career-cities').val('');\n $('.career-departments').val('').trigger('change');\n });\n\n var $careerHomeStoreCarousel = $('#js-careerHomeStoreCarousel'),\n interval;\n\n window.vbqUtils.breakpoint.set([\n {\n media: window.vbqUtils.breakpoint.getMediaQuery('fromDesktop'),\n enter: function () {\n $careerHomeStoreCarousel.slick('unslick');\n\n interval = window.setInterval(function () {\n if ($careerHomeStoreCarousel.find('.lazyload').length === 0) {\n $careerHomeStoreCarousel.slick({\n slidesToShow: 1,\n dots: false,\n arrows: true,\n swipe: true\n });\n window.clearInterval(interval);\n }\n }, 250);\n }\n },\n {\n media: window.vbqUtils.breakpoint.getMediaQuery('mobileAndTablet'),\n enter: function () {\n $careerHomeStoreCarousel.slick('unslick');\n\n interval = window.setInterval(function () {\n if ($careerHomeStoreCarousel.find('.lazyload').length === 0) {\n $careerHomeStoreCarousel.slick({\n slidesToShow: 1,\n dots: true,\n arrows: false,\n swipe: true\n });\n window.clearInterval(interval);\n }\n }, 250);\n }\n }\n ]);\n}\n"],"names":["careerInit","interval","$careerForm","$","validator","validate","$phone","find","$country","$careerHomeStoreCarousel","window","vbqUtils","phoneCodes","init","addMethod","value","element","param","match","Resources","CAREER_FILE_LIMITATION","rules","required","myfile","validationLogic","formValidation","on","this","recaptchaHelper","valid","parent","hasClass","siblings","val","intlTelInputGlobals","getInstance","getNumber","show","$careerCountries","$careerCities","$dwfrmCareerCountry","$dwfrmCareerCity","$firstErrorElement","trigger","attr","length","cache","$window","scrollTop","offset","top","$body","countryCode","$city","city","cityExists","removeAttr","each","$this","split","hide","country","dept","formData","parents","serialize","viewAll","location","href","indexOf","ajax","type","url","Urls","updateCareerFilters","data","done","html","updateCareerOffersList","fail","e","preventDefault","success","breakpoint","set","media","getMediaQuery","enter","slick","setInterval","slidesToShow","dots","arrows","swipe","clearInterval","addEventListener","event"],"mappings":"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"}