var orden = 1;
var ascendente = true;
var paginacion = 1;
var variablePaginas = 5;
var datos = new Array();
var Wdatos = new Array();
var Sdatos = new Array();
var trabajosAMostrar;
// Cambia el criterio de orden y vuelve a dibujar la tabla
function cambiar_old(ind) {
	/* Si es el mismo orden que el que hay actualmente se cambia el sentido.
	 * En otro caso, se cambia el criterio y se pone el sentido como ascendente
	 */
	completados = ";";
	if (ind == 3) {
		muestraFiltrado();
	} else {
		if (ind == orden) {
			ascendente = !ascendente;
		} else {
			orden = ind;
			ascendente = true;
		}
		// Se refresca la tabla
		dibujarTabla();
		if (elementosVisibles == "WORKS")
		{
			verWorks();
		}
		else {
			if (elementosVisibles == "OTROS")
			{
				verOtros();
			} else {
				if (elementosVisibles == "TODOS")
				{
					verTodos();
				}
			}
		}
	}
}
// Cambia el criterio de orden y vuelve a dibujar la tabla
function cambiar(ind) {
	/* Si es el mismo orden que el que hay actualmente se cambia el sentido.
	 * En otro caso, se cambia el criterio y se pone el sentido como ascendente
	 */
	completados = ";";
	if (ind == 3) {
		trabajosAMostrar = muestraFiltrado();
		textoPaginas = "/"+parseInt(((trabajosAMostrar.length-1)/variablePaginas)+1);
	} else {
		// Se refresca la tabla

		if (elementosVisibles == "WORKS")
		{
			trabajosAMostrar = Wdatos;
			textoPaginas = textoPaginasWorks;
		}
		else {
			if (elementosVisibles == "OTROS")
			{
				trabajosAMostrar = Sdatos;
				textoPaginas = textoPaginasStuffs;
			} else {
				if (elementosVisibles == "TODOS")
				{
					trabajosAMostrar = datos;
					textoPaginas = textoPaginasTodos;
				}
			}
		}
	}
	paginacion = 1;
	if (ind != 4) {
		if (ind == orden) {
			ascendente = !ascendente;
		} else {
			orden = ind;
			ascendente = true;
		}
		// Se ordena la tabla
		trabajosAMostrar.sort(organizar);
	}
	dibujarTabla();	
	document.getElementById("divPaginas").innerHTML = paginacion+textoPaginas;
}
/** Es la función para ordenar el array con los datos, tiene en cuenta la columna
 * y si es ascendente o no
 */
function organizar(a, b) {
	var signo = ascendente? 1:-1;
	return (a[orden] > b[orden]) ? signo : -signo;
}

// Se encarga de dibujar la tabla
function dibujarTabla() {
	var html = "<A NAME='INICIO'></A><TABLE cellspacing='0' cellpadding='0'><tr><td height='2'></td></tr>";
	// Por cada fila se escribe el codigo HTML necesario
	var hayPaginas = false;
	for (var i=(paginacion-1)*variablePaginas; i<trabajosAMostrar.length && i < paginacion*variablePaginas; i++) {
		html += trabajosAMostrar[i][3];
		hayPaginas = true;
	}
	html+="</TABLE>";
	if (!hayPaginas) {
		paginacion--;
	}
	if (hayPaginas || paginacion == 0) {
		inicializaPersiana();
		// Necesita un DIV con id=tabla
		document.getElementById("contenido").innerHTML = html;
		actualizaScroller();
	}
}

function muestraFiltrado_old() {
	inicializaPersiana();
	var html = "<A NAME='INICIO'></A><TABLE cellspacing='0' cellpadding='0'>";
	// Por cada fila se escribe el codigo HTML necesario
	var buscar = document.getElementById("buscar").value;
	matriz = buscar.split(" ");
	for (var i=0; i<datos.length; i++) {
		encontrado = false;
		for (var j = 0;j < matriz.length && !encontrado;j++)
		{
			if (datos[i][3].indexOf(matriz[j]) > -1)
			{
				encontrado = true;
			}
		}
		if (encontrado)
		{
			html += datos[i][3].substring(0,3)+" style=\"display:block\" "+datos[i][3].substring(3);
		} else {
			html += datos[i][3].substring(0,3)+" style=\"display:none\" "+datos[i][3].substring(3);
		}
	}
	html+="</TABLE>";
//	alert(html);
	// Necesita un DIV con id=tabla
	document.getElementById("contenido").innerHTML = html;
	actualizaScroller();

}

function muestraFiltrado() {
	aux = new Array();
	// Por cada fila se escribe el codigo HTML necesario
	var buscar = document.getElementById("buscar").value;
	buscar = buscar.toUpperCase();
	matriz = buscar.split(" ");
	indiceTrabajos = 0;
	for (var i=0; i<datos.length; i++) {
		encontrado = false;
		for (var j = 0;j < matriz.length && !encontrado;j++)
		{
			if (datos[i][3].toUpperCase( ).indexOf(matriz[j]) > -1)
			{
				encontrado = true;
			}
		}
		if (encontrado)
		{
			aux[indiceTrabajos] = datos[i];
			indiceTrabajos++;
		}
	}
	return aux;
}