Open Bug 456498 Opened 16 years ago Updated 3 years ago

Composer always relocates </form> from designated position when extra tables are involved.

Categories

(SeaMonkey :: Composer, defect)

x86
Windows XP
defect
Not set
major

Tracking

(Not tracked)

People

(Reporter: wayzan, Unassigned)

Details

(Whiteboard: [Halloween2011Bug])

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1

I have composed many JavaScripts with Netscape 4.78, WordPad and ACEHTML Pro which place output in text fields, usually in a different table. Composer every time without fail relocates the </form> to before the second HTML table, often immediately after <form>. Naturally the scripts do not work and so a correction must be made on an external editor. Also when saved Composer adds extra white space, as you will see every time you save the following 'ancient' script.

Reproducible: Always

Steps to Reproduce:
1. Copy file from Additional Information below and test in Mozilla FF3 or SeaMonkey browser
2. Open in Composer, make slight alteration and save.
3. Preview in browser again
Actual Results:  
No output fields. Why? Composer has relocated </form> in close proximity to <form name="moduleForm">
<th align="left"><form name="moduleForm"><font face="Verdana"><font color="#000099"><font size="-1">Enter
Recent Gregorian Date:-</font></font></font></form></th>

Expected Results:  
To get output in text fields </form> should be after the final text field.
<td align="center" valign="top" width="25%"><input name="min" size="3" maxlength="3" type="text">
<br><b><font face="Verdana"><font color="#993366"><font size="-1">Minutes</font></font></font></b></td>
</tr>
</tbody></table></center></td></form>

<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html><head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  <meta name="GENERATOR" content="Mozilla/4.78 [en] (Windows NT 5.0; U) [Netscape]">
  <meta name="Author" content="TimeTracker">
  <meta name="copyright" content="With the exception of JavaScript source code provided by David Benn and John Munn, this page and its contents are copyright 2000-8 by TimeTracker.">
  <title>Dual Gregorian Calendar Calculator For Lunar Cycles</title>
  <script language="JavaScript">
/*This script and many more are available free online at
The JavaScript Source!! http://javascript.internet.com
Original:  Ryan Sokol
Modified:  TimeTracker*/

<!-- Begin
function checkInt(str) {
if (!str) return 0;
var ok = "";
for (var i = 0; i < str.length; i++) {
var ch = str.substring(i, i+1);
if (ch < "0" || "9" < ch) { 
return parseInt(ok);
}
else ok += ch;
}
return parseInt(str);
}

function checkDecimal(str) {
if (!str) return 0;
var ok = "";
for (var i = 0; i < str.length; i++) {
var ch = str.substring(i, i+1);
if ((ch < "0" || "9" < ch) && ch != '.') {
return parseFloat(ok);
}
else ok += ch;
}
return str;
}

// Calculate NUMBER OF DAYS BETWEEN EVENTS for BINARY LIFE CYCLES -->

    function subtractFields(form) {

      var totalA = Number(form.totalA.value);
      var totalB = Number(form.totalB.value);
      var result = Number(form.result.value);
      var difference = eval(form.totalA.value) - eval(form.totalB.value);
      form.result.value = difference;
	}

// Calculate EXTRA TIME as DAYS, HOURS and MINUTES -->

function makeTime(form) {

        var num = Number(form.phase.value);
        var hrwest = Number(form.hrwest.value);
        var hreast = Number(form.hreast.value);
        var phase = Number(form.phase.value);
        var num = [eval(form.result.value) - eval(form.hrwest.value)/24 + eval(form.hreast.value)/24] / 27.321661;
   	form.phase.value=num;

        num = (checkDecimal(form.phase.value)); // validates input
            if (num) {
     form.cycle.value = parseInt(num);
        num -= parseInt(num); num *= 27.321661;
     form.day.value = parseInt(num);
        num -= parseInt(num); num *= 24;
     form.hour.value = parseInt(num);
        num -= parseInt(num); num *= 60;
     form.min.value = parseInt(num);
        num -= parseInt(num); num *= 60;
        }
     }
