PMOG forum pages

By David Severwright Last update Jul 21, 2008 — Installed 77 times. Daily Installs: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
// ==UserScript==
// @name           PMOG forum pages
// @namespace      davidsev
// @description    Adds links to thread pages from the thread listing.
// @include        http*://pmog.com/forums/*
// @include        http*://*.pmog.com/forums/*
// @exclude        http*://pmog.com/forums/*/topics/*
// @exclude        http*://*.pmog.com/forums/*/topics/*
// ==/UserScript==

// This code is copyright David Severwright 2008.
// You can do what you want with this, just credit me etc.

var table = document.getElementsByClassName("forum_thread_list")[0];

for (i = 1; i < table.rows.length; i++)
{
	var row = table.rows[i];
	var posts = row.cells[2].childNodes[0].nodeValue * 1 + 1;
	var pages = Math.ceil(posts/25);
	var link = row.cells[0].getElementsByTagName("a")[0].href;
	var pageNumbers = document.createElement("span");
	pageNumbers.className = "GM_DavidSev_pageNumbers"
	row.cells[0].getElementsByTagName("h5")[0].appendChild(pageNumbers);
	for (j = 1; j <= pages; j++)
	{
		if ( pages > 8 && j == pages - 3 )
			pageNumbers.appendChild (document.createTextNode(" ... "));
		if ( pages > 8 && j > 3 && j <= pages - 3)
			continue;
		var a = document.createElement("a");
		a.href = link + "?page=" + j;
		a.appendChild (document.createTextNode(j));
		pageNumbers.appendChild(a);
	}
}

GM_addStyle((<r><![CDATA[
	span.GM_DavidSev_pageNumbers
	{
		margin-left: 10px;
		padding-left: 10px;
		border-left: 1px solid black;
	}
	span.GM_DavidSev_pageNumbers a
	{
		margin-left: 3px;
	}
]]></r>).toString());