function carrerasLoad(ciudad) {
	document.form_inscripcion.carrera.options.length = 0;
	if (ciudad == "") {
		document.form_inscripcion.carrera.options[0] = new Option("Primero elige ciudad...", "", true, false);
	} else {
		document.form_inscripcion.carrera.options[0] = new Option("Elige carrera...", "", true, false);
		var t = carreras[ciudad];
		for (var i=0; i<t.length; i++) {
			var ind = i+1;
			var c = t[i];
			document.form_inscripcion.carrera.options[ind] = new Option(c[1], c[0], false, false);
		}
	}
}

function edadComprobar(anyo) {
	if (anyo >= 1991) {
		alert("Recuerda que es obligatorio presentar un Consentimiento Paterno el día del evento.");
	}
}

function tallaCambiar(s) {
	$("#tallas_txt").css("display", "none");
	var html = "<table border='0' cellspacing='0' cellpadding='0'><tr>";
	tallas = tallas_def[s];
	for (var a in tallas) {
		var i = tallas[a];
		html += "<td width='63'><input type='radio' name='camiseta' id='camiseta" + i.talla + "' value='" + i.talla + "' ";
		if (i.selected) { html += " checked='true' "; }
		html += "/><label for='camiseta" + i.talla + "'>" + i.talla;
		if (s == "Mujer") {
			html += " <span style='color:#777777;'>(" + i.num + ")</span></label></td>";
		} else {
			html += "</label></td>";
		}
	}
	html += "</tr></table>";
	$("#tallas_combo").html(html);
}

function validar() {
	var f = document.form_inscripcion;
	var salida = "";
	if (f.nombre.value == "") { salida += "- Indica 'Nombre'.\n"; }
	if (f.apellido1.value == "") { salida += "- Indica 'Apellido 1'.\n"; }
	if (f.apellido2.value == "") { salida += "- Indica 'Apellido 2'.\n"; }
	if (f.dni.value == "") { salida += "- Indica 'DNI/NIE'.\n"; } else { salida += validaDNI(f.dni.value); }
	if (f.nacimiento_dia.value == "" || f.nacimiento_mes.value == "" || f.nacimiento_anyo.value == "") {
		salida += "- Indica 'Fecha de Nacimiento'.\n";
	} else {
		if (!validaDia(f.nacimiento_dia.value, f.nacimiento_mes.value)) {
			salida += "- 'Fecha de Nacimiento' incorrecta.\n";
		}
	}
	if (!f.sexoh.checked && !f.sexom.checked) { salida += "- Indica 'Sexo'.\n"; }	
	if (f.dir_tipo.value == "") { salida += "- Indica 'Tipo de Vía'.\n"; }
	if (f.dir_via.value == "") { salida += "- Indica 'Nombre de Vía'.\n"; } else if (f.dir_via.value.length < 3) { salida += "- 'Nombre de Vía' incorrecto.\n"; }
	if (f.dir_numero.value == "") { salida += "- Indica 'Número de Vía'.\n"; }
	if (f.dir_cp.value == "") { salida += "- Indica 'Código Postal'.\n"; } else if (!validaCP(f.dir_provincia.value, f.dir_cp.value)) { salida += "- Indica un 'Código Postal' válido.\n"; }
	if (f.dir_poblacion.value == "") { salida += "- Indica 'Población'.\n"; }
	if (f.dir_provincia.value == "") { salida += "- Indica 'Provincia'.\n"; }
	if (f.telefono.value == "" && f.movil.value == "") {
		salida += "- Indica algún número de teléfono.\n";
	} else {
		if (f.telefono.value != "" && !validaTelefono(f.telefono.value)) {
			salida += "- 'Teléfono' incorrecto.\n";
		}
		if (f.movil.value != "" && !validaTelefono(f.movil.value)) {
			salida += "- 'Móvil' incorrecto.\n";
		}
	}
	if (f.email.value == "") { salida += "- Indica 'E-Mail'.\n"; } else { salida += validaEmail(f.email.value); }
	var continuar = false;
	for (var i in tallas) {
		var t = tallas[i];
		var c = eval("f.camiseta"+t.talla);
		if (c.checked) {
			continuar = true;
		}
	}
	if (!continuar) {
		salida += "- Indica tu 'Talla de camiseta'.\n";
	}
	if (require_codigo && f.vip_codigo.value == "") {
		salida += "- Indica tu 'Código Promocional'.\n";
	}
	if (f.contribucion.value != "") {
		if (!validaCadena(f.contribucion.value, "0123456789.,")) {
			salida += "- Indica una cantidad válida de tu contribución.\n";
		}
	}
	if (!f.acepto.checked) { salida += "- Debes marcar la casilla en la que indicas que estás de acuerdo con las Condiciones Generales.\n"; }
	
	if (salida != "") {
		alert("Por favor, corrije los siguientes datos antes de continuar:\n\n" + salida);
	} else {
		f.submit();
	}
}

function comprar() {
	document.compra.submit();
}

function comprobante() {
	var dni = document.form_inscripcion.dni2.value;
	if (dni == "") {
		alert("Indique un DNI/NIE");
	} else {
		document.location = "enviar-comprobante.php?dni=" + dni;
	}
}

function faqCambiar(obj) {
	var i = obj.selectedIndex;
	var val = obj[i].value;
	document.location.href = "faq.php?cat=" + val;
}