//  End -->
  </script>
  
  <script language="JavaScript">
     <!-- Hide JavaScript from non-compliant browsers.

     var fieldRTable = Array("0000", "1.005", "1.011", "1.017", "1.023", "1.029", "1.035", "1.041",
                            "1.047", "1.053", "1.059", "0.065", "0.071", "0.077", "0.083", "0.089",
                            "0.095", "0.101", "0.107", "0.113", "0.119", "0.125",  "1.13",
                            "1.1360000000000001", "1.142", "1.148", "1.154",  "1.16", "1.166", "1.172",
                            "1.178", "1.184", "0.19", "0.196", "0.202", "0.208", "0.214",  "0.22",
                            "0.226", "0.232", "0.238", "0.244",  "0.25", "1.255", "1.2610000000000001",
                            "1.267", "1.2730000000000001", "1.279", "1.285", "1.291", "1.297", "1.303",
                            "1.309", "0.315", "0.321", "0.327", "0.333", "0.339", "0.345", "0.351",
                            "0.357", "0.363", "0.369", "0.375", "1.38", "1.3860000000000001", "1.392",
                            "1.3980000000000001", "1.404",  "1.41", "1.416", "1.422", "1.428", "1.434",
                            "0.44", "0.446", "0.452", "0.458", "0.464",  "0.47", "0.476", "0.482",
                            "0.488", "0.494",   "0.5", "1.505", "1.5110000000000001", "1.517",
                            "1.5230000000000001", "1.529", "1.5350000000000001", "1.541",
                            "1.5470000000000001", "1.553", "1.5590000000000001", "0.565", "0.571",
                            "0.577", "0.583", "0.589", "0.595", "0.601", "0.607", "0.613", "0.619",
                            "0.625",  "1.63", "1.6360000000000001", "1.642", "1.6480000000000001",
                            "1.654", "1.6600000000000001", "1.666", "1.6720000000000001", "1.678",
                            "1.6840000000000001", "0.690", "0.696", "0.702", "0.708", "0.714",  "0.72",
                            "0.726", "0.732", "0.738", "0.744", "0.75", "1.755", "1.7610000000000001",
                            "1.767", "1.7730000000000001", "1.779", "1.7850000000000001", "1.791",
                            "1.7970000000000001", "1.803", "1.8090000000000001", "0.815", "0.821",
                            "0.827", "0.833", "0.839", "0.845", "0.851", "0.857", "0.863", "0.869",
                            "0.875",  "1.88", "1.8860000000000001", "1.892", "1.8980000000000001",
                            "1.904", "1.9100000000000001", "1.916", "1.9220000000000001", "1.928",
                            "1.9340000000000001",  "0.94", "0.946", "0.952", "0.958", "0.964",  "0.97",
                            "0.976", "0.982", "0.988", "0.994");
     var moduleTable = Array("'23/24'", "'24/1'", "'24/1'", "'24/1'", "'24/1'", "'24/1'", "'24/1'",  "'24/1'", "'1/2'",
                            "'1/2'", "'1/2'", "'1/2'", "'1/2'", "'1/2'", "'1/2'", "'2/3'", "'2/3'", "'2/3'", "'2/3'",
                            "'2/3'", "'2/3'", "'2/3'", "'3/4'", "'3/4'", "'3/4'", "'3/4'", "'3/4'", "'3/4'", "'3/4'",
                            "'4/5'", "'4/5'", "'4/5'", "'4/5'", "'4/5'", "'4/5'", "'4/5'", "'5/6'", "'5/6'", "'5/6'",
                            "'5/6'", "'5/6'", "'5/6'", "'5/6'", "'6/7'", "'6/7'", "'6/7'", "'6/7'", "'6/7'", "'6/7'",
                            "'6/7'", "'7/8'", "'7/8'", "'7/8'", "'7/8'", "'7/8'", "'7/8'", "'7/8'", "'8/9'", "'8/9'",
                            "'8/9'", "'8/9'", "'8/9'", "'8/9'", "'8/9'", "'9/10'", "'9/10'", "'9/10'", "'9/10'",
                            "'9/10'", "'9/10'", "'9/10'", "'10/11'", "'10/11'", "'10/11'", "'10/11'", "'10/11'",
                           "'10/11'", "'10/11'", "'11/12'", "'11/12'", "'11/12'", "'11/12'", "'11/12'", "'11/12'",
                           "'11/12'", "'12/13'", "'12/13'", "'12/13'", "'12/13'", "'12/13'", "'12/13'", "'12/13'",
                           "'13/14'", "'13/14'", "'13/14'", "'13/14'", "'13/14'", "'13/14'", "'13/14'", "'14/15'",
                           "'14/15'", "'14/15'", "'14/15'", "'14/15'", "'14/15'", "'14/15'", "'15/16'", "'15/16'",
                           "'15/16'", "'15/16'", "'15/16'", "'15/16'", "'15/16'", "'16/17'", "'16/17'", "'16/17'",
                           "'16/17'", "'16/17'", "'16/17'", "'16/17'", "'17/18'", "'17/18'", "'17/18'", "'17/18'",
                           "'17/18'", "'17/18'", "'17/18'", "'18/19'", "'18/19'", "'18/19'", "'18/19'", "'18/19'",
                           "'18/19'", "'18/19'", "'19/20'", "'19/20'", "'19/20'", "'19/20'", "'19/20'", "'19/20'",
                           "'19/20'", "'20/21'", "'20/21'", "'20/21'", "'20/21'", "'20/21'", "'20/21'", "'20/21'",
                           "'21/22'", "'21/22'", "'21/22'", "'21/22'", "'21/22'", "'21/22'", "'21/22'", "'22/23'",
                           "'22/23'", "'22/23'", "'22/23'", "'22/23'", "'22/23'", "'22/23'", "'23/24'", "'23/24'",
                           "'23/24'", "'23/24'", "'23/24'", "'23/24'");
     var weekdayTable = Array("Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday",
                              "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday",
                              "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday",
                              "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday",
                              "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday",
                              "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday",
                              "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday",
                              "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday",
                              "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday",
                              "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday",
                              "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday",
                              "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday",
                              "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday",
                              "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday",
                              "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday",
                              "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday",
                              "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday",
                              "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday",
                              "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday",
                              "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday",
                              "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday",
                              "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday",
                              "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday",
                              "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Monday");
         						  
     function determineModuleAndWeekdayA(form) {
     	// Calculate Julian Day.
     	var dayA = Number(form.dayA.selectedIndex + 1);
     	var monthA = Number(form.monthA.selectedIndex + 1); 
     	var yearA = Number(form.yearA.value);
     	var jdA = gregorianDate2JulianDateA(dayA, monthA, yearA);
     	form.julianDayA.value = jdA;

     	// Calculate c and d as per Wayne Zanker's algorithm.
     	var c = jdA-(-594712.5); // Tuesday, August 21st, 6342 BCE.
     	var d = c/168;
     	form.c.value = c;
     	form.d.value = d;

     	// Isolate the first 4 digits of the fractional portion of d.
     	var e = frac(d);
     	var eStr;
     	if (e == 0) eStr = "0000";
     	else {
     		eStr = mostSignificant4DigitsA(e);

     		// Prefix with zeros if length < 4?
     		while (eStr.length < 4) eStr = "0" + eStr;
     	}
     	form.e.value = eStr;

     	// Look up eStr in table.
     	var i;
     	var moduleA = "No Match";
     	var weekdayA = "No Match";
     	for (i=0;i<fieldRTable.length;i++) {
     		if (fieldRTable[i] == eStr) {
     			moduleA = moduleTable[i];
     			weekdayA = weekdayTable[i];
     		}
     	}
     	form.moduleA.value = moduleA;
     	form.weekdayA.value = weekdayA;

      // Calculate the total number of days since Creation.
      var totalA = Number(form.totalA.value);
      var unitsA = 594699.5 + gregorianDate2JulianDateA(dayA, monthA, yearA);
      form.totalA.value = unitsA;
     }

     function gregorianDate2JulianDateA(d, m, y) {
     	// Uses Jean Meeus' method (p61, Astronomical Algorithms).

     	if (m == 1 || m == 2) {
     		y--;
     		m = m+12;
     	}

     	var a = trunc(y/100);
     	var b = 2-a+trunc(a/4);

     	return trunc(365.25*(y+4716)) + trunc(30.6001*(m+1))+d+b-1524.5;
     }

     function mostSignificant4DigitsA(n) {
     	// Given a number (0 < n < 1), return the first 4 digits, 
     	// with the 4th rounded if necessary.
     	// n is ".mmmm" where "." is position 0 and position 4 is position of last m.
     	// When using substring() function, have to specify end position after 
     	// last character required.
     	var nStr = String(n);
     	var first4Digits = Number(nStr.substring(1,5)); 
     	var fifthDigit = Number(nStr.substring(5,6));
     	if (fifthDigit >= 5) first4Digits++;
     	return first4Digits;
     }

     function trunc(n) {
     	if (n >= 0) return Math.floor(n); else return Math.ceil(n); 
     }

     function frac(n) {
     	// Take the absolute value of the difference of n and the 
     	// integer part of n to yield the fractional portion of n.
     	// Note: if n and and trunc(n) are the same, the result will be zero.
     	return Math.abs(n-trunc(n));
     }

     // End FIRST TIME MODULE AND WEEKDAY Calculator-->

     <!-- THE SECOND TIME MODULE AND WEEKDAY CALCULATOR

     function determineModuleAndWeekdayB(form) {
     	// Calculate Julian Day.
     	var dayB = Number(form.dayB.selectedIndex + 1);
     	var monthB = Number(form.monthB.selectedIndex + 1); 
     	var yearB = Number(form.yearB.value);
     	var jdB = gregorianDate2JulianDateB(dayB, monthB, yearB);
     	form.julianDayB.value = jdB;

     	// Calculate c and d as per Wayne Zanker's algorithm.
     	var c = jdB-(-594712.5); // Tuesday, 21st August 6342 BCE.
     	var d = c/168;
     	form.c.value = c;
     	form.d.value = d;

     	// Isolate the first 4 digits of the fractional portion of d.
     	var e = frac(d);
     	var eStr;
     	if (e == 0) eStr = "0000";
     	else {
     		eStr = mostSignificant4DigitsB(e);

     		// Prefix with zeros if length < 4?
     		while (eStr.length < 4) eStr = "0" + eStr;
     	}
     	form.e.value = eStr;

     	// Look up eStr in table.
     	var i;
     	var moduleB = "No Match";
     	var weekdayB = "No Match";
     	for (i=0;i<fieldRTable.length;i++) {
     		if (fieldRTable[i] == eStr) {
     			moduleB = moduleTable[i];
     			weekdayB = weekdayTable[i];
     		}
     	}
     	form.moduleB.value = moduleB;
     	form.weekdayB.value = weekdayB;

      // Calculate the total number of days since Creation.
      var totalB = Number(form.totalB.value);
      var unitsB = 594699.5 + gregorianDate2JulianDateB(dayB, monthB, yearB);
      form.totalB.value = unitsB;
     }

     function gregorianDate2JulianDateB(d, m, y) {
     	// Uses Jean Meeus' method (p61, Astronomical Algorithms).

     	if (m == 1 || m == 2) {
     		y--;
     		m = m+12;
     	}

     	var a = trunc(y/100);
     	var b = 2-a+trunc(a/4);

     	return trunc(365.25*(y+4716)) + trunc(30.6001*(m+1))+d+b-1524.5;
     }

     function mostSignificant4DigitsB(n) {
     	// Given a number (0 < n < 1), return the first 4 digits, 
     	// with the 4th rounded if necessary.
     	// n is ".mmmm" where "." is position 0 and position 4 is position of last m.
     	// When using substring() function, have to specify end position after 
     	// last character required.
     	var nStr = String(n);
     	var first4Digits = Number(nStr.substring(1,5)); 
     	var fifthDigit = Number(nStr.substring(5,6));
     	if (fifthDigit >= 5) first4Digits++;
     	return first4Digits;
     }

     function trunc(n) {
     	if (n >= 0) return Math.floor(n); else return Math.ceil(n); 
     }

     function frac(n) {
     	// Take the absolute value of the difference of n and the 
     	// integer part of n to yield the fractional portion of n.
     	// Note: if n and and trunc(n) are the same, the result will be zero.
     	return Math.abs(n-trunc(n));
     }

     //-->
   </script></head><body style="color: rgb(0, 0, 0); background-color: rgb(236, 255, 255);" alink="#ff9900" link="#ff0000" vlink="#cc33cc">
