{% import 'common/thumbnail.html.twig' as thumbnail %}

{% macro print_ftp_form(datas) %}
    <div class="ftp_form ftp_form_{{datas.usr_id}}">
        <form id="ftp_user_{{datas.usr_id}}" action="{{ path('export_ftp') }}" method="post" target="_blank" class="form-horizontal" style="text-align: left;">
            <div class="control-group">
                <label class="control-label" for="ftp-address-{{datas.usr_id}}">{{ 'phraseanet:: adresse' | trans }}  ftp://</label>
                <div class="controls">
                    <input type="text" name="address" id="ftp-address-{{datas.usr_id}}" value="{{datas.address}}" />
                </div>
            </div>
            <div class="control-group">
                <label class="control-label" for="ftp-ssl-{{datas.usr_id}}">{{ 'phraseanet:: utiliser SSL' | trans }}</label>
                <div class="controls">
                    <input type="checkbox" name="ssl" id="ftp-ssl-{{datas.usr_id}}" {% if datas.ssl %}checked{% endif %} />
                </div>
            </div>
            <div class="control-group">
                <label class="control-label" for="ftp-login-{{datas.usr_id}}">{{ 'admin::compte-utilisateur identifiant' | trans }}</label>
                <div class="controls">
                    <input type="text" name="login" id="ftp-login-{{datas.usr_id}}" value="{{datas.login}}" />
                </div>
            </div>
            <div class="control-group">
                <label class="control-label" for="ftp-password-{{datas.usr_id}}">{{ 'admin::compte-utilisateur mot de passe' | trans }}</label>
                <div class="controls">
                    <input type="password" name="password" id="ftp-password-{{datas.usr_id}}" value="{{datas.password}}" />
                </div>
            </div>
            <div class="control-group">
                <label class="control-label" for="ftp-passive-{{datas.usr_id}}">{{ 'admin::compte-utilisateur:ftp: Utiliser le mode passif' | trans }}</label>
                <div class="controls">
                    <input value="1" type="checkbox" name="passive" id="ftp-passive-{{datas.usr_id}}" {% if datas.passive %}checked{% endif %} />
                </div>
            </div>
            <div class="control-group">
                <label class="control-label" for="ftp-max-retry-{{datas.usr_id}}">{{ 'admin::compte-utilisateur:ftp: Nombre d\'essais max' | trans }}</label>
                <div class="controls">
                    <input type="text" name="max_retry" id="ftp-max-retry-{{datas.usr_id}}" value="{{datas.max_retry}}" />
                </div>
            </div>
            <div class="control-group">
                <label class="control-label" for="ftp-dest-folder-{{datas.usr_id}}">{{ 'admin::compte-utilisateur:ftp:  repertoire de destination ftp' | trans }}</label>
                <div class="controls">
                    <input type="text" name="dest_folder" id="ftp-dest-folder-{{datas.usr_id}}" value="{{datas.dest_folder}}" />
                </div>
            </div>
            <div class="control-group">
                <label class="control-label" for="ftp-prefix-folder-{{datas.usr_id}}">{{ 'admin::compte-utilisateur:ftp: creer un dossier' | trans }}</label>
                <div class="controls">
                    <input type="checkbox" class="ftp_folder_check" {% if datas.prefix_folder != '' %}checked{% endif %} name="prefix_folder_check" id="ftp-prefix-folder-check-{{datas.usr_id}}" />
                    <input type="text" name="prefix_folder" id="ftp-prefix-folder-{{datas.usr_id}}" value="{{datas.prefix_folder}}" {% if datas.prefix_folder == '' %}disabled{% endif %} />
                </div>
            </div>
            <div class="control-group">
                <label class="control-label" for="logfile_{{datas.usr_id}}">{{ 'admin::compte-utilisateur:ftp: ecrire un fichier de log' | trans }}</label>
                <div class="controls">
                    <input type="checkbox" class=ftp_logfile_check" name="logfile" id="logfile_{{datas.usr_id}}" value="1" />
                </div>
            </div>
        </form>
    </div>
{% endmacro %}

{% macro choose_title(id, choose_export_title, default_export_title)%}
    <div class="buttons_line" style="display:{% if choose_export_title %}{% else %}none{% endif %}; text-align: left;">
        <p>{{ 'Nom des fichiers a l\'export' | trans }}</p>
        <div class="well-small">
            <label for="type_{{id}}_original" class="radio">
                <input type="radio" name="type" id="type_{{id}}_original" {% if default_export_title == "title" %}checked{% endif %} value="title" />
                {{ 'export::titre: titre du documument' | trans }}
            </label>
            <label for="type_{{id}}_title" class="radio">
                <input type="radio" name="type" id="type_{{id}}_title" {% if default_export_title == "original" %}checked{% endif %} value="originalname" />
                {{ 'export::titre: nom original du document' | trans }}
            </label>
        </div>
    </div>
{% endmacro %}

