{"version":3,"names":[],"mappings":"","sources":["internal-apply.js"],"sourcesContent":["import * as capSvc from \"./services/internalService.js\";\r\n\r\nconst StateProvinces = [\r\n {\r\n Id: 1,\r\n Code: \"AL\",\r\n Name: \"Alabama\"\r\n },\r\n {\r\n Id: 2,\r\n Code: \"AK\",\r\n Name: \"Alaska\"\r\n },\r\n {\r\n Id: 4,\r\n Code: \"AZ\",\r\n Name: \"Arizona\"\r\n },\r\n {\r\n Id: 5,\r\n Code: \"AR\",\r\n Name: \"Arkansas\"\r\n },\r\n {\r\n Id: 7,\r\n Code: \"CA\",\r\n Name: \"California\"\r\n },\r\n {\r\n Id: 8,\r\n Code: \"CO\",\r\n Name: \"Colorado\"\r\n },\r\n {\r\n Id: 9,\r\n Code: \"CT\",\r\n Name: \"Connecticut\"\r\n },\r\n {\r\n Id: 10,\r\n Code: \"DE\",\r\n Name: \"Delaware\"\r\n },\r\n {\r\n Id: 11,\r\n Code: \"DC\",\r\n Name: \"District of Columbia\"\r\n },\r\n {\r\n Id: 13,\r\n Code: \"FL\",\r\n Name: \"Florida\"\r\n },\r\n {\r\n Id: 15,\r\n Code: \"GA\",\r\n Name: \"Georgia\"\r\n },\r\n {\r\n Id: 16,\r\n Code: \"HI\",\r\n Name: \"Hawaii\"\r\n },\r\n {\r\n Id: 17,\r\n Code: \"ID\",\r\n Name: \"Idaho\"\r\n },\r\n {\r\n Id: 18,\r\n Code: \"IL\",\r\n Name: \"Illinois\"\r\n },\r\n {\r\n Id: 19,\r\n Code: \"IN\",\r\n Name: \"Indiana\"\r\n },\r\n {\r\n Id: 20,\r\n Code: \"IA\",\r\n Name: \"Iowa\"\r\n },\r\n {\r\n Id: 21,\r\n Code: \"KS\",\r\n Name: \"Kansas\"\r\n },\r\n {\r\n Id: 23,\r\n Code: \"KY\",\r\n Name: \"Kentucky\"\r\n },\r\n {\r\n Id: 24,\r\n Code: \"LA\",\r\n Name: \"Louisiana\"\r\n },\r\n {\r\n Id: 25,\r\n Code: \"ME\",\r\n Name: \"Maine\"\r\n },\r\n {\r\n Id: 27,\r\n Code: \"MD\",\r\n Name: \"Maryland\"\r\n },\r\n {\r\n Id: 28,\r\n Code: \"MA\",\r\n Name: \"Massachusetts\"\r\n },\r\n {\r\n Id: 29,\r\n Code: \"MI\",\r\n Name: \"Michigan\"\r\n },\r\n {\r\n Id: 30,\r\n Code: \"MN\",\r\n Name: \"Minnesota\"\r\n },\r\n {\r\n Id: 31,\r\n Code: \"MS\",\r\n Name: \"Mississippi\"\r\n },\r\n {\r\n Id: 32,\r\n Code: \"MO\",\r\n Name: \"Missouri\"\r\n },\r\n {\r\n Id: 33,\r\n Code: \"MT\",\r\n Name: \"Montana\"\r\n },\r\n {\r\n Id: 34,\r\n Code: \"NE\",\r\n Name: \"Nebraska\"\r\n },\r\n {\r\n Id: 35,\r\n Code: \"NV\",\r\n Name: \"Nevada\"\r\n },\r\n {\r\n Id: 37,\r\n Code: \"NH\",\r\n Name: \"New Hampshire\"\r\n },\r\n {\r\n Id: 38,\r\n Code: \"NJ\",\r\n Name: \"New Jersey\"\r\n },\r\n {\r\n Id: 39,\r\n Code: \"NM\",\r\n Name: \"New Mexico\"\r\n },\r\n {\r\n Id: 40,\r\n Code: \"NY\",\r\n Name: \"New York\"\r\n },\r\n {\r\n Id: 42,\r\n Code: \"NC\",\r\n Name: \"North Carolina\"\r\n },\r\n {\r\n Id: 43,\r\n Code: \"ND\",\r\n Name: \"North Dakota\"\r\n },\r\n {\r\n Id: 47,\r\n Code: \"OH\",\r\n Name: \"Ohio\"\r\n },\r\n {\r\n Id: 48,\r\n Code: \"OK\",\r\n Name: \"Oklahoma\"\r\n },\r\n {\r\n Id: 50,\r\n Code: \"OR\",\r\n Name: \"Oregon\"\r\n },\r\n {\r\n Id: 52,\r\n Code: \"PA\",\r\n Name: \"Pennsylvania\"\r\n },\r\n {\r\n Id: 54,\r\n Code: \"PR\",\r\n Name: \"Puerto Rico\"\r\n },\r\n {\r\n Id: 56,\r\n Code: \"RI\",\r\n Name: \"Rhode Island\"\r\n },\r\n {\r\n Id: 59,\r\n Code: \"SC\",\r\n Name: \"South Carolina\"\r\n },\r\n {\r\n Id: 60,\r\n Code: \"SD\",\r\n Name: \"South Dakota\"\r\n },\r\n {\r\n Id: 61,\r\n Code: \"TN\",\r\n Name: \"Tennessee\"\r\n },\r\n {\r\n Id: 62,\r\n Code: \"TX\",\r\n Name: \"Texas\"\r\n },\r\n {\r\n Id: 63,\r\n Code: \"UT\",\r\n Name: \"Utah\"\r\n },\r\n {\r\n Id: 64,\r\n Code: \"VT\",\r\n Name: \"Vermont\"\r\n },\r\n {\r\n Id: 65,\r\n Code: \"VA\",\r\n Name: \"Virginia\"\r\n },\r\n {\r\n Id: 67,\r\n Code: \"WA\",\r\n Name: \"Washington\"\r\n },\r\n {\r\n Id: 68,\r\n Code: \"WV\",\r\n Name: \"West Virginia\"\r\n },\r\n {\r\n Id: 69,\r\n Code: \"WI\",\r\n Name: \"Wisconsin\"\r\n },\r\n {\r\n Id: 70,\r\n Code: \"WY\",\r\n Name: \"Wyoming\"\r\n }\r\n];\r\nlet brandId;\r\n\r\nconsole.log('brand1: ' + sessionStorage.getItem('brandId'));\r\nbrandId = capSvc.getBrand();\r\nconsole.log('brand2: ' + sessionStorage.getItem('brandId'));\r\nwindow.duplicateWorkHistory = duplicateWorkHistory;\r\nwindow.duplicateEducationHistory = duplicateEducationHistory;\r\nwindow.deleteWorkClone = deleteWorkClone;\r\nwindow.deleteSchoolClone = deleteSchoolClone;\r\nwindow.validate = validate;\r\nwindow.returnToSearch = returnToSearch\r\nwindow.checkEligibilityInput = checkEligibilityInput;\r\nwindow.selectRadioBtn = selectRadioBtn\r\n\r\nlet resumeuploaded = false;\r\nlet capFileStoreId = 0\r\nlet wrkHistory = []\r\nlet educationHistory = []\r\nlet candidate = {\r\n applicationSource: null,\r\n jobId: 0,\r\n peopleSoftId: 0,\r\n firstName: null,\r\n middleName: null,\r\n noMiddleName: null,\r\n lastName: null,\r\n emailAddress: null,\r\n address1: null,\r\n address2: null,\r\n city: null,\r\n stateProvince: null,\r\n postalCode: null,\r\n phone: null,\r\n adSourceId: null,\r\n eligibilityFlag: true,\r\n ageFlag: true,\r\n agreementAcknowledgement: true,\r\n previouslyEmployedFlag: true,\r\n linkedInUrl: null,\r\n previousAffiliate: null,\r\n resumeFileStoreId: 0,\r\n nonCompete: true,\r\n gender: null,\r\n genderIdentity: null,\r\n ethnicityId: null,\r\n veteranStatusId: null,\r\n disabilityId: null,\r\n referredBy: null,\r\n workHistory: [\r\n {\r\n internalCandidateId: null,\r\n companyName: null,\r\n city: null,\r\n stateProvince: null,\r\n postalCode: null,\r\n phoneNumber: null,\r\n jobTitle: null,\r\n jobDescription: null,\r\n startDate: null,\r\n endDate: null,\r\n supervisorName: null,\r\n reasonForLeavingComments: null,\r\n contactFlag: null,\r\n currentEmployerFlag: null,\r\n tempAgency: null,\r\n reasonId: null\r\n }\r\n ],\r\n educationHistory: [\r\n {\r\n internalCandidateId: null,\r\n schoolName: null,\r\n educationLevelId: null,\r\n courseOfStudy: null,\r\n degree: null,\r\n graduated: null\r\n }\r\n ]\r\n}\r\nlet candidateId = 0\r\nlet workCounter = 0\r\nlet educationCounter = 0\r\n\r\n// Boostrap form validation - common messages **begin\r\nconst phoneMsgHtml = `
Please enter a phone number
`\r\nconst cityMsgHtml = `
Please enter a city
`\r\nconst statesProvinceMsgHtml = `
Please select a state
`\r\nconst ZipPostalMsgHtml = `
Please enter a valid zip code
`\r\nconst selectMsgHtml = `
Please select yes or no
`\r\n\r\n// Boostrap form validation - common messages **end\r\nwindow.onload = function () {\r\n $(\"body\").show();\r\n document.title = 'Application for ' + sessionStorage.getItem(\"jobTitle\");\r\n const pageTitle = document.getElementById(\"pageTitle\")\r\n pageTitle.innerHTML = `\r\n
\r\n \r\n \"${sessionStorage.getItem('brandName')}\r\n \r\n
\r\n ${sessionStorage.getItem('headerHtml')}\r\n
\r\n

Please submit your application for the position of:

\r\n

${sessionStorage.getItem(\"jobTitle\")}

\r\n
`\r\n\r\n const nameField = document.querySelector(\"input\");\r\n\r\n nameField.addEventListener(\"input\", () => {\r\n nameField.setCustomValidity(\"\");\r\n nameField.checkValidity();\r\n console.log(nameField.checkValidity());\r\n });\r\n\r\n nameField.addEventListener(\"invalid\", () => {\r\n nameField.setCustomValidity(\"Please fill in your First Name.\");\r\n });\r\n\r\n const statesDropDown = document.getElementById('statesProvince')\r\n StateProvinces.map(stateProvince => {\r\n const option = document.createElement('option')\r\n option.text = stateProvince.Name\r\n option.value = stateProvince.Code\r\n statesDropDown.options.add(option)\r\n })\r\n\r\n const jobStatesProvince = document.getElementById('jobStatesProvince-0')\r\n StateProvinces.map(stateProvince => {\r\n const option = document.createElement('option')\r\n option.text = stateProvince.Name\r\n option.value = stateProvince.Code\r\n jobStatesProvince.options.add(option)\r\n })\r\n\r\n wrkHistory[workCounter] = $('#previousEmployer-' + workCounter)[0].elements\r\n educationHistory[educationCounter] = $('#previousEducation-' + educationCounter)[0].elements\r\n\r\n removePreloader();\r\n\r\n // Boostrap form validation - onload **begin\r\n const headElement = document.querySelector('head');\r\n const bootstrapHtml = ``\r\n $(headElement).append(bootstrapHtml);\r\n // const jqueryHtml = ``\r\n // $(headElement).append(jqueryHtml);\r\n const formElement = document.querySelector(\"#applicationForm\")\r\n formElement.classList.add(\"needs-validation\");\r\n formElement.setAttribute('novalidate', '');\r\n const radioInputs = document.querySelectorAll('input[type=\"radio\"]')\r\n radioInputs.forEach((input) => {\r\n input.classList.add('form-check-input')\r\n $(input).css(\"position\", \"relative\")\r\n .css(\"width\", \"0.8em\")\r\n .css(\"height\", \"0.8em\")\r\n .css(\"margin-top\", \"0.5em\")\r\n .css(\"margin-left\", \"0.3em\")\r\n .css(\"border-color\", \"#626567\")\r\n input.setAttribute('required', '')\r\n });\r\n const selectAgeMsgHtml = `
Please select yes to apply
`\r\n const selectAuthMsgHtml = `
Please select yes to apply
`\r\n const radioLabels = document.querySelectorAll('.radio-style-1-label')\r\n const authorizedHtml = '
\\n' +\r\n '

All employees must be eligible to\\n' +\r\n ' work in the US

\\n' +\r\n '
'\r\n for (let i = 1; i <= radioLabels.length; i++) {\r\n if (i % 2 > 0) {\r\n if (i === 1)\r\n $(radioLabels[i]).after(selectAgeMsgHtml);\r\n else if (i === 3)\r\n $(radioLabels[i]).after(selectAuthMsgHtml);\r\n else\r\n $(radioLabels[i]).after(selectMsgHtml);\r\n }\r\n }\r\n $('#usAuthorizationVerification').after(authorizedHtml);\r\n\r\n //part 2 remove Cancel element\r\n const cancelBtn = document.querySelector('.fileinput-cancel-button')\r\n cancelBtn.remove()\r\n const removeBtn = document.querySelector('.fileinput-remove-button')\r\n removeBtn.remove()\r\n const uploadBtn = document.querySelector('.fileinput-upload-button')\r\n uploadBtn.remove()\r\n\r\n //part 3 field validation\r\n const submitRows = document.querySelectorAll('div.row.d-flex.flex-row')\r\n //alert('submitRows num = ' + submitRows.length)\r\n if (submitRows.length > 1)\r\n submitRows[1].classList.remove('row');\r\n\r\n // Personal info fields\r\n const firstNameMsgHtml = `
Please enter your first name
`\r\n const firstName = document.querySelector('#firstName')\r\n $(firstName).after(firstNameMsgHtml);\r\n const middleNameMsgHtml = `
Please check box below if no middle name
`\r\n const middleName = document.querySelector('#middleName')\r\n middleName.setAttribute('required', '')\r\n $(middleName).after(middleNameMsgHtml);\r\n const lastNameMsgHtml = `
Please enter your last name
`\r\n const lastName = document.querySelector('#lastName')\r\n $(lastName).after(lastNameMsgHtml);\r\n const cellOrPhoneNumberMsgHtml1 = `
Please enter a cell or phone number
`\r\n const cellNumber = document.querySelector('#cellNumber')\r\n cellNumber.setAttribute('pattern', '^\\\\(?\\\\d{3}\\\\)?[- ]?\\\\d{3}[-]?\\\\d{4}$')\r\n $(cellNumber).after(cellOrPhoneNumberMsgHtml1);\r\n //const phoneMsgHtml = `
Please enter a phone number
`\r\n const cellOrPhoneNumberMsgHtml2 = `
Please enter a cell or phone number
`\r\n const phone = document.querySelector('#phoneNumber')\r\n phone.setAttribute('pattern', '^\\\\(?\\\\d{3}\\\\)?[- ]?\\\\d{3}[-]?\\\\d{4}$')\r\n $(phone).after(cellOrPhoneNumberMsgHtml2);\r\n const emailMsgHtml = `
Please enter a valid email address
`\r\n const email = document.querySelector('#emailAddress')\r\n email.setAttribute('pattern', '\\\\S+@\\\\S+\\\\.\\\\S+')\r\n email.removeAttribute('onchange')\r\n email.removeAttribute('onkeyup')\r\n $(email).after(emailMsgHtml);\r\n const address1MsgHtml = `
Please enter an address
`\r\n const address1 = document.querySelector('#address1')\r\n $(address1).after(address1MsgHtml);\r\n // const cityMsgHtml = `
Please enter a city
`\r\n const city = document.querySelector('#city')\r\n $(city).after(cityMsgHtml);\r\n// const statesProvinceMsgHtml = `
Please select a state
`\r\n const statesProvince = document.querySelector('#statesProvince')\r\n statesProvince.removeAttribute('onchange')\r\n $(statesProvince).after(statesProvinceMsgHtml);\r\n // const ZipPostalMsgHtml = `
Please enter a zip code
`\r\n const ZipPostal = document.querySelector('#ZipPostal')\r\n $(ZipPostal).after(ZipPostalMsgHtml);\r\n $(\"#affiliatedSource\").parents(\"div.d-flex\").addClass('flex-wrap')\r\n const companyMsgHtml = `
Please select a company
`\r\n const affiliatedSource = document.querySelector('#affiliatedSource')\r\n $(affiliatedSource).after(companyMsgHtml);\r\n affiliatedSource.removeAttribute(\"onchange\")\r\n const adSourceMsgHtml = `
Please select a source
`\r\n const adSource = document.querySelector('#adSource')\r\n $(adSource).after(adSourceMsgHtml);\r\n adSource.removeAttribute(\"onchange\")\r\n\r\n // Self Identity fields\r\n const selectOneMsgHtml = `
Please select one
`\r\n const gender = document.querySelector('#gender')\r\n $(gender).after(selectOneMsgHtml);\r\n $(gender).parents('div.d-flex').addClass('flex-wrap')\r\n const genderIdentity = document.querySelector('#genderIdentity')\r\n $(genderIdentity).after(selectOneMsgHtml);\r\n $(genderIdentity).parents('div.d-flex').addClass('flex-wrap')\r\n const ethnicity = document.querySelector('#ethnicity')\r\n $(ethnicity).after(selectOneMsgHtml);\r\n $(ethnicity).parents('div.d-flex').addClass('flex-wrap')\r\n const veteranStatus = document.querySelector('#veteranStatus')\r\n $(veteranStatus).after(selectOneMsgHtml);\r\n $(veteranStatus).parents('div.d-flex').addClass('flex-wrap')\r\n const disability = document.querySelector('#disability')\r\n $(disability).after(selectOneMsgHtml);\r\n\r\n //Add non-existing class to help focus first invalid field\r\n const checkInputs = document.querySelectorAll('.form-check-input')\r\n checkInputs.forEach((input) => {\r\n input.classList.add('to-focus')\r\n });\r\n const otherInputs = document.querySelectorAll('.form-control')\r\n otherInputs.forEach((input) => {\r\n input.classList.add('to-focus')\r\n });\r\n}\r\n\r\n$(\"#part1Continue\").click(function (e) {\r\n e.preventDefault(e)\r\n // Boostrap form validation - part1Continue **begin\r\n 'use strict'\r\n // $('#submitApplication').prop('disabled',false)\r\n // Fetch all the forms we want to apply custom Bootstrap validation styles to\r\n let forms = document.querySelectorAll('.needs-validation')\r\n // Loop over them and prevent submission\r\n Array.prototype.slice.call(forms)\r\n .forEach(function (form) {\r\n if (!form.checkValidity()) {\r\n event.preventDefault()\r\n event.stopPropagation()\r\n let firstInvalidRadio = $(form).find(\".form-check-input:invalid\").first();\r\n let firstInvalid;\r\n if (firstInvalidRadio != null) {\r\n firstInvalid = firstInvalidRadio;\r\n }\r\n window.scrollTo({\r\n top: 200,\r\n behavior: 'instant'\r\n });\r\n if (!verifyEligibility())\r\n firstInvalid.focus();\r\n }\r\n form.classList.add('was-validated')\r\n })\r\n // Boostrap form validation - part1Continue end\r\n\r\n const eligible = verifyEligibility()\r\n if (eligible) {\r\n goToStep2()\r\n return true\r\n } else {\r\n displayRequiredFieldsandNoEligible()\r\n return false\r\n }\r\n})\r\n\r\n$('#upload-Resume').click(function () {\r\n if ($('#uploadFile').val() === '') {\r\n return false\r\n } else {\r\n //Boostrap form validation - bypass checking work history and education parts\r\n const whInputs = document.querySelectorAll('#workHistoryBody input, #workHistoryBody textarea, #workHistoryBody select');\r\n // alert(\"whInputs id = \" + whInputs[1].id)\r\n $('#companyName-0').removeAttr('required');\r\n whInputs.forEach((input) => {\r\n // console.log(\"input id = \" + input.id)\r\n if (input.id !== 'whErecruitId')\r\n input.removeAttribute('required')\r\n });\r\n const edInputs = document.querySelectorAll('#educationHistoryBody input, #educationHistoryBody textarea, #educationHistoryBody select');\r\n edInputs.forEach((input) => {\r\n // console.log(\"input id = \" + input.id)\r\n if (input.id !== 'edErecruitId')\r\n input.removeAttribute('required')\r\n });\r\n\r\n var fd = new FormData();\r\n var files = $('#uploadBtn')[0].files[0];\r\n fd.append('InternalCandidateResume', files);\r\n resumeuploaded = true;\r\n $.ajax({\r\n url: sessionStorage.getItem('apiHost') + 'internalCandidate/PostResume',\r\n type: 'post',\r\n data: fd,\r\n contentType: false,\r\n processData: false,\r\n success: function (response) {\r\n capFileStoreId = response.capFileStoreId\r\n $('#part2').hide()\r\n $('#part3').show()\r\n $('#workHistory').hide()\r\n $('#educationHistory').hide()\r\n return true\r\n },\r\n beforeSend: function (xhr) {\r\n xhr.setRequestHeader('Authorization', 'Bearer XwgtlQw0sZ2NJsJHJS8pOM7quIiE1vhzXTu1XbQ1fvwXdEnnpSUsOOdBqS8AKJxLya6QUs8RIwN7FPsvArhGVrfTPTCWT8WWZthkxgUvSTsY3zHoBDIAWMdn2IMZl8l9');\r\n },\r\n error: function (textStatus, errorThrown) {\r\n console.log(errorThrown)\r\n }\r\n })\r\n }\r\n})\r\n\r\n$('#uploadBtn').change(function () {\r\n $('#uploadFile').val(this.value.replace(/^.*\\\\/, \"\"))\r\n $('#upload-Resume').prop('disabled', false)\r\n})\r\n\r\n$('#continue-step3').click(function () {\r\n capFileStoreId = null\r\n $('#part2').hide()\r\n $('#part3').show()\r\n // Boostrap form validation - Work history fields\r\n const companyNameMsgHtml = `
Please enter company name
`\r\n const companyName = document.querySelector('#companyName-0')\r\n $(companyName).after(companyNameMsgHtml);\r\n const jobCity = document.querySelector('#jobCity-0')\r\n $(jobCity).after(cityMsgHtml);\r\n const jobState = document.querySelector('#jobStatesProvince-0')\r\n $(jobState).after(statesProvinceMsgHtml);\r\n const jobPostal = document.querySelector('#jobPostal-0')\r\n $(jobPostal).after(ZipPostalMsgHtml);\r\n const jobPhoneNumber = document.querySelector('#jobPhoneNumber-0')\r\n jobPhoneNumber.setAttribute('pattern', '^\\\\(?\\\\d{3}\\\\)?[- ]?\\\\d{3}[-]?\\\\d{4}$')\r\n $(jobPhoneNumber).after(phoneMsgHtml);\r\n const supervisorNameMsgHtml = `
Please enter supervisor name
`\r\n const supervisorName = document.querySelector('#supervisorName-0')\r\n $(supervisorName).after(supervisorNameMsgHtml);\r\n const jobTitleMsgHtml = `
Please enter job title
`\r\n const jobTitle = document.querySelector('#jobTitle-0')\r\n $(jobTitle).after(jobTitleMsgHtml);\r\n const jobFromMsgHtml = `
Please enter from date
`\r\n const jobFrom = document.querySelector('#jobFrom-0')\r\n jobFrom.setAttribute('pattern', '^(0[1-9]|1[0-2])\\\\/[/]?([1-2][0-9]{3})$')\r\n jobFrom.setAttribute('name', 'jobFrom')\r\n $(jobFrom).after(jobFromMsgHtml);\r\n const jobToMsgHtml = `
Please enter to date
`\r\n const jobTo = document.querySelector('#jobTo-0')\r\n jobTo.setAttribute('pattern', '^(0[1-9]|1[0-2])\\\\/[/]?([1-2][0-9]{3})$')\r\n jobTo.setAttribute('name', 'jobTo')\r\n $(jobTo).after(jobToMsgHtml);\r\n const jobDescriptionMsgHtml = `
Please enter job description
`\r\n const jobDescription = document.querySelector('#jobDescription-0')\r\n $(jobDescription).after(jobDescriptionMsgHtml);\r\n const reasonsForLeavingMsgHtml = `
Please select a reason for leaving
`\r\n const reasonsForLeaving = document.querySelector('#reasonsForLeaving-0')\r\n reasonsForLeaving.setAttribute('required', '')\r\n $(reasonsForLeaving).after(reasonsForLeavingMsgHtml);\r\n const ReasonForLeavingCommentsMsgHtml = `
Please enter a reason for leaving comment
`\r\n const ReasonForLeavingComments = document.querySelector('#ReasonForLeavingComments-0')\r\n ReasonForLeavingComments.setAttribute('required', '')\r\n $(ReasonForLeavingComments).after(ReasonForLeavingCommentsMsgHtml);\r\n $(\"#canContact-0\").parents(\"div.row\").addClass('d-flex').removeClass('row');\r\n const canContact = document.querySelector('#canContact-0')\r\n canContact.setAttribute('required', '')\r\n $(\"#removePreviousEmployerBox\").addClass('ml-2').removeClass('ml-3');\r\n\r\n // Boostrap form validation - Education history fields\r\n const educationLevelMsgHtml = `
Please select a degree type
`\r\n const educationLevel = document.querySelector('#educationLevel')\r\n $(educationLevel).after(educationLevelMsgHtml);\r\n const schoolNameMsgHtml = `
Please enter a school name
`\r\n const schoolName = document.querySelector('#schoolName')\r\n $(schoolName).after(schoolNameMsgHtml);\r\n const courseOfStudyMsgHtml = `
Please enter a course of study
`\r\n const courseOfStudy = document.querySelector('#courseOfStudy')\r\n $(courseOfStudy).after(courseOfStudyMsgHtml);\r\n const yearsCompletedMsgHtml = `
Please enter years completed
`\r\n const yearsCompleted = document.querySelector('#yearsCompleted')\r\n $(yearsCompleted).after(yearsCompletedMsgHtml);\r\n const isGraduated = document.querySelector('#isGraduated')\r\n $(isGraduated).after(selectMsgHtml);\r\n})\r\n\r\n$('#eligibilityForm').on('submit', function (event) {\r\n event.preventDefault()\r\n var eligible = verifyEligibility()\r\n console.log('eligible: ' + eligible)\r\n if (eligible) {\r\n goToStep2()\r\n // $('#step2').checked = true\r\n } else {\r\n displayRequiredFieldsandNoEligible()\r\n }\r\n})\r\n\r\n// Boostrap form validation - Set affiliatedSource field \"required\" is yesPreviouslyEmployed is selected **begin\r\nconst affiliatedSource = document.querySelector('#affiliatedSource') // Added\r\n$('#yesPreviouslyEmployed').click(function () {\r\n $('#affiliated').show()\r\n affiliatedSource.setAttribute('required', '')\r\n}) // Added\r\n\r\n$('#notPreviouslyEmployed').click(function () {\r\n $('#affiliated').hide()\r\n affiliatedSource.removeAttribute('required') // Added\r\n})\r\n// Boostrap form validation - Set affiliatedSource field... **end\r\n\r\n$('#currentEmployer-0').click(function (event) {\r\n setCurrentEmployer(event)\r\n})\r\n\r\nfunction setCurrentEmployer(event) {\r\n const index = event.currentTarget.id.substring(event.currentTarget.id.indexOf('-'), event.currentTarget.id.length)\r\n if (event.currentTarget.checked) {\r\n $('#jobTo' + index)[0].setAttribute('disabled', 'disabled')\r\n $('#jobTo' + index)[0].value = ''\r\n $('#reasonsForLeaving' + index)[0].setAttribute('disabled', 'disabled')\r\n $('#ReasonForLeavingComments' + index)[0].setAttribute('disabled', 'disabled')\r\n } else {\r\n $('#jobTo' + index)[0].removeAttribute('disabled')\r\n $('#reasonsForLeaving' + index)[0].removeAttribute('disabled')\r\n $('#ReasonForLeavingComments' + index)[0].removeAttribute('disabled')\r\n }\r\n}\r\n\r\nfunction verifyEligibility() {\r\n if ($(\"#over18\").is(\":checked\") && ($('#UsAuthorized').is(\":checked\") || $('#noUsAuthorized').is(\":checked\"))) {\r\n return true\r\n } else {\r\n return false\r\n }\r\n}\r\n\r\nfunction displayRequiredFieldsandNoEligible() {\r\n if ($('#under18').is(\":checked\")) {\r\n console.log('#under18')\r\n $('#part1').hide()\r\n $('#noEligible').show()\r\n }\r\n\r\n}\r\n\r\nfunction goToStep2() {\r\n // Boostrap form validation - reset form validation and set agreement attribute and classes **begin\r\n const formElement = document.querySelector(\"#applicationForm\")\r\n formElement.classList.remove(\"was-validated\");\r\n const agreedMsgHtml = `
Please check agreement box
`\r\n const hasAgreedInput = document.querySelector('#hasAgreed')\r\n hasAgreedInput.setAttribute('required', '')\r\n hasAgreedInput.classList.add('form-check-input')\r\n hasAgreedInput.classList.add('to-focus')\r\n const hasAgreedLabel = document.querySelector('.pl-3')\r\n $(hasAgreedLabel).after(agreedMsgHtml);\r\n // Boostrap form validation - reset form validation.... **end\r\n\r\n $.ajax({\r\n url: sessionStorage.getItem('apiHost') + \"internal/job/dropdownList\",\r\n dataType: 'json',\r\n type: 'get',\r\n processData: false,\r\n success: function (data, textStatus) {\r\n const t = data\r\n console.log(data)\r\n const adSource = document.getElementById('adSource')\r\n data.adSource.map(adSources => {\r\n const option = document.createElement('option')\r\n option.text = adSources.name\r\n option.value = adSources.code\r\n adSource.options.add(option)\r\n })\r\n\r\n const educationLevel = document.getElementById('educationLevel')\r\n data.educationLevel.map(dt => {\r\n const option = document.createElement('option')\r\n option.text = dt.description\r\n option.value = dt.id\r\n educationLevel.options.add(option)\r\n })\r\n\r\n const reasonsForLeaving = document.getElementById('reasonsForLeaving-0')\r\n data.reasonsForLeaving.map(dt => {\r\n const option = document.createElement('option')\r\n option.text = dt.description\r\n option.value = dt.id\r\n reasonsForLeaving.options.add(option)\r\n })\r\n\r\n const disability = document.getElementById('disability')\r\n data.disability.map(dt => {\r\n const option = document.createElement('option')\r\n option.text = dt.name\r\n option.value = dt.id\r\n disability.options.add(option)\r\n })\r\n const veteranStatus = document.getElementById('veteranStatus')\r\n data.veteranStatus.map(dt => {\r\n const option = document.createElement('option')\r\n option.text = dt.name\r\n option.value = dt.id\r\n veteranStatus.options.add(option)\r\n })\r\n\r\n const genderIdentity = document.getElementById('genderIdentity')\r\n data.genderIdentity.map(dt => {\r\n const option = document.createElement('option')\r\n option.text = dt.name\r\n option.value = dt.id\r\n genderIdentity.options.add(option)\r\n })\r\n\r\n const gender = document.getElementById('gender')\r\n data.gender.map(dt => {\r\n const option = document.createElement('option')\r\n option.text = dt.name\r\n option.value = dt.id\r\n gender.options.add(option)\r\n })\r\n\r\n const ethnicity = document.getElementById('ethnicity')\r\n data.ethnicity.map(dt => {\r\n const option = document.createElement('option')\r\n option.text = dt.name\r\n option.value = dt.id\r\n ethnicity.options.add(option)\r\n })\r\n $('#part1').hide()\r\n $('#part2').show()\r\n return true\r\n },\r\n beforeSend: function (xhr) {\r\n xhr.setRequestHeader('Authorization', 'Bearer XwgtlQw0sZ2NJsJHJS8pOM7quIiE1vhzXTu1XbQ1fvwXdEnnpSUsOOdBqS8AKJxLya6QUs8RIwN7FPsvArhGVrfTPTCWT8WWZthkxgUvSTsY3zHoBDIAWMdn2IMZl8l9');\r\n },\r\n error: function (textStatus, errorThrown) {\r\n console.log(errorThrown)\r\n }\r\n })\r\n}\r\n\r\nfunction formatPhone(phone) {\r\n if (event.keyCode !== 8) {\r\n if ((event.key === undefined || !isNaN(event.key)) || phone === '') {\r\n var curchr = phone.length;\r\n var curval = phone;\r\n var phoneFieldId = event.currentTarget.id\r\n curval = curval.replace(/\\D/g, '').substring(0, 10)\r\n if (curchr === 10 && !curval.includes('(')) {\r\n const areaCode = curval.substring(0, 3)\r\n const phonePart1 = curval.substring(3, 6)\r\n const phonePart2 = curval.substring(6, 10)\r\n $('#' + phoneFieldId).val(\"(\" + areaCode + \")\" + \" \" + phonePart1 + '-' + phonePart2)\r\n $('#' + phoneFieldId).css('background-color', 'white')\r\n }\r\n } else {\r\n switch (event.currentTarget.id) {\r\n case 'phoneNumber':\r\n $('#validatePhoneNumber').css('display', 'block');\r\n break\r\n case 'cellNumber':\r\n $('#validateCellNumber').css('display', 'block');\r\n break\r\n default:\r\n $('#validate' + (event.currentTarget.id.charAt(0).toUpperCase() + event.currentTarget.id.slice(1))).css('display', 'block'); //str.charAt(0).toUpperCase() + str.slice(1)\r\n break\r\n }\r\n }\r\n } else if (event.keyCode === 8) {\r\n if (phone.length > 0) {\r\n if (!isNaN(phone[phone.length - 1])) {\r\n hidePhoneErrorFormat(event.currentTarget.id)\r\n }\r\n } else {\r\n hidePhoneErrorFormat(event.currentTarget.id)\r\n }\r\n }\r\n}\r\n\r\nfunction hidePhoneErrorFormat(id) {\r\n switch (id) {\r\n case 'phoneNumber':\r\n $('#validatePhoneNumber').css('display', 'none');\r\n $('#validatePhoneNumber').css('background', 'white');\r\n break\r\n case 'cellNumber':\r\n $('#validateCellNumber').css('display', 'none');\r\n $('#validateCellNumber').css('background', 'white');\r\n break\r\n default:\r\n $('#validate' + (id.charAt(0).toUpperCase() + id.slice(1))).css('display', 'none');\r\n $('#validate' + (id.charAt(0).toUpperCase() + id.slice(1))).css('background', 'white');\r\n }\r\n}\r\n\r\nfunction selectRadioBtn(event) {\r\n if (event.code === 'Enter') {\r\n if (event.currentTarget.id === 'over18') $('#over18').click()\r\n if (event.currentTarget.id === 'under18') $('#under18').click()\r\n if (event.currentTarget.id === 'UsAuthorized') $('#UsAuthorized').click()\r\n if (event.currentTarget.id === 'noUsAuthorized') $('#noUsAuthorized').click()\r\n if (event.currentTarget.id === 'yesPreviouslyEmployed') $('#yesPreviouslyEmployed').click()\r\n if (event.currentTarget.id === 'notPreviouslyEmployed') $('#notPreviouslyEmployed').click()\r\n if (event.currentTarget.id === 'isCompete') $('#isCompete').click()\r\n if (event.currentTarget.id === 'isNotCompete') $('#isNotCompete').click()\r\n if (event.currentTarget.id === 'canContact-0') $('#canContact-0').click()\r\n if (event.currentTarget.id === 'canNotContact-0') $('#canNotContact-0').click()\r\n }\r\n}\r\n\r\n$('.btn-file')[0].setAttribute('tabindex', '0')\r\n$('.btn-file')[0].addEventListener('focus', () => {\r\n if (!event.target.classList.contains('file-caption-name')) {\r\n $('.btn-file')[1].setAttribute('style', 'transform: scale(1.1)')\r\n $('.btn-file')[1].classList.add('border', 'border-primary')\r\n }\r\n})\r\n$('.btn-file')[0].addEventListener('blur', () => {\r\n if (!event.target.classList.contains('file-caption-name')) {\r\n $('.btn-file')[1].removeAttribute('style', 'transform: scale(1.1)')\r\n $('.btn-file')[1].classList.remove('border', 'border-primary')\r\n }\r\n if ($('#upload-Resume').is(\":disabled\")) {\r\n $('#continue-step3').focus()\r\n } else {\r\n $('#upload-Resume').focus()\r\n }\r\n})\r\n$('.btn-file')[0].addEventListener('keyup', (event) => {\r\n if (!event.target.classList.contains('file-caption-name')) {\r\n if (event.code === 'Enter') {\r\n $('.btn-file')[1].removeAttribute('style')\r\n $('.btn-file')[1].classList.remove('border', 'border-primary')\r\n $('#uploadBtn')[0].click()\r\n }\r\n }\r\n})\r\n\r\nfor (const button of $('#part1Continue')) {\r\n button.addEventListener('focus', (event) => {\r\n button.setAttribute('style', 'transform: scale(1.3)')\r\n })\r\n button.addEventListener('blur', (event) => {\r\n button.removeAttribute('style')\r\n })\r\n button.addEventListener('keyup', (event) => {\r\n if (event.code === 'Enter') {\r\n event.preventDefault()\r\n const eligible = verifyEligibility()\r\n if (eligible) {\r\n goToStep2()\r\n } else {\r\n displayRequiredFieldsandNoEligible()\r\n }\r\n }\r\n })\r\n}\r\nconst submitApplication = $('#submitApplication')\r\nfor (const element of submitApplication) {\r\n element.addEventListener('focus', () => {\r\n element.setAttribute('style', 'transform: scale(1.3)')\r\n })\r\n element.addEventListener('blur', () => {\r\n element.removeAttribute('style', 'transform: scale(1.3)')\r\n })\r\n element.addEventListener('keyup', (event) => {\r\n if (event.code === 'Enter') {\r\n $('#submitApplication').click()\r\n }\r\n })\r\n}\r\n\r\nfor (const element of $('input[type=checkbox]')) {\r\n element.addEventListener('focus', () => {\r\n element.setAttribute('style', 'transform: scale(1.3)')\r\n })\r\n\r\n element.addEventListener('blur', () => {\r\n element.removeAttribute('style', 'transform: scale(1.3)')\r\n })\r\n element.addEventListener('keyup', (event) => {\r\n event.preventDefault()\r\n if (event.code === 'Enter') {\r\n if (event.currentTarget.id === 'noMiddleName') $('#noMiddleName').click()\r\n if (event.currentTarget.id === 'noPreviousEmployer') $('#noPreviousEmployer').click()\r\n if (event.currentTarget.id === 'hasAgreed') $('#hasAgreed').click()\r\n if (event.currentTarget.id === 'currentEmployer-0') $('#currentEmployer-0').click()\r\n if (event.currentTarget.id === 'tempAgency-0') $('#tempAgency-0').click()\r\n }\r\n })\r\n}\r\n\r\nfor (const element of $('input')) {\r\n element.addEventListener('focus', () => {\r\n element.classList.add('border', 'border-primary')\r\n })\r\n\r\n element.addEventListener('blur', () => {\r\n element.classList.remove('border', 'border-primary')\r\n })\r\n}\r\n\r\nfor (const element of $('select')) {\r\n element.addEventListener('focus', () => {\r\n element.classList.add('border', 'border-primary')\r\n })\r\n\r\n element.addEventListener('blur', (event) => {\r\n // if(element.id === 'adSource' && !$('#workHistory').is(':hidden')) $('#noPreviousEmployer').focus()\r\n element.classList.remove('border', 'border-primary')\r\n })\r\n\r\n // element.addEventListener('change', (event) => {\r\n // if(capFileStoreId !== null) {\r\n // $('#hasAgreed').focus()\r\n // }\r\n // })\r\n}\r\n\r\nfor (const element of $('#continue-step3')) {\r\n element.addEventListener('focus', () => {\r\n element.setAttribute('style', 'transform: scale(1.1)')\r\n })\r\n element.addEventListener('blur', () => {\r\n element.removeAttribute('style', 'transform: scale(1.1)')\r\n })\r\n element.addEventListener('keyup', (event) => {\r\n if (event.code === 'Enter') {\r\n element.removeAttribute('style')\r\n element.click()\r\n }\r\n })\r\n}\r\n\r\nfor (const element of $('#upload-Resume')) {\r\n element.addEventListener('focus', () => {\r\n element.setAttribute('style', 'transform: scale(1.3)')\r\n })\r\n element.addEventListener('blur', () => {\r\n element.removeAttribute('style')\r\n })\r\n element.addEventListener('keyup', (event) => {\r\n if (event.code === 'Enter') {\r\n element.removeAttribute('style')\r\n element.click()\r\n }\r\n })\r\n}\r\n\r\n$('#emailAddress').change(function () {\r\n const re = /\\S+@\\S+\\.\\S+/\r\n let match = false\r\n match = re.test($('#emailAddress').val())\r\n if (!match) {\r\n $('#eligibilityMsg').text('Invalid Email')\r\n $('#eligibilityMsg').show()\r\n $('#emailAddress').css('background-color', 'pink')\r\n } else {\r\n $('#eligibilityMsg').hide()\r\n $('#emailAddress').css('background-color', 'white')\r\n }\r\n})\r\n\r\n$('#jobFrom-0').keyup(function (event) {\r\n formatDate(event)\r\n})\r\n\r\n$('#jobTo-0').keyup(function (event) {\r\n formatDate(event)\r\n})\r\n\r\n$('#hasAgreed').click(function () {\r\n if (!$('#hasAgreed').is(\":checked\")) {\r\n $('#submitApplication').prop('disabled', true)\r\n } else {\r\n $('#submitApplication').prop('disabled', false)\r\n }\r\n})\r\n$('#cellNumber').keyup(function (event) {\r\n formatPhone(event.currentTarget.value)\r\n if (event.currentTarget.value !== '')\r\n $('#cellOrPhoneMsg1').css(\"display\", \"none\")\r\n else {\r\n if ($('#phoneNumber').val() === '')\r\n $('#cellOrPhoneMsg1').css(\"display\", \"block\")\r\n }\r\n let pattern = $('#cellNumber').attr(\"pattern\")\r\n let regex = new RegExp(pattern);\r\n if (regex.test($('#cellNumber').val()))\r\n $('#validateCellNumber').css('display', 'none')\r\n});\r\n\r\n$('#phoneNumber').keyup(function (event) {\r\n formatPhone(event.currentTarget.value)\r\n if (event.currentTarget.value !== '')\r\n $('#cellOrPhoneMsg2').css(\"display\", \"none\")\r\n else {\r\n if ($('#cellNumber').val() === '')\r\n $('#cellOrPhoneMsg2').css(\"display\", \"block\")\r\n }\r\n let pattern = $('#cellNumber').attr(\"pattern\")\r\n let regex = new RegExp(pattern);\r\n if (regex.test($('#phoneNumber').val()))\r\n $('#validatePhoneNumber').css('display', 'none');\r\n});\r\n\r\n//Boosstrap form valoidation - only one phone filled is valid begin\r\n$('#cellNumber').change(function (event) {\r\n // alert(\"cellNumber entered\")\r\n $('#phoneNumber').removeAttr('required')\r\n let pattern = $('#cellNumber').attr(\"pattern\")\r\n// alert(\"pattern = \" + pattern)\r\n let regex = new RegExp(pattern);\r\n if (regex.test($('#cellNumber').val())) {\r\n $('#validateCellNumber').css('display', 'none')\r\n if ($('#phoneNumber').val() === '')\r\n $('#cellOrPhoneMsg2').css(\"display\", \"none\")\r\n // $('#cellNumber').css('background', 'white');\r\n } else if ($('#cellNumber').val() !== '')\r\n $('#validateCellNumber').css('display', 'block')\r\n});\r\n\r\n$('#phoneNumber').change(function (event) {\r\n // alert(\"phoneNumber entered\")\r\n $('#cellNumber').removeAttr('required')\r\n let pattern = $('#cellNumber').attr(\"pattern\")\r\n let regex = new RegExp(pattern);\r\n if (regex.test($('#phoneNumber').val())) {\r\n $('#validatePhoneNumber').css('display', 'none');\r\n if ($('#cellNumber').val() === '')\r\n $('#cellOrPhoneMsg1').css(\"display\", \"none\")\r\n // $('#phoneNumber').css('background', 'white');\r\n } else if ($('#phoneNumber').val() !== '')\r\n $('#validatePhoneNumber').css('display', 'block')\r\n});\r\n\r\n//Boosstrap form valoidation - only one phone filled is valid end\r\n\r\n$('#jobPhoneNumber-0').keyup(function (event) {\r\n jobPhoneKeyup(event)\r\n})\r\n\r\nfunction jobPhoneKeyup(event) {\r\n formatPhone(event.currentTarget.value)\r\n let id = event.currentTarget.id\r\n let index = id.substring(id.indexOf(\"-\") + 1)\r\n // alert('#phoneMsgDisplay-' + index)\r\n if (event.currentTarget.value !== '')\r\n $('#phoneMsgDisplay-' + index).css(\"display\", \"none\")\r\n else\r\n $('#phoneMsgDisplay-' + index).css(\"display\", \"block\")\r\n let pattern = $('#cellNumber').attr(\"pattern\")\r\n let regex = new RegExp(pattern);\r\n if (regex.test(event.currentTarget.value))\r\n $('#validateJobPhoneNumber-' + index).css('display', 'none');\r\n}\r\n\r\n$('#jobPhoneNumber-0').change(function (event) {\r\n validateJobPhone(event)\r\n});\r\n\r\nfunction validateJobPhone(event) {\r\n let id = event.currentTarget.id\r\n let index = id.substring(id.indexOf(\"-\") + 1)\r\n let pattern = $('#cellNumber').attr(\"pattern\")\r\n let regex = new RegExp(pattern);\r\n if (regex.test(event.currentTarget.value)) {\r\n $('#validateJobPhoneNumber-' + index).css('display', 'none');\r\n } else\r\n $('#validateJobPhoneNumber-' + index).css('display', 'block');\r\n}\r\n\r\n$('#noMiddleName').click(function () {\r\n if ($('#noMiddleName').is(\":checked\")) {\r\n $('#middleName').val('')\r\n $('#middleName').css('background-color', 'none')\r\n $('#middleName').prop('disabled', true)\r\n } else {\r\n $('#middleName').prop('disabled', false)\r\n }\r\n})\r\n\r\n$('#noPreviousEmployer').click(function () {\r\n if ($('#noPreviousEmployer').is(\":checked\")) {\r\n $('#companyName-0').prop('disabled', true)\r\n $('#jobCity-0').prop('disabled', true)\r\n $('#jobStatesProvince-0').prop('disabled', true)\r\n $('#jobPostal-0').prop('disabled', true)\r\n $('#jobPhoneNumber-0').prop('disabled', true)\r\n $('#jobTitle-0').prop('disabled', true)\r\n $('#jobFrom-0').prop('disabled', true)\r\n $('#jobTo-0').prop('disabled', true)\r\n $('#supervisorName-0').prop('disabled', true)\r\n $('#currentEmployer-0').prop('disabled', true)\r\n $('#tempAgency-0').prop('disabled', true)\r\n $('#jobDescription-0').prop('disabled', true)\r\n $('#reasonsForLeaving-0').prop('disabled', true)\r\n $('#ReasonForLeavingComments-0').prop('disabled', true)\r\n $('#canContact-0').prop('disabled', true)\r\n $('#canNotContact-0').prop('disabled', true)\r\n $('#addEmployer-0').hide();\r\n } else {\r\n $('#companyName-0').prop('disabled', false)\r\n $('#jobCity-0').prop('disabled', false)\r\n $('#jobStatesProvince-0').prop('disabled', false)\r\n $('#jobPostal-0').prop('disabled', false)\r\n $('#jobPhoneNumber-0').prop('disabled', false)\r\n $('#jobTitle-0').prop('disabled', false)\r\n $('#jobFrom-0').prop('disabled', false)\r\n $('#jobTo-0').prop('disabled', false)\r\n $('#supervisorName-0').prop('disabled', false)\r\n $('#currentEmployer-0').prop('disabled', false)\r\n $('#tempAgency-0').prop('disabled', false)\r\n $('#jobDescription-0').prop('disabled', false)\r\n $('#reasonsForLeaving-0').prop('disabled', false)\r\n $('#ReasonForLeavingComments-0').prop('disabled', false)\r\n $('#canContact-0').prop('disabled', false)\r\n $('#canNotContact-0').prop('disabled', false)\r\n $('#addEmployer-0').show();\r\n }\r\n})\r\n\r\n$('#adSource').change(function () {\r\n console.log('ad source changed: ' + $('#adSource')[0].value)\r\n if ($('#adSource')[0].value === 'IEE') {\r\n $('#referralBox').show();\r\n $('#referral').attr('required', true);\r\n } else {\r\n $('#referralBox').hide();\r\n $('#referral').removeAttr('required');\r\n }\r\n})\r\n\r\n$('#submitApplication').click(function (e) {\r\n e.preventDefault(e)\r\n\r\n // Boostrap form validation - #submitApplication **begin\r\n let valid = false\r\n // console.log('valid1: ' + valid)\r\n // alert(\"cellNumber = \" + $('#cellNumber').val() + \" phone number = \" + $('#phoneNumber').val())\r\n if ($('#cellNumber').val() === '' && $('#phoneNumber').val() === '') {\r\n // Boostrap form validation - replaced with Boostrap validation **begin 2\r\n let cellNumber\r\n $('#cellNumber').attr('required', '')\r\n $('#cellOrPhoneMsg1').css(\"display\", \"block\")\r\n $('#phoneNumber').attr('required', '')\r\n $('#cellOrPhoneMsg2').css(\"display\", \"block\")\r\n $('#validatePhoneNumber').css('display', 'none');\r\n $('#validateCellNumber').css('display', 'none');\r\n }\r\n const whPhones = document.querySelectorAll(\"input[name='jobPhoneNumber']\")\r\n whPhones.forEach((phone) => {\r\n if (phone.value === '') {\r\n let id = phone.id\r\n let idx = id.substring(id.indexOf(\"-\") + 1)\r\n $('#validateJobPhoneNumber-' + idx).css('display', 'none');\r\n $('#phoneMsgDisplay-' + idx).css(\"display\", \"block\")\r\n }\r\n });\r\n const jobFroms = document.querySelectorAll(\"input[name='jobFrom']\")\r\n jobFroms.forEach((from) => {\r\n if ($(from).val() === \"\") {\r\n let msgId = from.nextElementSibling.id\r\n // console.log('msgId = ' + msgId)\r\n $('#' + msgId).removeAttr('style')\r\n $('#' + msgId).text('Please enter from date')\r\n }\r\n })\r\n const jobTos = document.querySelectorAll(\"input[name='jobTo']\")\r\n jobTos.forEach((to) => {\r\n if ($(to).val() === \"\") {\r\n let msgId = to.nextElementSibling.id\r\n // console.log('msgId = ' + msgId)\r\n $('#' + msgId).removeAttr('style')\r\n $('#' + msgId).text('Please enter to date')\r\n }\r\n })\r\n\r\n let firstInvalidJobDate\r\n let targetDate = 0\r\n if (document.querySelectorAll('.invalidJobDate').length > 0) {\r\n firstInvalidJobDate = $('#applicationForm').find(\".invalidJobDate\").first();\r\n targetDate = firstInvalidJobDate.offset().top - 130;\r\n // console.log(\"target date = \" + targetDate);\r\n }\r\n let firstCheckDone = false\r\n 'use strict'\r\n // Fetch all the forms we want to apply custom Bootstrap validation styles to\r\n let forms = document.querySelectorAll('.needs-validation')\r\n forms[0][18].pattern = \"^\\\\(?\\\\d{3}\\\\)?[- ]?\\\\d{3}[-]?\\\\d{4}$\"\r\n forms[0][17].pattern = \"^\\\\(?\\\\d{3}\\\\)?[- ]?\\\\d{3}[-]?\\\\d{4}$\"\r\n // Loop over them and prevent submission\r\n Array.prototype.slice.call(forms)\r\n .forEach(function (form) {\r\n if (!form.checkValidity()) {\r\n event.preventDefault()\r\n event.stopPropagation()\r\n let firstInvalid = $(form).find(\".to-focus:invalid\").first();\r\n const target = firstInvalid.offset().top - 130;\r\n //alert(\"target = \" + target);\r\n window.scrollTo({\r\n top: target,\r\n behavior: 'instant'\r\n });\r\n firstInvalid.focus();\r\n } else {\r\n valid = true;\r\n }\r\n form.classList.add('was-validated')\r\n })\r\n let tempCellPhone\r\n let tempPhone\r\n if ($('#cellNumber').val() === '' && $('#phoneNumber').val() === '') {\r\n valid = false\r\n } else {\r\n tempPhone = document.getElementById('phoneNumber').value.trim().replace(\"+\", \"\").replace(\"(\", \"\").replace(\")\", \"\").replace(\"-\", \"\").split('')\r\n tempPhone = tempPhone.filter(function (ele) {\r\n return ele !== ' ';\r\n })\r\n tempPhone = tempPhone.join(\",\").replaceAll(\",\", \"\")\r\n tempCellPhone = document.getElementById('cellNumber').value.trim().replace(\"+\", \"\").replace(\"(\", \"\").replace(\")\", \"\").replace(\"-\", \"\").split('')\r\n\r\n tempCellPhone = tempCellPhone.filter(function (ele) {\r\n return ele !== ' ';\r\n })\r\n tempCellPhone = tempCellPhone.join(\",\").replaceAll(\",\", \"\")\r\n\r\n }\r\n const invalidJobDates = document.querySelectorAll('.invalidJobDate')\r\n invalidJobDates.forEach((jobDate) => {\r\n $(jobDate).css('border-color', '#dc3545')\r\n $(jobDate).css('background-image', \"url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5' /%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z' /%3e%3ccircle cx='6' cy='8.2' r='.6' stroke='none' fill='%23dc3545' /%3e%3c/svg%3e\\\")\")\r\n valid = false\r\n });\r\n if (!valid && firstCheckDone) {\r\n firstInvalidJobDate = $('#applicationForm').find(\".invalidJobDate\").first();\r\n targetDate = firstInvalidJobDate.offset().top - 130;\r\n window.scrollTo({\r\n top: targetDate,\r\n behavior: 'instant'\r\n });\r\n firstInvalidJobDate.focus();\r\n }\r\n\r\n console.log('valid2: ' + valid)\r\n if (valid) {\r\n $('#submitApplication').prop('disabled', true)\r\n var tempWH = []\r\n var tempEH = []\r\n var whDetails = null\r\n var ehDetails = null\r\n if (!resumeuploaded) {\r\n if (!$('#noPreviousEmployer').is(\":checked\")) {\r\n $('.workHistoryItem').each(function (index) {\r\n var $whItem = $(this)\r\n if ($whItem.children('#whErecruitId').val().length === 0) {\r\n const endDate = $whItem.find('#jobTo-' + index).val().trim() === '' ?\r\n (new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1).toString() + '/'\r\n : new Date().getMonth() + 1 + '/').toString()\r\n + new Date().getFullYear() : $whItem.find('#jobTo-' + index).val().trim()\r\n whDetails = {\r\n companyName: $whItem.find('#companyName-' + index).val().trim(),\r\n city: $whItem.find('#jobCity-' + index).val().trim(),\r\n StateProvince: $whItem.find('#jobStatesProvince-' + index).val().trim(),\r\n postalCode: $whItem.find('#jobPostal-' + index).val().trim(),\r\n phoneNumber: $whItem.find('#jobPhoneNumber-' + index).val().trim(),\r\n jobTitle: $whItem.find('#jobTitle-' + index).val().trim(),\r\n startDate: $whItem.find('#jobFrom-' + index).val().trim(),\r\n endDate: endDate,\r\n supervisorName: $whItem.find('#supervisorName-' + index).val().trim(),\r\n currentEmployerFlag: $whItem.find('#currentEmployer-' + index)[0].checked,\r\n tempAgency: $whItem.find('#tempAgency-' + index)[0].checked,\r\n jobDescription: $whItem.find('#jobDescription-' + index).val().trim(),\r\n reasonId: $whItem.find('#reasonsForLeaving-' + index).val().trim(),\r\n ReasonForLeavingComments: $whItem.find('#ReasonForLeavingComments-' + index).val().trim(),\r\n contactFlag: $whItem.find('#canContact-' + index)[0].checked\r\n }\r\n console.log(whDetails)\r\n tempWH.push(whDetails)\r\n console.log(tempWH)\r\n }\r\n })\r\n }\r\n if (!$('#educationHistory')[0].hidden) {\r\n console.log(educationHistory)\r\n $('.edHistoryItem').each(function (i) {\r\n var $edItem = $(this)\r\n if ($edItem.children('#edErecruitId').val().length === 0) {\r\n ehDetails = {\r\n educationLevelId: $edItem.find('#educationLevel').val().trim(),\r\n schoolName: $edItem.find('#schoolName').val().trim(),\r\n courseOfStudy: $edItem.find('#courseOfStudy').val().trim(),\r\n graduated: $edItem.find('#isGraduated').val().trim()\r\n }\r\n tempEH.push(ehDetails)\r\n console.log(tempWH)\r\n }\r\n })\r\n }\r\n }\r\n\r\n\r\n candidate = {\r\n applicationSource: \"CAP\",\r\n jobErecruitId: Number(sessionStorage.getItem('jobId')),\r\n peopleSoftId: candidateId,\r\n firstName: document.getElementById('firstName').value === '' ? null : document.getElementById('firstName').value.trim(),\r\n middleName: document.getElementById('middleName').value === '' ? null : document.getElementById('middleName').value.trim(),\r\n noMiddleName: document.getElementById('noMiddleName').value === 'on',\r\n lastName: document.getElementById('lastName').value === '' ? null : document.getElementById('lastName').value.trim(),\r\n emailAddress: document.getElementById('emailAddress').value === '' ? null : document.getElementById('emailAddress').value.trim(),\r\n address1: document.getElementById('address1').value === '' ? null : document.getElementById('address1').value.trim(),\r\n address2: document.getElementById('address2').value === '' ? null : document.getElementById('address2').value.trim(),\r\n city: document.getElementById('city').value === '' ? null : document.getElementById('city').value.trim(),\r\n stateProvince: document.getElementById('statesProvince').value = '' ? null : document.getElementById('statesProvince').value.trim(),\r\n postalCode: document.getElementById('ZipPostal').value === '' ? null : document.getElementById('ZipPostal').value.trim(),\r\n linkedInUrl: document.getElementById('linkedInUrl').value === '' ? null : document.getElementById('linkedInUrl').value.trim(),\r\n cellPhone: tempCellPhone,\r\n homePhone: tempPhone,\r\n adSourceId: document.getElementById('adSource').value === '' ? null : document.getElementById('adSource').value.trim(),\r\n eligibilityFlag: true,\r\n ageFlag: true,\r\n agreementAcknowledgement: true,\r\n resumeFileStoreId: capFileStoreId,\r\n nonCompete: document.getElementById('isCompete').checked,\r\n gender: document.getElementById('gender').value === '' ? null : document.getElementById('gender').value.trim(),\r\n genderIdentity: document.getElementById('genderIdentity').value === '' ? null : document.getElementById('genderIdentity').value.trim(),\r\n ethnicityId: document.getElementById('ethnicity').value === '' ? null : document.getElementById('ethnicity').value.trim(),\r\n veteranStatusId: document.getElementById('veteranStatus').value === '' ? null : document.getElementById('veteranStatus').value.trim(),\r\n disabilityId: document.getElementById('disability').value === '' ? null : document.getElementById('disability').value.trim(),\r\n referredBy: document.getElementById('referral').value === '' ? null : document.getElementById('referral').value.trim(),\r\n workHistory: tempWH,\r\n educationHistory: tempEH,\r\n previousAffiliate: document.getElementById('affiliatedSource').value === '' ? null : document.getElementById('affiliatedSource').value.trim(),\r\n previouslyEmployedFlag: document.getElementById('yesPreviouslyEmployed').checked,\r\n }\r\n console.log('candidate: ' + candidate)\r\n $.ajax({\r\n url: sessionStorage.getItem('apiHost') + \"internalCandidate/Submit\",\r\n dataType: 'json',\r\n type: 'post',\r\n contentType: 'application/json',\r\n data: JSON.stringify(candidate),\r\n processData: false,\r\n success: function (data) {\r\n const t = data\r\n if (window.location.origin.includes('localhost')) {\r\n window.location.href = window.location.origin + '/' + sessionStorage.getItem('brandId') + '/thank-you.html';\r\n } else {\r\n window.location.href = window.location.origin + '/jobs/' + sessionStorage.getItem('brandId') + '/thank-you';\r\n }\r\n },\r\n beforeSend: function (xhr) {\r\n xhr.setRequestHeader('Authorization', 'Bearer XwgtlQw0sZ2NJsJHJS8pOM7quIiE1vhzXTu1XbQ1fvwXdEnnpSUsOOdBqS8AKJxLya6QUs8RIwN7FPsvArhGVrfTPTCWT8WWZthkxgUvSTsY3zHoBDIAWMdn2IMZl8l9');\r\n },\r\n error: function (textStatus, errorThrown) {\r\n console.log(errorThrown)\r\n }\r\n })\r\n }\r\n})\r\n\r\nfunction returnToSearch() {\r\n window.location.href = window.location.origin + '/jobs/' + sessionStorage.getItem('brandId')\r\n}\r\n\r\nfunction duplicateWorkHistory() {\r\n const formElement = document.querySelector(\"#applicationForm\")\r\n formElement.classList.remove(\"was-validated\");\r\n $('#cellOrPhoneMsg1').css(\"display\", \"none\")\r\n $('#cellOrPhoneMsg2').css(\"display\", \"none\")\r\n //Boostrap from validation - reset form validation **end\r\n\r\n const original = document.getElementById('previousEmployer-0');\r\n const clone = original.cloneNode(true); // \"deep\" clone\r\n clone.id = \"previousEmployer-\" + ++workCounter; // there can only be one element with an ID\r\n clone.children[1].children[1].children[0].id = \"removePreviousEmployer-\" + workCounter;\r\n console.log('clone: ')\r\n console.log(clone.children)\r\n clone.elements[\"companyName-0\"].id = \"companyName-\" + workCounter\r\n clone.elements[\"companyName-\" + workCounter].value = ''\r\n clone.elements[\"jobCity-0\"].id = \"jobCity-\" + workCounter\r\n clone.elements[\"jobCity-\" + workCounter].value = ''\r\n clone.elements[\"jobStatesProvince-0\"].id = \"jobStatesProvince-\" + workCounter\r\n clone.elements[\"jobStatesProvince-\" + workCounter].value = ''\r\n clone.elements[\"jobPostal-0\"].id = \"jobPostal-\" + workCounter\r\n clone.elements[\"jobPostal-\" + workCounter].value = ''\r\n clone.elements[\"jobPhoneNumber-0\"].id = \"jobPhoneNumber-\" + workCounter\r\n clone.elements[\"jobPhoneNumber-\" + workCounter].value = ''\r\n clone.elements[\"jobPhoneNumber-\" + workCounter].addEventListener('keyup', (event) => {\r\n jobPhoneKeyup(event)\r\n })\r\n clone.elements[\"jobPhoneNumber-\" + workCounter].addEventListener('change', (event) => {\r\n validateJobPhone(event)\r\n })\r\n clone.elements[\"jobPhoneNumber-\" + workCounter].nextElementSibling.nextElementSibling.id = 'validateJobPhoneNumber-' + workCounter\r\n clone.elements[\"jobPhoneNumber-\" + workCounter].nextElementSibling.id = 'phoneMsgDisplay-' + workCounter\r\n clone.elements[\"jobTitle-0\"].id = \"jobTitle-\" + workCounter\r\n clone.elements[\"jobTitle-\" + workCounter].value = ''\r\n clone.elements[\"jobFrom-0\"].id = \"jobFrom-\" + workCounter\r\n clone.elements[\"jobFrom-\" + workCounter].value = ''\r\n clone.elements[\"jobFrom-\" + workCounter].addEventListener('keyup', event => {\r\n formatDate(event)\r\n })\r\n clone.elements[\"jobFrom-\" + workCounter].addEventListener('change', event => {\r\n validateFromDate(event)\r\n })\r\n clone.elements[\"jobFrom-\" + workCounter].nextElementSibling.id = 'jobFromMsg-' + workCounter\r\n clone.elements[\"jobTo-0\"].id = \"jobTo-\" + workCounter\r\n clone.elements[\"jobTo-\" + workCounter].value = ''\r\n clone.elements[\"jobTo-\" + workCounter].addEventListener('keyup', event => {\r\n formatDate(event)\r\n })\r\n clone.elements[\"jobTo-\" + workCounter].addEventListener('change', event => {\r\n validateToDate(event)\r\n })\r\n clone.elements[\"jobTo-\" + workCounter].nextElementSibling.id = 'jobToMsg-' + workCounter\r\n clone.elements[\"supervisorName-0\"].id = \"supervisorName-\" + workCounter\r\n clone.elements[\"supervisorName-\" + workCounter].value = ''\r\n clone.elements[\"currentEmployer-0\"].id = \"currentEmployer-\" + workCounter\r\n clone.elements[\"currentEmployer-\" + workCounter].checked = false\r\n clone.elements[\"currentEmployer-\" + workCounter].addEventListener('click', event => {\r\n setCurrentEmployer(event)\r\n })\r\n clone.elements[\"currentEmployer-\" + workCounter].addEventListener('focus', () => {\r\n clone.elements[\"currentEmployer-\" + workCounter].setAttribute('style', 'transform: scale(1.3)')\r\n })\r\n clone.elements[\"currentEmployer-\" + workCounter].addEventListener('blur', () => {\r\n clone.elements[\"currentEmployer-\" + workCounter].removeAttribute('style', 'transform: scale(1.3)')\r\n })\r\n clone.elements[\"currentEmployer-\" + workCounter].addEventListener('keyup', (event) => {\r\n event.preventDefault()\r\n if (event.code === 'Enter') {\r\n clone.elements[\"currentEmployer-\" + workCounter].checked =\r\n clone.elements[\"currentEmployer-\" + workCounter].checked ? false : true\r\n setCurrentEmployer(event)\r\n }\r\n })\r\n\r\n clone.elements[\"tempAgency-0\"].id = \"tempAgency-\" + workCounter\r\n clone.elements[\"tempAgency-\" + workCounter].checked = false\r\n clone.elements[\"tempAgency-\" + workCounter].addEventListener('focus', () => {\r\n clone.elements[\"tempAgency-\" + workCounter].setAttribute('style', 'transform: scale(1.3)')\r\n })\r\n clone.elements[\"tempAgency-\" + workCounter].addEventListener('blur', () => {\r\n clone.elements[\"tempAgency-\" + workCounter].removeAttribute('style', 'transform: scale(1.3)')\r\n })\r\n clone.elements[\"tempAgency-\" + workCounter].addEventListener('keyup', (event) => {\r\n event.preventDefault()\r\n if (event.code === 'Enter') {\r\n clone.elements[\"tempAgency-\" + workCounter].checked =\r\n clone.elements[\"tempAgency-\" + workCounter].checked ? false : true\r\n }\r\n })\r\n\r\n clone.elements[\"jobDescription-0\"].id = \"jobDescription-\" + workCounter\r\n clone.elements[\"jobDescription-\" + workCounter].value = ''\r\n clone.elements[\"reasonsForLeaving-0\"].id = \"reasonsForLeaving-\" + workCounter\r\n clone.elements[\"reasonsForLeaving-\" + workCounter].value = ''\r\n clone.elements[\"ReasonForLeavingComments-0\"].id = \"ReasonForLeavingComments-\" + workCounter\r\n clone.elements[\"ReasonForLeavingComments-\" + workCounter].value = '0'\r\n clone.elements[\"canContact-0\"].id = \"canContact-\" + workCounter\r\n clone.elements[\"canContact-\" + workCounter].name = \"contactEmployer-radio-group2-\" + workCounter\r\n clone.elements[\"canContact-\" + workCounter].checked = false\r\n clone.elements[\"canContact-\" + workCounter].addEventListener('keyup', event => {\r\n if (event.key === 'Enter') $('#canContact-' + workCounter).click()\r\n })\r\n clone.elements[\"canContact-\" + workCounter].nextElementSibling.id = 'contactEmployerLbl-' + workCounter\r\n clone.elements[\"canContact-\" + workCounter].nextElementSibling.htmlFor = \"canContact-\" + workCounter\r\n clone.elements[\"canNotContact-0\"].id = \"canNotContact-\" + workCounter\r\n clone.elements[\"canNotContact-\" + workCounter].name = \"contactEmployer-radio-group2-\" + workCounter\r\n clone.elements[\"canNotContact-\" + workCounter].checked = false\r\n clone.elements[\"canNotContact-\" + workCounter].nextElementSibling.id = 'doNotContactEmployerLbl-' + workCounter\r\n clone.elements[\"canNotContact-\" + workCounter].nextElementSibling.htmlFor = \"canNotContact-\" + workCounter\r\n\r\n for (let i = 0; i < clone.elements.length; i++) {\r\n clone.elements[i].disabled = false\r\n }\r\n clone.children[1].children[1].style.display = \"block\"\r\n\r\n wrkHistory.push(clone.elements)\r\n document.getElementById('workHistoryBody').append(clone);\r\n let jobPhoneNumber = document.querySelector('#jobPhoneNumber-' + workCounter)\r\n jobPhoneNumber.setAttribute('pattern', '^\\\\(?\\\\d{3}\\\\)?[- ]?\\\\d{3}[-]?\\\\d{4}$')\r\n jobPhoneNumber.setAttribute('required', '')\r\n const whPhones = document.querySelectorAll(\"input[name='jobPhoneNumber']\")\r\n whPhones.forEach((phone) => {\r\n if (phone.value === '') {\r\n let id = phone.id\r\n let idx = id.substring(id.indexOf(\"-\") + 1)\r\n $('#validateJobPhoneNumber-' + idx).css('display', 'none');\r\n $('#phoneMsgDisplay-' + idx).css(\"display\", \"none\")\r\n }\r\n });\r\n $('#jobFromMsg-' + workCounter).css('display', 'none');\r\n $('#jobToMsg-' + workCounter).css('display', 'none');\r\n $(\"#jobFrom-\" + workCounter).removeClass(\"invalidJobDate\")\r\n $(\"#jobTo-\" + workCounter).removeClass(\"invalidJobDate\")\r\n\r\n const jobFroms = document.querySelectorAll(\"input[name='jobFrom']\")\r\n jobFroms.forEach((from) => {\r\n $(from).css('background-image', '')\r\n })\r\n const jobTos = document.querySelectorAll(\"input[name='jobTo']\")\r\n jobTos.forEach((to) => {\r\n $(to).css('background-image', '')\r\n })\r\n}\r\n\r\nfunction duplicateEducationHistory(isNew, eduHistory) {\r\n //Boostrap from validation - duplicateEducationHistory reset form validation **begin\r\n const formElement = document.querySelector(\"#applicationForm\")\r\n formElement.classList.remove(\"was-validated\");\r\n //Boostrap from validation - reset form validation **end\r\n\r\n const original = document.getElementById('previousEducation-0');\r\n const clone = original.cloneNode(true); // \"deep\" clone\r\n clone.id = \"previousEducation-\" + ++educationCounter; // there can only be one element with an ID\r\n clone.children[1].children[1].children[0].id = \"removePreviousEducation-\" + educationCounter;\r\n console.log('clone: ')\r\n console.log(clone.children)\r\n clone.elements['educationLevel'].value = ''\r\n clone.elements[\"schoolName\"].value = ''\r\n clone.elements['courseOfStudy'].value = ''\r\n clone.elements['isGraduated'].value = ''\r\n for (var i = 0; i < clone.elements.length; i++) {\r\n clone.elements[i].disabled = false\r\n }\r\n clone.children[1].children[1].style.display = \"block\"\r\n console.log(' edErecruitId: ' + clone.elements[\"edErecruitId\"].value)\r\n educationHistory.push(clone.elements);\r\n document.getElementById('educationHistoryBody').append(clone);\r\n}\r\n\r\nfunction deleteWorkClone(event) {\r\n var index = event.currentTarget.id.split('-')[1]\r\n var wrkItem = document.getElementById('previousEmployer-' + index)\r\n wrkItem.remove();\r\n wrkHistory.splice(index, 1)\r\n}\r\n\r\nfunction deleteSchoolClone(event) {\r\n var index = event.currentTarget.id.split('-')[1]\r\n var edItem = document.getElementById('previousEducation-' + index)\r\n edItem.remove();\r\n educationHistory.splice(index, 1)\r\n}\r\n\r\nfunction formatDate(event) {\r\n var curchr = event.currentTarget.value.length;\r\n var curval = event.currentTarget.value;\r\n if (curchr === 2 && event.key !== 'Backspace') {\r\n if (curval.at(1) === '/') {\r\n curval = 0 + curval.at(0)\r\n event.currentTarget.value = curval + \"/\";\r\n } else {\r\n event.currentTarget.value = curval + \"/\";\r\n }\r\n }\r\n}\r\n\r\nfunction validate(event) {\r\n if (event.currentTarget.value !== '') {\r\n } else {\r\n if (event.type !== 'keyup') {\r\n event.currentTarget.setAttribute('style', 'background: pink')\r\n }\r\n }\r\n}\r\n\r\n$('#jobFrom-0').change(function (event) {\r\n validateFromDate(event)\r\n});\r\n\r\n$('#jobTo-0').change(function (event) {\r\n validateToDate(event)\r\n});\r\n\r\nfunction validateFromDate(event) {\r\n let fromDate = event.currentTarget.value\r\n let fromDateId = event.currentTarget.id\r\n let $fromDate = $('#' + fromDateId)\r\n let $jobFromMsg, $jobToMsg, $toDate, toDate\r\n let idx = fromDateId.indexOf(\"-\")\r\n if (idx > 0) {\r\n idx = fromDateId.substring(idx + 1)\r\n $jobFromMsg = $('#jobFromMsg-' + idx)\r\n $jobToMsg = $('#jobToMsg-' + idx)\r\n $toDate = $('#jobTo-' + idx)\r\n }\r\n // else{\r\n // $jobFromMsg = $('#jobFromMsg')\r\n // $jobToMsg = $('#jobToMsg')\r\n // $toDate = $('#jobTo')\r\n // }\r\n toDate = $toDate.val()\r\n if (fromDate !== '') {\r\n if (validateJobDate(fromDate)) {\r\n if (toDate !== '') {\r\n if (compareJobDates(fromDate, toDate)) {\r\n $jobFromMsg.css('display', 'none');\r\n $jobToMsg.css('display', 'none');\r\n $fromDate.removeClass('invalidJobDate')\r\n $toDate.removeClass('invalidJobDate')\r\n if ($(\"#applicationForm\").hasClass(\"was-validated\")) {\r\n $fromDate.css('border-color', 'rgb(13, 110, 253)');\r\n $fromDate.css('background-image', \"url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\\\")\")\r\n $toDate.css('border-color', 'rgb(13, 110, 253)');\r\n $toDate.css('background-image', \"url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\\\")\")\r\n }\r\n } else {\r\n $jobFromMsg.text('From date is greater than to date')\r\n $jobFromMsg.css(\"display\", \"block\")\r\n $fromDate.addClass('invalidJobDate')\r\n if ($(\"#applicationForm\").hasClass(\"was-validated\")) {\r\n $fromDate.css('border-color', '#dc3545')\r\n $fromDate.css('background-image', \"url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5' /%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z' /%3e%3ccircle cx='6' cy='8.2' r='.6' stroke='none' fill='%23dc3545' /%3e%3c/svg%3e\\\")\")\r\n }\r\n }\r\n }\r\n if (!$fromDate.hasClass(\"invalidJobDate\"))\r\n $jobFromMsg.css('display', 'none');\r\n } else {\r\n $jobFromMsg.text('Invalid from date')\r\n $jobFromMsg.css(\"display\", \"block\")\r\n }\r\n } else {\r\n $jobFromMsg.text('Please enter from date')\r\n $jobFromMsg.css(\"display\", \"block\")\r\n }\r\n}\r\n\r\nfunction validateToDate(event) {\r\n let toDate = event.currentTarget.value\r\n let toDateId = event.currentTarget.id\r\n let $toDate = $('#' + toDateId)\r\n let $jobFromMsg, $jobToMsg, $fromDate, fromDate\r\n let idx = toDateId.indexOf(\"-\")\r\n if (idx > 0) {\r\n idx = toDateId.substring(idx + 1)\r\n $jobFromMsg = $('#jobFromMsg-' + idx)\r\n $jobToMsg = $('#jobToMsg-' + idx)\r\n $fromDate = $('#jobFrom-' + idx)\r\n }\r\n // else{\r\n // $jobFromMsg = $('#jobFromMsg')\r\n // $jobToMsg = $('#jobToMsg')\r\n // $fromDate = $('#jobFrom')\r\n // }\r\n fromDate = $fromDate.val()\r\n if (toDate !== '') {\r\n if (validateJobDate(toDate)) {\r\n if (fromDate !== '') {\r\n if (compareJobDates(fromDate, toDate)) {\r\n $jobToMsg.css('display', 'none');\r\n $toDate.removeClass('invalidJobDate')\r\n if (validateJobDate(fromDate)) {\r\n $jobFromMsg.css('display', 'none');\r\n $fromDate.removeClass('invalidJobDate')\r\n }\r\n if ($(\"#applicationForm\").hasClass(\"was-validated\")) {\r\n $toDate.css('border-color', 'rgb(13, 110, 253)');\r\n $toDate.css('background-image', \"url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\\\")\")\r\n $fromDate.css('border-color', 'rgb(13, 110, 253)');\r\n $fromDate.css('background-image', \"url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\\\")\")\r\n }\r\n } else {\r\n $jobToMsg.text('To date is less than from date')\r\n $jobToMsg.css(\"display\", \"block\")\r\n $toDate.addClass('invalidJobDate')\r\n if (document.querySelector(\"#applicationForm\").classList.contains(\"was-validated\")) {\r\n $toDate.css('border-color', '#dc3545')\r\n $toDate.css('background-image', \"url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5' /%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z' /%3e%3ccircle cx='6' cy='8.2' r='.6' stroke='none' fill='%23dc3545' /%3e%3c/svg%3e\\\")\")\r\n }\r\n }\r\n }\r\n if (!$toDate.hasClass(\"invalidJobDate\"))\r\n $jobToMsg.css('display', 'none');\r\n } else {\r\n $jobToMsg.text('Invalid to date')\r\n $jobToMsg.css(\"display\", \"block\")\r\n }\r\n } else {\r\n $jobToMsg.text('Please enter to date')\r\n $jobToMsg.css(\"display\", \"block\")\r\n }\r\n}\r\n\r\nfunction validateJobDate(jobDate) {\r\n let pattern = $('#jobFrom-0').attr(\"pattern\")\r\n let regex = new RegExp(pattern)\r\n if (!regex.test(jobDate))\r\n return false\r\n let jobMonthYear = jobDate.split(\"/\")\r\n let jobMonth = Number(jobMonthYear[0])\r\n let jobYear = Number(jobMonthYear[1])\r\n let currDate = new Date();\r\n let currMonth = currDate.getMonth() + 1\r\n let currYear = currDate.getFullYear()\r\n if ((jobYear === currYear && (jobMonth > currMonth)) || (jobYear > currYear))\r\n return false\r\n else\r\n return true\r\n}\r\n\r\nfunction compareJobDates(fromDate, toDate) {\r\n let fromMonthYear = fromDate.split(\"/\")\r\n let fromMonth = Number(fromMonthYear[0])\r\n let fromYear = Number(fromMonthYear[1])\r\n let toMonthYear = toDate.split(\"/\")\r\n let toMonth = Number(toMonthYear[0])\r\n let toYear = Number(toMonthYear[1])\r\n if ((fromYear === toYear && (fromMonth > toMonth)) || (fromYear > toYear))\r\n return false\r\n else\r\n return true\r\n}\r\n\r\nfunction checkEligibilityInput(event) {\r\n\r\n const ageVerification = $(\"input[name='ageVerification-radio-group']:checked\").val();\r\n const eligibility = $(\"input[name='usAuthorizationVerification-radio-group2']:checked\").val();\r\n\r\n //Boostrap from validation - checkEligibilityInput custom message display **begin\r\n if ($(\"#under18\").is(':checked'))\r\n $(\"#check-age\").css(\"display\", \"block\")\r\n else\r\n $(\"#check-age\").css(\"display\", \"none\")\r\n\r\n if ($(\"#noUsAuthorized\").is(':checked'))\r\n $(\"#check-auth\").css(\"display\", \"block\")\r\n else\r\n $(\"#check-auth\").css(\"display\", \"none\")\r\n //Boostrap from validation - checkEligibilityInput custom message display **end\r\n\r\n if (ageVerification === \"true\" && eligibility === \"true\") {\r\n $(\"#part1Continue\").prop('disabled', false);\r\n console.log(\"Enabled\");\r\n } else {\r\n console.log(\"Disabled\");\r\n $(\"#part1Continue\").prop('disabled', true);\r\n }\r\n}\r\n\r\ndocument.addEventListener(\"keypress\", function (event) {\r\n // If the user presses the \"Enter\" key on the keyboard\r\n if (event.key === \"Enter\") {\r\n // Cancel the default action, if needed\r\n event.preventDefault();\r\n\r\n }\r\n});\r\n"],"file":"internal-apply.js"}