<div style="text-align: center;">
<h4>&nbsp;<b><i><font face="Verdana"><font color="#000099">Lunar Cycles Since Event
Plus Extra Time Calculators</font></font></i></b></h4>
</div>

<center><table style="background-color: rgb(51, 204, 255); width: 90%;" border="0" cellpadding="5" cellspacing="2" cols="2">
<tbody><tr>
<td style="width: 50%; vertical-align: top; text-align: center;">
<center>
<h1>
<b><i><font face="Verdana"><font color="#000099"><font size="-1">From October
15th, 1582 A.D. To The Future</font></font></font></i></b></h1></center>

<table>
<tbody><tr>
<th align="left"><form name="moduleForm"><font face="Verdana"><font color="#000099"><font size="-1">Enter
Recent Gregorian Date:-</font></font></font></th>

</tr><tr>
<td><select name="dayA" size="1"><option>01</option><option>02</option><option>03</option><option>04</option><option>05</option><option>06</option><option>07</option><option>08</option><option>09</option><option>10</option><option>11</option><option>12</option><option>13</option><option>14</option><option>15</option><option>16</option><option>17</option><option>18</option><option>19</option><option>20</option><option>21</option><option>22</option><option>23</option><option>24</option><option>25</option><option>26</option><option>27</option><option>28</option><option>29</option><option>30</option><option>31</option></select><font color="#33ccff">--</font><font face="Verdana"><font color="#000000"><font size="-1">(day)</font></font></font></td>
</tr>

