// Crear un objeto FileReader para leer el archivo csv
var reader = new FileReader();

// Definir una función que se ejecuta cuando el archivo se carga
reader.onload = function(event) {
  // Obtener el contenido del archivo como texto
  var text = event.target.result;

  // Usar una librería como PapaParse para convertir el texto en un array de objetos
  var data = Papa.parse(text, {header: true}).data;

  // Crear un array con los nombres de los participantes o lo que se rifa
  var names = data.map(function(item) {
    return item.name;
  });

  // Crear un canvas para dibujar la ruleta
  var canvas = document.getElementById("canvas");
  var ctx = canvas.getContext("2d");

  // Definir el radio y el centro de la ruleta
  var radius = Math.min(canvas.width, canvas.height) / 2;
  var center = {x: canvas.width / 2, y: canvas.height / 2};

  // Definir el ángulo inicial y el incremento por cada segmento de la ruleta
  var startAngle = -Math.PI / names.length;
  var angleIncrement = Math.PI * 2 / names.length;

  // Dibujar cada segmento de la ruleta con un color aleatorio y el nombre correspondiente
  for (var i = 0; i < names.length; i++) {
    // Calcular el ángulo final del segmento
    var endAngle = startAngle + angleIncrement;

    // Elegir un color aleatorio para el segmento
    var color = "hsl(" + Math.floor(Math.random() * 360) + ",100%,50%)";

    // Dibujar el segmento con el color elegido
    ctx.beginPath();
    ctx.moveTo(center.x, center.y);
    ctx.arc(center.x, center.y, radius, startAngle, endAngle);
    ctx.fillStyle = color;
    ctx.fill();
    
    // Dibujar el borde del segmento con color negro
    ctx.lineWidth = "1";
    ctx.strokeStyle="black";
    ctx.stroke();

    // Calcular el punto medio del ángulo del segmento para colocar el nombre
    var midAngle = (startAngle + endAngle) / 2;

    // Calcular las coordenadas del punto medio usando trigonometría
    var x = center.x + Math.cos(midAngle) * radius * .8;
    var y = center.y - Math.sin(midAngle) * radius * .8;

     // Dibujar el nombre con color blanco y fuente Arial 
     ctx.font="20px Arial";
     ctx.fillStyle="white";
     ctx.textAlign="center";
     ctx.textBaseline="middle";
     ctx.fillText(names[i], x ,y);

     // Actualizar el ángulo inicial para el siguiente segmento 
     startAngle += angleIncrement;
   }
};

// Leer el archivo csv seleccionado por el usuario como texto 
var fileInput= document.getElementById("fileInput");
fileInput.onchange=function(){
   reader.readAsText(fileInput.files[0]);
};
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence