# FILE: src-board-subs-3
# Page Manager interface
#-------------------------------------------------------------------------------
# DISCUS VERSION 3.10 COPYRIGHT NOTICE
#
# Discus 3.10 is copyright (c) 2000 by DiscusWare, LLC, all rights reserved.
# The use of Discus is governed by the Discus License Agreement which is
# available from the Discus WWW site at:
#    http://www.discusware.com/discus/license
#
# Pursuant to the Discus License Agreement, this copyright notice may not be
# removed or altered in any way.
#-------------------------------------------------------------------------------

#---SEPARATOR---#

sub page_mgr_1 {
	my ($username, $param_in) = @_;
	my ($append,$owntopic,$tc);
	&header;
	$ts = "Page Manager" if $param_in == 0;
	$ts = "Access Manager" if $param_in == 2;
	print "<html><head><title>$ts</title>\n";
	print "<SCRIPT LANGUAGE=\"JavaScript\">\n";
	print "<!--\n";
	print "function setStatus(msg) {\n";
	print "  window.status=msg\n";
	print "  return true\n";
	print "}\n";
	print "//-->\n";
	print "</SCRIPT>\n";
	print "</head>\n";
	print "<body bgcolor=\"ffffff\" text=\"000000\" link=\"0000FF\" ";
	print "vlink=\"0000FF\" ";
	print "onLoad=\"window.defaultStatus='$ts: Topic Selection'\">\n";
	print "$fs<FONT SIZE=3><CENTER><B>$ts</B></CENTER></FONT>\n";
	$append = "?username=$username";
	$tc = 0;
	print "<HR>\n";
	print "<b>Select one of the following topics ";
	print "to edit:</B>\n" if $param_in == 0;
	print "to modify access/posting privileges:</B>\n" if $param_in == 2;
	print "<p>\n";
	open (TREE, "$admin_dir/tree.txt"); @TREE_STRUCTURE_FILE = <TREE>; close (TREE);
	@topics = grep(/^0\t/, @TREE_STRUCTURE_FILE);
	undef %tf;
	foreach $line (@topics) {
		@c = split(/\t/, $line);
		$tf{$c[1]} = 1;
	}
	open (TOPFILE, "$message_dir/$board_topics_file");
	@topfile = <TOPFILE>;
	close (TOPFILE);
	@top = grep(/<!-Top: (\d+)-!>/, @topfile);
	$flag = 0;
	foreach $line (@top) {
		$line =~ m|<!-Top: (\d+)-!>|; $num = $1;
		next if $tf{$num};
		$flag = 1;
		&extract("//$num/$num.$ext"); $n = &escape($topic_name);
		push (@topics, "0\t$num\t$num\t0\t$n\t$param\t$owner\t0\n");
	}
	print "<TABLE CELLSPACING=0 CELLPADDING=2 BORDER=0><TR BGCOLOR=c0c0c0><TD>&nbsp;</TD><TD WIDTH=100%><FONT FACE=\"Verdana,Arial\" SIZE=1><B>Topic</B></FONT></TD><TD><FONT FACE=\"Verdana,Arial\" SIZE=1><B>Group</B></TD><TD>&nbsp;</TD></TR>\n";
	$bgcolor = "ffffcc";
	foreach $line (@topics) {
		($level, $topic, $page, $parent, $name, $param, $owner, $posts) = split(/\t/, $line);
		next if $parent != 0;
		next if $topic != $page;
		$tc += 1;
		if (&verify_owner($owner,$username)) {
			print "<TR BGCOLOR=$bgcolor><TD BGCOLOR=c0c0c0>&nbsp;</TD><TD>";
			print "$fs<A HREF=\"$cgiurlm$append&HTTP_REFERER=//$topic/";
			$topic_name = &unescape($name);
			$str = &JavaScript_prepare($topic_name);
			print "$topic.$ext&action=page_editor\" onMouseOver=\"" if $param_in == 0;
			print "$topic.$ext&action=access_mgr_2\" onMouseOver=\"" if $param_in == 2;
			print "return setStatus('Edit $str')\">$topic_name</A></FONT>" if $param_in == 0;
			print "return setStatus('Edit access/posting privileges of $str')\">$topic_name</A></FONT>" if $param_in == 2;
			print "</TD><TD>$fs\u$owner</FONT></TD><TD BGCOLOR=c0c0c0>&nbsp;</TD></TR>\n";
			$owntopic = 1;
			if ($bgcolor eq "ffffff") {
				$bgcolor = "ffffcc";
			} else {
				$bgcolor = "ffffff";
			}
		}
	}
	if ($owntopic == 0 && $param_in == 0) {
		print "<TR BGCOLOR=c0c0c0><TD>&nbsp;</TD><TD COLSPAN=2>$fs", "You aren't authorized to edit any topics!!!\n";
		if ($tc == 0 && $username eq $superuser) {
			print "<P>Note that this is because there are not any topics created yet.  You need\n";
			print "to use the 'Board Manager' to create topics.  For more information,\n";
			print "consult the <A HREF=\"$html_url/board-admin-instr-03.html\"";
			print " TARGET=Admin_Main>Superuser Getting Started Tutorial</A>!<P>\n";
		}
		print "</TD><TD>&nbsp;</TD></TR></TABLE>\n";
	} else {
		print "<TR BGCOLOR=c0c0c0><TD COLSPAN=4>&nbsp;</TD></TR></TABLE>\n";
	}
	if ($flag == 1 && $username eq $superuser) {
		print "<P><FONT SIZE=4><B>Corrupted Tree File</B></FONT><BR>The tree file, tree.txt, appears to be corrupted, ";
		print "as it does not contain all of the topics on your board.  This can adversely affect generation of all ";
		print "tree views (such as Tree View and New Messages).  It is suggested that you immediately go to your ";
		print "<A HREF=$cgiurlm?cmd=board_mgr&username=$superuser#TEMPL>Board Manager</A> and click the &quot;Index ";
		print "Board&quot; button!<P>\n";
	}
	print "</BODY></HTML>\n";
	exit(0);
}

#---SEPARATOR---#
#REQ:get_navbar

