  var properties = {}; for(var item in fragment){   if((fragment[item] == fragment.tagName)||(fragment[item] == fragment.nodeRef)){  }else{ var frag = fragment[item]; if(frag.tagName && dojo.widget.tags[frag.tagName.toLowerCase()]){     }else if(frag[0] && frag[0].value!="" && frag[0].value!=null){ try{  if(item.toLowerCase() == "dataprovider"){ var _this = this; this.getDataProvider(_this, frag[0].value); properties.dataProvider = this.dataProvider; } properties[item] = frag[0].value; var nestedProperties = this.parseProperties(frag);  for(var property in nestedProperties){ properties[property] = nestedProperties[property]; } }catch(e){ dojo.debug(e); } } switch(item.toLowerCase()){ case "checked": case "disabled": if (typeof properties[item] != "boolean"){ properties[item] = true; } break; } } } return properties; } 
  var properties = {}; for(var item in fragment){   if((fragment[item] == fragment.tagName)||(fragment[item] == fragment.nodeRef)){  }else{ var frag = fragment[item]; if(frag.tagName && dojo.widget.tags[frag.tagName.toLowerCase()]){     }else if(frag[0] && frag[0].value!="" && frag[0].value!=null){ try{  if(item.toLowerCase() == "dataprovider"){ var _this = this; this.getDataProvider(_this, frag[0].value); properties.dataProvider = this.dataProvider; } properties[item] = frag[0].value; var nestedProperties = this.parseProperties(frag);  for(var property in nestedProperties){ properties[property] = nestedProperties[property]; } }catch(e){ dojo.debug(e); } } switch(item.toLowerCase()){ case "checked": case "disabled": if (typeof properties[item] != "boolean"){ properties[item] = true; } break; } } } return properties; } 
  this.parseProperties = function(/*Object*/fragment){    // summary: parseProperties checks a raw JavaScript object structure for    //  properties, and returns a hash of properties that it finds.    var properties = {};    for(var item in fragment){      // FIXME: need to check for undefined?      // case: its a tagName or nodeRef      if((fragment[item] == fragment.tagName)||(fragment[item] == fragment.nodeRef)){        // do nothing      }else{        var frag = fragment[item];        if(frag.tagName && dojo.widget.tags[frag.tagName.toLowerCase()]){          // TODO: it isn't a property or property set, it's a fragment,          // so do something else          // FIXME: needs to be a better/stricter check          // TODO: handle xlink:href for external property sets        }else if(frag[0] && frag[0].value!="" && frag[0].value!=null){          try{            // FIXME: need to allow more than one provider            if(item.toLowerCase() == "dataprovider"){              var _this = this;              this.getDataProvider(_this, frag[0].value);              properties.dataProvider = this.dataProvider;            }            properties[item] = frag[0].value;            var nestedProperties = this.parseProperties(frag);            // FIXME: this kind of copying is expensive and inefficient!            for(var property in nestedProperties){              properties[property] = nestedProperties[property];            }          }catch(e){ dojo.debug(e); }        }        switch(item.toLowerCase()){        case "checked":        case "disabled":          if (typeof properties[item] != "boolean"){            properties[item] = true;          }          break;        }      }    }    return properties; // Object  }
6315	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/6315/65ae7e8768a77997b7894e274bc242069a1cb027/struts_dojo.js.uncompressed.js/clean/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js.uncompressed.js