<tr id="LIGNE{{ newLine.NO_PO }}" class="{% if open %}entete_ligne_show{% endif %}">
	<td class="loupe {% if open %}actif{% endif %}" width="70px">
		{{ newLine.NO_PO }}
		<input type="hidden" class="idLigneCde" id="idLigneModeModif" value="{{ newLine.NO_PO }}" name="LIGNE_NO_PO_MODIF"/>
	</td>
	<td>
		{{ inputAdvance('ZOOMADVANCE', {
            'name' : 'ligne_ACD',
            'pahtZoom' : path('Ajax.liste.accadre'),
            'paramZoom' : "{
                'CODE_STE': '"~ newLine.CODE_STE ~"', 
                'CENTRE_EMETTEUR': $('#input_DAENT_CENTRE_EMETTEUR').val(), 
                'CENTRE_LIVRAISON': $('#input_ligne_CTRLIVR').val(), 
                'FS_ACD_EXISTE' : '1',
                'valide' : '1'
            }",
            'entity' : 'Acccadre',
            'titleZoom' : 'Liste des accords-cadres' | trad,
            'pathConvert' : path('Ajax.outil.convertLibelle'),
            'convertLibelle' : 'convertLibelleGlobal',
            'pathValidator' : path('Ajax.validator.zoom'),
            'paramsValidator' : "{'entity' : 'Acccadre', 'nomChamp' : '" ~ 'Accord-cadre' | trad ~ "', 'null' : true}",
            'value' : newLine.ACD,
            'myFunction' : 'changeLineData',
            'myParams' : '[\'ACD\']',
        }) }}
	</td>
	<td id="fournisseurDiv">
		<input type="hidden" name="ligne_ACD_FG" id="ligne_ACD_FG" value="{{ lineParam.ACD_FG }}"/>
		<input type="hidden" name="ligne_FOU_OBLIG" id="ligne_FOU_OBLIG" value="{{ lineParam.FOU_OBLIG ? 'false' : 'true' }}"/>
		<input type="hidden" name="ligne_messageCompl" id="ligne_messageCompl" value="{{ lineParam.messageCompl ? 'false' : 'true' }}"/>
		{{ inputAdvance('ZOOMADVANCE', {
            'name' : 'ligne_CODE_FOU',
            'pahtZoom' : path('Ajax.liste.fournisseur'),
            'paramZoom' : "{
                'filter_egal_PROSPECT' : '"~ (newLine.CHIF_EXEC == 'E' ? 'F' : '')  ~"', 
                'valide' : 1, 
                'ACD_FG' : $('#ligne_ACD_FG').val()
            }",
            'entity' : 'Fourniss',
            'titleZoom' : 'Liste des fournisseurs' | trad,
            'pathConvert' : path('Ajax.outil.convertLibelle'),
            'convertLibelle' : 'convertLibelleGlobal',
            'pathValidator' : path('Ajax.validator.zoom'),
            'paramsValidator' : "{
                'entity' : 'Fourniss', 
                'nomChamp' : '" ~ 'Fournisseur' | trad ~ "', 
                'null' : '" ~ (lineParam.OBLIG_FOU ? 'false' : 'true') ~ "', 
                post : {'filter_PROSPECT' : '" ~ (newLine.CHIF_EXEC == 'E' ? 'F' : '') ~ "'} 
            }",
            'value' : newLine.CODE_FOU,
            'option' : lineParam.FOU_LOCK ? 'readOnly' : '',
            'myFunction' : 'changeLineData',
            'myParams' : '[\'CODE_FOU\']',
        }) }}
	</td>
    <script>
        function changeLineData(modifiedData) {
            activeLoader();
            switch (modifiedData) {
                case 'CODE_FOU':
                    var url = "{{ path('DemandeAchat.ModificationLigneDemandeAchat.ajaxEditLineSupplier') }}";
                    break;
                case 'ACD':
                    var url = "{{ path('DemandeAchat.ModificationLigneDemandeAchat.ajaxEditLineFrameworkAgreement') }}";
                    break;
                case 'CODE_ART':
                    var url = "{{ path('DemandeAchat.ModificationLigneDemandeAchat.ajaxEditLineItem') }}";
                    break;
                case 'QTE_DEM':
                    var url = "{{ path('DemandeAchat.ModificationLigneDemandeAchat.ajaxEditLineQuantity') }}";
                    break;
                case 'UNITE':
                    var url = "{{ path('DemandeAchat.ModificationLigneDemandeAchat.ajaxEditLineUnit') }}";
                    break;
                case 'PU':
                    var url = "{{ path('DemandeAchat.ModificationLigneDemandeAchat.ajaxEditLinePrice') }}";
                    break;
                default:
                    var url = "{{ path('DemandeAchat.ModificationLigneDemandeAchat.ajaxEditLineSupplier') }}";
                    break;
            }

            var data = $('#form_creationDA').serialize() + '&CHIF_EXEC={{da.CHIF_EXEC}}&NO_DA={{da.NO_DA}}&NO_PO={{newLine.NO_PO}}';
            $.ajax({
                dataType : 'json',
                url: url,
                data: data, 
                type: "POST",
                success: function(result){
                    $("#LIGNE{{ newLine.NO_PO }}detail").remove();
                    $("#LIGNE{{ newLine.NO_PO }}").replaceWith(result.html);
                    $.each(result.cs, function(key, value) {
                        if ($('#text_' + value.key).length) {
                            $('#text_' + value.key).val(value.value).change();
                        } else {
                            $('#input_' + value.key).val(value.value).change();
                        }
                    });
                    var countTR = $('.tablePlanning >tr').length;
                    if (countTR == 1) {
                        $('#input_PLANNING-QTE_DEMAN-1').val($('#input_ligne_QTE_DEM').val());
                        $('#input_PLANNING-DTE_LIV-1').val($('#input_ligne_DTELIVSOU').val());
                    }
                    desactiveLoader();
                }
            });
        }
    </script>
	<td>
		<input type="hidden" name="ligne_ID_CAT_ORI" id="ligne_ID_CAT_ORI" value="{{ newLine.ID_CAT_ORI }}"/>
        {{ inputAdvance('ZOOM', {
            'name' : 'ligne_CODE_ART',
            'value' : newLine.CODE_ART,
            'pahtZoom' : path('Ajax.liste.articles'),
            'paramZoom' : "{
                'art_acd' : $('#input_ligne_ACD').val(), 
                'art_fou' : $('#input_ligne_CODE_FOU').val(), 
                'valide' : 1
            }",
            'titleZoom' : 'Liste des articles' | trad,
            'Entity' : 'Articles',
            'pathValidator' : path('Ajax.validator.zoom'),
            'paramsValidator' : "{
                'entity' : 'Articles', 
                'nomChamp' : '"~ 'Article' | trad ~"', 
                'null' : true
            }",
            'idText' : 'input_DES_SOMM',
            'myFunction' : 'changeLineData',
            'myParams' : '[\'CODE_ART\']',
        }) }}
	</td>
	<td>
		{{ inputAdvance('text', {
            'name' : 'ligne_DES_SOMM',
            'value' : newLine.DES_SOMM,
            'pathValidator' : path('Ajax.validator.isStringAvecEspace'),
            'paramsValidator' : "{
                'nomChamp' : '"~ 'Désignation article' | trad ~"', 
                'sizeMin' : ($('#input_ligne_CODE_ART').val()==''? 1 : 0), 
                'sizeMax' : 60
            }",
            'option' : lineParam.DES_SOMM_LOCK ? 'readOnly' : '',	
        }) }}
	</td>
	<td width="110px">
		<input type="hidden" name="ligne_DEJA_COMM" id="ligne_DEJA_COMM" value="{{ qteByUnite(newLine.DEJA_COMM, newLine.UNITE) }}"/>
		<input type="hidden" name="ligne_recalculPlanning" id="ligne_recalculPlanning" value=""/>
		{{ inputAdvance('text', {
            'name' : 'ligne_QTE_DEM',
            'value' : qteByUnite(newLine.QTE_DEM, newLine.UNITE),
            'pathValidator' : path('Ajax.validator.quantiteLigneDA'),
            'paramsValidator' : "{
                'nomChamp' : '"~ 'Quantité' | trad ~"', 
                'format' : '6.3', 
                'obligatoire' : '"~ lineParam.QTE_CTRL_BLO ~"', 
                'DEJA_COMM' : $('#ligne_DEJA_COMM').val()
            }",
            'myFunction' : 'changeLineData',
            'myParams' : '[\'QTE_DEM\']',
            'addClass' : 'numeric',
        }) }}
        <input type='hidden' value='{{ newLine.QTE_DEM }}' id='old_QTE_DEM' />
	</td>
	<td width="100px">
		{{ inputAdvance('zoomAdvance', {
        'name' : 'ligne_UNITE',
        'value' : newLine.UNITE,
        'pahtZoom' : path('Ajax.liste.unites'),
        'titleZoom' : 'Liste des unités' | trad,
        'entity' : 'Unites',
        'pathConvert' : path('Ajax.outil.convertLibelle'),
        'convertLibelle' : 'convertLibelleGlobal',
        'pathValidator' : path('Ajax.validator.zoom'),
        'paramsValidator' : "{'entity' : 'Unites', 'nomChamp' : '"~ 'Unité' | trad ~"'}",
        'myFunction' : 'changeLineData',
        'myParams' : '[\'UNITE\']',
    }) }}
	</td>
	<td width="115px">
		<input type="hidden" name="ligne_TEMPINIT" id="ligne_TEMPINIT" value="{{ newLine.TEMPINIT }}"/>
		{{ inputAdvance('text', {
            'name' : 'ligne_PU',
            'value' : newLine.PU | prixUnitaire,
            'pathValidator' : path('Ajax.validator.float'),
            'paramsValidator' : "{
                'nomChamp' : '"~ 'Prix unitaire' | trad ~"', 
                'format' : " ~ getConst('formatPU') ~ ", 
                'obligatoire' : '"~ lineParam.PU_CTRL_BLO ~"'
            }",
            'myFunction' : 'changeLineData',
            'myParams' : '[\'PU\']',
            'addClass' : 'numeric',
        }) }}
	</td>
	<td width="60px">
		{{ inputAdvance('text', {
            'name' : 'ligne_TX_REMISE',
            'value' : newLine.TX_REMISE | tva,
            'pathValidator' : path('Ajax.validator.float'),
            'paramsValidator' : "{
                'nomChamp' : '"~ 'Remise (%)' | trad ~"', 
                'format' : 2.2, 
                'max' : 99.99
            }",
            'addClass' : 'numeric',
        }) }}
	</td>
	<td width="100px">
		{{ inputAdvance('text', {
        'name' : 'ligne_BUDGET',
        'value' : newLine.BUDGET|number_format(2, '.', ' '),
        'pathValidator' : path('Ajax.validator.float'),
        'paramsValidator' : "{
            'nomChamp' : '"~ 'Budget' | trad ~"', 
            'format' : "~getConst('formatMontant')~"
        }",
        'myFunction' : 'separateurMilier',
        'myParams' : "[this]",
        'addClass' : 'numeric',
    }) }}
	</td>
	<td>
		{{ inputAdvance('date', {
            'name' : 'ligne_DTELIVSOU',
            'value' : newLine.DTELIVSOU | dateTrad,
            'pathValidator' : path('Ajax.validator.date'),
            'paramsValidator' : "{
                'nomChamp' : '"~ 'Date de livraison' | trad ~"', 
                'null' : '"~ (lineParam.DTELIVSOU_CTRL ? false : true) ~"'
            }",
            'option' : ((ligne_RECEP_AUTO | boolSql) or planning | length > 1) ? 'readOnly' : '',
            'myFunction' : 'changeDateLiv',
            'myParams' : "['"~ path('GlobalApplication.Planning.getSinglePlanning') ~"', this]",
        }) }}
		<input type="hidden" name="ligne_planning" id="ligne_planning" value=""/>
        <script>
            function changeDateLiv(path, input) {
                $.ajax({
                    dataType: "JSON",
                    url: path,
                    data: {
                        QTE_DEM: $("#input_ligne_QTE_DEM")
                            .val()
                            .replace(",", ".")
                            .replace(new RegExp(" ", "g"), ""),
                        DATE_LIV: $(input).val(),
                    },
                    type: "POST",
                    success: function (data) {
                        $("#ligne_planning").val(data.ligne_planning);
                        desactiveLoader();
                    },
                });
            }
        </script>
	</td>
	<td class="parametrage" colspan="2"></td>
