import React, { Component, PropTypes } from 'react'
import { connect } from 'react-redux'
import { bindActionCreators } from 'redux'
import * as actions from '../actions'
import resolve from '../../utils/resolve'
import Question from '../components/Forms/Question'
import Input from '../components/Forms/Input'
import Select from '../components/Forms/Select'
import Group from '../components/Group'
import ResultATMP from '../components/ResultATMP'

/*
  C'est ici qu'est définie la suite de questions à poser.
*/
class Conversation extends Component {
  state = { hidden: true }
  componentDidMount = () => setTimeout(() => this.setState({hidden: false}), this.props.delay)
  render() {
    if (this.state.hidden) return null
    let { actions, form: f, submitted} = this.props
    return (
      <div id="conversation">
        <Question
          title="Résultat question 1"
          question="Question 1 ?"
          when={true}
          form="un" formName="un"
          fields={['resume']}
          possibleChoices ={[
            {value: 'oui', text: 'Oui' },
            {value: 'non', text: 'Non' }
          ]}/>

        <Group name="AT / MP" when={resolve(f, 'un.resume.value')}>
          <Question
            title="Taux de risque connu"
            question="Connaissez-vous votre taux de risque AT/MP ?"
            form="tauxRisqueConnu" formName="tauxRisqueConnu"
            fields={['resume']}
            possibleChoices ={[
              {value: 'oui', text: 'Oui' },
              {value: 'non', text: 'Non' }
            ]}
            helpText="La cotisation d’accidents du travail (AT) et maladies professionnelles (MP). Son taux est accessible sur net-entreprises.fr"/>
          <Input
            title="Taux de risque"
            question="Entrez votre taux de risque"
            when={resolve(f, 'tauxRisqueConnu.resume.value') == 'oui'}
            form="tauxRisque" formName="tauxRisque"
            fields={['resume']}
            attributes={{
              type: "number",
              step: "any",
              min: "0",
              max: "200",
              placeholder: "1.1"
            }}
            unit="%" />
          <Group when={resolve(f, 'tauxRisqueConnu.resume.value') == 'non'}>
            <Select
              title="Code de risque sélectionné"
              question="Sélectionnez votre code risque dans cette liste"
              form="selectTauxRisque" formName="selectTauxRisque"
              fields={['resume']}
              optionsURL="https://cdn.rawgit.com/laem/taux-collectifs-cotisation-atmp/master/taux-2016.json" />
            <Input
              title="Effectif entreprise"
              question="Quel est l'effectif de votre entreprise ?"
              when={typeof resolve(f, 'selectTauxRisque.resume.value') == 'object'}
              form="effectif" formName="effectif"
              fields={['resume']}
              attributes={{
                type: "number",
                step: "1",
                min: "0",
                placeholder: "29"
              }} />
            <ResultATMP f={f} submitted={submitted}/>
          </Group>
        </Group>

    </div>)
  }
}

const selectActions = (dispatch) => ({
  actions: bindActionCreators(actions, dispatch)
})

export default connect(state => state, selectActions)(Conversation)

@@ -854,59 +854,106 @@
 le=%22
-R%C3%A9sultat question 1%22%0A          question=%22Question 1
+Jeune Entreprise Innovante%22%0A          question=%22Disposez-vous du statut Jeune Entreprise Innovante
  ?%22%0A
@@ -990,18 +990,19 @@
   form=%22
-un
+jei
 %22 formNa
@@ -1005,18 +1005,19 @@
 rmName=%22
-un
+jei
 %22%0A      
@@ -1182,28 +1182,136 @@
    %3C
-Group name=%22AT / MP%22
+Input%0A          title=%22%25 alternants%22%0A          question=%22Quel est le pourcentage d'alternants dans votre entreprise ?%22%0A         
  whe
@@ -1325,18 +1325,19 @@
 lve(f, '
-un
+jei
 .resume.
@@ -1343,16 +1343,491 @@
 .value')
+ != undefined%7D%0A          form=%22pourcentage_alternants%22 formName=%22pourcentage_alternants%22%0A          fields=%7B%5B'resume'%5D%7D%0A          attributes=%7B%7B%0A            type: %22number%22,%0A            step: %22any%22,%0A            min: %220%22,%0A            max: %22100%22%0A          %7D%7D%0A          unit=%22%25%22%0A          helpText=%22Cette information permet de calculer le montant de la Contribution Suppl%C3%A9mentaire %C3%A0 l'Apprentissage%22%0A        /%3E%0A%0A      %3CGroup name=%22AT / MP%22 when=%7Bsubmitted%5B'pourcentage_alternants'%5D
 %7D%3E%0A     

Update conversation with JEI & % alternants