-/*
- * This script should get called by every onChange event...
- *
- */
- wprintf("<script type=\"text/javascript\"> \n"
- " \n"
- "var highest_active_rule = (-1); \n"
- " \n"
- "function UpdateRules() { \n"
- " for (i=0; i<%d; ++i) { \n", MAX_RULES);
- wprintf(" d = ($('movedown'+i)); \n"
- " if (i < highest_active_rule) { \n"
- " d.style.display = 'block'; \n"
- " } \n"
- " else { \n"
- " d.style.display = 'none'; \n"
- " } \n"
- " d = ($('hfield'+i).options[$('hfield'+i).selectedIndex].value); \n"
- " if (d == 'all') { \n"
- " $('div_size'+i).style.display = 'none'; \n"
- " $('div_compare'+i).style.display = 'none'; \n"
- " $('div_nocompare'+i).style.display = 'block'; \n"
- " } \n"
- " else if (d == 'size') { \n"
- " $('div_size'+i).style.display = 'block'; \n"
- " $('div_compare'+i).style.display = 'none'; \n"
- " $('div_nocompare'+i).style.display = 'none'; \n"
- " } \n"
- " else { \n"
- " $('div_size'+i).style.display = 'none'; \n"
- " $('div_compare'+i).style.display = 'block'; \n"
- " $('div_nocompare'+i).style.display = 'none'; \n"
- " } \n"
- " d = ($('action'+i).options[$('action'+i).selectedIndex].value); \n"
- " if (d == 'fileinto') { \n"
- " $('div_fileinto'+i).style.display = 'block'; \n"
- " $('div_redirect'+i).style.display = 'none'; \n"
- " $('div_automsg'+i).style.display = 'none'; \n"
- " } else if (d == 'redirect') { \n"
- " $('div_fileinto'+i).style.display = 'none'; \n"
- " $('div_redirect'+i).style.display = 'block'; \n"
- " $('div_automsg'+i).style.display = 'none'; \n"
- " } else if ((d == 'reject') || (d == 'vacation')) { \n"
- " $('div_fileinto'+i).style.display = 'none'; \n"
- " $('div_redirect'+i).style.display = 'none'; \n"
- " $('div_automsg'+i).style.display = 'block'; \n"
- " } else { \n"
- " $('div_fileinto'+i).style.display = 'none'; \n"
- " $('div_redirect'+i).style.display = 'none'; \n"
- " $('div_automsg'+i).style.display = 'none'; \n"
- " } \n"
- " if (highest_active_rule < %d) { \n", MAX_RULES-1 );
- wprintf(" $('div_addrule').style.display = 'block'; \n"
- " } else { \n"
- " $('div_addrule').style.display = 'none'; \n"
- " } \n"
- " } \n"
- );
-/*
- * Show only the active rows...
- */
- wprintf(" highest_active_rule = (-1); \n");
- wprintf(" for (i=0; i<%d; ++i) { \n", MAX_RULES);
- wprintf(" if ($('active'+i).checked) { \n"
- " $('rule' + i).style.display = 'block'; \n"
- " highest_active_rule = i; \n"
- " } \n"
- " else { \n"
- " $('rule' + i).style.display = 'none'; \n"
- " } \n"
- " } \n"
- "} \n"
-/*
- * Add a rule (really, just un-hide it)
- */
- "function AddRule() { \n"
- " highest_active_rule = highest_active_rule + 1; \n"
- " $('active'+highest_active_rule).checked = true; \n"
- " UpdateRules(); \n"
- "} \n"
-/*
- * Swap two rules
- */
- "function SwapRules(ra, rb) { \n"
- " \n"
- " var things = new Array(); \n"
- " things[0] = 'hfield'; \n"
- " things[1] = 'compare'; \n"
- " things[2] = 'htext'; \n"
- " things[3] = 'action'; \n"
- " things[4] = 'fileinto'; \n"
- " things[5] = 'redirect'; \n"
- " things[6] = 'final'; \n"
- " things[7] = 'sizecomp'; \n"
- " things[8] = 'sizeval'; \n"
- " things[9] = 'automsg'; \n"
- " \n"
- " for (i=0; i<=9; ++i) { \n"
- " tempval=$(things[i]+ra).value; \n"
- " $(things[i]+ra).value = $(things[i]+rb).value; \n"
- " $(things[i]+rb).value = tempval; \n"
- " } \n"
- "} \n"
-/*
- * Delete a rule (percolate the deleted rule out to the end,
- * and then decrement highest_active_rule)
- */
- "function DeleteRule(rd) { \n"
- " for (i=rd; i<highest_active_rule; ++i) { \n"
- " SwapRules(i, (i+1)); \n"
- " } \n"
- " $('active'+highest_active_rule).checked = false; \n"
- "} \n"
- "</script> \n"
- );
-
-
- wprintf("<br />");
-
- wprintf("<table cellpadding=2 width=100%%>");
-
- for (i=0; i<MAX_RULES; ++i) {
-
- wprintf("<tr id=\"rule%d\" bgcolor=\"#%s\">",
- i,
- ((i%2) ? "DDDDDD" : "FFFFFF")
- );
-
- wprintf("<td width=5%% align=\"center\">");
-
- wprintf("<div style=\"display:none\">");
- wprintf("<input type=\"checkbox\" id=\"active%d\">", i);
- wprintf("</div>");
-
- if (i>0) wprintf("<a href=\"javascript:SwapRules(%d,%d);UpdateRules();\">"
- "<img border=\"0\" src=\"static/up_pointer.gif\" "
- "title=\"%s\"/></a>",
- i-1, i, _("Move rule up") );
-
- wprintf("<a href=\"javascript:SwapRules(%d,%d);UpdateRules();\">"
- "<img id=\"movedown%d\" border=\"0\" src=\"static/down_pointer.gif\" "
- "title=\"%s\"/></a>",
- i, i+1, i, _("Move rule down") );
-
- wprintf("<a href=\"javascript:DeleteRule(%d);UpdateRules();\">"
- "<img id=\"delete%d\" border=\"0\" src=\"static/delete.gif\" "
- "title=\"%s\"/></a>",
- i, i, _("Delete rule") );
-
- wprintf("</td>");
-
- wprintf("<td width=5%% align=\"center\">");
- wprintf("<font size=+2>%d</font>", i+1);
- wprintf("</td>");
-
- wprintf("<td width=20%%>%s ", _("If") );
-
- wprintf("<select id=\"hfield%d\" name=\"hfield%d\" size=1 onChange=\"UpdateRules();\">",
- i, i);
- wprintf("<option value=\"from\">%s</option>", _("From"));
- wprintf("<option value=\"tocc\">%s</option>", _("To or Cc"));
- wprintf("<option value=\"subject\">%s</option>", _("Subject"));
- wprintf("<option value=\"replyto\">%s</option>", _("Reply-to"));
- wprintf("<option value=\"sender\">%s</option>", _("Sender"));
- wprintf("<option value=\"resentfrom\">%s</option>", _("Resent-From"));
- wprintf("<option value=\"resentto\">%s</option>", _("Resent-To"));
- wprintf("<option value=\"envfrom\">%s</option>", _("Envelope From"));
- wprintf("<option value=\"envto\">%s</option>", _("Envelope To"));
- wprintf("<option value=\"xmailer\">%s</option>", _("X-Mailer"));
- wprintf("<option value=\"xspamflag\">%s</option>", _("X-Spam-Flag"));
- wprintf("<option value=\"xspamstatus\">%s</option>", _("X-Spam-Status"));
- wprintf("<option value=\"size\">%s</option>", _("Message size"));
- wprintf("<option value=\"all\">%s</option>", _("All"));
- wprintf("</select>");
- wprintf("</td>");
-
- wprintf("<td width=20%%>");
-
- wprintf("<div id=\"div_compare%d\">", i);
- wprintf("<select id=\"compare%d\" name=\"compare%d\" size=1 onChange=\"UpdateRules();\">",
- i, i);
- wprintf("<option value=\"contains\">%s</option>", _("contains"));
- wprintf("<option value=\"notcontains\">%s</option>", _("does not contain"));
- wprintf("<option value=\"is\">%s</option>", _("is"));
- wprintf("<option value=\"isnot\">%s</option>", _("is not"));
- wprintf("</select>");
-
- wprintf("<input type=\"text\" id=\"htext%d\" name=\"htext%d\">", i, i);
- wprintf("</div>");
-
- wprintf("<div id=\"div_nocompare%d\">", i);
- wprintf("%s", _("(All messages)"));
- wprintf("</div>");
-
- wprintf("<div id=\"div_size%d\">", i);
- wprintf("<select id=\"sizecomp%d\" name=\"sizecomp%d\" size=1 onChange=\"UpdateRules();\">",
- i, i);
- wprintf("<option value=\"larger\">%s</option>", _("is larger than"));
- wprintf("<option value=\"smaller\">%s</option>", _("is smaller than"));
- wprintf("</select>");
-
- wprintf("<input type=\"text\" id=\"sizeval%d\" name=\"sizeval%d\">", i, i);
- wprintf("bytes");
- wprintf("</div>");
-
- wprintf("</td>");
-
- wprintf("<td width=20%%>");
- wprintf("<select id=\"action%d\" name=\"action%d\" size=1 onChange=\"UpdateRules();\">",
- i, i);
- wprintf("<option value=\"keep\">%s</option>", _("Keep"));
- wprintf("<option value=\"discard\">%s</option>", _("Discard silently"));
- wprintf("<option value=\"reject\">%s</option>", _("Reject"));
- wprintf("<option value=\"fileinto\">%s</option>", _("Move message to"));
- wprintf("<option value=\"redirect\">%s</option>", _("Forward to"));
- wprintf("<option value=\"vacation\">%s</option>", _("Vacation"));
- wprintf("</select>");
-
- wprintf("<div id=\"div_fileinto%d\">", i);
- wprintf("<select name=\"fileinto%d\" id=\"fileinto%d\">", i, i);
- for (j=0; j<num_roomnames; ++j) {
- wprintf("<option ");
- if (!strcasecmp(rooms[j].name, "Mail")) {
- wprintf("selected ");