{% if app['conf'].get(['registry', 'actions', 'auth-required-for-export']) and app.getAuthenticatedUser().isGuest() %}
    <script type="text/javascript">
        p4.Dialog.get(1).Close();
        var $dialog = p4.Dialog.Create({
            size : '500x100',
            closeOnEscape : true,
            closeButton:false,
            title : "{{ "Unauthorized action"|trans }}"
        }, 2);

        $dialog.setContent("{{ "Guest, you must be authenticated to have the right to download."|trans }}");
    </script>
{% else %}
    {% if download.get_total_download() <= 0 and download.get_total_order() <= 0 and download.get_total_ftp() <= 0%}
        <div class="buttons_line" style="text-align: left;">
            <p>{{ 'Les documents ne peuvent pas etre exportes' | trans }}</p>
            <button type="button" class="close_button">{{ 'boutton::fermer' | trans }}</button>
        </div>
    {% endif %}

    <div class="tabs">
        <ul>
            {% if download.get_total_download() > 0 %}
                <li><a href="#download">{{ 'export:: telechargement' | trans }}</a></li>
                <li><a href="#sendmail">{{ 'export:: envoi par mail' | trans }}</a></li>
            {% endif %}
            {% if download.get_total_order() > 0 %}
                <li><a href="#order">{{ 'export:: commande' | trans }}</a></li>
            {% endif %}
            {% if download.get_total_ftp() > 0 %}
                <li><a href="#ftp">{{ 'export:: FTP' | trans }}</a></li>
            {% endif %}
        </ul>
        {% if download.get_total_download() > 0 %}
            <div id="download">
                <div style="padding:10px; text-align: center;">
                    <h4>{{ 'export:: telechargement' | trans }}</h4>
                    <form method="post" target="_blank" action="{{ path('check_download') }}" style="text-align: left;">
                        <input type="hidden" name="lst" value="{{lst}}"/>
                        <input type="hidden" name="ssttid" value="{{ssttid}}"/>
                        {% for name, values in download.get_display_download() %}
                            {% if values.available > 0 %}
                                <div class="well-small">
                                    <label for="download_{{name}}" class="checkbox">
                                        <input class="{{ values.class}} download_items" type="checkbox" id="download_{{name}}" name="obj[]" value="{{name}}" />
                                        <input type="hidden" name="download_{{name}}" value="{{values.size}}" />
                                        <input type="hidden" name="count_{{name}}" value="{{values.available}}" />
                                        {{values.label}} {% if values.total != values.available %}{{values.available}}/{{values.total}}{% endif %} ({{values.size | formatOctets}})
                                        {% if values.refused|length > 0 %}
                                            {% set title%}
                                                {{ 'Documents indisponibles' | trans }}
                                            {% endset %}
                                            <a href="#" class="undisposable_link" title="{{title|trim}}"> + </a>
                                        {% endif %}
                                    </label>
                                    {% if values.refused|length > 0 %}
                                        <div style="display:none;" class="well-small undisposable">
                                            <div>{{ 'Les documents ne peuvent pas etre exportes' | trans }}</div>
                                            {% for datas in values.refused%}
                                                {{ thumbnail.format(datas, 80, 80,'', true, false) }}
                                            {% endfor %}
                                        </div>
                                    {% endif %}
                                </div>
                            {% endif %}
                        {% endfor %}
                        {% if download.has_business_fields_access() %}
                            <div class="businessfields well-small" style="margin-left:20px;display:none;">
                                <label for="business_download" class="checkbox">
                                    <input type="checkbox" name="businessfields" id="business_download" value="1"  />
                                    {{ 'Include Business-fields in caption' | trans }}
                                </label>
                            </div>
                        {% endif %}
                        {{ _self.choose_title('download', choose_export_title, default_export_title) }}

                        {% if app['conf'].get(['registry', 'actions', 'tou-validation-required-for-export']) == true %}
                            <div class="well-small">
                                <label for="TOU_acceptDL" class="checkbox">
                                    <input type="checkbox" name="TOU_accept" id="TOU_acceptDL" value="1"  />
                                    {% set beginning_link = '<a href="' ~ path('get_tou') ~ '" class="TOUview">' %}
                                    {% set end_link = '</a>' %}
                                    {% trans with {'%beginning_link%' : beginning_link, '%end_link%' : end_link} %}By checking this box, you accept %beginning_link% Terms of Use %end_link%{% endtrans %}
                                </label>
                            </div>
                        {% endif %}
                        {% if app['conf'].get(['registry', 'actions', 'export-stamp-choice']) == true and download.has_stamp_option() == true %}
                        <div id="download_stamp_choice" class="well-small hide" style="margin-left: 20px;" >
                            <label for="option_stamp" class="checkbox">
                                <input class="stamp_choice" type="checkbox" id="stamp_choice" name="stamp_choice"  />
                                {{ 'prod::download: delete-marking-stamp' | trans }}
                            </label>
                        </div>
                        {% endif  %}
                        <div class="buttons_line">
                            <button type="button" class="download_button btn btn-inverse">{{ 'boutton::telecharger' | trans }}</button>
                            <button type="button" class="close_button btn btn-inverse">{{ 'boutton::annuler' | trans }}</button>
                        </div>
                    </form>
                </div>
            </div>
            <div id="sendmail">
                <div style="padding:10px; text-align: center;">
                    <h4>{{ 'export:: envoi par mail' | trans }}</h4>
                        <form action="{{ path('export_mail') }}" method="post" target="sendmail_target" style="text-align: left;">
                        <input type="hidden" name="lst" value="{{lst}}"/>
                        <input type="hidden" name="ssttid" value="{{ssttid}}"/>
                        <div>
                            {{ 'export::mail: destinataire' | trans }}
                            <input type="text" value="" name="destmail" class="required span4">
                            {% set my_email = app.getAuthenticatedUser().getEmail() %}
                            {% if my_email != '' %}
                                <label class="checkbox">
                                    <input type="checkbox" name="reading_confirm" value="1" />
                                    {% trans with {'%my_email%' : my_email} %}Recevoir un accuse de reception a %my_email%{% endtrans %}
                                </label>
                            {% else %}
                                <label class="checkbox">
                                    {{ 'Accuse de reception indisponible, vous n\'avez pas declare d\'adresse email' | trans }}
                                    <input type="checkbox" name="reading_confirm" value="1" readonly />
                                </label>
                            {% endif %}
                            <span style="font-style: italic; color: #999999;">{{ 'Entrez plusieurs adresses email en les separant par des points-virgules' | trans }}</span>
                        </div>
                        <div>
                            <p>{{ 'export::mail: contenu du mail' | trans }}</p>
                            <textarea rows="6" style="width:90%; white-space:pre;resize:none;" name="textmail" id="sendmail_message"></textarea>
                        </div>
                        <div>
                            <p>{{ 'export::mail: fichiers joint' | trans }}</p>
                            {% for name, values in download.get_display_download() %}
                                {% if values.available > 0 %}
                                    <div class="well-small">
                                        <label for="sendmail_{{name}}" class="checkbox">
                                            <input class="{{values.class}}" type="checkbox" id="sendmail_{{name}}" name="obj[]" value="{{name}}" />
                                            {{values.label}} {% if values.total != values.available %}{{values.available}}/{{values.total}}{% endif %} ({{values.size | formatOctets}})
                                            {% if values.refused|length > 0 %}
                                                {% set title%}
                                                    {{ 'Documents indisponibles' | trans }}
                                                {% endset %}
                                                <a href="#" class="undisposable_link" title="{{title|trim}}"> + </a>
                                            {% endif %}
                                        </label>
                                        {% if values.refused|length > 0 %}
                                            <div style="display:none;" class="well-small undisposable">
                                                <div><i>{{ 'La sous resolution n\'est pas disponible pour les documents suivants' | trans }}</i></div>
                                                {% for datas in values.refused%}
                                                    {{ thumbnail.format(datas, 80, 80,'', true, false) }}
                                                {% endfor %}
                                            </div>
                                        {% endif %}
                                    </div>
                                {% endif %}
                            {% endfor %}
                        </div>
                        {% if download.has_business_fields_access() %}
                            <div class="businessfields well-small" style="margin-left:20px;display:none;">
                                <label for="business_sendmail" class="checkbox">
                                    <input type="checkbox" name="businessfields" id="business_sendmail" value="1"  />
                                    {{ 'Include Business-fields in caption' | trans }}
                                </label>
                            </div>
                        {% endif %}
                        {{ _self.choose_title('sendmail', choose_export_title, default_export_title) }}

                        {% if app['conf'].get(['registry', 'actions', 'tou-validation-required-for-export']) == true %}
                            <div class="well-small">
                                <label for="TOU_acceptMail" class="checkbox">
                                    <input type="checkbox" name="TOU_accept" id="TOU_acceptMail" value="1"  />
                                    {% set beginning_link = '<a href="' ~ path('get_tou') ~ '" class="TOUview">' %}
                                    {% set end_link = '</a>' %}
                                    {% trans with {'%beginning_link%' : beginning_link, '%end_link%' : end_link} %}By checking this box, you accept %beginning_link% Terms of Use %end_link%{% endtrans %}
                                </label>
                            </div>
                        {% endif %}
                        <div class="buttons_line">
                            <button type="button" class="sendmail_button btn btn-inverse">{{ 'boutton::envoyer' | trans }}</button>
                            <img class="sendmail_button_loader" src="/assets/common/images/icons/loader404040.gif" style="visibility:hidden;margin:0 5px;"/>
                            <button type="button" class="close_button btn btn-inverse">{{ 'boutton::annuler' | trans }}</button>
                        </div>
                    </form>
                </div>
            </div>
        {% endif %}
        {% if download.get_total_order() > 0 %}
            <div id="order">
                {% for name, values in download.get_display_orderable() %}
                    {% if values.available > 0 %}
                        <div class='well-small'>
                            {% set docs_orderable = values.available %}
                                {% if docs_orderable <= 1 %}
                                    {% trans %}Un document commande{% endtrans %}
                                {% else %}
                                    {% trans with {'%docs_orderable%' : docs_orderable} %}%docs_orderable% documents commandes{% endtrans %}
                                {% endif %}
                            {% set docs_not_orderable = values.total - values.available %}
                            {% if docs_not_orderable > 0%}
                                {% if docs_not_orderable == 1 %}
                                    {% trans %}Un document ne peut etre commande{% endtrans %}
                                {% else %}
                                    {% trans with {'%docs_not_orderable%' : docs_not_orderable} %}%docs_not_orderable% documents ne peuvent pas etre commandes{% endtrans %}
                                {% endif %}
                            {% endif %}
                            {% if values.refused|length > 0 %}
                                {% set title%}
                                    {{ 'Documents indisponibles' | trans }}
                                {% endset %}
                                <a href="#" class="undisposable_link" title="{{title|trim}}"> + </a>
                                <div style="display:none;" class="well-small undisposable">
                                    <div><i>{{ 'La sous resolution n\'est pas disponible pour les documents suivants' | trans }}</i></div>
                                    {% for datas in values.refused%}
                                        {{ thumbnail.format(datas, 80, 80,'', true, false) }}
                                    {% endfor %}
                                </div>
                            {% endif %}
                        </div>
                    {% endif %}
                {% endfor %}
                <hr />
                <form class="form-horizontal">
                    <input type="hidden" name="lst" value="{{lst}}"/>
                    <input type="hidden" name="ssel" value="{{ssttid}}"/>

                    <div class="control-group">
                        <label class="control-label" for="order_usage">{{ 'commande::utilisation prevue' | trans }}</label>
                        <div class="controls">
                          <textarea rows="5" name="use" id="order_usage"></textarea>
                        </div>
                    </div>

                    <div class="control-group">
                        <label class="control-label" for="deadline">{{ 'commande::deadline' | trans }}</label>
                        <div class="controls">
                          <input class="datepicker" type="text" name="deadline" id="deadline" value="" />
                        </div>
                    </div>

                    <div class="control-group">
                        <label class="control-label" for="sexe">{{ 'Civility' | trans }}</label>
                        <div class="controls">
                            <select name="sexe" id="sexe">
                                <option {% if app.getAuthenticatedUser().getGender == 0 %}selected="selected"{% endif %} value="0">{{ 'admin::compte-utilisateur:sexe: mademoiselle' | trans }}</option>
                                <option {% if app.getAuthenticatedUser().getGender == 1 %}selected="selected"{% endif %} value="1">{{ 'admin::compte-utilisateur:sexe: madame' | trans }}</option>
                                <option {% if app.getAuthenticatedUser().getGender == 2 %}selected="selected"{% endif %} value="2">{{ 'admin::compte-utilisateur:sexe: monsieur' | trans }}</option>
                            </select>
                        </div>
                    </div>

                    <div class="control-group">
                        <label class="control-label" for="usr_lastname">{{ 'admin::compte-utilisateur nom' | trans }}</label>
                        <div class="controls">
                            <input id='usr_lastname' type="text" name="usr_nom" class="required" value="{{ app.getAuthenticatedUser().getLastName() }}"/>
                        </div>
                    </div>

                    <div class="control-group">
                        <label class="control-label" for="usr_firstname">{{ 'admin::compte-utilisateur prenom' | trans }}</label>
                        <div class="controls">
                            <input type="text" name="usr_prenom" class="required" id="usr_firstname" value="{{ app.getAuthenticatedUser().getFirstName() }}"/>
                        </div>
                    </div>

                    <div class="control-group">
                        <label class="control-label" for="usr_mail"> {{ 'admin::compte-utilisateur email' | trans }}</label>
                        <div class="controls">
                            <input class="required" type="text" name="usr_mail" id="usr_mail" value="{{ app.getAuthenticatedUser().getEmail() }}"/>
                        </div>
                    </div>

                    <div class="control-group">
                        <label class="control-label" for="usr_tel">{{ 'admin::compte-utilisateur telephone' | trans }}</label>
                        <div class="controls">
                            <input type="text" name="tel" id="usr_tel" value="{{ app.getAuthenticatedUser().getPhone() }}"/>
                        </div>
                    </div>

                    <div class="control-group">
                        <label class="control-label" for="usr_societe">{{ 'admin::compte-utilisateur societe' | trans }}</label>
                        <div class="controls">
                            <input type="text" name="societe" id="usr_societe" value="{{ app.getAuthenticatedUser().getCompany() }}"/>
                        </div>
                    </div>

                    <div class="control-group">
                        <label class="control-label" for="usr_function">{{ 'admin::compte-utilisateur poste' | trans }}</label>
                        <div class="controls">
                            <input type="text" name="fonction" id="usr_fonction" value="{{ app.getAuthenticatedUser().getJob() }}"/>
                        </div>
                    </div>

                    <div class="control-group">
                        <label class="control-label" for="usr_address">{{ 'admin::compte-utilisateur adresse' | trans }}</label>
                        <div class="controls">
                            <input class="required" type="text" name="adresse" id="usr_adresse" value="{{ app.getAuthenticatedUser().getAddress() }}"/>
                        </div>
                    </div>

                    <div class="control-group">
                        <label class="control-label" for="usr_zip_code">{{ 'admin::compte-utilisateur code postal' | trans }}</label>
                        <div class="controls">
                            <input id="usr_zip_code" type="text" name="cpostal" name="cpostal" class="required" value="{{ app.getAuthenticatedUser().getZipCode() }}"/>
                        </div>
                    </div>

                    <div class="control-group">
                        <label class="control-label" for="command_geoname_field">{{ 'admin::compte-utilisateur ville' | trans }}</label>
                        <div class="controls">
                            <input class="required geoname_field" type="text" name="geonameid" id="command_geoname_field" value="{{ app.getAuthenticatedUser().getGeonameId() }}" />
                        </div>
                    </div>

                    <div class="control-group">
                        <label class="control-label" for="usr_fax">{{ 'admin::compte-utilisateur fax' | trans }}</label>
                        <div class="controls">
                            <input type="text" id="usr_fax" name="fax" value="{{ app.getAuthenticatedUser().getFax() }}"/>
                        </div>
                    </div>

                    {% if app['conf'].get(['registry', 'actions', 'tou-validation-required-for-export']) == true %}
                        <div class="well-small">
                            <label for="TOU_acceptOrder" class="checkbox">
                                <input type="checkbox" name="TOU_accept" id="TOU_acceptOrder" value="1"  />
                                {% set beginning_link = '<a href="' ~ path('get_tou') ~ '" class="TOUview">' %}
                                {% set end_link = '</a>' %}
                                {% trans with {'%beginning_link%' : beginning_link, '%end_link%' : end_link} %}By checking this box, you accept %beginning_link% Terms of Use %end_link%{% endtrans %}
                            </label>
                        </div>
                    {% endif %}

                    <div class="form_actions buttons_line">
                        <button type="button" class="order_button btn btn-primary">{{ 'boutton::commander' | trans }}</button>
                        <img class="order_button_loader" src="/assets/common/images/icons/loader404040.gif" style="visibility:hidden;margin:0 5px;"/>
                        <button type="button" class="close_button btn btn-inverse">{{ 'boutton::annuler' | trans }}</button>
                    </div>
                </form>
            </div>
        {% endif %}
        {% if download.get_total_ftp() > 0 %}
            <div id="ftp">
                <div style="padding:10px; text-align: center;">
                    <h4>{{ 'export:: FTP' | trans }}</h4>
                    <div class="control-group">
                        <label class="control-label" for="ftp_form_selector">
                            {{ 'phraseanet:: prereglages' | trans }}
                        </label>
                        <div class="controls">
                            <select id="ftp_form_selector" class="span3">
                                {% for datas in download.get_ftp_datas() %}
                                    <option value="{{datas.usr_id}}">{{datas.name}}</option>
                                {% endfor %}
                            </select>
                        </div>
                    </div>
                    <div id="ftp_form">
                        <div id="ftp_form_stock">
                            {% for datas in download.get_ftp_datas() %}
                                {{ _self.print_ftp_form(datas) }}
                            {% endfor %}
                        </div>
                    </div>
                    <form id="ftp_joined" class="form-horizontal" style="text-align: left;">
                        <input type="hidden" name="lst" value="{{lst}}"/>
                        <input type="hidden" name="ssttid" value="{{ssttid}}"/>
                        <div>
                            <p>{{  'export::mail: fichiers joint' | trans }}</p>
                            {% for name, values in download.get_display_ftp() %}
                                {% if values.available > 0 %}
                                    <div class="well-small">
                                        <label for="ftp_{{name}}" class="checkbox">
                                            <input class="{{values.class}}" type="checkbox" id="ftp_{{name}}" name="obj[]" value="{{name}}" />
                                            {{values.label}} {% if values.total != values.available %}{{values.available}}/{{values.total}}{% endif %} ({{values.size | formatOctets}}))
                                            {% if values.refused|length > 0 %}
                                                {% set title%}
                                                    {{ 'Documents indisponibles' | trans }}
                                                {% endset %}
                                                <a href="#" class="undisposable_link" title="{{title|trim}}"> + </a>
                                            {% endif %}
                                        </label>
                                        {% if values.refused|length > 0 %}
                                            <div style="display:none;" class="well-small undisposable">
                                                <div><i>{{ 'La sous resolution n\'est pas disponible pour les documents suivants' | trans }}</i></div>
                                                {% for datas in values.refused%}
                                                    {{ thumbnail.format(datas, 80, 80,'', true, false) }}
                                                {% endfor %}
                                            </div>
                                        {% endif %}
                                    </div>
                                {% endif %}
                            {% endfor %}
                        </div>
                        {% if download.has_business_fields_access() %}
                            <div class="businessfields" style="margin-left:20px;display:none;">
                                <label for="business_ftp" class="checkbox">
                                    <input type="checkbox" name="businessfields" id="business_ftp" value="1"  />
                                    {{ 'Include Business-fields in caption' | trans }}
                                </label>
                            </div>
                        {% endif %}

                        {% if app['conf'].get(['registry', 'actions', 'tou-validation-required-for-export']) == true %}
                            <div class="well-small">
                                <label for="TOU_acceptFTP" class="checkbox">
                                    <input type="checkbox" name="TOU_accept" id="TOU_acceptFTP" value="1"  />
                                    {% set beginning_link = '<a href="' ~ path('get_tou') ~ '" class="TOUview">' %}
                                    {% set end_link = '</a>' %}
                                    {% trans with {'%beginning_link%' : beginning_link, '%end_link%' : end_link} %}By checking this box, you accept %beginning_link% Terms of Use %end_link%{% endtrans %}
                                </label>
                            </div>
                        {% endif %}
                    </form>
                    <div class="buttons_line">
                        <button type="button" class="tryftp_button btn btn-inverse">{{ 'boutton::essayer' | trans }}</button>
                        <img class="tryftp_button_loader" src="/assets/common/images/icons/loader404040.gif" style="visibility:hidden;margin:0 5px;"/>
                        <button type="button" class="ftp_button btn btn-inverse">{{ 'boutton::envoyer' | trans }}</button>
                        <img class="ftp_button_loader" src="/assets/common/images/icons/loader404040.gif" style="visibility:hidden;margin:0 5px;"/>
                        <button type="button" class="close_button btn btn-inverse">{{ 'boutton::annuler' | trans }}</button>
                    </div>
                </div>
                <script type="text/javascript">
                    $(document).ready(function(){
                        $('#ftp_form_selector').bind('change',function(){
                        $('#ftp .ftp_form').hide();
                        $('#ftp .ftp_form_'+$(this).val()).show();
                            $('.ftp_folder_check', p4.Dialog.get(1).getDomElement()).unbind('change').bind('change', function(){
                                if($(this).prop('checked'))
                                    $(this).next().prop('disabled',false);
                                else
                                    $(this).next().prop('disabled',true);
                            });
                        }).trigger('change');
                    });
                </script>
             </div>
        {% endif %}
    </div>

    <script type="text/javascript">

        function check_TOU(container)
        {
            var checkbox = $('input[name="TOU_accept"]', $(container));
            var go = checkbox.length === 0 || checkbox.prop('checked');

            if(!go)
            {
                {% set alert_message %}
                    {{ 'You must agree to the Terms of Use to continue.' | trans }}
                {% endset %}

                var alert = p4.Dialog.Create({
                    size : 'Alert',
                    closeOnEscape : true,
                    closeButton:true,
                    title : '{{ "Warning !" | trans }}'
                }, 2);

                alert.setContent("{{ alert_message | e('js') }}");

                return false;
            }
            return true;
        }

        function check_subdefs(container)
        {
            var go = required = false;

            $('input[name="obj[]"]', $(container)).each(function(){
                if($(this).prop('checked'))
                {
                    go = true;
                }
            });

            $('input.required, textarea.required', container).each(function(i,n){
                if($.trim($(n).val()) === '')
                {
                    required = true;
                    $(n).addClass('error');
                }
                else
                {
                    $(n).removeClass('error');
                }
            });

            if(required)
            {
                {% set alert_message %}
                    {{ 'Certains champs sont obligatoires, veuillez les remplir' | trans }}
                {% endset %}

                var alert = p4.Dialog.Create({
                    size : 'Alert',
                    closeOnEscape : true,
                    closeButton:true,
                    title : '{{ "Warning !" | trans | e('js') }}'
                }, 2);

                alert.setContent("{{ alert_message | e('js') }}");

                return false;
            }
            if(!go)
            {
                {% set alert_message %}
                    {{ 'Vous devez selectionner un type de sous definitions' | trans }}
                {% endset %}

                var alert = p4.Dialog.Create({
                    size : 'Alert',
                    closeOnEscape : true,
                    closeButton:true,
                    title : '{{ "Warning !" | trans | e('js') }}'
                }, 2);

                alert.setContent("{{ alert_message | e('js') }}");

                return false;
            }

            return true;
        }

        {% set TOUTitle %}
            {{ "Terms of Use" | trans }}
        {% endset %}

        $(document).ready(function(){
            var dialog = p4.Dialog.get(1);
            var tabs = $('.tabs', dialog.getDomElement());

            $('a.TOUview').bind('click', function(){
                var options = {
                  size : 'Medium',
                  closeButton: true,
                  title :'{{ TOUTitle|e('js') }}'
                };

                $dialog = p4.Dialog.Create(options, 2);

                $.get($(this).attr('href'), function(content){$dialog.setContent(content);});
            });

            $('.close_button').bind('click',function(){
                dialog.Close();
            });

            /*define([
                "common/geonames"
            ], function (geonames) {
                geonames.init($('#command_geoname_field'), {
                    "server": "{{ app['geonames.server-uri'] }}",
                    "limit": 40
                });
            });*/



            $('#download .download_button').bind('click',function(){
                if(!check_subdefs($('#download')))
                    return false;

                if (!check_TOU($('#download'))) {
                    return false;
                }

                var total = 0;
                var count = 0;

                $('input[name="obj[]"]', $('#download')).each(function(){
                    var total_el = $('#download input[name=download_'+$(this).val()+']');
                    var count_el = $('#download input[name=count_'+$(this).val()+']');
                    if($(this).prop('checked'))
                    {
                        total += parseInt($(total_el).val());
                        count += parseInt($(count_el).val());
                    }
                });

                {% set max_download = app['conf'].get(['registry', 'actions', 'download-max-size'], 120) %}
                {% set alert_too_big_one %}
                        {% trans with {'%max_download%' : max_download} %}You can not directly download more than %max_download% Mo ; time to package all documents is too long{% endtrans %}
                {% endset %}
                {% set alert_too_big_two %}
                        {{ 'You can alternatively receive an email when the download is ready.' | trans }}
                {% endset %}
                {% set alert_too_big_three %}
                        {{ 'Would you like to receive an e-mail when your download is ready ?' | trans }}
                {% endset %}

                if(count>1 && total/1024/1024 > {{max_download}}) {
                    if(confirm("{{alert_too_big_one|e('js') ~ "\\n" ~ alert_too_big_two|e('js') ~ "\\n" ~ alert_too_big_three|e('js')}}")) {
                        $('input[name="obj[]"]:checked', $('#download')).each(function(i,n){
                        $('input[name="obj[]"][value="'+$(n).val()+'"]', $('#sendmail')).prop('checked', true);
                        });
                        $('input[name="destmail"]', $('#sendmail')).val("{{app.getAuthenticatedUser().getEmail()}}");

                        var tabs = $('.tabs', dialog.getDomElement());
                        tabs.tabs("option", "active", 1);
                    }

                    return;
                }

                $('#download form').submit();
                dialog.Close();
            });

            $('#order .order_button').bind('click',function(){
                if (!check_TOU($('#order'))) {
                    return false;
                }

                $('#order .order_button_loader').css('visibility','visible');

                var options = $('#order form').serialize();

                var $this = $(this);
                $this.prop('disabled', true).addClass('disabled');

                displayOverlay();
                $.post("../prod/order/"
                    , options
                    , function(data){
                        $this.prop('disabled', false).removeClass('disabled');

                        $('#order .order_button_loader').css('visibility','hidden');

                        if(!data.error) {
                            var title = '{{ "Success" | trans | e('js') }}';
                        } else {
                            var title = '{{ "Warning !" | trans | e('js') }}';
                        }

                        var options = {
                          size : 'Alert',
                          closeButton: true,
                          title : title
                        };

                        p4.Dialog.Create(options, 2).setContent(data.msg);

                        if(!data.error)
                        {
                            humane.info(data.msg);
                            removeOverlay();
                            dialog.Close();
                        } else {
                            removeOverlay();
                            humane.error(data.msg);
                        }

                        return;
                    }
                    ,'json'
                );
            });

            $('#ftp .ftp_button').bind('click',function(){
                if(!check_subdefs($('#ftp')))
                    return false;

                if (!check_TOU($('#ftp'))) {
                    return false;
                }

                $('#ftp .ftp_button_loader').show();

                    $('#ftp .ftp_form:hidden').remove();

                var $this = $(this);

                var options_addr = $('#ftp_form_stock form:visible').serialize();
                var options_join = $('#ftp_joined').serialize();

                $this.prop('disabled',true);
                $.post("../prod/export/ftp/"
                    , options_addr + '&' + options_join
                    , function(data){
                        $this.prop('disabled', false);
                        $('#ftp .ftp_button_loader').hide();

                        if(data.success) {
                            humane.info(data.message);
                            dialog.Close();
                        } else {
                            var alert = p4.Dialog.Create({
                                size : 'Alert',
                                closeOnEscape : true,
                                closeButton:true,
                                title : '{{ "Warning !" | trans | e('js') }}'
                            }, 2);

                            alert.setContent(data.message);
                         }
                        return;
                    }
                    , 'json'
                );
            });

            $('#ftp .tryftp_button').bind('click',function(){
                $('#ftp .tryftp_button_loader').css('visibility','visible');
                var $this = $(this);
                $this.prop('disabled',true)
                var options_addr = $('#ftp_form_stock form:visible').serialize();

                $.post("../prod/export/ftp/test/"
                    , options_addr           // no need to include 'ftp_joined' checkboxes to test ftp
                    , function(data){
                        $('#ftp .tryftp_button_loader').css('visibility','hidden');

                        var options = {
                          size : 'Alert',
                          closeButton: true,
                          title : data.success ? '{{ "Success" | trans | e('js') }}' : '{{ "Warning !" | trans | e('js') }}'
                        };

                        p4.Dialog.Create(options, 3).setContent(data.message);

                        $this.prop('disabled', false);

                        return;
                    }
                );
            });

            function displayOverlay() { 
                $(document.body).append('<div class="spinner-loader"></div>');
             }

              function removeOverlay() { 
                $('.spinner-loader').remove();
            }

            function validateEmail(email) {
                var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
                return re.test(email);
            }

            function validEmail(emailList) {
                //split emailList by ; , or whitespace and filter empty element
                var emails = emailList.split(/[ ,;]+/).filter(Boolean);
                for(var i=0; i < emails.length; i++) {
                    if (!validateEmail(emails[i])) {
                        {% set alert_message %}
                        {{ 'export::export-email: email-invalid' | trans }}
                        {% endset %}

                        var alert = p4.Dialog.Create({
                            size : 'Alert',
                            closeOnEscape : true,
                            closeButton:true,
                            title : '{{ "Warning !" | trans | e('js') }}'
                        }, 2);

                        alert.setContent("{{ alert_message | e('js') }}");
                       return false;
                    }
                }
                return true;
            }

            var submitEmailForm = function () {
                if(!validEmail($('input[name="destmail"]', $('#sendmail')).val())) {
                    return false;
                }

                if (!check_subdefs($('#sendmail'))) {
                    return false;
                }

                if (!check_TOU($('#sendmail'))) {
                    return false;
                }

                displayOverlay();

                $.post('{{ path('export_mail') }}', $('#sendmail form').serialize(), function (response) {
                    removeOverlay();
                    dialog.Close();
                });
                return false;
            };

            $('#sendmail form').on('submit', function () {
                return submitEmailForm();
            });

            $('#sendmail .sendmail_button').on('click', function () {
                return submitEmailForm();
            });

            $('.datepicker', dialog.getDomElement()).datepicker({
                changeYear: true,
                changeMonth:true,
                dateFormat : 'yy-mm-dd'
            });

            $('a.undisposable_link', dialog.getDomElement()).bind('click',function(){
                $(this).parent().parent().find('.undisposable').slideToggle();
                return false;
            });

            $('input[name="obj[]"]', $('#download, #sendmail, #ftp')).bind('change', function(){

                var $form = $(this).closest('form');

                if($('input.caption[name="obj[]"]:checked', $form).length > 0) {
                    $('div.businessfields', $form).show();
                } else {
                    $('div.businessfields', $form).hide();
                }
            });
        });

        $("input:checkbox.download_items.document").change(function() {

            var checked = false;
            $("input:checkbox.download_items.document").each(function() {
                if ($(this).is(':checked')) {
                    checked = true;
                    return false;
                }
            });
            
            if (checked) {
                $('#download_stamp_choice').show();
            } else {
                $('#download_stamp_choice').hide();
            }
        });
    </script>
{% endif %}

