/**
*
*	Table Pager module by Marius ILIE
*
**/
(function($){ $.fn.addTablePager = function(options){
	return this.each(function() {
		var defaults = {
			results : 10,
			position : "bottom",
			prevBut : "Prev",
			nextBut : "Next",
			infos : "Page <br> #1 of #2"
		};
		var opts = $.extend(defaults, options);
		var table = this;

		var container = $(table).parent();
		table.page = 0;
		var maxRows = $("tbody > tr", table).length;
		var totalPages = Math.ceil(maxRows / opts.results);
		pagerInfos = opts.infos.split("#1").join(table.page + 1).split("#2").join(totalPages);
		//$("div.tablepager-links", container).html("<span class='tablepager-infos'></span> <a href='#' class='tablepager-prev-but'>"+opts.prevBut+"</a> <a href='#' class='tablepager-next-but'>"+opts.nextBut+"</a>");
		//$("div.tablepager-links > span.tablepager-infos", container).html(pagerInfos);

		$('#navigation').html("<a href='#' class='tablepager-prev-but'>"+opts.prevBut+"</a> <br> <a href='#' class='tablepager-next-but'>"+opts.nextBut+"</a>");
		$('#summary').html(pagerInfos);

		$("tbody > tr", table).hide();
		for(var i = table.page * opts.results + 1; i <= table.page * opts.results + opts.results; i++) {
			$("tr:nth-child("+i+")", table).show();
		}
		$("a.tablepager-next-but").click(function(){
			if(table.page < totalPages - 1) {
				table.page++;
				pagerInfos = opts.infos.split("#1").join(table.page + 1).split("#2").join(totalPages);
				$('#summary').html(pagerInfos);
				$("tbody > tr", table).hide();
				for(var i = table.page * opts.results + 1; i <= table.page * opts.results + opts.results; i++) {
					$("tbody > tr:nth-child("+i+")", table).show();
				}
			}
			return false;
		})
		$("a.tablepager-prev-but").click(function(){
			if(table.page > 0) {
				table.page--;
				pagerInfos = opts.infos.split("#1").join(table.page + 1).split("#2").join(totalPages);
				$('#summary').html(pagerInfos);
				$("tbody > tr", table).hide();
				for(var i = table.page * opts.results + 1; i <= table.page * opts.results + opts.results; i++) {
					$("tbody > tr:nth-child("+i+")", table).show();
				}
			}
			return false;
		})
	});
}})(jQuery);
