// 用于调试
console.log("ISBN验证脚本已加载 v2.0");
$(document).ready(function() {
    console.log("DOM已加载,开始设置ISBN验证");
    // 获取ISBN输入框
    const isbnInput = $("#isbn");
    if (isbnInput.length === 0) {
        console.error("找不到ISBN输入字段!");
        return;
    }
    console.log("找到ISBN输入框:", isbnInput.val());
    // 添加ISBN帮助文本和错误提示
    isbnInput.after('
请输入有效的10位或13位ISBN号码
');
    isbnInput.after('请输入有效的ISBN-10或ISBN-13格式');
    // 验证ISBN函数
    function validateISBN(isbn) {
        // 空值视为有效
        if (!isbn || isbn.trim() === '') return true;
        // 移除所有连字符和空格
        isbn = isbn.replace(/[-\s]/g, '');
        console.log("验证ISBN:", isbn, "长度:", isbn.length);
        // 长度检查
        if (isbn.length !== 10 && isbn.length !== 13) {
            console.log("ISBN长度无效");
            return false;
        }
        // ISBN-10验证
        if (isbn.length === 10) {
            // 检查前9位是否为数字,最后一位可以是X
            if (!/^\d{9}[\dXx]$/.test(isbn)) {
                console.log("ISBN-10格式错误");
                return false;
            }
            let sum = 0;
            for (let i = 0; i < 9; i++) {
                sum += parseInt(isbn[i]) * (10 - i);
            }
            // 处理校验位
            let checkDigit = isbn[9].toUpperCase() === 'X' ? 10 : parseInt(isbn[9]);
            sum += checkDigit;
            let valid = (sum % 11 === 0);
            console.log("ISBN-10校验结果:", valid);
            return valid;
        }
        // ISBN-13验证
        if (isbn.length === 13) {
            // 检查是否全是数字
            if (!/^\d{13}$/.test(isbn)) {
                console.log("ISBN-13必须全是数字");
                return false;
            }
            let sum = 0;
            for (let i = 0; i < 12; i++) {
                sum += parseInt(isbn[i]) * (i % 2 === 0 ? 1 : 3);
            }
            let checkDigit = (10 - (sum % 10)) % 10;
            let valid = (checkDigit === parseInt(isbn[12]));
            console.log("ISBN-13校验结果:", valid);
            return valid;
        }
        return false;
    }
    // 添加输入事件处理
    isbnInput.on('input', function() {
        const value = $(this).val().trim();
        if (value === '') {
            // 不验证空值
            $(this).removeClass('is-invalid is-valid');
        } else if (validateISBN(value)) {
            $(this).removeClass('is-invalid').addClass('is-valid');
        } else {
            $(this).removeClass('is-valid').addClass('is-invalid');
        }
    });
    // 表单提交验证
    const form = $(".book-form");
    form.on('submit', function(event) {
        const isbnValue = isbnInput.val().trim();
        console.log("表单提交,ISBN值:", isbnValue);
        // 仅当有ISBN且无效时才阻止提交
        if (isbnValue !== '' && !validateISBN(isbnValue)) {
            event.preventDefault();
            event.stopPropagation();
            isbnInput.addClass('is-invalid');
            isbnInput.focus();
            alert('请输入有效的ISBN号码,或将此字段留空');
            console.log("表单提交被阻止 - ISBN无效");
            return false;
        }
        console.log("表单提交继续 - ISBN有效或为空");
    });
    // 处理封面图片预览
    $('#cover').change(function() {
        const file = this.files[0];
        if (file) {
            const reader = new FileReader();
            reader.onload = function(e) {
                $('#coverPreview').html(`
`);
            };
            reader.readAsDataURL(file);
        } else {
            // 默认回退
            if (typeof bookCoverUrl !== 'undefined' && bookCoverUrl) {
                $('#coverPreview').html(`
`);
            } else {
                $('#coverPreview').html(`
                    
                        
                        暂无封面
                    
                `);
            }
        }
    });
    // 在页面加载时初始验证现有ISBN
    if (isbnInput.val()) {
        isbnInput.trigger('input');
    }
    // 添加帮助样式
    $("