import './survey.scss';
import $ from 'jquery';
import {createElement} from "../../_global/scripts/helpers";
import {SurveyComplex, SurveySimple} from "./SurveyData";
import {createButton} from "../../atoms/button/ButtonComponent";
import IHKSurvey from "./survey";

export const createSurvey = ({
  kicker = 'Schnellumfrage',
  headline = 'Einführung von 2G im Einzelhandel: Was halten Sie davon?',
  copy = 'Hier können Sie abstimmen:',
  method = 'get',
  data = SurveySimple,
}) => {
  const section = createElement('section', ['participation']);
  const container = createElement('div', ['container'], null, section);
  const survey = createElement('div', ['vot-teaser', 'survey'], null, container);

  const textBox = createElement('div', ['text-box'], null, survey);
  createElement('p', ['kicker'], kicker, textBox);
  createElement('h3', [], headline, textBox);
  createElement('p', [], copy, textBox);

  const formBox = createElement('div', ['form-box'], null, survey);
  const form = createElement('form', ['vot-form'], null, formBox);
  form.id = 'voting-form';
  form.action = './html/survey-simple.html';
  form.dataset.showResultUrl = './html/survey-simple.html';
  form.dataset.showResult = 'false';
  form.method = method;

  data.map((group) => {
    const fieldset = createElement('fieldset', [], null, form);
    if (group.legend) {
      createElement('legend', [], group.legend, fieldset);
    }
    const choicesWrapper = createElement('div', ['choices-wrapper'], null, fieldset);
    const choicesList = createElement('ul', ['choices'], null, choicesWrapper);
    group.options.map((option, index) => {
      const id = group.name + '-' + index;
      const li = createElement('li', ['choice'], null, choicesList);
      const input = createElement('input', [], null, li);
      const label = createButton({
        elementType: 'label',
        color: 'secondary-light',
        label: option,
        size: 'medium',
      })
      li.appendChild(label);
      input.name = group.name;
      input.id = id;
      input.type = 'radio';
      input.value = option;
      label.setAttribute('for', id);
    })
  })

  new IHKSurvey($(survey));

  return section;
}