function faqValidar() {
	var f = document.form_faq;
	var salida = "";
	if (f.nombre.value == "") { salida += "- Indica 'Nombre'.\n"; }
	if (f.apellidos.value == "") { salida += "- Indica 'Apellidos'.\n"; }
	if (f.email.value == "") { salida += "- Indica 'E-Mail'.\n"; } else { salida += validaEmail(f.email.value); }
	if (f.pregunta.value == "") { salida += "- Indica 'Pregunta'.\n"; }
	
	if (salida != "") {
		alert("Por favor, corrije los siguientes datos antes de continuar:\n\n" + salida);
	} else {
		f.submit();
	}
}

function faqAltimetria() {
	window.open("faq-circuito.php", "circuito", "width=667,height=500,scrollbars=no");
}

function validaCadena(cadena, validos) {
	for (var i=0; i<cadena.length; i++) {
		x = cadena.charAt(i);
		if (validos.indexOf(x,0) == -1) {
			return false;
		}
	}
	return true;
}

function validaDNI(cadena) {
	salida = "";
	cadena = cadena.toUpperCase();
	var longitud = cadena.length;
	var primero = cadena.charAt(0);
	if (longitud < 5) {
		salida += "- El 'DNI/NIE' debe tener al menos 5 caracteres.\n";
	} else if (primero != "X" && primero != "T") {
		letra = cadena.charAt(longitud-1);
		numeros = cadena.substring(0,longitud-1);
		var secuencia = "TRWAGMYFPDXBNJZSQVHLCKE";
		resultado = secuencia.substring(numeros %  23, numeros % 23+1);
		if (resultado != letra) {
			salida += "- EL 'DNI/NIE' introducido es incorrecto (Sólo se admiten números y letra, sin guiones).\n";
		}
	}
	return salida;
}

function validaEmail(cadena) {
	salida = "";
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(cadena)) {
		salida = "";
	} else {
		salida += "- Dirección 'E-Mail' incorrecta.\n";
	}
	return salida;
}

function validaDia(dia, mes) {
	var meses = new Array();
	meses[1] = 31;
	meses[2] = 29;
	meses[3] = 31;
	meses[4] = 30;
	meses[5] = 31;
	meses[6] = 30;
	meses[7] = 31;
	meses[8] = 31;
	meses[9] = 30;
	meses[10] = 31;
	meses[11] = 30;
	meses[12] = 31;
	dia = parseInt(dia);
	mes = parseInt(mes);
	if (dia > meses[mes]) {
		return false;
	} else {
		return true;
	}
}

function validaTelefono(numero) {
	numero = String(numero);
	if (numero.length != 9) {
		return false;
	} else if (!validaCadena(numero, "0123456789")) {
		return false;
	}
	return true;
}

function validaCP(provincia, cp) {
	var provincias = new Array();
	provincias["A Coruña"] = "15";
  provincias["Álava"] = "01";
  provincias["Albacete"] = "02";
  provincias["Alicante"] = "03";
  provincias["Almería"] = "04";
  provincias["Asturias"] = "33";
  provincias["Ávila"] = "05";
  provincias["Badajoz"] = "06";
  provincias["Barcelona"] = "08";
  provincias["Burgos"] = "09";
  provincias["Cáceres"] = "10";
  provincias["Cádiz"] = "11";
  provincias["Cantabria"] = "39";
  provincias["Castellón De La Plana"] = "12";
  provincias["Ceuta"] = "51";
  provincias["Ciudad Real"] = "13";
  provincias["Córdoba"] = "14";
  provincias["Cuenca"] = "16";
  provincias["Girona"] = "17";
  provincias["Granada"] = "18";
  provincias["Guadalajara"] = "19";
  provincias["Guipúzcoa"] = "20";
  provincias["Huelva"] = "21";
  provincias["Huesca"] = "22";
  provincias["Illes Balears"] = "07";
  provincias["Jaén"] = "23";
  provincias["La Rioja"] = "26";
  provincias["Las Palmas"] = "35";
  provincias["León"] = "24";
  provincias["Lleida"] = "25";
  provincias["Lugo"] = "27";
  provincias["Madrid"] = "28";
  provincias["Málaga"] = "29";
  provincias["Melilla"] = "52";
  provincias["Murcia"] = "30";
  provincias["Navarra"] = "31";
  provincias["Ourense"] = "32";
  provincias["Palencia"] = "34";
  provincias["Pontevedra"] = "36";
  provincias["Salamanca"] = "37";
  provincias["Santa Cruz De Tenerife"] = "38";
  provincias["Segovia"] = "40";
  provincias["Sevilla"] = "41";
  provincias["Soria"] = "42";
  provincias["Tarragona"] = "43";
  provincias["Teruel"] = "44";
  provincias["Toledo"] = "45";
  provincias["Valencia"] = "46";
  provincias["Valladolid"] = "47";
  provincias["Vizcaya"] = "48";
  provincias["Zamora"] = "49";
  provincias["Zaragoza"] = "50";
  if (String(cp).length < 5) {
		return false;
	} else if (!validaCadena(String(cp), "0123456789")) {
		return false;
	} else {
		var prov = String(provincia);
		if (String(cp).substr(0, 2) != provincias[prov]) {
			return false;
		}
	}
	return true;
}