{% 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 %}
<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[type='text'],
input[type='number'],
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} %}
{% set placeholder = "" %}
{% 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 %}
{{ form_start(form) }}
{% if not form.vars.valid %}
<div class="ui message">
{{ form_errors(form) }}
</div>
{% endif %}
{% for index in 1..competicion.jugadores %}
{% set required = 'required' %}
{% if (not competicion.estricto) and loop.last %}
{% set required = '' %}
{% endif %}
<div class="ui segments">
<div class="ui segment">
<div class="ui grid">
<div class="six wide column">
<div class="row">
<div class="six wide column">
<h5 class="ui blue header">
{{ 'competicion.inscritos.player'|trans({}, 'FrontendBundle') }}-{{ index }}
</h5>
</div>
{% if placeholder != "" %}
<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>
<div class="ten wide right aligned column">
<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>
</div>
</div>
</div>
<div class="ui secondary segment">
<div class="ui form">
<div class="two fields">
<div class="one {{required}} field ui search introducePareja jugador{{index}}" data-jugador="{{ index }}">
{{ form_label(attribute(form, 'licencia' ~ index)) }}
<div class="ui right icon fluid input">
{% if not loop.first %}
{{ form_widget(attribute(form, 'licencia' ~ index), { 'attr': {'placeholder': placeholder} }) }}
{% else %}
{{ form_widget(attribute(form, 'licencia' ~ index), { 'attr': {'placeholder': placeholder, 'value': app.request.get('lic')|default('') } }) }}
{% endif %}
<i class="search icon"></i>
</div>
<a href="http://www.rfegolf.es/paginasservicios/serviciohandicap.aspx" target="_blank" rel="noopener noreferrer">
{{ 'titles.inscripcion.requestRFEG'|trans({}, 'FrontendBundle') }}
</a>
{{ form_errors(attribute(form, 'licencia' ~ index)) }}
</div>
<div class="{{ required }} field">
{{ form_label(attribute(form, 'nombre_jugador' ~ index)) }}
{{ form_widget(attribute(form, 'nombre_jugador' ~ index)) }}
{{ form_errors(attribute(form, 'nombre_jugador' ~ index)) }}
</div>
</div>
<div class="two fields">
{% if attribute(form, 'categoria_select' ~ index) is defined %}
<div class="required field">
{{ form_label(attribute(form, 'categoria_select' ~ index)) }}
{{ form_widget(attribute(form, 'categoria_select' ~ index)) }}
{{ form_errors(attribute(form, 'categoria_select' ~ index)) }}
</div>
{% endif %}
{% if attribute(form, 'barra' ~ index) is defined %}
<div class="required field">
{{ form_label(attribute(form, 'barra' ~ index)) }}
{{ form_widget(attribute(form, 'barra' ~ index)) }}
{{ form_errors(attribute(form, 'barra' ~ index)) }}
{#<label class="required" for="inscripcion_pareja_barra1">Barra de salida</label>
<select id="inscripcion_pareja_barra" name="barra1" class="noselection">
<option value="">Elija una barra</option>
</select>#}
</div>
{% endif %}
<div class="{{ required }} field">
{{ form_label(attribute(form, 'tarifa_select' ~ index)) }}
{{ form_widget(attribute(form, 'tarifa_select' ~ index)) }}
{{ form_errors(attribute(form, 'tarifa_select' ~ index)) }}
</div>
</div>
<div class="two fields">
<div class="telefonoJugador{{ index }} transition hidden field">
{{ form_label(attribute(form, 'telefono_jugador' ~ index)) }}
{{ form_widget(attribute(form, 'telefono_jugador' ~ index)) }}
{{ form_errors(attribute(form, 'telefono_jugador' ~ index)) }}
</div>
</div>
{% set compAdicionales = competicion.adicionales|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.adicionales %}
{% if ((loop.index0 % 3) == 0) and (compAdicionales > 1) %}
<div class="two fields">
{% endif %}
<div class="{{ required }} field {{ adicional.tipo|lower }}">
{% if adicional.tipo != "Si/No" %}
<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 }}_{{ index }}" {{ required }} {% if adicional.tipo == "DNI" %}class="dni"{% endif %}>
{% else %}
<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 }}_{{ index }}" value="0" {{ required }}>
<label>No</label>
</div>
</div>
<div class="field">
<div class="ui radio checkbox">
<input type="radio" name="adicional{{ adicional.id }}_{{ index }}" value="1" {{ required }}>
<label>Sí</label>
</div>
</div>
</div>
{% endif %}
</div>
{% if ((loop.index0 % 3 == 2) or loop.last) and (compAdicionales > 1) %}
</div>
{% endif %}
{% endfor %}
</div>
{% endif %}
</div>
</div>
</div>
{% endfor %}
<div class="ui top attached segment">
<div class="ui form">
<div class="field">
{{ form_label(form.teamname) }}
{{ form_widget(form.teamname) }}
{{ form_errors(form.teamname) }}
</div>
<div class="two fields">
<div class="required field">
{{ form_label(form.email) }}
{{ form_widget(form.email, { 'attr': {'value': app.request.get('email')|default('') } }) }}
{{ form_errors(form.email) }}
</div>
{% if form.turno is defined %}
<div class="turnoJugador required field">
{{ form_label(form.turno) }}
{{ form_widget(form.turno) }}
{{ form_errors(form.turno) }}
</div>
{% else %}
{% if form.voucher is defined %}
<div class="field">
{{ form_label(form.voucher) }}
{{ form_widget(form.voucher) }}
{{ form_errors(form.voucher) }}
</div>
{% endif %}
{% endif %}
{#
<div class="field">
<div class="g-recaptcha" data-sitekey="6Ld1hVIUAAAAAFWMYl6XkxR5XOht1UNxQ9ulGCwe"></div>
</div>
#}
</div>
<div class="two fields">
<div class="{% if not competicion.observacionesFrontend %}disabled transition hidden{% endif %} field">
{{ form_label(form.observaciones) }}
{{ form_widget(form.observaciones) }}
{{ form_errors(form.observaciones) }}
</div>
<div class="required field">
{% if form.turno is defined %}
{% if form.voucher is defined %}
{{ form_label(form.voucher) }}
{{ form_widget(form.voucher) }}
{{ form_errors(form.voucher) }}
{% endif %}
{% endif %}
{% if competicion.organizador.id == "CM00" %}
<div class="ui 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'|trans({}, 'FrontendBundle') }}
<i class="external alternate icon"></i>
</a>
</label>
</div>
{% endif %}
<div class="ui 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 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 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>
{{ form_widget(form.save) }}
</div>
</div>
</div>
</div>
<div class="ui bottom attached 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>
<div class="ui inverted blue bottom attached segment transition hidden" id="incompleto">
{{ 'messages.inscripcion.incompleto'|trans({}, 'FrontendBundle') }}
</div>
{{ form_rest(form) }}
{{ form_end(form) }}
{% 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-not-individual'|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 %}
{% endblock %}
{% block javascripts %}
<script>
var competicionID = parseInt("{{ competicion.id }}");
var njugadores = parseInt("{{ competicion.jugadores }}");
</script>
<script>
var checkBoxPrivacidad = $('#privacidad');
$(".dropdown").dropdown();
checkBoxPrivacidad.checkbox();
$('.ui.accordion').accordion({
exclusive: true
});
{% if not (is_granted("ROLE_ADMIN")) %}
$('input.prompt').bind('paste', function (e) {
e.preventDefault();
}).on("contextmenu", function (e) {
return false;
});
{% endif %}
$('#inscripcion_equipo_save').click(function () {
var emailVal = $("#inscripcion_equipo_email").val();
if (emailVal != null && emailVal.trim() != "" && validateEmail($("#inscripcion_equipo_email")) && checkBoxPrivacidad.checkbox('is checked') && $('#inscripcion_equipo_nombre_jugador1').val().trim() != '' && $('#inscripcion_equipo_nombre_jugador2').val().trim() != '' && comprobarBarrasValidos() && comprobarDnisValidos() && comprobarTelefonoValidos() && comprobarTarifasValido()) {
$(this).addClass('disabled'); //evitamos el doble click en el submit
}
});
checkBoxPrivacidad.change(function () {
comprobarContinuar();
});
$('.barraSalida').dropdown({
onChange: function () {
comprobarContinuar();
}
});
function comprobarContinuar() {
var emailVal = $("#inscripcion_equipo_email").val();
if (checkBoxPrivacidad.checkbox('is checked') && $('#inscripcion_equipo_nombre_jugador1').val().trim() != '' && $('#inscripcion_equipo_nombre_jugador2').val().trim() != '' && emailVal != null && emailVal.trim() != "" && validateEmail($("#inscripcion_equipo_email")) && comprobarBarrasValidos() && comprobarDnisValidos() && comprobarTelefonoValidos() && comprobarTarifasValido()) {
$('#inscripcion_equipo_save').removeClass('disabled');
$("#incompleto").transition("hide");
} else {
$('#inscripcion_equipo_save').addClass('disabled');
$("#incompleto").transition("show");
}
}
//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 %}
{% set informacionPopup = competicion.informacionPopup %}
{% endif %}
if (('{{ informacionPopup|raw }}' !== null) && ('{{ informacionPopup|raw|trim }}' !== '')) {
$("#informacionPopup").dimmer('show');
$("#informacionPopup button").click(function () {
$("#informacionPopup").dimmer('hide');
});
}
var jugadoresPedidos = 0;
var jugadoresRellenos = 0;
$(document).keydown(function (objEvent) {
if (objEvent.keyCode == 9) { //tab pressed
objEvent.preventDefault(); // stops its action
}
});
$('.introducePareja').each(function () {
$(this).search({
apiSettings: {
url: Routing.generate('ajax_inscripcion_autocompletar', {'idc': competicionID, 'permitir': 0}) + '/{query}'
},
fields: {
results: 'items',
description: 'nombre',
title: 'label'
},
cache: false,
selectFirstResult: true,
minCharacters: 10,
searchOnFocus: true,
onResults: function (response) {
var nJug = $(this).data('jugador');
var errorSegm = $(this).closest('.introducePareja').closest('.segments').find('.inscribible');
if (errorSegm.find(".errores").hasClass('hidden')) {
errorSegm.find(".errores").transition("hide");
}
if (typeof (response.items[0]) != "undefined") {
{% if not competicion.seleccionTarifas %}
$('#inscripcion_equipo_tarifa' + nJug).val(response.items[0].tarifa);
$('#inscripcion_equipo_tarifa_select' + nJug).dropdown('set selected', response.items[0].tarifa);
{% endif %}
$('#inscripcion_equipo_nombre_jugador' + nJug).val(response.items[0].nombre);
$('#inscripcion_equipo_id' + nJug).val(response.items[0].id);
if (response.items[0].categoria){
$('#inscripcion_equipo_categoria' + nJug).val(response.items[0].categoria);
$('#inscripcion_equipo_categoria_select' + nJug).dropdown('set selected', 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_equipo_barra' + nJug).dropdown("change values", arr).dropdown("restore default value").dropdown("restore placeholder text").dropdown("restore default text");
}
if (response.items[0].inscribible) {
jugadoresRellenos++;
if (!errorSegm.hasClass('hidden')) {
errorSegm.transition('fade down out');
}
$(this).closest('.introducePareja').find('input').transition('remove looping');
} else {
if(response.offline === 1) {
lanzarToast('error', 'No hemos podido contactar con la rfga para validar su licencia', 7500, "exclamation triangle");
}
if (response.items[0].error == -7) {// para preferencia en inscripcion
jugadoresRellenos++;
}
$('#inscripcion_equipo_email').attr('disabled', 'disabled');
errorSegm.transition('fade down in');
errorSegm.find(".error"+response.items[0].error).transition("show");
$(this).closest('.introducePareja').find('input').transition('set looping').transition('glow', '800ms');
}
{% if competicion.estricto %}
if (jugadoresRellenos >= njugadores) {
{% else %}
if (jugadoresRellenos >= 2) {
{% endif %}
$('#inscripcion_equipo_email').removeAttr('disabled');
} else if (response.items[0].error) {
errorSegm.transition('fade down in');
errorSegm.find(".error" + response.items[0].error).transition("show");
$(this).closest('.introducePareja').find('input').transition('set looping').transition('glow', '800ms');
}
if (!response.items[0].telefono) {
$('.telefonoJugador' + nJug).transition('show').transition("shake");
$('.telefonoJugador' + nJug).find("input").attr("required", "required").transition("glow").transition("glow").transition("glow");
$('.telefonoJugador' + nJug).find("input").prop("disabled", false);
$('.telefonoJugador' + nJug).addClass("required");
} else {
if ($('.telefonoJugador' + nJug).transition("is visible")) {
$('.telefonoJugador' + nJug).transition("hide");
}
$('.telefonoJugador' + nJug).find("input").prop("disabled", true);
}
},
onResultsOpen: function () {
$(this).closest('.introducePareja').find('input').transition('remove looping');
},
error: {
noResultsHeader: 'No se ha encontrado esta licencia en la Federación Española de Golf.',
noResults: '',
serverError: 'El servidor de la Federación Española de Golf no está disponible en este momento. Inténtelo de nuevo más tarde.'
}
});
});
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 comprobarTarifasValido() {
var ok = true;
let bS = $('.tarifa');
for (var nj = 1; nj <= bS.length; nj++) {
var tarifaField = $(".tarifa" + nj);
if (tarifaField.length > 0) {
let v = tarifaField.dropdown('get value');
ok = (("" != v) && (null != v)) && ok;
}
}
return ok;
}
for (var i = 1; i <= njugadores; i++) {
$('#inscripcion_equipo_tarifa_select' + i).closest(".dropdown").dropdown({
onChange: function(){
comprobarContinuar();
}
});
}
function comprobarBarrasValidos() {
var ok = true;
let bS = $('.barraSalida');
for (var nj = 1; nj <= bS.length; nj++) {
var barraField = $(".barraSalida" + nj);
if (barraField.length > 0) {
let v = barraField.dropdown('get value');
ok = (("" != v) && (null != v)) && ok;
}
}
return ok;
}
function comprobarTelefonoValidos() {
var ok = true;
var tlfnJug = $(".tlfnJug");
for (var nj = 0; nj < tlfnJug; nj++) {
var tlfField = $(".telefonoJugador" + (nj + 1));
var tlfVal = tlfField.find("input").val();
if (tlfField.hasClass("visible")) {
ok = ((tlfVal != "") && (tlfVal.length >= 9)) && ok;
}
}
return ok;
}
function comprobarDnisValidos() {
var dnis = $(".field.dni");
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) {
//mostrarToast('error', 'Longitud DNI incorrecta');
$(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) {
//mostrarToast('error', 'DNI incorrecto');
$(this).transition("shake").parent().addClass("error");
} else {
$(this).parent().removeClass("error");
var emailVal = $("#inscripcion_equipo_email").val();
if (emailVal != null && emailVal.trim() != "" && validateEmail($("#inscripcion_equipo_email")) && checkBoxPrivacidad.checkbox('is checked') && $('#inscripcion_equipo_nombre_jugador1').val().trim() != '' && $('#inscripcion_equipo_nombre_jugador2').val().trim() != '' && comprobarDnisValidos()) {
$('#inscripcion_equipo_save').removeClass('disabled');
}
}
}
});
{% 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 competicion.seleccionTarifas %}
{% for i in 1..competicion.jugadores %}
$('#inscripcion_equipo_tarifa_select{{ i }}').prop("disabled", false);
$('#inscripcion_equipo_tarifa_select{{ i }}').parent().removeClass('disabled');
$('#inscripcion_equipo_tarifa_select{{ i }}').change(function () {
$('#inscripcion_equipo_tarifa{{ i }}').val($(this).val());
});
{% endfor %}
{% endif %}
$('.no-procede').change(function () {
var $this = $(this);
if ($this.prop('checked')) {
$this.closest('label').next().val('Sin ' + $this.data('label'));
}
});
$.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_equipo_licencia1").focus();
// 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 %}