<!-- 
  **Project: DMPRoadmap
  **Description: This block sets up the type of question, its guidance.
  **Arguments transferred: an instance of "question"
  **Copyright: Digital Curation Centre and California Digital Library
-->

<div class="question-div">
  <!--question format-->
  <%
     answers = question.plan_answers(plan.id)
     if answers.present?
       answer = answers.first
     else
       answer = Answer.new
     end
     question_id = question.id
     q_format = question.question_format
   %>

  <div id="question-form-<%= question_id %>" class="question-form">
    <%= semantic_form_for answer, :url => {controller: :answers, action: :update }, html: {method: "put", class: "roadmap-form"}, remote: true do |f| %>
      <fieldset class="standard">
        <%= f.input :id, as: :hidden, input_html: { value: answer.id } %>
        <%= f.input :plan_id, as: :hidden, input_html: { value: @plan.id } %>
        <%= f.input :user_id, as: :hidden, input_html: { value: current_user.id } %>
        <%= f.input :question_id, as: :hidden, input_html: { value: question_id, class: "question_id" } %>
        <%= f.hidden_field :lock_version, id: "answer_lock_version-#{question_id}" %>

        <!-- Question text -->
        <!-- need 'raw' to stop formtastic f.*ing up the formatastic formatting -->
        <%= raw question.text %>

        <!--Example Answer area-->
        <% if question.annotations.where('type <> ?',Annotation.types[:example_answer]).any? %>
          <% annotation = question.annotations.where('type <> ?',Annotation.types[:example_answer]).order(:created_at).first %>
          <% if annotation.text.present? %>   <!-- could be present but empty -->
            <div class="suggested-answer-div">
              <span class="suggested-answer-intro">
                  <%="#{annotation.org.abbreviation} "%> <%=_('Example of answer')%>
              </span>

              <div class="suggested-answer-border">
                <p class="suggested-answer">
                  <%= raw annotation.text %>
                </p>
              </div>
            </div>
          <% end %>
        <% end %>

        <!-- used for optimistic locking where a conflict is detected -->
        <div id="answer_notice_<%=question_id%>" class="answer_notice"></div>

        <!-- if the question has multiple choices pull out the options -->
        <% if question.option_based? %>
          <% options = question.question_options.by_number %>

          <!-- work through the various format options -->
          <% if q_format.checkbox? %>
            <ol class="choices-group">
              <% options.each do |op| %>
                <li>
                  <%= f.check_box(:question_option_ids, { multiple: true, checked: answer.has_question_option(op.id), disabled: readonly }, op.id, nil) %>
                  <%= raw op.text %>
                </li>
              <% end %>
            </ol>
          <% elsif q_format.radiobuttons? %>
            <ol class="choices-group">
              <% options.each do |op| %>
                <li>
                  <%= f.radio_button :question_option_ids, op.id, { checked: answer.has_question_option(op.id), id: "answer_option_ids_#{op.id}", disabled: readonly } %>
                  <%= raw op.text %>
                </li>
              <% end %>
            </ol>
          <% elsif q_format.dropdown? || q_format.multiselectbox? %>
            <% 
              options_html = ""
              options.each do |op|
                  options_html += answer.has_question_option(op.id) ?
                    "<option value=#{op.id} selected=\"selected\">#{op.text}</option>" :
                    "<option value=#{op.id}>#{op.text}</option>" 
              end
            %>
              <%= select_tag('answer[question_option_ids]', raw(options_html),
              {multiple: q_format.multiselectbox?, include_blank: q_format.dropdown?, disabled: readonly }) %>
          <% end %>


          <!-- Comment text area for the multiple choice answers-->
          <% if question.option_comment_display == true %>
            <%= label_tag("answer-text-#{question.id}".to_sym, _('Comment')) %>
            <% if readonly %>
              <p><%= raw(answer.text) %></p>
            <% else %>
              <%= text_area_tag("answer-text-#{question.id}".to_sym, answer.text, class: "tinymce") %>
            <% end %>
          <%end%>
        <% end %>  <!-- if multiple choice -->

        <% if q_format.textfield? %>
          <% if readonly %>
            <p><%= strip_tags(answer.text) %></p>
          <% else %>
            <%= text_field_tag("answer-text-#{question_id}".to_sym, strip_tags(answer.text), { class: "question_text_field" }) %>
          <% end %>
        <% elsif q_format.textarea? %>
          <% if readonly %>
            <p><%= raw(answer.text) %></p>
          <% else %>
            <%= text_area_tag("answer-text-#{question_id}".to_sym, answer.text, class: "tinymce") %>
          <% end %>
        <% end %>

        <% if !readonly %>
				  <input type="submit" class="form-submit" value="<%= _('Save') %>" />
        <% end %>
				<div id="saving-<%= question_id %>" class="saving-message" style="display:none;"><%= _('Saving...')%></div>
				
				<span id="<%= question_id %>-unsaved" class="label label-inverse answer-unsaved" style="display:none;"><%= _('Unsaved changes') %></span>
				
      </fieldset>   <!-- f.inputs -->
      
    <% end %>
  </div>   <!-- question-form -->

  <% if answer.nil? || !answer.text.present? %>
    <span id="<%= question_id %>-status" class="label label-warning answer-status"><%= _('Not answered yet') %></span>
  <% else %>
    <span id="<%= question_id %>-status" class="label label-info answer-status"><%= _('Answered')%> <abbr class="timeago" data-time="<%= answer.updated_at.iso8601 %>" title="<%= answer.updated_at.iso8601 %>"><%= answer.updated_at.iso8601 %></abbr><%= _(' by')%> <%= answer.user.name %></span>
  <% end %>
