function frmFrontFormJS(){let jsErrors=[];function triggerCustomEvent(el,eventName,data){if(typeof window.CustomEvent!=="function")return;const event=new CustomEvent(eventName);event.frmData=data;el.dispatchEvent(event)}function getFieldId(field,fullID){let nameParts,fieldId,isRepeating=false,fieldName="";if(field instanceof jQuery)fieldName=field.attr("name");else fieldName=field.name;if(typeof fieldName==="undefined")fieldName="";if(fieldName===""){if(field instanceof jQuery)fieldName=field.data("name"); else fieldName=field.getAttribute("data-name");if(typeof fieldName==="undefined")fieldName="";if(fieldName!==""&&fieldName)return fieldName;return 0}nameParts=fieldName.replace("item_meta[","").replace("[]","").split("]");if(nameParts.length<1)return 0;nameParts=nameParts.filter(function(n){return n!==""});fieldId=nameParts[0];if(nameParts.length===1)return fieldId;if(nameParts[1]==="[form"||nameParts[1]==="[row_ids")return 0;if(document.querySelector('input[name="item_meta['+fieldId+'][form]"]')){fieldId= nameParts[2].replace("[","");isRepeating=true}if("other"===fieldId)if(isRepeating)fieldId=nameParts[3].replace("[","");else fieldId=nameParts[1].replace("[","");if(fullID===true)if(fieldId===nameParts[0])fieldId=fieldId+"-"+nameParts[1].replace("[","");else fieldId=fieldId+"-"+nameParts[0]+"-"+nameParts[1].replace("[","");return fieldId}function disableSubmitButton($form){$form.find('input[type="submit"], input[type="button"], button[type="submit"], button.frm_save_draft').attr("disabled","disabled")} function enableSubmitButton($form){$form.find('input[type="submit"], input[type="button"], button[type="submit"]').prop("disabled",false)}function disableSaveDraft($form){$form.find("a.frm_save_draft").css("pointer-events","none")}function enableSaveDraft($form){if(!$form.length)return;$form[0].querySelectorAll(".frm_save_draft").forEach(saveDraftButton=>{saveDraftButton.disabled=false;saveDraftButton.style.pointerEvents=""})}function validateForm(object){let errors=[];const vanillaJsObject="function"=== typeof object.get?object.get(0):object;vanillaJsObject?.querySelectorAll(".frm_required_field").forEach(requiredField=>{const isVisible=requiredField.offsetParent!==null;if(!isVisible)return;requiredField.querySelectorAll("input, select, textarea").forEach(requiredInput=>{if(hasClass(requiredInput,"frm_optional")||hasClass(requiredInput,"ed_button"))return;errors=checkRequiredField(requiredInput,errors)})});vanillaJsObject?.querySelectorAll("input,select,textarea").forEach(field=>{if(""===field.value){if("number"=== field.type)checkValidity(field,errors);const isConfirmationField=field.name&&0===field.name.indexOf("item_meta[conf_");if(!isConfirmationField)return}validateFieldValue(field,errors,true);checkValidity(field,errors)});if(!hasInvisibleRecaptcha(object))errors=validateRecaptcha(object,errors);return errors}function checkValidity(field,errors){let fieldID;if("object"!==typeof field.validity||false!==field.validity.valid)return;fieldID=getFieldId(field,true);if("undefined"===typeof errors[fieldID])errors[fieldID]= getFieldValidationMessage(field,"data-invmsg");if("function"===typeof field.reportValidity)field.reportValidity()}function hasClass(element,targetClass){return element.classList&&element.classList.contains(targetClass)}function maybeValidateChange(field){if(field.type==="url")maybeAddHttpsToUrl(field);const form=field.closest("form");if(form&&hasClass(form,"frm_js_validate"))validateField(field)}function maybeAddHttpsToUrl(field){const url=field.value;const matches=url.match(/^(https?|ftps?|mailto|news|feed|telnet):/); if(field.value!==""&&matches===null)field.value="https://"+url}function validateField(field){let errors,key;errors=[];const fieldContainer=field.closest(".frm_form_field");if(!fieldContainer)return;if(hasClass(fieldContainer,"frm_required_field")&&!hasClass(field,"frm_optional"))errors=checkRequiredField(field,errors);if(errors.length<1)validateFieldValue(field,errors,false);const $fieldCont=jQuery(fieldContainer);removeFieldError($fieldCont);if(Object.keys(errors).length>0)for(key in errors)addFieldError($fieldCont, key,errors)}function validateFieldValue(field,errors,onSubmit){if(field.type==="hidden");else if(field.type==="number")checkNumberField(field,errors);else if(field.type==="email")checkEmailField(field,errors,onSubmit);else if(field.type==="password")checkPasswordField(field,errors,onSubmit);else if(field.type==="url")checkUrlField(field,errors);else if(field.pattern!==null)checkPatternField(field,errors);if("tel"===field.type&&shouldCheckConfirmField(field,onSubmit))confirmField(field,errors);triggerCustomEvent(document, "frm_validate_field_value",{field:field,errors:errors,onSubmit:onSubmit})}function checkRequiredField(field,errors){let tempVal,i,placeholder,val="",fieldID="",fileID=field.getAttribute("data-frmfile");if(field.type==="hidden"&&fileID===null&&!isAppointmentField(field)&&!isInlineDatepickerField(field))return errors;if(field.type==="checkbox"||field.type==="radio")document.querySelectorAll('input[name="'+field.name+'"]').forEach(function(input){const requiredField=input.closest(".frm_required_field"); if(!requiredField)return;const checkedInputs=requiredField.querySelectorAll("input:checked");checkedInputs.forEach(function(checkedInput){val=checkedInput.value})});else if(field.type==="file"||fileID){if(typeof fileID==="undefined"){fileID=getFieldId(field,true);fileID=fileID.replace("file","")}if(typeof errors[fileID]==="undefined")val=getFileVals(fileID);fieldID=fileID}else{if(hasClass(field,"frm_pos_none"))return errors;val=jQuery(field).val();if(val===null)val="";else if(typeof val!=="string"){tempVal= val;val="";for(i=0;i()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i; if(""!==field.value&&pattern.test(field.value)===false)errors[fieldID]=getFieldValidationMessage(field,"data-invmsg");if(shouldCheckConfirmField(field,onSubmit))confirmField(field,errors)}function checkPasswordField(field,errors,onSubmit){if(shouldCheckConfirmField(field,onSubmit))confirmField(field,errors)}function confirmField(field,errors){let value,confirmValue,firstField,fieldID=getFieldId(field,true),strippedId=field.id.replace("conf_",""),strippedFieldID=fieldID.replace("conf_",""),confirmField= document.getElementById(strippedId.replace("field_","field_conf_"));if(confirmField===null||typeof errors["conf_"+strippedFieldID]!=="undefined")return;if(fieldID!==strippedFieldID){firstField=document.getElementById(strippedId);value=firstField.value;confirmValue=confirmField.value;if(value!==confirmValue)errors["conf_"+strippedFieldID]=getFieldValidationMessage(confirmField,"data-confmsg")}else validateField(confirmField)}function checkNumberField(field,errors){let fieldID,number=field.value;if(number!== ""&&isNaN(number/1)!==false){fieldID=getFieldId(field,true);if(!(fieldID in errors))errors[fieldID]=getFieldValidationMessage(field,"data-invmsg")}}function checkPatternField(field,errors){let fieldID,text=field.value,format=getFieldValidationMessage(field,"pattern");if(format!==""&&text!==""){fieldID=getFieldId(field,true);if(!(fieldID in errors))if("object"===typeof window.frmProForm&&"function"===typeof window.frmProForm.isIntlPhoneInput&&window.frmProForm.isIntlPhoneInput(field)){if(!window.frmProForm.validateIntlPhoneInput(field))errors[fieldID]= getFieldValidationMessage(field,"data-invmsg")}else{format=new RegExp("^"+format+"$","i");if(format.test(text)===false)errors[fieldID]=getFieldValidationMessage(field,"data-invmsg")}}}function setSelectPlaceholderColor(){let selects=document.querySelectorAll(".form-field select"),styleElement=document.querySelector(".with_frm_style"),textColorDisabled=styleElement?getComputedStyle(styleElement).getPropertyValue("--text-color-disabled").trim():"",changeSelectColor;if(!selects.length||!textColorDisabled)return; changeSelectColor=function(select){if(select.options[select.selectedIndex]&&hasClass(select.options[select.selectedIndex],"frm-select-placeholder"))select.style.setProperty("color",textColorDisabled,"important");else select.style.color=""};Array.prototype.forEach.call(selects,function(select){changeSelectColor(select);select.addEventListener("change",function(){changeSelectColor(select)})})}function hasInvisibleRecaptcha(object){let recaptcha,recaptchaID,alreadyChecked;if(isGoingToPrevPage(object))return false; recaptcha=jQuery(object).find('.frm-g-recaptcha[data-size="invisible"], .g-recaptcha[data-size="invisible"]');if(recaptcha.length){recaptchaID=recaptcha.data("rid");alreadyChecked=grecaptcha.getResponse(recaptchaID);if(alreadyChecked.length===0)return recaptcha}return false}function executeInvisibleRecaptcha(invisibleRecaptcha){const recaptchaID=invisibleRecaptcha.data("rid");grecaptcha.reset(recaptchaID);grecaptcha.execute(recaptchaID)}function validateRecaptcha(form,errors){let response;const $recaptcha= jQuery(form).find(".frm-g-recaptcha");if(!$recaptcha.length)return errors;const recaptchaID=$recaptcha.data("rid");try{response=grecaptcha.getResponse(recaptchaID)}catch(e){if(jQuery(form).find('input[name="recaptcha_checked"]').length)return errors;response=""}if(response.length===0){const fieldContainer=$recaptcha.closest(".frm_form_field");const fieldID=fieldContainer.attr("id").replace("frm_field_","").replace("_container","");errors[fieldID]=""}return errors}function getFieldValidationMessage(field, messageType){let msg=field.getAttribute(messageType);if(null===msg)msg="";if(""!==msg&&shouldWrapErrorHtmlAroundMessageType(messageType))msg=wrapErrorHtml(msg,field);return msg}function wrapErrorHtml(msg,field){let errorHtml=field.getAttribute("data-error-html");if(null===errorHtml)return msg;errorHtml=errorHtml.replace(/\+/g,"%20");msg=decodeURIComponent(errorHtml).replace("[error]",msg);const fieldId=getFieldId(field,false);const split=fieldId.split("-");const fieldIdParts=field.id.split("_");fieldIdParts.shift(); split[0]=fieldIdParts.join("_");const errorKey=split.join("-");return msg.replace("[key]",errorKey)}function shouldWrapErrorHtmlAroundMessageType(type){return"pattern"!==type}function shouldJSValidate(object){if("function"===typeof object.get)object=object.get(0);let validate=hasClass(object,"frm_js_validate");if(validate&&typeof frmProForm!=="undefined"&&(frmProForm.savingDraft(object)||frmProForm.goingToPreviousPage(object)))validate=false;return validate}function getFormErrors(object,action){let fieldset, data,success,error,shouldTriggerEvent;fieldset=jQuery(object).find(".frm_form_field");fieldset.addClass("frm_doing_ajax");data=jQuery(object).serialize()+"&action=frm_entries_"+action+"&nonce="+frm_js.nonce;shouldTriggerEvent=object.classList.contains("frm_trigger_event_on_submit");const doRedirect=response=>{jQuery(document).trigger("frmBeforeFormRedirect",[object,response]);if(!response.openInNewTab){window.location=response.redirect;return}const newTab=window.open(response.redirect,"_blank");if(!newTab&& response.fallbackMsg&&response.content)response.content=response.content.trim().replace(/(<\/div><\/div>)$/," "+response.fallbackMsg+"")};success=function(response){let defaultResponse,formID,replaceContent,pageOrder,formReturned,contSubmit,delay,$fieldCont,key,inCollapsedSection,frmTrigger;defaultResponse={content:"",errors:{},pass:false};if(response===null)response=defaultResponse;else{response=response.replace(/^\s+|\s+$/g,"");if(response.indexOf("{")===0)response=JSON.parse(response); else response=defaultResponse}if(typeof response.redirect!=="undefined"){if(shouldTriggerEvent){triggerCustomEvent(object,"frmSubmitEvent");return}if(response.delay)setTimeout(function(){doRedirect(response)},1E3*response.delay);else doRedirect(response)}if("string"===typeof response.content&&response.content!==""){if(shouldTriggerEvent){triggerCustomEvent(object,"frmSubmitEvent",{content:response.content});return}removeSubmitLoading(jQuery(object));if(frm_js.offset!=-1)frmFrontForm.scrollMsg(jQuery(object), false);formID=jQuery(object).find('input[name="form_id"]').val();response.content=response.content.replace(/ frm_pro_form /g," frm_pro_form frm_no_hide ");replaceContent=jQuery(object).closest(".frm_forms");removeAddedScripts(replaceContent,formID);delay=maybeSlideOut(replaceContent,response.content);setTimeout(function(){afterFormSubmittedBeforeReplace(object,response);replaceContent.replaceWith(response.content);addUrlParam(response);if(typeof frmThemeOverride_frmAfterSubmit==="function"){pageOrder= jQuery('input[name="frm_page_order_'+formID+'"]').val();formReturned=jQuery(response.content).find('input[name="form_id"]').val();frmThemeOverride_frmAfterSubmit(formReturned,pageOrder,response.content,object)}afterFormSubmitted(object,response)},delay)}else if(Object.keys(response.errors).length){removeSubmitLoading(jQuery(object),"enable");contSubmit=true;removeAllErrors();$fieldCont=null;for(key in response.errors){$fieldCont=jQuery(object).find("#frm_field_"+key+"_container");if($fieldCont.length){if(!$fieldCont.is(":visible")){inCollapsedSection= $fieldCont.closest(".frm_toggle_container");if(inCollapsedSection.length){frmTrigger=inCollapsedSection.prev();if(!frmTrigger.hasClass("frm_trigger"))frmTrigger=frmTrigger.prev(".frm_trigger");frmTrigger.trigger("click")}}if($fieldCont.is(":visible")){addFieldError($fieldCont,key,response.errors);contSubmit=false}}}jQuery(object).find(".frm-g-recaptcha, .g-recaptcha, .h-captcha").each(function(){const $recaptcha=jQuery(this),recaptchaID=$recaptcha.data("rid");if(typeof grecaptcha!=="undefined"&&grecaptcha)if(recaptchaID)grecaptcha.reset(recaptchaID); else grecaptcha.reset();if(typeof hcaptcha!=="undefined"&&hcaptcha)hcaptcha.reset()});if(window.turnstile)object.querySelectorAll(".frm-cf-turnstile").forEach(turnstileField=>turnstileField.dataset.rid&&turnstile.reset(turnstileField.dataset.rid));jQuery(document).trigger("frmFormErrors",[object,response]);fieldset.removeClass("frm_doing_ajax");scrollToFirstField(object);if(contSubmit)object.submit();else{object.insertAdjacentHTML("afterbegin",response.error_message);checkForErrorsAndMaybeSetFocus()}}else{showFileLoading(object); object.submit()}};error=function(){jQuery(object).find('input[type="submit"], input[type="button"]').prop("disabled",false);object.submit()};postToAjaxUrl(object,data,success,error)}function postToAjaxUrl(form,data,success,error){let ajaxUrl,action,ajaxParams;ajaxUrl=frm_js.ajax_url;action=form.getAttribute("action");if("string"===typeof action&&-1!==action.indexOf("?action=frm_forms_preview"))ajaxUrl=action.split("?action=frm_forms_preview")[0];ajaxParams={type:"POST",url:ajaxUrl,data:data,success:success}; if("function"===typeof error)ajaxParams.error=error;jQuery.ajax(ajaxParams)}function afterFormSubmitted(object,response){const formCompleted=jQuery(response.content).find(".frm_message");if(formCompleted.length)jQuery(document).trigger("frmFormComplete",[object,response]);else jQuery(document).trigger("frmPageChanged",[object,response])}function afterFormSubmittedBeforeReplace(object,response){const formCompleted=jQuery(response.content).find(".frm_message");if(formCompleted.length)triggerCustomEvent(document, "frmFormCompleteBeforeReplace",{object,response})}function removeAddedScripts(formContainer,formID){const endReplace=jQuery(".frm_end_ajax_"+formID);if(endReplace.length){formContainer.nextUntil(".frm_end_ajax_"+formID).remove();endReplace.remove()}}function maybeSlideOut(oldContent,newContent){let c,newClass="frm_slideout";if(newContent.indexOf(" frm_slide")!==-1){c=oldContent.children();if(newContent.indexOf(" frm_going_back")!==-1)newClass+=" frm_going_back";c.removeClass("frm_going_back");c.addClass(newClass); return 300}return 0}function addUrlParam(response){let url;if(history.pushState&&typeof response.page!=="undefined"){url=addQueryVar("frm_page",response.page);window.history.pushState({html:response.html},"","?"+url)}}function addQueryVar(key,value){let kvp,i,x;key=encodeURI(key);value=encodeURI(value);kvp=document.location.search.substr(1).split("&");i=kvp.length;while(i--){x=kvp[i].split("=");if(x[0]==key){x[1]=value;kvp[i]=x.join("=");break}}if(i<0)kvp[kvp.length]=[key,value].join("=");return kvp.join("&")} function addFieldError($fieldCont,key,jsErrors){let input,id,describedBy,roleString;if($fieldCont.length&&$fieldCont.is(":visible")){$fieldCont.addClass("frm_blank_field");input=$fieldCont.find("input, select, textarea");id=getErrorElementId(key,input.get(0));describedBy=input.attr("aria-describedby");if(typeof frmThemeOverride_frmPlaceError==="function")frmThemeOverride_frmPlaceError(key,jsErrors);else{if(-1!==jsErrors[key].indexOf("'+jsErrors[key]+"")}if(typeof describedBy==="undefined")describedBy=id;else if(describedBy.indexOf(id)===-1&&describedBy.indexOf("frm_error_field_")===-1)if(input.data("error-first")===0)describedBy=describedBy+" "+id;else describedBy=id+" "+describedBy;input.attr("aria-describedby",describedBy)}if(["radio","checkbox"].includes(input.attr("type")))input.closest('[role="radiogroup"], [role="group"]').attr("aria-invalid", true);else input.attr("aria-invalid",true);jQuery(document).trigger("frmAddFieldError",[$fieldCont,key,jsErrors])}}function getErrorElementId(key,input){if(isNaN(key)||!input||!input.id)return"frm_error_field_"+key;return"frm_error_"+input.id}function removeFieldError($fieldCont){const errorMessage=$fieldCont.find(".frm_error");const errorId=errorMessage.attr("id");const input=$fieldCont.find("input, select, textarea");let describedBy=input.attr("aria-describedby");const fieldContainer=$fieldCont.get(0); if(fieldContainer&&fieldContainer.classList)fieldContainer.classList.remove("frm_blank_field","has-error");if("true"===input.attr("aria-invalid"))input.attr("aria-invalid",false);else if(["radio","checkbox"].includes(input.attr("type")))input.closest('[role="radiogroup"], [role="group"]').attr("aria-invalid",false);errorMessage.remove();input.removeAttr("aria-describedby");if(typeof describedBy!=="undefined"){describedBy=describedBy.replace(errorId,"");input.attr("aria-describedby",describedBy)}} function removeAllErrors(){jQuery(".form-field").removeClass("frm_blank_field has-error");jQuery(".form-field .frm_error").replaceWith("");jQuery(".frm_error_style").remove()}function scrollToFirstField(object){if("function"===typeof object.get)object=object.get(0);const field=object.querySelector(".frm_blank_field");if(field)frmFrontForm.scrollMsg(jQuery(field),object,true)}function showSubmitLoading($object){showLoadingIndicator($object);disableSubmitButton($object);disableSaveDraft($object)}function showLoadingIndicator($object){if(!$object.hasClass("frm_loading_form")&& !$object.hasClass("frm_loading_prev")){addLoadingClass($object);$object.trigger("frmStartFormLoading")}}function addLoadingClass($object){const loadingClass=isGoingToPrevPage($object)?"frm_loading_prev":"frm_loading_form";$object.addClass(loadingClass)}function isGoingToPrevPage($object){return typeof frmProForm!=="undefined"&&frmProForm.goingToPreviousPage($object)}function removeSubmitLoading(_,enable,processesRunning){let loadingForm;if(processesRunning>0)return;loadingForm=jQuery(".frm_loading_form"); loadingForm.removeClass("frm_loading_form");loadingForm.removeClass("frm_loading_prev");loadingForm.trigger("frmEndFormLoading");if(enable==="enable"){enableSubmitButton(loadingForm);enableSaveDraft(loadingForm)}}function showFileLoading(object){let fileval,loading=document.getElementById("frm_loading");if(loading!==null){fileval=jQuery(object).find("input[type=file]").val();if(typeof fileval!=="undefined"&&fileval!=="")setTimeout(function(){jQuery(loading).fadeIn("slow")},2E3)}}function confirmClick(){const message= jQuery(this).data("frmconfirm");return confirm(message)}function onHoneypotFieldChange(){const css=jQuery(this).css("box-shadow");if(css.match(/inset/))this.parentNode.removeChild(this)}function changeFocusWhenClickComboFieldLabel(){let label;const comboInputsContainer=document.querySelectorAll(".frm_combo_inputs_container");comboInputsContainer.forEach(function(inputsContainer){if(!inputsContainer.closest(".frm_form_field"))return;label=inputsContainer.closest(".frm_form_field").querySelector(".frm_primary_label"); if(!label)return;label.addEventListener("click",function(){inputsContainer.querySelector(".frm_form_field:first-child input, .frm_form_field:first-child select, .frm_form_field:first-child textarea").focus()})})}function maybeFocusOnComboSubField(element){if("FIELDSET"!==element.nodeName)return false;if(!element.querySelector(".frm_combo_inputs_container"))return false;const comboSubfield=element.querySelector('[aria-invalid="true"]');if(comboSubfield){focusInput(comboSubfield);return true}return false} function checkForErrorsAndMaybeSetFocus(){let errors,element,timeoutCallback;if(!frm_js.focus_first_error)return;errors=document.querySelectorAll(".frm_form_field .frm_error");if(!errors.length)return;element=errors[0];do{element=element.previousSibling;if(-1!==["input","select","textarea"].indexOf(element.nodeName.toLowerCase())){focusInput(element);break}if(maybeFocusOnComboSubField(element))break;if("undefined"!==typeof element.classList){if(element.classList.contains("html-active"))timeoutCallback= function(){const textarea=element.querySelector("textarea");if(null!==textarea)textarea.focus()};else if(element.classList.contains("tmce-active"))timeoutCallback=function(){tinyMCE.activeEditor.focus()};else if(element.classList.contains("frm_opt_container")){const firstInput=element.querySelector("input");if(firstInput){focusInput(firstInput);break}}if("function"===typeof timeoutCallback){setTimeout(timeoutCallback,0);break}}}while(element.previousSibling)}function focusInput(input){if(input.offsetParent!== null)input.focus();else triggerCustomEvent(document,"frmMaybeDelayFocus",{input})}function documentOn(event,selector,handler,options){if("undefined"===typeof options)options=false;document.addEventListener(event,function(e){let target;for(target=e.target;target&&target!=this;target=target.parentNode)if(target&&target.matches&&target.matches(selector)){handler.call(target,e);break}},options)}function initFloatingLabels(){let checkFloatLabel,checkDropdownLabel,runOnLoad,selector,floatClass;selector= ".frm-show-form .frm_inside_container input, .frm-show-form .frm_inside_container select, .frm-show-form .frm_inside_container textarea";floatClass="frm_label_float_top";checkFloatLabel=function(input){let container,shouldFloatTop,firstOpt;container=input.closest(".frm_inside_container");if(!container)return;shouldFloatTop=input.value||document.activeElement===input;container.classList.toggle(floatClass,shouldFloatTop);if("SELECT"===input.tagName){firstOpt=input.querySelector("option:first-child"); if(shouldFloatTop){if(firstOpt.hasAttribute("data-label")){firstOpt.textContent=firstOpt.getAttribute("data-label");firstOpt.removeAttribute("data-label")}}else if(firstOpt.textContent){firstOpt.setAttribute("data-label",firstOpt.textContent);firstOpt.textContent=""}}};checkDropdownLabel=function(){document.querySelectorAll(".frm-show-form .frm_inside_container:not(."+floatClass+") select").forEach(function(input){const firstOpt=input.querySelector("option:first-child");if(firstOpt.textContent){firstOpt.setAttribute("data-label", firstOpt.textContent);firstOpt.textContent=""}})};["focus","blur","change"].forEach(function(eventName){documentOn(eventName,selector,function(event){checkFloatLabel(event.target)},true)});jQuery(document).on("change",selector,function(event){checkFloatLabel(event.target)});runOnLoad=function(firstLoad){if(firstLoad&&document.activeElement&&-1!==["INPUT","SELECT","TEXTAREA"].indexOf(document.activeElement.tagName))checkFloatLabel(document.activeElement);else if(firstLoad)document.querySelectorAll(".frm_inside_container").forEach(function(container){const input= container.querySelector("input, select, textarea");if(input&&""!==input.value)checkFloatLabel(input)});checkDropdownLabel()};runOnLoad(true);jQuery(document).on("frmPageChanged",function(event){runOnLoad()});document.addEventListener("frm_after_start_over",function(event){runOnLoad()})}function shouldUpdateValidityMessage(target){if("INPUT"!==target.nodeName)return false;if(!target.dataset.invmsg)return false;if("text"!==target.getAttribute("type"))return false;if(target.classList.contains("frm_verify"))return false; return true}function maybeClearCustomValidityMessage(event,field){let key,isInvalid=false;if(!shouldUpdateValidityMessage(field))return;for(key in field.validity){if("customError"===key)continue;if("valid"!==key&&field.validity[key]===true){isInvalid=true;break}}if(!isInvalid)field.setCustomValidity("")}function maybeShowNewTabFallbackMessage(){let messageEl;if(!window.frmShowNewTabFallback)return;messageEl=document.querySelector("#frm_form_"+frmShowNewTabFallback.formId+"_container .frm_message"); if(!messageEl)return;messageEl.insertAdjacentHTML("beforeend"," "+frmShowNewTabFallback.message)}function setCustomValidityMessage(){let forms,length,index;forms=document.getElementsByClassName("frm-show-form");length=forms.length;for(index=0;indexb.toString(16).padStart(2,"0")).join("");const timestamp=Date.now().toString(16); return uniqueKey+"-"+timestamp}function animateScroll(start,end,duration){if(!window.hasOwnProperty("performance")||!window.hasOwnProperty("requestAnimationFrame")){document.documentElement.scrollTop=end;return}const startTime=performance.now();const step=currentTime=>{const progress=Math.min((currentTime-startTime)/duration,1);document.documentElement.scrollTop=start+(end-start)*progress;if(progress<1)requestAnimationFrame(step)};requestAnimationFrame(step)}function maybeFixCaptchaLabel(captcha){const form= captcha.closest("form");if(!form)return;const label=form.querySelector('label[for="g-recaptcha-response"], label[for="cf-turnstile-response"]');const captchaResponse=form.querySelector('[name="g-recaptcha-response"], [name="cf-turnstile-response"]');if(label&&captchaResponse)label.htmlFor=captchaResponse.id}return{init:function(){jQuery(document).off("submit.formidable",".frm-show-form");jQuery(document).on("submit.formidable",".frm-show-form",frmFrontForm.submitForm);jQuery(".frm-show-form input[onblur], .frm-show-form textarea[onblur]").each(function(){if(jQuery(this).val()=== "")jQuery(this).trigger("blur")});jQuery(document).on("change",'.frm-show-form input[name^="item_meta"], .frm-show-form select[name^="item_meta"], .frm-show-form textarea[name^="item_meta"]',frmFrontForm.fieldValueChanged);jQuery(document).on("change",".frm_verify[id^=field_]",onHoneypotFieldChange);jQuery(document).on("click","a[data-frmconfirm]",confirmClick);checkForErrorsAndMaybeSetFocus();changeFocusWhenClickComboFieldLabel();initFloatingLabels();maybeShowNewTabFallbackMessage();jQuery(document).on("frmAfterAddRow", setCustomValidityMessage);setCustomValidityMessage();jQuery(document).on("frmFieldChanged",maybeClearCustomValidityMessage);setSelectPlaceholderColor();jQuery(document).on("elementor/popup/show",frmRecaptcha);enableSubmitButtonOnBackButtonPress();jQuery(document).on("frmPageChanged",destroyhCaptcha)},getFieldId,renderCaptcha:function(captcha,captchaSelector){const rendered=captcha.getAttribute("data-rid")!==null;if(rendered)return;const size=captcha.getAttribute("data-size");const params={sitekey:captcha.getAttribute("data-sitekey"), size:size,theme:captcha.getAttribute("data-theme")};if(size==="invisible"){const formID=captcha.closest("form")?.querySelector('input[name="form_id"]')?.value;const captchaLabel=captcha.closest(".frm_form_field")?.querySelector(".frm_primary_label");if(captchaLabel)captchaLabel.style.display="none";params.callback=function(token){frmFrontForm.afterRecaptcha(token,formID)}}const activeCaptcha=getSelectedCaptcha(captchaSelector);const captchaContainer=typeof turnstile!=="undefined"&&turnstile===activeCaptcha? "#"+captcha.id:captcha.id;const captchaID=activeCaptcha.render(captchaContainer,params);captcha.setAttribute("data-rid",captchaID);maybeFixCaptchaLabel(captcha)},afterSingleRecaptcha:function(){const object=jQuery(".frm-show-form .g-recaptcha").closest("form")[0];frmFrontForm.submitFormNow(object)},afterRecaptcha:function(_,formID){const object=jQuery("#frm_form_"+formID+"_container form")[0];frmFrontForm.submitFormNow(object)},submitForm:function(e){frmFrontForm.submitFormManual(e,this)},submitFormManual:function(e, object){let isPro,errors,invisibleRecaptcha=hasInvisibleRecaptcha(object),classList=object.className.trim().split(/\s+/gi);if(classList&&invisibleRecaptcha.length<1){isPro=classList.indexOf("frm_pro_form")>-1;if(!isPro)return}if(jQuery("body").hasClass("wp-admin")&&jQuery(object).closest(".frmapi-form").length<1)return;e.preventDefault();if(typeof frmProForm!=="undefined"&&typeof frmProForm.submitAllowed==="function"&&!frmProForm.submitAllowed(object))return;errors=frmFrontForm.validateFormSubmit(object); if(Object.keys(errors).length!==0)return;if(invisibleRecaptcha.length){showLoadingIndicator(jQuery(object));executeInvisibleRecaptcha(invisibleRecaptcha)}else{showSubmitLoading(jQuery(object));frmFrontForm.submitFormNow(object)}},submitFormNow:function(object){let hasFileFields,antispamInput,classList=object.className.trim().split(/\s+/gi);if(object.hasAttribute("data-token")&&null===object.querySelector('[name="antispam_token"]')){antispamInput=document.createElement("input");antispamInput.type= "hidden";antispamInput.name="antispam_token";antispamInput.value=object.getAttribute("data-token");object.appendChild(antispamInput)}const uniqueIDInput=document.createElement("input");uniqueIDInput.type="hidden";uniqueIDInput.name="unique_id";uniqueIDInput.value=getUniqueKey();object.appendChild(uniqueIDInput);if(classList.indexOf("frm_ajax_submit")>-1){hasFileFields=jQuery(object).find('input[type="file"]').filter(function(){return!!this.value}).length;if(hasFileFields<1){const action=jQuery(object).find('input[name="frm_action"]').val(); frmFrontForm.checkFormErrors(object,action)}else object.submit()}else object.submit()},validateFormSubmit:function(object){if(typeof tinyMCE!=="undefined"&&jQuery(object).find(".wp-editor-wrap").length)tinyMCE.triggerSave();jsErrors=[];if(shouldJSValidate(object)){frmFrontForm.getAjaxFormErrors(object);if(Object.keys(jsErrors).length)frmFrontForm.addAjaxFormErrors(object)}return jsErrors},getAjaxFormErrors:function(object){let customErrors,key;jsErrors=validateForm(object);if(typeof frmThemeOverride_jsErrors=== "function"){const action=jQuery(object).find('input[name="frm_action"]').val();customErrors=frmThemeOverride_jsErrors(action,object);if(Object.keys(customErrors).length)for(key in customErrors)jsErrors[key]=customErrors[key]}triggerCustomEvent(document,"frm_get_ajax_form_errors",{formEl:object,errors:jsErrors});return jsErrors},addAjaxFormErrors:function(object){let key,$fieldCont;removeAllErrors();for(key in jsErrors){$fieldCont=jQuery(object).find("#frm_field_"+key+"_container");if($fieldCont.length)addFieldError($fieldCont, key,jsErrors);else delete jsErrors[key]}scrollToFirstField(object);checkForErrorsAndMaybeSetFocus()},checkFormErrors:getFormErrors,checkRequiredField,showSubmitLoading,removeSubmitLoading,scrollToID:function(id){const object=jQuery(document.getElementById(id));frmFrontForm.scrollMsg(object,false)},scrollMsg:function(id,object,animate){let newPos,m,b,screenTop,screenBottom,scrollObj="";if(typeof object==="undefined"){scrollObj=jQuery(document.getElementById("frm_form_"+id+"_container"));if(scrollObj.length< 1)return}else if(typeof id==="string")scrollObj=jQuery(object).find("#frm_field_"+id+"_container");else scrollObj=id;jQuery(scrollObj).trigger("focus");newPos=scrollObj.offset().top;if(!newPos||frm_js.offset==="-1")return;newPos=newPos-frm_js.offset;m=jQuery("html").css("margin-top");b=jQuery("body").css("margin-top");if(m||b)newPos=newPos-parseInt(m)-parseInt(b);if(newPos&&window.innerHeight){screenTop=document.documentElement.scrollTop||document.body.scrollTop;screenBottom=screenTop+window.innerHeight; if(newPos>screenBottom||newPos/g,">").replace(/"/g,""").replace(/'/g,"'")},invisible:function(classes){console.warn("DEPRECATED: function frmFrontForm.invisible in v6.16.3");jQuery(classes).css("visibility","hidden")},visible:function(classes){console.warn("DEPRECATED: function frmFrontForm.visible in v6.16.3");jQuery(classes).css("visibility","visible")},triggerCustomEvent:triggerCustomEvent,documentOn}}window.frmFrontForm=frmFrontFormJS();jQuery(document).ready(function(){frmFrontForm.init()}); function frmRecaptcha(){frmCaptcha(".frm-g-recaptcha")}function frmHcaptcha(){frmCaptcha(".h-captcha")}function frmTurnstile(){frmCaptcha(".frm-cf-turnstile")} function frmCaptcha(captchaSelector){if(".h-captcha"===captchaSelector){const captchaLabels=document.querySelectorAll('label[for="h-captcha-response"]');if(captchaLabels.length)captchaLabels.forEach(label=>{const captchaResponse=label.closest("form")?.querySelector('[name="h-captcha-response"]');if(captchaResponse)label.htmlFor=captchaResponse.id});return}let c;const captchas=document.querySelectorAll(captchaSelector);const cl=captchas.length;for(c=0;c');if(goingTo==="")orderField.remove();else orderField.val(goingTo)}else if(this.className.indexOf("frm_page_back")!==-1)v=$thisObj.data("page");if(1===d)resetTinyMceOnDraftSave();else resetTinyMceOnPageTurn();jQuery(".frm_next_page").val(v); jQuery(".frm_saving_draft").val(d);if(thisType!=="submit")f.trigger("submit")}function maybeAddEmptyHiddenInputsForCheckboxes(form){form.querySelectorAll(".frm_opt_container").forEach(function(optContainer){var checkboxes,hiddenInput;checkboxes=optContainer.querySelectorAll('input[type="checkbox"]');if(checkboxes.length&&!jQuery(checkboxes).filter(":checked").length){hiddenInput=document.createElement("input");hiddenInput.setAttribute("type","hidden");hiddenInput.setAttribute("name",checkboxes[0].getAttribute("name")); optContainer.appendChild(hiddenInput)}})}function resetTinyMceOnDraftSave(){jQuery(document).one("frmFormComplete",function(){jQuery(".wp-editor-area").each(function(){reInitializeRichText(this.id)})})}function resetTinyMceOnPageTurn(){var removeIds=[];jQuery(".frm_form_field .wp-editor-area").each(function(){removeIds.push(this.id)});jQuery(document).one("frmPageChanged",function(){var removeIndex,removeId;for(removeIndex=0;removeIndexnew Date(date+ "T00:00:00"))};this.getInstanceElement=instance=>{if(instance.config.inline&&"INPUT"!==instance.element.nodeName){const fieldId=instance.element.dataset.fieldId;const element=document.querySelector(`input[name="item_meta[${fieldId}]"]`);if(element)return element;return instance.element}return instance.element};this.updateRangeFieldsOnChange=(mode,instance,dateStr,selectedDates)=>{if("range"!==mode)return;const fieldId=input.dataset.fieldId||input.dataset.rangeStartFieldId;const startDateField=document.querySelector(`input[data-field-id="${fieldId}"]`)|| document.querySelector(`input[type="hidden"][name="item_meta[${fieldId}]"]`);const [startDate,endDate]=selectedDates;const endDateField="undefined"!==typeof endDate?document.querySelector(`input[data-range-start-field-id="${fieldId}"]`):null;const instanceElement=this.getInstanceElement(instance);instanceElement.dataset.rangeValue=dateStr;if(instanceElement===startDateField&&null!==endDateField){instanceElement.value=flatpickr.formatDate(startDate,settings.options.fpDateFormat);endDateField.dataset.rangeValue= dateStr;endDateField._flatpickr.setDate(dateStr);endDateField.value=flatpickr.formatDate(endDate,settings.options.fpDateFormat);endDateField.dispatchEvent(new Event("change",{bubbles:true}))}if(instanceElement===endDateField){instanceElement.value=flatpickr.formatDate(endDate,settings.options.fpDateFormat);startDateField.dataset.rangeValue=dateStr;startDateField._flatpickr.setDate(dateStr);startDateField.value=flatpickr.formatDate(startDate,settings.options.fpDateFormat)}};const settings=this.getSettings(); const mode=input.classList.contains("frm_date_range")||settings.formidable_dates&&settings.formidable_dates.isRangeEnabled?"range":"single";const inline=settings.formidable_dates&&settings.formidable_dates.inline;const showMonths=inline&&"range"===mode?2:1;const {min,max}=frmDatepickerPro.getDateRange(settings);const disabledDates=this.getDatesDisabled(settings);const firstDay=settings.options.firstDay||1;const flatpickrOptions={dateFormat:settings.options.fpDateFormat,inline:settings.formidable_dates&& settings.formidable_dates.inline,minDate:min,maxDate:max,monthSelectorType:"true"===settings.options.changeMonth?"dropdown":"static",changeYear:settings.options.changeYear,closeOnSelect:true,showMonths:showMonths,locale:{...flatpickr.l10ns[settings.locale||settings.options.locale],firstDayOfWeek:firstDay},mode:mode,disable:[function(date){return settings.formidable_dates&&settings.formidable_dates.daysEnabled&&-1===settings.formidable_dates.daysEnabled.indexOf(date.getDay())},...(disabledDates?disabledDates: [])],onReady:function(selectedDates,dateStr,instance){setTimeout(()=>frmDatepickerPro.setDefaultRangeValue(instance.element));if(instance.config.inline){instance.calendarContainer.classList.add("frm-datepicker","with_frm_style","frm_date_inline");if(frmDatepickerPro.isUsingACustomTheme)instance.calendarContainer.classList.add("frm-datepicker-custom-theme",frmDatepickerPro.themeType)}frmDatepickerPro.initMonthSelector(instance);frmDatepickerPro.initYearSelector(instance);frmDatepickerPro.initAccessiblity(instance)}, onChange:(selectedDates,dateStr,instance)=>{if(instance.config.inline){instance.config.altInputElement.value=dateStr;instance.config.altInputElement.dispatchEvent(new Event("change",{bubbles:true}))}this.updateRangeFieldsOnChange(mode,instance,dateStr,selectedDates)},onOpen:function(selectedDates,dateStr,instance){frmDatepickerPro.callbacks.onOpen(selectedDates,dateStr,instance)},onClose:frmDatepickerPro.callbacks.onClose,shorthandCurrentMonth:true,altInputClass:""};if(settings.formidable_dates&& settings.formidable_dates.inline){flatpickrOptions.altInput=true;flatpickrOptions.altInputElement=document.querySelector(settings.options.altField)}return flatpickrOptions};frmDatepickerPro.setDefaultRangeValue=function(instanceElement){let input=instanceElement;if(instanceElement._flatpickr.config.inline){const fieldId=instanceElement.dataset.fieldId;input=document.querySelector(`input[name="item_meta[${fieldId}]"]`);input.dataset.fieldId=fieldId}if(!input.classList.contains("frm_date_range"))return null; const startDate=input.dataset.rangeStartFieldId?document.querySelector(`input[data-field-id="${input.dataset.rangeStartFieldId}"]`):input;const startDateValue=startDate.value;const endDate=input.dataset.rangeStartFieldId?input:document.querySelector(`input[data-range-start-field-id="${input.dataset.fieldId}"]`);const endDateValue=endDate.value;if(instanceElement._flatpickr.config.inline){instanceElement._flatpickr.setDate(startDateValue+" to "+endDateValue);startDate.value=startDateValue;endDate.value= endDateValue;return}if("undefined"===typeof startDate._flatpickr)return;startDate._flatpickr.setDate(startDateValue+" to "+endDateValue);startDate.value=startDateValue;endDate._flatpickr.setDate(startDateValue+" to "+endDateValue);endDate.value=endDateValue};frmDatepickerPro.initMonthSelector=function(instance){if("static"!==instance.config.monthSelectorType)return;instance.calendarContainer.classList.add("frm-date-no-month-select")};frmDatepickerPro.initYearSelector=function(instance){if("false"!== instance.config.changeYear)return;instance.calendarContainer.classList.add("frm-date-no-year-select")};frmDatepickerPro.initAccessiblity=function(instance){this.init=function(){instance.calendarContainer.setAttribute("role","dialog");instance.calendarContainer.setAttribute("tabindex","0");this.prevButton();this.nextButton()};this.prevButton=function(){const prevArrow=instance.calendarContainer.querySelector(".flatpickr-prev-month");if(null===prevArrow)return;prevArrow.setAttribute("tabindex","0"); prevArrow.setAttribute("role","button");prevArrow.addEventListener("keydown",function(event){if(event.key==="Enter")prevArrow.click()})};this.nextButton=function(){const nextArrow=instance.calendarContainer.querySelector(".flatpickr-next-month");if(null===nextArrow)return;nextArrow.setAttribute("tabindex","0");nextArrow.setAttribute("role","button");nextArrow.addEventListener("keydown",function(event){if(event.key==="Enter")nextArrow.click()})};this.init()};frmDatepickerPro.getDateRange=function(optionsData){const dates= {min:null,max:null};const [minYear,maxYear]=optionsData.options.yearRange.split(":");dates.min=new Date(minYear+"-01-01T00:00:00");dates.max=new Date(maxYear+"-12-31T23:59:59");if(!optionsData.formidable_dates)return dates;if(optionsData.formidable_dates.maximum_date_cond)if(optionsData.maxDate)dates.max=optionsData.maxDate;else dates.max=frmDatepickerPro.parseOffsetDate(optionsData.formidable_dates.maximum_date_val);if(optionsData.formidable_dates.minimum_date_cond)if(optionsData.minDate)dates.min= optionsData.minDate;else dates.min=frmDatepickerPro.parseOffsetDate(optionsData.formidable_dates.minimum_date_val);return dates};frmDatepickerPro.parseOffsetDate=function(date){const cleanedDate=date.toLowerCase().replace(/\s+/g,"");const regex=/^([+-]\d+)(day|days|month|months|year|years)$/;const match=cleanedDate.match(regex);if(!match)return date;const [,number,unit]=match;const amount=parseInt(number);const currentDate=new Date;if(unit.startsWith("day")){currentDate.setDate(currentDate.getDate()+ amount);return currentDate}if(unit.startsWith("month")){currentDate.setMonth(currentDate.getMonth()+amount);return currentDate}if(unit.startsWith("year")){currentDate.setFullYear(currentDate.getFullYear()+amount);return currentDate}return currentDate};frmDatepickerPro.parseFunctionConfig=function(config){const parsed=JSON.parse(config);const stringToFunction=str=>{if(typeof str==="string"&&str.startsWith("function"))return(new Function("return "+str))();return str};Object.keys(parsed).forEach(key=> {if(Array.isArray(parsed[key]))parsed[key]=parsed[key].map(item=>stringToFunction(item));else parsed[key]=stringToFunction(parsed[key])});return parsed};frmDatepickerPro.useFlatpickr=()=>window.frm_js&&window.frm_js.datepickerLibrary==="flatpickr";function triggerDateField(){if(this.className.indexOf("frm_custom_date")!==-1||typeof __frmDatepicker==="undefined")return;var dateFields=__frmDatepicker,id=this.id,idParts=id.split("-"),altID="";if(isRepeatingFieldByName(this.name))altID='input[id^="'+ idParts[0]+'"]';else altID='input[id^="'+idParts.join("-")+'"]';var optKey=0;for(var i=0;i0)max= max-uploadedCount}form=field.closest("form");uploadField=uploadFields[i];field.dropzone({url:getAjaxUrl(form.get(0)),headers:{"Frm-Dropzone":1},addRemoveLinks:false,paramName:field.attr("id").replace("_dropzone",""),maxFilesize:uploadField.maxFilesize,minFilesize:uploadField.minFilesize,maxFiles:max,uploadMultiple:uploadField.uploadMultiple,hiddenInputContainer:field.parent()[0],dictDefaultMessage:uploadField.defaultMessage,dictFallbackMessage:uploadField.fallbackMessage,dictFallbackText:uploadField.fallbackText, dictFileTooBig:uploadField.fileTooBig,dictFileTooSmall:uploadField.fileTooSmall,dictInvalidFileType:uploadField.invalidFileType,dictResponseError:uploadField.responseError,dictCancelUpload:uploadField.cancel,dictCancelUploadConfirmation:uploadField.cancelConfirm,dictRemoveFile:uploadField.remove,dictMaxFilesExceeded:uploadField.maxFilesExceeded,resizeMethod:"contain",resizeWidth:uploadField.resizeWidth,resizeHeight:uploadField.resizeHeight,thumbnailWidth:60,thumbnailHeight:60,timeout:uploadField.timeout, previewTemplate:filePreviewHTML(uploadField),acceptedFiles:uploadField.acceptedFiles,fallback:function(){jQuery(this.element).closest("form").removeClass("frm_ajax_submit")},init:function(){var hidden,mockFileIndex,mockFileData,mockFile;hidden=field.parent().find(".dz-hidden-input");if(typeof hidden.attr("id")==="undefined")hidden.attr("id",uploadFields[i].label);this.on("thumbnail",function(file){if(file.size<1024*1024*this.options.minFilesize)if("function"===typeof file.rejectSize)file.rejectSize()}); this.on("sending",function(file,xhr,formData){if(isSpam(uploadFields[i].parentFormID,uploadField.checkHoneypot)){this.removeFile(file);alert(frm_js.file_spam);return false}else{formData.append("action","frm_submit_dropzone");formData.append("field_id",uploadFields[i].fieldID);formData.append("form_id",uploadFields[i].formID);formData.append("nonce",frm_js.nonce);if(form.get(0).hasAttribute("data-token"))formData.append("antispam_token",form.get(0).getAttribute("data-token"))}});this.on("processing", function(){if(!this.options.uploadMultiple)this.removeEventListeners()});this.on("success",function(file,response){var mediaIDs,m,mediaID;mediaIDs=JSON.parse(response);for(m=0;m'+file.name+"";else node.innerHTML=file.name;if(file.ext){img=file.previewElement.querySelector(".dz-image img");if(null!==img){thumbnail=maybeGetExtensionThumbnail(file.ext);if(false!==thumbnail)img.setAttribute("src",thumbnail)}}}});this.on("addedfile",function(file){var ext,thumbnail;ext=file.name.split(".").pop();thumbnail=maybeGetExtensionThumbnail(ext); processesRunning++;frmFrontForm.showSubmitLoading(form);if(false!==thumbnail)jQuery(file.previewElement).find(".dz-image img").attr("src",thumbnail)});function clearErrorsOnUpload(fileElement){var container=fileElement.closest(".frm_form_field");if(!container)return;container.classList.remove("frm_blank_field","has-error");container.querySelectorAll(".form-field .frm_error, .frm_error_style").forEach(function(error){if(error.parentNode)error.parentNode.removeChild(error)})}this.on("removedfile",function(file){var fileCount= this.files.length;if(this.options.uploadMultiple===false&&fileCount<1)this.enable();if(file.accepted!==false&&uploadFields[i].uploadMultiple!==true)jQuery('input[name="'+fieldName+'"]').val("");if(file.accepted!==false&&typeof file.mediaID!=="undefined"){jQuery(file.previewElement).remove();fileCount=this.files.length;this.options.maxFiles=uploadFields[i].maxFiles-fileCount}});if(typeof uploadFields[i].mockFiles!=="undefined")for(mockFileIndex=0;mockFileIndex{if(input.getAttribute("data-frm-imask-initialized"))return;input.setAttribute("data-frm-imask-initialized",1);const mask=IMask(input,{mask:input.dataset.frmmask,lazy:true,definitions:{"*":/[a-zA-Z0-9]/}}); input.addEventListener("change",()=>mask.updateValue());input.addEventListener("focus",()=>{mask.updateOptions({lazy:false});if(input.hasAttribute("maxlength")&&input.value.length>=input.maxLength){if(!input.hasAttribute("original-maxlength"))input.setAttribute("original-maxlength",input.maxLength);input.maxLength=parseInt(input.getAttribute("original-maxlength"))+1}if(""===mask.unmaskedValue)mask.alignCursor(0)});input.addEventListener("blur",()=>{input.value=input.value.trim();if(""===mask.unmaskedValue)mask.updateOptions({lazy:true}); if(input.hasAttribute("original-maxlength"))input.maxLength=parseInt(input.getAttribute("original-maxlength"))})})}function removeSubmitLoading(form,formId,processesRunning){var isFinalSubmitButton,enable;isFinalSubmitButton=form.querySelector(".frm_submit .frm_button_submit.frm_final_submit");enable=!isFinalSubmitButton||!submitButtonIsConditionallyDisabled(formId)?"enable":"";if(""===enable)jQuery(".frm_loading_form").find("a.frm_save_draft").css("pointer-events","");frmFrontForm.removeSubmitLoading(jQuery(form), enable,processesRunning)}function submitButtonIsConditionallyDisabled(formId){return submitButtonIsConditionallyNotAvailable(formId)&&"disable"===__FRMRULES["submit_"+formId].hideDisable}function submitButtonIsConditionallyNotAvailable(formId){var hideFields=document.getElementById("frm_hide_fields_"+formId);return hideFields&&-1!==hideFields.value.indexOf('"frm_form_'+formId+'_container .frm_final_submit"')}function maybeGetExtensionThumbnail(ext){if(-1!==["jpg","jpeg","png"].indexOf(ext))return false; if("pdf"===ext)return getProPluginUrl()+"/images/pdf.svg";if(-1!==ext.indexOf("xls"))return getProPluginUrl()+"/images/xls.svg";return getProPluginUrl()+"/images/doc.svg"}function getProPluginUrl(){var freePluginUrlSplitBySlashes=frm_js.images_url.split("/");freePluginUrlSplitBySlashes.pop();freePluginUrlSplitBySlashes.pop();freePluginUrlSplitBySlashes.push("formidable-pro");return freePluginUrlSplitBySlashes.join("/")}function filePreviewHTML(field){return'
\n'+ '
\n'+'
\n'+'
\n'+'
\n'+" "+'
\n'+''+''+ ""+"
\n"+'
\n'+'
\n'+"
\n"+"
"}function getHiddenUploadHTML(field,mediaID,fieldName){return''}function removeFile(){var fieldName=jQuery(this).data("frm-remove");fadeOut(jQuery(this).closest(".dz-preview"));var singleField=jQuery('input[name="'+ fieldName+'"]');if(singleField.length)singleField.val("")}function postToAjaxUrl(form,data,success,error,extraParams){var ajaxParams="object"===typeof extraParams?extraParams:{};ajaxParams.type="POST";ajaxParams.url=getAjaxUrl(form);ajaxParams.data=data;ajaxParams.success=success;if("function"===typeof error)ajaxParams.error=error;jQuery.ajax(ajaxParams)}function getAjaxUrl(form){var ajaxUrl,action;ajaxUrl=frm_js.ajax_url;action=form.getAttribute("action");if("string"===typeof action&&-1!==action.indexOf("?action=frm_forms_preview"))ajaxUrl= action.split("?action=frm_forms_preview")[0];return ajaxUrl}function isSpam(formID,checkHoneypot){if(isHeadless())return true;return checkHoneypot&&isHoneypotSpam(formID)}function isHoneypotSpam(formID){var honeypotField=document.getElementById("frm_email_"+formID);if(honeypotField===null)honeypotField=document.getElementById("frm_form_"+formID+"_container")?.querySelector('.frm_verify[id^="field_"]');return honeypotField!==null&&honeypotField.value!==""}function isHeadless(){return window._phantom|| window.callPhantom||window.__phantomas||window.Buffer||window.emit||window.spawn}function showOtherText(){var type=this.type,other=false,select=false;if(type==="select-one"){select=true;var curOpt=this.options[this.selectedIndex];if(typeof curOpt!=="undefined"&&curOpt.className==="frm_other_trigger")other=true}else if(type==="select-multiple"){select=true;var allOpts=this.options;other=false;for(var i=0;i-1||e.currentTarget.className.indexOf("frm_slimselect")>-1)originalEvent="value changed";else originalEvent="other";return originalEvent}function checkFieldsWithConditionalLogicDependentOnThis(fieldId,changedInput){if(typeof __FRMRULES==="undefined"||typeof __FRMRULES[fieldId]=== "undefined"||__FRMRULES[fieldId].dependents.length<1||changedInput===null||typeof changedInput==="undefined")return;var triggerFieldArgs=__FRMRULES[fieldId];var repeatArgs=getRepeatArgsFromFieldName(changedInput[0].name);pendingDynamicFieldAjax=[];for(var i=0,l=triggerFieldArgs.dependents.length;i{if(format.includes(sep))separator=sep});if(separator===false)return date;const split=date.split(separator);if(3!== split.length)return date;let yearPart,monthPart,dayPart;switch(format){case "Y/m/d":yearPart=split[0];monthPart=split[1];dayPart=split[2];break;case "n/j/Y":case "m/d/Y":monthPart=split[0];dayPart=split[1];yearPart=split[2];break;case "d/m/Y":case "d.m.Y":case "j/m/Y":case "j/n/Y":case "j-m-Y":default:dayPart=split[0];monthPart=split[1];yearPart=split[2];break}if(yearPart.length!==4)return date;if(monthPart.length<2)monthPart="0"+monthPart;if(dayPart.length<2)dayPart="0"+dayPart;return yearPart+"-"+ monthPart+"-"+dayPart}function getDateFormatForField(fieldId){if(!window.__frmDatepicker)return false;let fieldRule=false;__frmDatepicker.forEach(rule=>{if(!rule.fieldId||rule.fieldId===fieldId)fieldRule=rule});if(false===fieldRule)return false;return fieldRule.options.fpDateFormat}function operators(op,a,b){var theOperators;a=prepareLogicValueForComparison(a);b=prepareEnteredValueForComparison(a,b);if(typeof a==="string"&&a.indexOf(""")!="-1"&&operators(op,a.replace(""",'"'),b))return true; theOperators={"==":function(c,d){return c===d},"!=":function(c,d){return c!==d},"<":function(c,d){return c>d},"<=":function(c,d){return c>=d},">":function(c,d){return c=":function(c,d){return c<=d},"LIKE":function(c,d){if(!d)return false;c=prepareLogicValueForLikeComparison(c);d=prepareEnteredValueForLikeComparison(c,d);return d.indexOf(c)!=-1},"not LIKE":function(c,d){if(!d)return true;c=prepareLogicValueForLikeComparison(c);d=prepareEnteredValueForLikeComparison(c,d);return d.indexOf(c)== -1},"LIKE%":function(c,d){if(!d)return false;c=prepareLogicValueForLikeComparison(c);d=prepareEnteredValueForLikeComparison(c,d);if(Array.isArray(d))return false;return d.substr(0,c.length)===c},"%LIKE":function(c,d){if(!d)return false;c=prepareLogicValueForLikeComparison(c);d=prepareEnteredValueForLikeComparison(c,d);if(Array.isArray(d))return false;return d.substr(-c.length)===c}};if("function"!==typeof theOperators[op])op="==";return theOperators[op](a,b)}function prepareLogicValueForComparison(a){if(shouldParseFloat(a))a= parseFloat(a);else if(typeof a==="string")a=a.trim();return a}function shouldParseFloat(value){return String(value).search(/^\s*(\+|-)?((\d+(\.\d+)?)|(\.\d+))\s*$/)!==-1}function prepareEnteredValueForComparison(a,b){if(typeof b==="undefined"||b===null||b===false)b="";if(Array.isArray(b)&&jQuery.inArray(String(a),b)>-1)b=a;if(typeof a==="number"&&typeof b==="string"&&shouldParseFloat(b))b=parseFloat(b);if(typeof b==="string")b=b.trim();return b}function prepareLogicValueForLikeComparison(val){return prepareValueForLikeComparison(val)} function prepareEnteredValueForLikeComparison(logicValue,enteredValue){enteredValue=prepareValueForLikeComparison(enteredValue);var currentValue="";if(Array.isArray(enteredValue))for(var i=0,l=enteredValue.length;i-1){enteredValue=logicValue;break}}return enteredValue}function prepareValueForLikeComparison(val){if(typeof val==="string")val=val.toLowerCase();else if(typeof val==="number")val=val.toString();return val} function routeToHideOrShowField(depFieldArgs,logicOutcomes){var onCurrentPage,action=getHideOrShowAction(depFieldArgs,logicOutcomes);if(depFieldArgs.fieldType==="submit")onCurrentPage=isSubmitButtonOnPage(depFieldArgs.containerId);else onCurrentPage=isFieldDivOnPage(depFieldArgs.containerId);if(action==="show")if(depFieldArgs.fieldType==="data"&&depFieldArgs.hasOwnProperty("dataLogic"))updateDynamicField(depFieldArgs,onCurrentPage);else showFieldAndSetValue(depFieldArgs,onCurrentPage);else hideFieldAndClearValue(depFieldArgs, onCurrentPage)}function isFieldDivOnPage(containerId){var fieldDiv=document.getElementById(containerId);return fieldDiv!==null}function isSubmitButtonOnPage(container){var submitButton=document.querySelector("#"+container);return submitButton!=null}function getHideOrShowAction(depFieldArgs,logicOutcomes){if(depFieldArgs.anyAll==="any")if(logicOutcomes.indexOf(true)>-1)action=depFieldArgs.showHide;else action=reverseAction(depFieldArgs.showHide);else if(logicOutcomes.indexOf(false)>-1)action=reverseAction(depFieldArgs.showHide); else action=depFieldArgs.showHide;return action}function reverseAction(action){if(action==="show")action="hide";else action="show";return action}function showFieldAndSetValue(depFieldArgs,onCurrentPage){if(isFieldCurrentlyShown(depFieldArgs.containerId,depFieldArgs.formId))return;removeFromHideFields(depFieldArgs.containerId,depFieldArgs.formId);if(depFieldArgs.fieldType==="submit"){if(onCurrentPage)showOrEnableSubmitButton(depFieldArgs);return}if(onCurrentPage){setValuesInsideFieldOnPage(depFieldArgs.containerId, depFieldArgs);showFieldContainer(depFieldArgs.containerId);triggerEvent(document,"frmShowField");if(depFieldArgs.inputType==="rte")reInitializeRichText("field_"+depFieldArgs.fieldKey)}else setValuesInsideFieldAcrossPage(depFieldArgs)}function reInitializeRichText(fieldId){var isVisible="undefined"!==typeof tinyMCE.editors[fieldId]&&!tinyMCE.editors[fieldId].isHidden();if(!isVisible)return;removeRichText(fieldId);initRichText(fieldId)}function showOrEnableSubmitButton(depFieldArgs){if(depFieldArgs.hideDisable&& depFieldArgs.hideDisable==="disable")enableButton("#"+depFieldArgs.containerId);else showFieldContainer(depFieldArgs.containerId);removeSubmitButtonFromHiddenList(depFieldArgs)}function removeSubmitButtonFromHiddenList(depFieldArgs){hiddenSubmitButtons=hiddenSubmitButtons.filter(function(button){return button!==depFieldArgs.formKey})}function enableButton(buttonSelector){var button=document.querySelector(buttonSelector);if(button&&!button.closest(".frm_loading_form"))button.disabled=false}function setValuesInsideFieldOnPage(container, depFieldArgs){var inputs=getInputsInFieldOnPage(container),inContainer=depFieldArgs.fieldType==="divider"||depFieldArgs.fieldType==="form";setValueForInputs(inputs,inContainer,depFieldArgs.formId,"required")}function setValuesInsideFieldAcrossPage(depFieldArgs){var inputs=getInputsInFieldAcrossPage(depFieldArgs),inContainer=depFieldArgs.fieldType==="divider"||depFieldArgs.fieldType==="form"||depFieldArgs.isRepeating;setValueForInputs(inputs,inContainer,depFieldArgs.formId)}function getInputsInFieldOnPage(containerId){var container= "string"===typeof containerId?document.getElementById(containerId):containerId;return container.querySelectorAll('select[name^="item_meta"], textarea[name^="item_meta"], input[name^="item_meta"]')}function getInputsInFieldAcrossPage(depFieldArgs){var inputs=[];if(depFieldArgs.fieldType==="divider")inputs=getInputsInHiddenSection(depFieldArgs);else if(depFieldArgs.fieldType==="form")inputs=getInputsInHiddenEmbeddedForm(depFieldArgs);else inputs=getHiddenInputs(depFieldArgs);return inputs}function getHiddenInputs(depFieldArgs){var name= "";if(depFieldArgs.isRepeating){var containerFieldId=getContainerFieldId(depFieldArgs);name="item_meta["+containerFieldId+"]["+depFieldArgs.repeatRow+"]["+depFieldArgs.fieldId+"]"}else name="item_meta["+depFieldArgs.fieldId+"]";return document.querySelectorAll('[name^="'+name+'"]')}function setValueForInputs(inputs,inContainer,formId,setRequired){var input,prevInput,i;if(!inputs.length)return;for(i=0;i-1&&isOptional===-1)input.setAttribute("aria-required",true)}function skipSetValue(i,prevInput,inputs){var typeArray=["checkbox","radio"];if(i<1||typeof prevInput==="undefined")return false;if(null!==inputs[i].getAttribute("data-frmprice"))return false;var isOther=inputs[i].className.indexOf("frm_other_input")!==-1;return isOther||prevInput.name==inputs[i].name&&typeArray.indexOf(prevInput.type)>-1}function isChildInputConditionallyHidden(input,formId){var fieldDivPart=frmFrontForm.getFieldId(input, true),fieldDivId="frm_field_"+fieldDivPart+"_container";return isFieldConditionallyHidden(fieldDivId,formId)}function showFieldContainer(containerId){var $container=jQuery("#"+containerId).show();if($container.hasClass("frm_inside_container")&&null===$container.find("select").val())$container.find("select").val("").trigger("change")}function hideFieldAndClearValue(depFieldArgs,onCurrentPage){if(isFieldConditionallyHidden(depFieldArgs.containerId,depFieldArgs.formId))return;addToHideFields(depFieldArgs.containerId, depFieldArgs.formId);if(depFieldArgs.fieldType==="submit"){if(onCurrentPage)hideOrDisableSubmitButton(depFieldArgs);return}if(onCurrentPage){hideFieldContainer(depFieldArgs.containerId);clearInputsInFieldOnPage(depFieldArgs.containerId)}else clearInputsInFieldAcrossPage(depFieldArgs)}function hideOrDisableSubmitButton(depFieldArgs){if(depFieldArgs.containerId==undefined)depFieldArgs.containerId=getSubmitButtonContainerID(depFieldArgs);addSubmitButtonToHiddenList(depFieldArgs);if(depFieldArgs.hideDisable&& depFieldArgs.hideDisable==="disable")disableButton("#"+depFieldArgs.containerId);else hideFieldContainer(depFieldArgs.containerId)}function addSubmitButtonToHiddenList(depFieldArgs){hiddenSubmitButtons.push(depFieldArgs.formKey)}function isOnPageSubmitButtonHidden(formKey){return hiddenSubmitButtons.indexOf(formKey)!==-1}function hidePreviouslyHiddenSubmitButton(submitContainerID){var formId=submitContainerID.replace("frm_form_","");formId=formId.replace("_container .frm_final_submit","");var depFieldArgs= getRulesForSingleField("submit_"+formId);if(depFieldArgs)hideOrDisableSubmitButton(depFieldArgs)}function getFormKeyFromFormElementID(elementId){return elementId.replace("form_","")}function hideFieldContainer(containerId){jQuery("#"+containerId).hide()}function disableButton(buttonSelector){jQuery(buttonSelector).prop("disabled",true)}function jsonParse(str){try{var obj=JSON.parse(str);return obj}catch(e){return false}}function clearInputsInFieldOnPage(containerId){var inputs=getInputsInFieldOnPage(containerId); clearValueForInputs(inputs,"required")}function clearInputsInFieldAcrossPage(depFieldArgs){var inputs=getInputsInFieldAcrossPage(depFieldArgs);clearValueForInputs(inputs)}function getInputsInHiddenSection(depFieldArgs){var inputs=[];if(depFieldArgs.fieldType==="divider")inputs=document.querySelectorAll('[data-sectionid="'+depFieldArgs.fieldId+'"]');return inputs}function getInputsInHiddenEmbeddedForm(depFieldArgs){return document.querySelectorAll('[id^="field_'+depFieldArgs.fieldKey+'-"]')}function changeSelectColor(select){if(select.options[select.selectedIndex]?.classList.contains("frm-select-placeholder")){const styleElement= select.closest(".with_frm_style");const textColorDisabled=styleElement?getComputedStyle(styleElement).getPropertyValue("--text-color-disabled").trim():"";select.style.setProperty("color",textColorDisabled,"important")}}function clearValueForInputs(inputs,required,resetToDefault){var prevInput,blankSelect,valueChanged,l,i,input,defaultVal,reset,linkedRadioInput;if(inputs.length<1)return;valueChanged=true;l=inputs.length;for(i=0;i-1||input.name.indexOf("[row_ids]")>-1){prevInput=input;continue}if(i>0&&prevInput.name!=input.name&&valueChanged===true)triggerChange(jQuery(prevInput));valueChanged=true;if(input.type==="radio"||input.type==="checkbox"){if(!reset)input.checked=false;else if("radio"===input.type)input.checked=defaultVal===input.value;else resetCheckboxInputToValue(input,defaultVal);maybeClearStarRatingInput(input)}else if(input.tagName==="SELECT")if(isSlimSelect(input))setSlimValue(input, reset?defaultVal:"");else{if(!reset&&resetToDefault&&input.getAttribute("data-placeholder")){reset=true;defaultVal=""}if(!reset){blankSelect=input.selectedIndex===0&&input.options[0].text.trim()==="";if(blankSelect||input.selectedIndex===-1)valueChanged=false;else input.selectedIndex=-1}else valueChanged=resetSelectInputToValue(input,defaultVal);const chosenId=input.id.replace(/[^\w]/g,"_");const autocomplete=document.getElementById(chosenId+"_chosen");if(autocomplete!==null)jQuery(input).trigger("chosen:updated")}else if(input.type=== "range"){let sliderDefault=defaultVal;if(!reset){const min=parseFloat(input.getAttribute("min"));const max=parseFloat(input.getAttribute("max"));const mid=(max-min)/2+min;const step=parseFloat(input.getAttribute("step"),10);const midSteps=Math.round(mid/step);sliderDefault=midSteps*step;input.parentElement.querySelector(".frm_range_value").textContent=sliderDefault}input.value=sliderDefault;initRangeInput([input])}else if(input.getAttribute("data-frmprice")!==null)setHiddenProduct(input);else{if(!reset)input.value= "";else input.value=defaultVal;linkedRadioInput=input.id.indexOf("-otext")>-1?document.getElementById(input.id.replace("-otext","")):null;if(linkedRadioInput&&linkedRadioInput.checked===false)input.classList.add("frm_pos_none");if(null!==input.getAttribute("data-frmfile"))clearDropzoneFiles(input);if(input.type==="hidden"&&input.closest(".frm_range_container "))resetRangeInput(input)}if(required==="required"){input.required=false;input.setAttribute("aria-required",false)}prevInput=inputs[i]}if(valueChanged=== true)triggerChange(jQuery(prevInput))}function resetRangeInput(input){const rangeContainer=input.parentElement;const rangeSliderWrapperClone=rangeContainer.querySelector(".frm-slider-wrapper").cloneNode(true);rangeContainer.querySelector("div:last-of-type").replaceChild(rangeSliderWrapperClone,rangeContainer.querySelector(".frm-slider-wrapper"));initializeRangeSlider(input,rangeContainer)}function setSlimValue(input,value){if(value.length&&"["===value[0]&&-1!==value.indexOf(",")&&"]"===value[value.length- 1]&&"multiple"===input.getAttribute("multiple"))value=JSON.parse(value);input.slim.setSelected(value)}function maybeClearStarRatingInput(input){var starGroup,checkedInput;if("radio"!==input.type||!input.matches(".frm-star-group input:last-of-type"))return;starGroup=input.closest(".frm-star-group");checkedInput=starGroup.querySelector("input:checked");if(checkedInput)updateStars(checkedInput);else clearStars(starGroup,true)}function resetCheckboxInputToValue(input,val){var i;val=jsonParse(val);if(!val)return; for(i in val)if(val[i]===input.value){input.checked=true;return}input.checked=false}function resetSelectInputToValue(input,val){if(input.multiple)return resetMultiSelectInputToValue(input,val);var i,valueChanged=false,options=input.querySelectorAll("option");for(i=0;i