code: function areLooselyEquivalentValues(command, val1, val2) {
  	if (areEquivalentValues(command, val1, val2)) {
  		return true;
  	}
  
  	if (command != "fontsize"
  	|| typeof val1 != "string"
  	|| typeof val2 != "string") {
  		return false;
  	}
  
  	// Static variables in JavaScript?
  	var callee = areLooselyEquivalentValues;
  	if (callee.sizeMap === undefined) {
  		callee.sizeMap = {};
  		var font = document.createElement("font");
  		document.body.appendChild(font);
  		["xx-small", "small", "medium", "large", "x-large", "xx-large",
  		"xxx-large"].forEach(function(keyword) {
  			font.size = cssSizeToLegacy(keyword);
  			callee.sizeMap[keyword] = getComputedStyle(font).fontSize;
  		});
  		document.body.removeChild(font);
  	}
  
  	return val1 === callee.sizeMap[val2]
  		|| val2 === callee.sizeMap[val1];
  }
docs: "Two quantities are loosely equivalent values for a command if either they are equivalent values for the command, or if the command is the fontSize command; one of the quantities is one of "xx-small", "small", "medium", "large", "x-large", "xx-large", or "xxx-large"; and the other quantity is the resolved value of "font-size" on a font element whose size attribute has the corresponding value set ("1" through "7" respectively)."