templates/frontend/Inscritos/new_pareja_new.html.twig line 1

Open in your IDE?
  1. {% extends 'base_frontend_new.html.twig' %}
  2. {% form_theme form 'frontend/Form/fields2_semantic.html.twig' %}
  3. {% block title %}{{ 'competicion.inscritos.inscripcion'|trans({}, 'FrontendBundle') }} - {{ competicion.nombre }}{% endblock %}
  4. {% block stylesheets %}
  5.     <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
  6.     <link rel="stylesheet" type="text/css" href="{{ asset('css/gestion/calentim.min.css') }}"/>
  7.     <style>
  8.         /* Arreglos visuales del search que salía descuadrado */
  9.         .ui.search > .results {
  10.             top: unset;
  11.             left: unset;
  12.         }
  13.         .centerRadio.inline.fields {
  14.             justify-content: center;
  15.         }
  16.         label.centerRadio {
  17.             text-align: center;
  18.         }
  19.         #popupInscripcionDimmer {
  20.             overflow: scroll;
  21.         }
  22.         #popupInscripcionDimmer p {
  23.             margin: 1rem auto;
  24.             max-width: 30vw;
  25.         }
  26.         @media only screen and (max-width: 767px) {
  27.             #popupInscripcionDimmer p {
  28.                 margin: initial;
  29.                 max-width: 100vw;
  30.             }
  31.             .button.entendido {
  32.                 margin-top: 1rem !important;
  33.             }
  34.             .segments.jugador {
  35.                 min-height: 525px;
  36.             }
  37.         }
  38.         input,
  39.         textarea {
  40.             font-size: 16px !important;
  41.         }
  42.     </style>
  43.     <script src='https://www.google.com/recaptcha/api.js'></script>
  44. {% endblock %}
  45. {% block container %}
  46.     {% include 'frontend/Competicion/competicionComun-torneo.html.twig' %}
  47.     {% include 'mensajes_new.html.twig' with {'layout': 0} %}
  48.     {# control para inscripciones solo de jugadores de federacion #}
  49.     {% set placeholder = "" %}
  50.     {% if (competicion.restringirLicencia != 'abierto') %}
  51.         {% if (competicion.organizador.id|slice(2,2) == "00") %}
  52.             {% set placeholder = competicion.organizador.id|slice(0,2) ~ "..." %}
  53.         {% else %}
  54.             {% set placeholder = competicion.organizador.id ~ "..." %}
  55.         {% endif %}
  56.     {% endif %}
  57.     {{ form_start(form) }}
  58.     <div class="ui segments jugador" data-jugador="1">
  59.         <div class="ui segment">
  60.             <div class="ui grid">
  61.                 <div class="sixteen wide mobile eleven wide computer column">
  62.                     <div class="row">
  63.                         <div class="six wide middle aligned column">
  64.                             <h5 class="ui blue header">
  65.                                 {{ 'competicion.inscritos.player'|trans({}, 'FrontendBundle') }} {{ esProam ? '(Pro)' : '' }}
  66.                             </h5>
  67.                         </div>
  68.                         {% if placeholder != "" %}
  69.                             <div class="ten wide column">
  70.                                 <div class="ui basic blue tiny label">
  71.                                     {% if (competicion.restringirLicencia == 'restringir') %}
  72.                                         {{ 'competicion.inscritos.region-player'|trans({"%club%": placeholder}, 'FrontendBundle') }}
  73.                                     {% else %}
  74.                                         {{ 'competicion.inscritos.region-player-preference'|trans({"%club%": placeholder}, 'FrontendBundle') }}
  75.                                     {% endif %}
  76.                                 </div>
  77.                             </div>
  78.                         {% endif %}
  79.                     </div>
  80.                 </div>
  81.                 {% if competicion.permitirExtranjeros %}
  82.                     <div class="sixteen wide mobile five wide computer right aligned column">
  83.                         <button class="ui basic button addExtranjero" id="botonExtranjeros1">
  84.                             <i class="icon world"></i>
  85.                             {{ 'competicion.inscritos.foreigners'|trans({"%club%": placeholder}, 'FrontendBundle') }}
  86.                         </button>
  87.                     </div>
  88.                 {% endif %}
  89.             </div>
  90.         </div>
  91.         <div class="ui secondary segment transition hidden segmentExtranjeros jugador1">
  92.             <div class="ui warning small message">
  93.                 <div class="header">
  94.                     Alta de jugadores extranjeros no federados en España
  95.                 </div>
  96.                 Esta utilidad está destinada <b>exclusivamente</b> a jugadores con Licencia Extranjera <b>en vigor</b>,
  97.                 situación que se debe verificar en el club organizador. Los jugadores nacionales sin licencia <b>no</b>
  98.                 pueden ser inscritos en torneos.
  99.             </div>
  100.             <div class="ui form formularioExtranjeros" {# action="{{ path("ajax_guardar_extranjero") }}" #}>
  101.                 <div class="fields">
  102.                     <div class="six wide required field">
  103.                         <label>{{ 'competicion.inscritos.enrolement.name'|trans({}, 'FrontendBundle') }}</label>
  104.                         <input type="text" name="nombre" class="inputNombreEx" required autocomplete="off">
  105.                     </div>
  106.                     <div class="ten wide required field">
  107.                         <label>{{ 'competicion.inscritos.enrolement.surname'|trans({}, 'FrontendBundle') }}</label>
  108.                         <input type="text" name="apellidos" class="inputApellidosEx" required autocomplete="off">
  109.                     </div>
  110.                 </div>
  111.                 <div class="fields">
  112.                     <div class="five wide required field">
  113.                         <label>{{ 'competicion.inscritos.enrolement.dob'|trans({}, 'FrontendBundle') }}</label>
  114.                         <input type="text" name="fecha" class="inputFechaNacEx datepic" required autocomplete="off"
  115.                                readonly>
  116.                     </div>
  117.                     <div class="three wide required field">
  118.                         <label>{{ 'competicion.inscritos.enrolement.gender.label'|trans({}, 'FrontendBundle') }}</label>
  119.                         <select class="ui fluid dropdown sexoJugadorEx" required name="sexo">
  120.                             <option value="">{{ 'competicion.inscritos.enrolement.gender.label'|trans({}, 'FrontendBundle') }}</option>
  121.                             <option value="masculino">{{ 'competicion.inscritos.enrolement.gender.male'|trans({}, 'FrontendBundle') }}</option>
  122.                             <option value="femenino">{{ 'competicion.inscritos.enrolement.gender.female'|trans({}, 'FrontendBundle') }}</option>
  123.                         </select>
  124.                     </div>
  125.                     <div class="five wide field">
  126.                         <label>{{ 'competicion.inscritos.enrolement.country.label'|trans({}, 'FrontendBundle') }}</label>
  127.                         <div class="ui fluid search selection dropdown nacionalidadEx">
  128.                             <input type="hidden" name="country">
  129.                             <i class="dropdown icon"></i>
  130.                             <div class="default text">{{ 'competicion.inscritos.enrolement.country.choose'|trans({}, 'FrontendBundle') }}</div>
  131.                             <div class="menu">
  132.                                 {% for pais in paises %}
  133.                                     <div class="item" data-value="{{ pais.id|upper }}">
  134.                                         <i class="{{ pais.id|lower }} flag"></i>
  135.                                         {{ pais.nombre }}
  136.                                     </div>
  137.                                 {% endfor %}
  138.                                 <div class="item" data-value="se"><i
  139.                                             class="ex flag"></i>{{ 'competicion.inscritos.enrolement.country.unknown'|trans({}, 'FrontendBundle') }}
  140.                                 </div>
  141.                             </div>
  142.                         </div>
  143.                     </div>
  144.                     <div class="three wide required field">
  145.                         <label>{{ 'competicion.inscritos.enrolement.level.label'|trans({}, 'FrontendBundle') }}</label>
  146.                         <select class="ui fluid dropdown nivelJugadorEx" name="nivel">
  147.                             <option value="A">{{ 'competicion.inscritos.enrolement.level.alevin'|trans({}, 'FrontendBundle') }}</option>
  148.                             <option value="B">{{ 'competicion.inscritos.enrolement.level.benjamin'|trans({}, 'FrontendBundle') }}</option>
  149.                             <option value="C">{{ 'competicion.inscritos.enrolement.level.cadete'|trans({}, 'FrontendBundle') }}</option>
  150.                             <option value="G">{{ 'competicion.inscritos.enrolement.level.girl'|trans({}, 'FrontendBundle') }}</option>
  151.                             <option value="I">{{ 'competicion.inscritos.enrolement.level.infantil'|trans({}, 'FrontendBundle') }}</option>
  152.                             <option value="J">{{ 'competicion.inscritos.enrolement.level.junior'|trans({}, 'FrontendBundle') }}</option>
  153.                             <option value="M"
  154.                                     selected="selected">{{ 'competicion.inscritos.enrolement.level.mayor'|trans({}, 'FrontendBundle') }}</option>
  155.                             <option value="P+">{{ 'competicion.inscritos.enrolement.level.profesional'|trans({}, 'FrontendBundle') }}</option>
  156.                             <option value="S">{{ 'competicion.inscritos.enrolement.level.senior'|trans({}, 'FrontendBundle') }}</option>
  157.                             <option value="Y">{{ 'competicion.inscritos.enrolement.level.boy'|trans({}, 'FrontendBundle') }}</option>
  158.                         </select>
  159.                     </div>
  160.                 </div>
  161.                 <div class="fields">
  162.                     <div class="two wide required field">
  163.                         <label>{{ 'competicion.inscritos.enrolement.hcp'|trans({}, 'FrontendBundle') }}</label>
  164.                         <input type="text" name="hcp" class="handicapJugadorEx" maxlength="4" required
  165.                                autocomplete="off">
  166.                     </div>
  167.                     <div class="four wide required field">
  168.                         <label>{{ 'competicion.inscritos.enrolement.phone'|trans({}, 'FrontendBundle') }}</label>
  169.                         <input type="tel" name="telefono" class="inputTelefonoEx" maxlength="9" required
  170.                                autocomplete="off">
  171.                     </div>
  172.                     <div class="five wide required field">
  173.                         <label>{{ 'competicion.inscritos.enrolement.email'|trans({}, 'FrontendBundle') }}</label>
  174.                         <input type="email" name="email" class="inputEmailEx" required autocomplete="off">
  175.                     </div>
  176.                     {# <div class="five wide field">
  177.                         <label>Informe Hcp y Documento de identidad</label>
  178.                         <input type="file" name="documento" class="inputDocumentoEx" required autocomplete="off">
  179.                     </div> #}
  180.                 </div>
  181.                 <div class="ui grid">
  182.                     <div class="column row">
  183.                         <div class="eight wide left floated column">
  184.                             <div class="ui right large red basic label camposVaciosEx">
  185.                                 {{ 'competicion.inscritos.enrolement.all-required'|trans({}, 'FrontendBundle') }}
  186.                             </div>
  187.                         </div>
  188.                         <div class="eight wide right floated column">
  189.                             <button class="ui right floated labeled icon blue ok button guardar"><i
  190.                                         class="checkmark icon"></i>{{ 'competicion.inscritos.enrolement.save'|trans({}, 'FrontendBundle') }}
  191.                             </button>
  192.                         </div>
  193.                     </div>
  194.                 </div>
  195.             </div>
  196.         </div>
  197.         <div class="ui secondary segment inscripcionSegment">
  198.             <h5 class="ui header transition hidden inscribible">
  199.                 <span class="ui orange label">
  200.                     <i class="exclamation triangle icon"></i>
  201.                     {% for err in 1..7 %}
  202.                         <span class="ui transition hidden error-{{ err }} errores">
  203.                             {% set errTrans = 'messages.inscripcion.inscribible-' ~ err %}
  204.                             {{ errTrans|trans({}, 'FrontendBundle') }}
  205.                         </span>
  206.                     {% endfor %}
  207.                 </span>
  208.             </h5>
  209.             {{ form_errors(form) }}
  210.             <div class="ui form">
  211.                 <div class="two fields">
  212.                     <div class="one required field ui search buscaLicencia jugador1">
  213.                         {{ form_label(form.licencia1) }}
  214.                         <div class="ui right icon fluid input">
  215.                             {{ form_widget(form.licencia1, { 'attr': {'placeholder': placeholder, 'value': app.request.get('lic')|default('') } }) }}
  216.                             <i class="search icon"></i>
  217.                         </div>
  218.                         {{ form_errors(form.licencia1) }}
  219.                         {# <a href="http://www.rfegolf.es/paginasservicios/serviciohandicap.aspx" target="_blank" rel="noopener noreferrer">
  220.                             {{ 'titles.inscripcion.requestRFEG'|trans({}, 'FrontendBundle') }}
  221.                         </a> #}
  222.                     </div>
  223.                     <div class="required field">
  224.                         {{ form_label(form.nombre_jugador1) }}
  225.                         {{ form_widget(form.nombre_jugador1) }}
  226.                         {{ form_errors(form.nombre_jugador1) }}
  227.                     </div>
  228.                 </div>
  229.                 <div class="two fields">
  230.                     {% if form.categoria_select1 is defined %}
  231.                         <div class="required field">
  232.                             {{ form_label(form.categoria_select1) }}
  233.                             {{ form_widget(form.categoria_select1) }}
  234.                             {{ form_errors(form.categoria_select1) }}
  235.                         </div>
  236.                     {% endif %}
  237.                     {% if form.barra1 is defined %}
  238.                         <div class="required field">
  239.                             {{ form_label(form.barra1) }}
  240.                             {{ form_widget(form.barra1) }}
  241.                             {{ form_errors(form.barra1) }}
  242.                             {# <label class="required" for="inscripcion_pareja_barra1">Barra de salida</label>
  243.                             <select id="inscripcion_pareja_barra" name="barra1" class="noselection">
  244.                                 <option value="">Elija una barra</option>
  245.                             </select> #}
  246.                         </div>
  247.                     {% endif %}
  248.                     <div class="required field">
  249.                         {{ form_label(form.tarifa_select1) }}
  250.                         {{ form_widget(form.tarifa_select1) }}
  251.                         {{ form_errors(form.tarifa_select1) }}
  252.                     </div>
  253.                 </div>
  254.                 <div class="two fields">
  255.                     <div class="telefonoJugador1 transition hidden field">
  256.                         {{ form_label(form.telefono_jugador1) }}
  257.                         {{ form_widget(form.telefono_jugador1) }}
  258.                         {{ form_errors(form.telefono_jugador1) }}
  259.                     </div>
  260.                 </div>
  261.                 <div class="documentoHcp field transition hidden">
  262.                     {{ form_label(form.documentoHcp1) }}
  263.                     {{ form_widget(form.documentoHcp1) }}
  264.                     {{ form_errors(form.documentoHcp1) }}
  265.                 </div>
  266.                 {% set compAdicionales = competicion.adicionales|length %}
  267.                 {% if compAdicionales > 0 %}
  268.                     <div class="ui padded adicionales-segment raised segment">
  269.                         <div class="ui section horizontal divider">
  270.                             {{ 'titles.inscripcion.aditional'|trans({}, 'FrontendBundle') }}
  271.                         </div>
  272.                         {% for adicional in competicion.adicionales %}
  273.                             {% if ((loop.index0 % 3) == 0) and (compAdicionales > 1) %}
  274.                                 <div class="two fields">
  275.                             {% endif %}
  276.                             <div class="required field {{ adicional.tipo|lower }}">
  277.                                 {% if adicional.tipo != "Si/No" %}
  278.                                     <label>{{ adicional.nombre|capitalize }}<span class="noProcede"
  279.                                                                                   style="float: right;">N/A<input
  280.                                                     type="checkbox" class="no-procede"
  281.                                                     data-label="{{ adicional.nombre|lower }}" name="no-procede"
  282.                                                     style="margin-top: 3px;margin-left: 3px;"></span></label>
  283.                                     <input placeholder="{% if adicional.tipo != 'DNI' %}{{ adicional.nombre|capitalize }}{% else %}12345678A{% endif %}"
  284.                                            type="text" name="adicional{{ adicional.id }}_1" required="required"
  285.                                            {% if adicional.tipo == "DNI" %}class="dni"{% endif %}>
  286.                                 {% else %}
  287.                                     <label class="centerRadio">{{ adicional.nombre|capitalize }}</label>
  288.                                     <div class="inline fields centerRadio">
  289.                                         <div class="field">
  290.                                             <div class="ui radio checkbox">
  291.                                                 <input type="radio" name="adicional{{ adicional.id }}_1" value="0"
  292.                                                        required>
  293.                                                 <label>No</label>
  294.                                             </div>
  295.                                         </div>
  296.                                         <div class="field">
  297.                                             <div class="ui radio checkbox">
  298.                                                 <input type="radio" name="adicional{{ adicional.id }}_1" value="1"
  299.                                                        required>
  300.                                                 <label>Sí</label>
  301.                                             </div>
  302.                                         </div>
  303.                                     </div>
  304.                                 {% endif %}
  305.                             </div>
  306.                             {% if ((loop.index0 % 3 == 2) or loop.last) and (compAdicionales > 1) %}
  307.                                 </div>
  308.                             {% endif %}
  309.                         {% endfor %}
  310.                     </div>
  311.                 {% endif %}
  312.             </div>
  313.         </div>
  314.     </div>
  315.     <div class="ui segments jugador" data-jugador="2">
  316.         <div class="ui segment">
  317.             <div class="ui grid">
  318.                 <div class="sixteen wide mobile eleven wide computer column">
  319.                     <div class="row">
  320.                         <div class="six wide middle aligned column">
  321.                             <h5 class="ui blue header">
  322.                                 {{ 'competicion.inscritos.player'|trans({}, 'FrontendBundle') }}
  323.                             </h5>
  324.                         </div>
  325.                         {% if placeholder != "" %}
  326.                             <div class="ten wide column">
  327.                                 <div class="ui basic blue tiny label">
  328.                                     {% if (competicion.restringirLicencia == 'restringir') %}
  329.                                         {{ 'competicion.inscritos.region-player'|trans({"%club%": placeholder}, 'FrontendBundle') }}
  330.                                     {% else %}
  331.                                         {{ 'competicion.inscritos.region-player-preference'|trans({"%club%": placeholder}, 'FrontendBundle') }}
  332.                                     {% endif %}
  333.                                 </div>
  334.                             </div>
  335.                         {% endif %}
  336.                     </div>
  337.                 </div>
  338.                 {% if competicion.permitirExtranjeros %}
  339.                     <div class="sixteen wide mobile five wide computer right aligned column">
  340.                         <button class="ui basic button addExtranjero" id="botonExtranjeros2">
  341.                             <i class="icon world"></i>
  342.                             {{ 'competicion.inscritos.foreigners'|trans({"%club%": placeholder}, 'FrontendBundle') }}
  343.                         </button>
  344.                 </div>
  345.                 {% endif %}
  346.             </div>
  347.         </div>
  348.         <div class="ui secondary segment transition hidden segmentExtranjeros jugador2">
  349.             <div class="ui warning small message">
  350.                 <div class="header">
  351.                     {{ 'competicion.inscritos.enrolement.title'|trans({}, 'FrontendBundle') }}
  352.                 </div>
  353.                 {{ 'competicion.inscritos.enrolement.subtitle'|trans({}, 'FrontendBundle')|raw }}
  354.             </div>
  355.             <div class="ui form formularioExtranjeros">
  356.                 <div class="fields">
  357.                     <div class="six wide required field">
  358.                         <label>{{ 'competicion.inscritos.enrolement.name'|trans({}, 'FrontendBundle') }}</label>
  359.                         <input type="text" name="nombre" class="inputNombreEx" required autocomplete="off">
  360.                     </div>
  361.                     <div class="ten wide required field">
  362.                         <label>{{ 'competicion.inscritos.enrolement.surname'|trans({}, 'FrontendBundle') }}</label>
  363.                         <input type="text" name="apellidos" class="inputApellidosEx" required autocomplete="off">
  364.                     </div>
  365.                 </div>
  366.                 <div class="fields">
  367.                     <div class="five wide required field">
  368.                         <label>{{ 'competicion.inscritos.enrolement.dob'|trans({}, 'FrontendBundle') }}</label>
  369.                         <input type="text" name="fecha" class="inputFechaNacEx datepic" required autocomplete="off"
  370.                                readonly>
  371.                     </div>
  372.                     <div class="three wide required field">
  373.                         <label>{{ 'competicion.inscritos.enrolement.gender.label'|trans({}, 'FrontendBundle') }}</label>
  374.                         <select class="ui fluid dropdown sexoJugadorEx" required name="sexo">
  375.                             <option value="">{{ 'competicion.inscritos.enrolement.gender.label'|trans({}, 'FrontendBundle') }}</option>
  376.                             <option value="masculino">{{ 'competicion.inscritos.enrolement.gender.male'|trans({}, 'FrontendBundle') }}</option>
  377.                             <option value="femenino">{{ 'competicion.inscritos.enrolement.gender.female'|trans({}, 'FrontendBundle') }}</option>
  378.                         </select>
  379.                     </div>
  380.                     <div class="five wide field">
  381.                         <label>{{ 'competicion.inscritos.enrolement.country.label'|trans({}, 'FrontendBundle') }}</label>
  382.                         <div class="ui fluid search selection dropdown nacionalidadEx">
  383.                             <input type="hidden" name="country">
  384.                             <i class="dropdown icon"></i>
  385.                             <div class="default text">{{ 'competicion.inscritos.enrolement.country.choose'|trans({}, 'FrontendBundle') }}</div>
  386.                             <div class="menu">
  387.                                 {% for pais in paises %}
  388.                                     <div class="item" data-value="{{ pais.id|upper }}">
  389.                                         <i class="{{ pais.id|lower }} flag"></i>
  390.                                         {{ pais.nombre }}
  391.                                     </div>
  392.                                 {% endfor %}
  393.                                 <div class="item" data-value="se"><i
  394.                                             class="ex flag"></i>{{ 'competicion.inscritos.enrolement.country.unknown'|trans({}, 'FrontendBundle') }}
  395.                                 </div>
  396.                             </div>
  397.                         </div>
  398.                     </div>
  399.                     <div class="three wide required field">
  400.                         <label>{{ 'competicion.inscritos.enrolement.level.label'|trans({}, 'FrontendBundle') }}</label>
  401.                         <select class="ui fluid dropdown nivelJugadorEx" name="nivel">
  402.                             <option value="A">{{ 'competicion.inscritos.enrolement.level.alevin'|trans({}, 'FrontendBundle') }}</option>
  403.                             <option value="B">{{ 'competicion.inscritos.enrolement.level.benjamin'|trans({}, 'FrontendBundle') }}</option>
  404.                             <option value="C">{{ 'competicion.inscritos.enrolement.level.cadete'|trans({}, 'FrontendBundle') }}</option>
  405.                             <option value="G">{{ 'competicion.inscritos.enrolement.level.girl'|trans({}, 'FrontendBundle') }}</option>
  406.                             <option value="I">{{ 'competicion.inscritos.enrolement.level.infantil'|trans({}, 'FrontendBundle') }}</option>
  407.                             <option value="J">{{ 'competicion.inscritos.enrolement.level.junior'|trans({}, 'FrontendBundle') }}</option>
  408.                             <option value="M"
  409.                                     selected="selected">{{ 'competicion.inscritos.enrolement.level.mayor'|trans({}, 'FrontendBundle') }}</option>
  410.                             <option value="P+">{{ 'competicion.inscritos.enrolement.level.profesional'|trans({}, 'FrontendBundle') }}</option>
  411.                             <option value="S">{{ 'competicion.inscritos.enrolement.level.senior'|trans({}, 'FrontendBundle') }}</option>
  412.                             <option value="Y">{{ 'competicion.inscritos.enrolement.level.boy'|trans({}, 'FrontendBundle') }}</option>
  413.                         </select>
  414.                     </div>
  415.                 </div>
  416.                 <div class="fields">
  417.                     <div class="two wide required field">
  418.                         <label>{{ 'competicion.inscritos.enrolement.hcp'|trans({}, 'FrontendBundle') }}</label>
  419.                         <input type="text" name="hcp" class="handicapJugadorEx" maxlength="4" required
  420.                                autocomplete="off">
  421.                     </div>
  422.                     <div class="four wide required field">
  423.                         <label>{{ 'competicion.inscritos.enrolement.phone'|trans({}, 'FrontendBundle') }}</label>
  424.                         <input type="tel" name="telefono" class="inputTelefonoEx" maxlength="9" required
  425.                                autocomplete="off">
  426.                     </div>
  427.                     <div class="five wide required field">
  428.                         <label>{{ 'competicion.inscritos.enrolement.email'|trans({}, 'FrontendBundle') }}</label>
  429.                         <input type="email" name="email" class="inputEmailEx" required autocomplete="off">
  430.                     </div>
  431.                     {# <div class="five wide field">
  432.                         <label>Informe Hcp</label>
  433.                         <input type="file" name="documento" class="inputDocumentoEx" required autocomplete="off">
  434.                     </div> #}
  435.                 </div>
  436.                 <div class="ui grid">
  437.                     <div class="column row">
  438.                         <div class="eight wide left floated column">
  439.                             <div class="ui right large red basic label camposVaciosEx">
  440.                                 {{ 'competicion.inscritos.enrolement.all-required'|trans({}, 'FrontendBundle') }}
  441.                             </div>
  442.                         </div>
  443.                         <div class="eight wide right floated column">
  444.                             <button class="ui right floated labeled icon blue ok button guardar"><i
  445.                                         class="checkmark icon"></i>{{ 'competicion.inscritos.enrolement.save'|trans({}, 'FrontendBundle') }}
  446.                             </button>
  447.                         </div>
  448.                     </div>
  449.                 </div>
  450.             </div>
  451.         </div>
  452.         <div class="ui secondary segment inscripcionSegment">
  453.             <h5 class="ui header transition hidden inscribible">
  454.                 <span class="ui orange label">
  455.                     <i class="exclamation triangle icon"></i>
  456.                     {% for err in 1..7 %}
  457.                         <span class="ui transition hidden error-{{ err }} errores">
  458.                             {% set errTrans = 'messages.inscripcion.inscribible-' ~ err %}
  459.                             {{ errTrans|trans({}, 'FrontendBundle') }}
  460.                         </span>
  461.                     {% endfor %}
  462.                 </span>
  463.             </h5>
  464.             <div class="ui form">
  465.                 <div class="two fields">
  466.                     <div class="one required field ui search buscaLicencia jugador2">
  467.                         {{ form_label(form.licencia2) }}
  468.                         <div class="ui right icon fluid input">
  469.                             {{ form_widget(form.licencia2, { 'attr': {'placeholder': placeholder} }) }}
  470.                             <i class="search icon"></i>
  471.                         </div>
  472.                         {{ form_errors(form.licencia2) }}
  473.                         {# <a href="http://www.rfegolf.es/paginasservicios/serviciohandicap.aspx" target="_blank" rel="noopener noreferrer">
  474.                             {{ 'titles.inscripcion.requestRFEG'|trans({}, 'FrontendBundle') }}
  475.                         </a> #}
  476.                     </div>
  477.                     <div class="one required field">
  478.                         {{ form_label(form.nombre_jugador2) }}
  479.                         {{ form_widget(form.nombre_jugador2) }}
  480.                         {{ form_errors(form.nombre_jugador2) }}
  481.                     </div>
  482.                 </div>
  483.                 <div class="two fields">
  484.                     {% if form.categoria_select2 is defined %}
  485.                         <div class="required field">
  486.                             {{ form_label(form.categoria_select2) }}
  487.                             {{ form_widget(form.categoria_select2) }}
  488.                             {{ form_errors(form.categoria_select2) }}
  489.                         </div>
  490.                     {% endif %}
  491.                     {% if form.barra2 is defined %}
  492.                         <div class="required field">
  493.                             {{ form_label(form.barra2) }}
  494.                             {{ form_widget(form.barra2) }}
  495.                             {{ form_errors(form.barra2) }}
  496.                             {# <label class="required" for="inscripcion_pareja_barra1">Barra de salida</label>
  497.                             <select id="inscripcion_pareja_barra" name="barra1" class="noselection">
  498.                                 <option value="">Elija una barra</option>
  499.                             </select> #}
  500.                         </div>
  501.                     {% endif %}
  502.                     <div class="required field">
  503.                         {{ form_label(form.tarifa_select2) }}
  504.                         {{ form_widget(form.tarifa_select2) }}
  505.                         {{ form_errors(form.tarifa_select2) }}
  506.                     </div>
  507.                 </div>
  508.                 <div class="two fields">
  509.                     <div class="telefonoJugador2 transition hidden field">
  510.                         {{ form_label(form.telefono_jugador2) }}
  511.                         {{ form_widget(form.telefono_jugador2) }}
  512.                         {{ form_errors(form.telefono_jugador2) }}
  513.                     </div>
  514.                 </div>
  515.                 <div class="documentoHcp field transition hidden">
  516.                     {{ form_label(form.documentoHcp2) }}
  517.                     {{ form_widget(form.documentoHcp2) }}
  518.                     {{ form_errors(form.documentoHcp2) }}
  519.                 </div>
  520.                 {% set compAdicionales = competicion.adicionales|length %}
  521.                 {% if compAdicionales > 0 %}
  522.                     <div class="ui padded adicionales-segment raised segment">
  523.                         <div class="ui section horizontal divider">
  524.                             {{ 'titles.inscripcion.aditional'|trans({}, 'FrontendBundle') }}
  525.                         </div>
  526.                         {% for adicional in competicion.adicionales %}
  527.                             {% if ((loop.index0 % 3) == 0) and (compAdicionales > 1) %}
  528.                                 <div class="two fields">
  529.                             {% endif %}
  530.                             <div class="required field {{ adicional.tipo|lower }}">
  531.                                 {% if adicional.tipo != "Si/No" %}
  532.                                     <label>{{ adicional.nombre|capitalize }}<span class="noProcede"
  533.                                                                                   style="float: right;">N/A<input
  534.                                                     type="checkbox" class="no-procede"
  535.                                                     data-label="{{ adicional.nombre|lower }}" name="no-procede"
  536.                                                     style="margin-top: 3px;margin-left: 3px;"></span></label>
  537.                                     <input placeholder="{% if adicional.tipo != 'DNI' %}{{ adicional.nombre|capitalize }}{% else %}12345678A{% endif %}"
  538.                                            type="text" name="adicional{{ adicional.id }}_2" required="required"
  539.                                            {% if adicional.tipo == "DNI" %}class="dni"{% endif %}>
  540.                                 {% else %}
  541.                                     <label>{{ adicional.nombre|capitalize }}</label>
  542.                                     <div class="inline fields">
  543.                                         <div class="field">
  544.                                             <div class="ui radio checkbox">
  545.                                                 <input type="radio" name="adicional{{ adicional.id }}_2" value="0"
  546.                                                        required>
  547.                                                 <label>No</label>
  548.                                             </div>
  549.                                         </div>
  550.                                         <div class="field">
  551.                                             <div class="ui radio checkbox">
  552.                                                 <input type="radio" name="adicional{{ adicional.id }}_2" value="1"
  553.                                                        required>
  554.                                                 <label>Sí</label>
  555.                                             </div>
  556.                                         </div>
  557.                                     </div>
  558.                                 {% endif %}
  559.                             </div>
  560.                             {% if ((loop.index0 % 3 == 2) or loop.last) and (compAdicionales > 1) %}
  561.                                 </div>
  562.                             {% endif %}
  563.                         {% endfor %}
  564.                     </div>
  565.                 {% endif %}
  566.             </div>
  567.         </div>
  568.         {#        {% set logotipo = "" %} #}
  569.         {# se cambia segun la tarea NEX-1447-5 #}
  570.         {# {% if (competicion.codigo == 'NEW-FORM') or competicion.organizador.id == "CM00" %} #}
  571.         {#        {% if competicion.organizador.id|slice(2,2) == "00" %} #}
  572.         {# aqui no hace falta el NEW-FORM ya que solo hay esta manera de proporcionar los datos del formulario covid #}
  573.         {#            {% if (competicion.organizador.id == "CM00") %} #}
  574.         {#                {% set logotipo = "cm" %} #}
  575.         {# {% elseif (competicion.organizador.id == "AM00") %}
  576.                     {% set logotipo = "ja" %} #}
  577.         {#            {% endif %} #}
  578.         {#        {% endif %} #}
  579.         {# {% if logotipo != "" %}
  580.             <div class="ui inverted dimmer popupCovidDimmer">
  581.                 <div class="content">
  582.                     <div class="ui icon yellow message">
  583.                         <i class="icon">
  584.                             {% include 'logo_' ~ logotipo ~ '.html.twig' %}
  585.                         </i>
  586.                         <div class="content">
  587.                             <div class="header">
  588.                                 {{ 'messages.inscripcion.popupInscripcion'|trans({}, 'FrontendBundle') }}
  589.                             </div>
  590.                             {% set gobierno_regional = ('header.gobiernos.' ~ logotipo)|trans({}, 'FrontendBundle') %}
  591.                             <p>{{ 'messages.inscripcion.popupCovid'|trans({'%gobierno_regional%': gobierno_regional, '%url_covid_file%': asset('audio/covid_' ~ (competicion.organizador.cliente.nombreCorto)|lower ~ '.pdf')}, 'FrontendBundle')|raw }}</p>
  592.                         </div>
  593.                     </div>
  594.                     <div class="ui ordered fluid steps">
  595.                         <div class="active step">
  596.                             <div class="content">
  597.                                 <div class="title">Adjuntar para Jugador 2</div>
  598.                                 <div class="description">Correctamente cumplimentado</div>
  599.                                 <div class="add">
  600.                                     {{ form_label(form.documentoCovid2) }}
  601.                                     {{ form_widget(form.documentoCovid2) }}
  602.                                     <div class="ui disabled formCompleto checkbox">
  603.                                         {{ form_label(form.formCompleto2) }}
  604.                                         {{ form_widget(form.formCompleto2) }}
  605.                                     </div>
  606.                                 </div>
  607.                             </div>
  608.                         </div>
  609.                         <div class="step">
  610.                             <div class="content">
  611.                                 <div class="title">Iniciar</div>
  612.                                 <div class="description">Proceso de inscripción</div>
  613.                                 <div class="add">
  614.                                     <button class="ui primary disabled entendidoCovid button">
  615.                                         {{ 'buttons.continue'|trans({}, 'FrontendBundle')|raw }}
  616.                                     </button>
  617.                                 </div>
  618.                             </div>
  619.                         </div>
  620.                     </div>
  621.                 </div>
  622.             </div>
  623.         {% endif %} #}
  624.     </div>
  625.     <div class="ui top attached segment">
  626.         <div class="ui form">
  627.             <div class="two fields">
  628.                 <div class="required field">
  629.                     {{ form_label(form.email) }}
  630.                     {{ form_widget(form.email, { 'attr': {'value': app.request.get('email')|default('') } }) }}
  631.                     {{ form_errors(form.email) }}
  632.                 </div>
  633.                 {% if form.turno is defined %}
  634.                     <div class="turnoJugador required field">
  635.                         {{ form_label(form.turno) }}
  636.                         {{ form_widget(form.turno) }}
  637.                         {{ form_errors(form.turno) }}
  638.                     </div>
  639.                 {% else %}
  640.                     {% if form.voucher is defined %}
  641.                         <div class="field">
  642.                             {{ form_label(form.voucher) }}
  643.                             {{ form_widget(form.voucher) }}
  644.                             {{ form_errors(form.voucher) }}
  645.                         </div>
  646.                     {% endif %}
  647.                 {% endif %}
  648.                 {#
  649.                 <div class="field">
  650.                     <div class="g-recaptcha" data-sitekey="6Ld1hVIUAAAAAFWMYl6XkxR5XOht1UNxQ9ulGCwe"></div>
  651.                 </div>
  652.                 #}
  653.             </div>
  654.             <div class="two fields">
  655.                 <div class="{% if not competicion.observacionesFrontend %}disabled transition hidden{% endif %} field">
  656.                     {{ form_label(form.observaciones) }}
  657.                     {{ form_widget(form.observaciones) }}
  658.                     {{ form_errors(form.observaciones) }}
  659.                 </div>
  660.                 <div class="required field">
  661.                     {% if form.turno is defined %}
  662.                         {% if form.voucher is defined %}
  663.                             {{ form_label(form.voucher) }}
  664.                             {{ form_widget(form.voucher) }}
  665.                             {{ form_errors(form.voucher) }}
  666.                         {% endif %}
  667.                     {% endif %}
  668.                     {% if competicion.organizador.id == "CM00" %}
  669.                         <div class="ui checkbox" id="conducta">
  670.                             <input type="checkbox" name="conducta" required>
  671.                             <label>
  672.                                 <a href="https://fedgolfmadrid.com/competiciones#seccion-locales" target="_blank"
  673.                                    rel="noreferrer noopener">
  674.                                     {{ 'messages.inscripcion.behaviour'|trans({}, 'FrontendBundle') }}
  675.                                     <i class="external alternate icon"></i>
  676.                                 </a>
  677.                             </label>
  678.                         </div>
  679.                     {% endif %}
  680.                     <div class="ui checkbox" id="privacidad" style="margin-bottom: 2ex; margin-top: 1ex;">
  681.                         <input type="checkbox" name="privacidad" required>
  682.                         <label>
  683.                             {% set nameCliente = competicion.organizador.cliente.nombre %}
  684.                             {% set UrlPrivCliente = competicion.organizador.cliente.urlPrivacidad %}
  685.                             {% set UrlPrivNxt = path('privacidad') %}
  686.                             {{ ('messages.inscripcion.privacy' ~ (competicion.permitirExtranjeros ? "-andEnglish" : ""))|trans({'%UrlPrivCliente%': UrlPrivCliente, '%nameCliente%': nameCliente}, 'FrontendBundle')|raw }}
  687.                             {% if competicion.organizador.id != "CM00" and codigo_federacion is same as('CM00') and UrlPrivCliente != "https://fedgolfmadrid.com/privacidad" %}, de la
  688.                                 <a href="https://fedgolfmadrid.com/privacidad">Federación de Golf de Madrid</a>
  689.                             {% elseif competicion.organizador.id != "AM00" and codigo_federacion is same as('AM00') and UrlPrivCliente != 'https://portal.golfandalucia.com/es/privacidad' %}, y de la
  690.                                 <a href="https://portal.golfandalucia.com/es/privacidad">Federación Andaluza de Golf</a>
  691.                             {% endif %}
  692.                             {{ ('messages.inscripcion.privacy_nextcaddy' ~ (competicion.permitirExtranjeros ? "-andEnglish" : ""))|trans({'%UrlPrivNxt%': UrlPrivNxt,'%UrlPrivCliente%': UrlPrivCliente,'%nameCliente%': nameCliente}, 'FrontendBundle')|raw }}
  693.                         </label>
  694.                     </div>
  695.                     {{ form_widget(form.save) }}
  696.                 </div>
  697.             </div>
  698.         </div>
  699.     </div>
  700.     <div class="ui bottom attached segment">
  701.         <div class="ui grid">
  702.             <div class="ten wide column">
  703.                 Pagos mediante tarjeta de crédito con
  704.                 <div class="ui mini horizontal list">
  705.                     <div class="item">
  706.                         <img class="ui avatar image" src="{{ asset("img/frontend/visa.svg") }}">
  707.                         <div class="content">
  708.                             <div class="header">Visa</div>
  709.                         </div>
  710.                     </div>
  711.                     <div class="item">
  712.                         <img class="ui avatar image" src="{{ asset("img/frontend/mastercard.svg") }}">
  713.                         <div class="content">
  714.                             <div class="header">Master Card</div>
  715.                         </div>
  716.                     </div>
  717.                 </div>
  718.             </div>
  719.             <div class="six wide right aligned column">
  720.                 <div class="ui small horizontal list">
  721.                     <div class="item">
  722.                         <a href="{{ path("cookies") }}">
  723.                             Politica de cookies
  724.                         </a>
  725.                     </div>
  726.                     <div class="item">
  727.                         <a href="{{ path("terminos_condiciones") }}#cancelacion">
  728.                             Politica de cancelacion
  729.                         </a>
  730.                     </div>
  731.                 </div>
  732.             </div>
  733.             <div class="sixteen wide column">
  734.                 <p>
  735.                     <span class="ui small disabled text">
  736.                         Pagos gestionados por GREEN SLOPE SL - B90160888 - TLF  +34 954 36 93 20 - Plaza Aviador Ruiz de Alda 11, 41004 Sevilla (España)
  737.                     </span>
  738.                     {% if competicion.organizador.cliente %}
  739.                         <br/>
  740.                         <span class="ui small disabled text">
  741.                             GREEN SLOPE SL actúa como medio intermediario técnico para&nbsp;{{ competicion.organizador.cliente.nombre }} en la competición. Los datos del titular de los derechos de inscripción son:&nbsp;{{ competicion.organizador.cliente.razonSocial }}&nbsp;{{ competicion.organizador.cliente.cif }}&nbsp;-&nbsp;{{ competicion.organizador.cliente.direccionFacturacion }}
  742.                         </span>
  743.                     {% endif %}
  744.                 </p>
  745.             </div>
  746.         </div>
  747.     </div>
  748.     <div class="ui inverted blue bottom attached segment transition hidden" id="incompleto">
  749.         {{ 'messages.inscripcion.incompleto'|trans({}, 'FrontendBundle') }}
  750.     </div>
  751.     {{ form_rest(form) }}
  752.     {{ form_end(form) }}
  753.     {% if ((competicion.popupInscripcion) or (competicion.listaEspera and ((num_inscritos - competicion.plazas) >= 0))) %}
  754.         <div class="ui page dimmer" id="popupInscripcionDimmer">
  755.             <div class="content">
  756.                 {% if competicion.popupInscripcion %}
  757.                     <h3 class="ui inverted icon header">
  758.                         <i class="user outline icon"></i>
  759.                         {{ 'messages.inscripcion.popupInscripcion'|trans({}, 'FrontendBundle') }}
  760.                     </h3>
  761.                     <div>
  762.                         {% if competicion.popupInscripcionTexto|trim is not empty %}
  763.                             {{ competicion.popupInscripcionTexto|raw }}
  764.                         {% else %}
  765.                             {{ 'messages.inscripcion.popupInscripcionSub'|trans({}, 'FrontendBundle') }}
  766.                         {% endif %}
  767.                     </div>
  768.                 {% endif %}
  769.                 {% if competicion.popupInscripcion and competicion.listaEspera %}
  770.                     <div class="ui inverted divider"></div>
  771.                 {% endif %}
  772.                 {% if competicion.listaEspera and ((num_inscritos - competicion.plazas) >= 0) %}
  773.                     <h3 class="ui inverted icon header">
  774.                         <i class="hourglass outline icon"></i>
  775.                         {{ 'messages.inscripcion.espera-title'|trans({}, 'FrontendBundle')|raw }}
  776.                         <div class="sub header">
  777.                             {{ 'messages.inscripcion.espera-subtitle'|trans({"%plazas%": competicion.plazas, "%espera%": (num_inscritos - competicion.plazas)}, 'FrontendBundle') }}
  778.                         </div>
  779.                     </h3>
  780.                     <div>
  781.                         {{ 'messages.inscripcion.espera'|trans({"%comp%": competicion.nombre}, 'FrontendBundle')|raw }}
  782.                     </div>
  783.                 {% endif %}
  784.                 {% if (competicion.restringirLicencia == 'preferencia') %}
  785.                     {{ 'messages.inscripcion.preferencia-not-individual'|trans({"%club%": placeholder}, 'FrontendBundle')|raw }}
  786.                 {% endif %}
  787.                 <div class="ui divider hidden"></div>
  788.                 <div class="ui inverted checkbox entendido">
  789.                     <input type="checkbox">
  790.                     <label>{{ 'buttons.entendido'|trans({}, 'FrontendBundle') }}</label>
  791.                 </div>
  792.                 <div class="ui clearing divider hidden"></div>
  793.                 <a class="ui inverted red button cancelar" href="{{ path("_tournament", {'id': competicion.id}) }}">
  794.                     {{ 'buttons.no-continue-inscription'|trans({}, 'FrontendBundle') }}
  795.                 </a>
  796.                 <div class="ui disabled green button entendido">
  797.                     {{ 'buttons.continue'|trans({}, 'FrontendBundle') }}
  798.                 </div>
  799.             </div>
  800.         </div>
  801.     {% endif %}
  802. {% endblock %}
  803. {% block javascripts %}
  804.     <script rel="preload" as="script" type="text/javascript"
  805.             src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment-with-locales.min.js"></script>
  806.     <script rel="preload" as="script" type="text/javascript"
  807.             src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/locale/es.js"></script>
  808.     <script type="text/javascript" src="{{ asset('js/gestion/calentim.min.js') }}"></script>
  809.     <script>
  810.         var competicionID = parseInt("{{ competicion.id }}");
  811.     </script>
  812.     <script>
  813.         $('.ui.accordion').accordion({
  814.             exclusive: true
  815.         });
  816.         var checkBoxPrivacidad = $('#privacidad');
  817.         $(".dropdown").dropdown();
  818.         checkBoxPrivacidad.checkbox();
  819.         {% if not (is_granted("ROLE_ADMIN")) %}
  820.         $('input.prompt').bind('paste', function (e) {
  821.             e.preventDefault();
  822.         }).on("contextmenu", function (e) {
  823.             return false;
  824.         });
  825.         {% endif %}
  826.         function comprobarContinuar() {
  827.             var botonGuardar = $('#inscripcion_pareja_save');
  828.             if ($(checkBoxPrivacidad).checkbox('is checked') && validateEmail($("#inscripcion_pareja_email")) && comprobarBarrasValidos() && comprobarDnisValidos() && comprobarTelefonoValidos() && comprobarTurnoValido() && comprobarTarifasValido()) {
  829.                 botonGuardar.removeClass('disabled');
  830.                 $("#incompleto").transition("hide");
  831.             } else {
  832.                 botonGuardar.addClass('disabled');
  833.                 $("#incompleto").transition("show");
  834.             }
  835.         }
  836.         $('#inscripcion_pareja_save').mousedown(function () {
  837.             $('.segmentExtranjeros.hidden').remove();
  838.         });
  839.         $("#insc" + competicionID).submit(function () {
  840.             var botonGuardar = $('#inscripcion_pareja_save');
  841.             botonGuardar.addClass('disabled');
  842.         });
  843.         $("#inscripcion_pareja_email").change(function () {
  844.             comprobarContinuar();
  845.         });
  846.         $("#inscripcion_pareja_turno").change(function () {
  847.             comprobarContinuar();
  848.         });
  849.         /* $('#inscripcion_pareja_save').click(function () {
  850.             var emailVal = $("#inscripcion_pareja_email").val();
  851.             if (emailVal != null && emailVal.trim() != "" && validateEmail($("#inscripcion_pareja_email")) && checkBoxPrivacidad.checkbox('is checked') && $('#inscripcion_pareja_nombre_jugador1').val().trim() != '' && $('#inscripcion_pareja_nombre_jugador2').val().trim() != '' && comprobarDnisValidos() && comprobarTelefonoValidos() && comprobarTurnoValido()) {
  852.                 $(this).addClass('disabled');   //evitamos el doble click en el submit
  853.             }
  854.         }); */
  855.         checkBoxPrivacidad.change(function () {
  856.             comprobarContinuar();
  857.             /* var emailVal = $("#inscripcion_pareja_email").val();
  858.                 if ($(this).checkbox('is checked') && $('#inscripcion_pareja_nombre_jugador1').val().trim() != '' && $('#inscripcion_pareja_nombre_jugador2').val().trim() != '' && emailVal != null && emailVal.trim() != "" && validateEmail($("#inscripcion_pareja_email")) && comprobarDnisValidos() && comprobarTelefonoValidos() && comprobarTurnoValido()) {
  859.                 $(".segmentExtranjeros").remove();
  860.                 $('#inscripcion_pareja_save').removeClass('disabled');
  861.                 $("#incompleto").transition("hide");
  862.                 } else {
  863.                 $('#inscripcion_pareja_save').addClass('disabled');
  864.                 $("#incompleto").transition("show");
  865.                 } */
  866.         });
  867.         $("#inscripcion_pareja_telefono_jugador1").change(function () {
  868.             comprobarContinuar();
  869.             /* if ($(this).checkbox('is checked') && $('#inscripcion_pareja_nombre_jugador1').val().trim() != '' && $('#inscripcion_pareja_nombre_jugador2').val().trim() != '' && $("#inscripcion_pareja_email").val() != null && $("#inscripcion_pareja_email").val().trim() != "" && validateEmail($("#inscripcion_pareja_email")) && comprobarDnisValidos() && comprobarTelefonoValidos() && comprobarTurnoValido()) {
  870.                 $('#inscripcion_jugador_save').removeClass('disabled');
  871.                 $("#incompleto").transition("hide");
  872.                 } else {
  873.                 $('#inscripcion_jugador_save').addClass('disabled');
  874.                 $("#incompleto").transition("show");
  875.                 } */
  876.         });
  877.         $("#inscripcion_pareja_telefono_jugador2").change(function () {
  878.             comprobarContinuar();
  879.             /* if ($(this).checkbox('is checked') && $('#inscripcion_pareja_nombre_jugador1').val().trim() != '' && $('#inscripcion_pareja_nombre_jugador2').val().trim() != '' && $("#inscripcion_pareja_email").val() != null && $("#inscripcion_pareja_email").val().trim() != "" && validateEmail($("#inscripcion_pareja_email")) && comprobarDnisValidos() && comprobarTelefonoValidos() && comprobarTurnoValido()) {
  880.                 $('#inscripcion_jugador_save').removeClass('disabled');
  881.                 $("#incompleto").transition("hide");
  882.                 } else {
  883.                 $('#inscripcion_jugador_save').addClass('disabled');
  884.                 $("#incompleto").transition("show");
  885.                 } */
  886.         });
  887.         $('#inscripcion_pareja_barra1').closest(".dropdown").dropdown({
  888.             onChange: function () {
  889.                 comprobarContinuar();
  890.             }
  891.         });
  892.         $('#inscripcion_pareja_barra2').closest(".dropdown").dropdown({
  893.             onChange: function () {
  894.                 comprobarContinuar();
  895.             }
  896.         });
  897.         $('#inscripcion_pareja_tarifa_select1').closest(".dropdown").dropdown({
  898.             onChange: function () {
  899.                 comprobarContinuar();
  900.             }
  901.         });
  902.         $('#inscripcion_pareja_tarifa_select2').closest(".dropdown").dropdown({
  903.             onChange: function () {
  904.                 comprobarContinuar();
  905.             }
  906.         });
  907.         //Mostrar/Ocultar mensaje de informacion
  908.         $(".contenedorInformacion .header").click(function () {
  909.             $(".contenedorInformacion").find(".textoInformacion").transition("fade");
  910.             $(".contenedorInformacion").find(".iconito").toggleClass("up down");
  911.         });
  912.         {# {% if competicion.organizador.id in ["AM00", "CM00"] %}
  913.             $(".popupCovidDimmer").dimmer({
  914.                 closable: false
  915.             }).dimmer('show');
  916.             $('input.documentoCovid').change(function (e) {
  917.                 var pasos = $(this).closest(".steps").find(".step");
  918.                 $(pasos[0]).addClass("completed").removeClass("active");
  919.                 $(pasos[1]).addClass("active");
  920.                 $(this).closest(".dimmer").find(".checkbox.formCompleto").removeClass('disabled');
  921.             });
  922.             $(".button.entendidoCovid").click(function (e) {
  923.                 e.preventDefault();
  924.                 $(this).closest(".segments").find(".popupCovidDimmer").dimmer('hide');
  925.             });
  926.             $(".checkbox.formCompleto").checkbox({
  927.                 onChecked: function () {
  928.                     $(this).closest(".dimmer").find(".button.entendidoCovid").removeClass("disabled");
  929.                 },
  930.                 onUnchecked: function () {
  931.                     $(this).closest(".dimmer").find(".button.entendidoCovid").addClass("disabled");
  932.                 }
  933.             });
  934.         {% endif %} #}
  935.         {% set informacionPopup = "" %}
  936.         {% if competicion.informacionPopup != null %}
  937.         {% set informacionPopup = competicion.informacionPopup %}
  938.         {% endif %}
  939.         if (('{{ informacionPopup|raw }}' !== null) && ('{{ informacionPopup|raw|trim }}' !== '')) {
  940.             $("#informacionPopup").dimmer('show');
  941.             $("#informacionPopup button").click(function () {
  942.                 $("#informacionPopup").dimmer('hide');
  943.             });
  944.         }
  945.         var jugadoresPedidos = 0;
  946.         var jugadoresRellenos = 0;
  947.         $(document).keydown(function (objEvent) {
  948.             if (objEvent.keyCode == 9) {  //tab pressed
  949.                 objEvent.preventDefault(); // stops its action
  950.             }
  951.         });
  952.         $('.buscaLicencia').each(function () {
  953.             $(this).search({
  954.                 apiSettings: {
  955.                     url: Routing.generate('ajax_inscripcion_autocompletar', {
  956.                         'idc': competicionID,
  957.                         'permitir': 0
  958.                     }) + '/{query}'
  959.                 },
  960.                 fields: {
  961.                     results: 'items',
  962.                     description: 'nombre',
  963.                     title: 'label'
  964.                 },
  965.                 cache: false,
  966.                 selectFirstResult: true,
  967.                 minCharacters: 10,
  968.                 searchOnFocus: true,
  969.                 onResultsOpen: function () {
  970.                     $(this).closest('.buscaLicencia').find('input').transition('remove looping');
  971.                 },
  972.                 onResults: function (response) {
  973.                     var nJug = 2;
  974.                     if ($(this).hasClass('jugador1')) {
  975.                         nJug = 1;
  976.                     }
  977.                     var errorSegm = $(this).closest('.buscaLicencia').closest('.segments').find('.inscribible');
  978.                     errorSegm.find(".errores").transition("hide");
  979.                     if (typeof (response.items[0]) != "undefined") {
  980.                         {% if not competicion.seleccionTarifas %}
  981.                         $('#inscripcion_pareja_tarifa' + nJug).val(response.items[0].tarifa);
  982.                         $('#inscripcion_pareja_tarifa_select' + nJug).dropdown('set selected', response.items[0].tarifa);
  983.                         {% endif %}
  984.                         $('#inscripcion_pareja_nombre_jugador' + nJug).val(response.items[0].nombre);
  985.                         $('#inscripcion_pareja_id' + nJug).val(response.items[0].id);
  986.                         $('#inscripcion_pareja_sgCliente' + nJug).val(response.items[0].sgCliente);
  987.                         if (response.items[0].categoria) {
  988.                             $('#inscripcion_pareja_categoria' + nJug).val(response.items[0].categoria);
  989.                             $('#inscripcion_pareja_categoria_select' + nJug).dropdown('set selected', response.items[0].categoria);
  990.                         }
  991.                         if (response.items[0].barras) {
  992.                             let barrasKeys = Object.keys(response.items[0].barras);
  993.                             var arr = [];
  994.                             barrasKeys.forEach(function (value) {
  995.                                 arr.push({value: response.items[0].barras[value], name: value});
  996.                             });
  997.                             $('#inscripcion_pareja_barra' + nJug).dropdown("change values", arr).dropdown("restore default value").dropdown("restore placeholder text").dropdown("restore default text");
  998.                         }
  999.                         if (response.items[0].inscribible) {
  1000.                             jugadoresRellenos++;
  1001.                             if (errorSegm.transition('is visible')) {
  1002.                                 errorSegm.transition('fade down out');
  1003.                             }
  1004.                             $(this).closest('.buscaLicencia').find('input').transition('remove looping');
  1005.                         } else {
  1006.                                 if (response.items[0].error == -7) {// para preferencia en inscripcion
  1007.                                     jugadoresRellenos++;
  1008.                                 }
  1009.                             errorSegm.transition('fade down in');
  1010.                             errorSegm.find(".error" + response.items[0].error).transition("show");
  1011.                             $(this).closest('.buscaLicencia').find('input').transition('set looping').transition('glow', '800ms');
  1012.                         }
  1013.                             if (jugadoresRellenos >= 2) {
  1014.                                 $('#inscripcion_pareja_email').removeAttr('disabled');
  1015.                             }
  1016.                         if (!response.items[0].telefono) {
  1017.                             $('.telefonoJugador' + nJug).transition('show').transition("shake");
  1018.                             $('.telefonoJugador' + nJug).find("input").attr("required", "required").transition("glow").transition("glow").transition("glow");
  1019.                             $('.telefonoJugador' + nJug).find("input").prop("disabled", false);
  1020.                             $('.telefonoJugador' + nJug).addClass("required");
  1021.                         } else {
  1022.                             if ($('.telefonoJugador' + nJug).transition("is visible")) {
  1023.                                 $('.telefonoJugador' + nJug).transition("hide");
  1024.                             }
  1025.                             $('.telefonoJugador' + nJug).find("input").prop("disabled", true);
  1026.                         }
  1027.                     } else {
  1028.                         if (response.offline === 1)
  1029.                             lanzarToast('error', 'No hemos podido contactar con la rfga para validar su licencia', 7500, "exclamation triangle");
  1030.                         errorSegm.transition('fade down in');
  1031.                         errorSegm.find(".error-1").transition("show");
  1032.                         $(this).closest('.buscaLicencia').find('input').transition('set looping').transition('glow', '800ms');
  1033.                     }
  1034.                 },
  1035.                 error: {
  1036.                     noResultsHeader: 'No se ha encontrado esta licencia en la Federación Española de Golf.',
  1037.                     noResults: '',
  1038.                     serverError: 'El servidor de la Federación Española de Golf no está disponible en este momento. Inténtelo de nuevo más tarde.'
  1039.                 }
  1040.             });
  1041.         });
  1042.         function comprobarTurnoValido() {
  1043.             var ok = true;
  1044.             var turnoField = $(".turnoJugador");
  1045.             if (turnoField.length > 0) {
  1046.                 ok = "" != $("#inscripcion_pareja_turno").val();
  1047.             }
  1048.             return ok;
  1049.         }
  1050.         function comprobarTelefonoValidos() {
  1051.             var ok = true;
  1052.             for (var nj = 1; nj <= 2; nj++) {
  1053.                 var tlfField = $(".telefonoJugador" + nj);
  1054.                 var tlfVal = $(".telefonoJugador" + nj).find("input").val();
  1055.                 if (tlfField.hasClass("visible")) {
  1056.                     ok = ((tlfVal != "") && (tlfVal.length >= 9)) && ok;
  1057.                 }
  1058.             }
  1059.             return ok;
  1060.         }
  1061.         function comprobarTarifasValido() {
  1062.             var ok = true;
  1063.             for (var nj = 1; nj <= 2; nj++) {
  1064.                 var tarifaField = $('#inscripcion_pareja_tarifa_select' + nj).closest(".dropdown");
  1065.                 if (tarifaField.length > 0) {
  1066.                     let v = tarifaField.dropdown('get value');
  1067.                     ok = (("" != v) && (null != v)) && ok;
  1068.                 }
  1069.             }
  1070.             return ok;
  1071.         }
  1072.         function comprobarBarrasValidos() {
  1073.             var ok = true;
  1074.             for (var nj = 1; nj <= 2; nj++) {
  1075.                 var barraField = $('#inscripcion_pareja_barra' + nj).closest(".dropdown");
  1076.                 if (barraField.length > 0) {
  1077.                     let v = barraField.dropdown('get value');
  1078.                     ok = (("" != v) && (null != v)) && ok;
  1079.                 }
  1080.             }
  1081.             return ok;
  1082.         }
  1083.         function validateEmail(inputEmail) {
  1084.             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])+)\])/;
  1085.             if (inputEmail.val().trim().match(mailformat)) {
  1086.                 inputEmail.closest(".field").removeClass("error");
  1087.                 return true;
  1088.             } else {
  1089.                 inputEmail.closest(".field").addClass("error").transition("shake");
  1090.                 return false;
  1091.             }
  1092.         }
  1093.         function comprobarDnisValidos() {
  1094.             var dnis = $(".field.dni");
  1095.             var todosOk = true, valor, error;
  1096.             dnis.each(function (index, element) {
  1097.                 valor = $(element).find("input").val();
  1098.                 error = $(element).hasClass("error");
  1099.                 todosOk = ((valor != "") && (!error)) && todosOk;
  1100.             });
  1101.             return todosOk;
  1102.         }
  1103.         function letraDni(dni) {
  1104.             var letras = "TRWAGMYFPDXBNJZSQVHLCKE";
  1105.             var resto = (dni % 23);
  1106.             return letras.charAt(resto);
  1107.         }
  1108.         $("body").on('focusout', 'input.dni', function () {
  1109.             var valorInput = $(this).val().toUpperCase();
  1110.             var valorDNI = valorInput;
  1111.             var primerChar = valorInput.charAt(0);
  1112.             if (primerChar == "X") {
  1113.                 valorDNI = replaceStr(valorDNI, 0, '0');
  1114.             } else if (primerChar == "Y") {
  1115.                 valorDNI = replaceStr(valorDNI, 0, '1');
  1116.             } else if (primerChar == "Z") {
  1117.                 valorDNI = replaceStr(valorDNI, 0, '2');
  1118.             }
  1119.             if (valorDNI.length < 8 || valorDNI.length > 9) {
  1120.                 //mostrarToast('error', 'Longitud DNI incorrecta');
  1121.                 $(this).transition("shake");
  1122.             } else if (valorDNI.length == 9) {
  1123.                 var letraInput = valorDNI.charAt(8);  //empieza el indice en 0
  1124.                 var letra = letraDni(valorDNI.substring(0, 8));
  1125.                 if (letraInput != letra) {
  1126.                     //mostrarToast('error', 'DNI incorrecto');
  1127.                     $(this).transition("shake").parent().addClass("error");
  1128.                 } else {
  1129.                     $(this).parent().removeClass("error");
  1130.                     var emailVal = $("#inscripcion_pareja_email").val();
  1131.                     if (emailVal != null && emailVal.trim() != "" && validateEmail($("#inscripcion_pareja_email")) && checkBoxPrivacidad.checkbox('is checked') && $('#inscripcion_pareja_nombre_jugador1').val().trim() != '' && $('#inscripcion_pareja_nombre_jugador2').val().trim() != '' && comprobarDnisValidos()) {
  1132.                         $('#inscripcion_pareja_save').removeClass('disabled');
  1133.                     }
  1134.                 }
  1135.             }
  1136.         });
  1137.         $(".addExtranjero").click(function (e) {
  1138.             e.preventDefault();
  1139.             var segmentos = $(this).closest(".segments");
  1140.             segmentos.find(".segmentExtranjeros").transition("toggle");
  1141.             segmentos.find(".inscripcionSegment").transition("toggle");
  1142.         });
  1143.         $(".formularioExtranjeros .guardar").click(function (e) {
  1144.             var $this = $(this).closest(".formularioExtranjeros");
  1145.             e.preventDefault();
  1146.             var datos = {
  1147.                 nombre: $this.find(".inputNombreEx").val(),
  1148.                 apellidos: $this.find(".inputApellidosEx").val(),
  1149.                 fecha: $this.find(".inputFechaNacEx").val(),
  1150.                 hcp: $this.find(".handicapJugadorEx").val(),
  1151.                 telefono: $this.find(".inputTelefonoEx").val(),
  1152.                 email: $this.find(".inputEmailEx").val(),
  1153.                 nivel: $this.find(".nivelJugadorEx").dropdown("get value"),
  1154.                 sexo: $this.find(".sexoJugadorEx").dropdown("get value"),
  1155.                 country: $this.find(".nacionalidadEx").dropdown("get value")
  1156.                 //documento: $this.find(".inputDocumentoEx").val();
  1157.             };
  1158.             if ("" != datos["sexo"]) {
  1159.                 $.ajax({
  1160.                     type: 'POST',
  1161.                     data: datos,
  1162.                     url: Routing.generate("ajax_guardar_extranjero"),
  1163.                     success: function (data) {
  1164.                         if (data.codigo) {
  1165.                             //escribimos la licencia en el campo licencia de la inscripcion
  1166.                             var segmentos = $this.closest(".segments.jugador");
  1167.                             segmentos.find("input.licencia").val(data.licencia);
  1168.                             segmentos.find(".segmentExtranjeros").transition("toggle");
  1169.                             segmentos.find(".inscripcionSegment").transition("toggle");
  1170.                             //llamamos al metodo del seach para que haga la busqueda  los datos
  1171.                             $.ajax({
  1172.                                 type: 'GET',
  1173.                                 url: Routing.generate('ajax_inscripcion_autocompletar', {
  1174.                                     'idc': competicionID,
  1175.                                     'permitir': 1
  1176.                                 }) + '/' + data.licencia,
  1177.                                 success: function (response) {
  1178.                                     tratamientoResponseSearch(segmentos, response, false);
  1179.                                 }
  1180.                             });
  1181.                             //email relleno con el que ha metido en la ficha de jugador
  1182.                             //segmento.find("input.email").val(data.email);
  1183.                             //habilitar archivo
  1184.                             segmentos.find(".documentoHcp.field").addClass("required").transition("slide down");
  1185.                             segmentos.find(".documentoHcp.field input").removeAttr("disabled").attr("required", true);
  1186.                             //borramos el formulario de extranjero
  1187.                             $this.closest(".formularioExtranjeros").remove();
  1188.                             segmentos.find(".botonExtranjeros").remove();
  1189.                         }
  1190.                     },
  1191.                     error: function (e) {
  1192.                         $('#cargando').dimmer('hide');
  1193.                     }
  1194.                 });
  1195.             } else {
  1196.             }
  1197.         });
  1198.         function tratamientoResponseSearch(segmentos, response, shake) {
  1199.             var errorSegm = segmentos.find('.inscribible');
  1200.             if (typeof (response.items[0]) != "undefined") {
  1201.                 errorSegm.find(".error" + response.items[0].error).transition("hide");
  1202.                 var nJug = segmentos.data("jugador");
  1203.                 $('#inscripcion_pareja_nombre_jugador' + nJug).val(response.items[0].nombre);
  1204.                 $('#inscripcion_pareja_id' + nJug).val(response.items[0].id);
  1205.                 let condicionTarifa = true;
  1206.                 {% if not competicion.seleccionTarifas %}
  1207.                 $('#inscripcion_pareja_tarifa' + nJug).val(response.items[0].tarifa);
  1208.                 $('#inscripcion_pareja_tarifa_select' + nJug).dropdown('set selected', response.items[0].tarifa);
  1209.                 condicionTarifa = response.items[0].tarifa != 0;
  1210.                 {% endif %}
  1211.                 if (response.items[0].categoria) {
  1212.                     $('#inscripcion_pareja_categoria' + nJug).val(response.items[0].categoria);
  1213.                     $('#inscripcion_pareja_categoria_select' + nJug).dropdown('set selected', response.items[0].categoria);
  1214.                 }
  1215.                 if (response.items[0].barras) {
  1216.                     let barrasKeys = Object.keys(response.items[0].barras);
  1217.                     var arr = [];
  1218.                     barrasKeys.forEach(function (value) {
  1219.                         arr.push({value: response.items[0].barras[value], name: value});
  1220.                     });
  1221.                     $('#inscripcion_pareja_barra' + nJug).dropdown("change values", arr).dropdown("restore default value").dropdown("restore placeholder text").dropdown("restore default text");
  1222.                 }
  1223.                 if (response.items[0].inscribible) {
  1224.                     segmentos.find(".buscaLicencia").find('input').transition('remove looping');
  1225.                     errorSegm.transition('fade down out');
  1226.                     $('#inscripcion_jugador_email').removeAttr('disabled');
  1227.                 } else {
  1228.                     $('#inscripcion_jugador_email').attr('disabled', 'disabled');
  1229.                     errorSegm.transition('fade down in');
  1230.                     errorSegm.find(".error" + response.items[0].error).transition("show");
  1231.                     segmentos.find(".buscaLicencia").find('input').transition('set looping').transition('glow', '800ms');
  1232.                 }
  1233.                 if (condicionTarifa && response.items[0].categoria != 0 && response.items[0].id != 0) {
  1234.                     jugadoresRellenos++;
  1235.                 } else {
  1236.                     $('#fieldPrivacidad').addClass('disabled');
  1237.                 }
  1238.                 if (jugadoresRellenos >= 2) {
  1239.                     $('#fieldPrivacidad').removeClass('disabled');
  1240.                     $('#inscripcion_pareja_email').removeAttr('disabled').transition('shake').transition('shake');
  1241.                 }
  1242.             } else {
  1243.                 errorSegm.transition('fade down in');
  1244.                 errorSegm.find(".error-1").transition("show");
  1245.                 segmentos.find(".buscaLicencia").find('input').transition('set looping').transition('glow', '800ms');
  1246.                 $('#fieldPrivacidad').addClass('disabled');
  1247.                 if (response.offline === 1)
  1248.                     lanzarToast('error', 'No hemos podido contactar con la rfga para validar su licencia', 7500, "exclamation triangle");
  1249.             }
  1250.         }
  1251.         $(".datepic").calentim({
  1252.             autoCloseOnSelect: true,
  1253.             format: 'DD-MM-YYYY',
  1254.             startEmpty: true,
  1255.             showTimePickers: false,
  1256.             showFooter: false,
  1257.             singleDate: true,
  1258.             calendarCount: 1,
  1259.             startOnMonday: true
  1260.         });
  1261.         {% if ((competicion.popupInscripcion) or (competicion.listaEspera and ((num_inscritos - competicion.plazas) >= 0))) %}
  1262.         $(document).ready(function () {
  1263.             setTimeout(function () {
  1264.                 $("#popupInscripcionDimmer").dimmer({
  1265.                     closable: false
  1266.                 }).dimmer("show");
  1267.             }, 2000);
  1268.         });
  1269.         $(".checkbox.entendido").checkbox({
  1270.             onChecked: function () {
  1271.                 $(".button.entendido").removeClass("disabled");
  1272.             },
  1273.             onUnchecked: function () {
  1274.                 $(".button.entendido").addClass("disabled");
  1275.             }
  1276.         });
  1277.         $(".button.entendido").click(function (e) {
  1278.             e.preventDefault();
  1279.             $("#popupInscripcionDimmer").dimmer("hide");
  1280.         });
  1281.         {% endif %}
  1282.         {% if competicion.seleccionTarifas %}
  1283.         $('#inscripcion_pareja_tarifa_select1').prop("disabled", false);
  1284.         $('#inscripcion_pareja_tarifa_select1').parent().removeClass('disabled');
  1285.         $('#inscripcion_pareja_tarifa_select1').change(function () {
  1286.             $('#inscripcion_pareja_tarifa1').val($(this).val());
  1287.         });
  1288.         $('#inscripcion_pareja_tarifa_select2').prop("disabled", false);
  1289.         $('#inscripcion_pareja_tarifa_select2').parent().removeClass('disabled');
  1290.         $('#inscripcion_pareja_tarifa_select2').change(function () {
  1291.             $('#inscripcion_pareja_tarifa2').val($(this).val());
  1292.         });
  1293.         {% endif %}
  1294.         $('.no-procede').change(function () {
  1295.             var $this = $(this);
  1296.             if ($this.prop('checked')) {
  1297.                 $this.closest('label').next().val('Sin ' + $this.data('label'));
  1298.             }
  1299.         });
  1300.         $.fn.search.settings.templates.message = function (message, type) {
  1301.             var html = '';
  1302.             if (message !== undefined && type !== undefined) {
  1303.                 html += '' + '<div class="message ' + type + '">';
  1304.                 // message type
  1305.                 if (type == 'empty') {
  1306.                     html += ''
  1307.                         + '<div class="header">'
  1308.                         + "{{ 'messages.no_results_title'|trans({}, 'GestionBundle') }}"
  1309.                         + '</div class="header">'
  1310.                         + '<div class="description">'
  1311.                         + "{{ 'messages.no_results_msg'|trans({}, 'GestionBundle') }}"
  1312.                         + '</div class="description">';
  1313.                 } else {
  1314.                     html += ' <div class="description">' + message + '</div>';
  1315.                 }
  1316.                 html += '</div>';
  1317.             }
  1318.             return html;
  1319.         };
  1320.     </script>
  1321.     <script src="https://cdn.jsdelivr.net/npm/linkifyjs@4.1.0/dist/linkify.min.js"></script>
  1322.     <script src="https://cdn.jsdelivr.net/npm/linkify-html@4.1.0/dist/linkify-html.min.js"></script>
  1323.     <script src="https://cdn.jsdelivr.net/npm/linkify-jquery@4.1.0/dist/linkify-jquery.min.js"></script>
  1324.     <script>
  1325.         $(document).ready(function () {
  1326.             let optlnk = {defaultProtocol: "https", rel: "noopener noreferrer"};
  1327.             $(".container").linkify(optlnk);
  1328.             $("#inscripcion_pareja_licencia1").focus();
  1329.             // 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);
  1330.         });
  1331.     </script>
  1332. {% endblock %}