<tr>
<td><select name="monthA" size="1"><option>January</option><option>February</option><option>March</option><option>April</option><option>May</option><option>June</option><option>July</option><option>August</option><option>September</option><option>October</option><option>November</option><option>December</option></select><font color="#33ccff">--</font><font face="Verdana"><font color="#000000"><font size="-1">(month)</font></font></font></td>
</tr>

<tr>
<td><input name="yearA" size="6" value="" type="text"><font color="#33ccff">-<input value="Next" onclick="javascript:this.form.yearA.value++;" type="button"><input value="Back" onclick="javascript:this.form.yearA.value--;" type="button">--</font><font face="Verdana"><font color="#000000"><font size="-1">(year
[include the century])</font></font></font></td>
</tr>

<tr>
<td align="left"><input value="Calculate #1" onclick="determineModuleAndWeekdayA(document.moduleForm)" type="button"></td>
</tr>

<tr>
<td><font color="#33ccff"><font face="Verdana"><font size="-1">JD Number:-</font></font>-<input name="julianDayA" size="10" type="hidden"><font face="Verdana"><font size="-1">Office
Use Only:-</font></font></font><input name="c" size="1" type="hidden"><input name="d" size="1" type="hidden"><input name="e" size="1" type="hidden"></td>
</tr>

