*** empty log message ***
authorcmontane
Thu, 04 Dec 2008 23:57:50 +0900
changeset 72 1d0a25a2c141
parent 71 bf19c896b3f2
child 73 6f8ebc3d9d62
*** empty log message ***
tests/framework/mousedown/NIST_mousedown_0001.html
tests/framework/mousedown/NIST_mousedown_0003.html
tests/framework/mousedown/NIST_mousedown_0004.html
tests/framework/mousedown/NIST_mousedown_0005.html
tests/framework/mousedown/NIST_mousedown_0006.html
tests/framework/mousedown/NIST_mousedown_0007.html
tests/framework/mousedown/NIST_mousedown_0008.html
tests/framework/mousedown/NIST_mousedown_0009.html
tests/framework/mousedown/NIST_mousedown_0010.html
tests/framework/mousedown/NIST_mousedown_0011.html
tests/framework/mousedown/NIST_mousedown_0012.html
tests/framework/mousedown/NIST_mousedown_0014.html
tests/framework/mousedown/NIST_mousedown_0015.html
tests/framework/mousedown/NIST_mousedown_0016.html
tests/framework/mousedown/NIST_mousedown_0017.html
tests/framework/mousedown/NIST_mousedown_0018.html
tests/framework/mousedown/NIST_mousedown_0019.html
tests/framework/mousedown/NIST_mousedown_0020.html
tests/framework/mousedown/NIST_mousedown_0021.html
tests/framework/mousedown/NIST_mousedown_0022.html
tests/framework/mousedown/NIST_mousedown_0023.html
tests/framework/mousedown/NIST_mousedown_0024.html
tests/framework/mousedown/NIST_mousedown_0025.html
tests/framework/mousedown/NIST_mousedown_0026.html
tests/framework/mousedown/NIST_mousedown_0027.html
tests/framework/mousedown/NIST_mousedown_0028.html
tests/framework/mousedown/NIST_mousedown_0029.html
tests/framework/mousedown/NIST_mousedown_0030.html
tests/framework/mousedown/NIST_mousedown_0031.html
tests/framework/mousedown/NIST_mousedown_0033.html
tests/framework/mousedown/NIST_mousedown_0034.html
tests/framework/mousedown/NIST_mousedown_0035.html
tests/framework/mousedown/NIST_mousedown_0036.html
tests/framework/mousedown/NIST_mousedown_0037.html
tests/framework/mousedown/NIST_mousedown_0038.html
tests/framework/mousedown/NIST_mousedown_0039.html
tests/framework/mousedown/NIST_mousedown_0040.html
tests/framework/mousedown/NIST_mousedown_0041.html
tests/framework/mousedown/NIST_mousedown_0042.html
tests/framework/mousedown/NIST_mousedown_0043.html
tests/framework/mousedown/NIST_mousedown_0045.html
tests/framework/mousedown/NIST_mousedown_0046.html
tests/framework/mousedown/NIST_mousedown_0047.html
tests/framework/mousedown/NIST_mousedown_0048.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0001.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,126 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0001.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0001.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0001" in window) {
+              NIST_mousedown_0001("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", true, true, window, 5, 5, 5, 5, 5, true, true, true, true, 5, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedowntruetrue55555truetruetruetrue5null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+    <a href = "NIST_mousedown_0002.html">Next test</a>   
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0003.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0003.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0003.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0003" in window) {
+              NIST_mousedown_0003("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", true, true, window, -5, 5, -5, 5, -5, true, false, true, false, 5, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedowntruetrue-55-55-5truefalsetruefalse5null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0004.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0004.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0004.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0004" in window) {
+              NIST_mousedown_0004("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", true, true, window, -5, -5, 5, -5, 5, false, true, false, true, 10, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedowntruetrue-5-55-55falsetruefalsetrue10null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0005.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0005.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0005.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0005" in window) {
+              NIST_mousedown_0005("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", true, false, window, 5, 5, -5, -5, 5, true, false, false, true, 5, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedowntruefalse55-5-55truefalsefalsetrue5null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0006.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0006.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0006.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0006" in window) {
+              NIST_mousedown_0006("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", true, false, window, 5, -5, 5, 5, -5, false, true, true, false, 10, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedowntruefalse5-555-5falsetruetruefalse10null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0007.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0007.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0007.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0007" in window) {
+              NIST_mousedown_0007("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", true, false, window, -5, 5, 5, -5, -5, true, true, false, false, 10, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedowntruefalse-555-5-5truetruefalsefalse10null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0008.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0008.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0008.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0008" in window) {
+              NIST_mousedown_0008("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", true, false, window, -5, -5, -5, 5, 5, false, false, true, true, 5, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedowntruefalse-5-5-555falsefalsetruetrue5null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0009.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0009.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0009.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0009" in window) {
+              NIST_mousedown_0009("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", false, true, window, 5, 5, -5, 5, 5, false, true, false, false, 5, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedownfalsetrue55-555falsetruefalsefalse5null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0010.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0010.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0010.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0010" in window) {
+              NIST_mousedown_0010("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", false, true, window, 5, -5, 5, -5, -5, true, false, true, true, 10, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedownfalsetrue5-55-5-5truefalsetruetrue10null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0011.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0011.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0011.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0011" in window) {
+              NIST_mousedown_0011("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", false, true, window, -5, 5, 5, 5, -5, false, false, false, true, 10, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedownfalsetrue-5555-5falsefalsefalsetrue10null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0012.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0012.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0012.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0012" in window) {
+              NIST_mousedown_0012("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", false, true, window, -5, -5, -5, -5, 5, true, true, true, false, 5, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedownfalsetrue-5-5-5-55truetruetruefalse5null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0014.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0014.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0014.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0014" in window) {
+              NIST_mousedown_0014("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", false, false, window, 5, -5, -5, 5, -5, true, true, false, true, 5, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedownfalsefalse5-5-55-5truetruefalsetrue5null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0015.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0015.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0015.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0015" in window) {
+              NIST_mousedown_0015("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", false, false, window, -5, 5, -5, -5, -5, false, true, true, true, 10, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedownfalsefalse-55-5-5-5falsetruetruetrue10null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0016.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0016.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0016.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0016" in window) {
+              NIST_mousedown_0016("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", false, false, window, -5, -5, 5, 5, 5, true, false, false, false, 5, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedownfalsefalse-5-5555truefalsefalsefalse5null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0017.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0017.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0017.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0017" in window) {
+              NIST_mousedown_0017("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", false, true, window, 5, -5, 5, 5, 5, false, false, true, true, 5, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedownfalsetrue5-5555falsefalsetruetrue5null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0018.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0018.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0018.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0018" in window) {
+              NIST_mousedown_0018("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", false, true, window, -5, -5, -5, 5, -5, false, true, false, false, 10, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedownfalsetrue-5-5-55-5falsetruefalsefalse10null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0019.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0019.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0019.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0019" in window) {
+              NIST_mousedown_0019("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", true, false, window, 5, 5, 5, 5, -5, false, false, false, true, 5, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedowntruefalse5555-5falsefalsefalsetrue5null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0020.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0020.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0020.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0020" in window) {
+              NIST_mousedown_0020("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", false, false, window, -5, 5, -5, 5, 5, true, true, true, true, 10, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedownfalsefalse-55-555truetruetruetrue10null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0021.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0021.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0021.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0021" in window) {
+              NIST_mousedown_0021("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", true, true, window, 5, 5, 5, -5, -5, true, true, true, false, 5, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedowntruetrue555-5-5truetruetruefalse5null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0022.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0022.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0022.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0022" in window) {
+              NIST_mousedown_0022("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", true, true, window, -5, 5, -5, -5, 5, false, false, false, false, 10, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedowntruetrue-55-5-55falsefalsefalsefalse10null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0023.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0023.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0023.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0023" in window) {
+              NIST_mousedown_0023("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", true, false, window, 5, -5, 5, -5, 5, true, true, false, false, 10, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedowntruefalse5-55-55truetruefalsefalse10null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0024.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0024.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0024.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0024" in window) {
+              NIST_mousedown_0024("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", false, false, window, -5, -5, -5, -5, -5, true, false, true, false, 5, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedownfalsefalse-5-5-5-5-5truefalsetruefalse5null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0025.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0025.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0025.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0025" in window) {
+              NIST_mousedown_0025("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", true, true, window, 5, -5, -5, 5, 5, true, true, false, true, 10, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedowntruetrue5-5-555truetruefalsetrue10null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0026.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0026.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0026.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0026" in window) {
+              NIST_mousedown_0026("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", true, false, window, -5, -5, 5, 5, -5, true, false, true, true, 10, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedowntruefalse-5-555-5truefalsetruetrue10null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0027.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0027.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0027.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0027" in window) {
+              NIST_mousedown_0027("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", false, true, window, 5, 5, -5, -5, -5, true, false, false, true, 5, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedownfalsetrue55-5-5-5truefalsefalsetrue5null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0028.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0028.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0028.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0028" in window) {
+              NIST_mousedown_0028("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", false, false, window, -5, 5, 5, -5, 5, false, true, false, true, 5, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedownfalsefalse-555-55falsetruefalsetrue5null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0029.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0029.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0029.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0029" in window) {
+              NIST_mousedown_0029("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", false, true, window, 5, -5, -5, -5, 5, false, true, true, true, 10, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedownfalsetrue5-5-5-55falsetruetruetrue10null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0030.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0030.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0030.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0030" in window) {
+              NIST_mousedown_0030("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", false, true, window, -5, 5, 5, 5, 5, true, true, true, false, 10, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedownfalsetrue-55555truetruetruefalse10null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0031.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0031.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0031.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0031" in window) {
+              NIST_mousedown_0031("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", true, false, window, 5, 5, -5, 5, 5, false, true, true, false, 5, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedowntruefalse55-555falsetruetruefalse5null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0033.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0033.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0033.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0033" in window) {
+              NIST_mousedown_0033("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", true, true, window, -5, -5, 5, -5, -5, false, false, true, true, 5, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedowntruetrue-5-55-5-5falsefalsetruetrue5null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0034.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0034.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0034.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0034" in window) {
+              NIST_mousedown_0034("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", true, false, window, 5, -5, -5, -5, -5, false, true, false, true, 5, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedowntruefalse5-5-5-5-5falsetruefalsetrue5null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0035.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0035.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0035.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0035" in window) {
+              NIST_mousedown_0035("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", false, false, window, -5, -5, 5, 5, -5, false, true, false, false, 5, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedownfalsefalse-5-555-5falsetruefalsefalse5null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0036.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0036.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0036.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0036" in window) {
+              NIST_mousedown_0036("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", true, true, window, -5, -5, 5, -5, 5, true, false, false, false, 5, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedowntruetrue-5-55-55truefalsefalsefalse5null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0037.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0037.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0037.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0037" in window) {
+              NIST_mousedown_0037("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", false, true, window, 5, 5, 5, 5, 5, true, false, false, false, 10, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedownfalsetrue55555truefalsefalsefalse10null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0038.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0038.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0038.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0038" in window) {
+              NIST_mousedown_0038("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", true, true, window, -5, 5, -5, 5, -5, false, true, true, true, 10, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedowntruetrue-55-55-5falsetruetruetrue10null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0039.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0039.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0039.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0039" in window) {
+              NIST_mousedown_0039("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", false, false, window, 5, -5, -5, -5, 5, true, false, true, true, 10, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedownfalsefalse5-5-5-55truefalsetruetrue10null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0040.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0040.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0040.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0040" in window) {
+              NIST_mousedown_0040("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", true, false, window, -5, 5, -5, 5, -5, true, false, false, false, 10, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedowntruefalse-55-55-5truefalsefalsefalse10null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0041.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0041.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0041.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0041" in window) {
+              NIST_mousedown_0041("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", false, true, window, 5, -5, 5, -5, 5, false, true, false, false, 5, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedownfalsetrue5-55-55falsetruefalsefalse5null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0042.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0042.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0042.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0042" in window) {
+              NIST_mousedown_0042("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", true, false, window, 5, 5, -5, -5, 5, true, false, true, true, 10, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedowntruefalse55-5-55truefalsetruetrue10null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0043.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0043.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0043.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0043" in window) {
+              NIST_mousedown_0043("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", false, true, window, -5, -5, 5, -5, -5, true, true, false, true, 5, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedownfalsetrue-5-55-5-5truetruefalsetrue5null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0045.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0045.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0045.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0045" in window) {
+              NIST_mousedown_0045("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", false, false, window, -5, -5, -5, 5, 5, false, false, false, true, 10, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedownfalsefalse-5-5-555falsefalsefalsetrue10null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0046.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0046.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0046.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0046" in window) {
+              NIST_mousedown_0046("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", false, false, window, 5, 5, -5, -5, 5, true, true, false, false, 10, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedownfalsefalse55-5-55truetruefalsefalse10null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0047.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0047.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0047.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0047" in window) {
+              NIST_mousedown_0047("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", true, false, window, 5, 5, -5, 5, -5, true, false, false, false, 5, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedowntruefalse55-55-5truefalsefalsefalse5null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/mousedown/NIST_mousedown_0048.html	Thu Dec 04 23:57:50 2008 +0900
@@ -0,0 +1,125 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_mousedown_0048.html --> 
+  <!-- Purpose - Evaluate a user generated mouseover event over a table element -->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+    <title>DOM Events API Test Suite - NIST_mousedown_0048.html</title>
+ 
+    <style>
+      #result:after {
+        display: block;
+      }
+      .not_yet_tested:after {
+        background-color: yellow;
+        content: "Not yet tested";
+      }
+      .failed:after {
+        background-color: red;
+        content: "Failed";
+      }
+      .passed:after {
+        background-color: green;
+        content: "Passed";
+      }
+    </style>
+    <script type="text/javascript">
+      // Function to begin the test.
+      function w3c_beginTest() {
+        if ("vendor_beginTest" in window) { 
+              vendor_beginTest();
+        }
+        if ("NIST_mousedown_0048" in window) {
+              NIST_mousedown_0048("tbl");
+        }
+        w3c_addEventListener();
+      }
+
+      // Function to end the test.
+      function w3c_endTest() {
+        if ("vendor_endTest" in window) { 
+              vendor_endTest();
+        }
+      }
+
+      //Function to report test result.
+
+      function w3c_reportResult() {
+        if ("vendor_reportResult" in window) { 
+              vendor_reportResult();
+        }
+        w3c_endTest();
+      }
+
+      //Function to be executed in reaction to mousedown event.
+      function w3c_reactToMousedown() {
+        var evt = document.createEvent("MouseEvent");
+        evt.initMouseEvent("mousedown", true, true, window, -5, 5, -5, 5, 5, true, true, false, false, 5, null);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               act += evt.screenX;
+               act += evt.screenY;
+               act += evt.clientX;
+               act += evt.clientY;
+               act += evt.ctrlKey;
+               act += evt.altKey;
+               act += evt.shiftKey;
+               act += evt.metaKey;
+               act += evt.button;
+               act += evt.relatedTarget;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "mousedowntruetrue-55-555truetruefalsefalse5null";
+	}
+
+      // Function to be executed in reaction to a mousedown removal.
+      function w3c_reactToMousedownRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("mousedown", w3c_reactToMousedown(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("mousedown", w3c_reactToMousedownRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated mousedown event over a table element</h3>
+    <table id="tb1">
+      <tr><td id="t1">Row 1, Cell 1</td><td id="t6">Row 1, Cell 2</td></tr> 
+      <tr><td id="t2">Row 2, Cell 1</td><td id="t7">Row 2, Cell 2</td></tr> 
+      <tr><td id="t3">Row 3, Cell 1</td><td id="t8">Row 3, Cell 2</td></tr>    
+      <tr><td id="t4">Row 4, Cell 1</td><td id="t9">Row 4, Cell 2</td></tr>
+      <tr><td id="t5">Row 5, Cell 1</td><td id="t10">Row 5, Cell 2</td></tr>   
+    </table>
+    <div id="result" class="not_yet_tested"></div>
+  </body> 
+</html>