private TableElement CreateTable(ThreadStub[] threads)
		{
			TableElement t = (TableElement)Document.CreateElement("table");
			t.Style.Border = "0px";
			t.Style.Width = "100%";
			t.Style.BorderCollapse = "collapse";
			TableSectionElement tb = (TableSectionElement)Document.CreateElement("tbody");
			t.AppendChild(tb);
			tb.AppendChild(CreateHeader());
			for (int i = 0; i < threads.Length; i++)
			{
				tb.AppendChild(CreateRow(threads[i]));
			}
			return t;
		}
		private static TableRowElement CreateRow(ThreadStub thread)
		{
			TableRowElement tr = (TableRowElement)Document.CreateElement("tr");
			tr.Style.VerticalAlign = "top";
			//eval scripts
			tr.AppendChild(CreateTableCell(thread.watchingHtml, "dataGridThreadTitlesTight", null));
			//eval scripts
			tr.AppendChild(CreateTableCell(thread.favouriteHtml, "dataGridThreadTitlesTight", null));
			//tr.AppendChild(CreateTableCell("<a href=\"" + thread.threadUrlSimple + "\"><img src=\"" + thread.simpleIconPath + "\" align=\"top\" border=\"0\" class=\"LatestChatImage\" hspace=\"0\" width=\"30\" height=\"30\"></a>", "dataGridTightImg"));
			tr.AppendChild(CreateTableCell(thread.iconsHtml + thread.commentHtmlStart + "<a href=\"" + thread.threadUrlSimple + "\" " + thread.rollover + ">" + thread.subjectSafe + "</a>" + thread.commentHtmlEnd + thread.pagesHtml, "dataGridThreadTitles", null));
			tr.ChildNodes[2].Style.Width = "100%";
			tr.AppendChild(CreateTableCell("<small>" + thread.authorHtml + "</small>", "dataGridThread", "3px"));
			tr.AppendChild(CreateTableCell("<small>" + thread.repliesHtml + "</small>", "dataGridThread", "3px"));
			return tr;
		}
		void getThreadsSuccess(ThreadStub[] threads, object context, string methodName)
		{
			this.CurrentThreads = threads;
			loaded();
		}