/**
 * HVAC Community Events Admin JavaScript
 */

(function($) {
    'use strict';

    $(document).ready(function() {
        
        // Handle settings form submission
        $('.hvac-settings-form').on('submit', function(e) {
            var $form = $(this);
            var $submitBtn = $form.find('input[type="submit"]');
            
            // Update button text to show saving
            $submitBtn.val('Saving...');
        });
        
        // Tab navigation - only for hash-based tabs
        // The settings page uses URL parameters for tabs, so we don't need to handle those
        $('.nav-tab').each(function() {
            var $tab = $(this);
            var href = $tab.attr('href');
            
            // Only attach click handler for hash links
            if (href && href.charAt(0) === '#') {
                $tab.on('click', function(e) {
                    e.preventDefault();
                    
                    // Update active tab
                    $('.nav-tab').removeClass('nav-tab-active');
                    $tab.addClass('nav-tab-active');
                    
                    // Show/hide tab content
                    $('.hvac-tab-content').hide();
                    // Only try to show content if href is a valid selector (starts with #)
                    if (href && href.charAt(0) === '#') {
                        $(href).show();
                    }
                    
                    // Update URL hash without reload
                    if (history.pushState) {
                        history.pushState(null, null, href);
                    }
                });
            }
        });
        
        // Show active tab on load (only for hash-based tabs)
        var hash = window.location.hash;
        if (hash && hash.charAt(0) === '#') {
            var $activeTab = $('.nav-tab').filter(function() {
                return $(this).attr('href') === hash;
            });
            if ($activeTab.length) {
                $activeTab.trigger('click');
            }
        }
        
        // Prevent duplicate content rendering
        var $adminContent = $('.hvac-admin-content-wrapper');
        if ($adminContent.length > 1) {
            console.warn('Duplicate admin content detected, removing duplicates');
            $adminContent.not(':first').remove();
        }
        
        // Zoho connection test
        $('#test-zoho-connection').on('click', function(e) {
            e.preventDefault();
            
            var $button = $(this);
            var originalText = $button.text();
            
            $button.text('Testing...').prop('disabled', true);
            
            $.ajax({
                url: ajaxurl,
                type: 'POST',
                data: {
                    action: 'hvac_zoho_test_connection',
                    nonce: hvac_admin.nonce
                },
                success: function(response) {
                    if (response.success) {
                        alert('Connection successful!');
                    } else {
                        alert('Connection failed: ' + response.data);
                    }
                },
                error: function() {
                    alert('An error occurred while testing the connection.');
                },
                complete: function() {
                    $button.text(originalText).prop('disabled', false);
                }
            });
        });
        
    });

})(jQuery);