jQuery(document).ready(function ($) { // Copy to Clipboard Function function copyToClipboard(targetToCopy, sucessAlert) { //targetToCopy needs to be an input targetToCopy.select(); targetToCopy.setSelectionRange(0, 99999); navigator.clipboard.writeText(targetToCopy.value); if(sucessAlert.length){ const initialButtonText = sucessAlert.text(); sucessAlert.text('Copied'); setTimeout(function(){ sucessAlert.text(initialButtonText); }, 1000); } } //Equip Share Resource copyToClipboard $(".copyToClipboard").click(function(){ let linkToCopy = $(this).parents('.equip-popup-wrapper__share-resource').find('.linkToCopy'); copyToClipboard(linkToCopy[0], $(this)); }); // Taxonomy Posts Carousel - used with shortcode [taxonomy-post-carousel] // $('.tax-posts-carousel-menu').on('click', function(){ let postSlide = $(this).parents('.taxonomy-post-carousel').find('.posts'); if(!$(this).hasClass('active')){ let currentTaxSlug = $(this).data('taxslug'); $('.tax-posts-carousel-menu').removeClass('active'); $(postSlide).hide().removeClass('posts__active'); $(this).addClass('active'); $(postSlide).each(function(i, currentPostSlide) { if(currentTaxSlug == $(currentPostSlide).data('taxslug')){ $(currentPostSlide).fadeIn(500).css( "display", "grid" ); } }); } }); //Account Form---------------------------------------------- //Signup And Create Okta Account Ajax document.getElementById('familylife-equip-signup-form').addEventListener('submit', function(event) { event.preventDefault(); grecaptcha.ready(function() { grecaptcha.execute(FAMILYLIFE_EQUIP_SETTINGS.recaptchaSiteKey, {action: 'equip_signup'}).then(function(token) { let recaptchaToken = token; const accountForm = $("#familylife-equip-signup-form"); const accountFormSubmitButton = $('#fl_equip_account_save'); const ajaxUrl = accountForm.data('url'); const infoMessage = $('.fl-equip-account-save-notifications__email-validation'); const errorMessage = $('.fl-equip-account-save-notifications__error'); const submitLoadingIcon = $('.fl_account_submit-loading-icon'); const formEmailInput = $("#fl_account_email"); //Checkboxed values true/false accountForm.find('input[type="checkbox"]').each( function () { const hiddenInputSiblingID = $(this).attr('id') + '_hidden'; if( $(this).is(":checked") == true ){ $('#' + hiddenInputSiblingID).prop('disabled', true); }else{ $('#' + hiddenInputSiblingID).prop('disabled', false); } }) //All Form Fields let formFields = accountForm.serializeArray(); formFields = JSON.stringify(formFields); //UI Actions accountFormSubmitButton.val('Loading...').prop('disabled', true); $('.fl-equip-account-save-notifications').fadeOut(); submitLoadingIcon.show(); $.ajax({ url: ajaxUrl, type: 'post', data: { recaptchaToken: recaptchaToken, formFields: formFields, action: 'fl_equip_okta_register_user' }, error: function () { accountFormSubmitButton.val('Sign Up').prop('disabled', false); errorMessage.fadeIn(); submitLoadingIcon.hide(); }, success: function (response) { if( response == 'redirect-to-page' ) { window.location.href = FAMILYLIFE_EQUIP_SETTINGS.equipThankYouPageUrl; } if( response == 'okta-account-exists' ) { accountFormSubmitButton.val('Sign Up').prop('disabled', false); infoMessage.fadeIn(); infoMessage.css("display", "flex"); formEmailInput.focus(); submitLoadingIcon.hide(); } if( response == 'account-creation-error' ) { accountFormSubmitButton.val('Sign Up').prop('disabled', false); errorMessage.fadeIn(); submitLoadingIcon.hide(); } } }); }); }); }, false); //Submit Account Details Ajax (create/update account info) $("#familylife-equip-profile-form").submit(function (e) { e.preventDefault(); const accountForm = $(this); const accountFormSubmitButton = $('#fl_equip_account_save'); const ajaxUrl = accountForm.data('url'); const successMessage = $('.fl-equip-account-save-notifications__success'); const errorMessage = $('.fl-equip-account-save-notifications__error'); const submitLoadingIcon = $('.fl_account_submit-loading-icon'); //Checkboxed values true/false accountForm.find('input[type="checkbox"]').each( function () { const hiddenInputSiblingID = $(this).attr('id') + '_hidden'; if( $(this).is(":checked") == true ){ $('#' + hiddenInputSiblingID).prop('disabled', true); }else{ $('#' + hiddenInputSiblingID).prop('disabled', false); } }) //All Form Fields let formFields = $(this).serializeArray(); formFields = JSON.stringify(formFields); //UI Actions accountFormSubmitButton.val('Saving...').prop('disabled', true); $('.fl-equip-account-save-notifications').fadeOut(); submitLoadingIcon.show(); $.ajax({ url: ajaxUrl, type: 'post', data: { formFields: formFields, action: 'submit_form_fl_equip_account_details' }, error: function () { accountFormSubmitButton.val('Save Changes').prop('disabled', false); errorMessage.fadeIn(); submitLoadingIcon.hide(); }, success: function () { accountFormSubmitButton.val('Save Changes').prop('disabled', false); successMessage.fadeIn().delay(2000).fadeOut(); submitLoadingIcon.hide(); } }).done(function () { if( !accountFormSubmitButton.hasClass('fl_account_completed') ) { setTimeout(function () { $('.equip-redirect-profile-popup').delay(3000).addClass('popup-active'); window.location.href = FAMILYLIFE_EQUIP_SETTINGS.equipHomepageUrl; }, 1000); } }); }); //Check If Okta Account Exists On Email Input Out Of Focus $(".fl-equip-Input__fl_account_email").on("blur", function (e) { let formEmailInput = $(this); let formInputEmailValue = formEmailInput.val(); const ajaxUrl = $("#familylife-equip-signup-form").data('url'); const emailValidationInfoMessage = $('.fl-equip-account-save-notifications__email-validation'); if( formInputEmailValue.includes("@") && formInputEmailValue.includes(".") ) { formInputEmailValue = JSON.stringify(formInputEmailValue); $.ajax({ url: ajaxUrl, type: 'post', data: { formInputEmailValue: formInputEmailValue, action: 'fl_equip_signup_email_on_blur' }, error: function () { console.log("Something Went Wrong."); }, success: function (response) { if( response == 'email-input-okta-account-exists' ) { emailValidationInfoMessage.fadeIn(); emailValidationInfoMessage.css("display", "flex"); formEmailInput.focus(); }else{ formEmailInput.addClass("valid-okta-email"); emailValidationInfoMessage.fadeOut(); } } }); } }); //Change Colors When Email Input Is on Focus $(".fl-equip-Input__fl_account_email").on("focus", function (e) { $(this).removeClass("valid-okta-email"); }); //Toggle Other Hidden Fields - Account Form Page if($('#fl_account_title_other').is(":checked") == true){ $('#fl_account_custom_title').prop('disabled', false); $('#fl_account_custom_title_hidden').prop('disabled', true); } $('.fl-equip-Input__radio').on('click', function(){ if($(this).is(":checked") == true && $(this).attr("id") === 'fl_account_title_other'){ $('#fl_account_custom_title').prop('disabled', false); $('#fl_account_custom_title_hidden').prop('disabled', true); }else{ $('#fl_account_custom_title').prop('disabled', true).val(''); $('#fl_account_custom_title_hidden').prop('disabled', false); } }); const countryList = ['United States of America','Canada','Afghanistan','Albania','Algeria','Andorra','Angola','Antarctica','Antigua and Barbuda','Argentina','Armenia','Australia','Austria','Azerbaijan','Bahamas','Bahrain','Bangladesh','Barbados','Belarus','Belgium','Belize','Benin','Bhutan','Bolivia','Bosnia and Herzegovina','Botswana','Brazil','Brunei','Bulgaria','Burkina Faso','Burundi','Cape Verde','Cambodia','Cameroon','Central African Republic','Chad','Chile','China','Colombia','Comoros','Congo','Costa Rica','Croatia','Cuba','Cyprus','Czech Republic','Ivory Coast','Denmark','Djibouti','Dominica','Dominican Republic','Ecuador','Egypt','El Salvador','Equatorial Guinea','Eritrea','Estonia','Eswatini','Ethiopia','Faroe Islands','Fiji','Finland','France','Gabon','Gambia','Georgia','Germany','Ghana','Greece','Greenland','Grenada','Guam','Guatemala','Guernsey','Guinea','Guinea Bissau','Guyana','Haiti','Honduras','Hong Kong','Hungary','Iceland','India','Indonesia','Iran','Iraq','Ireland','Israel','Italy','Jamaica','Japan','Jersey','Jordan','Kazakhstan','Kenya','Kiribati','North Korea','South Korea','Kuwait','Kyrgyzstan','Laos','Latvia','Lebanon','Lesotho','Liberia','Libya','Liechtenstein','Lithuania','Luxembourg','Macao','Madagascar','Malawi','Malaysia','Maldives','Mali','Malta','Marshall Islands','Mauritania','Mauritius','Mexico','Moldova','Monaco','Mongolia','Montenegro','Morocco','Mozambique','Myanmar','Namibia','Nauru','Nepal','Netherlands','New Caledonia','New Zealand','Nicaragua','Niger','Nigeria','Niue','Northern Mariana Islands','Norway','Oman','Pakistan','Palau','Palestine','Panama','Papua New Guinea','Paraguay','Peru','Philippines','Poland','Portugal','Puerto Rico','Qatar','North Macedonia','Romania','Russia','Rwanda','Saint Kitts and Nevis','Saint Lucia','Saint Vincent and the Grenadines','Samoa','San Marino','Sao Tome and Principe','Saudi Arabia','Senegal','Serbia','Seychelles','Sierra Leone','Singapore','Slovakia','Slovenia','Solomon Islands','Somalia','South Africa','South Sudan','Spain','Sri Lanka','Sudan','Suriname','Sweden','Switzerland','Syria','Taiwan','Tajikistan','Tanzania','Thailand','East Timor','Togo','Tonga','Trinidad and Tobago','Tunisia','Turkey','Turkmenistan','Tuvalu','Uganda','Ukraine','United Arab Emirates','United Kingdom','Uruguay','Uzbekistan','Vanuatu','Venezuela','Vietnam','Yemen','Zambia','Zimbabwe']; const states = ['Alabama','Alaska','American Samoa','Arizona','Arkansas','California','Colorado','Connecticut','Delaware','District of Columbia','Federated States of Micronesia','Florida','Georgia','Guam','Hawaii','Idaho','Illinois','Indiana','Iowa','Kansas','Kentucky','Louisiana','Maine','Marshall Islands','Maryland','Massachusetts','Michigan','Minnesota','Mississippi','Missouri','Montana','Nebraska','Nevada','New Hampshire','New Jersey','New Mexico','New York','North Carolina','North Dakota','Northern Mariana Islands','Ohio','Oklahoma','Oregon','Palau','Pennsylvania','Puerto Rico','Rhode Island','South Carolina','South Dakota','Tennessee','Texas','Utah','Vermont','Virgin Island','Virginia','Washington','West Virginia','Wisconsin','Wyoming']; $.each(countryList, function (i, item) { $('#fl_account_country').append($('