</div>   <!-- question-div -->
      
<!-- Question right column -->
<div class="question-area-right-column">

    <div id="right-area-tabs-<%= question_id %>" class="question_right_column_nav">
      <% comments = answer.notes.all %> 
      <%= hidden_field_tag :question_id, question_id, class: "question_id" %>
      <ul class="question_right_column_ul">
      <% annotations = question.annotations.where("type <> ?", Annotation.types[:guidance]) %>
      <% if annotations.present? || question_guidances[question_id] %>
        <!-- add css to comment div-->
        <% css_style_comment_div = "display: none;"%>
        <% css_style_guidance_div = ""%>
        <li class="active guidance_tab_class">
          <%= link_to _('Guidance'), "#", class: "guidance_accordion_button" %>
        </li>
        <li class="comment_tab_class">
          <% if comments.count > 0%>
            <% comments_label_with_count = "#{_('Notes')} (#{comments.count})"%>
            <%= link_to comments_label_with_count , "#", id: "notes_number_#{question_id}", class: "comments_accordion_button" %>
          <% else %>
            <%= link_to _('Share note'), "#", id: "notes_number_#{question_id}", class: "comments_accordion_button" %>
          <% end %>
        </li>
        <% else %>
          <!-- remove the css from comment div-->
          <% css_style_comment_div = ""%>
          <% css_style_guidance_div = "display: none;"%>
          <li>
            <% if comments.count > 0 %>
              <% comments_label_with_count = "#{_('Notes')} (#{comments.count})"%>
              <p id="notes_number_<%=question_id%>" class= "accordion_label"><%= comments_label_with_count %></p>
            <% else %>
              <p id="notes_number_<%=question_id%>" class= "accordion_label"><%= _('Share note') %></p>
            <% end %>
          </li>
        <% end %>
      </ul>
    </div>


    <!--guidance area -->
    <div class="question-guidance" id="guidance-question-area-<%= question_id %>" style="<%= css_style_guidance_div%>" >
     <div class="accordion" id="<%= question_id %>-guidance">

        <!--question guidance-->
        <% if annotations.present? %>
          <% annotations.each do |annotation| %>

            <div class="accordion-group">

             <!-- accordion heading -->
              <div class="accordion-heading">
               <a class="accordion-guidance-link" data-toggle="collapse" data-parent="#<%= question_id %>-guidance" href="#collapse-guidance-<%= question_id%>">
                 <div class="accordion_heading_text">
                 <%= annotation.org.abbreviation %> <%= _('Guidance') %>
                 </div>
                 <span class="plus-laranja"> </span></a>
             </div>

             <!-- accordion body -->
             <div id="collapse-guidance-<%= question_id%>" class="guidance-accordion-body collapse">
               <div class="accordion-inner"><%= raw annotation.text %></div>
             </div>

           </div>   <!-- accordion-group -->
        <% end %>
       <% end %>   <!-- if question.guidance -->

       <!-- guidance by theme -->
       <% guidance_accordion_id = 0 %>
       <% question_guidances.each_pair do |theme, group| %>
         <% group.each do |gobj| %>
           <div class="accordion-group">
             <div class="accordion-heading">
               <a class="accordion-guidance-link" data-toggle="collapse" data-parent="#<%= question.id %>-guidance" href="#collapse-guidance-<%=question_id%>-<%= guidance_accordion_id %>">
                 <div class="accordion_heading_text">
                   <%= gobj[:org] %> guidance on <%= theme %>
                 </div>
                 <span class="plus-laranja"> </span></a>
             </div>
             <div id="collapse-guidance-<%=question_id%>-<%= guidance_accordion_id %>" class="guidance-accordion-body collapse">
               <div class="accordion-inner"><%= raw gobj[:text] %></div>
             </div>
             <% guidance_accordion_id += 1 %>
           </div>
         <% end %>   <!-- group.each -->
       <% end %>   <!-- question_guidances.each_pair -->

     </div>   <!-- accordion-questionid -->
    </div>   <!-- question-guidance -->
  <!--comment area -->
  <div class="comment-area" id="comment-question-area-<%= question_id %>"  style="<%= css_style_comment_div%>">
      <%= render partial: "note", locals: {question: question, answer: answer, plan: plan, suffix: "" }%>
  </div>
</div> <!-- question area right column -->

<!--display or not the break line between questions-->
<% if last_question_id == question_id then %>
  <div class="two-column-clear"></div>
<% else %>
  <div class="two-column-clear question-divider"></div>
<% end %>
