*** empty log message ***
authorcmontane
Sat, 06 Dec 2008 05:45:26 +0900
changeset 88 129f0069762b
parent 87 1d5c97890f77
child 89 60bee2955220
*** empty log message ***
tests/framework/scroll/NIST_scroll_0001.html
tests/framework/scroll/NIST_scroll_0002.html
tests/framework/scroll/NIST_scroll_0003.html
tests/framework/scroll/NIST_scroll_0004.html
tests/framework/scroll/NIST_scroll_0005.html
tests/framework/scroll/NIST_scroll_0006.html
tests/framework/scroll/NIST_scroll_0007.html
tests/framework/scroll/NIST_scroll_0008.html
tests/framework/scroll/NIST_scroll_0009.html
tests/framework/scroll/NIST_scroll_0010.html
tests/framework/scroll/NIST_scroll_0011.html
tests/framework/scroll/NIST_scroll_0012.html
tests/framework/scroll/NIST_scroll_0013.html
tests/framework/scroll/NIST_scroll_0014.html
tests/framework/scroll/NIST_scroll_0015.html
tests/framework/scroll/NIST_scroll_0016.html
tests/framework/scroll/NIST_scroll_0017.html
tests/framework/scroll/NIST_scroll_0018.html
tests/framework/scroll/NIST_scroll_0019.html
tests/framework/scroll/NIST_scroll_0020.html
tests/framework/scroll/NIST_scroll_0021.html
tests/framework/scroll/NIST_scroll_0022.html
tests/framework/scroll/NIST_scroll_0023.html
tests/framework/scroll/NIST_scroll_0024.html
tests/framework/scroll/NIST_scroll_0025.html
tests/framework/scroll/NIST_scroll_0026.html
tests/framework/scroll/NIST_scroll_0027.html
tests/framework/scroll/NIST_scroll_0028.html
tests/framework/scroll/NIST_scroll_0029.html
tests/framework/scroll/NIST_scroll_0030.html
tests/framework/scroll/NIST_scroll_0031.html
tests/framework/scroll/NIST_scroll_0032.html
tests/framework/scroll/NIST_scroll_0033.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/framework/scroll/NIST_scroll_0001.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0001" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", true, true, window, 5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrolltruetrue5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0002.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_0002.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_scroll_0002.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_scroll_0002" in window) {
+              NIST_scroll_0002("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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", true, true, window, -5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrolltruetrue-5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0003.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0003" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", true, true, null, 5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrolltruetruenull5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0004.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0004" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", true, true, null, -5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrolltruetruenull-5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0005.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0005" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", true, false, window, 5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrolltruefalse5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0006.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0006" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", true, false, window, -5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrolltruefalse-5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0007.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0007" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", true, false, null, 5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrolltruefalsenull5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0008.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0008" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", true, false, null, -5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrolltruefalsenull-5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0009.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0009" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", false, true, window, 5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrollfalsetrue5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0010.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0010" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", false, true, window, -5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrollfalsetrue-5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0011.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0011" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", false, true, null, 5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrollfalsetruenull5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0012.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0012" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", false, true, null, -5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrollfalsetruenull-5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0013.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_0013.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_scroll_0013.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_scroll_0013" in window) {
+              NIST_scroll_0013("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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", false, false, window, 5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrollfalsefalse5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0014.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0014" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", false, false, window, -5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrollfalsefalse-5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0015.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0015" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", false, false, null, 5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrollfalsefalsenull5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0016.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0016" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", false, false, null, -5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrollfalsefalsenull-5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0017.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0017" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", true, true, window, 5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrolltruetrue5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0018.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0018" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", true, true, window, -5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrolltruetrue-5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0019.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0019" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", true, true, null, 5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrolltruetruenull5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0020.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0020" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", true, true, null, -5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrolltruetruenull-5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0021.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0021" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", true, false, window, 5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrolltruefalse5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0022.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0022" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", true, false, window, -5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrolltruefalse-5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0023.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0023" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", true, false, null, 5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrolltruefalsenull5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0024.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0024" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", true, false, null, -5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrolltruefalsenull-5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0025.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0025" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", false, true, window, 5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrollfalsetrue5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0026.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0026" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", false, true, window, -5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrollfalsetrue-5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0027.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0027" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", false, true, null, 5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrollfalsetruenull5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0028.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0028" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", false, true, null, -5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrollfalsetruenull-5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0029.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0029" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", false, false, window, 5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrollfalsefalse5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0030.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0030" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", false, false, window, -5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrollfalsefalse-5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0031.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0031" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", false, false, null, 5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrollfalsefalsenull5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0032.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,115 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_0032.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_scroll_0032.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_scroll_0032" in window) {
+              NIST_scroll_0032("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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEvent("scroll", false, false, null, -5);
+    	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;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "scrollfalsefalsenull-5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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/scroll/NIST_scroll_0033.html	Sat Dec 06 05:45:26 2008 +0900
@@ -0,0 +1,116 @@
+ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                     "http://www.w3.org/TR/html4/loose.dtd">
+<html> 
+  <!-- Test Name: NIST_scroll_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_scroll_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_scroll_0033" in window) {
+              NIST_scroll_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 scroll event.
+      function w3c_reactToScroll() {
+        var evt = document.createEvent("UIEvent");
+        evt.initUIEventNS("www.example.org", "scroll", true, true, window, 5);
+    	var target = document.getElementById("tb1");
+    	target.dispatchEvent(evt);
+    	_actualResults = getActualResults(evt);
+    	_expectedResults = getExpectedResults();
+        w3c_removeEventListener();
+        w3c_reportResult();
+      }
+      
+      function getActualResults(evt) 
+        {
+               var act = evt.namespaceURI;
+               act += evt.type;
+               act += evt.bubbles;
+               act += evt.cancelable;
+               act += evt.detail;
+               return act;
+        }
+      function getExpectedResults()
+	{
+	   return "www.example.orgscrolltruetrue5";
+	}
+
+      // Function to be executed in reaction to a scroll removal.
+      function w3c_reactToScrollRemoval() {
+      }
+            
+      // Function to add a listener to the element.
+      function w3c_addEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.addEventListener) {  
+              e1.addEventListener("scroll", w3c_reactToScroll(), false);
+        }
+      }
+
+      // Function to remove a listener from the element.
+      function w3c_removeEventListener() {
+        var e1 = document.getElementById("tb1");
+        if (document.removeEventListener) {  
+              e1.removeEventListener("scroll", w3c_reactToScrollRemoval(), false);
+        }
+      }
+    </script>
+ 
+    <script type="text/javascript" src="vendor_functions.js"></script>
+  </head>
+  <body onload="w3c_beginTest();">
+    <h3>Evaluate a simulated scroll 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>