1var module_213294843098=function(){const _qtGetCookie="function"==typeof getCookie?getCookie:name=>{const entry=document.cookie.split("; ").find(r=>r.startsWith(name+"="));return entry?decodeURIComponent(entry.slice(name.length+1)):""},quoteToolV3=document.getElementsByClassName("quote_tool")[0];if(quoteToolV3){const _urlParams=new URLSearchParams(window.location.search);quoteToolV3.setAttribute("data-url",window.location.href),quoteToolV3.setAttribute("data-id",_urlParams.get("id")||_qtGetCookie("sa_id")||"");const quoteToolForm=quoteToolV3.querySelector(".hs-form-html");let quoteToolFormId=null;quoteToolForm&&(quoteToolFormId=quoteToolForm.getAttribute("data-form-id"));const trackingShortName=quoteToolV3.dataset.trackingShortname?quoteToolV3.dataset.trackingShortname:"generic";let currentAnswerIndex=1;const $pages=$(quoteToolV3).children(".quote_tool__page"),totalQuestions=$pages.length,$stepIndex=$(".js-stepIndex"),$stepTotal=$(".js-stepTotal"),$stepProgress=$(".js-progress"),$goBack=$(".go-back-js"),$brandFormHidden=$(".quote_tool__brand--form-hidden"),$noTitleFormStep=$(".no-title-form-step"),$stepsAndTool=$(".quote_tool__steps, .quote_tool");$stepIndex.text(currentAnswerIndex),$stepTotal.text(totalQuestions);let progressPercentage=currentAnswerIndex/totalQuestions*100,quoteToolV3Answers=[];function handleQuoteToolFormBeforeSubmission(){const quoteToolForm=quoteToolV3.querySelector(".js-quotetoolformcontainer form");let allForms=null;"undefined"!=typeof HubSpotFormsV4&&"function"==typeof HubSpotFormsV4.getForms&&(allForms=HubSpotFormsV4.getForms());let matchedForm=null;if(Array.isArray(allForms))for(const form of allForms){if(form.getFormId()===quoteToolFormId){matchedForm=form;break}}if(quoteToolForm&&matchedForm){const rawZip=_qtGetCookie("sa_form_zipcode")||quoteToolV3.getAttribute("data-zipcode"),zipCodeValue="object"==typeof rawZip?"":String(rawZip);let urlInput=quoteToolV3.querySelector('.js-quotetoolformcontainer .form input[name="0-1/fldnotes2"]:not(.freetext-submit)');if(urlInput){const urlValue="- Website URL: "+quoteToolV3.getAttribute("data-url");console.log("URL Input found: ",urlInput),console.log("URL Value: ",urlValue),matchedForm.setFieldValue("0-1/fldnotes2",urlValue)}let zipCodeDataInput=quoteToolV3.querySelector('.js-quotetoolformcontainer .form input[name="0-1/zip"]:not(.freetext-submit)');zipCodeDataInput&&(console.log("Zip Code Data Input found: ",zipCodeDataInput),console.log("Zip Code Value: ",zipCodeValue),matchedForm.setFieldValue("0-1/zip",zipCodeValue));let zipCodeDataInputFI=quoteToolV3.querySelector('.js-quotetoolformcontainer .form input[name="0-1/postal_code_fi"]:not(.freetext-submit)');zipCodeDataInputFI&&(console.log("Zip Code Data Input found: ",zipCodeDataInputFI),console.log("Zip Code Value: ",zipCodeValue),matchedForm.setFieldValue("0-1/postal_code_fi",zipCodeValue));let answersDataInput=quoteToolV3.querySelector('.js-quotetoolformcontainer .form input[name="0-1/fldnotes"]:not(.freetext-submit)');if(answersDataInput)if(_qtGetCookie("pc_data")){const decodedData=atob(_qtGetCookie("pc_data")),parsedData=JSON.parse(decodedData),answersValue=processQuotationAnswers(quoteToolV3Answers,parsedData.PostalCode,parsedData.Value,parsedData.Coverage,answersDataInput);matchedForm.setFieldValue("0-1/fldnotes",answersValue),quoteToolV3.dataset.answers=answersValue}else{const answersValue=processQuotationAnswers(quoteToolV3Answers,zipCodeValue,null,null,answersDataInput);matchedForm.setFieldValue("0-1/fldnotes",answersValue),quoteToolV3.dataset.answers=answersValue}}}const appendAnswerValue=(q,a,v)=>{const parsedAnswerValue=parseInt(v),quotetoolV3Answer={q:q,a:a,v:isNaN(parsedAnswerValue)?0:parsedAnswerValue};quoteToolV3Answers=[...quoteToolV3Answers,quotetoolV3Answer]},removeLastAnswerValue=()=>{quoteToolV3Answers.length>0&&(quoteToolV3Answers=quoteToolV3Answers.slice(0,-1))},sumQuoteToolValue=(quoteToolV3Answers=[])=>quoteToolV3Answers.reduce((sum,answer)=>sum+answer.v,0),processQuotationAnswers=(quoteToolV3Answers,postalCode,postalCodeValue,coverage,answersDataInput)=>{let value=JSON.stringify(quoteToolV3Answers).trim(),answersHumanReadable=["-Answers:"],qtValue=0;if(!(value.startsWith("{")&&value.endsWith("}")||value.startsWith("[")&&value.endsWith("]")))return value;try{return JSON.parse(value).forEach(qtQuestion=>{qtValue+=qtQuestion.v,"postalcode"===qtQuestion.q&&qtQuestion.a===postalCode?answersHumanReadable.push(`${qtQuestion.q}: ${qtQuestion.a} (${postalCodeValue})`):answersHumanReadable.push(`${qtQuestion.q}: ${qtQuestion.a} (${qtQuestion.v})`)}),answersHumanReadable.push(`QTV: ${qtValue}`),postalCode&&answersHumanReadable.push(`PC: ${postalCode}, PCV: ${null!=coverage?postalCodeValue:"NA"}, PCC: ${null!=coverage?1===coverage?"Yes":"No":"NA"}`),answersHumanReadable.join(", ").replace(/^, /,"")}catch(error){return console.error("Error parsing JSON:",error),"Error parsing answers"}},postVirtualPageView=(stepNumber,stepName,prevStepName,prevAnswer,quoteToolTrackingName)=>{let previousPageName=prevStepName;if(null!=previousPageName){previousPageName=`/quotetool/${quoteToolTrackingName}/step${stepNumber-1}/${prevStepName}`}const gtmEvent={event:"virtualpage",previousAnswer:prevAnswer,previousStep:previousPageName,virtualpageCategory:"survey",virtualpageName:`/quotetool/${quoteToolTrackingName}/step${stepNumber}/${stepName}`};setTimeout(()=>dataLayer.push(gtmEvent),0)},postQuoteToolExit=(stepNumber,exitName,stepName,stepAnswer,quoteToolTrackingName)=>{let pageName=stepName;null!=pageName&&(pageName=`/quotetool/${quoteToolTrackingName}/step${stepNumber}/${stepName}`);const gtmEvent={event:"virtualpage",previousAnswer:stepAnswer,previousStep:pageName,virtualpageCategory:"survey",virtualpageName:`/quotetool/${quoteToolTrackingName}/${exitName}`};setTimeout(()=>dataLayer.push(gtmEvent),0)},updateStepsProgress=()=>{progressPercentage=currentAnswerIndex/totalQuestions*100;const isLast=currentAnswerIndex===totalQuestions,showGoBack=currentAnswerIndex>1&¤tAnswerIndex<=totalQuestions;$stepIndex.text(currentAnswerIndex),$stepTotal.text(totalQuestions),$stepProgress.css("width",progressPercentage+"%"),$goBack.toggleClass("u-hidden",!showGoBack),$brandFormHidden.toggle(!isLast),isLast&&$noTitleFormStep.hide(),$stepsAndTool.toggleClass("last-step",isLast)};$(".quote_tool__page .button:not(.freetext-submit)").click(function(e){let question=$(this).data("question"),answer=$(this).data("answer"),answerValue=$(this).data("value")?$(this).data("value"):0;question&&answer&&appendAnswerValue(question,answer,answerValue);const $currentPage=$(this).closest(".quote_tool__page");let prevStepName=$currentPage.data("stepname"),nextPage=$currentPage.next(),nextStepName=nextPage.data("stepname");if($(this).hasClass("button--redir")){e.preventDefault(),postQuoteToolExit(currentAnswerIndex,"exit",prevStepName,answer,trackingShort
1Name);var url=$(this).attr("href");setTimeout(function(){window.location.href=url},1e3)}else nextStepName?postVirtualPageView(currentAnswerIndex+1,nextStepName,prevStepName,answer,trackingShortName):currentAnswerIndex+1===totalQuestions&&(postVirtualPageView(currentAnswerIndex+1,"form",prevStepName,answer,trackingShortName),localStorage.setItem("sa_survey",1),setTimeout(handleQuoteToolFormBeforeSubmission,0)),currentAnswerIndex!==totalQuestions&&($(this).hasClass("button--redir")||(e.preventDefault(),$pages.hide(),nextPage.fadeIn(200),currentAnswerIndex++,updateStepsProgress()))}),$(".quote_tool__page .button.freetext-submit").click(function(e){$(this).closest("div").find("input[data-field-alias]").first().data("field-alias"),$(this).closest("div").find("input").first().val()}),$(".go-back-js").on("click",e=>{e.preventDefault(),currentAnswerIndex>1&¤tAnswerIndex--,$pages.hide(),$noTitleFormStep.show(),$pages.eq(currentAnswerIndex-1).fadeIn(200),updateStepsProgress(),removeLastAnswerValue()});const setQuoteToolValueCookie=(name,value,expiresInSeconds)=>{var date=new Date;date.setTime(date.getTime()+1e3*expiresInSeconds);var expires="expires="+date.toUTCString();document.cookie=name+"="+value+";"+expires+";path=/;Secure;SameSite=Lax"};$pages.first().show();const steponeStepName=$pages.first().data("stepname");steponeStepName&&postVirtualPageView(1,steponeStepName,null,null,trackingShortName);const observer=new MutationObserver(()=>{const quoteToolForm=quoteToolV3.querySelector(".js-quotetoolformcontainer form");quoteToolForm&&(quoteToolForm.addEventListener("submit",event=>{event.preventDefault();const titleEl=quoteToolV3.querySelector(".quote_tool__form--title-center");titleEl&&(titleEl.style.display="none");const introEl=quoteToolV3.querySelector(".quote_tool__form--intro");introEl&&(introEl.style.display="none"),setQuoteToolValueCookie("sa_qta",quoteToolV3.dataset.answers,15),setQuoteToolValueCookie("sa_qtn",btoa(encodeURIComponent(trackingShortName)),15);let quoteToolValue=sumQuoteToolValue(quoteToolV3Answers);setQuoteToolValueCookie("sa_qtv",quoteToolValue,15),setQuoteToolValueCookie("sa_qtw","- Website URL: "+quoteToolV3.getAttribute("data-url"),15),localStorage.removeItem("sa_survey"),quoteToolForm.submit()}),observer.disconnect())});observer.observe(quoteToolV3,{childList:!0,subtree:!0});const checkIfFunctionIsExecuted=function(){let executed=!1;return function(){executed||(executed=!0)}}();$pages.length&&$(function(){checkIfFunctionIsExecuted(),$stepProgress.css("width",progressPercentage+"%")}),function(){if(window.__quoteToolListenersAttached)return;window.__quoteToolListenersAttached=!0;[...document.getElementsByClassName("quote_tool__page--freetext-answer")].forEach(freetextAnswerEl=>{const formEl=freetextAnswerEl.querySelector("form");formEl.addEventListener("submit",async e=>{e.preventDefault(),e.stopImmediatePropagation();const freetextValidationEl=freetextAnswerEl.querySelector(".freetext-remote-validation"),inputValidationErrorOrInProgress=!!freetextAnswerEl.querySelector(".input-validation-error, .remote-val-in-progress");if(freetextValidationEl&&!inputValidationErrorOrInProgress){const{questionKey:questionKey,actionType:actionType,culture:culture,validUrl:validUrl,nonvalidUrl:nonvalidUrl}=freetextValidationEl.dataset,zipcodeInput=freetextAnswerEl.querySelector(`#input${questionKey}`),zipcodeValue=zipcodeInput.value.trim(),validationMessage=zipcodeInput.closest(".hubspot-forms-field").querySelector(".field-validation-valid");validationMessage.textContent="";const requiredMessage=zipcodeInput.getAttribute("data-val-required"),validMessage=zipcodeInput.getAttribute("data-val-regex"),regexPattern=zipcodeInput.getAttribute("data-val-regex-pattern"),regexDiv=zipcodeInput.closest("form").querySelector(".freetext-remote-validation"),zipRegex=regexPattern?new RegExp(regexPattern):/^\d{5}$/;if(!zipcodeValue)return void(validationMessage.textContent=requiredMessage||"Este campo es obligatorio.");if(zipcodeValue&&!zipRegex.test(zipcodeValue))return void(validationMessage.textContent=validMessage||"Por favor, ingresa un código postal válido.");let checkZipCoverage=quoteToolV3.querySelector('.js-quotetoolformcontainer .form input[name="0-1/use_postal_code_database"]:not(.freetext-submit)');if(zipcodeValue&&"true"===checkZipCoverage?.value){if(regexDiv){const validUrl=regexDiv.getAttribute("data-valid-url"),nonValidUrl=regexDiv.getAttribute("data-nonvalid-url");$(formEl).find('[id^="submithidden"]').prop("disabled",!0);const submitButton=$(formEl).find(".freetext-submit"),originalText=submitButton.text();if(submitButton.prop("disabled",!0),submitButton.text("..."),validUrl||nonValidUrl)try{if(await handlePostalCodeCoverage(zipcodeValue,culture,validUrl,nonValidUrl))return}catch(error){console.error("Error handling postal code coverage:",error)}if(setTimeout(function(){const hiddenButton=$(formEl).find('[id^="submithidden"]')[0];if(hiddenButton){const clickEvent=new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window});hiddenButton.dispatchEvent(clickEvent),submitButton.prop("disabled",!1),submitButton.text(originalText),$(formEl).find('[id^="submithidden"]').prop("disabled",!1)}},750),setQuoteToolValueCookie(`sa_form_${questionKey}`,zipcodeValue,3600),quoteToolV3.setAttribute("data-zipcode",zipcodeValue),!validUrl&&!nonValidUrl)try{if(await handlePostalCodeCoverage(zipcodeValue,culture,validUrl,nonValidUrl))return}catch(error){console.error("Error handling postal code coverage:",error)}}}else{const hiddenButton=$(formEl).find('[id^="submithidden"]')[0];if(hiddenButton){const clickEvent=new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window});hiddenButton.dispatchEvent(clickEvent)}setQuoteToolValueCookie(`sa_form_${questionKey}`,zipcodeValue,3600),quoteToolV3.setAttribute("data-zipcode",zipcodeValue)}}})})}()}}(); 2//# sourceURL=https://145365426.fs1.hubspotusercontent-eu1.net/hubfs/145365426/hub_generated/module_assets/1/213294843098/1789023920537/module_quote-tool.js
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.