home *** CD-ROM | disk | FTP | other *** search
/ Internet Magazine 2002 August / INTERNET94.ISO / pc / software / windows / mail / ft_gate_office / ftgateoffice105.exe / Main / grouprecipients.fts < prev    next >
Encoding:
Text File  |  2002-03-08  |  18.7 KB  |  588 lines

  1. <%
  2. #include </utility/security.fts>
  3. #include </utility/global.fts>
  4. #include </utility/theme.fts>
  5. #include </utility/ftgate.fts>
  6. #include </utility/asperrors.fts>
  7.  
  8. var d = new server.domain
  9. var buildType=build()
  10.  
  11. var domain
  12. var name
  13. var names
  14.  
  15. var frompattern
  16. var topattern
  17.  
  18. session.system.error=0
  19.  
  20. if (form.config>=1)
  21.     d.domainname = form.domain
  22. else
  23.     d.domainname = request.domain
  24.  
  25. var m = new d.mailbox
  26.  
  27. if (form.config==1)
  28. {
  29.     domain = form.domain
  30.     name = form.name
  31.  
  32.     m.name=name
  33.  
  34.     if (form.command=="1")
  35.     {
  36.         var names=string(form.names)
  37.         var start=0
  38.         var pos=names.indexof(",",0)
  39.         while (pos!=-1)
  40.         {
  41.             m.member.add(names.slice(start, pos))
  42.             start=pos+1
  43.             pos=names.indexof(",",start)
  44.         }
  45.     }
  46.  
  47.     if (form.command=="2")
  48.     {
  49.         var names=string(form.names)
  50.         var start=0
  51.         var pos=names.indexof(",",0)
  52.         while (pos!=-1)
  53.         {
  54.             m.member.remove(names.slice(start, pos))
  55.             start=pos+1
  56.             pos=names.indexof(",",start)
  57.         }
  58.     }
  59.  
  60.     // set "frompattern" to be a valid pattern
  61.     //
  62.     frompattern = form.frompattern
  63.     if ((frompattern==0)||(frompattern==""))
  64.         frompattern="*"
  65.  
  66.     // set "topattern" to be a valid pattern
  67.     //
  68.     topattern = form.topattern
  69.     if ((topattern==0)||(topattern==""))
  70.         topattern="*"
  71.  
  72.     if (form.redirect!="")
  73.     {
  74.         var parms="?domain="+domain+"&name="+name
  75.         output.redirect(form.redirect+parms)
  76.     }
  77. }
  78. else if (form.config=="2")
  79. {
  80.   if (form.redirect!="")
  81.         output.redirect(form.redirect+"?domain="+form.domain+"&name="+form.name)
  82. }
  83. else
  84. {
  85.     domain = request.domain
  86.     name = request.name
  87.  
  88.     m.name=name
  89.  
  90.     frompattern=request.frompattern
  91.     topattern=request.topattern
  92.  
  93.     if (frompattern=="")
  94.         frompattern="*"
  95.     if (topattern=="")
  96.         topattern="*"
  97. }
  98. %>
  99. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
  100. <HTML>
  101. <HEAD>
  102. <LINK REL=STYLESHEET HREF="/utility/main<%=nn4%>.css" TYPE="text/css">
  103. <META NAME="GENERATOR" Content="Microsoft Developer Studio">
  104. <META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
  105. <TITLE>Mailboxes -- Group Members</TITLE>
  106. <SCRIPT LANGUAGE="JavaScript1.2" TYPE="text/javascript">
  107. <!--
  108. var dir="<%=buttons%>";
  109. var pro=<%=build()==FTGATE_PRO%>;
  110.  
  111. if (!document.images) {}
  112. else {
  113.     remove0 = new Image();
  114.     remove0.src  = dir+"prev.gif";
  115.     remove1 = new Image();
  116.     remove1.src = dir+"prevon.gif";
  117.     add0 = new Image();
  118.     add0.src  = dir+"next.gif";
  119.     add1 = new Image();
  120.     add1.src = dir+"nexton.gif";
  121.     find0 = new Image();
  122.     find0.src  = dir+"refresh.gif";
  123.     find1 = new Image();
  124.     find1.src = dir+"refreshon.gif";
  125. }
  126.  
  127. <%
  128. if (netscape)
  129. {
  130.     %>
  131.     document.captureEvents(Event.KEYPRESS);
  132.     document.onkeypress = keypress;
  133.  
  134.     function keypress(event)
  135.     {
  136.         if (event.which==13)
  137.         {
  138.             if (document.activeElement==document.ftgate.fromname)
  139.                 onApply();
  140.             else if (document.activeElement==document.ftgate.toname)
  141.                 onRemove();
  142.             else
  143.                 onApply();
  144.  
  145.             return false;
  146.         }
  147.  
  148.         return true;
  149.     }
  150.     <%
  151. }
  152. else
  153. {
  154.     %>
  155.     function keypress()
  156.     {
  157.         if (event.keyCode==13)
  158.         {
  159.             event.returnValue=null;
  160.             if (document.activeElement==document.ftgate.fromname)
  161.                 onApply();
  162.             else if (document.activeElement==document.ftgate.toname)
  163.                 onRemove();
  164.             else
  165.                 onApply();
  166.         }
  167.     }
  168.     <%
  169. }
  170. %>
  171.  
  172. function onLoad()
  173. {
  174.     <%
  175.     if (build()==FTGATE_PRO)
  176.         output.writeln("setPage(4, \"Group Mailbox\");")
  177.     else
  178.         output.writeln("setPage(3, \"Group Mailbox\");")
  179.     %>
  180.  
  181.     <%
  182.     if (session.system.error)
  183.     {
  184.         output.writeln("aspError("+session.system.error+");")
  185.     }
  186.     %>
  187.     
  188.     document.ftgate.fromname.focus();
  189. }
  190.  
  191. function onSearch()
  192. {
  193.     document.ftgate.command.value="0";
  194.     document.ftgate.submit();
  195. }
  196.  
  197. function onRemove()
  198. {
  199.     var list = document.ftgate.toname;
  200.     var names = "";
  201.  
  202.     if (list.selectedIndex!=-1)
  203.     {
  204.         var i;
  205.  
  206.         for (i=0; i<list.length; i++)
  207.         {
  208.             if (list.options[i].selected)
  209.             {
  210.                 names+=list.options[i].text;
  211.                 names+=",";
  212.             }
  213.         }
  214.  
  215.         document.ftgate.names.value=names;
  216.     }
  217.  
  218.     document.ftgate.command.value="2";
  219.     document.ftgate.submit();
  220. }
  221.  
  222. function onDone()
  223. {
  224.     document.ftgate.redirect.value="index.fts"
  225.     document.ftgate.submit();
  226. }
  227.  
  228. function isOK(form)
  229. {
  230.     var list = document.ftgate.fromname;
  231.     var names = "";
  232.  
  233.     if (list.selectedIndex!=-1)
  234.     {
  235.         var i;
  236.  
  237.         for (i=0; i<list.length; i++)
  238.         {
  239.             if (list.options[i].selected)
  240.             {
  241.                 names+=list.options[i].text;
  242.                 names+=",";
  243.             }
  244.         }
  245.  
  246.         document.ftgate.names.value=names;
  247.     }
  248.     
  249.     return true;
  250. }
  251.  
  252. function onLetter(type, letter)
  253. {
  254.     var href = "grouprecipients.fts?domain=<%=domain%>&name=<%=name%>";
  255.  
  256.     if (type==1)
  257.         href+="&frompattern="+letter+"*"+"&topattern=<%=topattern%>";
  258.     else
  259.         href+="&topattern="+letter+"*"+"&frompattern=<%=frompattern%>";
  260.  
  261.     window.location.href=href;
  262. }
  263. //-->
  264. </SCRIPT>
  265. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/cookies.js" TYPE="text/javascript"></SCRIPT>
  266. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/core.js" TYPE="text/javascript"></SCRIPT>
  267. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/dialog.js" TYPE="text/javascript"></SCRIPT>
  268. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/asperrors.js" TYPE="text/javascript"></SCRIPT>
  269. </HEAD>
  270.  
  271. <BODY BGCOLOR="white" onLoad="onLoad()" MARGINHEIGHT="0" MARGINWIDTH="0" onkeypress="keypress()">
  272.  
  273. <MAP NAME="az">
  274.     <AREA SHAPE="RECT" COORDS="0,0,15,15" HREF="javascript:onLetter(1,'a')">
  275.     <AREA SHAPE="RECT" COORDS="16,0,31,15" HREF="javascript:onLetter(1,'b')">
  276.     <AREA SHAPE="RECT" COORDS="32,0,47,15" HREF="javascript:onLetter(1,'c')">
  277.     <AREA SHAPE="RECT" COORDS="48,0,63,15" HREF="javascript:onLetter(1,'d')">
  278.     <AREA SHAPE="RECT" COORDS="64,0,79,15" HREF="javascript:onLetter(1,'e')">
  279.     <AREA SHAPE="RECT" COORDS="80,0,95,15" HREF="javascript:onLetter(1,'f')">
  280.     <AREA SHAPE="RECT" COORDS="96,0,111,15" HREF="javascript:onLetter(1,'g')">
  281.     <AREA SHAPE="RECT" COORDS="112,0,127,15" HREF="javascript:onLetter(1,'h')">
  282.     <AREA SHAPE="RECT" COORDS="128,0,143,15" HREF="javascript:onLetter(1,'i')">
  283.     <AREA SHAPE="RECT" COORDS="0,16,15,31" HREF="javascript:onLetter(1,'j')">
  284.     <AREA SHAPE="RECT" COORDS="16,16,31,31" HREF="javascript:onLetter(1,'k')">
  285.     <AREA SHAPE="RECT" COORDS="32,16,47,31" HREF="javascript:onLetter(1,'l')">
  286.     <AREA SHAPE="RECT" COORDS="48,16,63,31" HREF="javascript:onLetter(1,'m')">
  287.     <AREA SHAPE="RECT" COORDS="64,16,79,31" HREF="javascript:onLetter(1,'n')">
  288.     <AREA SHAPE="RECT" COORDS="80,16,95,31" HREF="javascript:onLetter(1,'o')">
  289.     <AREA SHAPE="RECT" COORDS="96,16,111,31" HREF="javascript:onLetter(1,'p')">
  290.     <AREA SHAPE="RECT" COORDS="112,16,127,31" HREF="javascript:onLetter(1,'q')">
  291.     <AREA SHAPE="RECT" COORDS="128,16,143,31" HREF="javascript:onLetter(1,'r')">
  292.     <AREA SHAPE="RECT" COORDS="0,32,15,47" HREF="javascript:onLetter(1,'s')">
  293.     <AREA SHAPE="RECT" COORDS="16,32,31,47" HREF="javascript:onLetter(1,'t')">
  294.     <AREA SHAPE="RECT" COORDS="32,32,47,47" HREF="javascript:onLetter(1,'u')">
  295.     <AREA SHAPE="RECT" COORDS="48,32,63,47" HREF="javascript:onLetter(1,'v')">
  296.     <AREA SHAPE="RECT" COORDS="64,32,79,47" HREF="javascript:onLetter(1,'w')">
  297.     <AREA SHAPE="RECT" COORDS="80,32,95,47" HREF="javascript:onLetter(1,'x')">
  298.     <AREA SHAPE="RECT" COORDS="96,32,111,47" HREF="javascript:onLetter(1,'y')">
  299.     <AREA SHAPE="RECT" COORDS="112,32,127,47" HREF="javascript:onLetter(1,'z')">
  300.     <AREA SHAPE="RECT" COORDS="128,32,143,47" HREF="javascript:onLetter(1,'')">
  301. </MAP>
  302.  
  303. <MAP NAME="az2">
  304.     <AREA SHAPE="RECT" COORDS="0,0,15,15" HREF="javascript:onLetter(2,'a')">
  305.     <AREA SHAPE="RECT" COORDS="16,0,31,15" HREF="javascript:onLetter(2,'b')">
  306.     <AREA SHAPE="RECT" COORDS="32,0,47,15" HREF="javascript:onLetter(2,'c')">
  307.     <AREA SHAPE="RECT" COORDS="48,0,63,15" HREF="javascript:onLetter(2,'d')">
  308.     <AREA SHAPE="RECT" COORDS="64,0,79,15" HREF="javascript:onLetter(2,'e')">
  309.     <AREA SHAPE="RECT" COORDS="80,0,95,15" HREF="javascript:onLetter(2,'f')">
  310.     <AREA SHAPE="RECT" COORDS="96,0,111,15" HREF="javascript:onLetter(2,'g')">
  311.     <AREA SHAPE="RECT" COORDS="112,0,127,15" HREF="javascript:onLetter(2,'h')">
  312.     <AREA SHAPE="RECT" COORDS="128,0,143,15" HREF="javascript:onLetter(2,'i')">
  313.     <AREA SHAPE="RECT" COORDS="0,16,15,31" HREF="javascript:onLetter(2,'j')">
  314.     <AREA SHAPE="RECT" COORDS="16,16,31,31" HREF="javascript:onLetter(2,'k')">
  315.     <AREA SHAPE="RECT" COORDS="32,16,47,31" HREF="javascript:onLetter(2,'l')">
  316.     <AREA SHAPE="RECT" COORDS="48,16,63,31" HREF="javascript:onLetter(2,'m')">
  317.     <AREA SHAPE="RECT" COORDS="64,16,79,31" HREF="javascript:onLetter(2,'n')">
  318.     <AREA SHAPE="RECT" COORDS="80,16,95,31" HREF="javascript:onLetter(2,'o')">
  319.     <AREA SHAPE="RECT" COORDS="96,16,111,31" HREF="javascript:onLetter(2,'p')">
  320.     <AREA SHAPE="RECT" COORDS="112,16,127,31" HREF="javascript:onLetter(2,'q')">
  321.     <AREA SHAPE="RECT" COORDS="128,16,143,31" HREF="javascript:onLetter(2,'r')">
  322.     <AREA SHAPE="RECT" COORDS="0,32,15,47" HREF="javascript:onLetter(2,'s')">
  323.     <AREA SHAPE="RECT" COORDS="16,32,31,47" HREF="javascript:onLetter(2,'t')">
  324.     <AREA SHAPE="RECT" COORDS="32,32,47,47" HREF="javascript:onLetter(2,'u')">
  325.     <AREA SHAPE="RECT" COORDS="48,32,63,47" HREF="javascript:onLetter(2,'v')">
  326.     <AREA SHAPE="RECT" COORDS="64,32,79,47" HREF="javascript:onLetter(2,'w')">
  327.     <AREA SHAPE="RECT" COORDS="80,32,95,47" HREF="javascript:onLetter(2,'x')">
  328.     <AREA SHAPE="RECT" COORDS="96,32,111,47" HREF="javascript:onLetter(2,'y')">
  329.     <AREA SHAPE="RECT" COORDS="112,32,127,47" HREF="javascript:onLetter(2,'z')">
  330.     <AREA SHAPE="RECT" COORDS="128,32,143,47" HREF="javascript:onLetter(2,'')">
  331. </MAP>
  332.  
  333. <TABLE BORDER="0" BGCOLOR="<%=border%>" WIDTH="<%=bodywidth%>" HEIGHT="<%=bodyheight%>" CELLPADDING="0" CELLSPACING="0"><TR><TD> </TD><TD VALIGN="TOP">
  334.  
  335. <%
  336. if (session.webmail.domain=="")
  337. {
  338.     %>
  339.     <A HREF="javascript:onLaunch('/domains/index.fts')"><SPAN ID="top">Domains</SPAN></A><SPAN ID="top"> / </SPAN>
  340.     <A HREF="javascript:onLaunch('/mailboxes/index.fts')"><SPAN ID="top"><%=d.domainname%></SPAN></A><SPAN ID="top"> / </SPAN>
  341.     <SPAN ID="topsel"><%=m.name%></SPAN><SPAN ID="top"></SPAN>
  342.     <%
  343. }
  344. else
  345. {
  346.     %>
  347.     <SPAN ID="top">Mailbox:</SPAN> <SPAN ID="topsel"><%=m.name%>@<%=d.domainname%></SPAN>
  348.     <%
  349. }
  350. %>
  351.  
  352. <!-- start of the tabs -->
  353. <FORM NAME="ftgate" METHOD="POST" onSubmit="return isOK(this)" ACTION="grouprecipients.fts">
  354. <INPUT TYPE="HIDDEN" NAME="config" VALUE="1">
  355. <INPUT TYPE="HIDDEN" NAME="command" VALUE="1">
  356. <INPUT TYPE="HIDDEN" NAME="domain" VALUE="<%=domain%>">
  357. <INPUT TYPE="HIDDEN" NAME="name" VALUE="<%=name%>">
  358. <INPUT TYPE="HIDDEN" NAME="names" VALUE="">
  359. <INPUT TYPE="HIDDEN" NAME="redirect" VALUE="">
  360.  
  361. <TABLE BORDER="0" WIDTH="100%" CELLSPACING="0" CELLPADDING="0">
  362.     <TR>
  363.         <TD WIDTH="5" HEIGHT="18"><IMG SRC="/images/left.gif" VSPACE="0" BORDER="0" WIDTH="5" HEIGHT="18"></TD>
  364.         <TD CLASS="navoff" WIDTH="50" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('general.fts')" CLASS="navoff">General</A></TD>
  365.         <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  366.         <TD CLASS="navoff" WIDTH="55" HEIGHT="18"ALIGN="CENTER"><A HREF="javascript:onLaunch('optionsgroup.fts')" CLASS="navoff">Options</A></TD>
  367.         <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  368.         <%
  369.         var width=bodywidth
  370.  
  371.         if (session.webmail.domain=="")
  372.         {
  373.             width=width-56
  374.             %>
  375.             <TD CLASS="navoff" WIDTH="55" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('script.fts')" CLASS="navoff">Script</A></TD>
  376.             <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  377.             <%
  378.         }
  379.         %>
  380.         <TD CLASS="navoff" WIDTH="55" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('security.fts')" CLASS="navoff">Security</A></TD>
  381.         <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  382.         <TD CLASS="navoff" WIDTH="55" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('info.fts')" CLASS="navoff">Info</A></TD>
  383.         <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  384.         <TD CLASS="navon" WIDTH="50" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('grouprecipients.fts')" CLASS="navon">Members</A></TD>
  385.         <TD BGCOLOR="black" WIDTH="1" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/1pixel.gif" WIDTH="1" HEIGHT="18"></TD>
  386.         <TD CLASS="navoff" WIDTH="50" HEIGHT="18" ALIGN="CENTER"><A HREF="javascript:onLaunch('mailbox.fts')" CLASS="navoff">Mailbox</A></TD>
  387.         <TD BGCOLOR="<%=border%>" WIDTH="5" HEIGHT="18" ALIGN="CENTER"><IMG SRC="/images/right.gif" WIDTH="5" HEIGHT="18"></TD>
  388.         <TD WIDTH="<%=width-335%>"> </TD>
  389.     </TR>
  390. </TABLE>
  391. <!-- end of the tabs -->
  392.  
  393. <!-- start of the tab body -->
  394. <TABLE BORDER="0" BGCOLOR="<%=border%>" WIDTH="100%" CELLPADDING="0" CELLSPACING="0"><TR><TD>
  395. <TABLE <%=table%> CELLPADDING="0" CELLSPACING="0">
  396.     <!-- start of block -->
  397.     <TR>
  398.         <TD VALIGN="TOP">
  399.             <TABLE BORDER="0" WIDTH="100%">
  400.                 <!-- sub table goes here -->
  401.                 <TR>
  402.                     <TD>
  403.                         <TABLE CLASS="box" WIDTH="100%">
  404.                             <TR>
  405.                                 <TD>
  406.                                     <TABLE BORDER="0" WIDTH="100%">
  407.                                         <TR>
  408.                                             <TD COLSPAN="2">
  409.                                                 Available mailboxes<BR>
  410.                                                 <SELECT CLASS="SEL100" NAME="fromname" MULTIPLE SIZE="10">
  411.                                                 <%
  412.                                                     var m2 = new d.mailbox
  413.                                                     var first=true
  414.                                                     var found=false
  415.  
  416.                                                     var okm2 = m2.findfirst(fromPattern)
  417.  
  418.                                                     while (okm2)
  419.                                                     {
  420.                                                         if ((m2.name!=m.name)&&(m2.type>=3)&&(m2.type<=7))
  421.                                                         {
  422.                                                             found = false;
  423.  
  424.                                                             var okm = m.member.findfirst("*")
  425.                                                             while (okm&&(found==false))
  426.                                                             {
  427.                                                                 if (m.member.name==m2.name)
  428.                                                                     found=true
  429.                                                                 else
  430.                                                                     okm=m.member.findnext()
  431.                                                             }
  432.  
  433.                                                             if (found==false)
  434.                                                             {
  435.                                                                 output.write("<OPTION VALUE=\""+m2.name+"\"")
  436.  
  437.                                                                 if (first)
  438.                                                                 {
  439.                                                                     output.write(" SELECTED>")
  440.                                                                     first=false
  441.                                                                 }
  442.                                                                 else
  443.                                                                     output.write(">")
  444.  
  445.                                                                 output.writeln(m2.name+"</OPTION>")
  446.                                                             }
  447.                                                         }
  448.  
  449.                                                         okm2=m2.findnext()
  450.                                                     }
  451.  
  452.                                                     if (first)
  453.                                                         output.writeln("<OPTION VALUE=\"\">Empty List</OPTION>")
  454.                                                 %>
  455.                                                 </SELECT>
  456.                                             </TD>
  457.                                             <TD ALIGN="CENTER">
  458.                                                 <%
  459.                                                 if (first)
  460.                                                 {
  461.                                                     %>
  462.                                                     <IMG SRC="<%=buttons%>nextoff.gif" NAME="addA" BORDER="0" WIDTH="40" HEIGHT="20" ALT="Add Group member">
  463.                                                     <%
  464.                                                 }
  465.                                                 else
  466.                                                 {
  467.                                                     %>
  468.                                                     <A HREF="javascript:onApply()"
  469.                                                     onMouseDown="change('addA', 'add', 1)"
  470.                                                     onMouseOut="change('addA', 'add', 0)"><IMG SRC="<%=buttons%>next.gif" NAME="addA" BORDER="0" WIDTH="40" HEIGHT="20" ALT="Add Group member"></A>
  471.                                                     <%
  472.                                                 }
  473.                                                 %><p>
  474.                                                 <%
  475.                                                 
  476.                                                 if (!m.member.findfirst(toPattern))
  477.                                                 {
  478.                                                     %>
  479.                                                     <IMG SRC="<%=buttons%>prevoff.gif" NAME="removeA" BORDER="0" WIDTH="40" HEIGHT="20" ALT="Remove Group member">
  480.                                                     <%
  481.                                                 }
  482.                                                 else
  483.                                                 {
  484.                                                     %>
  485.                                                     <A HREF="javascript:onRemove()"
  486.                                                     onMouseDown="change('removeA', 'remove', 1)"
  487.                                                     onMouseOut="change('removeA', 'remove', 0)"><IMG SRC="<%=buttons%>prev.gif" NAME="removeA" BORDER="0" WIDTH="40" HEIGHT="20" ALT="Remove Group member"></A>
  488.                                                     <%
  489.                                                 }
  490.                                                 %>
  491.                                             </TD>
  492.                                             <TD COLSPAN="2">
  493.                                                 Current group members<BR>
  494.                                                 <SELECT CLASS="SEL100" NAME="toname" MULTIPLE SIZE="10">
  495.                                                 <%
  496.                                                     first=true
  497.  
  498.                                                     var ok=m.member.findfirst(topattern)
  499.                                                     if (ok)
  500.                                                     {
  501.                                                         while (ok)
  502.                                                         {
  503.                                                             output.write("<OPTION VALUE=\""+m.member.name+"\"")
  504.  
  505.                                                             if (first)
  506.                                                             {
  507.                                                                 output.write("SELECTED>")
  508.                                                                 first=false
  509.                                                             }
  510.                                                             else
  511.                                                                 output.write(">")
  512.  
  513.                                                             output.write(m.member.name+"</OPTION>")
  514.  
  515.                                                             ok=m.member.findnext()
  516.                                                         }
  517.                                                     }
  518.                                                     else
  519.                                                         output.writeln("<OPTION VALUE=\"\">Empty List</OPTION>")
  520.                                                 %>
  521.                                                 </SELECT>
  522.                                             </TD>
  523.                                         </TR>
  524.                                         <TR>
  525.                                         <TR><TH COLSPAN="2">List Parameters</TH><TD> </TD><TH COLSPAN="2">List Parameters</TH></TR>
  526.                                         <TR>
  527.                                             <TD VALIGN="TOP">Pattern</TD>
  528.                                             <TD>
  529.                                                 <INPUT TYPE="TEXT" NAME="frompattern" VALUE="<%=frompattern%>" SIZE="<%=size20%>">
  530.                                                 <A HREF="javascript:onSearch()"
  531.                                                 onMouseDown="change('find1A', 'find', 1)"
  532.                                                 onMouseOut="change('find1A', 'find', 0)"><IMG SRC="<%=buttons%>refresh.gif" NAME="find1A" BORDER="0" WIDTH="20" HEIGHT="20" ALT="List mailboxes matching pattern"></A>
  533.                                             </TD>
  534.                                             <TD> </TD>
  535.                                             <TD VALIGN="TOP">Pattern</TD>
  536.                                             <TD>
  537.                                                 <INPUT TYPE="TEXT" NAME="topattern" VALUE="<%=topattern%>" SIZE="<%=size20%>">
  538.                                                 <A HREF="javascript:onSearch()"
  539.                                                 onMouseDown="change('find2A', 'find', 1)"
  540.                                                 onMouseOut="change('find2A', 'find', 0)"><IMG SRC="<%=buttons%>refresh.gif" NAME="find2A" BORDER="0" WIDTH="20" HEIGHT="20" ALT="List mailboxes matching pattern"></A>
  541.                                             </TD>
  542.                                         </TR>
  543.                                         <TR>
  544.                                             <TD> </TD>
  545.                                             <TD><IMG SRC="<%=buttons%>az9x3.gif" BORDER="0" WIDTH="145" HEIGHT="49" USEMAP="#az"></TD>
  546.                                             <TD COLSPAN="2"> </TD>
  547.                                             <TD><IMG SRC="<%=buttons%>az9x3.gif" BORDER="0" WIDTH="145" HEIGHT="49" USEMAP="#az2"></TD>
  548.                                         </TR>    
  549.                                     </TABLE>
  550.                                 </TD>
  551.                             </TR>
  552.                         </TABLE>
  553.                     </TD>
  554.                 </TR>
  555.                 <%
  556.                 if (session.webmail.domain=="")
  557.                 {
  558.                     %>
  559.                     <TR>
  560.                         <TD ALIGN="RIGHT">
  561.                             <A HREF="javascript:onCancel('domain=<%=domain%>')"
  562.                             onMouseDown="change('closeA', 'ok', 1)"
  563.                             onMouseOut="change('closeA', 'ok', 0)"><IMG SRC="<%=buttons%>ok.gif" NAME="closeA" BORDER="0" WIDTH="50" HEIGHT="20" ALT="Apply changes and close" HSPACE="5"></A>
  564.                         </TD>
  565.                     </TR>
  566.                     <%
  567.                 }
  568.                 %>
  569.             </TABLE>
  570.             <!-- sub table ends here -->
  571.         </TD>
  572.     </TR>
  573.     <!-- end of block -->
  574. </TABLE>
  575. <!-- end of the tab body -->
  576. </TD></TR></TABLE>
  577. <SCRIPT LANGUAGE="JavaScript1.2" TYPE="text/javascript">
  578. <!--
  579.     var href="/mailboxes/grouprecipients.fts?domain=<%=domain%>&name=<%=name%>";
  580.     var bodywidth=<%=bodywidth%>;
  581. //-->
  582. </SCRIPT>
  583. <SCRIPT LANGUAGE="JavaScript1.2" SRC="/utility/footer.js" TYPE="text/javascript"></SCRIPT>
  584. </FORM>
  585. </TD><TD WIDTH="10"> </TD></TR></TABLE>
  586. </BODY>
  587. </HTML>
  588.