Monday, November 08, 2010 at 12:05 AM.

on popup (prompt, name, itemlist, selecteditem="", namelist=nil) {
		<<2/24/01; 1:16:29 AM by JES
			<<New parameter, namelist, is a list of display names for the menu options.
	local (htmltext = "\r", indentlevel = 0);
	on add (s) {
		htmltext = htmltext + string.filledstring ("\t", indentlevel) + s + "\r\n"};
	add ("<tr>"); indentlevel++;
	add ("<td align=\"left\">" + prompt + ":</td>");
	add ("<td>"); indentlevel++;
	add ("<select name=\"" + name + "\">"); indentlevel++;
	local (s, i);
	for i = 1 to sizeOf (itemlist) {
		s = itemlist[i];
		local (name);
		if namelist != nil {
			name = namelist[i]}
		else {
			name = itemlist[i]};
		if s == selecteditem {
			add ("<option value=\"" + s + "\" selected>" + name)}
		else {
			add ("<option value=\"" + s + "\">" + name)}};
	add ("</select>"); indentlevel--;
	add ("</td>"); indentlevel--;
	add ("</tr>"); indentlevel--;
	return (htmltext)}

This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.