{% if app.request.get('_route') == 'header' %}
{% set agence = getAgence() %}
{% set client = app.session.get('client') %}
{% set src_logo = domaineBack() ~ '/' ~ agence.logo %}
{% set alt_logo = agence.nom %}
{% set reseauxSociaux = getReseauxSociaux() %}
<link href="{{ asset('assets-commun/css/bootstrap.css') }}" rel="stylesheet" type="text/css"/>
<link href="{{ asset('assets-commun/css/font-awesome.css') }}" rel="stylesheet" type="text/css"/>
{% endif %}
<link href="{{ asset('assets-commun/css/header-commun.css') }}" rel="stylesheet" type="text/css"/>
<header class="common-header hidden-sm hidden-xs">
<nav class="navbar navbar-info" role="navigation">
<div class="container-fluid">
<div class="top-common">
<div class="row">
<ul class="navbar-nav social-custom list-inline hidden-xs hidden-sm justify-content-center">
{% if agence.langues %}
<div class="btn-group" id="dropdown-login">
<button class="btn btn-default btn-sm dropdown-toggle dropdown-login-btn" type="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{ app.request.locale|upper }} <i class="fa fa-sort"></i>
</button>
<ul class="dropdown-menu">
{% for langue in agence.langues|split(',') %}
<li><a href="{{ path('change_langue',{langue:langue}) }}"><span
class="flag flag-{{ getLanguesTraduction()[langue].flag }}"></span> {% if getLanguesTraduction()[langue].libelle == 'Anglais' %}English {% else %}{{ getLanguesTraduction()[langue].libelle }}{% endif %}
</a></li>
{% endfor %}
</ul>
</div>
{% endif %}
<li class="list-inline-item ">
<a href="tel:{{ getAgence().tel1 }}">
<img src="{{ asset('assets-commun/images/icons/iconwhats.svg') }} "
class="social-icon-svg " alt=" ">
</a>
</li>
{% if reseauxSociaux and reseauxSociaux.facebook is not null %}
<li class="list-inline-item">
<a class="facebook" href="{{ reseauxSociaux.facebook }}">
<img src="{{ asset('assets-commun/images/icons/fb.svg') }}" class="social-icon-svg"
alt="">
</a>
</li>
{% endif %}
{% if reseauxSociaux and reseauxSociaux.twitter is not null %}
<li>
<a class="twitter" href="{{ reseauxSociaux.twitter }}">
<img src="{{ asset('assets-commun/images/icons/twitter.svg') }}"
class="social-icon-svg"
alt="">
</a>
</li>
{% endif %}
{% if reseauxSociaux and reseauxSociaux.instagram is not null %}
<li>
<a class="pinterest" href="{{ reseauxSociaux.instagram }}">
<img src="{{ asset('assets-commun/images/icons/insta.svg') }}"
class="social-icon-svg"
alt="">
</a>
</li>
{% endif %}
{% if reseauxSociaux and reseauxSociaux.youtube is not null %}
<li>
<a class="youtube" href="{{ reseauxSociaux.youtube }}">
<img src="{{ asset('assets-commun/images/icons/youtube.svg') }}"
class="social-icon-svg"
alt="">
</a>
</li>
{% endif %}
{% if not is_granted('IS_AUTHENTICATED_FULLY') %}
<li class="list-inline-item">
<a href="{{ path('app_login') }}" class="btn btn-connect text-white"><img
src="{{ asset('assets-commun/images/icons/connect.svg') }}"
class="social-icon-svg"
alt=""> {{ "Se Connecter"|trans }}</a>
</li>
{% if disableRegistration == 'false' %}
<li class="list-inline-item">
<a href="{{ path('app_register') }}" class="btn btn-connect text-white"><img
src="{{ asset('assets-commun/images/icons/connect.svg') }}"
class="social-icon-svg"
alt="">
{{"S'inscrire"|trans}}</a>
</li>
{% endif %}
{% else %}
<div class="btn-group" id="dropdown-login">
<button class="btn btn-default btn-sm dropdown-toggle dropdown-login-btn" type="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img src="{{ asset('assets-commun/images/icons/connect-new.svg') }}"
class="social-icon-svg" alt=""> {{ "Bienvenue"|trans }} {{ client ? client.nomPrenom : '' }}
</button>
</div>
<li class="list-inline-item">
<a href="{{ path('app_logout') }}" class="btn btn-connect text-white"><img
src="{{ asset('assets-commun/images/icons/connect.svg') }}"
class="social-icon-svg"
alt="">
{{"Se déconnecter"|trans}}</a>
</li>
{% endif %}
{% if app.session.get('solde') and amicale.agenceB2B %}
{% set solde = app.session.get('solde') %}
<div class="header-right header-right-solde">
<div class="navi background-solde d-flex align-items-center">
<p style="color: var(--color-site-2);text-align: left;font-size: 18px;margin: 0 0 0px;">
<a href="javascript:void(0);">
<span style="color: var(--color-site-2);" class="glyphicon glyphicon-refresh"
onclick="var $this=$(this);$this.addClass('fa-spin'); $.get('{{ path('espace_affilie_solde') }}',function(data) {
$this.removeClass('fa-spin');
$('.header-right-solde #date').html(data.date)
$('.header-right-solde #time').html(data.time)
$('.header-right-solde #solde').html(`${parseFloat(data.solde).toFixed({{ deviseAgence().scale }})} ${ data.deviseComptable }`)
$('.header-right-solde #disponible').html(`${parseFloat(data.disponible).toFixed({{ deviseAgence().scale }})} ${ data.deviseComptable }`)
viewAlert(`Votre solde actuel est ${parseFloat(data.solde).toFixed({{ deviseAgence().scale }})} ${ data.deviseComptable }`,'success')
})"></span>
</a>
{##}
<div class="btn-group" id="dropdown-login">
<button class="btn btn-default btn-sm dropdown-toggle dropdown-login-btn dropdown-login-solde text-blue"
type="button" data-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">
{{ "Montant disponible"|trans }} <span
id="disponible">{{ solde.disponible|number_format(deviseAgence().scale,'.','') }} {{ solde.deviseComptable }}</span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href=""> {{ "Votre solde le"|trans }} <span id="date">{{ solde.date }}</span>{{"à"|trans}}
<span id="time">{{ solde.time }}</span></a></li>
<hr class="style-hr " style="margin: 0 5px;border-color: var(--color-site-2);">
<li><a href=""> {{ "Solde"|trans }} <span
id="solde">{{ solde.solde|number_format(deviseAgence().scale,'.','') }} {{ solde.deviseComptable }}</span></a>
</li>
<hr class="style-hr " style="margin: 0 5px;border-color: var(--color-site-2);">
<li><a href=""> {{ "Montant disponible"|trans }} <span
id="disponible">{{ solde.disponible|number_format(deviseAgence().scale,'.','') }} {{ solde.deviseComptable }}</span></a>
</li>
</ul>
</div>
{##}
{# Montant disponible <span id="disponible">{{ solde.disponible|number_format(deviseAgence().scale,'.','') }} {{ deviseAgence().symbole }}</span>#}
</p>
</div>
</div>
{% endif %}
{% if getDevise()|length > 1 and multi_devise == 'true' %}
<div class="btn-group" id="dropdown-login">
<button class="btn btn-default btn-sm dropdown-toggle dropdown-login-btn" type="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{ "Devise"|trans }} ({{ deviseSelected().symbole }})<i class="fa fa-sort"></i>
</button>
<ul class="dropdown-menu">
{% for devise in getDevise() %}
{% if devise.symbole != deviseSelected().symbole %}
<li>
<a href="{{ path('change_devise',{code:devise.code}) }}"><b>{{ devise.symbole }}</b> {{ devise.libelle }}
</a></li>
{% endif %}
{% endfor %}
</ul>
</div>
{% endif %}
{% if is_granted('IS_AUTHENTICATED_FULLY') %}
<div class="btn-group" id="dropdown-login">
<button class="btn btn-default btn-sm dropdown-toggle dropdown-login-btn" type="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img src="{{ asset('assets-commun/images/icons/connect-new.svg') }}"
class="social-icon-svg" alt=""> {{ "Votre Espace"|trans }} <span
class="caret"></span>
</button>
{% if app.request.server.has('DOMAINE_ARCHIVE') %}
{% set domaine_archive = app.request.server.get('DOMAINE_ARCHIVE')|json_decode %}
{% endif %}
<ul class="dropdown-menu">
{% if not client.hideListRservation %}
{% if hasModule('sejour') or hasModule('voyages-organise') or hasModule('voyages-package') or hasModule('vol') %}
<li><a href="{{ path('espace_affilie_reservations') }}"> <i
class="fa fa-file-text-o"></i> {{"Réservations"|trans}}</a>
<ul class="niveau3">
{% for route in routeReservation() %}
<li class="{{ route.route_liste }}"><a
href="{{ path(route.route_liste) }}"> {{ ("Réservations " ~ route.libelle)|trans }}</a>
</li>
{% if domaine_archive is defined and route.route_liste == 'espace_affilie_reservations' %}
<li class="{{ route.route_liste }}"><a
href="{{ path(route.route_liste ~ '_archive') }}"> {{ ("Réservations " ~ route.libelle)|trans }}
<b class="text-danger">({{ domaine_archive.libelle }}
)</b></a>
</li>
{% endif %}
{% endfor %}
{% if app.request.server.has('FLIGHTS_WORLDSOFT_SUB_DOMAINE') and hasModule('vol') %}
<li class="flight-queue"><a
href="{{ app.request.server.get('FLIGHTS_WORLDSOFT_SUB_DOMAINE') }}/#!/flight-queue"> {{ "Réservations Vol"|trans }}</a>
</li>
{% endif %}
</ul>
</li>
{% endif %}
{% endif %}
{% if is_granted('ROLE_CLIENT_AMICALE_RESPONSABLE') or is_granted('ROLE_CLIENT_B2B') %}
{% if hasModule('tache') %}
<li><a href="{{ path('ticket_liste') }}"> <i
class="fa fa-tasks"></i> {{ "gestion des tickets"|trans }} </a></li>
{% endif %}
<li><a href="{{ path('espace_affilie_reglements') }}"> <i
class="fa fa-credit-card"></i> {{"comptabilité"|trans}} </a></li>
{% if domaine_archive is defined %}
<li><a href="{{ path('espace_affilie_reglements_archive') }}"> <i
class="fa fa-credit-card"></i> {{"comptabilité"|trans}} <b
class="text-danger">({{ domaine_archive.libelle }})</b>
</a></li>
{% endif %}
<li><a href="{{ path('espace_affilie_balance') }}"> <i
class="fa fa-balance-scale"></i>{{ "Balance"|trans }}</a></li>
<li><a href="{{ path('espace_affilie_balance_paiements_echeance') }}"> <i
class="fa fa-balance-scale"></i>{{"Paiements à échéance"|trans}}</a></li>
{% if not (amicale and amicale.configs.HIDE_LIST_FACTURE is defined and amicale.configs.HIDE_LIST_FACTURE|upper == 'TRUE') %}
<li><a href="{{ path('espace_affilie_factures') }}"> <i
class="fa fa-file-archive-o"></i> {{ "Factures et avoirs"|trans }}</a>
</li>
{% if domaine_archive is defined %}
<li><a href="{{ path('espace_affilie_factures_archive') }}"> <i
class="fa fa-file-archive-o"></i> {{ "Factures et avoirs"|trans }}
<b class="text-danger">({{ domaine_archive.libelle }}
)</b></a>
</li>
{% endif %}
{% endif %}
{% if is_granted('ROLE_CLIENT_B2B_RESPONSABLE') or is_granted('ROLE_CLIENT_AMICALE_RESPONSABLE') %}
<li><a href="{{ path('espace_agence_utilisateurs') }}"> <i
class="fa fa-user"></i> {{ "Utilisateurs"|trans }}</a></li>
<li><a href="{{ path('espace_agence_profile') }}"> <i
class="fa fa-cog"></i>
{{"Etablissement"|trans }}</a></li>
{# Recharge solde menu - opens modal #}
{% set configurationPayement = getConfigurationPayement() %}
{% if configurationPayement.0.fraisService is defined %}
<li>
<a href="#" data-toggle="modal" data-target="#rechargeSoldeModal">
<i
class="fa fa-credit-card"></i> {{ "Recharge solde"|trans }}</a>
</li>
{% endif %}
<li><a href="{{ path('espace_agence_marges') }}"> <i
class="fa fa-bar-chart"></i> {{ "Marges"|trans }}</a></li>
{% if hasModule('billetterie-avion-xml') %}
<li><a href="{{ path('espace_agence_marges_aerien') }}"> <i
class="fa fa-bar-chart"></i> {{"Marges aérien"|trans}}</a></li>
{% endif %}
{% endif %}
{% endif %}
<li><a href="{{ path('app_change_password') }}"> <i
class="fa fa-key"></i> {{ "Changer le mot de passe"|trans }}</a></li>
</ul>
</div>
{% endif %}
</ul>
</div>
</div>
</div>
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse"
data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand hidden-lg mobile-logo" href="/">
<img src="{{ src_logo }}" class="logo-responsive" alt="{{ alt_logo }}">
</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<div class="row align-items-center">
<div class="col-lg-2">
<div class="pull-left">
<a href="/">
<img src="{{ src_logo }}"
class="logo-responsive hidden-md hidden-sm hidden-xs" alt="{{ alt_logo }}">
</a>
</div>
</div>
<div class="col-md-8 col-xs-12">
<ul class="nav navbar-nav justify-content-center">
<li class="{#active#}"><a href="/">{{ "ACCUEIL"|trans }}</a></li>
{% if hasModule('sejour') %}
<li><a href="{{ path('sejour_hotel_availability') }} ">{{"HÔTELS"|trans}} </a></li>
{% endif %}
{% if hasModule('appartement') %}
<li><a href="{{ path('sejour_appartement_availability') }} ">{{ "APPARTEMENTS"|trans }} </a></li>
{% endif %}
{% if hasModule('voyages-package') %}
<li><a href="{{ path('front_package_liste') }} ">
{{"Pack VOYAGE ORGANISÉS"|trans}}</a>
</li>
{% endif %}
{% if hasModule('voyages-organise') %}
<li><a href="{{ path('front_voyageorganise_liste') }}" class="navitem-vo">{{"VOYAGES
ORGANISÉS"|trans}}</a></li>
<li><a href="{{ path('front_voyagecarte_liste') }}" class="navitem-vc">{{"Voyages à la
carte"|trans}}</a></li>
<li><a href="{{ path('front_omraorganise_liste') }}" class="navitem-omra">{{ "OMRA"|trans }}</a></li>
<li><a href="{{ path('front_circuitorganise_liste') }}" class="navitem-circuits">
{{ "CIRCUITS"|trans }} </a></li>
<li><a href="{{ path('front_croisieres_liste') }}" class="navitem-croisieres">
{{"CROISIÈRES"|trans}} </a></li>
{% endif %}
{% if hasModule('vol') %}
<li class="form_vol"><a href="{{ path('vol') }} "> {{ "BILLETTERIE AVION"|trans }}</a></li>
{% if hasModule('billetterie-avion-xml') %}
<li><a href="{{ path('home_aerien') }}"> {{ "VOL"|trans }} </a></li>
{% endif %}
{% endif %}
{% if hasModule('bien-etre') %}
<li><a href="{{ path('front_bien_etre_liste') }} "> {{ "SPA"|trans }}</a></li>
{% endif %}
{#<li><a href="{{ url('volSearch') }}" > Vols </a>#}
{% if hasModule('location-voiture') %}
{% if hasModule('location-voiture-xml') %}
<li><a href="{{ path('availibility') }} "> {{ "LOCATION VOITURE"|trans }}</a></li>
{% endif %}
{% endif %}
{% if hasModule('billetterie-maritime-xml') %}
<li><a href="{{ path('availibility_maritime') }} ">{{ "MARITIME"|trans }} </a></li>
{% endif %}
{# <li><a href="/"> VISA ASSURANCES</a></li>#}
{% if is_granted('ROLE_CLIENT_AMICALE_RESPONSABLE') or is_granted('ROLE_CLIENT_B2B') %}
{% if hasModule('tache') %}
<li><a href="{{ path('ticket_liste') }}"> {{ "gestion des tickets"|trans }} </a></li>
{% endif %}
{% endif %}
{% if is_granted('IS_AUTHENTICATED_FULLY') %}
<li class="contact-display"><a href="{{ path('contact') }} ">{{ "CONTACT"|trans }}</a></li>
{% for article in ArticlesElement().desktop %}
{% if article.code=="Contactez-nous" %}
{% for elem in article.elements %}
<li class="contact-article"><a
href="{{ path('contact_us') }} "> {{ elem.titre }}</a></li>
{% endfor %}
{% endif %}
{% endfor %}
{% endif %}
{% if is_granted('IS_AUTHENTICATED_FULLY') and form_send_payment == 'true' %}
<li><a href="{{ path('sendPayment') }} ">{{ "ENVOYER UN PAIEMENT"|trans }}</a></li>
{% endif %}
</ul>
</div>
<div class="col-md-2 hidden-xs hidden-sm">
<div class="social pull-right ">
<div class="card-header ">
<div class="row center-content ">
<div class="col-xs ">
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="45px" height="45px" viewBox="0 0 45 45" enable-background="new 0 0 45 45" xml:space="preserve">
<g>
<g>
<g>
<path fill="var(--color-site-1)" d="M33.41,19.279c-0.193,0.047-0.332,0.193-0.526,0.239c-0.239,0.093-0.432,0.147-0.671,0.193
c-0.285,0.046-0.48-0.147-0.572-0.386c-0.046-0.24-0.092-0.434-0.046-0.674c0.046-0.433,0.148-0.865,0.24-1.298
c0.238-1.299,0.479-2.635,0.719-3.934c0.045-0.332,0.147-0.718,0.091-1.059c0-0.434-0.284-0.627-0.717-0.627
c-0.57,0-1.197,0-1.78,0c-0.578,0-1.149,0-1.675,0c-0.148,0-0.285,0-0.434,0.046c-0.238,0.047-0.386,0.193-0.431,0.387
c0,0.147,0.091,0.332,0.331,0.434c0.193,0.046,0.385,0.092,0.625,0.092c0.479,0.046,0.626,0.24,0.626,0.719
c0,0.092,0,0.147,0,0.239c-0.192,1.151-0.387,2.303-0.626,3.454c-0.092,0.673-0.193,1.345-0.285,1.963
c-0.146,0.957,0.82,1.87,1.54,1.962c0.431,0.045,0.911,0.092,1.343,0.092c0.958,0,1.779-0.434,2.45-1.105
c0.093-0.092,0.24-0.286,0.24-0.434C33.89,19.335,33.696,19.141,33.41,19.279z"/>
<path fill="var(--color-site-1)" d="M40.796,4.173c-5.516-5.563-14.486-5.563-19.997,0c-5.324,5.324-5.518,13.817-0.571,19.381l0.093,0.091
c-0.526,1.153-1.483,2.59-2.929,3.308c-0.479,0.239-0.388,0.958,0.146,1.06c1.631,0.239,3.934,0,6.043-1.631l0.045,0.046
c5.417,3.169,12.518,2.45,17.169-2.211C46.314,18.663,46.314,9.69,40.796,4.173z M30.821,25.037
c-5.997,0-10.841-4.846-10.841-10.843c0-5.996,4.844-10.831,10.841-10.831s10.842,4.845,10.842,10.841
C41.663,20.201,36.818,25.037,30.821,25.037z"/>
<path fill="var(--color-site-1)" d="M26.548,33.096c-1.106-1.15-2.542-1.15-3.694,0c-0.865,0.866-1.723,1.723-2.587,2.589
c-0.24,0.239-0.433,0.285-0.72,0.147c-0.525-0.332-1.15-0.57-1.676-0.912c-2.495-1.585-4.604-3.602-6.475-5.895
c-0.911-1.151-1.723-2.35-2.302-3.74C9,24.999,9,24.853,9.24,24.612c0.912-0.819,1.721-1.677,2.588-2.541
c1.197-1.198,1.197-2.589,0-3.787c-0.718-0.718-1.391-1.391-2.063-2.063c-0.718-0.718-1.391-1.437-2.11-2.109
c-1.104-1.105-2.541-1.105-3.693,0c-0.865,0.866-1.722,1.722-2.588,2.589c-0.82,0.819-1.243,1.777-1.345,2.873
c-0.146,1.777,0.285,3.5,0.912,5.176c1.299,3.501,3.261,6.521,5.61,9.351c3.214,3.841,7.046,6.861,11.514,9.018
c2.017,0.957,4.081,1.723,6.283,1.869c1.582,0.093,2.929-0.331,4.024-1.538c0.72-0.865,1.585-1.584,2.349-2.395
c1.151-1.197,1.151-2.634,0-3.786C29.33,35.878,27.939,34.487,26.548,33.096z"/>
<path fill="var(--color-site-1)" d="M31.153,10.889c1.004,0,1.824-0.82,1.824-1.824s-0.82-1.869-1.824-1.869
c-1.006,0-1.823,0.819-1.869,1.822C29.33,10.077,30.147,10.889,31.153,10.889z"/>
</g>
</g>
</g>
</svg>
</div>
<div class="col-xs">
<div class="card-body ">
<h6 class="card-title">{{"INFOS & RÉSERVATIONS"|trans}}</h6>
{% if amicale and amicale.configs.NUM_SUPPORT is defined %}
{% set num_support = amicale.configs.NUM_SUPPORT %}
<a href="tel:{{ num_support }}">
<p class="card-text "> {{ getAgence().prefixTel }} {{ num_support }}</p>
</a>
{% else %}
<a href="tel:{{ getAgence().tel1 }}">
<p class="card-text "> {{ getAgence().prefixTel }} {{ getAgence().tel1 }}</p>
</a>
{% endif %}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- /.navbar-collapse -->
</div>
</nav>
</header>
{# Recharge solde menu - opens modal #}
{% if configurationPayement.0.fraisService is defined %}
{# Recharge solde modal #}
<div class="modal fade" id="rechargeSoldeModal" tabindex="-1" role="dialog"
aria-labelledby="rechargeSoldeModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="rechargeSoldeModalLabel">{{ "Recharge solde"|trans }}</h5>
<button type="button" class="close" data-dismiss="modal"
aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<form method="post"
action="{{ path('espace_agence_recharge_solde') }}">
<div class="modal-body">
<div class="form-group">
<label for="montant_recharge">{{ "Montant de la recharge"|trans }}</label>
<input type="number" min="0"
class="form-control" name="montant_recharge"
id="montant_recharge"
placeholder="{{ 0|number_format(deviseAgence().scale, '.', '') }}"
required>
<small id="rechargeInfo" class="form-text text-muted">{{"Le montant final (recharge + frais)
sera affiché ici."|trans}}</small>
</div>
{# hidden fields #}
<input type="hidden" name="frais_percent" id="frais_percent"
value="{{ configurationPayement.0.fraisService }}">
<input type="hidden" name="montant_total" id="montant_total"
value="">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary"
data-dismiss="modal">{{ "Annuler"|trans }}
</button>
<button type="submit" class="btn btn-primary">{{ "Payer"|trans }}</button>
</div>
</form>
</div>
</div>
</div>
<script>
// Compute recharge fee and total (vanilla JS)
(function () {
var input = document.getElementById('montant_recharge');
var fraisInput = document.getElementById('frais_percent');
var totalInput = document.getElementById('montant_total');
var info = document.getElementById('rechargeInfo');
if (!input || !fraisInput || !totalInput || !info) return;
var fraisPercent = parseFloat(fraisInput.value) || 0;
var scale = {{ deviseAgence().scale|default(2) }};
var symbole = '{{ deviseAgence().symbole|e('js') }}';
// ensure the input step and placeholder reflect the agence currency scale
try {
var computedStep = (1 / Math.pow(10, scale));
// set numeric step as string with exact decimals (works also for scale=0)
input.step = computedStep.toFixed(Math.max(0, scale));
input.placeholder = (0).toFixed(Math.max(0, scale));
} catch (e) {
// fallback to 2 decimals
input.step = '0.01';
input.placeholder = '0.00';
}
function update() {
var val = parseFloat(input.value);
if (isNaN(val) || val <= 0) {
totalInput.value = '';
info.innerText = 'Le montant final (recharge + frais) sera affiché ici.';
return;
}
var fee = val * fraisPercent / 100;
var total = val + fee;
totalInput.value = total.toFixed(scale);
info.innerText = 'Vous paierez ' + total.toFixed(scale) + ' ' + symbole + ' (frais: ' + fraisPercent + '% = ' + fee.toFixed(scale) + ' ' + symbole + ')';
}
input.addEventListener('input', update);
document.querySelector('a[data-target="#rechargeSoldeModal"]').closest('li').addEventListener('click', function () {
setTimeout(function () {
if (input) input.focus();
update();
},500)
});
})();
</script>
{% endif %}
{% include checkCustomTemplate('header-mobile.html.twig') %}
{% if app.request.get('_route') == 'header' %}
<script type="text/javascript" src="{{ asset('assets-commun/js/jquery.js') }}"></script>
<script type="text/javascript" src="{{ asset('assets-commun/js/bootstrap.js') }}"></script>
<script>$(document).ready(function () {
$('.toggle-navbar').on('click', function (e) {
e.preventDefault();
$('body').toggleClass('navbar-open');
});
});</script>
{% endif %}