{"version":3,"sources":["webpack:///./app/webpacker/src/javascript/services/elasticsearchService.js","webpack:///./app/webpacker/src/javascript/tunnel.js"],"names":["elasticsearchService","_classCallCheck","this","user_id","$","attr","session_id","url","origin","api","locations","availability","group_availability","count_availabilities","history","teachers","key","value","type","path","data","params","async","contentType","processData","getUrl","Object","keys","length","ajax","arguments","undefined","header","headers","responseJSON","requested_address","select_point","post","JSON","stringify","get","location_id","marker_url","pin_pointer","pinPointerImg","meeting_point","meetingPointImg","active_meeting_point","activeMeetingPointImg","legacy_url","window","location","hostname","includes","setInfoWindow","getMeetingPoints","meetingPoints","elasticsearch","lat","lng","searchLocation","getLocations","forEach","push","initMap","map_elem","document","getElementById","markers","map","google","maps","Map","styles","featureType","stylers","visibility","disableDefaultUI","zoomControl","bounds","LatLngBounds","info_window","marker","Marker","position","animation","Animation","DROP","draggable","icon","extend","event","addListener","close","InfoWindow","content","infowindow","open","point","info","show","rep","replace","html","infoPointRdv","val","j","setIcon","bind","fitBounds","panToBounds","getPathname","pathname","split","updateSelectedValueAndEnableSubmit","updateInputAddress","coords","latitude","longitude","latlng","LatLng","geocoder","Geocoder","input","button","geocode","results","status","GeocoderStatus","OK","address","formatted_address","addressComplete","i","address_components","types","postal_code","locality","long_name","street_number","route","join","submit","prop","onPlaceChanged","place","getPlace","errorAddressAutocomplete","name","geometry","style","display","getLatLng","otherInput","parentInput","getElementsByClassName","focusin","parent","find","animate","top","fontSize","on","e","element","enableButton","autocomplete","valid","source","query","callback","concat","item","title","pc_value","zipcode","id","pc_id","sort","a","b","list","selectedZip","selectedZipValue","city","selection","decodeURIComponent","minLength","limit","visibleLimit","autoselect","appendMethod","showHint","ui","floatingLabel","css","padding","border","changeTop","offsetTop","offsetHeight","changeWidth","offsetWidth","setProperty","inputPassword","ready","each","hide","inputPhoneNumber","regexPhone","errorPhoneNumber","input_div","checkbox_div","checkbox_label","inputs","action","url_string","infoPassword","signUpButton","addClass","focus","RegExp","txt","size","match","filter","blur","index","warning","siblings","focusout","clearButton","formatMessage","click","removeClass","disclaimerToggle","ielDisclaimer","toggle","moreToggle","ielMore","off","toggleClass","moreCodeToggle","moreHourToggle","moreExamToggle","codeMore","hourMore","examMore","toggleButtons","preventDefault","back","href","URL","searchParams","parseFloat","change","quantity","current_url","set","toString","inputLength","addDomListener","errorMandatoryAutocomplete","geolocationButton","places","Autocomplete","componentRestrictions","country","fields","navigator","geolocation","getCurrentPosition","addEventListener","MutationObserver","mutations","observe","attributes","attributeFilter","setTimeout","initializeAutocomplete"],"mappings":"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","file":"js/17-5c67cad79112667ae0c9.chunk.js","sourcesContent":["export default class elasticsearchService {\n constructor() {\n this.user_id = $('.user-data').attr('data-user-id');\n this.session_id = $('.user-data').attr('data-session-id');\n this.url = {\n origin: \"https://account.envoituresimone.com\",\n api: {\n locations: \"/api/v1/locations\",\n availability: \"/api/v1/availability\",\n group_availability: \"/api/v1/group_availability\",\n count_availabilities: \"/api/v1/availabilities/count\",\n history: \"/api/v1/user_navigation\",\n teachers: \"/api/v1/teachers\"\n }\n };\n }\n\n ajax(type, path, data, options = {}) {\n var params = {\n type: type,\n async: false,\n contentType: 'application/json',\n processData: true,\n url: this.getUrl(path)\n };\n\n if (Object.keys(data).length !== 0){\n params['data'] = data\n }\n\n return $.ajax(params)\n }\n\n getUrl(path) {\n return this.url.origin + path;\n }\n\n get(path, data = {}, header = {}){\n return this.ajax('GET', path, data, {headers: header}).responseJSON\n }\n\n post(path, data = {}, header = {}){\n return this.ajax('POST', path, data, {headers: header}).responseJSON\n }\n\n saveUserNavigation(requested_address, select_point) {\n var params = {\n \"session_id\": this.session_id,\n \"user_id\": this.user_id ? this.user_id : null,\n \"requested_address\": {\n \"coordinate\": [requested_address[\"lat\"], requested_address[\"lng\"]],\n \"adress_name\": requested_address[\"name\"]\n },\n \"select_point\": {\n \"location_id\": select_point[\"location_id\"],\n \"name\": select_point[\"name\"],\n \"coordinate\": [select_point[\"lat\"], select_point[\"lng\"]],\n \"mapping_dispo\": select_point[\"mapping_dispo\"]\n }\n };\n this.post(this.url.api.history, JSON.stringify(params));\n };\n\n searchLocation(params) {\n return this.get(this.url.api.locations, params);\n }\n\n searchCountAvailabilities() {\n return this.get(this.url.api.count_availabilities);\n }\n\n searchAvailability(params) {\n let url = this.url.api.availability + \"/\" + params.location_id;\n return this.get(url);\n }\n\n searchAvailabilities(params) {\n return this.post(this.url.api.availability, JSON.stringify(params));\n }\n\n searchGroupAvailability(params) {\n return this.post(this.url.api.group_availability, JSON.stringify(params));\n }\n\n searchTeachers(params) {\n return this.post(this.url.api.teachers, JSON.stringify(params));\n }\n\n\n}\n","import elasticsearchService from './services/elasticsearchService.js';\nimport pinPointerImg from './../../images/meeting_points/pin-pointer.png'\nimport meetingPointImg from './../../images/meeting_points/meeting-point.png'\nimport activeMeetingPointImg from './../../images/meeting_points/active-meeting-point.png'\n\nvar marker_url = {\n pin_pointer: pinPointerImg,\n meeting_point: meetingPointImg,\n active_meeting_point: activeMeetingPointImg\n};\n\nvar legacy_url = \"https://account.envoituresimone.com\";\n\nif (window.location.hostname.includes('staging')){\n legacy_url = \"https://dev.envoituresimone.com\";\n} else if (window.location.hostname.includes('localhost')) {\n legacy_url = \"http://localhost:3000\";\n}\n\nconst minLengthPassword = 6\n\nvar changeQuantity = function() {\n $(\".select_quantity-js select\").change(function() {\n // get quantity chosen, add or replace param quantity to url\n var quantity = $(this).val();\n var current_url = new URL(window.location.href);\n current_url.searchParams.set('quantity', quantity);\n window.location.replace(current_url.toString());\n });\n}\n\nvar getLocations = function(requested_address) {\n let elasticsearch = new elasticsearchService();\n\n let params = {};\n if (requested_address.lat && requested_address.lng) {\n params = {\n lat: requested_address.lat,\n lng: requested_address.lng\n }\n }\n\n let data = elasticsearch.searchLocation(params);\n if (data[\"hits\"]) {\n data = data[\"hits\"]\n }\n\n return data\n};\n\nvar setInfoWindow = function (location) {\n let info_window = null;\n if (location['name'] == location['city']) {\n info_window = location['city'] + \" - \" + location['line_1']\n } else {\n info_window = location['city'] + \" - \" + location['name']\n }\n return info_window\n};\n\nvar getMeetingPoints = function(requested_address) {\n var meetingPoints = [];\n let locations = getLocations(requested_address);\n if (locations) {\n locations.forEach(function(location){\n meetingPoints.push({\n \"location_id\": location[\"id\"],\n \"lat\": location[\"coordinates\"][1],\n \"lng\": location[\"coordinates\"][0],\n \"picture\": {\n \"url\": marker_url.meeting_point,\n \"width\": 30,\n \"height\": 40\n },\n \"infowindow\": setInfoWindow(location),\n \"name\": location[\"name\"],\n \"distance\": location[\"distance\"],\n \"zipcode\": location[\"zipcode\"],\n \"line_1\": location[\"line_1\"],\n \"city\": location[\"city\"]\n });\n })\n }\n if (requested_address.lat && requested_address.lng) {\n meetingPoints.push({\n \"lat\": requested_address.lat,\n \"lng\": requested_address.lng,\n \"picture\": {\n \"url\": marker_url.pin_pointer,\n \"width\": 30,\n \"height\": 42\n },\n \"infowindow\": \"Vous ĂȘtes ici\"\n });\n }\n return meetingPoints\n};\n\nfunction infoPointRdv(point) {\n let info = $(\"#choisir-point-rdv-info\");\n info.show();\n let text = \"

Vous avez choisi: [POINT]

\";\n let rep = text.replace('[POINT]', point.infowindow);\n info.html(rep);\n}\n\nvar initMap = function(meetingPoints, requested_address) {\n var map_elem = document.getElementById('tunnel-map-js');\n\n if (map_elem) {\n let markers = [];\n let mapOptions = {\n styles: [{\n featureType: \"poi\",\n stylers: [{ visibility: \"off\" }]\n }],\n disableDefaultUI: true,\n zoomControl: true\n };\n let map = new google.maps.Map(map_elem, mapOptions);\n let bounds = new google.maps.LatLngBounds();\n var info_window = null;\n\n meetingPoints.forEach(function(data) {\n\n let marker = new google.maps.Marker({\n position: {lat: data[\"lat\"], lng: data[\"lng\"]},\n animation: google.maps.Animation.DROP,\n map: map,\n draggable: false,\n icon: data[\"picture\"][\"url\"]\n });\n bounds.extend(marker.position);\n markers.push(marker);\n google.maps.event.addListener(marker, 'click', function() {\n if (info_window) {\n info_window.close();\n }\n info_window = new google.maps.InfoWindow({ content: data.infowindow});\n info_window.open(map, marker);\n if ((data['lat'] != requested_address.lat) && (data['lng'] != requested_address.lng)) {\n infoPointRdv(data)\n $('#choisir-point-rdv-location_id').val(data.location_id);\n for (var j = 0; j < markers.length; j++) {\n if (markers[j].icon != marker_url.pin_pointer) {\n markers[j].setIcon(marker_url.meeting_point);\n }\n }\n marker.setIcon(marker_url.active_meeting_point);\n }\n })\n }.bind(this));\n\n map.fitBounds(bounds);\n map.panToBounds(bounds);\n }\n};\n\nvar showGoogleMap = function() {\n let url_string = window.location.href;\n let url = new URL(url_string);\n let lat = url.searchParams.get(\"lat\");\n let lng = url.searchParams.get(\"lng\");\n let requested_address = {lat: parseFloat(lat), lng: parseFloat(lng)};\n let meetingPoints = getMeetingPoints(requested_address);\n initMap(meetingPoints, requested_address);\n};\n\nvar getPathname = function() {\n let path = window.location.pathname.split('/');\n var pathname = path[path.length - 1];\n return pathname\n};\n\nvar disableButton = function() {\n $('#dispo-enseignants-button').prop(\"disabled\", true);\n $('#select-button').prop(\"disabled\", true);\n\n $('#sign-up-button-js').prop(\"disabled\", true);\n $(\"#formules-button\").prop(\"disabled\", true);\n $(\"#paiement-button\").hide()\n};\n\nvar setInputsvalue = function(id, zipcode, city) {\n $('#data-zipcode-id').val(id);\n $('#data-zipcode').val(zipcode);\n $('#data-city').val(city);\n}\n\nvar getSelectedZipData = (list) => {\n let selectedZip = list[0];\n let selectedZipValue = $('div[data-value].active').attr('data-value');\n if(undefined !== selectedZipValue) {\n selectedZipValue = decodeURIComponent(selectedZipValue);\n selectedZip = list?.find((item) => item.value == selectedZipValue) || selectedZip;\n }\n return selectedZip;\n}\n\nvar updateSelectedValueAndEnableSubmit = () => {};\n\nvar updateInputAddress = function(position) {\n var lat = position.coords.latitude;\n var lng = position.coords.longitude;\n var latlng = new google.maps.LatLng(lat, lng);\n var geocoder = new google.maps.Geocoder();\n var input = document.getElementById(\"address-autocomplete\");\n var button = $('#dispo-enseignants-button');\n\n geocoder.geocode({ 'latLng': latlng }, (results, status) => {\n if (status == google.maps.GeocoderStatus.OK) {\n var address = (results[0].formatted_address);\n var addressComplete = [];\n\n input.value = address;\n if (input.value.length != 0) {\n $('#data-latitude').val(lat);\n $('#data-longitude').val(lng);\n for (var i = 0; i < results[0].address_components.length; i++) {\n for (var j = 0; j < results[0].address_components[i].types.length; j++) {\n var addressCity = { postal_code: 'zipcode', locality: 'city' };\n var key = addressCity[results[0].address_components[i].types[j]];\n $('#data-'+ key).val(results[0].address_components[i].long_name);\n\n var streetNumber = { street_number: 'street_number', route: 'route' };\n var keyStreet = streetNumber[results[0].address_components[i].types[j]];\n if (keyStreet) {\n addressComplete.push(results[0].address_components[i].long_name);\n $('#data-address').val(addressComplete.join(', '));\n }\n }\n }\n button.submit();\n button.prop(\"disabled\", false);\n }\n }\n });\n}\n\nvar initializeAutocomplete = function(button) {\n var errorAddressAutocomplete = document.getElementById(\"error-autocomplete-google-js\");\n var errorMandatoryAutocomplete = document.getElementById(\"mandatory-autocomplete-js\");\n var geolocationButton = $('#geolocation-js');\n var input = document.getElementById(\"address-autocomplete\");\n var options = {\n componentRestrictions: { country: \"fr\" },\n fields: [\"address_components\", \"geometry\", \"icon\", \"name\"]\n }\n\n if (input) {\n var autocomplete = new google.maps.places.Autocomplete(input, options);\n geolocationButton.click(function() {\n if (navigator.geolocation) {\n navigator.geolocation.getCurrentPosition(updateInputAddress);\n }\n });\n\n google.maps.event.addListener(autocomplete, 'place_changed', onPlaceChanged);\n\n input.addEventListener(\"input\", () => {\n if (input.value.length == 0) {\n errorAddressAutocomplete.style.display = 'none';\n }\n $('#data-address').val('')\n button.prop(\"disabled\", true);\n });\n\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function() {\n errorAddressAutocomplete.style.display = 'none';\n });\n });\n\n observer.observe(errorMandatoryAutocomplete, { attributes : true, attributeFilter : ['style'] });\n\n input.addEventListener(\"focusout\", () => {\n setTimeout(function(){\n if ($('#data-address').val() == '' && input.value.length > 0) {\n errorAddressAutocomplete.style.display = 'block';\n }\n }, 1500);\n })\n }\n}\n\nvar onPlaceChanged = function() {\n var place = this.getPlace()\n var button = $('#dispo-enseignants-button');\n var errorAddressAutocomplete = document.getElementById(\"error-autocomplete-google-js\");\n\n for (var i = 0; i < place.address_components.length; i++) {\n for (var j = 0; j < place.address_components[i].types.length; j++) {\n var address = { postal_code: 'zipcode', locality: 'city' };\n var key = address[place.address_components[i].types[j]];\n $('#data-'+ key).val(place.address_components[i].long_name);\n }\n }\n\n $('#data-address').val(place.name);\n $('#data-latitude').val(place.geometry.location.lat());\n $('#data-longitude').val(place.geometry.location.lng());\n button.prop(\"disabled\", false);\n button.submit();\n errorAddressAutocomplete.style.display = 'none';\n}\n\nvar getLatLng = function(button, pathname) {\n var input = $(\"#zip-code-autocomplete\");\n var otherInput = ['#data-zipcode', '#data-city', '#data-zipcode-id'];\n var parentInput = document.getElementsByClassName('tunnel-input-group');\n\n input.focusin(function(){\n var floatingLabel = input.parent().parent().find('.floating-label');\n floatingLabel.animate({ top: '-16px', fontSize: '11px' }, 100);\n });\n\n if(input.length > 0) {\n input.on('keypress', (e) => {\n if((e.key == 13) && ($('#data-zipcode').val() == \"\" || $('#data-zipcode').val() == null)) return false;\n });\n\n input.on(\"change paste keyup\", function(e) {\n if(input.val().length <= 2) {\n otherInput.forEach(function (element) { $(element).val(\"\"); });\n button.prop(\"disabled\", true);\n }\n });\n\n if($('#data-city').val().length > 0 && $('#data-zipcode').val().length > 0) {\n enableButton(button)\n button.submit();\n }\n\n input.autocomplete({\n valid: (() => true),\n source: [(query, callback) => {\n if(query.length == 0) return [];\n $.get(\n `${legacy_url}/api/v1/cities?q=${query}&max_count=50`,\n (data) => {\n let results = data.map((item) => {\n let title = `${item.name} (${item.pc_value})`;\n return {\n title: title,\n zipcode: item.pc_value,\n name: item.name,\n id: item.pc_id,\n value: title,\n }\n }).sort((a, b) => a.zipcode - b.zipcode); // or a.title.localeCompare(b.name) if name\n\n updateSelectedValueAndEnableSubmit = () => {\n if(results?.length == 0) return;\n let selection = getSelectedZipData(results);\n\n input.val(selection.title);\n setInputsvalue(selection.id, selection.zipcode, selection.name);\n enableButton(button)\n input.autocomplete(\"close\");\n }\n return callback(results);\n }\n );\n }],\n minLength: 2,\n limit: 50,\n visibleLimit: 4,\n autoselect: true,\n appendMethod: 'replace',\n showHint: false,\n });\n input.on('focusout', (e, ui) => {\n updateSelectedValueAndEnableSubmit();\n if (input.val() == '') {\n var floatingLabel = input.parent().parent().find('.floating-label');\n input.css({ padding: '20px 15px 10px', border: '2px solid #B1B3B5'});\n floatingLabel.animate({ top: '-2px', fontSize: '1rem' }, 100);\n }\n });\n input.on( \"autocompleteopen\", function(event, ui) {\n if(pathname == \"dispo-enseignants\") {\n var changeTop = parentInput[0].offsetTop + parentInput[0].offsetHeight;\n var changeWidth = parentInput[0].offsetWidth;\n document.getElementById(\"ui-id-1\").style.setProperty(\"top\", changeTop + \"px\", \"important\");\n document.getElementById(\"ui-id-1\").style.setProperty(\"width\", changeWidth + \"px\", \"important\");\n }\n });\n }\n};\n\nvar enableButton = function(button) {\n let inputPassword = $(\".input-password-js\");\n\n if (inputPassword.length === 0 || inputPassword.val().length >= minLengthPassword) {\n button.prop(\"disabled\", false);\n }\n}\n\nvar selectAnswer = function() {\n $(\".tunnel-select\").click(function(){\n var value = $(this).attr('id');\n $(\".tunnel-select\").removeClass('select');\n\n $(this).addClass('select');\n $('#select-answer').val(value);\n $(\"#select-button\").prop(\"disabled\", false);\n });\n};\n\nvar setCouponLink = function() {\n $('#coupon-form-trigger').click(function() {\n $('#coupon-form-hide-trigger').attr('href', window.location.pathname);\n });\n};\n\nvar setPaymentFormLinks = function() {\n var action = $('button[type=\"submit\"]').data('url');\n $('#paiement-form').attr('action', action);\n $('#coupon-form-hide-trigger').attr('href', window.location.pathname);\n};\n\nvar toggleButtons = function() {\n var disclaimerToggle = $('a#show-user-iel-btn');\n\n if (disclaimerToggle.length == 1) {\n var ielDisclaimer = $(\"div#iel-disclaimer\");\n disclaimerToggle.on('click', function(){ielDisclaimer.toggle()})\n }\n\n var moreToggle = $('a#show-more-iel-btn');\n\n if (moreToggle.length == 1) {\n var ielMore = $(\"div#iel-more\");\n moreToggle.off('click');\n moreToggle.on('click', function(){\n ielMore.toggle();\n moreToggle.find('i').toggleClass('fa-angle-up fa-angle-down');\n })\n }\n\n var moreCodeToggle = $('h3#show-more-code-btn');\n var moreHourToggle = $('h3#show-more-hour-btn');\n var moreExamToggle = $('h3#show-more-exam-btn');\n\n if (moreCodeToggle.length == 1) {\n var codeMore = $(\"div#code-more\");\n moreCodeToggle.on('click', function(){\n codeMore.toggle();\n moreCodeToggle.find('i').toggleClass('fa-sort-up fa-sort-down');\n })\n }\n if (moreHourToggle.length == 1) {\n var hourMore = $(\"div#hour-more\");\n moreHourToggle.on('click', function(){\n hourMore.toggle();\n moreHourToggle.find('i').toggleClass('fa-sort-up fa-sort-down');\n })\n }\n if (moreExamToggle.length == 1) {\n var examMore = $(\"div#exam-more\");\n moreExamToggle.on('click', function(){\n examMore.toggle();\n moreExamToggle.find('i').toggleClass('fa-sort-up fa-sort-down');\n })\n }\n};\n\nvar updateCss = function() {\n var input_div = $('input[type!=\"checkbox\"]').parent();\n var checkbox_div = $('input[type=\"checkbox\"]').parent().parent();\n var checkbox_label = $('input[type=\"checkbox\"]').parent();\n input_div.addClass(\"panel-max-500\");\n checkbox_div.addClass(\"panel-max-500\");\n checkbox_label.addClass(\"label-checkbox\");\n $('input[type=\"text\"]:first').focus();\n $('.iel-user-disclaimer').css(\"margin-top\", \"40px\");\n};\n\nvar disableLogoLink = function() {\n var logo_link = $('a.navbar-evs-brand');\n logo_link.attr(\"href\", \"#\").css(\"pointer-events\", \"none\");\n};\n\nvar goBackButton = function() {\n $('.tunnel a.previous-question').on('click', function(e){\n e.preventDefault();\n window.history.back();\n });\n};\n\nvar setTabIndex = function() {\n $(\":input:not(:hidden)\").each(function (i) {\n $(this).attr('tabindex', i + 1);\n });\n};\n\n// Iterates over all required inputs and add two focus callback to show/hide the mandatory explanation\nvar setupRequiredInputCallbacks = function() {\n // Fetch inputs\n var inputs = $('input,select').filter('[required]:visible');\n $('#first-name-autocomplete').blur(); // disable autofocus on firstname\n\n inputs.each(function( index ) {\n var input = $(this);\n if (input.attr('id') == 'address-autocomplete') {\n return;\n }\n\n if (input.val() != '') {\n var floatingLabel = input.parent().parent().find('.floating-label');\n floatingLabel.css({ top: '-16px', fontSize: '11px' });\n input.css({ padding: '20px 15px 10px'});\n }\n\n if (input.css('border-color') == 'rgb(231, 76, 60)') {\n if (!!input.val()) { // quick and dirty non empty value\n var warning = input.parent().siblings('.invalid-field-mention-js') || input.siblings('.invalid-field-mention-js');\n } else if (input.attr('id') == 'zip-code-autocomplete') {\n var warning = input.parent().parent().siblings('.mandatory-field-mention-js')\n } else {\n var warning = input.parent().siblings('.mandatory-field-mention-js') || input.siblings('.mandatory-field-mention-js');\n }\n\n warning.show()\n }\n\n // On focusout, if empty, show warning\n input.focusout(function (e){\n var floatingLabel = input.parent().parent().find('.floating-label');\n\n if(input.val() == ''){\n var clearButton = input.parent().find('.clear-input-js');\n if (input.attr('id') == 'zip-code-autocomplete') {\n var warning = input.parent().parent().siblings('.mandatory-field-mention-js')\n } else {\n var warning = input.parent().siblings('.mandatory-field-mention-js') || input.siblings('.mandatory-field-mention-js');\n }\n\n input.css({ border: '2px solid #E94F37', padding: '15px' });\n floatingLabel.animate({ top: '-2px', fontSize: '1rem' }, 100);\n warning.show();\n clearButton.hide();\n } else {\n if (input.attr('id') == 'phone-number-autocomplete' && $(\"#error-phone-number-js\").css('display') == 'block') {\n input.css({ padding: '20px 15px 10px', border: '2px solid #E74C3C' });\n } else {\n input.css({ padding: '20px 15px 10px', border: '2px solid #B1B3B5'});\n }\n floatingLabel.animate({ top: '-16px', fontSize: '11px' }, 100);\n }\n });\n\n // On Focusin, hide warning\n input.focusin(function (e){\n if (input.attr('id') == 'zip-code-autocomplete') {\n var warning = input.parent().parent().siblings('.mandatory-field-mention-js')\n } else {\n var warning = input.parent().siblings('.mandatory-field-mention-js') || input.siblings('.mandatory-field-mention-js');\n }\n var clearButton = input.parent().find('.clear-input-js');\n var floatingLabel = input.parent().parent().find('.floating-label');\n var formatMessage = input.parent().siblings('.invalid-field-mention-js') || input.siblings('.invalid-field-mention-js');\n\n input.css({ padding: '20px 15px 10px', border: '2px solid #494E5A'});\n floatingLabel.animate({ top: '-16px', fontSize: '11px' }, 100);\n warning.hide();\n clearButton.show();\n formatMessage.hide();\n\n clearButton.click(function(){\n input.val(\"\");\n warning.show();\n floatingLabel.animate({ top: '-2px', fontSize: '1rem' }, 100);\n input.css({ border: '2px solid #E94F37', padding: '15px' });\n clearButton.hide();\n });\n });\n });\n};\n\nvar checkPhoneNumber = function() {\n var inputPhoneNumber = $(\"#phone-number-autocomplete\");\n var regexPhone = new RegExp(/^(?:|0)\\s*[6-7](?:[\\s.-]*\\d{2}){4}$/);\n var errorPhoneNumber = $(\"#error-phone-number-js\");\n\n inputPhoneNumber.on('focusout', () => {\n var txt = inputPhoneNumber.val();\n var size = txt.length;\n var verifyPhoneNumber = txt.match(regexPhone);\n\n if (verifyPhoneNumber && size == 10) {\n errorPhoneNumber.hide();\n inputPhoneNumber.css({ border: '2px solid #E94F37' });\n } else {\n errorPhoneNumber.show();\n };\n })\n}\n\nvar setupInfoPasswordInputCallbacks = function() {\n let input = $(\".input-password-js\");\n let infoPassword = $('.info-password-mention-js')\n let signUpButton = $('#sign-up-button-js')\n\n input.on(\"input\", function() {\n let inputLength = $(this).val().length\n infoPassword.hide();\n signUpButton.prop(\"disabled\", false);\n\n if (inputLength < minLengthPassword && inputLength > 0) {\n infoPassword.show();\n signUpButton.prop(\"disabled\", true);\n } else if (inputLength === 0) {\n signUpButton.prop(\"disabled\", true);\n }\n })\n};\n\n$(document).ready(function() {\n setTabIndex();\n disableButton();\n\n // CTA management\n var pathname = getPathname();\n\n var button = null;\n if(pathname == \"dispo-enseignants\") {\n button = $('#dispo-enseignants-button');\n } else if(pathname == \"sign-up\") {\n button = $('#sign-up-button-js');\n updateCss();\n checkPhoneNumber();\n } else if(pathname == \"paiement\") {\n disableLogoLink();\n }\n if (button != null) {\n if (pathname != \"dispo-enseignants\") {\n getLatLng(button, pathname);\n }\n }\n if(pathname != \"dispo-enseignants\") {\n setupRequiredInputCallbacks();\n }\n\n selectAnswer();\n setCouponLink();\n setPaymentFormLinks();\n toggleButtons();\n goBackButton();\n showGoogleMap();\n changeQuantity();\n setupInfoPasswordInputCallbacks();\n});\n\ngoogle.maps.event.addDomListener(window, 'load', function() {\n var pathname = getPathname();\n\n if(pathname == \"dispo-enseignants\") {\n var button = $('#dispo-enseignants-button');\n initializeAutocomplete(button);\n }\n});\n"],"sourceRoot":""}