Index: /trunk/autoquest-htmlmonitor/src/main/js/autoquest-htmlmonitor.js
===================================================================
--- /trunk/autoquest-htmlmonitor/src/main/js/autoquest-htmlmonitor.js	(revision 1246)
+++ /trunk/autoquest-htmlmonitor/src/main/js/autoquest-htmlmonitor.js	(revision 1247)
@@ -92,5 +92,6 @@
     //{ "tag": "details", "actions": [  ] },
     { "tag": "dfn", "actions": [ "onclick" ] },
-    { "tag": "div", "actions": [ "onclick" ] },
+    { "tag": "div", "actions": [ "onclick",
+                                 "onscroll" ] },
     //{ "tag": "dl", "actions": [  ] },
     { "tag": "dt", "actions": [ "onclick" ] },
@@ -116,10 +117,44 @@
     { "tag": "img", "actions": [ "onabort",
                                  "onclick" ] },
-    { "tag": "input_text", "actions": [ "onchange",
+    { "tag": "input_button", "actions": [ "onclick",
+                                          "onfocus" ] },
+    { "tag": "input_checkbox", "actions": [ "onchange",
+                                            "onclick",
+                                            "onfocus" ] },
+    { "tag": "input_color", "actions": [ "onchange",
+                                         "onclick",
+                                         "onfocus",
+                                         "onselect" ] },
+    { "tag": "input_date", "actions": [ "onchange",
+                                        "onclick",
                                         "onfocus",
                                         "onselect" ] },
+    { "tag": "input_datetime", "actions": [ "onchange",
+                                            "onclick",
+                                            "onfocus",
+                                            "onselect" ] },
+    { "tag": "input_datetime-local", "actions": [ "onchange",
+                                                  "onclick",
+                                                  "onfocus",
+                                                  "onselect" ] },
+    { "tag": "input_email", "actions": [ "onchange",
+                                         "onclick",
+                                         "onfocus",
+                                         "onselect" ] },
+    { "tag": "input_file", "actions": [ "onchange",
+                                        "onclick",
+                                        "onfocus",
+                                        "onselect" ] },
+    { "tag": "input_image", "actions": [ "onclick",
+                                         "onfocus" ] },
+    { "tag": "input_month", "actions": [ "onchange",
+                                         "onclick",
+                                         "onfocus",
+                                         "onselect" ] },
+    { "tag": "input_number", "actions": [ "onchange",
+                                          "onclick",
+                                          "onfocus",
+                                          "onselect" ] },
     { "tag": "input_password", "actions": [ "onchange",
-                                            "onfocus" ] },
-    { "tag": "input_checkbox", "actions": [ "onchange",
                                             "onclick",
                                             "onfocus" ] },
@@ -127,15 +162,38 @@
                                          "onclick",
                                          "onfocus" ] },
+    { "tag": "input_range", "actions": [ "onchange",
+                                         "onclick",
+                                         "onfocus",
+                                         "onselect" ] },
+    { "tag": "input_reset", "actions": [ "onclick",
+                                         "onfocus" ] },
+    { "tag": "input_search", "actions": [ "onchange",
+                                          "onclick",
+                                          "onfocus",
+                                          "onselect" ] },
     { "tag": "input_submit", "actions": [ "onclick",
                                           "onfocus" ] },
-    { "tag": "input_reset", "actions": [ "onclick",
-                                         "onfocus" ] },
-    { "tag": "input_file", "actions": [ "onclick",
-                                        "onfocus" ] },
-    { "tag": "input_image", "actions": [ "onclick",
-                                         "onfocus" ] },
-    { "tag": "input_button", "actions": [ "onclick",
-                                          "onfocus" ] },
+    { "tag": "input_tel", "actions": [ "onchange",
+                                       "onclick",
+                                       "onfocus",
+                                       "onselect" ] },
+    { "tag": "input_text", "actions": [ "onchange",
+                                        "onclick",
+                                        "onfocus",
+                                        "onselect" ] },
+    { "tag": "input_time", "actions": [ "onchange",
+                                        "onclick",
+                                        "onfocus",
+                                        "onselect" ] },
+    { "tag": "input_url", "actions": [ "onchange",
+                                       "onclick",
+                                       "onfocus",
+                                       "onselect" ] },
+    { "tag": "input_week", "actions": [ "onchange",
+                                        "onclick",
+                                        "onfocus",
+                                        "onselect" ] },
     { "tag": "input", "actions": [ "onchange",
+                                   "onclick",
                                    "onfocus" ] },
     { "tag": "ins", "actions": [ "onclick" ] },
