{% extends 'base_frontend_new.html.twig' %}
{% form_theme form 'frontend/Form/fields2_semantic.html.twig' %}
{% block title %}{{ 'competicion.inscritos.inscripcion'|trans({}, 'FrontendBundle') }} - {{ competicion.nombre }}{% endblock %}
{% block stylesheets %}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
<link rel="stylesheet" type="text/css" href="{{ asset('css/gestion/calentim.min.css') }}" />
<link href="https://cdnjs.cloudflare.com/ajax/libs/Dropify/0.2.2/css/dropify.css" rel="stylesheet" type="text/css"/>
<style>
/* Arreglos visuales del search que salía descuadrado */
.ui.search >.results {
top: unset;
left: unset;
}
.centerRadio.inline.fields {justify-content: center;}
label.centerRadio{text-align: center;}
#popupInscripcionDimmer{
overflow: scroll;
}
#popupInscripcionDimmer p{
margin: 1rem auto;
max-width: 30vw;
}
@media only screen and (max-width: 767px){
#popupInscripcionDimmer p{
margin: initial;
max-width: 100vw;
}
.button.entendido{
margin-top: 1rem !important;
}
}
input,
textarea {
font-size: 16px!important;
}
</style>
{# <script src='https://www.google.com/recaptcha/api.js'></script>#}
{% endblock %}
{% block container %}
{% include 'frontend/Competicion/competicionComun-torneo.html.twig' %}
{% include 'mensajes_new.html.twig' with {'layout': 0} %}
{# control para inscripciones solo de jugadores de federacion #}
{% set placeholder = 'competicion.inscritos.licencia'|trans({}, 'FrontendBundle') %}
{% if (competicion.restringirLicencia != 'abierto') %}
{% if (competicion.organizador.id|slice(2,2) == "00") %}
{% set placeholder = competicion.organizador.id|slice(0,2) ~ "..." %}
{% else %}
{% set placeholder = competicion.organizador.id ~ "..." %}
{% endif %}
{% endif %}
<div class="ui segments jugador">
<div class="ui segment">
<div class="ui grid">
<div class="sixteen wide mobile eleven wide computer middle aligned column">
<div class="row">
<div class="six wide middle aligned column">
<h5 class="ui blue header">
{{ 'competicion.inscritos.player'|trans({}, 'FrontendBundle') }}
</h5>
</div>
{% if placeholder != 'competicion.inscritos.licencia'|trans({}, 'FrontendBundle') %}
<div class="ten wide column">
<div class="ui basic blue tiny label">
{% if (competicion.restringirLicencia == 'restringir') %}
{{ 'competicion.inscritos.region-player'|trans({"%club%": placeholder}, 'FrontendBundle') }}
{% else %}
{{ 'competicion.inscritos.region-player-preference'|trans({"%club%": placeholder}, 'FrontendBundle') }}
{% endif %}
</div>
</div>
{% endif %}
</div>
</div>
{% if competicion.permitirExtranjeros %}
<div class="sixteen wide mobile five wide computer right aligned column">
<button class="ui basic button addExtranjero" id="botonExtranjeros">
<i class="icon world"></i>
{{ 'competicion.inscritos.foreigners'|trans({"%club%": placeholder}, 'FrontendBundle') }}
</button>
</div>
{% endif %}
</div>
</div>
<div class="ui secondary segment transition hidden segmentExtranjeros">
<div class="ui warning small message">
<div class="header">
{{ 'competicion.inscritos.enrolement.title'|trans({}, 'FrontendBundle') }}
</div>
{{ 'competicion.inscritos.enrolement.subtitle'|trans({}, 'FrontendBundle')|raw }}
</div>
<form autocomplete="off" class="ui form" id="formularioExtranjeros" action="{{ path("ajax_guardar_extranjero") }}">
<div class="fields">
<div class="six wide required field">
<label>{{ 'competicion.inscritos.enrolement.name'|trans({}, 'FrontendBundle') }}</label>
<input type="text" name="nombre" class="inputNombreEx" required autocomplete="off">
</div>
<div class="ten wide required field">
<label>{{ 'competicion.inscritos.enrolement.surname'|trans({}, 'FrontendBundle') }}</label>
<input type="text" name="apellidos" class="inputApellidosEx" required autocomplete="off">
</div>
</div>
<div class="fields">
<div class="five wide required field">
<label>{{ 'competicion.inscritos.enrolement.dob'|trans({}, 'FrontendBundle') }}</label>
<input type="text" name="fecha" class="inputFechaNacEx datepic" required autocomplete="off" readonly>
</div>
<div class="three wide required field">
<label>{{ 'competicion.inscritos.enrolement.gender.label'|trans({}, 'FrontendBundle') }}</label>
<select class="ui fluid dropdown sexoJugadorEx" required name="sexo">
<option value="">{{ 'competicion.inscritos.enrolement.gender.label'|trans({}, 'FrontendBundle') }}</option>
<option value="masculino">{{ 'competicion.inscritos.enrolement.gender.male'|trans({}, 'FrontendBundle') }}</option>
<option value="femenino">{{ 'competicion.inscritos.enrolement.gender.female'|trans({}, 'FrontendBundle') }}</option>
</select>
</div>
<div class="five wide field">
<label>{{ 'competicion.inscritos.enrolement.country.label'|trans({}, 'FrontendBundle') }}</label>
<div class="ui fluid search selection dropdown nacionalidadEx">
<input type="hidden" name="country">
<i class="dropdown icon"></i>
<div class="default text">{{ 'competicion.inscritos.enrolement.country.choose'|trans({}, 'FrontendBundle') }}</div>
<div class="menu">
{% for pais in paises %}
<div class="item" data-value="{{ pais.id|upper }}">
<i class="{{ pais.id|lower }} flag"></i>
{{ pais.nombre }}
</div>
{% endfor %}
<div class="item" data-value="se"><i class="ex flag"></i>{{ 'competicion.inscritos.enrolement.country.unknown'|trans({}, 'FrontendBundle') }}</div>
</div>
</div>
</div>
<div class="three wide required field">
<label>{{ 'competicion.inscritos.enrolement.level.label'|trans({}, 'FrontendBundle') }}</label>
<select class="ui fluid dropdown nivelJugadorEx" name="nivel">
<option value="A">{{ 'competicion.inscritos.enrolement.level.alevin'|trans({}, 'FrontendBundle') }}</option>
<option value="B">{{ 'competicion.inscritos.enrolement.level.benjamin'|trans({}, 'FrontendBundle') }}</option>
<option value="C">{{ 'competicion.inscritos.enrolement.level.cadete'|trans({}, 'FrontendBundle') }}</option>
<option value="G">{{ 'competicion.inscritos.enrolement.level.girl'|trans({}, 'FrontendBundle') }}</option>
<option value="I">{{ 'competicion.inscritos.enrolement.level.infantil'|trans({}, 'FrontendBundle') }}</option>
<option value="J">{{ 'competicion.inscritos.enrolement.level.junior'|trans({}, 'FrontendBundle') }}</option>
<option value="M" selected="selected">{{ 'competicion.inscritos.enrolement.level.mayor'|trans({}, 'FrontendBundle') }}</option>
<option value="P+">{{ 'competicion.inscritos.enrolement.level.profesional'|trans({}, 'FrontendBundle') }}</option>
<option value="S">{{ 'competicion.inscritos.enrolement.level.senior'|trans({}, 'FrontendBundle') }}</option>
<option value="Y">{{ 'competicion.inscritos.enrolement.level.boy'|trans({}, 'FrontendBundle') }}</option>
</select>
</div>
</div>
<div class="fields">
<div class="two wide required field">
<label>{{ 'competicion.inscritos.enrolement.hcp'|trans({}, 'FrontendBundle') }}</label>
<input type="text" name="hcp" class="handicapJugadorEx" maxlength="4" required autocomplete="off">
</div>
<div class="four wide required field">
<label>{{ 'competicion.inscritos.enrolement.phone'|trans({}, 'FrontendBundle') }}</label>
<input type="tel" name="telefono" class="inputTelefonoEx" maxlength="9" required autocomplete="off">
</div>
<div class="five wide required field">
<label>{{ 'competicion.inscritos.enrolement.email'|trans({}, 'FrontendBundle') }}</label>
<input type="email" name="email" class="inputEmailEx" required autocomplete="off">
</div>
{#<div class="five wide field">
<label>Informe Hcp y Documento de identidad</label>
<input type="file" name="documento" class="inputDocumentoEx" required autocomplete="off">
</div>#}
</div>
<div class="ui grid">
<div class="column row">
<div class="eight wide left floated column">
<div class="ui right large red basic label camposVaciosEx">
{{ 'competicion.inscritos.enrolement.all-required'|trans({}, 'FrontendBundle') }}
</div>
</div>
<div class="eight wide right floated column">
<button class="ui right floated labeled icon blue ok button guardar" type="submit"><i class="checkmark icon"></i>{{ 'competicion.inscritos.enrolement.save'|trans({}, 'FrontendBundle') }}</button>
</div>
</div>
</div>
</form>
</div>
<div class="ui secondary segment inscripcionSegment form">
<h5 class="ui header transition hidden inscribible">
<span class="ui orange label">
<i class="exclamation triangle icon"></i>
{% for err in 1..7 %}
<span class="ui transition hidden error-{{ err }} errores">
{% set errTrans = 'messages.inscripcion.inscribible-' ~ err %}
{{ errTrans|trans({}, 'FrontendBundle') }}
</span>
{% endfor %}
</span>
</h5>
{# Se elimina el COVID de la inscripcion segun NEX-1838 #}
{#{% set logotipo = "" %}
<!-- se cambia segun la tarea NEX-1447-5 -->
<!-- {% if (competicion.codigo == 'NEW-FORM') or competicion.organizador.id == "CM00" %} -->
{% if competicion.organizador.id| slice(2,2) == "00" %}
{% set slicedBegin = competicion.organizador.id|slice(0,2) %}
{% if (slicedBegin == "AM") %}
{% set logotipo = "ja" %}
<!-- {% elseif (slicedBegin == "CM") %}
{% set logotipo = "cm" %} -->
{% endif %}
{% endif %}
{% if logotipo != "" %}
<div class="ui fake-dimmer new-popupCovidDimmer">
<div class="content">
<div class="ui raised padded segment">
<div class="ui icon yellow message">
<i class="icon">
{% include 'logo_' ~ logotipo ~ '.html.twig' %}
</i>
<div class="content">
<div class="header">
{{ 'messages.inscripcion.popupInscripcion'|trans({}, 'FrontendBundle') }} ({{ 'messages.inscripcion.previousStep'|trans({}, 'FrontendBundle') }})
</div>
<p>{{ ('messages.inscripcion.popupCovid' ~ competicion.organizador.id|slice(0,2) ~ 'New')|trans({}, 'FrontendBundle')|raw }}</p>
</div>
</div>
<div>
{% include 'frontend/Inscritos/formulario_covid_' ~ competicion.organizador.id|slice(0,2)|lower ~ '.html.twig' with {'flp' : 0} %}
</div>
</div>
</div>
</div>
{% endif %} #}
{{ form_start(form) }}
{# {% if ((competicion.organizador.cliente.id in [4, 5]) and (competicion.codigo == 'NEW-FORM')) or (competicion.organizador.cliente.id == 1) %} #}
{# se cambia segun la tarea NEX-1447-5 #}
{#{% if (competicion.codigo == 'NEW-FORM') or competicion.organizador.id == "CM00" %}#}
{# Se elimina el COVID de la inscripcion segun NEX-1838 #}
{# {% if competicion.organizador.id| slice(2,2) == "00" %}
{{ form_widget(form.covidfilename) }}
{% endif %} #}
<div class="three fields">
<div id="buscaLicencia" class="required field ui search">
{{ form_label(form.licencia) }}
<div class="ui right icon fluid input">
{{ form_widget(form.licencia, { 'attr': {'placeholder': placeholder, 'value': app.request.get('lic')|default('') } }) }}
<i class="search icon"></i>
</div>
{{ form_errors(form.licencia) }}
</div>
<div class="required field">
{{ form_label(form.email) }}
{{ form_widget(form.email, { 'attr': {'value': app.request.get('email')|default('') } }) }}
{{ form_errors(form.email) }}
</div>
<div class="required field">
{{ form_label(form.nombre_jugador) }}
{{ form_widget(form.nombre_jugador) }}
</div>
</div>
<div class="two fields">
{% if form.categoria_select is defined %}
<div class="required field">
{{ form_label(form.categoria_select) }}
{{ form_widget(form.categoria_select) }}
{{ form_errors(form.categoria_select) }}
</div>
{% endif %}
{% if form.barra is defined %}
<div class="required field">
{{ form_label(form.barra) }}
{{ form_widget(form.barra) }}
{{ form_errors(form.barra) }}
</div>
{% endif %}
<div class="required field">
{{ form_label(form.tarifa_select) }}
{{ form_widget(form.tarifa_select) }}
{{ form_errors(form.tarifa_select) }}
</div>
{% if form.turno is defined %}
<div class="turnoJugador required field">
{{ form_label(form.turno) }}
{{ form_widget(form.turno) }}
{{ form_errors(form.turno) }}
</div>
{% endif %}
</div>
<div class="documentoHcp field transition hidden">
{{ form_label(form.documentoHcp) }}
{{ form_widget(form.documentoHcp) }}
{{ form_errors(form.documentoHcp) }}
</div>
{% set compAdicionales = competicion.getAdicionalesFiltered()|length %}
{% if compAdicionales > 0 %}
<div class="ui padded adicionales-segment raised segment">
<div class="ui section horizontal divider">
{{ 'titles.inscripcion.aditional'|trans({}, 'FrontendBundle') }}
</div>
{% for adicional in competicion.getAdicionalesFiltered() %}
{% if ((loop.index0 % 3) == 0) and (compAdicionales > 1) %}
<div class="two fields">
{% endif %}
<div class="{% if adicional.requerido %}required{% endif %} field {{ adicional.tipo|lower }}">
{% if adicional.tipo == "Si/No" %}
<label class="centerRadio">{{ adicional.nombre|capitalize }}</label>
<div class="inline fields centerRadio">
<div class="field">
<div class="ui radio checkbox">
<input type="radio" name="adicional{{ adicional.id }}" value="0" {% if adicional.requerido %}required{% endif %}>
<label>No</label>
</div>
</div>
<div class="field">
<div class="ui radio checkbox">
<input type="radio" name="adicional{{ adicional.id }}" value="1" {% if adicional.requerido %}required{% endif %}>
<label>Sí</label>
</div>
</div>
</div>
{% elseif adicional.tipo != "Privacidad" %}
<label>{{ adicional.nombre|capitalize }}{#<span class="noProcede" style="float: right;">N/A<input type="checkbox" class="no-procede" data-label="{{adicional.nombre|lower}}" name="no-procede" style="margin-top: 3px;margin-left: 3px;"></span>#}</label>
<input placeholder="{% if adicional.tipo != 'DNI' %}{{ adicional.nombre|capitalize }}{% else %}12345678A{% endif %}" type="text" name="adicional{{ adicional.id }}" {% if adicional.requerido %}required="required"{% endif %} {% if adicional.tipo == "DNI" %}class="dni"{% endif %}>
{#{% else %}#}
{% endif %}
</div>
{% if ((loop.index0 % 3 == 2) or loop.last) and (compAdicionales > 1) %}
</div>
{% endif %}
{% endfor %}
</div>
{% endif %}
<div class="field">
<div class="ui stackable grid">
<div class="six wide column">
<div class="{% if not competicion.observacionesFrontend %}disabled transition hidden{% endif %} field">
{{ form_label(form.observaciones) }}
{{ form_widget(form.observaciones) }}
</div>
{{ form_errors(form.observaciones) }}
</div>
<div class="ten wide column">
<div class="two fields">
{% if form.voucher is defined %}
<div class="field">
{{ form_label(form.voucher) }}
{{ form_widget(form.voucher) }}
{{ form_errors(form.voucher) }}
</div>
{% endif %}
<div class="telefonoJugador transition hidden field">
{{ form_label(form.telefono_jugador) }}
{{ form_widget(form.telefono_jugador) }}
{{ form_errors(form.telefono_jugador) }}
</div>
</div>
{% if competicion.organizador.id == "CM00" %}
<div class="required disabled right aligned field fieldPrivacidad">
<div class="ui required checkbox" id="conducta">
<input type="checkbox" name="conducta" required>
<label>
<a href="https://fedgolfmadrid.com/competiciones#seccion-locales" target="_blank" rel="noreferrer noopener">
{{ ('messages.inscripcion.behaviour' ~ (competicion.permitirExtranjeros ? "-andEnglish" : ""))|trans({}, 'FrontendBundle') }}
<i class="external alternate icon"></i>
</a>
</label>
</div>
</div>
{% endif %}
{% for adicional in competicion.adicionales %}
{% if adicional.tipo == "Privacidad" %}
<div class="{% if adicional.requerido %}required{% endif %} disabled right aligned field fieldPrivacidad">
<div class="ui {% if adicional.requerido %}required{% endif %} checkbox" id="adicional{{ adicional.id }}">
<input type="checkbox" name="adicional{{ adicional.id }}" {% if adicional.requerido %}required{% endif %}>
<label>
{{ 'messages.inscripcion.privacyExtra'|trans({'%UrlPrivacidad%': adicional.nombre, '%domain%': adicional.nombre|domain_extract|capitalize}, 'FrontendBundle')|raw }}
</label>
</div>
</div>
{% endif %}
{% endfor %}
<div class="required disabled right aligned field fieldPrivacidad">
<div class="ui required checkbox" id="privacidad" style="margin-bottom: 2ex; margin-top: 1ex;">
<input type="checkbox" name="privacidad" required>
<label>
{% set nameCliente = competicion.organizador.cliente.nombre %}
{% set UrlPrivCliente = competicion.organizador.cliente.urlPrivacidad %}
{% set UrlPrivNxt = path('privacidad') %}
{{ ('messages.inscripcion.privacy' ~ (competicion.permitirExtranjeros ? "-andEnglish" : ""))|trans({'%UrlPrivCliente%': UrlPrivCliente, '%nameCliente%': nameCliente}, 'FrontendBundle')|raw }}
{% if competicion.organizador.id != "CM00" and (codigo_federacion is defined and codigo_federacion is same as('CM00')) and UrlPrivCliente != "https://fedgolfmadrid.com/privacidad" %}, de la <a href="https://fedgolfmadrid.com/privacidad">Federación de Golf de Madrid</a>
{% elseif competicion.organizador.id != "AM00" and (codigo_federacion is defined and codigo_federacion is same as('AM00')) and UrlPrivCliente != 'https://portal.golfandalucia.com/es/privacidad' %}, y de la <a href="https://portal.golfandalucia.com/es/privacidad">Federación Andaluza de Golf</a>
{% endif %}
{{ ('messages.inscripcion.privacy_nextcaddy' ~ (competicion.permitirExtranjeros ? "-andEnglish" : ""))|trans({'%UrlPrivNxt%': UrlPrivNxt,'%UrlPrivCliente%': UrlPrivCliente,'%nameCliente%': nameCliente}, 'FrontendBundle')|raw }}
</label>
</div>
</div>
<div class="field">
{{ form_widget(form.save) }}
{#
<div class="g-recaptcha" data-sitekey="6Ld1hVIUAAAAAFWMYl6XkxR5XOht1UNxQ9ulGCwe"></div>
#}
</div>
</div>
</div>
</div>
{{ form_rest(form) }}
{{ form_end(form) }}
</div>
<div class="ui segment">
<div class="ui grid">
<div class="ten wide column">
Pagos mediante tarjeta de crédito con
<div class="ui mini horizontal list">
<div class="item">
<img class="ui avatar image" src="{{ asset("img/frontend/visa.svg") }}">
<div class="content">
<div class="header">Visa</div>
</div>
</div>
<div class="item">
<img class="ui avatar image" src="{{ asset("img/frontend/mastercard.svg") }}">
<div class="content">
<div class="header">Master Card</div>
</div>
</div>
</div>
</div>
<div class="six wide right aligned column">
<div class="ui small horizontal list">
<div class="item">
<a href="{{ path("cookies") }}">
Politica de cookies
</a>
</div>
<div class="item">
<a href="{{ path("terminos_condiciones") }}#cancelacion">
Politica de cancelacion
</a>
</div>
</div>
</div>
<div class="sixteen wide column">
<p>
<span class="ui small disabled text">
Pagos gestionados por GREEN SLOPE SL - B90160888 - TLF +34 954 36 93 20 - Plaza Aviador Ruiz de Alda 11, 41004 Sevilla (España)
</span>
{% if competicion.organizador.cliente %}
<br/>
<span class="ui small disabled text">
GREEN SLOPE SL actúa como medio intermediario técnico para {{ competicion.organizador.cliente.nombre }} en la competición. Los datos del titular de los derechos de inscripción son: {{ competicion.organizador.cliente.razonSocial }} {{ competicion.organizador.cliente.cif }} - {{ competicion.organizador.cliente.direccionFacturacion }}
</span>
{% endif %}
</p>
</div>
</div>
<div class="ui inverted blue segment transition hidden" id="incompleto">
{{ 'messages.inscripcion.incompleto'|trans({}, 'FrontendBundle') }}
</div>
</div>
{% if ((competicion.popupInscripcion) or (competicion.listaEspera and ((num_inscritos - competicion.plazas) >= 0))) %}
<div class="ui page dimmer" id="popupInscripcionDimmer">
<div class="content">
{% if competicion.popupInscripcion %}
<h3 class="ui inverted icon header">
<i class="user outline icon"></i>
{{ 'messages.inscripcion.popupInscripcion'|trans({}, 'FrontendBundle') }}
</h3>
<div>
{% if competicion.popupInscripcionTexto|trim is not empty %}
{{ competicion.popupInscripcionTexto|raw }}
{% else %}
{{ 'messages.inscripcion.popupInscripcionSub'|trans({}, 'FrontendBundle') }}
{% endif %}
</div>
{% endif %}
{% if competicion.popupInscripcion and competicion.listaEspera %}
<div class="ui inverted divider"></div>
{% endif %}
{% if competicion.listaEspera and ((num_inscritos - competicion.plazas) >= 0) %}
<h3 class="ui inverted icon header">
<i class="hourglass outline icon"></i>
{{ 'messages.inscripcion.espera-title'|trans({}, 'FrontendBundle')|raw }}
<div class="sub header">
{{ 'messages.inscripcion.espera-subtitle'|trans({"%plazas%": competicion.plazas, "%espera%": (num_inscritos - competicion.plazas)}, 'FrontendBundle') }}
</div>
</h3>
<div>
{{ 'messages.inscripcion.espera'|trans({"%comp%": competicion.nombre}, 'FrontendBundle')|raw }}
</div>
{% endif %}
{% if (competicion.restringirLicencia == 'preferencia') %}
{{ 'messages.inscripcion.preferencia'|trans({"%club%": placeholder}, 'FrontendBundle')|raw }}
{% endif %}
<div class="ui divider hidden"></div>
<div class="ui inverted checkbox entendido">
<input type="checkbox">
<label>{{ 'buttons.entendido'|trans({}, 'FrontendBundle') }}</label>
</div>
<div class="ui clearing divider hidden"></div>
<a class="ui inverted red button cancelar" href="{{ path("_tournament", {'id': competicion.id}) }}">
{{ 'buttons.no-continue-inscription'|trans({}, 'FrontendBundle') }}
</a>
<div class="ui disabled green button entendido">
{{ 'buttons.continue'|trans({}, 'FrontendBundle') }}
</div>
</div>
</div>
{% endif %}
</div>
{% endblock %}
{% block javascripts %}
<script rel="preload" as="script" type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment-with-locales.min.js"></script>
<script rel="preload" as="script" type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/locale/es.js"></script>
<script type="text/javascript" src="{{ asset('js/gestion/calentim.min.js') }}"></script>
<script rel="preload" as="script" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/Dropify/0.2.2/js/dropify.min.js"></script>
{# <script type="text/javascript" src="//cdn.jsdelivr.net/npm/signature_pad@2.3.2/dist/signature_pad.min.js"></script>#}
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.2/jspdf.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jspdf/2.1.1/jspdf.umd.min.js"></script>
<script>
var competicionID = parseInt("{{ competicion.id }}");
let organiser = '{{ competicion.organizador.id }}';
</script>
<script>
var checkBoxPrivacidad = $('#privacidad');
$(".dropdown").dropdown();
$(".checkbox").checkbox();
$('.ui.accordion').accordion();
checkBoxPrivacidad.checkbox();
function comprobarContinuar(){
var botonGuardar = $('#inscripcion_jugador_save');
if (checkBoxPrivacidad.checkbox('is checked') && validateEmail($("#inscripcion_jugador_email")) && comprobarBarraValido() && comprobarDnisValidos() && comprobarTelefonoValidos() && comprobarTurnoValido() && comprobarTarifasValido()) {
botonGuardar.removeClass('disabled');
$("#incompleto").transition("hide");
}else{
botonGuardar.addClass('disabled');
$("#incompleto").transition("show");
}
}
$("#insc" + competicionID).submit(function(){
var botonGuardar = $('#inscripcion_jugador_save');
botonGuardar.addClass('disabled');
});
checkBoxPrivacidad.change(function () {
comprobarContinuar();
});
$("#inscripcion_jugador_email").change(function () {
comprobarContinuar();
});
$("#inscripcion_jugador_turno").change(function () {
comprobarContinuar();
});
$("#inscripcion_jugador_telefono_jugador").change(function () {
comprobarContinuar();
});
$('#inscripcion_jugador_barra').closest(".dropdown").dropdown({
onChange: function(){
comprobarContinuar();
}
});
$('#inscripcion_jugador_tarifa_select').closest(".dropdown").dropdown({
onChange: function(){
comprobarContinuar();
}
});
//Mostrar/Ocultar mensaje de informacion
$(".contenedorInformacion .header").click(function () {
$(".contenedorInformacion").find(".textoInformacion").transition("fade");
$(".contenedorInformacion").find(".iconito").toggleClass("up down");
});
{% set informacionPopup = "" %}
{% if competicion.informacionPopup != null and competicion.informacionPopup|trim is not empty %}
$("#informacionPopup").dimmer('show');
$("#informacionPopup button").click(function () {
$("#informacionPopup").dimmer('hide');
});
{% endif %}
//Avoid change with tabs
$(document).keydown(function (objEvent) {
if (objEvent.keyCode == 9) { //tab pressed
objEvent.preventDefault();
}
}).ready(function () {
$('#buscaLicencia').search({
apiSettings: {
url: Routing.generate('ajax_inscripcion_autocompletar', {'idc': competicionID, 'permitir': 0}) + '/{query}'
},
fields: {
results: 'items',
description: 'nombre',
title: 'label'
},
cache: false,
selectFirstResult: true,
searchOnFocus: true,
minCharacters: 10,
onResults: function (response) {
tratamientoResponseSearch(response, true);
},
onResultsOpen: function () {
$("#buscaLicencia").find('input').transition('remove looping');
}
});
});
function tratamientoResponseSearch(response, shake) {
var errorSegm = $('#buscaLicencia').closest('.segments').find('.inscribible');
$('.errores').transition('hide');
if (typeof (response.items[0]) != "undefined") {
var eleaux = errorSegm.find(".error" + response.items[0].error);
if (eleaux.transition('is visible')) {
eleaux.transition("hide");
}
$('#inscripcion_jugador_nombre_jugador').val(response.items[0].nombre);
$('#inscripcion_jugador_id').val(response.items[0].id);
$('#inscripcion_jugador_sgCliente').val(response.items[0].sgCliente);
let condicionTarifa = true;
{% if not competicion.seleccionTarifas %}
$('#inscripcion_jugador_tarifa_select').dropdown('set selected', response.items[0].tarifa);
$('#inscripcion_jugador_tarifa').val(response.items[0].tarifa);
condicionTarifa = response.items[0].tarifa != 0;
{% endif %}
if(response.items[0].categoria){
$('#inscripcion_jugador_categoria_select').dropdown('set selected', response.items[0].categoria);
$('#inscripcion_jugador_categoria').val(response.items[0].categoria);
}
if(response.items[0].barras){
let barrasKeys = Object.keys(response.items[0].barras);
var arr = [];
barrasKeys.forEach(function(value){
arr.push({value: response.items[0].barras[value], name: value});
});
$('#inscripcion_jugador_barra').dropdown("change values", arr) .dropdown("restore default value").dropdown("restore placeholder text").dropdown("restore default text");
}
if (response.items[0].inscribible) {
$("#buscaLicencia").find('input').transition('remove looping');
if (errorSegm.transition('is visible')) {
errorSegm.transition('fade down out');
}
$('#inscripcion_jugador_email').removeAttr('disabled');
} else {
if (response.items[0].error != -7) {// para preferencia en inscripcion
$('#inscripcion_jugador_email').attr('disabled', 'disabled');
} else {
$('#inscripcion_jugador_email').removeAttr('disabled');
}
errorSegm.transition('fade down in');
errorSegm.find(".error" + response.items[0].error).transition("show");
$('#buscaLicencia').find('input').transition('set looping').transition('glow', '800ms');
}
if (condicionTarifa && response.items[0].categoria != 0 && response.items[0].id != 0) {
$('.fieldPrivacidad').removeClass('disabled');
} else {
$('.fieldPrivacidad').addClass('disabled');
}
if (!response.items[0].telefono) {
$('.telefonoJugador').transition('show').transition("shake");
$('.telefonoJugador').find("input").attr("required", "required").transition("glow").transition("glow").transition("glow");
$('.telefonoJugador').find("input").prop("disabled", false);
$('.telefonoJugador').addClass("required");
} else {
if ($('.telefonoJugador').transition("is visible")) {
$('.telefonoJugador').transition("hide");
}
$('.telefonoJugador').find("input").prop("disabled", true);
}
if (shake) {
$('#inscripcion_jugador_email').transition('shake').transition('shake');
}
} else {
errorSegm.transition('fade down in');
errorSegm.find(".error-1").transition("show");
$('#buscaLicencia').find('input').transition('set looping').transition('glow', '800ms');
$('.fieldPrivacidad').addClass('disabled');
if(response.offline === 1)
lanzarToast('error', 'No hemos podido contactar con la rfga para validar su licencia', 7500, "exclamation triangle");
}
}
function validateEmail(inputEmail) {
var mailformat = /(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/;
if (inputEmail.val().trim().match(mailformat)) {
inputEmail.closest(".field").removeClass("error");
return true;
} else {
inputEmail.closest(".field").addClass("error").transition("shake");
return false;
}
}
function comprobarBarraValido() {
var ok = true;
var barraField = $('#inscripcion_jugador_barra').closest(".dropdown");
if (barraField.length > 0) {
let v = barraField.dropdown('get value');
ok = (("" != v) && (null != v));
}
return ok;
}
function comprobarTarifasValido() {
var ok = true;
var trarifaField = $('#inscripcion_jugador_tarifa_select').closest(".dropdown");
if (trarifaField.length > 0) {
let v = trarifaField.dropdown('get value');
ok = (("" != v) && (null != v));
}
return ok;
}
function comprobarTurnoValido() {
var ok = true;
var tlfField = $(".turnoJugador");
if (tlfField.length > 0) {
ok = "" != $("#inscripcion_jugador_turno").val();
}
return ok;
}
function comprobarTelefonoValidos() {
var ok = true;
var tlfField = $(".telefonoJugador");
var tlfVal = $(".telefonoJugador").find("input").val();
if (tlfField.hasClass("visible")) {
ok = ((tlfVal != "") && (tlfVal.length >= 9));
}
return ok;
}
function comprobarDnisValidos() {
var dnis = $(".field.dni.required");
var todosOk = true, valor, error;
dnis.each(function (index, element) {
valor = $(element).find("input").val();
error = $(element).hasClass("error");
todosOk = ((valor != "") && (!error)) && todosOk;
});
return todosOk;
}
function letraDni(dni) {
var letras = "TRWAGMYFPDXBNJZSQVHLCKE";
var resto = (dni % 23);
return letras.charAt(resto);
}
$("body").on('focusout', 'input.dni', function () {
var valorInput = $(this).val().toUpperCase();
var valorDNI = valorInput;
var primerChar = valorInput.charAt(0);
if (primerChar == "X") {
valorDNI = replaceStr(valorDNI, 0, '0');
} else if (primerChar == "Y") {
valorDNI = replaceStr(valorDNI, 0, '1');
} else if (primerChar == "Z") {
valorDNI = replaceStr(valorDNI, 0, '2');
}
if (valorDNI.length < 8 || valorDNI.length > 9) {
$(this).transition("shake");
} else if (valorDNI.length == 9) {
var letraInput = valorDNI.charAt(8); //empieza el indice en 0
var letra = letraDni(valorDNI.substring(0, 8));
if (letraInput != letra) {
$(this).transition("shake").parent().addClass("error");
} else {
$(this).parent().removeClass("error");
comprobarContinuar();
/* var emailVal = $("#inscripcion_jugador_email").val();
if (emailVal != null && emailVal.trim() != "" && validateEmail($("#inscripcion_jugador_email")) && checkBoxPrivacidad.checkbox('is checked') && $('#inscripcion_jugador_nombre_jugador').val() != '' && comprobarDnisValidos()) {
$('#inscripcion_jugador_save').removeClass('disabled'); //evitamos el doble click en el submit
} */
}
}
});
function dniValido(valor) {
var valido = false;
var valorDNI = valor.toUpperCase();
var primerChar = valor.charAt(0);
if (primerChar == "X") {
valorDNI = replaceStr(valorDNI, 0, '0');
} else if (primerChar == "Y") {
valorDNI = replaceStr(valorDNI, 0, '1');
} else if (primerChar == "Z") {
valorDNI = replaceStr(valorDNI, 0, '2');
}
if (valorDNI.length == 9) {
var letraInput = valorDNI.charAt(8); //empieza el indice en 0
var letra = letraDni(valorDNI.substring(0, 8));
if (letraInput == letra) {
valido = true;
}
}
return valido;
}
$(".addExtranjero").click(function (e) {
e.preventDefault();
var segmentos = $(this).closest(".segments");
segmentos.find(".segmentExtranjeros").transition("toggle");
segmentos.find(".inscripcionSegment").transition("toggle");
});
$("#formularioExtranjeros").submit(function (e) {
var $this = $(this);
e.preventDefault();
if ("" != $(".dropdown.sexoJugadorEx").dropdown("get value")) {
$.ajax({
type: 'POST',
data: $this.serialize(),
url: $this.attr("action"),
success: function (data) {
if (data.codigo) {
$("#segmentExtranjeros").transition("hide");
$(".inscripcionSegment").transition("show");
//escribimos la licencia en el campo licencia de la inscripcion
var segmento = $this.closest(".segments.jugador");
segmento.find("input.licencia").val(data.licencia);
//llamamos al metodo del seach para que haga la busqueda los datos
$.ajax({
type: 'GET',
url: Routing.generate('ajax_inscripcion_autocompletar', {'idc': competicionID, 'permitir': 1}) + '/' + data.licencia,
success: function (response) {
tratamientoResponseSearch(response, false);
}
});
//email relleno con el que ha metido en la ficha de jugador
segmento.find("input.email").val(data.email);
//habilitar archivo
$(".documentoHcp.field").addClass("required").transition("slide down");
$(".documentoHcp.field input").removeAttr("disabled").attr("required", true);
//borramos el formulario de extranjero
$("#formularioExtranjeros").remove();
$("#botonExtranjeros").remove();
}
},
error: function (e) {
$('#cargando').dimmer('hide');
}
});
} else {
}
});
$(".datepic").calentim({
autoCloseOnSelect: true,
format: 'DD-MM-YYYY',
startEmpty: true,
showTimePickers: false,
showFooter: false,
singleDate: true,
calendarCount: 1,
startOnMonday: true
});
{% if ((competicion.popupInscripcion) or (competicion.listaEspera and ((num_inscritos - competicion.plazas) >= 0))) %}
$(document).ready(function () {
setTimeout(function () {
$("#popupInscripcionDimmer").dimmer({
closable: false
}).dimmer("show");
}, 2000);
});
$(".checkbox.entendido").checkbox({
onChecked: function () {
$(".button.entendido").removeClass("disabled");
},
onUnchecked: function () {
$(".button.entendido").addClass("disabled");
}
});
$(".button.entendido").click(function (e) {
e.preventDefault();
$("#popupInscripcionDimmer").dimmer("hide");
});
{% endif %}
{% if not (is_granted("ROLE_ADMIN")) %}
$('input.prompt').bind('paste', function (e) {
e.preventDefault();
}).on("contextmenu", function (e) {
return false;
});
{% endif %}
{% if competicion.seleccionTarifas %}
$('#inscripcion_jugador_tarifa_select').prop("disabled", false);
$('#inscripcion_jugador_tarifa_select').parent().removeClass('disabled');
$('#inscripcion_jugador_tarifa_select').change(function () {
$('#inscripcion_jugador_tarifa').val($(this).val());
});
{% endif %}
function setOrganiserToField() {
let value = '';
if (organiser !== '') {
value = organiser;
if (organiser.includes('00')) {
value = organiser.substring(0, 2);
}
}
$('.organiserCodeRestrict').text(value);
}
</script>
<script>
$.fn.search.settings.templates.message = function (message, type) {
var html = '';
if (message !== undefined && type !== undefined) {
html += '' + '<div class="message ' + type + '">';
// message type
if (type == 'empty') {
html += ''
+ '<div class="header">'
+ "{{ 'messages.no_results_title'|trans({}, 'GestionBundle') }}"
+ '</div class="header">'
+ '<div class="description">'
+ "{{ 'messages.no_results_msg'|trans({}, 'GestionBundle') }}"
+ '</div class="description">';
} else {
html += ' <div class="description">' + message + '</div>';
}
html += '</div>';
}
return html;
};
</script>
<script src="https://cdn.jsdelivr.net/npm/linkifyjs@4.1.0/dist/linkify.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/linkify-html@4.1.0/dist/linkify-html.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/linkify-jquery@4.1.0/dist/linkify-jquery.min.js"></script>
<script>
$(document).ready(function() {
let optlnk = { defaultProtocol: "https", rel: "noopener noreferrer" };
$(".container").linkify(optlnk);
$("#inscripcion_jugador_licencia").focus();
setOrganiserToField();
// lanzarToast('error', 'Los servicios de Handicap de la Federación Española no están disponibles en estos momentos, espere unos minutos para realizar su inscripción', 0);
});
</script>
{% endblock %}