sub page_mgr_2 {
	my ($page_referer,$username) = @_;
	my ($str,$key,$line,@parent);
	if ($page_referer =~ m|/(\d+)/(\d+)|) {
		($topic_number, $me_number) = ($1, $2);
	} else {
		return "<FONT COLOR=#ff0000>* Invalid Referer: $page_referer *</FONT>\n";
	}
	open (TREE, "$admin_dir/msg_index/$topic_number-tree.txt"); @TREE_STRUCTURE_FILE = <TREE>; close (TREE);
	($myline) = grep(/^(\d+)\t$topic_number\t$me_number\t/, @TREE_STRUCTURE_FILE);
	my ($level, $topic, $page, $parent_number, $name, $param, $owner, $posts) = split(/\t/, $myline);
	$me_name = &unescape($name);
	&extract("//$page_referer") if $my_line eq "";
	$str = &JavaScript_prepare($me_name);
	&header;
	print "<HTML><HEAD><TITLE>Page Manager: $str</TITLE>\n";
	print "<SCRIPT LANGUAGE=\"JavaScript\">\n";
	print "<!--\n";
	print "function setStatus(msg) {\n";
	print "  window.status=msg\n";
	print "  return true\n";
	print "}\n";
	print "function subact(action, number, name1) {\n";
	print "  document.sf.SELECTION.value = action + number;\n";
	print "  if (action == 'delete') {\n";
	print "    if (document.sf.marked_all.value == 1) {\n";
	print "      name1 = 'every subtopic on this page (not just those that are shown)';\n";
	print "    }\n";
	print "    var m = confirm(\"Are you sure you want to delete \" + name1 + \"?\");\n";
	print "    if (m == true) {\n";
	print "      document.sf.submit();\n";
	print "    }\n";
	print "  } else {\n";
	print "    if (document.sf.marked_all.value == 1) {\n";
	print "      var m = confirm(\"Are you sure you want to move every subtopic on this page (not just those that are shown)?\");\n";
	print "      if (m == true) {\n";
	print "        document.sf.submit();\n";
	print "      }\n";
	print "    } else {\n";
	print "        document.sf.submit();\n";
	print "    }\n";
	print "  }\n";
	print "}\n";
	print "function msgact(action, number, name1) {\n";
	print "  document.mf.SELECTION.value = action + number;\n";
	print "  if (action == 'delete') {\n";
	print "    var m = confirm(\"Are you sure you want to delete \" + name1 + \"?\");\n";
	print "    if (m == true) {\n";
	print "      document.mf.submit();\n";
	print "    }\n";
	print "  } else {\n";
	print "    document.mf.submit()\n";
	print "  }\n";
	print "}\n";
	print "function recompute() {\n";
	print "  if (document.layout.element1.checked == true && document.layout.element2.checked == false && document.layout.element3.checked == false && document.layout.element4.checked == false && document.layout.element5.checked == false && document.layout.element6.checked == false) {\n";
	print "    document.layout.pgtype[0].checked = true;\n";
	print "    return true;\n";
	print "  }\n";
	print "  if (document.layout.element1.checked == true && document.layout.element2.checked == true && document.layout.element3.checked == false && document.layout.element4.checked == false && document.layout.element5.checked == false && document.layout.element6.checked == false) {\n";
	print "    document.layout.pgtype[1].checked = true;\n";
	print "    return true;\n";
	print "  }\n";
	print "  if (document.layout.element1.checked == false && document.layout.element2.checked == false && document.layout.element3.checked == false && document.layout.element4.checked == true && document.layout.element5.checked == true && document.layout.element6.checked == false) {\n";
	print "    document.layout.pgtype[2].checked = true;\n";
	print "    return true;\n";
	print "  }\n";
	print "  document.layout.pgtype[3].checked = true;\n";
	print "  return true;\n";
	print "}\n";
	print "function marktos(num,count,dir) {\n";
	print "  document.sf.marked_all.value = 0;\n";
	print "  if (count == 1) {\n";
	print "    var c = document.sf.MARK.checked;\n";
	print "    document.sf.MARK.checked = 1-c;\n";
	print "  } else {\n";
	print "    var c = document.sf.MARK[num].checked;\n";
	print "    if (dir==1) {\n";
	print "      for (var i=0; i<=num; i++) {\n";
	print "        document.sf.MARK[i].checked = 1-c;\n";
	print "      }\n";
	print "    }\n";
	print "    if (dir==0) {\n";
	print "      for (var i=num; i<count; i++) {\n";
	print "        document.sf.MARK[i].checked = 1-c;\n";
	print "      }\n";
	print "    }\n";
	print "  }\n";
	print "}\n";
	print "function marktom(num,count,dir) {\n";
	print "  if (count == 1) {\n";
	print "    var c = document.mf.MARK.checked;\n";
	print "    document.mf.MARK.checked = 1-c;\n";
	print "  } else {\n";
	print "    var c = document.mf.MARK[num].checked;\n";
	print "    if (dir==1) {\n";
	print "      for (var i=0; i<=num; i++) {\n";
	print "        document.mf.MARK[i].checked = 1-c;\n";
	print "      }\n";
	print "    }\n";
	print "    if (dir==0) {\n";
	print "      for (var i=num; i<count; i++) {\n";
	print "        document.mf.MARK[i].checked = 1-c;\n";
	print "      }\n";
	print "    }\n";
	print "  }\n";
	print "}\n";
	print "function markevery (ctr) {\n";
	print "  document.sf.marked_all.value = 1;\n";
	print "  for (var i=0; i<ctr; i++) {\n";
	print "    document.sf.MARK[i].checked = 1;\n";
	print "  }\n";
	print "}\n";
	print "//-->\n";
	print "</SCRIPT>\n";
	print "</HEAD>\n";
	print '<BODY BGCOLOR="ffffff" TEXT="000000" LINK="0000FF" VLINK="0000FF" ';
	print 'onLoad="window.defaultStatus =', "'$str';recompute()\">\n";
	print "$fs\n";
	print "<FONT SIZE=3><CENTER><B>$me_name</B></CENTER></FONT>\n";
	print "<HR><STRONG>\n";
	print "<A HREF=\"$cgiurlm?username=$username&action=mgr_1";
	print "&HTTP_REFERER=$page_referer\" onMouseOver=\"return setStatus('";
	print "Return to topic selection screen')\">Page Manager</A>:\n";
	($result) = &get_navbar($topic_number, $me_number, "page", 1);
	print $result;
	print "</STRONG><HR>\n";
	if ($myline eq "") {
		print "<FONT COLOR=#ff0000>Quick Navigation and Quick Options are not available,\n";
		print "as the tree file has been corrupted.  The board administrator should use the Board\n";
		print "Manager to reindex the board to correct this problem.</FONT>\n";
	} else {
		print "<TABLE WIDTH=100% BGCOLOR=#ffffcc CELLSPACING=0 CELLPADDING=0>\n";
		print "<TR><TD VALIGN=TOP WIDTH=75%>$fs";
		print "<CENTER><B>Quick Navigation</B></CENTER><BR>";
		print "\n";
		print "<IMG SRC=\"$html_url/icons/tree_g.gif\" HEIGHT=16 WIDTH=20> ";
		print "(<A HREF=\"$script_url/show.$cgi_extension?$topic_number/";
		print "$me_number.$ext\" onMouseOver=\"return setStatus('Go to this ";
		print "page on the board')\" TARGET=_top>";
		print "Go to this page on the board</A>)<BR>\n";
		print "<IMG SRC=\"$html_url/icons/tree_g.gif\" HEIGHT=16 WIDTH=20> ";
		print "(";
		print "<A HREF=\"$cgiurlm?username=$username&action=graphic_browser";
		print "&HTTP_REFERER=$page_referer\">Show all subtopics</A>)<BR>\n";
	}
	undef @selected; undef @parent; $parent_line = ""; $my_line = ""; undef %found_name;
	foreach $line (@TREE_STRUCTURE_FILE) {
		($level, $topic, $page, $parent, $name) = split(/\t/, $line);
		if ($topic == $topic_number) {
			if ($parent == $me_number) {
				push (@selected, $line); $found_name{$page} = &unescape($name);
			} elsif ($page == $me_number) {
				push (@parent, $line); $my_line = $line;
			} elsif ($page == $parent_number && $parent_number != $me_number) {
				$parent_line = $line;
			} elsif ($parent == $parent_number) {
				push (@parent, $line);
			}
		}
	}
	$sc = 0; $pc = 0; $st = scalar(@selected); $pt = scalar(@parent); $done = 0;
	if ($myline ne "") {
		if ($me_number == $topic_number) {
			print "<IMG SRC=$html_url/icons/tree_h.gif HEIGHT=16 WIDTH=20 ALIGN=TOP> \n";
			print "<A HREF=$cgiurlm?username=$username&action=mgr_1>Topic Selection</A><BR>\n";
		} else {
			print "<IMG SRC=$html_url/icons/tree_h.gif HEIGHT=16 WIDTH=20 ALIGN=TOP> \n";
			($level, $topic, $page, $parent, $name) = split(/\t/, $parent_line);
			$name = &unescape($name); $name =~ s/<[^>]+>//g;
			$name = &char_convert($name, 1);
			if (length($name) > 25) {
				$name2 = substr($name, 0, 22); $name2 .= "...";
			} else {
				$name2 = $name;
			}
			$name2 = &char_convert($name2);
			print "<A HREF=$cgiurlm?username=$username&action=page_editor&HTTP_REFERER=//$topic/$page.$ext>$name2</A><BR>\n";
		}
		foreach $line (@parent) {
			$pc += 1;
			($level, $topic, $page, $parent, $name, $Xparam) = split(/\t/, $line);
			$name = &unescape($name); $name =~ s/<[^>]+>//g;
			$name = &char_convert($name, 1);
			if (length($name) > 25) {
				$name2 = substr($name, 0, 22); $name2 .= "...";
			} else {
				$name2 = $name;
			}
			$name2 = &char_convert($name2);
			if ($pc == $pt) {
				print "<IMG SRC=$html_url/icons/tree_f.gif HEIGHT=16 WIDTH=20 ALIGN=TOP>";
				$done = 1;
			} else {
				print "<IMG SRC=$html_url/icons/tree_e.gif HEIGHT=16 WIDTH=20 ALIGN=TOP>";
			}
			if ($page == $me_number) {
				print "<IMG SRC=$html_url/icons/tree_h.gif HEIGHT=16 WIDTH=20 ALIGN=TOP> ";
				print "<B>$name2</B><BR>\n";
				foreach $sline (@selected) {
					$sc += 1;
					($slevel, $stopic, $spage, $sparent, $sname, $sparam) = split(/\t/, $sline);
					$sname = &unescape($sname);
					$sname = &remove_html($sname, 1);
					$sname = &char_convert($sname, 1);
					if (length($sname) > 35) {
						$sname2 = substr($sname, 0, 32); $sname2 .= "...";
					} else {
						$sname2 = $sname;
					}
					$sname2 = &char_convert($sname2);
					print "<IMG SRC=$html_url/icons/tree_i.gif HEIGHT=16 WIDTH=20 ALIGN=TOP>" if $done == 0;
					print "<IMG SRC=$html_url/icons/tree_j.gif HEIGHT=16 WIDTH=20 ALIGN=TOP>" if $done != 0;
					if ($sc == $st) {
						print "<IMG SRC=$html_url/icons/tree_f.gif HEIGHT=16 WIDTH=20 ALIGN=TOP>";
					} else {
						print "<IMG SRC=$html_url/icons/tree_e.gif HEIGHT=16 WIDTH=20 ALIGN=TOP>";
					}
					if ($sparam =~ m|^LINK:|) {
						print "<IMG SRC=$html_url/icons/tree_m.gif HEIGHT=16 WIDTH=20 ALIGN=TOP> ";
						print $sname2, "<BR>\n";
					} else {
						print "<IMG SRC=$html_url/icons/tree_g.gif HEIGHT=16 WIDTH=20 ALIGN=TOP> ";
						print "<A HREF=$cgiurlm?username=$username&action=page_editor&HTTP_REFERER=//$stopic/$spage.$ext>$sname2</A><BR>\n";
					}
				}
			} else {
				if ($Xparam =~ m|^LINK:|) {
					print "<IMG SRC=$html_url/icons/tree_m.gif HEIGHT=16 WIDTH=20 ALIGN=TOP> ";
					print $name2, "<BR>\n";
				} else {
					print "<IMG SRC=$html_url/icons/tree_g.gif HEIGHT=16 WIDTH=20 ALIGN=TOP> ";
					print "<A HREF=$cgiurlm?username=$username&action=page_editor&HTTP_REFERER=//$topic/$page.$ext>$name2</A><BR>\n";
				}
			}
		}
		print "</FONT></TD>\n";
		print "<TD WIDTH=25% VALIGN=TOP ALIGN=RIGHT>$fs\n";
		print "<CENTER>";
		print "<B>Quick Options</B><BR><BR>\n";
		print "[<A HREF=\"#Announcement\">Announcement</A>]<BR>\n" if $param =~ /Announcement/;
		print "[<A HREF=\"#Subtopics\">Subtopics</A>]<BR>\n" if $param =~ /Sub/;
		print "[<A HREF=\"#AddSubtopic\">Add a Subtopic</A>]<BR>\n" if $param =~ /Sub/;
		print "[<A HREF=\"#AboutMessage\">About Message</A>]<BR>\n" if $param =~ /About/;
		print "[<A HREF=\"#Messages\">Messages</A>]<BR>\n" if $param =~ /Message/;
		print "[<A HREF=\"#AddMessage\">Add a Message</A>]<BR>\n" if $param =~ /Message/;
		print "[<A HREF=\"#Layout\">Page Layout</A>]</CENTER>\n";
		print "</TD></TR></TABLE>\n";
	}
	my ($head, $color, $lm, $ann, $ann_src, $sublist, $about, $about_src, $message, $message_src, $description_src) = &get_page($topic_number, $me_number);
	if ($myline eq "") {
		$head =~ m|<!--Me: (\d+)/(.*)-->|; $me_name = $2;
		$head =~ m|<!--Param: (.*)-->|; $param = $1;
		@sublist = split(/\n/, $sublist);
		foreach $line (@sublist) {
			if ($line =~ m|<!-Top: (\d+)-!>|) {
				$num = $1;
				if ($found_line{$num}) {
					push (@selected, $found_line{$num});
				} else {
					&extract("//$topic_number/$num.$ext");
					$name = &escape($me_name);
					push (@selected, "4\t$topic_number\t$num\t$parent\t$name\t$param\t$owner\t\n");
				}
			} elsif ($line =~ m|<!-URL: (\d+)-!>|) {
				$num = $1;
				if ($found_line{$num}) {
					push (@selected, $found_line{$num});
				} else {
					$line =~ m|<A HREF="([^"]+)"[^>]*TARGET="([^"]+)"[^>]*>(.*)</A>|;
					($url, $target, $name) = ($1, $2, $3); $name = &escape($name);
					push (@selected, "4\t$topic_number\t$num\t$parent\t$name\tLINK:$target\t$url\t\n");
				}
			}
		}
		@message = split(/\n/, $message);
		foreach $line (@message) {
			if ($line =~ m|<!-Post: (\d+)-!>|) {
				push (@messageorder, $1);
			}
		}
		@c = split(/\t/, $myline);
		foreach $y (@messageorder) {
			$message{$y} = 1;
		}
	}
	if ($param =~ /Announcement/) {
		print "<HR><A NAME=\"Announcement\"><H3>Announcement</H3>\n";
		$ann_src =~ s/\s+$//g; $ann_src =~ s/^\s+//g;
		$ann_src = &unescape($ann_src) unless $ann_src =~ /\s/;
		$ann_src =~ s/</&lt;/g;
		$ann_src =~ s/>/&gt;/g;
		print "<FORM ACTION=\"$cgiurl1\" METHOD=POST>\n";
		print "<INPUT TYPE=HIDDEN NAME=action VALUE=\"announce_message\">\n";
		print "<INPUT TYPE=HIDDEN NAME=username VALUE=\"$username\">\n";
		print "<INPUT TYPE=HIDDEN NAME=HTTP_REFERER VALUE=\"$page_referer\">\n";
		print "<TABLE BORDER=1 BGCOLOR=ffffcc WIDTH=100%><TR><TD>$fs", "Enter the text for your &quot;Announcement&quot; in the area below.</FONT><P>\n";
		print "<TEXTAREA WRAP=VIRTUAL NAME=message ROWS=6 COLS=60>$ann_src</TEXTAREA><P>\n";
		print "<INPUT TYPE=SUBMIT name=submit VALUE=\"Preview/Save Message\">\n";
		print "</TD></TR></TABLE><BR>\n";
		print "</FORM>\n";
	}
	if ($param =~ /Sub/) {
		$jsstr = ""; $jsstr2 = ""; $jsstr3 = "";
		print "<HR><A NAME=\"Subtopics\"><H3>Subtopics</H3>\n";
		print "<A NAME=\"tops\"></A>\n";
		if (scalar(@selected) > 25) {
			print "<FORM ACTION=\"$cgiurlm\" METHOD=POST>\n";
			print "<INPUT TYPE=HIDDEN NAME=action VALUE=\"page_editor\">\n";
			print "<INPUT TYPE=HIDDEN NAME=username VALUE=\"$username\">\n";
			print "<INPUT TYPE=HIDDEN NAME=HTTP_REFERER VALUE=\"$page_referer\">\n";
			print "There are too many subtopics to be displayed on one screen.\n";
			print "If you know the name of the subtopic you're looking for, type\n";
			print "its name into the search box below and matching subtopics will\n";
			print "be displayed.  You can also display or select subtopics from the list below.\n";
			print "<P>\n";
			print "<TABLE><TR><TD>";
			print "<INPUT TYPE=TEXT NAME=searching VALUE=\"$FORM{searching}\" SIZE=30></TD>\n";
			print "<TD><INPUT TYPE=SUBMIT NAME=search VALUE=\"Search\"></TD></TR></TABLE>\n";
			print "</FORM>\n";
			print "<P>\n";
			print "<UL>\n";
			print "<LI><A HREF=$cgiurlm?username=$username&action=page_editor&HTTP_REFERER=$page_referer&display=all>Show all subtopics</A>\n";
			if ($FORM{display} eq "" && $FORM{'searching'} eq "") {
				$display_start = 1;
				$display_end = 25;
			} elsif ($FORM{'display'} > 0) {
				$display_start = $FORM{'display'};
				$display_end = (24 + $FORM{'display'});
			} elsif ($FORM{'display'} eq "all") {
				$display_start = 0;
				$display_end = scalar(@selected) + 1;
			}
			for ($q = 1; $q <= scalar(@selected); $q++) {
				if ($q % 25 == 1) {
					print "<LI>";
					if ($q != $display_start) {
						print "<A HREF=$cgiurlm?username=$username&action=page_editor&HTTP_REFERER=$page_referer&display=$q>";
						$aclose = "</A>";
					} else {
						$aclose = "";
					}
					($level, $topic, $page, $parent, $name, $xparam, $group) = split(/\t/, $selected[$q-1]);
					$nm = &unescape($name); $nm = &remove_html($nm);
					$nm =~ s/&#(\w+);//g;
					$nm = substr($nm, 0, 25);
					print "&quot;<B>$nm</B>&quot;";
					if ($q == scalar(@selected)) {
						print "$aclose\n";
					}
				} elsif ($q == scalar(@selected) || $q % 25 == 0) {
					($level, $topic, $page, $parent, $name, $xparam, $group) = split(/\t/, $selected[$q-1]);
					$nm = &unescape($name); $nm = &remove_html($nm);
					$nm =~ s/&#(\w+);//g;
					$nm = substr($nm, 0, 25);
					print " to &quot;<B>$nm</B>&quot;$aclose";
				}
			}
			undef @shown;
			$counter_division = 0;
			$searchtext = quotemeta($FORM{'searching'});
			foreach $thing (@selected) {
				$counter_division += 1;
				if ($display_start) {
					next if $counter_division < $display_start;
					next if $counter_division > $display_end;
				}
				if ($searchtext ne "") {
					($level, $topic, $page, $parent, $name, $xparam, $group) = split(/\t/, $thing);
					$nm = &unescape($name);
					next if $nm !~ m|$searchtext|i;
					push (@shown, $thing);
				} else {
					push (@shown, $thing);
				}
			}
			$counter_shown = scalar(@shown);
			print "<LI><A HREF=javascript:markevery($counter_shown)>Mark <I>every</I> subtopic (whether displayed or not)</A>\n";
			print "<LI><A HREF=$cgiurl1?action=reorder_chooser&HTTP_REFERER=$page_referer&username=$username>Reorder subtopics</A>\n";
			print "</UL><P>\n";
		} else {
			@shown = @selected;
		}
		print "<FORM ACTION=\"$cgiurl1\" METHOD=POST NAME=sf>\n";
		print "<INPUT TYPE=HIDDEN NAME=action VALUE=\"subtopics\">\n";
		print "<INPUT TYPE=HIDDEN NAME=username VALUE=\"$username\">\n";
		print "<INPUT TYPE=HIDDEN NAME=marked_all VALUE=0>\n";
		print "<INPUT TYPE=HIDDEN NAME=HTTP_REFERER VALUE=\"$page_referer\">\n";
		print "<INPUT TYPE=HIDDEN NAME=SELECTION VALUE=\"\">\n";
		print "<A NAME=\"topstable\"></A>\n";
		print "<TABLE CELLSPACING=0 CELLPADDING=2 BORDER=0>\n";
		$c = "ffffcc";
		print "<TR ALIGN=CENTER BGCOLOR=c0c0c0><TD>&nbsp;</TD>";
		if ($display_start == 0 && $searchtext eq "") {
			print "<TD><FONT FACE=\"Verdana,Arial\" SIZE=1><B>Order</B></FONT></TD><TD>&nbsp;</TD>";
		}
		print "<TD><FONT FACE=\"Verdana,Arial\" SIZE=1><B>Mark</B></FONT></TD><TD><FONT FACE=\"Verdana,Arial\" SIZE=1><B>Del</B></FONT></TD><TD><FONT FACE=\"Verdana,Arial\" SIZE=1><B>Mov</B></FONT></TD><TD BGCOLOR=c0c0c0>&nbsp;</TD><TD><FONT FACE=\"Verdana,Arial\" SIZE=1><B>Prop</B></FONT></TD><TD BGCOLOR=c0c0c0>&nbsp;</TD><TD ALIGN=LEFT><FONT FACE=\"Verdana,Arial\" SIZE=1><B>Subtopic</B></FONT></TD><TD>&nbsp;</TD></TR>\n";
		$ctr = 0; $ct = scalar(@selected); undef @tn;
		$counter_division = 0;
		foreach $thing (@selected) {
			($level, $topic, $page, $parent, $name, $xparam, $group) = split(/\t/, $thing);
			push (@tn, &unescape($name));
		}
		@tn = sort(@tn); undef %ps; $ct = 0;
		foreach $line (@tn) {
			$ct += 1;
			$ps{$line} = $ct;
		}
		foreach $thing (@shown) {
			($level, $topic, $page, $parent, $name, $xparam, $group) = split(/\t/, $thing);
			if ($xparam =~ m|^LINK:|) {
				$url = &unescape($group);
				$link = 1;
			} else {
				$link = 0;
			}
			$num = $page; $name = &unescape($name);
			$name2 = &JavaScript_prepare($name);
			print "<TR VALIGN=CENTER ALIGN=CENTER BGCOLOR=#$c><TD BGCOLOR=c0c0c0>&nbsp;</TD>";
			$counter += 1;
			if ($c eq "ffffcc") {
				$c = "ffffff";
			} else {
				$c = "ffffcc";
			}
			if ($display_start == 0 && $searchtext eq "") {
				print "<TD ALIGN=LEFT><INPUT TYPE=TEXT NAME=ORDER$num VALUE=$counter SIZE=3></TD>";
				$jsstr .= "document.sf.ORDER$num.value = (-1 * document.sf.ORDER$num.value); ";
				$jsstr2 .= "document.sf.ORDER$num.value = '$ps{$name}'; ";
				$jsstr3 .= "document.sf.ORDER$num.value = '" . (scalar(keys(%ps))-$ps{$name}+1) . "'; ";
				print "<TD BGCOLOR=c0c0c0>&nbsp;</TD>\n";
			}
			print "<TD>";
			print "<A HREF=\"#topstable\" onClick=\"marktos($ctr, $ct, 1);return false\"><IMG SRC=\"$html_url/icons/mark_up.gif\" HEIGHT=12 WIDTH=12 BORDER=0></A>&nbsp;";
			print "<A HREF=\"#topstable\" onClick=\"marktos($ctr, $ct, 0);return false\"><IMG SRC=\"$html_url/icons/mark_down.gif\" HEIGHT=12 WIDTH=12 BORDER=0></A>&nbsp;";
			print "<INPUT TYPE=CHECKBOX NAME=MARK VALUE=$num onClick=\"document.sf.marked_all.value = 0\">&nbsp;&nbsp;</TD>";
			$ctr++;
			$lz = ""; $lz = "0" if $link;
			print "<TD><A HREF=\"javascript:subact('delete', '$lz$num', '$name2')\"><IMG SRC=\"$html_url/icons/delete_icon.gif\" HEIGHT=25 WIDTH=25 BORDER=1></A></TD>";
			print "<TD><A HREF=\"javascript:subact('move', '$lz$num', '$name2')\"><IMG SRC=\"$html_url/icons/move_icon.gif\" HEIGHT=25 WIDTH=25 BORDER=1></A></TD>";
			print "<TD BGCOLOR=c0c0c0>&nbsp;</TD>\n";
			print "<TD><A HREF=\"javascript:subact('properties', '$lz$num', '$name2')\"><IMG SRC=\"$html_url/icons/properties_icon.gif\" HEIGHT=25 WIDTH=25 BORDER=1></A></TD>" if !$link;
			print "<TD><A HREF=\"javascript:subact('properties', '$lz$num', '$name2')\"><IMG SRC=\"$html_url/icons/properties_icon.gif\" HEIGHT=25 WIDTH=25 BORDER=1></A></TD>" if $link;
			print "<TD BGCOLOR=c0c0c0>&nbsp;</TD>\n";
			print "<TD WIDTH=100% ALIGN=LEFT>$fs\n";
			if ($link) {
				print "$name<BR><A HREF=\"$url\" TARGET=_blank>$url</A></FONT>";
			} else {
				print "<A HREF=\"$cgiurlm?username=$username&action=page_editor";
				print "&HTTP_REFERER=$topic_number/$num.$ext\">$name</A>";
			}
			print "</TD><TD BGCOLOR=c0c0c0>&nbsp;</TD>";
			print "</TR>\n";
		}
		if ($counter > 0) {
			print "<TR BGCOLOR=#ccccff ALIGN=CENTER>";
			print "<TD BGCOLOR=c0c0c0>&nbsp;</TD>\n";
			if ($display_start == 0 && $searchtext eq "") {
				print "<TD><A HREF=\"javascript:subact('reorder', 'all', '')\" onMouseOver=\"return setStatus('Reorder subtopics')\"><IMG SRC=\"$html_url/icons/reorder_icon.gif\" HEIGHT=25 WIDTH=25 BORDER=1></A></TD>";
				print "<TD BGCOLOR=c0c0c0>&nbsp;</TD>\n";
			}
			print "<TD ALIGN=LEFT><FONT FACE=\"Verdana,Arial\" SIZE=2><B>(Marked)</B></TD>";
			print "<TD><A HREF=\"javascript:subact('delete', 'all', 'all marked subtopics')\" onMouseOver=\"return setStatus('Delete all marked subtopics')\"><IMG SRC=\"$html_url/icons/delete_icon.gif\" HEIGHT=25 WIDTH=25 BORDER=1></A></TD>";
			print "<TD><A HREF=\"javascript:subact('move', 'all', 'all marked subtopics')\" onMouseOver=\"return setStatus('Move all marked subtopics')\"><IMG SRC=\"$html_url/icons/move_icon.gif\" HEIGHT=25 WIDTH=25 BORDER=1></A></TD>";
			print "<TD BGCOLOR=c0c0c0>&nbsp;</TD>\n";
			print "<TD>&nbsp;</TD>";
			print "<TD BGCOLOR=c0c0c0>&nbsp;</TD>\n";
			print "<TD>&nbsp;</TD>";
			print "<TD BGCOLOR=c0c0c0>&nbsp;</TD>\n";
			print "</TR>\n";
		}
		if ($display_start == 0 && $searchtext eq "") {
			print "<TR BGCOLOR=c0c0c0><TD COLSPAN=11>$fs<FONT SIZE=1><A HREF=\"#Subtopics\" onClick=\"$jsstr; return false\" onMouseOver=\"window.status = 'Reverse subtopic order'; return true\">Reverse</A> <A HREF=\"#Subtopics\" onClick=\"$jsstr2; return false\" onMouseOver=\"window.status = 'Sort subtopics alphabetically'; return true\">A-Z</A> <A HREF=\"#Subtopics\" onClick=\"$jsstr3; return false\" onMouseOver=\"window.status = 'Sort subtopics reverse alphabetically'; return true\">Z-A</A></FONT></TD></TR>\n";
		} else {
			print "<TR BGCOLOR=c0c0c0><TD COLSPAN=9>&nbsp;</TD></TR>\n";
		}
		print "</TABLE></FORM>\n";
		print "<HR><A NAME=\"AddSubtopic\"><H3>Add a Subtopic</H3>\n";
		print "<FORM ACTION=\"$cgiurl1\" METHOD=POST NAME=asf>\n";
		print "<INPUT TYPE=HIDDEN NAME=action VALUE=\"add_subtopic\">\n";
		print "<INPUT TYPE=HIDDEN NAME=username VALUE=\"$username\">\n";
		print "<INPUT TYPE=HIDDEN NAME=HTTP_REFERER VALUE=\"$page_referer\">\n";
		print "<TABLE BGCOLOR=ffffcc BORDER=1 WIDTH=100%><TR><TD>";
		print "<TABLE WIDTH=100%><TR><TD>", $fs, "Name:</TD><TD><INPUT TYPE=TEXT SIZE=50 NAME=subtopic></TD></TR></TABLE>\n";
		print "<TABLE WIDTH=100%>\n";
		$x0 = "0" if $interface eq "noframes";
		$x0 = "1" if $interface ne "noframes";
		print "<TR><TD>$fs", "<INPUT TYPE=RADIO NAME='type' VALUE=\"page\" CHECKED onClick=\"document.asf.linktype[0].checked=false;document.asf.linktype[1].checked=false;document.asf.linktype[2].checked=false;document.asf.linktype[3].checked=false;document.asf.linktype[4].checked=false;document.asf.url.value='N/A';if (!document.asf.pagetype[0].checked && !document.asf.pagetype[1].checked && !document.asf.pagetype[2].checked) {document.asf.pagetype[0].checked = true}\"> Add as discussion board page:</TD><TD>$fs<INPUT TYPE=RADIO NAME='type' VALUE=\"link\" onClick=\"if (document.asf.url.value == 'N/A') {document.asf.url.value='http://'};document.asf.pagetype[0].checked=false;document.asf.pagetype[1].checked=false;document.asf.pagetype[2].checked=false;if (!document.asf.linktype[0].checked && !document.asf.linktype[1].checked && !document.asf.linktype[2].checked && !document.asf.linktype[3].checked && !document.asf.linktype[4].checked) {document.asf.linktype[$x0].checked = true}\"> Add as link to URL:</TD></TR>\n";
		print "<TR><TD VALIGN=TOP>$fs", "&nbsp;&nbsp;&nbsp;<INPUT TYPE=RADIO NAME=pagetype VALUE=privateindex CHECKED onClick=\"document.asf.type[0].checked=true;document.asf.type[0].click()\">Private Index<BR>\n";
		print "&nbsp;&nbsp;&nbsp;<INPUT TYPE=RADIO NAME=pagetype VALUE=publicindex onClick=\"document.asf.type[0].checked=true;document.asf.type[0].click()\">Public Index<BR>\n";
		print "&nbsp;&nbsp;&nbsp;<INPUT TYPE=RADIO NAME=pagetype VALUE=message onClick=\"document.asf.type[0].checked=true;document.asf.type[0].click()\">Message Page<P>\n";
		print "&nbsp;&nbsp;&nbsp;<INPUT TYPE=CHECKBOX NAME=jumpin VALUE=1 CHECKED> Edit new subtopic once created\n";
		print "<BR><BR><INPUT TYPE=SUBMIT NAME=submit VALUE=\"Add this Subtopic\"></TD><TD VALIGN=TOP>";
		print "$fs";
		print "&nbsp;&nbsp;&nbsp;<INPUT TYPE=RADIO NAME=linktype VALUE=self onClick=\"document.asf.type[1].checked=true;document.asf.type[1].click()\"";
		print ">Original Frame<BR>\n";
		print "&nbsp;&nbsp;&nbsp;<INPUT TYPE=RADIO NAME=linktype VALUE=rightframe onClick=\"document.asf.type[1].checked=true;document.asf.type[1].click()\"";
		print ">Right frame<BR>\n";
		print "&nbsp;&nbsp;&nbsp;<INPUT TYPE=RADIO NAME=linktype VALUE=top onClick=\"document.asf.type[1].checked=true;document.asf.type[1].click()\">Top - Replaces frameset<BR>\n";
		print "&nbsp;&nbsp;&nbsp;<INPUT TYPE=RADIO NAME=linktype VALUE=parent onClick=\"document.asf.type[1].checked=true;document.asf.type[1].click()\">Parent Frame<BR>\n";
		print "&nbsp;&nbsp;&nbsp;<INPUT TYPE=RADIO NAME=linktype VALUE=new onClick=\"document.asf.type[1].checked=true;document.asf.type[1].click()\">New browser window<BR><BR>\n";
		print "URL:</FONT> <INPUT TYPE=TEXT NAME=url VALUE=\"N/A\" SIZE=25 onChange=\"document.asf.type[1].checked=true;document.asf.type[1].click()\"><BR>\n";
		print "</TD></TR></TABLE>\n";
		print "</TD></TR></TABLE></FORM>\n";
	}
	if ($param =~ /About/) {
		print "<HR><A NAME=\"AboutMessage\"><H3>About Message</H3>\n";
		$about_src =~ s/\s+$//g; $about_src =~ s/^\s+//g;
		$about_src = &unescape($about_src) unless $about_src =~ /\s/;
		$about_src =~ s/</&lt;/g;
		$about_src =~ s/>/&gt;/g;
		print "<FORM ACTION=\"$cgiurl1\" METHOD=POST>\n";
		print "<INPUT TYPE=HIDDEN NAME=action VALUE=\"about_message\">\n";
		print "<INPUT TYPE=HIDDEN NAME=username VALUE=\"$username\">\n";
		print "<INPUT TYPE=HIDDEN NAME=HTTP_REFERER VALUE=\"$page_referer\">\n";
		print "<TABLE BORDER=1 BGCOLOR=ffffcc WIDTH=100%><TR><TD>$fs", "Enter the text for your &quot;About Message&quot; in the area below.</FONT><P>\n";
		print "<TEXTAREA WRAP=VIRTUAL NAME=message ROWS=6 COLS=60>$about_src</TEXTAREA><P>\n";
		print "<INPUT TYPE=SUBMIT name=submit VALUE=\"Preview/Save Message\">\n";
		print "</TD></TR></TABLE><BR>\n";
		print "</FORM>\n";
	}
	if ($param =~ /Message/) {
		print "<HR><A NAME=\"Messages\"><H3>Messages</H3>\n";
		print "<FORM ACTION=\"$cgiurl1\" METHOD=POST NAME=mf>\n";
		print "<INPUT TYPE=HIDDEN NAME=action VALUE=\"messages\">\n";
		print "<INPUT TYPE=HIDDEN NAME=username VALUE=\"$username\">\n";
		print "<INPUT TYPE=HIDDEN NAME=HTTP_REFERER VALUE=\"$page_referer\">\n";
		print "<INPUT TYPE=HIDDEN NAME=SELECTION VALUE=\"\">\n";
		print "<TABLE CELLSPACING=0 CELLPADDING=2 BORDER=0>\n";
		$c = "ffffcc";
		print "<TR ALIGN=CENTER BGCOLOR=c0c0c0><TD>&nbsp;</TD><TD><FONT FACE=\"Verdana,Arial\" SIZE=1><B>Order</B></FONT></TD><TD>&nbsp;</TD><TD><FONT FACE=\"Verdana,Arial\" SIZE=1><B>Mark</B></FONT></TD><TD><FONT FACE=\"Verdana,Arial\" SIZE=1><B>Del</B></FONT></TD><TD><FONT FACE=\"Verdana,Arial\" SIZE=1><B>Mov</B></FONT></TD><TD BGCOLOR=c0c0c0>&nbsp;</TD><TD><FONT FACE=\"Verdana,Arial\" SIZE=1><B>Edit</B></FONT></TD><TD><FONT FACE=\"Verdana,Arial\" SIZE=1><B>View</B></FONT></TD><TD><FONT FACE=\"Verdana,Arial\" SIZE=1><B>Info</B></FONT></TD><TD BGCOLOR=c0c0c0>&nbsp;</TD><TD ALIGN=LEFT><FONT FACE=\"Verdana,Arial\" SIZE=1><B>Message</B></FONT></TD><TD>&nbsp;</TD></TR>\n";
		$count = 0; $ct = 0; $ctr = 0;
		@msg = split(/\n/, $message); undef @msg2;
		$counter = 0;
		$jsstr = "";
		undef %mf; undef %message; undef %line;
		foreach $line (@msg) {
			if ($line =~ m|^<!-Post: (\d+)-!>|) {
				$flag = $1; $mf{$flag} = 1; push (@msg2, $flag); $ct += 1;
			} elsif ($flag) {
				$line{$flag} = $line;
				undef $flag;
			}
		}
		open (LOG, "$admin_dir/msg_index/$topic-log.txt");
		while (<LOG>) {
			@c = split(/;/, $_);
			if ($mf{$c[0]} == 1) {
				$message{$c[0]} = $_;
			}
		}
		close (LOG);
		undef %mf;
		foreach $num (@msg2) {
			$line = $line{$num};
			print "<TR VALIGN=CENTER ALIGN=CENTER BGCOLOR=#$c><TD BGCOLOR=c0c0c0>&nbsp;</TD>";
			$counter += 1;
			$info = $message{$num};
			$info = "" if $info eq "1";
			&log_error("src-board-subs-3", "page_mgr_2", "Info for post $num not found in posting log!") if $info eq "";
			($numb, $by, $time, $where, $ipaddr, $iphost, $actualtext, $postby) = split(/;/, $info);
			if ($by eq "public user:MODERATOR") {
				$by = "Public User";
			}
			if ($line =~ m|<!-Name-!>(.*)<!-/Name-!>|) {
				$postby = &remove_html($1);
			} else {
				$postby = "<FONT COLOR=#ff0000 SIZE=1>Error Determining Name</FONT>";
			}
			if ($line =~ m|<!-Text-!>(.*)<!-/Text-!>|) {
				$preview = &remove_html($1, 1);
			} else {
				$preview = "<FONT COLOR=#ff0000 SIZE=1>Error Determining Text</FONT>";
			}
			$preview =~ s/</&lt;/g;
			$preview =~ s/>/&gt;/g;
			$preview .= " ";
			if ($preview =~ m|^(.{0,40})\s|) {
				$preview = $1;
			} else {
				$preview = substr($preview, 0, 40);
			}
			$ts = &get_date_time("realshort", $time);
			print "<TD ALIGN=LEFT><INPUT TYPE=TEXT NAME=ORDER$num VALUE=$counter SIZE=3></TD>";
			print "<TD BGCOLOR=c0c0c0>&nbsp;</TD>\n";
			print "<TD>";
			$pb = &JavaScript_prepare($postby);
			$pb =~ s/\s+$//;
			$ctr = 0 if $ctr == 0;
			$ct = 0 if $ct == 0;
			print "<A HREF=\"#\" onClick=\"marktom($ctr, $ct, 1);return false\" onMouseOver=\"return setStatus('Toggle marks at and above this point')\"><IMG SRC=\"$html_url/icons/mark_up.gif\" HEIGHT=12 WIDTH=12 BORDER=0></A>&nbsp;";
			print "<A HREF=\"#\" onClick=\"marktom($ctr, $ct, 0);return false\" onMouseOver=\"return setStatus('Toggle marks at and below this point')\"><IMG SRC=\"$html_url/icons/mark_down.gif\" HEIGHT=12 WIDTH=12 BORDER=0></A>&nbsp;";
			$ctr++;
			print "<INPUT TYPE=CHECKBOX NAME=MARK VALUE=$num>&nbsp;&nbsp;</TD>";
			print "<TD><A HREF=\"javascript:msgact('delete', '$num', 'message number $counter, by $postby on $ts')\" onMouseOver=\"return setStatus('Delete this message')\"><IMG SRC=\"$html_url/icons/delete_icon.gif\" HEIGHT=25 WIDTH=25 BORDER=1></A></TD>";
			$jsstr .= "document.mf.ORDER$num.value = (-1 * document.mf.ORDER$num.value);";
			print "<TD><A HREF=\"javascript:msgact('move', '$num', '')\" onMouseOver=\"return setStatus('Move this message')\"><IMG SRC=\"$html_url/icons/move_icon.gif\" HEIGHT=25 WIDTH=25 BORDER=1></A></TD>";
			print "<TD BGCOLOR=c0c0c0>&nbsp;</TD>\n";
			print "<TD><A HREF=\"javascript:msgact('edit', '$num', '')\" onMouseOver=\"return setStatus('Edit this message')\"><IMG SRC=\"$html_url/icons/edit_icon.gif\" HEIGHT=25 WIDTH=25 BORDER=1></A></TD>";
			print "<TD><A HREF=\"$cgiurlm?username=$FORM{'username'}&action=viewmessage&HTTP_REFERER=/$FORM{'HTTP_REFERER'}&num=$num\" onMouseOver=\"return setStatus('View this message')\"><IMG SRC=\"$html_url/icons/view_icon.gif\" HEIGHT=25 WIDTH=25 BORDER=1></A></TD>";
			$n = "\\n";
			print "<TD><A HREF='javascript:alert(\"POST INFORMATION$n*Posted by: $by$n*IP Address: $ipaddr$n*IP Host: $iphost\")' onMouseOver='return setStatus(\"View information for this message\"); return true'><IMG SRC=\"$html_url/icons/info_icon.gif\" HEIGHT=25 WIDTH=25 BORDER=1></A></TD>";
			print "<TD BGCOLOR=c0c0c0>&nbsp;</TD>\n";
			print "<TD ALIGN=LEFT><FONT FACE=\"Verdana,Arial\" SIZE=1>$postby [";
			print "$ts]<BR>$preview</FONT></TD>";
			print "<TD BGCOLOR=c0c0c0>&nbsp;</TD>\n";
			print "</TR>\n";
			if ($c eq "ffffcc") {
				$c = "ffffff";
			} else {
				$c = "ffffcc";
			}
		}
		if ($counter > 0) {
			print "<TR BGCOLOR=#ccccff ALIGN=CENTER>";
			print "<TD BGCOLOR=c0c0c0>&nbsp;</TD>\n";
			print "<TD><A HREF=\"javascript:msgact('reorder', 'all', '')\" onMouseOver=\"return setStatus('Reorder messages')\"><IMG SRC=\"$html_url/icons/reorder_icon.gif\" HEIGHT=25 WIDTH=25 BORDER=1></A></TD>";
			print "<TD BGCOLOR=c0c0c0>&nbsp;</TD>\n";
			print "<TD ALIGN=LEFT><FONT FACE=\"Verdana,Arial\" SIZE=2><B>(Marked)</B></TD>";
			print "<TD><A HREF=\"javascript:msgact('delete', 'all', 'all marked messages')\" onMouseOver=\"return setStatus('Delete all marked messages')\"><IMG SRC=\"$html_url/icons/delete_icon.gif\" HEIGHT=25 WIDTH=25 BORDER=1></A></TD>";
			print "<TD><A HREF=\"javascript:msgact('move', 'all', 'all marked messages')\" onMouseOver=\"return setStatus('Move all marked messages')\"><IMG SRC=\"$html_url/icons/move_icon.gif\" HEIGHT=25 WIDTH=25 BORDER=1></A></TD>";
			print "<TD BGCOLOR=c0c0c0>&nbsp;</TD>\n";
			print "<TD COLSPAN=3>&nbsp;</TD>";
			print "<TD BGCOLOR=c0c0c0>&nbsp;</TD>\n";
			print "<TD>&nbsp;</TD>";
			print "<TD BGCOLOR=c0c0c0>&nbsp;</TD>\n";
			print "</TR>\n";
		}
		print "<TR BGCOLOR=c0c0c0><TD COLSPAN=13>$fs<FONT SIZE=1><A HREF=\"#Messages\" onClick=\"$jsstr; return false\" onMouseOver=\"window.status = 'Reverse message order'; return true\">Reverse</A></FONT></TD></TR></TABLE>\n";
		print "</FORM>\n";
		print "<HR><A NAME=\"AddMessage\"><H3>Add a Message</H3>\n";
		print "<FORM ACTION=\"$script_url/board-post.$cgi_extension\" METHOD=POST>\n";
		print "<TABLE BORDER=1 BGCOLOR=ffffcc WIDTH=100%><TR><TD>$fs", "Enter the text for your message in the area below.</FONT><P>\n";
		print "<TEXTAREA NAME=message ROWS=12 COLS=55 WRAP=VIRTUAL>";
		print "</TEXTAREA><P>\n";
		print "<INPUT TYPE=checkbox NAME=Anon VALUE=\"on\">$fs Post message as &quot;Anonymous&quot;</FONT><BR>\n";
		if ($GLOBAL_OPTIONS{'email'} && ($GLOBAL_OPTIONS{'moderator_turn_off_email'} || $username eq $superuser)) {
			print "<INPUT TYPE=checkbox NAME=\"no_email\" VALUE=\"1\">$fs Do not send e-mail notification</FONT><BR>\n";
		}
		print "<BR>\n";
		print "<INPUT TYPE=submit NAME=submit VALUE=\"Preview/Post Message\">\n";
		print "<INPUT TYPE=hidden NAME=name VALUE=\"$FORM{'username'}\">\n";
		print "<INPUT TYPE=HIDDEN NAME=HTTP_REFERER VALUE=\"$page_referer\">\n";
		print "<INPUT TYPE=HIDDEN NAME=isitok VALUE=okiedokie>\n";
		print "</TD></TR></TABLE></FORM>\n";
	}
	print "<HR>\n";
	print "<A NAME=\"Layout\"><H3>Page Layout</H3>\n";
	undef %params;
	$params{subtopic} = "CHECKED" if $param =~ /Sub/;
	$params{create} = "CHECKED"  if $param =~ /Create/;
	$params{messages} = "CHECKED"  if $param =~ /Message/;
	$params{about} = "CHECKED"  if $param =~ /About/;
	$params{add} = "CHECKED"  if $param =~ /Add/;
	$params{announce} = "CHECKED"  if $param =~ /Announcement/;
	undef %t;
	print "<FORM ACTION=\"$cgiurl1\" METHOD=POST NAME=layout>\n";
	print "<INPUT TYPE=HIDDEN NAME=action VALUE=\"change_layout\">\n";
	print "<INPUT TYPE=HIDDEN NAME=username VALUE=\"$username\">\n";
	print "<INPUT TYPE=HIDDEN NAME=HTTP_REFERER VALUE=\"$page_referer\">\n";
	print '<TABLE WIDTH=100% BORDER=1 BGCOLOR=ffffcc><TR><TD>';
	print "<TABLE><TR><TD VALIGN=TOP>$fs", "<U>Available Templates</U>:<P>\n";
	print "<INPUT TYPE=RADIO NAME=pgtype onClick=\"document.layout.element1.checked=true;document.layout.element2.checked=false;document.layout.element3.checked=false;document.layout.element4.checked=false;document.layout.element5.checked=false;document.layout.element6.checked=false\"> Private Index<BR>\n";
	print "<INPUT TYPE=RADIO NAME=pgtype onClick=\"document.layout.element1.checked=true;document.layout.element2.checked=true;document.layout.element3.checked=false;document.layout.element4.checked=false;document.layout.element5.checked=false;document.layout.element6.checked=false\"> Public Index<BR>\n";
	print "<INPUT TYPE=RADIO NAME=pgtype onClick=\"document.layout.element1.checked=false;document.layout.element2.checked=false;document.layout.element3.checked=false;document.layout.element4.checked=true;document.layout.element5.checked=true;document.layout.element6.checked=false\"> Message Page<BR>\n";
	print "<INPUT TYPE=RADIO NAME=pgtype onClick=\"document.layout.element1.focus()\"> Custom Layout</TD>";
	print "<TD>&nbsp;&nbsp;&nbsp;</TD>\n";
	print "<TD VALIGN=TOP>$fs", "<U>Discussion Elements</U>:<P>\n";
	print "<INPUT TYPE=CHECKBOX NAME=element6 onClick=\"recompute()\" $params{announce}> Announcement<BR>\n";
	print "<INPUT TYPE=CHECKBOX NAME=element1 onClick=\"recompute()\" $params{subtopic}> List of subtopics<BR>\n";
	print "<INPUT TYPE=CHECKBOX NAME=element2 onClick=\"if (document.layout.element2.checked) {document.layout.element1.checked = true};recompute()\" $params{create}> &quot;Create New Conversation&quot; button<BR>\n";
	print "<INPUT TYPE=CHECKBOX NAME=element3 onClick=\"recompute()\" $params{about}> About message<BR>\n";
	print "<INPUT TYPE=CHECKBOX NAME=element4 onClick=\"recompute()\" $params{messages}> Messages<BR>\n";
	print "<INPUT TYPE=CHECKBOX NAME=element5 onClick=\"if (document.layout.element5.checked) {document.layout.element4.checked = true};recompute()\" $params{add}> &quot;Add a Message&quot; form<BR>\n";
	print "</TD></TR></TABLE><P>\n";
	print "<INPUT TYPE=SUBMIT VALUE=\"Save Page Layout\"></TD></TR></TABLE>\n";
	print "</FORM>\n";
	print "</BODY></HTML>\n";
	exit(0);
}

# END - FILE IS CORRECTLY UPLOADED #
