// Paginador jQuery.
(function($) {
		  
$.fn.paginador = function( opciones ) {
	var paginador = this;
	opciones = jQuery.extend({
		porPagina:2,
		anterior:'#anterior',
		siguiente:'#siguiente',
		inicial:1
	},opciones);
		
	var items = jQuery(this);
	var primero = false;
	var ultimo = false;
	var paginaActual=1;
	var btnAnterior;
	var btnSiguiente;
	var numPaginas;
	var numItems;
		
	var iniciar = function() {
		btnAnterior = $(opciones.anterior);
		btnSiguiente = $(opciones.siguiente);
		
		numItems = $(items).size();
					
		numPaginas = numItems / opciones.porPagina;
		
				
		if ( numItems % opciones.porPagina != 0) {
			numPaginas = parseInt(numPaginas)+1	
		}
			
						
		if (numItems > opciones.porPagina) {
			var desde = (opciones.porPagina * opciones.inicial)-opciones.porPagina;
			var hasta = (opciones.porPagina * opciones.inicial)-1;
			
			$(items).hide();
			$(items).slice(desde,hasta+1).show();
			paginaActual = opciones.inicial;
		} else {
			$(items).show();	
		}
		
		botones();
						
		//Boton Anterior.
		btnAnterior.click(function(){
			irAnterior();
		});
		
		//Boton Siguiente.
		btnSiguiente.click(function(){
			irSiguiente();
		});
	};
	
	var irAnterior = function() {
		if (!primero) {
			paginaActual--;
			var desde = (opciones.porPagina * paginaActual)-opciones.porPagina;
			var hasta = (opciones.porPagina * paginaActual)-1;
				
			$(items).hide();
			items.slice(desde,hasta+1).fadeIn('fast');				
			botones();
		}
	}
	
	var irSiguiente = function() {
		if (!ultimo) {
			paginaActual++;
			var desde = (opciones.porPagina * paginaActual)-opciones.porPagina;
			var hasta = (opciones.porPagina * paginaActual)-1;
				
			$(items).hide();
			items.slice(desde,hasta+1).fadeIn('fast');	
			botones();
		}
	};
	
	var botones = function() {
		if (numItems > opciones.porPagina) {
			//Lleva paginador.
			if (paginaActual > 1) {
				btnAnterior.show();
				if (paginaActual == numPaginas) {
					//Ultima pagina.
					ultimo=true;
					primero=false;
					btnSiguiente.hide();	
				} else {
					btnSiguiente.show();
					ultimo=false;
					primero=false;
				}
			} else {
				//Primera pagina.
				btnAnterior.hide();
				btnSiguiente.show();
				ultimo=false;
				primero=true;
			}
		} else {
			//No lleva paginador.
			btnAnterior.hide();
			btnSiguiente.hide();
		}	
	};	
	
	paginador.getPaginaActual = function(){
		return paginaActual;
	};
	
	iniciar();	
}
})(jQuery);
