50b2e5f80ed6f564a694e5909a56f45cfc194dee
galt
  Thu Feb 16 11:32:29 2017 -0800
For backwards compatibility with event param in IE. refs #18538

diff --git src/lib/cheapcgi.c src/lib/cheapcgi.c
index 45dbfd9..ee3c1f4 100644
--- src/lib/cheapcgi.c
+++ src/lib/cheapcgi.c
@@ -206,38 +206,38 @@
 {
 char *temp = cloneString(event);
 tolowers(temp);
 if (!sameString(temp, event))
     warn("jsInline: javascript event %s should be given in lower-case", event);
 event = temp; 
 if (!findJsEvent(event))
     warn("jsInline: unknown javascript event %s", event);
 freeMem (event);
 }
 
 void jsOnEventById(char *eventName, char *idText, char *jsText)
 /* Add js mapping for inline event */
 {
 checkValidEvent(eventName);
-jsInlineF("document.getElementById('%s').on%s = function(event) {%s};\n", idText, eventName, jsText);
+jsInlineF("document.getElementById('%s').on%s = function(event) {if (!event) {event=window.event}; %s};\n", idText, eventName, jsText);
 }
 
 void jsOnEventByIdF(char *eventName, char *idText, char *format, ...)
 /* Add js mapping for inline event */
 {
 checkValidEvent(eventName);
-jsInlineF("document.getElementById('%s').on%s = function(event) {", idText, eventName);
+jsInlineF("document.getElementById('%s').on%s = function(event) {if (!event) {event=window.event}; ", idText, eventName);
 va_list args;
 va_start(args, format);
 dyStringVaPrintf(jsInlineLines, format, args);
 va_end(args);
 jsInlineF("};\n");
 }
 
 
 //============ END of javascript inline-separation routines ===============
 
 
 /* These three variables hold the parsed version of cgi variables. */
 static char *inputString = NULL;
 static unsigned long inputSize;
 static struct hash *inputHash = NULL;