async function buscarArticulo(articuloNum, codMateria) {
  const variantes = [
    `artículo ${articuloNum}`,
    `artículo: ${articuloNum}`,
    `art. ${articuloNum}`,
    `art. n° ${articuloNum}`,
    `artículo n° ${articuloNum}`,
    `art: ${articuloNum}`,
    `art ${articuloNum}`
  ];

  let nombrePDF = `doc_pdf/${codMateria}.pdf`; // ← Construimos nombre dinámicamente
  const loadingTask = pdfjsLib.getDocument(nombrePDF);

  try {
    const pdf = await loadingTask.promise;
    let textoCompleto = '';

    for (let i = 1; i <= pdf.numPages; i++) {
      const page = await pdf.getPage(i);
      const content = await page.getTextContent();
      const textos = content.items.map(item => item.str).join(' ');
      textoCompleto += textos + '\n';
    }

    const texto = textoCompleto.toLowerCase();

    let inicio = -1;
    let etiquetaEncontrada = '';

    for (let variante of variantes) {
      const pos = texto.indexOf(variante.toLowerCase());
      if (pos !== -1) {
        inicio = pos;
        etiquetaEncontrada = variante;
        break;
      }
    }

    const resultado = document.getElementById("resultado");

    if (inicio === -1) {
      resultado.textContent = "❌ No se ubicó el artículo.";
      return;
    }

    const regexSiguiente = /art(ículo|\.)(:| n°)?\s*\d+/gi;
    regexSiguiente.lastIndex = inicio + 10;

    const siguiente = regexSiguiente.exec(texto);
    const fin = siguiente ? siguiente.index : texto.length;

    const fragmento = texto.substring(inicio, fin).trim();
    resultado.textContent = `✅ Se ubicó el: "${etiquetaEncontrada}":\n\n` + fragmento;

  } catch (e) {
    console.error(e);
    document.getElementById("resultado").textContent = "⚠️ Error al procesar el PDF.";
  }
}


  function buscar() {
    const detalleR = document.querySelector(".detalle_txt")?.textContent || "";
    const match = detalleR.match(/\(?ART:?[\s]*([0-9]+)\)?/i);
    const articulo = match ? match[1] : null;
  
    const select = document.getElementById("materias");
    const codMateria = select.value; // ← Usamos el valor seleccionado
    if (!codMateria) {
      alert("⚠️ No se ha seleccionado una materia.");
      return;
    }
  
    if (articulo) {
      buscarArticulo(articulo, codMateria); // ← le pasamos el codMateria
    } else {
      alert("⚠️ Formato no válido de búsqueda. ejemplo (ART: 12)");
    }
  }
  