<tr>
<th align="left"><font face="Verdana"><font color="#000099"><font size="-1">Module
and Weekday:-</font></font></font></th>
</tr>

<tr>
<td><input name="moduleA" size="10" type="text"><font color="#33ccff">-----</font><input name="weekdayA" size="10" type="text"></td>
</tr>

<tr>
<td><br>
</td>
</tr>
</tbody>
</table>

</td><td style="width: 50%; background-color: rgb(102, 255, 255);">
<center>
<h1>
<b><i><font face="Verdana"><font color="#000099"><font size="-1">From October
15th, 1582 A.D. To The Future</font></font></font></i></b></h1></center>

<center><table>
<tbody><tr>
<th align="center" valign="top"><font face="Verdana"><font color="#000099"><font size="-1">Enter
Earlier Gregorian Date:-</font></font></font></th>
</tr>

<tr>
<td><select name="dayB" size="1"><option>01</option><option>02</option><option>03</option><option>04</option><option>05</option><option>06</option><option>07</option><option>08</option><option>09</option><option>10</option><option>11</option><option>12</option><option>13</option><option>14</option><option>15</option><option>16</option><option>17</option><option>18</option><option>19</option><option>20</option><option>21</option><option>22</option><option>23</option><option>24</option><option>25</option><option>26</option><option>27</option><option>28</option><option>29</option><option>30</option><option>31</option></select><font color="#66ffff">--</font><font face="Verdana"><font color="#000000"><font size="-1">(day)</font></font></font></td>
</tr>

