rem: switch (target.localName.toLowerCase()) { 
add:  var local_name = target.localName;  if (local_name) { local_name.toLowerCase(); }  switch (local_name) { 
context:   function contentAreaClick(event)   {    var target = event.target;    var linkNode;    switch (target.localName.toLowerCase()) {      case "a":        linkNode = target;        break;      case "area":        if (target.href)           linkNode = target;        break;      case "input":        if ((event.target.type.toLowerCase() == "text" || event.target.type == "") // text field            && event.detail == 2 // double click            && event.button == 0 // left mouse button            && event.target.value.length == 0) { // no text has been entered          prefillTextBox(target); // prefill the empty text field if possible        }        break;      default:        linkNode = findParentNode(event.originalTarget, "a");        break;    }    if (linkNode) {      handleLinkClick(event, linkNode.href);      return true;    }    if (pref && event.button == 1 &&        !findParentNode(event.originalTarget, "scrollbar") &&        pref.getBoolPref("middlemouse.contentLoadURL")) {      if (middleMousePaste()) {        event.preventBubble();      }    }    return true;  }
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/2c00150994bbfbc2a871d476ba98c20a4c7d16c4/contentAreaClick.js/buggy/xpfe/communicator/resources/content/contentAreaClick.js