// Buat sebagai variabel global
window.formatNumber = function(value) {
  if (!value && value !== 0) return '';
  
  // Split nilai menjadi bagian integer dan desimal (jika ada)
  const parts = value.toString().split('.');
  const integerPart = parts[0];
  const decimalPart = parts.length > 1 ? parts[1].substring(0, 3) : '';
  
  // Format bagian integer dengan separator titik ribuan
  const formattedInteger = integerPart.replace(/\B(?=(\d{3})+(?!\d))/g, '.');
  
  // Gabungkan kembali dengan bagian desimal (jika ada)
  return decimalPart ? `${formattedInteger},${decimalPart}` : formattedInteger;
};

window.parseNumberInput = function(value) {
  if (value === undefined || value === null) return '';
  
  // Validasi input: hanya menerima angka, titik, dan koma
  // Periksa apakah ada lebih dari satu koma, jika ya, ambil yang pertama
  let cleanValue = value.toString();
  
  // Jika ada koma, pastikan tidak ada lebih dari 3 digit setelahnya
  if (cleanValue.includes(',')) {
    const parts = cleanValue.split(',');
    // Bagian integer (sebelum koma)
    const integerPart = parts[0].replace(/\./g, '');
    // Bagian desimal (setelah koma), maksimal 3 digit
    const decimalPart = parts[1].substring(0, 3);
    // Gabungkan kembali dengan titik untuk JavaScript
    cleanValue = integerPart + '.' + decimalPart;
  } else {
    // Jika tidak ada koma, cukup hapus semua titik
    cleanValue = cleanValue.replace(/\./g, '');
  }
  
  return cleanValue;
};