@@ -437,4 +495,9 @@
 function registerEventHandler(node, nodePath, action) {
     var parameters = { action : action, path : nodePath};
+    
+    if ((action === "onscroll") && (node === document.body)) {
+        node = window;
+    }
+    
     if (jQuery(node).on) {
         jQuery(node).on(action.substring(2), parameters, handleJQueryEvent);
@@ -535,13 +598,14 @@
     eventType = eventName.toLowerCase();
 
+    // check, if the preceeding event is more concrete, i.e. the new event to be handled is only
+    // a propagation through the DOM and needs, therefore, not be handled
     if (autoquestRecordedEvents.length > 0) {
         eventObj = autoquestRecordedEvents[autoquestRecordedEvents.length - 1];
 
-        // check if an event showed up several times either for the same or for a parent GUI element
         if ((eventObj.type === eventName) && (eventObj.nodePath.indexOf(nodePath) === 0)) {
             // the event is of the same type.
             if (eventObj.nodePath.length > nodePath.length) {
-                // the same event showed up for the parent GUI element. This must not be handled.
-                // So ignore it
+                // the new event is the same event as the previous one, but fired for the parent
+                // GUI element of the previous event. This must not be handled. So ignore it
                 log("discarding event " + eventName + " on " + node +
                     " as it is already handled by a child");
@@ -561,5 +625,5 @@
     
     if (!eventObj) {
-        // create a new event and add it to the list
+        // we can not reuse the previous event. So create a new event and add it to the list
         eventObj = new Event(eventType, nodePath);
         log("storing event " + eventName);
@@ -574,4 +638,5 @@
     tagName = getTagName(node);
     
+    // ensure to not monitor details for GUI elements marked as unmonitored
     if (node.getAttribute && node.getAttribute("class")) {
         unmonitored = node.getAttribute("class").indexOf("autoquest-unmonitored") >= 0;
@@ -582,4 +647,6 @@
     
     if (!unmonitored && ("input_password" !== tagName)) {
+        // add further parameters for GUI elements which are monitored and which are no password
+        // fields
         if ((eventType === "onkeypress") ||
             (eventType === "onkeydown") ||
@@ -605,4 +672,5 @@
     }
 
+    // finally send the recorded data
     if (autoquestRecordedEvents.length >= autoquestPackageSize) {
         log("initiating sending events");
Index: /trunk/autoquest-plugin-html/data/guimappings/guimapping-html.txt
===================================================================
--- /trunk/autoquest-plugin-html/data/guimappings/guimapping-html.txt	(revision 1246)
+++ /trunk/autoquest-plugin-html/data/guimappings/guimapping-html.txt	(revision 1247)
@@ -59,5 +59,5 @@
 input_button = de.ugoe.cs.autoquest.plugin.html.guimodel.HTMLButton
 input_checkbox = de.ugoe.cs.autoquest.plugin.html.guimodel.HTMLCheckBox
-input_file = de.ugoe.cs.autoquest.plugin.html.guimodel.HTMLButton
+input_file = de.ugoe.cs.autoquest.plugin.html.guimodel.HTMLTextField
 input_image = de.ugoe.cs.autoquest.plugin.html.guimodel.HTMLButton
 input_number = de.ugoe.cs.autoquest.plugin.html.guimodel.HTMLComboBox
Index: /trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/AbstractDefaultLogParser.java
===================================================================
--- /trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/AbstractDefaultLogParser.java	(revision 1246)
+++ /trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/AbstractDefaultLogParser.java	(revision 1247)
@@ -210,5 +210,7 @@
                 {
                     // this only denotes, that the final session tag is missing, because the
-                    // file wasn't completed. Ignore this.
+                    // file wasn't completed. Ignore this but complete the session
+                    eventBuffer.add(new BufferEntry("sessionSwitch", null));
+                    processEvents();
                 }
                 else {
Index: /trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/eventcore/HTMLEventTypeFactory.java
===================================================================
--- /trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/eventcore/HTMLEventTypeFactory.java	(revision 1246)
+++ /trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/eventcore/HTMLEventTypeFactory.java	(revision 1247)
@@ -28,4 +28,5 @@
 import de.ugoe.cs.autoquest.eventcore.gui.ValueSelection;
 import de.ugoe.cs.autoquest.eventcore.guimodel.ICheckBox;
+import de.ugoe.cs.autoquest.eventcore.guimodel.IComboBox;
 import de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElement;
 import de.ugoe.cs.autoquest.eventcore.guimodel.IRadioButton;
@@ -101,5 +102,7 @@
                 result = new TextInput(value, null);
             }
-            else if ((guiElement instanceof IRadioButton) || (guiElement instanceof ICheckBox)) {
+            else if ((guiElement instanceof IRadioButton) || (guiElement instanceof ICheckBox) ||
+                     (guiElement instanceof IComboBox))
+            {
                 result = new ValueSelection<String>(value);
             }
