{# {% extends 'layout.twig' %} #}

{% block body %}

<form method="post" name="form_centre" id="form_centre" class="padding15 contenu" >

    <h2>
        {% if centre.CODE_CTR %}
            {{ 'Modification centre' | trad  }}
        {% else %}
            {{ 'Création centre' | trad  }}
        {% endif %}

        <button class="principal button" type="button" onClick="validateCentre();">{{ 'Enregistrer' |trad }}</button>
        <button class="secondaire button" type="button" onClick="desactiveHiddenDiv();">{{ 'Annuler' |trad }}</button>
    </h2>

    <div class="padding15 bg_form clearfix" style="margin-top: 15px;">

        <div class="clearfix">
            <div class="colonne2">
                <div class="row">
                    {{ inputAdvance('TEXT', {
                        'titre'             : 'Code' | trad,
                        'name'              : 'CODE_CTR',
                        'obligatoire'       : true,
                        'value'             : centre.CODE_CTR,
                        'pathValidator'     : path('Ajax.validator.isStringSansEspace'),
                        'paramsValidator'   : "{'sizeMin' : '1', 'sizeMax' : '7'}",
                        'option'            : centre.CODE_CTR? 'readOnly':'',
                    }) }}
                </div>

                <div class="row">
                    {{ inputAdvance('ZOOMADVANCE', {
                        'titre' : 'Société' | trad,
                        'name' : 'CODE_STE',
                        'pahtZoom' : path('Ajax.liste.societe'),
                        'paramZoom' : "{}",
                        'entity' : 'Societe',
                        'titleZoom' : 'Liste des sociétés' | trad,
                        'pathConvert' : path('Ajax.outil.convertLibelle'),
                        'convertLibelle' : 'convertLibelleGlobal',
                        'pathValidator' : path('Ajax.validator.zoom'),
                        'paramsValidator' : "{'entity' : 'Societe','nomChamp' : '"~'Société' | trad~"', 'null' : false}",
                        'obligatoire' : true,
                        'value' : centre.CODE_STE,
                        'option' : centre.CODE_CTR? 'readOnly':'',
                    }) }}
                </div>
            </div>

            <div class="colonne2 last">
                <div class="row">
                    {{ inputAdvance('TEXT', {
                        'titre'             : 'Raison sociale' | trad,
                        'name'              : 'RAIS_SOC',
                        'obligatoire'       : true,
                        'value'             : centre.RAIS_SOC,
                        'pathValidator'     : path('Ajax.validator.isStringAvecEspace'),
                        'paramsValidator'   : "{'sizeMin' : '1', 'sizeMax' : '45'}",
                    }) }}
                </div>
            </div>
        </div>

        <hr>

        <div class="clearfix">
            <div class="colonne2">
                <div class="row">
                    {{ inputAdvance('SWITCH', {
                        'name'  : 'EMISSION',
                        'titre' : 'Emission ?' | trad,
                        'value' : centre.EMISSION,
                        'option': droit.HA_CTR_EMI? '':'disabled',
                    }) }}
                    {% if droit.HA_CTR_EMI == false and centre.EMISSION | boolSql %}
                        <input type="hidden" name="EMISSION" value="On"/>
                    {% endif %}
                </div>
            </div>
            <div class="colonne2 last">
                <div class="row link_EMISSION" {% if centre.EMISSION | boolSql == false %}style="display:none;"{% endif %}>
                    {{ inputAdvance('ZOOMADVANCE', {
                        'titre' : 'Centre de facturation' | trad,
                        'name' : 'CTRFACLIE',
                        'pahtZoom' : path('Ajax.liste.centreByType', {typeCentre:'CENTRE_F'}),
                        'paramZoom' : "{'code_ste' : $('#input_CODE_STE').val() }",
                        'entity' : 'Centre',
                        'titleZoom' : 'Liste des centres' | trad,
                        'pathConvert' : path('Ajax.outil.convertLibelle'),
                        'convertLibelle' : 'convertLibelleGlobal',
                        'pathValidator' : path('Ajax.validator.zoom'),
                        'paramsValidator' : "{
                            'entity' : 'Centre',
                            'nomChamp' : '"~'Centre de facturation' | trad~"', 
                            'null' : false, 
                            'post' : {'filter_egal_CODE_STE' : $('#input_CODE_STE').val(), 'filter_FACTURAT' : 'T'},
                        }",
                        'obligatoire' : true,
                        'value' : centre.CTRFACLIE
                    }) }}


                </div>
            </div>
        </div>


        <div class="clearfix">
            <div class="colonne2">
                <div class="row">
                    {{ inputAdvance('SWITCH', {
                        'name'  : 'LIVRAISON',
                        'titre' : 'Réception/Livraison ?' | trad,
                        'value' : centre.LIVRAISON,
                        'option': droit.HA_CTR_LIV? '':'disabled',
                    }) }}
                    {% if droit.HA_CTR_LIV == false and centre.LIVRAISON | boolSql  %}
                        <input type="hidden" name="LIVRAISON" value="On"/>
                    {% endif %}
                </div>
            </div>
            <div class="colonne2 last">
                <div class="row link_LIVRAISON" {% if centre.LIVRAISON | boolSql == false %}style="display:none;"{% endif %}>
                    {{ inputAdvance('ZOOMADVANCE', {
                        'titre'     : 'Site de stock par défaut' | trad,
                        'name'      : 'SITSTOCK',
                        'pahtZoom'  : path('Ajax.liste.ssItesto'),
                        'paramZoom' : "{
                            'filter_egal_CODE_STE' :  $('#input_CODE_STE').val(), 
                        }",
                        'entity' : 'SsItesto',
                        'titleZoom' : 'Liste des sites de stock' | trad,
                        'pathConvert' : path('Ajax.outil.convertLibelle'),
                        'convertLibelle' : 'convertLibelleGlobal',
                        'pathValidator' : path('Ajax.validator.zoom'),
                        'paramsValidator' : "{
                            'entity' : 'SsItesto',
                            'nomChamp' : '"~'Site de stock par défaut' | trad~"',
                            'null' : true,
                            'post' : {'filter_egal_CODE_STE' : $('#input_CODE_STE').val()},
                        }",
                        'obligatoire' : false,
                        'value'     : centre.SITSTOCK,
                    }) }}
                </div>
            </div>
        </div>

        <div class="clearfix">
            <div class="colonne2">
                <div class="row">
                    {{ inputAdvance('SWITCH', {
                        'name' : 'FACTURAT',
                        'titre' : 'Facturation ?' | trad,
                        'value' : centre.FACTURAT,
                        'option': droit.HA_CTR_FAC? '':'disabled',
                    }) }}
                    {% if droit.HA_CTR_FAC == false and centre.FACTURAT | boolSql  %}
                        <input type="hidden" name="FACTURAT" value="On"/>
                    {% endif %}
                </div>
            </div>
            <div class="colonne2 last">
                <div class="row link_LIVRAISON" {% if centre.LIVRAISON | boolSql == false %}style="display:none;"{% endif %}>
                    {{ inputAdvance('ZOOMADVANCE', {
                        'titre' : 'Profil de DA par défaut' | trad,
                        'name'  : 'PROFILDA',
                        'pahtZoom'  : path('Ajax.liste.entityList', {entity: 'DaModel'}),
                        'paramZoom' : "{}",
                        'entity' : 'DaModel',
                        'titleZoom' : 'Liste des Profils DA' | trad,
                        'pathConvert' : path('Ajax.outil.convertLibelle'),
                        'convertLibelle' : 'convertLibelleGlobal',
                        'pathValidator' : path('Ajax.validator.zoom'),
                        'paramsValidator' : "{'entity' : 'DaModel','nomChamp' : '"~'Profil de TVA par défaut' | trad~"', 'null' : true}",
                        'obligatoire' : false,
                        'value' : centre.PROFILDA,
                    }) }}
                </div>
            </div>
        </div>

        <div class="clearfix">
            <div class="colonne2">
                <div class="row link_BOTH" {% if centre.LIVRAISON | boolSql == false and centre.EMISSION | boolSql == false %}style="display:none;"{% endif %}>
                    {{ inputAdvance('ZOOMADVANCE', {
                        'titre' : 'Acheteur Cde directe' | trad,
                        'name' : 'ACHETEUR',
                        'pahtZoom'  : path('Ajax.liste.utilisateur'),
                        'paramZoom' : "{'ACHETEUR' : 'T', 'filter_egal_CODE_STE' : $('#input_CODE_STE').val()}",
                        'entity' : 'Hastutil',
                        'titleZoom' : 'Liste des acheteurs' | trad,
                        'pathConvert' : path('Ajax.outil.convertLibelle'),
                        'convertLibelle' : 'convertLibelleGlobal',
                        'pathValidator' : path('Ajax.validator.acheteur'),
                        'paramsValidator' : "{'nomChamp' : '"~'Acheteur' | trad~"', 'null' : true, 'post' : {'filter_egal_CODE_STE' : $('#input_CODE_STE').val(),'VALIDE' : 1}}",
                        'obligatoire' : false,
                        'value' : centre.ACHETEUR,
                    }) }}
                </div>
            </div>
            <div class="colonne2 last">
                <div class="row link_BOTH" {% if centre.LIVRAISON | boolSql == false and centre.EMISSION | boolSql == false %}style="display:none;"{% endif %}>
                    {{ inputAdvance('SWITCH', {
                        'titre' : 'BR sur facture en pré-affectation ?' | trad,
                        'name'  : 'BRAUTOPREAFF',
                        'value' : centre.BRAUTOPREAFF,
                    }) }}
                </div>
            </div>
        </div>

        <hr>
        <div class="clearfix">
            <div class="colonne2">
                <div class="row">
                    {{ inputAdvance('TEXT', {
                        'titre'             : 'N° de TVA intracommunautaire' | trad,
                        'name'              : 'NUM_TVAIC',
                        'value'             : centre.NUM_TVAIC,
                        'pathValidator'     : path('Ajax.validator.isStringAvecEspace'),
                        'paramsValidator'   : "{'sizeMin' : '0', 'sizeMax' : '15'}",
                    }) }}
                </div>
                <div class="row">
                    {{ inputAdvance('TEXT', {
                        'titre'             : 'Zone légale' | trad,
                        'name'              : 'ZONELEGAL',
                        'value'             : centre.ZONELEGAL,
                        'pathValidator'     : path('Ajax.validator.isStringAvecEspace'),
                        'paramsValidator'   : "{'sizeMin' : '0', 'sizeMax' : '200'}",
                    }) }}
                </div>
            </div>
            <div class="colonne2 last">
                <div class="row">
                    {{ inputAdvance('TEXTAREA', {
                        'titre'             : 'Commentaire' | trad,
                        'name'              : 'NM_COMM',
                        'value'             : centre.NM_COMM,
                        'pathValidator'     : path('Ajax.validator.isStringAvecEspace'),
                        'paramsValidator'   : "{'sizeMin' : '0', 'sizeMax' : '3000'}",
                    }) }}
                </div>
            </div>
        </div>


        <hr>

        <div class="clearfix">
            {% if CSExist('CA_ENTET') %}
                {{ inputCSAdvance({
                    'codTab' : 'CENTRE', 
                    'colonneActif' : true, 
                    'codeEnr' : centre.CODE_CTR, 
                    'ModeModif' : centre.CODE_CTR? true:false,
                }) }}
            {% endif %}
        </div>
        <div class="clearfix">
            <ul class="nav nav-tabs sous_onglet" style="display: flex;">   
                <li class="active"><a data-toggle="tab" href="#adresse">{{ 'Adresses' | trad }}</a></li>
                <li><a data-toggle="tab" href="#contact">{{ 'Contacts' | trad }}</a></li>
                <li 
                    {% if (param.ZGEO_SUR_CTR_EMETTEUR == 'O' and centre.EMISSION | boolSql) == false
                       and (param.ZGEO_SUR_CTR_EMETTEUR != 'O' and centre.LIVRAISON | boolSql) == false
                    %}
                    style="display:none;"
                    {% endif %}
                    class="{% if param.ZGEO_SUR_CTR_EMETTEUR == 'O' %}link_EMISSION{% else %}link_LIVRAISON{% endif %}">
                    <a data-toggle="tab" href="#zoneGeo">{{ 'Zones géographiques' | trad }}</a>
                </li>
                <li><a data-toggle="tab" href="#logo">{{ 'Logos' | trad }}</a></li>
            </ul>

    		<div class="tab-content">
    			<div id="adresse" class="tab-pane active in clearfix padding_form border_form">
                    {% include '@Tables/Centre/_adresse.twig' with {
                        'centre' : {        
                            ADRESSE     : centre.ADRESSE,
                            PAYS        : centre.PAYS,
                            CPOSTAL     : centre.CPOSTAL,
                            VILLE1      : centre.VILLE1,
                            E_MAIL      : centre.E_MAIL,
                            TELEPHONE   : centre.TELEPHONE,
                            FAX         : centre.FAX,
                            TX_TAXLOC   : centre.TX_TAXLOC,
                        },
                        'adressePrincial' : true,
                    } %}
                    {% for adresse in listeAdresse  %}
                        {% include '@Tables/Centre/_adresse.twig' with {
                            'centre' : { 
                                COD_ADR     : adresse.COD_ADR,
                                LIBELLE     : adresse.LIBELLE,
                                ADRESSE     : adresse.ADRESSE,
                                PAYS        : adresse.CODPAYS,
                                CPOSTAL     : adresse.CPOSTAL,
                                VILLE1      : adresse.VILLE1,
                                E_MAIL      : adresse.EMAIL,
                                TELEPHONE   : adresse.TELEPHONE,
                                FAX         : adresse.FAX,
                                TX_TAXLOC   : adresse.TX_TAXLOC,
                            },
                            'adressePrincial' : false,
                            'countAdresse' : loop.index
                        } %}
                    {% endfor %}

                    <a class="button principal" id='AddAdresseCtr' onClick="ajoutAdresseCtr();" style="float: right;">
                        {{ 'Adresse supplémentaire' | trad }}
                    </a>
                </div>
                <div id="contact" class="tab-pane fade clearfix padding_form border_form">
                    {% for ctc in listeCtc  %}
                        {% include '@Tables/Centre/_contact.twig' with {
                            'Contact' : ctc
                        } %}
                    {% else %}
                        {% include '@Tables/Centre/_contact.twig' with {
                            'Contact' : {
                                CTC_IND : 0,
                            }
                        } %}
                    {% endfor %}
                    <a class="button principal" id='AddContactCtr' onClick="ajoutContactCtr();" style="float: right;">
                        {{ 'Contact supplémentaire' | trad }}
                    </a>
                </div>
                <div id="zoneGeo" class="tab-pane fade clearfix padding_form border_form">
                    {% include '@Tables/Centre/_zoneGeo.twig' %}
                </div>
                <div id="logo" class="tab-pane fade clearfix padding_form border_form">

                    <div class="colonne2">
                        <div class="row" style="display:flex;">
                            {{ inputAdvance('FILE', {
                                'name' : 'LOGO_ENT', 
                                'format' : 'image', 
                                'titre' : 'Logo d\'entête' | trad, 
                                'value' : centre.LOGO_ENT,
                            }) }}
                            <button type="button" class="button secondaire deleteImage" onClick="deleteImage('LOGO_ENT');">{{ 'Effacer l\'image' | trad }}</button>
                        </div>
                    </div>
                    <div class="colonne2 last">
                        <div class="row" style="display:flex;">
                            {{ inputAdvance('FILE', {
                                'name' : 'LOGO_PIE', 
                                'format' : 'image', 
                                'titre' : 'Logo pied' | trad, 
                                'value' : centre.LOGO_PIE,
                            }) }}
                            <button type="button" class="button secondaire deleteImage" onClick="deleteImage('LOGO_PIE');">{{ 'Effacer l\'image' | trad }}</button>
                        </div>
                    </div>

                </div>
            </div>
        </div>

    </div>

    <script>
        $('#input_EMISSION').change(function(){
            if ($(this).is(':checked')) {
                $('.link_EMISSION').show();
            } else {
                $('.link_EMISSION').hide();
            }
        });
        $('#input_LIVRAISON').change(function(){
            if ($(this).is(':checked')) {
                $('.link_LIVRAISON').show();
            } else {
                $('.link_LIVRAISON').hide();
            }
        });

        $('#input_LIVRAISON, #input_EMISSION').change(function(){
            var valueEmission = $('#input_EMISSION').is(':checked');
            var valueLivraison = $('#input_LIVRAISON').is(':checked');
            
            if (valueEmission || valueLivraison) {
                $('.link_BOTH').show();
            } else {
                $('.link_BOTH').hide();
            }
        });

        $('#input_PAYS').change(function(){
            $.ajax({
                url : '{{ path("Tables.Centre.ajaxForm")}}', 
                type: "POST",
                dataType : 'html',
                data : {'action' : 'changePays', 'PAYS' : $(this).val()},
                success : function(result, textStatus, request){ 
                    var data = jQuery.parseJSON(result);

                    if (data.activeTaxe==true) {
                        $('#text_TX_TAXLOC').prop('readOnly', false);
                        $('#zoom_TX_TAXLOC').show();
                    } else {
                        $('#text_TX_TAXLOC').prop('readOnly', true);
                        $('#zoom_TX_TAXLOC').hide();
                        $('#input_TX_TAXLOC').val('');
                        $('#text_TX_TAXLOC').val('');
                    }
                }
            });
        });

    	function deleteImage(inputName)
    	{
    		$('#import'+inputName).val('');
    		$('#file_name'+inputName).val('');
    		$('#text_'+inputName).html('{{ 'Déplacez votre fichier ici, ou bien cliquez pour ajouter.' | trad }}');
    	}

        function validateCentre()
        {
            var form = document.getElementById('form_centre');

            var data = new FormData(form);

            data.delete('importLOGO_ENT');
            data.delete('importLOGO_PIE');

            for (var pair of jForm.entries()) {
                data.append(pair[0], pair[1]);
            }

			activeLoader();
			$.ajax({
			  	dataType : 'html',
		        type: 'POST',
		        data: data,
		        mimeType: "multipart/form-data",
		        contentType: false,
		        cache: false,
		        processData: false,
				url: '{{ path('Tables.Centre.validate', {mode:mode, idTable:idTable}) }}',
				success: function(result){
                    
                    /*var data = jQuery.parseJSON(result);
                    redirectJSWithPost(data.path , data.post);*/
                    desactiveHiddenDiv(false);
                    desactiveLoader();
				},
		        error: function (data){
					$("#modal-content").removeClass('modal_large modal_small').addClass('modal_small');
					$("#modal-body").html(data.responseText);
					activePopup ();
					desactiveLoader();
		        }
			});
        }

        function ajoutAdresseCtr()
        {
            if ($('#adresse .divAdr').last().length) {
                var lastId = $('#adresse .divAdr').last().data('id') + 1;
            } else {
                var lastId = 1;
            }

            $.ajax({
                url : '{{ path("Tables.Centre.ajaxForm")}}', 
                type: "POST",
                dataType : 'html',
                data : {'action' : 'newAdresse', 'lastIdAdresse' : lastId},
                success : function(result, textStatus, request){ 
                    $('#AddAdresseCtr').before(result);
                }
            });
        }

        function deleteAdr(id)
        {
            $('#statut_adr'+id).val('S');
            $('#divAdr'+id).hide();
        }

        function ajoutContactCtr()
        {
            if ($('#contact .divCtc').last().length) {
                var lastId = $('#contact .divCtc').last().data('id') + 1;
            } else {
                var lastId = 1;
            }

            $.ajax({
                url : '{{ path("Tables.Centre.ajaxForm")}}', 
                type: "POST",
                dataType : 'html',
                data : {'action' : 'newContact', 'lastCTC_IND' : lastId},
                success : function(result, textStatus, request){ 
                    $('#AddContactCtr').before(result);
                }
            });
        }

        function deleteCtc(id)
        {
            $('#statut_ctc'+id).val('S');
            $('#divCtc'+id).hide();
        }
    </script>
    

</form>

{% endblock %}