document.observe('dom:loaded', function () {
	if (typeof Vx === 'undefined') {
		var Wilberforce = { current_page: 1 };
		
		$$('.results_table table').each(function (table) {
			var table_rows = table.select('tbody > tr'),
				paged_rows = table_rows.eachSlice(6),
				total_pages = paged_rows.size(),
				paging_element = new Element('p', { className: 'paging' });
		
			if (total_pages > 1) {
				$R(1, total_pages).each(function (i) {
					var page_link = new Element('a', { href: '#/results/' + i, className: 'numbered_link', rel: i }).update(i);
					paging_element.insert(page_link);
					if (i === 1) { page_link.addClassName('active_link'); }
				});
			
				paging_element.insert({
					top: new Element('a', { href: '#/results/back', className: 'arrowed_link back' }).update('&laquo;'),
					bottom: new Element('a', { href: '#/results/next', className: 'arrowed_link next' }).update('&raquo;')
				});
				
				paging_element.insert({
					top: 'Pages: '
				});
				
				table_rows.invoke('hide');
				paged_rows[0].invoke('show');
			}
		
			table.insert({ after: paging_element });
		
			paging_element.select('a[href]').invoke('observe', 'click', function (event) {
				event.stop();
				
				paging_element.select('a[href]').invoke('removeClassName', 'active_link');
				
				if (this.hasClassName('numbered_link')) {
					var current_page = parseInt(this.readAttribute('rel'));
					table_rows.invoke('hide');
					paged_rows[current_page-1].invoke('show');
					this.addClassName('active_link');
					
					Wilberforce.current_page = current_page;
					
				} else if (this.hasClassName('back')) {
					var current_page = parseInt(Wilberforce.current_page) - 1;
					if (current_page === 0) { current_page = 1; }
					table_rows.invoke('hide');
					paged_rows[current_page-1].invoke('show');
					paging_element.select('a[href]')[current_page].addClassName('active_link');

					Wilberforce.current_page = current_page;
					
				} else if (this.hasClassName('next')) {
					var current_page = parseInt(Wilberforce.current_page) + 1;
					if (current_page > total_pages) { current_page = total_pages; }
					table_rows.invoke('hide');
					paged_rows[current_page-1].invoke('show');
					paging_element.select('a[href]')[current_page].addClassName('active_link');

					Wilberforce.current_page = current_page;
				}
			});
		});
	}
});