// JavaScript Document
var opciones = [];
opciones.push([115,'Adultos','1925-09-22','2012-09-21',1,'https://www.clickreserva.com/panel/upload/archivos/cicloturista-menores-corto.pdf']);
opciones.push([114,'Infantil','1900-01-01','2020-09-21',1,'https://www.clickreserva.com/panel/upload/archivos/cicloturista-menores-infantil.pdf']);
function cr_agregarCorredor() {
    $.ajax( "/ajax/motor.php", 
        { type: 'POST', cache:false, data : $("form").serialize(), dataType: "json"} )
    .done(function(salida) {
		if (salida.error) {
			Swal.fire({icon: 'error', title: 'ERROR', text: salida.error, confirmButtonText: 'Aceptar'});
			if (salida.focus) $("#"+salida.focus).addClass("is-invalid");
		}
		else window.location.href="inscripcion.html?resumen";
        
    })
    .fail(function() {
		Swal.fire({icon: 'error', title: 'Error de comunicación', text: 'No hubo respuesta del servidor, inténtalo de nuevo dentro de unos minutos.', confirmButtonText: 'Aceptar'});
 
    })
}
function cr_comprobarForm() {
	var soymenor = false;
    var prueba = $("#cr_prueba").val();
	$("#btnenviar").attr("disabled", "disabled");
	if ($("input[name=u_sexo]:checked").val()!="M" && $("input[name=u_sexo]:checked").val()!="F") {cr_KO("sexoF");cr_KO("sexoM");} else {cr_OK("sexoF");cr_OK("sexoM");}
	if ($("#u_nombre").val().length <3) cr_KO("u_nombre"); else cr_OK("u_nombre");
	if ($("#u_apellidos").val().length <=3) cr_KO("u_apellidos"); else cr_OK("u_apellidos");
	if ($("#u_poblacion").val().length <=3) cr_KO("u_poblacion"); else cr_OK("u_poblacion");
	if ($("#u_telefono").val().length <9 || !$("#u_telefono").val().match('^(0|[1-9][0-9]*)$')) cr_KO("u_telefono"); else cr_OK("u_telefono");
    if ($("#u_correo").val().length>6) { var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/; if(emailReg.test( $("#u_correo").val() )) cr_OK("u_correo"); else cr_KO("u_correo"); } else cr_KO("u_correo");
	
	if ($("#u_nacimiento").val()) {
		var nacimiento = $("#u_nacimiento").val();
        var autorizacion = ""; var puedecorrer = false; 
        soymenor = nacimiento > "2007-09-21";
        $.each (opciones, function (clave, valor) {
			//console.log(valor[0]+" "+prueba);
        	if (valor[0] == prueba) {
                if (nacimiento >= valor[2] && nacimiento <= valor[3]) {
                    puedecorrer = true; autorizacion = valor[5];
                }
				//console.log(nacimiento+" "+valor[2]+" "+valor[3]+" ("+puedecorrer+") ("+autorizacion+")");
            }
        });
        if (!puedecorrer) {	
	        $("#u_nacimiento").next().html("Lo sentimos, no se permite la participación en la carrera seleccionada a participantes con la edad que has introducido.");
			cr_KO("u_nacimiento");
        } else if (autorizacion && soymenor) {
        	$("#cr_aviso_edad").html("Los menores de 18 años deben presentar una autorización firmada por el padre, madre o tutor que puedes DESCARGAR AQUÍ y entregarla antes de la salida.");
			$("#cr_aviso_edad").show(); cr_OK("u_nacimiento");
        } else { 
			$("#cr_aviso_edad").hide(); cr_OK("u_nacimiento");
        }
        
    } else cr_KO("u_nacimiento");
   	if (!soymenor && !cr_nifvalido($("#u_dni").val())) cr_KO("u_dni"); else cr_OK("u_dni");
    if (soymenor) { $("#u_dni").attr("placeholder", "Opcional"); } 
    else { $("#u_dni").removeAttr("placeholder"); }
    
	if ($("#u_reservas").val()) cr_OK("u_reservas"); else cr_KO("u_reservas");
	
    if ($("#u_talla").val()) cr_OK("u_talla"); else cr_KO("u_talla");
	if ($("#aceptacion").is(":checked")) cr_OK("aceptacion"); else cr_KO("aceptacion");
	
	if (!$("form :input").hasClass("is-invalid")) $("#btnenviar").removeAttr("disabled").removeClass("btn-outline-secondary").addClass("btn-success");
	else $("#btnenviar").attr("disabled", "disabled").removeClass("btn-success").addClass("btn-outline-secondary");
}
function cr_comprobarCodigo() {
	$.ajax( "/ajax/checkCodigo.php?dni="+$("#u_dni").val()+"&correo="+$("#u_correo").val()+"&codigo="+$("#codigo").val(), 
		{ dataType: "json", cache: false } )
	.done (
		function (salida) {
			if (!salida.error) { cr_OK("codigo"); $("form").submit(); return true; }
			else { cr_KO("codigo"); }
		});
	
}
						