<tr>
<td><select name="monthB" size="1"><option>January</option><option>February</option><option>March</option><option>April</option><option>May</option><option>June</option><option>July</option><option>August</option><option>September</option><option>October</option><option>November</option><option>December</option></select><font color="#66ffff">--</font><font face="Verdana"><font color="#000000"><font size="-1">(month)</font></font></font></td>
</tr>

<tr>
<td><input name="yearB" size="6" value="" type="text"><font color="#33ccff">-<input value="Next" onclick="javascript:this.form.yearB.value++;" type="button"><input value="Back" onclick="javascript:this.form.yearB.value--;" type="button"></font><font color="#66ffff">--</font><font face="Verdana"><font color="#000000"><font size="-1">(year
[include the century])</font></font></font></td>
</tr>

<tr>
<td align="left"><input value="Calculate #2" onclick="determineModuleAndWeekdayB(document.moduleForm)" type="button"></td>
</tr>

<tr>
<td><font color="#66ffff"><font face="Verdana"><font size="-1">JD Number:-</font></font>-<input name="julianDayB" size="10" type="hidden">-<font face="Verdana"><font size="-1">Office
Use Only:-</font></font></font><input name="c" size="1" type="hidden"><input name="d" size="1" type="hidden"><input name="e" size="1" type="hidden"></td>
</tr>

<tr>
<th align="left"><font face="Verdana"><font color="#000099"><font size="-1">Module
and Weekday:-</font></font></font></th>
</tr>

<tr>
<td><input name="moduleB" size="10" type="text"><font color="#66ffff">-----</font><input name="weekdayB" size="10" type="text"></td>
</tr>

<tr>
<td><br>
</td>
</tr>
</tbody></table></center>
</td>

</tr></tbody></table>

<center><table bgcolor="#33ccff" border="0" cellpadding="5" cellspacing="2" cols="1" width="90%">
<tbody><tr>
<td align="center" valign="top">
<center><table style="width: 100%;" border="0" cellpadding="5" cellspacing="2" cols="4">
<tbody><tr>
<td style="width: 25%; vertical-align: top; text-align: center;"><input size="10" name="totalA" type="text">
<br><b><font face="Verdana"><font color="#cc0000"><font size="-1">EVENT Day
Number</font></font></font></b></td>

<td align="center" bgcolor="#66ffff" valign="top" width="25%"><input size="10" name="totalB" type="text">
<br><b><font face="Verdana"><font color="#cc0000"><font size="-1">BIRTH Day
Number</font></font></font></b></td>

<td style="width: 25%; vertical-align: top; text-align: center;"><input name="subtraction" value="Number Of Days #3" onclick="subtractFields(this.form)" type="button">
<br><font color="#33ccff"><font size="-1">.</font></font></td>

<td align="center" valign="top" width="25%"><font face="Verdana"><font color="#33ccff"><font size="-1">.</font></font></font></td>
</tr>

<tr>
<td align="center" valign="top" width="25%"><input size="8" name="result" type="text">
<br><b><font face="Verdana"><font color="#000099"><font size="-1">Days Since
Birth</font></font></font></b></td>

<td align="center" valign="top" width="25%"><input value="back" onclick="javascript:this.form.result.value--;" type="button"><input value="next" onclick="javascript:this.form.result.value++;" type="button">
<br><b><font face="Verdana"><font color="#000099"><font size="-1">Adjust</font></font></font></b></td>

<td align="center" valign="top" width="25%"><input size="5" name="hrwest" value="0.0" type="text">
<br><b><font face="Verdana"><font color="#000099"><font size="-1">Hours West</font></font></font></b></td>

<td align="center" valign="top" width="25%"><input size="5" name="hreast" value="0.0" type="text">
<br><b><font face="Verdana"><font color="#000099"><font size="-1">Hours East</font></font></font></b></td>
</tr>

