PageSourceSearch

https://americansailing.com/wp-content/litespeed/js/6bdfb588de91d3c122bd77645b3a83c9.js?ver=b818e

js americansailing.com collected 2026-09-24 09:14:53 UTC 6,050 bytes, 16 lines download raw bytes

1jQuery(document).ready(function($){$('#fmi-connect-form').on('submit',function(e){e.preventDefault();var $form=$(this);var $button=$('#fmi-connect-btn');var $message=$('#fmi-message');var asid=$('#fmi-asid').val().trim();var email=$('#fmi-email').val().trim();if(!asid||!email){showMessage('Please fill in all required fields.','error');return}
2if(!isValidEmail(email)){showMessage('Please enter a valid email address.','error');return}
3$form.find('input, button').prop('disabled',!0);$button.text(asa_fmi_ajax.messages.connecting);hideMessage();$.ajax({url:asa_fmi_ajax.ajax_url,type:'POST',data:{action:'asa_fmi_connect_user',nonce:asa_fmi_ajax.nonce,asid:asid,email:email},success:function(response){if(response.success){showMessage(response.data.message,'success');$form[0].reset();setTimeout(function(){location.reload()},2000)}else{showMessage(response.data.message,'error')}},error:function(){showMessage(asa_fmi_ajax.messages.error,'error')},complete:function(){$form.find('input, button').prop('disabled',!1);$button.text('Connect Account')}})});$('#fmi-disconnect-btn').on('click',function(e){e.preventDefault();if(!confirm('Are you sure you want to disconnect your FileMaker account?')){return}
4var $button=$(this);var $container=$('.fmi-connect-container');$button.prop('disabled',!0).text('Disconnecting...');$.ajax({url:asa_fmi_ajax.ajax_url,type:'POST',data:{action:'asa_fmi_disconnect_user',nonce:asa_fmi_ajax.nonce},success:function(response){if(response.success){showMessage(response.data.message,'success');setTimeout(function(){location.reload()},2000)}else{showMessage(response.data.message,'error')}},error:function(){showMessage(asa_fmi_ajax.messages.error,'error')},complete:function(){$button.prop('disabled',!1).text('Disconnect')}})});function showMessage(message,type){var $message=$('#fmi-message');var cssClass=type==='success'?'fmi-message-success':'fmi-message-error';$message.removeClass('fmi-message-success fmi-message-error').addClass(cssClass).html('<p>'+message+'</p>').show();if(type==='success'){setTimeout(function(){hideMessage()},5000)}}
5function hideMessage(){$('#fmi-message').hide()}
6function isValidEmail(email){var emailRegex=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;return emailRegex.test(email)}
7$('#fmi-asid').on('input',function(){var value=$(this).val().trim();if(value.length>0&&value.length<3){$(this).addClass('fmi-input-error')}else{$(this).removeClass('fmi-input-error')}});$('#fmi-email').on('input',function(){var value=$(this).val().trim();if(value.length>0&&!isValidEmail(value)){$(this).addClass('fmi-input-error')}else{$(this).removeClass('fmi-input-error')}});$('.fmi-input').on('focus',function(){$(this).parent().addClass('fmi-form-group-focused')}).on('blur',function(){$(this).parent().removeClass('fmi-form-group-focused')});$('#fmi-password').on('input',function(){var value=$(this).val();var strength=0;if(value.length>=8)strength++;if(/[a-z]/.test(value))strength++;if(/[A-Z]/.test(value))strength++;if(/[0-9]/.test(value))strength++;if(/[^A-Za-z0-9]/.test(value))strength++;var $indicator=$('.fmi-password-strength');var strengthText=['Very Weak','Weak','Fair','Good','Strong'];var strengthClass=['very-weak','weak','fair','good','strong'];$indicator.removeClass('very-weak weak fair good strong').addClass(strengthClass[strength-1]).text(strengthText[strength-1])});var asidSuggestions=[];$('#fmi-asid').on('input',function(){var value=$(this).val().trim();if(value.length>=2){showSuggestions(value)}else{hideSuggestions()}});function showSuggestions(query){var $suggestions=$('.fmi-suggestions');if($suggestions.length===0){$('#fmi-asid').after('<div class="fmi-suggestions"></div>');$suggestions=$('.fmi-suggestions')}
8var filtered=asidSuggestions.filter(function(suggestion){return suggestion.toLowerCase().includes(query.toLowerCase())});if(filtered.length>0){var html='<ul>';filtered.slice(0,5).forEach(function(suggestion){html+='<li data-value="'+suggestion+'">'+suggestion+'</li>'});html+='</ul>';$suggestions.html(html).show()}else{hideSuggestions()}}
9function hideSuggestions(){$('.fmi-suggestions').hide()}
10$(document).on('click','.fmi-suggestions li',function(){var value=$(this).data('value');$('#fmi-asid').val(value);hideSuggestions()});$(document).on('click',function(e){if(!$(e.target).closest('.fmi-suggestions, #fmi-asid').length){hideSuggestions()}});$('.fmi-input').on('keypress',function(e){if(e.which===13){e.preventDefault();$('#fmi-connect-form').submit()}});function setLoadingState($element,isLoading){if(isLoading){$element.addClass('fmi-loading').prop('disabled',!0)}else{$element.removeClass('fmi-loading').prop('disabled',!1)}}
11$(document).ajaxError(function(event,xhr,settings,error){console.error('AJAX Error:',error);showMessage('A network error occurred. Please try again.','error')});function animateSuccess($element){$element.addClass('fmi-success-animation');setTimeout(function(){$element.removeClass('fmi-success-animation')},1000)}
12$('#fmi-reset-form').on('click',function(e){e.preventDefault();if(confirm('Are you sure you want to clear all fields?')){$('#fmi-connect-form')[0].reset();hideMessage();$('.fmi-input').removeClass('fmi-input-error')}});$('.fmi-input').on('focus',function(){$(this).attr('aria-describedby','fmi-help-text')}).on('blur',function(){$(this).removeAttr('aria-describedby')});$('.fmi-suggestions').on('keydown','li',function(e){var $items=$('.fmi-suggestions li');var currentIndex=$items.index(this);switch(e.which){case 38:e.preventDefault();if(currentIndex>0){$items.eq(currentIndex-1).focus()}
13break;case 40:e.preventDefault();if(currentIndex<$items.length-1){$items.eq(currentIndex+1).focus()}
14break;case 13:e.preventDefault();$(this).click();break;case 27:e.preventDefault();hideSuggestions();$('#fmi-asid').focus();break}});if(window.innerWidth<=768){$('.fmi-input').attr('autocomplete','off');$('.fmi-input').attr('autocorrect','off');$('.fmi-input').attr('autocapitalize','off')}
15var debounceTimer;$('.fmi-input').on('input',function(){clearTimeout(debounceTimer);debounceTimer=setTimeout(function(){},300)})})
16;

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.