function preparar() {
	$.each (concursantes, function (indice, valor) {
		valor.autonomia = "<img src=\"imagenes/autonomias/" + valor.autonomia_imagen + "\" alt=\"" + valor.autonomia + "\" />";
		valor.marca = "<img src=\"imagenes/marcas/" + valor.marca_imagen + "\" alt=\"" + valor.marca + "\" />";
		valor.c_esp = (valor.c_esp != "") ? "<img src=\"imagenes/clases/esp/" + concursantes[indice].c_esp + ".jpg\" alt=\"" + concursantes[indice].c_esp + "\" />" : "";
		valor.c_eus = (valor.c_eus != "") ? "<img src=\"imagenes/clases/eus/" + concursantes[indice].c_eus + ".jpg\" alt=\"" + concursantes[indice].c_eus + "\" />" : "";
		valor.c_gui = (valor.c_gui != "") ? "<img src=\"imagenes/clases/gui/" + concursantes[indice].c_gui + ".jpg\" alt=\"" + concursantes[indice].c_gui + "\" />" : "";
		valor.junior = (valor.junior != 0) ? "<img src=\"imagenes/ok.gif\" alt=\"junior\" />" : "";
	});
}

function bajar_tiempos() {
	$.getJSON("tiempos_ajax.php", { version: version, id_tandas: id_tandas, vrandom: Math.random() }, function (data) {
		if (version != data.version) {
			version = data.version;
			tiempos = data.tiempos;
			finalizada = data.finalizada;
			pintar();
		}
		setTimeout("bajar_tiempos()", 5000);
	});
}