<tr>
<td align="center" valign="top" width="25%"><font face="Verdana"><font color="#33ccff"><font size="-1">.</font></font></font></td>

<td align="center" valign="top" width="25%"><font face="Verdana"><font color="#000000"><font size="-2">Adjust
one day at a time forward or back until a new cycle has begun. Remember
to factor in the number of days adjusted.</font></font></font></td>

<td align="center" valign="top" width="25%"><input name="toTime" value="Phase &amp; Extra Time #4" onclick="makeTime(this.form);" type="button"></td>

<td align="center" valign="top" width="25%"><font face="Verdana"><font color="#000000"><font size="-2">Overwrite
'0.0' if required. 'Hours West' and 'Hours East' must have a value and
at least one box contain 0.0.</font></font></font></td>
</tr>

<tr>
<td align="center" valign="top" width="25%"><font face="Verdana"><font color="#33ccff"><font size="-1">.</font></font></font></td>

<td align="center" valign="top" width="25%"><input name="phase" size="16" type="text">
<br><b><font face="Verdana"><font color="#000099"><font size="-1">Lunar Phases
Since Birth</font></font></font></b></td>

<td align="center" valign="top" width="25%"><input name="cycle" size="5" maxlength="5" type="text">
<br><b><font face="Verdana"><font color="#993366"><font size="-1">ODD or
EVEN Phase</font></font></font></b></td>

<td align="center" valign="top" width="25%"><input name="clear" value="Reset" type="reset"></td>
</tr>

<tr>
<td align="center" valign="top" width="25%"><font face="Verdana"><font color="#33ccff"><font size="-1">.</font></font></font></td>

<td align="center" valign="top" width="25%"><input name="day" size="3" maxlength="3" type="text">
<br><b><font face="Verdana"><font color="#993366"><font size="-1">Days</font></font></font></b></td>

<td align="center" valign="top" width="25%"><input name="hour" size="3" maxlength="3" type="text">
<br><b><font face="Verdana"><font color="#993366"><font size="-1">Hours</font></font></font></b></td>

<td align="center" valign="top" width="25%"><input name="min" size="3" maxlength="3" type="text">
<br><b><font face="Verdana"><font color="#993366"><font size="-1">Minutes</font></font></font></b></td>
</tr>
</tbody></table></center></td></form>
</tr>
</tbody>
</table></center></center>

<center><table style="background-color: rgb(236, 255, 255); width: 90%;" border="0" cellpadding="5" cellspacing="0" cols="1">
<tbody><tr>
<td style="vertical-align: top; text-align: center;"><font face="Verdana"><font color="#cc0000"><font size="-1">In
order to find out the weekday for a particular date, please <u>enter the
day, month and year</u> in the above blank spaces using the suggested format,
<u>then
press CALCULATE</u>. Use the 'Tab' key to go from one field to the next.</font></font></font></td>
</tr>
</tbody></table></center>


<center><table style="background-color: rgb(236, 255, 255); width: 90%;" border="0" cellpadding="5" cellspacing="0" cols="1">
<tbody><tr>
<td style="vertical-align: top; text-align: center;"><font face="Verdana"><font color="#000000"><font size="-1">Alter
any fields and repeat or else press RESET and type in new numbers. RESET
clears all fields and re-activates the day field, as does clicking on it.</font></font></font></td>
</tr>
</tbody></table></center>


<center><br>
</center>


<!--/NOEDIT-->
</body></html>
Two things: Never ever paste such a long text in the bug report itself. Attach it via the "Add an attachment" function to the bug.
What SeaMonkey version are we talking about?
Can you possibly file a new bug with the issues mentioned corrected? Not many people will bother to scroll over the whole HTML just to find the rest of the comments.
(FF3 has a Composer !?)

Which product/version are you using ?
Keywords: 4xp, regression
SeaMonkey 1.1.13

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.18) Gecko/20081031 SeaMonkey/1.1.13

I have tested this version and found no improvements in either the <form></form> issue, nor adding of blank rows between html. Netscape 4.78 Composer left the </form> where it was put. SeaMonkey always changes it wherever it is positioned in a different table. This is why I posted the large script. I have dozens like this and they are very much longer. So every time I create a file in SeaMonkey I have to edit it again in WordPad.

