	var numPaginas=10;
	var paginaActual=1;	
	var maxPaginas=9;
	
	function paginar(){
		//vaciamos todo
		$("#paginador").empty();
		
		// botón anterior
		if(paginaActual>1)
			generarElementoPaginador_anterior();
		
		//la paginación es corta
		if(numPaginas<=maxPaginas+1){
			//no se pinta suspensivos izquierda
			//no se pinta suspensivos derecha
			
			// se pinta todo
			generarPaginador(1,numPaginas);
		}
		
		//lado izquierdo
		else if(paginaActual<=maxPaginas+1){
			//no se pinta suspensivos izquierda.
									
			// se pinta todo del 1 al paginaActual
			generarPaginador(1,paginaActual);
			
			if(numPaginas>maxPaginas+paginaActual){
				//se pinta suspensivos derecha
				// se pinta de paginaActual al (paginaActual+6)
				generarPaginador(paginaActual+1,paginaActual+5);
				generarElementoPaginador("...",false);
				generarElementoPaginador(numPaginas,false);		
			}
			else{
				//no se pinta suspensivos derecha
				generarPaginador(paginaActual+1,numPaginas);
			}
		}
		
		//lado derecho
		else if(numPaginas-paginaActual<maxPaginas+1){
			//no se pinta suspensivos derecha.
			
			if(numPaginas>maxPaginas){
				//se pinta suspensivos izquierda
				// se pinta 1... del (paginaActual-6) a paginaActual
				generarElementoPaginador("1",false);
				generarElementoPaginador("...",false);
				generarPaginador(paginaActual-5,paginaActual-1);
			}
			else{
				//no se pinta suspensivos izquierda
				// se pinta del (paginaActual-6) a paginaActual
				generarPaginador(paginaActual-5,paginaActual-1);
			}
			
			// se pinta paginaActual a numPaginas
			generarPaginador(paginaActual,numPaginas);
		}
		
		//centro
		else{
			//se pinta suspensivos izquierda
			//se pinta suspensivos derecha
			// se pinta 1... del (paginaActual-6) al paginaActual y luego al (paginaActual+6) ... numPaginas
			generarElementoPaginador("1",false);
			generarElementoPaginador("...",false);
			generarPaginador(paginaActual-5,paginaActual);
			generarPaginador(paginaActual+1,paginaActual+5);
			generarElementoPaginador("...",false);
			generarElementoPaginador(numPaginas,false);
		}
		
		// botón siguiente
		if(paginaActual<numPaginas)
			generarElementoPaginador_siguiente();
			
		// asignación de acción
		$("#paginador").find("span.page-numbers").click(function(){
			paginaActual=parseInt($(this).html());
			paginaResultado=obtenerPagina(paginaActual);			
			paginar();
			renderizarResultado();
		});
		
		// asignación de acción PREVIOUS
		$("#paginador").find("span.prev").click(function(){
			paginaActual--;
			paginaResultado=obtenerPagina(paginaActual);
			paginar();
			renderizarResultado();
		});
		
		// asignación de acción NEXT
		$("#paginador").find("span.next").click(function(){
			paginaActual++;
			paginaResultado=obtenerPagina(paginaActual);
			paginar();
			renderizarResultado();
		});
	}
	
	function generarPaginador(limiteIzquierdo, limiteDerecho){
		for(var i=limiteIzquierdo;i<limiteDerecho+1;i++){
			if(i==paginaActual)
				generarElementoPaginador(i,true);
			else
				generarElementoPaginador(i,false);
		}					
	}
	
	function generarElementoPaginador(numero, seleccionado){
		if(numero=='...')
			$("#paginador").append("<span>...</span>");
		else{						
			if(seleccionado)
				$("#paginador").append("<span class='page-numbers current'>"+numero+"</span>");
			else
				$("#paginador").append("<span class='page-numbers'>"+numero+"</span>");
		}
	}
	
	function generarElementoPaginador_anterior(){
		$("#paginador").append("<span class='prev'>&laquo; Anterior</span>");
	}

	function generarElementoPaginador_siguiente(){
		$("#paginador").append("<span class='next'>Siguiente &raquo;</span>");
	}