function pintar() {
	$(".tiempos_tabla tbody").html("");
	var i = 0;
	var vclass;
	var primero = 0;
	var anterior = 0;
	// tiempos distintos de vacio
	
	if (tiempos != null) {
		$.each(tiempos, function (indice, valor) {
			var mostrar = true;
			if ((mostrar == true) && ($("#input_campeonatos").attr("value") != 0)) {
				var input_campeonatos = $("#input_campeonatos").attr("value");
				if (jQuery.inArray(valor.id_concursante, campeonatos[input_campeonatos]) == -1) {
					mostrar = false;
				}
			}
			if ((mostrar == true) && ($("#input_clases").attr("value") != 0)) {
				var input_clases = $("#input_clases").attr("value");
				if (jQuery.inArray(valor.id_concursante, clases[input_clases]) == -1) {
					mostrar = false;
				}
			}
			if ((mostrar == true) && ($("#input_grupos").attr("value") != 0)) {
				var input_grupos = $("#input_grupos").attr("value");
				if (jQuery.inArray(valor.id_concursante, grupos[input_grupos]) == -1) {
					mostrar = false;
				}
			}
			
			if (mostrar == true) {
				if (valor.tiempo > 0) {
					primero = (primero == 0) ? valor.tiempo : primero;
					var distancia_primero = (primero != 0) ? (valor.tiempo - primero) : 0;
					var distancia_anterior = (anterior != 0) ? (valor.tiempo - anterior) : 0;
					var kmxh = Math.floor((metros / valor.tiempo) * 3600);
					anterior = valor.tiempo;
					
					concursantes[indice].pintado = true;
					i++;
					if (i%2 == 1) {
						vclass = ' class="tiempos_tabla_impar"';
					} else {
						vclass = ' class="tiempos_tabla_par"';
					}
					if (valor.penalizacion) {
						var v_tiempo = '<a href="penalizaciones.php?ano=' + $("#ano").html() + '" class="por_salir" title="' + valor.penalizacion + ' seg. de penalizacion por ' + valor.texto + '">' + pasar_a_real(valor.tiempo) + '</a>';
					} else {
						var v_tiempo = pasar_a_real(valor.tiempo);
					}
					$(".tiempos_tabla tbody").append("<tr" + vclass + "><td class=\"aCenter\">" + i + "<\/td><td class=\"aCenter\">" + concursantes[indice].dorsal + "<\/td><td>" + concursantes[indice].concursante + "<\/td><td class=\"aCenter\">" + concursantes[indice].autonomia + "<\/td><td>" + concursantes[indice].nombre + "<\/td><td class=\"aCenter\">" + concursantes[indice].marca + "<\/td><td>" + concursantes[indice].modelo + "<\/td><td class=\"aCenter\">" + concursantes[indice].grupo + "<\/td><td class=\"columna_clases\">" + concursantes[indice].c_esp + "<\/td><td class=\"columna_clases\">" + concursantes[indice].c_eus + "<\/td><td class=\"columna_clases\">" + concursantes[indice].c_gui + "<\/td><td class=\"aCenter\">" + v_tiempo + "<\/td><td class=\"aCenter\">" + pasar_a_real(distancia_primero) + "<\/td><td class=\"aCenter\">" + pasar_a_real(distancia_anterior) + "<\/td><td class=\"aCenter\">" + concursantes[indice].junior + "<\/td><td class=\"aCenter\">" + kmxh + "<\/td><\/tr>");
				}
			}
		});
		
		// han salido pero no han llegado
		var aux_estado = (finalizada == 0) ? "en pista" : "abandono";
		$.each(tiempos, function (indice, valor) {
			var mostrar = true;
			if ((mostrar == true) && ($("#input_campeonatos").attr("value") != 0)) {
				var input_campeonatos = $("#input_campeonatos").attr("value");
				if (jQuery.inArray(valor.id_concursante, campeonatos[input_campeonatos]) == -1) {
					mostrar = false;
				}
			}
			if ((mostrar == true) && ($("#input_clases").attr("value") != 0)) {
				var input_clases = $("#input_clases").attr("value");
				if (jQuery.inArray(valor.id_concursante, clases[input_clases]) == -1) {
					mostrar = false;
				}
			}
			if ((mostrar == true) && ($("#input_grupos").attr("value") != 0)) {
				var input_grupos = $("#input_grupos").attr("value");
				if (jQuery.inArray(valor.id_concursante, grupos[input_grupos]) == -1) {
					mostrar = false;
				}
			}
			if (mostrar == true) {
				if (valor.tiempo == 0) {
					concursantes[indice].pintado = true;
					i++;
					if (i%2 == 1) {
						vclass = ' class="tiempos_tabla_impar"';
					} else {
						vclass = ' class="tiempos_tabla_par"';
					}
					$(".tiempos_tabla tbody").append("<tr" + vclass + "><td class=\"aCenter\">" + i + "<\/td><td class=\"aCenter\">" + concursantes[indice].dorsal + "<\/td><td>" + concursantes[indice].concursante + "<\/td><td class=\"aCenter\">" + concursantes[indice].autonomia + "<\/td><td>" + concursantes[indice].nombre + "<\/td><td class=\"aCenter\">" + concursantes[indice].marca + "<\/td><td>" + concursantes[indice].modelo + "<\/td><td class=\"aCenter\">" + concursantes[indice].grupo + "<\/td><td class=\"columna_clases\">" + concursantes[indice].c_esp + "<\/td><td class=\"columna_clases\">" + concursantes[indice].c_eus + "<\/td><td class=\"columna_clases\">" + concursantes[indice].c_gui + "<\/td><td class=\"en_pista\">" + aux_estado + "<\/td><td><\/td><td><\/td><td class=\"aCenter\">" + concursantes[indice].junior + "<\/td><td><\/td><\/tr>");
				}
			}
		});
		
		// descalificados
		$.each(tiempos, function (indice, valor) {
			var mostrar = true;
			if ((mostrar == true) && ($("#input_campeonatos").attr("value") != 0)) {
				var input_campeonatos = $("#input_campeonatos").attr("value");
				if (jQuery.inArray(valor.id_concursante, campeonatos[input_campeonatos]) == -1) {
					mostrar = false;
				}
			}
			if ((mostrar == true) && ($("#input_clases").attr("value") != 0)) {
				var input_clases = $("#input_clases").attr("value");
				if (jQuery.inArray(valor.id_concursante, clases[input_clases]) == -1) {
					mostrar = false;
				}
			}
			if ((mostrar == true) && ($("#input_grupos").attr("value") != 0)) {
				var input_grupos = $("#input_grupos").attr("value");
				if (jQuery.inArray(valor.id_concursante, grupos[input_grupos]) == -1) {
					mostrar = false;
				}
			}
			if (mostrar == true) {
				if (valor.tiempo == -1) {
					concursantes[indice].pintado = true;
					i++;
					if (i%2 == 1) {
						vclass = ' class="tiempos_tabla_impar"';
					} else {
						vclass = ' class="tiempos_tabla_par"';
					}
					$(".tiempos_tabla tbody").append("<tr" + vclass + "><td class=\"aCenter\">" + i + "<\/td><td class=\"aCenter\">" + concursantes[indice].dorsal + "<\/td><td>" + concursantes[indice].concursante + "<\/td><td class=\"aCenter\">" + concursantes[indice].autonomia + "<\/td><td>" + concursantes[indice].nombre + "<\/td><td class=\"aCenter\">" + concursantes[indice].marca + "<\/td><td>" + concursantes[indice].modelo + "<\/td><td class=\"aCenter\">" + concursantes[indice].grupo + "<\/td><td class=\"columna_clases\">" + concursantes[indice].c_esp + "<\/td><td class=\"columna_clases\">" + concursantes[indice].c_eus + "<\/td><td class=\"columna_clases\">" + concursantes[indice].c_gui + "<\/td><td><a href=\"penalizaciones.php?ano=" + $("#ano").html() + "\" class=\"descalificados\">Descalificado</a><\/td><td><\/td><td><\/td><td class=\"aCenter\">" + concursantes[indice].junior + "<\/td><td><\/td><\/tr>");
				}
			}
		});
	}
	
	var aux_estado = (finalizada == 0) ? "por salir" : "no sale";
	$.each (concursantes, function (indice, valor) {
		var mostrar = true;
		if ((mostrar == true) && ($("#input_campeonatos").attr("value") != 0)) {
				var input_campeonatos = $("#input_campeonatos").attr("value");
				if (jQuery.inArray(valor.id_concursante, campeonatos[input_campeonatos]) == -1) {
					mostrar = false;
				}
			}
			if ((mostrar == true) && ($("#input_clases").attr("value") != 0)) {
				var input_clases = $("#input_clases").attr("value");
				if (jQuery.inArray(valor.id_concursante, clases[input_clases]) == -1) {
					mostrar = false;
				}
			}
			if ((mostrar == true) && ($("#input_grupos").attr("value") != 0)) {
				var input_grupos = $("#input_grupos").attr("value");
				if (jQuery.inArray(valor.id_concursante, grupos[input_grupos]) == -1) {
					mostrar = false;
				}
			}
		if (mostrar == true) {
			if (valor.pintado == false) {
				i++;
				if (i%2 == 1) {
					vclass = ' class="tiempos_tabla_impar"';
				} else {
					vclass = ' class="tiempos_tabla_par"';
				}
				$(".tiempos_tabla tbody").append("<tr" + vclass + "><td class=\"aCenter\">" + i + "<\/td><td class=\"aCenter\">" + concursantes[indice].dorsal + "<\/td><td>" + concursantes[indice].concursante + "<\/td><td class=\"aCenter\">" + concursantes[indice].autonomia + "<\/td><td>" + concursantes[indice].nombre + "<\/td><td class=\"aCenter\">" + concursantes[indice].marca + "<\/td><td>" + concursantes[indice].modelo + "<\/td><td class=\"aCenter\">" + concursantes[indice].grupo + "<\/td><td class=\"columna_clases\">" + concursantes[indice].c_esp + "<\/td><td class=\"columna_clases\">" + concursantes[indice].c_eus + "<\/td><td class=\"columna_clases\">" + concursantes[indice].c_gui + "<\/td><td class=\"por_salir\">" + aux_estado + "<\/td><td><\/td><td><\/td><td class=\"aCenter\">" + concursantes[indice].junior + "<\/td><td><\/td><\/tr>");
			} else {
				valor.pintado = false;
			}
		}
	});
}

function pasar_a_real (tiempo) {
	var milesimas = tiempo%1000;
	tiempo = (tiempo - milesimas) / 1000;
	var segundos = tiempo%60;
	tiempo = (tiempo - segundos) / 60;
	var minutos = tiempo%60;
	var horas = (tiempo - minutos) / 60;
	
	if ((milesimas < 100) && (milesimas >= 10)) {
		milesimas = "0" + milesimas;	
	} else if (milesimas < 10) {
		milesimas = "00" + milesimas;
	}
	
	segundos = segundos < 10 ? "0" + segundos : segundos;
	minutos = minutos < 10 ? "0" + minutos : minutos;
	horas = horas < 10 ? "0" + horas : horas;
	
	if (horas == "00") {
		return minutos + ':' + segundos + ':' + milesimas;
	}
}
