rem: return properties; 
add: return properties; 
context: 	this.parseProperties = function(fragment){		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{				if((fragment[item]["tagName"])&&					(dojo.widget.tags[fragment[item].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((fragment[item][0])&&(fragment[item][0].value!="")&&(fragment[item][0].value!=null)){					try{						// FIXME: need to allow more than one provider						if(item.toLowerCase() == "dataprovider") {							var _this = this;							this.getDataProvider(_this, fragment[item][0].value);							properties.dataProvider = this.dataProvider;						}						properties[item] = fragment[item][0].value;						var nestedProperties = this.parseProperties(fragment[item]);						// 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;	}
meta: 4707	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/4707/50c3492c4c3c825dbd3401e134a19ed46799c456/Parse.js/clean/www/resources/dojo-ajax/src/widget/Parse.js