 source = source.trim();  
	cleanup: function(source){		// Remove leading and trailing whitespace		source = source.replace(/^\s+/, '');		source = source.replace(/\s+$/, '');				// Remove trailing BRs		source = source.replace(/<br>$/, '');		// Remove BRs right before the end of blocks		source = source.replace(/<br>\s*<\/(h1|h2|h3|h4|h5|h6|li|p)/gi, '</$1');				// Remove empty tags		source = source.replace(/(<[^\/]>|<[^\/][^>]*[^\/]>)\s*<\/[^>]*>/gi, '');				// Webkit cleanup		source = source.replace(/ class=\"Apple-style-span\"/gi, '');		source = source.replace(/<SPAN style=\"\">/gi, '');				// Replace uppercase element names with lowercase		source = source.replace(/<[^> ]*/g, function(match){return match.toLowerCase();});			// Replace uppercase attribute names with lowercase		source = source.replace(/<[^>]*>/g, function(match){			match = match.replace(/ [^=]+=/g, function(match2){return match2.toLowerCase();});			return match;		});				// Put quotes around unquoted attributes		source = source.replace(/<[^>]*>/g, function(match){			match = match.replace(/( [^=]+=)([^"][^ >]*)/g, "$1\"$2\"");			return match;		});				return source;	}
5086	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5086/39d7486692160645ed77c31d752dab946a5b6887/MooEditable.js/buggy/MooEditable.js