export function formatPhoneNumber(phone: string): string {
  if (!phone || phone === "+") return "";

  // Eliminar espacios y el + si existe
  let cleanPhone = phone.replace(/\s/g, "");
  let hasPlus = cleanPhone.startsWith("+");

  if (hasPlus) {
    cleanPhone = cleanPhone.substring(1);
  }

  // Si ya tiene 549, solo agregar +
  if (cleanPhone.startsWith("549")) {
    return "+" + cleanPhone;
  }

  // Si tiene 54, agregar 9 y +
  if (cleanPhone.startsWith("54")) {
    const number = cleanPhone.substring(2);
    return "+549" + number;
  }

  // Si empieza con 9, agregar 54 y +
  if (cleanPhone.startsWith("9")) {
    return "+549" + cleanPhone;
  }

  // Para cualquier otro número, agregar +549
  return "+549" + cleanPhone;
}

export function isValidPhoneNumber(phone: string): boolean {
  let cleanPhone = phone.trim();

  // Remover '+'
  if (cleanPhone.startsWith("+")) {
    cleanPhone = cleanPhone.slice(1);
  }

  // Debe contener únicamente números
  if (!/^\d+$/.test(cleanPhone)) {
    return false;
  }

  // Remover prefijo internacional de Argentina
  if (cleanPhone.startsWith("549")) {
    // Celular internacional
    cleanPhone = cleanPhone.slice(3);
  } else if (cleanPhone.startsWith("54")) {
    // Fijo o celular sin el 9
    cleanPhone = cleanPhone.slice(2);
  }

  // Debe quedar un número nacional de 8 a 10 dígitos
  return /^[1-9]\d{7,9}$/.test(cleanPhone);
}
