
{% extends 'layout.twig' %}

{% block body %}
     <script>
        var countPJ = 1; 
        function addEmail(path, object, inputMail)
        {
        	value=object.value;
        	$.ajax({
        	  	dataType : 'html',
        	  	data: {'value' : value},
          		url: path,
                type: 'POST',
                success: function(data) {
                	mails = $('#'+inputMail).val().trim()+data.trim()+",";
                    $('#'+inputMail).val(mails).change();
                }
            });   
        }
        
        function supprPJ(idPJ)
        {
        	$('#'+idPJ).remove();
        }
        
        function addNewPj(idPJ)
        {
        	
        	$('#'+idPJ).find('input').attr({'disabled': 'disabled'}).after('<a class="ajouter bloquant" onclick="supprPJ(\''+idPJ+'\')"></a>')
        	
        	countPJ++;
        	$('#rowPJ').append([
        		$('<div />').addClass('colonne2').attr('id', 'PJ_'+countPJ).append([
        			$('<input />').attr({'type': 'file', 'name': 'piece_jointe_'+countPJ, 'id': 'piece_jointe_'+countPJ}).addClass('form-control-file').change(function(){addNewPj("PJ_"+countPJ)})
        		])
        	]);
        	
        }
	</script>
   
    <div class="contenu clearfix"  id="factures">
        <h1>
        	{{ 'Commande' | trad }}
        </h1>
            
        {{ ariane() }}

        <div class="tab-content">
        	<div id="mail" class="tab-pane fade in active">
        		<h2>{{ 'Commande' | trad ~ colon() ~ commandeId }}</h2>
                {{ arianeSub() }}
            	<form method="post" name="form_mail" id="form_mail" enctype="multipart/form-data"  class="bg_form padding_form clearfix border_form">
                    <div class="row">
                    	<div class="colonne2">
                            <div class="row">{{ post.destinataires }}
                                {{ inputText('Destinataires :' | trad, 'destinataires', (post.destinataires==''? (reponse.Destinataires==''?'':reponse.Destinataires~',') : post.destinataires), '', path('Ajax.validator.isStringWithContent'), "{'nomChamp': '"~ 'Destinataires' | trad ~"', 'contentAutorise': ['.', '@', '_', '-'], 'contentObligatoire': ['.', '@'], 'separation': true, 'sansEspace': true, 'sizeMin': 1, 'sizeMax': 255}", '', '', '', '', '', '', '',  true) }}
                        	</div>
                        </div>
                        <div class="colonne2 last">
                        	<div class="colonne2">
                                <button class="button secondaire full" type="button" onclick="ajaxPopup('{{ path('Ajax.liste.utilisateurSociete') }}', '{{ 'Utilisateur de l\'application' | trad |e('js')|raw }}', 'input_destinataires_util_appli', '', {'code_ste' : '{{ codeSte }}', 'email' : 'true'})">{{ 'Utilisateur de l\'application' | trad }}</button>
                                <input type="hidden" id="input_destinataires_util_appli" name="destinataires_util_appli" value="" onchange="addEmail('{{ path('Ajax.MailController.emailUtilisateur') }}', this, 'input_destinataires')" />
                            </div>
                        	<div class="colonne2 last">
                                <button class="button secondaire full" type="button" 
                                    onclick="ajaxPopup('{{ path('Ajax.liste.contactFournisseurV2') }}', '{{ 'Contact Fournisseur' | trad }}', 'input_destinataires', '', {'CODE_FOU' : '{{ fournisseur }}', 'email' : 'true'})">{{ 'Contact Fournisseur' | trad}}</button>
                                
                                
                                {# <input type="hidden" id="input_destinataires_fournisseur" name="destinataires_fournisseur" value="" onchange="addEmail('{{ path('Ajax.MailController.emailContactFournisseur') }}', this, 'input_destinataires')" /> #}
                        	</div>
                        </div>
                    </div>
                    <div class="row">
                    	<div class="colonne2">
                            <div class="row">
                                {{ inputText('Copie à :' | trad, 'copie', (post.copie==''? '' : post.copie), '', path('Ajax.validator.isStringWithContent'), "{'nomChamp': '"~ 'Copie à' | trad ~"', 'contentAutorise': ['.', '@', '_', '-'], 'contentObligatoire': ['.', '@'], 'separation': true, 'sansEspace': true, 'sizeMin': 0, 'sizeMax': 255}") }}
                        	</div>
                        </div>
                        <div class="colonne2 last">
                        	<div class="colonne2">
                                <button class="button secondaire full" type="button" onclick="ajaxPopup('{{ path('Ajax.liste.utilisateurSociete') }}', '{{ 'Utilisateur de l\'application' | trad |e('js')|raw }}', 'input_copie_util_appli', '', {'code_ste' : '{{ codeSte }}', 'email' : 'true'})">{{ 'Utilisateur de l\'application' | trad }}</button>
                                <input type="hidden" id="input_copie_util_appli" name="copie_util_appli" value="" onchange="addEmail('{{ path('Ajax.MailController.emailUtilisateur') }}', this, 'input_copie')" /> 
                            </div>
                        	<div class="colonne2 last">
                            	<button class="button secondaire full" type="button" onclick="ajaxPopup('{{ path('Ajax.liste.contactFournisseurV2') }}', '{{ 'Contact Fournisseur' | trad }}', 'input_copie', '', {'CODE_FOU' : '{{ fournisseur }}', 'email' : 'true'})">{{ 'Contact Fournisseur' | trad }}</button>
                                {# <input type="hidden" id="input_copie_fournisseur" name="copie_fournisseur" value="" onchange="addEmail('{{ path('Ajax.MailController.emailContactFournisseur') }}', this, 'input_copie')" /> #}
                            </div>
                        </div>
                    </div>
                  
                    <div class="row">
                    	<div class="colonne2">
                            <div class="row">
                                {{ inputText('Copie cachée à :' | trad, 'copie_cachee', (post.copie_cachee==''? '' : post.copie_cachee), '', path('Ajax.validator.isStringWithContent'), "{'nomChamp': '"~ 'Copie cachée à' | trad ~"', 'contentAutorise': ['.', '@', '_', '-'], 'contentObligatoire': ['.', '@'], 'separation': true, 'sansEspace': true, 'sizeMin': 0, 'sizeMax': 255}") }}
                        	</div>
                        </div>
                        <div class="colonne2 last">
                        	<div class="colonne2">
                                <button class="button secondaire full" type="button" onclick="ajaxPopup('{{ path('Ajax.liste.utilisateurSociete') }}', '{{ 'Utilisateur de l\'application' | trad |e('js')|raw }}', 'input_copie_cachee_util_appli', '', {'code_ste' : '{{ codeSte }}', 'email' : 'true'})">{{ 'Utilisateur de l\'application' | trad }}</button>
                                <input type="hidden" id="input_copie_cachee_util_appli" name="copie_cachee_util_appli" value="" onchange="addEmail('{{ path('Ajax.MailController.emailUtilisateur') }}', this, 'input_copie_cachee')" />
                            </div>
                            <div class="colonne2 last">
                                <button class="button secondaire full" type="button" onclick="ajaxPopup('{{ path('Ajax.liste.contactFournisseurV2') }}', '{{ 'Contact Fournisseur' | trad }}', 'input_copie_cachee', '', {'CODE_FOU' : '{{ fournisseur }}', 'email' : 'true'})">{{ 'Contact Fournisseur' | trad }}</button>
                                {# <input type="hidden" id="input_copie_cachee_fournisseur" name="copie_cachee_fournisseur" value="" onchange="addEmail('{{ path('Ajax.MailController.emailContactFournisseur') }}', this, 'input_copie_cachee')" /> #}
                            </div>
                        </div>
                    </div>
                    <fieldset class="scheduler-border">
                    	<legend class="scheduler-border">{{ 'Message' | trad }}</legend>
                    	<div class="row single">
                                <label for="sujet">{{ 'Sujet :' | trad }}</label>
                                <input type="text" class="form-control" name="sujet" id="sujet" value="{% if post.sujet=='' %}{{ reponse.Sujet }}{% else %}{{ post.sujet }}{% endif %}" />
                        </div>
                        <div class="row single">
                            <label for="message">{{ 'Message :' | trad }} <span class="obligatoire">*</span> </label>
                            {% if post.message=='' %} {% set reponse = reponse.Corps|raw %}{% else %} {% set reponse = post.message  %} {% endif %}

                            {{ inputAdvance('textarea', {
                        	    'titre' : '',
                        	    'name'  : 'message',
                        	    'value' : reponse,
                                'obligatoire' : true,
                                'pathValidator' : path('Ajax.validator.isStringAvecEspace'),
                                'paramsValidator' : "{'sizeMin' : '1', 'sizeMax' : '3000'}",
                        	}) }}
                        </div>
                        
                        	<div class="row">
                                <label>{{ 'Pièces jointes :' | trad }}</label>
                            </div>
                            <div class="row" id="rowPJ">
                                {% for key, pj in reponse.PJ_DEFAUT %}
                                <div class="colonne2" id="PJDEFAUT_{{ key }}">
                                    <input type="hidden" class="form-control" name="pjdefaut_{{ key }}" id="pjdefaut_{{ key }}"  value="{{ pj.urlPj }}" />
                                    <input type="hidden" class="form-control" name="pjdefautNomFichier_{{ key }}" id="pjdefautNomFichier_{{ key }}"  value="{{ pj.nomPj }}" />
                                    <span>{{ pj.libellePj | trad }} : {{ pj.nomPj }}</span>
                                </div>
                                {% endfor %}

                    	        {% set compteur = 0 %}
                                {% for key, pj in post.pj %}
                                	{% set compteur = key  %}
                                <div class="colonne2" id="PJ_{{ key }}">
            						<input type="file" class="form-control-file" name="piece_jointe_{{ key }}" id="piece_jointe_{{ key }}"  onchange="addNewPj('PJ_{{ key }}')" />
                                    <!-- <button class="ajout principal bg_principal"></button> -->
                                </div>
                                {% endfor %}
                                {% if compteur==0 %}
                                <div class="colonne2" id="PJ_1">
            						<input type="file" class="form-control-file" name="piece_jointe_1" id="piece_jointe_1" onchange="addNewPj('PJ_1')" />
                                    <!-- <button class="ajout principal bg_principal"></button> -->
                                </div>
                                {% endif %}
                            </div>
                   </fieldset>
                   <input type="hidden" name="numFact" id="numFact" value="{{ numFact }}" /> 
                   <input type="hidden" name="codeSte" id="codeSte" value="{{ codeSte }}" />  
                   <input type="hidden" name="CodeEvent" id="CodeEvent" value="EMI" /> 
                   <input type="hidden" name="commEvenement" id="commEvenement" value="{{ commEvenement }}" /> 
                   <button type="button" class="button principal button_right" id="send">{{ 'Envoyer' | trad }}</button>
                   {% if uriRetour!='' %}
                   <a href="{{ uriRetour }}" ><button type="button" class="button secondaire button_right" data-dismiss="modal">{{ 'Annuler' | trad }}</button></a>
                   {% else %}
                       {% if postRetour and postRetour!=''  %}
                       <a onClick="redirectJSWithPost('{{ path(pathRetour) }}', {{ postRetour }});" ><button type="button" class="button secondaire button_right" data-dismiss="modal">{{ 'Annuler' | trad }}</button></a>
                       {% else %}
                       <a href="{{ path(pathRetour) }}" ><button type="button" class="button secondaire button_right" data-dismiss="modal">{{ 'Annuler' | trad}}</button></a>
                       {% endif %}
                   {% endif %}
                </form>                            	
            </div>
        </div>
    </div>

    <script>
        var sent_mail_code = '{{ code_mail }}';
        if (sent_mail_code == "CDE_INCIDENT_FOU") {
            function getDataToRecord(path) {
                var email_receiver              = $('#input_destinataires').val();
                var count_email_receiver        = (email_receiver.match(/@/g) || []).length;

                if (count_email_receiver == 1) {
                    var comment_memo            = 'Destinataire : ' + email_receiver.replace(/.$/,"");
                } else {
                    var comment_memo            = 'Destinataires : ' + email_receiver;
                }

                var data_to_post                = {};
                data_to_post[ 'NUM_CDE' ]       = $('#numFact').val();
                data_to_post[ 'CODE_EVE' ]      = $('#CodeEvent').val();
                data_to_post[ 'UTIL' ]          = '{{ user }}'; 
                data_to_post[ 'TYPE_EVE' ]      = 'I';
                data_to_post[ 'MEMO_ID' ]       = '{{ memo_id }}'; // TODO : scurité : le memo id est hackable
                data_to_post[ 'CONTMEMO' ]      = comment_memo;

                $.ajax({
                    url: path,
                    type: 'POST',
                    data: data_to_post,
                    success: function(data) {
                        //console.log(data)
                    }
                });
            }
        }    
		$('#send').click(function(){
			activeLoader();
        	var jForm = new FormData();
            jForm.append('module', '{{ module }}');

        	$('#form_mail').find('input:not(:file), select, textarea').each(function(){
        		jForm.append($(this).attr('name'), $(this).val());
            });
        	$('#form_mail').find('[type="file"]').each(function(){
				jForm.append($(this).attr('name'), $(this).get(0).files[0]);
        	});

            $.ajax({
                data: jForm,
                mimeType: "multipart/form-data",
                cache: false,
                dataType : 'JSON',
                contentType: false,
                processData: false,
                url: {{ path('Ajax.MailController.validationMail') | json }},
                type: 'POST',
                success: function(data) {
                    desactiveLoader();
                    if(data.statut=='O')
                    {
                    	ajaxPopup(
                            {{ path('Ajax.Erreur.popupInformation') | json }},
                            '', '', '',
                            {'message': data.message, 'uriRetour': '{{ uriRetour }}', 'pathRetour': '{{ pathRetour }}'}
                        );

                        // TODO : cleanup : recordIncidentDataAction should be called inside MailController::validationMail
                        var register_evt_path = {{ path('GlobalApplication.Incidents.recordIncidentData') | json }};
                        setTimeout(getDataToRecord(register_evt_path), 1000);
                    }
                    else{
                    	activePopupErreur('{{ path('Ajax.Erreur.popupErreurValid') }}', '', data.erreur);
                    }
                 }
            });  
        });
    </script>
{% endblock %}