{
section.questions.forEach(question => {
const answer = calculatorData.answers[question.id];
if (answer) {
const cleanQuestionText = question.text.replace(/\n/g, ' ').trim();
let fieldName = null;
for (const [mappedQuestion, mappedField] of Object.entries(questionMapping)) {
if (cleanQuestionText.startsWith(mappedQuestion)) {
fieldName = mappedField;
break;
}
}
const key = fieldName || cleanQuestionText;
questionsObject[key] = answer.toLowerCase();
}
});
});
const dataToSend = {
firstName: $refs.first.value,
lastName : $refs.last.value,
email: $refs.email.value,
phone: $refs.phone.value,
square: calculatorData.squareFeet,
zipCode: calculatorData.zipCode,
howFound: calculatorData.howFound || '',
additionalComments: calculatorData.additionalComments || '',
...questionsObject,
utm_source: sessionStorage.getItem('utm_source') || null,
utm_campaign: sessionStorage.getItem('utm_campaign') || null,
CSS : sessionStorage.getItem(`referrer`) || 'direct',
CSP: sessionStorage.getItem('conversion_session_page') || '',
FSS: localStorage.getItem('first_session_source') || '',
FSP: localStorage.getItem('first_session_page') || '',
FSD: localStorage.getItem('first_session_date') || '',
CS_medium: sessionStorage.getItem('CS_medium') || null,
CS_campaign: sessionStorage.getItem('CS_campaign') || null,
CS_content: sessionStorage.getItem('CS_content') || null,
CS_term: sessionStorage.getItem('CS_term') || null,
FS_medium: localStorage.getItem('FS_medium') || null,
FS_campaign: localStorage.getItem('FS_campaign') || null,
FS_content: localStorage.getItem('FS_content') || null,
FS_term: localStorage.getItem('FS_term') || null
};
fetch('/api/forms/quote',{
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify(dataToSend)
}).then(response => response.json())
.then(data => {
if (data.status === 1) {
formStarted = false;
sessionStorage.removeItem('calculatorData');
const cookieExpires = new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toUTCString();
document.cookie = `form_email=${$refs.email.value.trim()}; expires=${cookieExpires}; path=/`;
if ($refs.phone.value) {
document.cookie = `form_phone=${$refs.phone.value.trim()}; expires=${cookieExpires}; path=/`;
}
const conversionSessionPage = sessionStorage.getItem('conversion_session_page');
if (conversionSessionPage) {
document.cookie = `conversion_session_page=${conversionSessionPage}; expires=${cookieExpires}; path=/`;
}
window.location.href = '/thank-you?trigger=calculator';
} else {
show = 'yes';
const errorMsg = typeof data.error === 'object' ? JSON.stringify(data.error) : data.error;
console.error('Error submitting form:', data.error);
alert('Error submitting form: ' + (errorMsg || 'Unknown error'));
}
}).catch(error => {
show = 'yes';
console.error('Error:', error);
const errorMsg = error.message || 'Please try again';
alert('Error submitting form. ' + errorMsg);
});
">
EMAIL ME MY QUOTE