jQuery.fn.pagination = function(options){
	options = jQuery.extend({
		items_per_page : 10,
		pagination : '#pagination'
	},options||{});
	
	total_items = this.children().size();
	total_pages = Math.ceil(total_items/options.items_per_page);
	
	// Add UL element to pagination
	return this.each(function(){
		var el = this;
		var pagination_html = jQuery('<ul></ul>');
		
		for(var i = 0; i < total_pages; i++)
		{
			pagination_html.append(jQuery('<li></li>')
				.append(jQuery('<a></a>')
					.text(i+1)
					.attr('id', i)
					.click(gotoPage)
				)
			);
		}
		
		jQuery(options.pagination).append(pagination_html);
		
		function gotoPage()
		{
			var start = jQuery(this).attr('id') * options.items_per_page;
			var end   = start + options.items_per_page;
			
			jQuery(el).children()
				.css('display', 'none')
				.slice(start, end)
				.css('display', 'block');
			
			jQuery('li', jQuery(this).parents('ul')).removeClass('active');
			jQuery(this).parent().addClass('active');
		}
		
		// Load the first screen
		var start = 0;
		var end   = options.items_per_page;
		
		jQuery(el).children()
			.css('display', 'none')
			.slice(start, end)
			.css('display', 'block');
		
		jQuery('li:first-child', options.pagination).addClass('active');
	});
}