</tr>
<tr id="LIGNE{{ newLine.NO_PO }}detail" class="detail_ligne {% if open %}detail_ligne_show{% else %}hide_detail{% endif %}">
	<td colspan="13">
		<div class="single fullDiv {% if CSExist('DA_LIGNE') %}fullDiv3 {% else %}fullDiv2 {% endif %}">
			<ul class="nav nav-tabs sous_onglet">
				<li class="active" id="lg_detail_onglet">
					<a data-toggle="tab" href="#ligne_details">
						{{ 'Détails' | trad }}
					</a>
				</li>
				<li id="lg_recep_onglet">
					<a data-toggle="tab" href="#ligne_recep">
						{{ 'Réception automatique' | trad }}
					</a>
				</li>
				{% if CSExist('DA_LIGNE') %}
					<li id="lg_cs_onglet">
						<a data-toggle="tab" href="#ligne_supp">
							{{ 'Supplémentaires' | trad }}
						</a>
					</li>
				{% endif %}
				{% if listeCC %}
					<li id="lg_cc_onglet">
						<a data-toggle="tab" href="#caracCompl">
							{{ 'Carac. Compl.' | trad }}
						</a>
					</li>
				{% endif %}
				<li>
					<a data-toggle="tab" href="#planning" onclick="calculPlanning();">
						{{ 'Planning' | trad }}
					</a>
				</li>
			</ul>
			<div class="tab-content">
				<div id="ligne_details" class="tab-pane active in clearfix box-form">
					{% include '@DemandeAchat/Modification/line/_line_details.twig' %}
				</div>

				<div id="ligne_recep" class="tab-pane fade clearfix box-form">
					{% include '@DemandeAchat/Modification/line/_automatic_receipt.twig' %}
				</div>

				<div id="caracCompl" class="tab-pane fade clearfix box-form">
					{% if listeCC %}
                        <input type="hidden" name="initCC" id="initCC" value="{{ initCC }}" />
                        <input type="hidden" name="typeDocCC" id="typeDocCC" value="{{ CC_typeDoc }}" />
                        {{ generateCC({
                            'init' 		: initCC, 
                            'typeDoc' 	: CC_typeDoc,
                            'idDoc' 	: CC_idDoc, 
                            'idLigne' 	: CC_idLigne, 
                            'idPanier' 	: '0',
                            'article' 	: newLine.CODE_ART,
                            'ssFamille' : newLine.SSFAM,
                            'ssFamille' : newLine.SSFAM,
                            'famille' 	: newLine.CODE_FAM,

                            'idPU'    	: 'input_ligne_PU',
                            'idQte'   	: 'input_ligne_QTE_DEM',
                            'idTVA'   	: 'input_ligne_TVA',

                            'idPanierSrc' : '0',
                        }) }}
					{% endif %}
				</div>
				<div id="ligne_supp" class="tab-pane fade clearfix box-form">
					{% if CSExist('DA_LIGNE') %}
						{{ inputCSAdvance({
                            'codTab' : 'DA_LIGNE', 
                            'colonneActif' : true, 
                            'codeEnr' : autoCompletCodeEnr(idDA, newLine.NO_PO),
                            'ModeModif' : ModeModif, 
                        }) }}
					{% endif %}
				</div>
				<div id="planning" class="tab-pane fade clearfix padding_form border_form">
					{% include '@DemandeAchat/Modification/line/_planning.twig' %}
				</div>
			</div>
		</div>
        <div class="button_right full validation_modal">
			<button type='button' class="button principal button_right" id="saveLigne" onclick="handleCreationLigne();">
				{{ 'Enregistrer' | trad }}
			</button>
			<button type='button' class="button secondaire button_right" id="cancelLigne" onclick="annulationLigne('{{ path('DemandeAchat.ModificationLigneDemandeAchat.annulationLigne', {idDA : idDA}) }}');">
				{{ 'Annuler' | trad }}
			</button>
		</div>
        <script>
            function annulationLigne(path)
            {
                var confirmation = confirm('{{ "Êtes-vous sûr de vouloir annuler votre saisie ?" | trad }}');
    
                if(confirmation) {
                    $.ajax({
                        dataType : 'html',
                        url: path,
                        data: $('#form_creationDA').serialize(),
                        type: "POST",
                        success: function(result){
                            $('#LIGNE{{ newLine.NO_PO }}').after(result);
                            $('#LIGNE{{ newLine.NO_PO }}').remove();
                            $('#LIGNE{{ newLine.NO_PO }}detail').remove();
                            if (verificationNombreTotalFourniss() > 1) {
                                $('#onglet_termPaiement').hide();
                            } else {
                                $('#onglet_termPaiement').show();
                            }
                        }
                    });
                }
            }
            function calculPlanning() {
                var calculPlanning = $('#calculPlanning').val();
                if (calculPlanning == '1') {
                    var recepAuto = $('#input_ligne_RECEP_AUTO').is(':checked');
                    if(recepAuto) {
                        $('#input_ligne_DTELIVSOU').attr('readonly', true);
                        $('#input_ligne_DTELIVSOU').val('');
                        $.ajax({
                            dataType : 'html',
                            url: '{{ path('DemandeAchat.ModificationLigneDemandeAchat.ajaxGeneratePlanning') }}',
                            data: $('#form_creationDA').serialize(),
                            type: "POST",
                            success: function(result){
                                $("#planning").html(result);
                                $('#calculPlanning').val('0');
                            }
                        });
                    } else {
                        $('.deletePlanning ').show();
                        $('.dte_planning').removeAttr('readOnly');
                        $('#addPlanning').show();
                        $('.dte_planning').each(function(){
                            var id = $(this).attr('id');
                            $('#'+id).addClass('datepicker');
                            showDatepicker('#'+id, '{{ baseUrl('IconeV2/Global/deadline-change.svg') }}', '{{ 'dd/mm/yy' | paramDateFormat }}');
                        })
                    }
                }
            }
    
            $(function (){

                $('#input_ligne_QTE_DEM, #input_ligne_DATEDEBCONT, #input_ligne_DATEFINCONT, #input_ligne_CONTRAT_PERIOD, #input_ligne_FIN_DEB_PER, #input_ligne_DALI_RECEPAUTO_JOUR').change(function(){
                    $('#calculPlanning').val('1');
                });
                
                {% for key, initCs in lineCs %}
                    {% for key, value in initCs %}
                        if ($('#text_' + '{{value.key}}').length) {
                            $('#text_' + '{{value.key}}').val('{{value.value}}').change();
                        } else {
                            $('#input_' + '{{value.key}}').val('{{value.value}}').change();
                        }
                    {% endfor %}
                {% endfor %}
            })

            function handleCreationLigne() {
				const hasTp = {{hasTp ? 'true' : 'false'}};
				if(hasTp == true) {
					const divIcone = `<div class="icone-modal interrogation"></div>`;
					const message = "{{'Des termes de paiement sont présents sur cette demande d\'achat.' | trad }}<br />{{ 'L\'ajout ou la modification de cette ligne entraînera leur suppression. Souhaitez-vous continuer ?' | trad}}"

					activePopup(
						'{{ "Confirmez-vous votre action ?" | trad }}', 
						`<div class="modal-body bs-row flex-y-center">
							${divIcone} 
						<div class="bs-col p-base"> 
							${message} 
						</div>
						</div>
						<div class="modal-footer">
							<button type="button" class="button secondaire" data-dismiss="modal" onclick="desactivePopup();">{{ 'Fermer' | trad }}</button>
							<button 
								type="button" 
								class="button principal" 
								onclick="handleValidationLigne();"
								>
									{{ 'Confirmer' | trad }}
								</button>
						</div>
						`, 
						'modal_small'
					);
				} else {
					handleValidationLigne();
				}
			}

			function handleValidationLigne() {
				desactivePopup();
                validationLigne("{{ path('DemandeAchat.ModificationLigneDemandeAchat.validationLigne', {idDA : idDA}) }}", '{{ newLine.NO_PO }}', false, "{{path('TermeDePaiement.TermeDePaiement.deleteAllTermeDePaiement', {MODULE: 'DA_ENTET', id: idDA})}}");
			}

        </script>	
    </td>
</tr>