function cr_comprobarMenor() {
	if ($("#menor").prop("checked"))  { $("#u_dni").attr("placeholder", "Opcional"); } 
    else { $("#u_dni").removeAttr("placeholder"); }
    $("#u_dni").keyup();
}
function cr_comprobarUsuario() {
	var dni = $("#u_dni").val();
	var correo = $("#u_correo").val();
	$("#btnenviar").html(' Procesando...');
	$.ajax( "/ajax/checkDNI.php?dni="+dni+"&correo="+correo, 
		{ dataType: "html", cache: false } )
	.done (function (html) {
		if (html != "") {
			//$("#dni").prop("readonly", true);
			//$("#correo").prop("readonly", true);
			$("#clickreserva_comprobarExiste").html(html);
			$("#codigo").keyup(function(e) {
				if ($("#codigo").val().length == 4) { $("#btnenviar").html('Continuar '); cr_OK("codigo"); $("#btnenviar").removeAttr("disabled"); }
				else { 
					cr_KO("codigo");
					$("#btnenviar").attr("disabled", "disabled");
				}
			});
		} 
	});
}
function cr_eliminar(corredor, seg,c) {
	if (confirm("¿Seguro que quieres eliminar este participante de la inscripción?")) {
		$.ajax( "/ajax/eliminar.php?corredor="+corredor+"&seg="+seg, 
			{ dataType: "json", cache: false } )
		.done(function(salida) {
			if (salida.ok) {
				window.location.href = "inscripcion.html?resumen";
			} else {
				alert("ERROR INESPERADO - No se pudo eliminar el corredor");			
			}
		})
		.fail(function() {
			alert( "error 23423 enviando datos" );
		})
	}
}
					
function cr_nifvalido(value){
  var validChars = 'TRWAGMYFPDXBNJZSQVHLCKET';
  var nifRexp = /^[0-9]{8}[TRWAGMYFPDXBNJZSQVHLCKET]{1}$/i;
  var nieRexp = /^[XYZ]{1}[0-9]{7}[TRWAGMYFPDXBNJZSQVHLCKET]{1}$/i;
  var str = value.toString().toUpperCase();
  if (!nifRexp.test(str) && !nieRexp.test(str)) return false;
  var nie = str
      .replace(/^[X]/, '0')
      .replace(/^[Y]/, '1')
      .replace(/^[Z]/, '2');
  var letter = str.substr(-1);
  var charIndex = parseInt(nie.substr(0, 8)) % 23;
  if (validChars.charAt(charIndex) === letter) return true;
  return false;
}
                        
function cr_KO(id){
	$("#"+id).addClass("is-invalid").removeClass("is-valid"); 
}
function cr_OK (id) {
	$("#"+id).addClass("is-valid").removeClass("is-invalid"); 
}
// Numeric only control handler
    jQuery.fn.cr_solodni =
    function()
    {
        return this.each(function()
        {
            $(this).keydown(function(e)
            { 
                var key = e.charCode || e.keyCode || 0;
                return (
                    key == 8 ||  //BORRAR
                    key == 9 ||  //TABULADOR
                    key == 17 || //CONTROL
                    key == 67 || //c  CTRL+C
                    key == 86 || //v  CTRL+V
                    key == 88 || //x  CTRL+X
                    key == 110 || 
                    (key >= 36 && key <= 40) || // CURSORES
                    (key >= 48 && key <= 57) ||
                    (key >= 65 && key <= 90) ||
                    (key >= 96 && key <= 105)				
                );
            });
        });
    };