All I am asking for is a return to the 4.78 procedure of <form></form>. I also find SeaMonkey will switch a cell to the far right, so that it appears out of alignment with other cells in a column, just by clicking on the increase or decrease font size buttons. In the browser window it looks fine, but due to its small size, it is difficult to format text in Composer.

SeaMonkey has great potential. I like using it, although it can be frustrating at times. An improved version will be most welcome.
I notice that in the very latest version (1.1.14), the <form></form> issue has not been resolved. Where in the code below do you think the </form> should be located? Answer: after </textarea>. Why has SeaMonkey Composer placed it after </span>? My rating for SeaMonkey at the moment: 2.5 stars out of 5. You can do much better.

Also after <html><head> a new empty line is added after every save. That is not the only place either.

<center><table border="0" cellpadding="5" cellspacing="0" cols="3" width="740">
<tbody><tr>
<td align="right" valign="top" width="10%"><a name="bottom"></a><form style="color: rgb(51, 51, 255);"><span style="color: rgb(51, 51, 255);"></span><input style="color: rgb(51, 51, 255); background-color: white;" value="Reset" onclick="javascript:this.form.storage.focus();" type="reset"><span style="color: rgb(51, 51, 255);"></span></form></td>

<td align="right" valign="top" width="20%"><b style="font-family: Helvetica,Arial,sans-serif;"><font color="#3333ff"><font size="-1">Work In Progress</font></font></b>
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<p><b><font face="Verdana"><font color="#000000"><font size="-2"><a href="#top">Top
Of Page</a></font></font></font></b></p></td>

<td align="left" valign="top" width="70%"><!-- Temporary Storage Boxes //--><textarea style="border: 0pt none ; color: darkblue; background-color: rgb(255, 255, 213);" cols="60" rows="10" name="storage" value=""></textarea></td>
</tr>
</tbody></table></center>
It is very unlikely that SM v1.1.x will get such fixes.

Can you reproduce with SeaMonkey v2.0a2 ?
Severity: critical → major
Version: unspecified → SeaMonkey 1.1 Branch
Thanks, Serge. SeaMonkey 2.a2 at least has fixed the adding of blank lines. The <form></form> issues remains unresolved. I know that I am going to have to get used to the html layout. It would be nice if each '<span' is not at the end of one line and 'style' or 'color' at the beginning of the next. With my JavaScript calculators I remove borders around text fields and change their colours and fonts. With continual flow of the html it was relatively easy to do the editing. Now it looks more confusing. I would hate to start learning html now instead of ten years ago. However, if nothing can be done about this, well, I can live with it.

By the way, the attempt to reduce the number of colours displayed in a browser can be circumvented using rgb values. So what was the point? Until rgb is no longer the standard, any shade can be configured as an rgb value and appear in the latest browsers.

I hope you can help. I bought AceHtml Pro 6 and found it to be a complete waste of money. It shuts down whenever a new file is brought in. This is why my hopes are with SeaMonkey.
I have since un-installed 2.0a2 after trying to edit text in a cell. Off centre cursor alignment made it impossible. Instead of being to the right of a letter to allow new characters to be added, it was on top. Also when text in the cell was highlighted some lines were highlighted and others not. This was the case especially when the walls of the cell were touched, that is, became part of the highlight. 1.1.14 has been re-installed and I will stay with this until I see considerable improvements. Better the devil you know than the one you don't.
I even tried Nvu and have now un-installed that too. SeaMonkey 1.1.14 works fine with the said file, but neither 2.0a2 nor Nvu could handle it. This will be my last entry for a while.
Can you produce a reduce test case?
Confirming </form> tag reallocation, what brokes the form
Build identifier: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0a1) Gecko/20111017 Firefox/10.0a1 SeaMonkey/2.7a1
Status: UNCONFIRMED → NEW
Ever confirmed: true
Whiteboard: [Halloween2011Bug]
Version: SeaMonkey 1.1 Branch → Trunk
You need to log in before you can comment on or make changes to this bug.